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

Splitting Fireball v1.0

  • Like
Reactions: knight820
Spell Name: Splitting Fireball v1.0



Spell Description:

231860-albums6686-picture75430.png




Spell Screenshots

The casters will releasing a primary fireball and spliiting up in backward direction in the line.

231860-albums6686-picture75427.png


If it is reached the target location, it will make a flame strike and a big blast that can knockback enemy units nearby the target location. Can split up to mini fireballs.

231860-albums6686-picture75429.png

231860-albums6686-picture75428.png




The Spell Code [GUI].



  • SP Configuration
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- S P L I T T I N G F I R E B A L L v1.0 --------
      • -------- by jakeZinc --------
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- CONFIGURATION --------
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- The ability that used in the spell. --------
      • Set SF_Ability = Splitting Fireball
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- The dummy flame strike ability that used in the spell. --------
      • Set SF_FlameStrikeAbility = Splitting Fireball ( FlameStrikeDummy )
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- The vexorian dummy, the dummy that used as a fireball. --------
      • Set SF_VexorianDummyType = SF Dummy
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the model of the primary fireball --------
      • Set SF_PrimaryFireballModel = Abilities\Weapons\FireBallMissile\FireBallMissile.mdl
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the height of the primary fireball --------
      • Set SF_PrimaryFireballHeight[1] = 100.00
      • Set SF_PrimaryFireballHeight[2] = 100.00
      • Set SF_PrimaryFireballHeight[3] = 100.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the size of the primary fireball --------
      • Set SF_PrimaryFireballSize[1] = 170.00
      • Set SF_PrimaryFireballSize[2] = 180.00
      • Set SF_PrimaryFireballSize[3] = 190.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the speed of the primary fireball --------
      • Set SF_PrimaryFireballSpeed[1] = 300.00
      • Set SF_PrimaryFireballSpeed[2] = 325.00
      • Set SF_PrimaryFireballSpeed[3] = 350.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the collision size of the primary fireball --------
      • Set SF_PrimaryFireballCollision[1] = 100.00
      • Set SF_PrimaryFireballCollision[2] = 125.00
      • Set SF_PrimaryFireballCollision[3] = 140.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the looping damage of the primary fireball --------
      • Set SF_PrimaryFireballDamage[1] = 4.00
      • Set SF_PrimaryFireballDamage[2] = 6.00
      • Set SF_PrimaryFireballDamage[3] = 8.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the effect of the looping damage to the picked enemy units nearby primary fireball. --------
      • Set SF_PFPickedUnitsFx = Abilities\Weapons\FireBallMissile\FireBallMissile.mdl
      • -------- ^Attachment to the unit. --------
      • Set SF_PFPickedUnitsFxAttach = chest
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the splitting effect of the primary fireball when it is splitting each other. --------
      • Set SF_PrimarySplitEffect = Abilities\Weapons\FireBallMissile\FireBallMissile.mdl
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the attacktype and the damagetype of the primary fireball --------
      • Set SF_PrimaryFireballAttackType = Spells
      • Set SF_PrimaryFireballDamageType = Fire
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the model of the secondary fireball --------
      • Set SF_SecondaryFireballModel = Abilities\Weapons\FireBallMissile\FireBallMissile.mdl
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the size of the secondary fireball. --------
      • Set SF_SecondaryFireballSize[1] = 80.00
      • Set SF_SecondaryFireballSize[2] = 85.00
      • Set SF_SecondaryFireballSize[3] = 90.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the speed of the secondary fireball. --------
      • Set SF_SecondaryFireballSpeed[1] = 400.00
      • Set SF_SecondaryFireballSpeed[2] = 450.00
      • Set SF_SecondaryFireballSpeed[3] = 500.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the damage of the secondary fireball. --------
      • Set SF_SecondaryFireballDamage[1] = 25.00
      • Set SF_SecondaryFireballDamage[2] = 50.00
      • Set SF_SecondaryFireballDamage[3] = 75.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the collision size of the secondary fireball. --------
      • Set SF_SecondaryFireballCollision[1] = 90.00
      • Set SF_SecondaryFireballCollision[2] = 110.00
      • Set SF_SecondaryFireballCollision[3] = 130.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the releasing time of the secondary fireball to primary fireball. --------
      • Set SF_SecondaryFireballReleaseDur[1] = 0.35
      • Set SF_SecondaryFireballReleaseDur[2] = 0.25
      • Set SF_SecondaryFireballReleaseDur[3] = 0.15
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the max range of the secondary fireball. --------
      • Set SF_SecondaryFireballRange[1] = 350.00
      • Set SF_SecondaryFireballRange[2] = 400.00
      • Set SF_SecondaryFireballRange[3] = 450.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the acceleration speed of the secondary fireball. --------
      • Set SF_SecondaryFBAcceleration[1] = 150.00
      • Set SF_SecondaryFBAcceleration[2] = 125.00
      • Set SF_SecondaryFBAcceleration[3] = 100.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines if you want to destroy trees then set this to true, if not then false. --------
      • Set SF_SecondaryFBDestroyTrees = True
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the attacktype and the damagetype of the secondary fireball --------
      • Set SF_SecondaryFireballAttackType = Spells
      • Set SF_SecondaryFireballDamageType = Fire
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the blast effect of the secondary fireball --------
      • Set SF_SecondaryFireballBlastFx = Abilities\Spells\Other\Incinerate\FireLordDeathExplode.mdl
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines if you want to damage structures. --------
      • Set SF_SecondaryFBDamageStructure = True
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the model of the tertiary fireball. --------
      • Set SF_TertiaryFireballModel = Abilities\Weapons\FireBallMissile\FireBallMissile.mdl
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the size of the tertiary fireball. --------
      • Set SF_TertiaryFireballSize[1] = 55.00
      • Set SF_TertiaryFireballSize[2] = 65.00
      • Set SF_TertiaryFireballSize[3] = 75.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the amount of the tertiary fireball. --------
      • Set SF_TertiaryFireballAmount[1] = 14
      • Set SF_TertiaryFireballAmount[2] = 18
      • Set SF_TertiaryFireballAmount[3] = 22
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the acceleration speed of the tertiary fireball. --------
      • Set SF_TertiaryFBAcceleration[1] = 100.00
      • Set SF_TertiaryFBAcceleration[2] = 100.00
      • Set SF_TertiaryFBAcceleration[3] = 100.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the collision size of the tertiary fireball. --------
      • Set SF_TertiaryFireballCollision[1] = 55.00
      • Set SF_TertiaryFireballCollision[2] = 65.00
      • Set SF_TertiaryFireballCollision[3] = 75.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the damage of the tertiary fireball. --------
      • Set SF_TertiaryFireballDamage[1] = 30.00
      • Set SF_TertiaryFireballDamage[2] = 40.00
      • Set SF_TertiaryFireballDamage[3] = 50.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the max range of the tertiary fireball. --------
      • Set SF_TertiaryFireballRange[1] = 300.00
      • Set SF_TertiaryFireballRange[2] = 350.00
      • Set SF_TertiaryFireballRange[3] = 400.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the if you want to rotate tertiary fireballs. --------
      • Set SF_TertiaryFireballRotation = False
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the speed of the tertiary fireball. --------
      • Set SF_TertiaryFireballSpeed[1] = 250.00
      • Set SF_TertiaryFireballSpeed[2] = 300.00
      • Set SF_TertiaryFireballSpeed[3] = 350.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the blast effect of the tertiary fireball. --------
      • Set SF_TertiaryFireballBlastEffect = Abilities\Spells\Other\Incinerate\FireLordDeathExplode.mdl
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the attacktype and the damagetype of the tertiary fireball --------
      • Set SF_TertiaryFireballAttackType = Spells
      • Set SF_TertiaryFireballDamageType = Fire
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines if you want to destroy trees. --------
      • Set SF_TertiaryFireballDestroyTree = True
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the blast in the target location --------
      • Set SF_BlastEffect = Abilities\Spells\Other\Doom\DoomDeath.mdl
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the radius of the massive knockback or the blast. --------
      • Set SF_BlastRadius[1] = 250.00
      • Set SF_BlastRadius[2] = 300.00
      • Set SF_BlastRadius[3] = 350.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the acceleration speed of the knockbacked units in the blast. --------
      • Set SF_Blast_KB_Acceleration[1] = -45.00
      • Set SF_Blast_KB_Acceleration[2] = -35.00
      • Set SF_Blast_KB_Acceleration[3] = -25.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the damage of the knockbacked units in the blast. --------
      • Set SF_Blast_KB_Damage[1] = 50.00
      • Set SF_Blast_KB_Damage[2] = 75.00
      • Set SF_Blast_KB_Damage[3] = 100.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the blast damage of the knockbacked units in the blast. --------
      • Set SF_BlastDamage[1] = 100.00
      • Set SF_BlastDamage[2] = 150.00
      • Set SF_BlastDamage[3] = 200.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the knockback effect of the knockbacked units in the blast. --------
      • Set SF_Blast_KB_Effect = Abilities\Weapons\FireBallMissile\FireBallMissile.mdl
      • -------- ^ Attachment of the unit --------
      • Set SF_Blast_KB_EffectAttach = chest
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the range of the knockbacked units in the blast. --------
      • Set SF_Blast_KB_Range[1] = 250.00
      • Set SF_Blast_KB_Range[2] = 275.00
      • Set SF_Blast_KB_Range[3] = 300.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the speed of the knockbacked units in the blast. --------
      • Set SF_Blast_KB_Speed[1] = 300.00
      • Set SF_Blast_KB_Speed[2] = 350.00
      • Set SF_Blast_KB_Speed[3] = 400.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the max height of the knockbacked units in the blast. --------
      • Set SF_Blast_KB_Z_Height[1] = 150.00
      • Set SF_Blast_KB_Z_Height[2] = 175.00
      • Set SF_Blast_KB_Z_Height[3] = 200.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the attacktype and the damagetype of the blast and knockback. --------
      • Set SF_Blast_AttackType = Spells
      • Set SF_Blast_DamageType = Fire
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the if you want to damage structures in the blast. --------
      • Set SF_Blast_DamageStructures = True
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the if you want to destroy trees in the blast. --------
      • Set SF_Blast_KB_DestroyTrees = True
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • -------- Determines the if you want to knockback units in the blast. --------
      • Set SF_Blast_KnockbackUnits = True
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
  • SP Execution
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to SF_Ability
    • Actions
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • SF_MaxIndex Equal to 0
        • Then - Actions
          • Trigger - Turn on SP Loop <gen>
        • Else - Actions
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • Set SF_MaxIndex = (SF_MaxIndex + 1)
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • Set SF_Caster[SF_MaxIndex] = (Triggering unit)
      • Set SF_Level[SF_MaxIndex] = (Level of SF_Ability for SF_Caster[SF_MaxIndex])
      • Set SF_Player[SF_MaxIndex] = (Triggering player)
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • Set SF_CasterPosition = (Position of SF_Caster[SF_MaxIndex])
      • Set SF_TargetLocation = (Target point of ability being cast)
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • Set SF_PrimaryFireballAngle[SF_MaxIndex] = (Angle from SF_CasterPosition to SF_TargetLocation)
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • Unit - Create 1 SF_VexorianDummyType for SF_Player[SF_MaxIndex] at SF_CasterPosition facing SF_PrimaryFireballAngle[SF_MaxIndex] degrees
      • Set SF_PrimaryFireballDummy[SF_MaxIndex] = (Last created unit)
      • Special Effect - Create a special effect attached to the origin of SF_PrimaryFireballDummy[SF_MaxIndex] using SF_PrimaryFireballModel
      • Set SF_PrimaryFirebalFxHandler[SF_MaxIndex] = (Last created special effect)
      • Animation - Change SF_PrimaryFireballDummy[SF_MaxIndex]'s size to (SF_PrimaryFireballSize[SF_Level[SF_MaxIndex]]%, 0.00%, 0.00%) of its original size
      • Animation - Change SF_PrimaryFireballDummy[SF_MaxIndex] flying height to SF_PrimaryFireballHeight[SF_Level[SF_MaxIndex]] at 0.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • Set SF_DistanceCounter[SF_MaxIndex] = (Distance between SF_CasterPosition and SF_TargetLocation)
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • Set SF_PrimaryFireballDistance[SF_MaxIndex] = 0.00
      • Set SF_SecondaryFireballAngle[SF_MaxIndex] = 0.00
      • Set SF_SecondaryFireballDurCounter[SF_MaxIndex] = 0.00
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
      • Custom script: call RemoveLocation ( udg_SF_CasterPosition )
      • Custom script: call RemoveLocation ( udg_SF_TargetLocation )
      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
  • SP Loop
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • For each (Integer SF_CurrentIndex) from 1 to SF_MaxIndex, do (Actions)
        • Loop - Actions
          • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
          • Set SF_PrimaryFireballPosition = (Position of SF_PrimaryFireballDummy[SF_CurrentIndex])
          • Set SF_PrimaryFireballMovement = (SF_PrimaryFireballPosition offset by (SF_PrimaryFireballSpeed[SF_Level[SF_CurrentIndex]] x 0.03) towards SF_PrimaryFireballAngle[SF_CurrentIndex] degrees)
          • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
          • Custom script: call SetUnitX ( udg_SF_PrimaryFireballDummy [ udg_SF_CurrentIndex ], GetLocationX ( udg_SF_PrimaryFireballMovement ) )
          • Custom script: call SetUnitY ( udg_SF_PrimaryFireballDummy [ udg_SF_CurrentIndex ], GetLocationY ( udg_SF_PrimaryFireballMovement ) )
          • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
          • Set SF_PrimaryFireballDistance[SF_CurrentIndex] = (SF_PrimaryFireballDistance[SF_CurrentIndex] + (SF_PrimaryFireballSpeed[SF_Level[SF_CurrentIndex]] x 0.03))
          • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
          • Set SF_PrimaryFireballGroup = (Units within SF_PrimaryFireballCollision[SF_Level[SF_CurrentIndex]] of SF_PrimaryFireballPosition)
          • Unit Group - Pick every unit in SF_PrimaryFireballGroup and do (Actions)
            • Loop - Actions
              • Set SF_PrimaryFireballPickedUnits = (Picked unit)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (SF_PrimaryFireballPickedUnits belongs to an enemy of SF_Player[SF_CurrentIndex]) Equal to True
                  • (SF_PrimaryFireballPickedUnits is dead) Not equal to True
                  • (SF_PrimaryFireballPickedUnits is A structure) Not equal to True
                  • (SF_PrimaryFireballPickedUnits is A flying unit) Not equal to True
                  • (SF_PrimaryFireballPickedUnits is Magic Immune) Not equal to True
                  • (SF_PrimaryFireballPickedUnits is Mechanical) Not equal to True
                • Then - Actions
                  • Unit - Cause SF_Caster[SF_CurrentIndex] to damage SF_PrimaryFireballPickedUnits, dealing SF_PrimaryFireballDamage[SF_Level[SF_CurrentIndex]] damage of attack type SF_PrimaryFireballAttackType and damage type SF_PrimaryFireballDamageType
                  • Special Effect - Create a special effect attached to the SF_PFPickedUnitsFxAttach of SF_PrimaryFireballPickedUnits using SF_PFPickedUnitsFx
                  • Special Effect - Destroy (Last created special effect)
                • Else - Actions
          • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
          • Custom script: call DestroyGroup ( udg_SF_PrimaryFireballGroup )
          • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
          • Set SF_SecondaryFireballDurCounter[SF_CurrentIndex] = (SF_SecondaryFireballDurCounter[SF_CurrentIndex] + 0.03)
          • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • SF_SecondaryFireballDurCounter[SF_CurrentIndex] Greater than or equal to SF_SecondaryFireballReleaseDur[SF_Level[SF_CurrentIndex]]
            • Then - Actions
              • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
              • Special Effect - Create a special effect attached to the origin of SF_PrimaryFireballDummy[SF_CurrentIndex] using SF_PrimarySplitEffect
              • Special Effect - Destroy (Last created special effect)
              • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
              • Set SF_SecondaryFireballDurCounter[SF_CurrentIndex] = 0.00
              • Set SF_SecondaryFireballAngle[SF_CurrentIndex] = ((Random real number between ((Facing of SF_PrimaryFireballDummy[SF_CurrentIndex]) + (180.00 - 30.00)) and ((Facing of SF_PrimaryFireballDummy[SF_CurrentIndex]) + (180.00 + 30.00))) + 0.00)
              • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
              • Unit - Create 1 SF_VexorianDummyType for SF_Player[SF_CurrentIndex] at SF_PrimaryFireballPosition facing SF_SecondaryFireballAngle[SF_CurrentIndex] degrees
              • Set SF_SecondaryFireballDummy = (Last created unit)
              • Animation - Change SF_SecondaryFireballDummy's size to (SF_SecondaryFireballSize[SF_Level[SF_CurrentIndex]]%, 0.00%, 0.00%) of its original size
              • Animation - Change SF_SecondaryFireballDummy flying height to SF_PrimaryFireballHeight[SF_Level[SF_CurrentIndex]] at 0.00
              • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
              • Set KB3D_Unit = SF_SecondaryFireballDummy
              • Set KB3D_Range = SF_SecondaryFireballRange[SF_Level[SF_CurrentIndex]]
              • Set KB3D_Speed = SF_SecondaryFireballSpeed[SF_Level[SF_CurrentIndex]]
              • Set KB3D_Angle = SF_SecondaryFireballAngle[SF_CurrentIndex]
              • Set KB3D_EndFx = SF_SecondaryFireballBlastFx
              • Set KB3D_KillatEnd = True
              • Set KB3D_Accel = SF_SecondaryFBAcceleration[SF_Level[SF_CurrentIndex]]
              • Set KB3D_AllowOutSiding = False
              • Set KB3D_AoE = SF_SecondaryFireballCollision[SF_Level[SF_CurrentIndex]]
              • Set KB3D_AttackType = SF_SecondaryFireballAttackType
              • Set KB3D_DamageType = SF_SecondaryFireballDamageType
              • Set KB3D_Damager = SF_Caster[SF_CurrentIndex]
              • Set KB3D_DestroyTree = SF_SecondaryFBDestroyTrees
              • Set KB3D_FaceAngle = True
              • Set KB3D_Fx_Attach = origin
              • Set KB3D_LineDamage = SF_SecondaryFireballDamage[SF_Level[SF_CurrentIndex]]
              • Set KB3D_TrailFx = SF_SecondaryFireballModel
              • Set KB3D_UnpathableStop = False
              • Set KB3D_iKB = False
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • SF_SecondaryFBDamageStructure Equal to True
                • Then - Actions
                  • Set KB3D_D_STRUCTURE = True
                  • Set KB3D_D_MECHANICAL = True
                • Else - Actions
                  • Set KB3D_D_STRUCTURE = False
                  • Set KB3D_D_MECHANICAL = False
              • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
              • Custom script: call TriggerEvaluate( udg_KB3D_Registration )
              • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • SF_PrimaryFireballDistance[SF_CurrentIndex] Greater than or equal to SF_DistanceCounter[SF_CurrentIndex]
            • Then - Actions
              • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
              • Unit - Create 1 SF_VexorianDummyType for SF_Player[SF_CurrentIndex] at SF_PrimaryFireballPosition facing Default building facing degrees
              • Set SF_FlameStrikeDummy = (Last created unit)
              • Unit - Add a 1.00 second Generic expiration timer to SF_FlameStrikeDummy
              • Unit - Add SF_FlameStrikeAbility to SF_FlameStrikeDummy
              • Unit - Set level of SF_FlameStrikeAbility for SF_FlameStrikeDummy to SF_Level[SF_CurrentIndex]
              • Unit - Order SF_FlameStrikeDummy to Human Blood Mage - Flame Strike SF_PrimaryFireballPosition
              • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
              • Set SF_BlastScaleRatio = (SF_BlastRadius[SF_Level[SF_CurrentIndex]] x 0.53)
              • Unit - Create 1 SF_VexorianDummyType for SF_Player[SF_CurrentIndex] at SF_PrimaryFireballPosition facing Default building facing degrees
              • Set SF_BlastDummy = (Last created unit)
              • Unit - Add a 1.00 second Generic expiration timer to SF_BlastDummy
              • Animation - Change SF_BlastDummy's size to (SF_BlastScaleRatio%, 0.00%, 0.00%) of its original size
              • Special Effect - Create a special effect attached to the origin of SF_BlastDummy using SF_BlastEffect
              • Special Effect - Destroy (Last created special effect)
              • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
              • Set SF_BlastGroup = (Units within SF_BlastRadius[SF_Level[SF_CurrentIndex]] of SF_PrimaryFireballPosition)
              • Unit Group - Pick every unit in SF_BlastGroup and do (Actions)
                • Loop - Actions
                  • Set SF_Blast_PickedUnit = (Picked unit)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (SF_Blast_PickedUnit belongs to an enemy of SF_Player[SF_CurrentIndex]) Equal to True
                      • (SF_Blast_PickedUnit is dead) Not equal to True
                      • (SF_Blast_PickedUnit is A structure) Not equal to True
                      • (SF_Blast_PickedUnit is A flying unit) Not equal to True
                      • (SF_Blast_PickedUnit is Magic Immune) Not equal to True
                      • (SF_Blast_PickedUnit is Mechanical) Not equal to True
                    • Then - Actions
                      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
                      • Unit - Cause SF_Caster[SF_CurrentIndex] to damage SF_Blast_PickedUnit, dealing SF_BlastDamage[SF_Level[SF_CurrentIndex]] damage of attack type SF_Blast_AttackType and damage type SF_Blast_DamageType
                      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • SF_Blast_KnockbackUnits Equal to True
                        • Then - Actions
                          • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
                          • Set SF_BlastPickedUnitPosition = (Position of SF_Blast_PickedUnit)
                          • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
                          • Set KB3D_Unit = SF_Blast_PickedUnit
                          • Set KB3D_Range = SF_Blast_KB_Range[SF_Level[SF_CurrentIndex]]
                          • Set KB3D_Speed = SF_Blast_KB_Speed[SF_Level[SF_CurrentIndex]]
                          • Set KB3D_Angle = (Angle from SF_PrimaryFireballPosition to SF_BlastPickedUnitPosition)
                          • Set KB3D_Accel = SF_Blast_KB_Acceleration[SF_Level[SF_CurrentIndex]]
                          • Set KB3D_AllowOutSiding = False
                          • Set KB3D_AttackType = SF_Blast_AttackType
                          • Set KB3D_DamageType = SF_Blast_DamageType
                          • Set KB3D_Damager = SF_Caster[SF_CurrentIndex]
                          • Set KB3D_DestroyTree = SF_Blast_KB_DestroyTrees
                          • Set KB3D_Fx_Attach = SF_Blast_KB_EffectAttach
                          • Set KB3D_Fx = SF_Blast_KB_Effect
                          • Set KB3D_LoopDamage = SF_Blast_KB_Damage[SF_Level[SF_CurrentIndex]]
                          • Set KB3D_Zoffset = SF_Blast_KB_Z_Height[SF_Level[SF_CurrentIndex]]
                          • Set KB3D_UnpathableStop = False
                          • Set KB3D_KillatEnd = False
                          • Set KB3D_EndwhenDead = False
                          • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
                          • Custom script: call TriggerEvaluate( udg_KB3D_Registration )
                          • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
                          • Custom script: call RemoveLocation ( udg_SF_BlastPickedUnitPosition )
                          • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
                        • Else - Actions
                      • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
                    • Else - Actions
                  • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • SF_Blast_DamageStructures Equal to True
                    • Then - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (SF_Blast_PickedUnit is A structure) Equal to True
                        • Then - Actions
                          • Unit - Cause SF_Caster[SF_CurrentIndex] to damage SF_Blast_PickedUnit, dealing SF_BlastDamage[SF_Level[SF_CurrentIndex]] damage of attack type SF_Blast_AttackType and damage type SF_Blast_DamageType
                        • Else - Actions
                    • Else - Actions
                  • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
              • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
              • Custom script: call DestroyGroup ( udg_SF_BlastGroup )
              • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
              • For each (Integer SF_TertiaryFireballInt) from 1 to SF_TertiaryFireballAmount[SF_Level[SF_CurrentIndex]], do (Actions)
                • Loop - Actions
                  • Set SF_TertiaryFireballAngle = (SF_TertiaryFireballAngle + (360.00 / (Real(SF_TertiaryFireballAmount[SF_Level[SF_CurrentIndex]]))))
                  • Set SF_TertiaryFireballLocation = (SF_PrimaryFireballPosition offset by 5.00 towards SF_TertiaryFireballAngle degrees)
                  • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
                  • Unit - Create 1 SF_VexorianDummyType for SF_Player[SF_CurrentIndex] at SF_TertiaryFireballLocation facing SF_TertiaryFireballAngle degrees
                  • Set SF_TertiaryFireballDummy = (Last created unit)
                  • Animation - Change SF_TertiaryFireballDummy's size to (SF_TertiaryFireballSize[SF_Level[SF_CurrentIndex]]%, 0.00%, 0.00%) of its original size
                  • Animation - Change SF_TertiaryFireballDummy flying height to SF_PrimaryFireballHeight[SF_Level[SF_CurrentIndex]] at 0.00
                  • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
                  • Set KB3D_Unit = SF_TertiaryFireballDummy
                  • Set KB3D_Range = SF_TertiaryFireballRange[SF_Level[SF_CurrentIndex]]
                  • Set KB3D_Speed = SF_TertiaryFireballSpeed[SF_Level[SF_CurrentIndex]]
                  • Set KB3D_Angle = SF_TertiaryFireballAngle
                  • Set KB3D_EndFx = SF_TertiaryFireballBlastEffect
                  • Set KB3D_KillatEnd = True
                  • Set KB3D_Accel = SF_TertiaryFBAcceleration[SF_Level[SF_CurrentIndex]]
                  • Set KB3D_AllowOutSiding = False
                  • Set KB3D_AoE = SF_TertiaryFireballCollision[SF_Level[SF_CurrentIndex]]
                  • Set KB3D_AoEEndDamage = SF_TertiaryFireballDamage[SF_Level[SF_CurrentIndex]]
                  • Set KB3D_AttackType = SF_TertiaryFireballAttackType
                  • Set KB3D_DamageType = SF_TertiaryFireballDamageType
                  • Set KB3D_Damager = SF_Caster[SF_CurrentIndex]
                  • Set KB3D_DestroyTree = SF_TertiaryFireballDestroyTree
                  • Set KB3D_FaceAngle = True
                  • Set KB3D_Fx_Attach = origin
                  • Set KB3D_LineDamage = SF_TertiaryFireballDamage[SF_Level[SF_CurrentIndex]]
                  • Set KB3D_TrailFx = SF_TertiaryFireballModel
                  • Set KB3D_UnpathableStop = False
                  • Set KB3D_iKB = False
                  • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • SF_TertiaryFireballRotation Equal to True
                    • Then - Actions
                      • Set KB3D_Arc = 4.00
                    • Else - Actions
                      • Set KB3D_Arc = 0.00
                  • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
                  • Custom script: call TriggerEvaluate( udg_KB3D_Registration )
                  • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
                  • Custom script: call RemoveLocation ( udg_SF_TertiaryFireballLocation )
                  • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
              • Special Effect - Destroy SF_PrimaryFirebalFxHandler[SF_CurrentIndex]
              • Unit - Kill SF_PrimaryFireballDummy[SF_CurrentIndex]
              • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
              • Set SF_Caster[SF_CurrentIndex] = SF_Caster[SF_MaxIndex]
              • Set SF_Level[SF_CurrentIndex] = SF_Level[SF_MaxIndex]
              • Set SF_Player[SF_CurrentIndex] = SF_Player[SF_MaxIndex]
              • Set SF_PrimaryFireballAngle[SF_CurrentIndex] = SF_PrimaryFireballAngle[SF_MaxIndex]
              • Set SF_PrimaryFireballDummy[SF_CurrentIndex] = SF_PrimaryFireballDummy[SF_MaxIndex]
              • Set SF_PrimaryFirebalFxHandler[SF_CurrentIndex] = SF_PrimaryFirebalFxHandler[SF_MaxIndex]
              • Set SF_DistanceCounter[SF_CurrentIndex] = SF_DistanceCounter[SF_MaxIndex]
              • Set SF_PrimaryFireballDistance[SF_CurrentIndex] = SF_PrimaryFireballDistance[SF_MaxIndex]
              • Set SF_SecondaryFireballAngle[SF_CurrentIndex] = SF_SecondaryFireballAngle[SF_MaxIndex]
              • Set SF_SecondaryFireballDurCounter[SF_CurrentIndex] = SF_SecondaryFireballDurCounter[SF_MaxIndex]
              • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
              • Set SF_MaxIndex = (SF_MaxIndex - 1)
              • Set SF_CurrentIndex = (SF_CurrentIndex - 1)
              • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • SF_MaxIndex Equal to 0
                • Then - Actions
                  • Trigger - Turn off (This trigger)
                • Else - Actions
              • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
            • Else - Actions
          • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
          • Custom script: call RemoveLocation ( udg_SF_PrimaryFireballPosition )
          • Custom script: call RemoveLocation ( udg_SF_PrimaryFireballMovement )
          • -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
