• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Trigger] Making a Boss that revives heros.

Status
Not open for further replies.
Level 2
Joined
May 14, 2019
Messages
19
8ebn8


Hello everyone! I'm a newcomer here :D

I'm making myself an enchanced Warchasers map. You know the old school 4 man map where you basically fight through a city of monsters. The map made by blizzard, and originally have 3 bosses.
I made a bunch, with custom models etc etc.

I came up with an idea that, there would be a boss. A Phoenix egg what revives a defeated boss if it drops to a specific amount of hp and turns into invunereable for a while.

Obviously the Boss "herself" is a Hero. I used the Warden as a base before i started changing her stats.

The problem was that...she didn't appear. Not even the Egg's position, nor the Area i pointed for her.

I'd be grateful for the help, thank you guys :3
 

Attachments

  • aaa.png
    aaa.png
    84.1 KB · Views: 88
Level 3
Joined
Oct 1, 2018
Messages
63
I cannot tell you why it does not work. Perhaps the Warden has this ability, which makes it invisible during night. Which means, she is there but cannot be seen...
I had this kind of problem over and over. Otherwise i dont see why she should not be there.

Edit:
I Recommand you to use wait - game time. Normal waits (i think) continue while the game is paused.
20 Seconds Invincibility seem a bit overwhelming, i would reduce it to 15 or spawn Minions while the player can't do a thing to the boss.
 
Last edited:
Level 2
Joined
May 14, 2019
Messages
19
Thanks for your answer, my friend.

Well the boss does not do anything, only but buff the monsters + bosses (Heroes) it revives. Allright i'll try the in-game wait trigger maybe that will work.
If not i'll just simply change into monsters instead of Heroes.

The thing is that. I could swap the revive command to "Create Unit" and place a new boss, increase its level stats etc, but......
The boss what is already on the map at the beginning, has a lot of triggers.

Voices, Wound Sounds, death sound, engage, Music. Thoose are all tagged to that specific unit. If i create a new one with the create command, all thoose triggers won't apply to her.

This is basically the reason why i want to Revive that specific one.
 
Level 3
Joined
Oct 1, 2018
Messages
63
Have you tried to store this boss into an unit variable before killing / riviving it. Im not sure why it does not work or why it should work with an unit variable instead. The trigger you posted above should work. If you upload your map and post all triggers, that interact with the boss i could say more.

The Warden boss does not have the Shadowmeld ability, right?
 
Level 2
Joined
May 14, 2019
Messages
19
No she doesn't have the Shadowmeld ability, thankfully XD

Well i don't really know how to store her, i was thinking about placing an Altar of Heroes, because i changed her to human - Campaign hero unit so i can find all the bosses more easily if i want to balance some of their stats.

The triggers are basically sounds as her hp dropps down.
taunts, wound sounds, engage quote.
Also a music. After she dies the music gets replaced to undead2 wich is the "base" music in the "original" Warchasers map.
 

Attachments

  • Shira triggers 1.png
    Shira triggers 1.png
    205.3 KB · Views: 33
  • Shira triggers 2.png
    Shira triggers 2.png
    153.6 KB · Views: 30
Level 3
Joined
Oct 1, 2018
Messages
63
No she doesn't have the Shadowmeld ability, thankfully XD

Well i don't really know how to store her, i was thinking about placing an Altar of Heroes, because i changed her to human - Campaign hero unit so i can find all the bosses more easily if i want to balance some of their stats.

The triggers are basically sounds as her hp dropps down.
taunts, wound sounds, engage quote.
Also a music. After she dies the music gets replaced to undead2 wich is the "base" music in the "original" Warchasers map.

Im sorry for answering that late. The triggers you postet do not affect the revival in anyway. I have build your revival trigger and tested it. Got the same result. I think the event isn't good for this. Try periodic event, lets say each 0,03 second. What you do is save the live of thephoenix egg into a real variable, then you check, if the real variable becomes less then the value that you want your hero to be revived. the action than is simply the same, revive the hero. Havent tested that, but it should work.

