diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 5d8372607d8..c75ca58140e 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -104,13 +104,18 @@ /obj/item/weapon/disk/data name = "Cloning Data Disk" icon_state = "datadisk0" //Gosh I hope syndies don't mistake them for the nuke disk. - var/datum/dna2/record/buf=null + var/datum/dna2/record/buf = null var/read_only = 0 //Well,it's still a floppy disk /obj/item/weapon/disk/data/proc/Initialize() buf = new buf.dna=new +/obj/item/weapon/disk/data/Destroy() + if(buf) + QDEL_NULL(buf) + return ..() + /obj/item/weapon/disk/data/demo name = "data disk - 'God Emperor of Mankind'" read_only = 1 diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm index 434fec620b8..e0a6e59da14 100644 --- a/code/game/objects/effects/anomalies.dm +++ b/code/game/objects/effects/anomalies.dm @@ -19,8 +19,10 @@ var/new_frequency = sanitize_frequency(rand(PUBLIC_LOW_FREQ, PUBLIC_HIGH_FREQ)) aSignal.set_frequency(new_frequency) poi_list |= src - + /obj/effect/anomaly/Destroy() + if(aSignal) + QDEL_NULL(aSignal) poi_list.Remove(src) return ..() diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index 8ed8d045de4..0a9f49cd2d0 100644 --- a/code/game/objects/effects/spiders.dm +++ b/code/game/objects/effects/spiders.dm @@ -6,6 +6,11 @@ anchored = 1 density = 0 var/health = 15 + var/master_commander = null + +/obj/structure/spider/Destroy() + master_commander = null + return ..() //similar to weeds, but only barfed out by nurses manually /obj/structure/spider/ex_act(severity) @@ -78,7 +83,6 @@ var/amount_grown = 0 var/player_spiders = 0 var/faction = list() - var/master_commander = null /obj/structure/spider/eggcluster/New() pixel_x = rand(3,-3) @@ -110,7 +114,6 @@ var/travelling_in_vent = 0 var/player_spiders = 0 var/faction = list() - var/master_commander = null var/selecting_player = 0 /obj/structure/spider/spiderling/New() @@ -118,6 +121,10 @@ pixel_y = rand(6,-6) processing_objects.Add(src) +/obj/structure/spider/spiderling/Destroy() + entry_vent = null + return ..() + /obj/structure/spider/spiderling/Bump(atom/user) if(istype(user, /obj/structure/table)) src.loc = user.loc diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 429ef47970a..c4fedf48255 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -271,7 +271,7 @@ var/global/list/default_medbay_channels = list( /mob/living/automatedannouncer/Destroy() if(lifetime_timer) deltimer(lifetime_timer) - ..() + return ..() /mob/living/automatedannouncer/proc/autocleanup() log_runtime(EXCEPTION("An announcer somehow managed to outlive the radio! Deleting!"), src, list("Message: '[message]'")) diff --git a/code/game/objects/items/weapons/dna_injector.dm b/code/game/objects/items/weapons/dna_injector.dm index edf3c737787..86ed5f84974 100644 --- a/code/game/objects/items/weapons/dna_injector.dm +++ b/code/game/objects/items/weapons/dna_injector.dm @@ -5,7 +5,7 @@ icon_state = "dnainjector" item_state = "dnainjector" var/block = 0 - var/datum/dna2/record/buf=null + var/datum/dna2/record/buf = null throw_speed = 3 throw_range = 5 w_class = 1 @@ -26,6 +26,11 @@ buf.dna.ResetSE() SetValue(value) +/obj/item/weapon/dnainjector/Destroy() + if(buf) + QDEL_NULL(buf) + return ..() + /obj/item/weapon/dnainjector/proc/GetRealBlock(var/selblock) if(selblock==0) return block diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index d6148b429e0..3a079e99da4 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -1218,28 +1218,19 @@ var/monkey_type = "Monkey" list_reagents = list("nutriment" = 2) -/obj/item/weapon/reagent_containers/food/snacks/monkeycube/afterattack(obj/O, mob/user, proximity) - if(!proximity) - return - if(istype(O, /obj/structure/sink)) - to_chat(user, "You place [src] under a stream of water...") - user.drop_item() - forceMove(get_turf(O)) - return Expand() - ..() - /obj/item/weapon/reagent_containers/food/snacks/monkeycube/water_act(volume, temperature) if(volume >= 5) return Expand() /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wash(mob/user, atom/source) - if(do_after(user, 40, target = source)) - return 1 + user.drop_item() + forceMove(get_turf(source)) + return 1 /obj/item/weapon/reagent_containers/food/snacks/monkeycube/proc/Expand() if(isnull(gcDestroyed)) visible_message("[src] expands!") - new/mob/living/carbon/human(get_turf(src),monkey_type) + new/mob/living/carbon/human(get_turf(src), monkey_type) qdel(src) /obj/item/weapon/reagent_containers/food/snacks/monkeycube/farwacube diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index aec9d2d0c95..7c951cebbc9 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -96,6 +96,7 @@ if(collar) collar.forceMove(loc) collar = null + master_commander = null simple_animal_list -= src return ..() @@ -303,7 +304,7 @@ /mob/living/simple_animal/proc/attacked_by(obj/item/I, mob/living/user) // Handled in _onclick/click.dm return - + /mob/living/simple_animal/bullet_act(var/obj/item/projectile/Proj) if(!Proj) return @@ -662,15 +663,15 @@ . = ..() /mob/living/simple_animal/can_equip(obj/item/I, slot, disable_warning = 0) - // . = ..() // Do not call parent. We do not want animals using their hand slots. - switch(slot) - if(slot_collar) - if(collar) - return 0 - if(!can_collar) - return 0 - if(!istype(I, /obj/item/clothing/accessory/petcollar)) - return 0 + // . = ..() // Do not call parent. We do not want animals using their hand slots. + switch(slot) + if(slot_collar) + if(collar) + return 0 + if(!can_collar) + return 0 + if(!istype(I, /obj/item/clothing/accessory/petcollar)) + return 0 return 1 /mob/living/simple_animal/equip_to_slot(obj/item/W, slot) @@ -692,13 +693,13 @@ name = collar.tagname real_name = collar.tagname regenerate_icons() - -/mob/living/simple_animal/unEquip(obj/item/I, force) - . = ..() - if(!. || !I) - return - - if(I == collar) + +/mob/living/simple_animal/unEquip(obj/item/I, force) + . = ..() + if(!. || !I) + return + + if(I == collar) collar = null regenerate_icons() diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index dd3856afcc4..a3f038a507a 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -500,7 +500,8 @@ var/hasmob = 0 //If it contains a mob Destroy() - qdel(gas) + if(gas) + QDEL_NULL(gas) active = 0 return ..()