Information:

JASS:
*Spell Name: Splitting Fireball v1.0 = Initial Upload

*Spell Author/Creator: by jakeZinc.

*Spell Version: v1.0 = * Initial Released

*Spell Purpose: After the Eruption spell ( fire ultimate spell of FireLord ), Now Ive got idea about
                aggresive fire skill of FireLord and I called it Splitting Fireball. The caster will
                release a primary fireball, travels to the target location. While traveling, it will spliting
                a secondary fireballs in backwards that can damage enemies in a line every second. When the primary fireball
                impact to the target location, it will cause a massive knockback to the nearby enemy units and 
                the primary fireball will split up to mini fireballs. Causing a flamestrike to the target location.
                Useful in reducing waves of the enemies in the line in 1 shot.
                

*Spell Idea: None.

*Spell Requested: None.


*Spell Features v1.0 =  * Multi- Unit Instanceabilty ( MUI Spell )
                        * Leakless
                        * Readability
                        * Well Documented
                        * Indexed Array
                        + KB3D System


How to Import/Install:
=Preparing for import=
Go to:
File
Preferences
General
Check the box labelled ''Automatically create unknown variables while pasting trigger data''


=Speeding up import of object data-
Go to:
Window
make sure the 'brush list' is unchecked.
You can swap between my map and your map.


