View Single Post
Old 12-20-2007, 04:13 AM   #429
burningice95
User
 
burningice95's Avatar
 
Join Date: Jun 2007
Posts: 218

burningice95 has little to show at this moment (3)

Send a message via AIM to burningice95 Send a message via MSN to burningice95 Send a message via Yahoo to burningice95
Default

I'd like to withdraw my previous request, and substitute a new one.

This spell (march of the dead) is basically stampede. But instead of exploding, when the units come in range of another unit, they come fight for the caster.


Its in GUI, I would like it to be converted to JASS, so that it will be MUI/MPI

Trigger:
Setup Angle
Collapse Events
Unit - A unit Starts the effect of an ability
Collapse Conditions
(Ability being cast) Equal to March of The dead
Collapse Actions
Set LastStand_TARGETPoint = (Target point of ability being cast)
Set ShogunIsChannelingLS = True
Set LastStand_CASTPoint = (Position of DeathKnight)
Set LSRunning_Angle = (Angle from LastStand_CASTPoint to LastStand_TARGETPoint)
Set LSUnitSummonCounter = 0
Trigger - Turn on Make units run outward <gen>

Trigger:
Make units run outward
Collapse Events
Time - Every 0.03 seconds of game time
Conditions
Collapse Actions
Set LSUnitSummonCounter = (LSUnitSummonCounter + 1)
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse If - Conditions
ShogunIsChannelingLS Equal to True
LSUnitSummonCounter Equal to 30
Collapse Then - Actions
Set LSUnitSummonCounter = 0
Set LS_random_summon_Point = ((LastStand_CASTPoint offset by -1300.00 towards LSRunning_Angle degrees) offset by (Random real number between -600.00 and 600.00) towards (LSRunning_Angle + 90.00) degrees)
Unit - Create 1 Samurai (Locust) for (Owner of DeathKnight) at LS_random_summon_Point facing LSRunning_Angle degrees
Game - Display to (All players) the text: (Name of (Last created unit))
Unit - Change color of (Last created unit) to Purple
Custom script: call RemoveLocation(udg_LS_random_summon_Point)
Unit - Set the custom value of (Last created unit) to 1000
Custom script: call SetUnitAnimationByIndex( GetLastCreatedUnit(),6)
Unit Group - Add (Last created unit) to LS_Fading_In_Chargers
Collapse Else - Actions
Do nothing
Collapse Unit Group - Pick every unit in LS_Fading_In_Chargers and do (Actions)
Collapse Loop - Actions
Set LSMovePoint = ((Position of (Picked unit)) offset by 12.00 towards LSRunning_Angle degrees)
Game - Display to (All players) the text: 3
Unit - Move (Picked unit) instantly to LSMovePoint, facing LSRunning_Angle degrees
Custom script: call RemoveLocation(udg_LSMovePoint)
Unit - Set the custom value of (Picked unit) to ((Custom value of (Picked unit)) - 36)
Animation - Change (Picked unit)'s vertex coloring to (20.00%, 20.00%, 20.00%) with ((Real((Custom value of (Picked unit)))) / 10.00)% transparency
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse If - Conditions
(Custom value of (Picked unit)) Less than or equal to 0
Collapse Then - Actions
Unit - Set the custom value of (Picked unit) to 0
Unit Group - Remove (Picked unit) from LS_Fading_In_Chargers
Unit Group - Add (Picked unit) to LS_Attacking_Chargers
Collapse Else - Actions
Do nothing
Collapse Unit Group - Pick every unit in LS_Attacking_Chargers and do (Actions)
Collapse Loop - Actions
Set LSMovePoint = ((Position of (Picked unit)) offset by 12.00 towards LSRunning_Angle degrees)
Unit - Move (Picked unit) instantly to LSMovePoint, facing LSRunning_Angle degrees
Set LS_Potential_Hit_Units = (Units within 75.00 of LSMovePoint matching (((((Matching unit) is A flying unit) Equal to False) and (((Matching unit) is in Untargetables) Equal to False)) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner o
Custom script: call RemoveLocation(udg_LSMovePoint)
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse If - Conditions
(Number of units in LS_Potential_Hit_Units) Greater than 0
Collapse Then - Actions
Animation - Reset (Picked unit)'s animation
Collapse Unit Group - Pick every unit in LS_Potential_Hit_Units and do (Actions)
Collapse Loop - Actions
Unit - Cause PlayerDamager[(Player number of (Owner of DeathKnight))] to damage (Picked unit), dealing (30.00 + (20.00 x (Real((Level of March of The dead for DeathKnight))))) damage of attack type Normal and damage type Normal
Special Effect - Create a special effect attached to the head of (Picked unit) using Abilities\Weapons\HydraliskImpact\HydraliskImpact.mdl
Special Effect - Destroy (Last created special effect)
Unit Group - Remove all units from LS_Potential_Hit_Units
Unit Group - Remove (Picked unit) from LS_Attacking_Chargers
Unit - Replace (Picked unit) with a Skeleton Minion using The new unit's max life and mana
Unit - Change color of (Last replaced unit) to Purple
Unit - Set level of Samurai Evasion for (Last replaced unit) to (Level of March of The dead for DeathKnight)
Unit - Set level of Runic Armor for (Last replaced unit) to (Level of March of The dead for DeathKnight)
Unit - Set the custom value of (Last replaced unit) to 0
Unit - Add a 30.00 second Generic expiration timer to (Last replaced unit)
Collapse Else - Actions
Unit - Set the custom value of (Picked unit) to ((Custom value of (Picked unit)) + 12)
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse If - Conditions
(Custom value of (Picked unit)) Greater than or equal to 2500
Collapse Then - Actions
Unit Group - Remove (Picked unit) from LS_Attacking_Chargers
Unit Group - Add (Picked unit) to LS_Fading_Out_Chargers_Copy
Unit - Set the custom value of (Picked unit) to 0
Collapse Else - Actions
Do nothing
Collapse Unit Group - Pick every unit in LS_Fading_Out_Chargers_Copy and do (Actions)
Collapse Loop - Actions
Set LSMovePoint = ((Position of (Picked unit)) offset by 12.00 towards LSRunning_Angle degrees)
Unit - Move (Picked unit) instantly to LSMovePoint, facing LSRunning_Angle degrees
Custom script: call RemoveLocation(udg_LSMovePoint)
Unit - Set the custom value of (Picked unit) to ((Custom value of (Picked unit)) + 18)
Animation - Change (Picked unit)'s vertex coloring to (20.00%, 20.00%, 20.00%) with ((Real((Custom value of (Picked unit)))) / 10.00)% transparency
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse If - Conditions
(Custom value of (Picked unit)) Greater than or equal to 1000
Collapse Then - Actions
Unit Group - Remove (Picked unit) from LS_Fading_Out_Chargers_Copy
Unit - Kill (Picked unit)
Unit - Remove (Picked unit) from the game
Collapse Else - Actions
Do nothing

This is basically how I think the trigger works

-Hero casts spell
-Turns on periodic trigger
-Periodic trigger creates locust units behind the caster (like stampede)
-Moves them towards the point where the ability was cast
-Loops through all the units created, and creates a unit group of all the units around each picked unit. If their is one or more enemy within 75 AoE of the picked unit, it kills the locusted unit, and creates an actual unit in its place.


I will be extremely grateful to whoever does this.
__________________
Burningice255: What more does GUI need anyway?
redscores1: How about a syntax checker?
burningice95 is offline   Reply With Quote