My map for an example, doesnt work eather the way you tried.

Edit: If you try the periodic way, make sure to deaktivate the trigger when it has done its job. Also Unit takes damage could work as an event for this.

Edit2: periodic works! take a look into the map.
 

Attachments

  • ReviveHero.w3x
    12.4 KB · Views: 29
  • periodic.w3x
    12.7 KB · Views: 27
Last edited:
Level 8
Joined
May 21, 2019
Messages
435
Word of caution:
You are making a trigger based on the HP of the boss, yet, the boss is a hero.
Heroes gain HP regen from strength, so unless you have set that to 0 in your map, that boss will regenerate some HP. This means that you could potentially trigger the same hp events more than once. I recommend making your boss a non-hero, as it makes things like this much easier to control. There really isn't much reason to make bosses heroes in the first place. Alternatively, you have to separate the HP events into triggers that are disabled once the HP drops below the specified point once.

As for the revive trigger, the only thing I can think of is that the game can't find the specific Shira that you're referring to. I have never encountered this issue before (as I never did this specific thing), but one possible reason (total guess) is that the game assumes that dead neutral hostile heroes aren't going to be revived, so it deletes the reference to it, to free up memory, which is why you can't refer to the specific ID of a dead neutral hostile hero. You can probably fix this by making a variable for Shira and then revive her by referring to that instead.

I have revived neutral hostile heroes before using (triggering unit) or (dying unit) to refer to the dying hero in a single trigger, so that approach doesn't rely on the specific ID of the dead hero, so I am fairly confident that the issue is you referencing the specific ID of the unit.
 
Level 3
Joined
Oct 1, 2018
Messages
63
Word of caution:
You are making a trigger based on the HP of the boss, yet, the boss is a hero.
Heroes gain HP regen from strength, so unless you have set that to 0 in your map, that boss will regenerate some HP. This means that you could potentially trigger the same hp events more than once. I recommend making your boss a non-hero, as it makes things like this much easier to control. There really isn't much reason to make bosses heroes in the first place. Alternatively, you have to separate the HP events into triggers that are disabled once the HP drops below the specified point once.

As for the revive trigger, the only thing I can think of is that the game can't find the specific Shira that you're referring to. I have never encountered this issue before (as I never did this specific thing), but one possible reason (total guess) is that the game assumes that dead neutral hostile heroes aren't going to be revived, so it deletes the reference to it, to free up memory, which is why you can't refer to the specific ID of a dead neutral hostile hero. You can probably fix this by making a variable for Shira and then revive her by referring to that instead.

I have revived neutral hostile heroes before using (triggering unit) or (dying unit) to refer to the dying hero in a single trigger, so that approach doesn't rely on the specific ID of the dead hero, so I am fairly confident that the issue is you referencing the specific ID of the unit.

The revive function works fine. The event seems to be the problem here. Deaktivating live regeneration is one way, that MAY work. I dont think it's always better, using normal units as bosses. Heros and units have both pros and cons. Anyway, there are enough work-arounds to get this done. It's up to Vreath now.

On the other Hand: In my current projekt i am using heroes as normal units. This map freezes. Throughout this projekt i learned so much about leaks but couldnt fix the freeze. I think that heroes cannot be completely removed.
 
Level 8
Joined
May 21, 2019
Messages
435
The revive function works fine. The event seems to be the problem here. Deaktivating live regeneration is one way, that MAY work. I dont think it's always better, using normal units as bosses. Heros and units have both pros and cons. Anyway, there are enough work-arounds to get this done. It's up to Vreath now.

On the other Hand: In my current projekt i am using heroes as normal units. This map freezes. Throughout this projekt i learned so much about leaks but couldnt fix the freeze. I think that heroes cannot be completely removed.

I can't for the life of my think of a single pro to having hero units all over the place, other than minor conveniences that comes with major drawbacks.
Normal units are just way easier to control, and you can easily modify spells and etc to function exactly like they would on a hero unit. In fact, it'd work much better because you don't have to order the units to research custom spells.
I've noticed that heroes are popular amongst new map makers because they are relatively easy to adjust when placed (giving items, setting stats, etc), but it really is much better to simply create a unit with the desired stats and effects, and then use that, as you don't have to worry about any game constants applying to heroes. You can even scale the strength of these units very easily using either upgrades or stat adjustment triggers.

