diff --git a/code/game/dna/dna2_helpers.dm b/code/game/dna/dna2_helpers.dm index 24ec0e7319..00e2f99541 100644 --- a/code/game/dna/dna2_helpers.dm +++ b/code/game/dna/dna2_helpers.dm @@ -269,7 +269,7 @@ H.custom_heat = dna.custom_heat H.custom_cold = dna.custom_cold var/datum/species/S = H.species - S.produceCopy(dna.species_traits, H, dna.base_species, FALSE) // Traitgenes edit - reset_dna flag required, or genes get reset on resleeve + S.produceCopy(dna.species_traits, H, dna.base_species/*, FALSE*/) // Traitgenes edit - reset_dna flag required, or genes get reset on resleeve // VOREStation Edit End H.species.blood_reagents = dna.blood_reagents diff --git a/code/game/objects/items/devices/gps.dm b/code/game/objects/items/devices/gps.dm index c82d91173d..5bcdb421fd 100644 --- a/code/game/objects/items/devices/gps.dm +++ b/code/game/objects/items/devices/gps.dm @@ -1,4 +1,4 @@ -var/list/GPS_list = list() +GLOBAL_LIST_EMPTY(GPS_list) /obj/item/gps name = "global positioning system" @@ -29,7 +29,7 @@ var/list/GPS_list = list() /obj/item/gps/Initialize() . = ..() compass = new(src) - GPS_list += src + GLOB.GPS_list += src name = "global positioning system ([gps_tag])" update_holder() update_icon() @@ -93,7 +93,7 @@ var/list/GPS_list = list() /obj/item/gps/Destroy() STOP_PROCESSING(SSobj, src) is_in_processing_list = FALSE - GPS_list -= src + GLOB.GPS_list -= src update_holder() QDEL_NULL(compass) . = ..() @@ -199,7 +199,7 @@ var/list/GPS_list = list() dat["z_level_detection"] = using_map.get_map_levels(curr.z, long_range) var/list/gps_list = list() - for(var/obj/item/gps/G in GPS_list - src) + for(var/obj/item/gps/G in GLOB.GPS_list - src) if(!can_track(G, dat["z_level_detection"])) continue diff --git a/code/modules/admin/modify_robot.dm b/code/modules/admin/modify_robot.dm index c80a1c96f1..9578287f05 100644 --- a/code/modules/admin/modify_robot.dm +++ b/code/modules/admin/modify_robot.dm @@ -349,8 +349,8 @@ target.radio.keyslot = new /obj/item/encryptionkey/syndicate(target) target.radio.syndie = 1 target.module.channels += list("[selected_radio_channel]" = 1) - target.radio.channels[selected_radio_channel] += target.module.channels[selected_radio_channel] - target.radio.secure_radio_connections[selected_radio_channel] += radio_controller.add_object(target.radio, radiochannels[selected_radio_channel], RADIO_CHAT) + target.radio.channels[selected_radio_channel] = target.module.channels[selected_radio_channel] + target.radio.secure_radio_connections[selected_radio_channel] = radio_controller.add_object(target.radio, radiochannels[selected_radio_channel], RADIO_CHAT) return TRUE if("rem_channel") var/selected_radio_channel = params["channel"] @@ -363,7 +363,7 @@ target.radio.syndie = 0 target.radio.channels = list() for(var/n_chan in target.module.channels) - target.radio.channels[n_chan] -= target.module.channels[n_chan] + target.radio.channels[n_chan] = target.module.channels[n_chan] radio_controller.remove_object(target.radio, radiochannels[selected_radio_channel]) target.radio.secure_radio_connections -= selected_radio_channel return TRUE diff --git a/code/modules/admin/verbs/modify_robot.dm b/code/modules/admin/verbs/modify_robot.dm index 2524f1b50b..20a846d6b2 100644 --- a/code/modules/admin/verbs/modify_robot.dm +++ b/code/modules/admin/verbs/modify_robot.dm @@ -240,8 +240,8 @@ target.radio.keyslot = new /obj/item/encryptionkey/syndicate(target) target.radio.syndie = 1 target.module.channels += list("[selected_radio_channel]" = 1) - target.radio.channels[selected_radio_channel] += target.module.channels[selected_radio_channel] - target.radio.secure_radio_connections[selected_radio_channel] += radio_controller.add_object(target.radio, radiochannels[selected_radio_channel], RADIO_CHAT) + target.radio.channels[selected_radio_channel] = target.module.channels[selected_radio_channel] + target.radio.secure_radio_connections[selected_radio_channel] = radio_controller.add_object(target.radio, radiochannels[selected_radio_channel], RADIO_CHAT) available_channels -= selected_radio_channel to_chat(usr, span_danger("You added \"[selected_radio_channel]\" channel to [target].")) if(MODIFIY_ROBOT_RADIOC_REMOVE) @@ -258,7 +258,7 @@ target.radio.syndie = 0 target.radio.channels = list() for(var/n_chan in target.module.channels) - target.radio.channels[n_chan] -= target.module.channels[n_chan] + target.radio.channels[n_chan] = target.module.channels[n_chan] radio_controller.remove_object(target.radio, radiochannels[selected_radio_channel]) target.radio.secure_radio_connections -= selected_radio_channel to_chat(usr, span_danger("You removed \"[selected_radio_channel]\" channel from [target].")) diff --git a/code/modules/mob/living/silicon/robot/robot_ui_module.dm b/code/modules/mob/living/silicon/robot/robot_ui_module.dm index 353b4da946..a5f84be39a 100644 --- a/code/modules/mob/living/silicon/robot/robot_ui_module.dm +++ b/code/modules/mob/living/silicon/robot/robot_ui_module.dm @@ -162,9 +162,12 @@ /mob/living/silicon/robot/proc/apply_module(var/datum/robot_sprite/new_datum, var/new_module) icon_selected = TRUE var/module_type = robot_modules[new_module] - modtype = new_module - module = new module_type(src) - feedback_inc("cyborg_[lowertext(new_module)]",1) + if(modtype != new_module || !module) + if(module) + qdel(module) + modtype = new_module + module = new module_type(src) + feedback_inc("cyborg_[lowertext(new_module)]",1) updatename() hud_used.update_robot_modules_display() notify_ai(ROBOT_NOTIFICATION_NEW_MODULE, module.name) diff --git a/code/modules/telesci/gps_advanced.dm b/code/modules/telesci/gps_advanced.dm index 26770531dd..8c812f0a9b 100644 --- a/code/modules/telesci/gps_advanced.dm +++ b/code/modules/telesci/gps_advanced.dm @@ -36,7 +36,7 @@ t += "
Set Tag " t += "
Tag: [gps_tag]" - for(var/obj/item/gps/advanced/G in GPS_list) + for(var/obj/item/gps/advanced/G in GLOB.GPS_list) var/turf/pos = get_turf(G) var/area/gps_area = get_area(G) var/tracked_gpstag = G.gps_tag