worldofDeath
New Member
- Reaction score
- 47
Okay so i use this spell call energy Blade.
And heres the other part.
So what happens is the unit starts useing the spell and it spins around him that deals damage to any one that comes in content with it. And once it kills like 10 units that are by it. The game crashes and end. Is my Code wrong?
Code:
Energy Blade Cast
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Energy Blade Unit Move
Actions
-------- * SAFETY * --------
Custom script: call RemoveLocation(udg_EB_Location)
Countdown Timer - Pause EB_Timer
For each (Integer A) from 1 to EB_Part_Amount, do (Actions)
Loop - Actions
Unit - Kill EB_Part[(Integer A)]
-------- ------------------- --------
Set EB_Caster = (Triggering unit)
Set EB_Location = (Position of EB_Caster)
-------- * CONFIG * --------
Set EB_Damage = ((Real((Level of (Ability being cast) for EB_Caster))) x 1.50)
Set EB_Mana_Drain = ((Real((Level of (Ability being cast) for EB_Caster))) x 4.00)
Set EB_Part_Amount = 36
Set EB_AoE = 70.00
Set EB_Arc_Dist = 550.00
Set EB_Arc_Str = 50.00
Set EB_Blade_Speed = -6.00
Set EB_Timer_Delay = 0.05
Set EB_Order = starfall
Set EB_SFX = Abilities\Spells\Human\Feedback\ArcaneTowerAttack.mdl
-------- ------------------- --------
For each (Integer A) from 1 to (EB_Part_Amount / 2), do (Actions)
Loop - Actions
Set EB_Offset_Loc[1] = (EB_Location offset by ((EB_Arc_Dist / ((Real(EB_Part_Amount)) / 2.00)) x (Real((Integer A)))) towards ((EB_Arc_Str / ((Real(EB_Part_Amount)) / 2.00)) x (Real((Integer A)))) degrees)
Unit - Create 1 Energy Blade Part for (Owner of EB_Caster) at EB_Offset_Loc[1] facing 90.00 degrees
Set EB_Part[(Integer A)] = (Last created unit)
Set EB_Offset_Loc[2] = (EB_Location offset by (((EB_Arc_Dist x -1.00) / ((Real(EB_Part_Amount)) / 2.00)) x (Real((Integer A)))) towards ((EB_Arc_Str / ((Real(EB_Part_Amount)) / 2.00)) x (Real((Integer A)))) degrees)
Unit - Create 1 Energy Blade Part for (Owner of EB_Caster) at EB_Offset_Loc[2] facing 90.00 degrees
Set EB_Part[((EB_Part_Amount + 1) - (Integer A))] = (Last created unit)
Custom script: call RemoveLocation(udg_EB_Offset_Loc[1])
Custom script: call RemoveLocation(udg_EB_Offset_Loc[2])
Countdown Timer - Start EB_Timer as a Repeating timer that will expire in EB_Timer_Delay seconds
And heres the other part.
Code:
Energy Blade Rotate
Events
Time - EB_Timer expires
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Mana of EB_Caster) Greater than 1.00) and ((Current order of EB_Caster) Equal to (Order(EB_Order)))
Then - Actions
Unit - Set mana of EB_Caster to ((Mana of EB_Caster) - EB_Mana_Drain)
For each (Integer A) from 1 to EB_Part_Amount, do (Actions)
Loop - Actions
Set EB_Offset_Loc[0] = (Position of EB_Part[(Integer A)])
Set EB_Offset_Loc[1] = (EB_Location offset by (Distance between EB_Location and EB_Offset_Loc[0]) towards ((Angle from EB_Location to EB_Offset_Loc[0]) + EB_Blade_Speed) degrees)
Unit - Move EB_Part[(Integer A)] instantly to EB_Offset_Loc[1]
Custom script: set bj_wantDestroyGroup = true
Unit Group - Pick every unit in (Units within EB_AoE of EB_Offset_Loc[0] matching ((((Matching unit) belongs to an enemy of (Owner of EB_Caster)) Equal to True) and ((((Matching unit) is A structure) Not equal to True) and ((((Matching unit) is A flying unit) Not equal to True) and (((Match and do (Actions)
Loop - Actions
Unit - Cause EB_Caster to damage (Picked unit), dealing EB_Damage damage of attack type Normal and damage type Normal
Special Effect - Create a special effect attached to the chest of (Picked unit) using EB_SFX
Special Effect - Destroy (Last created special effect)
Set EB_Offset_Loc[2] = (Position of EB_Part[((EB_Part_Amount + 1) - (Integer A))])
Set EB_Offset_Loc[3] = (EB_Location offset by (Distance between EB_Location and EB_Offset_Loc[2]) towards ((Angle from EB_Location to EB_Offset_Loc[2]) + EB_Blade_Speed) degrees)
Unit - Move EB_Part[((EB_Part_Amount + 1) - (Integer A))] instantly to EB_Offset_Loc[3]
Custom script: set bj_wantDestroyGroup = true
Unit Group - Pick every unit in (Units within EB_AoE of EB_Offset_Loc[2] matching ((((Matching unit) belongs to an enemy of (Owner of EB_Caster)) Equal to True) and ((((Matching unit) is A structure) Not equal to True) and ((((Matching unit) is A flying unit) Not equal to True) and (((Match and do (Actions)
Loop - Actions
Unit - Cause EB_Caster to damage (Picked unit), dealing EB_Damage damage of attack type Normal and damage type Fire
Special Effect - Create a special effect attached to the chest of (Picked unit) using EB_SFX
Special Effect - Destroy (Last created special effect)
Custom script: call RemoveLocation(udg_EB_Offset_Loc[0])
Custom script: call RemoveLocation(udg_EB_Offset_Loc[1])
Custom script: call RemoveLocation(udg_EB_Offset_Loc[2])
Custom script: call RemoveLocation(udg_EB_Offset_Loc[3])
Else - Actions
Countdown Timer - Pause EB_Timer
For each (Integer A) from 1 to EB_Part_Amount, do (Actions)
Loop - Actions
Unit - Kill EB_Part[(Integer A)]
Unit - Order EB_Caster to Stop
Custom script: call RemoveLocation(udg_EB_Location)
So what happens is the unit starts useing the spell and it spins around him that deals damage to any one that comes in content with it. And once it kills like 10 units that are by it. The game crashes and end. Is my Code wrong?