• 🏆 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!

Enchanted Fire Bolt V1.45

This spell was inspired by Boris_Spiders FireSeige (correct me if the name is wrong)

The icon can be found here: http://www.hiveworkshop.com/forums/icons-541/btnfiresiege-154483/

I did this out of the fun of it, I tried to make it a little flashy, there no access sfx, It's all used for some purpose.

it works like this: You use the ability, a fire bolt with a ring of fire around it will fly away, upon landing again it will Explode in a massive explosion releasing 144 small projectiles, (this part reminded me of rain of fire for some reason) each seperate projectile deals a small amount of damage, initial Aoe is about 150, in huge explosion aoe is about 1400, but it is all changeable.

I was thinking of artillary when I made this.

  • Setup
    • Events
      • Time - Elapsed game time is 1.00 seconds
    • Conditions
    • Actions
      • -------- This creates the hashtable --------
      • -------- * --------
      • Hashtable - Create a hashtable
      • -------- This sets the hashtable as a variable for later referance --------
      • -------- * --------
      • Set EFB_Hash = (Last created hashtable)
      • -------- Config --------
      • -------- Final explosioin, mini projectile count --------
      • Set Config[1] = 18
      • -------- projectile surround sfx count --------
      • Set Config[2] = 10
      • -------- projectile Base damage (per mini projectile) --------
      • Set Config[3] = 25
      • -------- Parabola height divider --------
      • Set Config[4] = (Integer(2.50))
      • -------- Min fire range --------
      • Set Config[5] = 100
      • -------- Automated fire distance --------
      • Set Config[6] = 650
  • Initial Fire
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Ability being cast) Equal to Magic Flame bolt
        • Then - Actions
          • -------- This sets the casting location --------
          • -------- as well as the missile starting point --------
          • -------- * --------
          • Set Temp_Point = (Position of (Triggering unit))
          • -------- This sets the missiles landing area --------
          • -------- * --------
          • Set Temp_Point_2 = (Target point of ability being cast)
          • -------- This sets the distance between the two points --------
          • -------- * --------
          • Set Temp_Distance = (Distance between Temp_Point and Temp_Point_2)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Temp_Distance Less than or equal to (Real(Config[5]))
            • Then - Actions
              • -------- This checks too see if they are too close to the caster --------
              • -------- The it sets it automatically to a distance further away --------
              • -------- Removes leak --------
              • Custom script: call RemoveLocation (udg_Temp_Point_2)
              • -------- Retarget --------
              • Set Temp_Point_2 = (Temp_Point offset by (Real(Config[6])) towards (Facing of (Triggering unit)) degrees)
              • -------- * --------
              • -------- New distance calculation --------
              • Set Temp_Distance = (Distance between Temp_Point and Temp_Point_2)
            • Else - Actions
          • -------- This creates the dummy unit --------
          • -------- Set it to your dummy missile --------
          • Unit - Create 1 Enchanted Flame Bolt for (Owner of (Triggering unit)) at Temp_Point facing (Angle from Temp_Point to Temp_Point_2) degrees
          • -------- This allows fly height manipulation --------
          • -------- useing triggers --------
          • -------- * --------
          • Unit - Add Crow Form to (Last created unit)
          • -------- This sets the total distance that will be travelled --------
          • -------- * --------
          • Hashtable - Save Temp_Distance as 3 of (Key (Last created unit)) in EFB_Hash
          • -------- This sets the fly height it will reach so the parabola will look --------
          • -------- Similar every time --------
          • -------- change the divider to change the appearance of your parabola. --------
          • -------- the lower the divider the higher the missile goes --------
          • -------- the higher the divider the lower the missile goes --------
          • Hashtable - Save ((Load 3 of (Key (Last created unit)) from EFB_Hash) / (Real(Config[4]))) as 1 of (Key (Last created unit)) in EFB_Hash
          • -------- This is set to 0 so that you dont get muddled up if your changing it alot --------
          • -------- It's not 100% neccercarry --------
          • Hashtable - Save 0.00 as 2 of (Key (Last created unit)) in EFB_Hash
          • -------- Damage calculation for later dummies --------
          • -------- This projectile doesn't actually deal any damage itself --------
          • Hashtable - Save (((Real((Intelligence of (Triggering unit) (Include bonuses)))) x (Real((Level of Magic Flame bolt for (Triggering unit))))) + (Real(Config[3]))) as 4 of (Key (Last created unit)) in EFB_Hash
          • -------- This adds the unit to the moving group --------
          • -------- * --------
          • Unit Group - Add (Last created unit) to EFB_Moving_Units
          • -------- This makes sure they do not collide with eachother --------
          • -------- * --------
          • Unit - Turn collision for (Last created unit) Off
          • -------- This gets rid of the crow form again so they dont actually gain it as an ability --------
          • -------- * --------
          • Unit - Remove Crow Form from (Last created unit)
          • -------- This part is for your circle around the main missile --------
          • -------- the each integer if for the numbr of them, remember, the more you have the more damage it deals --------
          • For each (Integer Debug) from 1 to Config[2], do (Actions)
            • Loop - Actions
              • -------- Sets the distance away from the centre --------
              • -------- of were it spawns --------
              • Set Temp_Point_3 = (Temp_Point offset by 50.00 towards Circle_Position_setter degrees)
              • -------- same as aobut but for the landing area --------
              • Set Temp_Point_4 = (Temp_Point_2 offset by 50.00 towards Circle_Position_setter degrees)
              • -------- creates the dummies for your surrounding sfx --------
              • Unit - Create 1 Flame ring segment for (Owner of (Triggering unit)) at Temp_Point_3 facing (Angle from Temp_Point_3 to Temp_Point_4) degrees
              • -------- like before allows you to manaipulate units fly hieght using triggers --------
              • -------- * --------
              • Unit - Add Crow Form to (Last created unit)
              • -------- Like pre meantioned these set fly height, distance, and one for future referance --------
              • -------- This sets the total distance that will be travelled --------
              • -------- * --------
              • Hashtable - Save (Distance between Temp_Point_3 and Temp_Point_4) as 3 of (Key (Last created unit)) in EFB_Hash
              • -------- This sets the fly height it will reach so the parabola will look --------
              • -------- Similar every time --------
              • -------- change the divider to change the appearance of your parabola. --------
              • -------- the lower the divider the higher the missile goes --------
              • -------- the higher the divider the lower the missile goes --------
              • Hashtable - Save ((Load 3 of (Key (Last created unit)) from EFB_Hash) / (Real(Config[4]))) as 1 of (Key (Last created unit)) in EFB_Hash
              • -------- This is set to 0 so that you dont get muddled up if your changing it alot --------
              • -------- It's not 100% neccercarry --------
              • Hashtable - Save 0.00 as 2 of (Key (Last created unit)) in EFB_Hash
              • -------- this calculated damage dealt by the dummies --------
              • Hashtable - Save (((Real((Intelligence of (Triggering unit) (Include bonuses)))) x (Real((Level of Magic Flame bolt for (Triggering unit))))) + (Real(Config[3]))) as 4 of (Key (Last created unit)) in EFB_Hash
              • -------- --- --------
              • -------- * --------
              • -------- removes leaks --------
              • Custom script: call RemoveLocation (udg_Temp_Point_4)
              • Custom script: call RemoveLocation (udg_Temp_Point_3)
              • -------- --- --------
              • -------- adds the units to the moving group --------
              • -------- * --------
              • Unit Group - Add (Last created unit) to EFB_Moving_Units
              • -------- Prevents midair collisions --------
              • -------- * --------
              • Unit - Turn collision for (Last created unit) Off
              • -------- Removes the ability so the dummies dont gain it as an actual ability --------
              • -------- * --------
              • Unit - Remove Crow Form from (Last created unit)
              • -------- this is a core part --------
              • -------- set this to 360/number of surrounding dummies of your main missiles --------
              • -------- The standard had 10 surrounding --------
              • -------- so: 360/10 = 36 --------
              • -------- if you want to do this the easy way --------
              • -------- change the part after + --------
              • -------- to another arithmetic function --------
              • -------- using the above formula --------
              • Set Circle_Position_setter = (Circle_Position_setter + (360.00 / (Real(Config[2]))))
          • -------- --- --------
          • -------- * --------
          • -------- Leak removal --------
          • Custom script: call RemoveLocation (udg_Temp_Point_2)
          • Custom script: call RemoveLocation (udg_Temp_Point)
        • Else - Actions
  • Moving
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in EFB_Moving_Units and do (Actions)
        • Loop - Actions
          • -------- Removed the unit if they go out of bounds --------
          • -------- * --------
          • If (((Playable map area) contains (Picked unit)) Equal to False) then do (Unit - Remove (Picked unit) from the game) else do (Do nothing)
          • -------- moves the unit --------
          • -------- to change speed, change the number --------
          • -------- The standard number is 10. --------
          • Custom script: call MoveUnitFast(GetEnumUnit(), 10, GetUnitFacing(GetEnumUnit())*bj_DEGTORAD)
          • -------- set the + to the same as your ditance traveled --------
          • Hashtable - Save ((Load 2 of (Key (Picked unit)) from EFB_Hash) + 10.00) as 2 of (Key (Picked unit)) in EFB_Hash
          • -------- This is the parabola, It's better if you didn't touch this --------
          • -------- * --------
          • Hashtable - Save ((((4.00 x (Load 1 of (Key (Picked unit)) from EFB_Hash)) / (Load 3 of (Key (Picked unit)) from EFB_Hash)) x ((Load 3 of (Key (Picked unit)) from EFB_Hash) - (Load 2 of (Key (Picked unit)) from EFB_Hash))) x ((Load 2 of (Key (Picked unit)) from EFB_Hash) / (L as 5 of (Key (Picked unit)) in EFB_Hash
          • -------- changes the fly height --------
          • -------- * --------
          • Animation - Change (Picked unit) flying height to (Load 5 of (Key (Picked unit)) from EFB_Hash) at 0.00
          • -------- This kills them upon landing --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Load 5 of (Key (Picked unit)) from EFB_Hash) Less than or equal to -1.00
            • Then - Actions
              • -------- kills them --------
              • -------- * --------
              • Unit - Kill (Picked unit)
              • -------- Removes them from the moving group --------
              • -------- * --------
              • Unit Group - Remove (Picked unit) from EFB_Moving_Units
            • Else - Actions
  • Damage and explosion
    • Events
      • Unit - A unit Dies
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Unit-type of (Triggering unit)) Equal to Enchanted Flame Bolt
        • Then - Actions
          • -------- All these are the same --------
          • For each (Integer Debug) from 1 to Config[1], do (Actions)
            • Loop - Actions
              • -------- Sets the initial location of the main explosion --------
              • -------- * --------
              • Set Temp_Point = (Position of (Triggering unit))
              • -------- Sets the point of landing --------
              • Set Temp_Point_4 = (Temp_Point offset by 300.00 towards Circle_Position_setter degrees)
              • -------- Creates the dummies --------
              • Unit - Create 1 Flame ring segment for (Owner of (Triggering unit)) at Temp_Point facing (Angle from Temp_Point to Temp_Point_4) degrees
              • -------- Allows fly height manipulation --------
              • -------- * --------
              • Unit - Add Crow Form to (Last created unit)
              • -------- This sets the total distance that will be travelled --------
              • -------- * --------
              • Hashtable - Save (Distance between Temp_Point and Temp_Point_4) as 3 of (Key (Last created unit)) in EFB_Hash
              • -------- This sets the fly height it will reach so the parabola will look --------
              • -------- Similar every time --------
              • -------- change the divider to change the appearance of your parabola. --------
              • -------- the lower the divider the higher the missile goes --------
              • -------- the higher the divider the lower the missile goes --------
              • Hashtable - Save ((Load 3 of (Key (Last created unit)) from EFB_Hash) / (Real(Config[4]))) as 1 of (Key (Last created unit)) in EFB_Hash
              • -------- This is set to 0 so that you dont get muddled up if your changing it alot --------
              • -------- It's not 100% neccercarry --------
              • Hashtable - Save 0.00 as 2 of (Key (Last created unit)) in EFB_Hash
              • -------- this calculated damage dealt by the dummies --------
              • Hashtable - Save (Load 4 of (Key (Triggering unit)) from EFB_Hash) as 4 of (Key (Last created unit)) in EFB_Hash
              • -------- --- --------
              • -------- Removes leaks --------
              • -------- * --------
              • Custom script: call RemoveLocation (udg_Temp_Point_4)
              • -------- * --------
              • Custom script: call RemoveLocation (udg_Temp_Point_3)
              • -------- --- --------
              • -------- Adds it to the moving group --------
              • -------- * --------
              • Unit Group - Add (Last created unit) to EFB_Moving_Units
              • -------- Prevents midair collisions --------
              • -------- * --------
              • Unit - Turn collision for (Last created unit) Off
              • -------- Removes the ability again --------
              • -------- * --------
              • Unit - Remove Crow Form from (Last created unit)
              • -------- this is a core part --------
              • -------- set this to 360/number of surrounding dummies of your main missiles --------
              • -------- The standard had 10 surrounding --------
              • -------- so: 360/10 = 36 --------
              • -------- if you want to do this the easy way --------
              • -------- change the part after + --------
              • -------- to another arithmetic function --------
              • -------- using the above formula --------
              • Set Circle_Position_setter = (Circle_Position_setter + (360.00 / (Real(Config[1]))))
          • For each (Integer Debug) from 1 to Config[1], do (Actions)
            • Loop - Actions
              • -------- Sets the initial location of the main explosion --------
              • -------- * --------
              • Set Temp_Point = (Position of (Triggering unit))
              • -------- Sets the point of landing --------
              • Set Temp_Point_4 = (Temp_Point offset by 400.00 towards Circle_Position_setter degrees)
              • -------- Creates the dummies --------
              • Unit - Create 1 Flame ring segment for (Owner of (Triggering unit)) at Temp_Point facing (Angle from Temp_Point to Temp_Point_4) degrees
              • -------- Allows fly height manipulation --------
              • -------- * --------
              • Unit - Add Crow Form to (Last created unit)
              • -------- This sets the total distance that will be travelled --------
              • -------- * --------
              • Hashtable - Save (Distance between Temp_Point and Temp_Point_4) as 3 of (Key (Last created unit)) in EFB_Hash
              • -------- This sets the fly height it will reach so the parabola will look --------
              • -------- Similar every time --------
              • -------- change the divider to change the appearance of your parabola. --------
              • -------- the lower the divider the higher the missile goes --------
              • -------- the higher the divider the lower the missile goes --------
              • Hashtable - Save ((Load 3 of (Key (Last created unit)) from EFB_Hash) / (Real(Config[4]))) as 1 of (Key (Last created unit)) in EFB_Hash
              • -------- This is set to 0 so that you dont get muddled up if your changing it alot --------
              • -------- It's not 100% neccercarry --------
              • Hashtable - Save 0.00 as 2 of (Key (Last created unit)) in EFB_Hash
              • -------- this calculated damage dealt by the dummies --------
              • Hashtable - Save (Load 4 of (Key (Triggering unit)) from EFB_Hash) as 4 of (Key (Last created unit)) in EFB_Hash
              • -------- --- --------
              • -------- Removes leaks --------
              • -------- * --------
              • Custom script: call RemoveLocation (udg_Temp_Point_4)
              • -------- * --------
              • Custom script: call RemoveLocation (udg_Temp_Point_3)
              • -------- --- --------
              • -------- Adds it to the moving group --------
              • -------- * --------
              • Unit Group - Add (Last created unit) to EFB_Moving_Units
              • -------- Prevents midair collisions --------
              • -------- * --------
              • Unit - Turn collision for (Last created unit) Off
              • -------- Removes the ability again --------
              • -------- * --------
              • Unit - Remove Crow Form from (Last created unit)
              • -------- this is a core part --------
              • -------- set this to 360/number of surrounding dummies of your main missiles --------
              • -------- The standard had 10 surrounding --------
              • -------- so: 360/10 = 36 --------
              • -------- if you want to do this the easy way --------
              • -------- change the part after + --------
              • -------- to another arithmetic function --------
              • -------- using the above formula --------
              • Set Circle_Position_setter = (Circle_Position_setter + (360.00 / (Real(Config[1]))))
          • For each (Integer Debug) from 1 to Config[1], do (Actions)
            • Loop - Actions
              • -------- Sets the initial location of the main explosion --------
              • -------- * --------
              • Set Temp_Point = (Position of (Triggering unit))
              • -------- Sets the point of landing --------
              • Set Temp_Point_4 = (Temp_Point offset by 500.00 towards Circle_Position_setter degrees)
              • -------- Creates the dummies --------
              • Unit - Create 1 Flame ring segment for (Owner of (Triggering unit)) at Temp_Point facing (Angle from Temp_Point to Temp_Point_4) degrees
              • -------- Allows fly height manipulation --------
              • -------- * --------
              • Unit - Add Crow Form to (Last created unit)
              • -------- This sets the total distance that will be travelled --------
              • -------- * --------
              • Hashtable - Save (Distance between Temp_Point and Temp_Point_4) as 3 of (Key (Last created unit)) in EFB_Hash
              • -------- This sets the fly height it will reach so the parabola will look --------
              • -------- Similar every time --------
              • -------- change the divider to change the appearance of your parabola. --------
              • -------- the lower the divider the higher the missile goes --------
              • -------- the higher the divider the lower the missile goes --------
              • Hashtable - Save ((Load 3 of (Key (Last created unit)) from EFB_Hash) / (Real(Config[4]))) as 1 of (Key (Last created unit)) in EFB_Hash
              • -------- This is set to 0 so that you dont get muddled up if your changing it alot --------
              • -------- It's not 100% neccercarry --------
              • Hashtable - Save 0.00 as 2 of (Key (Last created unit)) in EFB_Hash
              • -------- this calculated damage dealt by the dummies --------
              • Hashtable - Save (Load 4 of (Key (Triggering unit)) from EFB_Hash) as 4 of (Key (Last created unit)) in EFB_Hash
              • -------- --- --------
              • -------- Removes leaks --------
              • -------- * --------
              • Custom script: call RemoveLocation (udg_Temp_Point_4)
              • -------- * --------
              • Custom script: call RemoveLocation (udg_Temp_Point_3)
              • -------- --- --------
              • -------- Adds it to the moving group --------
              • -------- * --------
              • Unit Group - Add (Last created unit) to EFB_Moving_Units
              • -------- Prevents midair collisions --------
              • -------- * --------
              • Unit - Turn collision for (Last created unit) Off
              • -------- Removes the ability again --------
              • -------- * --------
              • Unit - Remove Crow Form from (Last created unit)
              • -------- this is a core part --------
              • -------- set this to 360/number of surrounding dummies of your main missiles --------
              • -------- The standard had 10 surrounding --------
              • -------- so: 360/10 = 36 --------
              • -------- if you want to do this the easy way --------
              • -------- change the part after + --------
              • -------- to another arithmetic function --------
              • -------- using the above formula --------
              • Set Circle_Position_setter = (Circle_Position_setter + (360.00 / (Real(Config[1]))))
          • For each (Integer Debug) from 1 to Config[1], do (Actions)
            • Loop - Actions
              • -------- Sets the initial location of the main explosion --------
              • -------- * --------
              • Set Temp_Point = (Position of (Triggering unit))
              • -------- Sets the point of landing --------
              • Set Temp_Point_4 = (Temp_Point offset by 600.00 towards Circle_Position_setter degrees)
              • -------- Creates the dummies --------
              • Unit - Create 1 Flame ring segment for (Owner of (Triggering unit)) at Temp_Point facing (Angle from Temp_Point to Temp_Point_4) degrees
              • -------- Allows fly height manipulation --------
              • -------- * --------
              • Unit - Add Crow Form to (Last created unit)
              • -------- This sets the total distance that will be travelled --------
              • -------- * --------
              • Hashtable - Save (Distance between Temp_Point and Temp_Point_4) as 3 of (Key (Last created unit)) in EFB_Hash
              • -------- This sets the fly height it will reach so the parabola will look --------
              • -------- Similar every time --------
              • -------- change the divider to change the appearance of your parabola. --------
              • -------- the lower the divider the higher the missile goes --------
              • -------- the higher the divider the lower the missile goes --------
              • Hashtable - Save ((Load 3 of (Key (Last created unit)) from EFB_Hash) / (Real(Config[4]))) as 1 of (Key (Last created unit)) in EFB_Hash
              • -------- This is set to 0 so that you dont get muddled up if your changing it alot --------
              • -------- It's not 100% neccercarry --------
              • Hashtable - Save 0.00 as 2 of (Key (Last created unit)) in EFB_Hash
              • -------- this calculated damage dealt by the dummies --------
              • Hashtable - Save (Load 4 of (Key (Triggering unit)) from EFB_Hash) as 4 of (Key (Last created unit)) in EFB_Hash
              • -------- --- --------
              • -------- Removes leaks --------
              • -------- * --------
              • Custom script: call RemoveLocation (udg_Temp_Point_4)
              • -------- * --------
              • Custom script: call RemoveLocation (udg_Temp_Point_3)
              • -------- --- --------
              • -------- Adds it to the moving group --------
              • -------- * --------
              • Unit Group - Add (Last created unit) to EFB_Moving_Units
              • -------- Prevents midair collisions --------
              • -------- * --------
              • Unit - Turn collision for (Last created unit) Off
              • -------- Removes the ability again --------
              • -------- * --------
              • Unit - Remove Crow Form from (Last created unit)
              • -------- this is a core part --------
              • -------- set this to 360/number of surrounding dummies of your main missiles --------
              • -------- The standard had 10 surrounding --------
              • -------- so: 360/10 = 36 --------
              • -------- if you want to do this the easy way --------
              • -------- change the part after + --------
              • -------- to another arithmetic function --------
              • -------- using the above formula --------
              • Set Circle_Position_setter = (Circle_Position_setter + (360.00 / (Real(Config[1]))))
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Unit-type of (Triggering unit)) Equal to Flame ring segment
        • Then - Actions
          • -------- Sets the location of the units death area --------
          • Set Temp_Point = (Position of (Triggering unit))
          • -------- Creates sfx on the explosion area --------
          • Special Effect - Create a special effect at Temp_Point using Abilities\Spells\Other\Incinerate\FireLordDeathExplode.mdl
          • -------- Kills the sfx --------
          • -------- * --------
          • Special Effect - Destroy (Last created special effect)
          • -------- specifies requirements for targets --------
          • Set Temp_Group = (Units within 100.00 of Temp_Point matching ((((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True) and ((((Matching unit) is Magic Immune) Equal to False) and ((((Matching unit) is A ground unit) Equal to True) and (((Matching
          • Unit Group - Pick every unit in Temp_Group and do (Actions)
            • Loop - Actions
              • -------- Damages the units --------
              • -------- * --------
              • Unit - Cause (Triggering unit) to damage (Picked unit), dealing (Load 4 of (Key (Triggering unit)) from EFB_Hash) damage of attack type Spells and damage type Normal
          • -------- Removes leak --------
          • -------- * --------
          • Custom script: call RemoveLocation (udg_Temp_Point)
          • -------- * --------
          • Custom script: call DestroyGroup (udg_Temp_Group)
        • Else - Actions

V1.45:
Made a few things configureable.
Fixed a bug found
Added a mana cost
Added a proper range
V1.30:
Small bug fix when casting on the same point as the caster
V1.25:
with the help from D4RK G4ND4LF lag has been pretty much obliterated.
V1.1:
Geatly reduced lag
Reduced Aoe
Changed landing sfx for the smaller projectiles.
V1.0:
First uploaded


Documentation included, Enjoy :]

Please give creadit to me if you use this in your map.

Credz To D4RK G4ND4LF for reducing he movement lag using 1 line of custom script.

Keywords:
Fire, Rain, Rain of Fire, Explosion, Burn, Ring, Volcanic, Sfx spam.
Contents

Enchanted Fire Bolt (Map)

Reviews
17:36, 1st Jan 2010 TriggerHappy: You added everything I asked and it looked good.

Moderator

M

Moderator

17:36, 1st Jan 2010
TriggerHappy:

You added everything I asked and it looked good.
 
I found that removing one layer gets rid of most if not all lag, There were alot of them xD if I recall tha standard is 144, 36 per layer :p you can do the same thing by lowing the number of dummies per layer to 75% of what it was which If I'm right is 27,

I will try your method.

Well my lack of knowledge in that area made me fail greatly.

I have lowered the standard to 72 projectiles and 18 per layer to eliminate most the lag.
 
Last edited:
Lag is mainly caused by the sfx count, If the comp doesn't like it remove a ring or two, and then your lag will decrease greatly.

As for a random affect on the second missiles, it would need for it to be balanced in every direction if you know what i mean a shape which is symmertrical in pretty much every direction, for example a star, A clover sort of shape.

anyway Any other shape will require new formula so that might take a while :p
 
Level 19
Joined
Feb 4, 2009
Messages
1,313
It lags alot, but i havent the best GPU. It would be nice if you added a random effect to the second fire missiles, so that they dont land in a perfect circle.

my GPU is quite good (Geforce 9800 GT) but my CPU isn't and I've lags so I think the lag is not caused by the effects but the calculations behind blizzards pathing check

I tried using this spell in my map. I copied the units, the abilities, and the triggers. But it doesnt work. When i try to save my map, it says theres a error on line 115. Im fairly new to the importing custom spells. Help anyone? The error says "Line 115, Expect a name" or something. I can save the test map. But i cant save it on mine.. How does that work...

I gave tank commander some example on how to use the SetUnitX/Y and used a custom JASS function in the map header
however it would be easier to inline this cause there would not be any need to copy it then
 
Last edited:
Level 2
Joined
Dec 10, 2009
Messages
13
I tried using this spell in my map. I copied the units, the abilities, and the triggers. But it doesnt work. When i try to save my map, it says theres a error on line 115. Im fairly new to the importing custom spells. Help anyone? The error says "Line 115, Expect a name" or something. I can save the test map. But i cant save it on mine.. How does that work...
 
hmmm.. Prehaps it's D4RK_G4ND4LF's custom script line that is causing your problem, I beleive you will need JNGP if I recall the name correctly, If I am correct I will put it in the description about the requirement.

If the problem persists after trying JNGP send me a vm about it and I'll see what I can do.

I thank you for pointing this out.
 
Level 2
Joined
Dec 10, 2009
Messages
13
Ok, i use the NG WE (new gen world editor) and i can enable the trigger. The last trigger is fine now. But, theres now a new error popping up for me which is "Line 2856 Undeclared function MoveUnitFast." I've been having trouble lately on usuing the custom spells because my newgen warcarft doesnt work.. Anyways what else does this spell require to use?
 
Level 14
Joined
Oct 18, 2008
Messages
599
hmmm.. Prehaps it's D4RK_G4ND4LF's custom script line that is causing your problem, I beleive you will need JNGP if I recall the name correctly, If I am correct I will put it in the description about the requirement.

If the problem persists after trying JNGP send me a vm about it and I'll see what I can do.

I thank you for pointing this out.

a spell that requires newgen is failzor :p
 
Level 3
Joined
Mar 29, 2009
Messages
23
I don't want to give a bad rating but this is very misleading, it says GUI / Triggers, yet you use stuff that needs New Gen Pack or w/e , I downloaded it and it still does not work, where do we put the MoveUnitFast function in the header at, because when i put it in the actions of Moving trigger, I get a Syntax error first line of the function MoveUnitFast Declaration, very poor author. . . if you can tell me what to do I would be greatly appreciated, and give a good rating and + rep because this is a cool spell but i can't use it. . .
 
Put the code in the header into the header of your map if I'm correct.

Also for the misleading, I was unaware of the script in the header when I uploaded this, it took me a while to notice it myself :p

anyway, what exactly do you mean 'very poor author'?

Eitherway If it still doesn't work then I suggest Talking to D4RK_G4ND4LF, he added it and I don't now exactly how it works.
 
Level 3
Joined
Mar 29, 2009
Messages
23
where is the header into the header of my map? lol that you didn't put in the category Jass also, not that you are a bad scripter, just was upset that I thought i had everything right in my map and i find out there is something there that I thought wasnt going to be there until i do all that work lol
 
:/ I'm trying to build in the code as it were so that nobody needs to get the thing from the header (also, the header as it were is the thing you see when you click the map icon in trigger editor, or atleast how I see it.)

However I'm getting one error which is really annoying me:

The error is:
Line 69: Invalid number of arguements

The line causing this is this:
  • Custom script: call SetUnitY(GetUnitY(GetEnumUnit()) + 10 * Sin(bj_DEGTORAD) )
After getting rid of that for testing purposes, it then happens again for this:
  • Custom script: call SetUnitX(GetUnitX(GetEnumUnit()) + 10 * Cos(bj_DEGTORAD) )
Then removing that and I get this:
  • Hashtable - Save ((Load 2 of (Key (Picked unit)) from EFB_Hash) + 10.00) as 2 of (Key (Picked unit)) in EFB_Hash
And that one should never create a compile error.

The errors then continue to every single function in the trigger.

I do beleive somehting has gone incredably wrong, I just don't know what :/
 
Level 3
Joined
Mar 29, 2009
Messages
23
What I was trying to do was because the stupid function wasnt declaring (or i didnt know how to) I would just do what the function was doing but in custom scripts like one line each and i just kept getting errors also, i got to one point where you got the second error at and then i gave up lol
 
Certainly, If you go into the 'setup' trigger, there will be the configureable settings, for damage it's base damage (per mini projectile) the standard damage is 25 for each one. if you want to change the full calculation formula however you need to go into the initial one (when you cast it) and find the damage formula through the documentation which should guide you.
 
Level 5
Joined
Nov 14, 2009
Messages
191
Yeah, it works!!! after my effort to understand what TC said, I copied script from "Custom Script Code" in trigger editor and pasted it into my own map. Also check the triggers especially the ones that involved units and abilities.

Hope this helps

Thanks alot +rep to both of you
 
Level 8
Joined
Jul 14, 2010
Messages
235
wow, i got this:
193808-albums3934-picture37146.jpg


But then I copied the custom script into my map, and it worked! Thanks. (I already uploaded the picture, so I pasted it here anyway, so people can see what errors can be fixed).
 
Top