mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-25 04:57:47 +01:00
shuttle_controller now uses a shuttle datum
This commit is contained in:
@@ -125,7 +125,7 @@ Implants;
|
||||
|
||||
|
||||
/datum/game_mode/proc/check_finished() //to be called by ticker
|
||||
if(emergency_shuttle.location==2 || station_was_nuked)
|
||||
if(emergency_shuttle.returned() || station_was_nuked)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
|
||||
@@ -315,10 +315,10 @@ var/global/datum/controller/gameticker/ticker
|
||||
var/game_finished = 0
|
||||
var/mode_finished = 0
|
||||
if (config.continous_rounds)
|
||||
game_finished = (emergency_shuttle.location == 2 || mode.station_was_nuked)
|
||||
game_finished = (emergency_shuttle.returned() || mode.station_was_nuked)
|
||||
mode_finished = (!post_game && mode.check_finished())
|
||||
else
|
||||
game_finished = (mode.check_finished() || (emergency_shuttle.location == 2 && emergency_shuttle.alert == 1))
|
||||
game_finished = (mode.check_finished() || (emergency_shuttle.returned() && emergency_shuttle.evac == 1))
|
||||
mode_finished = game_finished
|
||||
|
||||
if(!mode.explosion_in_progress && game_finished && (mode_finished || post_game))
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
AI_mind.current.icon_state = "ai-malf2"
|
||||
*/
|
||||
if(emergency_shuttle)
|
||||
emergency_shuttle.always_fake_recall = 1
|
||||
emergency_shuttle.auto_recall = 1
|
||||
spawn (rand(waittime_l, waittime_h))
|
||||
send_intercept()
|
||||
..()
|
||||
@@ -136,7 +136,7 @@
|
||||
if (is_malf_ai_dead())
|
||||
if(config.continous_rounds)
|
||||
if(emergency_shuttle)
|
||||
emergency_shuttle.always_fake_recall = 0
|
||||
emergency_shuttle.auto_recall = 0
|
||||
malf_mode_declared = 0
|
||||
else
|
||||
return 1
|
||||
@@ -206,7 +206,7 @@
|
||||
|
||||
/datum/game_mode/malfunction/declare_completion()
|
||||
var/malf_dead = is_malf_ai_dead()
|
||||
var/crew_evacuated = (emergency_shuttle.location==2)
|
||||
var/crew_evacuated = (emergency_shuttle.returned())
|
||||
|
||||
if ( station_captured && station_was_nuked)
|
||||
feedback_set_details("round_end_result","win - AI win - nuke")
|
||||
|
||||
@@ -267,7 +267,7 @@ datum
|
||||
explanation_text = "Frame [target.current.real_name], the [target.assigned_role] for a crime and make sure they are arrested and brought back to the Centcom station alive. We'll handle the rest from there."
|
||||
|
||||
check_completion()
|
||||
if(emergency_shuttle.location<2)
|
||||
if(!emergency_shuttle.returned())
|
||||
return 0
|
||||
if(target.current.stat == 2)
|
||||
return 0
|
||||
@@ -313,7 +313,7 @@ datum
|
||||
explanation_text = "[target.current.real_name], the [target.assigned_role] is a [pick("relative of a","friend of a","") + pick("high ranking","important","well-liked")] Syndicate [pick("Leader","Officer","Agent","sympathiser")]. Make sure they get off the station safely, while minimizing intervention."
|
||||
|
||||
check_completion()
|
||||
if(emergency_shuttle.location<2)
|
||||
if(!emergency_shuttle.returned())
|
||||
return 0
|
||||
|
||||
if(target.current.stat == 2)
|
||||
@@ -477,7 +477,7 @@ datum
|
||||
explanation_text = "Hijack the emergency shuttle by escaping alone."
|
||||
|
||||
check_completion()
|
||||
if(emergency_shuttle.location<2)
|
||||
if(!emergency_shuttle.returned())
|
||||
return 0
|
||||
|
||||
if(!owner.current || owner.current.stat == 2)
|
||||
@@ -512,7 +512,7 @@ datum
|
||||
explanation_text = "Escape on the shuttle alive, without being arrested."
|
||||
|
||||
check_completion()
|
||||
if(emergency_shuttle.location<2)
|
||||
if(!emergency_shuttle.returned())
|
||||
return 0
|
||||
|
||||
if(!owner.current || owner.current.stat ==2)
|
||||
@@ -1224,7 +1224,7 @@ datum
|
||||
check_completion()
|
||||
if(!istype(owner.current, /mob/living/silicon))
|
||||
return 0
|
||||
if(emergency_shuttle.location<2)
|
||||
if(!emergency_shuttle.returned())
|
||||
return 0
|
||||
if(!owner.current)
|
||||
return 0
|
||||
@@ -1447,7 +1447,7 @@ datum/objective/silence
|
||||
explanation_text = "Do not allow anyone to escape the station. Only allow the shuttle to be called when everyone is dead and your story is the only one left."
|
||||
|
||||
check_completion()
|
||||
if(emergency_shuttle.location<2)
|
||||
if(!emergency_shuttle.returned())
|
||||
return 0
|
||||
|
||||
var/area/shuttle = locate(/area/shuttle/escape/centcom)
|
||||
|
||||
@@ -277,7 +277,7 @@
|
||||
if(!is_type_in_list(disk_area, centcom_areas))
|
||||
disk_rescued = 0
|
||||
break
|
||||
var/crew_evacuated = (emergency_shuttle.location==2)
|
||||
var/crew_evacuated = (emergency_shuttle.returned())
|
||||
//var/operatives_are_dead = is_operatives_are_dead()
|
||||
|
||||
|
||||
|
||||
@@ -285,7 +285,7 @@ datum/objective/hijack
|
||||
check_completion()
|
||||
if(!owner.current || owner.current.stat)
|
||||
return 0
|
||||
if(emergency_shuttle.location<2)
|
||||
if(!emergency_shuttle.returned())
|
||||
return 0
|
||||
if(issilicon(owner.current))
|
||||
return 0
|
||||
@@ -307,7 +307,7 @@ datum/objective/block
|
||||
check_completion()
|
||||
if(!istype(owner.current, /mob/living/silicon))
|
||||
return 0
|
||||
if(emergency_shuttle.location<2)
|
||||
if(!emergency_shuttle.returned())
|
||||
return 0
|
||||
if(!owner.current)
|
||||
return 0
|
||||
@@ -325,7 +325,7 @@ datum/objective/silence
|
||||
explanation_text = "Do not allow anyone to escape the station. Only allow the shuttle to be called when everyone is dead and your story is the only one left."
|
||||
|
||||
check_completion()
|
||||
if(emergency_shuttle.location<2)
|
||||
if(!emergency_shuttle.returned())
|
||||
return 0
|
||||
|
||||
for(var/mob/living/player in player_list)
|
||||
@@ -350,7 +350,7 @@ datum/objective/escape
|
||||
return 0
|
||||
if(isbrain(owner.current))
|
||||
return 0
|
||||
if(emergency_shuttle.location<2)
|
||||
if(!emergency_shuttle.returned())
|
||||
return 0
|
||||
if(!owner.current || owner.current.stat ==2)
|
||||
return 0
|
||||
@@ -709,7 +709,7 @@ datum/objective/absorb
|
||||
explanation_text = "Our knowledge must live on. Make sure at least 5 acolytes escape on the shuttle to spread their work on an another station."
|
||||
|
||||
check_completion()
|
||||
if(emergency_shuttle.location<2)
|
||||
if(!emergency_shuttle.returned())
|
||||
return 0
|
||||
|
||||
var/cultists_escaped = 0
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
greet_revolutionary(rev_mind)
|
||||
modePlayer += head_revolutionaries
|
||||
if(emergency_shuttle)
|
||||
emergency_shuttle.always_fake_recall = 1
|
||||
emergency_shuttle.auto_recall = 1
|
||||
spawn (rand(waittime_l, waittime_h))
|
||||
send_intercept()
|
||||
..()
|
||||
@@ -175,7 +175,7 @@
|
||||
if(config.continous_rounds)
|
||||
if(finished != 0)
|
||||
if(emergency_shuttle)
|
||||
emergency_shuttle.always_fake_recall = 0
|
||||
emergency_shuttle.auto_recall = 0
|
||||
return ..()
|
||||
if(finished != 0)
|
||||
return 1
|
||||
|
||||
@@ -18,4 +18,4 @@
|
||||
/datum/game_mode/sandbox/post_setup()
|
||||
..()
|
||||
if(emergency_shuttle)
|
||||
emergency_shuttle.always_fake_recall = 1
|
||||
emergency_shuttle.auto_recall = 1
|
||||
|
||||
Reference in New Issue
Block a user