More Director Bosses
Repost because I typed "None" in the cvar box and therefore original post was not flagged as a plugin. Original thread edited to link to this one. No way to delete threads D:
Compatible with both L4D And L4D2
This is a simple plugin that forces the Director to give you multiple witches each map, alongside a guaranteed tank. It works simply by toggling basegame cvars.
The game has two console variables "director_force_witch" and "director_force_tank" which forces the Director to offer you the respective bosses as soon as possible. However, the two variables are mutually exclusive as the two bosses are treated as the same entity - if you set both variables to one, you will get either multiple tanks with no witches or multiple witches with no tanks.
This plugin is a simple jerry-rigged solution to counteract that problem. At the start of each map, it forces witch but not tank. When the first witch spawns, if no tank has spawned yet, it sets "force_tank" to 1 and disables "force_witch". After the first tank spawns, it sets "force witch" to 1 and disables "force tank".
On a normal map, this translates to multiple witches per map, as well as 1 tank that occurs after your first witch encounter in the map. In finales, tank waves still occur as normal. Special rules are implemented for finale maps to potentially allow for multiple witches if possible. Note that boss spawns still obey map-specified rules.
I made this as I was dissatisfied with existing options to handle boss spawns. Using z_spawn_old to spawn the bosses is terrible gameplay-wise as they cannot be paced properly, with jarring results such as tanks in the midst of a panic event or a witch suddenly popping up in the room next to you.
As they are out of director control, they can also spawn in places they should not be able to, resulting in absurd situations like a spawn in the c1m1 or c8m1 corridors.
The "Get Plugin" button does not work. The plugin will not compile since it utilizes a left4downtown2 native. Download the smx. Drag and drop to addons/sourcemod/plugins.
Latest Left4Downtown2 Extension
Latest working Left4Downtown2 Gamedata
- Use the extensions from github, not this link.
This only tampers with basegame cvars, should be compatible with everything. It only manipulates the Director's chances of spawning tanks/witches; does not interfere at all with tank mods such as the likes of Super Tanks, Last Boss, MultiTanks, Finale Tank Storm et al.
Plugins to spawn more witches are technically compatible but obsolete and not recommended.
- All this plugin does is dynamically toggle basegame cvars based on the situation. It is up to the director to spawn the bosses. Dont come to me saying "no witch/tank on XX map!!111" Boss spawns still obey each map's vscript rules.
- This makes tank spawns less dynamic and more predictable. As the code indicates, the map's tank always appears after the first witch that you encounter.
- This is my first plugin. I am new to sourcemod so tell me if I did anything wrong in my plugin. Do tell me if there is any code optimization I can implement.
These variables will allow you to further tweak the director's boss spawn rates.
Related Console Variables
I recommend these cvar settings for best experience. I use these on my realism hard eight server.
director_tank_min_interval 180 //default 500
director_threat_min_separation 500 //default 5000
director_threat_radius 500 //default 1000
director_max_threat_areas 8 //default 4
Do not change max interval timings or your boss spawns will become incredibly static. (Ie they will always be at the same spots)
Related Vscript DirectorOptions
You want to use the mutation specific values (cm_) since they can override map/event specified values.
Related Versus Control Variables
Director boss spawns work slightly differently for versus mode. I have not tested the plugin on versus mode as I do not play modded versus. If you are not seeing bosses on versus with this plugin, try modifying the following cvars.
versus_witch_chance //default 0.75
versus_witch_chance_finale //default 0.1
versus_witch_chance_intro //default 0.3
versus_tank_chance //default 0.75
versus_tank_chance_finale //default 0.1
versus_tank_chance_intro //default 0.3
vs_threat_initial_distance_first_map_max //default 12000
vs_threat_initial_distance_first_map_min //default 8000
vs_threat_initial_distance_max //default 8000
vs_threat_initial_distance_min //default 3000
vs_threat_radius //default 200
8th April 2018:
Switched to using Lux's stock for checking final map. Left 4 Downtown 2 no longer required. Added special rules for c5m1_waterfront, spawning a tank before witch.