ripple_devastation.xml
<abilities>
<ability>
<name>Ripple Devastation</name>
<key>ripple_devastation</key>
<skill>bludgeons</skill>
<icon>ripple_devastation</icon>
<description>
Whenever you use a targeted Bludgeon, Mace, Staff, or Flail ability you have a chance to apply a
[b]Vibrating[/b] debuff to targeted enemies.
[p][b]Vibrating[/b]: -20% Stun Resist, -20% Knockback Resist, -20% Crit Resist, and -20 Dodge.
[p]Vibrating lasts for 10 turns and does not stack.
[p]Entities starting their turn adjacent to a Vibrating entity also gain the Vibrating debuff.
[p]The chance to apply is 5%, plus 1% for each level in Bludgeons. Current Chance: {{calculator -> key:ripple_devastation_chance_calculator, display:percent}}.
</description>
<type>Passive</type>
<passiveInfo>
<triggers>
<triggers>
KEY ripple_devastation_trigger;
WHEN PlayerAttacks;
IF PlayerCurrentAbilityIs -> valid_skills:bludgeons|maces|staffs|flails;
IF Roll -> odds:{{C:ripple_devastation_chance_calculator}};
THEN ApplyStatusEffect -> key:«LINK:vibrating_status», target:players_attack_target,
refresh:true, queue:postCombat;
THEN OverheadText -> text:Vibrating, target:players_attack_target, queue:postCombat;
THEN ShowAnimation -> key:ripple_devastation, target:players_attack_target, queue:postCombat, hold:1000;
</triggers>
<triggers>
WITH StopOnEffectFail;
KEY ripple_devastation_trigger;
WHEN NearbyCreatureTurnStart -> hasStatuses:true;
AND NOT HasStatusEffect -> key:vibrating_status;
THEN VibratingCatch;
THEN ShowAnimation -> key:ripple_devastation;
</triggers>
</triggers>
</passiveInfo>
<unlockInfo>
<autoDiscover>0</autoDiscover>
<unlockRequirements>
<requiredPoints>4</requiredPoints>
<requires>advanced_bludgeons</requires>
</unlockRequirements>
</unlockInfo>
<requirements>
<requirements>
<type>Weapon</type>
<params>
<params type="weapon">Bludgeon</params>
</params>
</requirements>
</requirements>
</ability>
</abilities>