- Joined
- Jul 22, 2009
- Messages
- 214
Juste for exemple this is the spell when it's level 3:The Priestress absorb 4x her inteligence hit point to each enemy in a range of 550 and she redistribute it between all friendly unit around her.
What bad with this is when i cast it and there's no longer enemy it's heal the friendly unit. But only if i've casted it normaly(with enemy) before. Need help with this.
EDIT: I've upload the map if it can help you
-
Events
- Unit - A unit Starts the effect of an ability
-
Conditions
- (Ability being cast) Equal to Divine Intervention (priestress spell)
-
Actions
- -------- I set some variable --------
- Set CasterTEMP = (Casting unit)
- Set PointTEMP = (Position of CasterTEMP)
- Set PlayerTEMP = (Owner of CasterTEMP)
- Set InteligenceTEMP = (Intelligence of CasterTEMP (Include bonuses))
- Set SkillLevelTEMP = (Level of Divine Intervention (priestress spell) for CasterTEMP)
- -------- The radius depend on skill level --------
- Set RadiusTEMP = (100.00 x (Real(SkillLevelTEMP)))
- Set RadiusTEMP = (RadiusTEMP + 250.00)
- -------- The damage depend on skill lvl and inteligence --------
- Set DamageTEMP = ((Real(SkillLevelTEMP)) + 1.00)
- Set DamageTEMP = (DamageTEMP x (Real(InteligenceTEMP)))
- -------- I set the enemy unit in a group --------
- Set UnitGroupTEMP = (Units within RadiusTEMP of PointTEMP matching (((Owner of (Matching unit)) is an enemy of PlayerTEMP) Equal to True))
- -------- Calcul how many unit in the group(used later) --------
- Set UnitQtyTEMP[1] = (Number of units in UnitGroupTEMP)
-
Unit Group - Pick every unit in UnitGroupTEMP and do (Actions)
-
Loop - Actions
- -------- Deal the damage based on value calculed before --------
- Unit - Cause CasterTEMP to damage (Picked unit), dealing DamageTEMP damage of attack type Hero and damage type Normal
-
Loop - Actions
- -------- Destroy group(i d'ont know if it's usefull here) --------
- Custom script: call DestroyGroup(udg_UnitGroupTEMP)
- -------- calcul how much damage in total was dealed to enemies --------
- Set DamageTEMP = (DamageTEMP x (Real(UnitQtyTEMP[1])))
- -------- I set the friendly unit in a group --------
- Set UnitGroupTEMP = (Units within RadiusTEMP of PointTEMP matching (((Owner of (Matching unit)) is an ally of PlayerTEMP) Equal to True))
- -------- Calcul how many unit in the group --------
- Set UnitQtyTEMP[2] = (Number of units in UnitGroupTEMP)
- -------- calcul the total damage dealt to enemies/number of friendly unit --------
- Set DamageTEMP = (DamageTEMP / (Real(UnitQtyTEMP[2])))
- Set DamageTEMPinteger = (Integer(DamageTEMP))
-
Unit Group - Pick every unit in UnitGroupTEMP and do (Actions)
-
Loop - Actions
- Unit - Set life of (Picked unit) to ((Life of (Picked unit)) + DamageTEMP)
- Floating Text - Create floating text that reads (String(DamageTEMPinteger)) above (Picked unit) with Z offset 64.00, using font size 12.00, color (0.00%, 100.00%, 0.00%), and 0.00% transparency
- Set FloatingTextTEMP = (Last created floating text)
- Floating Text - Set the velocity of FloatingTextTEMP to 60.00 towards 90.00 degrees
- Floating Text - Change FloatingTextTEMP: Disable permanence
- Floating Text - Change the lifespan of FloatingTextTEMP to 2.00 seconds
- Floating Text - Change the fading age of FloatingTextTEMP to 1.70 seconds
- Special Effect - Create a special effect at (Position of (Picked unit)) using Abilities\Spells\Orc\HealingWave\HealingWaveTarget.mdl
-
Loop - Actions
- Custom script: call DestroyGroup(udg_UnitGroupTEMP)
- Custom script: call RemoveLocation(udg_PointTEMP)
EDIT: I've upload the map if it can help you