I have used the life percentage event successfully lots of times, but only on normal units as far as I recall.

Try sending me your current project that freezes, I will have a quick look at it.
 
Level 2
Joined
May 14, 2019
Messages
19
Hello again! Sorry for the late answer!

Okay lemme re-phase the whole thing.
The Boss what revives Shira (Who is another earlier boss on the map) is a Non-Neutral (Player12 Brown / Souless) Brown player Non-Hero. I mean the Phoenix Egg. Actually he has 0 Hp regen, only abilites like immolation and auras. (The Egg HAD Unholy Aura but i tried without it, and it didn't fix the problem.)
Shira herself is indeed a Hero. Also for triggers about Hp. I never had issues or problems with thoose triggers. If she regen back Health to a specific point that trigger just activated again, wich is as i said one of the following. (Wound sounds, Engage Quotes, Taunts) Music Triggers allways contains "Turn off this trigger" in action tab.
I've tried to make varieable but ehh I'm very unexperienced with this.

I've tried to re-create your trigger Donner, made real variable and do periodic events but...she still didn't appear.
I made a 0 sec periodic kill event what killed the boss(hero) and then i made the trigger in the picture.

If all else fails i can post the map wich is....a neat amount of 100MB+ mapp full of Weeb stuff and shinenigans.
See the trigger below.
 

Attachments

  • testingtrigger.png
    testingtrigger.png
    199.6 KB · Views: 27
Level 3
Joined
Oct 1, 2018
Messages
63
Hello again! Sorry for the late answer!

Okay lemme re-phase the whole thing.
The Boss what revives Shira (Who is another earlier boss on the map) is a Non-Neutral (Player12 Brown / Souless) Brown player Non-Hero. I mean the Phoenix Egg. Actually he has 0 Hp regen, only abilites like immolation and auras. (The Egg HAD Unholy Aura but i tried without it, and it didn't fix the problem.)
Shira herself is indeed a Hero. Also for triggers about Hp. I never had issues or problems with thoose triggers. If she regen back Health to a specific point that trigger just activated again, wich is as i said one of the following. (Wound sounds, Engage Quotes, Taunts) Music Triggers allways contains "Turn off this trigger" in action tab.
I've tried to make varieable but ehh I'm very unexperienced with this.

I've tried to re-create your trigger Donner, made real variable and do periodic events but...she still didn't appear.
I made a 0 sec periodic kill event what killed the boss(hero) and then i made the trigger in the picture.

If all else fails i can post the map wich is....a neat amount of 100MB+ mapp full of Weeb stuff and shinenigans.
See the trigger below.

This trigger is exactly like mine. If this does not work, i don't have any clue why.
Now it's getting wired. Don't give up yet, there might be a way.
Uploading your map might help a lot, so we can see for ourself why it does not work.
I'm not planning to steal from you, don't worry.
 
Level 2
Joined
May 14, 2019
Messages
19
Oh you'd not steal anything because the original map is still the warchasers map, and most of all models can be found here!

Listen the "moans" and you'll understand why i feel a bit nervous when i showing this stuff to others.

Allright i will upload the map here, and maybe that will show us some stuff.
 

Attachments

  • (4)WarChasersBACKUP2.w3x
    81.9 MB · Views: 32
Level 8
Joined
May 21, 2019
Messages
435
the Phoenix Egg actually has 0 Hp regen
Right, with the egg not being a hero, it can't be due to strength based regeneration then. The problem may be with the base unit that you used for the egg. There are some weird interactions on these at times. I bet you could fix the issue by using a different base unit for the egg. What did you use this time around? If you used the actual phoenix egg as the base unit, then you've probably opened a whole pandoras box of weird interactions meant to keep the actual phoenix spell working as intended, because that's a notoriously fragile spell. So if you used that, I'm 99% certain that's the problem.

If all else fails i can post the map wich is....a neat amount of 100MB+ mapp full of Weeb stuff and shinenigans.
All the more reason to check it out! :D
I will have a look at it in a few hours.
 
Level 8
Joined
May 21, 2019
Messages
435
Alright, so I ran a few tests...:

  1. First thing I did was check the "HP Becomes" event. It works. I was able to make it do all kinds of actions, except reviving Shira.
  2. Then I checked to see if the game was unable to locate Shira after she had died... but... it wasn't. I was able to make the game spit the unit name of her out right before she would have been revived, which proves that the game at the very least has a reference to her.
  3. Then I tried making the trigger that kills her revive her 2 seconds later. This should have worked... but once again... no dice.
  4. Then I tried reviving her somewhere else to see if the region was doing something. Nope.
  5. Then I tried changing her player owner to player 7 and BAM, there she was, reviving. So... this map is doing something with player 12 units that is making it unable to revive heroes from that faction.
  6. Then I tried to check if maybe she was in fact reviving by trying to move her to the location that I set. No dice.
  7. Then I tried to check it again, this time, by changing her owner to me after trying to revive her. This showed that she was indeed dead, as I now had her dead portrait listed as my hero.
  8. Guess I could look for the trigger that makes it not work. Oh... wow... that's a lot of messy triggers... yeah... nope...
  9. WORKAROUND TIME!
  10. Changed the owner of Shira. Then revived her. Then changed back to player 12. WAM BAM THANK YOU MAM.... it worked... is what I am trying to say

SO. Long story short:
  • The HP event works
  • The problem is the map doing something with player 12 units.
  • The following trigger works, and can revive her:
  • Flamewynder Revive
    • Events
      • Unit - Essence of the Flamewynder 0659 <gen>'s life becomes Less than 7500.00
    • Conditions
    • Actions
      • Unit - Change ownership of Shira the Rouge Knight 0388 <gen> to Player 8 (Pink) and Change color
      • Hero - Instantly revive Shira the Rouge Knight 0388 <gen> at (Center of Start2 <gen>), Show revival graphics
      • Unit - Change ownership of Shira the Rouge Knight 0388 <gen> to Player 12 (Brown) and Change color
      • Unit - Make Essence of the Flamewynder 0659 <gen> Invulnerable
      • Hero - Set Shira the Rouge Knight 0388 <gen> Hero-level to 40, Show level-up graphics
      • Wait 40.00 seconds
      • Unit - Make Essence of the Flamewynder 0659 <gen> Vulnerable
 
Level 2
Joined
May 14, 2019
Messages
19
Wow you really digged into it Cespie!
I'm glad i brought someone a little challenge at least, or joy with this map and triggers!

Well I will indeed try this myself as well, originally i wanted to make Bosses as a seperate player, (To illustrate the other "faction" in the story of the map) for example teal, so the map will tell that this unit is something different.
I'm glad that we discovered this, and you helped me with this trigger! (AND THAT MEANS EVERYONE WHO ANSWERED+CHECKED THIS TOPIC :D)
I did a sketch for the final boss, and the mechanic for that fight is that, the Boss will revive every defeated Boss and empower them, one by one.
Damn that will be a long fight.

Also let's edit the trigger, shall we?

What about.....As soon as the Boss' hp (The Phoenix Egg) dropps to the specific point (7500 in this case), make it invulnerable, and make vulnerable only after the revived boss (Shira) died.

I bet we have to make her a variable. It's weekend finally so i can theorycraft more freely now! :d
 
Level 8
Joined
May 21, 2019
Messages
435
I'm glad that we discovered this, and you helped me with this trigger!
You can show your appreciation by clicking that little green + button under my portrait and give me reputation. I have 0, so I feel like a bum lol.

Also let's edit the trigger, shall we?
What about.....As soon as the Boss' hp (The Phoenix Egg) dropps to the specific point (7500 in this case), make it invulnerable, and make vulnerable only after the revived boss (Shira) died.
Yeah, i was wondering why you didn't do that to begin with.

I can make that for you pretty easily.
First, start off by making a "unit" array variable. I named it "FlamewynderReviveTarget" in this example, but you can call it whatever you want. It's important that you tick the box named "Array" and that you set the size to at least the amount of bosses you want to revive. Then make an "integer" variable. I called mine "FlamewynderReviveCounter".
Now, all we need is 3 little triggers.
In this example, I am doing 5 bosses, but you can include any amount of bosses you want.

  • Flamewynder Revive List
    • Events
      • Time - Elapsed game time is 0.10 seconds
    • Conditions
    • Actions
      • Set FlamewynderReviveTarget[0] = BOSS1 <gen>
      • Set FlamewynderReviveTarget[1] = BOSS2 <gen>
      • Set FlamewynderReviveTarget[2] = BOSS3 <gen>
      • Set FlamewynderReviveTarget[3] = BOSS4 <gen>
      • Set FlamewynderReviveTarget[4] = BOSS5 <gen>
This is the list of heroes we are going to revive. It starts at 0, because arrays start at zero. Don't ask why. Pick the bosses where it says (BOSS).

  • Flamewynder Revive
    • Events
      • Unit - Essence of the Flamewynder 0659 <gen>'s life becomes Less than 9000
      • Unit - Essence of the Flamewynder 0659 <gen>'s life becomes Less than 8000
      • Unit - Essence of the Flamewynder 0659 <gen>'s life becomes Less than 7000
      • Unit - Essence of the Flamewynder 0659 <gen>'s life becomes Less than 6000
      • Unit - Essence of the Flamewynder 0659 <gen>'s life becomes Less than 5000
    • Conditions
    • Actions
      • Unit - Make Essence of the Flamewynder 0659 <gen> Invulnerable
      • Unit - Change ownership of FlamewynderReviveTarget[FlamewynderReviveCounter] to Player 8 (Pink) and Change color
      • Hero - Instantly revive FlamewynderReviveTarget[FlamewynderReviveCounter] at (PICK A LOCATION), Show revival graphics
      • Unit - Change ownership of FlamewynderReviveTarget[FlamewynderReviveCounter] to Player 12 (Brown) and Change color
      • Hero - Set FlamewynderReviveTarget[FlamewynderReviveCounter] Hero-level to 40, Show level-up graphics
This trigger revives whatever hero is next on the list. The HP events are examples. You should set these so far apart that the player can never do so much damage that they trigger 2 events at the same time, because then things start to get messy. I would design this trigger to account for that, but quite frankly, you should just ensure that this egg can take a few hits in between each boss to really keep the design concept going.

  • Flamewynder Revived unit dies
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Triggering unit) Equal to FlamewynderReviveTarget[FlamewynderReviveCounter]
    • Actions
      • Unit - Make Flamewynder 0659 <gen> Vulnerable
      • Set FlamewynderReviveCounter = (FlamewynderReviveCounter + 1)
This will make Flamewynder vulnerable whenever the current revive target dies, and increase the counter, which is what causes the next boss in the list to be selected. You can get the (FlamewynderReviveCounter + 1) by picking "Arithmetic".
 
Level 2
Joined
May 14, 2019
Messages
19
Okay so I ran into another problem.

The trigger stopped working, also i did the triggers as you suggested but, or i did something wrong, or it doesn't work...probably i missed something with it.

First my version of the trigger. (1st Picture) The Trigger works like a charm. My problem is, that it only works in one place. There (3rd Picture) right at the starting area where i usually test stuff. I would like him to be in a different place for example there (4th Picture).
But the thing is, it doesn't matter if i cheat my way to there or slowly clearing my path to the boss wich oftentimes takes an entire hour, the revive trigger won't bring back Shira (the hero we want to revive)

But when the boss positioned at the start zone, he keeps reviving the boss just as i imagined. He has high amount of fortified armour so heroes deal low dmg to him, around 15 attacks needed to take down 500 hp to procc the next revival trigger.
In the Triggers i buffed her stats as well as you can see in the 2nd picture.

So i kinda doesn't know what to do. I had an idea in mind that i'll hide him at start, and will unhide him as i progress through the map later, so we can back-track to it. As it meant to be an Optional Boss.

Second, your trigger.

Well...it doesn't bring her back at all. I made her a variable same name as you did. Picked the Array box, and entered 5 as a number. Then I did this trigger (6th picture)
After it i made the 2nd trigger as you showed me (5th picture).
After it i made the 3rd trigger the same way as you did.
Shira didn't get the revive. The Egg stayed invul and nothing happened :c

PS: in the last 3 pictures i purposely turned off the triggers you suggested because i wanted to make sure my version works at all.

Any ideas?
 

Attachments

  • 1.png
    1.png
    230.7 KB · Views: 35
  • 2.png
    2.png
    236.9 KB · Views: 30
  • 3.png
    3.png
    2.1 MB · Views: 36
  • 4.png
    4.png
    2.2 MB · Views: 35
  • 5.png
    5.png
    215.5 KB · Views: 31
  • 6.png
    6.png
    208.2 KB · Views: 59
Level 8
Joined
May 21, 2019
Messages
435
I would like him to be in a different place for example there (4th Picture).
The trigger in 1.png should always respawn her at the position of the egg, no matter where you place him. If that is not the case, you are experiencing an interference from another trigger, probably something in that specific region you're placing him. Try to check the region palette and see what regions are present, then check what those regions are used for. If there is no region, then it's something else, which will possibly be really hard to diagnose as well. This is why map modding can kinda suck, you don't know what the creator was doing, and this map seems to have a ton of poorly contained triggers that weren't meant for others to build on.

Well...it doesn't bring her back at all. I made her a variable same name as you did. Picked the Array box, and entered 5 as a number. Then I did this trigger (6th picture)
After it i made the 2nd trigger as you showed me (5th picture).
After it i made the 3rd trigger the same way as you did.
Shira didn't get the revive. The Egg stayed invul and nothing happened :c
Please send me 2 screenshots of each of the 2 variables as you have made them in the variable editor.
You can also try to diagnose the problem by checking if your reference is working in the game.
Simply make a trigger that spits out a game message with, for example, the name of the unit (target[counter])
 
Level 2
Joined
May 14, 2019
Messages
19
PS.:

I'm certanly sure you can see my triggers for bosses. It's a big mess and some Boss has around 70-80 triggers.
I've cleared them up. When i saw you adding one trigger multiple Life events, i was like. "Hey, can i make Boss voices with less triggers not like 200?"
So while i was waiting your answer i actually did it with Shira as well and...suddenly it fixed the problem.
Yes, it was probably one trigger did some trouble with the ressurecting. I'll try your way of variable triggering again, tonight this late, or tomorrow.
I'm just so glad it worked! Thanks for showing stuff for me!

I'll send you the screenshots if i still run into the problem tho with your version of the revival trigger.
 
Level 8
Joined
May 21, 2019
Messages
435
PS.:
I'm certanly sure you can see my triggers for bosses. It's a big mess and some Boss has around 70-80 triggers.
I've cleared them up. When i saw you adding one trigger multiple Life events, i was like. "Hey, can i make Boss voices with less triggers not like 200?"
So while i was waiting your answer i actually did it with Shira as well and...suddenly it fixed the problem.
Yes, it was probably one trigger did some trouble with the ressurecting. I'll try your way of variable triggering again, tonight this late, or tomorrow.
I'm just so glad it worked! Thanks for showing stuff for me!
I'll send you the screenshots if i still run into the problem tho with your version of the revival trigger.
Yeah, I was wondering why there were that many triggers. Some people prefer to separate things as much as possible, some prefer to combine things. The general idea in combining things, is that is becomes much faster to make changes. There's also refactoring, which is the concept of creating code that can do the same actions for you in multiple scenarios. The way that I designed this revive trigger now, all you need to do to add another boss, is add another life event and a boss to the array.

I hope things will sort themselves out a bit as you clean up in the triggers. :)
 
Status
Not open for further replies.
Top