Moderator
M
Moderator
|
Moderator: Pharaoh_ Date: 05:13, 26th Apr 2012
|
Sp Config

Events


Map initialization

Conditions

Actions


-------- /////////////////////////////////////////////////////////////////////////////////// --------


-------- ----------------------------------------------------------------------------------------------------------- --------


-------- YOU CAN SET ALL THESE AS YOU WOULD LIKE THEM TO BE --------


-------- ----------------------------------------------------------------------------------------------------------- --------


-------- /////////////////////////////////////////////////////////////////////////////////// --------


-------- How much damage each shard will inflict --------


Set C_Damage = 20.00


-------- How large is the affected area of the spell where each shard will explode --------


Set C_DamageArea_int = 300


-------- Change what will be the kind of special effect to use --------


Set C_SFX_SpellPathString = Abilities\Spells\Undead\FrostNova\FrostNovaTarget.mdl


-------- change how many shards will spawn --------


Set C_ShardAmount = 5.00


-------- ----------------------------------------------------------------------------------------------------------- --------


-------- All these can be configured --------


-------- for integers, the formula is easy. you will just multiply them by the level of the ability --------


-------- then you will know how much or how many shards, AoE, or damage per level is given --------


-------- ----------------------------------------------------------------------------------------------------------- --------


-------- /////////////////////////////////////////////////////////////////////////////////// --------
Sp Cast

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Spirit Shards

Actions


-------- ----------------------------------------------------------------------------------------------------------- --------


-------- DO NOT TOUCH ANYTHING BELOW --------


-------- ----------------------------------------------------------------------------------------------------------- --------


Set C_IndexSize = (C_IndexSize + 1)


If (All Conditions are True) then do (Then Actions) else do (Else Actions)



If - Conditions




C_IndexSize Greater than C_IndexMaxSize



Then - Actions




Set C_Index[C_IndexSize] = C_IndexSize




Set C_IndexMaxSize = C_IndexSize



Else - Actions


Set C_Integer = C_Index[C_IndexSize]


Set C_Caster[C_Integer] = (Triggering unit)


Set C_AoE = C_DamageArea_int


Set C_AoE_A = (Random real number between 100.00 and (Real(C_AoE)))


Set C_RealShardAmount[C_Integer] = (C_ShardAmount x (Real((Level of Spirit Shards for C_Caster[C_Integer]))))


Trigger - Turn on Sp Duration <gen>


-------- ----------------------------------------------------------------------------------------------------------- --------


-------- DO NOT TOUCH ANYTHING ABOVE --------


-------- ----------------------------------------------------------------------------------------------------------- --------
Sp Duration

Events


Time - Every 0.20 seconds of game time

Conditions

Actions


-------- -------------------------------------------------------------------------------------------------------------------- --------


-------- DO NOT TOUCH ANYTHING BELOW --------


-------- -------------------------------------------------------------------------------------------------------------------- --------


For each (Integer C_Loop) from 1 to C_IndexSize, do (Actions)



Loop - Actions




Set C_Integer = C_Index[C_Loop]




If (All Conditions are True) then do (Then Actions) else do (Else Actions)





If - Conditions






C_RealShardAmount[C_Integer] Less than or equal to 0.00





Then - Actions






Set C_Index[C_Loop] = C_Index[C_IndexSize]






Set C_Index[C_IndexSize] = C_Integer






Set C_IndexSize = (C_IndexSize - 1)






Set C_Loop = (C_Loop - 1)






If (All Conditions are True) then do (Then Actions) else do (Else Actions)







If - Conditions








C_IndexSize Equal to 0







Then - Actions








Trigger - Turn off (This trigger)







Else - Actions





Else - Actions






Set C_RealShardAmount[C_Integer] = (C_RealShardAmount[C_Integer] - 1.00)






Set C_RealDamage = (C_Damage x (Real((Level of Spirit Shards for C_Caster[C_Integer]))))






Set C_CasterPosition = (Position of C_Caster[C_Integer])






Set C_DamagePoints = (C_CasterPosition offset by C_AoE_A towards (Random angle) degrees)






Set C_DamageUnits = (Units within 100.00 of C_DamagePoints matching (((Matching unit) belongs to an enemy of (Owner of C_Caster[C_Integer])) Equal to True))






-------- the creation of SFX --------






Special Effect - Create a special effect at C_DamagePoints using C_SFX_SpellPathString






Special Effect - Destroy (Last created special effect)






--------






Unit Group - Pick every unit in C_DamageUnits and do (Actions)







Loop - Actions








Unit - Cause C_Caster[C_Integer] to damage (Picked unit), dealing C_RealDamage damage of attack type Spells and damage type Normal






-------- -----------------------------------------------------------------------------------------






Custom script: call RemoveLocation(udg_C_CasterPosition)






Custom script: call RemoveLocation(udg_C_DamagePoints)






Custom script: call DestroyGroup(udg_C_DamageUnits)


-------- -------------------------------------------------------------------------------------------------------------------- --------


-------- DO NOT TOUCH ANYTHING ABOVE --------


-------- -------------------------------------------------------------------------------------------------------------------- --------