mirror of
https://github.com/Citadel-Station-13/Citadel-Station-13-RP.git
synced 2026-08-31 08:07:30 +01:00
- moves stuff to more sane places so modules folder isn't so messy - adds a world system that is the start of being able to data-define world locations and having the game act differently based on which location a map is in there's no ability to separate 'pre-load map' (and a way for persistence to inject this so we can have moving maps yet) but we can add it in later since things are decently abstracted.
32 lines
1.8 KiB
Plaintext
32 lines
1.8 KiB
Plaintext
/// Test that quick swap correctly swaps items and invalidates suit storage
|
|
/datum/unit_test/quick_swap_sanity/Run()
|
|
// Create a human with a medical winter coat and a health analyzer in suit storage
|
|
var/mob/living/carbon/human/human = allocate(/mob/living/carbon/human)
|
|
|
|
var/obj/item/coat = allocate(/obj/item/clothing/suit/hooded/wintercoat/medical)
|
|
TEST_ASSERT(human.equip_to_slot_if_possible(coat, ITEM_SLOT_OCLOTHING), "Couldn't equip winter coat")
|
|
|
|
var/obj/item/atmos_analyzer = allocate(/obj/item/healthanalyzer)
|
|
TEST_ASSERT(human.equip_to_slot_if_possible(analyzer, ITEM_SLOT_SUITSTORE), "Couldn't equip health analyzer")
|
|
|
|
// Then, have them quick swap between the coat and a space suit
|
|
var/obj/item/hardsuit = allocate(/obj/item/clothing/suit/space/hardsuit)
|
|
TEST_ASSERT(human.equip_to_appropriate_slot(hardsuit, swap = TRUE), "Couldn't quick swap to hardsuit")
|
|
|
|
// Check if the human has the hardsuit on
|
|
TEST_ASSERT_EQUAL(human.wear_suit, hardsuit, "Human didn't equip the hardsuit")
|
|
|
|
// Make sure the health analyzer was dropped as part of the swap
|
|
// Since health analyzers are an invalid suit storage item
|
|
TEST_ASSERT_EQUAL(human.s_store, null, "Human didn't drop the health analyzer")
|
|
|
|
// Give the human an emergency oxygen tank
|
|
// This is valid suit storage for both the winter coat AND the hardsuit
|
|
var/obj/item/tank = allocate(/obj/item/tank/internals/emergency_oxygen)
|
|
TEST_ASSERT(human.equip_to_slot_if_possible(tank, ITEM_SLOT_SUITSTORE), "Couldn't equip emergency oxygen tank")
|
|
|
|
// Now, quick swap back to the coat
|
|
// Since the tank is a valid suit storage item, it should not be dropped
|
|
TEST_ASSERT(human.equip_to_appropriate_slot(coat, swap = TRUE), "Couldn't quick swap to coat")
|
|
TEST_ASSERT_EQUAL(human.s_store, tank, "Human dropped the oxygen tank, when it was a valid item to keep in suit storage")
|