[MIRROR] Fixes slips being broken and adds a unit test to catch it happening again. [MDB IGNORE] (#14299)

* Fixes slips being broken and adds a unit test to catch it happening again. (#67741)

* Fixes slips being broken and adds a unit test to catch it happening again.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
This commit is contained in:
SkyratBot
2022-06-13 23:18:57 -07:00
committed by GitHub
co-authored by Timberpoes
parent 39ecf4439c
commit 71b58f3f7c
5 changed files with 20 additions and 3 deletions
+16
View File
@@ -0,0 +1,16 @@
/// Unit test that forces various slips on a mob and checks return values and mob state to see if the slip has likely been successful.
/datum/unit_test/slips
/datum/unit_test/slips/Run()
// Test just forced slipping, which calls turf slip code as well.
var/mob/living/carbon/human/mso = allocate(/mob/living/carbon/human)
TEST_ASSERT(mso.slip(100) == TRUE, "/mob/living/carbon/human/slip() returned FALSE when TRUE was expected")
TEST_ASSERT(!!(mso.IsKnockdown()), "/mob/living/carbon/human/slip() failed to knockdown target when knockdown was expected")
// Test the slipping component, which calls mob slip code. Just for good measure.
var/mob/living/carbon/human/msos_friend_mso = allocate(/mob/living/carbon/human, run_loc_floor_bottom_left)
var/obj/item/grown/bananapeel/specialpeel/mso_bane = allocate(/obj/item/grown/bananapeel/specialpeel, get_step(run_loc_floor_bottom_left, EAST))
msos_friend_mso.Move(get_turf(mso_bane), EAST)
TEST_ASSERT(!!(msos_friend_mso.IsKnockdown()), "Banana peel which should have slipping component failed to knockdown target when knockdown was expected")