Adds Destroys.

This commit is contained in:
PsiOmega
2015-04-24 10:23:21 +02:00
parent 1ae0ad6d92
commit e7d85f8edc
91 changed files with 475 additions and 190 deletions

View File

@@ -17,7 +17,7 @@ var/list/obj/effect/bump_teleporter/BUMP_TELEPORTERS = list()
/obj/effect/bump_teleporter/Destroy()
BUMP_TELEPORTERS -= src
..()
return ..()
/obj/effect/bump_teleporter/Bumped(atom/user)
if(!ismob(user))

View File

@@ -24,7 +24,7 @@ var/global/list/image/splatter_cache=list()
/obj/effect/decal/cleanable/blood/Destroy()
for(var/datum/disease/D in viruses)
D.cure(0)
..()
return ..()
/obj/effect/decal/cleanable/blood/New()
..()

View File

@@ -23,8 +23,7 @@ would spawn and follow the beaker, even if it is carried or thrown.
/obj/effect/Destroy()
if(reagents)
reagents.delete()
PlaceInPool(src)
return 1
return ..()
/obj/effect/effect/water/Move(turf/newloc)
//var/turf/T = src.loc
@@ -140,8 +139,7 @@ steam.start() -- spawns the effect
var/turf/T = src.loc
if (istype(T, /turf))
T.hotspot_expose(1000,100)
..()
return
return ..()
/obj/effect/effect/sparks/Move()
..()

View File

@@ -83,7 +83,7 @@
/obj/effect/landmark/Destroy()
landmarks_list -= src
..()
return ..()
/obj/effect/landmark/start
name = "start"
@@ -103,7 +103,8 @@
/obj/effect/landmark/start/ninja/New()
..()
ninjastart += src
ninjastart += loc
qdel(src)
//Costume spawner landmarks

View File

@@ -3,10 +3,6 @@
unacidable = 1
var/i_attached//Added for possible image attachments to objects. For hallucinations and the like.
/obj/effect/overlay/Destroy()
PlaceInPool(src)
return 1 //cancels the GCing
/obj/effect/overlay/beam//Not actually a projectile, just an effect.
name="beam"
icon='icons/effects/beam.dmi'

View File

@@ -209,4 +209,4 @@
src.visible_message("\red \the [src] splits open.")
for(var/atom/movable/A in contents)
A.loc = src.loc
..()
return ..()

View File

@@ -115,7 +115,9 @@
spawn(5)
radio = new /obj/item/radio/integrated/signal(src)
/obj/item/weapon/cartridge/signal/Destroy()
qdel(radio)
..()
/obj/item/weapon/cartridge/quartermaster
name = "\improper Space Parts & Space Vendors cartridge"

View File

@@ -99,6 +99,12 @@
post_signal(control_freq, "command", "summon", "active", active, "target", get_turf(PDA) , s_filter = RADIO_SECBOT)
post_signal(control_freq, "command", "bot_status", "active", active, s_filter = RADIO_SECBOT)
/obj/item/radio/integrated/beepsky/Destroy()
if(radio_controller)
radio_controller.remove_object(src, control_freq)
..()
/obj/item/radio/integrated/mule
var/list/botlist = null // list of bots
var/obj/machinery/bot/mulebot/active // the active bot; if null, show bot list
@@ -245,3 +251,8 @@
radio_connection.post_signal(src, signal)
return
/obj/item/radio/integrated/signal/Destroy()
if(radio_controller)
radio_controller.remove_object(src, frequency)
..()

View File

@@ -29,6 +29,8 @@
/obj/item/device/radio/headset/Destroy()
qdel(keyslot1)
qdel(keyslot2)
keyslot1 = null
keyslot2 = null
..()
/obj/item/device/radio/headset/examine(mob/user)

View File

@@ -45,6 +45,15 @@
if(radio_controller)
initialize()
/obj/item/device/radio/Destroy()
qdel(wires)
wires = null
if(radio_controller)
radio_controller.remove_object(src, frequency)
for (var/ch_name in channels)
radio_controller.remove_object(src, radiochannels[ch_name])
..()
/obj/item/device/radio/initialize()
@@ -625,7 +634,6 @@
onclose(user, "radio")
return
/obj/item/device/radio/proc/config(op)
if(radio_controller)
for (var/ch_name in channels)

View File

