Fixes edge cases revolving who can strip and who can't (#58445)

Fixes all simple mobs being able to strip, as well as being able to strip when your hands are blocked (e.g. cuffed).

Fixes #58260.
This commit is contained in:
Mothblocks
2021-04-15 21:18:07 -07:00
committed by GitHub
parent b45d63b7a7
commit e82a4972cc
9 changed files with 31 additions and 4 deletions
+11 -1
View File
@@ -22,8 +22,15 @@
user.set_body_position(STANDING_UP)
TEST_ASSERT_EQUAL(strip_menu.ui_status(user, ui_state), UI_UPDATE, "Being too far away while standing up was not update-only.")
user.set_body_position(LYING_DOWN)
var/handcuffs = allocate(/obj/item/restraints/handcuffs, user)
user.forceMove(target.loc)
user.set_handcuffed(handcuffs)
user.update_handcuffed()
TEST_ASSERT_EQUAL(strip_menu.ui_status(user, ui_state), UI_UPDATE, "Being within range but cuffed was not update-only.")
user.set_handcuffed(null)
qdel(handcuffs)
user.set_body_position(LYING_DOWN)
user.death()
TEST_ASSERT_EQUAL(strip_menu.ui_status(user, ui_state), UI_UPDATE, "Being within range but dead was not update-only.")
@@ -49,3 +56,6 @@
var/mob/living/carbon/alien/rouny = allocate(/mob/living/carbon/alien, run_loc_floor_bottom_left)
ADD_TRAIT(rouny, TRAIT_PRESERVE_UI_WITHOUT_CLIENT, TRAIT_SOURCE_UNIT_TESTS)
TEST_ASSERT_EQUAL(strip_menu.ui_status(rouny, ui_state), UI_INTERACTIVE, "Being within range as a xeno was not interactive.")
var/mob/living/simple_animal/pet/dog/corgi/corgi = allocate(/mob/living/simple_animal/pet/dog/corgi, run_loc_floor_bottom_left)
TEST_ASSERT_EQUAL(strip_menu.ui_status(corgi, ui_state), UI_UPDATE, "Being within range as a corgi was not update-only.")