Not many things changeable now , just: size , maximal size , damage
Also it is MUI.
Description:
The caster rises in the area and prepares to deal massive damage to units around him. He creates a circular motion of dust and releases it outward pushing back and damaging all units in its path.
Video:
[youtube]GG9E7jCXhlc[/youtube]
Code: Select all
[gui]shinrahash
Events
Map initialization
Conditions
Actions
Hashtable - Create a hashtable
Set s_hash = (Last created hashtable)
shinracast
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Shinra Tensei
Actions
-------- damage each time the enemy is moved --------
Set s_dmg = 10.00
-------- start aoe --------
Set s_aoe = 100.00
-------- the maximal aoe --------
Set s_maoe = 1000.00
-------- do not change this --------
Set s_count = 0
Set handle = (Key (Triggering unit))
Unit - Pause (Triggering unit)
Unit - Add Crow Form to (Triggering unit)
Animation - Change (Triggering unit) flying height to 500.00 at 200.00
Hashtable - Save s_count as 0 of handle in s_hash
Hashtable - Save s_aoe as 1 of handle in s_hash
Hashtable - Save s_maoe as 2 of handle in s_hash
Hashtable - Save s_dmg as 3 of handle in s_hash
Unit Group - Add (Triggering unit) to s_group
shinraloop
Events
Time - Every 0.05 seconds of game time
Conditions
Actions
Unit Group - Pick every unit in s_group and do (Actions)
Loop - Actions
Set handle = (Key (Picked unit))
Set s_count = (Load 0 of handle from s_hash)
Set s_aoe = (Load 1 of handle from s_hash)
Set s_maoe = (Load 2 of handle from s_hash)
Set s_dmg = (Load 3 of handle from s_hash)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
s_count Equal to 80
Then - Actions
Set leak = (Position of (Picked unit))
Animation - Play (Picked unit)'s stand channel 2 animation
Unit - Create 1 wave for (Owner of (Picked unit)) at leak facing Default building facing degrees
Set s_wave = (Last created unit)
Unit - Turn collision for (Last created unit) Off
Unit - Move (Last created unit) instantly to leak
Custom script: call RemoveLocation(udg_leak)
Hashtable - Save Handle Ofs_wave as 4 of handle in s_hash
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
s_count Greater than 80
Then - Actions
Set s_wave = (Load 4 of handle in s_hash)
Set s_aoe = (s_aoe + 10.00)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
s_aoe Greater than or equal to s_maoe
Then - Actions
Unit - Unpause (Picked unit)
Animation - Change (Picked unit) flying height to 0.00 at 0.00
Unit - Remove Crow Form from (Picked unit)
Unit - Remove s_wave from the game
Unit Group - Remove (Picked unit) from s_group
Hashtable - Clear all child hashtables of child handle in s_hash
Else - Actions
Hashtable - Save s_aoe as 1 of handle in s_hash
Animation - Change s_wave's size to (s_aoe%, s_aoe%, s_aoe%) of its original size
Set leak = (Position of (Picked unit))
Set s_caster = (Picked unit)
Set s_enemy = (Units within s_aoe of leak matching ((((Matching unit) belongs to an enemy of (Owner of s_caster)) Equal to True) and (((Matching unit) is alive) Equal to True)))
Unit Group - Pick every unit in s_enemy and do (Actions)
Loop - Actions
Set leak2 = (Position of (Picked unit))
Set leak3 = (leak offset by s_aoe towards (Angle from leak to leak2) degrees)
Unit - Cause s_caster to damage (Picked unit), dealing s_dmg damage of attack type Spells and damage type Normal
Unit - Move (Picked unit) instantly to leak3
Custom script: call RemoveLocation(udg_leak3)
Custom script: call RemoveLocation(udg_leak2)
Custom script: call RemoveLocation(udg_leak)
Custom script: call DestroyGroup(udg_s_enemy)
Else - Actions
Set s_count = (s_count + 1)
Hashtable - Save s_count as 0 of handle in s_hash
[/gui]