mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-20 12:35:33 +01:00
Sensors can now be printed, removed and installed on jumpsuits. HANDCRAFTED jumpsuits no longer have sensors by default (also mild crafting refactor) (#93121)
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
///Test that ensures that basic functions and interactions around suit sensors are working
|
||||
/datum/unit_test/suit_sensor
|
||||
|
||||
/datum/unit_test/suit_sensor/Run()
|
||||
var/mob/living/carbon/human/consistent/dummy = allocate(__IMPLIED_TYPE__)
|
||||
var/obj/item/clothing/under/sensor_test/under = allocate(__IMPLIED_TYPE__)
|
||||
|
||||
dummy.equip_to_slot_or_del(under, ITEM_SLOT_ICLOTHING)
|
||||
|
||||
TEST_ASSERT(under.set_sensor_mode(SENSOR_LIVING), "couldn't set the suit sensor mode to '[GLOB.suit_sensor_mode_to_defines[SENSOR_LIVING + 1]]'")
|
||||
TEST_ASSERT((dummy in GLOB.suit_sensors_list), "couldn't find the dummy in the GLOB.suit_sensors_list")
|
||||
|
||||
var/obj/item/wirecutters/cutter = allocate(__IMPLIED_TYPE__)
|
||||
dummy.put_in_active_hand(cutter, forced = TRUE)
|
||||
click_wrapper(dummy, under) //cut sensor
|
||||
TEST_ASSERT_EQUAL(under.has_sensor, NO_SENSORS, "couldn't properly cut suit sensor from the jumpsuit")
|
||||
|
||||
var/obj/item/suit_sensor/sensor = dummy.is_holding_item_of_type(__IMPLIED_TYPE__)
|
||||
TEST_ASSERT(sensor, "dummy isn't holding the cut sensor")
|
||||
//we set it to sensor_living before, remember?
|
||||
TEST_ASSERT_EQUAL(sensor.sensor_mode, SENSOR_LIVING, "cut sensor isn't set to '[GLOB.suit_sensor_mode_to_defines[SENSOR_LIVING + 1]]'")
|
||||
TEST_ASSERT(sensor.set_mode(SENSOR_OFF), "couldn't set cut sensor's mode to '[GLOB.suit_sensor_mode_to_defines[SENSOR_OFF + 1]]'")
|
||||
sensor.emp_act(EMP_HEAVY)
|
||||
TEST_ASSERT(sensor.broken, "cut sensor wasn't broken by EMP")
|
||||
|
||||
dummy.dropItemToGround(cutter) //thank you for your service, wirecutters o7
|
||||
var/obj/item/stack/cable_coil/thirty/coil = allocate(__IMPLIED_TYPE__)
|
||||
dummy.put_in_active_hand(coil, forced = TRUE)
|
||||
click_wrapper(dummy, sensor) //fix sensor
|
||||
TEST_ASSERT(!sensor.broken, "cut sensor couldn't be fixed by cable coil")
|
||||
|
||||
dummy.swap_hand(dummy.get_held_index_of_item(sensor))
|
||||
click_wrapper(dummy, under) //install sensor
|
||||
TEST_ASSERT_EQUAL(under.has_sensor, HAS_SENSORS, "couldn't properly install suit sensor on the jumpsuit")
|
||||
under.emp_act(EMP_HEAVY)
|
||||
TEST_ASSERT_EQUAL(under.has_sensor, BROKEN_SENSORS, "the jumpsuit sensor wasn't broken by EMP")
|
||||
dummy.swap_hand(dummy.get_held_index_of_item(coil))
|
||||
click_wrapper(dummy, under) //fix sensor, again
|
||||
TEST_ASSERT_EQUAL(under.has_sensor, HAS_SENSORS, "couldn't fix the jumpsuit sensor with cable coil")
|
||||
|
||||
|
||||
/obj/item/clothing/under/sensor_test
|
||||
random_sensor = FALSE
|
||||
Reference in New Issue
Block a user