diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 07fe7a7defcf..662abe0c31c3 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -757,6 +757,8 @@ obj/item/toy/cards/deck/New() obj/item/toy/cards/deck/attack_hand(mob/user as mob) + if(user.lying) + return var/choice = null if(cards.len == 0) src.icon_state = "deck_[deckstyle]_empty" @@ -827,7 +829,7 @@ obj/item/toy/cards/deck/attackby(obj/item/toy/cards/cardhand/C, mob/living/user, /obj/item/toy/cards/deck/MouseDrop(atom/over_object) var/mob/M = usr - if(usr.stat || !ishuman(usr) || !usr.canmove || usr.restrained()) + if(!ishuman(usr) || usr.incapacitated() || usr.lying) return if(Adjacent(usr)) if(over_object == M && loc != M) diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm index 6cfb57894b36..71a512ffa714 100644 --- a/code/game/objects/items/weapons/defib.dm +++ b/code/game/objects/items/weapons/defib.dm @@ -312,7 +312,7 @@ defib.on = 0 loc = defib defib.update_icon() - return unwield() + return unwield(user) /obj/item/weapon/twohanded/shockpaddles/proc/check_defib_exists(mainunit, var/mob/living/carbon/human/M, var/obj/O) if (!mainunit || !istype(mainunit, /obj/item/weapon/defibrillator)) //To avoid weird issues from admin spawns diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index 607bdf5f3782..398d86682589 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -46,6 +46,13 @@ user << "The safety is [safety ? "on" : "off"]." return +/obj/item/weapon/extinguisher/examine(mob/user as mob) + ..() + if(reagents.total_volume) + user << "It contains [round(reagents.total_volume)] units." + else + user << "It is empty." + /obj/item/weapon/extinguisher/proc/AttemptRefill(atom/target, mob/user) if(istype(target, /obj/structure/reagent_dispensers/watertank) && target.Adjacent(user)) var/safety_save = safety diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index 8b11247a1226..37428c37333f 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -215,6 +215,8 @@ LINEN BINS /obj/structure/bedsheetbin/attack_hand(mob/user as mob) + if(user.lying) + return if(amount >= 1) amount-- diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index bf2f725f6c26..69bca889975a 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -285,6 +285,8 @@ /obj/structure/closet/attack_hand(mob/user as mob) src.add_fingerprint(user) + if(user.lying && get_dist(src, user) > 0) + return if(!src.toggle()) return src.attackby(null, user) @@ -396,4 +398,4 @@ O.show_message("The locker has been broken by [user] with an electromagnetic card!", 1, "You hear a faint electrical spark.", 2) overlays += "sparking" spawn(4) //overlays don't support flick so we have to cheat - update_icon() + update_icon() diff --git a/code/modules/hydroponics/growninedible.dm b/code/modules/hydroponics/growninedible.dm index 0de365ecdfc4..df14126ae63f 100644 --- a/code/modules/hydroponics/growninedible.dm +++ b/code/modules/hydroponics/growninedible.dm @@ -163,7 +163,7 @@ /obj/item/weapon/grown/nettle //abstract type - name = "abstract nettle" + name = "nettle" desc = "It's probably not wise to touch it with bare hands..." icon = 'icons/obj/weapons.dmi' icon_state = "nettle" @@ -211,7 +211,6 @@ /obj/item/weapon/grown/nettle/basic seed = /obj/item/seeds/nettleseed - name = "nettle" /obj/item/weapon/grown/nettle/basic/add_juice() ..() diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index 7b3d42921a4c..5b1d4a91f45f 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -82,7 +82,7 @@ else W.loc = get_turf(src) W.layer = initial(W.layer) - W.dropped() + W.dropped(src) return 0 diff --git a/code/modules/mob/living/simple_animal/hostile/faithless.dm b/code/modules/mob/living/simple_animal/hostile/faithless.dm index e80f18992945..e3286a3dc1d4 100644 --- a/code/modules/mob/living/simple_animal/hostile/faithless.dm +++ b/code/modules/mob/living/simple_animal/hostile/faithless.dm @@ -35,8 +35,9 @@ /mob/living/simple_animal/hostile/faithless/AttackingTarget() ..() - if(isliving(target)) - var/mob/living/L = target + if(iscarbon(target)) + var/mob/living/carbon/C = target if(prob(12)) - L.Weaken(3) - L.visible_message("\The [src] knocks down \the [L]!") \ No newline at end of file + C.Weaken(3) + C.visible_message("\The [src] knocks down \the [C]!", \ + "\The [src] knocks you down!") \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index 869100f6e94c..8fdb544a0c40 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -114,10 +114,12 @@ /mob/living/simple_animal/hostile/mimic/crate/AttackingTarget() . =..() var/mob/living/L = . - if(istype(L)) + if(iscarbon(L)) + var/mob/living/carbon/C = L if(prob(15)) - L.Weaken(2) - L.visible_message("\the [src] knocks down \the [L]!") + C.Weaken(2) + C.visible_message("\The [src] knocks down \the [C]!", \ + "\The [src] knocks you down!") // // Copy Mimic @@ -206,11 +208,12 @@ var/global/list/protected_objects = list(/obj/structure/table, /obj/structure/ca /mob/living/simple_animal/hostile/mimic/copy/AttackingTarget() ..() if(knockdown_people) - if(isliving(target)) - var/mob/living/L = target + if(iscarbon(target)) + var/mob/living/carbon/C = target if(prob(15)) - L.Weaken(1) - L.visible_message("\The [src] knocks down \the [L]!") + C.Weaken(2) + C.visible_message("\The [src] knocks down \the [C]!", \ + "\The [src] knocks you down!") // // Machine Mimics (Made by Malf AI) diff --git a/code/modules/mob/living/simple_animal/hostile/tree.dm b/code/modules/mob/living/simple_animal/hostile/tree.dm index 2643fcc9964c..16d2df31c647 100644 --- a/code/modules/mob/living/simple_animal/hostile/tree.dm +++ b/code/modules/mob/living/simple_animal/hostile/tree.dm @@ -39,11 +39,12 @@ /mob/living/simple_animal/hostile/tree/AttackingTarget() ..() - if(isliving(target)) - var/mob/living/L = target + if(iscarbon(target)) + var/mob/living/carbon/C = target if(prob(15)) - L.Weaken(3) - L.visible_message("\The [src] knocks down \the [L]!") + C.Weaken(3) + C.visible_message("\The [src] knocks down \the [C]!", \ + "\The [src] knocks you down!") /mob/living/simple_animal/hostile/tree/death(gibbed) ..(1) diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm index 8493cfb876a2..5d34743e722d 100644 --- a/code/modules/paperwork/paperbin.dm +++ b/code/modules/paperwork/paperbin.dm @@ -37,6 +37,8 @@ /obj/item/weapon/paper_bin/attack_hand(mob/user) + if(user.lying) + return if(amount >= 1) amount-- update_icon()