diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index 6cc2385e62..6db1e4baae 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -368,12 +368,16 @@ if(ishuman(hit_atom) && !caught && prob(throw_hit_chance) && thrownby)//if they are a carbon and they didn't catch it baton_stun(hit_atom, thrownby, shoving = TRUE) if(thrownby && !caught) - sleep(1) - if(!QDELETED(src)) - throw_at(thrownby, throw_range+2, throw_speed, null, TRUE) + throw_back() else return ..() +/obj/item/melee/baton/boomerang/proc/throw_back() + set waitfor = FALSE + sleep(1) + if(!QDELETED(src)) + throw_at(thrownby, throw_range+2, throw_speed, null, TRUE) + /obj/item/melee/baton/boomerang/update_icon() if(turned_on) icon_state = "[initial(icon_state)]_active" diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm index fb16a9c9a7..9f41fb0f79 100644 --- a/code/modules/holiday/halloween/jacqueen.dm +++ b/code/modules/holiday/halloween/jacqueen.dm @@ -731,9 +731,12 @@ /obj/item/reagent_containers/potion_container/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) ..() + delayed_release_smoke() + +/obj/item/reagent_containers/potion_container/proc/delayed_release_smoke() sleep(20) var/datum/effect_system/smoke_spread/chem/s = new() - s.set_up(src.reagents, 3, src.loc) + s.set_up(src.reagents, 3, get_turf(src)) s.start() qdel(src) diff --git a/code/modules/research/xenobiology/crossbreeding/_misc.dm b/code/modules/research/xenobiology/crossbreeding/_misc.dm index 4684352ef5..97a87a5e01 100644 --- a/code/modules/research/xenobiology/crossbreeding/_misc.dm +++ b/code/modules/research/xenobiology/crossbreeding/_misc.dm @@ -92,6 +92,10 @@ icon_state = "capturedevice" /obj/item/capturedevice/attack(mob/living/M, mob/user) + try_catching(M, user) + +/obj/item/capturedevice/proc/try_catching(mob/living/M, mob/user) + set waitfor = FALSE if(length(contents)) to_chat(user, "The device already has something inside.") return @@ -116,7 +120,7 @@ to_chat(user, "This creature is too aggressive to capture.") return to_chat(user, "You store [M] in the capture device.") - store(M) + store(M, user) /obj/item/capturedevice/attack_self(mob/user) if(contents.len) @@ -125,7 +129,10 @@ else to_chat(user, "The device is empty...") -/obj/item/capturedevice/proc/store(var/mob/living/M) +/obj/item/capturedevice/proc/store(var/mob/living/M, mob/user) + if(length(contents)) + to_chat(user, "The device already has something inside.") + return M.forceMove(src) /obj/item/capturedevice/proc/release()