"Wait" preventing same rule from triggering again

I’m trying to make that for each charge of blink Tracer uses, she gets a 1/3 damage boost, lasting for that charge’s cooldown (3 seconds), stacks up to 3 times when all charges of blink are depleted, and loses 1 stack for each charge of blink comes back up.

rule(“Tracer blink 1”)
{
event
{
Ongoing - Each Player;
All;
Tracer;
}

conditions
{
	Is Using Ability 1(Event Player) == True;
}

actions
{
	Modify Player Variable(Event Player, PlayerMeter1, Add, Divide(100, 3));
	Set Damage Dealt(Event Player, Add(100, Player Variable(Event Player, PlayerMeter1)));
	Wait(3, Ignore Condition);
	Modify Player Variable(Event Player, PlayerMeter1, Subtract, Divide(100, 3));
	Set Damage Dealt(Event Player, Add(100, Player Variable(Event Player, PlayerMeter1)));
}

}

But when I activate the 2nd blink within this 3 second wait, the inspector writes “conditions became true, but not executing due to a wait behavior.”

I tried “restart when true” and “abort when false” options in this wait action, and both of them made it skip the subsequent two actions.

Do I have to make it into 3 actions so they can trigger respectively or is there any way to make it trigger again without aborting the last 2 actions?

You could try to do this:

  • Tracer uses blink --> modify dmg, append time stamp (“total time elapsed”) to a player array A
  • second rule: condition: “total time elapsed” - first of(array A) >= 3
  • second rule: action: revert dmg, remove first element from array A
2 Likes