mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-20 20:45:28 +01:00
Fix resisting not starting stop, drop, and roll (#53079)
This commit is contained in:
@@ -290,7 +290,7 @@
|
||||
visible_message("<span class='danger'>[src] rolls on the floor, trying to put [p_them()]self out!</span>", \
|
||||
"<span class='notice'>You stop, drop, and roll!</span>")
|
||||
sleep(30)
|
||||
if(fire_stacks <= 0)
|
||||
if(fire_stacks <= 0 && !QDELETED(src))
|
||||
visible_message("<span class='danger'>[src] successfully extinguishes [p_them()]self!</span>", \
|
||||
"<span class='notice'>You extinguish yourself.</span>")
|
||||
ExtinguishMob()
|
||||
|
||||
@@ -792,7 +792,7 @@
|
||||
resist_buckle()
|
||||
|
||||
//Breaking out of a container (Locker, sleeper, cryo...)
|
||||
else if(loc)
|
||||
else if(loc != get_turf(src))
|
||||
loc.container_resist_act(src)
|
||||
|
||||
else if(mobility_flags & MOBILITY_MOVE)
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "plantgrowth_tests.dm"
|
||||
#include "reagent_id_typos.dm"
|
||||
#include "reagent_recipe_collisions.dm"
|
||||
#include "resist.dm"
|
||||
#include "say.dm"
|
||||
#include "siunit.dm"
|
||||
#include "spawn_humans.dm"
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
/// Test that stop, drop, and roll lowers fire stacks
|
||||
/datum/unit_test/stop_drop_and_roll/Run()
|
||||
var/mob/living/carbon/human/human = allocate(/mob/living/carbon/human)
|
||||
|
||||
TEST_ASSERT_EQUAL(human.fire_stacks, 0, "Human does not have 0 fire stacks pre-ignition")
|
||||
|
||||
human.adjust_fire_stacks(5)
|
||||
human.IgniteMob()
|
||||
|
||||
TEST_ASSERT_EQUAL(human.fire_stacks, 5, "Human does not have 5 fire stacks pre-resist")
|
||||
|
||||
// Stop, drop, and roll has a sleep call. This would delay the test, and is not necessary.
|
||||
CallAsync(human, /mob/living/verb/resist)
|
||||
|
||||
TEST_ASSERT(human.fire_stacks < 5, "Human did not lower fire stacks after resisting")
|
||||
|
||||
/// Test that you can resist out of a container
|
||||
/datum/unit_test/container_resist/Run()
|
||||
var/mob/living/carbon/human/human = allocate(/mob/living/carbon/human)
|
||||
var/obj/structure/closet/closet = allocate(/obj/structure/closet, get_turf(human))
|
||||
|
||||
closet.open(human)
|
||||
TEST_ASSERT(!(human in closet.contents), "Human was in the contents of an open closet")
|
||||
|
||||
closet.close(human)
|
||||
TEST_ASSERT(human in closet.contents, "Human was not in the contents of the closed closet")
|
||||
|
||||
human.resist()
|
||||
TEST_ASSERT(!(human in closet.contents), "Human resisted out of a standard closet, but was still in it")
|
||||
Reference in New Issue
Block a user