Fixed admin classes assigned to non-admin when zr_classes_random is 1.
Fixed mother zombie classes not assigned when they should be.
Fixed improved class skills on mother infection also applied to mother zombie classes.
Updated class configuration with new special classes.
Fixed bug where manual infecting after the round ending caused the plugin to think their was a zombie next round. (Spawn protect activated)
Updated translations.
Made new mother_zombie class flag and zr_class_default_mother_zombie CVAR.
Updated zombie config. Added more spacing for better readability.
Fixed incorrect off-values in jump boost.
* Fixed a serious bug that could delay the game, the round end checker took dead clients in the count, so 1 dead ct and 9 zombies didn't end the game.
* Small typo fix in anticamp, and got rid of a warning.
Updated infect module to use new reload function.
Fixed typo in command description.
Known issue: Models isn't always restored on zr_human. If "default" is used, there's practically no model change. Possible solution: Store path in a buffer when the player join a team and select a model. Then read from that buffer when "default" is used.
Made class attribute multipliers.
Made admin menus for adjusting class attribute multipliers.
Made console command for setting class attribute multipliers.
Fixed health regen amount class attribute not validated.
Fixed health regen not stopping after surviving a round as a zombie.
Improved ZRIsClientAdmin to support admin flags (optional).
Changed permission flag on admin commands to match action type. Like only admins with config access should be able to do ZR configuration.
Changed log formatting to match style in SourceMod. Removed "-" and ":". The result will be "... [plugin.smx] [mod] [event] message".
Added an option to the account module to give money for damaging a client.
Expanded player hull xy offset by 1 unit.
Fixed anti-stuck not solidifying clients.
Fixed weapon rendering glitches (again)
Made new log CVAR for overriding filters on error log types: zr_log_error_override. If this is on, errors are always logged, independent of flags and filters. Now all non-error logging can be completely disabled without complex flags or filtering.
Made new class attribute ("has_napalm", ClassGetHasNapalm) that specifies if the class have or can trhow napalm grenades. Implemented usage in napalm module.
Added team id validation in class attributes.
Improved formatting of log messages in cvars module.
Known issue: Commands in config for adding modules to log filter are executed too late. Otherwise the module filter works fine.
Implemented looping through modules instead of listing each one.
Fixed translations issue with pre-defined width. zr_log_list now formatts correctly.
Fixed missing newline in the end of translations.inc.
Known bugs: Adding invalid module names works, it should give an error. Cache doesn't get updated either.
Known issue: Using Format to set pre defined width translations doesn't work. "%-19t" should left justify and append spaces to make width 19 chars. Works with "s", but not "t". SourceMod bug?
Made generic flags for log event types.
Made support for module filtering. Note: Manager for module filtering is not implemented. Don't enable filter when testing, otherwise nothing will be logged.
Updated all log events.
Made a CVAR for setting maximum horizontal speed when bunny hop prevention is enabled.
Made a CVAR for switching between reset modes when maximum speed is reached. Either full reset, or setting to max speed allowed.
Made CVARs for volumetric features module.
Made trigger delay attribute for volumes, per player. Count down for n seconds after when a player enter. When leaving a volume trigger delay is aborted.
Made parameter parsing functions; paramtools.inc.
Made functions for setting and parsing generic volume attributes.
Updated header in files to volumetric features and paramtools.inc.
Removed unused knockback functions in zadmin.inc.
Made certain class functions into stock functions.
* Removed ZMarket as an external plugin (to be integrated next commit)
* Updated weapon configs, removed weapongroups.txt and moved weapons.txt to root zr config folder.
* Moved offset finding to respective module, made new forward *OnOffsetsFound.
* Updated weapons&hitgroups config file format to match playerclass.txt
* Updated translations.
* Recoded weapon restrict menu, commented out all zadmin options that don't quite work.
* Added weaponammo module (not finished but existent)
* Started zmarket module.
Revision also includes:
* Added syntax checking on recoded/new console commands.
* Fixed sv_skyname handle being used when invalid.
* Fixed unhooking error on Weapon_Drop.
* Prefixed some API-style functions with 'stock' to stop compiler
warning.
* Separated downloads into its own file.
Added some base functions for working with modules. It's not tested, but it compiles. CVARs are not created yet.
Implemented volume events.
Function VolUpdatePlayerChanges with help from VolGetPlayerStates detects if a player leave or enter a volume between main timer intervals. This solution is not final and might be expensive. Needs to be optimized later!
Fixed error getting default classes on early player connect (bots, source tv, etc.).
Fixed jump boost not resetting height velocity. Changed to add to velocity. Jump from boost platform still doesn't work because the velocity is set too early.
Added check for reserved class names when validating.
Updated class default attributes and jump limits.
Removed log check in fatal errors. Those must always log.
Stored LogCheckFlag result in a boolean where log is executed more than once.
Fixed invalid translation string used in menu title.
Fixed index out of bounds in zspawn when a client disconnects.
Initializing blank strings on function declaration had no effect. Also the parameter can be treated as optional when it's actually not. Reverted to avoid confusion.
When ignoring console the match must be explicit (client 0), not just any non-valid player. Unspecified clients (-1) are used on core events, but they were wrongfully ignored. Clients are only specified on player events or console events.
Simplified logig: Instead of checking what something isn't, check what it's required to be. Inverted logic may be confusing.