vicious_lunge_3.xml
<abilities>
<ability>
<clone>vicious_lunge</clone>
<key>vicious_lunge_3</key>
<description>
Move to and attack a target within ⮃{{stat -> key:LungeRangeBoost, add:5, pluralize:tile}}⮃ for
⮃+100% damage⮃.
[p]Lunging will reduce your defenses for 2 turns, increasing incoming damage by 25%.
</description>
<targetInfo>
<type>Lunge</type>
<lungeTargeting>
<selectionArea>
<type>square</type>
<allowTargets>
<allowCreature>true</allowCreature>
<allowEmpty>false</allowEmpty>
<allowPlayer>false</allowPlayer>
</allowTargets>
<params>
<params type="width">5</params>
<params type="height">5</params>
<params type="expandStat">LungeRangeBoost</params>
</params>
</selectionArea>
</lungeTargeting>
<abilityUseTime>
<type>weapon</type>
</abilityUseTime>
<jumpEffects>
<jumpEffect>
ShowAnimation -> key:dustring;
PlaySound -> key:dash;
</jumpEffect>
</jumpEffects>
<postTargetEffects>
<postTargetEffect>
AND PlayerHasAbility -> key:killing_momentum;
AND IsDead;
THEN ReduceCooldown -> key:vicious_lunge, amount:5, starts_with:true;
THEN write_log -> logAfterCombat:true, text:-5 cooldown to Vicious Lunge (Killing Momentum),
type:combat;
</postTargetEffect>
</postTargetEffects>
</targetInfo>
<unlockInfo>
<autoDiscover>0</autoDiscover>
<unlockRequirements>
<requiredPoints>1</requiredPoints>
</unlockRequirements>
<replaces>vicious_lunge_2</replaces>
</unlockInfo>
<attacks>
<attacks>
<count>0</count>
<animation>spell_stab_02</animation>
<modifiers>
<modifiers>
<type>Damage</type>
<amount>1.0</amount>
</modifiers>
</modifiers>
<selfEffects>
<selfEffects>
IF PlayerHasAbility -> key:shadowstride;
AND PlayerLastAttackHit;
AND HasStatusEffect -> key:shadowstride_status;
THEN ExtendStatusEffect -> key:«LINK:shadowstride_status», target:player, amount:1;
THEN write_log -> logAfterCombat:true, text:Shadowstride extended, type:combat;
</selfEffects>
<selfEffects>
IF PlayerHasAbility -> key:shadowstride;
AND PlayerLastAttackHit;
AND NOT HasStatusEffect -> key:shadowstride_status;
THEN ApplyStatusEffect -> key:«LINK:shadowstride_status», target:player, refresh:true;
THEN write_log -> logAfterCombat:true, text:Entered Shadowstride, type:combat;
</selfEffects>
<selfEffects>
IF PlayerHasAbility -> key:shadowstride;
AND NOT PlayerLastAttackHit;
AND NOT HasStatusEffect -> key:vicious_lunge_exposed;
THEN ApplyStatusEffect -> key:«LINK:vicious_lunge_exposed», target:player, refresh:true;
</selfEffects>
<selfEffects>
IF NOT PlayerHasAbility -> key:shadowstride;
AND NOT HasStatusEffect -> key:vicious_lunge_exposed;
THEN ApplyStatusEffect -> key:«LINK:vicious_lunge_exposed», target:player, refresh:true;
</selfEffects>
</selfEffects>
</attacks>
</attacks>
</ability>
</abilities>