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!
The resurrection stones in the orc bonus campaign are those monument stones with a symbol on the front. If you walk the hero near one, it lights up and becomes the revive point for the hero.
Figured out a few things...
It's the resurrection stone unit, not the doodad.
The glowing stuff is an alternate stand animation. About that...
Does anyone know the animation names? ex. "stand", "throw", etc.
(I'm going to try "stand, alternate" and see what happens.)
EDIT: I used "stand alternate" (no comma) and it works as an animation name.
You can also figure the animations out by looking at the preview of the model in the WE. There is always a little "Animation" button above it.
This model for example has 3 animations: Stand, Stand Alternate & Stand Work
Blizzard did it simply.
1) Placed stones in game, each stone is given a number (just on a paper).
2) There is an integer variable into which the number of the stone is set when the stone is activated (let's call it ActiveStone).
3) Placed large region around the stone - this region is used to detect units
4) When unit enters this region, it is checked if it is correct unit and if the ActiveStone value is not the same as the number of the stone the unit approached (if it is, then the stone has already been activated).
5) There are two other regions - one directly underneath the resurrection stone and another nearby the stone (the second one is where hero is resurrected).
6) Play effects, sounds, animations for activated stone, also set into global variables the number of the stone and the resurrection spot.
7) Destroy visibility modifier of previously activated stone, create new one centered around the region right underneath the resurrection stone
Now when hero dies, you simply wait a few secs and then resurrect him at the location you saved in step 6.
So... I did this. AFAIK there is nothing wrong with this, except I haven't leak cleaned (anything in the map I'm making) yet. Actually, help with leak cleaning would be appreciated.
Variables:
This is run from the Initialization trigger, it does 3 things.
-Sets the revive locations to an array
-Sets the stones to an array
-Gives the trigger for going near a stone its trigger event
Set Revives
Events
Conditions
Actions
-------- Set Revive Locations --------
Set Revive_LOC[1] = Rstone 1 LOC <gen>
Set Revive_LOC[2] = Rstone 2 LOC <gen>
Set Revive_LOC[3] = Rstone 3 LOC <gen>
-------- Set Stones --------
Set Revive_Stones[1] = Resurrection Stone (southeast facing) 0019 <gen>
Set Revive_Stones[2] = Resurrection Stone (southeast facing) 0030 <gen>
Set Revive_Stones[3] = Resurrection Stone (southeast facing) 0029 <gen>
-------- Add Entry Events to Triggers --------
Trigger - Add to Stone Activate 1 <gen> the event (Unit - A unit comes within 256.00 of Revive_Stones[1])
Trigger - Add to Stone Activate 2 <gen> the event (Unit - A unit comes within 256.00 of Revive_Stones[2])
Trigger - Add to Stone Activate 3 <gen> the event (Unit - A unit comes within 256.00 of Revive_Stones[3])
There is one of these for each stone, it does a few things.
Stone Activate 1
Events
Conditions
Number_Rstone Not equal to 1
((Triggering unit) belongs to an ally of Player 1 (Red)) Equal to True
((Triggering unit) is A Hero) Equal to True
Actions
-------- Remove old stone --------
Visibility - Destroy Rstone_Visible
Animation - Reset Active_Rstone's animation
Set Active_Rstone = No unit
-------- Record current stone --------
Set Active_Rstone = Revive_Stones[1]
Set Number_Rstone = 1
Animation - Play Active_Rstone's stand alternate animation
Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Position of Active_Rstone) to a radius of 300.00
Set Rstone_Visible = (Last created visibility modifier)
This trigger activates a timer for each hero who dies, and gives a trigger event to the actual revive trigger.
(Yes, I could have used a "wait for condition" to put all of this in one trigger. I've done that before.)
Revival Time
Events
Conditions
Actions
Camera - Pan camera for Player 1 (Red) to (Position of Active_Rstone) over 0.00 seconds
Animation - Play Active_Rstone's stand work animation
Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Position of Active_Rstone) to a radius of 300.00
or this
Position of
Camera - Pan camera for Player 1 (Red) to (Position of Active_Rstone) over 0.00 seconds
or this
Center of
Hero - Instantly revive Revive_Hero[Dead_Hero_Count] at (Center of Revive_LOC[Number_Rstone]), Show revival graphics
or this
Position of
Hero - Instantly revive Revive_Hero[(Integer A)] at (Position of Revive_Stones[Number_Rstone]), Show revival graphics
it causes leak and you clean them by storing the position like this
Set tempLoc = (Position of Active_Rstone)
and remove them by doing this
Custom script: call RemoveLocation(udg_tempLoc)
so it would be like this
Stone Activate 1
Events
Conditions
Number_Rstone Not equal to 1
((Triggering unit) belongs to an ally of Player 1 (Red)) Equal to True
((Triggering unit) is A Hero) Equal to True
Actions
-------- Remove old stone --------
Visibility - Destroy Rstone_Visible
Animation - Reset Active_Rstone's animation
Set Active_Rstone = No unit
-------- Record current stone --------
Set Active_Rstone = Revive_Stones[1]
Set Number_Rstone = 1
Animation - Play Active_Rstone's stand alternate animation
Set tempLoc = (Position of Active_Rstone)
Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Position of Active_Rstone) to a radius of 300.00
Set Rstone_Visible = (Last created visibility modifier)
Custom script: call RemoveLocation(udg_tempLoc)
something like that.. I hope you know how to do the rest
also, someone used to tell me that using Integer A is not recommended, because of that I used [For Each Integer Variable, Do Multiple Actions] instead. Not sure why though.
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.