mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-22 08:01:06 +00:00
65 lines
1.4 KiB
Plaintext
65 lines
1.4 KiB
Plaintext
#define SUCCESS 1
|
|
#define FAILURE 0
|
|
|
|
|
|
datum/unit_test/vision_glasses/
|
|
name = "EQUIPMENT: Vision Template"
|
|
var/mob/living/carbon/human/H = null
|
|
var/expectation = SEE_INVISIBLE_NOLIGHTING
|
|
var/glasses_type = null
|
|
async = 1
|
|
|
|
datum/unit_test/vision_glasses/start_test()
|
|
spawn(0)
|
|
var/list/test = create_test_mob_with_mind(null, /mob/living/carbon/human)
|
|
if(isnull(test))
|
|
fail("Check Runtimed in Mob creation")
|
|
|
|
if(test["result"] == FAILURE)
|
|
fail(test["msg"])
|
|
async = 0
|
|
|
|
return 0
|
|
|
|
H = locate(test["mobref"])
|
|
|
|
var/obj/item/clothing/glasses/G = new glasses_type()
|
|
H.glasses = G
|
|
|
|
return 1
|
|
|
|
|
|
datum/unit_test/vision_glasses/check_result()
|
|
|
|
if(isnull(H) || H.life_tick < 2)
|
|
return 0
|
|
|
|
if(isnull(H.glasses))
|
|
fail("Mob doesn't have glasses on")
|
|
|
|
H.handle_vision() // Because Life has a client check that bypasses updating vision
|
|
|
|
if(H.see_invisible == expectation)
|
|
pass("Mob See invisible is [H.see_invisible]")
|
|
else
|
|
fail("Mob See invisible is [H.see_invisible] / expected [expectation]")
|
|
|
|
return 1
|
|
|
|
datum/unit_test/vision_glasses/NVG
|
|
name = "EQUIPMENT: NVG see_invis"
|
|
glasses_type = /obj/item/clothing/glasses/night
|
|
|
|
datum/unit_test/vision_glasses/mesons
|
|
name = "EQUIPMENT: Mesons see_invis"
|
|
glasses_type = /obj/item/clothing/glasses/meson
|
|
|
|
datum/unit_test/vision_glasses/plain
|
|
name = "EQUIPMENT: Plain glasses. see_invis"
|
|
glasses_type = /obj/item/clothing/glasses/regular
|
|
expectation = SEE_INVISIBLE_LIVING
|
|
|
|
#undef SUCCESS
|
|
#undef FAILURE
|
|
|