Evaluate my spell: Sight

keychup

Active Member
Reaction score
34
This is a passive aura ability.
This ability reduces enemy movement speed by 10% (AoE: 600/800/1000/1200)
If enemy units under this aura fall below 33.33% HP you will have sight of them, and if invisible they will be revealed.

Here's how i made the spell:
-Every second I set a unit group variable (GroupA) and assign all units with the "Sight" ability to GroupA. They are then identified as UnitA.
-Then i set their points (PointA).
-Then i set a unit group (GroupB) which will be all enemies in range of PointA under the aura effect (they will have the "Sight - Slow" buff).
-If they are enemies and have 33.33% HP or lower i create a dummy and cast a Faerie Fire based spell to grant vision of that unit (They willl have the "Sight - Reveal" buff).
-After this i identify all units with the "Sight - Reveal" buff on the map and if they no longer have the "Sight - Slow" buff i remove the "Sight - Reveal" buff.
-In the end all Group variables and Point variables are cleared.

I think it should work fine since my map will be composed only of heroes (1 hero per player). What do you guys say? Got any better ideas? Do tell.

Please provide every criticism with a solution.
 

KaerfNomekop

Swim, fishies. Swim through the veil of steel.
Reaction score
613
When a unit learns the Sight ability, add it to a unit group. There's no need to create a group every second, when you can just pick the units that have the Sight ability learned.
 

vypur85

Hibernate
Reaction score
803
Actually no need the GroupA. Just a periodic trigger that picks every unit around the map with the Slow buff. Then check their HP and if they're not in GroupB. Add to GroupB if condition is right. Also add whatever actions you want (cast Faerie Fire etc).

Then in another line, pick all units in GroupB. Check if they still have the buff. If doesn't, remove Faerie Fire buff.

Post your trigger for us to get a clearer view of what you want to do. :)

Edit: Btw, giving the sight doesn't give much advantage since the passive aura AOE is so small. You'd be able to see the units anyways even without Faerie Fire (unless they're invisible, of course).
 

keychup

Active Member
Reaction score
34
Actually no need the GroupA. Just a periodic trigger that picks every unit around the map with the Slow buff. Then check their HP and if they're not in GroupB. Add to GroupB if condition is right. Also add whatever actions you want (cast Faerie Fire etc).

Then in another line, pick all units in GroupB. Check if they still have the buff. If doesn't, remove Faerie Fire buff.

Post your trigger for us to get a clearer view of what you want to do. :)

Edit: Btw, giving the sight doesn't give much advantage since the passive aura AOE is so small. You'd be able to see the units anyways even without Faerie Fire (unless they're invisible, of course).

Trigger:
  • sight periodic
    • Events
    • Conditions
    • Actions
      • Unit Group - Pick every unit in a_sight_unitg and do (Actions)
        • Loop - Actions
          • Set zz_Unit = (Picked unit)
          • Set zz_PointA = (Position of zz_Unit)
          • Set zz_UnitGroupA = (Units within (300.00 + (300.00 x (Real((Level of E - Sight for zz_Unit))))) of zz_PointA)
          • Unit Group - Pick every unit in zz_UnitGroupA and do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • And - All (Conditions) are true
                    • Conditions
                      • ((Picked unit) belongs to an enemy of (Owner of zz_Unit)) Equal to True
                      • (Percentage life of (Picked unit)) Less than or equal to 33.33
                      • ((Picked unit) has buff E - Sight (Buff)) Not equal to True
                • Then - Actions
                  • Set zz_PointB = (Position of (Picked unit))
                  • Unit - Create 1 ? for (Owner of zz_Unit) at zz_PointB facing Default building facing degrees
                  • Unit - Add True Sight (Dummy) to (Last created unit)
                  • Unit - Add E - Sight (Effect) to (Last created unit)
                  • Unit - Order (Last created unit) to Night Elf Druid Of The Talon - Faerie Fire (Picked unit)
                  • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
                  • Custom script: call RemoveLocation (udg_zz_PointB)
                • Else - Actions
          • Custom script: call DestroyGroup (udg_zz_UnitGroupA)
          • Set zz_UnitGroupB = (Units in (Playable map area) matching (((Matching unit) has buff E - Sight (Buff)) Equal to True))
          • Unit Group - Pick every unit in zz_UnitGroupB and do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • And - All (Conditions) are true
                    • Conditions
                      • ((Picked unit) has buff E - Sight ) Not equal to True
                • Then - Actions
                  • Unit - Remove E - Sight (Buff) buff from (Picked unit)
                • Else - Actions
          • Custom script: call DestroyGroup (udg_zz_UnitGroupB)
          • Custom script: call RemoveLocation (udg_zz_PointA)
 

keychup

Active Member
Reaction score
34
When a unit learns the Sight ability, add it to a unit group. There's no need to create a group every second, when you can just pick the units that have the Sight ability learned.

I can add the Sight casters to an initial group but what about the enemies. Since I have to add them to each caster's own group is it acceptable keep creating an updated group each second?
 

KaerfNomekop

Swim, fishies. Swim through the veil of steel.
Reaction score
613
I believe that is necessary to grant sight for players individually. Unless a unit under the aura below 1/3 HP is revealed to everybody, in which case you could use vypur's idea.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top