• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Fiery Spellpack 1.01a

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
This is part of a series of spells I will be making, they are mostly basic GUI, thing is I know some people have trouble coming up with ideas for spells so I decided to pick a theme and make a little spellpack related to that theme, this is my second spellpack ever so don't expect anything crazy. Hopefully I will do some rad stuff in the future, it is all about practice!

Fiery End
The Firelord summons the fires from hell 250 degrees towards the way he is facing dealing pure fire damage.
Level 1 - 100 damage dealt.
Level 2 - 200 damage dealt.
Level 3 - 300 damage dealt.

  • FExecute
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Fiery End
    • Actions
      • Set FCaster = (Triggering unit)
      • Set FEndPoint = ((Position of (Casting unit)) offset by 250.00 towards (Facing of (Casting unit)) degrees)
      • Set FLevel = (Level of (Ability being cast) for FCaster)
      • Special Effect - Create a special effect at FEndPoint using Abilities\Spells\Other\Doom\DoomDeath.mdl
      • Special Effect - Destroy (Last created special effect)
      • Set FGroup = (Units within 200.00 of FEndPoint)
      • Unit Group - Pick every unit in FGroup and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) belongs to an enemy of Player 12 (Brown)) Equal to True
            • Then - Actions
              • Unit - Cause FCaster to damage (Picked unit), dealing (100.00 x (Real(FLevel))) damage of attack type Spells and damage type Normal
              • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Other\Incinerate\IncinerateBuff.mdl
              • Special Effect - Destroy (Last created special effect)
            • Else - Actions
      • Custom script: call RemoveLocation (udg_FEndPoint)
      • Custom script: call DestroyGroup (udg_FGroup)
Hell's Stomp
Slams the ground with very strong flames, stunning and damaging nearby enemy land units.
Level 1 - 25 damage and 2 second stun.
Level 2 - 65 damage and 3 second stun.
Level 3 - 125 damage and 4 second stun.

  • HSExecute
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Hell's Stomp
    • Actions
      • -------- This leave it as it is if you want it to look good. --------
      • -------- Since the special effect is really wide, the aoe set on the trigger is a bit smaller. --------
      • Set HSAoe = 200
      • Set HSPoints[1] = ((Position of (Casting unit)) offset by (Real(HSAoe)) towards 0.00 degrees)
      • Set HSPoints[2] = ((Position of (Casting unit)) offset by (Real(HSAoe)) towards 45.00 degrees)
      • Set HSPoints[3] = ((Position of (Casting unit)) offset by (Real(HSAoe)) towards 90.00 degrees)
      • Set HSPoints[4] = ((Position of (Casting unit)) offset by (Real(HSAoe)) towards 135.00 degrees)
      • Set HSPoints[5] = ((Position of (Casting unit)) offset by (Real(HSAoe)) towards 180.00 degrees)
      • Set HSPoints[6] = ((Position of (Casting unit)) offset by (Real(HSAoe)) towards 225.00 degrees)
      • Set HSPoints[7] = ((Position of (Casting unit)) offset by (Real(HSAoe)) towards 270.00 degrees)
      • Set HSPoints[8] = ((Position of (Casting unit)) offset by (Real(HSAoe)) towards 315.00 degrees)
      • Special Effect - Create a special effect at HSPoints[1] using Abilities\Spells\Other\Doom\DoomDeath.mdl
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at HSPoints[2] using Abilities\Spells\Other\Doom\DoomDeath.mdl
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at HSPoints[3] using Abilities\Spells\Other\Doom\DoomDeath.mdl
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at HSPoints[4] using Abilities\Spells\Other\Doom\DoomDeath.mdl
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at HSPoints[5] using Abilities\Spells\Other\Doom\DoomDeath.mdl
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at HSPoints[6] using Abilities\Spells\Other\Doom\DoomDeath.mdl
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at HSPoints[7] using Abilities\Spells\Other\Doom\DoomDeath.mdl
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at HSPoints[8] using Abilities\Spells\Other\Doom\DoomDeath.mdl
      • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation (udg_HSPoints[1])
      • Custom script: call RemoveLocation (udg_HSPoints[2])
      • Custom script: call RemoveLocation (udg_HSPoints[3])
      • Custom script: call RemoveLocation (udg_HSPoints[4])
      • Custom script: call RemoveLocation (udg_HSPoints[5])
      • Custom script: call RemoveLocation (udg_HSPoints[6])
      • Custom script: call RemoveLocation (udg_HSPoints[7])
      • Custom script: call RemoveLocation (udg_HSPoints[8])
