Will be fixed someday. Until then, 1.2 is, in most cases, glitchy. Use at your own risk, and have fun if it works.
WHAT IT DOES
Lets your players have boss battles! (one guy versus rest of server, the one guy has loads of health)
If you've ever played VS Saxton Hale Mode, this is similar, however it can be used on any map, and the boss can choose their class and weapons. And no downloads means no 5-minute first-join-times, "why is the boss an ERROR" etc.
WHAT'S NEW IN 1.2
The boss can now win!
SDKHooks and TF2Items means spies can backstab and weapons are balanced better!
Simulated "Arena Pre-round time"!
Many bugfixes!
So much more!
INSTALLATION
Is as easy as 1-2-celery.
Install SDKHooks and TF2Items (you may already have them installed)
Download boss.zip from the attachments below.
Merge its "tf" folder with your server's "tf" folder.
Edit tf/cfg/sourcemod/bossbattles.cfg and set up Boss Battles to work exactly how you want it to. Change the first cvar (sm_boss_auto) to 1 if you want a Boss Battles server!
Run the server and you should be good to go!
(Optional) Install Capture Toggle and AddTime. Boss Battles will automatically attempt to use these plugins to disable capping and make it so the "real" round can't end, if sm_boss_auto is not 0.
CHANGELOG
Spoiler
1.2 April 20, 2012
Major changes
New DEFAULT gamemode: ARENA (sm_boss_gamemode 1) - No respawning! The boss wins by eliminating all of RED team.
New gamemode: STOCK (sm_boss_gamemode 1; sm_boss_stock_lives <number>) - Same as Arena, except you can respawn a certain amount of times.
Setup time: Before the battle starts, players have a chance to hear what class the boss is playing and change their class accordingly (it feels, and pretty much is, the same as VS Saxton Hale Mode setup time)
Main menu (/boss) for players to get access to commands easier
Damage tracker (/bossdmg <number>) tracks your damage and the top <number> damagers that round, live! Specify any number you want from 1 to 8, if your monitor is big enough you'll love having 8 slots!
Spies are now allowed to use their knives, backstab removes 10% of the boss's max HP (20% for double bosses, changeable or disable-able via cvars)
Medics now allowed in double bosses, their mediguns heal the other boss for 20 HP per second
Boss health is now tracked by the plugin (overheal decay is completely gone)
Boss health is now accurately represented by the TF2 health meter (e.g. 2000 out of 5000 HP will have the + meter be filled by 40%)
Almost all weapon balancing moved to TF2Items, much more added
Not-so-major changes
Admin menu support, since apparently some of you still manually start battles (SO BRAVE)
Queue points are saved on disconnect
Much better boss HUD, no longer a CSAY, and is always shown to the boss
A random unusual effect is applied to most boss weapons
Top 4 damagers is displayed on round end
INFINITE infinite ammo (not just 99303 ammo)
Added 24 new random showdown strings
More-like-minor changes
AUTOMATIC BATTLE CRIIIIES!
New Administrator responses for double boss battles
"IT'S OVER 9000" from VS Saxton Hale Mode plays if the client has it. (It is up to you if you want your server to have clients download it)
Doors are now forced open, not removed
Cart triggers are now disabled, not removed
Normal function of doors and cart triggers is restored on battle end, the map no longer has to be restarted
Medic bot-bosses are now forced to change class since they don't work (VAAAAALVE!)
Changes that wouldn't even have been changes if I had made them changes, or something
sm_boss_timebomb now defaults to 0 (Off)
sm_boss_taunt_dmg now defaults to 9001
sm_boss_advertisements now defaults to 180 seconds (three minutes)
sm_boss_auto_wait must now be at least 10
Bugfixes
Fixed a case where battles would not start automatically
Fixed the plugin starting battles when the server has just one or two players
Fixed taunt kill-kills and telefrag kills in a double boss instantly ending the battle
Fixed feign deaths counting as kills for bosses
Fixed players being able to activate resupply lockers
Fixed the plugin trying to PrintToChat to the server console
Fixed beacon/timebomb not being disabled when the boss destroys a building
Fixed Pyro's taunt kill damage not being increased
Fixed bosses getting a queue point as soon as their battle ended for damaging themselves
Fixed !bossdmg glitching if the former boss used it outside of a battle
Fixed !bosshp not showing how much time until you can use it again in double boss battles
Fixed incorrect colour application on showdown winner lines
Fixed "PROPERTY DAMAGE" sometimes displaying when the boss kills a sapper
Fixed several instances where the plugin would attempt to CPrintToChat to the server console
Fixed Engineer bosses using the Widowmaker getting infinite metal (ammo)
Code changes
Code cleanup (barely)
Switched admin checks to CheckCommandAccess()
Removed unnessescary checks for IsClientConnected
1.1.2 January 25, 2012
sm_boss_map_extension (1/0, def. 1) If 1, and sm_boss_auto is 1 or 2, the map will be extended by 60 seconds if the boss didn't do anything.
Console can now use bosshp/bossdmg.
You may no longer enter the opposing team's spawn.
Fixed !bossdmg replying to all players. I don't remember implementing that either o_o
Fixed frequent error on line 705
1.1.1 January 16, 2012
Player weapons balanced a bit, without using TF2Items (yet)
The Candy Cane restores 20% HP on hit (up to 125)
The Fan o' War no longer marks the boss for death. Instead, a hit on the boss increments its damage by 10 (hit #1 does 5, #2 does 15, #3 does 25, etc.)
The Half-Zatoichi is no longer allowed to due its insta-kill mechanic.
The Powerjack adds +35 HP on hit (up to 260)
The Eyelander/HHHH/N9I adds a head to the Demoman on hit (+15 max HP and faster move speed)
The Machina now does 600 damage on fully charged headshot (from 518)
Bosses no longer get infinite amounts of:
Mad Milk (useless for the boss anyway)
Heavy food items
Jarate (Sniper Boss + infinite Jarate + Bushwacka = Christian Brutal Sniper v2 = no)
Admins with the cheat flag can no longer always use !bosshp, and have to wait just like everyone else. As an admin, I found it unfair.
Fixed the bajillion translation errors on server start (a.k.a. fixed FlaminSarge needing to show XP how translation files actually handle #format)
The plugin and translations now use colors.inc for better translation support and moar colours
Taunt kill and telefrag damage now defaults at 25% (up from 20%)
The tip interval's default value is now 120 seconds (up from 90)
You can now bind sm_bosshp and sm_bossdmg to keys without having to use the say command (e.g. "say /bosshp") as these commands now use PrintToChat instead of ReplyToCommand--their output will always be displayed in the chat, not just the console.
Technical stuff as suggested by FlaminSarge, like, such as, AutoExecConfig and GetAdminFlags, that'll make configs/adminchecking work better
The plugin now announces "DECAPITATIOOONNN!!!" if a boss was killed by a sword.
"PROPERTY DAMAAAGE!"
This line now rolls for a chance to print even if the building wasn't finished construction.
Increased the chance of this line printing to 5% (from 1%)
This line now always prints on destruction using Heavy fists.
Why does any of this matter? lol, i dunno.
[Undocumented] Non-boss Engineers using the Frontier Justice now get 1 metal regen per second (forgot to put this in the 1.1.1 log on release)
1.1 January 12, 2012
Major changes
Added DOUBLE BOSS support!!!
sm_doubleboss <target> - Sets someone as the first double boss. After that, use sm_boss on someone else, and bam! Double boss!
If automation is on, or you use sm_bossshowdown, there's a chance a double boss will happen instead! (Configurable by cvar)
AUTOMAAATIOOOOONNNN!!!!!
sm_boss_auto 1 to use the new queue system!
sm_boss_auto 2 to have a showdown on every round end!
Whichever one you pick, just add that command to your config, and you can safely leave your server. It will completely manage itself!
L-O-D-S-OF-S-E-E-V-ARS. What's that spell? Loads of cvars! (Probably)
Automation, boss health, music, boss HUD, availability of !bosshp, unlimited ammo and more are now all configurable by cvars.
Translation support added! Need a translator(s) here! Languages already in, by me:
French
1337 Speak
Feel free to grab a copy of boss.phrases and translate it into your language, then send it in
Player Commands
sm_bosshp - Check the boss's HP. Users can use it every 30 seconds--admins always can.
sm_bossqueue [player] - Gets the player's queue points, if the server has automation set to 1. They can also specify a player to get their queue point total.
sm_bossreset - Resets their queue points to 0. You no wanna be boss? You no gotta be boss.
sm_bossmusic [on/off] - Toggles music for themselves. The old sm_bossmusic is now sm_bosssong.
sm_bosssongnext [song id] - Gets the next song. Admins can put a number from 1-14 to set the next song.
Admin Commands
sm_doubleboss <target> - Sets someone as the double boss. Use sm_boss on someone else afterward to start a double boss.
sm_bosssong [song] - Formerly sm_bossmusic; starts a random boss song. You can specify a song by its song ID, which is told to admins when it the song is played. Doesn't have to be used in a boss battle.
sm_bossmusicstop - Formerly sm_stopbossmusic. Stops the music.
sm_bossqueueset <target> <points> - Sets a target's queue points. Can be set to negative (although they can leave the server to set it back to 0, heh.)
Other Cool New Stuff
Damage is now tracked.
Now, by default: (use cvars to toggle/change)
Bosses have 750*players HP.
The Boss HUD disappears at <4095 HP.
Bosses that lose 2000+ HP without getting a kill are timebombed and die in 10 seconds.
The previous boss is not allowed to win showdowns.
Once a song ends during a boss battle, another one starts.
Taunt kills and telefrags deal 20% of the boss's max HP.
Boss self-damage using the Equalizer's taunt does the same
Messages from the plugin start with "[Boss]"
Players can say !bosshp to check the boss's HP every 60 seconds. (Admins always can)
Tips are shown every 90 seconds to keep players informed of commands they can use.
Admins are informed of AFKs/slot wasters (those with 0 damage) on round end.
All Boss Battle commands now require the cheat flag (n)
Bosses can now change classes 12 seconds or sooner into the battle.
Added a boatload of Administrator responses
If automation (sm_boss_auto) is 1 or 2, Waiting for Players is canceled on map start.
Bosses can now press G (taunt button) again to cancel their taunt.
Depending on how you guys like this feature, this may be made into its own plugin for all players to use.
Plugin now sends messages to admins using PrintToChat() instead of sm_chat. (for translations)
func_door and func_respawnroom entities are now deleted on battle start, preventing bosses from simply camping inside.
The map is restarted on battle start--removes Engineer buildings and moves back moveable props to where they spawn at.
Bosses become unstunned upon being hit with the two longest stunning taunts (Skewered and Organ Grinder)
Bosses now get a kill for destroying a fully-built Engineer Building.
Colourful text!
Added basic Arena, Attack/Defend, and Payload map support by making the following changes:
Arena: Bosses regain health/ammo boosts on Arena round start, in case they've lost them.
Arena: The battle ends if all RED players are killed.
Payload: Invisible Dispensers on Payload carts removed on battle start.
All maps: Setup doors are removed on battle start, making A/D and PL maps playable if Cap Disabler is glitching the setup timer.
The boss HUD now:
Tracks positive health gains.
Shows the high score next to the kill counter. It goes away once the record has been beaten.
Boss Showdowns:
Csay changed to "type x to be the next boss" (from "to win")
Confetti is now displayed above the winner
Winners become the boss 5 seconds after winning (up from 3) and are instantly moved to BLU upon winning.
"type x" stays on screen forever instead of <5 seconds (FOREEEVERRR...until the showdown is won, of course)
Using sm_bossshowdown without specifying arguments draws a random one from the predefined list of strings.
Are now case-sensitive.
Bugfixes
Fixed overheal decay, for the most part. The plugin will now give a little health to the boss every second to make up for the decay. The boss will still lose ~1 HP per one or two seconds.
The plugin no longer uses unprofessional @blue targeting.
Fixed the Powerjack setting a Pyro boss's HP to 260--it now adds +75HP on kill as normal.
The Eyelander/HHHH/N9I now adds +15HP on kill as normal.
Removed the alive filter from boss commands. Dead players can now be chosen as the boss.
The boss battle ends if the boss disconnects.
Fixed music not working after a map change
Fixed SourceMod error messages (e.g. "No matching client") not displaying
Bosses that take damage from the Sniper's Huntsman taunt will be immediately unstunned.
1.0 January 2, 2012
Release! Biggest changes from the private version we've been using on the MSTR server for a while:
Boss HUD
The plugin no longer depends on other plugins
More music
Kill counter/high score
Auto team management, no more admins being forced to keep an eye out for join-BLU-ers
sm_bossmusic to manually start music
sm_bossshowdown to start a boss showdown
After installing/updating, the server must be restarted or the plugin will be broken.
^ On the same note, if you want to disable Boss Battles temporarily but not completely turn it off (i.e. switch gamemodes) do sm_boss_auto 0. DO NOT UNLOAD THE PLUGIN or it will break in the same way as above!
Okay, we played a few rounds of this on our server and you totally have potential here.
If you could get the todo list finished I'd seriously replace my Saxton Server with this.
Pros: Everyone loves it. The music is awesome and adds a good touch.
Con: The automated part needs to exist, it's hard otherwise.
I love it though, I'd suggest somehow putting in a feature that lets me run commands when a boss is chosen. So we could change his color, strip weapons, etc.