• 🏆 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!

Shadow Strike v 1.4

Long time since I touched this cutie. So the time has come...

Summons 5 shadow spirits around the target enemy to destroy it. Each spirit jumps and slashes the enemy 5 times a second.
Level 1: 25 damage per second.
Level 2: 50 damage per second.
Level 3: 75 damage per second.

  • Init
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Visibility - Disable fog of war
      • Visibility - Disable black mask
      • Set SSMax = 2
      • For each (Integer A) from 0 to SSMax, do (Actions)
        • Loop - Actions
          • Custom script: set udg_SSDummyGroup[GetForLoopIndexA()] = CreateGroup()
      • -------- Configurables --------
      • -------- Level 1 --------
      • Set Damage[1] = 5.00
      • Set Delay[1] = 0.60
      • Set Duration[1] = 10.00
      • -------- Level 2 --------
      • Set Damage[2] = 10.00
      • Set Delay[2] = 0.40
      • Set Duration[2] = 15.00
      • -------- Level 3 --------
      • Set Damage[3] = 15.00
      • Set Delay[3] = 0.20
      • Set Duration[3] = 20.00
  • Shadow Strike
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Shadow Strike
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • SSHas[SSLastRecycled] Equal to True
        • Then - Actions
          • Set SSMax = (SSMax + 1)
          • Set SSLastRecycled = SSMax
          • Set SSIndex = SSLastRecycled
          • Set SSLastRecycled = SSRecycledList[SSLastRecycled]
          • Custom script: set udg_SSDummyGroup[udg_SSIndex] = CreateGroup()
        • Else - Actions
          • Set SSIndex = SSLastRecycled
          • Set SSLastRecycled = SSRecycledList[SSLastRecycled]
      • Set SSCaster[SSIndex] = (Triggering unit)
      • Set SSTarget[SSIndex] = (Target unit of ability being cast)
      • Set SSDamage[SSIndex] = Damage[(Level of Shadow Strike for SSCaster[SSIndex])]
      • Set SSDelay[SSIndex] = Delay[(Level of Shadow Strike for SSCaster[SSIndex])]
      • Set SSDuration[SSIndex] = Duration[(Level of Shadow Strike for SSCaster[SSIndex])]
      • Set TempPoint = (Position of SSTarget[SSIndex])
      • For each (Integer A) from 1 to 5, do (Actions)
        • Loop - Actions
          • Set TempPoint2 = (TempPoint offset by 300.00 towards (72.00 x (Real((Integer A)))) degrees)
          • Unit - Create 1 Shadow for (Triggering player) at TempPoint2 facing TempPoint
          • Unit Group - Add (Last created unit) to SSDummyGroup[SSIndex]
          • Animation - Change (Last created unit)'s animation speed to 200.00% of its original speed
          • Special Effect - Create a special effect at TempPoint2 using Metamorphosis.mdx
          • Special Effect - Destroy (Last created special effect)
          • Custom script: call RemoveLocation (udg_TempPoint2)
      • Custom script: call RemoveLocation (udg_TempPoint)
      • Set SSHas[SSIndex] = True
      • Set SSCount = (SSCount + 1)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Shadow Strike Loop <gen> is on) Equal to False
        • Then - Actions
          • Trigger - Turn on Shadow Strike Loop <gen>
        • Else - Actions
  • Shadow Strike Loop
    • Events
      • Time - Every 0.20 seconds of game time
    • Conditions
    • Actions
      • For each (Integer SSInteger) from 0 to SSMax, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • SSHas[SSInteger] Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • SSDelay[SSInteger] Greater than 0.00
                • Then - Actions
                  • Set SSDelay[SSInteger] = (SSDelay[SSInteger] - 0.20)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • SSDuration[SSInteger] Greater than 0.00
                    • Then - Actions
                      • Set SSDuration[SSInteger] = (SSDuration[SSInteger] - 0.20)
                      • Special Effect - Create a special effect attached to the overhead of SSTarget[SSInteger] using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
                      • Special Effect - Destroy (Last created special effect)
                      • Set TempPoint = (Position of SSTarget[SSInteger])
                      • Unit Group - Pick every unit in SSDummyGroup[SSInteger] and do (Actions)
                        • Loop - Actions
                          • Set TempPoint2 = (Position of (Picked unit))
                          • Set TempPoint3 = (TempPoint offset by 125.00 towards (Random angle) degrees)
                          • Unit - Move (Picked unit) instantly to TempPoint3, facing TempPoint
                          • Animation - Play (Picked unit)'s attack animation
                          • Custom script: call RemoveLocation (udg_TempPoint2)
                          • Custom script: call RemoveLocation (udg_TempPoint3)
                      • Custom script: call RemoveLocation (udg_TempPoint)
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Life of SSTarget[SSInteger]) Less than or equal to SSDamage[SSInteger]
                        • Then - Actions
                          • Unit - Kill SSTarget[SSInteger]
                          • Special Effect - Create a special effect attached to the origin of SSTarget[SSInteger] using DarkLightningNova.mdx
                          • Unit Group - Pick every unit in SSDummyGroup[SSInteger] and do (Unit - Kill (Picked unit))
                          • Unit Group - Remove all units from SSDummyGroup[SSInteger]
                          • Set SSHas[SSInteger] = False
                          • Set SSCount = (SSCount + 1)
                        • Else - Actions
                          • Unit - Cause SSCaster[SSInteger] to damage SSTarget[SSInteger], dealing SSDamage[SSInteger] damage of attack type Hero and damage type Enhanced
                    • Else - Actions
                      • Unit Group - Pick every unit in SSDummyGroup[SSInteger] and do (Unit - Kill (Picked unit))
                      • Unit Group - Remove all units from SSDummyGroup[SSInteger]
                      • Set SSHas[SSInteger] = False
                      • Set SSCount = (SSCount + 1)
            • Else - Actions
              • Set SSRecycledList[SSInteger] = SSLastRecycled
              • Set SSLastRecycled = SSInteger
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • SSCount Equal to 0
                • Then - Actions
                  • Trigger - Turn off (This trigger)
                • Else - Actions
