Fix some emigration issues

See #730
develop
lethosor 2015-11-27 16:12:34 -05:00
parent 485eddc54e
commit 8ec232570b
1 changed files with 11 additions and 9 deletions

@ -26,7 +26,7 @@ end
function desireToStay(unit,method,civ_id)
-- on a percentage scale
value = 100 - unit.status.current_soul.personality.stress_level / 5000
local value = 100 - unit.status.current_soul.personality.stress_level / 5000
if method == 'merchant' or method == 'diplomat' then
if civ_id ~= unit.civ_id then value = value*2 end end
if method == 'wild' then
@ -60,12 +60,12 @@ function canLeave(unit)
if skill.rating > 14 then return false end
end
if unit.flags1.caged
or u.race ~= df.global.ui.race_id
or u.civ_id ~= df.global.ui.civ_id
or dfhack.units.isDead(u)
or dfhack.units.isOpposedToLife(u)
or u.flags1.merchant
or u.flags1.diplomat
or unit.race ~= df.global.ui.race_id
or unit.civ_id ~= df.global.ui.civ_id
or dfhack.units.isDead(unit)
or dfhack.units.isOpposedToLife(unit)
or unit.flags1.merchant
or unit.flags1.diplomat
or unit.flags1.chained
or dfhack.units.getNoblePositions(unit) ~= nil
or unit.military.squad_id ~= -1
@ -109,8 +109,10 @@ function checkmigrationnow()
end
local function event_loop()
checkmigrationnow()
dfhack.timeout(1, 'months', event_loop)
if enabled then
checkmigrationnow()
dfhack.timeout(1, 'months', event_loop)
end
end
dfhack.onStateChange.loadEmigration = function(code)