Fixes chairs acting as handcuffs. (#6588)

* Fixes chairs/beds/etc acting as handcuffs.

It's been at least 7 years without anyone noticing a broken feature with a false comment so the unintentional "balancing" caused by this may have ingrained a standard some folks would rather keep in, but that kind of nerfs have proper ways of implementing at their own appropriate places in the code.

Basically this just lets folks use hands when buckled. May also have a side effect of allowing self-surgery if it never had a proper prevention method implemented. Keeps an exception for xeno nests tho. Any other seat has no reason to be handcuffs.

* Fixes another thing causing chairs to incapacitate

"Are you seated" and "Are you incapacitated" should not be used as the same thing yet here we are.

I should probably also do a refactor to remove all the inappropriate use of canmove var. Seriously, even the specifically cartridge exclusive PDA menu buttons are using that for what???
This commit is contained in:
Verkister
2019-12-28 23:41:58 -08:00
committed by Mechoid
parent a06e0ae295
commit 00e9924582
2 changed files with 3 additions and 2 deletions
+1 -1
View File
@@ -289,7 +289,7 @@
/mob/living/carbon/can_use_hands()
if(handcuffed)
return 0
if(buckled && ! istype(buckled, /obj/structure/bed/chair)) // buckling does not restrict hands
if(buckled && istype(buckled, /obj/structure/bed/nest)) // buckling does not restrict hands
return 0
return 1
+2 -1
View File
@@ -1066,10 +1066,11 @@ default behaviour is:
pixel_y = V.mob_offset_y
else if(buckled)
anchored = 1
canmove = 0
canmove = 1 //The line above already makes the chair not swooce away if the sitter presses a button. No need to incapacitate them as a criminally large amount of mechanics read this var as a type of stun.
if(istype(buckled))
if(buckled.buckle_lying != -1)
lying = buckled.buckle_lying
canmove = buckled.buckle_movable
if(buckled.buckle_movable)
anchored = 0
canmove = 1