v1.3->v1.4
fully rewritten
added configurables
changed spell effects
v1.2->v1.3
fixed bugs
rewriten using unit groups
v1.1->v1.2
added index recycling
greatly reduced fps lag


Credits:
Metamorphosis-> JetFangInferno
Dark Lightning-> JetFangInferno

Keywords:
strike, slash, spell, target, dark, cut, kill, assassinate, spirit, summon, jump, blink,
Contents

Shadow Strike v 1.4 (Map)

Reviews
10:58, 2nd Sep 2010 The_Reborn_Devil: The triggering looks ok now, even though your recycling method isn't the most favoured, but it does it's job I suppose. Status: Approved Rating: Useful

Moderator

M

Moderator

10:58, 2nd Sep 2010
The_Reborn_Devil:

The triggering looks ok now, even though your recycling method isn't the most favoured, but it does it's job I suppose.


Status: Approved
Rating: Useful
 
Level 2
Joined
Mar 28, 2010
Messages
7
I love the spell:)
but, it's not MUI:(

Im not the best to trigger, but I was trying edit the spell a little.
Examble:
I Turned all this stuff,
  • Shadow Strike
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Shadow Strike
    • Actions
      • Set Caster[1] = (Casting unit)
      • Set Target[1] = (Target unit of ability being cast)
      • Set Point[1] = (Position of Target[1])
      • Set Angle[1] = 0.00
      • Set Angle[2] = 72.00
      • Set Angle[3] = 144.00
      • Set Angle[4] = 216.00
      • Set Angle[5] = 288.00
      • Set Point[2] = (Point[1] offset by 500.00 towards Angle[1] degrees)
      • Unit - Create 1 Shadow for (Owner of Caster[1]) at Point[2] facing Point[1]
      • Special Effect - Create a special effect at Point[2] using Metamorphosis.mdx
      • Special Effect - Destroy (Last created special effect)
      • Animation - Change (Last created unit)'s animation speed to 300.00% of its original speed
      • Set Dummy[1] = (Last created unit)
      • Special Effect - Create a special effect attached to the head of (Last created unit) using Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
      • Set SpecialEffect[1] = (Last created special effect)
      • Special Effect - Create a special effect attached to the hand, left of (Last created unit) using Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
      • Set SpecialEffect[2] = (Last created special effect)
      • Special Effect - Create a special effect attached to the hand, right of (Last created unit) using Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
      • Set SpecialEffect[3] = (Last created special effect)
      • Animation - Change (Last created unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 60.00% transparency
      • Custom script: call RemoveLocation (udg_Point[2])
      • Set Point[2] = (Point[1] offset by 500.00 towards Angle[2] degrees)
      • Unit - Create 1 Shadow for (Owner of Caster[1]) at Point[2] facing Point[1]
      • Special Effect - Create a special effect at Point[2] using Metamorphosis.mdx
      • Special Effect - Destroy (Last created special effect)
      • Animation - Change (Last created unit)'s animation speed to 300.00% of its original speed
      • Set Dummy[2] = (Last created unit)
      • Special Effect - Create a special effect attached to the head of (Last created unit) using Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
      • Set SpecialEffect[4] = (Last created special effect)
      • Special Effect - Create a special effect attached to the hand, left of (Last created unit) using Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
      • Set SpecialEffect[5] = (Last created special effect)
      • Special Effect - Create a special effect attached to the hand, right of (Last created unit) using Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
      • Set SpecialEffect[6] = (Last created special effect)
      • Animation - Change (Last created unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 60.00% transparency
      • Custom script: call RemoveLocation (udg_Point[2])
      • Set Point[2] = (Point[1] offset by 500.00 towards Angle[3] degrees)
      • Unit - Create 1 Shadow for (Owner of Caster[1]) at Point[2] facing Point[1]
      • Special Effect - Create a special effect at Point[2] using Metamorphosis.mdx
      • Special Effect - Destroy (Last created special effect)
      • Animation - Change (Last created unit)'s animation speed to 300.00% of its original speed
      • Set Dummy[3] = (Last created unit)
      • Special Effect - Create a special effect attached to the head of (Last created unit) using Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
      • Set SpecialEffect[7] = (Last created special effect)
      • Special Effect - Create a special effect attached to the hand, left of (Last created unit) using Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
      • Set SpecialEffect[8] = (Last created special effect)
      • Special Effect - Create a special effect attached to the hand, right of (Last created unit) using Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
      • Set SpecialEffect[9] = (Last created special effect)
      • Animation - Change (Last created unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 60.00% transparency
      • Custom script: call RemoveLocation (udg_Point[2])
      • Set Point[2] = (Point[1] offset by 500.00 towards Angle[4] degrees)
      • Unit - Create 1 Shadow for (Owner of Caster[1]) at Point[2] facing Point[1]
      • Special Effect - Create a special effect at Point[2] using Metamorphosis.mdx
      • Special Effect - Destroy (Last created special effect)
      • Animation - Change (Last created unit)'s animation speed to 300.00% of its original speed
      • Set Dummy[4] = (Last created unit)
      • Special Effect - Create a special effect attached to the head of (Last created unit) using Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
      • Set SpecialEffect[10] = (Last created special effect)
      • Special Effect - Create a special effect attached to the hand, left of (Last created unit) using Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
      • Set SpecialEffect[11] = (Last created special effect)
      • Special Effect - Create a special effect attached to the hand, right of (Last created unit) using Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
      • Set SpecialEffect[12] = (Last created special effect)
      • Animation - Change (Last created unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 60.00% transparency
      • Custom script: call RemoveLocation (udg_Point[2])
      • Set Point[2] = (Point[1] offset by 500.00 towards Angle[5] degrees)
      • Unit - Create 1 Shadow for (Owner of Caster[1]) at Point[2] facing Point[1]
      • Special Effect - Create a special effect at Point[2] using Metamorphosis.mdx
      • Special Effect - Destroy (Last created special effect)
      • Animation - Change (Last created unit)'s animation speed to 300.00% of its original speed
      • Set Dummy[5] = (Last created unit)
      • Special Effect - Create a special effect attached to the head of (Last created unit) using Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
      • Set SpecialEffect[13] = (Last created special effect)
      • Special Effect - Create a special effect attached to the hand, left of (Last created unit) using Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
      • Set SpecialEffect[14] = (Last created special effect)
      • Special Effect - Create a special effect attached to the hand, right of (Last created unit) using Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
      • Set SpecialEffect[15] = (Last created special effect)
      • Animation - Change (Last created unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 60.00% transparency
      • Custom script: call RemoveLocation (udg_Point[2])
      • Custom script: call RemoveLocation (udg_Point[1])
      • Trigger - Turn on Shadow Strike Start <gen>
into this:
  • Shadow Strike Edit
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Shadow Strike
    • Actions
      • Set Caster[1] = (Casting unit)
      • Set Target[1] = (Target unit of ability being cast)
      • Set Point[1] = (Position of Target[1])
      • Set Angle[1] = 0.00
      • Set Angle[2] = 72.00
      • Set Angle[3] = 144.00
      • Set Angle[4] = 216.00
      • Set Angle[5] = 288.00
      • For each (Integer A) from 1 to 5, do (Actions)
        • Loop - Actions
          • Set Point[2] = (Point[1] offset by 500.00 towards Angle[(Integer A)] degrees)
          • Unit - Create 1 Shadow for (Owner of Caster[1]) at Point[2] facing Point[1]
          • Special Effect - Create a special effect at Point[2] using Metamorphosis.mdx
          • Special Effect - Destroy (Last created special effect)
          • Animation - Change (Last created unit)'s animation speed to 300.00% of its original speed
          • Set Dummy[(Integer A)] = (Last created unit)
          • Special Effect - Create a special effect attached to the head of (Last created unit) using Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
          • Set SpecialEffect[((((Integer A) - 1) x 3) + 1)] = (Last created special effect)
          • Special Effect - Create a special effect attached to the hand, left of (Last created unit) using Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
          • Set SpecialEffect[((((Integer A) - 1) x 3) + 2)] = (Last created special effect)
          • Special Effect - Create a special effect attached to the hand, right of (Last created unit) using Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
          • Set SpecialEffect[((((Integer A) - 1) x 3) + 3)] = (Last created special effect)
          • Animation - Change (Last created unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 60.00% transparency
          • Custom script: call RemoveLocation (udg_Point[2])
      • Custom script: call RemoveLocation (udg_Point[2])
      • Custom script: call RemoveLocation (udg_Point[1])
      • Trigger - Turn on Shadow Strike Start <gen>
(I'm still not finish with this, and there is a long way before it's MUI)!

I hope this will help you :D
 
Level 16
Joined
Jun 24, 2009
Messages
1,409
lolz
i haven't uploaded the new code but i made it shorter and better
i removed the avenger missile special effects
still working on make it better ~.~ i upload the new soon
new trigger:
  • Shadow Strike
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Shadow Strike
    • Actions
      • Set Caster[1] = (Casting unit)
      • Set Target[1] = (Target unit of ability being cast)
      • Set Point[1] = (Position of Target[1])
      • Set Angle[1] = 0.00
      • Set Angle[2] = 72.00
      • Set Angle[3] = 144.00
      • Set Angle[4] = 216.00
      • Set Angle[5] = 288.00
      • For each (Integer A) from 1 to 5, do (Actions)
        • Loop - Actions
          • Set Point[2] = (Point[1] offset by 500.00 towards Angle[(Integer A)] degrees)
          • Unit - Create 1 Shadow for (Owner of Caster[1]) at Point[2] facing Point[1]
          • Special Effect - Create a special effect at Point[2] using Metamorphosis.mdx
          • Special Effect - Destroy (Last created special effect)
          • Set Dummy[(Integer A)] = (Last created unit)
          • Custom script: call RemoveLocation (udg_Point[2])
          • Animation - Change Dummy[(Integer A)]'s animation speed to 300.00% of its original speed
          • Animation - Change Dummy[(Integer A)]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 60.00% transparency
      • Custom script: call RemoveLocation (udg_Point[2])
      • Custom script: call RemoveLocation (udg_Point[1])
      • Trigger - Turn on Shadow Strike Start <gen>
  • Shadow Strike Loop
    • Events
      • Time - Every 0.20 seconds of game time
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Life of Target[1]) Less than (25.00 + (25.00 x (Real((Level of Shadow Strike for Caster[1])))))
        • Then - Actions
          • For each (Integer A) from 1 to 5, do (Actions)
            • Loop - Actions
              • Unit - Remove Dummy[(Integer A)] from the game
          • Unit - Kill Target[1]
          • Special Effect - Create a special effect at Point[1] using DarkLightningNova.mdx
          • Special Effect - Destroy (Last created special effect)
          • Custom script: call RemoveLocation (udg_Point[1])
          • Trigger - Turn off (This trigger)
        • Else - Actions
      • Set Point[1] = (Position of Target[1])
      • For each (Integer A) from 1 to 5, do (Actions)
        • Loop - Actions
          • Set Angle[(Integer A)] = (Angle[(Integer A)] + 30.00)
          • Set Point[2] = (Point[1] offset by 150.00 towards Angle[(Integer A)] degrees)
          • Unit - Move Dummy[(Integer A)] instantly to Point[2], facing Point[(Integer A)]
          • Custom script: call RemoveLocation (udg_Point[2])
          • Animation - Play Dummy[(Integer A)]'s attack animation
      • Unit - Cause (Last created unit) to damage Target[1], dealing (25.00 + (25.00 x (Real((Level of Shadow Strike for Caster[1]))))) damage of attack type Hero and damage type Enhanced
      • Special Effect - Create a special effect attached to the chest of Target[1] using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
      • Special Effect - Destroy (Last created special effect)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Target[1] has buff Shadow Strike 2) Equal to False
        • Then - Actions
          • For each (Integer A) from 1 to 5, do (Actions)
            • Loop - Actions
              • Unit - Remove Dummy[(Integer A)] from the game
          • Special Effect - Create a special effect at Point[1] using DarkLightningNova.mdx
          • Special Effect - Destroy (Last created special effect)
          • Custom script: call RemoveLocation (udg_Point[1])
          • Trigger - Turn off (This trigger)
        • Else - Actions
 
Level 16
Joined
Jun 24, 2009
Messages
1,409
i've tried to make it MUI but it doesn't work as it needed to be
i hope somebody can help, these are the triggers:
  • Shadow Strike
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Shadow Strike
    • Actions
      • Set CastInteger = (CastInteger + 1)
      • Set PointInteger = (PointInteger + 1)
      • Set SpellInteger = (SpellInteger + 1)
      • Set IntegerArray = SpellInteger
      • Set Caster[IntegerArray] = (Casting unit)
      • Set Target[IntegerArray] = (Target unit of ability being cast)
      • Set Point[PointInteger] = (Position of Target[IntegerArray])
      • Set Angle[1] = 0.00
      • Set Angle[2] = 72.00
      • Set Angle[3] = 144.00
      • Set Angle[4] = 216.00
      • Set Angle[5] = 288.00
      • For each (Integer Integer) from 1 to 5, do (Actions)
        • Loop - Actions
          • Set Point2[PointInteger] = (Point[PointInteger] offset by 500.00 towards Angle[Integer] degrees)
          • Unit - Create 1 Shadow for (Owner of Caster[IntegerArray]) at Point2[PointInteger] facing Point[PointInteger]
          • Special Effect - Create a special effect at Point2[PointInteger] using Metamorphosis.mdx
          • Special Effect - Destroy (Last created special effect)
          • Set Dummy[Integer] = (Last created unit)
          • Custom script: call RemoveLocation (udg_Point2[udg_PointInteger])
          • Animation - Change Dummy[Integer]'s animation speed to 300.00% of its original speed
          • Animation - Change Dummy[Integer]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 60.00% transparency
      • Custom script: call RemoveLocation (udg_Point[udg_PointInteger])
      • Trigger - Turn on Shadow Strike Start <gen>
  • Shadow Strike Start
    • Events
      • Time - Every 0.10 seconds of game time
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Target[IntegerArray] has buff Shadow Strike 2) Equal to True
        • Then - Actions
          • Trigger - Turn on Shadow Strike Loop <gen>
          • Trigger - Turn off (This trigger)
        • Else - Actions
  • Shadow Strike Loop
    • Events
      • Time - Every 0.20 seconds of game time
    • Conditions
    • Actions
      • Set Point[PointInteger] = (Position of Target[IntegerArray])
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Life of Target[IntegerArray]) Less than (25.00 + (25.00 x (Real((Level of Shadow Strike for Caster[IntegerArray])))))
        • Then - Actions
          • For each (Integer Integer) from 1 to 5, do (Actions)
            • Loop - Actions
              • Unit - Remove Dummy[Integer] from the game
          • Unit - Kill Target[IntegerArray]
          • Special Effect - Create a special effect at Point[PointInteger] using DarkLightningNova.mdx
          • Special Effect - Destroy (Last created special effect)
          • Custom script: call RemoveLocation (udg_Point[udg_PointInteger])
          • Trigger - Turn off (This trigger)
        • Else - Actions
      • For each (Integer Integer) from 1 to 5, do (Actions)
        • Loop - Actions
          • Set Angle[Integer] = (Angle[Integer] + 30.00)
          • Set Point2[PointInteger] = (Point[PointInteger] offset by 150.00 towards Angle[Integer] degrees)
          • Unit - Move Dummy[Integer] instantly to Point2[PointInteger], facing Point[PointInteger]
          • Custom script: call RemoveLocation (udg_Point2[udg_PointInteger])
          • Animation - Play Dummy[Integer]'s attack animation
      • Unit - Cause Caster[IntegerArray] to damage Target[IntegerArray], dealing (25.00 + (25.00 x (Real((Level of Shadow Strike for Caster[IntegerArray]))))) damage of attack type Hero and damage type Enhanced
      • Special Effect - Create a special effect attached to the chest of Target[IntegerArray] using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
      • Special Effect - Destroy (Last created special effect)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Target[IntegerArray] has buff Shadow Strike 2) Equal to False
        • Then - Actions
          • For each (Integer Integer) from 1 to 5, do (Actions)
            • Loop - Actions
              • Unit - Remove Dummy[Integer] from the game
          • Special Effect - Create a special effect at Point[PointInteger] using DarkLightningNova.mdx
          • Special Effect - Destroy (Last created special effect)
          • Custom script: call RemoveLocation (udg_Point[udg_PointInteger])
          • Trigger - Turn off (This trigger)
        • Else - Actions
 
Since IDK indexing, I'll be suggesting using hashtables

just add every target unit into a unit group, save all shadows in a hashtable, the duration into that hashtable and then just create a loop trigger that loops thru all units in the unit group...

if you do not know how to use hashtables, search in the tutorials section...

^^

anyway, nice spell idea...
 
Level 16
Joined
Jun 24, 2009
Messages
1,409
the duration depends on the enemy
if it has the buff and it starts the effects of a dispell the spell will end
i started to learn that hashtable thing but it's a little complicated ~.1
how can i make it without a concrete duration in hashtable?
 
Last edited:
Level 16
Joined
May 1, 2008
Messages
1,605
Moin moin =)

