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

RainBow ARROW ! [RMX]

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
  • Like
Reactions: Jazztastic
I wish that i could provide you all with a better image of the spell, but due to it's big effects, complex structure and complicated ability the spell could not be provided as an image. you have to test it in game.

Shoots a magical arrow at a target enemy unit, the arrow will change it's element to Fire, Water, Ice, Darkness, Earth and Nature, while going to the target if one of those elements hits the unit an effect will happen.

Fire - The unit will be on fire for 5 seconds dealing 30 damage each second.

Water - The unit will have 30% to miss on it's attack and will be dealt 100 damage.

Ice - The unit will be get dispelled by all his positive buffs, and each second for 3 seconds will be dealt 30 damage.

Darkness - The unit will be crippled reducing it's movement and attack speed by 55%.

Earth - The unit will be tossed into the air, and when it falls on the ground deals 200 damage to him and all enemy units around him.

Nature - The arrow will return to the hero healing him by 200.

Cooldown - 30/22/14.



  • RainBow Arrow On
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Rain-Bow Arrow
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • RA_Skip Equal to 0
        • Then - Actions
          • Trigger - Turn on RainBow Arrow Loop <gen>
        • Else - Actions
      • Set RA_Times = (RA_Times + 1)
      • Set RA_Skip = (RA_Skip + 1)
      • Set RA_Off[RA_Times] = True
      • Set RA_Earth[RA_Times] = False
      • Set RA_Fire[RA_Times] = False
      • Set RA_Nature[RA_Times] = False
      • -------- --------------------------------------------------------------------------------------------------------------- --------
      • Set RA_Hero[RA_Times] = (Casting unit)
      • Set RA_Target[RA_Times] = (Target unit of ability being cast)
      • Set RA_Point[0] = (Position of RA_Hero[RA_Times])
      • Set RA_Point[1] = (Position of RA_Target[RA_Times])
      • -------- --------------------------------------------------------------------------------------------------------------- --------
      • Set RA_Speed[RA_Times] = 11.50
      • Set RA_Angle[RA_Times] = (Angle from RA_Point[0] to RA_Point[1])
      • Set RA_Change[RA_Times] = (Random integer number between 1 and 6)
      • Set RA_CountDown[RA_Times] = 50
      • Set RA_Spam[RA_Times] = 0
      • -------- --------------------------------------------------------------------------------------------------------------- --------
      • Unit - Create 1 Dummy_For_Map for (Triggering player) at RA_Point[0] facing RA_Angle[RA_Times] degrees
      • Set RA_Dummy[RA_Times] = (Last created unit)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • RA_Change[RA_Times] Equal to 1
        • Then - Actions
          • Special Effect - Create a special effect attached to the chest of RA_Dummy[RA_Times] using Abilities\Weapons\RedDragonBreath\RedDragonMissile.mdl
          • Set RA_String[RA_Times] = Abilities\Weapons\RedDragonBreath\RedDragonMissile.mdl
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • RA_Change[RA_Times] Equal to 2
            • Then - Actions
              • Special Effect - Create a special effect attached to the chest of RA_Dummy[RA_Times] using Abilities\Spells\NightElf\SpiritOfVengeance\SpiritOfVengeanceBirthMissile.mdl
              • Set RA_String[RA_Times] = Abilities\Spells\Other\CrushingWave\CrushingWaveDamage.mdl
              • Animation - Change RA_Dummy[RA_Times]'s size to (225.00%, 225.00%, 225.00%) of its original size
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • RA_Change[RA_Times] Equal to 3
                • Then - Actions
                  • Special Effect - Create a special effect attached to the chest of RA_Dummy[RA_Times] using Abilities\Weapons\FrostWyrmMissile\FrostWyrmMissile.mdl
                  • Set RA_String[RA_Times] = Abilities\Weapons\FrostWyrmMissile\FrostWyrmMissile.mdl
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • RA_Change[RA_Times] Equal to 4
                    • Then - Actions
                      • Special Effect - Create a special effect attached to the chest of RA_Dummy[RA_Times] using Abilities\Weapons\IllidanMissile\IllidanMissile.mdl
                      • Set RA_String[RA_Times] = Abilities\Spells\Undead\CarrionSwarm\CarrionSwarmDamage.mdl
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • RA_Change[RA_Times] Equal to 5
                        • Then - Actions
                          • Special Effect - Create a special effect attached to the chest of RA_Dummy[RA_Times] using Abilities\Weapons\AncientProtectorMissile\AncientProtectorMissile.mdl
                          • Set RA_String[RA_Times] = Objects\Spawnmodels\Undead\ImpaleTargetDust\ImpaleTargetDust.mdl
                        • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • RA_Change[RA_Times] Equal to 6
                            • Then - Actions
                              • Special Effect - Create a special effect attached to the chest of RA_Dummy[RA_Times] using Abilities\Weapons\KeeperGroveMissile\KeeperGroveMissile.mdl
                              • Set RA_String[RA_Times] = Abilities\Spells\NightElf\MoonWell\MoonWellCasterArt.mdl
                            • Else - Actions
      • Set RA_SpecialEffect[RA_Times] = (Last created special effect)
      • -------- --------------------------------------------------------------------------------------------------------------- --------
      • -------- --------------------------------------------------------------------------------------------------------------- --------
      • Custom script: call RemoveLocation(udg_RA_Point[0])
      • Custom script: call RemoveLocation(udg_RA_Point[1])
  • RainBow Arrow Loop
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
    • Actions
      • For each (Integer RA) from 1 to RA_Times, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • RA_Off[RA] Equal to True
            • Then - Actions
              • Set RA_Point[2] = (Position of RA_Dummy[RA])
              • Set RA_Point[3] = (Position of RA_Target[RA])
              • Set RA_Point[4] = (RA_Point[2] offset by RA_Speed[RA] towards (Angle from RA_Point[2] to RA_Point[3]) degrees)
              • Unit - Move RA_Dummy[RA] instantly to RA_Point[4]
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • RA_Spam[RA] Equal to 6
                • Then - Actions
                  • Set RA_Spam[RA] = 0
                  • Special Effect - Create a special effect at RA_Point[2] using RA_String[RA]
                  • Special Effect - Destroy (Last created special effect)
                • Else - Actions
                  • Set RA_Spam[RA] = (RA_Spam[RA] + 1)
              • Set RA_CountDown[RA] = (RA_CountDown[RA] - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • RA_CountDown[RA] Equal to 0
                • Then - Actions
                  • Animation - Change RA_Dummy[RA]'s size to (100.00%, 100.00%, 100.00%) of its original size
                  • Special Effect - Create a special effect attached to the chest of RA_Dummy[RA] using Abilities\Spells\NightElf\Blink\BlinkCaster.mdl
                  • Special Effect - Destroy (Last created special effect)
                  • Set RA_CountDown[RA] = 50
                  • Set RA_Change[RA] = (Random integer number between 1 and 6)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • RA_Change[RA] Equal to 1
                    • Then - Actions
                      • Special Effect - Destroy RA_SpecialEffect[RA]
                      • Special Effect - Create a special effect attached to the chest of RA_Dummy[RA] using Abilities\Weapons\RedDragonBreath\RedDragonMissile.mdl
                      • Set RA_SpecialEffect[RA] = (Last created special effect)
                      • Set RA_String[RA] = Abilities\Weapons\RedDragonBreath\RedDragonMissile.mdl
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • RA_Change[RA] Equal to 2
                        • Then - Actions
                          • Special Effect - Destroy RA_SpecialEffect[RA]
                          • Special Effect - Create a special effect attached to the chest of RA_Dummy[RA] using Abilities\Spells\NightElf\SpiritOfVengeance\SpiritOfVengeanceBirthMissile.mdl
                          • Set RA_SpecialEffect[RA] = (Last created special effect)
                          • Set RA_String[RA] = Abilities\Spells\Other\CrushingWave\CrushingWaveDamage.mdl
                          • Animation - Change RA_Dummy[RA]'s size to (225.00%, 225.00%, 225.00%) of its original size
                        • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • RA_Change[RA] Equal to 3
                            • Then - Actions
                              • Special Effect - Destroy RA_SpecialEffect[RA]
                              • Special Effect - Create a special effect attached to the chest of RA_Dummy[RA] using Abilities\Weapons\FrostWyrmMissile\FrostWyrmMissile.mdl
                              • Set RA_SpecialEffect[RA] = (Last created special effect)
                              • Set RA_String[RA] = Abilities\Weapons\FrostWyrmMissile\FrostWyrmMissile.mdl
                            • Else - Actions
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • RA_Change[RA] Equal to 4
                                • Then - Actions
                                  • Special Effect - Destroy RA_SpecialEffect[RA]
                                  • Special Effect - Create a special effect attached to the chest of RA_Dummy[RA] using Abilities\Weapons\IllidanMissile\IllidanMissile.mdl
                                  • Set RA_SpecialEffect[RA] = (Last created special effect)
                                  • Set RA_String[RA] = Abilities\Spells\Undead\CarrionSwarm\CarrionSwarmDamage.mdl
                                • Else - Actions
                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    • If - Conditions
                                      • RA_Change[RA] Equal to 5
                                    • Then - Actions
                                      • Special Effect - Destroy RA_SpecialEffect[RA]
                                      • Special Effect - Create a special effect attached to the chest of RA_Dummy[RA] using Abilities\Weapons\AncientProtectorMissile\AncientProtectorMissile.mdl
                                      • Set RA_SpecialEffect[RA] = (Last created special effect)
                                      • Set RA_String[RA] = Objects\Spawnmodels\Undead\ImpaleTargetDust\ImpaleTargetDust.mdl
                                    • Else - Actions
                                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                        • If - Conditions
                                          • RA_Change[RA] Equal to 6
                                        • Then - Actions
                                          • Special Effect - Destroy RA_SpecialEffect[RA]
                                          • Special Effect - Create a special effect attached to the chest of RA_Dummy[RA] using Abilities\Weapons\KeeperGroveMissile\KeeperGroveMissile.mdl
                                          • Set RA_SpecialEffect[RA] = (Last created special effect)
                                          • Set RA_String[RA] = Abilities\Spells\NightElf\MoonWell\MoonWellCasterArt.mdl
                                        • Else - Actions
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Distance between RA_Point[2] and RA_Point[3]) Less than or equal to 16.00
                • Then - Actions
                  • Set RA_Skip = (RA_Skip - 1)
                  • Set RA_Off[RA] = False
                  • Special Effect - Destroy RA_SpecialEffect[RA]
                  • Unit - Add a 0.01 second Generic expiration timer to RA_Dummy[RA]
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Or - Any (Conditions) are true
                        • Conditions
                          • RA_Change[RA] Equal to 1
                          • RA_Change[RA] Equal to 3
                    • Then - Actions
                      • Set RA_Times = (RA_Times + 1)
                      • Set RA_Skip = (RA_Skip + 1)
                      • Set RA_Off[RA_Times] = False
                      • Set RA_Earth[RA_Times] = False
                      • Set RA_Nature[RA_Times] = False
                      • Set RA_Fire[RA_Times] = True
                      • -------- --------------------------------------------------------------------------------------------------------------- --------
                      • Set RA_Hero[RA_Times] = RA_Hero[RA]
                      • Set RA_Target[RA_Times] = RA_Target[RA]
                      • -------- --------------------------------------------------------------------------------------------------------------- --------
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • RA_Change[RA] Equal to 1
                        • Then - Actions
                          • Set RA_CountDown[RA_Times] = 50
                          • Set RA_Speed[RA_Times] = 30.00
                          • Set RA_Spam[RA_Times] = 4
                          • Unit - Cause RA_Hero[RA] to damage RA_Target[RA], dealing RA_Speed[RA_Times] damage of attack type Spells and damage type Fire
                          • Special Effect - Create a special effect attached to the chest of RA_Target[RA_Times] using Environment\UndeadBuildingFire\UndeadLargeBuildingFire1.mdl
                          • Set RA_SpecialEffect[RA_Times] = (Last created special effect)
                          • Special Effect - Create a special effect attached to the origin of RA_Target[RA] using Objects\Spawnmodels\Human\HCancelDeath\HCancelDeath.mdl
                          • Special Effect - Destroy (Last created special effect)
                        • Else - Actions
                          • Set RA_CountDown[RA_Times] = 50
                          • Set RA_Speed[RA_Times] = 30.00
                          • Set RA_Spam[RA_Times] = 2
                          • Special Effect - Create a special effect attached to the overhead of RA_Target[RA_Times] using Abilities\Spells\Human\DispelMagic\DispelMagicTarget.mdl
                          • Special Effect - Destroy (Last created special effect)
                          • Unit - Cause RA_Hero[RA] to damage RA_Target[RA], dealing RA_Speed[RA_Times] damage of attack type Spells and damage type Fire
                          • Unit - Remove All buffs from RA_Target[RA]
                          • Special Effect - Create a special effect attached to the origin of RA_Target[RA] using Abilities\Spells\Undead\FrostNova\FrostNovaTarget.mdl
                          • Special Effect - Destroy (Last created special effect)
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Or - Any (Conditions) are true
                            • Conditions
                              • RA_Change[RA] Equal to 2
                              • RA_Change[RA] Equal to 4
                        • Then - Actions
                          • Set RA_Point[5] = (Position of RA_Target[RA])
                          • Unit - Create 1 Dummy_For_Map for (Owner of RA_Hero[RA]) at RA_Point[5] facing Default building facing degrees
                          • Unit - Hide (Last created unit)
                          • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • RA_Change[RA] Equal to 2
                            • Then - Actions
                              • Unit - Cause RA_Hero[RA] to damage RA_Target[RA], dealing 100.00 damage of attack type Spells and damage type Sonic
                              • Unit - Add Dummy Water to (Last created unit)
                              • Unit - Order (Last created unit) to Undead Banshee - Curse RA_Target[RA]
                              • Special Effect - Create a special effect attached to the origin of RA_Target[RA] using Objects\Spawnmodels\Naga\NagaDeath\NagaDeath.mdl
                              • Special Effect - Destroy (Last created special effect)
                            • Else - Actions
                              • Unit - Add Dummy Cripple to (Last created unit)
                              • Unit - Order (Last created unit) to Undead Necromancer - Cripple RA_Target[RA]
                              • Special Effect - Create a special effect attached to the origin of RA_Target[RA] using Abilities\Spells\Undead\DeathCoil\DeathCoilSpecialArt.mdl
                              • Special Effect - Destroy (Last created special effect)
                          • Custom script: call RemoveLocation(udg_RA_Point[5])
                        • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • RA_Change[RA] Equal to 5
                            • Then - Actions
                              • Set RA_Point[5] = (Position of RA_Target[RA])
                              • Set RA_Times = (RA_Times + 1)
                              • Set RA_Skip = (RA_Skip + 1)
                              • Set RA_Off[RA_Times] = False
                              • Set RA_Fire[RA_Times] = False
                              • Set RA_Nature[RA_Times] = False
                              • Set RA_Earth[RA_Times] = True
                              • Set RA_Hero[RA_Times] = RA_Hero[RA]
                              • Set RA_Target[RA_Times] = RA_Target[RA]
                              • Set RA_CountDown[RA_Times] = 0
                              • Set RA_Speed[RA_Times] = 2.00
                              • Set RA_MaxHeight[RA_Times] = 420.00
                              • Unit - Add Storm Crow Form to RA_Target[RA_Times]
                              • Unit - Remove Storm Crow Form from RA_Target[RA_Times]
                              • Unit - Pause RA_Target[RA_Times]
                              • Special Effect - Create a special effect at RA_Point[5] using Abilities\Spells\Other\Volcano\VolcanoDeath.mdl
                              • Special Effect - Destroy (Last created special effect)
                              • For each (Integer RA_Candy) from 1 to 6, do (Actions)
                                • Loop - Actions
                                  • Set RA_Point[6] = (RA_Point[5] offset by 70.00 towards (60.00 x (Real(RA_Candy))) degrees)
                                  • Special Effect - Create a special effect at RA_Point[6] using Abilities\Spells\Undead\Impale\ImpaleHitTarget.mdl
                                  • Special Effect - Destroy (Last created special effect)
                                  • Custom script: call RemoveLocation(udg_RA_Point[6])
                              • Custom script: call RemoveLocation(udg_RA_Point[5])
                            • Else - Actions
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • RA_Change[RA] Equal to 6
                                • Then - Actions
                                  • Set RA_Point[5] = (Position of RA_Target[RA])
                                  • Set RA_Times = (RA_Times + 1)
                                  • Set RA_Skip = (RA_Skip + 1)
                                  • Set RA_Off[RA_Times] = False
                                  • Set RA_Earth[RA_Times] = False
                                  • Set RA_Fire[RA_Times] = False
                                  • Set RA_Nature[RA_Times] = True
                                  • Set RA_Hero[RA_Times] = RA_Hero[RA]
                                  • Set RA_Speed[RA_Times] = 15.00
                                  • Set RA_MaxHeight[RA_Times] = -200.00
                                  • Set RA_Spam[RA_Times] = 0
                                  • Unit - Create 1 Dummy_For_Map for (Owner of RA_Hero[RA_Times]) at RA_Point[5] facing (Facing of RA_Target[RA]) degrees
                                  • Set RA_Dummy[RA_Times] = (Last created unit)
                                  • Special Effect - Create a special effect attached to the chest of RA_Dummy[RA_Times] using Abilities\Spells\Undead\DarkSummoning\DarkSummonMissile.mdl
                                  • Set RA_SpecialEffect[RA_Times] = (Last created special effect)
                                  • Set RA_String[RA_Times] = Abilities\Spells\NightElf\MoonWell\MoonWellCasterArt.mdl
                                  • Special Effect - Create a special effect at RA_Point[5] using Objects\Spawnmodels\NightElf\EntBirthTarget\EntBirthTarget.mdl
                                  • Special Effect - Destroy (Last created special effect)
                                  • Custom script: call RemoveLocation(udg_RA_Point[5])
                                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • RA_Skip Equal to 0
                    • Then - Actions
                      • Set RA_Times = 0
                      • Trigger - Turn off RainBow Arrow Loop <gen>
                    • Else - Actions
                • Else - Actions
              • Custom script: call RemoveLocation(udg_RA_Point[2])
              • Custom script: call RemoveLocation(udg_RA_Point[3])
              • Custom script: call RemoveLocation(udg_RA_Point[4])
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • RA_Fire[RA] Equal to True
                • Then - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Or - Any (Conditions) are true
                        • Conditions
                          • (RA_Target[RA] is dead) Equal to True
                          • RA_Spam[RA] Equal to 0
                    • Then - Actions
                      • Set RA_Skip = (RA_Skip - 1)
                      • Set RA_Fire[RA] = False
                      • Special Effect - Destroy RA_SpecialEffect[RA]
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • RA_Skip Equal to 0
                        • Then - Actions
                          • Set RA_Times = 0
                          • Trigger - Turn off RainBow Arrow Loop <gen>
                        • Else - Actions
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • RA_CountDown[RA] Equal to 0
                        • Then - Actions
                          • Set RA_CountDown[RA] = 50
                          • Set RA_Spam[RA] = (RA_Spam[RA] - 1)
                          • Unit - Cause RA_Hero[RA] to damage RA_Target[RA], dealing RA_Speed[RA] damage of attack type Spells and damage type Fire
                        • Else - Actions
                          • Set RA_CountDown[RA] = (RA_CountDown[RA] - 1)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • RA_Earth[RA] Equal to True
                    • Then - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • And - All (Conditions) are true
                            • Conditions
                              • (Current flying height of RA_Target[RA]) Less than or equal to ((Default flying height of RA_Target[RA]) + 1.00)
                              • RA_CountDown[RA] Equal to 1
                        • Then - Actions
                          • Set RA_Skip = (RA_Skip - 1)
                          • Set RA_Earth[RA] = False
                          • Set RA_Fly[RA] = 0.00
                          • Unit - Unpause RA_Target[RA]
                          • Animation - Change RA_Target[RA] flying height to (Default flying height of RA_Target[RA]) at 0.00
                          • Set RA_Point[7] = (Position of RA_Target[RA])
                          • Special Effect - Create a special effect at RA_Point[7] using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
                          • Special Effect - Destroy (Last created special effect)
                          • Set RA_Group[RA] = (Units within 300.00 of RA_Point[7] matching (((Owner of (Matching unit)) Not equal to (Owner of RA_Hero[RA])) and (((Matching unit) is alive) Equal to True)))
                          • Unit Group - Pick every unit in RA_Group[RA] and do (Actions)
                            • Loop - Actions
                              • Special Effect - Create a special effect attached to the origin of (Picked unit) using Objects\Spawnmodels\Undead\ImpaleTargetDust\ImpaleTargetDust.mdl
                              • Special Effect - Destroy (Last created special effect)
                              • Unit - Cause RA_Hero[RA] to damage (Picked unit), dealing 200.00 damage of attack type Spells and damage type Force
                          • Custom script: call DestroyGroup(udg_RA_Group[udg_RA])
                          • Custom script: call RemoveLocation(udg_RA_Point[7])
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • RA_Skip Equal to 0
                            • Then - Actions
                              • Set RA_Times = 0
                              • Trigger - Turn off RainBow Arrow Loop <gen>
                            • Else - Actions
                        • Else - Actions
                          • Set RA_Fly[RA] = (RA_Fly[RA] + (1.20 x RA_Speed[RA]))
                          • Set RA_Fly_Que[RA] = ((Sin(RA_Fly[RA])) x RA_MaxHeight[RA])
                          • Animation - Change RA_Target[RA] flying height to RA_Fly_Que[RA] at 0.00
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • And - All (Conditions) are true
                                • Conditions
                                  • RA_Fly[RA] Greater than or equal to 90.00
                                  • RA_CountDown[RA] Equal to 0
                            • Then - Actions
                              • Set RA_CountDown[RA] = 1
                              • Set RA_Speed[RA] = (RA_Speed[RA] x 2.20)
                            • Else - Actions
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • RA_Nature[RA] Equal to True
                        • Then - Actions
                          • Set RA_Point[8] = (Position of RA_Dummy[RA])
                          • Set RA_Point[9] = (Position of RA_Hero[RA])
                          • Set RA_Point[10] = (RA_Point[8] offset by RA_Speed[RA] towards (Angle from RA_Point[8] to RA_Point[9]) degrees)
                          • Unit - Move RA_Dummy[RA] instantly to RA_Point[10]
                          • Unit - Make RA_Dummy[RA] face RA_Point[10] over 0.02 seconds
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • RA_Spam[RA] Equal to 6
                            • Then - Actions
                              • Set RA_Spam[RA] = 0
                              • Special Effect - Create a special effect at RA_Point[8] using RA_String[RA]
                              • Special Effect - Destroy (Last created special effect)
                            • Else - Actions
                              • Set RA_Spam[RA] = (RA_Spam[RA] + 1)
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Or - Any (Conditions) are true
                                • Conditions
                                  • (Distance between RA_Point[8] and RA_Point[9]) Less than or equal to 10.00
                                  • (Percentage life of RA_Hero[RA]) Greater than or equal to 100.00
                            • Then - Actions
                              • Set RA_Skip = (RA_Skip - 1)
                              • Set RA_Nature[RA] = False
                              • Unit - Cause RA_Dummy[RA] to damage RA_Hero[RA], dealing RA_MaxHeight[RA] damage of attack type Spells and damage type Poison
                              • Special Effect - Destroy RA_SpecialEffect[RA]
                              • Unit - Add a 0.01 second Generic expiration timer to RA_Dummy[RA]
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • RA_Skip Equal to 0
                                • Then - Actions
                                  • Set RA_Times = 0
                                  • Trigger - Turn off RainBow Arrow Loop <gen>
                                • Else - Actions
                            • Else - Actions
                          • Custom script: call RemoveLocation(udg_RA_Point[8])
                          • Custom script: call RemoveLocation(udg_RA_Point[9])
                          • Custom script: call RemoveLocation(udg_RA_Point[10])
                        • Else - Actions

