<abilities>
  <ability>
    <name>Heroic Return</name>
    <key>heroic_return</key>
    <skill>maces</skill>
    <icon>heroic_return</icon>
    <description>

      For each enemy knocked back by Heroic Slam, gain 25 energy, even past your maximum energy.
    </description>
    <type>Upgrade</type>
    <passiveInfo>
      <triggers>
        <triggers>
          KEY heroic_return_trigger;
          WHEN PlayerAttackAnimationComplete;
          IF PlayerCurrentAbilityIs -> key:heroic_slam;
          IF NumberCompare -> key:{{Q:PlayerTargets -> isHit:true, requiresKnockback:true}}, greater_than:0;
          THEN Evaluator -> operation:set, amount:{{Q:PlayerTargets -> isHit:true, requiresKnockback:true}}, key:energy_gain;
          THEN Evaluator -> operation:mul, amount:25, key:energy_gain;
          THEN GiveEnergy -> amount:{{energy_gain}}, overfill:true, overhead:true;
          THEN write_log2 -> text:{{give_energy_result}} energy gained (Heroic Return), type:combat;
        </triggers>
      </triggers>
    </passiveInfo>
    <unlockInfo>
      <autoDiscover>0</autoDiscover>
      <unlockRequirements>
        <requiredPoints>2</requiredPoints>
        <requiresAbility>heroic_slam</requiresAbility>
      </unlockRequirements>
    </unlockInfo>
  </ability>
</abilities>
