[gui/mui] Ice Age[No Target]

User avatar
ZODD
Administrator
Administrator
Posts: 3662
Joined: Sat Sep 15, 2018 2:16 pm
Reputation: 3644
Location: NYC,New York
Website: http://chaosrealm.co
Twitch: https://www.twitch.tv/z0ddz
Contact:
United States of America

[gui/mui] Ice Age[No Target]

#1

Post by ZODD » Sat Oct 20, 2018 11:18 am

By Stryke
Image

-Description-

The caster creates a barrage of ice from where he is standing which expands outward dealing damage to all units
in the way of the barrage. Temporarily slows the movement speed and attack speed of these units.
Damage and duration increases by level.

-About the Spell/Other-

-The spell is GUI/MUI and should be leakless
-It is based off the anime ability "Ice Age" which is used by Admiral Aokiji
-This spell was requested by SCFMT
-It might be a bit laggy, I seriously don't mind getting a low rating on this since I know it's not that good. My objective was to complete a request.
-I wanted to practice a little GUI again, of course it doesn't mean i'm going back to GUI. I practice JASS and GUI, it's nice to have knowledge on both.

-Credits-

The spell is created by Stryke@AzerothEast.
Come visit me at chaosrealm.info.
My email is [email protected].

-Importing-

1. Copy the buff "Ice Age" to your map.
2. Copy the ability "Ice Age" to your map.
3. Copy the 3 dummy units to your map.
4. Copy the entire folder of the four triggers into your map.
5. Adjust the ability, buff, and dummy units to your liking. Make sure when you copy it, it looks exactly like the original spell.
6. Replace any red lines of actions in the trigger with the correct dummy unit as shown in the original spell.
7. It should work, if not, contact me.

Script

Code: Select all

[gui]InitHash
Events
Map initialization
Conditions
Actions
Hashtable - Create a hashtable
Set hashice = (Last created hashtable)

Ice Age
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Ice Age 
Actions
-------- Edit below to your likings. --------
-------- Damage dealt to enemies around each ice dummy. --------
Set icedamage = (100.00 x (Real((Level of Ice Age for (Triggering unit)))))
-------- Duration of the ice dummies. --------
Set iceduration = (3.00 x (Real((Level of Ice Age for (Triggering unit)))))
-------- Duration of how long the effect expands for. --------
Set ice_expansiontime = 8.00
-------- The damage distance from each ice dummy. --------
Set icedamagerange = 175.00
-------- Range between each interval of ice. --------
Set icedistanceinterval = 175.00
-------- Amount of ice dummies created when "Ice Age Expand" is executed. --------
Set iceinterval = 14
-------- Edit anything else in this trigger if you understand it. --------
Set iceloc = (Position of (Triggering unit))
Set iceangle = (360.00 / (Real(iceinterval)))
Unit - Create 1 Ice Age Start Dummy for (Owner of (Triggering unit)) at iceloc facing Default building facing degrees
Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
Unit Group - Add (Triggering unit) to hashgroup
Hashtable - Save Handle Oficeloc as 0 of (Key (Triggering unit)) in hashice
Hashtable - Save iceduration as 2 of (Key (Triggering unit)) in hashice
Hashtable - Save icedistanceinterval as 3 of (Key (Triggering unit)) in hashice
Hashtable - Save icedamage as 4 of (Key (Triggering unit)) in hashice
Hashtable - Save ice_expansiontime as 5 of (Key (Triggering unit)) in hashice
Hashtable - Save icedamagerange as 6 of (Key (Triggering unit)) in hashice
Hashtable - Save iceinterval as 7 of (Key (Triggering unit)) in hashice
Hashtable - Save iceangle as 8 of (Key (Triggering unit)) in hashice


Ice Age Expand
Events
Time - Every 0.20 seconds of game time
Conditions
Actions
Unit Group - Pick every unit in hashgroup and do (Actions)
Loop - Actions
Set icecast = (Picked unit)
Set iceloc = (Load 0 of (Key (Picked unit)) in hashice)
Set icereal = (Load 1 of (Key (Picked unit)) from hashice)
Set iceduration = (Load 2 of (Key (Picked unit)) from hashice)
Set icedistanceinterval = (Load 3 of (Key (Picked unit)) from hashice)
Set icedamage = (Load 4 of (Key (Picked unit)) from hashice)
Set ice_expansiontime = (Load 5 of (Key (Picked unit)) from hashice)
Set icedamagerange = (Load 6 of (Key (Picked unit)) from hashice)
Set iceinterval = (Load 7 of (Key (Picked unit)) from hashice)
Set iceangle = (Load 8 of (Key (Picked unit)) from hashice)
Set icereal = (1.00 + icereal)
For each (Integer A) from 1 to iceinterval, do (Actions)
Loop - Actions
Set iceoff = (iceloc offset by (icedistanceinterval x icereal) towards ((Real((Integer A))) x iceangle) degrees)
Unit - Create 1 Ice Age Dummy for (Owner of (Picked unit)) at iceoff facing (Random angle) degrees
Unit - Add a iceduration second Generic expiration timer to (Last created unit)
Set dummyloc = (Position of (Last created unit))
Set dmggroup = (Units within icedamagerange of dummyloc matching ((((Matching unit) belongs to an enemy of (Owner of (Picked unit))) Equal to True) and (((Matching unit) is alive) Equal to True)))
Unit Group - Pick every unit in dmggroup and do (Actions)
Loop - Actions
Unit - Cause icecast to damage (Picked unit), dealing icedamage damage of attack type Spells and damage type Normal
Custom script: call DestroyGroup(udg_dmggroup)
Custom script: call RemoveLocation(udg_dummyloc)
Custom script: call RemoveLocation(udg_iceoff)
Hashtable - Save icereal as 1 of (Key (Picked unit)) in hashice
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
icereal Greater than or equal to ice_expansiontime
Then - Actions
Unit - Create 1 Ice Age End Dummy for (Owner of (Picked unit)) at iceloc facing Default building facing degrees
Unit - Add a iceduration second Generic expiration timer to (Last created unit)
Custom script: call RemoveLocation(udg_iceloc)
Hashtable - Clear all child hashtables of child (Key (Picked unit)) in hashice
Unit Group - Remove (Picked unit) from hashgroup
Else - Actions


Destroy SFX
Events
Unit - A unit Dies
Conditions
((Unit-type of (Triggering unit)) Equal to Ice Age Dummy) or (((Unit-type of (Triggering unit)) Equal to Ice Age End Dummy) or ((Unit-type of (Triggering unit)) Equal to Ice Age Start Dummy))
Actions
Unit - Remove (Triggering unit) from the game
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Unit-type of (Triggering unit)) Not equal to Ice Age End Dummy
Then - Actions
Set removeloc = (Position of (Triggering unit))
Special Effect - Create a special effect at removeloc using Abilities\Spells\Undead\FrostNova\FrostNovaTarget.mdl
Special Effect - Destroy (Last created special effect)
Custom script: call RemoveLocation(udg_removeloc)
Else - Actions

[/gui]
You do not have the required permissions to view the files attached to this post.
Image

Return to “No Target”

×