Wow! Another good example of a spell, where I need to ask myself, if a spell moderator know, what he do -_-. Why the hell (and this is nothing against you Marsal2000 now) this spell get an approval status? I tested the spell at all 5 times and I got those 7 things, which are NOT correct in any case (5. is not important). A spell creator should trust at least a rating and comment of the moderator, but after this spell, I hope everyone see, how much we can give to it!!

1) Look at the keywords: Not that if would be enough, that there are some unnecessary keywords, no there are even keywords, which are double used (like strike and shadow)

2) When I cast the spell two times and more, there's a huge lag!

3) It says "reduce movementspeed by 100%", you never ask yourself, why the target unit is still moving?

4) Also it says "deals 0.02/0.04/0.06/0.08/0.10 of the casters agility as damage", but look at the formula how the damage is calculated: "0.02 x agility of the caster * agility of the caster"

5) When the target unit is dead (which is very fast with that damage calculation), the summoned spirits stand around and do nothing until they die. If the target unit is dead, you should remove those spirits.

6) After the spell is done, even then some spirits can stay on the map and they never get removed.
bplf9q7sproe9q2fw.jpg

7) You should really learn, how to make a spell correct MUI! not with pick every unit on the map to check when the trigger should be disabled and the way how you loop is not approve able too.

8) Also a huge bug, if I cast the spell and some spirits remains and I cast it again, those last spirit will attack to, so I have more then 5 spirits and at all I deal over 20000 damage in this way.

