• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

echo spell help

Status
Not open for further replies.
Level 5
Joined
Aug 24, 2010
Messages
133
i made a spell kinda like echo slam from dota
but my one doesnt enter the loops
and it doesnt create the unit at the beginning
i made it display texts through out the spell and currently it shows the init and loop 2 init but none of the others

i pretty much wanted to create the dummy unit banshee
then death coil everything and if its an ally put unholy frenzy on it
otherwise put howl of terror on it
and then make each unit hit by the banshee use death coil on surrounding units

also the way its made now the unit being targeted by the banshee would use its echo before its hit by the banshees echo does anyone know how to make it so that it echos when the unit is hit


  • Echo of the Damned
    • Events
      • Unit - A unit Finishes casting an ability
    • Conditions
      • (Ability being cast) Equal to Echo of the Damned (hero)
    • Actions
      • Set temp_point = (Target point of ability being cast)
      • Game - Display to (All players) the text: init
      • Set temp_integer = 1
      • Unit - Create 1 banshee for (Triggering player) at temp_point facing (Facing of (Triggering unit)) degrees
      • Set temp_unit = (Last created unit)
      • Animation - Play (Last created unit)'s spell animation
      • Unit Group - Pick every unit in (Units within (400.00 + (100.00 x (Real((Level of Echo of the Damned (hero) for hero_picks[(Player number of (Triggering player))]))))) of temp_point) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) is Mechanical) Equal to False
              • ((Picked unit) is An Ancient) Equal to False
              • ((Picked unit) belongs to an ally of (Triggering player)) Equal to True
              • ((Picked unit) is Magic Immune) Equal to False
            • Then - Actions
              • Set temp_pointarray[temp_integer] = (Position of (Picked unit))
              • Set temp_integer = (temp_integer + 1)
              • Unit - Create 1 dummy for (Owner of (Triggering unit)) at temp_point facing Default building facing degrees
              • Unit - Add Echo of the damned ally to (Last created unit)
              • Unit - Set level of Echo of the damned ally for (Last created unit) to (Level of Echo of the Damned (hero) for hero_picks[(Player number of (Triggering player))])
              • Unit - Order (Last created unit) to Orc Shadow Hunter - Healing Wave (Picked unit)
              • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
              • Custom script: call RemoveLocation (udg_temp_point2)
              • Game - Display to (All players) the text: (String(temp_integer))
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) is Mechanical) Equal to False
              • ((Picked unit) is An Ancient) Equal to False
              • ((Picked unit) belongs to an ally of (Triggering player)) Equal to False
              • ((Picked unit) is Magic Immune) Equal to False
            • Then - Actions
              • Set temp_pointarray[temp_integer] = (Position of (Picked unit))
              • Set temp_integer = (temp_integer + 1)
              • Unit - Create 1 dummy for (Owner of (Triggering unit)) at temp_point facing Default building facing degrees
              • Unit - Add echo of the damned enemy to (Last created unit)
              • Unit - Set level of echo of the damned enemy for (Last created unit) to (Level of Echo of the Damned (hero) for hero_picks[(Player number of (Triggering player))])
              • Unit - Order (Last created unit) to Orc Far Seer - Chain Lightning (Picked unit)
              • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
              • Custom script: call RemoveLocation (udg_temp_point2)
              • Game - Display to (All players) the text: (String(temp_integer))
            • Else - Actions
      • Game - Display to (All players) the text: loop 2 init
      • For each (Integer A) from 1 to temp_integer, do (Actions)
        • Loop - Actions
          • Unit Group - Pick every unit in (Units within (300.00 + (100.00 x (Real((Level of Echo of the Damned (hero) for hero_picks[(Player number of (Triggering player))]))))) of temp_pointarray[(Integer A)]) and do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • ((Picked unit) is Mechanical) Equal to False
                  • ((Picked unit) is An Ancient) Equal to False
                  • ((Picked unit) belongs to an ally of (Triggering player)) Equal to True
                  • ((Picked unit) is Magic Immune) Equal to False
                • Then - Actions
                  • Unit - Create 1 dummy for (Owner of (Triggering unit)) at temp_pointarray[(Integer A)] facing Default building facing degrees
                  • Game - Display to (All players) the text: (String((Integer A)))
                  • Unit - Add Echo of the damned ally to (Last created unit)
                  • Unit - Set level of Echo of the damned ally for (Last created unit) to (Level of Echo of the Damned (hero) for hero_picks[(Player number of (Triggering player))])
                  • Unit - Order (Last created unit) to Orc Shadow Hunter - Healing Wave (Picked unit)
                  • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
                  • Custom script: call RemoveLocation (udg_temp_point2)
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • ((Picked unit) is Mechanical) Equal to False
                  • ((Picked unit) is An Ancient) Equal to False
                  • ((Picked unit) belongs to an ally of (Triggering player)) Equal to False
                  • ((Picked unit) is Magic Immune) Equal to False
                • Then - Actions
                  • Unit - Create 1 dummy for (Owner of (Triggering unit)) at temp_pointarray[(Integer A)] facing Default building facing degrees
                  • Game - Display to (All players) the text: (String((Integer A)))
                  • Unit - Add echo of the damned enemy to (Last created unit)
                  • Unit - Set level of echo of the damned enemy for (Last created unit) to (Level of Echo of the Damned (hero) for hero_picks[(Player number of (Triggering player))])
                  • Unit - Order (Last created unit) to Orc Far Seer - Chain Lightning (Picked unit)
                  • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
                  • Custom script: call RemoveLocation (udg_temp_point2)
                • Else - Actions
      • Custom script: call RemoveLocation (udg_temp_point)
      • Unit - Remove temp_unit from the game
 
Level 9
Joined
Oct 11, 2009
Messages
477
Yes.... Maker is right.... "Starts the effect of an ability" event response returns the target point(location). "Begins casting an ability" event response also returns the point(location). The event response you used returns the location to null or (Center of (Playable map area)) because you begin to run the trigger without any point(location) reference.
 
Status
Not open for further replies.
Top