- Fixed the rope on rappelling NPCs causing graphical issues
- Fixed prop_vehicle_prisoner_pod missing "EnterVehicle" and "EnterVehicleImmediate" inputs
- Fixed hostile citizens not damaging player
- Added "Expanded name fixup" keyvalue to point_template which allows name fixup to fix up output parameters
- Added several inputs to control env_wind keyvalues + a new $treeSway scale keyvalue
- Made SetTarget input update target handling on NPCs
- Fixed an uncommon npc_metropolice crash from when it's not in a squad
- Added $treeSway to SDK_VertexLitGeneric and SDK_UnlitGeneric
- Added $treeSway skins to several existing tree models in HL2, EP1, and EP2
- Added +attack3 to options menu + default binding in default configuration (MOUSE3/mouse button)
- Added IsValid
- Changed ammo type functions to be more organized, added AmmoDef singleton
- Added more precache functions
- Added various misc. entity functions, like GetAllWeapons, AddOutput, TakeHealth, IsAlive, etc.
- Added more utility functions
- Fixed issue with VMTs in the root "materials" directory causing the tool to crash
This update also includes various code optimizations from a PR which fixes GNU compiler incompatibilities.
This update introduces $treeSway to Mapbase. $treeSway is a material parameter from later Source games which causes models to "sway" with env_wind. It was originally intended to be used on trees, but it can also be used on antennas, vines, tarp, etc. and supports many customizable parameters. Mapbase's implementation of $treeSway originally came from Half-Life 2: Downfall, which in turn came from the Alien Swarm SDK. Mapbase also adds $treeSwayStatic for making $treeSway work without env_wind and a new $treeSwayStaticValues parameter for controlling those static wind values.
Since $treeSway obviously doesn't exist on any existing trees in Source 2013, I added custom $treeSway skins to most existing HL2 trees. Trees with separate "leafed" and "leafless" skins have two additional "leafed" and "leafless" skins for $treeSway.
$treeSway is available on the SDK_VertexLitGeneric and SDK_UnlitGeneric shaders.
The custom VScript implementation introduced in Mapbase v4.0 seems to be surprisingly stable so far. Very few issues have been reported, although there have been several suggestions for new functions. Some of those suggestions have been added in this update.
IsValid is the most essential and notable function in this update, as it was previously missing in this VScript library. Other changes will be documented on the wiki.
The random fixes in this update are mostly a result of testing various Map Labs competitions in Mapbase. A few previously unnoticed Mapbase issues caused major problems in these maps and have been fixed in this update.
If you find any issues with this update, please report them here, on the Discord server, or on the repo's "Issues" page.