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()