Miscellaneous fixes (#2774)

changes:

Fixed various GC failures.
Converted integrated radios (used in PDA cartridges) to Initialize.
Added a missing Destroy to the QM PDA cartridge's integrated radio.
Fixed a runtime when mineturfs with no ore were destroyed by explosions.
Fixed a runtime when explosions attempted to Z-travel.
Minor radio performance improvements.
Converted radio globals to defines.
Changed the Security-I and Medical-I frequencies to use the same colors as their respective departments.
Fixes #2646.
This commit is contained in:
Lohikar
2017-06-21 00:09:55 +03:00
committed by skull132
parent 5294510b35
commit 8445d042dc
10 changed files with 276 additions and 243 deletions
+2 -2
View File
@@ -82,9 +82,9 @@ var/datum/controller/subsystem/explosives/SSexplosives
// Handles recursive propagation of explosions.
if(devastation_range > 2 || heavy_impact_range > 2)
if(HasAbove(epicenter.z) && z_transfer & UP)
explosion(GetAbove(epicenter), max(0, devastation_range - 2), max(0, heavy_impact_range - 2), max(0, light_impact_range - 2), max(0, flash_range - 2), 0, UP)
global.explosion(GetAbove(epicenter), max(0, devastation_range - 2), max(0, heavy_impact_range - 2), max(0, light_impact_range - 2), max(0, flash_range - 2), 0, UP)
if(HasBelow(epicenter.z) && z_transfer & DOWN)
explosion(GetAbove(epicenter), max(0, devastation_range - 2), max(0, heavy_impact_range - 2), max(0, light_impact_range - 2), max(0, flash_range - 2), 0, DOWN)
global.explosion(GetAbove(epicenter), max(0, devastation_range - 2), max(0, heavy_impact_range - 2), max(0, light_impact_range - 2), max(0, flash_range - 2), 0, DOWN)
var/max_range = max(devastation_range, heavy_impact_range, light_impact_range, flash_range)
@@ -366,9 +366,6 @@
SearchVar(panic_targets_data_loss)
SearchVar(Failsafe)
SearchVar(Master)
SearchVar(MC_restart_clear)
SearchVar(MC_restart_timeout)
SearchVar(MC_restart_count)
SearchVar(CURRENT_TICKLIMIT)
SearchVar(SSalarm)
SearchVar(SSchemistry)
@@ -658,8 +655,6 @@
SearchVar(uristrune_cache)
SearchVar(slot_flags_enumeration)
SearchVar(BUMP_TELEPORTERS)
SearchVar(splatter_cache)
SearchVar(fluidtrack_cache)
SearchVar(active_radio_jammers)
SearchVar(default_uplink_selection)
SearchVar(chatrooms)
@@ -680,9 +675,7 @@
SearchVar(stool_cache)
SearchVar(enterloopsanity)
SearchVar(flooring_types)
SearchVar(floor_decals)
SearchVar(random_junk)
SearchVar(flooring_cache)
SearchVar(js_byjax)
SearchVar(js_dropdowns)
SearchVar(BSACooldown)
@@ -705,7 +698,6 @@
SearchVar(admin_verbs_mod)
SearchVar(admin_verbs_dev)
SearchVar(admin_verbs_cciaa)
SearchVar(jobban_runonce)
SearchVar(jobban_keylist)
SearchVar(admin_datums)
SearchVar(CMinutes)
@@ -771,7 +763,6 @@
SearchVar(admin_verbs_lighting)
SearchVar(liquid_delay)
SearchVar(puddles)
SearchVar(maploader)
SearchVar(_preloader)
SearchVar(swapmaps_iconcache)
SearchVar(SWAPMAPS_SAV)
@@ -807,9 +798,6 @@
SearchVar(diona_banned_languages)
SearchVar(alcohol_clumsy)
SearchVar(sparring_attack_cache)
SearchVar(human_icon_cache)
SearchVar(tail_icon_cache)
SearchVar(light_overlay_cache)
SearchVar(damage_icon_parts)
SearchVar(MAXIMUM_MEME_POINTS)
SearchVar(host_brain)
@@ -822,7 +810,6 @@
SearchVar(pai_emotions)
SearchVar(robot_custom_icons)
SearchVar(robot_modules)
SearchVar(mob_hat_cache)
SearchVar(protected_objects)
SearchVar(SKILL_NONE)
SearchVar(SKILL_BASIC)
@@ -849,7 +836,6 @@
SearchVar(BLOOD_VOLUME_BAD)
SearchVar(BLOOD_VOLUME_SURVIVE)
SearchVar(organ_cache)
SearchVar(limb_icon_cache)
SearchVar(all_robolimbs)
SearchVar(chargen_robolimbs)
SearchVar(basic_robolimb)
+30 -28
View File
@@ -155,34 +155,36 @@ var/datum/controller/subsystem/radio/SSradio
return null
/proc/frequency_span_class(var/frequency)
. = "radio"
var/fstr = "[frequency]"
// Antags!
if (frequency in ANTAG_FREQS)
if (ANTAG_FREQS_ASSOC[fstr])
return "syndradio"
// centcomm channels (deathsquid and ert)
if(frequency in CENT_FREQS)
return "centradio"
// command channel
if(frequency == COMM_FREQ)
return "comradio"
// AI private channel
if(frequency == AI_FREQ)
return "airadio"
// department radio formatting (poorly optimized, ugh)
if(frequency == SEC_FREQ)
return "secradio"
if (frequency == ENG_FREQ)
return "engradio"
if(frequency == SCI_FREQ)
return "sciradio"
if(frequency == MED_FREQ)
return "medradio"
if(frequency == SUP_FREQ) // cargo
return "supradio"
if(frequency == SRV_FREQ) // service
return "srvradio"
if(frequency == ENT_FREQ) //entertainment
return "entradio"
if(frequency in DEPT_FREQS)
return "deptradio"
return "radio"
// centcomm channels (deathsquid and ert)
if(CENT_FREQS_ASSOC[fstr])
return "centradio"
// department radio formatting
switch (frequency)
if (COMM_FREQ) // command
. = "comradio"
if (AI_FREQ) // AI Private
. = "airadio"
if (SEC_FREQ,SEC_I_FREQ)
. = "secradio"
if (ENG_FREQ)
. = "engradio"
if (SCI_FREQ)
. = "sciradio"
if (MED_FREQ,MED_I_FREQ)
. = "medradio"
if (SUP_FREQ) // cargo
. = "supradio"
if (SRV_FREQ) // service
. = "srvradio"
if (ENT_FREQ) //entertainment
. = "entradio"
else
if(DEPT_FREQS_ASSOC[fstr])
. = "deptradio"