Zealot
Member
- Reaction score
- 11
The ability works as intended but only the first time, the second time only the SFX appears. I've no idea what could cause this.
Another inconvenience is 2 random SFX do not disappear when the others do, but they seem to always be the same 2.
The ability makes a SFX in the target area, and after all the SFX are created units that are not at full mana regenerate it and those at full mana gain maximum mana until the end. At the end of the ability the SFX are supposed to disappear in the order they appeared.
Part 2 in next post.
Another inconvenience is 2 random SFX do not disappear when the others do, but they seem to always be the same 2.
The ability makes a SFX in the target area, and after all the SFX are created units that are not at full mana regenerate it and those at full mana gain maximum mana until the end. At the end of the ability the SFX are supposed to disappear in the order they appeared.
Trigger:
- Mystical Field Cast
- Events
- Unit - A unit Starts the effect of an ability
- Conditions
- (Ability being cast) Equal to Mystical Field
- Actions
- Set Mystical_Field_Affected = Mystical_Field_Affected
- Set Mystical_Field_Caster = (Casting unit)
- Set Mystical_Field_Check = 2
- Set Mystical_Field_Angle = 0
- Set Mystical_Field_Continue = (Random angle)
- Set Mystical_Field_Point = (Target point of ability being cast)
- Set Mystical_Field_Total = 0
- Special Effect - Create a special effect at Mystical_Field_Point using HolyBlessing.mdx
- Set Mystical_Field_SFX[1] = (Last created special effect)
- Countdown Timer - Start Mystical_Field_Timer as a One-shot timer that will expire in 0.50 seconds
- Countdown Timer - Start Mystical_Field_Timer_Replenish as a One-shot timer that will expire in 0.60 seconds
- Events
Trigger:
- Mystical Field SFX
- Events
- Time - Mystical_Field_Timer expires
- Conditions
- Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- Mystical_Field_Angle Equal to 0
- Then - Actions
- For each (Integer A) from Mystical_Field_Check to Mystical_Field_Check, do (Actions)
- Loop - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- And - All (Conditions) are true
- Conditions
- Mystical_Field_Check Greater than or equal to 2
- Mystical_Field_Check Less than or equal to 10
- Conditions
- And - All (Conditions) are true
- Then - Actions
- Set Mystical_Field_SFX_Point = (Mystical_Field_Point offset by 100.00 towards ((Mystical_Field_Continue + 480.00) - ((Real((Integer A))) x 40.00)) degrees)
- Set Mystical_Field_Check = (Mystical_Field_Check + 1)
- Special Effect - Create a special effect at Mystical_Field_SFX_Point using WaterAurora.mdx
- Set Mystical_Field_SFX[(Integer A)] = (Last created special effect)
- Countdown Timer - Start Mystical_Field_Timer as a One-shot timer that will expire in 0.10 seconds
- Else - Actions
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- And - All (Conditions) are true
- Conditions
- Mystical_Field_Check Greater than or equal to 11
- Mystical_Field_Check Less than or equal to 29
- Conditions
- And - All (Conditions) are true
- Then - Actions
- Set Mystical_Field_SFX_Point = (Mystical_Field_Point offset by 200.00 towards ((Mystical_Field_Continue + 580.00) - ((Real((Integer A))) x 20.00)) degrees)
- Set Mystical_Field_Check = (Mystical_Field_Check + 1)
- Special Effect - Create a special effect at Mystical_Field_SFX_Point using WaterAurora.mdx
- Set Mystical_Field_SFX[(Integer A)] = (Last created special effect)
- Countdown Timer - Start Mystical_Field_Timer as a One-shot timer that will expire in 0.05 seconds
- Else - Actions
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- And - All (Conditions) are true
- Conditions
- Mystical_Field_Check Greater than or equal to 30
- Mystical_Field_Check Less than or equal to 68
- Conditions
- And - All (Conditions) are true
- Then - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- Mystical_Field_Check Greater than 67
- Then - Actions
- Else - Actions
- Set Mystical_Field_Check = (Mystical_Field_Check + 1)
- Special Effect - Create a special effect at Mystical_Field_SFX_Point using WaterAurora.mdx
- Set Mystical_Field_SFX[(Integer A)] = (Last created special effect)
- Set Mystical_Field_SFX_Point = (Mystical_Field_Point offset by 300.00 towards ((Mystical_Field_Continue + 660.00) - ((Real((Integer A))) x 10.00)) degrees)
- Countdown Timer - Start Mystical_Field_Timer as a One-shot timer that will expire in 0.02 seconds
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Else - Actions
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Loop - Actions
- For each (Integer A) from Mystical_Field_Check to Mystical_Field_Check, do (Actions)
- Else - Actions
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- Mystical_Field_Angle Equal to 1
- Then - Actions
- For each (Integer A) from Mystical_Field_Check to Mystical_Field_Check, do (Actions)
- Loop - Actions
- Special Effect - Destroy Mystical_Field_SFX[(Integer A)]
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- Mystical_Field_Check Greater than 0
- Then - Actions
- Set Mystical_Field_Check = (Mystical_Field_Check - 1)
- Countdown Timer - Start Mystical_Field_Timer as a One-shot timer that will expire in 0.05 seconds
- Else - Actions
- If - Conditions
- Loop - Actions
- For each (Integer A) from Mystical_Field_Check to Mystical_Field_Check, do (Actions)
- Else - Actions
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- Mystical_Field_Check Equal to 68
- Then - Actions
- Countdown Timer - Start Mystical_Field_Timer_End as a One-shot timer that will expire in (10.00 + (1.50 x (Real((Level of Mystical Field for (Casting unit)))))) seconds
- Else - Actions
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Events
Part 2 in next post.