Cokemonkey11
Spell Reviewer
- Joined
- May 9, 2006
- Messages
- 3,573
WTF??? No imports allowed?... Well then that sucks... Bribe don't you want to limit the number of games the users can choose from?
Come on man be creative
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
WTF??? No imports allowed?... Well then that sucks... Bribe don't you want to limit the number of games the users can choose from?
WTF??? No imports allowed?... Well then that sucks... Bribe don't you want to limit the number of games the users can choose from?
And why would I want to limit the number of games?
Init

Events


Map initialization

Conditions

Actions


Visibility - Disable fog of war


Visibility - Disable black mask


Set SBMax = 2


-------- Configurables on each level --------


-------- Level 1 --------


Set Distance[1] = 1250.00


-------- Level 2 --------


Set Distance[2] = 1500.00


-------- Level 3 --------


Set Distance[3] = 1750.00
Soul Blast

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Soul Blast

Actions


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



If - Conditions




SBHas[SBLastRecycled] Equal to True



Then - Actions




Set SBMax = (SBMax + 1)




Set SBLastRecycled = SBMax




Set SBIndex = SBLastRecycled




Set SBLastRecycled = SBRecycledList[SBLastRecycled]



Else - Actions




Set SBIndex = SBLastRecycled




Set SBLastRecycled = SBRecycledList[SBLastRecycled]


Set SBCaster[SBIndex] = (Triggering unit)


Set SBCasterPoint[SBIndex] = (Position of SBCaster[SBIndex])


Set SBTargetPoint[SBIndex] = (Target point of ability being cast)


Set SBDistance[SBIndex] = 0.00


Set SBLevel[SBIndex] = (Level of Soul Blast for SBCaster[SBIndex])


Set SBMaxDistance[SBIndex] = Distance[SBLevel[SBIndex]]


Set SBAngle[SBIndex] = (Angle from SBCasterPoint[SBIndex] to SBTargetPoint[SBIndex])


Set SBTempPoint = (SBCasterPoint[SBIndex] offset by 50.00 towards SBAngle[SBIndex] degrees)


Unit - Create 1 Missile Body 1 for (Triggering player) at SBCasterPoint[SBIndex] facing SBAngle[SBIndex] degrees


Unit Group - Add (Last created unit) to SBDummyGroup[SBIndex]


Animation - Change (Last created unit)'s animation speed to 5.00% of its original speed


Unit - Create 1 Missile Body 2 for (Triggering player) at SBCasterPoint[SBIndex] facing SBAngle[SBIndex] degrees


Unit Group - Add (Last created unit) to SBDummyGroup[SBIndex]


Unit - Create 1 Missile Head for (Triggering player) at SBTempPoint facing SBAngle[SBIndex] degrees


Unit Group - Add (Last created unit) to SBDummyGroup[SBIndex]


Set SBHas[SBIndex] = True


Set SBCount = (SBCount + 1)


Custom script: call RemoveLocation (udg_SBTempPoint)


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



If - Conditions




(Soul Blast Loop <gen> is on) Equal to False



Then - Actions




Trigger - Turn on Soul Blast Loop <gen>




Trigger - Turn on Wave Effect <gen>



Else - Actions
Soul Blast Loop

Events


Time - Every 0.03 seconds of game time

Conditions

Actions


For each (Integer SBInteger) from 0 to SBMax, do (Actions)



Loop - Actions




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





If - Conditions






SBHas[SBInteger] Equal to True





Then - Actions






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







If - Conditions








SBDistance[SBInteger] Less than SBMaxDistance[SBInteger]







Then - Actions








Set SBDistance[SBInteger] = (SBDistance[SBInteger] + 40.00)








Set SBTempPoint = (SBCasterPoint[SBInteger] offset by SBDistance[SBInteger] towards SBAngle[SBInteger] degrees)








Unit Group - Pick every unit in SBDummyGroup[SBInteger] and do (Actions)









Loop - Actions










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











If - Conditions












(Unit-type of (Picked unit)) Equal to Missile Head











Then - Actions












Set SBTempPoint2 = (SBCasterPoint[SBInteger] offset by (SBDistance[SBInteger] + 40.00) towards SBAngle[SBInteger] degrees)












Unit - Move (Picked unit) instantly to SBTempPoint2












Custom script: call RemoveLocation (udg_SBTempPoint2)











Else - Actions












Unit - Move (Picked unit) instantly to SBTempPoint








