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 for each stack.
[p]Gain [b]Phase Instability[/b] for 5 turns, plus 2 more turns for each stack consumed.
[p][b]Phase Instability[/b]: +15 Attack Speed, +15 Movement Speed, +15 Dodge. Whenever an attack hits
you, 50% chance to teleport 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>