• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Spell] Green Ball issue

Status
Not open for further replies.
Level 6
Joined
Sep 19, 2006
Messages
179
  • GB Init
    • Events
      • Time - Elapsed game time is 0.01 seconds
    • Conditions
    • Actions
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- Here you can change the Speed of the projectile --------
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • Set P_Projectile_Speed = 17.00
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- Here you can change the Right/Left Turning --------
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • Set P_Turning = (45.00 / P_Projectile_Speed)
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- Here you change change the Up/Down motion of the projectile --------
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • Set P_Arc = (210.00 / P_Projectile_Speed)
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- here you can change the AOE of the Projectile Explosion --------
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • Set P_Aoe_Explosion = 250.00
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- here you can change the Special Effects --------
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • Set P_Explosion_Effect = Units\NightElf\Wisp\WispExplode.mdl
      • Set P_Explosion_Effect2 = Objects\Spawnmodels\Undead\UCancelDeath\UCancelDeath.mdl
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- Here you can change the damage --------
      • -------- The Damage will be multiplied by the level of the ability. --------
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • Set P_Damage = 100.00
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
  • Casting a GB
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Green Ball
    • Actions
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- Don't change anything in this trigger. --------
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Index_P[0] Equal to 0
        • Then - Actions
          • Trigger - Turn on GB Loop <gen>
        • Else - Actions
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- Indexs --------
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • Set Index_P[0] = (Index_P[0] + 1)
      • Set Index_P[1] = (Index_P[1] + 1)
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- Setting Points --------
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • Set P_Caster[Index_P[0]] = (Triggering unit)
      • Set P_Caster_Point[Index_P[0]] = (Position of P_Caster[Index_P[0]])
      • Set P_Target_Point = (Target point of ability being cast)
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- Setting Angle --------
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • Set P_Angle[Index_P[0]] = (Angle from P_Caster_Point[Index_P[0]] to P_Target_Point)
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- Setting remaining distance --------
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • Set P_Remaining_Distance[Index_P[0]] = (Distance between P_Caster_Point[Index_P[0]] and P_Target_Point)
      • Set P_Creating_Point = (P_Caster_Point[Index_P[0]] offset by 20.00 towards P_Angle[Index_P[0]] degrees)
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- Here i set the level. dont change it. --------
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • Set P_Level[Index_P[0]] = (Level of (Ability being cast) for (Triggering unit))
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- Reseting everything --------
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • Set P_AT_Time[Index_P[0]] = 0.24
      • Set P_Condition_Integer[Index_P[0]] = 0
      • Set P_Up_Down_Int[Index_P[0]] = 0
      • Set P_Range[Index_P[0]] = 20.00
      • Set P_Integer_Heigh[Index_P[2]] = 0
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- Setting what if it will go right or left first --------
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Random integer number between 1 and 2) Equal to 1
        • Then - Actions
          • Set P_Turning_Boo[Index_P[0]] = True
          • Set P_Integer[Index_P[0]] = 1
        • Else - Actions
          • Set P_Turning_Boo[Index_P[0]] = False
          • Set P_Integer[Index_P[2]] = 0
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- Setting if it will go up or down first. --------
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Random integer number between 1 and 2) Equal to 1
        • Then - Actions
          • Set P_Arc_Up_Boo[Index_P[0]] = True
        • Else - Actions
          • Set P_Arc_Up_Boo[Index_P[0]] = False
      • Set P_Run_Boolean[Index_P[0]] = True
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- Creating the Projectile --------
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • Unit - Create 1 Projectile for (Owner of (Triggering unit)) at P_Creating_Point facing Default building facing degrees
      • Unit - Deny shared vision of (Last created unit) to (Owner of (Triggering unit))
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- Making unit flying --------
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • Unit - Add Storm Crow Form to (Last created unit)
      • Unit - Remove Storm Crow Form from (Last created unit)
      • Animation - Change (Last created unit) flying height to 100.00 at 0.00
      • Set P_Dummy_Unit[Index_P[0]] = (Last created unit)
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- Setting heigh. --------
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • Custom script: set udg_P_Projectile_Heigh[udg_Index_P[0]] = GetLocationZ(udg_P_Creating_Point)
      • Custom script: set udg_P_Projectile_Heigh4[udg_Index_P[0]] = GetLocationZ(udg_P_Target_Point)
      • Set P_Projectile_Heigh2 = (P_Projectile_Heigh[Index_P[0]] + (Current flying height of (Last created unit)))
      • Set P_Projectile_Heigh3[Index_P[0]] = (P_Projectile_Heigh2 - P_Projectile_Heigh[Index_P[0]])
      • Animation - Change (Last created unit) flying height to P_Projectile_Heigh3[Index_P[0]] at 0.00
      • Custom script: call RemoveLocation(udg_P_Target_Point)
      • Custom script: call RemoveLocation(udg_P_Creating_Point)
  • GB Loop
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • -------- Dont change anything in this trigger --------
      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • For each (Integer Index_P[2]) from 1 to Index_P[0], do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • P_Run_Boolean[Index_P[2]] Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (P_Projectile_Heigh3[Index_P[2]] - P_Projectile_Heigh5[Index_P[2]]) Less than or equal to 10.00
                • Then - Actions
                  • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                  • -------- Setting everything for the Explosion --------
                  • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                  • Set P_Current_Point = (Position of P_Dummy_Unit[Index_P[2]])
                  • Set P_Damaged_Group = (Units within P_Aoe_Explosion of P_Current_Point matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Owner of (Matching unit)) is an enemy of (Owner of P_Dummy_Unit[Index_P[2]])) Equal to True))))
                  • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                  • -------- Creating cool Special Effects --------
                  • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                  • Special Effect - Create a special effect at P_Current_Point using P_Explosion_Effect
                  • Special Effect - Destroy (Last created special effect)
                  • Special Effect - Create a special effect at P_Current_Point using P_Explosion_Effect2
                  • Special Effect - Destroy (Last created special effect)
                  • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                  • -------- Dealing damage to group --------
                  • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                  • Unit Group - Pick every unit in P_Damaged_Group and do (Actions)
                    • Loop - Actions
                      • Unit - Cause P_Caster[Index_P[2]] to damage (Picked unit), dealing (P_Damage x (Real(P_Level[Index_P[2]]))) damage of attack type Spells and damage type Normal
                  • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                  • -------- Removing Leaks --------
                  • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                  • Custom script: call DestroyGroup(udg_P_Damaged_Group)
                  • Custom script: call RemoveLocation(udg_P_Current_Point)
                  • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                  • -------- Removing the unto --------
                  • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                  • Unit - Remove P_Dummy_Unit[Index_P[2]] from the game
                  • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                  • -------- Making the this integer not able to run the trigger --------
                  • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                  • Set Index_P[1] = (Index_P[1] - 1)
                  • Set P_Run_Boolean[Index_P[2]] = False
                  • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                  • -------- Removing Leak --------
                  • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                  • Custom script: call RemoveLocation(udg_P_Caster_Point[udg_Index_P[2]])
                  • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                  • -------- Turning off the Trigger --------
                  • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Index_P[1] Equal to 0
                    • Then - Actions
                      • Set Index_P[0] = 0
                      • Trigger - Turn off GB Loop <gen>
                    • Else - Actions
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • P_Remaining_Distance[Index_P[2]] Less than or equal to (4.00 x P_Projectile_Speed)
                    • Then - Actions
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • -------- Making the projectile fall down --------
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • -------- Setting everything to make move the Projectile --------
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • Set P_Range[Index_P[2]] = (P_Range[Index_P[2]] + P_Projectile_Speed)
                      • Set P_Moving_Point = (P_Caster_Point[Index_P[2]] offset by P_Range[Index_P[2]] towards P_Angle[Index_P[2]] degrees)
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • -------- Moving the Projectile --------
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • Unit - Move P_Dummy_Unit[Index_P[2]] instantly to P_Moving_Point
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • -------- Setting everything for the heigh of the Projectile --------
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • Custom script: set udg_P_Projectile_Heigh5[udg_Index_P[2]] = GetLocationZ(udg_P_Moving_Point)
                      • Set P_Projectile_Heigh3[Index_P[2]] = ((P_Projectile_Heigh[Index_P[2]] + (Current flying height of P_Dummy_Unit[Index_P[2]])) - P_Projectile_Heigh5[Index_P[2]])
                      • Set P_Integer_Heigh[Index_P[2]] = (P_Integer_Heigh[Index_P[2]] + 1)
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • -------- Changing the heigh of the Projectile --------
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • Animation - Change P_Dummy_Unit[Index_P[2]] flying height to (P_Projectile_Heigh3[Index_P[2]] - ((Real(P_Integer_Heigh[Index_P[2]])) x 15.00)) at 0.00
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • -------- Removing Leaks --------
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • Custom script: call RemoveLocation(udg_P_Moving_Point)
                    • Else - Actions
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • -------- Moving the Projectile --------
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • -------- Setting everything to move the Projectile --------
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • Set P_Range[Index_P[2]] = (P_Range[Index_P[2]] + P_Projectile_Speed)
                      • Set P_Moving_Point = (P_Caster_Point[Index_P[2]] offset by P_Range[Index_P[2]] towards P_Angle[Index_P[2]] degrees)
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • -------- Moving the Projectile --------
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • Unit - Move P_Dummy_Unit[Index_P[2]] instantly to P_Moving_Point
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • -------- Setting Heigh --------
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • Custom script: set udg_P_Projectile_Heigh5[udg_Index_P[2]] = GetLocationZ(udg_P_Moving_Point)
                      • Custom script: call RemoveLocation(udg_P_Moving_Point)
                      • Set P_Projectile_Heigh3[Index_P[2]] = ((P_Projectile_Heigh[Index_P[2]] + (Current flying height of P_Dummy_Unit[Index_P[2]])) - P_Projectile_Heigh5[Index_P[2]])
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • -------- Changing heigh of the Projectile --------
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • Animation - Change P_Dummy_Unit[Index_P[2]] flying height to P_Projectile_Heigh3[Index_P[2]] at 0.00
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • P_Arc_Up_Boo[Index_P[2]] Equal to True
                        • Then - Actions
                          • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                          • -------- Making go Up then down the Projectile --------
                          • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • P_AT_Time[Index_P[2]] Greater than or equal to 0.12
                            • Then - Actions
                              • Set P_Projectile_Heigh3[Index_P[0]] = (P_Projectile_Heigh3[Index_P[2]] + P_Arc)
                              • Animation - Change P_Dummy_Unit[Index_P[2]] flying height to P_Projectile_Heigh3[Index_P[2]] at 0.00
                            • Else - Actions
                              • Set P_Projectile_Heigh3[Index_P[0]] = (P_Projectile_Heigh3[Index_P[2]] - P_Arc)
                              • Animation - Change P_Dummy_Unit[Index_P[2]] flying height to P_Projectile_Heigh3[Index_P[2]] at 0.00
                        • Else - Actions
                          • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                          • -------- Making go Down than Up the Projectile --------
                          • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • P_AT_Time[Index_P[2]] Greater than or equal to 0.12
                            • Then - Actions
                              • Set P_Projectile_Heigh3[Index_P[0]] = (P_Projectile_Heigh3[Index_P[2]] - P_Arc)
                              • Animation - Change P_Dummy_Unit[Index_P[2]] flying height to P_Projectile_Heigh3[Index_P[2]] at 0.00
                            • Else - Actions
                              • Set P_Projectile_Heigh3[Index_P[0]] = (P_Projectile_Heigh3[Index_P[2]] + P_Arc)
                              • Animation - Change P_Dummy_Unit[Index_P[2]] flying height to P_Projectile_Heigh3[Index_P[2]] at 0.00
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • P_Turning_Boo[Index_P[2]] Equal to True
                        • Then - Actions
                          • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                          • -------- Making go Left then Right the Projectile --------
                          • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • P_AT_Time[Index_P[2]] Greater than or equal to 0.12
                            • Then - Actions
                              • Set P_Angle[Index_P[0]] = (P_Angle[Index_P[2]] + P_Turning)
                              • Set P_Moving_Point = (P_Caster_Point[Index_P[2]] offset by P_Range[Index_P[2]] towards P_Angle[Index_P[2]] degrees)
                              • Unit - Move P_Dummy_Unit[Index_P[2]] instantly to P_Moving_Point
                            • Else - Actions
                              • Set P_Angle[Index_P[0]] = (P_Angle[Index_P[2]] - P_Turning)
                              • Set P_Moving_Point = (P_Caster_Point[Index_P[2]] offset by P_Range[Index_P[2]] towards P_Angle[Index_P[2]] degrees)
                              • Unit - Move P_Dummy_Unit[Index_P[2]] instantly to P_Moving_Point
                          • Custom script: call RemoveLocation(udg_P_Moving_Point)
                        • Else - Actions
                          • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                          • -------- Making go Right than Left the Projectile --------
                          • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • P_AT_Time[Index_P[2]] Greater than or equal to 0.12
                            • Then - Actions
                              • Set P_Angle[Index_P[0]] = (P_Angle[Index_P[2]] - P_Turning)
                              • Set P_Moving_Point = (P_Caster_Point[Index_P[2]] offset by P_Range[Index_P[2]] towards P_Angle[Index_P[2]] degrees)
                              • Unit - Move P_Dummy_Unit[Index_P[2]] instantly to P_Moving_Point
                            • Else - Actions
                              • Set P_Angle[Index_P[0]] = (P_Angle[Index_P[2]] + P_Turning)
                              • Set P_Moving_Point = (P_Caster_Point[Index_P[2]] offset by P_Range[Index_P[2]] towards P_Angle[Index_P[2]] degrees)
                              • Unit - Move P_Dummy_Unit[Index_P[2]] instantly to P_Moving_Point
                          • Custom script: call RemoveLocation(udg_P_Moving_Point)
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • -------- Reseting everything to make go right/left, Up/Down the projectile --------
                      • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • P_AT_Time[Index_P[2]] Less than or equal to 0.00
                        • Then - Actions
                          • Set P_AT_Time[Index_P[2]] = 0.24
                          • Set P_Integer[Index_P[2]] = (P_Integer[Index_P[2]] + 1)
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • P_Integer[Index_P[2]] Equal to 2
                            • Then - Actions
                              • Set P_Turning_Boo[Index_P[2]] = False
                              • Set P_Integer[Index_P[2]] = 0
                            • Else - Actions
                              • Set P_Turning_Boo[Index_P[2]] = True
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • (Random integer number between 1 and 2) Equal to 1
                            • Then - Actions
                              • Set P_Arc_Up_Boo[Index_P[0]] = True
                            • Else - Actions
                              • Set P_Arc_Up_Boo[Index_P[0]] = False
                        • Else - Actions
                          • Set P_AT_Time[Index_P[2]] = (P_AT_Time[Index_P[2]] - 0.03)
                  • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                  • -------- Setting remaining Distance --------
                  • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
                  • Set P_Remaining_Distance[Index_P[2]] = (P_Remaining_Distance[Index_P[2]] - P_Projectile_Speed)
            • Else - Actions
