Tutorial World of Warcraft-Alike Revive

hasslarn

New Member
Reaction score
20
Hi everybody and Welcome to my World of Warcraft-Alike Revive Tutorial

In this Tutorial im gonna help you:
Creating a WoW-Alike Revive System (If you wanna call it that)

Chapter 1 - Creating the units


Start with creating the unit
for each hero you have
create a new unit called "Name of hero(Dead)"

And change theese fields

Code:
Art - Icon - Game Interface (Icon of hero)
Art - Model File (Model of hero)
Movement - Speed Base (Change to 500)
Sound - Unit Sound Set (Change to AvatarofVengence)
Name - "Name of hero" (Dead)

Base the unit off Wisp unit

Now we are done with the Object Ediot , Let's go to the Trigger Editor


Chapter Two - Creating the triggers
First we create Variables you can find it in the Trigger Editor the big Yellow (X)

The Varibales needed:
abillitypos - point (The postion of the casting unit LOOK DOWN)
gravepos - point (Postion of the grave LOOK DOWN)
point - point (Postion of the dying hero LOOK DOWN)
dyinghero - unit
Graveunit - unit
group - unit group (Needed for later LOOK DOWN)

Start with creating the first Trigger and Call it whatever you want to.

Code:
Unit dead
    Events
        Unit - A unit Dies
    Conditions
        ((Dying unit) is A Hero) Equal to True
        ((Dying unit) belongs to an ally of Player 1 (Red)) Equal to True
        ((Owner of (Dying unit)) controller) Equal to User
    Actions
        Set point = (Position of (Dying unit))
        Cinematic - Ping minimap for (Player group((Owner of (Dying unit)))) at point for 20.00 seconds
        Unit - Create 1 (Unit-type of (Dying unit)) for (Owner of (Dying unit)) at point facing Default building facing degrees
        Unit - Change ownership of (Last created unit) to Neutral Passive and Change color
        Animation - Play (Last created unit)'s death animation
        Unit - Make (Last created unit) Invulnerable
        Set GraveUNIT = (Last created unit)
        Set Dyinghero = (Dying unit)
        Custom script:   call RemoveLocation (udg_point)
Explanation:
Event : Fires if the unit is dead
Conditions: Continue if the dead unit is a hero and the owner is a user and belongs to an ally of player 1
Action: Creates a new unit with lvl 1 wich is Invulnerable and plays the death animation looking like clickable corpes

Code:
Create Spirit
    Events
        Unit - A unit Dies
    Conditions
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Unit-type of (Dying unit)) Equal to Human
            Then - Actions
                Unit - Create 1 Human Paladin (Dead) for (Owner of (Dying unit)) at (Center of Region 000 <gen>) facing Default building facing degrees
                Animation - Change (Last created unit)'s vertex coloring to (50.00%, 50.00%, 50.00%) with 50.00% transparency
            Else - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Unit-type of (Dying unit)) Equal to Dwarf
                    Then - Actions
                        Unit - Create 1 Dwarf Warrior (Dead) for (Owner of (Dying unit)) at (Center of Region 000 <gen>) facing Default building facing degrees
                        Animation - Change (Last created unit)'s vertex coloring to (50.00%, 50.00%, 50.00%) with 50.00% transparency
                    Else - Actions
Explanation:
Event : Fire if a unit dies
Conditions:N/A
Actions: If the dying unit is "Dwarf" then it will create a dwarf looking dead this should be your spirit
Code:
unit
    Events
        Time - Every 5.00 seconds of game time
    Conditions
    Actions
        Set gravepos = (Position of GraveUNIT)
        Set group = (Units within 500.00 of gravepos)
        Unit Group - Pick every unit in group 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 Human Paladin (Dead)
                    Then - Actions
                        Unit - Remove Resurrection Hero  from (Picked unit)
                        Unit - Add Resurrection NOW! [W]  to (Picked unit)
                    Else - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (Unit-type of (Picked unit)) Equal to Dwarf Warrior (Dead)
                            Then - Actions
                                Unit - Remove Resurrection Hero  from (Picked unit)
                                Unit - Add Resurrection NOW! [W]  to (Picked unit)
                            Else - Actions
                                Custom script:   call RemoveLocation (udg_gravepos)
                                Custom script:   call DestroyGroup (udg_group)
