Fix one of the server killing bugs (#16580)

* debug the server dying

* a

* adad

* wtf

* a

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
This commit is contained in:
Matt Atlas
2023-07-02 10:17:40 +00:00
committed by GitHub
co-authored by Matt Atlas
parent 90cede6b72
commit bd43381d55
2 changed files with 46 additions and 5 deletions
+5 -5
View File
@@ -969,8 +969,8 @@ Note that amputating the affected organ does in fact remove the infection from t
src.transform = M
if(!clean)
//Throw limb around.
if(src && istype(loc,/turf))
INVOKE_ASYNC(src, TYPE_PROC_REF(/atom/movable, throw_at), get_edge_target_turf(src,pick(alldirs)), rand(1,3), 30)
if(src && isturf(loc))
INVOKE_ASYNC(src, TYPE_PROC_REF(/atom/movable, throw_at), get_edge_target_turf(src,pick(alldirs)), rand(1,3), 4)
dir = 2
if(DROPLIMB_BURN)
new /obj/effect/decal/cleanable/ash(get_turf(victim))
@@ -985,12 +985,12 @@ Note that amputating the affected organ does in fact remove the infection from t
if(victim.species.blood_color)
gore.basecolor = victim.species.blood_color
gore.update_icon()
INVOKE_ASYNC(gore, TYPE_PROC_REF(/atom/movable, throw_at), get_edge_target_turf(src, pick(alldirs)), rand(1,3), 30)
INVOKE_ASYNC(gore, TYPE_PROC_REF(/atom/movable, throw_at), get_edge_target_turf(src, pick(alldirs)), rand(1,3), 4)
for(var/obj/item/organ/I in internal_organs)
I.removed()
if(istype(loc,/turf))
INVOKE_ASYNC(I, TYPE_PROC_REF(/atom/movable, throw_at), get_edge_target_turf(src, pick(alldirs)), rand(1,3), 30)
INVOKE_ASYNC(I, TYPE_PROC_REF(/atom/movable, throw_at), get_edge_target_turf(src, pick(alldirs)), rand(1,3), 4)
var/turf/Tloc = get_turf(src)
for(var/obj/item/I in src)
@@ -998,7 +998,7 @@ Note that amputating the affected organ does in fact remove the infection from t
qdel(I)
continue
I.forceMove(Tloc)
INVOKE_ASYNC(I, TYPE_PROC_REF(/atom/movable, throw_at), get_edge_target_turf(src, pick(alldirs)), rand(1,3), 30)
INVOKE_ASYNC(I, TYPE_PROC_REF(/atom/movable, throw_at), get_edge_target_turf(src, pick(alldirs)), rand(1,3), 4)
qdel(src)