If OIMM is defined, optin_multimod.inc (attached to this post)
SteamWorks.inc - SteamWorks include (coming in PHR 3.4.0)
Gscramble: RED players will sometimes appear to not have a prop skin if they were teamswapped by GScramble. This will fix itself when setup time starts. This is on The List™ of things to fix in PropHunt Redux 3.4.0.
Conflicts with: Plugins that modify player wearables. Note: This may be fixed now as we completely block wearables for props using TF2Items.
Some servers are reporting issues where the round sometimes doesn't start. 3.3.4 fixed one potential cause of this, while 22.214.171.124 will fix another.
What's new since PropHunt 1.93
What's new since 2.09? (The highlights)
TF2Items is now a mandatory requirement
Plugin name and configuration filename changed.
Flamethrower self damage/fly effect has been reworked so that it works the same for all users regardless of their cl_cmdrate setting.
ph_propmenu no longer accepts 1 as a value. If you want everyone to have access to the propmenu, set ph_propmenu to 0 and set the propmenu override to "". This is to work around a change in SourceMod 1.5.
New propreroll command, override, and ph_reroll cvar. Allows players to reroll their prop once per round. Defaults to admin kick flag. Set propreroll override to "" to allow everyone to use it.
Weapon system has been updated to allow replacing weapons or removing all their attributes. Requires TF2Items
Updated prophunt_config that makes a number of weapon changes.
Prop names, offset, and rotations were updated and moved into prop_common.txt
Lots of new map configs.
Attempts to fix players not being unfrozen at round start.
ph_enable can be used to both disable and reenable PropHunt... the plugin is no longer unloaded when disabled.
What's new since 1.93? (The highlights)
Everything in the previous section, plus...
Now ships with an updated prophunt_config that includes all of the game's weapons.
All map prop lists have been updated. Among other things, all props have corrected offsets so they no longer stick through the floor (except chimneys).
New maps: ph_cchotel_b3, ph_hanger18_b7, ph_hilltop_a2, ph_manorground_a3, ph_target_final, ph_tundra_b5, ph_watermill_a1
propmenu now uses the SourceMod overrides system.
The game timer system was rewritten. Now shows the first 30 seconds as Setup time and blocks the normal "Control point is now available for capture" sound.
Automatic team balancing is no longer being done. This means you must have an autobalancer configured, even if it is just mp_autobalance 1 and mp_teams_unbalance_limit 1
SteamTools is required to change the game description as SDKHooks no longer supports it on TF2.
Download and install MetaMod: Source and SourceMod if you haven't already. We recommend MetaMod: Source 1.10.4 or newer and SourceMod 1.6.3 or newer.
Download and install TF2Items. We recommend TF2Items 1.6.0 or newer.
Download and install any optional dependencies. We highly recommend installing SteamTools. DHooks is also handy, but not mandatory... and Valve occasionally moves the vtable PropHunt uses around.
Download and extract PHDataPack.
Download either PHResourcePack and extract it, or download the Sounds Pack and specific maps you want to host from the next post. If you have a fast download server, make sure to download the FastDownload versions of the maps as well and put them on your FastDL server.
Ensure your server and arena config are as barebones as possible. (Also check mp_idledealmethod is not set to 1; only 0 and 2 are compatible)
mp_autoteambalance 1 is recommended as PropHunt Redux no longer balances the teams by itself. Alternately, you can use a different team balancer plugin.
Install the attached prophunt.smx plugin.
We highly recommend just installing the latest DataPack
Updating from 3.2.x to 3.3.0
Download and install the updated translation file, prophunt config file, props common file, and map configurations:
prophunt.phrases.txt goes in addons/sourcemod/translations/
prop_common.txt goes in addons/sourcemod/data/prophunt/
prophunt_config.cfg goes in addons/sourcemod/data/prophunt/
ph_campsite.cfg goes in addons/sourcemod/data/prophunt/maps/
ph_nightclub.cfg goes in addons/sourcemod/data/prophunt/maps/
Updating from 3.1.x to 3.2.0
If you want to install DHooks, unzip it into the addons directory (*not* the game directory).
Download and install the updated translation file and gamedata manually:
tf2-roundend.games.txt goes in addons/sourcemod/gamedata/
prophunt.phrases.txt goes in addons/sourcemod/translations/
Updating from 3.0.x to 3.1.0
Download and install the updated PropHunt Data Pack. This includes an updated translation file and PropHunt configuration file.
Update the prop_menu.txt or props_allmaps.txt files as you wish.
Updating to 3.0.0
ph_propmenu_flag is no longer supported. Instead, use the SourceMod Overrides system for "propmenu" and "propreroll" to control access to those functions if the appropriate cvars are set to 0.
ph_propmenu 1 is no longer supported. Instead, use 0 and set the override for propmenu to ""
TF2Items is now a mandatory requirement. This was necessary so we could expand the weapon modification system.
SteamTools is recommended as SDKHooks can no longer set the game description.
TF2Attributes is optional, but you only need it if you want to change ph_airblast on the fly.
The plugin now creates a configuration file: cfg/sourcemod/prophunt_redux.cfg. Set your cvars there instead of in server.cfg.
Download and install the updated Prop Data Pack.
If you want the new maps, install the updated Prop Resource Pack.
Optionally, delete addons/sourcemod/data/prophunt/prop_names.txt. It is no longer used
prophunt_redux_version - Version
sm_prophunt_stats - Stats Enabled
ph_enable - (Default: 1) Enable the plugin
ph_propmenu - (Default: 0) 0 to allow anyone with the "propmenu" override ("c" flag by default) to use it; -1 to disallow all access; 1 to allow all users to use it.
ph_propreroll - (Default: 0) 0 to allow anyone with the "propreroll" override ("c" flag by default) to use it; -1 to disallow all access; 1 to allow all users to use it.
ph_airblast - (Default: 0) Allows players to airblast. Takes effect on round change unless TF2Attributes is present.
ph_antihack - (Default: 1) Enabled the PH antihack system. Should be left on unless you have conflicts with other plugins.
ph_gamedescription - (Default: 1) Set the game description to PropHunt Redux? Requires SteamTools.
ph_preventfalldamage - (Default: 0) Set to 1 to prevent damage from falling. TF2Attributes is not required for this, but it being present will prevent clients from playing the "thwack" sound when they hit the ground.
ph_propmenurestrict - (Default: 0) New in 3.1.2. Set to 1 to force manually typed propmenu commands (i.e. "propmenu models/props_gameplay/cap_point_base.mdl") to validate props against the props in the prop menu. Default was 1 in 3.1.2 and 3.1.3.
ph_setuplength - (Default: 30) New in 3.2.0. Amount of setup time in seconds. Minimum is 30, maximum is 120 (2 minutes). It is recommended that you use either 30 or 60.
ph_propmenuusenames - (Default: 0) New in 3.3.0. If set to 1, displays prop names instead of paths in Prop Menu.
ph_multilingual - (Default: 0) New in 3.3.0. If set to 1, prop_common.txt will support multiple languages. Off by default as the default prop_common.txt only contains English.
ph_burningblockspropchange - (Default: 1) New in 3.3.0. If set to 1, will block Prop players from changing prop models while on fire. This fixes an issue where changing models removes fire and jarate visual effects.
ph_switch - Switches you to RED and respawns. Restricted to admins or users with a ph_switch override.
ph_pyro - Switches you to BLU and respawns. Restricted to admins or users with a ph_pyro override.
propmenu - Menu to select props between all props available on the map along with pyro and ghost. This command isn't enabled by default.
propreroll - Switch to a different random prop. Only usable once per round. This command isn't enabled by default.
ph_stats - Bring up the PropHunt Tracked Stats page.
Changelog: Note: The changelog may list beta changes for versions newer than the attachment in this post... a lot of these changes need testing before being made public to avoid breaking things.
3.3.3 update 1
Fixed team switch not working after PASS time update.
Fixed the Masked Mender not being blocked.
Fixed a crash with DHooks SetWinningTeam that required a code change.
New gamedata file to go along with the above fix.
Updated for new weapons.
Added configurations for new maps.
Updated ph_nightclub configuration for ph_nightclub_v2.
Fixed a bug where propmenu or propreroll would refill a prop player's health.
Reworked the Last Prop weapon hiding code to fix timing issues.
ph_propreroll 1 should actually be working. Somehow the fix wasn't present in the 3.3.0 release
Recompiled using SourceMod 1.7.1
Updated PropHunt DataPack
Fixed issue with translation strings on Stats servers.
Fixed configuration file sounds for Valve's updates
Added files for ph_petitcourtyard, ph_blockfort, ph_bigbutt, and ph_gorge
SourceMod 1.6.3 or newer is now mandatory. This is due to breaking changes Valve made in the Random Number Generator that will force everyone to get the same "random" prop.
Removed support for the ReadGameSounds extension. This extension has been deprecated and its functionality is in SDKTools as of SourceMod 1.6.1.
Checking for props having weapons starts as soon as Setup starts. This is to deal with timing issues with blocking Prop weapons that occasionally happens.
New Canteen/Spellbook blocking code for props. Yes, again. It actually seems to work this time! Now if we could only find out why TF2Items doesn't block them properly...
Fixed r_staticpropinfo hack detection not running during Last Prop mode.
If a prop had the server's last player index (i.e. player 24 on a 24 player server), they could still take drowning damage. Fixed.
Changed more timers to use userids instead of client indexes. Should fix more corner cases where a player disconnects and another player connects and it tries to operate on them instead of the disconnected player.
tf_weapon_criticals is now forced off. This is only a cosmetic change as SM 1.5.3+ correctly work with weapon self-damage when random crits are off and we block crit damage anyway.
Fixed two Handle leaks.
Preliminary support for multi-round maps.
Officially, PH supports either 2 or 3 round multi-round maps. 2-round maps will not switch teams until both rounds are played (over four rounds, both teams will hide on each map part once).
3 round maps will continue to switch teams every round.
Warning: Arena doesn't reset doors properly on multi-round maps if RED wins by time running out, so make sure you're manually closing doors on round-start (I recommend using a trigger and calling it from all team_control_point_round RoundStart inputs.) (Note: I'm still investigating this)
Added ph_burningblockspropchange, an option to block props from changing their prop while they are on fire, jarated, or bleeding. This is because these effects are not shown on players after a model change. This defaults to on.
Prop Menu will not close if it is used and blocked by this command. This means the user can immediately use it again when they stop burning/bleeding/dripping.
I'm sure some players will complain about this change just like they did about the removal of the new scattergun.
New map config file option: setup. Not required. This can be set to anything between 30 and 120. It will override the ph_setuplength cvar for the current map. Going lower than 30 or higher than 120 will make PropHunt use the ph_setuplength cvar instead. This is intended for larger maps that may need more hiding time, but remember that it's pretty boring just standing around waiting...
ph_propmenu 1 and ph_propreroll 1 now work properly again without having to use overrides for them. (This is done by manipulating the overrides system for the propmenu and propreroll commands directly.) I recommend using these values, because they show up in...
New command: ph_settings / ph_config. Player command to show a player the current server's PropHunt configuration. Shows up in the console for the server console, shows up as a menu when used by a user (any button exits).
if ph_propmenu or ph_propmenu is set to 0, players will be shown whether they have access to it or not.
New cvar: ph_propmenuusenames. This updates the Prop Menu with the names of the props instead of their model path. Off for compatibility reasons by default.
New cvar: ph_multilingual. Defaults to 0. If set to 1, will support additional languages in prop_common.txt. This is used in the "You are now disguised as" prompt and the Prop Menu list if ph_propmenuusenames is set to 1.
WARNING: This adds an additional Handle for each item in prop_common.txt (somewhere around 250), so don't enable if you have plugins that use a lot of Handles as the server has a hard maximum of 16535.
Now requires dhooks.inc to compile. Current builds are compiled against this version
DHooks is a new optional, but recommended dependency. It disables the manual team switching mechanic PropHunt normally uses at round end and instead activates automatic team switching (i.e. TF2 switches the teams, much like it does on Payload maps). This fixes a timing issue PropHunt was having.
Bugfix: Props are given their weapons for 0.1 seconds before they are stripped at the start of a round. This is to prevent RED players from being given the wrong viewmodel for first-person view. This is ONLY done at round start to prevent issues with visible weapons (note: RED cosmetics are always stripped.)
Bugfix: Fixed some issues with the TF2Attributes optional dependency. It should no longer throw errors when you change ph_preventfalldamage or ph_airblast.
Bugfix: The Flamethrower self-damage logic now checks if a prop is alive during last prop mode. This should fix some rare issues where it was tossing errors.
Prop Hunt Redux now checks if a model exists before letting you manually change to it via "propmenu modelname" and tosses an error if it doesn't. Requires new translation file.
Prop Menu Restrict (ph_propmenurestrict) is now off by default due to the above fix. Note: it doesn't update your existing config file so you have to edit your prophunt_redux.cfg to disable it if you created a new config file since 3.1.2.
Stats-tracked servers now have access to ph_propmenurestrict.
All color codes were moved into the translation file to make it easier for servers to customize the translation colors. Translation messages can now use any colors defined by morecolors.inc.
The pregame timer no longer causes the announcer to say "Mission Ends in 10 seconds" and doesn't start announcing the count until 5 seconds before setup begins. Unfortunately, the siren at the end of this timer can't be fixed as it's hard-coded in the client code (We know this thanks to the Source SDK 2013).
New command: !phstats. This brings up the PropHunt main stats, used by stats tracked servers. Used to be (and still is) registered as !help
New cvar: ph_setuplength. Number of seconds that setup time should last. Default is 30 seconds, valid values are 30-120. Note to map makers: Your maps "round" time includes 30 seconds of setup time for compatibility reasons with PropHunt classic.
Regression fix: Bleed weapons no longer cause their owners to take bleed damage when they use them. Bug was introduced in PHR 3.0 beta 1 or so.
Regression fix: If a prop player is detected as having a weapons, we now attempt to strip their weapons instead of just blindly re-running the Equip timer. Bug was introduced in PHR 3.0 beta 1 or so.
Canteens and Spellbooks are now blocked twice since some servers were reporting the first method wasn't working.
New prophunt_config.cfg file (PHDataPack updated)
Fortified Compound has its damage adjusted to match the Huntsman.
Gold Botkiller Sniper Rifle Mk.II is now banned like all other sniper rifles.
proper_name attributes were fixed for several weapons, although to my knowledge said attribute is deprecated and not actually used.
DataPacks are now named with the date they are created so you can tell if there's been a new version since the last time your downloaded one.
Changed team switch time from 0.1 seconds before bonus time ends to 0.2 seconds before bonus time ends. This is to prevent a rare condition where teams weren't swapped prior to the next round start.
Optimization: mp_bonusroundtime is now read as a Float (it has the above value subtracted from it, so it had to be converted to one anyway).
PropHunt Redux now removes its game description during map changes and reapplies it after config files are executed. This is to fix an issue with MultiMod servers.
Reset the Last Prop status on round start in addition to round end. This is to fix situations where it "sticks" into the next round for unknown reasons (or after map changes).
Player models are now removed before teams switch as another attempt to fix the "Pyros all appear as props!" bug some people see in high latency situations.
PropHunt Redux now waits to see if the current map is a PropHunt map before loading its prop configurations. This should reduce memory usage on multimod servers when PropHunt isn't active.
Prevent the "Now disguised as X" and "Please wait while RED hide." messages from displaying multiple times on round start.
New prop keyvalue: skin. This is to change a prop's skin to one other than the default. Untested, so it may not actually work.
Standardizes where player-specific values get reset so we can make sure they're always reset when a player spawns.
New cvar: ph_propmenurestrict. Defaults to 1. If set to 1, this restricts the propmenu command with args (i.e. "propmenu models/props_gameplay/cap_point_base.mdl") to only allows props that actually appear in the menu. THIS CVAR IS IGNORED ON RANKED SERVERS because ranked servers will always force this behavior on.
New file props_allmaps.txt that contains a list of props that appear on all maps. By default, this file only contains the control point prop.
New file prop_menu.txt that contains a list of props that appear in the propmenu on all maps. By default, this contains the pyro and ghost models.
New system to restrict weapon replacements to certain classes only.
The Reserve Shooter is now replaced by the stock shotgun for Pyros and allowed again for Soldiers. It was blocked for both classes.
This is to fix a 'Native "GetEntProp" reported: Entity -1 (-1) is invalid' on stats2.inc line 173, which was preventing Pyros with the Reserve Shooter from having their kills logged.
Fixed compilation issues in stats2.inc due to to missing constants in prophunt.sp. Apparently, these have been around for a while.
Changing teams (during pre-round or via ph_switch/ph_pyro) will reset the Please wait and Now Disguised As status so that they display again after switching teams.
A successful propreroll or propmenu will reset the Please wait and Now Disguised As status so that they display the new prop name.
Fix 3 Handles being leaked on map change.
PropHunt Data Pack updated with these changes:
The new Festive items now have the attributes of (or are blocked like) their normal versions.
The Wrangler and Festive Wrangler are now blocked... they're pointless since sentry guns are blocked.
The Short Circuit is now blocked. I could have sworn this was already blocked, but apparently not... and now it's basically a free way to kill Scouts without having to know where they are (seriously, it only takes 5 metal?). This now also means that all Engineer Secondaries are blocked.
The Scorch Shot and Manmelter had their self damage lowered to be in line with the other Pyro flare guns. Seriously, why would you use the Manmelter in PropHunt anyway? I'm considering raising the damage on the Manmelter, but...
The Spy's Sappers are now listed under PDAs for completeness.
Added ph_snowworks config file.
Skipped due to SG-Gaming.net using that for private modifications. And yes, I'm publicly shaming them for using this version number because now I have to skip it to avoid confusion.
Last Prop logic now only fires if the flamethrower damage will kill the pyro, preventing the damage sound from raping the last prop's ears.
PropHunt Data Pack updated with these changes:
Phlogistinator is now allowed again.
Added ph_amazon config file.
PropHunt Resource Pack has been replaced by the PropHunt Map Essentials pack (upload is happening now).
3.0.0 beta 14:
Updated Last Prop Logic to use a different method.
3.0.0 beta 13:
Fix for the Last Prop logic firing more than once.
Fixed some off-by-one errors that may have prevented the One And Only effect from playing.
3.0.0 beta 12:
Flamethrower fix using OnGameFrame / 3 which seems to be close to the TF2 default cl_cmdrate on clients.
3.0.0 beta 11:
Attempt at another flamethrower fix cl_cmdrate using a SourceMod timer. Didn't work as timers can't fire fast enough to work for this.
3.0.0 beta 10:
Attempt at a fix for flamethrower jump and self-damage because crit calculations for flamethrowers are now based on the client's cl_cmdrate as of a recent update. The method in this version ended up still being based on cl_cmdrate.
PropHunt Data Pack updated with these changes:
Replaces the Eureka Effect with the stock wrench instead of just stripping its attributes. This was necessary because hitting G to teleport still worked (whoops).
Crusader's Crossbow is now replaced with the Syringe Gun instead of outright blocked.
Added ph_crater config file
3.0.0 beta 9:
Fixed a regression of beta 4's cvar reset fix. This was brought about by the round-end changes introduced in beta 5. Whoops.
PropHunt Data Pack updated with these changes:
The Amputator and Solemn Vow should now be replaced with the Bonesaw instead of completely blocked.
The regular Frontier Justice is no longer replaced by the stock shotgun because people were complaining about it.
Fixed a bug with the Festive Frontier Justice (which wasn't blocked when the normal one was) doing more damage than intended... it was doing 20% more damage than the non-Festive FJ before it was blocked (the 20% damage increase was introduced in 2.08)
Added a new section for multi-class Melee weapons. None of these weapons are currently blocked or replaced, but the section is included for completeness.
Added ph_laboratory config
Updated ph_manorgrounds config for version a4.
3.0.0 beta 8:
Block all wearable from spectators and dead players. This is intended to fix the "spectator miscs show on props when they're being spectated" issue.
3.0.0 beta 7:
Block spellbooks on the last prop
3.0.0 beta 6:
Always remove prop models on round change. This is a (failed?) attempt to fix issues where players see Pyros as props.
PropHunt now handles all full-team changes and not just if the props win.
3.0.0 beta 5:
ph_enable changes no longer take effect until round change.
3.0.0 beta 4:
Fix cvars being reset when they weren't being stored in the first place
Fixed "SendConVarValue" errors for bots on server... they don't need the HUD timer location fix anyway.
3.0.0 beta 3:
Opt-in Multimod is no longer compiled in by default, meaning you no longer need optin_multimod.inc.
New cvar: ph_staticpropinfo. Default: 1. If set to 1, periodically checks if a client has r_staticpropinfo set to 1. Previously, this was part of ph_antihack. Requested by Fearts.
Timers are now disabled between rounds. The control point is refreshed at the end of setup time and every 55 seconds afterwards.
3.0.0 beta 2:
Fixed an issue where items with 1 attribute modification weren't actually being modified... i.e. adding "airblast disabled" to a flamethrower.
Fixed an issues where changing a weapon but not its classname or attributes would cause the weapon to not be changed. I don't know why you'd ever do this, but...
3.0.0 beta 1:
Added command propreroll, which allows props to reroll their prop once per round.
Added cvar ph_propreroll, which controls which players can use the propreroll command. Default is 0 (admins only, uses propreroll override).
Fixed an issue related to SourceMod 1.5's changes to overrides which was causing propmenu and propreroll to be activated by people who should have been blocked.
Antihack system now checks the client's r_staticpropinfo cvar and will kick them if it is set to 1 or can't be read.
Prop offset and rotation have been merged with prop names into prop_common.txt. This file is read once every map change.
Offsets and rotations in a map's config file override the versions in prop_common.txt
prop_names.txt is no longer used.
Valve's sentry-building block code doesn't actually work, went back to killing them on spawn.
3.0.0 alpha 3
Now removes particles from props before changing their prop to a different one. This is mainly to fix an issue with propmenu and the Ghost prop.
Last Prop wasn't being cleared on round end, which meant that all Scouts had their weapons when they spawned.
Added weapon option: "replace". Takes classname:index:quality:level:attribute1 ; value1 ; attribute2 ; value2" as its argument.
Frontier Justice is now replaced with the stock Engineer Shotgun.
Eureka Effect has its attributes stripped
Phlogistinator has its electrical fire effect added back.
New map: ph_courtyard_v1_5
New optional dependency: Read Game Sounds.
"broadcast" and "game" sounds are now treated as synonyms. If Read Game Sounds is present, the plugin will use it in preference over the teamplay_broadcast_audio event, which should make certain server owners happy.
3.0.0 alpha 2
Added weapon option: "stripattribs". Set to 1 to strip all attributes from a weapon.
Default weapon list changes
Phlogistinator has its attributes stripped.
Fix for maxhealth being broken in alpha 1
New cvar: ph_antihack - Allows you to disable PropHunt's antihack system if it causes issues with other plugins. This should be left on by default
3.0.0 alpha 1
TF2Items is now mandatory
Rewrote the item blocking code for props.
It's now possible to block props from getting specific items if they're the last prop.
Default weapon list change: Bonk Atomic Punch is now blocked. This time for real.
Players are now healed to their max health for touching the control point rather than to a fixed amount.
Unfreezing players is now delayed 0.1 seconds after round starts. This supposedly fixed players get stuck frozen.
New cvars: ph_airblast - Controls airblast instead of being compiled in. Off by default.
Overhauled what changing ph_enabled does. Should play more nicely with multimod servers now. Also, it no longer outright kills the control point and round entities... hopefully multi-round will be available later on.
Touching the control point now plays the announcer's "I'm giving you a bonus" clip.
Fix for stats.inc related code... binary file provided here has no changes except version bump.
Fixed an exploit that allowed players to unfreeze by changing classes prior to Setup starting.
Pre-Round now only covers from from when teamplay_round_start fires to when arena_round_start fires, rather than counting from the end of the round.
Respawning during Pre-Round will freeze you.
Round Over now covers from round end (or the start of the map) to Setup end of the next round. It used to cover from the end of the map instead of the start... this is an attempt to fix the freezing issue mentioned by VoiDeD earlier.
All players are frozen at the start of pre-round. RED players are unfrozen when pre-round ends. BLU players are unfrozen when pre-round ends if the map config has "freeze" "0". All players unfreeze when Setup ends (but that's how all the 2.0x versions work).
Removed ph_stripsetbonuses since said set bonuses went away.
Internal changes to how velocity is looked up... now uses GetEntProp.
Updated prophunt_config.cfg (and PHDataPack)! The changes this time around include:
Loose Cannon has been removed. Not sure how this escaped the ax before, and now it's been buffed...
Frontier Justice (normal and festive) has had its damage boosted slightly so its not a straight downgrade from the Shotgun.
Respectless Rubber Glove has had its damage removed... I don't think that worked, but I'm removing it just in case. (Seriously, who added that and why?)
Restriction on Jumper's Jeepcap removed.
PropHunt now generates a config file: cfg/sourcemod/prophunt.cfg. This is a breaking change because it means any existing setting for ph_propmenu will be ignored. Make sure to update this configuration file after it's created. I've attached a sample config file, too, if you want to edit it before putting it on (but be aware it matches my server's settings not the default)
Fixed issue where function for fixing BLU players was passed a client index when setup time started; the function expects client userids. This may fix issues where BLU players were not unfreezing correctly.
Switched function for fixing RED players to use userids to prevent errors when a player disconnects before the timer fires.
New Cvar: ph_gamedescription. Default 1. If set to 1 and SteamTools is installed on the server, it changes the game description to PropHunt. ph_adtext is ignored if this is set to 0.
New Optional Dependency: TF2Attributes. Required for the next two CVars.
New Cvar: ph_stripsetbonuses. Requires TF2Attributes. Defaults to 1. Strips all attributes that are set directly on players. Mainly for set attributes, such as the Milkman Scout health bonus and Attendant Pyro speed bonus, but could affect attributes set by other plugins. Has no effect on attributes set on weapons.
New Cvar: ph_preventfalldamage. Requires TF2Attributes. Defaults to 0. If set to 1, prevents all players from taking fall damage. Set to 0 by default for compatibility reasons.
2.06 (2.05 was skipped due to version conflicts):
Fixed issue with tf_arena_round_time not being forced to 0.
Really fixed team_control_point master not having names on ph_devilscanyon and others.
Failed fix for team_control_point master not having names on ph_devilscanyon and others.
Fixed PropHunt automatically disabling the TF2 auto-balancer.
Explicitly hooked PropHunt's timer's OnSetupFinished instead of the teamplay_setup_finished event. Fixes issue where Setup time was cut short on some maps (such as ph_kakariko).
PropHunt no longer does its own balancing. You should use mp_autobalance 1 or a third-party team balancer.
ph_propmenu_flag is gone. Use the SourceMod Overrides system for "propmenu" instead, although be aware this only works if ph_propmenu is set to 0. You can also override ph_pyro and ph_switch using their respective command names.
All canteens are removed from Scouts, not just the original MvM one. They are also not removed from Pyros like they used to be.
Calling propmenu from the server console or rcon no longer causes PropHunt to stop working.
Prop offsets now work from propmenu instead of being random.
The first 30 seconds of the round now show up as Setup time. This means players can now tell when the round will start.
The game now ends at 0:00 instead of 0:01. Also, teams are not switched until right before the next round starts.
Announcer no longer tells you the point was unlocked.
Fixed prop not visible to self in thirdperson
Coincidentally might have made thirdperson movement smoother
Fixed SpeedBoost not functioning at all.
Fixed SpeedBoost interfering with being slowed, zoomed, charging and other speed-changing conditions
Fixed Users sometimes not always getting a prop due to having "Respawn on Loadout change" checked.
Removed the "Class Blocked" message
Extensive configuration options added:
Added checks to prevent players with no weapons.
Added a check to prevent 'ERROR' props from bogus map configurations.
Speed bonuses now persist over weapon changes
Speed bonuses are now capped to +25% of the classes base speed.
Fixed Weapon Nerfs being based on the currently active weapon as opposed to the weapon fired.
Reverted to old-style weapon self damage
The Control Point Bonus will no longer heal the incorrect amount in some cases.
Removed cowmangler and family business
Various bugfixes and cleanup
Removed following weapons:
The Solemn Vow
Nerfed the following weapons:
Liberty Launcher to the same level as the other Rocket Launchers
Tomislav to the same level as the other miniguns
Reserve Shooter to the same level as the other shotguns.
The Detonator to 95% of normal damage.*
The Splendid Screen to 75% of normal damage. *
* - Subject to change.
Brass Beast and Iron Curtain do 75% of normal damage.
Removed Crusader's Crossbow, Amputator
Fixed Lugermorph being usable in some cases.
Re-added Soldier/Demo Sword
Removed Sydney Sleeper
Gave a 5% damge boost to the huntsman
CP will now heal scouts to 150 health. To allow set bonus scouts to benefit from their items.
Fixed an issue where named items would override items nerfs & restrictions
Handles bug fix
Changed version format
Reduced minigun self-damage to 3 per shot
Fixed Engineer's with The Gunslinger only being healed for 125 points on the CP.
Nerfed The Frontier Justice to 85% damage, 5% higher than the normal shotgun.
Mapcycle is no longer automatically set to arena_mapcycle by the plugin
Plugin will now unload before making changes to the server if it is loaded on a map without a configuration file.
Added ph_propmenu_flag (default: "c") to control the admin flag used for the prop menu, supports multiple flags.
Fixed an error being output if the plugin was unloaded and RTL wasn't installed/running.
STATS: Fixed an issue where survivals would not be logged.
STATS: Fixed issues with Death logging
STATS: Added extra detail to Death & Survival Logging
STATS: Fixed an issue where names with UTF-8 characters would not be stored correctly on MYSQL
Changed the "Disguised as..." message so it uses "Clean" names which are defined in data/prophunt/propnames.txt
Added a ResetCvars Routine that attempts to reverse the changes that PropHunt makes when it starts (It resets the cvars to their default), making it usable in conjunction with other mods/stock gameplay.
Disabled Shadows on props
Increased the rocket launchers and minigun to 75% damage
Increased BackBurner and Pyro Shotgun to 85% damage
PropLock will now be disabled when you attempt to strafe left or right
Last-Prop Jarate now only lasts 15 seconds
Engineer buildings are no longer solid
If RunTeamLogic is not present the plugin will no longer failstate.
Fixed ph_propmenu cvar >.>
Fixed an issue where a heavy with Natasha equipped would get their shotgun removed instead of Natasha.
Fixed an issue where medals and other misc items would not be removed
Fixed an issue where halo particle effects would show up on a prop
Fixed an issue where DMG_DROWN from a trigger_hurt did not effect the props
Fixed an issue where props with particle effects (The harvest ghost) would not have their particle effects removed when the player died.
Hence restored the ghost to the admin prop menu
Changed the prop menu command so it can now be fully disabled (-1 = disabled, otherwise the same values)
Increased the damage on the rocket launchers by 5% to try and prevent the weird 1 damage issues.
Fixed cvars not being reliably overridden, specifically mp_idledealmethod.
Airblast is now 25% less powerful
Prop Shadows no longer appear
Huntsman now does 20% less damage
Backburner now does 40% less damage but crits from behind
Returned all shotguns with full ammo
Pyro shotgun does 25% less damage
Pyro shotgun has 2 shells with infinite ammo
Soldier/Heavy Shotgun do 20% less damage
Minigun now does 30% less damage
Increased per-shot self damage on the minigun
Heavy Limit of 2
Restored Engineer shotgun at the same 0.8x damage modifier as the other classes with shotgun as their main weapon (Heavy, Solly)
Nerfed Direct Hit and Rocket Launcher to 0.5x damage
Flaregun now does 5 self-damage
Fixed the broken Jarate
Improved Teamswitch Logic
Changed code formatting style
And a bunch of undocumented fixes and changes.
The hat removal code now hides badges as well, and only affects RED (thanks Geit :))
Removed all shotguns (same glitch as pyro)
Restored engineer pistol with much greater self damage per shot
Restored standard minigun (no natasha), increased self damage slightly.
Optimisation: replaced a block of strcmp calls with a trie (self damage code)
Fixed a glitch where people could spawn as a fully equipped scout after the last prop.
Now using TF2_RegeneratePlayer in place of GiveNamedItem and the new built-in native TF2_AddCondition in place of TF2_AddCond - will not work on 1.3.2 snapshots - only 1.3.2 stable and newer snapshots of 1.3 and 1.4. - gamedata/prophunt.games.txt and data/tf2weapondata.txt are now redundant.
Restored airblast and backburner
Removed pyro shotgun (seemed to be doing full spread damage no matter what range etc.)
Prop Menu no longer restores health.
Removed Ghost - broken particle effect.
Added code for a new Prop Rush gameplay style suggested by Geit, currently waiting on some help from Valve before it will be enabled/usable.
Recoded around Valve's latest changes:
Rotation is now client-side, with full 360 degree accuracy.
Burning props no longer highlight the invisible scout - instead the flames appear around the prop itself.
Hidden voice icons :)
(And no more invisible props of course :P)
Reverted to old movement code
Reverted to full damage on the huntsman
Fixed mp_teams_unbalance_limit notifications appearing in chat.
Fixed propmenu not reading admin flags properly.
Fixed timer error spam during the pre-round phase resulting in severe lag spikes.
Accidentally left in some code which made scouts semi-visible in 1.63 D:
The propmenu now performs red/alive validation after selecting an option as well as before being displayed.
The new attachment system is now only activated when not moving - turns out a lot more than just jumping will trigger the wobble effect :P
If mp_idledealmethod is set to 1 (i.e. move to spectator, then kick) it is now forced to 2 (i.e. kick). This fixes the bug introduced in 1.6 where players would be kicked at random if it was set to 1. If you want the mp_idledealmethod 1 functionality, there are plugins that duplicate this with it set to 0 (AFK Manager is one example).
Props now parent to the 'head' attachment point, resulting in flawless movement and rotation. No need to keep switching PropLock on and off to line yourself up now :) (When jumping it reverts to the old system for 1 second to combat an annoying 'wobble' which made lining up double jumps awkward.)
Slightly increased Huntsman damage - damage was at 70%, now 75%.
(Stats-enabled version) Now using BuildPath for the MOTD file location (supports SM being in locations other than addons/sourcemod).
Fixed bug introduced in 1.6 where spectators could be spawned on RED, rendering BLU unable to win.
Flaregun no longer does damage to pyros.
Another bunch of maps :)
Added engineer (minus sentry) and medic (minus blutsauger and medigun/kritzkrieg)
New mouse controls (LMB = toggle version of old RMB camera lock; RMB = first/third person toggle)
Fixed server lag which would develop over time without a mapchange, due to stacking PreThink hooks on every player spawn.
CP Bonus now extinguishes players in addition to filling their health.
Increased tf_arena_max_streak (team scramble) to 5
Increased mp_waitingforplayers_time to 40.
Added prop menu for admins (/propmenu) - all props available on map along with pyro and ghost.
Nerfed Shotgun (Pyro only) - clip size reduced to 2, unlimited ammo to compensate for auto reloading.
Nerfed Huntsman - 30% damage reduction to prevent 1-hit KO from bodyshots.
Added team balancing code which runs directly after the teams are swapped. For a difference of 1 player, it favours BLU.
Fixed 'remember last weapon after death' exploit.
Added cvars: ph_propmenu (enable propmenu for all players, default 0) and ph_enable (enable prophunt itself, default 1).
Various minor optimisations
Added several new official maps!
Added new and improved jetpack, without the DukeHacks requirement.
BLU is now permanently Jarated when there is only one prop left.
It is no longer possible to freeze your prop while moving, which fixes many exploits.
Completely refactored the code to be much lighter and more optimised. It's about 20kb/500 lines shorter now.
No more OnGameFrame - prop movement now runs on PreThink, and the CP Bonus is handled by a Touch hook.
No more DukeHacks - moved everything to native SM and SDK Hooks.
No more Hooker - the game description change is now done by SDK Hooks.
No more reloading between rounds - the race condition and entity index bugs are now fixed properly.
Replaced #define WHORE with IsDedicatedServer()
Replaced #define AO with a hostname check.
Fixed exploit where BLU demoman (and perhaps other classes) could become invisible and get all their weapons.
Shortened hud text spam time.
Fixed bug where props would sometimes get their prop stuck on them while spectating after death.
Fixed a number of race condition bugs.
Entity indexes are no longer relied upon for certain prop related functions.
Fixed significant random timer bug (broke everything and eventually crashed the server) due to incorrect usage of KillTimer over CloseHandle.
Fixed a number of inefficient operations in PreThink which caused noticeable lag and server fps drops.
PropHunt now works out of the box on listen servers.
Due to huge demand from Shinkz, Natascha is no longer permitted and Sniper with everything but Sniper Rifle has been added along with Demoman+Eyelander. Can be toggled with #define SHINX.
(Stats-only) !statsme now prints your stats to everyone rather than duplicating !rank functionality.
Various bugfixes and minor improvements.
Fixed unstuck translation
No changes to mp_timelimit
Automatically unload on non-prophunt map
Airblast disabled sound is now at full volume.
Pyro assist speed bonus is now also +100.
Fixed unstuck making you get stuck in the control point.
Attack2 is now only disabled when using the flamethrower.
sm_prophunt_stats for stats-enabled versions.
Cleaned up code.
Reduced mp_bonusroundtime to 5 and adjusted other code appropriately.
Added speed boost for pyros - +100 for a kill, +50 for an assist. Speed is reset each round.
Disabled lock/unlock sounds by default - #define LOCKSOUND. Keeping the pyro airblast "disabled" sound.
Players are no longer slain at round end (thanks toazron1).
Added announcer "mission begins in x seconds" sounds for hiding time
Fixed unstuck making you actually get stuck :P
Added a check to ensure Hooker is included before trying to register the game description hook.
Added HL2 sounds to M1/M2 on props and airblast on pyros.
Removed unnecessary debug messages.
Removed pyro prop - control point is the new global prop.
Returned Plugin_Handled on all commands.
Added map config files :D
Added an option for mappers to have a logic_relay fired when hiding time ends.
Prevented slaying between rounds, but kept in slaying when the plugin is reloaded manually.
Fixed sound preloading issue.
1.0 - Initial Release (code cleanup; otherwise equivalent to 0.0.6)
DarkImmortal - For creating the original TF2 plugin this is based on
Bluepanther - Providing the Original Inspiration to code this.
Geit - Official PropHunt Goat, Technical support during semi-private beta, PR, Mapping guru
LordVader! - The First Non-GM provider of PropHunt.
Jocker - Italian Translation
Asherkin - Maker of both TF2Items and SteamTools
All the communities that help us test changes.
All the Map Makers out there who make this game mode possible.
And sorry to anyone we've forgotten - many little copy+paste snippets have gone into PropHunt.
And to help the forum search engine: prophunt prop hunt hide and seek hidenseek hide 'n seek
The necessary stats.inc for global statistics and prophunt.smx with statistics compiled in are available on request to trustworthy communities. Contact Geit for more information.
So long and thanks for all the fish.
Last edited by Powerlord; 11-10-2015 at 12:20.
Reason: Shorten the first post considerably
"item_name" - The translation phrase used for the item's name. This key is not currently used.
"propername" - 1 if the "name" field is the item's printable name. This key is not currently used.
"damage_hunters" - Multiply a weapon's damage by this amount. In-game example is "0.8" on the backburner, which lowers it to 80% of normal damage.
"self_damage_hunters" - How much damage does a Hunter take from this weapon when they use it? If this isn't present, the default is 10 damage.
"removed_hunters" - If set to 1, remove this weapon. Despite the name, this can remove the weapon from Props (for Last Prop mode).
"addattribs" - Add attributes to this weapon. Syntax is "attrib ; value ; attrib2 ; value2". values are float values. In-game example: The Panic Attack has "424 ; 0.5" to change its clip size to 3.
"replace" - Replace this weapon with a different one. I recommend only replacing the weapon with a stock weapon. Format is "weaponclass:itemdefinitionindex:quality:leve l". In-game example for The Eureka Effect: "tf_weapon_wrench:7:0:1" which replaces it with a stock quality level 1 Wrench.
"replace_onlyclasses" - For multi-class weapons, apply a "replace" only to specific classes by adding up these values:
in-game example is the Reserve Shooter with a value of "64", which replaces it only for Pyro.
* means the map is included in the PropHunt Map Essentials download. Bold text are warnings about the map... many maps with bold text are not recommended.
Sound Pack - Recommended if you are not using the PropHunt Map Essentials download, as it includes the two sounds used in PropHunt by default.
2015-07-12 DataPack has config files for all of the following maps.
Mind explaining the changes you made? Also it looks like you removed a few maps from the download. Any reason for that?
OK, I think I've gotten everything except the BZ2 links up now.
The main "feature" of Redux is that its weapon change system is a lot more flexible than Prop Hunts is. You can now switch weapons with other weapons, strip a weapon's attributes, add attributes to weapons...
There are a few other things that got added too, such as the propreroll command (admin-only by default) and incorporating bugfixes that bl4nk had reported in the Prop Hunt thread.
Still, this version is in need of more widespread testing, hence why it is still labeled beta 2.
As for maps, arena_desolation got rolled back to pb1 as the communities I've heard from prefer it to rc1. Also, courtyard_v1_5 got added this release.
I saw you had the options to disable the anti hack system. I think this system is what is stopping me from using Ghost Mode Redux. Is there any way you could just add a work around for this without having to fully disable the system?
I saw you had the options to disable the anti hack system. I think this system is what is stopping me from using Ghost Mode Redux. Is there any way you could just add a work around for this without having to fully disable the system?
I'm not what interaction Ghost Mode Redux has with the PH antihack system.
Really, the only things the PH antihack system does is remove items from RED players... and since 3.0.0 beta 1, it now blocks the r_staticpropinfo client cvar.