Moderator
M
Moderator
20:13, 2nd Mar 2010
The_Reborn_Devil:
The triggering looks ok.
Status: Approved
Rating: Useful
The_Reborn_Devil:
The triggering looks ok.
Status: Approved
Rating: Useful
Set G_MaxHeight[G_CastCount] = 500.00
Geyser Main

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Geyser

Actions


Set G_CastCount = (G_CastCount + 1)


Set G_TargetPoint = (Target point of ability being cast)


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



If - Conditions




G_CastCount Equal to G_RemoveCount



Then - Actions




Custom script: call DestroyGroup(udg_G_UnitGroup[udg_G_CastCount])




Custom script: set udg_G_UnitGroup[udg_G_CastCount] = null



Else - Actions


Set G_MaxHeight[G_CastCount] = 500.00


Set G_UnitGroup[G_CastCount] = (Units within 200.00 of G_TargetPoint matching ((((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True) and ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and (((Matchin


Unit Group - Pick every unit in G_UnitGroup[G_CastCount] and do (Actions)



Loop - Actions




Trigger - Add to Geyser Explosion <gen> the event (Unit - (Picked unit) Takes damage)




Unit - Add Fly Trick to (Picked unit)




Unit - Pause (Picked unit)




Unit - Turn collision for (Picked unit) Off




Unit - Cause (Triggering unit) to damage (Picked unit), dealing (100.00 x (Real((Level of Geyser for (Triggering unit))))) damage of attack type Spells and damage type Universal


Unit - Create 1 Geyser Caster for (Owner of (Triggering unit)) at G_TargetPoint facing Default building facing (270.0) degrees


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


Unit - Add Geyser (Dummy) to (Last created unit)


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


Custom script: call RemoveLocation(udg_G_TargetPoint)


Custom script: set udg_G_TargetPoint = null
Geyser Loop

Events


Time - Every 0.10 seconds of game time

Conditions

Actions


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



Loop - Actions




Set G_CurrentHeight[(Integer A)] = (G_CurrentHeight[(Integer A)] + 50.00)




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





If - Conditions






(Number of units in G_UnitGroup[(Integer A)]) Greater than 0





Then - Actions






Unit Group - Pick every unit in G_UnitGroup[(Integer A)] and do (Actions)







Loop - Actions








Animation - Change (Picked unit) flying height to G_CurrentHeight[(Integer A)] at 1000.00








Special Effect - Create a special effect attached to the origin of (Picked unit) using Objects\Spawnmodels\Naga\NagaDeath\NagaDeath.mdl








Special Effect - Destroy (Last created special effect)





Else - Actions






Unit Group - Add all units of G_UnitGroup[G_CastCount] to G_UnitGroup[(Integer A)]






Set G_CurrentHeight[(Integer A)] = G_CurrentHeight[G_CastCount]






Set G_CastCount = (G_CastCount - 1)






Set G_RemoveCount = (Integer A)




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





If - Conditions






G_CurrentHeight[(Integer A)] Greater than or equal to G_MaxHeight[(Integer A)]





Then - Actions






Set G_CurrentHeight[(Integer A)] = 0.00






Unit Group - Pick every unit in G_UnitGroup[(Integer A)] and do (Actions)







Loop - Actions








Animation - Change (Picked unit) flying height to (Default flying height of (Picked unit)) at 1000.00








Unit - Remove Fly Trick from (Picked unit)








Unit - Unpause (Picked unit)








Unit - Turn collision for (Picked unit) On






Unit Group - Remove all units from G_UnitGroup[(Integer A)]






Unit Group - Add all units of G_UnitGroup[G_CastCount] to G_UnitGroup[(Integer A)]






Set G_CurrentHeight[(Integer A)] = G_CurrentHeight[G_CastCount]






Set G_CastCount = (G_CastCount - 1)






Set G_RemoveCount = (Integer A)





Else - Actions
Geyser Explosion

Events

Conditions


((Triggering unit) has buff Geyser ) Equal to True


(Life of (Triggering unit)) Less than or equal to ((Max life of (Triggering unit)) x 0.15)


((Triggering unit) belongs to an enemy of (Owner of (Damage source))) Equal to True

Actions


Set G_TargetPoint = (Position of (Triggering unit))


Custom script: set bj_wantDestroyGroup = true


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



Loop - Actions




Unit - Create 1 Geyser Caster for (Owner of (Damage source)) at G_TargetPoint facing Default building facing (270.0) degrees




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




Unit - Add Geyser Wave to (Last created unit)




Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Picked unit)


Special Effect - Create a special effect at G_TargetPoint using Objects\Spawnmodels\Naga\NagaDeath\NagaDeath.mdl


Special Effect - Destroy (Last created special effect)


Trigger - Turn off (This trigger)


Unit - Cause (Damage source) to damage (Triggering unit), dealing ((Life of (Triggering unit)) + 1.00) damage of attack type Spells and damage type Universal


Trigger - Turn on (This trigger)


Custom script: call RemoveLocation(udg_G_TargetPoint)


Custom script: set udg_G_TargetPoint = null