Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ Template for new versions:
## New Features

## Fixes
- ``embark-anyone``: validate viewscreen before using, avoids a crash

## Misc Improvements

Expand Down
25 changes: 13 additions & 12 deletions embark-anyone.lua
Original file line number Diff line number Diff line change
@@ -1,27 +1,28 @@
local dialogs = require('gui.dialogs')
local utils = require('utils')

function addCivToEmbarkList(info)
local viewscreen = dfhack.gui.getDFViewscreen(true)
function embarkAnyone()

viewscreen.start_civ:insert ('#', info.civ)
viewscreen.start_civ_nem_num:insert ('#', info.nemeses)
viewscreen.start_civ_entpop_num:insert ('#', info.pops)
viewscreen.start_civ_site_num:insert ('#', info.sites)
end
function addCivToEmbarkList(info)
local viewscreen = dfhack.gui.getDFViewscreen(true)

viewscreen.start_civ:insert ('#', info.civ)
viewscreen.start_civ_nem_num:insert ('#', info.nemeses)
viewscreen.start_civ_entpop_num:insert ('#', info.pops)
viewscreen.start_civ_site_num:insert ('#', info.sites)
end

function embarkAnyone()
local viewscreen = dfhack.gui.getDFViewscreen(true)
if viewscreen._type ~= df.viewscreen_choose_start_sitest then
qerror("This script can only be used on the embark screen!")
end

local choices, existing_civs = {}, {}

for _,existing_civ in ipairs(viewscreen.start_civ) do
existing_civs[existing_civ.id] = true
end

if viewscreen._type ~= df.viewscreen_choose_start_sitest then
qerror("This script can only be used on the embark screen!")
end

for i, civ in ipairs (df.global.world.entities.all) do
-- Test if entity is a civ
if civ.type ~= df.historical_entity_type.Civilization then goto continue end
Expand Down