Ok like always the triggers is GUI MUI and leakless.

Credit ME ! if you use it in ur map

RMX PRODUCTION LOL

Keywords:
Rainbow, target, death, fire, water, poison, ice, impale, freeze, miss, armor, rmx, ext...
Contents

Land of the Free (Map)

Reviews
12th Dec 2015 IcemanBo: For too long time as NeedsFix. Rejected. Required changes: Importing instructions are lacking. One needs to change the ability in the cast condition and dummy types in the cast trigger and in the depths of the looping...

Moderator

M

Moderator

12th Dec 2015
IcemanBo: For too long time as NeedsFix. Rejected.

Maker, 3rd Aug 2011, RainBow ARROW

Required changes:
Importing instructions are lacking. One needs to change the ability in the cast condition and dummy types in the cast trigger and in the depths of the looping trigger.
A separate configuration trigger would be nice, you could set the ability and dummy types there.
Set dummy to can't raise, does not decay so it disappears sooner from the game.
If the projectile speed is set higher than 32, this can fail:
  • (Distance between RA_Point[2] and RA_Point[3]) Less than or equal to 16.00
Optional changes:
Casting unit -> triggering unit
Add version number
You could create arrays for the effects you set in the cast trigger and initialize them in a separate trigger That way you could avoid the if/then/else snake.
You're doing these anyway regardless of
  • RA_Change[RA]: Special Effect - Destroy RA_SpecialEffect[RA]
  • Set RA_SpecialEffect[RA] = (Last created special effect)
