Removes all checks for subsystem existence (#2252)

This commit is contained in:
CitadelStationBot
2017-08-04 10:41:52 -05:00
committed by kevinz000
parent 6ac8123117
commit ef715b7837
42 changed files with 109 additions and 157 deletions

View File

@@ -283,13 +283,12 @@ SUBSYSTEM_DEF(garbage)
/client/verb/purge_all_destroyed_objects()
set category = "Debug"
if(SSgarbage)
while(SSgarbage.queue.len)
var/datum/o = locate(SSgarbage.queue[1])
if(istype(o) && o.gc_destroyed)
del(o)
SSgarbage.totaldels++
SSgarbage.queue.Cut(1, 2)
while(SSgarbage.queue.len)
var/datum/o = locate(SSgarbage.queue[1])
if(istype(o) && o.gc_destroyed)
del(o)
SSgarbage.totaldels++
SSgarbage.queue.Cut(1, 2)
/datum/verb/qdel_then_find_references()
set category = "Debug"

View File

@@ -217,10 +217,9 @@ SUBSYSTEM_DEF(job)
Debug("Running DO")
//Holder for Triumvirate is stored in the SSticker, this just processes it
if(SSticker)
if(SSticker.triai)
for(var/datum/job/ai/A in occupations)
if(SSticker.triai)
A.spawn_positions = 3
A.spawn_positions = 3
//Get the players who are ready
for(var/mob/dead/new_player/player in GLOB.player_list)

View File

@@ -1690,10 +1690,7 @@
else
mind = new /datum/mind(key)
if(SSticker)
SSticker.minds += mind
else
stack_trace("mind_initialize(): No SSticker ready")
SSticker.minds += mind
if(!mind.name)
mind.name = real_name
mind.current = src

View File

@@ -151,7 +151,7 @@
if(blob_core)
stat(null, "Core Health: [blob_core.obj_integrity]")
stat(null, "Power Stored: [blob_points]/[max_blob_points]")
if(SSticker && istype(SSticker.mode, /datum/game_mode/blob))
if(istype(SSticker.mode, /datum/game_mode/blob))
var/datum/game_mode/blob/B = SSticker.mode
stat(null, "Blobs to Win: [GLOB.blobs_legit.len]/[B.blobwincount]")
else

View File

@@ -83,7 +83,7 @@
if(SSdbcore.Connect())
var/sql
if(SSticker && SSticker.mode)
if(SSticker.mode)
sql += "game_mode = '[SSticker.mode]'"
if(GLOB.revdata.originmastercommit)
if(sql)

View File

@@ -125,8 +125,7 @@ GLOBAL_LIST_INIT(meteorsC, list(/obj/effect/meteor/dust)) //for space dust event
/obj/effect/meteor/New()
..()
GLOB.meteor_list += src
if(SSaugury)
SSaugury.register_doom(src, threat)
SSaugury.register_doom(src, threat)
SpinAnimation()
QDEL_IN(src, lifetime)

View File

@@ -623,17 +623,16 @@ GLOBAL_LIST_EMPTY(possible_items_special)
/datum/objective/absorb/proc/gen_amount_goal(lowbound = 4, highbound = 6)
target_amount = rand (lowbound,highbound)
if (SSticker)
var/n_p = 1 //autowin
if (SSticker.current_state == GAME_STATE_SETTING_UP)
for(var/mob/dead/new_player/P in GLOB.player_list)
if(P.client && P.ready == PLAYER_READY_TO_PLAY && P.mind!=owner)
n_p ++
else if (SSticker.IsRoundInProgress())
for(var/mob/living/carbon/human/P in GLOB.player_list)
if(P.client && !(P.mind in SSticker.mode.changelings) && P.mind!=owner)
n_p ++
target_amount = min(target_amount, n_p)
var/n_p = 1 //autowin
if (SSticker.current_state == GAME_STATE_SETTING_UP)
for(var/mob/dead/new_player/P in GLOB.player_list)
if(P.client && P.ready == PLAYER_READY_TO_PLAY && P.mind!=owner)
n_p ++
else if (SSticker.IsRoundInProgress())
for(var/mob/living/carbon/human/P in GLOB.player_list)
if(P.client && !(P.mind in SSticker.mode.changelings) && P.mind!=owner)
n_p ++
target_amount = min(target_amount, n_p)
explanation_text = "Extract [target_amount] compatible genome\s."
return target_amount

View File

@@ -147,6 +147,5 @@
set_frequency(frequency)
/obj/machinery/airlock_sensor/Destroy()
if(SSradio)
SSradio.remove_object(src,frequency)
SSradio.remove_object(src,frequency)
return ..()

View File

@@ -16,8 +16,7 @@
set_frequency(receive_frequency)
/obj/machinery/computer/atmos_alert/Destroy()
if(SSradio)
SSradio.remove_object(src, receive_frequency)
SSradio.remove_object(src, receive_frequency)
return ..()
/obj/machinery/computer/atmos_alert/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \

View File

@@ -52,8 +52,7 @@
/obj/machinery/air_sensor/Destroy()
SSair.atmos_machinery -= src
if(SSradio)
SSradio.remove_object(src, frequency)
SSradio.remove_object(src, frequency)
return ..()
/////////////////////////////////////////////////////////////
@@ -89,8 +88,7 @@
set_frequency(frequency)
/obj/machinery/computer/atmos_control/Destroy()
if(SSradio)
SSradio.remove_object(src, frequency)
SSradio.remove_object(src, frequency)
return ..()
/obj/machinery/computer/atmos_control/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \

View File

@@ -16,8 +16,7 @@
air_connection = new
/obj/machinery/door/airlock/alarmlock/Destroy()
if(SSradio)
SSradio.remove_object(src,air_frequency)
SSradio.remove_object(src,air_frequency)
air_connection = null
return ..()

View File

@@ -73,8 +73,7 @@
var/datum/radio_frequency/radio_connection
/obj/machinery/embedded_controller/radio/Destroy()
if(SSradio)
SSradio.remove_object(src,frequency)
SSradio.remove_object(src,frequency)
return ..()
/obj/machinery/embedded_controller/radio/Initialize()

View File

@@ -36,15 +36,13 @@
center = T
spawn(10) // must wait for map loading to finish
if(SSradio)
SSradio.add_object(src, freq, GLOB.RADIO_MAGNETS)
SSradio.add_object(src, freq, GLOB.RADIO_MAGNETS)
spawn()
magnetic_process()
/obj/machinery/magnetic_module/Destroy()
if(SSradio)
SSradio.remove_object(src, freq)
SSradio.remove_object(src, freq)
. = ..()
center = null
@@ -228,16 +226,14 @@
spawn(45) // must wait for map loading to finish
if(SSradio)
radio_connection = SSradio.add_object(src, frequency, GLOB.RADIO_MAGNETS)
radio_connection = SSradio.add_object(src, frequency, GLOB.RADIO_MAGNETS)
if(path) // check for default path
filter_path() // renders rpath
/obj/machinery/magnetic_controller/Destroy()
if(SSradio)
SSradio.remove_object(src, frequency)
SSradio.remove_object(src, frequency)
magnets = null
rpath = null
. = ..()

View File

@@ -50,8 +50,7 @@
SSradio.add_object(src, frequency)
/obj/machinery/status_display/Destroy()
if(SSradio)
SSradio.remove_object(src,frequency)
SSradio.remove_object(src,frequency)
GLOB.ai_status_displays.Remove(src)
return ..()

View File

@@ -13,12 +13,10 @@ would spawn and follow the beaker, even if it is carried or thrown.
/obj/effect/particle_effect/New()
..()
if(SSticker)
GLOB.cameranet.updateVisibility(src)
GLOB.cameranet.updateVisibility(src)
/obj/effect/particle_effect/Destroy()
if(SSticker)
GLOB.cameranet.updateVisibility(src)
GLOB.cameranet.updateVisibility(src)
. = ..()
/datum/effect_system

View File

@@ -25,8 +25,7 @@
var/datum/radio_frequency/radio_connection
/obj/item/radio/integrated/signal/Destroy()
if(SSradio)
SSradio.remove_object(src, frequency)
SSradio.remove_object(src, frequency)
radio_connection = null
return ..()

View File

@@ -24,8 +24,7 @@
SSradio.add_object(src, frequency, GLOB.RADIO_CHAT)
/obj/item/device/electropack/Destroy()
if(SSradio)
SSradio.remove_object(src, frequency)
SSradio.remove_object(src, frequency)
return ..()
/obj/item/device/electropack/attack_hand(mob/user)

View File

@@ -16,12 +16,10 @@
queue_smooth(src)
queue_smooth_neighbors(src)
icon_state = ""
if(SSticker)
GLOB.cameranet.updateVisibility(src)
GLOB.cameranet.updateVisibility(src)
/obj/structure/Destroy()
if(SSticker)
GLOB.cameranet.updateVisibility(src)
GLOB.cameranet.updateVisibility(src)
if(smooth)
queue_smooth_neighbors(src)
return ..()

View File

@@ -373,8 +373,7 @@
return can_have_cabling() & !intact
/turf/proc/visibilityChanged()
if(SSticker)
GLOB.cameranet.updateVisibility(src)
GLOB.cameranet.updateVisibility(src)
/turf/proc/burn_tile()

View File

@@ -735,34 +735,33 @@
var/dat = "<html><head><title>Manage Free Slots</title></head><body>"
var/count = 0
if(SSticker && !SSticker.mode)
if(!SSticker.HasRoundStarted())
alert(usr, "You cannot manage jobs before the round starts!")
return
if(SSjob)
for(var/datum/job/job in SSjob.occupations)
count++
var/J_title = html_encode(job.title)
var/J_opPos = html_encode(job.total_positions - (job.total_positions - job.current_positions))
var/J_totPos = html_encode(job.total_positions)
if(job.total_positions < 0)
dat += "[J_title]: [J_opPos] (unlimited)"
else
dat += "[J_title]: [J_opPos]/[J_totPos]"
for(var/datum/job/job in SSjob.occupations)
count++
var/J_title = html_encode(job.title)
var/J_opPos = html_encode(job.total_positions - (job.total_positions - job.current_positions))
var/J_totPos = html_encode(job.total_positions)
if(job.total_positions < 0)
dat += "[J_title]: [J_opPos] (unlimited)"
else
dat += "[J_title]: [J_opPos]/[J_totPos]"
if(job.title == "AI" || job.title == "Cyborg")
dat += " (Cannot Late Join)<br>"
continue
if(job.total_positions >= 0)
dat += " <A href='?src=\ref[src];addjobslot=[job.title]'>Add</A> | "
if(job.total_positions > job.current_positions)
dat += "<A href='?src=\ref[src];removejobslot=[job.title]'>Remove</A> | "
else
dat += "Remove | "
dat += "<A href='?src=\ref[src];unlimitjobslot=[job.title]'>Unlimit</A>"
if(job.title == "AI" || job.title == "Cyborg")
dat += " (Cannot Late Join)<br>"
continue
if(job.total_positions >= 0)
dat += " <A href='?src=\ref[src];addjobslot=[job.title]'>Add</A> | "
if(job.total_positions > job.current_positions)
dat += "<A href='?src=\ref[src];removejobslot=[job.title]'>Remove</A> | "
else
dat += " <A href='?src=\ref[src];limitjobslot=[job.title]'>Limit</A>"
dat += "<br>"
dat += "Remove | "
dat += "<A href='?src=\ref[src];unlimitjobslot=[job.title]'>Unlimit</A>"
else
dat += " <A href='?src=\ref[src];limitjobslot=[job.title]'>Limit</A>"
dat += "<br>"
dat += "</body>"
var/winheight = 100 + (count * 20)

View File

@@ -105,15 +105,14 @@
if("list_job_debug")
var/dat = "<B>Job Debug info.</B><HR>"
if(SSjob)
for(var/line in SSjob.job_debug)
dat += "[line]<BR>"
dat+= "*******<BR><BR>"
for(var/datum/job/job in SSjob.occupations)
if(!job)
continue
dat += "job: [job.title], current_positions: [job.current_positions], total_positions: [job.total_positions] <BR>"
usr << browse(dat, "window=jobdebug;size=600x500")
for(var/line in SSjob.job_debug)
dat += "[line]<BR>"
dat+= "*******<BR><BR>"
for(var/datum/job/job in SSjob.occupations)
if(!job)
continue
dat += "job: [job.title], current_positions: [job.current_positions], total_positions: [job.total_positions] <BR>"
usr << browse(dat, "window=jobdebug;size=600x500")
if("show_admins")
var/dat = "<B>Current admins:</B><HR>"

View File

@@ -5,7 +5,7 @@
to_chat(usr, "<span class='adminnotice'>The Database is not enabled!</span>")
return
if (SSdbcore && SSdbcore.IsConnected())
if (SSdbcore.IsConnected())
if (!check_rights(R_DEBUG,0))
alert("The database is already connected! (Only those with +debug can force a reconnection)", "The database is already connected!")
return

View File

@@ -22,8 +22,7 @@
/obj/item/device/assembly/signaler/Destroy()
if(SSradio)
SSradio.remove_object(src,frequency)
SSradio.remove_object(src,frequency)
return ..()
/obj/item/device/assembly/signaler/activate()

View File

@@ -152,8 +152,7 @@
update_icon()
/obj/machinery/airalarm/Destroy()
if(SSradio)
SSradio.remove_object(src, frequency)
SSradio.remove_object(src, frequency)
qdel(wires)
wires = null
return ..()

View File

@@ -37,8 +37,7 @@ Acts like a normal vent, but has an input AND output.
icon_state = "dpvent_map_on"
/obj/machinery/atmospherics/components/binary/dp_vent_pump/Destroy()
if(SSradio)
SSradio.remove_object(src, frequency)
SSradio.remove_object(src, frequency)
return ..()
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume

View File

@@ -22,8 +22,7 @@ Passive gate is similar to the regular pump except:
var/datum/radio_frequency/radio_connection
/obj/machinery/atmospherics/components/binary/passive_gate/Destroy()
if(SSradio)
SSradio.remove_object(src,frequency)
SSradio.remove_object(src,frequency)
return ..()
/obj/machinery/atmospherics/components/binary/passive_gate/update_icon_nopipes()

View File

@@ -30,8 +30,7 @@ Thus, the two variables affect pump operation are set in New():
on = TRUE
/obj/machinery/atmospherics/components/binary/pump/Destroy()
if(SSradio)
SSradio.remove_object(src,frequency)
SSradio.remove_object(src,frequency)
if(radio_connection)
radio_connection = null
return ..()

View File

@@ -27,8 +27,7 @@ Thus, the two variables affect pump operation are set in New():
var/datum/radio_frequency/radio_connection
/obj/machinery/atmospherics/components/binary/volume_pump/Destroy()
if(SSradio)
SSradio.remove_object(src,frequency)
SSradio.remove_object(src,frequency)
return ..()
/obj/machinery/atmospherics/components/binary/volume_pump/on

View File

@@ -28,8 +28,7 @@
radio_connection = SSradio.add_object(src, frequency, GLOB.RADIO_ATMOSIA)
/obj/machinery/atmospherics/components/trinary/filter/Destroy()
if(SSradio)
SSradio.remove_object(src,frequency)
SSradio.remove_object(src,frequency)
return ..()
/obj/machinery/atmospherics/components/trinary/filter/update_icon()

View File

@@ -19,8 +19,7 @@
layer = GAS_SCRUBBER_LAYER
/obj/machinery/atmospherics/components/unary/outlet_injector/Destroy()
if(SSradio)
SSradio.remove_object(src,frequency)
SSradio.remove_object(src,frequency)
return ..()
/obj/machinery/atmospherics/components/unary/outlet_injector/on

View File

@@ -56,8 +56,7 @@
A.air_vent_names -= id_tag
A.air_vent_info -= id_tag
if(SSradio)
SSradio.remove_object(src,frequency)
SSradio.remove_object(src,frequency)
radio_connection = null
return ..()

View File

@@ -49,8 +49,7 @@
A.air_scrub_names -= id_tag
A.air_scrub_info -= id_tag
if(SSradio)
SSradio.remove_object(src,frequency)
SSradio.remove_object(src,frequency)
radio_connection = null
for(var/I in adjacent_turfs)

View File

@@ -39,8 +39,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1
/obj/effect/immovablerod/New(atom/start, atom/end)
..()
if(SSaugury)
SSaugury.register_doom(src, 2000)
SSaugury.register_doom(src, 2000)
z_original = z
destination = end
if(notify)

View File

@@ -150,11 +150,10 @@
begin_month = APRIL
/datum/holiday/april_fools/celebrate()
if(SSticker)
SSticker.login_music = 'sound/ambience/clown.ogg'
for(var/mob/dead/new_player/P in GLOB.mob_list)
if(P.client)
P.client.playtitlemusic()
SSticker.login_music = 'sound/ambience/clown.ogg'
for(var/mob/dead/new_player/P in GLOB.mob_list)
if(P.client)
P.client.playtitlemusic()
/datum/holiday/fourtwenty
name = "Four-Twenty"

View File

@@ -74,11 +74,9 @@ Chaplain
else
B.name = "The Holy Book of [new_religion]"
if(SSreligion)
SSreligion.religion = new_religion
SSreligion.bible_name = B.name
SSreligion.deity = B.deity_name
SSreligion.religion = new_religion
SSreligion.bible_name = B.name
SSreligion.deity = B.deity_name
H.equip_to_slot_or_del(B, slot_in_backpack)

View File

@@ -32,7 +32,7 @@
/mob/dead/new_player/proc/new_player_panel()
var/output = "<center><p><a href='byond://?src=\ref[src];show_preferences=1'>Setup Character</a></p>"
if(SSticker && SSticker.current_state <= GAME_STATE_PREGAME)
if(SSticker.current_state <= GAME_STATE_PREGAME)
switch(ready)
if(PLAYER_NOT_READY)
output += "<p>\[ [LINKIFY_READY("Ready", PLAYER_READY_TO_PLAY)] | <b>Not Ready</b> | [LINKIFY_READY("Observe", PLAYER_READY_TO_OBSERVE)] \]</p>"
@@ -107,18 +107,17 @@
return 1
if(href_list["ready"])
if(SSticker)
var/tready = text2num(href_list["ready"])
//Avoid updating ready if we're after PREGAME (they should use latejoin instead)
//This is likely not an actual issue but I don't have time to prove that this
//no longer is required
if(SSticker.current_state <= GAME_STATE_PREGAME)
ready = tready
//if it's post initialisation and they're trying to observe we do the needful
if(!SSticker.current_state < GAME_STATE_PREGAME && tready == PLAYER_READY_TO_OBSERVE)
ready = tready
make_me_an_observer()
return
var/tready = text2num(href_list["ready"])
//Avoid updating ready if we're after PREGAME (they should use latejoin instead)
//This is likely not an actual issue but I don't have time to prove that this
//no longer is required
if(SSticker.current_state <= GAME_STATE_PREGAME)
ready = tready
//if it's post initialisation and they're trying to observe we do the needful
if(!SSticker.current_state < GAME_STATE_PREGAME && tready == PLAYER_READY_TO_OBSERVE)
ready = tready
make_me_an_observer()
return
if(href_list["refresh"])
src << browse(null, "window=playersetup") //closes the player setup window

View File

@@ -781,8 +781,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
/mob/dead/observer/proc/register_pai()
if(isobserver(src))
if(SSpai)
SSpai.recruitWindow(src)
SSpai.recruitWindow(src)
else
to_chat(usr, "Can't become a pAI candidate while not dead!")

View File

@@ -9,7 +9,7 @@
emote("deathgasp")
. = ..()
if(SSticker && SSticker.mode)
if(SSticker.mode)
SSticker.mode.check_win() //Calls the rounds wincheck, mainly for wizard, malf, and changeling now
/mob/living/carbon/gib(no_brain, no_organs, no_bodyparts)

View File

@@ -26,7 +26,7 @@
update_canmove()
if(SSticker && SSticker.mode)
if(SSticker.mode)
SSticker.mode.check_win()
return ..(gibbed)

View File

@@ -110,7 +110,7 @@
sparks.set_up(5, TRUE, src)
/obj/machinery/power/emitter/Destroy()
if(SSticker && SSticker.IsRoundInProgress())
if(SSticker.IsRoundInProgress())
var/turf/T = get_turf(src)
message_admins("Emitter deleted at [ADMIN_COORDJMP(T)]",0,1)
log_game("Emitter deleted at [COORD(T)]")

View File

@@ -191,7 +191,7 @@
cell.charge = (charge / capacity) * cell.maxcharge
/obj/machinery/power/smes/Destroy()
if(SSticker && SSticker.IsRoundInProgress())
if(SSticker.IsRoundInProgress())
var/area/A = get_area(src)
var/turf/T = get_turf(src)
message_admins("SMES deleted at [A][ADMIN_JMP(T)]")

View File

@@ -158,9 +158,7 @@
var/list/presentmins = adm["present"]
var/list/afkmins = adm["afk"]
s["admins"] = presentmins.len + afkmins.len //equivalent to the info gotten from adminwho
s["gamestate"] = 1
if(SSticker)
s["gamestate"] = SSticker.current_state
s["gamestate"] = SSticker.current_state
s["map_name"] = SSmapping.config.map_name
@@ -268,11 +266,8 @@
var/list/features = list()
if(SSticker)
if(GLOB.master_mode)
features += GLOB.master_mode
else
features += "<b>STARTING</b>"
if(GLOB.master_mode)
features += GLOB.master_mode
if (!GLOB.enter_allowed)
features += "closed"