@Marsal2000: Again what I said above is NOT your fault ok? I'm just a little angry about the reborn devil in this case! I like the spell idea at all, something new here and I really hope you fix those bugs, make a good and correct MUI coding and improve the performance of the spell, because it's a really cool idea ( and then the approve status would be ok .. )

Greetings and Peace
Dr. Boom
 
Level 16
Joined
Jun 24, 2009
Messages
1,409
ookay okay i rewrite it using unit groups, i think it'll fix these bugs
and he just checked the code i posted ~.~ it's not his fault it's just a we error
1:that's not that important ~.~
2:the unit groups will fix that
3:it's because w3, there is no 100% slow
4: it's 0.02/0.04/0.06/00.08/0.10x Agi damage per slash (5 slash per second) per spirit
example: if the caster has 100 agility then if the skill is lv1 each slash will deal 2 damage, there are 5 slashes per secondso it's 10 and there are 5 spirits so the spell deals 50 damage/second
5:the unit groups will fix that
6:the unit groups will fix that
7:i know it's not the best but it's MUI and the disable part works correctly
8:the unit groups will fix that and they don't damage because it clears the target and caster variable so it deals damage to nothing
@Marsal2000: Again what I said above is NOT your fault

you're wrong, i've found the problem ~.~ i've swapped the target with the caster in some places~.~
 