The whole if then else could be avoided with arrays or using a hashtable.
 
Level 11
Joined
Jun 28, 2011
Messages
540
.03 is preferred over .02. It is more efficient and won't have a difference visually if you increase the speed to a proper amount.

Use set bj_wantDestroyGroup = true over setting the variable to a group. It is more efficient.


These can be move outside of the if/then/else block.
  • Set RA_CountDown[RA_Times] = 50
  • Set RA_Speed[RA_Times] = 30.00

You should set (Last created unit) to a variable and use the variable in this block:
  • Then - Actions
    • Set RA_Point[5] = (Position of RA_Target[RA])
    • Unit - Create 1 Dummy_For_Map for (Owner of RA_Hero[RA]) at RA_Point[5] facing Default building facing degrees
    • Unit - Hide (Last created unit)
    • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • RA_Change[RA] Equal to 2
      • Then - Actions
        • Unit - Cause RA_Hero[RA] to damage RA_Target[RA], dealing 100.00 damage of attack type Spells and damage type Sonic
        • Unit - Add Dummy Water to (Last created unit)
        • Unit - Order (Last created unit) to Undead Banshee - Curse RA_Target[RA]
        • Special Effect - Create a special effect attached to the origin of RA_Target[RA] using Objects\Spawnmodels\Naga\NagaDeath\NagaDeath.mdl
        • Special Effect - Destroy (Last created special effect)
      • Else - Actions
        • Unit - Add Dummy Cripple to (Last created unit)
        • Unit - Order (Last created unit) to Undead Necromancer - Cripple RA_Target[RA]
        • Special Effect - Create a special effect attached to the origin of RA_Target[RA] using Abilities\Spells\Undead\DeathCoil\DeathCoilSpecialArt.mdl
        • Special Effect - Destroy (Last created special effect)
    • Custom script: call RemoveLocation(udg_RA_Point[5])

