Some spawn removals and other assorted code cleanup

This commit is contained in:
SteelSlayer
2020-08-07 08:55:34 -05:00
parent 12c031760a
commit d928635393
23 changed files with 92 additions and 150 deletions
@@ -164,8 +164,7 @@
/datum/chemical_reaction/blackpowder_explosion/on_reaction(datum/reagents/holder, created_volume)
var/location = get_turf(holder.my_atom)
do_sparks(2, 1, location)
spawn(rand(5, 15))
blackpowder_detonate(holder, created_volume)
addtimer(CALLBACK(null, .proc/blackpowder_detonate, holder, created_volume), rand(5, 15))
/proc/blackpowder_detonate(datum/reagents/holder, created_volume)
var/turf/T = get_turf(holder.my_atom)
@@ -176,8 +175,7 @@
explosion(T, ex_severe, ex_heavy,ex_light, ex_flash, 1)
// If this black powder is in a decal, remove the decal, because it just exploded
if(istype(holder.my_atom, /obj/effect/decal/cleanable/dirt/blackpowder))
spawn(0)
qdel(holder.my_atom)
qdel(holder.my_atom)
/datum/chemical_reaction/flash_powder
name = "Flash powder"
@@ -23,13 +23,12 @@
/obj/item/reagent_containers/food/pill/attack(mob/living/carbon/M, mob/user, def_zone)
if(!istype(M))
return 0
return FALSE
bitesize = reagents.total_volume
if(M.eat(src, user))
spawn(0)
qdel(src)
return 1
return 0
qdel(src)
return TRUE
return FALSE
/obj/item/reagent_containers/food/pill/afterattack(obj/target, mob/user, proximity)
if(!proximity)
@@ -44,7 +44,7 @@
return
var/contents_log = reagents.reagent_list.Join(", ")
spray(A)
INVOKE_ASYNC(src, .proc/spray, A)
playsound(loc, 'sound/effects/spray2.ogg', 50, 1, -6)
user.changeNext_move(CLICK_CD_RANGE*2)
@@ -62,19 +62,19 @@
return
/obj/item/reagent_containers/spray/proc/spray(var/atom/A)
/obj/item/reagent_containers/spray/proc/spray(atom/A)
var/obj/effect/decal/chempuff/D = new /obj/effect/decal/chempuff(get_turf(src))
D.create_reagents(amount_per_transfer_from_this)
reagents.trans_to(D, amount_per_transfer_from_this, 1/spray_currentrange)
D.icon += mix_color_from_reagents(D.reagents.reagent_list)
spawn(0)
for(var/i=0, i<spray_currentrange, i++)
step_towards(D,A)
D.reagents.reaction(get_turf(D))
for(var/atom/T in get_turf(D))
D.reagents.reaction(T)
sleep(3)
qdel(D)
for(var/i in 1 to spray_currentrange)
step_towards(D, A)
D.reagents.reaction(get_turf(D))
for(var/atom/T in get_turf(D))
D.reagents.reaction(T)
sleep(3)
qdel(D)
/obj/item/reagent_containers/spray/attack_self(var/mob/user)