diff --git a/code/game/gamemodes/heist/heist.dm b/code/game/gamemodes/heist/heist.dm index 0f1fd97b36f..e98d128559f 100644 --- a/code/game/gamemodes/heist/heist.dm +++ b/code/game/gamemodes/heist/heist.dm @@ -99,6 +99,7 @@ var/global/vox_kills = 0 //Used to check the Inviolate. vox.real_name = capitalize(newname) vox.name = vox.real_name + raider.name = vox.name vox.age = rand(12,20) vox.dna.mutantrace = "vox" vox.set_species("Vox") @@ -253,6 +254,34 @@ var/global/vox_kills = 0 //Used to check the Inviolate. ..() +datum/game_mode/proc/auto_declare_completion_heist() + if(raiders.len) + var/check_return = 0 + if(ticker && istype(ticker.mode,/datum/game_mode/heist)) + check_return = 1 + var/text = "The vox raiders were:" + + for(var/datum/mind/vox in raiders) + text += "
[vox.key] was [vox.name] (" + if(check_return) + var/obj/stack = raiders[vox] + if(get_area(stack) != locate(/area/shuttle/vox/station)) + text += "left behind)" + continue + if(vox.current) + if(vox.current.stat == DEAD) + text += "died" + else + text += "survived" + if(vox.current.real_name != vox.name) + text += " as [vox.current.real_name]" + else + text += "body destroyed" + text += ")" + + world << text + return 1 + /datum/game_mode/heist/check_finished() if (!(is_raider_crew_alive()) || (vox_shuttle_location && (vox_shuttle_location == "start"))) return 1 diff --git a/code/modules/admin/verbs/vox_raiders.dm b/code/modules/admin/verbs/vox_raiders.dm index 1edc66d360d..5548aab001f 100644 --- a/code/modules/admin/verbs/vox_raiders.dm +++ b/code/modules/admin/verbs/vox_raiders.dm @@ -76,6 +76,7 @@ var/global/vox_tick = 1 if(ticker.mode && ( istype( ticker.mode,/datum/game_mode/heist ) ) ) var/datum/game_mode/heist/M = ticker.mode M.cortical_stacks += I + M.raiders[mind] = I vox_tick++ if (vox_tick > 4) vox_tick = 1