Casting Unit -> Triggering Unit

  • Unit - Create 1 Dummy_For_Map for (Owner of RA_Hero[RA_Times]) at RA_Point[0] facing RA_Angle[RA_Times] degrees
  • ->
  • Unit - Create 1 Dummy_For_Map for (Triggering Player) at RA_Point[0] facing RA_Angle[RA_Times] degrees


For locations, you may re-use them. You don't have to increase the array [#] every time, because you're destroying them when they're no longer in use.







I liked the spell, it has a very chaotic feel to it.
 
  • Like
Reactions: Rmx
Level 14
Joined
Oct 18, 2008
Messages
599
good o'l RMX back to his old GUI tricks :)

.03 is preferred over .02. It is more efficient and won't have a difference visually if you increase the speed to a proper amount.

also, if i remember correctly .02 goes to .03 automatically.


You should set (Last created unit) to a variable and use the variable in this block:


that also has no purpose unless to prevent leaks, in which there is none in this case.

i do agree with you on the "casting to triggering unit".



still much <3 for RMX and best of luck to him.

(excuse me if i got anything wrong in my statements, its been a while)
 
Level 12
Joined
Aug 12, 2008
Messages
349
It's not that cool as the Cosmic Twist and Water Spell Pack >< but still, I love it~

1- almost the same as what -Derp- has commented (0.03 instead 0.02 and triggering unit instead of casting unit)
2- array shouldn't be use unless it's needed. separate the RA_point to different variables

