Merge pull request #1471 from Fox-McCloud/destroy-them-all

Destroy Pass II
This commit is contained in:
ZomgPonies
2015-07-08 02:25:03 -04:00
60 changed files with 211 additions and 104 deletions
+2 -2
View File
@@ -10,8 +10,8 @@
flags = CONDUCT
/obj/item/assembly/shock_kit/Destroy()
del(part1)
del(part2)
qdel(part1)
qdel(part2)
return ..()
/obj/item/assembly/shock_kit/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
+1 -1
View File
@@ -89,7 +89,7 @@ var/list/image/ghost_darkness_images = list() //this is a list of images for thi
/mob/dead/observer/Destroy()
if (ghostimage)
ghost_darkness_images -= ghostimage
del(ghostimage)
qdel(ghostimage)
ghostimage = null
updateallghostimages()
return ..()
@@ -165,3 +165,12 @@
if(3)
brainmob.emp_damage += rand(0,10)
..()
/obj/item/device/mmi/Destroy()
if(isrobot(loc))
var/mob/living/silicon/robot/borg = loc
borg.mmi = null
if(brainmob)
qdel(brainmob)
brainmob = null
return ..()
@@ -88,4 +88,10 @@
name = "chem"
desc = "A tightly furled roll of paper, covered with indecipherable runes."
icon = 'icons/obj/wizard.dmi'
icon_state = "scroll"
icon_state = "scroll"
/obj/item/organ/brain/Destroy() //copypasted from MMIs.
if(brainmob)
qdel(brainmob)
brainmob = null
return ..()
+7
View File
@@ -6,6 +6,13 @@ mob/living
update_hud()
return
/mob/living/carbon/Destroy()
for(var/atom/movable/guts in internal_organs)
qdel(guts)
for(var/atom/movable/food in stomach_contents)
qdel(food)
return ..()
/mob/living/carbon/Life()
..()
@@ -50,6 +50,12 @@
dna.ready_dna(src)
UpdateAppearance()
/mob/living/carbon/human/Destroy()
for(var/atom/movable/organelle in organs)
qdel(organelle)
organs = list()
return ..()
/mob/living/carbon/human/dummy
real_name = "Test Dummy"
status_flags = GODMODE|CANPUSH
+4
View File
@@ -1,4 +1,8 @@
/mob/living/Destroy()
..()
return QDEL_HINT_HARDDEL_NOW
/mob/living/Life()
..()
if (notransform) return
@@ -26,7 +26,7 @@
/mob/aiEye/Destroy()
if (ghostimage)
ghost_darkness_images -= ghostimage
del(ghostimage)
qdel(ghostimage)
ghostimage = null;
updateallghostimages()
return ..()
@@ -24,7 +24,7 @@
/datum/robot_component/proc/destroy()
if(wrapped)
del wrapped
qdel(wrapped)
wrapped = new/obj/item/broken_device
+10 -2
View File
@@ -174,11 +174,19 @@ var/list/robot_verbs_default = list(
//If there's an MMI in the robot, have it ejected when the mob goes away. --NEO
//Improved /N
/mob/living/silicon/robot/Destroy()
if(mmi)//Safety for when a cyborg gets dust()ed. Or there is no MMI inside.
if(mmi && mind)//Safety for when a cyborg gets dust()ed. Or there is no MMI inside.
var/turf/T = get_turf(loc)//To hopefully prevent run time errors.
if(T) mmi.loc = T
if(mind) mind.transfer_to(mmi.brainmob)
if(mmi.brainmob)
mind.transfer_to(mmi.brainmob)
mmi.update_icon()
else
src << "<span class='boldannounce'>Oops! Something went very wrong, your MMI was unable to receive your mind. You have been ghosted. Please make a bug report so we can fix this bug.</span>"
ghostize()
error("A borg has been destroyed, but its MMI lacked a brainmob, so the mind could not be transferred. Player: [ckey].")
mmi = null
if(connected_ai)
connected_ai.connected_robots -= src
return ..()
/mob/living/silicon/robot/proc/pick_module()
+3
View File
@@ -2,6 +2,9 @@
mob_list -= src
dead_mob_list -= src
living_mob_list -= src
qdel(hud_used)
if(mind && mind.current == src)
spellremove(src)
ghostize()
return ..()
+3
View File
@@ -1330,6 +1330,9 @@ obj/machinery/power/apc/proc/autoset(var/val, var/on)
area.power_change()
if(occupant)
malfvacate(1)
qdel(wires)
if(cell)
qdel(cell)
return ..()
/obj/machinery/power/apc/proc/shock(mob/user, prb)
@@ -72,7 +72,7 @@
/obj/machinery/power/supermatter_shard/Destroy()
investigate_log("has been destroyed.", "supermatter")
qdel(radio)
. = ..()
return ..()
/obj/machinery/power/supermatter_shard/proc/explode()
investigate_log("has exploded.", "supermatter")
@@ -19,7 +19,7 @@
Destroy()
processing_objects.Remove(src)
..()
return ..()
attack_self(mob/living/user as mob)
+1 -1
View File
@@ -678,7 +678,7 @@
for(var/atom/movable/AM in H)
AM.loc = T
AM.pipe_eject(0)
del(H)
qdel(H)
..()
return