Testament
The Firelord summons the strongest fires from hell around him, dealing massive damage to units that are in range.
Level 1 - 400 damage.
Level 2 - 800 damage.
Level 3 - 1200 damage.

  • TExecute
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Testament
    • Actions
      • -------- Just in case --------
      • Set TAmount = (TAmount + 1)
      • -------- just in case --------
      • Set TAmountMax = 696969
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • TAmount Greater than TAmountMax
        • Then - Actions
          • Set TAmount = 1
        • Else - Actions
      • Set TCaster[TAmount] = (Triggering unit)
      • Set TExtraDegrees[TAmount] = 50
      • Trigger - Turn on TLoop <gen>
  • TLoop
    • Events
      • Time - Every 0.01 seconds of game time
    • Conditions
    • Actions
      • Set TPoint1[TAmount] = ((Position of TCaster[TAmount]) offset by (Real(TExtraDegrees[TAmount])) towards 0.00 degrees)
      • Set TPoint2[TAmount] = ((Position of TCaster[TAmount]) offset by (Real(TExtraDegrees[TAmount])) towards 45.00 degrees)
      • Set TPoint3[TAmount] = ((Position of TCaster[TAmount]) offset by (Real(TExtraDegrees[TAmount])) towards 90.00 degrees)
      • Set TPoint4[TAmount] = ((Position of TCaster[TAmount]) offset by (Real(TExtraDegrees[TAmount])) towards 135.00 degrees)
      • Set TPoint5[TAmount] = ((Position of TCaster[TAmount]) offset by (Real(TExtraDegrees[TAmount])) towards 180.00 degrees)
      • Set TPoint6[TAmount] = ((Position of TCaster[TAmount]) offset by (Real(TExtraDegrees[TAmount])) towards 225.00 degrees)
      • Set TPoint7[TAmount] = ((Position of TCaster[TAmount]) offset by (Real(TExtraDegrees[TAmount])) towards 270.00 degrees)
      • Set TPoint8[TAmount] = ((Position of TCaster[TAmount]) offset by (Real(TExtraDegrees[TAmount])) towards 315.00 degrees)
      • Special Effect - Create a special effect at TPoint1[TAmount] using Abilities\Spells\Other\Doom\DoomDeath.mdl
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at TPoint2[TAmount] using Abilities\Spells\Other\Doom\DoomDeath.mdl
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at TPoint3[TAmount] using Abilities\Spells\Other\Doom\DoomDeath.mdl
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at TPoint4[TAmount] using Abilities\Spells\Other\Doom\DoomDeath.mdl
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at TPoint5[TAmount] using Abilities\Spells\Other\Doom\DoomDeath.mdl
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at TPoint6[TAmount] using Abilities\Spells\Other\Doom\DoomDeath.mdl
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at TPoint7[TAmount] using Abilities\Spells\Other\Doom\DoomDeath.mdl
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect at TPoint8[TAmount] using Abilities\Spells\Other\Doom\DoomDeath.mdl
      • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation (udg_TPoint1[udg_TAmount])
      • Custom script: call RemoveLocation (udg_TPoint2[udg_TAmount])
      • Custom script: call RemoveLocation (udg_TPoint3[udg_TAmount])
      • Custom script: call RemoveLocation (udg_TPoint4[udg_TAmount])
      • Custom script: call RemoveLocation (udg_TPoint5[udg_TAmount])
      • Custom script: call RemoveLocation (udg_TPoint6[udg_TAmount])
      • Custom script: call RemoveLocation (udg_TPoint7[udg_TAmount])
      • Custom script: call RemoveLocation (udg_TPoint8[udg_TAmount])
      • Set TExtraDegrees[TAmount] = (TExtraDegrees[TAmount] + 100)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • TExtraDegrees[TAmount] Equal to 850
        • Then - Actions
          • Set TLevelDmg[TAmount] = (Level of Testament for TCaster[TAmount])
          • Set TGroup = (Units within 850.00 of (Position of TCaster[TAmount]))
          • Unit Group - Pick every unit in TGroup and do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • And - All (Conditions) are true
                    • Conditions
                      • ((Picked unit) is A structure) Not equal to True
                      • ((Owner of (Picked unit)) is an enemy of (Owner of TCaster[TAmount])) Equal to True
                • Then - Actions
                  • Unit - Cause TCaster[TAmount] to damage (Picked unit), dealing (400.00 x (Real(TLevelDmg[TAmount]))) damage of attack type Spells and damage type Normal
                • Else - Actions
          • Set TExtraDegrees[TAmount] = (TExtraDegrees[TAmount] + 100)
          • Custom script: call DestroyGroup (udg_TGroup)
          • Trigger - Turn off (This trigger)
        • Else - Actions
