• 🏆 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!

On event, cast this ability

Status
Not open for further replies.
Level 4
Joined
Jan 6, 2009
Messages
100
The title should be explanatory enough, but if not...

What I want to do is this:
Say a boss monster's health is, I don't know, 20%. I want that hero to cast Divine Shield on himself and summon a bunch of monsters that the brave adventurers have to fight.

Once all creeps are down, Divine Shield goes away, and the Boss Monster resumes getting beaten up.

My question is: Is this possible? And if so, could someone please show me how to do it?

+ rep to anyone that helps, of course :)
 
Level 3
Joined
Jun 30, 2010
Messages
75
I think it is possible.
If you make the monsters have their own 'team'.
Then make the monsters cost one food (So they take up 1 food).
Then make a trigger that goes like this.
  • Event: Player - Player 1 (Monsters Team)'s Food used becomes Equal to 0.00
  • Conditions:
  • Actions: Unit - Make (Boss) Vulnerable
Then I'd say that you should use a trigger that makes the unit invulnerable when he reaches 20% since I don't know if it works with divine shield this way.
That should most likely do the trick.

----

Dejavuu
 
Level 37
Joined
Mar 6, 2006
Messages
9,240

  • Untitled Trigger 001
    • Events
      • Unit - Paladin 0000 <gen>'s life becomes Less than (0.20 x (Max life of Paladin 0000 <gen>))
    • Conditions
    • Actions
      • Trigger - Turn off (This trigger)
      • Trigger - Turn on Untitled Trigger 002 <gen>
      • Unit - Order Paladin 0000 <gen> to Human Paladin - Activate Divine Shield
      • Set Temp_Point = (Position of (Triggering unit))
      • Unit - Create 1 Footman for Player 1 (Red) at Temp_Point facing Default building facing degrees
      • Unit Group - Add (Last created unit) to Temp_Group
      • Unit - Create 1 Rifleman for Player 1 (Red) at Temp_Point facing Default building facing degrees
      • Unit Group - Add (Last created unit) to Temp_Group
      • Custom script: call RemoveLocation(udg_Temp_Point)
  • Untitled Trigger 002
    • Events
      • Unit - A unit Dies
    • Conditions
      • ((Triggering unit) is in Temp_Group) Equal to True
    • Actions
      • Unit Group - Remove (Triggering unit) from Temp_Group
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Temp_Group is empty) Equal to True
        • Then - Actions
          • Trigger - Turn off (This trigger)
          • Trigger - Turn on Untitled Trigger 001 <gen>
          • Unit - Remove Divine Shield buff from Paladin 0000 <gen>
        • Else - Actions


Modify the duration of Divine Shield to 0. You might want to adjust the cooldown also among other things. Set these both to initially disabled, and turn the first trigger on when the battle begins.
 
Level 37
Joined
Mar 6, 2006
Messages
9,240
Copy and paste Divine Shield and modify it. Then give that modified ability to your boss unit. Make sure he has it at least at level 1 (and has the mana to cast it).

Place the boss unit into your map.

Then in those triggers, instead of using paladin 000, use your boss unit.
 
Level 4
Joined
Jan 6, 2009
Messages
100
(Sorry, internet has been acting up for the past few days.)

I did everything I was pretty much supposed to do - copy & pasted the Divine Shield ability and changed it appropriately and made the hero activate it when he reached 2750 health.

And I did it without messing around with spawning the units.

And it doesn't work.

I even used it with an unmodified version of Divine Shield and it doesn't work.

Here's the map (looks terrible, yes). Can you see if I did anything inherently wrong?
 

Attachments

  • Raid_Boss_Test.w3x
    30.7 KB · Views: 54
Level 4
Joined
Jul 23, 2008
Messages
99
I am just thinking this prob and maybe this resolution works...

1. Fake Divine Shield.
First, determine the condition (20% of max health). Then create Divine Shield FX on BOSS plus make BOSS invulnerable.

After that create a wave of creeps and enumerate it in a unit group var.

Create a new trigger that periodically check every second. Then, add condition "Unit group is empty equal to true". Afterwards, remove the Divine Shield FX and make BOSS vulnerable. In addition, turn off this trigger.

Understand?
 
Status
Not open for further replies.
Top