Template Simple Boss Template

D.V.D

Make a wish
Reaction score
73
Well, I've seen many people having problems with bosses so I made a very simple leakless template that works. The boss cannot be used 2 times at the same time. This map has a reigon that needs to be imported, the reigon used there is just for a effect and for the boss area. This template was perfectly made by me and here are the stages:
Enter: When you enter 500 from the boss, he gains 40 life for every unit leaving and entering the area of the unit. Also, every 10 seconds, the boss summons 3 golems that last 15 seconds.

Stage 1: When the boss has 75% of his life, he gets brilliance aura, enduranc aura, evasion and casts war stomp. Also after every 2 seconds, the boss gets 15 life.

Stage 2: When the boss has 50% life, he gets beserk, bash and he casts banish on a random unit in 400. Also, every 2 seconds, he deals 50 damage to random 6 units in 500 from the boss.

Stage 3: When the boss has 25% of his life, he has 5 seconds to get 50% life unless he dies. He also deals 50 damage to random 4 units in 400 every 1 second.

Final Breath: When the boss dies, he deals 500 damage to all units in 500 from him.

Code:
Passive Attacks
    Events
        Unit - A unit Is attacked
    Conditions
        (Attacking unit) Equal to Footman 0000 <gen>
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Random integer number between 1 and 10) Less than or equal to 4
            Then - Actions
                Set point[0] = (Position of Footman 0000 <gen>)
                Set point[1] = (point[0] offset by 300.00 towards (Facing of Footman 0000 <gen>) degrees)
                Set UnitGroup = (Units within 400.00 of point[1])
                Unit Group - Pick every unit in UnitGroup and do (Actions)
                    Loop - Actions
                        Special Effect - Create a special effect attached to the overhead of (Picked unit) using Abilities\Spells\Human\Avatar\AvatarCaster.mdl
                        Special Effect - Destroy (Last created special effect)
                        Unit - Set life of (Picked unit) to ((Max life of Footman 0000 <gen>) - 10.00)%
            Else - Actions
                Custom script:   call RemoveLocation(udg_point[0])
                Custom script:   call RemoveLocation(udg_point[1])
                Custom script:   call DestroyGroup(udg_UnitGroup)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Random integer number between 1 and 10) Less than or equal to 2
            Then - Actions
                Set point[0] = (Position of Footman 0000 <gen>)
                Set UnitGroup = (Units within 400.00 of point[0])
                Unit Group - Pick every unit in UnitGroup and do (Actions)
                    Loop - Actions
                        Special Effect - Create a special effect attached to the overhead of (Picked unit) using Abilities\Spells\Human\Avatar\AvatarCaster.mdl
                        Special Effect - Destroy (Last created special effect)
                        Unit - Cause Footman 0000 <gen> to damage (Picked unit), dealing 100.00 damage of attack type Spells and damage type Normal
            Else - Actions
                Custom script:   call RemoveLocation(udg_point[0])
                Custom script:   call DestroyGroup(udg_UnitGroup)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Random integer number between 1 and 10) Less than or equal to 3
            Then - Actions
                Set point[0] = (Position of Footman 0000 <gen>)
                Set group1 = (Units within 400.00 of point[0])
                Set UnitGroup = (Random 1 units from group1)
                Unit Group - Pick every unit in UnitGroup and do (Actions)
                    Loop - Actions
                        Unit - Add Purge to Footman 0000 <gen>
                        Unit - Order Footman 0000 <gen> to Orc Shaman - Purge (Picked unit)
                        Wait 2.00 seconds
                        Unit - Remove Purge from Footman 0000 <gen>
            Else - Actions
                Custom script:   call RemoveLocation(udg_point[0])
                Custom script:   call DestroyGroup(udg_group1)
                Custom script:   call DestroyGroup(udg_UnitGroup)

Code:
Dont Leave Reigon
    Events
        Unit - A unit leaves Region 000 <gen>
    Conditions
        (Triggering unit) Equal to Footman 0000 <gen>
    Actions
        Set point[0] = (Center of Region 000 <gen>)
        Unit - Order Footman 0000 <gen> to Move To point[0]
        Custom script:   call RemoveLocation(udg_point[0])

