Del The World: Unit testing for hard deletes (#59612)

Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
This commit is contained in:
LemonInTheDark
2021-08-15 21:09:26 -07:00
committed by GitHub
parent 0304206af3
commit cd576ab519
91 changed files with 788 additions and 168 deletions
+1 -1
View File
@@ -98,7 +98,7 @@
QDEL_NULL(chambered)
if(azoom)
QDEL_NULL(azoom)
if(isatom(suppressed))
if(isatom(suppressed)) //SUPPRESSED IS USED AS BOTH A TRUE/FALSE AND AS A REF, WHAT THE FUCKKKKKKKKKKKKKKKKK
QDEL_NULL(suppressed)
return ..()
@@ -183,11 +183,12 @@
/obj/item/gun/energy/dueling/Destroy()
. = ..()
if(duel.gun_A == src)
duel.gun_A = null
if(duel.gun_B == src)
duel.gun_B = null
duel = null
if(duel)
if(duel.gun_A == src)
duel.gun_A = null
if(duel.gun_B == src)
duel.gun_B = null
duel = null
/obj/item/gun/energy/dueling/can_trigger_gun(mob/living/user)
. = ..()
+2 -1
View File
@@ -53,7 +53,8 @@
/obj/item/gun/magic/Initialize()
. = ..()
charges = max_charges
chambered = new ammo_type(src)
if(ammo_type)
chambered = new ammo_type(src)
if(can_charge)
START_PROCESSING(SSobj, src)
RegisterSignal(src, COMSIG_ITEM_RECHARGED, .proc/instant_recharge)
+4 -4
View File
@@ -168,16 +168,16 @@
var/wound_falloff_tile
///How much we want to drop the embed_chance value, if we can embed, per tile, for falloff purposes
var/embed_falloff_tile
var/static/list/projectile_connections = list(
COMSIG_ATOM_ENTERED = .proc/on_entered,
)
/obj/projectile/Initialize()
. = ..()
decayedRange = range
if(embedding)
updateEmbedding()
var/static/list/loc_connections = list(
COMSIG_ATOM_ENTERED = .proc/on_entered,
)
AddElement(/datum/element/connect_loc, loc_connections)
AddElement(/datum/element/connect_loc, projectile_connections)
/obj/projectile/proc/Range()
range--
@@ -33,7 +33,7 @@
. = ..()
var/obj/item/beacon/teletarget = null
for(var/obj/machinery/computer/teleporter/com in GLOB.machines)
var/atom/target = com.target_ref.resolve()
var/atom/target = com.target_ref?.resolve()
if(target)
if(com.power_station && com.power_station.teleporter_hub && com.power_station.engaged)
teletarget = target
@@ -280,6 +280,7 @@
/obj/projectile/magic/locker/Destroy()
locker_suck = FALSE
RemoveElement(/datum/element/connect_loc, projectile_connections) //We do this manually so the forcemoves don't "hit" us. This behavior is kinda dumb, someone refactor this
for(var/atom/movable/AM in contents)
AM.forceMove(get_turf(src))
. = ..()
@@ -15,7 +15,7 @@
. = ..()
var/obj/item/ammo_casing/energy/gravity/repulse/C = loc
if(istype(C)) //Hard-coded maximum power so servers can't be crashed by trying to throw the entire Z level's items
power = min(C.gun.power, 15)
power = min(C.gun?.power, 15)
/obj/projectile/gravityrepulse/on_hit()
. = ..()
@@ -50,7 +50,7 @@
. = ..()
var/obj/item/ammo_casing/energy/gravity/attract/C = loc
if(istype(C)) //Hard-coded maximum power so servers can't be crashed by trying to throw the entire Z level's items
power = min(C.gun.power, 15)
power = min(C.gun?.power, 15)
/obj/projectile/gravityattract/on_hit()
. = ..()
@@ -84,7 +84,7 @@
. = ..()
var/obj/item/ammo_casing/energy/gravity/chaos/C = loc
if(istype(C)) //Hard-coded maximum power so servers can't be crashed by trying to throw the entire Z level's items
power = min(C.gun.power, 15)
power = min(C.gun?.power, 15)
/obj/projectile/gravitychaos/on_hit()
. = ..()
@@ -28,7 +28,7 @@
hal_target.client.images += fake_icon
/obj/projectile/hallucination/Destroy()
if(hal_target.client)
if(hal_target?.client)
hal_target.client.images -= fake_icon
QDEL_NULL(fake_icon)
return ..()