Dancing Shadows

hopy

Active Member
Reaction score
64
Never mind, already fixed it - See post 4 for a different question please!


I had a spell which was supposed to create 8 Orbs around the caster, they start to move in a circle around the caster and blow up when they hit a target.

The Dark Knight releases his shadow energie to create 8 Shadow Orbs that circle around him. The orbs will explode when they touch an enemie unit dealing high shadow damage to that unit.

That ^.

Trigger:
  • Dancing Shadows
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Dancing Shadows [Dark Knight]
    • Actions
      • Set DS_Hero = (Triggering unit)
      • Set Point = (Position of (Triggering unit))
      • Set DS_angle = 0.00
      • For each (Integer A) from 1 to 8, do (Actions)
        • Loop - Actions
          • Set Point2 = (Point offset by 400.00 towards (45.00 x (Real((Integer A)))) degrees)
          • Unit - Create 1 Dummy Unit [Dancing SHadows] for (Owner of (Triggering unit)) at Point2 facing Default building facing degrees
          • Unit - Add a (12.00 + (4.00 x (Real((Level of Dancing Shadows [Dark Knight] for (Triggering unit)))))) second Generic expiration timer to (Last created unit)
          • Set DS_Orbs[(Integer A)] = (Last created unit)
          • Custom script: call RemoveLocation (udg_Point2)
      • Trigger - Turn on Dancing Shadows Periodic <gen>
      • Custom script: call RemoveLocation (udg_Point)

Trigger:
  • Dancing Shadows Periodic
    • Events
      • Time - Every 0.05 seconds of game time
    • Conditions
    • Actions
      • Set DS_angle = (DS_angle + 1.00)
      • Set Point = (Position of DS_Hero)
      • For each (Integer A) from 1 to 8, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (DS_Orbs[(Integer A)] is alive) Equal to True
            • Then - Actions
              • Set Point2 = (Point offset by 400.00 towards ((45.00 x (Real((Integer A)))) + (4.00 x DS_angle)) degrees)
              • Unit - Move DS_Orbs[(Integer A)] instantly to Point2
              • Set Unit_Group = (Units within 45.00 of Point2 matching ((((Matching unit) belongs to an enemy of (Owner of DS_Hero)) Equal to True) and ((((Matching unit) is A structure) Equal to False) and (((Matching unit) is Magic Immune) Equal to False))))
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Number of units in Unit_Group) Not equal to 0
                • Then - Actions
                  • Set Unit_Group2 = (Random 1 units from Unit_Group)
                  • Unit Group - Pick every unit in Unit_Group2 and do (Actions)
                    • Loop - Actions
                      • Unit - Cause DS_Hero to damage (Picked unit), dealing (60.00 + (40.00 x (Real((Level of Dancing Shadows [Dark Knight] for DS_Hero))))) damage of attack type Hero and damage type Death
                  • Unit - Remove DS_Orbs[(Integer A)] from the game
                • Else - Actions
              • Custom script: call DestroyGroup (udg_Unit_Group)
            • Else - Actions
      • Set Unit_Group = (Units owned by (Owner of (Triggering unit)) of type Dummy Unit [Dancing SHadows])
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Number of units in Unit_Group) Equal to 0
        • Then - Actions
          • Trigger - Turn off (This trigger)
        • Else - Actions
      • Custom script: call DestroyGroup (udg_Unit_Group)

Variables:
- DS_Hero is a unit variable (The caster).
- Point is a point variable used for: Placing the orbs and the Position on DS_Hero.
- Point is a point2 variable used for: Moving the Orbs.
- DS_angle is a real variable that's used for: Changing the angle the Orbs move to every time.
- DS_Orbs[] is a unit array that saves all the orbs.
- Unit_Group is a unit group that's used for looking at units that hit the orb and need to get damaged.

What happens:
The orbs get created but don't move and don't damage/die when hit.
Either the trigger doesn't get activated, or gets deactivated instantly... but I can't figure out why.
It's most likely a small mestake that I don't notice for some reason and someone says: ' Hey look, you failed there!' and than I'm like: 'Omfg, how lame' :banghead:.

+rep for any helpfull help.

========EDIT=========
OMFG!!!! I've been looking for the fail in this trigger for 2 days... and the second I pressed Post I spotted it...
Never mind... fixed it... Ignore me, -rep me... stuff like that. <,<
========/EDIT=========
 

SH4D0WS1N

New Member
Reaction score
2
Trigger:
  • If - Conditions
    • (Number of units in Unit_Group) Equal to 0
    • Then - Actions
      • Trigger - Turn off (This trigger)
    • Else - Actions

Variables:
- Unit_Group is a unit group that's used for looking at units that hit the orb and need to get damaged.
I did not read through the entire trigger, but basing this my response on that, the orbs are created, see no enemy targets, then shut off the trigger.

EDIT: Just read the line above it:
Trigger:
  • Set Unit_Group = (Units owned by (Owner of (Triggering unit)) of type Dummy Unit [Dancing SHadows])

There is no triggering unit in a periodical trigger.
 

hopy

Active Member
Reaction score
64
I did not read through the entire trigger, but basing this my response on that, the orbs are created, see no enemy targets, then shut off the trigger.

Well it was suppsed to check if there all the orbs were dead...
The problem was that the orbs it checked were "(Owner of (Triggering Unit))" and not (Owner of (DS_Hero))
A stupid mestake and I fail for not spotting it.
 

SH4D0WS1N

New Member
Reaction score
2
Well it was suppsed to check if there all the orbs were dead...
The problem was that the orbs it checked were "(Owner of (Triggering Unit))" and not (Owner of (DS_Hero))
A stupid mestake and I fail for not spotting it.

Yeah, I read through the trigger after posting, and pointed that out in an edit.
 

hopy

Active Member
Reaction score
64
Well, to make this thread not 100% useless, I'll add an extra question:
Is it any use to enable / disable triggers containing:
Trigger:
  • Unit - A unit Starts the effect of an ability

Trigger:
  • Unit - A unit Is attacked

Trigger:
  • Unit - A unit Dies

Would disabling those when they ain't used save any lag and stuff?

For example: Put them on Initialy off and turn them on when the hero that uses those triggers is picked?
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top