@@ -9,7 +9,7 @@
var/icon/virtualIcon
var/list/bulletholes = list()
Del()
Destroy()
// if a target is deleted and associated with a stake, force stake to forget
for(var/obj/structure/target_stake/T in view(3,src))
if(T.pinned_target == src)

View File

@@ -31,10 +31,10 @@
/obj/item/stack/Destroy()
if(uses_charge)
return
return 1
if (src && usr && usr.machine == src)
usr << browse(null, "window=stack")
..()
return ..()
/obj/item/stack/examine(mob/user)
if(..(user, 1))

View File

@@ -40,6 +40,11 @@
spark_system.set_up(5, 0, src)
spark_system.attach(src)
/obj/item/weapon/rcd/Destroy()
qdel(spark_system)
spark_system = null
return ..()
/obj/item/weapon/rcd/attackby(obj/item/weapon/W, mob/user)
if(istype(W, /obj/item/weapon/rcd_ammo))

View File

@@ -46,7 +46,7 @@
icon_state = "implant_melted"
malfunction = MALFUNCTION_PERMANENT
Del()
Destroy()
if(part)
part.implants.Remove(src)
..()

View File

@@ -9,6 +9,10 @@
name = master_item.name
verbs -= /obj/item/verb/verb_pickup //make sure this is never picked up.
..()
/obj/item/weapon/storage/internal/Destroy()
master_item = null
..()
/obj/item/weapon/storage/internal/attack_hand()
return //make sure this is never picked up

View File

@@ -11,6 +11,7 @@
w_class = 3
var/list/can_hold = new/list() //List of objects which this item can store (if set, it can't store anything else)
var/list/cant_hold = new/list() //List of objects which this item can't store (in effect only if can_hold isn't set)
var/list/is_seeing = new/list() //List of mobs which are currently seeing the contents of this item's storage
var/max_w_class = 2 //Max size of objects that this object can store (in effect only if can_hold isn't set)
var/max_storage_space = 14 //The sum of the storage costs of all the items in this storage item.
var/storage_slots = 7 //The number of storage slots in this container.
@@ -23,6 +24,12 @@
var/collection_mode = 1; //0 = pick one at a time, 1 = pick all on tile
var/use_sound = "rustle" //sound played when used. null for no sound.
/obj/item/weapon/storage/Destroy()
close_all()
qdel(boxes)
qdel(closer)
..()
/obj/item/weapon/storage/MouseDrop(obj/over_object as obj)
if(!canremove)
@@ -86,6 +93,7 @@
user.client.screen += src.closer
user.client.screen += src.contents
user.s_active = src
is_seeing |= user
return
/obj/item/weapon/storage/proc/hide_from(mob/user as mob)
@@ -97,7 +105,7 @@
user.client.screen -= src.contents
if(user.s_active == src)
user.s_active = null
return
is_seeing -= user
/obj/item/weapon/storage/proc/open(mob/user as mob)
if (src.use_sound)
@@ -109,11 +117,24 @@
show_to(user)
/obj/item/weapon/storage/proc/close(mob/user as mob)
src.hide_from(user)
user.s_active = null
return
/obj/item/weapon/storage/proc/close_all()
for(var/mob/M in can_see_contents())
close(M)
. = 1
/obj/item/weapon/storage/proc/can_see_contents()
var/list/cansee = list()
for(var/mob/M in is_seeing)
if(M.s_active == src && M.client)
cansee |= M
else
is_seeing -= M
return cansee
//This proc draws out the inventory and places the items on it. tx and ty are the upper left tile and mx, my are the bottm right.
//The numbers are calculated from the bottom-left The bottom-left slot being 1,1.
/obj/item/weapon/storage/proc/orient_objs(tx, ty, mx, my)
@@ -463,4 +484,4 @@
return depth
/obj/item/proc/get_storage_cost()
return 2**(w_class-1) //1,2,4,8,16,...
return 2**(w_class-1) //1,2,4,8,16,...

View File

@@ -6,10 +6,11 @@
var/parts
/obj/structure/Destroy()
..()
if(opacity)
UpdateAffectingLights()
if(parts)
new parts(loc)
density = 0
..()
/obj/structure/attack_hand(mob/user)
if(breakable)

View File

@@ -22,7 +22,7 @@
name = "[mineralType] door"
update_nearby_tiles(need_rebuild=1)
Del()
Destroy()
update_nearby_tiles()
..()