No Round End (#6346)

No longer displays a message and votes for transfer if the mercs/raiders move their shuttle back to the base.
This commit is contained in:
Werner
2019-07-06 10:11:33 +02:00
committed by Erki
parent 9e242a13b8
commit f8ce8d584e
5 changed files with 78 additions and 7 deletions

View File

@@ -224,10 +224,10 @@ var/datum/controller/subsystem/ticker/SSticker
//call a transfer shuttle vote
spawn(50)
if(!round_end_announced) // Spam Prevention. Now it should announce only once.
if(!round_end_announced && !config.continous_rounds) // Spam Prevention. Now it should announce only once.
to_world("<span class='danger'>The round has ended!</span>")
round_end_announced = 1
SSvote.autotransfer()
SSvote.autotransfer()
return 1

View File

@@ -10,3 +10,10 @@
end_on_antag_death = 0
antag_tags = list(MODE_RAIDER, MODE_MERCENARY)
require_all_templates = 1
/datum/game_mode/crossfire/check_finished()
var/datum/shuttle/multi_shuttle/mercs = shuttle_controller.shuttles["Mercenary"]
var/datum/shuttle/multi_shuttle/skipjack = shuttle_controller.shuttles["Skipjack"]
if (mercs && mercs.returned_home && skipjack && skipjack.returned_home)
return 1
return ..()

View File

@@ -19,6 +19,12 @@ var/list/nuke_disks = list()
antag_tags = list(MODE_MERCENARY)
antag_scaling_coeff = 6
/datum/game_mode/nuclear/check_finished()
var/datum/shuttle/multi_shuttle/mercs = shuttle_controller.shuttles["Mercenary"]
if (mercs && mercs.returned_home)
return 1
return ..()
//delete all nuke disks not on a station zlevel
/datum/game_mode/nuclear/proc/check_nuke_disks()
for(var/obj/item/weapon/disk/nuclear/N in nuke_disks)

View File

@@ -22,6 +22,7 @@
var/list/destination_dock_targets = list()
var/area/origin
var/return_warning = 0
var/start_warning = 0
/datum/shuttle/multi_shuttle/New()
..()
@@ -47,6 +48,12 @@
/datum/shuttle/multi_shuttle/current_dock_target()
return destination_dock_targets[last_location]
//If they returned home, they wont be able to depart again
/datum/shuttle/multi_shuttle/long_jump(var/area/departing, var/area/destination, var/area/interim, var/travel_time, var/direction)
if(returned_home)
return
return ..()
/datum/shuttle/multi_shuttle/move(var/area/origin, var/area/destination)
..()
last_move = world.time
@@ -94,12 +101,13 @@
if((MS.last_move + MS.cooldown*10) > world.time)
dat += "<font color='red'>Engines charging.</font><br>"
else if (MS.returned_home)
dat += "<font color='red'>Engines offline.</font><br>"
else
dat += "<font color='green'>Engines ready.</font><br>"
dat += "<br><b><A href='?src=\ref[src];toggle_cloak=[1]'>Toggle cloaking field</A></b><br>"
dat += "<b><A href='?src=\ref[src];move_multi=[1]'>Move ship</A></b><br>"
dat += "<b><A href='?src=\ref[src];start=[1]'>Return to base</A></b></center>"
dat += "<br><b><A href='?src=\ref[src];toggle_cloak=[1]'>Toggle cloaking field</A></b><br>"
dat += "<b><A href='?src=\ref[src];move_multi=[1]'>Move ship</A></b><br>"
dat += "<b><A href='?src=\ref[src];start=[1]'>Return to base</A></b></center>"
//Docking
dat += "<center><br><br>"
@@ -190,7 +198,6 @@
if(!MS.return_warning)
to_chat(usr, "<span class='warning'>Returning to your home base will end your mission. If you are sure, press the button again.</span>")
//TODO: Actually end the mission.
MS.return_warning = 1
return
@@ -205,6 +212,15 @@
to_chat(usr, "<span class='warning'>Ship stealth systems have been [(MS.cloaked ? "activated. The station will not" : "deactivated. The station will")] be warned of our arrival.</span>")
if(href_list["move_multi"])
if(MS.returned_home)
to_chat(usr, "<span class='warning'>The ship's drive is offline.</span>")
return
if(MS.at_origin && !MS.start_warning)
MS.start_warning = 1
to_chat(usr, "<span class='warning'>You can only make one roundtrip between the target and the base. If you are sure you want to depart, press the button again.</span>")
return
if((MS.last_move + MS.cooldown*10) > world.time)
to_chat(usr, "<span class='warning'>The ship's drive is inoperable while the engines are charging.</span>")
return