- Joined
- Dec 16, 2017
- Messages
- 343
Hello guys,i am trying to make a dispersion spell, where the caster get's spell immunity,damage reduction by 60% for 6 seconds, and heals for 2xSpell level% percent per second, i can't find the formula for number percent.. and disable attacks and spells casting for the caster, like basically doing a silence for attacks and spells on the caster
I use 1.28.5 patch WE
This is what i've done :
I use 1.28.5 patch WE
This is what i've done :
-
Dispersion
-
Events
- Unit - A unit Starts the effect of an ability
-
Conditions
- (Ability being cast) Equal to Dispersion (Priest SHADOW)
-
Actions
- Set DispersionCaster = (Triggering unit)
- Set DispersionDuration = 6
- Unit - Add DispersionDMGReduction to DispersionCaster
- Player - Disable DispersionDMGReduction for (Owner of DispersionCaster)
- Special Effect - Create a special effect attached to the origin of DispersionCaster using Dispersion.mdx
- Set DispersionSFX = (Last created special effect)
- Trigger - Turn on DispersionLoop <gen>
-
Events
-
DispersionLoop
-
Events
- Time - Every 1.00 seconds of game time
- Conditions
-
Actions
- Set DispersionCasterPosition = (Position of DispersionCaster)
- Set DispersionGroup = (Units within 30.00 of DispersionCasterPosition)
-
Unit Group - Pick every unit in DispersionGroup and do (Actions)
-
Loop - Actions
- Unit - Set life of DispersionCaster to ((Life of DispersionCaster) + (((1.00 + (Real((Level of Dispersion (Priest SHADOW) for DispersionCaster)))) + (Percentage life of DispersionCaster)) + 0.00))
- Set DispersionDuration = (DispersionDuration - 1)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- DispersionDuration Equal to 0
-
Then - Actions
- Special Effect - Destroy DispersionSFX
- Player - Enable DispersionDMGReduction for (Owner of DispersionCaster)
- Unit - Remove DispersionDMGReduction from DispersionCaster
- Trigger - Turn off (This trigger)
- Else - Actions
-
If - Conditions
- Custom script: call DestroyGroup(udg_DispersionGroup)
- Custom script: call RemoveLocation(udg_DispersionCasterPosition)
-
Events