phase_instability.xml
<abilities>
<ability>
<name>Phase Instability</name>
<key>phase_instability</key>
<skill>fulmination</skill>
<icon>phase_instability</icon>
<description>
Consume all Overload stacks, gaining 10 energy per stack.
[p]Gain a status effect for 5 turns, plus 2 additional turn for each stack consumed, granting:
[n]+15 attack and movement speed
[n]+15 dodge
[p]When hit by an attack, you have a 50% chance to teleport up to 2-4 tiles away in a random
direction.
</description>
<type>Immediate</type>
<abilitySoundPack>phase_instability</abilitySoundPack>
<cost>0.0</cost>
<cooldown>25</cooldown>
<immediateInfo>
<abilityUseTime>
<type>standard</type>
</abilityUseTime>
<effects>
<effects>
THEN Evaluator -> operation:set, amount:{{G:overload_stacks}}, key:energy_gain;
THEN Evaluator -> operation:multiply, amount:10, key:energy_gain;
THEN GiveEnergy -> amount:{{energy_gain}};
THEN write_log2 -> text:{{energy_gain}} energy restored (Phase Instability), type:combat;
</effects>
<effects>
THEN ApplyStatusEffect -> key:«LINK:phase_instability_status», target:player;
THEN Evaluator -> operation:set, amount:{{G:overload_stacks}}, key:phase_duration;
THEN Evaluator -> operation:multiply, amount:2, key:phase_duration;
THEN ExtendStatusEffect -> key:«LINK:phase_instability_status», amount:{{phase_duration}};
THEN RemoveStatusEffect -> key:«LINK:overload_status», target:player;
THEN ShowAnimation -> key:phase_instability;
</effects>
</effects>
</immediateInfo>
<unlockInfo>
<autoDiscover>0</autoDiscover>
<unlockRequirements>
<requiredPoints>2</requiredPoints>
<requires>overload</requires>
</unlockRequirements>
</unlockInfo>
<requirements>
<requirements>
<type>HasStat</type>
<params>
<params type="key">TyrosAttunement</params>
<params type="amount">2</params>
</params>
</requirements>
<requirements>
<type>status_effect_active</type>
<params>
<params type="status_key">overload_status</params>
<params type="status_name">Overload</params>
</params>
</requirements>
</requirements>
</ability>
</abilities>