This spell will be better if there are better effects for some of the missile <3
Sorry if there are any mistakes in my opinion =) Good luck RMX! I always love ur spell <3
 

Rmx

Rmx

Level 19
Joined
Aug 27, 2007
Messages
1,164
.03 is preferred over .02. It is more efficient and won't have a difference visually if you increase the speed to a proper amount.

It changes automatically to 0.3 :). if it doesn't .. well you could change it :D.

Use set bj_wantDestroyGroup = true over setting the variable to a group. It is more efficient.

True but still the efficiency won't be a big difference .

These can be move outside of the if/then/else block.
  • Set RA_CountDown[RA_Times] = 50
  • Set RA_Speed[RA_Times] = 30.00

I use them in the loop trigger again for other things, so i need them :)


You should set (Last created unit) to a variable and use the variable in this block:
  • Then - Actions
    • Set RA_Point[5] = (Position of RA_Target[RA])
    • Unit - Create 1 Dummy_For_Map for (Owner of RA_Hero[RA]) at RA_Point[5] facing Default building facing degrees
    • Unit - Hide (Last created unit)
    • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • RA_Change[RA] Equal to 2
      • Then - Actions
        • Unit - Cause RA_Hero[RA] to damage RA_Target[RA], dealing 100.00 damage of attack type Spells and damage type Sonic
        • Unit - Add Dummy Water to (Last created unit)
        • Unit - Order (Last created unit) to Undead Banshee - Curse RA_Target[RA]
        • Special Effect - Create a special effect attached to the origin of RA_Target[RA] using Objects\Spawnmodels\Naga\NagaDeath\NagaDeath.mdl
        • Special Effect - Destroy (Last created special effect)
      • Else - Actions
        • Unit - Add Dummy Cripple to (Last created unit)
        • Unit - Order (Last created unit) to Undead Necromancer - Cripple RA_Target[RA]
        • Special Effect - Create a special effect attached to the origin of RA_Target[RA] using Abilities\Spells\Undead\DeathCoil\DeathCoilSpecialArt.mdl
        • Special Effect - Destroy (Last created special effect)
    • Custom script: call RemoveLocation(udg_RA_Point[5])