=Main importing= 

Difficuly in Importing:

"Easy" = 1 to 3 Copy - Paste Required
"Medium" = 4 to 6 Copy - Paste Required
"Hard" = 7 above, Copy - Paste Required

Spell Importing Difficulty: 'Medium'
    
    In order of importing: Copy --> Paste to your Map.
    
    Object Editor - Abilities - Splitting Fireball.
    Object Editor - Abilities - Splitting Fireball ( FlameStrikeDummy )
    Object Editor - Units - SF Vexorian Dummy ( Dummy Unit )
    Trigger Editor - Folder - SF - Splitting Fireball v1.0
    Trigger Editor - Folder - Knockback 3D v1.6.X. ( Not needed if you have already one )
    
    
    Import/Export Files:    
    
    You must import the dummy model by Vexorian in Import Manager ( F12 )
    
* Notes:
    
    Note #1: Make sure to Configure the " SP Configuration " trigger in the SF_Ability and SF_VexorianDummyType.
    
    Note #2: IF your map has already KnockBack 3D System then dont copy the KnockBack 3D System.
    
    Note #3: If the impact or fireball model effect didnt show up in the spell then make sure that 
             you copy the "SF Vexorian Dummy" in your map and make sure you import the Dummy Model by Vexorian.
    
    Note #4: Report to the Author If you found a bug or tell the author if the spell is not working.
    
    Note #5: The spell will work if you follow the notes and the Main Importing Instructions.
    
    Note #6: Enjoy
     



