<configs>
    <append xpath="/buffs">

        <!-- buffElectrifiedShock: visual + slowdown during shock phase.
             Applied by C# for 4 seconds, then removed manually.
             No immunity at the end (unlike vanilla buffShocked). -->
        <buff name="buffElectrifiedShock" hidden="true">
            <stack_type value="replace"/>
            <duration value="6"/>

            <effect_group>
                <triggered_effect trigger="onSelfBuffStart" action="AttachParticleEffectToEntity" particle="p_electric_shock" parent_transform="Spine1" local_offset="0,-.2,0"/>
                <triggered_effect trigger="onSelfEnteredGame" action="AttachParticleEffectToEntity" particle="p_electric_shock" parent_transform="Spine1" local_offset="0,-.2,0"/>

                <triggered_effect trigger="onSelfBuffStart" action="PlaySound" sound="electric_fence_impact"/>

                <triggered_effect trigger="onSelfDied" action="RemoveParticleEffectFromEntity" particle="p_electric_shock"/>
                <triggered_effect trigger="onSelfBuffRemove" action="RemoveParticleEffectFromEntity" particle="p_electric_shock"/>
                <triggered_effect trigger="onSelfBuffFinish" action="RemoveParticleEffectFromEntity" particle="p_electric_shock"/>
                <triggered_effect trigger="onSelfBuffRemove" action="FadeOutSound" sound="electric_fence_impact"/>
                <triggered_effect trigger="onSelfLeaveGame" action="RemoveParticleEffectFromEntity" particle="p_electric_shock"/>
                <triggered_effect trigger="onSelfLeaveGame" action="StopSound" sound="electric_fence_impact"/>

                <!-- Near-paralysis during shock: 5% left for visual twitching -->
                <passive_effect name="RunSpeed" operation="perc_add" value="-0.95"/>
                <passive_effect name="WalkSpeed" operation="perc_add" value="-0.95"/>

                <!-- Neutralize attacks during shock -->
                <passive_effect name="BlockDamage" operation="perc_add" value="-0.95"/>
                <passive_effect name="EntityDamage" operation="perc_add" value="-0.95"/>
            </effect_group>
        </buff>

        <!-- buffElectrifiedKnockdown: applied at the END of shock.
             Ragdoll + anti-rage. No damage_type = no resistance.
             Independent from vanilla knockdown cooldowns. -->
        <buff name="buffElectrifiedKnockdown" hidden="true">
            <stack_type value="replace"/>
            <duration value="4"/>

            <effect_group>
                <passive_effect name="RunSpeed" operation="perc_set" value="0"/>
                <passive_effect name="WalkSpeed" operation="perc_set" value="0"/>

                <triggered_effect trigger="onSelfBuffStart" action="Ragdoll" duration="3.5">
                    <requirement name="!EntityTagCompare" tags="trader"/>
                </triggered_effect>

                <triggered_effect trigger="onSelfBuffStart" action="Rage" enabled="false"/>
            </effect_group>
        </buff>

    </append>
</configs>
