Mapbase introduces a number of changes or quality-of-life features that relate to specific settings of Half-Life 2, sometimes by design. This article is intended to be a guide for finding changes that can assist in developing for these settings, or for developing similar settings.

Note that most of these changes are additive in nature; Mapbase is not intended to damage any existing workflow or design.

Point Insertion

Mapbase makes many of the entities involved with Point Insertion easier to use and manage.

  • script_intro is responsible for the blending effects seen in the G-Man intro in d1_trainstation_01. Previously, its use cases were limited because it did not draw the viewmodel or skybox correctly, which Mapbase has fixed.
  • npc_metropolice has special AI to serve as passive cops in the first levels. Mapbase exposes this AI through new I/O to control how many warnings they’ve given and agitate them to chase the player.
  • ai_goal_actbusy is used to make citizens walk around, get food packages, and do special idle animations throughout the chapter. Mapbase now allows map-specific actbusy scripts to be loaded (maps/%mapname%_actbusy.txt) with a few miscellaneous improvements, making it easier to integrate the actbusy system without requiring a dedicated mod.

“A Red Letter Day”

  • item_suit now makes the previously unused “Short Logon” spawnflag prevent the “admire gloves” animation from playing.
  • logic_choreographed_scene now supports raw .vcd files without having to build scenes.image.

Route Kanal/Water Hazard

  • weapon_stunstick can be found at the beginning of the chapter, but it normally cannot be picked up and only serves as a small battery. Mapbase adds a hl2_gamerules entity which allows the stunstick’s pickup behavior to be changed and allow players to pick up stunsticks as weapons.
  • npc_metropolice now supports additional weapons as well as new I/O to control their manhack carrying behavior (e.g. DeployManhack to deploy a manhack immediately).
  • item_item_crate now supports the ability to use a custom crate model and the ability to spawn entities from a point_template instead of just a given classname. An OnItem output has also been added, which fires for each item. The OnItem output also fires for each item generated by an item_dynamic_resupply.
  • env_headcrabcanister now supports an OnCrab output which fires for each crab that comes out of the canister. A StopHissing input has also been added to silence a canister’s hissing, which was previously continuous.
  • npc_helicopter now has an OutBomb output, which fires for each time the helicopter drops a bomb. The ability to use a custom FOV (which would normally be 360 degrees/all angles) has been added as well.

Black Mesa East

  • The turrets in the airlock now have a NPC counterpart called npc_turret_lab.