I need some help with moira

i want to give her back 4 second lingering, do i have to use a healing modification to do that? also i want to put her resource consumption back to 11 which i believe is 113% but it doesn’t feel right.

I did this check, it seems to work to detect heal from her primary and not the orb. But it will also detect heal even if the orb skill is in use. However, it’ll recheck the state each time the heal ticks from her primary so you’ll maybe need a bool to lock in the first instance of heal or maybe after it finishes? Not sure, I set it to .1 second to not trigger per healing tick so often in a short time. I also noticed if you very subtly tap the button just barely using meter but enough to trigger the passive without the primary heal, the condition isn’t detected; only if you really hold it down for a moment longer to really consume meter. So, it seems it only picks up the actual heal, not the passive effect. Not sure if I could have done something differently

rule("Rule 4")
{
event
{
	Player Received Healing;
	All;
	All;
}

conditions
{
	
}

actions
{
	If(Event Healing == Is Firing Primary(Players On Hero(Hero(Moira), Team Of(Event Player))) && Event Healing != Is Using Ability 2(
		Event Player));
		Small Message(All Players(All Teams), Custom String("getting healed"));
		Stop All Heal Over Time(Event Player);
		Start Heal Over Time(Event Player, Event Player, 4, 35);
	End;
	Wait(0.100, Ignore Condition);
}
}

6P90J set up with bots to test

1 Like

Moira still has her lingering healing though, right?

EDIT: And if she does, you don’t have to do this complex stuff, you can just do this:

variables {
    player:
        0: healOverTimeID
}
rule ("Do lingering healing") {
    event {
        Player Dealt Healing;
        All;
        Moira;
    }
    conditions {
        Event Ability == Button(Primary Fire);
    }
    actions {
        Stop Heal Over Time((Healee).healOverTimeID);
        Wait(0.1, Restart When True);
        Start Heal Over Time(Healee, Healer, 4, 20);
        Set Player Variable(Healee, healOverTimeID, Last Heal Over Time ID);
    }
}

This will check whether Moira healed someone and whether she did it with her primary fire. It will stop the previous linger if it exists, and then waits until it’s been 0.1 seconds since the last healing tick, at which point it starts the 4 second lingering. Note that this will obviously not work properly if the lingering still exists, which I’m pretty sure it does.

1 Like