Feedback is more than welcome on my second spellpack, I will be adding/fixing spells monthly if not biweekly.

Keywords:
fire, fiery, spellpack, firelord, flames, hell
Contents

Fiery Spellpack (Map)

Reviews
Fiery Spellpack 1.01a | Reviewed by Maker | 13th May 2013 NEEDS FIX There are tons of leaks The spells are quite simple and spam effects I recommend you improve your triggering skills a bit and then try your luck in getting...
loop should be 0.03 not 0.01 periodic timer

Your sfx is inefficiently done, you only need two locations and a loop to create all of those effects.

This is rather basic and severely sfx spammy over uniqueness and originality, not sure how good the chances of being approved are, and if then, having a high rating of any sort

(very quick initial notes)

Edit:
  • ((Picked unit) belongs to an enemy of Player 12 (Brown)) Equal to True
Why them? shouldn't it be based on the owner of the caster

Hells stomp is an object editor spell coated up in sfx spam, not exactly what I'd call approvable material

You have no configuration for any of your spells, anywhere

  • Set TAmountMax = 696969
  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • TAmount Greater than TAmountMax
    • Then - Actions
      • Set TAmount = 1
    • Else - Actions
Inefficient recycling, use a hashtable or learn how to dynamically index instances
 
He don't know what the max index is. The max array index is 8192. Your indexing method has very weak recycling.
Please view these resources:
http://www.hiveworkshop.com/forums/spells-569/gui-dynamic-indexing-template-144325/?prev=mmr=6
http://www.hiveworkshop.com/forums/...9/complete-beginners-guide-hashtables-197381/
http://www.hiveworkshop.com/forums/trigger-gui-editor-tutorials-279/hashtables-mui-133407/
http://www.hiveworkshop.com/forums/...279/mui-spells-using-artificial-waits-223315/
http://www.hiveworkshop.com/forums/trigger-gui-editor-tutorials-279/mui-triggers-waits-218354/

to have a much efficient indexing/MUI.

variables must have prefixes.
Spells must have configuration trigger.

You have tons of leaks
Please read this:
http://www.hiveworkshop.com/forums/triggers-scripts-269/things-leak-35124/

For HSExecute,you should learn to use For Loop Integer,it will make your code shorter. Read this:
http://www.hiveworkshop.com/forums/...torials-279/chapter-1-static-shapes-gui-7337/
http://www.hiveworkshop.com/forums/...rials-279/chapter-2-dynamic-effects-gui-7336/

0.01 loop is very very fast. We recommend 0.03 as minimum value and 0.05 as max value. 100 frames is too much.

Spell is not MUI.

Use Triggering Unit instead of Casting,but that is optional.

Spells are too simple to be approved.
 
Level 10
Joined
Aug 21, 2010
Messages
316
  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
  • If - Conditions
  • ((Picked unit) belongs to an enemy of "Player 12 (Brown)") Equal to True
