Well after a few years of being abandoned, playing L4D2 again with some new mates prompted me to dust this plugin off. Out of a lack of foresight, I added in a few more lines in the translations file so you'll need to update your translations accordingly.
- Double Tap now only works for semi-auto weapons.
- Double Tap no longer gives a chance to recover ammo while firing (wasn't listed on tooltips)
- Double Tap now gives a bonus to reload speed, +25% by default
- Martial Artist has been moved to secondary perks
- Martial Artist no longer reduces the max shove penalty by default
- Pyrotechnician now gives a pipe bomb if the survivor is grenade-less for a set period of time (default is 120 seconds)
Other, less exciting stuff:
- Updated offsets for some perks, cooldown-reducing perks should be working now (Twin Spitfire, Drag and Drop). UPDATE: these perks should also stop being broken with each new patch. Also, should now work with linux!
- Added cvars for disabling all survivor or all infected perks (l4d_perkmod_perktree_survivor_enable, l4d_perkmod_perktree_infected_enable)
- Reduced default value for Chem Reliant bonus health buffer from 10 -> 0
- Reduced default value for Double the Trouble health multiplier from 0.45 -> 0.35
- Tweaked Spirit, hopefully should be less buggy (I did this tweak years ago, no idea if it worked)
- Added in a warning for Spirit if the survivor is in black and white health (you NEED the updated translations file for this!!!)
- Fixed major bug with Barf Bagged interacting with bile jars
- Fixed minor bug with Spitter perks not displaying properly
- ... Lukewarm, untested attempt at fixing rare (but highly game changing!) Smoke IT bug with tanks (also did this tweak years ago, still don't know if it worked but there ya go)
- UPDATE: Fixed Extreme Conditioning not applying sometimes
Unfortunately, Adrenal Glands doesn't work anymore!!!
well throwing rocks faster still work but the old tricks I pulled for punches don't work anymore, I'm pretty sure valve changed some stuff under the hood... I can get it to punch faster as long as you don't actually punch a survivor. Sigh...
(L4D2, updated constantly)
muukis has been kind enough to constantly update perkmod to use a database - http://forums.alliedmods.net/showthr...386#post932386
(L4D1, 1.4.2 version)
AtomicStryker's version, which supports multiple languages and sports perks that don't mess around with convars: http://forums.alliedmods.net/showpos...&postcount=196
AtomicStryker also made a version with a nice tweak: it binds the keys 6-10 for clients, so you don't have to deal with players who don't know how to rebind their keys. This version is otherwise like my vanilla version: http://forums.alliedmods.net/showpos...&postcount=209
muukis's version, who was nice enough to implement something I was too lazy to go out and learn how to include it - databases =P now your perk selections will actually stick around for the next time you connect. http://forums.alliedmods.net/showpos...&postcount=200
New/refreshing your .cfg File
To 'refresh' your cfg file, simply delete the old one (perkmod.cfg) in
'steamapps\common\left 4 dead\left4dead\cfg\sourcemod', and the plugin will generate a new one the next time the server loads the plugin.
--- INTRODUCTION (a trip down memory lane) ---
(This is my first plugin ever, so criticize gently... =P)
(... and last plugin, this one is eating me alive haha)
First, a big thanks to these people!
Special thanks to AtomicStryker!
Perkmod is a mod inspired by the perk system in Call of Duty 4, and draws many of its names from it. It gives the player a selection of perks to use in campaign, survival or versus, and both infected and survivors have perks. Since giving just player survivors perks would make campaign and survival runs much easier, bots too will use perks.
Additionally, a server can tweak the power of most perks through console variables, and can set what perks bots will use.
A menu will show up when a player joins in the game, and every time a new round starts, perks will be reset, and the menu will show up again. To access this menu in case it disappears (ie. an invalid menu choice), say !perks to show the menu - or if you've already chosen your perks, that will instead show you the perks you've chosen.
For perks to work at all, you must choose "confirm perks" when you are done. ("7. DONE" on the main menu, then "1. Confirm") This is to avoid opportunistic abuses (using perks when they're convenient, then switching back).
- You'll need Sourcemod (1.3 or higher) and a dedicated server
- Copy the attached .smx file into 'steamapps\common\left 4 dead\left4dead\addons\plugins'
- Copy the contents of translations.zip into sourcemod/translations
- A cfg file should automatically be generated in 'steamapps\common\left 4 dead\left4dead\cfg\sourcemod', named 'perkmod.cfg'. It will have all the cvars that can be used to tweak most of the perks' numbers. There's a lot of them, which is why I'm not posting them here. They're all named in the following manner: 'l4d_perkmod_<perkname>_<property> <variable>'. They are all clamped between certain numbers, but unless you're trying to use seriously crazy numbers like 5x damage for Stopping Power, it shouldn't be an issue.
- To disable perks, the CVars are in this sort of format: 'l4d_perkmod_<perkname>_enable 0/1'. Survivor perks have two others by similar names, but with '_versus' and '_survival' at the end.
- To make the plugin stop messing with certain ConVars, find the CVar 'l4d_perkmod_<perkname>_enableconvarchanges' and set it to 0. Alternatively, just disable the perk.
(read: there probably will be =P)
This plugin runs a lot of cheat commands to accomplish its ends, and I hear some anti-cheat plugins block cheat commands... so yeah.
Also, any plugin that uses a menu display may interfere with the one used in this plugin to display which perks to use.
This plugin also constantly adjusts some cvars, mostly for those concerning smoker tongues (shoot speed, drag speed, range) and survivors (revive times). Any custom cfg files that adjust these values will likely be reset after the first map, if not earlier.
To circumvent this, you can either disable the perk using those CVars, or in the case of Helping Hand, Spirit and Blind Luck you can just disable CVar changes. Use 'l4d_perkmod_<perkname>_enable 0' to disable the perk, or 'l4d_perkmod_<perkname>_enable_convarchanges 0' for the above 3 special cases.
(current list for Perkmod2)
1. Stopping Power
Bonus damage (except with melee weapons).
2. Double Tap
Increased firing speed with guns (except the SCAR).
3. Sleight of Hand
Picking up a grenade gives you two of that type.
You start the round with a grenade.
If you aren't carrying a grenade for a set amount of time, you will be given a pipe bomb.
Bonus health when using medkits, on being revived and on rescue.
If you are incapped and another survivor becomes incapped, you will self-revive.
3. Helping Hand
You revive others faster and give them bonus health on revive.
4. Martial Artist
You can swing a melee weapon twice in rapid succession.
You suffer from a lesser maximum shove penalty.
1. Pack Rat
You can carry more ammo.
2. Chem Reliant
Using pills/adrenaline gives you extra health.
You start the round with pills/adrenaline.
3. Hard to Kill
You have extra health when incapped.
4. Extreme Conditioning
You have bonus movement speed.
5. Little Leaguer
You will start with a baseball bat.
1. Barf Bagged
Vomiting on a survivor calls more common infected.
2. Blind Luck
Vomiting on a survivor will block more of their HUD.
You have a shorter cooldown.
3. Dead Wreckening
Common infected deal bonus damage against vomited survivors.
4. Motion Sickness
You can vomit and move at the same time.
You have bonus movement speed.
1. Tongue Twister
Your tongue travels faster and farther, and drags survivors faster.
You deal bonus damage with your tongue.
3. Drag and Drop
You have a much shorter cooldown.
You can release a survivor at will by clicking ATTACK2.
4. Smoke IT!
You can walk while pulling survivors.
Thanks to Olj for this perk!
1. Body Slam
On pouncing a survivor, you always deal a minimum amount of damage.
2. Efficient Killer
You deal bonus damage.
Your pounces launch you much farther.
4. Speed Demon
You move at an increased time rate.
Your scratches deal bonus damage.
1. Ride Like the Wind
You move faster while riding a survivor.
Can jump and leap farther.
4. Ghost Rider
1. Twin Spitfire
You can spit twice in quick succession.
2. Mega Adhesive
Your spit slows the survivors.
1. Scattering Ram
Hitting secondary targets while charging will send them flying farther.
Gives bonus health.
1. Speeding Bullet
Charges are faster and longer.
1. Adrenal Glands
Increased attack speed.
3. Metabolic Boost
Increased movement speed.
4. Storm Caller
A zombie wave will spawn with you.
5. Double the Trouble
A second tank will spawn with you.
Both tanks will have reduced health.
- rewrote some code, Mega Adhesive should no longer interfere with other SI (smoker/jockey)
- fixed an exploit with faster reloading for Double Tap (sorta)
- fixed Pack Rat again...
- Further fixes for Pack Rat, should work fine now
- Increased Twin Spitfire's delay from 2.5s -> 6s
- Increased Mega Adhesive slow % from 50% -> 60%
- Double Tap now has a 15% chance per shot that a bullet will not be consumed.
- Rewrote Pack Rat to address multiple bugs; no longer grants bonus ammo on confirming perks, but should work and also have less compatibility issues with other plugins... I think.
- Added a CVar "l4d_perkmod_autoshowmenu" to enable or disable automatically showing the perks menu on roundstart.
- Updated offsets for ability and attack timers, cooldown-reducing perks (ie. Twin Spitfire) and attack speed increase perks (ie. Adrenal Glands) should now work properly.
- Helping Hand should now properly give half the bonus health buffer to the reviver in addition to giving the full bonus to the revivee (was previously only giving it to the revivee). Kinda bugged, though, sometimes it gives more than it should...
- Martial Artist now gives three swings, and should be much more consistent in giving the bonus swings - shoves and drawing the weapon no longer "count" as swings.
- Added Mega Adhesive perk to spitters: slows survivor speed by 50% for up to two seconds after leaving spit.
- Added Smoke IT! perk to smokers: can walk while smoking (thanks to Olj for this perk!)
- Added Little Leaguer perk to survivor-tertiary: gives a baseball bat.
- Saying !perks should work more consistently (but perks may still not work properly on local servers!)
- Twin Spitfire, Adrenal Glands and other cooldown-reducing perks should now work properly on Linux servers (nobody told me the offsets were all weird between Linux and Windows servers =.=). Still don't have offset numbers for L4D1 Linux, so it won't work for L4D1 Linux until I can find those numbers...
- Being rescued from the closet now gives bonus items with the corresponding perks (grenades for Pyrotechnician, pills for Chem Reliant).
- Added translations! (basically stole AtomicStryker's work =P) a lot of perk descriptions are only available in english until someone kindly translates them for us... =P
- Adrenal Glands now also makes the tank unfrustratable.
- Increased Frogger damage from 0.2 -> 0.35
- Fixed Helping Hand bug that wasn't giving the reviver bonus health buffer when the reviver didn't have health buffer (only real health).
- Fixed bug/exploit with Chem Reliant/Pyrotechnician/Unbreakable on switching from AFK to non-AFK.
- Fixed Pack Rat bug/exploit with pistol and dropped grenade launchers, and updated some old code.
- Added Frogger perk: Jockeys can jump and leap 30% farther, and deal 20% more damage.
- Added Ghost Rider perk: makes Jockeys nearly invisible - but riding a survivor still gives off that red glow!
- Added Speeding Bullet perk: Chargers can charge 50% faster and farther.
- Changed Scattering Ram to 60% impact force and added a 30% health bonus.
- Revised some menu coding... again.
About the attachments:
- the Perkmod.sp is the last stable version made exclusively for L4D1 (1.4.2).
- the Perkmod2.sp is probably what you're looking for =P it should work for both L4D1 and 2, although I think there's some bugs when used for L4D1, mostly the cooldown-reducing perks. YOU NEED THE TRANSLATIONS.ZIP AS WELL!
- copy the contents of translations.zip to addons/sourcemod/translations (Perkmod2.sp only).