Hi, I've been struggling with making a simple (single target) taunt spell and now I've got something that is working but I don't think this is an optimal solution. Does anyone else have any better suggestion to how I could do this?
-
Illi Taunt start
- Events
- Conditions
-
Actions
- Set target = (Target unit of ability being cast)
- Unit - Order target to Right-Click Lord of the Seven 0141 <gen>
- Special Effect - Create a special effect attached to the overhead of target using Abilities\Spells\Undead\Possession\PossessionCaster.mdl
- Hashtable - Save 100 as 0 of (Key (Target unit of ability being cast)) in Illi_tauntHash
- Hashtable - Save Handle Of(Last created special effect) as 1 of (Key (Target unit of ability being cast)) in Illi_tauntHash
- Unit Group - Add target to Illi_tauntGrp
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Illi Taunt periodic <gen> is on) Equal to False
-
Then - Actions
- Trigger - Turn on Illi Taunt periodic <gen>
- Else - Actions
-
If - Conditions
-
Illi Taunt periodic
-
Events
- Time - Every 0.03 seconds of game time
- Conditions
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Number of units in Illi_tauntGrp) Greater than 0
-
Then - Actions
-
Unit Group - Pick every unit in Illi_tauntGrp and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- ((Picked unit) is alive) Equal to True
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Load 0 of (Key (Picked unit)) from Illi_tauntHash) Greater than 0
-
Then - Actions
- Hashtable - Save ((Load 0 of (Key (Picked unit)) from Illi_tauntHash) - 1) as 0 of (Key (Picked unit)) in Illi_tauntHash
-
Else - Actions
- Set tempLoc = (Position of (Picked unit))
- Unit - Order (Picked unit) to Right-Click tempLoc
- Special Effect - Destroy (Load 1 of (Key (Picked unit)) in Illi_tauntHash)
- Custom script: call RemoveLocation(udg_tempLoc)
- Unit Group - Remove (Picked unit) from Illi_tauntGrp
- Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Illi_tauntHash
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Else - Actions
- Special Effect - Destroy (Load 1 of (Key (Picked unit)) in Illi_tauntHash)
- Unit Group - Remove (Picked unit) from Illi_tauntGrp
- Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Illi_tauntHash
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
-
Unit Group - Pick every unit in Illi_tauntGrp and do (Actions)
-
Else - Actions
- Trigger - Turn off (This trigger)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Events
Last edited: