lindenkron
You can change this now in User CP
- Reaction score
- 102
Consuming Purity
v1.0
v1.0
Don't know if anything like this has been made before? Well, another GUI MUI spell. Any feedback that is constructive will be appreciated
Pros
- GUI MUI
- Leakless (I think? Leakchecker says so anyway. But you can't trust it . Let me know if you find any! )
- Easy to import (Simple 10 step guide).
- Easy to modify (If you ask me )
Cons
- Tell me. (Don't go emo on me and write "It's not vJASS!" *cry me a river* please)
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 Buffs into your map.
- Repeat 4 and 5, just with the custom Abilities & Units (In that order) (F6)
- Open the attached map.
- Select the triggers called: 'ConsumingPurity' & 'ConsumingPurityGO' copy them.
- Open your map, paste the Triggers in.
- Test your map.
Description
Code
Trigger:
- ConsumingPurity
- Events
- Unit - A unit Starts the effect of an ability
- Conditions
- (Ability being cast) Equal to Consuming Purity
- Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- CPCustomValue Less than 1000
- Then - Actions
- Set CPCustomValue = (CPCustomValue + 1)
- Else - Actions
- Set CPCustomValue = 0
- If - Conditions
- -------- Setting variables --------
- -------- DON'T CHANGE --------
- Set CPCaster[CPCustomValue] = (Triggering unit)
- Set CPTarget[CPCustomValue] = (Target point of ability being cast)
- Set CPWait[CPCustomValue] = 0.00
- Set CPSeconds[CPCustomValue] = 0
- -------- Change the 5 to what ever amount of seconds times ability level --------
- Set CPAbilitySeconds[CPCustomValue] = (5 x (Level of Consuming Purity for (Triggering unit)))
- -------- The range of the AoE spell. At the moment it fits the animation size --------
- Set CPArea[CPCustomValue] = 400.00
- -------- Create Dummyunit to start spell --------
- Set CPTempLocation1 = (Position of (Triggering unit))
- Unit - Create 1 DummyUnit for (Owner of (Triggering unit)) at CPTempLocation1 facing Default building facing degrees
- Unit Group - Add (Last created unit) to CPDummyGroup
- Unit - Set the custom value of (Last created unit) to CPCustomValue
- Custom script: call RemoveLocation (udg_CPTempLocation1)
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Events
Trigger:
- ConsumingPurityGO
- Events
- Time - Every 0.05 seconds of game time
- Conditions
- (Number of units in CPDummyGroup) Greater than 0
- Actions
- Unit Group - Pick every unit in CPDummyGroup and do (Actions)
- Loop - Actions
- Set CPCValue = (Custom value of (Picked unit))
- Set CPWait[CPCValue] = (CPWait[CPCValue] + 0.05)
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- CPSeconds[CPCValue] Equal to 0
- CPWait[CPCValue] Equal to 0.05
- Then - Actions
- Set CPTempGroup1 = (Units within CPArea[CPCValue] of CPTarget[CPCValue] matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of CPCaster[CPCValue])) Equal to True)))
- Unit Group - Pick every unit in CPTempGroup1 and do (Actions)
- Loop - Actions
- Set CPTempLocation1 = (Position of (Picked unit))
- Unit - Cause CPCaster[CPCValue] to damage (Picked unit), dealing 1.00 damage of attack type Normal and damage type Normal
- Unit - Create 1 DummyUnit for (Owner of CPCaster[CPCValue]) at CPTempLocation1 facing CPTempLocation1
- Unit - Add Dummy Ability - Purify to (Last created unit)
- Unit - Set level of Dummy Ability - Purify for (Last created unit) to (Level of Consuming Purity for CPCaster[CPCValue])
- Unit - Order (Last created unit) to Orc Shaman - Purge (Picked unit)
- Unit - Add a 2.00 second Water Elemental expiration timer to (Last created unit)
- Custom script: call RemoveLocation (udg_CPTempLocation1)
- Loop - Actions
- Custom script: call DestroyGroup (udg_CPTempGroup1)
- Set CPTempLocation1 = CPTarget[CPCValue]
- Unit - Create 1 DummyUnit (Animation) for (Owner of CPCaster[CPCValue]) at CPTempLocation1 facing Default building facing degrees
- Set CPAnimationUnit[CPCValue] = (Last created unit)
- Unit - Add a (Real(CPAbilitySeconds[CPCValue])) second Water Elemental expiration timer to (Last created unit)
- Else - Actions
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- CPWait[CPCValue] Equal to 0.50
- CPSeconds[CPCValue] Equal to 0
- Then - Actions
- Animation - Change CPAnimationUnit[CPCValue]'s animation speed to 0.00% of its original speed
- Else - Actions
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- CPWait[CPCValue] Equal to 1.00
- CPSeconds[CPCValue] Less than or equal to CPAbilitySeconds[CPCValue]
- Then - Actions
- Set CPTempGroup1 = (Units within CPArea[CPCValue] of CPTarget[CPCValue] matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of CPCaster[CPCValue])) Equal to True)))
- Unit Group - Pick every unit in CPTempGroup1 and do (Actions)
- Loop - Actions
- Set CPTempLocation1 = (Position of (Picked unit))
- Unit - Create 1 DummyUnit for (Owner of CPCaster[CPCValue]) at CPTempLocation1 facing CPTempLocation1
- Unit - Add Dummy Ability - Purify to (Last created unit)
- Unit - Set level of Dummy Ability - Purify for (Last created unit) to (Level of Consuming Purity for CPCaster[CPCValue])
- Unit - Order (Last created unit) to Orc Shaman - Purge (Picked unit)
- Unit - Add a 2.00 second Water Elemental expiration timer to (Last created unit)
- Custom script: call RemoveLocation (udg_CPTempLocation1)
- Loop - Actions
- Custom script: call DestroyGroup (udg_CPTempGroup1)
- Set CPSeconds[CPCValue] = (CPSeconds[CPCValue] + 1)
- Set CPWait[CPCValue] = 0.00
- Else - Actions
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- CPSeconds[CPCValue] Equal to CPAbilitySeconds[CPCValue]
- Then - Actions
- Set CPCaster[CPCValue] = No unit
- Set CPSeconds[CPCValue] = 0
- Unit Group - Remove (Picked unit) from CPDummyGroup
- Unit - Remove (Picked unit) from the game
- Custom script: call RemoveLocation (udg_CPTarget[udg_CPCValue])
- Custom script: call RemoveLocation (udg_CPTempLocation1)
- Else - Actions
- If - Conditions
- Loop - Actions
- Unit Group - Pick every unit in CPDummyGroup and do (Actions)
- Events
Screenshot
Hope anyone can use. Anyway, had fun making it
-Lindenkron