1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  3. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still haven't received your rank award? Then please contact the administration.
    Dismiss Notice
  4. Rubbed the right way, the genie is out of its lamp! The 12th Concept Art Contest Results have been announced.
    Dismiss Notice
  5. Race against the odds and Reforge, Don't Refund. The 14th Techtree Contest has begun!
    Dismiss Notice
  6. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Enchanted Fire Bolt V1.45

Submitted by Tank-Commander
This bundle is marked as approved. It works and satisfies the submission rules.
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.

Triggers
  • 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

Changes

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
Moderator
17:36, 1st Jan 2010 TriggerHappy: You added everything I asked and it looked good.
  1. 17:36, 1st Jan 2010
    TriggerHappy:

    You added everything I asked and it looked good.
     
  2. Klingo

    Klingo

    Joined:
    Dec 19, 2009
    Messages:
    246
    Resources:
    5
    Spells:
    5
    Resources:
    5
    I tested your spell and when the fire bolt hitted the ground it became laggy for like 2 or 3 sec then it was ok.

    edit: when 2 person cast in same time, the explosion become super laggy
     
  3. crimson fire

    crimson fire

    Joined:
    Sep 17, 2009
    Messages:
    395
    Resources:
    0
    Resources:
    0
    hmm kind of looks like fireworks.. lol i like it. i approve
     
  4. D4RK_G4ND4LF

    D4RK_G4ND4LF

    Joined:
    Feb 4, 2009
    Messages:
    1,196
    Resources:
    20
    Models:
    3
    Spells:
    15
    Tutorials:
    2
    Resources:
    20
    a big amount of the lag is caused by moving the dummys with the GUI action

    if you use
    Code (vJASS):
    call SetUnitX(unit, real)
    call SetUnitY(unit, real)
    the spell will probably be a lot smoother
    if that won't help reduce the dummy count

    5 frames per second are unacceptable even if it's GUI
     
  5. Tank-Commander

    Tank-Commander

    Spell Reviewer

    Joined:
    May 26, 2009
    Messages:
    1,540
    Resources:
    44
    Packs:
    1
    Spells:
    41
    Tutorials:
    2
    Resources:
    44
    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: Jan 2, 2010
  6. ithian

    ithian

    Joined:
    Nov 7, 2009
    Messages:
    17
    Resources:
    0
    Resources:
    0
    wow nice love the aoe, hmmmmm fireballs of death
     
  7. AlienAtSystem

    AlienAtSystem

    Joined:
    Dec 26, 2009
    Messages:
    604
    Resources:
    38
    Models:
    7
    Icons:
    28
    Packs:
    1
    Skins:
    1
    Spells:
    1
    Resources:
    38
    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.
     
  8. Tank-Commander

    Tank-Commander

    Spell Reviewer

    Joined:
    May 26, 2009
    Messages:
    1,540
    Resources:
    44
    Packs:
    1
    Spells:
    41
    Tutorials:
    2
    Resources:
    44
    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
     
  9. noob134

    noob134

    Joined:
    Jan 17, 2009
    Messages:
    335
    Resources:
    1
    Spells:
    1
    Resources:
    1
    Omg firey circles will test later
     
  10. D4RK_G4ND4LF

    D4RK_G4ND4LF

    Joined:
    Feb 4, 2009
    Messages:
    1,196
    Resources:
    20
    Models:
    3
    Spells:
    15
    Tutorials:
    2
    Resources:
    20
    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 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: Jan 2, 2010
  11. Duggler

    Duggler

    Joined:
    Dec 10, 2009
    Messages:
    13
    Resources:
    0
    Resources:
    0
    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...
     
  12. Tank-Commander

    Tank-Commander

    Spell Reviewer

    Joined:
    May 26, 2009
    Messages:
    1,540
    Resources:
    44
    Packs:
    1
    Spells:
    41
    Tutorials:
    2
    Resources:
    44
    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.
     
  13. Duggler

    Duggler

    Joined:
    Dec 10, 2009
    Messages:
    13
    Resources:
    0
    Resources:
    0
    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?
     
  14. aaron

    aaron

    Joined:
    Oct 18, 2008
    Messages:
    512
    Resources:
    6
    Maps:
    2
    Spells:
    4
    Resources:
    6
    a spell that requires newgen is failzor :p
     
  15. GhoSTMaN-Fu-

    GhoSTMaN-Fu-

    Joined:
    Mar 29, 2009
    Messages:
    22
    Resources:
    0
    Resources:
    0
    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. . .
     
  16. Tank-Commander

    Tank-Commander

    Spell Reviewer

    Joined:
    May 26, 2009
    Messages:
    1,540
    Resources:
    44
    Packs:
    1
    Spells:
    41
    Tutorials:
    2
    Resources:
    44
    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.
     
  17. GhoSTMaN-Fu-

    GhoSTMaN-Fu-

    Joined:
    Mar 29, 2009
    Messages:
    22
    Resources:
    0
    Resources:
    0
    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
     
  18. Tank-Commander

    Tank-Commander

    Spell Reviewer

    Joined:
    May 26, 2009
    Messages:
    1,540
    Resources:
    44
    Packs:
    1
    Spells:
    41
    Tutorials:
    2
    Resources:
    44
    :/ 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 :/
     
  19. GhoSTMaN-Fu-

    GhoSTMaN-Fu-

    Joined:
    Mar 29, 2009
    Messages:
    22
    Resources:
    0
    Resources:
    0
    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