- Joined
- Apr 1, 2010
- Messages
- 289
-
ChargeLoop
-
Events
-
Time - Every 0.03 seconds of game time
-
-
Conditions
-
Actions
-
For each (Integer CM) from 1 to ChargeMax, do (Actions)
-
Loop - Actions
-
Game - Display to (All players) the text: is casting
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(ChargeCaster[CM] is alive) Equal to True
-
(Current order of ChargeCaster[CM]) Equal to (Order(stampede))
-
-
Then - Actions
-
Set Integer1 = (Random integer number between 1 and 100)
-
Set Loc_to_remove2 = (Position of ChargeCaster[CM])
-
Set zzangle = (Facing of ChargeCaster[CM])
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Integer1 Less than or equal to ChargeSpawn[CM]
-
-
Then - Actions
-
Set Real1 = (Random real number between (zzangle + 100.00) and (zzangle + 260.00))
-
Set Loc_to_remove = (Loc_to_remove2 offset by 570.00 towards Real1 degrees)
-
Unit - Create 1 Chivalric Knight for ChargePlayer[CM] at Loc_to_remove facing zzangle degrees
-
Unit Group - Add (Last created unit) to ChargeGroup[CM]
-
Animation - Play (Last created unit)'s walk animation
-
-
Else - Actions
-
-
Unit Group - Pick every unit in ChargeGroup[CM] and do (Actions)
-
Loop - Actions
-
Set Unit1 = (Picked unit)
-
Set Loc_to_remove = (Position of Unit1)
-
Set TempPoint = (Loc_to_remove offset by 20.00 towards zzangle degrees)
-
Custom script: call SetUnitX(udg_Unit1,GetLocationX(udg_TempPoint))
-
Custom script: call SetUnitY(udg_Unit1,GetLocationY(udg_TempPoint))
-
Custom script: call RemoveLocation(udg_Loc_to_remove)
-
Set Loc_to_remove = (Loc_to_remove offset by 2.00 towards zzangle degrees)
-
Set Loc_to_remove3 = (Loc_to_remove offset by -2.00 towards zzangle degrees)
-
Set Real2 = (Distance between Loc_to_remove and TempPoint)
-
Set Real2 = (Real2 / (Distance between Loc_to_remove3 and TempPoint))
-
Set Real2 = (Real2 x 0.50)
-
Set Real3 = (Distance between Loc_to_remove2 and TempPoint)
-
Set Real1 = (Abs((Real2 / Real3)))
-
Set Real1 = (Real1 x 100.00)
-
Custom script: call RemoveLocation(udg_Loc_to_remove3)
-
Custom script: call RemoveLocation(udg_Loc_to_remove)
-
Animation - Change Unit1's vertex coloring to (100.00%, 100.00%, 100.00%) with Real1% transparency
-
Set Group1 = (Units within 78.00 of TempPoint matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of ChargePlayer[CM]) Equal to True))))
-
For each (Integer A) from 1 to (Number of units in Group1), do (Actions)
-
Loop - Actions
-
Set Unit2 = (Random unit from Group1)
-
Unit Group - Remove Unit2 from Group1
-
Set Loc_to_remove = (Position of Unit2)
-
Set zzangle = (Angle from TempPoint to Loc_to_remove)
-
Set Loc_to_remove3 = (Loc_to_remove offset by 20.00 towards zzangle degrees)
-
Unit - Cause ChargeCaster[CM] to damage Unit2, dealing (ChargeDamage[CM] x Real1) damage of attack type Siege and damage type Normal
-
Unit - Move Unit2 instantly to Loc_to_remove3
-
Special Effect - Create a special effect attached to the chest of Unit2 using Abilities\Spells\Orc\MirrorImage\MirrorImageDeathCaster.mdl
-
Special Effect - Destroy (Last created special effect)
-
Custom script: call RemoveLocation(udg_Loc_to_remove3)
-
Custom script: call RemoveLocation(udg_Loc_to_remove)
-
-
-
Custom script: call DestroyGroup(udg_Group1)
-
Set Group1 = (Units within 600.00 of Loc_to_remove2)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Unit1 is in Group1) Equal to False
-
-
Then - Actions
-
Unit - Remove Unit1 from the game
-
Special Effect - Create a special effect at TempPoint using Units\NightElf\Wisp\WispExplode.mdl
-
Special Effect - Destroy (Last created special effect)
-
-
Else - Actions
-
-
Custom script: call DestroyGroup(udg_Group1)
-
-
-
Custom script: call RemoveLocation(udg_Loc_to_remove2)
-
-
Else - Actions
-
Unit Group - Pick every unit in ChargeGroup[CM] and do (Actions)
-
Loop - Actions
-
Set Unit1 = (Picked unit)
-
Set Loc_to_remove = (Position of Unit1)
-
Unit - Remove Unit1 from the game
-
Special Effect - Create a special effect at Loc_to_remove using Units\NightElf\Wisp\WispExplode.mdl
-
Special Effect - Destroy (Last created special effect)
-
-
-
Custom script: call DestroyGroup(udg_ChargeGroup[udg_CM])
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
TM Equal to TacticsMax
-
-
Then - Actions
-
Set TacticsMax = (TacticsMax - 1)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
TacticsMax Equal to 0
-
-
Then - Actions
-
Trigger - Turn off (This trigger)
-
-
Else - Actions
-
-
-
Else - Actions
-
-
-
-
-
-
-
-
ChargeCast
-
Events
-
Unit - A unit Starts the effect of an ability
-
-
Conditions
-
(Ability being cast) Equal to Charge!!
-
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
ChargeMax Equal to 0
-
-
Then - Actions
-
Trigger - Turn on ChargeLoop <gen>
-
-
Else - Actions
-
-
Set ChargeMax = (ChargeMax + 1)
-
Set ChargeCaster[ChargeMax] = (Triggering unit)
-
Set ChargePlayer[ChargeMax] = (Triggering player)
-
Set Integer1 = (Level of Charge!! for ChargeCaster[ChargeMax])
-
Set ChargeDamage[ChargeMax] = ((5.00 x (Real(Integer1))) + 15.00)
-
Set ChargeSpawn[ChargeMax] = ((2 x Integer1) + 2)
-
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Unit1 is in Group1) Equal to False
-
-
Then - Actions
-
Unit - Remove Unit1 from the game
-
Special Effect - Create a special effect at TempPoint using Units\NightElf\Wisp\WispExplode.mdl
-
Special Effect - Destroy (Last created special effect)
-
-
Else - Actions
-