Skip to content

Half-Life Featureful SDK 2025-01-25

Latest
Compare
Choose a tag to compare
@FreeSlave FreeSlave released this 25 Jan 20:31

The mod sample is included in the archive, with the test map and assets

The provided FGD has an extended format used by J.A.C.K. and won't work with Valve Hammer Editor!

This release also includes the custom FGD provided by the community with assets like entity-specific icons and models that might help the level designer.

Note: zhlt entities are not included in the FGD. You must add zhlt.fgd to your game profile configuration in the map editor.

If you already have a mod in development based on Half-Life Featureful read this article to get the idea how to apply the new SDK version for your project.

Changelog

Bugfixes

  • Fixed delays between monster's consecutive attacks being longer than expected. Thanks @Drayce0 for reporting.
  • Fixed func_pushable not behaving truthfully to HL 25 anniversary behavior.
  • Monsters use the classic path finding again in order to actively try to get to the goal (e.g. scripted sequence) even if they can't reach it at the moment. This fixes some issues that rose from the previous path finding changes. Thanks @Alex-98X for reporting.
  • Fixed JSON schema for configurable Visuals.
  • Fixed JSON parsing errors not being cleared up when server JSON files get reparsed.
  • Fixed Desert Eagle shell being ejected at wrong place and direction (original Half-Life: Opposing Force bug). Thanks MariusMaximus for reporting.

Monster changes

  • Heavy weapon grunt performs a suppressing fire when enemy hides behind an obstacle. He also can break func_breakable if his target uses it as a cover.
  • Heavy weapon grunt now needs his gun to cool off after shooting for some time. That allows player to have a window of opportunity to run through.
  • Fixed panthereye size. Increased the panthereye melee distance.

Entities

  • The pickable item_ and ammo_ now can use an own visual defined in the entity template.
  • Added trigger_changemaxclip that allows to change the max clip for the certain player weapon.

Inventory system changes

  • Inventory item types in templates/inventory.json now can define an entity template used by default for the item_pickup of specified inventory item type. The property is pickup_template.
  • item_pickup definition in fgd no longer defines the model or pickup sound by default.
  • New soundscript Inventory.Pickup that allows to set a default sound for picking up the item_pickup or to change it via entity template.

Entity templates changes

  • New property collision_box to define an object collisition box. In general it is not the same as size.

New configurable visuals

  • Added configurable visuals for monster_flybee.
  • Added configurable visuals for monster_robocop.

New cvars

  • Setting npc_get_to_enemy_nearest to 1 makes melee-focused monsters try to get to their enemy closer even if they can't build a path to the enemy. For example, this might help them to target the player standing on the small elevation (e.g. table).
  • Setting npc_trace_hull_attack_retry to 1 makes melee monsters more likely to hit the target when it's on some small elevation.

64-bit support

  • Some fixes and improvements for 64-bit build support (for Xash3D-FWGS). Thanks @a1batross
  • Fixed reading the node graph files in 64-bit build.

Codebase changes

  • Implemented the better weapons system. This allows less boilerplate when adding a new weapon. Now weapons must be linked with LINK_WEAPON_TO_CLASS macro, not LINK_ENTITY_TO_CLASS.