This spell summoned a ball that damages enemy units anywhere (depending on the range), but in my version. when I summoned it, the ball always appears near the hero. Any way to fix this? Yes, I did insert the projectile dummy, the spell and the 3 triggers.
 
Level 9
Joined
Apr 23, 2011
Messages
527
Just a hunch, but I think this part may be wrong:

  • ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
    • -------- Setting everything to make move the Projectile --------
    • -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------
      • Set P_Range[Index_P[2]] = (P_Range[Index_P[2]] + P_Projectile_Speed)
    • Set P_Moving_Point = (P_Caster_Point[Index_P[2]] offset by P_Range[Index_P[2]] towards P_Angle[Index_P[2]] degrees)
Change the second action to:
  • Set P_Moving_Point = (P_Target_Point[Index_P[2]] offset by P_Range[Index_P[2]] towards P_Angle[Index_P[2]] degrees)
 
Level 9
Joined
Apr 23, 2011
Messages
527
There are a bunch of if-blocks that set P_Moving_Point to different positions. In all of those Set Variable actions for that variable, try to change what I suggested to you earlier.
 
Level 6
Joined
Sep 19, 2006
Messages
179
I tried changing all those if-blocks (there were only 2) and the same thing. Should I send you the map?
Edit: It's best this way:
Open the map, look in the Triggers Sections for the Undead Hero Spells folder. You should find the 3 triggers needed for the Green Ball. The Dreadlord has it. Test map and you should see it doesn't work. Most of the changes have reverted back, but I guarantee it doesn't work.
 

Attachments

  • (10)RagingStream.w3x
    7.7 MB · Views: 52
Last edited:
Level 3
Joined
Mar 3, 2018
Messages
15
This spell summoned a ball that damages enemy units anywhere (depending on the range), but in my version. when I summoned it, the ball always appears near the hero. Any way to fix this? Yes, I did insert the projectile dummy, the spell and the 3 triggers.

I tried it and the ball is correctly created 20 units away from the hero, in the direction of the spell.
What is the problem?
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,198
This spell summoned a ball that damages enemy units anywhere (depending on the range), but in my version. when I summoned it, the ball always appears near the hero. Any way to fix this? Yes, I did insert the projectile dummy, the spell and the 3 triggers.
Try creating the ball "anywhere" rather than 20 units in front of the caster towards the target?
Set P_Creating_Point = (P_Caster_Point[Index_P[0]] offset by 20.00 towards P_Angle[Index_P[0]] degrees)
20 units is an extremely small distance. A single tile is 128x128 units.
 
Status
Not open for further replies.
Top