mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-04 14:42:56 +00:00
* code improvements * linters * oh * Update spellblade.dm * Update spellblade.dm * Update melee.dm * melee's death * update paths * Update code/game/objects/items/weapons/melee/melee.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Signed-off-by: kyunkyunkyun <120701975+kyunkyunkyun@users.noreply.github.com> * fix icon states --------- Signed-off-by: kyunkyunkyun <120701975+kyunkyunkyun@users.noreply.github.com> Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
50 lines
2.3 KiB
Plaintext
50 lines
2.3 KiB
Plaintext
/datum/game_test/room_test/anti_drop_implant/Run()
|
|
var/datum/test_puppeteer/player = new(src)
|
|
var/obj/item/organ/internal/cyberimp/brain/anti_drop/anti_drop = new/obj/item/organ/internal/cyberimp/brain/anti_drop
|
|
var/obj/item/autosurgeon/organ/syndicate/autosurg = player.spawn_obj_in_hand(/obj/item/autosurgeon/organ/syndicate)
|
|
|
|
autosurg.insert_organ(anti_drop)
|
|
TEST_ASSERT(autosurg.storedorgan == anti_drop, "failed to insert antidrop in autosurgeon")
|
|
player.use_item_in_hand()
|
|
TEST_ASSERT(anti_drop in player.puppet.internal_organs, "failed to insert anti_drop in player")
|
|
qdel(autosurg)
|
|
|
|
var/obj/item/screwdriver = player.spawn_obj_in_hand(/obj/item/screwdriver)
|
|
anti_drop.ui_action_click()
|
|
TEST_ASSERT((screwdriver.flags & NODROP), "nodrop failed to apply")
|
|
anti_drop.ui_action_click()
|
|
TEST_ASSERT(!(screwdriver.flags & NODROP), "nodrop failed to get removed")
|
|
|
|
anti_drop.ui_action_click()
|
|
anti_drop.emp_act()
|
|
TEST_ASSERT(!(screwdriver in get_both_hands(player.puppet)), "player failed to throw items")
|
|
TEST_ASSERT(!(screwdriver.flags & NODROP), "emp throw failed to remove NODROP")
|
|
player.rejuvenate()
|
|
|
|
var/obj/item/belt = player.spawn_obj_in_hand(/obj/item/storage/belt)
|
|
anti_drop.ui_action_click()
|
|
player.puppet.equip_to_appropriate_slot(belt)
|
|
player.puppet.drop_item_to_ground(belt)
|
|
TEST_ASSERT(player.puppet.get_item_by_slot(ITEM_SLOT_BELT), "belt removed with NODROP")
|
|
anti_drop.ui_action_click()
|
|
player.puppet.drop_item_to_ground(belt)
|
|
TEST_ASSERT(!player.puppet.get_item_by_slot(ITEM_SLOT_BELT), "failed to remove belt after disabling NODROP")
|
|
|
|
var/obj/item/chainsaw/syndie/saw = player.spawn_obj_in_hand(/obj/item/chainsaw/syndie)
|
|
player.use_item_in_hand()
|
|
anti_drop.ui_action_click()
|
|
anti_drop.ui_action_click()
|
|
TEST_ASSERT(saw.flags & NODROP, "anti_drop removed unique item NODROP")
|
|
|
|
player.use_item_in_hand()
|
|
anti_drop.ui_action_click()
|
|
player.puppet.put_in_r_hand(saw)
|
|
TEST_ASSERT(player.puppet.r_hand = saw, "player failed to put saw in right hand")
|
|
var/obj/item/organ/external/right_hand = player.puppet.get_organ(BODY_ZONE_R_ARM)
|
|
right_hand.droplimb()
|
|
TEST_ASSERT(!(saw.flags & NODROP), "limb dismemberment failed to remove NODROP")
|
|
|
|
player.puppet.put_in_hands(saw)
|
|
anti_drop.ui_action_click()
|
|
TEST_ASSERT(!(saw.flags & NODROP), "picking item up with antidrop active applied NODROP")
|