mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 09:54:52 +00:00
TG sync Sunday (#201)
* stage one * datums and shit * game stuff * modules * tgstation.dme * tools * these things for icons * compiling fixes * merge spree on TG * other updates * updated maps with deepfryers * My helpers were not helping
This commit is contained in:
@@ -157,6 +157,7 @@
|
||||
var/time = (world.timeofday - start_timeofday) / 10
|
||||
var/msg = "Initialized [name] subsystem within [time] seconds!"
|
||||
world << "<span class='boldannounce'>[msg]</span>"
|
||||
world.log << msg
|
||||
return time
|
||||
|
||||
//hook for printing stats to the "MC" statuspanel for admins to see performance and related stats etc.
|
||||
|
||||
@@ -26,7 +26,7 @@ var/datum/subsystem/acid/SSacid
|
||||
while (currentrun.len)
|
||||
var/obj/O = currentrun[currentrun.len]
|
||||
currentrun.len--
|
||||
if (!O || qdeleted(O))
|
||||
if (!O || QDELETED(O))
|
||||
processing -= O
|
||||
if (MC_TICK_CHECK)
|
||||
return
|
||||
|
||||
@@ -22,8 +22,9 @@ var/datum/subsystem/augury/SSaugury
|
||||
var/biggest_doom = null
|
||||
var/biggest_threat = null
|
||||
|
||||
for(var/d in doombringers)
|
||||
if(!d || qdeleted(d))
|
||||
for(var/db in doombringers)
|
||||
var/datum/d = db
|
||||
if(!d || QDELETED(d))
|
||||
doombringers -= d
|
||||
continue
|
||||
var/threat = doombringers[d]
|
||||
|
||||
@@ -59,17 +59,6 @@ var/datum/subsystem/events/SSevent
|
||||
/datum/subsystem/events/proc/reschedule()
|
||||
scheduled = world.time + rand(frequency_lower, max(frequency_lower,frequency_upper))
|
||||
|
||||
if(world.time > 108000) //2:45
|
||||
frequency_lower=1000
|
||||
frequency_upper=1500
|
||||
//if ((!( ticker ) || emergency_shuttle.location))
|
||||
//if(SSshuttle.emergency.mode == SHUTTLE_DOCKED || SSshuttle.emergency.mode == SHUTTLE_CALL)
|
||||
// return
|
||||
if(SSshuttle.emergency.mode < SHUTTLE_CALL)
|
||||
SSshuttle.emergency.request(null, 1.5)
|
||||
log_game("Round time limit reached. Shuttle has been auto-called.")
|
||||
message_admins("Round time limit reached. Shuttle called.")
|
||||
|
||||
//selects a random event based on whether it can occur and it's 'weight'(probability)
|
||||
/datum/subsystem/events/proc/spawnEvent()
|
||||
if(!config.allow_random_events)
|
||||
@@ -108,7 +97,7 @@ var/datum/subsystem/events/SSevent
|
||||
continue
|
||||
if (E.alertadmins)
|
||||
message_admins("Random Event triggering: [E.name] ([E.typepath])")
|
||||
deadchat_broadcast("[E.name] has just been randomly triggered!") //STOP ASSUMING IT'S BADMINS!
|
||||
deadchat_broadcast("<span class='deadsay'><b>[E.name]</b> has just been randomly triggered!</span>") //STOP ASSUMING IT'S BADMINS!
|
||||
log_game("Random Event triggering: [E.name] ([E.typepath])")
|
||||
return
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ var/datum/subsystem/fire_burning/SSfire_burning
|
||||
while(currentrun.len)
|
||||
var/obj/O = currentrun[currentrun.len]
|
||||
currentrun.len--
|
||||
if (!O || qdeleted(O))
|
||||
if (!O || QDELETED(O))
|
||||
processing -= O
|
||||
if (MC_TICK_CHECK)
|
||||
return
|
||||
|
||||
@@ -203,22 +203,6 @@ var/datum/subsystem/garbage_collector/SSgarbage
|
||||
else if(D.gc_destroyed == GC_CURRENTLY_BEING_QDELETED)
|
||||
CRASH("[D.type] destroy proc was called multiple times, likely due to a qdel loop in the Destroy logic")
|
||||
|
||||
// Returns 1 if the object has been queued for deletion.
|
||||
/proc/qdeleted(datum/D)
|
||||
if(!istype(D))
|
||||
return FALSE
|
||||
if(D.gc_destroyed)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
// Returns true if the object's destroy has been called (set just before it is called)
|
||||
/proc/qdestroying(datum/D)
|
||||
if(!istype(D))
|
||||
return FALSE
|
||||
if(D.gc_destroyed == GC_CURRENTLY_BEING_QDELETED)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
// Default implementation of clean-up code.
|
||||
// This should be overridden to remove all references pointing to the object being destroyed.
|
||||
// Return the appropriate QDEL_HINT; in most cases this is QDEL_HINT_QUEUE.
|
||||
@@ -270,6 +254,7 @@ var/datum/subsystem/garbage_collector/SSgarbage
|
||||
usr.client.running_find_references = type
|
||||
|
||||
testing("Beginning search for references to a [type].")
|
||||
find_references_in_globals()
|
||||
for(var/datum/thing in world)
|
||||
if(usr && usr.client && !usr.client.running_find_references) return
|
||||
for(var/varname in thing.vars)
|
||||
@@ -326,4 +311,735 @@ var/datum/subsystem/garbage_collector/SSgarbage
|
||||
dat += "[path] - [tmplist[path]] times<BR>"
|
||||
|
||||
usr << browse(dat, "window=qdeletedlog")
|
||||
|
||||
#define SearchVar(X) DoSearchVar(X, #X)
|
||||
|
||||
/datum/proc/DoSearchVar(X, Xname)
|
||||
if(islist(X))
|
||||
if(src in X)
|
||||
testing("Found [src.type] \ref[src] in global list [Xname].")
|
||||
else if(istype(X, /datum))
|
||||
var/datum/D = X
|
||||
for(var/V in D.vars)
|
||||
for(var/varname in D.vars)
|
||||
var/variable = D.vars[varname]
|
||||
if(variable == src)
|
||||
testing("Found [src.type] \ref[src] in [D.type]'s [varname] var. Global: [Xname]")
|
||||
else if(islist(variable) && src in variable)
|
||||
testing("Found [src.type] \ref[src] in [D.type]'s [varname] list var. Global: [Xname]")
|
||||
CHECK_TICK
|
||||
|
||||
//if find_references isn't working for some datum
|
||||
//update this list using tools/DMTreeToGlobalsList
|
||||
/datum/proc/find_references_in_globals()
|
||||
SearchVar(last_irc_status)
|
||||
SearchVar(inerror)
|
||||
SearchVar(failed_db_connections)
|
||||
SearchVar(nextmap)
|
||||
SearchVar(mapchanging)
|
||||
SearchVar(rebootingpendingmapchange)
|
||||
SearchVar(clockwork_construction_value)
|
||||
SearchVar(clockwork_caches)
|
||||
SearchVar(clockwork_daemons)
|
||||
SearchVar(clockwork_generals_invoked)
|
||||
SearchVar(all_clockwork_objects)
|
||||
SearchVar(all_clockwork_mobs)
|
||||
SearchVar(clockwork_component_cache)
|
||||
SearchVar(ratvar_awakens)
|
||||
SearchVar(clockwork_gateway_activated)
|
||||
SearchVar(all_scripture)
|
||||
SearchVar(pointed_types)
|
||||
SearchVar(bloody_footprints_cache)
|
||||
SearchVar(ghost_accs_options)
|
||||
SearchVar(ghost_others_options)
|
||||
SearchVar(special_roles)
|
||||
SearchVar(string_cache)
|
||||
SearchVar(string_filename_current_key)
|
||||
SearchVar(cmp_field)
|
||||
SearchVar(friendly_animal_types)
|
||||
SearchVar(humanoid_icon_cache)
|
||||
SearchVar(freeze_item_icons)
|
||||
SearchVar(E)
|
||||
SearchVar(Sqrt2)
|
||||
SearchVar(sqrtTable)
|
||||
SearchVar(gaussian_next)
|
||||
SearchVar(skin_tones)
|
||||
SearchVar(species_list)
|
||||
SearchVar(roundstart_species)
|
||||
SearchVar(church_name)
|
||||
SearchVar(command_name)
|
||||
SearchVar(religion_name)
|
||||
SearchVar(syndicate_name)
|
||||
SearchVar(syndicate_code_phrase)
|
||||
SearchVar(syndicate_code_response)
|
||||
SearchVar(zero_character_only)
|
||||
SearchVar(hex_characters)
|
||||
SearchVar(alphabet)
|
||||
SearchVar(binary)
|
||||
SearchVar(can_embed_types)
|
||||
SearchVar(WALLITEMS)
|
||||
SearchVar(WALLITEMS_EXTERNAL)
|
||||
SearchVar(WALLITEMS_INVERSE)
|
||||
SearchVar(sortInstance)
|
||||
SearchVar(config)
|
||||
SearchVar(protected_config)
|
||||
SearchVar(host)
|
||||
SearchVar(join_motd)
|
||||
SearchVar(station_name)
|
||||
SearchVar(game_version)
|
||||
SearchVar(changelog_hash)
|
||||
SearchVar(ooc_allowed)
|
||||
SearchVar(dooc_allowed)
|
||||
SearchVar(abandon_allowed)
|
||||
SearchVar(enter_allowed)
|
||||
SearchVar(guests_allowed)
|
||||
SearchVar(shuttle_frozen)
|
||||
SearchVar(shuttle_left)
|
||||
SearchVar(tinted_weldhelh)
|
||||
SearchVar(Debug)
|
||||
SearchVar(Debug2)
|
||||
SearchVar(comms_key)
|
||||
SearchVar(comms_allowed)
|
||||
SearchVar(cross_address)
|
||||
SearchVar(cross_allowed)
|
||||
SearchVar(medal_hub)
|
||||
SearchVar(medal_pass)
|
||||
SearchVar(medals_enabled)
|
||||
SearchVar(MAX_EX_DEVESTATION_RANGE)
|
||||
SearchVar(MAX_EX_HEAVY_RANGE)
|
||||
SearchVar(MAX_EX_LIGHT_RANGE)
|
||||
SearchVar(MAX_EX_FLASH_RANGE)
|
||||
SearchVar(MAX_EX_FLAME_RANGE)
|
||||
SearchVar(DYN_EX_SCALE)
|
||||
SearchVar(sqladdress)
|
||||
SearchVar(sqlport)
|
||||
SearchVar(sqlfdbkdb)
|
||||
SearchVar(sqlfdbklogin)
|
||||
SearchVar(sqlfdbkpass)
|
||||
SearchVar(sqlfdbktableprefix)
|
||||
SearchVar(dbcon)
|
||||
SearchVar(master_mode)
|
||||
SearchVar(secret_force_mode)
|
||||
SearchVar(wavesecret)
|
||||
SearchVar(start_state)
|
||||
SearchVar(NEARSIGHTBLOCK)
|
||||
SearchVar(EPILEPSYBLOCK)
|
||||
SearchVar(COUGHBLOCK)
|
||||
SearchVar(TOURETTESBLOCK)
|
||||
SearchVar(NERVOUSBLOCK)
|
||||
SearchVar(BLINDBLOCK)
|
||||
SearchVar(DEAFBLOCK)
|
||||
SearchVar(HULKBLOCK)
|
||||
SearchVar(TELEBLOCK)
|
||||
SearchVar(FIREBLOCK)
|
||||
SearchVar(XRAYBLOCK)
|
||||
SearchVar(CLUMSYBLOCK)
|
||||
SearchVar(STRANGEBLOCK)
|
||||
SearchVar(RACEBLOCK)
|
||||
SearchVar(bad_se_blocks)
|
||||
SearchVar(good_se_blocks)
|
||||
SearchVar(op_se_blocks)
|
||||
SearchVar(NULLED_SE)
|
||||
SearchVar(NULLED_UI)
|
||||
SearchVar(global_mutations)
|
||||
SearchVar(bad_mutations)
|
||||
SearchVar(good_mutations)
|
||||
SearchVar(not_good_mutations)
|
||||
SearchVar(diary)
|
||||
SearchVar(diaryofmeanpeople)
|
||||
SearchVar(href_logfile)
|
||||
SearchVar(bombers)
|
||||
SearchVar(admin_log)
|
||||
SearchVar(lastsignalers)
|
||||
SearchVar(lawchanges)
|
||||
SearchVar(combatlog)
|
||||
SearchVar(IClog)
|
||||
SearchVar(OOClog)
|
||||
SearchVar(adminlog)
|
||||
SearchVar(active_turfs_startlist)
|
||||
SearchVar(admin_notice)
|
||||
SearchVar(timezoneOffset)
|
||||
SearchVar(fileaccess_timer)
|
||||
SearchVar(TAB)
|
||||
SearchVar(map_ready)
|
||||
SearchVar(data_core)
|
||||
SearchVar(CELLRATE)
|
||||
SearchVar(CHARGELEVEL)
|
||||
SearchVar(powernets)
|
||||
SearchVar(map_name)
|
||||
SearchVar(hair_styles_list)
|
||||
SearchVar(hair_styles_male_list)
|
||||
SearchVar(hair_styles_female_list)
|
||||
SearchVar(facial_hair_styles_list)
|
||||
SearchVar(facial_hair_styles_male_list)
|
||||
SearchVar(facial_hair_styles_female_list)
|
||||
SearchVar(underwear_list)
|
||||
SearchVar(underwear_m)
|
||||
SearchVar(underwear_f)
|
||||
SearchVar(undershirt_list)
|
||||
SearchVar(undershirt_m)
|
||||
SearchVar(undershirt_f)
|
||||
SearchVar(socks_list)
|
||||
SearchVar(body_markings_list)
|
||||
SearchVar(tails_list_lizard)
|
||||
SearchVar(animated_tails_list_lizard)
|
||||
SearchVar(snouts_list)
|
||||
SearchVar(horns_list)
|
||||
SearchVar(frills_list)
|
||||
SearchVar(spines_list)
|
||||
SearchVar(legs_list)
|
||||
SearchVar(animated_spines_list)
|
||||
SearchVar(tails_list_human)
|
||||
SearchVar(animated_tails_list_human)
|
||||
SearchVar(ears_list)
|
||||
SearchVar(wings_list)
|
||||
SearchVar(wings_open_list)
|
||||
SearchVar(r_wings_list)
|
||||
SearchVar(ghost_forms_with_directions_list)
|
||||
SearchVar(ghost_forms_with_accessories_list)
|
||||
SearchVar(security_depts_prefs)
|
||||
SearchVar(backbaglist)
|
||||
SearchVar(uplink_spawn_loc_list)
|
||||
SearchVar(female_clothing_icons)
|
||||
SearchVar(hit_appends)
|
||||
SearchVar(scarySounds)
|
||||
SearchVar(TAGGERLOCATIONS)
|
||||
SearchVar(guitar_notes)
|
||||
SearchVar(station_prefixes)
|
||||
SearchVar(station_names)
|
||||
SearchVar(station_suffixes)
|
||||
SearchVar(greek_letters)
|
||||
SearchVar(phonetic_alphabet)
|
||||
SearchVar(numbers_as_words)
|
||||
SearchVar(station_numerals)
|
||||
SearchVar(cardinal)
|
||||
SearchVar(alldirs)
|
||||
SearchVar(diagonals)
|
||||
SearchVar(accessable_z_levels)
|
||||
SearchVar(global_map)
|
||||
SearchVar(landmarks_list)
|
||||
SearchVar(start_landmarks_list)
|
||||
SearchVar(department_security_spawns)
|
||||
SearchVar(generic_event_spawns)
|
||||
SearchVar(monkeystart)
|
||||
SearchVar(wizardstart)
|
||||
SearchVar(newplayer_start)
|
||||
SearchVar(latejoin)
|
||||
SearchVar(prisonwarp)
|
||||
SearchVar(holdingfacility)
|
||||
SearchVar(xeno_spawn)
|
||||
SearchVar(tdome1)
|
||||
SearchVar(tdome2)
|
||||
SearchVar(tdomeobserve)
|
||||
SearchVar(tdomeadmin)
|
||||
SearchVar(prisonsecuritywarp)
|
||||
SearchVar(prisonwarped)
|
||||
SearchVar(blobstart)
|
||||
SearchVar(secequipment)
|
||||
SearchVar(deathsquadspawn)
|
||||
SearchVar(emergencyresponseteamspawn)
|
||||
SearchVar(ruin_landmarks)
|
||||
SearchVar(awaydestinations)
|
||||
SearchVar(sortedAreas)
|
||||
SearchVar(map_templates)
|
||||
SearchVar(ruins_templates)
|
||||
SearchVar(space_ruins_templates)
|
||||
SearchVar(lava_ruins_templates)
|
||||
SearchVar(shuttle_templates)
|
||||
SearchVar(shelter_templates)
|
||||
SearchVar(transit_markers)
|
||||
SearchVar(clients)
|
||||
SearchVar(admins)
|
||||
SearchVar(deadmins)
|
||||
SearchVar(directory)
|
||||
SearchVar(stealthminID)
|
||||
SearchVar(current_watchlist)
|
||||
SearchVar(player_list)
|
||||
SearchVar(mob_list)
|
||||
SearchVar(living_mob_list)
|
||||
SearchVar(dead_mob_list)
|
||||
SearchVar(joined_player_list)
|
||||
SearchVar(silicon_mobs)
|
||||
SearchVar(pai_list)
|
||||
SearchVar(ai_names)
|
||||
SearchVar(wizard_first)
|
||||
SearchVar(wizard_second)
|
||||
SearchVar(ninja_titles)
|
||||
SearchVar(ninja_names)
|
||||
SearchVar(commando_names)
|
||||
SearchVar(first_names_male)
|
||||
SearchVar(first_names_female)
|
||||
SearchVar(last_names)
|
||||
SearchVar(lizard_names_male)
|
||||
SearchVar(lizard_names_female)
|
||||
SearchVar(clown_names)
|
||||
SearchVar(mime_names)
|
||||
SearchVar(carp_names)
|
||||
SearchVar(golem_names)
|
||||
SearchVar(plasmaman_names)
|
||||
SearchVar(verbs)
|
||||
SearchVar(adjectives)
|
||||
SearchVar(cable_list)
|
||||
SearchVar(portals)
|
||||
SearchVar(airlocks)
|
||||
SearchVar(mechas_list)
|
||||
SearchVar(shuttle_caller_list)
|
||||
SearchVar(machines)
|
||||
SearchVar(syndicate_shuttle_boards)
|
||||
SearchVar(navbeacons)
|
||||
SearchVar(teleportbeacons)
|
||||
SearchVar(deliverybeacons)
|
||||
SearchVar(deliverybeacontags)
|
||||
SearchVar(nuke_list)
|
||||
SearchVar(alarmdisplay)
|
||||
SearchVar(chemical_reactions_list)
|
||||
SearchVar(chemical_reagents_list)
|
||||
SearchVar(materials_list)
|
||||
SearchVar(tech_list)
|
||||
SearchVar(surgeries_list)
|
||||
SearchVar(crafting_recipes)
|
||||
SearchVar(rcd_list)
|
||||
SearchVar(apcs_list)
|
||||
SearchVar(tracked_implants)
|
||||
SearchVar(tracked_chem_implants)
|
||||
SearchVar(poi_list)
|
||||
SearchVar(pinpointer_list)
|
||||
SearchVar(zombie_infection_list)
|
||||
SearchVar(meteor_list)
|
||||
SearchVar(poll_ignore)
|
||||
SearchVar(typecache_mob)
|
||||
SearchVar(tk_maxrange)
|
||||
SearchVar(Failsafe)
|
||||
SearchVar(Master)
|
||||
SearchVar(MC_restart_clear)
|
||||
SearchVar(MC_restart_timeout)
|
||||
SearchVar(MC_restart_count)
|
||||
SearchVar(CURRENT_TICKLIMIT)
|
||||
SearchVar(SSacid)
|
||||
SearchVar(SSair)
|
||||
SearchVar(SSasset)
|
||||
SearchVar(SSaugury)
|
||||
SearchVar(SScommunications)
|
||||
SearchVar(SSdisease)
|
||||
SearchVar(SSevent)
|
||||
SearchVar(SSfire_burning)
|
||||
SearchVar(SSgarbage)
|
||||
SearchVar(SSicon_smooth)
|
||||
SearchVar(SSipintel)
|
||||
SearchVar(SSjob)
|
||||
SearchVar(SSlighting)
|
||||
SearchVar(SSmachine)
|
||||
SearchVar(SSmapping)
|
||||
SearchVar(SSminimap)
|
||||
SearchVar(SSmob)
|
||||
SearchVar(SSnpc)
|
||||
SearchVar(SSorbit)
|
||||
SearchVar(SSpai)
|
||||
SearchVar(pai_card_list)
|
||||
SearchVar(SSparallax)
|
||||
SearchVar(SSpersistence)
|
||||
SearchVar(SSping)
|
||||
SearchVar(SSradio)
|
||||
SearchVar(SSreligion)
|
||||
SearchVar(SSserver)
|
||||
SearchVar(SSshuttle)
|
||||
SearchVar(SSspacedrift)
|
||||
SearchVar(SSsqueak)
|
||||
SearchVar(SSstickyban)
|
||||
SearchVar(SSsun)
|
||||
SearchVar(SStgui)
|
||||
SearchVar(SSthrowing)
|
||||
SearchVar(round_start_time)
|
||||
SearchVar(ticker)
|
||||
SearchVar(SStimer)
|
||||
SearchVar(SSvote)
|
||||
SearchVar(SSweather)
|
||||
SearchVar(SSfastprocess)
|
||||
SearchVar(SSflightpacks)
|
||||
SearchVar(SSobj)
|
||||
SearchVar(SSprocessing)
|
||||
SearchVar(record_id_num)
|
||||
SearchVar(emote_list)
|
||||
SearchVar(huds)
|
||||
SearchVar(diseases)
|
||||
SearchVar(archive_diseases)
|
||||
SearchVar(advance_cures)
|
||||
SearchVar(list_symptoms)
|
||||
SearchVar(dictionary_symptoms)
|
||||
SearchVar(SYMPTOM_ACTIVATION_PROB)
|
||||
SearchVar(revdata)
|
||||
SearchVar(all_status_effects)
|
||||
SearchVar(wire_colors)
|
||||
SearchVar(wire_color_directory)
|
||||
SearchVar(wire_name_directory)
|
||||
SearchVar(possiblethemes)
|
||||
SearchVar(max_secret_rooms)
|
||||
SearchVar(blood_splatter_icons)
|
||||
SearchVar(all_radios)
|
||||
SearchVar(radiochannels)
|
||||
SearchVar(radiochannelsreverse)
|
||||
SearchVar(SYND_FREQ)
|
||||
SearchVar(SUPP_FREQ)
|
||||
SearchVar(SERV_FREQ)
|
||||
SearchVar(SCI_FREQ)
|
||||
SearchVar(COMM_FREQ)
|
||||
SearchVar(MED_FREQ)
|
||||
SearchVar(ENG_FREQ)
|
||||
SearchVar(SEC_FREQ)
|
||||
SearchVar(CENTCOM_FREQ)
|
||||
SearchVar(AIPRIV_FREQ)
|
||||
SearchVar(RADIO_TO_AIRALARM)
|
||||
SearchVar(RADIO_FROM_AIRALARM)
|
||||
SearchVar(RADIO_CHAT)
|
||||
SearchVar(RADIO_ATMOSIA)
|
||||
SearchVar(RADIO_NAVBEACONS)
|
||||
SearchVar(RADIO_AIRLOCK)
|
||||
SearchVar(RADIO_MAGNETS)
|
||||
SearchVar(pointers)
|
||||
SearchVar(freqtospan)
|
||||
SearchVar(teleportlocs)
|
||||
SearchVar(the_station_areas)
|
||||
SearchVar(possible_items)
|
||||
SearchVar(possible_items_special)
|
||||
SearchVar(blobs)
|
||||
SearchVar(blob_cores)
|
||||
SearchVar(overminds)
|
||||
SearchVar(blob_nodes)
|
||||
SearchVar(blobs_legit)
|
||||
SearchVar(possible_changeling_IDs)
|
||||
SearchVar(slots)
|
||||
SearchVar(slot2slot)
|
||||
SearchVar(slot2type)
|
||||
SearchVar(hivemind_bank)
|
||||
SearchVar(blacklisted_pylon_turfs)
|
||||
SearchVar(non_revealed_runes)
|
||||
SearchVar(teleport_runes)
|
||||
SearchVar(wall_runes)
|
||||
SearchVar(whiteness)
|
||||
SearchVar(allDevils)
|
||||
SearchVar(lawlorify)
|
||||
SearchVar(gang_name_pool)
|
||||
SearchVar(gang_colors_pool)
|
||||
SearchVar(borers)
|
||||
SearchVar(total_borer_hosts_needed)
|
||||
SearchVar(bomb_set)
|
||||
SearchVar(hsboxspawn)
|
||||
SearchVar(multiverse)
|
||||
SearchVar(announcement_systems)
|
||||
SearchVar(doppler_arrays)
|
||||
SearchVar(HOLOPAD_MODE)
|
||||
SearchVar(holopads)
|
||||
SearchVar(news_network)
|
||||
SearchVar(allCasters)
|
||||
SearchVar(SAFETY_COOLDOWN)
|
||||
SearchVar(req_console_assistance)
|
||||
SearchVar(req_console_supplies)
|
||||
SearchVar(req_console_information)
|
||||
SearchVar(allConsoles)
|
||||
SearchVar(time_last_changed_position)
|
||||
SearchVar(CALL_SHUTTLE_REASON_LENGTH)
|
||||
SearchVar(crewmonitor)
|
||||
SearchVar(possible_uplinker_IDs)
|
||||
SearchVar(airlock_overlays)
|
||||
SearchVar(pipeID2State)
|
||||
SearchVar(telecomms_list)
|
||||
SearchVar(recentmessages)
|
||||
SearchVar(message_delay)
|
||||
SearchVar(year)
|
||||
SearchVar(year_integer)
|
||||
SearchVar(explosionid)
|
||||
SearchVar(fire_overlay)
|
||||
SearchVar(acid_overlay)
|
||||
SearchVar(BUMP_TELEPORTERS)
|
||||
SearchVar(contrabandposters)
|
||||
SearchVar(legitposters)
|
||||
SearchVar(blacklisted_glowshroom_turfs)
|
||||
SearchVar(PDAs)
|
||||
SearchVar(rod_recipes)
|
||||
SearchVar(glass_recipes)
|
||||
SearchVar(reinforced_glass_recipes)
|
||||
SearchVar(human_recipes)
|
||||
SearchVar(corgi_recipes)
|
||||
SearchVar(monkey_recipes)
|
||||
SearchVar(xeno_recipes)
|
||||
SearchVar(sinew_recipes)
|
||||
SearchVar(sandstone_recipes)
|
||||
SearchVar(sandbag_recipes)
|
||||
SearchVar(diamond_recipes)
|
||||
SearchVar(uranium_recipes)
|
||||
SearchVar(plasma_recipes)
|
||||
SearchVar(gold_recipes)
|
||||
SearchVar(silver_recipes)
|
||||
SearchVar(clown_recipes)
|
||||
SearchVar(titanium_recipes)
|
||||
SearchVar(plastitanium_recipes)
|
||||
SearchVar(snow_recipes)
|
||||
SearchVar(abductor_recipes)
|
||||
SearchVar(metal_recipes)
|
||||
SearchVar(plasteel_recipes)
|
||||
SearchVar(wood_recipes)
|
||||
SearchVar(cloth_recipes)
|
||||
SearchVar(cardboard_recipes)
|
||||
SearchVar(runed_metal_recipes)
|
||||
SearchVar(brass_recipes)
|
||||
SearchVar(disposalpipeID2State)
|
||||
SearchVar(RPD_recipes)
|
||||
SearchVar(highlander_claymores)
|
||||
SearchVar(biblenames)
|
||||
SearchVar(biblestates)
|
||||
SearchVar(bibleitemstates)
|
||||
SearchVar(globalBlankCanvases)
|
||||
SearchVar(crematoriums)
|
||||
SearchVar(icons_to_ignore_at_floor_init)
|
||||
SearchVar(js_byjax)
|
||||
SearchVar(js_dropdowns)
|
||||
SearchVar(BSACooldown)
|
||||
SearchVar(admin_ranks)
|
||||
SearchVar(admin_verbs_default)
|
||||
SearchVar(admin_verbs_admin)
|
||||
SearchVar(admin_verbs_ban)
|
||||
SearchVar(admin_verbs_sounds)
|
||||
SearchVar(admin_verbs_fun)
|
||||
SearchVar(admin_verbs_spawn)
|
||||
SearchVar(admin_verbs_server)
|
||||
SearchVar(admin_verbs_debug)
|
||||
SearchVar(admin_verbs_possess)
|
||||
SearchVar(admin_verbs_permissions)
|
||||
SearchVar(admin_verbs_rejuv)
|
||||
SearchVar(admin_verbs_hideable)
|
||||
SearchVar(create_object_html)
|
||||
SearchVar(create_object_forms)
|
||||
SearchVar(admin_datums)
|
||||
SearchVar(CMinutes)
|
||||
SearchVar(Banlist)
|
||||
SearchVar(whitelist)
|
||||
SearchVar(TYPES_SHORTCUTS)
|
||||
SearchVar(intercom_range_display_status)
|
||||
SearchVar(admin_verbs_debug_mapping)
|
||||
SearchVar(say_disabled)
|
||||
SearchVar(VVlocked)
|
||||
SearchVar(VVicon_edit_lock)
|
||||
SearchVar(VVckey_edit)
|
||||
SearchVar(VVpixelmovement)
|
||||
SearchVar(highlander)
|
||||
SearchVar(admin_sound)
|
||||
SearchVar(custom_outfits)
|
||||
SearchVar(meta_gas_info)
|
||||
SearchVar(gaslist_cache)
|
||||
SearchVar(hardcoded_gases)
|
||||
SearchVar(pipenetwarnings)
|
||||
SearchVar(the_gateway)
|
||||
SearchVar(potentialRandomZlevels)
|
||||
SearchVar(maploader)
|
||||
SearchVar(use_preloader)
|
||||
SearchVar(_preloader)
|
||||
SearchVar(swapmaps_iconcache)
|
||||
SearchVar(SWAPMAPS_SAV)
|
||||
SearchVar(SWAPMAPS_TEXT)
|
||||
SearchVar(swapmaps_mode)
|
||||
SearchVar(swapmaps_compiled_maxx)
|
||||
SearchVar(swapmaps_compiled_maxy)
|
||||
SearchVar(swapmaps_compiled_maxz)
|
||||
SearchVar(swapmaps_initialized)
|
||||
SearchVar(swapmaps_loaded)
|
||||
SearchVar(swapmaps_byname)
|
||||
SearchVar(sc_safecode1)
|
||||
SearchVar(sc_safecode2)
|
||||
SearchVar(sc_safecode3)
|
||||
SearchVar(sc_safecode4)
|
||||
SearchVar(sc_safecode5)
|
||||
SearchVar(exports_list)
|
||||
SearchVar(clientmessages)
|
||||
SearchVar(preferences_datums)
|
||||
SearchVar(ghost_forms)
|
||||
SearchVar(ghost_orbits)
|
||||
SearchVar(normal_ooc_colour)
|
||||
SearchVar(damaged_clothes_icons)
|
||||
SearchVar(emojis)
|
||||
SearchVar(non_fakeattack_weapons)
|
||||
SearchVar(cards_against_space)
|
||||
SearchVar(chem_t1_reagents)
|
||||
SearchVar(chem_t2_reagents)
|
||||
SearchVar(chem_t3_reagents)
|
||||
SearchVar(chem_t4_reagents)
|
||||
SearchVar(ENGSEC)
|
||||
SearchVar(CAPTAIN)
|
||||
SearchVar(HOS)
|
||||
SearchVar(WARDEN)
|
||||
SearchVar(DETECTIVE)
|
||||
SearchVar(OFFICER)
|
||||
SearchVar(CHIEF)
|
||||
SearchVar(ENGINEER)
|
||||
SearchVar(ATMOSTECH)
|
||||
SearchVar(ROBOTICIST)
|
||||
SearchVar(AI)
|
||||
SearchVar(CYBORG)
|
||||
SearchVar(MEDSCI)
|
||||
SearchVar(RD)
|
||||
SearchVar(SCIENTIST)
|
||||
SearchVar(CHEMIST)
|
||||
SearchVar(CMO)
|
||||
SearchVar(DOCTOR)
|
||||
SearchVar(GENETICIST)
|
||||
SearchVar(VIROLOGIST)
|
||||
SearchVar(CIVILIAN)
|
||||
SearchVar(HOP)
|
||||
SearchVar(BARTENDER)
|
||||
SearchVar(BOTANIST)
|
||||
SearchVar(COOK)
|
||||
SearchVar(JANITOR)
|
||||
SearchVar(LIBRARIAN)
|
||||
SearchVar(QUARTERMASTER)
|
||||
SearchVar(CARGOTECH)
|
||||
SearchVar(MINER)
|
||||
SearchVar(LAWYER)
|
||||
SearchVar(CHAPLAIN)
|
||||
SearchVar(CLOWN)
|
||||
SearchVar(MIME)
|
||||
SearchVar(ASSISTANT)
|
||||
SearchVar(assistant_occupations)
|
||||
SearchVar(command_positions)
|
||||
SearchVar(engineering_positions)
|
||||
SearchVar(medical_positions)
|
||||
SearchVar(science_positions)
|
||||
SearchVar(supply_positions)
|
||||
SearchVar(civilian_positions)
|
||||
SearchVar(security_positions)
|
||||
SearchVar(nonhuman_positions)
|
||||
SearchVar(cap_expand)
|
||||
SearchVar(cmo_expand)
|
||||
SearchVar(hos_expand)
|
||||
SearchVar(hop_expand)
|
||||
SearchVar(rd_expand)
|
||||
SearchVar(ce_expand)
|
||||
SearchVar(qm_expand)
|
||||
SearchVar(sec_expand)
|
||||
SearchVar(engi_expand)
|
||||
SearchVar(atmos_expand)
|
||||
SearchVar(doc_expand)
|
||||
SearchVar(mine_expand)
|
||||
SearchVar(chef_expand)
|
||||
SearchVar(borg_expand)
|
||||
SearchVar(available_depts)
|
||||
SearchVar(cachedbooks)
|
||||
SearchVar(total_extraction_beacons)
|
||||
SearchVar(next_mob_id)
|
||||
SearchVar(firstname)
|
||||
SearchVar(ghost_darkness_images)
|
||||
SearchVar(ghost_images_full)
|
||||
SearchVar(ghost_images_default)
|
||||
SearchVar(ghost_images_simple)
|
||||
SearchVar(department_radio_keys)
|
||||
SearchVar(crit_allowed_modes)
|
||||
SearchVar(ventcrawl_machinery)
|
||||
SearchVar(posibrain_notif_cooldown)
|
||||
SearchVar(NO_SLIP_WHEN_WALKING)
|
||||
SearchVar(SLIDE)
|
||||
SearchVar(GALOSHES_DONT_HELP)
|
||||
SearchVar(SLIDE_ICE)
|
||||
SearchVar(limb_icon_cache)
|
||||
SearchVar(ALIEN_AFK_BRACKET)
|
||||
SearchVar(MIN_IMPREGNATION_TIME)
|
||||
SearchVar(MAX_IMPREGNATION_TIME)
|
||||
SearchVar(MIN_ACTIVE_TIME)
|
||||
SearchVar(MAX_ACTIVE_TIME)
|
||||
SearchVar(default_martial_art)
|
||||
SearchVar(plasmaman_on_fire)
|
||||
SearchVar(ai_list)
|
||||
SearchVar(announcing_vox)
|
||||
SearchVar(VOX_CHANNEL)
|
||||
SearchVar(VOX_DELAY)
|
||||
SearchVar(vox_sounds)
|
||||
SearchVar(CHUNK_SIZE)
|
||||
SearchVar(cameranet)
|
||||
SearchVar(mulebot_count)
|
||||
SearchVar(MAX_CHICKENS)
|
||||
SearchVar(chicken_count)
|
||||
SearchVar(parasites)
|
||||
SearchVar(protected_objects)
|
||||
SearchVar(AISwarmers)
|
||||
SearchVar(AISwarmersByType)
|
||||
SearchVar(AISwarmerCapsByType)
|
||||
SearchVar(slime_colours)
|
||||
SearchVar(global_modular_computers)
|
||||
SearchVar(file_uid)
|
||||
SearchVar(nttransfer_uid)
|
||||
SearchVar(ntnet_card_uid)
|
||||
SearchVar(ntnet_global)
|
||||
SearchVar(ntnrc_uid)
|
||||
SearchVar(employmentCabinets)
|
||||
SearchVar(cable_coil_recipes)
|
||||
SearchVar(gravity_generators)
|
||||
SearchVar(POWER_IDLE)
|
||||
SearchVar(POWER_UP)
|
||||
SearchVar(POWER_DOWN)
|
||||
SearchVar(GRAV_NEEDS_SCREWDRIVER)
|
||||
SearchVar(GRAV_NEEDS_WELDING)
|
||||
SearchVar(GRAV_NEEDS_PLASTEEL)
|
||||
SearchVar(GRAV_NEEDS_WRENCH)
|
||||
SearchVar(rad_collectors)
|
||||
SearchVar(blacklisted_tesla_types)
|
||||
SearchVar(TOUCH)
|
||||
SearchVar(INGEST)
|
||||
SearchVar(VAPOR)
|
||||
SearchVar(PATCH)
|
||||
SearchVar(INJECT)
|
||||
SearchVar(chemical_mob_spawn_meancritters)
|
||||
SearchVar(chemical_mob_spawn_nicecritters)
|
||||
SearchVar(message_servers)
|
||||
SearchVar(blackbox)
|
||||
SearchVar(keycard_events)
|
||||
SearchVar(blacklisted_cargo_types)
|
||||
SearchVar(z_levels_list)
|
||||
SearchVar(spells)
|
||||
SearchVar(non_simple_animals)
|
||||
SearchVar(FrozenAccounts)
|
||||
SearchVar(stockExchange)
|
||||
SearchVar(stun_words)
|
||||
SearchVar(weaken_words)
|
||||
SearchVar(sleep_words)
|
||||
SearchVar(vomit_words)
|
||||
SearchVar(silence_words)
|
||||
SearchVar(hallucinate_words)
|
||||
SearchVar(wakeup_words)
|
||||
SearchVar(heal_words)
|
||||
SearchVar(hurt_words)
|
||||
SearchVar(bleed_words)
|
||||
SearchVar(burn_words)
|
||||
SearchVar(hot_words)
|
||||
SearchVar(cold_words)
|
||||
SearchVar(repulse_words)
|
||||
SearchVar(attract_words)
|
||||
SearchVar(whoareyou_words)
|
||||
SearchVar(saymyname_words)
|
||||
SearchVar(knockknock_words)
|
||||
SearchVar(statelaws_words)
|
||||
SearchVar(move_words)
|
||||
SearchVar(left_words)
|
||||
SearchVar(right_words)
|
||||
SearchVar(up_words)
|
||||
SearchVar(down_words)
|
||||
SearchVar(walk_words)
|
||||
SearchVar(run_words)
|
||||
SearchVar(helpintent_words)
|
||||
SearchVar(disarmintent_words)
|
||||
SearchVar(grabintent_words)
|
||||
SearchVar(harmintent_words)
|
||||
SearchVar(throwmode_words)
|
||||
SearchVar(flip_words)
|
||||
SearchVar(speak_words)
|
||||
SearchVar(rest_words)
|
||||
SearchVar(getup_words)
|
||||
SearchVar(sit_words)
|
||||
SearchVar(stand_words)
|
||||
SearchVar(dance_words)
|
||||
SearchVar(jump_words)
|
||||
SearchVar(salute_words)
|
||||
SearchVar(deathgasp_words)
|
||||
SearchVar(clap_words)
|
||||
SearchVar(honk_words)
|
||||
SearchVar(multispin_words)
|
||||
SearchVar(GPS_list)
|
||||
SearchVar(uplinks)
|
||||
SearchVar(uplink_items)
|
||||
#endif
|
||||
|
||||
@@ -57,7 +57,7 @@ var/datum/subsystem/mapping/SSmapping
|
||||
|
||||
/datum/subsystem/mapping/proc/check_nuke_threats()
|
||||
for(var/datum/d in nuke_threats)
|
||||
if(!istype(d) || qdeleted(d))
|
||||
if(!istype(d) || QDELETED(d))
|
||||
nuke_threats -= d
|
||||
|
||||
var/threats = nuke_threats.len
|
||||
|
||||
@@ -28,7 +28,6 @@ var/datum/subsystem/minimap/SSminimap
|
||||
world << "<span class='boldannounce'>Minimap generation disabled. Loading from cache...</span>"
|
||||
var/fileloc = 0
|
||||
if(check_files(0)) //Let's first check if we have maps cached in the data folder. NOTE: This will override the backup files even if this map is older.
|
||||
world.log << "cache"
|
||||
if(hash != trim(file2text(hash_path())))
|
||||
world << "<span class='boldannounce'>Loaded cached minimap is outdated. There may be minor discrepancies in layout.</span>" //Disclaimer against players saying map is wrong.
|
||||
fileloc = 0
|
||||
|
||||
@@ -105,7 +105,7 @@ var/datum/subsystem/persistence/SSpersistence
|
||||
/datum/subsystem/persistence/proc/CollectSecretSatchels()
|
||||
for(var/A in new_secret_satchels)
|
||||
var/obj/item/weapon/storage/backpack/satchel/flat/F = A
|
||||
if(qdeleted(F) || F.z != ZLEVEL_STATION || F.invisibility != INVISIBILITY_MAXIMUM)
|
||||
if(QDELETED(F) || F.z != ZLEVEL_STATION || F.invisibility != INVISIBILITY_MAXIMUM)
|
||||
continue
|
||||
var/list/savable_obj = list()
|
||||
for(var/obj/O in F)
|
||||
|
||||
@@ -4,12 +4,6 @@ var/datum/subsystem/objects/SSobj
|
||||
#define INITIALIZATION_INNEW_MAPLOAD 1 //New should call Initialize(TRUE)
|
||||
#define INITIALIZATION_INNEW_REGULAR 2 //New should call Initialize(FALSE)
|
||||
|
||||
/datum/var/isprocessing = 0
|
||||
/datum/proc/process()
|
||||
set waitfor = 0
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
return 0
|
||||
|
||||
/datum/subsystem/objects
|
||||
name = "Objects"
|
||||
init_order = 12
|
||||
|
||||
@@ -32,3 +32,9 @@ var/datum/subsystem/processing/SSprocessing
|
||||
processing -= thing
|
||||
if (MC_TICK_CHECK)
|
||||
return
|
||||
|
||||
/datum/var/isprocessing = 0
|
||||
/datum/proc/process()
|
||||
set waitfor = 0
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
return 0
|
||||
@@ -284,7 +284,7 @@ var/datum/subsystem/shuttle/SSshuttle
|
||||
|
||||
/datum/subsystem/shuttle/proc/checkHostileEnvironment()
|
||||
for(var/datum/d in hostileEnvironments)
|
||||
if(!istype(d) || qdeleted(d))
|
||||
if(!istype(d) || QDELETED(d))
|
||||
hostileEnvironments -= d
|
||||
emergencyNoEscape = hostileEnvironments.len
|
||||
|
||||
|
||||
@@ -51,10 +51,10 @@ var/datum/subsystem/ticker/ticker
|
||||
|
||||
var/maprotatechecked = 0
|
||||
|
||||
var/modevoted = 0 //Have we sent a vote for the gamemode?
|
||||
|
||||
var/news_report
|
||||
|
||||
var/modevoted = 0 //Have we sent a vote for the gamemode?
|
||||
|
||||
/datum/subsystem/ticker/New()
|
||||
NEW_SS_GLOBAL(ticker)
|
||||
|
||||
@@ -122,13 +122,6 @@ var/datum/subsystem/ticker/ticker
|
||||
current_state = GAME_STATE_FINISHED
|
||||
toggle_ooc(1) // Turn it on
|
||||
declare_completion(force_ending)
|
||||
addtimer(CALLBACK(src, .proc/NukeCleanup), 50)
|
||||
|
||||
/datum/subsystem/ticker/proc/NukeCleanup()
|
||||
if(mode.station_was_nuked)
|
||||
world.Reboot("Station destroyed by Nuclear Device.", "end_proper", "nuke")
|
||||
else
|
||||
world.Reboot("Round ended.", "end_proper", "proper completion")
|
||||
|
||||
/datum/subsystem/ticker/proc/setup()
|
||||
//Create and announce mode
|
||||
@@ -391,6 +384,7 @@ var/datum/subsystem/ticker/ticker
|
||||
|
||||
|
||||
/datum/subsystem/ticker/proc/declare_completion()
|
||||
set waitfor = FALSE
|
||||
var/station_evacuated = EMERGENCY_ESCAPED_OR_ENDGAMED
|
||||
var/num_survivors = 0
|
||||
var/num_escapees = 0
|
||||
@@ -419,6 +413,8 @@ var/datum/subsystem/ticker/ticker
|
||||
else
|
||||
Player << "<font color='red'><b>You did not survive the events on [station_name()]...</b></FONT>"
|
||||
|
||||
CHECK_TICK
|
||||
|
||||
//Round statistics report
|
||||
var/datum/station_state/end_state = new /datum/station_state()
|
||||
end_state.count()
|
||||
@@ -440,6 +436,8 @@ var/datum/subsystem/ticker/ticker
|
||||
world << "<BR>[TAB]Survival Rate: <B>[num_survivors] ([PERCENT(num_survivors/total_players)]%)</B>"
|
||||
world << "<BR>"
|
||||
|
||||
CHECK_TICK
|
||||
|
||||
//Silicon laws report
|
||||
for (var/mob/living/silicon/ai/aiPlayer in mob_list)
|
||||
if (aiPlayer.stat != 2 && aiPlayer.mind)
|
||||
@@ -457,6 +455,9 @@ var/datum/subsystem/ticker/ticker
|
||||
if(robo.mind)
|
||||
robolist += "[robo.name][robo.stat?" (Deactivated) (Played by: [robo.mind.key]), ":" (Played by: [robo.mind.key]), "]"
|
||||
world << "[robolist]"
|
||||
|
||||
CHECK_TICK
|
||||
|
||||
for (var/mob/living/silicon/robot/robo in mob_list)
|
||||
if (!robo.connected_ai && robo.mind)
|
||||
if (robo.stat != 2)
|
||||
@@ -467,16 +468,24 @@ var/datum/subsystem/ticker/ticker
|
||||
if(robo) //How the hell do we lose robo between here and the world messages directly above this?
|
||||
robo.laws.show_laws(world)
|
||||
|
||||
CHECK_TICK
|
||||
|
||||
mode.declare_completion()//To declare normal completion.
|
||||
|
||||
CHECK_TICK
|
||||
|
||||
//calls auto_declare_completion_* for all modes
|
||||
for(var/handler in typesof(/datum/game_mode/proc))
|
||||
if (findtext("[handler]","auto_declare_completion_"))
|
||||
call(mode, handler)(force_ending)
|
||||
|
||||
CHECK_TICK
|
||||
|
||||
if(cross_allowed)
|
||||
send_news_report()
|
||||
|
||||
CHECK_TICK
|
||||
|
||||
//Print a list of antagonists to the server log
|
||||
var/list/total_antagonists = list()
|
||||
//Look into all mobs in world, dead or alive
|
||||
@@ -489,11 +498,15 @@ var/datum/subsystem/ticker/ticker
|
||||
total_antagonists.Add(temprole) //If the role doesnt exist in the list, create it and add the mob
|
||||
total_antagonists[temprole] += ": [Mind.name]([Mind.key])"
|
||||
|
||||
CHECK_TICK
|
||||
|
||||
//Now print them all into the log!
|
||||
log_game("Antagonists at round end were...")
|
||||
for(var/i in total_antagonists)
|
||||
log_game("[i]s[total_antagonists[i]].")
|
||||
|
||||
CHECK_TICK
|
||||
|
||||
//Borers
|
||||
var/borerwin = FALSE
|
||||
if(borers.len)
|
||||
@@ -529,8 +542,12 @@ var/datum/subsystem/ticker/ticker
|
||||
else
|
||||
world << "<b><font color='red'>The borers have failed!</font></b>"
|
||||
|
||||
CHECK_TICK
|
||||
|
||||
mode.declare_station_goal_completion()
|
||||
|
||||
CHECK_TICK
|
||||
|
||||
//Adds the del() log to world.log in a format condensable by the runtime condenser found in tools
|
||||
if(SSgarbage.didntgc.len)
|
||||
var/dellog = ""
|
||||
@@ -539,9 +556,16 @@ var/datum/subsystem/ticker/ticker
|
||||
dellog += "Failures : [SSgarbage.didntgc[path]] \n"
|
||||
world.log << dellog
|
||||
|
||||
CHECK_TICK
|
||||
|
||||
//Collects persistence features
|
||||
SSpersistence.CollectData()
|
||||
return 1
|
||||
|
||||
sleep(50)
|
||||
if(mode.station_was_nuked)
|
||||
world.Reboot("Station destroyed by Nuclear Device.", "end_proper", "nuke")
|
||||
else
|
||||
world.Reboot("Round ended.", "end_proper", "proper completion")
|
||||
|
||||
/datum/subsystem/ticker/proc/send_tip_of_the_round()
|
||||
var/m
|
||||
@@ -639,6 +663,7 @@ var/datum/subsystem/ticker/ticker
|
||||
|
||||
modevoted = ticker.modevoted
|
||||
|
||||
|
||||
/datum/subsystem/ticker/proc/send_news_report()
|
||||
var/news_message
|
||||
var/news_source = "Nanotrasen News Network"
|
||||
|
||||
@@ -84,7 +84,7 @@ var/datum/subsystem/timer/SStimer
|
||||
if (!callBack)
|
||||
qdel(timer)
|
||||
bucket_resolution = null //force bucket recreation
|
||||
CRASH("Invalid timer: timer.timeToRun=[timer.timeToRun]||qdeleted(timer)=[qdeleted(timer)]||world.time=[world.time]||head_offset=[head_offset]||practical_offset=[practical_offset]||timer.spent=[timer.spent]")
|
||||
CRASH("Invalid timer: timer.timeToRun=[timer.timeToRun]||QDELETED(timer)=[QDELETED(timer)]||world.time=[world.time]||head_offset=[head_offset]||practical_offset=[practical_offset]||timer.spent=[timer.spent]")
|
||||
|
||||
if (!timer.spent)
|
||||
spent += timer
|
||||
@@ -294,9 +294,7 @@ proc/addtimer(datum/callback/callback, wait, flags)
|
||||
if (!callback)
|
||||
return
|
||||
|
||||
if (wait <= 0)
|
||||
callback.InvokeAsync()
|
||||
return
|
||||
wait = max(wait, 0)
|
||||
|
||||
var/hash
|
||||
|
||||
@@ -307,12 +305,17 @@ proc/addtimer(datum/callback/callback, wait, flags)
|
||||
|
||||
var/datum/timedevent/hash_timer = SStimer.hashes[hash]
|
||||
if(hash_timer)
|
||||
if (flags & TIMER_OVERRIDE)
|
||||
qdel(hash_timer)
|
||||
if (hash_timer.spent) //it's pending deletion, pretend it doesn't exist.
|
||||
hash_timer.hash = null
|
||||
SStimer.hashes -= hash
|
||||
else
|
||||
if (hash_timer.flags & TIMER_STOPPABLE)
|
||||
. = hash_timer.id
|
||||
return
|
||||
|
||||
if (flags & TIMER_OVERRIDE)
|
||||
qdel(hash_timer)
|
||||
else
|
||||
if (hash_timer.flags & TIMER_STOPPABLE)
|
||||
. = hash_timer.id
|
||||
return
|
||||
|
||||
|
||||
var/timeToRun = world.time + wait
|
||||
|
||||
@@ -301,7 +301,7 @@ var/datum/subsystem/vote/SSvote
|
||||
/datum/subsystem/vote/proc/remove_action_buttons()
|
||||
for(var/v in generated_actions)
|
||||
var/datum/action/vote/V = v
|
||||
if(!qdeleted(V))
|
||||
if(!QDELETED(V))
|
||||
V.Remove(V.owner)
|
||||
generated_actions = list()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user