Last edited:
Level 16
Joined
May 1, 2008
Messages
1,605
To make it short:

1) It's more then just important, when everyone choose the keywords, like to did, we can delete the search function at all, now the search function doesn't work correct anyway ...

2) 5) 6) 7) When you know, that you don't the GUI + MUI way, why you even do it? I bet if you use it, the lag with reduced and thinks will work correctly anyway and the thing is, use a pick every unit in playable maparea is a complete wrong way to turn the loop of, this just will increase the memory used to this spell -> senseless.

4) and 8) ok I casted the spell 4 times on the same target, if everything would work, I don't get this values (the hitpoints of the target)

Start: 55100 after casting the spell 1.: 52500
Start: 52500 after casting the spell 2.: ~ 47100
Start: ~ 47100 after casting the spell 3.: ~ 38300
Start: ~ 38300 after casting the spell 4.: ~ 26100

So if I cast the spell more then one time, I see more then 5 spirits are attacking!!

3) You even say that it hasn't but you type it .... and by the way it has. First way: Make a trigger note that everyone know it: Go to Advanced > Gameplay Constant > Movementspeed - Unit minimum speed and set this to 0. Second way: Store the current movement speed in a variable and reduce the movementspeed of the target by this variable. After increase it by this variable again.

Edit:
you're wrong, i've found the problem ~.~ i've swapped the target with the caster in some places~.~
Maybe this will explain some things =)

