Unit revive, Prevent Unit Death

Kelv

TH.net Regular
Reaction score
7
How have some of you find ways to recreate the wc3 system where you can choose to revive your fallen hero which creates an identical hero with all the same stats?

I was working on a system where I make the unit get down to 1 health, then make it hidden, and move it to a spawn location, unhide it, and set its health back to 100%.

Problem with my system is I think its still possible to kill a unit. I haven't found a perfect way to keep a unit constantly alive but at 1 health.

Trigger:
  • Player Hero Dies
    • Events
      • Unit - Any Unit takes Fatal or Non-Fatal Any damage (from Any effects)
    • Local Variables
    • Conditions
      • (Triggering damage amount) >= ((Triggering unit) Life (Current))
      • (Unit type of (Triggering unit)) == Commander
    • Actions
      • Unit - Turn (Triggering unit) Invulnerable state On
      • Unit - Turn (Triggering unit) Hidden state On
      • Unit - Set (Triggering unit) Life to ((Triggering unit) Life (Default))
      • Tech Tree - Allow the Barracks - Train Commander ability for player (Owner of (Triggering unit))


This is a system that seems to work most of the time. If I change the event to a unit takes fatal damage, and remove the condition, it doesn't work at all.

Apparently, this system worked in Wc3. I was searching on this site.
 

Dan

The New Helper.Net gives me great Anxiety... o.O;;
Reaction score
159
If the way that you are using is going to work, I would throw in a "make unit invulnerable" which might assure it's survival in there... but It seems like I might just be a dangerous way to go about it.
 

SerraAvenger

Cuz I can
Reaction score
234
1. Only fire on fatal damage
2. Only reset hp and turn invul to see if the unit dies nevertheless.
 

Kelv

TH.net Regular
Reaction score
7
1. Only fire on fatal damage
2. Only reset hp and turn invul to see if the unit dies nevertheless.

I don't know what you mean by #2. I actually don't want to reset the hp, if so, it makes it look like the unit is still alive. My trigger only fires when the unit should die, the problem seems to be when the trigger fires in rapid succession. I like to send messages so I know when triggers are firing when debugging. Everytime I run into a problem its when I get two messages at once.

Right now the only sure-fire method I can see right now is to make your shield, your life.
 

SerraAvenger

Cuz I can
Reaction score
234
What I mean is that you better test out whether you can rescue a unit or not. In other words, let a unit "die" by damage, then see if it dies even if you set it to invul&max hp without having the unit actually die.
If you can, you'll have to look deeper. If you can't, it's not possible to always save units.

Addressing THIS
Problem with my system is I think its still possible to kill a unit.
Issue.

Your problem isn't the hiding stuff, it is that you don't KNOW if it's possible to save a unit. Hence you don't want to find out how to hide a unit, because you can already do that. You want to find out if the unit is still killed.
 

Dan

The New Helper.Net gives me great Anxiety... o.O;;
Reaction score
159
what we are saying is that you need to stop worrying about the hiding part and the hp after you "rez" the unit.

if you truely want to debug then you have to isolate your issues. You have a good start with debugging messages printed out, but you have to follow that up by not doing so much at once.

try killing your unit multiple ways with attempts to save him at 1hp with "make invulnerable" or "hide" or both or "reaches 0 hitpoints = return to full" etc... once you can reliably save your unit (if you can that is) then you can do whatever effects you want with hiding and resurrecting and this and that.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      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