It works 100% so no need to use the variable :)


Casting Unit -> Triggering Unit

  • Unit - Create 1 Dummy_For_Map for (Owner of RA_Hero[RA_Times]) at RA_Point[0] facing RA_Angle[RA_Times] degrees
  • ->
  • Unit - Create 1 Dummy_For_Map for (Triggering Player) at RA_Point[0] facing RA_Angle[RA_Times] degrees

Ya ok :) but it doesn't leak !!! :D

For locations, you may re-use them. You don't have to increase the array [#] every time, because you're destroying them when they're no longer in use.

Maybe i wanna use all the locations at the same time in the loop :p lol







I liked the spell, it has a very chaotic feel to it.

Thank you for your comment, i really appreciate it :)
 
Level 29
Joined
Mar 10, 2009
Messages
5,016
First, the spell is pretty good...rating 4.5/5 coz of some minor changes...

Suggestions:
- You spam the Set RA_SpecialEffect[RA_Times] = (Last created special effect) and Set RA_SpecialEffect[RA] = (Last created special effect)

better is...
  • Set RA_SpecialEffect[RA_Times] = (Last created special effect)
  • -------- --------------------------------------------------------------------------------------------------------------- --------
  • -------- --------------------------------------------------------------------------------------------------------------- --------
  • Custom script: call RemoveLocation(udg_RA_Point[0])
  • Custom script: call RemoveLocation(udg_RA_Point[1])
- Arrays are slower than normal variables, so no need to array the RA_Point[]
- TriggerUnit and Trigger Player is faster...
- This and a-like is best to store in a real variable >>> (Distance between RA_Point[2] and RA_Point[3]) Less than or equal to 16.00
- Others already mentioned above
 

Rmx

Rmx

Level 19
Joined
Aug 27, 2007
Messages
1,164
First, the spell is pretty good...rating 4.5/5 coz of some minor changes...

Suggestions:
- You spam the Set RA_SpecialEffect[RA_Times] = (Last created special effect) and Set RA_SpecialEffect[RA] = (Last created special effect)

better is...
Set RA_SpecialEffect[RA_Times] = (Last created special effect)
-------- --------------------------------------------------------------------------------------------------------------- --------
-------- --------------------------------------------------------------------------------------------------------------- --------
Custom script: call RemoveLocation(udg_RA_Point[0])
Custom script: call RemoveLocation(udg_RA_Point[1])

- Arrays are slower than normal variables, so no need to array the RA_Point[]
- TriggerUnit and Trigger Player is faster...
- This and a-like is best to store in a real variable >>> (Distance between RA_Point[2] and RA_Point[3]) Less than or equal to 16.00
- Others already mentioned above

10x alot for the comment .. ill fix it soon :D
 

Rmx

Rmx

Level 19
Joined
Aug 27, 2007
Messages
1,164
<3 LEBANON!

Anyways, nice spell :)
One other thing, instead of an if/then/else for checking which sfx to create, you could
set the sfxes in an array and then create the sfx corresponding to the index in the array ^^
Doesn't that sound more efficient? :D

It's more complicated than that, i want to create for each different unit a special effect on it's position or want to change it's size ..

So it can't be done like this.
 
Level 16
Joined
Apr 4, 2011
Messages
995
I wish that i could provide you all with a better image of the spell, but due to it's big effects, complex structure and complicated ability the spell could not be provided as an image. you have to test it in game.

True but still the efficiency won't be a big difference .

It works 100% so no need to use the variable :)


Casting Unit -> Triggering Unit

What. The. Fuck. If you have a long, big, effect spammy spell, shouldn't you focus on efficiency? And no, Casting Unit is not better than Triggering Unit. And a variable is better than Triggering Unit.

You also need to follow submission rules and provide a description of what the spell actually does. I'm not going to download it to test unless I find it interesting. View THW as an ad, you want to draw in people to download your spell by making it seem incredibly cool. If you don't even have a description . . . Well, you're not going to get as many downloads.
 

