Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
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
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
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
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
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
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)
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)
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)
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)
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
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...
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.
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
This is why I hate anime spells done in Warcraft III.
It is not because of the quality of the spell, it is because type of people producing it, 99.99% from those people coded a really bad trigger... really, really bad that it reflects anime spells to be bad (actually it is not).
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)
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
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
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
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
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.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.