Code
Additions
- Added cvar "inv_ammoweight", sets ammo weight per box and is supported by rulesets (#1258)
Additions for mappers and modders
- Added entity "logic_script_proxy", a bridge between VScript and server plugins
- Added auto-complete to command "ent_create"
- Added command "ent_info_datatable", dumps entity datatable to console
- Added input HideProgress to entity "logic_progress"
- Added server-side "achievement_earned" event
- Entity "logic_progress" now allows StartProgress input while active
VScript
- Added CItem_AmmoBox bindings
- Added CNMRiH_BaseZombie bindings
- Added RulesetManager singleton, with ApplyCvars() function
- Added functions ReadMapKeyValues() & WriteMapKeyValues(), substitutes for unsafe KV file I/O with interface that supports only one file per map
- Added MAX_PLAYERS constant
VScript updates from Mapbase
- Added AI relationship constants
- Added AI_EnemyInfo_t class
- Added animation event constants
- Added animevent_t class
- Added CBaseEntity hook: string OnEntText() - Called every frame when ent_text is enabled on the entity. Return a string to be added to the ent_text printout
- Added CBaseEntity hook: void ModifyEmitSoundParams(params) - Called every time a sound is emitted on this entity, allowing for its parameters to be modified
- Added CBaseEntity hook: void ModifySentenceParams(params) - Called every time a sentence is emitted on this entity, allowing for its parameters to be modified
- Added CBaseEntity hook: void OnKilledOther(victim, info) - Called when the entity kills another entity
- Added command "ent_script_dump", dumps the names and values of entity's script scope to the console
- Added developer cvar check on script documentation registration
- Added EmitSound_t class
- Added function CAI_BaseNPC::GetActivityName()
- Added function CBaseEntity::Activate()
- Added function CreateRope() - Creates a single rope between two entities. Can optionally follow specific attachments
- Added function EmitSoundParamsOn() - Play EmitSound_t params on an entity
- Added functions CBaseEntity::GetSolid() and CBaseEntity::SetSolid()
- Added math functions MatrixScaleBy(), MatrixScaleByZero(), MatrixGetTranslation(), MatrixSetTranslation()
- Added rope constants
- Added sound constants, incl. channels, soundlevels, pitch, etc.
- Updated Squirrel, includes security vulnerability fixes, and a new optional parameter for split() function to skip empty values
Changes
- Death notices now display suicide inflictor in console
- Flattened armored zombie damage scaling for now due to hitbox fix
- Server console now displays NPC killer name
- Shamblers who became runners will now be displayed as such by death notices
- Suiciding while infected now rewards a point if the player won't turn into a zombie
- Updated the localization files
- Weapon is now set as inflictor on gunshot suicides
- Zombies no longer grab noclippers
- Rulesets now allow more additional cvars: - air_density - phys_impactforcescale - phys_pushscale - phys_speeds - phys_stressbodyweights
Fixes
- Fixed BecomeRunner input not making shamblers identical to runners (#1281)
- Fixed boards not appearing in supply boxes (#1256)
- Fixed bow kills displaying incorrect death notice
- Fixed chat prefix localization token being printed in dedicated server console
- Fixed crash when inventory is accessed and inv_maxcarry is 0 (#1086)
- Fixed create game dialog not applying server settings (#1275)
- Fixed create game dialog not switching to main page on reload
- Fixed create game dialog stealing input on main menu
- Fixed death tune not playing (#1273)
- Fixed entity "logic_progress" not stopping on input with static progress
- Fixed game event "player_spawn" not firing (#1266)
- Fixed game event "wave_complete" not firing
- Fixed HUD not being reset for previous user of logic_progress entity when reactivated
- Fixed infected Hunter model catapulting on spawn (#1253)
- Fixed music being always muted on focus loss regardless of user options (#1272)
- Fixed npc_zombie_template_maker trying to create invalid entity (#1269)
- Fixed progress bar being stuck after using ShowProgressBarEx user message (#1267)
- Fixed server vulnerability related to VScript
- Fixed several filter entities being ignored (resolves #1255)
- Fixed shifted hitbox indexes by using a code patch (#1257)
- VScript: Fixed "Squirrel VM stack not consistent" error with EntitiesInBox (#1276)
Maps
nmo_anxiety
- Added collisions to RV
- Added glow to dufflebags
- Fixed broken soundscapes
- Fixed key getting stuck under RV (#1254)
- Fixed missing LDR reflections (#1259)
- Fixed players not being able to carry a watermelon to the end
- Fixed RV door sound and animation spam
- Removed unlit sprites from players carrying tools (resolves #1277)
nmo_brooklyn
- Fixed incorrect livery on police car
- Misc. fixes
nmo_cleopas
- Removed forced vignette effect
nmo_rockpit
- Added various details
- Adjusted some item spawns
- Adjusted some runner spawn positions
- Elevator doors will now push players away instead of crushing them
- Fixed items in the elevators being hard to pick up
- Fixed light bleeding through lifting doors
- Improved some clip brushes
- Remade the shed near gate B
nmo_quarantine / nms_ransack / nms_silence
- Misc. fixes