- Joined
- Jun 24, 2009
- Messages
- 1,409
Before anyone mention that I miss the event and the condition, I'm using a system that calls the spell most efficiently. The system works perfectly, all other spells work.
The spell should summon 5 phoenixes around the hero in a range and height then move them closer to the hero.
The spell not work at all :S the phoenixes disappears.
The spell should summon 5 phoenixes around the hero in a range and height then move them closer to the hero.
The spell not work at all :S the phoenixes disappears.
-
Phoenix Spiral
-
Events
-
Conditions
-
Actions
-
Set TempInt = (Player number of (Triggering player))
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
PSHas[PSLastRecycled] Equal to True
-
-
Then - Actions
-
Set PSMax = (PSMax + 1)
-
Set PSLastRecycled = PSMax
-
Set PSIndex = PSLastRecycled
-
Set PSLastRecycled = PSRecycledList[PSLastRecycled]
-
-
Else - Actions
-
Set PSIndex = PSLastRecycled
-
Set PSLastRecycled = PSRecycledList[PSLastRecycled]
-
-
-
Set PSCaster[PSIndex] = (Triggering unit)
-
Set PSTimer[PSIndex] = (9.00 + (Real((Level of Phoenix Spiral for PSCaster[PSIndex]))))
-
Set PSHas[PSIndex] = True
-
Set PSReached[PSIndex] = False
-
Set PSCount = (PSCount + 1)
-
Set PSHeight[PSInteger] = 1500.00
-
Set TempInt2 = (Level of Phoenix Spiral for PSCaster[PSIndex])
-
Custom script: set udg_PSPhoenixGroup[udg_PSIndex] = CreateGroup()
-
Set TempLoc = (Position of (Triggering unit))
-
For each (Integer A) from 1 to 5, do (Actions)
-
Loop - Actions
-
Set TempLoc2 = (TempLoc offset by 700.00 towards (72.00 x (Real((Integer A)))) degrees)
-
Unit - Create 1 Phoenix Dummy for (Triggering player) at TempLoc2 facing ((Angle from TempLoc to TempLoc2) - 90.00) degrees
-
Set TempUnit = (Last created unit)
-
Unit - Add Phoenix Spiral Ignite to TempUnit
-
Unit Group - Add TempUnit to PSPhoenixGroup[PSIndex]
-
Animation - Change TempUnit flying height to PSHeight[PSIndex] at 0.00
-
Animation - Change TempUnit's size to (50.00%, 50.00%, 50.00%) of its original size
-
Unit - Set level of Phoenix Spiral Ignite for TempUnit to TempInt2
-
Custom script: call RemoveLocation (udg_TempLoc2)
-
-
-
Custom script: call RemoveLocation (udg_TempLoc)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Phoenix Spiral Loop <gen> is on) Equal to False
-
-
Then - Actions
-
Trigger - Turn on Phoenix Spiral Loop <gen>
-
-
Else - Actions
-
-
-
-
Phoenix Spiral Loop
-
Events
-
Time - Every 0.03 seconds of game time
-
-
Conditions
-
Actions
-
For each (Integer PSInteger) from 0 to PSMax, do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
PSHas[PSInteger] Equal to True
-
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
PSReached[PSInteger] Equal to False
-
-
Then - Actions
-
Set TempLoc = (Position of PSCaster[PSInteger])
-
Set PSHeight[PSInteger] = (PSHeight[PSInteger] - 140.00)
-
Unit Group - Pick every unit in PSPhoenixGroup[PSInteger] and do (Actions)
-
Loop - Actions
-
Set TempUnit = (Picked unit)
-
Set TempReal2 = ((Angle from TempLoc to TempLoc2) + 5.00)
-
Set TempReal = ((Distance between TempLoc and TempLoc2) - 60.00)
-
Set TempLoc2 = (Position of TempUnit)
-
Set TempLoc3 = (TempLoc offset by TempReal towards TempReal2 degrees)
-
Unit - Move TempUnit instantly to TempLoc3, facing (TempReal2 + 90.00) degrees
-
Animation - Change TempUnit flying height to PSHeight[PSInteger] at 0.00
-
Custom script: call RemoveLocation (udg_TempLoc2)
-
-
-
Custom script: call RemoveLocation (udg_TempLoc)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
TempReal Less than 101.00
-
-
Then - Actions
-
Set PSReached[PSInteger] = True
-
-
Else - Actions
-
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
PSTimer[PSInteger] Greater than 0.00
-
-
Then - Actions
-
Set PSTimer[PSInteger] = (PSTimer[PSInteger] - 0.03)
-
Set TempLoc = (Position of PSCaster[PSInteger])
-
Unit Group - Pick every unit in PSPhoenixGroup[PSInteger] and do (Actions)
-
Loop - Actions
-
Set TempUnit = (Picked unit)
-
Set TempLoc2 = (Position of TempUnit)
-
Set TempReal = ((Angle from TempLoc to TempLoc2) + 5.00)
-
Set TempLoc3 = (TempLoc offset by 100.00 towards TempReal degrees)
-
Unit - Move TempUnit instantly to TempLoc3, facing (TempReal + 90.00) degrees
-
Custom script: call RemoveLocation (udg_TempLoc2)
-
-
-
Custom script: call RemoveLocation (udg_TempLoc)
-
-
Else - Actions
-
Unit Group - Pick every unit in PSPhoenixGroup[PSInteger] and do (Unit - Kill (Picked unit))
-
Custom script: call DestroyGroup (udg_PSPhoenixGroup[udg_PSInteger])
-
Set PSCount = (PSCount - 1)
-
Set PSHas[PSInteger] = False
-
Set PSRecycledList[PSInteger] = PSLastRecycled
-
Set PSLastRecycled = PSInteger
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
PSCount Equal to 0
-
-
Then - Actions
-
Trigger - Turn off (This trigger)
-
-
Else - Actions
-
-
-
-
-
-
-
Else - Actions
-
-
-
-
-