Set SBTempGroup = (Units within 100.00 of SBTempPoint matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of SBCa








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









If - Conditions










(SBTempGroup is empty) Equal to True









Then - Actions









Else - Actions










Custom script: call RemoveLocation (udg_SBCasterPoint[udg_SBInteger])










Custom script: call RemoveLocation (udg_SBTargetPoint[udg_SBInteger])










Custom script: set bj_wantDestroyGroup = true










Unit Group - Pick every unit in (Units within 250.00 of SBTempPoint matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of SBCa and do (Actions)











Loop - Actions












Unit - Cause SBCaster[SBInteger] to damage (Picked unit), dealing (100.00 + (Real(SBLevel[SBInteger]))) damage of attack type Spells and damage type Normal










Unit Group - Pick every unit in SBDummyGroup[SBInteger] and do (Unit - Kill (Picked unit))










Unit Group - Remove all units from SBDummyGroup[SBInteger]










Unit - Create 1 Blast Effect for (Owner of SBCaster[SBInteger]) at SBTempPoint facing SBAngle[SBIndex] degrees










Unit - Add a 0.05 second Generic expiration timer to (Last created unit)










Custom script: call RemoveLocation (udg_SBTempPoint)










Set SBHas[SBInteger] = False










Set SBCount = (SBCount - 1)










Set SBRecycledList[SBInteger] = SBLastRecycled










Set SBLastRecycled = SBInteger










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











If - Conditions












SBCount Equal to 0











Then - Actions












Trigger - Turn off (This trigger)












Trigger - Turn off Wave Effect <gen>











Else - Actions








Custom script: call RemoveLocation (udg_SBTempPoint)








Custom script: call DestroyGroup (udg_SBTempGroup)







Else - Actions








Custom script: call RemoveLocation (udg_SBCasterPoint[udg_SBInteger])








Custom script: call RemoveLocation (udg_SBTargetPoint[udg_SBInteger])








Custom script: set bj_wantDestroyGroup = true








Unit Group - Pick every unit in (Units within 250.00 of SBTempPoint matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of SBCa and do (Actions)









Loop - Actions










Unit - Cause SBCaster[SBInteger] to damage (Picked unit), dealing (100.00 + (Real(SBLevel[SBInteger]))) damage of attack type Spells and damage type Normal








Unit Group - Pick every unit in SBDummyGroup[SBInteger] and do (Unit - Kill (Picked unit))








Unit Group - Remove all units from SBDummyGroup[SBInteger]








Unit - Create 1 Blast Effect for (Owner of SBCaster[SBInteger]) at SBTempPoint facing SBAngle[SBIndex] degrees








Unit - Add a 0.05 second Generic expiration timer to (Last created unit)








Custom script: call RemoveLocation (udg_SBTempPoint)








Set SBHas[SBInteger] = False








Set SBCount = (SBCount - 1)








Set SBRecycledList[SBInteger] = SBLastRecycled








Set SBLastRecycled = SBInteger








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









If - Conditions










SBCount Equal to 0









Then - Actions










Set SBMax = 1










Trigger - Turn off (This trigger)










Trigger - Turn off Wave Effect <gen>









Else - Actions





Else - Actions
Wave Effect

Events


Time - Every 0.05 seconds of game time

Conditions

Actions


Custom script: set bj_wantDestroyGroup = true


Unit Group - Pick every unit in (Units of type Missile Head) and do (Actions)



Loop - Actions




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





If - Conditions






((Picked unit) is alive) Equal to True





Then - Actions






Set SBTempPoint = (Position of (Picked unit))






Unit - Create 1 Wave Effect for (Owner of (Picked unit)) at SBTempPoint facing (Facing of (Picked unit)) degrees






Animation - Change (Last created unit)'s animation speed to 150.00% of its original speed






Unit - Add a 1.00 second Generic expiration timer to (Last created unit)






Custom script: call RemoveLocation (udg_SBTempPoint)





Else - Actions
Can we import mp3 files?
| 60 / 85 / 110% of target's missing Mana is dealt as Magic Damage to enemies in radius. Stuns the primary target for 0.1s. |
Silhouette - Tree GrappleI was going to do a HON spell as welldunno which though because all of them aren't really "special" enough

| Activation This skill has 3 activation points. Button 1: Gives +25 / 30 / 35 / 40% movespeed and unitwalking for 3 / 3.5 / 4 / 4.5 seconds. Button 2: Sends a shadow back along the path you took from activation for 3 / 3.5 / 4 / 4.5 seconds. Shadow slows any enemy units it touches for the same amounts listed. Button 3: Teleport your hero to shadow's location. |

BelhammerINT

Events


Map initialization

Conditions

Actions


Hashtable - Create a hashtable


Set BelHash = (Last created hashtable)


-------- ============================= --------


-------- Damage --------


Set BelDam = 40.00


-------- Starting Height --------


Set BelBaseHeight = 50.00


-------- Starting rate it moves outward. --------


Set BelBaseMoveOut = 2.00


-------- Special "Volcano" effect. Sadly, the volcano used in Warcraft 3's death animation is crap, this is used. --------


Set BelSFXA = Abilities\Spells\Other\Volcano\VolcanoDeath.mdl


-------- The starting height movement rate. --------


Set BelConstant1 = 16.00


-------- Starting rate the balls move outward. --------


Set BelConstant2 = 0.10


-------- The starting spin rate. --------


Set BelConstant3 = 2.35


-------- The Area of effect. Increases with each level by: (BelConstant4 + ((BelConstant4 / BelConstant15) * Level)) --------


Set BelConstant4 = 150.00


-------- The explode height --------


Set BelConstant5 = 800.00


-------- Starting fall rate. --------


Set BelConstant6 = -5.60


-------- Starting fall move outward rate. --------


Set BelConstant7 = 5.00


-------- Fall spin rate. --------


Set BelConstant8 = -0.75


-------- First speed up point --------


Set BelConstant9 = 600.00


-------- First speed up fall rate. --------


Set BelConstant10 = -8.00


-------- Second speed up rate. --------


Set BelConstant11 = 550.00


-------- Second speed up move outward rate. --------


Set BelConstant12 = 0.34


-------- Second speed up fall rate. --------


Set BelConstant13 = 0.35


-------- Death height. --------


Set BelConstant14 = 70.00


-------- Determines if SFX appear. Mostly used for testing, however, it may prove useful for lagging games. --------


Set BelBool4 = True


-------- AoE multiplier per level. --------


Set BelConstant15 = 2.00
BelCast

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Belhammer

Actions


Set BelCast = (Triggering unit)


Set BP = (Position of BelCast)


Set BelLev = (Level of Belhammer for BelCast)


Set BelRealA = (Facing of BelCast)


-------- ================================ --------


Unit - Create 1 Belhammer Dummy for (Owner of BelCast) at BP facing Default building facing degrees


Set BelDummy = (Last created unit)


Unit - Hide BelDummy


Custom script: set udg_Handle_Bel = GetHandleId(udg_BelDummy)


For each (Integer BelLoop) from 1 to 6, do (Actions)



Loop - Actions




Unit - Create 1 Belhammer Dummy for (Triggering player) at BP facing (BelRealA + ((Real(BelLoop)) x 60.00)) degrees




Hashtable - Save Handle Of(Last created unit) as BelLoop of Handle_Bel in BelHash


Sound - Play VolcanoLoop <gen> at 100.00% volume, located at BP with Z offset 50.00


Hashtable - Save (BelDam x (Real(BelLev))) as 7 of Handle_Bel in BelHash


Hashtable - Save BelBaseHeight as 8 of Handle_Bel in BelHash


Hashtable - Save BelBaseMoveOut as 9 of Handle_Bel in BelHash


Hashtable - Save False as 11 of Handle_Bel in BelHash


Hashtable - Save False as 12 of Handle_Bel in BelHash


Hashtable - Save BelConstant1 as 13 of Handle_Bel in BelHash


Hashtable - Save BelConstant2 as 14 of Handle_Bel in BelHash


Hashtable - Save BelConstant3 as 15 of Handle_Bel in BelHash


Hashtable - Save Handle OfBelCast as 17 of Handle_Bel in BelHash


Hashtable - Save (BelConstant4 + ((BelConstant4 / BelConstant15) x (Real(BelLev)))) as 20 of Handle_Bel in BelHash


Custom script: call DestroyEffect(AddSpecialEffectLoc(udg_BelSFXA, udg_BP))


-------- ================================ --------


Custom script: call GroupAddUnit(udg_BelGroup, udg_BelDummy)


Set BelTrigger = (BelTrigger + 1)


Trigger - Turn on BelLoop <gen>


Custom script: call RemoveLocation(udg_BP)
BelLoop

Events


Time - Every 0.03 seconds of game time

Conditions

Actions


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



Loop - Actions




Set BelCast = (Picked unit)




Set BP = (Position of BelCast)




Custom script: set udg_Handle_Bel = GetHandleId(udg_BelCast)




Set BelBool1 = (Load 11 of Handle_Bel from BelHash)




Set BelBool2 = (Load 12 of Handle_Bel from BelHash)




Set BelRealA = (Load 8 of Handle_Bel from BelHash)




Set BelRealB = (Load 9 of Handle_Bel from BelHash)




Set BelRealC = (Load 13 of Handle_Bel from BelHash)




Set BelRealD = (Load 14 of Handle_Bel from BelHash)




Set BelRealE = (Load 15 of Handle_Bel from BelHash)




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





If - Conditions






BelRealA Greater than BelConstant5






BelBool1 Equal to False






BelBool2 Equal to False





Then - Actions






Sound - Play DragonYesAttack3 <gen> at 100.00% volume, located at BP with Z offset 500.00






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







If - Conditions








BelBool4 Equal to True







Then - Actions








Unit - Create 1 Explosive Dummy for Neutral Passive at BP facing Default building facing degrees








Set BelDummy = (Last created unit)








Animation - Change BelDummy flying height to BelConstant5 at 0.00








Unit - Add a 0.01 second Generic expiration timer to BelDummy








Unit - Make BelDummy Explode on death







Else - Actions






Hashtable - Save BelConstant6 as 13 of Handle_Bel in BelHash






Hashtable - Save BelConstant7 as 14 of Handle_Bel in BelHash






Hashtable - Save BelConstant8 as 15 of Handle_Bel in BelHash






Hashtable - Save True as 11 of Handle_Bel in BelHash






Custom script: call DestroyEffect(AddSpecialEffectLoc(udg_BelSFXA, udg_BP))





Else - Actions




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





If - Conditions






BelRealA Less than or equal to BelConstant9






BelBool1 Equal to True






BelBool2 Equal to False





Then - Actions






Hashtable - Save BelConstant10 as 13 of Handle_Bel in BelHash






Hashtable - Save True as 12 of Handle_Bel in BelHash





Else - Actions




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





If - Conditions






BelRealA Less than or equal to BelConstant11






BelBool1 Equal to True






BelBool2 Equal to True





Then - Actions






Hashtable - Save (BelRealD - BelConstant12) as 14 of Handle_Bel in BelHash






Hashtable - Save (BelRealC - BelConstant13) as 13 of Handle_Bel in BelHash





Else - Actions




For each (Integer BelLoop) from 1 to 6, do (Actions)





Loop - Actions






Set BelDummy = (Load BelLoop of Handle_Bel in BelHash)






Set BelReal = (Facing of BelDummy)






Set BP2 = (BP offset by BelRealB towards BelReal degrees)






Animation - Change BelDummy flying height to BelRealA at 0.00






Unit - Make BelDummy face (BelReal + BelRealE) over 0.00 seconds






Custom script: call SetUnitPositionLoc (udg_BelDummy, udg_BP2)






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







If - Conditions








BelRealA Less than or equal to BelConstant14








BelBool1 Equal to True








BelBool2 Equal to True







Then - Actions








Unit - Add a 0.01 second Generic expiration timer to BelDummy








Unit - Make BelDummy Explode on death








Set BelDummy = (Load 17 of Handle_Bel in BelHash)








Set BelReal = (Load 7 of Handle_Bel from BelHash)








Set BelReal2 = (Load 20 of Handle_Bel from BelHash)








Custom script: set bj_wantDestroyGroup = true








Unit Group - Pick every unit in (Units within BelReal2 of BP2 matching ((((Matching unit) is A flying unit) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an ally of (Owner of BelCast) and do (Actions)









Loop - Actions










Custom script: call UnitDamageTarget(udg_BelDummy, GetEnumUnit(), udg_BelReal, true, true, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_FIRE, WEAPON_TYPE_WHOKNOWS)








-------- ===================================== --------








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









If - Conditions










BelBool4 Equal to True









Then - Actions










Unit - Create 1 Explosive Dummy for (Owner of BelCast) at BP2 facing Default building facing degrees










Set BelDummy = (Last created unit)










Unit - Add a 0.01 second Generic expiration timer to BelDummy










Unit - Make BelDummy Explode on death










Animation - Change BelDummy's size to (135.00%, 135.00%, 135.00%) of its original size









Else - Actions







Else - Actions






Custom script: call RemoveLocation(udg_BP2)




Hashtable - Save (BelRealA + BelRealC) as 8 of Handle_Bel in BelHash




Hashtable - Save (BelRealB + BelRealD) as 9 of Handle_Bel in BelHash




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





If - Conditions






BelRealA Less than or equal to BelConstant14






BelBool1 Equal to True






BelBool2 Equal to True





Then - Actions






Sound - Play ThunderClapCaster <gen> at 100.00% volume, attached to BelCast






Custom script: call GroupRemoveUnit(udg_BelGroup, udg_BelCast)






Hashtable - Clear all child hashtables of child Handle_Bel in BelHash






Unit - Add a 0.01 second Generic expiration timer to BelCast






Unit - Make BelCast Explode on death






Set BelTrigger = (BelTrigger - 1)






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







If - Conditions








BelTrigger Equal to 0







Then - Actions








Trigger - Turn off (This trigger)







Else - Actions





Else - Actions




Custom script: call RemoveLocation(udg_BP)
Oh shi-
Actually, disregard what I said about the Purifier Beam.
If someone recreates THIS, they will be my god!![]()
Did you lose the whole project because of that? Hate it when that happens! Hate it!

Elemental Festival 1

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Channel

Actions


Set ElementalFestivalCaster = (Triggering unit)


Set ElementalFestivalSpecialEffect[0] = Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl


Set ElementalFestivalSpecialEffect[1] = Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl


Set ElementalFestivalDamage[1] = 10.00


Set ElementalFestivalDamage[2] = 20.00


Set ElementalFestivalDamage[3] = 30.00


Set ElementalFestivalDamage[4] = 40.00


Set ElementalFestivalDamage[5] = 50.00


Set ElementalFestivalPoint[0] = (Target point of ability being cast)


Set ElementalFestivalPoint[1] = (Position of ElementalFestivalCaster)


Wait 0.10 seconds


Unit - Add Crow Form to ElementalFestivalCaster


Animation - Change ElementalFestivalCaster flying height to 300.00 at 450.00


Unit - Remove Crow Form from ElementalFestivalCaster


Unit - Pause ElementalFestivalCaster


Unit - Make ElementalFestivalCaster Invulnerable


Animation - Change ElementalFestivalCaster's animation speed to 300.00% of its original speed


Trigger - Turn on Elemental Festival 2 <gen>


Wait 2.40 seconds


Animation - Change ElementalFestivalCaster's animation speed to 150.00% of its original speed


Set ElementalFestivalDistance = (Distance between ElementalFestivalPoint[0] and ElementalFestivalPoint[1])


Unit - Create 1 Dummy Vulnerable for (Owner of ElementalFestivalCaster) at ElementalFestivalPoint[1] facing Default building facing degrees


Unit - Order (Last created unit) to Move To ElementalFestivalPoint[0]


Set ElementalFestivalDummy[0] = (Last created unit)


Animation - Play ElementalFestivalCaster's spell animation


Wait ((ElementalFestivalDistance / 522.00) / 20.00) seconds


Animation - Change ElementalFestivalDummy[0] flying height to 270.00 at 800.00


Wait ((ElementalFestivalDistance / 522.00) / 20.00) seconds


Animation - Change ElementalFestivalDummy[0] flying height to 240.00 at 800.00


Wait ((ElementalFestivalDistance / 522.00) / 20.00) seconds


Animation - Change ElementalFestivalDummy[0] flying height to 210.00 at 800.00


Wait ((ElementalFestivalDistance / 522.00) / 20.00) seconds


Animation - Change ElementalFestivalDummy[0] flying height to 180.00 at 800.00


Wait ((ElementalFestivalDistance / 522.00) / 20.00) seconds


Animation - Change ElementalFestivalDummy[0] flying height to 150.00 at 800.00


Wait ((ElementalFestivalDistance / 522.00) / 20.00) seconds


Animation - Change ElementalFestivalDummy[0] flying height to 120.00 at 800.00


Wait ((ElementalFestivalDistance / 522.00) / 20.00) seconds


Animation - Change ElementalFestivalDummy[0] flying height to 90.00 at 800.00


Wait ((ElementalFestivalDistance / 522.00) / 20.00) seconds


Animation - Change ElementalFestivalDummy[0] flying height to 60.00 at 800.00


Wait ((ElementalFestivalDistance / 522.00) / 20.00) seconds


Animation - Change ElementalFestivalDummy[0] flying height to 30.00 at 800.00


Wait ((ElementalFestivalDistance / 522.00) / 20.00) seconds


Animation - Change ElementalFestivalDummy[0] flying height to 0.00 at 800.00


Unit - Remove ElementalFestivalDummy[0] from the game


Special Effect - Create a special effect at ElementalFestivalPoint[0] using Objects\Spawnmodels\Other\NeutralBuildingExplosion\NeutralBuildingExplosion.mdl


Special Effect - Destroy (Last created special effect)


Set ElementalFestivalUnitGroup[0] = (Units within 400.00 of ElementalFestivalPoint[0] matching ((((Matching unit) belongs to an enemy of (Owner of ElementalFestivalCaster)) Equal to True) and ((((Matching unit) is Magic Immune) Equal to False) and (((Matching unit) is A structure) Equal to Fals


Unit Group - Pick every unit in ElementalFestivalUnitGroup[0] and do (Actions)



Loop - Actions




Unit - Create 1 Dummy for (Owner of ElementalFestivalCaster) at ElementalFestivalPoint[0] facing Default building facing degrees




Unit - Add a 1.00 second Generic expiration timer to (Last created unit)




Unit - Cause (Last created unit) to damage (Picked unit), dealing (ElementalFestivalDamage[(Level of Channel for ElementalFestivalCaster)] x 2.00) damage of attack type Spells and damage type Normal


Animation - Change ElementalFestivalCaster flying height to 0.00 at 800.00


Unit - Unpause ElementalFestivalCaster


Unit - Make ElementalFestivalCaster Vulnerable


Animation - Change ElementalFestivalCaster's animation speed to 100.00% of its original speed


Custom script: call RemoveLocation(udg_ElementalFestivalPoint[0])


Custom script: call RemoveLocation(udg_ElementalFestivalPoint[1])


Custom script: call DestroyGroup(udg_ElementalFestivalUnitGroup[0])
Elemental Festival 2

Events


Time - Every 0.30 seconds of game time

Conditions

Actions


Set ElementalFestivalCount = (ElementalFestivalCount + 1)


Set ElementalFestivalPoint[2] = (Random point in (Region centered at ElementalFestivalPoint[0] with size (400.00, 400.00)))


Special Effect - Create a special effect at ElementalFestivalPoint[2] using ElementalFestivalSpecialEffect[(Random integer number between 0 and 1)]


Special Effect - Destroy (Last created special effect)


Set ElementalFestivalUnitGroup[0] = (Units within 150.00 of ElementalFestivalPoint[0] matching ((((Matching unit) belongs to an enemy of (Owner of ElementalFestivalCaster)) Equal to True) and ((((Matching unit) is Magic Immune) Equal to False) and (((Matching unit) is A structure) Equal to Fals


Unit Group - Pick every unit in ElementalFestivalUnitGroup[0] and do (Actions)



Loop - Actions




Unit - Create 1 Dummy for (Owner of ElementalFestivalCaster) at ElementalFestivalPoint[2] facing Default building facing degrees




Unit - Add a 1.00 second Generic expiration timer to (Last created unit)




Unit - Cause (Last created unit) to damage (Picked unit), dealing ElementalFestivalDamage[(Level of Channel for ElementalFestivalCaster)] damage of attack type Spells and damage type Normal


Animation - Play ElementalFestivalCaster's attack animation


Custom script: call RemoveLocation(udg_ElementalFestivalPoint[2])


Custom script: call DestroyGroup(udg_ElementalFestivalUnitGroup[0])


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



If - Conditions




ElementalFestivalCount Equal to 8



Then - Actions




Trigger - Turn off (This trigger)




Set ElementalFestivalCount = 0



Else - Actions
Damn that spell is hard.. so far did this:
Still cant make one effect to look how it should look
Elemental Festival 1
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Channel
Actions
Set ElementalFestivalCaster = (Triggering unit)
Set ElementalFestivalSpecialEffect[0] = Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl
Set ElementalFestivalSpecialEffect[1] = Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
Set ElementalFestivalDamage[1] = 10.00
Set ElementalFestivalDamage[2] = 20.00
Set ElementalFestivalDamage[3] = 30.00
Set ElementalFestivalDamage[4] = 40.00
Set ElementalFestivalDamage[5] = 50.00
Set ElementalFestivalPoint[0] = (Target point of ability being cast)
Set ElementalFestivalPoint[1] = (Position of ElementalFestivalCaster)
Wait 0.10 seconds
Unit - Add Crow Form to ElementalFestivalCaster
Animation - Change ElementalFestivalCaster flying height to 300.00 at 450.00
Unit - Remove Crow Form from ElementalFestivalCaster
Unit - Pause ElementalFestivalCaster
Unit - Make ElementalFestivalCaster Invulnerable
Animation - Change ElementalFestivalCaster's animation speed to 300.00% of its original speed
Trigger - Turn on Elemental Festival 2 <gen>
Wait 2.40 seconds
Animation - Change ElementalFestivalCaster's animation speed to 150.00% of its original speed
Set ElementalFestivalDistance = (Distance between ElementalFestivalPoint[0] and ElementalFestivalPoint[1])
Unit - Create 1 Dummy Vulnerable for (Owner of ElementalFestivalCaster) at ElementalFestivalPoint[1] facing Default building facing degrees
Unit - Order (Last created unit) to Move To ElementalFestivalPoint[0]
Set ElementalFestivalDummy[0] = (Last created unit)
Animation - Play ElementalFestivalCaster's spell animation
Wait ((ElementalFestivalDistance / 522.00) / 20.00) seconds
Animation - Change ElementalFestivalDummy[0] flying height to 270.00 at 800.00
Wait ((ElementalFestivalDistance / 522.00) / 20.00) seconds
Animation - Change ElementalFestivalDummy[0] flying height to 240.00 at 800.00
Wait ((ElementalFestivalDistance / 522.00) / 20.00) seconds
Animation - Change ElementalFestivalDummy[0] flying height to 210.00 at 800.00
Wait ((ElementalFestivalDistance / 522.00) / 20.00) seconds
Animation - Change ElementalFestivalDummy[0] flying height to 180.00 at 800.00
Wait ((ElementalFestivalDistance / 522.00) / 20.00) seconds
Animation - Change ElementalFestivalDummy[0] flying height to 150.00 at 800.00
Wait ((ElementalFestivalDistance / 522.00) / 20.00) seconds
Animation - Change ElementalFestivalDummy[0] flying height to 120.00 at 800.00
Wait ((ElementalFestivalDistance / 522.00) / 20.00) seconds
Animation - Change ElementalFestivalDummy[0] flying height to 90.00 at 800.00
Wait ((ElementalFestivalDistance / 522.00) / 20.00) seconds
Animation - Change ElementalFestivalDummy[0] flying height to 60.00 at 800.00
Wait ((ElementalFestivalDistance / 522.00) / 20.00) seconds
Animation - Change ElementalFestivalDummy[0] flying height to 30.00 at 800.00
Wait ((ElementalFestivalDistance / 522.00) / 20.00) seconds
Animation - Change ElementalFestivalDummy[0] flying height to 0.00 at 800.00
Unit - Remove ElementalFestivalDummy[0] from the game
Special Effect - Create a special effect at ElementalFestivalPoint[0] using Objects\Spawnmodels\Other\NeutralBuildingExplosion\NeutralBuildingExplosion.mdl
Special Effect - Destroy (Last created special effect)
Set ElementalFestivalUnitGroup[0] = (Units within 400.00 of ElementalFestivalPoint[0] matching ((((Matching unit) belongs to an enemy of (Owner of ElementalFestivalCaster)) Equal to True) and ((((Matching unit) is Magic Immune) Equal to False) and (((Matching unit) is A structure) Equal to Fals
Unit Group - Pick every unit in ElementalFestivalUnitGroup[0] and do (Actions)
Loop - Actions
Unit - Create 1 Dummy for (Owner of ElementalFestivalCaster) at ElementalFestivalPoint[0] facing Default building facing degrees
Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
Unit - Cause (Last created unit) to damage (Picked unit), dealing (ElementalFestivalDamage[(Level of Channel for ElementalFestivalCaster)] x 2.00) damage of attack type Spells and damage type Normal
Animation - Change ElementalFestivalCaster flying height to 0.00 at 800.00
Unit - Unpause ElementalFestivalCaster
Unit - Make ElementalFestivalCaster Vulnerable
Animation - Change ElementalFestivalCaster's animation speed to 100.00% of its original speed
Custom script: call RemoveLocation(udg_ElementalFestivalPoint[0])
Custom script: call RemoveLocation(udg_ElementalFestivalPoint[1])
Custom script: call DestroyGroup(udg_ElementalFestivalUnitGroup[0])
Elemental Festival 2
Events
Time - Every 0.30 seconds of game time
Conditions
Actions
Set ElementalFestivalCount = (ElementalFestivalCount + 1)
Set ElementalFestivalPoint[2] = (Random point in (Region centered at ElementalFestivalPoint[0] with size (400.00, 400.00)))
Special Effect - Create a special effect at ElementalFestivalPoint[2] using ElementalFestivalSpecialEffect[(Random integer number between 0 and 1)]
Special Effect - Destroy (Last created special effect)
Set ElementalFestivalUnitGroup[0] = (Units within 150.00 of ElementalFestivalPoint[0] matching ((((Matching unit) belongs to an enemy of (Owner of ElementalFestivalCaster)) Equal to True) and ((((Matching unit) is Magic Immune) Equal to False) and (((Matching unit) is A structure) Equal to Fals
Unit Group - Pick every unit in ElementalFestivalUnitGroup[0] and do (Actions)
Loop - Actions
Unit - Create 1 Dummy for (Owner of ElementalFestivalCaster) at ElementalFestivalPoint[2] facing Default building facing degrees
Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
Unit - Cause (Last created unit) to damage (Picked unit), dealing ElementalFestivalDamage[(Level of Channel for ElementalFestivalCaster)] damage of attack type Spells and damage type Normal
Animation - Play ElementalFestivalCaster's attack animation
Custom script: call RemoveLocation(udg_ElementalFestivalPoint[2])
Custom script: call DestroyGroup(udg_ElementalFestivalUnitGroup[0])
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ElementalFestivalCount Equal to 8
Then - Actions
Trigger - Turn off (This trigger)
Set ElementalFestivalCount = 0
Else - Actions
those pents are easy if imports are allowed... haha... but I guess there would be some in-game effects that would suffice...
Elemental Festival 1

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Channel

Actions


Set ElementalFestivalCaster = (Triggering unit)


Set ElementalFestivalSEString[0] = Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl


Set ElementalFestivalSEString[1] = Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl


Set ElementalFestivalDamage[1] = 10.00


Set ElementalFestivalDamage[2] = 20.00


Set ElementalFestivalDamage[3] = 30.00


Set ElementalFestivalDamage[4] = 40.00


Set ElementalFestivalDamage[5] = 50.00


Set ElementalFestivalPoint[0] = (Target point of ability being cast)


Set ElementalFestivalPoint[1] = (Position of ElementalFestivalCaster)


Wait 0.10 seconds


Unit - Create 1 Dummy for (Owner of ElementalFestivalCaster) at ElementalFestivalPoint[0] facing Default building facing degrees


Unit - Add Slow to (Last created unit)


Unit - Order (Last created unit) to Human Mountain King - Thunder Clap


Unit - Add a 1.00 second Generic expiration timer to (Last created unit)


Unit - Add Crow Form to ElementalFestivalCaster


Animation - Change ElementalFestivalCaster flying height to 300.00 at 800.00


Unit - Remove Crow Form from ElementalFestivalCaster


Unit - Pause ElementalFestivalCaster


Unit - Make ElementalFestivalCaster Invulnerable


Animation - Change ElementalFestivalCaster's animation speed to 300.00% of its original speed


Trigger - Turn on Elemental Festival 2 <gen>


Wait 1.84 seconds


Animation - Change ElementalFestivalCaster's animation speed to 150.00% of its original speed


Set ElementalFestivalDistance = (Distance between ElementalFestivalPoint[0] and ElementalFestivalPoint[1])


Unit - Create 1 Dummy FireballEffect for (Owner of ElementalFestivalCaster) at ElementalFestivalPoint[1] facing Default building facing degrees


Set ElementalFestivalDummy[0] = (Last created unit)


Animation - Play ElementalFestivalCaster's spell animation


Trigger - Turn on Elemental Festival 3 <gen>


Wait 0.40 seconds


Trigger - Turn off Elemental Festival 3 <gen>


Unit - Remove ElementalFestivalDummy[0] from the game


Special Effect - Create a special effect at ElementalFestivalPoint[0] using Objects\Spawnmodels\Other\NeutralBuildingExplosion\NeutralBuildingExplosion.mdl


Special Effect - Destroy (Last created special effect)


Special Effect - Create a special effect at ElementalFestivalPoint[0] using Objects\Spawnmodels\Other\NeutralBuildingExplosion\NeutralBuildingExplosion.mdl


Special Effect - Destroy (Last created special effect)


Special Effect - Create a special effect at ElementalFestivalPoint[0] using Objects\Spawnmodels\Other\NeutralBuildingExplosion\NeutralBuildingExplosion.mdl


Special Effect - Destroy (Last created special effect)


Set ElementalFestivalUnitGroup[0] = (Units within 400.00 of ElementalFestivalPoint[0] matching ((((Matching unit) belongs to an enemy of (Owner of ElementalFestivalCaster)) Equal to True) and ((((Matching unit) is Magic Immune) Equal to False) and (((Matching unit) is A structure) Equal to Fals


Unit Group - Pick every unit in ElementalFestivalUnitGroup[0] and do (Actions)



Loop - Actions




Unit - Create 1 Dummy for (Owner of ElementalFestivalCaster) at ElementalFestivalPoint[0] facing Default building facing degrees




Unit - Add a 1.00 second Generic expiration timer to (Last created unit)




Unit - Cause (Last created unit) to damage (Picked unit), dealing (ElementalFestivalDamage[(Level of Channel for ElementalFestivalCaster)] x 2.00) damage of attack type Spells and damage type Normal


Animation - Change ElementalFestivalCaster flying height to 0.00 at 1600.00


Unit - Unpause ElementalFestivalCaster


Unit - Make ElementalFestivalCaster Vulnerable


Animation - Change ElementalFestivalCaster's animation speed to 100.00% of its original speed


For each (Integer A) from 0 to 6, do (Actions)



Loop - Actions




Unit - Remove ElementalFestivalSpecialEffect[(Integer A)] from the game


Custom script: call RemoveLocation(udg_ElementalFestivalPoint[0])


Custom script: call RemoveLocation(udg_ElementalFestivalPoint[1])


Custom script: call DestroyGroup(udg_ElementalFestivalUnitGroup[0])
Elemental Festival 2

Events


Time - Every 0.23 seconds of game time

Conditions

Actions


Set ElementalFestivalCount = (ElementalFestivalCount + 1)


Set ElementalFestivalPoint[2] = (Random point in (Region centered at ElementalFestivalPoint[0] with size (300.00, 300.00)))


Set ElementalFestivalRandomInt = (Random integer number between 0 and 1)


Special Effect - Create a special effect at ElementalFestivalPoint[2] using ElementalFestivalSEString[ElementalFestivalRandomInt]


Special Effect - Destroy (Last created special effect)


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



If - Conditions




ElementalFestivalRandomInt Equal to 0



Then - Actions




Special Effect - Create a special effect at ElementalFestivalPoint[2] using Abilities\Spells\Other\Monsoon\MonsoonBoltTarget.mdl




Special Effect - Destroy (Last created special effect)



Else - Actions


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



If - Conditions




ElementalFestivalRandomInt Equal to 1



Then - Actions




Special Effect - Create a special effect at ElementalFestivalPoint[2] using ElementalFestivalSEString[1]




Special Effect - Destroy (Last created special effect)




Special Effect - Create a special effect at ElementalFestivalPoint[2] using ElementalFestivalSEString[1]




Special Effect - Destroy (Last created special effect)



Else - Actions


Special Effect - Create a special effect at ElementalFestivalPoint[2] using Units\NightElf\Wisp\WispExplode.mdl


Special Effect - Destroy (Last created special effect)


Set ElementalFestivalUnitGroup[0] = (Units within 150.00 of ElementalFestivalPoint[2] matching ((((Matching unit) belongs to an enemy of (Owner of ElementalFestivalCaster)) Equal to True) and ((((Matching unit) is Magic Immune) Equal to False) and (((Matching unit) is A structure) Equal to Fals


Unit Group - Pick every unit in ElementalFestivalUnitGroup[0] and do (Actions)



Loop - Actions




Unit - Create 1 Dummy for (Owner of ElementalFestivalCaster) at ElementalFestivalPoint[2] facing Default building facing degrees




Unit - Add a 1.00 second Generic expiration timer to (Last created unit)




Unit - Cause (Last created unit) to damage (Picked unit), dealing ElementalFestivalDamage[(Level of Channel for ElementalFestivalCaster)] damage of attack type Spells and damage type Normal


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



If - Conditions




ElementalFestivalCount Equal to 1



Then - Actions




Animation - Play ElementalFestivalCaster's attack,1 animation



Else - Actions




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





If - Conditions






(ElementalFestivalCount mod 2) Equal to 0





Then - Actions






Animation - Play ElementalFestivalCaster's attack animation





Else - Actions






Animation - Play ElementalFestivalCaster's attack,3 animation


Custom script: call RemoveLocation(udg_ElementalFestivalPoint[2])


Custom script: call DestroyGroup(udg_ElementalFestivalUnitGroup[0])


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



If - Conditions




ElementalFestivalCount Equal to 8



Then - Actions




Trigger - Turn off (This trigger)




Set ElementalFestivalCount = 0



Else - Actions
Elemental Festival 3

Events


Time - Every 0.02 seconds of game time

Conditions

Actions


Set ElementalFestivalPoint[2] = (Position of ElementalFestivalDummy[0])


Set ElementalFestivalPoint[3] = (ElementalFestivalPoint[2] offset by (ElementalFestivalDistance / 20.00) towards (Angle from ElementalFestivalPoint[1] to ElementalFestivalPoint[0]) degrees)


Unit - Move ElementalFestivalDummy[0] instantly to ElementalFestivalPoint[3]


For each (Integer A) from 1 to 20, do (Actions)



Loop - Actions




Animation - Change ElementalFestivalDummy[0] flying height to (400.00 - (30.00 x (Real((Integer A))))) at 800.00


Custom script: call RemoveLocation(udg_ElementalFestivalPoint[2])


Custom script: call RemoveLocation(udg_ElementalFestivalPoint[3])
Elemental Festival 4

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Channel

Actions


For each (Integer A) from 0 to 6, do (Actions)



Loop - Actions




Unit - Create 1 Dummy SpecialEffect for (Owner of (Triggering unit)) at ElementalFestivalPoint[1] facing Default building facing degrees




Set ElementalFestivalSpecialEffect[(Integer A)] = (Last created unit)


Special Effect - Create a special effect at ElementalFestivalPoint[1] using Abilities\Spells\Human\ReviveHuman\ReviveHuman.mdl


Special Effect - Destroy (Last created special effect)
They could be approximated with Aura of Blight and Big Bad Voodoo (caster), and/or the hidden resource Abilities\Spells\Orc\CommandAura\CommandAuraTarget.mdl.
EDIT: Its impossible to make it MUI in GUI and leakless.. GUI dont have have local variables nor accept variables in custom script array index. if anyone have any idea how to make it leakless and MUI i would love to hear..
Learn JASSI'd be happy to teach you
That would be great. One question is it similar to java? because im learning java atm.