Greetings and Peace
Dr. Boom
 
Level 16
Joined
Jun 24, 2009
Messages
1,409
yeah, almost everything ~.~
2) 5) 6) 7) hey it's my first try to make something in MUI loop using indexing
already rewriten it with unit group and reduced the size of max looping and now it's not lagging(for me) and works better
edit: but there is still a little problem :S if the target dies before the buff ends it's not 100% that the dummies die
edit2: YEAHA succes
 
Level 2
Joined
Nov 2, 2010
Messages
20
I seen your spell use the "SSTarget[SSInteger] has buff Shadow Strike 2" to detect and damage the target.
But if other people use this spell again, the "Shadow Strike 2" will continue more time, then your spell will also continue?
 
Level 6
Joined
Aug 20, 2009
Messages
95
So, after killing the Brewmaster, I found some bugs. After using the spell multiple times, the units were still there after the brewmaster died, if you wish, I can make this in vJass to fix this?
EDIT: Also, just add a generic expiration timer to each unit, make a duration variable.
EDIT2: When you kill the dummy units, dont kill them, remove them. Just a personal preference.
 
Level 16
Joined
Jun 24, 2009
Messages
1,409
that was my first MUI spell made in indexing, I don't know why but if I cast it on the same unit when another spell still running on it the first one's dummies remains there, it's enough if you find what the bug is ~.~
duration can be changed by modifying the spells buff duration
it's not a good idea ~.~ the avatar of vengeance has a nice death animation and it looks much more beter when they leave a little dark explosion ~.~
 
