diff --git a/code/modules/projectiles/projectile/animate.dm b/code/modules/projectiles/projectile/animate.dm index 5950ac59556..c329f69d208 100644 --- a/code/modules/projectiles/projectile/animate.dm +++ b/code/modules/projectiles/projectile/animate.dm @@ -7,7 +7,7 @@ flag = "energy" /obj/item/projectile/animate/Bump(var/atom/change) - . = ..() - if(istype(change, /obj/item) || istype(change, /obj/structure) && !is_type_in_list(change, protected_objects)) + if((istype(change, /obj/item) || istype(change, /obj/structure)) && !is_type_in_list(change, protected_objects)) var/obj/O = change new /mob/living/simple_animal/hostile/mimic/copy(O.loc, O, firer) + ..() \ No newline at end of file diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 3ac80864e6e..77a40970929 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -231,14 +231,13 @@ var/list/beam_master = list() ..() proc/cleanup(reference) //Waits .3 seconds then removes the overlay. - src = null - sleep(3) - var/list/turf_master = beam_master[reference] - for(var/laser_state in turf_master) - var/list/turfs = turf_master[laser_state] - for(var/turf/T in turfs) - T.overlays -= beam_master[laser_state] - return + src = null //we're getting deleted! this will keep the code running + spawn(3) + var/list/turf_master = beam_master[reference] + for(var/laser_state in turf_master) + var/list/turfs = turf_master[laser_state] + for(var/turf/T in turfs) + T.overlays -= beam_master[laser_state] /obj/item/projectile/beam/practice name = "laser"