tuantai120
Cool Member
- Reaction score
- 1
Trigger:
- Charge
- Events
- Unit - A unit Starts the effect of an ability
- Conditions
- (Ability being cast) Equal to Charge
- Actions
- Set Charge_Caster[Charge_MuiCount] = (Triggering unit)
- Set Charge_Target[Charge_MuiCount] = (Target unit of ability being cast)
- Set Charge_Point1[Charge_MuiCount] = (Position of Charge_Caster[Charge_MuiCount])
- Set Charge_Point2[Charge_MuiCount] = (Position of Charge_Target[Charge_MuiCount])
- Set Charge_Angle[Charge_MuiCount] = (Angle from Charge_Point1[Charge_MuiCount] to Charge_Point2[Charge_MuiCount])
- Set Charge_Distance[Charge_MuiCount] = (Distance between Charge_Point1[Charge_MuiCount] and Charge_Point2[Charge_MuiCount])
- Set Charge_Fade[Charge_MuiCount] = 0.00
- Unit - Turn collision for Charge_Caster[Charge_MuiCount] Off
- Unit - Make Charge_Caster[Charge_MuiCount] Invulnerable
- Special Effect - Create a special effect at Charge_Point1[Charge_MuiCount] using Abilities\Weapons\AncientProtectorMissile\AncientProtectorMissile.mdl
- Set Charge_Spec[Charge_MuiCount] = (Last created special effect)
- Custom script: call RemoveLocation (udg_Charge_Point1[udg_Charge_MuiCount])
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- Charge_MuiCount Equal to 0
- Then - Actions
- Countdown Timer - Start Charge_Timer as a Repeating timer that will expire in 0.04 seconds
- Else - Actions
- If - Conditions
- Set Charge_MuiCount = (Charge_MuiCount + 1)
- Events
Trigger:
- ChargeLoop
- Events
- Time - Charge_Timer expires
- Conditions
- Actions
- For each (Integer Charge_MuiInst) from 0 to (Charge_MuiCount - 1), do (Actions)
- Loop - Actions
- Set Charge_Point3[Charge_MuiInst] = (Position of Charge_Caster[Charge_MuiInst])
- Set Charge_Point4[Charge_MuiInst] = (Charge_Point3[Charge_MuiInst] offset by 40.00 towards Charge_Angle[Charge_MuiInst] degrees)
- Unit - Move Charge_Caster[Charge_MuiInst] instantly to Charge_Point4[Charge_MuiInst]
- Set Charge_Fade[Charge_MuiInst] = (Charge_Fade[Charge_MuiInst] + 8.00)
- Unit - Create 1 Dummy Cooler for (Owner of Charge_Caster[Charge_MuiInst]) at Charge_Point3[Charge_MuiInst] facing Charge_Angle[Charge_MuiInst] degrees
- Set Charge_Dummys[Charge_MuiInst] = (Last created unit)
- Unit - Add a 1.00 second Generic expiration timer to Charge_Dummys[Charge_MuiInst]
- Animation - Change Charge_Dummys[Charge_MuiInst]'s vertex coloring to (100.00%, 100.00%, 100.00%) with Charge_Fade[Charge_MuiInst]% transparency
- Animation - Play Charge_Caster[Charge_MuiInst]'s spell channel 2 animation
- Animation - Play Charge_Dummys[Charge_MuiInst]'s spell channel 2 animation
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- Charge_Distance[Charge_MuiInst] Less than or equal to 50.00
- Then - Actions
- Special Effect - Destroy Charge_Spec[Charge_MuiInst]
- Unit - Turn collision for Charge_Caster[Charge_MuiCount] On
- Unit - Make Charge_Caster[Charge_MuiCount] Vulnerable
- Unit - Cause Charge_Caster[Charge_MuiCount] to damage Charge_Target[Charge_MuiCount], dealing 5000.00 damage of attack type Spells and damage type Normal
- Set Charge_Caster[Charge_MuiInst] = No unit
- Set Charge_MuiCount = (Charge_MuiCount - 1)
- Else - Actions
- If - Conditions
- Custom script: call RemoveLocation (udg_Charge_Point4[udg_Charge_MuiInst])
- Custom script: call RemoveLocation (udg_Charge_Point3[udg_Charge_MuiInst])
- For each (Integer A) from 0 to (Charge_MuiCount - 1), do (Actions)
- Loop - Actions
- Set Charge_Angle[(Integer A)] = Charge_Angle[((Integer A) + 1)]
- Set Charge_Caster[(Integer A)] = Charge_Caster[((Integer A) + 1)]
- Set Charge_Dummys[(Integer A)] = Charge_Dummys[((Integer A) + 1)]
- Set Charge_Target[(Integer A)] = Charge_Target[((Integer A) + 1)]
- Loop - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- Charge_MuiCount Equal to 0
- Then - Actions
- Countdown Timer - Pause Charge_Timer
- Custom script: exitwhen true
- Else - Actions
- If - Conditions
- Loop - Actions
- For each (Integer Charge_MuiInst) from 0 to (Charge_MuiCount - 1), do (Actions)
- Events
thx for help