• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Making a Boss Fight

Status
Not open for further replies.
Hello guys, i'm trying to make Bosses cast certain spells during Fights and i need help with the triggers.
I need good leak-free triggers for:
Making the boss cast Blizzard or rain of fire. (when there is 2 or more attackers in the spell's Aoe)
Making the boss cast Impale.


Also, what's wrong with the forgotten one? It cast few spells at the beginning of the fight and then it no longer does?

And why do units affected by Soul Burn stop no longer cast spells even after the effect of Soul Burn fades out?? ( i reduced the duration of Soul burn to 3sec)
 
Level 6
Joined
Oct 9, 2017
Messages
116
  • tt
    • Events
      • Unit - Dragonhawk Rider 0000 <gen> Is attacked
    • Conditions
      • ((Triggering unit) is A flying unit) Equal to True
    • Actions
      • Unit - Make Dragonhawk Rider 0000 <gen> Invulnerable
      • Unit - Pause Dragonhawk Rider 0000 <gen>
      • Unit - Order Dragonhawk Rider 0000 <gen> to Human Mountain King - Thunder Clap
      • Trigger - Turn off (This trigger)
Or this
  • t
    • Events
      • Unit - Dragonhawk Rider 0000 <gen>'s life becomes Less than 25000.00
    • Conditions
      • ((Triggering unit) is A flying unit) Equal to True
    • Actions
      • Unit - Make Dragonhawk Rider 0000 <gen> Invulnerable
      • Unit - Pause Dragonhawk Rider 0000 <gen>
      • Unit - Order Dragonhawk Rider 0000 <gen> to Human Mountain King - Thunder Clap
      • Trigger - Turn off (This trigger)
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,255
Extra style points
Technically pausing the unit breaks the entire thing since a paused unit cannot cast an ability as it is paused.
And why do units affected by Soul Burn stop no longer cast spells even after the effect of Soul Burn fades out??
Probably an AI bug. One must remember that soul burn was added long after TFT was released by a patch.
Also, what's wrong with the forgotten one? It cast few spells at the beginning of the fight and then it no longer does?
The AI should be attached to the abilities. It was heavily tuned and only tuned for the TFT campaign fight.
Making the boss cast Blizzard or rain of fire. (when there is 2 or more attackers in the spell's Aoe)
Making the boss cast Impale.
The idea is you periodically poll for stimuli and make a decision based on them. Unfortunately Warcraft III is extremely inefficient when it comes to this. For example to get the desired rain of fire mechanics could potentially be quite computationally intensive when there are a lot of nearby units. Like wise optimizing Impale to be case on multiple units in a line is also quite computationally intensive with a lot of units.

StarCraft II fixed the fault by adding natives specially designed to optimize area damage abilities. They take a group of units, a radius and return a point, most convenient!
 
Technically pausing the unit breaks the entire thing since a paused unit cannot cast an ability as it is paused.
Probably an AI bug. One must remember that soul burn was added long after TFT was released by a patch.

The AI should be attached to the abilities. It was heavily tuned and only tuned for the TFT campaign fight.
The idea is you periodically poll for stimuli and make a decision based on them. Unfortunately Warcraft III is extremely inefficient when it comes to this. For example to get the desired rain of fire mechanics could potentially be quite computationally intensive when there are a lot of nearby units. Like wise optimizing Impale to be case on multiple units in a line is also quite computationally intensive with a lot of units.

StarCraft II fixed the fault by adding natives specially designed to optimize area damage abilities. They take a group of units, a radius and return a point, most convenient!
Only extremely inefficient due to the good methods not being shared or thought of yet. Usually it can be bumped up to just inefficient. =)
There are possibilities of optimization that can handle up to 1000 units or more without much trouble.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,255
Only extremely inefficient due to the good methods not being shared or thought of yet. Usually it can be bumped up to just inefficient. =)
There are possibilities of optimization that can handle up to 1000 units or more without much trouble.
For a single fight of a boss against hero units the efficiency does not really matter, the results are more important.

The efficiency becomes a problem when you have hundreds of such units that need to make such decision, eg the StarCraft II Ghost casting EMP grenades on Protoss shielded units or enemy casters. StarCraft II Galaxy virtual machine is a lot more efficient than JASS to start with, and has natives designed specifically to make such decisions fast. To be honest I am not sure of a scaleable approach for Warcraft III other than decreasing the polling interval per unit as number of AI actors increases.
 
Status
Not open for further replies.
Top