Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
You are using an out of date browser. It may not display this or other websites correctly. You should upgrade or use an alternative browser.
Triggers
Rockbreaker.v1.1-S.w3x
Variables
Rockbreaker
Read Me
RBinit
RBspelltrig1
RBspelltrig2
unneeded
trig
trig2
trig3
trig4
trig5
Kartenspezifischen eigenen Skript-Code unten eingeben. Dieser Text wird in das Karten-Skript nach der Deklaration der Variablen und vor jeglichem Auslöser-Code eingefügt.
Name
Type
is_array
initial_value
do_not_copy_me
location
No
RB_player_max
integer
No
RB_temppoint
location
Yes
RB_tempunit
unit
No
Well this spell is made rather easy as I only was concerned with the thought about making this mui.
And well yeah, this is it.
To make it work, do:
*Copy the buff 'RB_buff'
*Copy the abilities 'Rockbreaker' and 'RB_abil'
*Copy the dummy 'RB_dummy'
*Copy all triggers prefixed with 'RB' and if needed all variables prefixed with 'RB_' except for 'do_not_copy_me'
It's easy:
After the shockwave is cast, I hide the caster, move it 850 range away towards the targeted angle and make it re-appear there together with an effect.
We'll start off with 'RBinit', shall we?
So this variable just counts up all playing players (also NPCs) which is needed for the later loop.
Either just copy this trigger as a whole or just export the action into your map
Now, head on to 'RBspelltrig1'
RBinit
Events
Map initialization
Conditions
Actions
Set Variable Set RB_player_max = (Number of players in (All players matching (((Matching player) slot status) Equal to Is playing).))
Still simple - first, an effect is created (for the eyecandy) to make it look like the hero unleashes energy.
Then, I have it look to the target point of ability being cast to ensure that he keeps the direction during the travel.
Next, a dummy is created casting 'faefie fire' (RB_abil) on the hero.
We need the buff for the main part of the spell..
Speaking of, we'll now encounter the core - please head over to 'RBspelltrig2'
RBspelltrig1
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Rockbreaker
Actions
-------- Setting the locations --------
Set Variable Set RB_temppoint[0] = (Position of (Triggering unit))
Set Variable Set RB_temppoint[1] = (Target point of ability being cast)
Special Effect - Create a special effect at RB_temppoint[0] using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
Special Effect - Destroy (Last created special effect)
-------- Now we align the angle --------
Unit - Make (Triggering unit) face RB_temppoint[1] over 0 seconds
Unit - Create 1 . RB_dummy for (Owner of (Triggering unit)) at RB_temppoint[0] facing Default building facing degrees
-------- Here, the dummy is created and ordered to cast --------
Unit - Order (Last created unit) to Night Elf Druid Of The Talon - Faerie Fire . (Triggering unit)
Unit - Add a 0.30 second Generic expiration timer to (Last created unit)
So, this might eventually look a bit difficult at first, but it's also still simple:
In the first trigger, I have hidden the caster.
Now.that hidden units can't be picked using a 'Pick every unit in *region*'-action, I'll just go through every player.
Here it comes to use the variable from 'RBinit' to get the loop to run equal to the players playing.
Next, I pick every unit of every player that holds the buff caused by 'faerie fire' and set their location and the next point to move to to variables.
If the condition is met (Unit is hidden), the actions are applied - else, the unit is hidden and it's collision disabled
As we also want the unit to stop, in the second Pick-every-unit-action, I check for those which don't have the faerie fire buff but are still hidden.
Now I unhide it as well as pick every unit in 200aoe.
Last but not least, some explosion-ish styled effect is applied for more eyecandy, the unit selected again and it's collision enabled again
--
Yup, that's it
2oo9 by Squiggy
RBspelltrig2
Events
Time - Every 0.04 seconds of game time
Conditions
Actions
-------- We make the loop run through all players available --------
For each (Integer A) from 1 to RB_player_max , do (Actions)
Loop - Actions
-------- Now first, the units which have the buff are picked --------
Custom script: set bj_wantDestroyGroup = true
Unit Group - Pick every unit in (Units owned by (Player((Integer A))) matching (((Matching unit) has buff RB_buff) Equal to True).) and do (Actions)
Loop - Actions
Set Variable Set RB_tempunit = (Picked unit)
-------- Here, we look for the condition --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(RB_tempunit is hidden) Equal to True
Then - Actions
-------- If the condition is met, the unit is moved further --------
Set Variable Set RB_temppoint[1] = (Position of RB_tempunit)
Set Variable Set RB_temppoint[2] = (RB_temppoint[1] offset by 41.00 towards (Facing of (Picked unit)) degrees.)
Unit - Move RB_tempunit instantly to RB_temppoint[2]
-------- If not, the unit is hidden and it's collision removed --------
Unit - Hide RB_tempunit
Unit - Turn collision for RB_tempunit Off .
-------- Secondly we pick every unit which do NOT have the buff --------
Custom script: set bj_wantDestroyGroup = true
Unit Group - Pick every unit in (Units owned by (Player((Integer A))) matching (((Matching unit) has buff RB_buff) Equal to False).) and do (Actions)
Loop - Actions
Set Variable Set RB_tempunit = (Picked unit)
-------- The condition whether it is hidden or not --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(RB_tempunit is hidden) Equal to True
Then - Actions
-------- If so, we unhide it and give the collision back --------
Unit - Unhide RB_tempunit
Unit - Turn collision for RB_tempunit On .
Animation - Change RB_tempunit flying height to 0.00 at 0.00
Set Variable Set RB_temppoint[0] = (Position of RB_tempunit)
-------- And last we take all units in 200AoE and damage them by [(LVL*10)+40] --------
Custom script: set bj_wantDestroyGroup = true
Unit Group - Pick every unit in (Units within 200.00 of RB_temppoint[0] matching (((Matching unit) belongs to an enemy of (Owner of RB_tempunit).) Equal to True).) and do (Cause RB_tempunit to damage (Picked unit), dealing (40.00 + ((Real((Level of Rockbreaker for RB_tempunit))) x 10.00)) damage of attack type Spells and damage type Normal)
Special Effect - Create a special effect at RB_temppoint[0] using Objects\Spawnmodels\Other\NeutralBuildingExplosion\NeutralBuildingExplosion.mdl
Special Effect - Destroy (Last created special effect)
-------- Now it leaves us to 'give the player his unit back' and fix up a leak --------
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.