should be

TriggeringPlayer

  • Set HSPoints[1] = ((Position of (Casting unit)) offset by (Real(HSAoe)) towards 0.00 degrees)
  • Set HSPoints[2] = ((Position of (Casting unit)) offset by (Real(HSAoe)) towards 45.00 degrees)
  • Set HSPoints[3] = ((Position of (Casting unit)) offset by (Real(HSAoe)) towards 90.00 degrees)
  • Set HSPoints[4] = ((Position of (Casting unit)) offset by (Real(HSAoe)) towards 135.00 degrees)
  • Set HSPoints[5] = ((Position of (Casting unit)) offset by (Real(HSAoe)) towards 180.00 degrees)
  • Set HSPoints[6] = ((Position of (Casting unit)) offset by (Real(HSAoe)) towards 225.00 degrees)
  • Set HSPoints[7] = ((Position of (Casting unit)) offset by (Real(HSAoe)) towards 270.00 degrees)
  • Set HSPoints[8] = ((Position of (Casting unit)) offset by (Real(HSAoe)) towards 315.00 degrees)

Example

  • Set HSExampleLoc = Position of (Triggering unit)
  • Set HSPoints[1] = ((HSExampleLoc) offset by (Real(HSAoe)) towards 0.00 degrees)
  • // and so on
This is very ugly, but it does not matter...

  • Special Effect - Create a special effect at HSPoints[1] using Abilities\Spells\Other\Doom\DoomDeath.mdl
  • Special Effect - Destroy (Last created special effect)
  • Special Effect - Create a special effect at HSPoints[2] using Abilities\Spells\Other\Doom\DoomDeath.mdl
  • Special Effect - Destroy (Last created special effect)
  • Special Effect - Create a special effect at HSPoints[3] using Abilities\Spells\Other\Doom\DoomDeath.mdl
  • Special Effect - Destroy (Last created special effect)
  • Special Effect - Create a special effect at HSPoints[4] using Abilities\Spells\Other\Doom\DoomDeath.mdl
  • Special Effect - Destroy (Last created special effect)
  • Special Effect - Create a special effect at HSPoints[5] using Abilities\Spells\Other\Doom\DoomDeath.mdl
  • Special Effect - Destroy (Last created special effect)
  • Special Effect - Create a special effect at HSPoints[6] using Abilities\Spells\Other\Doom\DoomDeath.mdl
  • Special Effect - Destroy (Last created special effect)
  • Special Effect - Create a special effect at HSPoints[7] using Abilities\Spells\Other\Doom\DoomDeath.mdl
  • Special Effect - Destroy (Last created special effect)
  • Special Effect - Create a special effect at HSPoints[8] using Abilities\Spells\Other\Doom\DoomDeath.mdl
  • Special Effect - Destroy (Last created special effect)
->

  • Set HSExampleStringFX = Abilities\Spells\Other\Doom\DoomDeath.mdl
  • Special Effect - Create a special effect at HSPoints[1] using HSExampleStringFX
  • // and so on
  • Custom script: call RemoveLocation (udg_HSPoints[1])
  • Custom script: call RemoveLocation (udg_HSPoints[2])
  • Custom script: call RemoveLocation (udg_HSPoints[3])
  • Custom script: call RemoveLocation (udg_HSPoints[4])
  • Custom script: call RemoveLocation (udg_HSPoints[5])
  • Custom script: call RemoveLocation (udg_HSPoints[6])
  • Custom script: call RemoveLocation (udg_HSPoints[7])
  • Custom script: call RemoveLocation (udg_HSPoints[8])
so many locations are definitely sucks but when it is already so...this is a better solution
[learn to use the coordinates]
->

  • Set HSExampleSomeIntegerName = 8
  • loop
    • exitwhen udg_HSExampleSomeIntegerName == 0
    • call RemoveLocation (udg_HSPoints[udg_HSExampleSomeIntegerName])
    • Set HSExampleSomeIntegerName = HSExampleSomeIntegerName - 1
  • endloop
 
Last edited:
Top