Explanation:
Event - Every 5 sec of the game this should fire
Action: If a spirit is 500 potion of the Grave then it will add Resurrection to the unit
Code:
ress
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Resurrection NOW! [W] 
    Actions
        Set abillitypos = (Position of (Casting unit))
        Unit - Remove (Casting unit) from the game
        Hero - Instantly revive Dyinghero at abillitypos, Show revival graphics
        Unit - Remove GraveUNIT from the game
        Custom script:   call RemoveLocation (udg_abillitypos)
Explanation:
Event - It will start if its an abillity begin cast
Conditions - If the abillity is Resurrection NOW! [W] then it should continue
Actions - Revive the hero that died at the postion of casting unit (Spirit)




Screenshots (A little wierd :p , Couldent Convert .tga some other way)
62128917la7.jpg
11637076fq2.jpg
22939197hx2.jpg
95577954cs8.jpg
28707150sd3.jpg
95771464fx9.jpg


Bonus Tutorial - Using Spirit Healer

What it does: You revive your unit with the spirit healer giving you a Revive sickness giving you -60 armor.

First we start at the Object Editor

Make 1 new unit based on Footman
Change These Fields
Code:
Name - Dummy Unit
Icon - (If you want to)
Model - None.mdl
Cooldown - 0
Movement speed base - 522

Ok this is gonna be the dummy whos gonna give the curse.

Ok now move to Abillities in Object Editor

Find Faerie Fire or Item Attack Corruption Bonus
These two spells can reduce your armor
I'm going to use Item Attack Corruption Bonus
Ok create a new abillity based on Item Attack Corruption Bonus
and change these fields
Code:
Icon - Mask Of Death
Armor Penalty - 60 
Damage Bonus - 0
Enable Attack - 0
Name - Revive Sickness
And then a spell called "Spirit healer" base it on Storm bolt and just remove damage and stunn duration and buff.

Alright now create a new buff based on Corruption Buff and change these fields

Code:
Icon - Mask of Death
Tooltip - Revive Sickness
Tooltip - Extended  - (Your Text)

Ok good now we got the abillity , btw forgot one thing
go back to units and create a new unit based on Sorceress
and just change its name to Spirit Healer and add Invurabillity to the unit



Aight lets go to the triggers

Make New Variables
Code:
sp - point
sg - unit group
ress - point

Create one new Trigger name it to whatever you want to
and make it like this
Code:
Spirit healer UNIT
    Events
        Time - Every 2.00 seconds of game time
    Conditions
    Actions
        Set sp = (Position of Spirit Healer 0006 <gen>)
        Set sg = (Units within 300.00 of sp)
        Unit Group - Pick every unit in sg 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 Human Paladin (Dead)
                    Then - Actions
                        Unit - Add Spirit Healer  to (Picked unit)
                    Else - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (Unit-type of (Picked unit)) Equal to Dwarf Warrior (Dead)
                            Then - Actions
                                Unit - Add Spirit Healer  to (Picked unit)
                            Else - Actions
                                Custom script:   call RemoveLocation (udg_sp)
                                Custom script:   call DestroyGroup (udg_sg)
Explantion :
Event - Fires the trigger every 2 secounds of the game
Action - Looks if the spirit is near the spirit healer and gives him an abillity to revive with.

Code:
spirit healer RESS
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Spirit Healer 
    Actions
        Set ress = (Position of (Casting unit))
        Unit - Remove (Casting unit) from the game
        Hero - Instantly revive Dyinghero at ress, Show revival graphics
        Unit - Remove GraveUNIT from the game
        Cinematic - Fade in over 1.00 seconds using texture Dream and color (0.00%, 0.00%, 0.00%) with 0.00% transparency
        Custom script:   call RemoveLocation (udg_ress)
        Unit Group - Pick every unit in (Units owned by (Owner of (Casting unit))) 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 Dwarf Warrior (Dead)
                        (Unit-type of (Picked unit)) Equal to Human Paladin (Dead)
                    Then - Actions
                        Unit - Remove (Picked unit) from the game
                    Else - Actions
Explantion:
Event - The Trigger fires if anyone castes a spell
Condtion - It should only go on if the abillity is "Spirit Healer"
Action - Removes the unit and revives the dead hero and removes the cinematic fading alwso removes all spirit units left incase of bugg.

Code:
spirit healer curse
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Spirit Healer 
    Actions
        Unit - Create 1 Dummy unit for Player 2 (Blue) at (Position of (Triggering unit)) facing Default building facing degrees
        Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
        Unit - Order (Last created unit) to Attack Once Dyinghero
        Player - Set (Owner of (Casting unit)) Current gold to (((Owner of (Casting unit)) Current gold) - 3000)
        Hero - Make (Owner of (Casting unit)) Heroes gain 50.00% experience from future kills
Explantion:
Event - The Trigger fires if anyone castes a spell
Condtion - It should only go on if the abillity is "Spirit Healer"
Action - Create a dummy unit that will attack casting unit and give him a revive sickness and alwso it will remove 3000 of the player(s) gold and the experiance rate down to 50%
 

D.V.D

Make a wish
Reaction score
73
I don't think anyone would use this in a rpg exept the wc3 WOW team for their map other than that, not many people like the spirit thing trying to find the body. It gets everyone frustrated and its kind of time wasting.
 

Kilgam

New Member
Reaction score
2
It's a cool way to revive, but kinda buggy.

1) You can move the corpse(grave) of your hero...
2) You forgot to remove the leaks, etc.. use Custom script: call RemoveLocation(udg_your_var).
3) Maybe you should add some effect and stuffs, it looks abit plain when your grave and spirit just pops up.

That's all i can think of right now.
 

Romek

Super Moderator
Reaction score
963
It's a good Idea. Althought WoW made it, You thought of putting it into Wc3.

Although.. Your grammar is very, very bad and it's annoying to read.
It's not MUI or MPI.
It Leaks.
We need pictures :)
 

UndeadDragon

Super Moderator
Reaction score
447
Maybe, instead of creating a new spirit type unit, create a unit-type of dying unit and then set the transparency to something like >50%. That would make it more like WoW.
 

Kilgam

New Member
Reaction score
2
If your after a graveyard system similiar to WoW you could always check the Frozen Throne Scenario maps, there a map named ''Extreme Candy War'' that has it.
 

hasslarn

New Member
Reaction score
20
-Bump updated

-Instead of grave corpes
-Pining the minimap
-Better Spirit
-Faster Spirit
-Leak Fixed
-New Tutorial
 

hasslarn

New Member
Reaction score
20
-Bump

Added Screenshots

NOT GOOD Once there upside down just noticed that , converted them from .tga to .jepg and now there upside down... Sorry guys!
 

UndeadDragon

Super Moderator
Reaction score
447
How about adding a cinematic fade filter which makes the screen seem more "grey" than usual?
 

Drunken_God

Hopes to get back into Mapmaking with SC2 :)
Reaction score
106
it looks crappy if your hero dies 2 times...
and also there was a bug when my mk and my paladin died at the same time and i revived the paladin and afterwards the mk the ghost of the mk disappeared
and you should remove the ability again if your ghost goes too far away from the corpse
also you should remove the attack of the ghost and edit that moving button
 

hasslarn

New Member
Reaction score
20
-Updated

- Changed Cinematic to Dream so it looks more like wow
- Added Spirit healer
- Added Revive Sickness ( Cursed )
- Added Revive Protection ( Inuvarable when revived for 15 sec)
- Added Bonus Tutorial - Spirit Healer
 

Romek

Super Moderator
Reaction score
963
I can't believe you posted upside down screenshots.
Just use Paint or something, take a screeny, paste, save, done.

Abusing Spoiler tags for triggers: it's annoying.
The triggers are still not MUI or MPI. At least make it MPI...

and the "unit" trigger is extremely poorly coded.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top