shuttle_controller now uses a shuttle datum

This commit is contained in:
mwerezak
2014-06-22 18:10:56 -04:00
parent 1c91b2984d
commit dc304026a9
31 changed files with 430 additions and 576 deletions
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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")
+6 -6
View File
@@ -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)
+1 -1
View File
@@ -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()
+5 -5
View File
@@ -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
+2 -2
View File
@@ -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
+1 -1
View File
@@ -18,4 +18,4 @@
/datum/game_mode/sandbox/post_setup()
..()
if(emergency_shuttle)
emergency_shuttle.always_fake_recall = 1
emergency_shuttle.auto_recall = 1