Reworking Immortality Field

I wanna rework Immortality Field so it will give any ally in the radius of Immortality Field 100 shield (Hp) at the start then give 50 Shield Hp every 3 seconds. Instead of having the players health not lower than minimum hp of inside field and not die.

OK, so this blew my mind. You can check if someone is under Immortality Field if their status is Unkillable:

rule("Immo Field Shield HP")
{
	event
	{
		Ongoing - Each Player;
		All;
		All;
	}

	conditions
	{
		Has Status(Event Player, Unkillable) == True;
	}

	actions
	{
		Skip If(Event Player.A == True, 2);
		Add Health Pool To Player(Event Player, Shields, 100, True, True);
		Event Player.A = True;
		Wait Until(Has Status(Event Player, Unkillable) == False, 3);
		Skip If(Has Status(Event Player, Unkillable) == False, 2);
		Add Health Pool To Player(Event Player, Shields, 50, True, True);
		Loop If Condition Is True;
		Wait(1, Restart when true);
		Remove All Health Pools From Player(Event Player);
		Event Player.A = False;
	}
}

This rule activates when a player is unkillable. It gives 100 Shield HP to that player, and 50 Shield HP every 3 seconds. As it is a loop, I put a variable to check if the player already has the initial 100 HP, so it can be skipped the next time. 1 second after the player is out of the field, the Health Pools are destroyed (I put that as I don’t know what did you want after it ends).

The only issue is that you can’t remove its original effect. That’s just not possible.

How am I able to lower the Hp of the Immortality field lamp? If thats a thing? I want to lower the hp to 75 from 125.

last time i checked the only way to lower health of objects is to lower the max health of the hero.

so the only way would be to set Baptistes max health to 50% then add a Workshop Healthpool to restore the other half of his Health on the character.

1 Like