Level 16
Joined
May 1, 2008
Messages
1,605
Moin moin =)

Thing is, there must be something wrong. When I set the cooldown to a value, which is under the spell duration and cast the spell 3 times on one target, I got this after the spell is done:

br50iu8z6vdgk1fu9.jpg


These spirits just stand on the map then. I tell the truth I don't know why this happen, but you can prevent this, if you replace "Pick every unit in SSDummyGroup and (Kill Picked unit)" with "Pick every unit in SSDummyGroup and (Remove Picked unit)".

=== Just for typo ===
In the Ability learn text, the last part of the sentence is " and lows enemy it." I think you want say something else, if not I'm sorry.
In the Buff Tooltip is, that the target is slowed AND can miss on attacks. But I don't see anything, how you do this miss.

Else seems to be a good spell - Good Job
 
Level 16
Joined
Jun 24, 2009
Messages
1,409
... if you replace "Pick every unit in SSDummyGroup and (Kill Picked unit)" with "Pick every unit in SSDummyGroup and (Remove Picked unit)".

=== Just for typo ===
In the Ability learn text, the last part of the sentence is " and lows enemy it." I think you want say something else, if not I'm sorry.
In the Buff Tooltip is, that the target is slowed AND can miss on attacks. But I don't see anything, how you do this miss.

Else seems to be a good spell - Good Job

It's not problem if I just kill and not remove them.
The toltips are a little old ~.~
 
Top