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

Need Help - Bossfight Lich

Status
Not open for further replies.
Level 6
Joined
Jan 17, 2014
Messages
166
I'm making a RPG map, in one of the rooms there is a bossfight with a Lich. I want to make the fight interactive. So i made a trigger that lich will frost nova near the goodguys, so they have to move or be hit by the frost nova.

In picture 1, you see a wisp. This is an invisible unit.
With a trigger, the wisp instantly moves to an enemy unit, then an exclamation marc is created, then after 1,5 sec the exclamation marc is removed and lich uses frost nova on the wisp.
The problem is, that sometimes the wisp jumps to a units location, and sometimes it just sits there and does nothing. What i experienced was that when i dont move my hero, there is a great chance the wisp also does not jump.
(I have made 2 forces, player 1,2,3,4&5 in 1 force, and player 9 (grey)in the other. So allies of player 5 are the 4 players. I did this so i have a some units that can give quests)

Can someone explain why sometimes the unit jumps and why not everytime. Is there a better way to use this (like dummies or stuff)

ps. If you have suggestions for a nice fight with lich, plz submit them or pm me about your idea.
 

Attachments

  • Lich.png
    Lich.png
    896.9 KB · Views: 113
  • Lich frost nova trigger.png
    Lich frost nova trigger.png
    13.1 KB · Views: 85
  • lich frost nova ingame.png
    lich frost nova ingame.png
    761 KB · Views: 119
Level 6
Joined
Jan 17, 2014
Messages
166
Thx for the quick replies

@Chaosy: that is a good one,thx

@LordDz: No, the wisp is actually player 9(grey). I did this so the unit was visble for Lich. I adepted the frost nova so it could target also own units.

@deathismyfriend: Will use that, thx

@solu9: Thx, it works like a gem now.
I have a question. When i start the map with the hero already in the region. The trigger does not seem to find him. If i teleport in the region with a way gate he is found directly and if he does not move, he is frosted.
 
Level 25
Joined
Sep 26, 2009
Messages
2,378
I think Fugees would agree with your choice for wisp's name :D

Also, don't use actions like that:
- Create special effect
- wait 1.5
- destroy last created effect

Because by that time it may not be last created effect.
 
Level 6
Joined
Jan 17, 2014
Messages
166
I think Fugees would agree with your choice for wisp's name :D

Also, don't use actions like that:
- Create special effect
- wait 1.5
- destroy last created effect

Because by that time it may not be last created effect.

You're right. Often i had those exclamation marcs stays forever. Any tips to get around this?
 
@solu9: Thx, it works like a gem now.
I have a question. When i start the map with the hero already in the region. The trigger does not seem to find him. If i teleport in the region with a way gate he is found directly and if he does not move, he is frosted.

Not sure. Perhaps another trigger interferes in some way.

Also as Nichilus said.
Don't use waits if you can avoid it.
What he says is that you create an effect and then waits for 1.5 second. But in those 1.5 seconds a new effect could be created in another trigger.
If so, then the "last created effect" is no longer the exclamation mark. See?

If you insists on using the wait, then store the exclamation mark effect in a special effect variable.

The action will look something like this:
Create a special effect at point of Wisp using exclamation mark
Set FrostNovaTarget = last created effect
wait 1.5 seconds
Destroy FrostNovaTarget
Issue Lich to Frost Nova Wisp

A better way to do a simple trigger like this is:
Set the cast time of the Frost Nova to 1.5 seconds

Trigger 1:
Create a special effect at point of Wisp using exclamation mark
Set FrostNovaTarget = last created effect
Issue Lich to Frost Nova Wisp

Trigger 2:
Events - A unit starts the effect of an ability
Conditions - Ability being cast = Frost Nova
Actions -
Destroy FrostNovaTarget

Edit:
The cast time on Frost Nova can be difficult to get to work. If you have set the owner of the Lich in Player Properties to something, then the Lich probably won't cast the Frost Nova at all because of the cast time. (Blame stupid AI).

In that case use a start a timer instead:
Trigger 1:
Create a special effect at point of Wisp using exclamation mark
Set FrostNovaTarget = last created effect
Start FrostNovaTimer as a one shot timer that will expire in 1.5 seconds.

Trigger 2:
Events - A timer expires
Conditions - Timer expiring equal to FrostNovaTimer
Actions -
Destroy FrostNovaTarget
Issue Lich to Frost Nova Wisp (this time with a 0 second cast time)
 
Level 8
Joined
Jul 8, 2013
Messages
249
You're right. Often i had those exclamation marcs stays forever. Any tips to get around this?

When I create a special effect I immediately set a special effect variable to be the last created special effect. Then you can destroy the variable at your leisure.

The only thing to be careful about is that that variable doesn't get reassigned to be some other special effect in the meantime. To avoid that, simply make as many special effect variables as you need and assign them carefully.
 
Status
Not open for further replies.
Top