Rmx

Rmx

Level 19
Joined
Aug 27, 2007
Messages
1,164
What. The. Fuck. If you have a long, big, effect spammy spell, shouldn't you focus on efficiency? And no, Casting Unit is not better than Triggering Unit. And a variable is better than Triggering Unit.

You also need to follow submission rules and provide a description of what the spell actually does. I'm not going to download it to test unless I find it interesting. View THW as an ad, you want to draw in people to download your spell by making it seem incredibly cool. If you don't even have a description . . . Well, you're not going to get as many downloads.

I'm really sorry, plz forgive me, PLZzzz

If you don't find the spell interesting do not download it :)
Due to the fact that the description of the spell is like 100 lines ingame i cannot but it here lol :)
I would have to rewrite the whole description.

Also triggering and casting unit ... i made it triggering and gonna upload 2mrw the spell happy :) it took me 1 minute... now it's 1000% more efficient looool.

Not interesting for you .. but for many people it is.
 
Level 16
Joined
Apr 4, 2011
Messages
995
I'm really sorry, plz forgive me, PLZzzz

If you don't find the spell interesting do not download it :)
Due to the fact that the description of the spell is like 100 lines ingame i cannot but it here lol :)
I would have to rewrite the whole description.

Also triggering and casting unit ... i made it triggering and gonna upload 2mrw the spell happy :) it took me 1 minute... now it's 1000% more efficient looool.

Not interesting for you .. but for many people it is.

CnP exists for a reason, copying something from in-game is easy as hell. No you would not have to re-write the whole description. Good job on fixing a mistake that took 1 minute to fix, you should check over your spell before you submit it to avoid things like that. I didn't say it wasn't interesting, only reason I'm pulling teeth here to get a description is because I'm interested. No need for apssive aggressive bullshit here.

One of his resources has 7000 downloads btw :p

Wrong, he doesn't. Having a description is required by the resource submission rules.
Spells must have an in-game screenshot and an adequate description.
And imagine how many more downloads he would get if people had any idea what the spell did. Moreover, popular opinion doesn't mean it's any good, look at Call of Duty and Avatar (movie).
 

Rmx

Rmx

Level 19
Joined
Aug 27, 2007
Messages
1,164
Okay Okay 6890 downloads >.>

lol really ! :O


Quote:
Originally Posted by Rmx View Post
I'm really sorry, plz forgive me, PLZzzz

If you don't find the spell interesting do not download it :)
Due to the fact that the description of the spell is like 100 lines ingame i cannot but it here lol :)
I would have to rewrite the whole description.

Also triggering and casting unit ... i made it triggering and gonna upload 2mrw the spell happy :) it took me 1 minute... now it's 1000% more efficient looool.

Not interesting for you .. but for many people it is.
CnP exists for a reason, copying something from in-game is easy as hell. No you would not have to re-write the whole description. Good job on fixing a mistake that took 1 minute to fix, you should check over your spell before you submit it to avoid things like that. I didn't say it wasn't interesting, only reason I'm pulling teeth here to get a description is because I'm interested. No need for apssive aggressive bullshit here.

Quote:
One of his resources has 7000 downloads btw :p
Wrong, he doesn't. Having a description is required by the resource submission rules.
Quote:
Spells must have an in-game screenshot and an adequate description.
And imagine how many more downloads he would get if people had any idea what the spell did. Moreover, popular opinion doesn't mean it's any good, look at Call of Duty and Avatar (movie).



OKAYYYY for all ..... i added the description and fixed EVERYTHING .. made everything more efficient :D



_________________________________________________________________________________________________________
 
Last edited:
Level 29
Joined
Mar 10, 2009
Messages
5,016
To make things even more efficient and remove those long trigger, it can be done like this...

put this in the Initialization trigger...

EDIT:

SFX is a string array variable...
JASS:
function Setup takes nothing returns boolean
    set udg_SFX[1] = "Abilities\\Weapons\\RedDragonBreath\\RedDragonMissile.mdl"
    set udg_SFX[2] = "Abilities\\Spells\\NightElf\\SpiritOfVengeance\\SpiritOfVengeanceBirthMissile.mdl"
    set udg_SFX[3] = "Abilities\\Weapons\\FrostWyrmMissile\\FrostWyrmMissile.mdl"
    set udg_SFX[4] = "Abilities\\Weapons\\IllidanMissile\\IllidanMissile.mdl"
    set udg_SFX[5] = "Abilities\\Weapons\\AncientProtectorMissile\\AncientProtectorMissile.mdl"
    set udg_SFX[6] = "Abilities\\Weapons\\KeeperGroveMissile\\KeeperGroveMissile.mdl"
    
    set udg_RA_String[1] = "Abilities\\Weapons\\RedDragonBreath\\RedDragonMissile.mdl"
    set udg_RA_String[2] = "Abilities\\Spells\\Other\\CrushingWave\\CrushingWaveDamage.mdl"
    set udg_RA_String[3] = "Abilities\\Weapons\\FrostWyrmMissile\\FrostWyrmMissile.mdl"
    set udg_RA_String[4] = "Abilities\\Spells\\Undead\\CarrionSwarm\\CarrionSwarmDamage.mdl"
    set udg_RA_String[5] = "Objects\\Spawnmodels\\Undead\\ImpaleTargetDust\\ImpaleTargetDust.mdl"
    set udg_RA_String[6] = "Abilities\\Spells\\NightElf\\MoonWell\\MoonWellCasterArt.mdl"
    return false
endfunction

function InitTrig_Setup takes nothing returns nothing
    local trigger t = CreateTrigger()          
    call TriggerRegisterTimerEvent(t, 0.01, false)
    call TriggerAddCondition(t, Condition(function Setup))
    set t = null
endfunction

