Rasen Shuriken (Special) v1.7

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
A NEW SPECIALIZED Rasen Shuriken
Throw aways a Rasen Shuriken to 2000 range.Picking up every unit on its way.

  • Configuration
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set RasenShuriken_Range = 2000.00
      • Set RasenShuriken_Unit_Speed = 15.00
      • Set RasenShuriken_Effect_Speed = 20.00
      • Set RasenShuriken_Effect_Distance = 200.00
      • Set Rasen_Special_Attach_Left = hand left
      • Set Rasen_Special_Attach_Right = hand right
      • Set Rasen_Unit_Animation_Speed = 200.00
      • Set Rasen_Unit_Size = 200.00
      • Set Rasen_Effect_Size = 200.00
      • Set Rasen_Spin_Spawn_Angle_1 = 90.00
      • Set Rasen_Spin_Spawn_Angle_2 = 180.00
      • Set Rasen_Spin_Spawn_Angle_3 = 270.00
      • Set Rasen_Spin_Spawn_Angle_4 = 360.00
      • Set RasenShuriken_Damage = 20.00
      • Set Rasen_Effect_Location = Abilities\Weapons\ZigguratMissile\ZigguratMissile.mdl


  • Resen Shuriken Start
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Rasen Shuriken
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Rasen_Index_Listener Equal to 0
        • Then - Actions
          • Trigger - Turn on Resen Shuriken Go <gen>
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Rasen_RecycleSize Greater than 0
        • Then - Actions
          • Set Rasen_RecycleSize = (Rasen_RecycleSize - 1)
          • Set RasenShuriken_Current_Index = Rasen_Recycle_Container[Rasen_RecycleSize]
        • Else - Actions
          • Set RasenShuriken_Current_Index = Rasen_Index_Size
          • Set Rasen_Index_Size = (Rasen_Index_Size + 1)
      • Set RasenShuriken_Current_Index = (RasenShuriken_Current_Index + 1)
      • Set RasenShuriken_Caster[RasenShuriken_Current_Index] = (Triggering unit)
      • Set RasenShuriken_Caster_Position[RasenShuriken_Current_Index] = (Position of RasenShuriken_Caster[RasenShuriken_Current_Index])
      • Set RasenShuriken_Level[RasenShuriken_Current_Index] = (Real((Level of Rasen Shuriken for RasenShuriken_Caster[RasenShuriken_Current_Index])))
      • Set RasenShuriken_TargetPoint[RasenShuriken_Current_Index] = (Target point of ability being cast)
      • -------- Saving the point & angle for the unit(Shuriken) to be spawned --------
      • Set RasenShuriken_Angle[RasenShuriken_Current_Index] = (Angle from RasenShuriken_Caster_Position[RasenShuriken_Current_Index] to RasenShuriken_TargetPoint[RasenShuriken_Current_Index])
      • Set RasenShuriken_Unit_Spawn[RasenShuriken_Current_Index] = (RasenShuriken_Caster_Position[RasenShuriken_Current_Index] offset by RasenShuriken_Effect_Distance towards RasenShuriken_Angle[RasenShuriken_Current_Index] degrees)
      • -------- Creating special effects on the hands of the caster --------
      • Special Effect - Create a special effect attached to the Rasen_Special_Attach_Left of RasenShuriken_Caster[RasenShuriken_Current_Index] using Rasen_Effect_Location
      • Set RasenShuriken_Effect_1[RasenShuriken_Current_Index] = (Last created special effect)
      • Special Effect - Create a special effect attached to the Rasen_Special_Attach_Right of RasenShuriken_Caster[RasenShuriken_Current_Index] using Rasen_Effect_Location
      • Set RasenShuriken_Effect_2[RasenShuriken_Current_Index] = (Last created special effect)
      • Unit - Create 1 Rasen_Shuriken for (Owner of RasenShuriken_Caster[RasenShuriken_Current_Index]) at RasenShuriken_Unit_Spawn[RasenShuriken_Current_Index] facing RasenShuriken_Angle[RasenShuriken_Current_Index] degrees
      • Set RasenShuriken_Unit[RasenShuriken_Current_Index] = (Last created unit)
      • Animation - Change RasenShuriken_Unit[RasenShuriken_Current_Index]'s animation speed to Rasen_Unit_Animation_Speed% of its original speed
      • Animation - Change RasenShuriken_Unit[RasenShuriken_Current_Index]'s size to (Rasen_Unit_Size%, 0.00%, 0.00%) of its original size
      • Set RasenShuriken_Unit_Position[RasenShuriken_Current_Index] = (Position of RasenShuriken_Unit[RasenShuriken_Current_Index])
      • Set RasenShuriken_Spawn_1[RasenShuriken_Current_Index] = (RasenShuriken_Unit_Position[RasenShuriken_Current_Index] offset by RasenShuriken_Effect_Distance towards Rasen_Spin_Spawn_Angle_1 degrees)
      • Set RasenShuriken_Spawn_2[RasenShuriken_Current_Index] = (RasenShuriken_Unit_Position[RasenShuriken_Current_Index] offset by RasenShuriken_Effect_Distance towards Rasen_Spin_Spawn_Angle_2 degrees)
      • Set RasenShuriken_Spawn_3[RasenShuriken_Current_Index] = (RasenShuriken_Unit_Position[RasenShuriken_Current_Index] offset by RasenShuriken_Effect_Distance towards Rasen_Spin_Spawn_Angle_3 degrees)
      • Set RasenShuriken_Spawn_4[RasenShuriken_Current_Index] = (RasenShuriken_Unit_Position[RasenShuriken_Current_Index] offset by RasenShuriken_Effect_Distance towards Rasen_Spin_Spawn_Angle_4 degrees)
      • Unit - Create 1 Effect_dummy for (Owner of RasenShuriken_Caster[RasenShuriken_Current_Index]) at RasenShuriken_Spawn_1[RasenShuriken_Current_Index] facing Rasen_Spin_Spawn_Angle_1 degrees
      • Custom script: call RemoveLocation(udg_RasenShuriken_Spawn_1[udg_RasenShuriken_Current_Index])
      • Set RasenShuriken_Spin_1[RasenShuriken_Current_Index] = (Last created unit)
      • Animation - Change RasenShuriken_Spin_1[RasenShuriken_Current_Index]'s size to (Rasen_Effect_Size%, 0.00%, 0.00%) of its original size
      • Unit - Create 1 Effect_dummy for (Owner of RasenShuriken_Caster[RasenShuriken_Current_Index]) at RasenShuriken_Spawn_2[RasenShuriken_Current_Index] facing Rasen_Spin_Spawn_Angle_2 degrees
      • Custom script: call RemoveLocation(udg_RasenShuriken_Spawn_2[udg_RasenShuriken_Current_Index])
      • Set RasenShuriken_Spin_2[RasenShuriken_Current_Index] = (Last created unit)
      • Animation - Change RasenShuriken_Spin_2[RasenShuriken_Current_Index]'s size to (Rasen_Effect_Size%, 0.00%, 0.00%) of its original size
      • Unit - Create 1 Effect_dummy for (Owner of RasenShuriken_Caster[RasenShuriken_Current_Index]) at RasenShuriken_Spawn_3[RasenShuriken_Current_Index] facing Rasen_Spin_Spawn_Angle_3 degrees
      • Custom script: call RemoveLocation(udg_RasenShuriken_Spawn_3[udg_RasenShuriken_Current_Index])
      • Set RasenShuriken_Spin_3[RasenShuriken_Current_Index] = (Last created unit)
      • Animation - Change RasenShuriken_Spin_3[RasenShuriken_Current_Index]'s size to (Rasen_Effect_Size%, 0.00%, 0.00%) of its original size
      • Unit - Create 1 Effect_dummy for (Owner of RasenShuriken_Caster[RasenShuriken_Current_Index]) at RasenShuriken_Spawn_4[RasenShuriken_Current_Index] facing Rasen_Spin_Spawn_Angle_4 degrees
      • Custom script: call RemoveLocation(udg_RasenShuriken_Spawn_4[udg_RasenShuriken_Current_Index])
      • Set RasenShuriken_Spin_4[RasenShuriken_Current_Index] = (Last created unit)
      • Animation - Change RasenShuriken_Spin_4[RasenShuriken_Current_Index]'s size to (Rasen_Effect_Size%, 0.00%, 0.00%) of its original size
      • Custom script: call RemoveLocation(udg_RasenShuriken_Unit_Position[udg_RasenShuriken_Current_Index])
      • Custom script: call RemoveLocation(udg_RasenShuriken_Unit_Spawn[udg_RasenShuriken_Current_Index])
      • Custom script: call RemoveLocation(udg_RasenShuriken_TargetPoint[udg_RasenShuriken_Current_Index])
      • Set Rasen_Index_Container[Rasen_Index_Listener] = RasenShuriken_Current_Index
      • Set Rasen_Index_Listener = (Rasen_Index_Listener + 1)


  • Resen Shuriken Go
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • For each (Integer Rasen_Index_Loop) from 0 to (Rasen_Index_Listener - 1), do (Actions)
        • Loop - Actions
          • Set RasenShuriken_Current_Index = Rasen_Index_Container[Rasen_Index_Loop]
          • Set RasenShuriken_Unit_Position[RasenShuriken_Current_Index] = (Position of RasenShuriken_Unit[RasenShuriken_Current_Index])
          • Set RasenShuriken_Spin_Position_1[RasenShuriken_Current_Index] = (Position of RasenShuriken_Spin_1[RasenShuriken_Current_Index])
          • Set RasenShuriken_Spin_Position_2[RasenShuriken_Current_Index] = (Position of RasenShuriken_Spin_2[RasenShuriken_Current_Index])
          • Set RasenShuriken_Spin_Position_3[RasenShuriken_Current_Index] = (Position of RasenShuriken_Spin_3[RasenShuriken_Current_Index])
          • Set RasenShuriken_Spin_Position_4[RasenShuriken_Current_Index] = (Position of RasenShuriken_Spin_4[RasenShuriken_Current_Index])
          • Set RasenShuriken_Distance[RasenShuriken_Current_Index] = (Distance between RasenShuriken_Caster_Position[RasenShuriken_Current_Index] and RasenShuriken_Unit_Position[RasenShuriken_Current_Index])
          • Set RasenShuriken_Unit_Move[RasenShuriken_Current_Index] = (RasenShuriken_Unit_Position[RasenShuriken_Current_Index] offset by RasenShuriken_Unit_Speed towards RasenShuriken_Angle[RasenShuriken_Current_Index] degrees)
          • Set RasenShuriken_Angle_1[RasenShuriken_Current_Index] = ((Angle from RasenShuriken_Unit_Position[RasenShuriken_Current_Index] to RasenShuriken_Spin_Position_1[RasenShuriken_Current_Index]) - RasenShuriken_Effect_Speed)
          • Set RasenShuriken_Angle_2[RasenShuriken_Current_Index] = ((Angle from RasenShuriken_Unit_Position[RasenShuriken_Current_Index] to RasenShuriken_Spin_Position_2[RasenShuriken_Current_Index]) - RasenShuriken_Effect_Speed)
          • Set RasenShuriken_Angle_3[RasenShuriken_Current_Index] = ((Angle from RasenShuriken_Unit_Position[RasenShuriken_Current_Index] to RasenShuriken_Spin_Position_3[RasenShuriken_Current_Index]) - RasenShuriken_Effect_Speed)
          • Set RasenShuriken_Angle_4[RasenShuriken_Current_Index] = ((Angle from RasenShuriken_Unit_Position[RasenShuriken_Current_Index] to RasenShuriken_Spin_Position_4[RasenShuriken_Current_Index]) - RasenShuriken_Effect_Speed)
          • Set RasenShuriken_Spin_Move_1[RasenShuriken_Current_Index] = (RasenShuriken_Unit_Position[RasenShuriken_Current_Index] offset by RasenShuriken_Effect_Distance towards RasenShuriken_Angle_1[RasenShuriken_Current_Index] degrees)
          • Set RasenShuriken_Spin_Move_2[RasenShuriken_Current_Index] = (RasenShuriken_Unit_Position[RasenShuriken_Current_Index] offset by RasenShuriken_Effect_Distance towards RasenShuriken_Angle_2[RasenShuriken_Current_Index] degrees)
          • Set RasenShuriken_Spin_Move_3[RasenShuriken_Current_Index] = (RasenShuriken_Unit_Position[RasenShuriken_Current_Index] offset by RasenShuriken_Effect_Distance towards RasenShuriken_Angle_3[RasenShuriken_Current_Index] degrees)
          • Set RasenShuriken_Spin_Move_4[RasenShuriken_Current_Index] = (RasenShuriken_Unit_Position[RasenShuriken_Current_Index] offset by RasenShuriken_Effect_Distance towards RasenShuriken_Angle_4[RasenShuriken_Current_Index] degrees)
          • Set RasenShuriken_Group_1[RasenShuriken_Current_Index] = (Units within 150.00 of RasenShuriken_Spin_Position_1[RasenShuriken_Current_Index] matching (((((Matching unit) is A structure) Not equal to True) and (((Matching unit) is Magic Immune) Not equal to True)) and ((((Matching unit) belongs to an enemy of (Owner
          • Set RasenShuriken_Group_2[RasenShuriken_Current_Index] = (Units within 150.00 of RasenShuriken_Spin_Position_2[RasenShuriken_Current_Index] matching (((((Matching unit) is A structure) Not equal to True) and (((Matching unit) is Magic Immune) Not equal to True)) and ((((Matching unit) belongs to an enemy of (Owner
          • Set RasenShuriken_Group_3[RasenShuriken_Current_Index] = (Units within 150.00 of RasenShuriken_Spin_Position_3[RasenShuriken_Current_Index] matching (((((Matching unit) is A structure) Not equal to True) and (((Matching unit) is Magic Immune) Not equal to True)) and ((((Matching unit) belongs to an enemy of (Owner
          • Set RasenShuriken_Group_4[RasenShuriken_Current_Index] = (Units within 150.00 of RasenShuriken_Spin_Position_4[RasenShuriken_Current_Index] matching (((((Matching unit) is A structure) Not equal to True) and (((Matching unit) is Magic Immune) Not equal to True)) and ((((Matching unit) belongs to an enemy of (Owner
          • Unit - Move RasenShuriken_Unit[RasenShuriken_Current_Index] instantly to RasenShuriken_Unit_Move[RasenShuriken_Current_Index], facing RasenShuriken_Angle[RasenShuriken_Current_Index] degrees
          • Custom script: call RemoveLocation(udg_RasenShuriken_Unit_Move[udg_RasenShuriken_Current_Index])
          • Custom script: call RemoveLocation(udg_RasenShuriken_Unit_Position[udg_RasenShuriken_Current_Index])
          • Unit - Move RasenShuriken_Spin_1[RasenShuriken_Current_Index] instantly to RasenShuriken_Spin_Move_1[RasenShuriken_Current_Index]
          • Custom script: call RemoveLocation(udg_RasenShuriken_Spin_Move_1[udg_RasenShuriken_Current_Index])
          • Unit - Move RasenShuriken_Spin_2[RasenShuriken_Current_Index] instantly to RasenShuriken_Spin_Move_2[RasenShuriken_Current_Index]
          • Custom script: call RemoveLocation(udg_RasenShuriken_Spin_Move_2[udg_RasenShuriken_Current_Index])
          • Unit - Move RasenShuriken_Spin_3[RasenShuriken_Current_Index] instantly to RasenShuriken_Spin_Move_3[RasenShuriken_Current_Index]
          • Custom script: call RemoveLocation(udg_RasenShuriken_Spin_Move_3[udg_RasenShuriken_Current_Index])
          • Unit - Move RasenShuriken_Spin_4[RasenShuriken_Current_Index] instantly to RasenShuriken_Spin_Move_4[RasenShuriken_Current_Index]
          • Custom script: call RemoveLocation(udg_RasenShuriken_Spin_Move_4[udg_RasenShuriken_Current_Index])
          • Unit Group - Pick every unit in RasenShuriken_Group_1[RasenShuriken_Current_Index] and do (Actions)
            • Loop - Actions
              • Set Rasen_Picked_Unit[RasenShuriken_Current_Index] = (Picked unit)
              • Unit - Move Rasen_Picked_Unit[RasenShuriken_Current_Index] instantly to RasenShuriken_Spin_Position_1[RasenShuriken_Current_Index]
              • Unit - Cause RasenShuriken_Caster[RasenShuriken_Current_Index] to damage Rasen_Picked_Unit[RasenShuriken_Current_Index], dealing RasenShuriken_Damage damage of attack type Spells and damage type Normal
              • Special Effect - Create a special effect attached to the chest of Rasen_Picked_Unit[RasenShuriken_Current_Index] using Rasen_Effect_Location
              • Special Effect - Destroy (Last created special effect)
          • Custom script: call DestroyGroup(udg_RasenShuriken_Group_1[udg_RasenShuriken_Current_Index])
          • Custom script: call RemoveLocation(udg_RasenShuriken_Spin_Position_1[udg_RasenShuriken_Current_Index])
          • Unit Group - Pick every unit in RasenShuriken_Group_2[RasenShuriken_Current_Index] and do (Actions)
            • Loop - Actions
              • Set Rasen_Picked_Unit[RasenShuriken_Current_Index] = (Picked unit)
              • Unit - Move Rasen_Picked_Unit[RasenShuriken_Current_Index] instantly to RasenShuriken_Spin_Position_2[RasenShuriken_Current_Index]
              • Unit - Cause RasenShuriken_Caster[RasenShuriken_Current_Index] to damage Rasen_Picked_Unit[RasenShuriken_Current_Index], dealing RasenShuriken_Damage damage of attack type Spells and damage type Normal
              • Special Effect - Create a special effect attached to the chest of Rasen_Picked_Unit[RasenShuriken_Current_Index] using Rasen_Effect_Location
              • Special Effect - Destroy (Last created special effect)
          • Custom script: call DestroyGroup(udg_RasenShuriken_Group_2[udg_RasenShuriken_Current_Index])
          • Custom script: call RemoveLocation(udg_RasenShuriken_Spin_Position_2[udg_RasenShuriken_Current_Index])
          • Unit Group - Pick every unit in RasenShuriken_Group_3[RasenShuriken_Current_Index] and do (Actions)
            • Loop - Actions
              • Set Rasen_Picked_Unit[RasenShuriken_Current_Index] = (Picked unit)
              • Unit - Move Rasen_Picked_Unit[RasenShuriken_Current_Index] instantly to RasenShuriken_Spin_Position_3[RasenShuriken_Current_Index]
              • Unit - Cause RasenShuriken_Caster[RasenShuriken_Current_Index] to damage Rasen_Picked_Unit[RasenShuriken_Current_Index], dealing RasenShuriken_Damage damage of attack type Spells and damage type Normal
              • Special Effect - Create a special effect attached to the chest of Rasen_Picked_Unit[RasenShuriken_Current_Index] using Rasen_Effect_Location
              • Special Effect - Destroy (Last created special effect)
          • Custom script: call DestroyGroup(udg_RasenShuriken_Group_3[udg_RasenShuriken_Current_Index])
          • Custom script: call RemoveLocation(udg_RasenShuriken_Spin_Position_3[udg_RasenShuriken_Current_Index])
          • Unit Group - Pick every unit in RasenShuriken_Group_4[RasenShuriken_Current_Index] and do (Actions)
            • Loop - Actions
              • Set Rasen_Picked_Unit[RasenShuriken_Current_Index] = (Picked unit)
              • Unit - Move Rasen_Picked_Unit[RasenShuriken_Current_Index] instantly to RasenShuriken_Spin_Position_4[RasenShuriken_Current_Index]
              • Unit - Cause RasenShuriken_Caster[RasenShuriken_Current_Index] to damage Rasen_Picked_Unit[RasenShuriken_Current_Index], dealing RasenShuriken_Damage damage of attack type Spells and damage type Normal
              • Special Effect - Create a special effect attached to the chest of Rasen_Picked_Unit[RasenShuriken_Current_Index] using Rasen_Effect_Location
              • Special Effect - Destroy (Last created special effect)
          • Custom script: call DestroyGroup(udg_RasenShuriken_Group_4[udg_RasenShuriken_Current_Index])
          • Custom script: call RemoveLocation(udg_RasenShuriken_Spin_Position_4[udg_RasenShuriken_Current_Index])
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • RasenShuriken_Distance[RasenShuriken_Current_Index] Greater than or equal to RasenShuriken_Range
            • Then - Actions
              • Custom script: call RemoveLocation(udg_RasenShuriken_Caster_Position[udg_RasenShuriken_Current_Index])
              • Animation - Reset RasenShuriken_Caster[RasenShuriken_Current_Index]'s animation
              • Unit - Kill RasenShuriken_Unit[RasenShuriken_Current_Index]
              • Unit - Kill RasenShuriken_Spin_1[RasenShuriken_Current_Index]
              • Unit - Kill RasenShuriken_Spin_2[RasenShuriken_Current_Index]
              • Unit - Kill RasenShuriken_Spin_3[RasenShuriken_Current_Index]
              • Unit - Kill RasenShuriken_Spin_4[RasenShuriken_Current_Index]
              • Special Effect - Destroy RasenShuriken_Effect_1[RasenShuriken_Current_Index]
              • Special Effect - Destroy RasenShuriken_Effect_2[RasenShuriken_Current_Index]
              • Set Rasen_Index_Listener = (Rasen_Index_Listener - 1)
              • Set Rasen_Index_Container[Rasen_Index_Loop] = Rasen_Index_Container[Rasen_Index_Listener]
              • Set Rasen_Recycle_Container[Rasen_RecycleSize] = RasenShuriken_Current_Index
              • Set Rasen_RecycleSize = (Rasen_RecycleSize + 1)
              • Set Rasen_Index_Loop = (Rasen_Index_Loop - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Rasen_Index_Listener Equal to 0
                • Then - Actions
                  • Trigger - Turn off Resen Shuriken Go <gen>
                  • Skip remaining actions
                • Else - Actions
            • Else - Actions


  • Dummy Die
    • Events
      • Unit - A unit Dies
    • Conditions
      • Or - Any (Conditions) are true
        • Conditions
          • (Unit-type of (Dying unit)) Equal to Rasen_Shuriken
          • (Unit-type of (Dying unit)) Equal to Effect_dummy
    • Actions
      • Unit - Remove (Dying unit) from the game


V1.1
Fixed angle of the fourth special effect.
Added certain damage.
Fixed LEAKS as the moderator told me to.
V1.2
Fixed Without the Action- "Wait"
Fixed another LEAKS again.
V1.3
Removed Waiting
Added Indexing
V1.4
Configurable
v1.5
Fixed Leaks
v1.6
Fixed the missed leaks
v1.7
Fixed again


Keywords:
GUI,Triggers,Anime,Naruto,Chakra,Spell
Contents

Rasen Shuriken v1.6 (Map)

Reviews
12th Dec 2015 IcemanBo: Too long as NeedsFix. Rejected. 16:36, 29th Sep 2012 Magtheridon96: Change all the instances of (Dying unit) to (Triggering unit). (Triggering unit) is faster than (Dying unit). (I'm talking about the trigger that...

Moderator

M

Moderator

12th Dec 2015
IcemanBo: Too long as NeedsFix. Rejected.

16:36, 29th Sep 2012
Magtheridon96:

  • Change all the instances of (Dying unit) to (Triggering unit). (Triggering unit) is faster than (Dying unit). (I'm talking about the trigger that runs whenever a dummy dies)
  • You have no leaks now, which is a relief. You can improve your code a lot though. All of the locations and all of the groups except for Caster_Position don't need to be arrays. Arrays take up much more space than normal variables, so don't use arrays if you can use normal variables and have your code unaffected. This will boost speed and reduce file size, and memory usage.
 
Level 4
Joined
Aug 26, 2012
Messages
88
your triggers


  • Map InI
    • Events
      • Time - Elapsed game time is 2.00 seconds
    • Conditions
    • Actions
      • Unit - Create 1 Naruto for Player 1 (Red) at (Center of (Playable map area)) facing Default building facing degrees
      • Visibility - Enable fog of war


  • Resen Shuriken Start
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Rasen Shuriken
    • Actions
      • Set Resen_Caster = (Triggering unit)
      • Set Resen_Target = (Target point of ability being cast)
      • Unit - Create 1 Shield for (Owner of (Triggering unit)) at ((Position of Resen_Caster) offset by 100.00 towards (Facing of (Triggering unit)) degrees) facing (Facing of (Triggering unit)) degrees
      • Set Resen_Unit = (Last created unit)
      • Unit - Turn collision for Resen_Unit Off
      • Animation - Change Resen_Unit's animation speed to 200.00% of its original speed
      • Animation - Change Resen_Unit's size to (200.00%, 200.00%, 200.00%) of its original size
      • Unit - Create 1 Effect_dummy for (Owner of (Triggering unit)) at ((Position of Resen_Unit) offset by 220.00 towards 120.00 degrees) facing 120.00 degrees
      • Set Resen_Spin_1 = (Last created unit)
      • Animation - Change Resen_Spin_1's size to (200.00%, 200.00%, 200.00%) of its original size
      • Unit - Create 1 Effect_dummy for (Owner of (Triggering unit)) at ((Position of Resen_Unit) offset by 220.00 towards 240.00 degrees) facing 240.00 degrees
      • Set Resen_Spin_2 = (Last created unit)
      • Animation - Change Resen_Spin_2's size to (200.00%, 200.00%, 200.00%) of its original size
      • Unit - Create 1 Effect_dummy for (Owner of (Triggering unit)) at ((Position of Resen_Unit) offset by 220.00 towards 360.00 degrees) facing 360.00 degrees
      • Set Resen_Spin_3 = (Last created unit)
      • Animation - Change Resen_Spin_3's size to (200.00%, 200.00%, 200.00%) of its original size
      • Unit - Create 1 Effect_dummy for (Owner of (Triggering unit)) at ((Position of Resen_Unit) offset by 220.00 towards 0.00 degrees) facing 0.00 degrees
      • Set Resen_Spin_4 = (Last created unit)
      • Animation - Change Resen_Spin_4's size to (200.00%, 200.00%, 200.00%) of its original size
      • Set Rasen_An = (Angle from (Position of Resen_Caster) to Resen_Target)
      • Trigger - Turn on Resen Shuriken Go <gen>


  • Resen Shuriken Go
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • Unit - Move Resen_Unit instantly to ((Position of Resen_Unit) offset by 28.00 towards Rasen_An degrees), facing (Angle from (Position of Resen_Unit) to Resen_Target) degrees
      • Set Rasen_Angle_1 = ((Angle from (Position of Resen_Unit) to (Position of Resen_Spin_1)) - 20.00)
      • Set Rasen_Angle_2 = ((Angle from (Position of Resen_Unit) to (Position of Resen_Spin_2)) - 20.00)
      • Set Rasen_Angle_3 = ((Angle from (Position of Resen_Unit) to (Position of Resen_Spin_3)) - 20.00)
      • Set Rasen_Angle_4 = ((Angle from (Position of Resen_Unit) to (Position of Resen_Spin_4)) - 20.00)
      • Unit - Move Resen_Spin_1 instantly to ((Position of Resen_Unit) offset by 220.00 towards Rasen_Angle_1 degrees), facing Rasen_Angle_1 degrees
      • Unit - Move Resen_Spin_2 instantly to ((Position of Resen_Unit) offset by 220.00 towards Rasen_Angle_2 degrees), facing Rasen_Angle_2 degrees
      • Unit - Move Resen_Spin_3 instantly to ((Position of Resen_Unit) offset by 220.00 towards Rasen_Angle_3 degrees), facing Rasen_Angle_3 degrees
      • Unit - Move Resen_Spin_4 instantly to ((Position of Resen_Unit) offset by 220.00 towards Rasen_Angle_4 degrees), facing Rasen_Angle_4 degrees
      • Unit Group - Pick every unit in (Units within 150.00 of (Position of Resen_Spin_1) matching ((((Matching unit) is A structure) Not equal to True) and ((((Matching unit) is Magic Immune) Not equal to True) and ((((Matching unit) belongs to an enemy of (Owner of Resen_Caster)) Equal to True) and do (Actions)
        • Loop - Actions
          • Unit - Move (Picked unit) instantly to ((Position of Resen_Spin_1) offset by 10.00 towards Rasen_Angle_1 degrees), facing ((Facing of (Picked unit)) + 20.00) degrees
      • Unit Group - Pick every unit in (Units within 150.00 of (Position of Resen_Spin_2) matching ((((Matching unit) is A structure) Not equal to True) and ((((Matching unit) is Magic Immune) Not equal to True) and ((((Matching unit) belongs to an enemy of (Owner of Resen_Caster)) Equal to True) and do (Actions)
        • Loop - Actions
          • Unit - Move (Picked unit) instantly to ((Position of Resen_Spin_2) offset by 10.00 towards Rasen_Angle_2 degrees), facing ((Facing of (Picked unit)) + 20.00) degrees
      • Unit Group - Pick every unit in (Units within 150.00 of (Position of Resen_Spin_3) matching ((((Matching unit) is A structure) Not equal to True) and ((((Matching unit) is Magic Immune) Not equal to True) and ((((Matching unit) belongs to an enemy of (Owner of Resen_Caster)) Equal to True) and do (Actions)
        • Loop - Actions
          • Unit - Move (Picked unit) instantly to ((Position of Resen_Spin_3) offset by 10.00 towards Rasen_Angle_3 degrees), facing ((Facing of (Picked unit)) + 20.00) degrees
      • Unit Group - Pick every unit in (Units within 150.00 of (Position of Resen_Spin_4) matching ((((Matching unit) is A structure) Not equal to True) and ((((Matching unit) is Magic Immune) Not equal to True) and ((((Matching unit) belongs to an enemy of (Owner of Resen_Caster)) Equal to True) and do (Actions)
        • Loop - Actions
          • Unit - Move (Picked unit) instantly to ((Position of Resen_Spin_4) offset by 10.00 towards Rasen_Angle_4 degrees), facing ((Facing of (Picked unit)) + 20.00) degrees
      • Unit Group - Pick every unit in (Units within 150.00 of (Position of Resen_Unit) matching ((((Matching unit) is A structure) Not equal to True) and ((((Matching unit) belongs to an enemy of (Owner of Resen_Caster)) Equal to True) and ((((Matching unit) is alive) Equal to True) and (((Matchi and do (Actions)
        • Loop - Actions
          • Unit - Cause Resen_Caster to damage (Picked unit), dealing 12.00 damage of attack type Spells and damage type Normal
          • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Weapons\ZigguratMissile\ZigguratMissile.mdl
          • Special Effect - Destroy (Last created special effect)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Distance between (Position of Resen_Caster) and (Position of Resen_Unit)) Greater than or equal to 2000.00
        • Then - Actions
          • Unit - Kill Resen_Unit
          • Unit - Kill Resen_Spin_1
          • Unit - Kill Resen_Spin_2
          • Unit - Kill Resen_Spin_3
          • Unit - Kill Resen_Spin_4
          • Trigger - Turn off (This trigger)
        • Else - Actions


  • Rasen FInish
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions



1. Remove unnecessary import ; you are just increasing the file size
2. Your spell "Rasen Shuriken" is not MPI ; it can only be used by 1 player per cast
3. It leaks
4. What is the trigger "Rasen Flnish"? Is it used in the spell?

i rate this spell 1.5/5 for ur creativity, you may wan to look at some tutorials and re-update this spell for this might be approved
 

BUP

BUP

Level 8
Joined
Sep 9, 2012
Messages
172
Triggers

  • Map Initialization
    • Events
      • Time - Elapsed game time is 0.01 seconds
    • Conditions
    • Actions
      • Unit - Create 1 Naruto for Player 1 (Red) at (Center of (Playable map area)) facing Default building facing degrees
      • Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility across (Playable map area)
  • Resen Shuriken Start
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Rasen Shuriken
    • Actions
      • Set Resen_Caster = (Triggering unit)
      • Animation - Play Resen_Caster's spell three animation
      • Animation - Change Resen_Caster's animation speed to 200.00% of its original speed
      • Special Effect - Create a special effect attached to the hand left of Resen_Caster using Abilities\Weapons\ZigguratMissile\ZigguratMissile.mdl
      • Set Rasen_Effect_1 = (Last created special effect)
      • Special Effect - Create a special effect attached to the hand right of Resen_Caster using Abilities\Weapons\ZigguratMissile\ZigguratMissile.mdl
      • Set Rasen_Effect_2 = (Last created special effect)
      • Wait 2.00 seconds
      • Set Rasen_Caster_Position = (Position of Resen_Caster)
      • Set Resen_Target = (Target point of ability being cast)
      • Unit - Create 1 Rasen_Shuriken for (Owner of (Triggering unit)) at ((Position of Resen_Caster) offset by 100.00 towards (Facing of (Triggering unit)) degrees) facing (Facing of (Triggering unit)) degrees
      • Set Resen_Unit = (Last created unit)
      • Set Rasen_Unit_Position = (Position of Resen_Unit)
      • Unit - Turn collision for Resen_Unit Off
      • Animation - Change Resen_Unit's animation speed to 200.00% of its original speed
      • Animation - Change Resen_Unit's size to (200.00%, 200.00%, 200.00%) of its original size
      • Set Rasen_Spawn_1 = ((Position of Resen_Caster) offset by 220.00 towards 90.00 degrees)
      • Unit - Create 1 Effect_dummy for (Owner of (Triggering unit)) at Rasen_Spawn_1 facing 90.00 degrees
      • Set Resen_Spin_1 = (Last created unit)
      • Animation - Change Resen_Spin_1's size to (200.00%, 200.00%, 200.00%) of its original size
      • Set Rasen_Spawn_2 = ((Position of Resen_Caster) offset by 220.00 towards 180.00 degrees)
      • Unit - Create 1 Effect_dummy for (Owner of (Triggering unit)) at Rasen_Spawn_2 facing 180.00 degrees
      • Set Resen_Spin_2 = (Last created unit)
      • Animation - Change Resen_Spin_2's size to (200.00%, 200.00%, 200.00%) of its original size
      • Set Rasen_Spawn_3 = ((Position of Resen_Caster) offset by 220.00 towards 270.00 degrees)
      • Unit - Create 1 Effect_dummy for (Owner of (Triggering unit)) at Rasen_Spawn_3 facing 270.00 degrees
      • Set Resen_Spin_3 = (Last created unit)
      • Animation - Change Resen_Spin_3's size to (200.00%, 200.00%, 200.00%) of its original size
      • Set Rasen_Spawn_4 = ((Position of Resen_Caster) offset by 220.00 towards 360.00 degrees)
      • Unit - Create 1 Effect_dummy for (Owner of (Triggering unit)) at Rasen_Spawn_4 facing 180.00 degrees
      • Set Resen_Spin_4 = (Last created unit)
      • Animation - Change Resen_Spin_4's size to (200.00%, 200.00%, 200.00%) of its original size
      • Set Rasen_An = (Angle from Rasen_Caster_Position to Resen_Target)
      • Set Rasen_Spin_Position_1 = (Position of Resen_Spin_1)
      • Set Rasen_Spin_Position_2 = (Position of Resen_Spin_2)
      • Set Rasen_Spin_Position_3 = (Position of Resen_Spin_3)
      • Set Rasen_Spin_Position_4 = (Position of Resen_Spin_4)
      • Special Effect - Destroy Rasen_Effect_1
      • Special Effect - Destroy Rasen_Effect_2
      • Custom script: call RemoveLocation(udg_Rasen_Caster_Position)
      • Custom script: call RemoveLocation(udg_Rasen_Unit_Position)
      • Custom script: call RemoveLocation(udg_Rasen_Spin_Position_1)
      • Custom script: call RemoveLocation(udg_Rasen_Spin_Position_2)
      • Custom script: call RemoveLocation(udg_Rasen_Spin_Position_3)
      • Custom script: call RemoveLocation(udg_Rasen_Spin_Position_4)
      • Custom script: call RemoveLocation(udg_Rasen_Spawn_1)
      • Custom script: call RemoveLocation(udg_Rasen_Spawn_2)
      • Custom script: call RemoveLocation(udg_Rasen_Spawn_3)
      • Custom script: call RemoveLocation(udg_Rasen_Spawn_4)
      • Trigger - Turn on Resen Shuriken Go <gen>
  • Resen Shuriken Go
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • Set Rasen_Caster_Position = (Position of Resen_Caster)
      • Set Rasen_Unit_Position = (Position of Resen_Unit)
      • Set Rasen_Spin_Position_1 = (Position of Resen_Spin_1)
      • Set Rasen_Spin_Position_2 = (Position of Resen_Spin_2)
      • Set Rasen_Spin_Position_3 = (Position of Resen_Spin_3)
      • Set Rasen_Spin_Position_4 = (Position of Resen_Spin_4)
      • Unit - Move Resen_Unit instantly to (Rasen_Unit_Position offset by 28.00 towards Rasen_An degrees), facing (Angle from Rasen_Unit_Position to Resen_Target) degrees
      • Set Rasen_Angle_1 = ((Angle from Rasen_Unit_Position to Rasen_Spin_Position_1) - 20.00)
      • Set Rasen_Angle_2 = ((Angle from Rasen_Unit_Position to Rasen_Spin_Position_2) - 20.00)
      • Set Rasen_Angle_3 = ((Angle from Rasen_Unit_Position to Rasen_Spin_Position_3) - 20.00)
      • Set Rasen_Angle_4 = ((Angle from Rasen_Unit_Position to Rasen_Spin_Position_4) - 20.00)
      • Unit - Move Resen_Spin_1 instantly to (Rasen_Unit_Position offset by 220.00 towards Rasen_Angle_1 degrees), facing Rasen_Angle_1 degrees
      • Unit - Move Resen_Spin_2 instantly to (Rasen_Unit_Position offset by 220.00 towards Rasen_Angle_2 degrees), facing Rasen_Angle_2 degrees
      • Unit - Move Resen_Spin_3 instantly to (Rasen_Unit_Position offset by 220.00 towards Rasen_Angle_3 degrees), facing Rasen_Angle_3 degrees
      • Unit - Move Resen_Spin_4 instantly to (Rasen_Unit_Position offset by 220.00 towards Rasen_Angle_4 degrees), facing Rasen_Angle_4 degrees
      • Set Rasen_Group_1 = (Units within 150.00 of (Position of Resen_Spin_1) matching (((((Matching unit) is A structure) Not equal to True) and (((Matching unit) is Magic Immune) Not equal to True)) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an e
      • Unit Group - Pick every unit in Rasen_Group_1 and do (Actions)
        • Loop - Actions
          • Set Rasen_Picked_Position = (Position of (Picked unit))
          • Unit - Cause Resen_Caster to damage (Picked unit), dealing (10.00 + (5.00 x (Real((Level of Rasen Shuriken for Resen_Caster))))) damage of attack type Spells and damage type Normal
          • Unit - Move (Picked unit) instantly to (Rasen_Spin_Position_1 offset by 10.00 towards Rasen_Angle_1 degrees), facing ((Facing of (Picked unit)) + 20.00) degrees
          • Special Effect - Create a special effect at Rasen_Picked_Position using Abilities\Weapons\ZigguratMissile\ZigguratMissile.mdl
          • Custom script: call RemoveLocation(udg_Rasen_Picked_Position)
          • Special Effect - Destroy (Last created special effect)
      • Set Rasen_Group_2 = (Units within 150.00 of (Position of Resen_Spin_2) matching (((((Matching unit) is A structure) Not equal to True) and (((Matching unit) is Magic Immune) Not equal to True)) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an e
      • Unit Group - Pick every unit in Rasen_Group_2 and do (Actions)
        • Loop - Actions
          • Set Rasen_Picked_Position = (Position of (Picked unit))
          • Unit - Cause Resen_Caster to damage (Picked unit), dealing (10.00 + (5.00 x (Real((Level of Rasen Shuriken for Resen_Caster))))) damage of attack type Spells and damage type Normal
          • Unit - Move (Picked unit) instantly to (Rasen_Spin_Position_2 offset by 10.00 towards Rasen_Angle_2 degrees), facing ((Facing of (Picked unit)) + 20.00) degrees
          • Special Effect - Create a special effect at Rasen_Picked_Position using Abilities\Weapons\ZigguratMissile\ZigguratMissile.mdl
          • Custom script: call RemoveLocation(udg_Rasen_Picked_Position)
          • Special Effect - Destroy (Last created special effect)
      • Set Rasen_Group_3 = (Units within 150.00 of (Position of Resen_Spin_3) matching (((((Matching unit) is A structure) Not equal to True) and (((Matching unit) is Magic Immune) Not equal to True)) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an e
      • Unit Group - Pick every unit in Rasen_Group_3 and do (Actions)
        • Loop - Actions
          • Set Rasen_Picked_Position = (Position of (Picked unit))
          • Unit - Cause Resen_Caster to damage (Picked unit), dealing (10.00 + (5.00 x (Real((Level of Rasen Shuriken for Resen_Caster))))) damage of attack type Spells and damage type Normal
          • Unit - Move (Picked unit) instantly to (Rasen_Spin_Position_3 offset by 10.00 towards Rasen_Angle_3 degrees), facing ((Facing of (Picked unit)) + 20.00) degrees
          • Special Effect - Create a special effect at Rasen_Picked_Position using Abilities\Weapons\ZigguratMissile\ZigguratMissile.mdl
          • Custom script: call RemoveLocation(udg_Rasen_Picked_Position)
          • Special Effect - Destroy (Last created special effect)
      • Set Rasen_Group_4 = (Units within 150.00 of (Position of Resen_Spin_4) matching (((((Matching unit) is A structure) Not equal to True) and (((Matching unit) is Magic Immune) Not equal to True)) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an e
      • Unit Group - Pick every unit in Rasen_Group_4 and do (Actions)
        • Loop - Actions
          • Set Rasen_Picked_Position = (Position of (Picked unit))
          • Unit - Cause Resen_Caster to damage (Picked unit), dealing (10.00 + (5.00 x (Real((Level of Rasen Shuriken for Resen_Caster))))) damage of attack type Spells and damage type Normal
          • Unit - Move (Picked unit) instantly to (Rasen_Spin_Position_4 offset by 10.00 towards Rasen_Angle_4 degrees), facing ((Facing of (Picked unit)) + 20.00) degrees
          • Special Effect - Create a special effect at Rasen_Picked_Position using Abilities\Weapons\ZigguratMissile\ZigguratMissile.mdl
          • Custom script: call RemoveLocation(udg_Rasen_Picked_Position)
          • Special Effect - Destroy (Last created special effect)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Distance between Rasen_Caster_Position and Rasen_Unit_Position) Greater than or equal to 2000.00
        • Then - Actions
          • Unit - Kill Resen_Unit
          • Unit - Kill Resen_Spin_1
          • Unit - Kill Resen_Spin_2
          • Unit - Kill Resen_Spin_3
          • Unit - Kill Resen_Spin_4
          • Custom script: call RemoveLocation(udg_Rasen_Unit_Position)
          • Custom script: call RemoveLocation(udg_Rasen_Caster_Position)
          • Custom script: call RemoveLocation(udg_Rasen_Spin_Position_1)
          • Custom script: call RemoveLocation(udg_Rasen_Spin_Position_2)
          • Custom script: call RemoveLocation(udg_Rasen_Spin_Position_3)
          • Custom script: call RemoveLocation(udg_Rasen_Spin_Position_4)
          • Custom script: call DestroyGroup(udg_Rasen_Group_1)
          • Custom script: call DestroyGroup(udg_Rasen_Group_2)
          • Custom script: call DestroyGroup(udg_Rasen_Group_3)
          • Custom script: call DestroyGroup(udg_Rasen_Group_4)
          • Trigger - Turn off (This trigger)
        • Else - Actions
          • Do nothing
      • Custom script: call RemoveLocation(udg_Rasen_Spin_Position_1)
      • Custom script: call RemoveLocation(udg_Rasen_Spin_Position_2)
      • Custom script: call RemoveLocation(udg_Rasen_Spin_Position_3)
      • Custom script: call RemoveLocation(udg_Rasen_Spin_Position_4)
      • Custom script: call DestroyGroup(udg_Rasen_Group_1)
      • Custom script: call DestroyGroup(udg_Rasen_Group_2)
      • Custom script: call DestroyGroup(udg_Rasen_Group_3)
      • Custom script: call DestroyGroup(udg_Rasen_Group_4)
      • Custom script: call RemoveLocation(udg_Rasen_Caster_Position)
 
Last edited by a moderator:
Level 33
Joined
Apr 24, 2012
Messages
5,115
1st of all,Documentation
2nd,Rasen shuriken spin must be an array.
3rd,once you maded ^ an array,kill it in the integer loop
4th,Special Effect Should be an array too.
5th.Unit Group doesnt need to be an array,because you are destroying it quickly,just recycle it.
6th,All of the above actions must be done in an integer loop,because you are using a unit array.
7th,Creating Dummies should be in an integer loop.

Overall,unacceptable
You must learn how to use arrays,because creating so many variables can increase memory.arrays are easier to handle and doesnt need tons of copied-then-pasted variables.

edit
Use Vexorian's Dummy.mdx :D
 
Top