diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index ad0951adb77..625ea59cf73 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -130,7 +130,7 @@ . = __attack_core(target, user) - if(!target.new_attack_chain) + if(!target.new_attack_chain && .) return target.attacked_by__legacy__attackchain(src, user, /* def_zone */ null) /obj/item/proc/__after_attack_core(mob/user, atom/target, params, proximity_flag = 1) diff --git a/code/tests/attack_chain/test_attack_chain_cult_dagger.dm b/code/tests/attack_chain/test_attack_chain_cult_dagger.dm index b150d67cb60..c1c2420e494 100644 --- a/code/tests/attack_chain/test_attack_chain_cult_dagger.dm +++ b/code/tests/attack_chain/test_attack_chain_cult_dagger.dm @@ -15,3 +15,10 @@ cultist.click_on(target) TEST_ASSERT_EQUAL(target.puppet.health, target.puppet.getMaxHealth(), "cultist attacking cultist with dagger caused damage") + + // Test some new -> old attack chain shenanigans + target.puppet.mind.remove_antag_datum(/datum/antagonist/cultist) + + ADD_TRAIT(cultist.puppet, TRAIT_PACIFISM, "test") + cultist.click_on(target) + TEST_ASSERT_EQUAL(target.puppet.health, target.puppet.getMaxHealth(), "non-cultist attacked by pacifist")