1) No, it won't, you didn't ask for that
-
Tri
-
Events
-
Time - Every 1.00 seconds of game-time
-
Conditions
-
Actions
-
If (All conditions are true) then do (Actions) else do (Actions)
-
If - Conditions
-
(EruptGroup is empty) Equal to True
-
Then - Actions
-
Trigger - Turn off (This trigger)
-
Else - Actions
-
Unit Group - Pick every unit in (EruptGroup) and do (Actions)
-
Loop - Actions
-
If (All conditions are true) then do (Actions) else do (Actions)
-
If - Conditions
-
((Picked unit) has Erupt (buff)) Equal to True
-
(Mana of (Picked unit)) Greater than or Equal to X
-
Then - Actions
-
Unit - Cause (Picked unit) to damage (Picked unit) dealing 17.00 damage of attack type Magic and damage type Fire
-
Else - Actions
-
Unit Group - Remove (Picked unit) from EruptGroup
I added the Real comparison of "Mana of (Picked unit)) Greater than or Equal to X". Set X to the value of mana you want the trigger to stop from being further used, e.g. 20. mana.
By the way, you said the trigger did stop working, so I guess you use Immolation for this?
2) Damage must be saved via a hashtable. In order to learn extra stuff for the hashtable, redirect yourself here:
http://www.hiveworkshop.com/forums/trigger-gui-editor-tutorials-279/hashtables-mui-133407/
Hashtable are big data savers, where you save values and objects and load them back. In order for your trigger to work with level dependency, you can also use indexing systems, but hashtables look more newbie-friendly.
-
Init
-
Events
-
Map Initialization
-
Conditions
-
Actions
-
Hashtable - Create a hashtable
-
Set Hash = (Last created hashtable)
Hash is a hashtable variable.
-
Tr
-
Events
-
Unit - A unit starts the effect of an ability
-
Conditions
-
(Ability being cast) Equal to Erupt
-
Actions
-
Set DamageDealt = (12 x (Real(Level of (Ability being cast) for (Triggering unit))))
-
Hashtable - Save DamageDealt as 1 of (Key(Triggering unit)) in Hash
-
Unit Group - Add (Triggering unit) to EruptGroup
-
Trigger - Turn on Tri <gen>
-
Tri
-
Events
-
Time - Every 1.00 seconds of game-time
-
Conditions
-
Actions
-
If (All conditions are true) then do (Actions) else do (Actions)
-
If - Conditions
-
(EruptGroup is empty) Equal to True
-
Then - Actions
-
Trigger - Turn off (This trigger)
-
Else - Actions
-
Unit Group - Pick every unit in (EruptGroup) and do (Actions)
-
Loop - Actions
-
If (All conditions are true) then do (Actions) else do (Actions)
-
If - Conditions
-
((Picked unit) has Erupt (buff)) Equal to True
-
(Mana of (Picked unit)) Greater than or Equal to X
-
Then - Actions
-
Set DamageLoad = (Load 1 of (Key(Picked unit)) from Hash)
-
Unit - Cause (Picked unit) to damage (Picked unit) dealing DamageLoad damage of attack type Magic and damage type Fire
-
Else - Actions
-
Unit Group - Remove (Picked unit) from EruptGroup
-
Hashtable - Clear all child hashtables of (Key(Picked unit)) from Hash
The hashtable action is "Hashtable - Save Real" and when you are supposed to type the value, select the DamageDealt variable instead.
DamageLoad is again a real variable (just like DamageDealt) and uses the Hashtable - Load Real value.