lindenkron
You can change this now in User CP
- Reaction score
- 102
Ice Entrapment
Constructed criticism appreciated. Rest ain't.
Pros
- GUI MUI
- Leakless (to my knowledge )
- Easy to import (Simple 10 step guide *again*).
- Simple but cool spell if you ask me
Cons
- Looks funny when used on trees (since the units move trying to fit into place)
- Might be hard to modify the circle.
The 10 step guide.
- Open the attached map in your World Editor.
- Open your own map in your World Editor.
- Go to your map. And 'Check' "Automatically create unknown variables while pasting trigger data" This can be found at: File -> Preferences -> General Tap (First one)
- Open the attached map.
- Go to F6 and Copy (Ctrl + C) Paste (Ctrl + V) all the custom Abilities into your map.
- Repeat 4 and 5, just with the custom Units (F6)
- Open the attached map.
- Select the triggers called: 'IceEntrapment' & 'Animation' copy them.
- Open your map, paste the Triggers in.
- Test your map.
Description
Code
Trigger:
- IceEntrapment
- Events
- Unit - A unit Starts the effect of an ability
- Conditions
- (Ability being cast) Equal to Ice Entrapment
- Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- IECustomValue Less than 1000
- Then - Actions
- Set IECustomValue = (IECustomValue + 1)
- Else - Actions
- Set IECustomValue = 0
- If - Conditions
- -------- SetVariables --------
- Set IECaster[IECustomValue] = (Triggering unit)
- Set IETarget[IECustomValue] = (Target point of ability being cast)
- Set IEOffset[IECustomValue] = 400.00
- Set IEDegress[IECustomValue] = 0.00
- Set IEDegreesIncrease[IECustomValue] = 20.00
- Set IELiveTime[1] = 2.00
- Set IELiveTime[2] = 4.00
- Set IELiveTime[3] = 6.00
- -------- Spell --------
- For each (Integer A) from 1 to 18, do (Actions)
- Loop - Actions
- Set IETempLocation1 = (Position of IECaster[IECustomValue])
- Set IETempLocation2 = (IETempLocation1 offset by IEOffset[IECustomValue] towards IEDegress[IECustomValue] degrees)
- Set IETempGroup1 = (Units within 100.00 of IETempLocation2 matching ((((Triggering unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)))
- Unit Group - Pick every unit in IETempGroup1 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 IceBlock (Animation)
- Then - Actions
- Unit - Remove (Picked unit) from the game
- Else - Actions
- Unit - Move (Picked unit) instantly to (IETempLocation2 offset by 100.00 towards -180.00 degrees)
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Loop - Actions
- Destructible - Create a Pathing Blocker (Ground) (Large) at IETempLocation2 facing IEDegress[IECustomValue] with scale 1.00 and variation 0
- Set IEPathBlock = (Last created destructible)
- Trigger - Run PathBlock <gen> (ignoring conditions)
- Custom script: call DestroyGroup (udg_IETempGroup1)
- Unit - Create 1 IceBlock (Animation) for (Owner of IECaster[IECustomValue]) at IETempLocation2 facing Default building facing degrees
- Set IETempUnit = (Last created unit)
- Trigger - Run Animation <gen> (ignoring conditions)
- Unit - Add a IELiveTime[(Level of Ice Entrapment for IECaster[IECustomValue])] second Generic expiration timer to (Last created unit)
- Animation - Change (Picked unit)'s animation speed to 0.00% of its original speed
- Custom script: call RemoveLocation (udg_IETempLocation2)
- Custom script: call RemoveLocation (udg_IETempLocation1)
- Set IEDegress[IECustomValue] = (IEDegress[IECustomValue] + IEDegreesIncrease[IECustomValue])
- Loop - Actions
- Unit - Pause IECaster[IECustomValue]
- Unit - Move IECaster[IECustomValue] instantly to IETarget[IECustomValue]
- Unit - Unpause IECaster[IECustomValue]
- Special Effect - Create a special effect at IETarget[IECustomValue] using Abilities\Spells\Human\MassTeleport\MassTeleportTarget.mdl
- Special Effect - Destroy (Last created special effect)
- -------- ResetAll --------
- Set IECaster[IECustomValue] = No unit
- Set IEDegress[IECustomValue] = 0.00
- Custom script: call RemoveLocation (udg_IETarget[udg_IECustomValue])
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Events
Trigger:
- Animation
- Events
- Conditions
- Actions
- Custom script: local unit tempUnit
- Custom script: set tempUnit = udg_IETempUnit
- Wait 0.50 seconds
- Custom script: set udg_IETempUnit = tempUnit
- Animation - Change IETempUnit's animation speed to 0.00% of its original speed
Trigger:
- PathBlock
- Events
- Conditions
- Actions
- Custom script: local destructable tempDestructable
- Custom script: set tempDestructable = udg_IEPathBlock
- Wait IELiveTime[(Level of Ice Entrapment for IECaster[IECustomValue])] seconds
- Custom script: set udg_IEPathBlock = tempDestructable
- Destructible - Remove IEPathBlock
Screenshot
Change Log:
v1.1
Fixed the ice blocks, no longer selectable. Replaced with pathblockers that are removed.
Hope anyone can use it. +Rep for usage is appreciated :thup:
-Lindenkron <3