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

How to make a boss fight.

Status
Not open for further replies.
Level 3
Joined
Dec 19, 2012
Messages
18
Hello, so for about 2 - 3 years ive wanted to make a single player rpg style map on wc3. One problem i have always ran into is triggers. I have tried to look into older resources on boss creation but have found only a few sources but they dont really help. I was wondering if some one could take the time to explain to me how to make a boss fight who uses abilities sorta like impossable bosses. Im sorta rusty on my ability to make triggers thats why i get confused on lookin at older sources. Im also not very good at variables. I have also never used Vjass. Also another thing i would want to do is say, i have 10 different regions in a boss pit, and in those regions randomly a fire blast will explode and deal 100 damage, or like a ability like Ice Wall, It would create a icewall at a random point and slow/damage the enemy hero.

If you can help me that would be awesome!

p.s ive tried to study this source but i dont quite understand everything, or how to use it in my map. http://www.hiveworkshop.com/forums/...98/best-boss-how-make-him-cast-spells-203785/

I also cant find any videos on this topic either.
 
Level 12
Joined
Mar 24, 2011
Messages
1,082
About the link: I just read the first few posts, so they basically suggest to use
  • Unit - Order Titan to Crypt Lord - Impale Titan_Attacker
This can be looked upon like:
  • Unit - Order Boss to cast AwesomeBossSpell at unit TheAtackingHero
So, each spell has its own "id" , and you can "force" the boss to cast them. Some would be targeting point(e.g. Carrion Swarm) instead of unit and some would have no target at all (e.g. "Stomp")
So, you have to call the war3 spell that you have based the boss spell on.

About the random stuff. You may want to create a "dummy unit" which will have the "fire blast" ability. The trigger will flow as:
Event
-Every X seconds
Actions
-You run the randomization.
-If region is picked:
-Create dummy.
-Make it cast the spell.
-Kill the dummy. (Preferably with death timer (?) )


I would recommend to customize the whole encounter, not only the spells. I personally like to have as much control as possible over the whole thing, which then gives opportunity for even more epic encounters.

If you are not really good with triggers you may want to consider of finding someone to do them for you.
 
Level 3
Joined
Dec 19, 2012
Messages
18
Thanks! Quick question you probably dont have world edit on hand but what would the text in the 2nd part look like. I some times have trouble finding the appropriate triggers. I also gotta learn how to make dummys. Have any tips on that?
 
Level 14
Joined
Nov 17, 2010
Messages
1,265
Well I would suggest starting small. There are some simple boss abilities that you can make such as create a special effect at a point, pick every unit within n of that point and damage the picked units.

Something like:

  • Boss Trigger Example
    • Events
      • Time - Every 10.00 seconds of game time
    • Conditions
      • (Boss is alive) Equal to (==) True
    • Actions
      • Set BossPoint = (Position of Boss)
      • Set TempPoint[1] = (BossPoint offset by (Random real number between 200.00 and 600.00) towards (Random angle) degrees)
      • Special Effect - Create a special effect at TempPoint[1] using Abilities\Spells\Other\Doom\DoomDeath.mdl
      • Special Effect - Destroy (Last created special effect)
      • Set BossVictims = (Units within 200.00 of TempPoint[1] matching (((Matching unit) belongs to an enemy of (Owner of Boss)) Equal to (==) True))
      • Unit Group - Pick every unit in BossVictims and do (Actions)
        • Loop - Actions
          • Unit - Cause Boss to damage (Picked unit), dealing 500.00 damage of attack type Spells and damage type Normal
      • Custom script: call DestroyGroup(udg_BossVictims)
      • Custom script: call RemoveLocation(udg_BossPoint)
      • Custom script: call RemoveLocation(udg_TempPoint[1])
Your best bet would be to work on the triggers yourself and see what you can come up with. It is much easier to help you out if we can see what you have so far. I would also suggest tutorials, specifically the GUI/triggers tutorials. They can help you understand what various triggers do, how variables work, and how to do things like fix leaks. (which seems complicated and scary, but it really isn't)

Good luck and feel free to share some of the stuff you come up with and we will see if we can help you improve it, or fix it, or just offer suggestions
 
Level 3
Joined
Dec 19, 2012
Messages
18
well i would suggest starting small. There are some simple boss abilities that you can make such as create a special effect at a point, pick every unit within n of that point and damage the picked units.

Something like:

  • boss trigger example
    • events
      • time - every 10.00 seconds of game time
    • conditions
      • (boss is alive) equal to (==) true
    • actions
      • set bosspoint = (position of boss)
      • set temppoint[1] = (bosspoint offset by (random real number between 200.00 and 600.00) towards (random angle) degrees)
      • special effect - create a special effect at temppoint[1] using abilities\spells\other\doom\doomdeath.mdl
      • special effect - destroy (last created special effect)
      • set bossvictims = (units within 200.00 of temppoint[1] matching (((matching unit) belongs to an enemy of (owner of boss)) equal to (==) true))
      • unit group - pick every unit in bossvictims and do (actions)
        • loop - actions
          • unit - cause boss to damage (picked unit), dealing 500.00 damage of attack type spells and damage type normal
      • custom script: Call destroygroup(udg_bossvictims)
      • custom script: Call removelocation(udg_bosspoint)
      • custom script: Call removelocation(udg_temppoint[1])
your best bet would be to work on the triggers yourself and see what you can come up with. It is much easier to help you out if we can see what you have so far. I would also suggest tutorials, specifically the gui/triggers tutorials. They can help you understand what various triggers do, how variables work, and how to do things like fix leaks. (which seems complicated and scary, but it really isn't)

good luck and feel free to share some of the stuff you come up with and we will see if we can help you improve it, or fix it, or just offer suggestions


thank you!!!!! Thank you so much i worked on this for a hour and i figured everything out/!!!!!!! I was a little confused on what variables to configure it with and now i understand variables and other stuff now!!!!1 thanks you so much man! If i ever finish my map i will credit you thank you this is exactly what i wanted!!!!!!!!
 
Status
Not open for further replies.
Top