- Joined
- Jun 24, 2009
- Messages
- 1,408
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
-
-
-
-
-
