Hello everyone,
I have this problem i made this abillity which detects all enemy units with less than 30% health around unit and gives vision of those enemy units to player but i have a problem when i use:
EDIT: found solution with faerie fire if anyone is intrested heres code
Find the Pray - dummy abillity does nothing just tooltip.
Spell Book Find - disabled spellbook contains "Find the Pray (Movement bonus)".
Find the Pray (Movement bonus) - endurance aura just with movement speed bonus (5 levels (1 level does nothing, 2-5 level gives movement speed).
Detect Invisible(Find the Pray) - faerie fire.
Find the Pray (target) - farie fire buff.
EDIT 2: one question does this leaks?
I have this problem i made this abillity which detects all enemy units with less than 30% health around unit and gives vision of those enemy units to player but i have a problem when i use:
-
Unit - Grant shared vision of (enemy unit) to (Owner of Unit)
EDIT: found solution with faerie fire if anyone is intrested heres code
Find the Pray - dummy abillity does nothing just tooltip.
Spell Book Find - disabled spellbook contains "Find the Pray (Movement bonus)".
Find the Pray (Movement bonus) - endurance aura just with movement speed bonus (5 levels (1 level does nothing, 2-5 level gives movement speed).
Detect Invisible(Find the Pray) - faerie fire.
Find the Pray (target) - farie fire buff.
-
Find the Pray Learn
-

Events
-


Unit - A unit Learns a skill
-
-

Conditions
-


(Learned Hero Skill) Equal to Find the Pray
-
-

Actions
-


If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Level of Find the Pray for (Learning Hero)) Equal to 1
-
-



Then - Actions
-




Unit - Add Spell Book Find the Pray to (Learning Hero)
-




Unit - Set level of Find the Pray (Movement bonus) for (Learning Hero) to 5
-




Set FindThePrayUnitGroup[2] = (Units of type Peasant)
-
-



Else - Actions
-
-
-
-
Find the Pray
-

Events
-


Time - Every 0.50 seconds of game time
-
-

Conditions
-

Actions
-


Set FindThePrayUnitGroup[0] = (Units in (Entire map) matching ((Level of Find the Pray for (Matching unit)) Greater than 0))
-


If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Number of units in FindThePrayUnitGroup[0]) Not equal to 0
-
-



Then - Actions
-




Unit Group - Pick every unit in FindThePrayUnitGroup[0] and do (Actions)
-





Loop - Actions
-






Set FindThePrayUnit = (Picked unit)
-






Set FindThePrayPoint[0] = (Position of (Picked unit))
-






Set FindThePrayUnitGroup[1] = (Units in (Entire map) matching ((((((Matching unit) is A Hero) Equal to True) and ((Percentage life of (Matching unit)) Less than or equal to 30.00)) and (((Region centered at FindThePrayPoint[0] with size (6000.00, 6000.00)) contains (Matching unit)) Equal
-






If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-







If - Conditions
-








(Number of units in FindThePrayUnitGroup[1]) Not equal to 0
-
-







Then - Actions
-








Unit Group - Pick every unit in FindThePrayUnitGroup[1] and do (Actions)
-









Loop - Actions
-










Unit - Grant shared vision of (Picked unit) to (Owner of FindThePrayUnit)
-










Unit Group - Add (Picked unit) to FindThePrayUnitGroup[2]
-










Set FindThePrayUnitGroup[3] = (Units of type Footman)
-










For each (Integer A) from 1 to (Number of units in FindThePrayUnitGroup[1]), do (Actions)
-











Loop - Actions
-












If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-













If - Conditions
-














(FindThePrayVictim[(Integer A)] is in FindThePrayUnitGroup[3]) Equal to False
-
-













Then - Actions
-














Set FindThePrayVictim[(Integer A)] = (Random unit from FindThePrayUnitGroup[1])
-














Unit Group - Add FindThePrayVictim[(Integer A)] to FindThePrayUnitGroup[3]
-
-













Else - Actions
-
-
-
-










For each (Integer A) from 1 to (Number of units in FindThePrayUnitGroup[1]), do (Actions)
-











Loop - Actions
-












Set Point[1] = (Center of (Entire map))
-












Unit - Create 1 Dummy for (Owner of FindThePrayUnit) at Point[1] facing Default building facing degrees
-












Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
-












Custom script: call RemoveLocation(udg_Point[1])
-












Unit - Add Detect Invisible(Find the Pray) to (Last created unit)
-












Unit - Order (Last created unit) to Night Elf Druid Of The Talon - Faerie Fire (Picked unit)
-
-
-










Custom script: call DestroyGroup(udg_FindThePrayUnitGroup[3])
-
-
-








Unit - Set level of Find the Pray (Movement bonus) for FindThePrayUnit to ((Level of Find the Pray for FindThePrayUnit) + 1)
-
-







Else - Actions
-








Unit - Set level of Find the Pray (Movement bonus) for FindThePrayUnit to 1
-
-
-






Unit Group - Pick every unit in FindThePrayUnitGroup[2] and do (Actions)
-







Loop - Actions
-








If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-









If - Conditions
-










((Picked unit) is in FindThePrayUnitGroup[1]) Equal to False
-
-









Then - Actions
-










Unit Group - Remove (Picked unit) from FindThePrayUnitGroup[2]
-










Unit - Remove Find the Pray (target) buff from (Picked unit)
-










Unit - Deny shared vision of (Picked unit) to (Owner of FindThePrayUnit)
-
-









Else - Actions
-
-
-
-






Custom script: call DestroyGroup(udg_FindThePrayUnitGroup[1])
-






Custom script: call RemoveLocation(udg_FindThePrayPoint[0])
-
-
-
-



Else - Actions
-
-


Custom script: call DestroyGroup(udg_FindThePrayUnitGroup[0])
-
-
-
Set FindThePrayUnitGroup[0] = (Units in (Entire map) matching ((Level of Find the Pray for (Matching unit)) Greater than 0))
Last edited: