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.
  • Varine Varine:
    How can you tell the difference between real traffic and indexing or AI generation bots?
  • The Helper The Helper:
    The bots will show up as users online in the forum software but they do not show up in my stats tracking. I am sure there are bots in the stats but the way alot of the bots treat the site do not show up on the stats
  • Varine Varine:
    I want to build a filtration system for my 3d printer, and that shit is so much more complicated than I thought it would be
  • Varine Varine:
    Apparently ABS emits styrene particulates which can be like .2 micrometers, which idk if the VOC detectors I have can even catch that
  • Varine Varine:
    Anyway I need to get some of those sensors and two air pressure sensors installed before an after the filters, which I need to figure out how to calculate the necessary pressure for and I have yet to find anything that tells me how to actually do that, just the cfm ratings
  • Varine Varine:
    And then I have to set up an arduino board to read those sensors, which I also don't know very much about but I have a whole bunch of crash course things for that
  • Varine Varine:
    These sensors are also a lot more than I thought they would be. Like 5 to 10 each, idk why but I assumed they would be like 2 dollars
  • Varine Varine:
    Another issue I'm learning is that a lot of the air quality sensors don't work at very high ambient temperatures. I'm planning on heating this enclosure to like 60C or so, and that's the upper limit of their functionality
  • Varine Varine:
    Although I don't know if I need to actually actively heat it or just let the plate and hotend bring the ambient temp to whatever it will, but even then I need to figure out an exfiltration for hot air. I think I kind of know what to do but it's still fucking confusing
  • The Helper The Helper:
    Maybe you could find some of that information from AC tech - like how they detect freon and such
  • Varine Varine:
    That's mostly what I've been looking at
  • Varine Varine:
    I don't think I'm dealing with quite the same pressures though, at the very least its a significantly smaller system. For the time being I'm just going to put together a quick scrubby box though and hope it works good enough to not make my house toxic
  • Varine Varine:
    I mean I don't use this enough to pose any significant danger I don't think, but I would still rather not be throwing styrene all over the air
  • The Helper The Helper:
    New dessert added to recipes Southern Pecan Praline Cake https://www.thehelper.net/threads/recipe-southern-pecan-praline-cake.193555/
  • The Helper The Helper:
    Another bot invasion 493 members online most of them bots that do not show up on stats
  • Varine Varine:
    I'm looking at a solid 378 guests, but 3 members. Of which two are me and VSNES. The third is unlisted, which makes me think its a ghost.
    +1
  • The Helper The Helper:
    Some members choose invisibility mode
    +1
  • The Helper The Helper:
    I bitch about Xenforo sometimes but it really is full featured you just have to really know what you are doing to get the most out of it.
  • The Helper The Helper:
    It is just not easy to fix styles and customize but it definitely can be done
  • The Helper The Helper:
    I do know this - xenforo dropped the ball by not keeping the vbulletin reputation comments as a feature. The loss of the Reputation comments data when we switched to Xenforo really was the death knell for the site when it came to all the users that left. I know I missed it so much and I got way less interested in the site when that feature was gone and I run the site.
  • Blackveiled Blackveiled:
    People love rep, lol
    +1
  • The Helper The Helper:
    The recipe today is Sloppy Joe Casserole - one of my faves LOL https://www.thehelper.net/threads/sloppy-joe-casserole-with-manwich.193585/
  • The Helper The Helper:
    Decided to put up a healthier type recipe to mix it up - Honey Garlic Shrimp Stir-Fry https://www.thehelper.net/threads/recipe-honey-garlic-shrimp-stir-fry.193595/

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top