Code:
Attack Lowest Life
    Events
        Time - Every 3.00 seconds of game time
    Conditions
        (Footman 0000 <gen> is alive) Equal to True
    Actions
        Set point[0] = (Position of Footman 0000 <gen>)
        Set group1 = (Units within 400.00 of point[0])
        Set UnitGroup = (Random 1 units from group1)
        Unit Group - Pick every unit in UnitGroup and do (Actions)
            Loop - Actions
                Unit - Order Footman 0000 <gen> to Attack (Picked unit)
        Custom script:   call RemoveLocation(udg_point[0])
        Custom script:   call DestroyGroup(udg_group1)
        Custom script:   call DestroyGroup(udg_UnitGroup)

Code:
Boss Stage 1
    Events
        Unit - A unit enters Region 000 <gen>
    Conditions
        (Triggering unit) Not equal to Footman 0000 <gen>
    Actions
        Set point[0] = (Position of Footman 0000 <gen>)
        Special Effect - Create a special effect attached to the origin of Footman 0000 <gen> using Abilities\Spells\Human\Resurrect\ResurrectTarget.mdl
        Special Effect - Destroy (Last created special effect)
        Unit - Set life of Footman 0000 <gen> to ((Life of Footman 0000 <gen>) + 40.00)
        Animation - Play Footman 0000 <gen>'s victory animation
        Trigger - Turn on Summon <gen>
        Custom script:   call RemoveLocation(udg_point[0])
        Custom script:   call DestroyGroup(udg_UnitGroup)

Code:
Boss Stage 2
    Events
        Unit - Footman 0000 <gen>'s life becomes Less than or equal to (((Max life of Footman 0000 <gen>) / 4.00) x 3.00)
    Conditions
    Actions
        Unit - Add Brilliance Aura to Footman 0000 <gen>
        Unit - Add Endurance Aura to Footman 0000 <gen>
        Unit - Add Evasion to Footman 0000 <gen>
        Unit - Add War Stomp to Footman 0000 <gen>
        Unit - Order Footman 0000 <gen> to Orc Tauren Chieftain - War Stomp
        Trigger - Turn on Heal <gen>
        Trigger - Turn off (This trigger)

Code:
Boss Stage 3
    Events
        Unit - Footman 0000 <gen>'s life becomes Less than or equal to ((Max life of Footman 0000 <gen>) / 2.00)
    Conditions
    Actions
        Unit - Add Berserk to Footman 0000 <gen>
        Unit - Order Footman 0000 <gen> to Orc Troll Berserker - Berserk
        Unit - Add Bash to Footman 0000 <gen>
        Unit - Add Banish to Footman 0000 <gen>
        Set point[0] = (Position of Footman 0000 <gen>)
        Set group1 = (Units within 400.00 of point[0])
        Set UnitGroup = (Random 1 units from group1)
        Unit Group - Pick every unit in UnitGroup and do (Actions)
            Loop - Actions
                Unit - Order Footman 0000 <gen> to Human Blood Mage - Banish (Picked unit)
        Trigger - Turn on Explosions <gen>
        Custom script:   call RemoveLocation(udg_point[0])
        Custom script:   call DestroyGroup(udg_group1)
        Custom script:   call DestroyGroup(udg_UnitGroup)

Code:
Boss Stage 4
    Events
        Unit - Footman 0000 <gen>'s life becomes Less than or equal to ((Max life of Footman 0000 <gen>) x 0.25)
    Conditions
    Actions
        Game - Display to (All players) for 5.00 seconds the text: You have 5 seconds ...
        Trigger - Turn on Immolation <gen>
        Wait 5.00 seconds
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Footman 0000 <gen> is alive) Equal to True
            Then - Actions
                Special Effect - Create a special effect attached to the origin of Footman 0000 <gen> using Abilities\Spells\Human\Resurrect\ResurrectTarget.mdl
                Unit - Set life of Footman 0000 <gen> to 75.00%
                Special Effect - Destroy (Last created special effect)
            Else - Actions
                Trigger - Turn off Immolation <gen>

Code:
Final Breath
    Events
        Unit - A unit Dies
    Conditions
        (Triggering unit) Equal to Footman 0000 <gen>
    Actions
        Set point[0] = (Position of Footman 0000 <gen>)
        Set UnitGroup = (Units within 500.00 of point[0])
        Unit Group - Pick every unit in UnitGroup and do (Actions)
            Loop - Actions
                Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Spells\Undead\AnimateDead\AnimateDeadTarget.mdl
                Unit - Cause Footman 0000 <gen> to damage (Picked unit), dealing 500.00 damage of attack type Spells and damage type Normal
                Special Effect - Destroy (Last created special effect)
        Custom script:   call RemoveLocation(udg_point[0])
        Custom script:   call DestroyGroup(udg_UnitGroup)