=Modification=
All Modifications should be done in the Configuration Trigger, each configuration is explained and elaborated.


//==========================================================================================================================================

Pls Give credits if you use this spell in your map.

Credits: Vexorian ( Dummy.mdl )
Credits: Jad ( KB3D System v1.6.X )


Sincerely,
    jakeZinc


KB3D System v1.6.X


Author's Note: If you found bugs or suggestions pls don't be afraid to post

Keywords:
jakeZinc, GUI, MUI, Indexed Array, Splitting, Fireballs, Splitting Fireballs v1.0, Blast, Knockback Units, Backwards.
Contents

Just another Warcraft III map (Map)

Reviews
Splitting Fireball v1.0 | Reviewed by Maker | 5th November 2013 Concept[/COLOR]] There is a lot going on here, knockback, AoE damage and flying projectiles. Quite interesting Triggers[/COLOR]] Solid triggering Good importing...

Moderator

M

Moderator


Splitting Fireball v1.0 | Reviewed by Maker | 5th November 2013

[COLOR="gray"

[COLOR="gray"

[COLOR="gray"

[COLOR="gray"

[COLOR="gray"

Concept[/COLOR]]
126248-albums6177-picture66521.png

There is a lot going on here, knockback, AoE damage and flying
projectiles. Quite interesting
Triggers[/COLOR]]
126248-albums6177-picture66521.png
  • Solid triggering
  • Good importing instructions and condifuration options
126248-albums6177-picture66523.png
  • Update the knockback system
  • The knockback folder has a useless trigger
  • When you set SecondaryFireballAngle, you have constant calculations there
    and a useless 0.00 value
  • You can reduce the amount of point variables in the map
  • The caster should deal the damage, not the dummy
Objects[/COLOR]]
126248-albums6177-picture66521.png
  • No unneeded objects
126248-albums6177-picture66523.png
  • The spell uses an animation that the hero does not have
  • Dummy abilities should not deal damage
  • Remove the word "Hotkey" from the tooltip
  • Try to shorten the tooltip
  • There is no follow through time
Effects[/COLOR]]
126248-albums6177-picture66521.png

There is maybe too many effects, but the effects are fine as they are
Rating[/COLOR]]
CONCEPTTRIGGERSOBJECTSEFFECTSRATINGSTATUS
126248-albums6177-picture75359.jpg
126248-albums6177-picture75359.jpg
126248-albums6177-picture75358.jpg
126248-albums6177-picture75359.jpg
126248-albums6177-picture75359.jpg
APPROVED
 
