- Joined
- Sep 29, 2006
- Messages
- 447
is there a way to immediately remove a special effect that is on a unit without waiting for its death time. for instance, i have the mana shield effect attached to a unit in a trigger and when i want to remove it, i destroy the effect, but since the death time on the effect takes so long it looks very wrong and the mana shield stays there long after it should. can anyone help? I'll post the trigger just in case, although it shouldn't be needed since the trigger itself works fine.
-
Stasis Field New
-
Events
- Unit - A unit Starts the effect of an ability
-
Conditions
- (Ability being cast) Equal to Stasis Field (Tinker)
-
Actions
- Set TempPoint = (Target point of ability being cast)
- Set TempGroupArray[(Player number of (Owner of (Triggering unit)))] = (Units within 300.00 of TempPoint)
- Custom script: call RemoveLocation(udg_TempPoint)
-
Unit Group - Pick every unit in TempGroupArray[(Player number of (Owner of (Triggering unit)))] and do (Actions)
-
Loop - Actions
- Unit - Make (Picked unit) Invulnerable
- Unit - Pause (Picked unit)
- Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Spells\Human\ManaShield\ManaShieldCaster.mdl
- Set spfx[(Player number of (Owner of (Triggering unit)))] = (Last created special effect)
- Set StasisUnit[(Player number of (Owner of (Triggering unit)))] = (Picked unit)
-
Loop - Actions
- Wait (3.00 + (Real((Level of Stasis Field (Tinker) for (Triggering unit))))) seconds
- Unit - Make StasisUnit[(Player number of (Owner of (Triggering unit)))] Vulnerable
- Unit - Unpause StasisUnit[(Player number of (Owner of (Triggering unit)))]
- Special Effect - Destroy spfx[(Player number of (Owner of (Triggering unit)))]
- Custom script: call DestroyGroup(udg_TempGroupArray[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))])
- Custom script: set udg_spfx[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = null
-
Events