Then...
  • RainBow Arrow On
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Rain-Bow Arrow
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • RA_Skip Equal to 0
        • Then - Actions
          • Trigger - Turn on RainBow Arrow Loop <gen>
        • Else - Actions
      • Set RA_Times = (RA_Times + 1)
      • Set RA_Skip = (RA_Skip + 1)
      • Set RA_Off[RA_Times] = True
      • Set RA_Earth[RA_Times] = False
      • Set RA_Fire[RA_Times] = False
      • Set RA_Nature[RA_Times] = False
      • -------- --------------------------------------------------------------------------------------------------------------- --------
      • Set RA_Hero[RA_Times] = (Casting unit)
      • Set RA_Target[RA_Times] = (Target unit of ability being cast)
      • Set RA_Point[0] = (Position of RA_Hero[RA_Times])
      • Set RA_Point[1] = (Position of RA_Target[RA_Times])
      • -------- --------------------------------------------------------------------------------------------------------------- --------
      • Set RA_Speed[RA_Times] = 11.50
      • Set RA_Angle[RA_Times] = (Angle from RA_Point[0] to RA_Point[1])
      • Set RA_Change[RA_Times] = (Random integer number between 1 and 6)
      • Set RA_CountDown[RA_Times] = 50
      • Set RA_Spam[RA_Times] = 0
      • -------- --------------------------------------------------------------------------------------------------------------- --------
      • Unit - Create 1 Dummy_For_Map for (Triggering player) at RA_Point[0] facing RA_Angle[RA_Times] degrees
      • Set RA_Dummy[RA_Times] = (Last created unit)
      • Custom script: set udg_RA_SpecialEffect[udg_RA_Times] = AddSpecialEffectTarget(udg_SFX[udg_RA_Times], udg_RA_Dummy[udg_RA_Times], "chest")
      • -------- --------------------------------------------------------------------------------------------------------------- --------
      • -------- --------------------------------------------------------------------------------------------------------------- --------
      • Custom script: call RemoveLocation(udg_RA_Point[0])
      • Custom script: call RemoveLocation(udg_RA_Point[1])
 
Last edited:
JASS:
function Setup takes nothing returns boolean
    set udg_SFX[1] = "Abilities\\Weapons\\RedDragonBreath\\RedDragonMissile.mdl"
    set udg_SFX[2] = "Abilities\\Spells\\NightElf\\SpiritOfVengeance\\SpiritOfVengeanceBirthMissile.mdl"
    set udg_SFX[3] = "Abilities\\Weapons\\FrostWyrmMissile\\FrostWyrmMissile.mdl"
    set udg_SFX[4] = "Abilities\\Weapons\\IllidanMissile\\IllidanMissile.mdl"
    set udg_SFX[5] = "Abilities\\Weapons\\AncientProtectorMissile\\AncientProtectorMissile.mdl"
    set udg_SFX[6] = "Abilities\\Weapons\\KeeperGroveMissile\\KeeperGroveMissile.mdl"
    
    set udg_RA_String[1] = "Abilities\\Weapons\\RedDragonBreath\\RedDragonMissile.mdl"
    set udg_RA_String[2] = "Abilities\\Spells\\Other\\CrushingWave\\CrushingWaveDamage.mdl"
    set udg_RA_String[3] = "Abilities\\Weapons\\FrostWyrmMissile\\FrostWyrmMissile.mdl"
    set udg_RA_String[4] = "Abilities\\Spells\\Undead\\CarrionSwarm\\CarrionSwarmDamage.mdl"
    set udg_RA_String[5] = "Objects\\Spawnmodels\\Undead\\ImpaleTargetDust\\ImpaleTargetDust.mdl"
    set udg_RA_String[6] = "Abilities\\Spells\\NightElf\\MoonWell\\MoonWellCasterArt.mdl"
    return false
endfunction

function InitTrig_Setup takes nothing returns nothing
    local trigger t = CreateTrigger()          
    call TriggerRegisterTimerEvent(t, 0.01, false)
    call TriggerAddCondition(t, Condition(function Setup))
    set t = null
endfunction

._.

->

JASS:
function InitTrig_SpellSetup takes nothing returns nothing
    set udg_SFX[1] = "Abilities\\Weapons\\RedDragonBreath\\RedDragonMissile.mdl"
    set udg_SFX[2] = "Abilities\\Spells\\NightElf\\SpiritOfVengeance\\SpiritOfVengeanceBirthMissile.mdl"
    set udg_SFX[3] = "Abilities\\Weapons\\FrostWyrmMissile\\FrostWyrmMissile.mdl"
    set udg_SFX[4] = "Abilities\\Weapons\\IllidanMissile\\IllidanMissile.mdl"
    set udg_SFX[5] = "Abilities\\Weapons\\AncientProtectorMissile\\AncientProtectorMissile.mdl"
    set udg_SFX[6] = "Abilities\\Weapons\\KeeperGroveMissile\\KeeperGroveMissile.mdl"
    
    set udg_RA_String[1] = "Abilities\\Weapons\\RedDragonBreath\\RedDragonMissile.mdl"
    set udg_RA_String[2] = "Abilities\\Spells\\Other\\CrushingWave\\CrushingWaveDamage.mdl"
    set udg_RA_String[3] = "Abilities\\Weapons\\FrostWyrmMissile\\FrostWyrmMissile.mdl"
    set udg_RA_String[4] = "Abilities\\Spells\\Undead\\CarrionSwarm\\CarrionSwarmDamage.mdl"
    set udg_RA_String[5] = "Objects\\Spawnmodels\\Undead\\ImpaleTargetDust\\ImpaleTargetDust.mdl"
    set udg_RA_String[6] = "Abilities\\Spells\\NightElf\\MoonWell\\MoonWellCasterArt.mdl"
endfunction


[highlight]Also the index used for the array variables in the GUI trigger should be (RA_Times Mod 6) + 1

(With 7 simultaneous casts, one of the spells would have no effect..[/code]
 
Top