Code:
Summon
    Events
        Time - Every 10.00 seconds of game time
    Conditions
        (Footman 0000 <gen> is alive) Equal to True
    Actions
        Animation - Play Footman 0000 <gen>'s victory animation
        For each (Integer A) from 1 to 3, do (Actions)
            Loop - Actions
                Unit - Create 1 Mud Golem for (Owner of Footman 0000 <gen>) at ((Position of Footman 0000 <gen>) offset by 256.00 towards (Facing of Footman 0000 <gen>) degrees) facing (Position of Footman 0000 <gen>)
                Special Effect - Create a special effect at (Position of (Last created unit)) using Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl
                Special Effect - Destroy (Last created special effect)
                Unit - Add a 15.00 second Generic expiration timer to (Last created unit)

Code:
Heal
    Events
        Time - Every 2.00 seconds of game time
    Conditions
        (Footman 0000 <gen> is alive) Equal to True
    Actions
        Unit - Set life of Footman 0000 <gen> to ((Life of Footman 0000 <gen>) + 15.00)
        Special Effect - Create a special effect attached to the overhead of Footman 0000 <gen> using Abilities\Spells\Human\Heal\HealTarget.mdl
        Special Effect - Destroy (Last created special effect)

Code:
Explosions
    Events
        Time - Every 2.00 seconds of game time
    Conditions
        (Footman 0000 <gen> is alive) Equal to True
    Actions
        Set point[0] = (Position of Footman 0000 <gen>)
        Set group1 = (Units within 400.00 of point[0])
        Set UnitGroup = (Random 6 units from group1)
        Unit Group - Pick every unit in UnitGroup and do (Actions)
            Loop - Actions
                Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Weapons\Mortar\MortarMissile.mdl
                Special Effect - Destroy (Last created special effect)
                Unit - Cause Footman 0000 <gen> to damage (Picked unit), dealing 50.00 damage of attack type Siege and damage type Normal
        Custom script:   call RemoveLocation(udg_point[0])
        Custom script:   call DestroyGroup(udg_group1)
        Custom script:   call DestroyGroup(udg_UnitGroup)

Code:
Immolation
    Events
        Time - Every 1.00 seconds of game time
    Conditions
        (Footman 0000 <gen> is alive) Equal to True
    Actions
        Set point[0] = (Position of Footman 0000 <gen>)
        Set group1 = (Units within 400.00 of point[0])
        Set UnitGroup = (Random 4 units from group1)
        Unit Group - Pick every unit in UnitGroup and do (Actions)
            Loop - Actions
                Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Weapons\SteamTank\SteamTankImpact.mdl
                Special Effect - Destroy (Last created special effect)
                Unit - Cause Footman 0000 <gen> to damage (Picked unit), dealing 50.00 damage of attack type Siege and damage type Demolition
        Custom script:   call RemoveLocation(udg_point[0])
        Custom script:   call DestroyGroup(udg_group1)
        Custom script:   call DestroyGroup(udg_UnitGroup)

Have fun.

/D.V.D
/http://gamezonezelda.blogspot.com/ = my blog (still in edit)
 

Attachments

  • effect hack.w3x
    75.5 KB · Views: 209

wraithseeker

Tired.
Reaction score
122
I think this is too simple and before he gets 25% of his life , he said to me kill him in 5 second or we all die , I assume that it was about 3 seconds instead of 5 seconds.

Also you used a preplaced unit which most people wouldn't like / use since it would be such a pain to preplace bosses and hide them when game starts.

You used about 4~9 triggers which is way too much in my opinion, although I can see you put in the effort.

What if there is like 5 bosses and you need that much triggers? Omg I can't imagine my pain.. but nice effort still <3
 

Romek

Super Moderator
Reaction score
963
> I made a very simple leakless template that works
This does leak -_-

Code:
Effect Hack
    Events
        Time - Every 2.00 seconds of game time
    Conditions
    Actions
        Special Effect - Create a special effect at [B](Position of Footman 0000 <gen>)[/B] using Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl

Also:

Code:
Boss Stage 1
    Events
        Unit - A unit enters Region 000 <gen>
    Conditions
        (Triggering unit) Not equal to Footman 0000 <gen>
    Actions
        [B]Set point[0] = (Position of Footman 0000 <gen>)[/B]
        Special Effect - Create a special effect attached to the origin of Footman 0000 <gen> using Abilities\Spells\Human\Resurrect\ResurrectTarget.mdl
        Special Effect - Destroy (Last created special effect)
        Unit - Set life of Footman 0000 <gen> to ((Life of Footman 0000 <gen>) + 40.00)
        Animation - Play Footman 0000 <gen>'s victory animation
        Trigger - Turn on Summon <gen>
 [B]       Custom script:   call RemoveLocation(udg_point[0])
        Custom script:   call DestroyGroup(udg_UnitGroup)[/B]
Is there any reason for the bolded lines?

I didn't look through the rest of the triggers.
 

T.s.e

Wish I was old and a little sentimental
Reaction score
133
Trigger:
  • Set UnitGroup = (Random 1 units from (Units within 400.00 of point[0]))

Leaks.

Trigger:
  • Unit - Create 1 Mud Golem for (Owner of Footman 0000 &lt;gen&gt;) at ((Position of Footman 0000 &lt;gen&gt;) offset by 256.00 towards (Facing of Footman 0000 &lt;gen&gt;) degrees) facing (Position of Footman 0000 &lt;gen&gt;)

Leaks.

Trigger:
  • Special Effect - Create a special effect at (Position of (Last created unit)) using Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl

Leaks.

Trigger:
  • Set UnitGroup = (Random 6 units from (Units within 400.00 of point[0]))

Leaks.

Trigger:
  • Set UnitGroup = (Random 4 units from (Units within 400.00 of point[0]))

Leaks.

This is far from leakless.
 

D.V.D

Make a wish
Reaction score
73
Ok, I missed more leaks then usual. I will update this and make the bos sharder. There are like 4 to 9 triggers, what can you do about it? Impossible bosses probably uses like 10 - 14 triggers for one boss. You cna't reduce the amount of triggers unless you code in jass and this is for GUI. I will change fro 5 to 3 seconds too.
 

T.s.e

Wish I was old and a little sentimental
Reaction score
133
I never said anything about the amount of triggers, I said something about the amount of leaks. And I also doubt the usefulness of this system, it would take ages to configure, probably longer than rewriting it all yourself.
 

D.V.D

Make a wish
Reaction score
73
Eh, Im not talking about you, wraith said the amount of triggers and this is a example for people to learn from on how to make their own bosses, not to use the code and edit it.
 

D.V.D

Make a wish
Reaction score
73
Update:

-Added a few passive spells(3)
-Made the boss attack the creep with the lowest life
-Made the boss not leave the reigon
-The boss is now harder to kill because of all his heals and some effect your guys to
-Posted triggers(Total:12)
-Removed many leaks and removed the special effect leak
-Have fun:).
 

WolfieeifloW

WEHZ Helper
Reaction score
372
Like wraith said still;
Preplaced units and stuff, which the triggers rely on.
Too many triggers if you have even 5+ bosses.
And there's still leaks all over.
 

D.V.D

Make a wish
Reaction score
73
Well, if your going to say that you can make a whole boss script with less than 4 triggers with everything I have than be my guest and do it. Don't just say you can because its GUI. You can't really decrease the amount of triggers using it so if you think you can do it, be my guest. By the way im 12. And were all are the leaks you see?
 

WolfieeifloW

WEHZ Helper
Reaction score
372
I'm not saying that just because it's GUI :confused: ?
And you ignored my other two points of preplaced units and leaks :eek: .
 

D.V.D

Make a wish
Reaction score
73
Preplaced units will be changed next update and I seriously can't find any leaks. Im not saying that your saying I can't make the code smaller because its GUI. Its just that you really can't change the amount of triggers used for this boss and like other bosses, they use like 10 triggers to for abilities and AI. Same here.
 

Flare

Stops copies me!
Reaction score
662
Your Passive Attacks trigger is leaky, and the leak-clearing methodology is just WTF? - you create new groups/locations whenever the random attack procs, but you only destroy groups/locations when the random attack doesn't proc. If you get 5 %-chance hits in a row (doesn't matter which %-chance ability it is), you've got 10-15 leaks

The template is very difficult to import into one's map and configure properly
1) The large number of triggers does make it more difficult to import
2) Preplaced units and regions aren't the easiest things to cope with when importing triggers

Overall, could be a learning experience for some, but I can't see this being very practical to use
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top