Moderator
M
Moderator
|
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 )




-------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
*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