Level 13
Joined
Mar 29, 2012
Messages
530

REVIEW|Splitting Fireball|v1.0

Resource Status: Approved
Rating: 5/5

GENERAL
  • The dummy Death Time is too high, it will be better if you set it too 0
PROS
  • Import instruction
  • MUI
  • Well coded
  • Nice effects
CONS
  • None
SUGGESTIONS
  • Don't use polar offset
[/TD][/tr]
If you have any question about this review, PM or VM me Review template by Doomlord
Probably i miss something important... :p
This is quick review
 
Last edited:
Level 16
Joined
Jul 31, 2012
Messages
2,217
1.0 Review

Personal Words

Review

Suggestions

Rating

Judgement

Note

Uploaded! Yey :p
I doubt the spell has changed a lot since i saw it before.. considering the coding...

As for Special Effects, they are Just INSANELY AWESOME, this is what i call Eye Candy!
Add an Arc to the fireballs that go into a circle at the end of the spell
225233-albums6523-picture74071.jpg
225233-albums6523-picture74103.jpg
If You want me to review an Update of This Spell, Please Notify me this by VM or PM
 
Level 2
Joined
Jun 8, 2014
Messages
11
"Make sure to Configure the " SP Configuration " trigger in the SF_Ability and SF_VexorianDummyType."

I am sorry, but I don't understand how to configure!
 
Top