Entity List - mapbase-source/source-sdk-2013 GitHub Wiki

This table lists every single entity in Mapbase that can be chosen in the editor, including those that already existed in HL2 and its FGDs. Each entity's status indicates how Mapbase has affected it. Summaries are given for each entity to briefly describe how they were affected and entities with large changes may have their own pages, in which case their names would be clickable.

Keep in mind Mapbase makes several changes to the base entity code, so technically every single entity in Source has been changed or affected by Mapbase. Those changes will not be counted unless the base class covers a thin range of entities.

This list was last updated for Mapbase v6.2.

I/O/KV stands for Inputs/Outputs/KeyValues.

Legend:

Status Emoji/Symbol Meaning
Stock βž– This entity has not been changed.
Changed πŸ”€ This entity has been changed by Mapbase.
Obsolete πŸ…ΎοΈ This entity has been partially or fully obsoleted by Mapbase.
Affected ⏺️ This entity has not been changed directly, but it has been affected by Mapbase in some other way.
New ✳️ This entity was added to Mapbase and did not exist before.
Ported ◀️ This entity was ported or partially ported to Mapbase from another game or mod.
Replicated βͺ This entity is based on an entity from another game or mod, but it is not a direct port.
Restored ⏫ This entity already existed, but it was not accessible to mappers before Mapbase due to lack of FGD definition, available I/O/KV, etc.

There is most likely some information missing or miscellaneous stuff left out, but this should be the most comprehensive list available.

Entity Name Status Summary
ai_ally_manager βž–
ai_battle_line βž–
ai_changehintgroup πŸ…ΎοΈ Deprecated by "SetHintGroup" input and point_entity_finder/point_advanced_finder with filter_activator_keyfield.
ai_changetarget βž–
ai_citizen_response_system βž–
ai_goal_actbusy πŸ”€ ForceThisNPCToStopBusy and OnNPCStartedLeavingBusy, casual actbusy, etc.
ai_goal_actbusy_queue ⏺️ This derives from ai_goal_actbusy and receives the same improvements.
ai_goal_assault βž–
ai_goal_fear ✳️ Allows mappers to control the fear behavior allies formerly only used automatically against hunters.
ai_goal_follow πŸ”€ Wait points have been improved and unmarked formations have been added to the editor, but follow behavior itself hasn't changed much.
ai_goal_injured_follow ⏺️ This derives from ai_goal_follow and receives the same improvements.
ai_goal_lead πŸ”€ It has angles in Hammer now, but other than that it just has indirect changes from ai_goal_lead_weapon.
ai_goal_lead_weapon πŸ”€ Timeout time can be specified, weapon_bugbait is no longer hardcoded, etc.
ai_goal_operator βž–
ai_goal_police ⏺️ Some npc_metropolice changes are related to police goals, but nothing has been changed in the behavior itself.
ai_goal_standoff πŸ”€ Custom standoff parameters are now in the FGD and medium cover hints are now fully implemented as potential cover.
ai_npc_eventresponsesystem βž–
ai_relationship πŸ”€ "Classify" classes (e.g. CLASS_PLAYER_ALLY) can now be used. Look into the new ai_relationship_classify for changing default relationships.
ai_relationship_classify ✳️ A special version of ai_relationship that modifies the "Classify" relationships in the gamerules, literally allowing mappers to change the game's default relationships for their map. This allows ai_relationship to be used on top of a global relationship modification. For example, let's say you want all npc_metropolice (CLASS_METROPOLICE) to be hostile to npc_combine_s (CLASS_COMBINE) except for a few npc_metropolice that don't attack soldiers for environmental or balance reasons. This entity allows you to have that kind of relationship setup.
ai_script_conditions πŸ”€ SatisfyConditions, NPC state can be set to "Don't care"
ai_sound πŸ”€ Unmarked sound types and contexts have been added to the editor, a sound "owner" can now be specified
ai_speechfilter βž–
ai_weaponmodifier ✳️ Modifies a NPC's shot regulator to change burst-related stuff. Probably broken.
aiscripted_schedule βž–
ambient_generic πŸ”€ SetSound, sound flags keyvalue with "Pause sound with game pause" option, !activator support, OnSoundFinished
assault_assaultpoint βž–
assault_rallypoint βž–
color_correction βž–
color_correction_volume βž–
combine_mine πŸ”€ Added friend/foe override filters, fixed default enemy registering, added several new I/O/KV including the ability to start friendly, etc. Also actually acts like a point entity in Hammer.
concussiveblast ⏫ This entity is used for the striders' warp cannon and was used for the cut Combine Guard's weapon, but Mapbase gives it a bunch of I/O/KV and puts it in the FGD.
cycler βž–
cycler_actor βž–
env_alyxemp βž–
env_ar2explosion βž–
env_beam πŸ”€ Some fixes, Amplitude input, ability to set start/end entity, etc.
env_beverage βž–
env_blood βž–
env_break_shooter ✳️ Shoots func_breakable gibs.
env_bubbles βž–
env_citadel_energy_core βž–
env_closecaption ✳️ Emits CC manually without any accompanying sound.
env_credits πŸ”€ The ability to use custom credits files and set the number of lingering ending lines have been added.
env_cubemap πŸ”€ Parallax corrected cubemaps are now supported.
env_dof_controller ◀️ An entity ported from the Alien Swarm SDK which allows for a complex depth-of-field effect.
env_dustpuff βž–
env_effectscript βž–
env_embers βž–
env_entity_dissolver βž–
env_entity_igniter βž–
env_entity_maker πŸ”€ OutSpawnedEntity and ForceSpawnAtEntityOrigin/Center have been added.
env_explosion πŸ”€ SetIgnoredEntity has been added.
env_fade πŸ”€ Added "Don't purge" spawnflag, which stops an env_fade from overwriting all other fades.
env_fire βž–
env_firesensor πŸ”€ New spawnflag for accepting flares. Flares will give off dynamic heat based off of their lifetime.
env_firesource βž–
env_flare βž–
env_fog_controller πŸ”€ Starts with fog enabled.
env_funnel πŸ”€ "Activate" input, "Don't remove on fire" flag, missing sprite added to mod files.
env_global πŸ”€ "Counter" output replaced with "OutCounter" in an attempt to dodge the aliasing issue. New global states have also been added, but they're unrelated to env_global itself.
env_global_light ◀️ Ported from Insolence's implementation of Alien Swarm's projected textures. It's received a few changes in Mapbase, like zero default offset with keyvalues for mappers change it themselves.
env_gunfire πŸ”€ Ability to choose any sound in the sound browser, FireBurst for firing bursts manually, OnFire for each bullet
env_headcrabcanister πŸ”€ StopHissing to stop post-impact hissing, OnCrab for each crab that emerges from the canister
env_hudhint πŸ”€ Button combinations, raw strings, etc. as well as SetHudHint.
env_instructor_hint ◀️ Mapper-placed hint for the game instructor.
env_laser πŸ”€ OnTouchedByEntity added, based on the output from env_beam. It fires per frame though, so be careful.
env_lightglow πŸ”€ Added Enable/Disable inputs and the ability to start disabled. Fade distances in Hammer also now have spheres.
env_message βž–
env_microphone πŸ”€ Added unmarked DSP presets, SetDSPPreset, specific channel/pitch scale, and a local landmark keyvalue similar to trigger_teleport.
env_muzzleflash βž–
env_particle_performance_monitor βž–
env_particlelight βž–
env_particlescript βž–
env_physexplosion πŸ”€ ExplodeAndRemove, negative magnitude for pulling things in
env_physimpact βž–
env_player_surface_trigger βž–
env_projectedtexture πŸ”€ Uses Insolence's implementaton of Alien Swarm projected textures with C17:EP1 features, VDC fixes, and Mapbase adjustments. See the dedicated article for more information.
env_rotorshooter βž–
env_rotorwash βž–
env_rotorwash_emitter βž–
env_screeneffect βž–
env_shake βž–
env_shooter βž–
env_smokestack πŸ”€ Now properly derives from Targetname in Hammer, meaning it is no longer missing user I/O, etc.
env_smoketrail βž–
env_soundscape βž–
env_soundscape_proxy βž–
env_soundscape_triggerable βž–
env_spark βž–
env_speaker πŸ”€ Now supports a "target" to use for selected responses (!target1 scene actor, sound origin, etc.) and also has a new OnSpeak output
env_splash βž–
env_sporeexplosion βž–
env_sprite βž–
env_sprite_oriented βž–
env_spritetrail βž–
env_starfield βž–
env_steam βž–
env_sun βž–
env_terrainmorph βž–
env_texturetoggle βž–
env_tonemap_controller πŸ”€ Added UseDefaultBloomScale and SetBloomScaleRange to Hammer, fixed SetBloomScaleRange only accepting single floats
env_viewpunch βž–
env_wind πŸ”€ Added "wind radius", something from Left 4 Dead that allows for multiple env_wind entities in different areas. Also added inputs to change all wind parameters and a "Tree sway scale" for how much an env_wind entity should affect $treeSway materials. Also added "inner" radius, which allows the env_wind's intensity to fade out in combination with regular wind radius.
env_zoom πŸ”€ Added UnZoomWithRate and SetZoomRate inputs for unzooming at the zoom rate and setting the zoom rate after spawning.
filter_activator_class ⏺️ Uses all base filter changes, including SetField to change the primary "field" of most filters (e.g. the classname on filter_activator_class) and TestEntity to test a specific entity against the filter. See the dedicated article for more information.
filter_activator_classify ✳️ Filters an entity by its "Classify" class, e.g. CLASS_PLAYER_ALLY. Uses all base filter changes detailed in filter_activator_class.
filter_activator_context ✳️ Filters an entity by its response contexts. There is a filter_activator_context available in Left 4 Dead and newer games, but this entity works differently and has new options/capabilities, so it's being marked as a "new" entity. Uses all base filter changes detailed in filter_activator_class.
filter_activator_hintgroup ✳️ Filters an NPC by its hint group. Uses all base filter changes detailed in filter_activator_class.
filter_activator_involume ✳️ Only passes entities within the specified volume, e.g. a trigger. Uses all base filter changes detailed in filter_activator_class.
filter_activator_keyfield ✳️ Filters an entity by the value of the specified keyvalue, similar to logic_keyfield. Uses the matcher system and all base filter changes detailed in filter_activator_class.
filter_activator_mass_greater ⏺️ Uses all base filter changes detailed in filter_activator_class.
filter_activator_model ◀️ Filters an entity by its model name. Uses the matcher system and all base filter changes detailed in filter_activator_class.
filter_activator_name ⏺️ Uses all base filter changes detailed in filter_activator_class.
filter_activator_relationship ✳️ Filters an entity by their relationship to the target entity. Uses all base filter changes detailed in filter_activator_class.
filter_activator_team ⏺️ Uses all base filter changes detailed in filter_activator_class.
filter_activator_squad ✳️ Filters an NPC by its squad name. Uses all base filter changes detailed in filter_activator_class.
filter_activator_surfacedata ✳️ Filters an entity by its surface data. Uses all base filter changes detailed in filter_activator_class.
filter_base ⏫ A base filter that always returns true. It's rather pointless and the reason it was brought out is no longer valid, but I left it in anyway. Uses all base filter changes detailed in filter_activator_class.
filter_blood_control ✳️ Controls the filter owner's ability to produce blood from damage. This exists to take advantage of weird workarounds originally used for filter_damage_transfer. Can use a secondary filter to filter blood and/or actual damage. Uses all base filter changes detailed in filter_activator_class.
filter_combineball_type ⏺️ Uses all base filter changes detailed in filter_activator_class.
filter_damage_mod ✳️ Modifies damage taken by the filter's owner. Can use a secondary filter for various purposes. Uses all base filter changes detailed in filter_activator_class.
filter_damage_transfer ✳️ Transfers damage taken by the filter's owner to the specified entity. Can use a secondary filter for various purposes. Uses all base filter changes detailed in filter_activator_class.
filter_damage_type πŸ”€ New option for setting how to compare the damage type (should contain one, all, etc.). Also uses all base filter changes detailed in filter_activator_class.
filter_enemy ⏺️ Uses all base filter changes detailed in filter_activator_class.
filter_multi ⏺️ Uses all base filter changes detailed in filter_activator_class.
filter_redirect_inflictor ✳️ Redirects to a target filter with the damage inflictor as the activator instead of the attacker. Uses all base filter changes detailed in filter_activator_class.
filter_redirect_owner ✳️ Redirects to a target filter with the activator's owner entity as the activator instead of the original activator. Uses all base filter changes detailed in filter_activator_class.
filter_script ✳️ A filter which utilizes hooks in its entity scripts.
func_areaportal βž–
func_areaportal_oneway ✳️ Variant of func_areaportal that only draws when viewed from one direction. Based on the VDC article of the same name.
func_areaportalwindow βž–
func_breakable πŸ”€ Material type "None" support in HL2 DLL, support for HL1 material types, "Spawn on break" could spawn any entity
func_breakable_surf πŸ”€ New spawnflag which plays the break sound from the correct position instead of the map's origin. Also inherits all changes detailed in func_breakable.
func_brush πŸ”€ NPC collision exclusion now has wildcard support. Excluding a specific targetname has been ported to HL2 DLL
func_bulletshield βž–
func_button βž–
func_clip_client ✳️ A special brush that only has a physics shadow on the client, allowing clientside ragdolls to collide with it.
func_clip_vphysics πŸ”€ Implemented the "Start Disabled" keyvalue and added a new "SetFilter" input.
func_combine_ball_spawner βž–
func_commandredirect ✳️ Detects when the player commands their squad to move somewhere within the volume, with the ability to fire outputs, cancel the order, redirect the order, etc.
func_conveyor βž–
func_detail βž–
func_door πŸ”€ No longer contains GoldSrc-era keyvalues. They were broken, deprecated, or distracting. "The sound to play when button is door"
func_door_rotating ⏺️ Uses the same changes as func_door.
func_dustcloud πŸ”€ Radius now displays in Hammer.
func_dustmotes πŸ”€ Radius now displays in Hammer.
func_fake_worldportal ✳️ WIP entity inspired by Portal 2's world portals created by taking advantage of view rendering tricks without having to use any code from Portal itself.
func_fish_pool πŸ”€ Contains several new I/O/KV for controlling the fish.
func_guntarget βž–
func_healthcharger πŸ”€ Has been given some of item_healthcharger's I/O/KV, but not all of them.
func_illusionary βž–
func_instance βž–
func_instance_params βž–
func_ladder ⏫ The original brush ladder from MP games like CS:S. Based off of the VDC fix.
func_ladderendpoint βž–
func_lod πŸ”€ Added the ability to manually choose a maximum fade distance.
func_lookdoor βž–
func_monitor βž–
func_movelinear πŸ”€ Added messy parenting fix from VDC.
func_null ✳️ Brush version of info_null. Functionally identical.
func_occluder βž–
func_physbox πŸ”€ SetDebris input for toggling debris status.
func_platrot βž–
func_precipitation πŸ”€ New particle types from the Alien Swarm SDK. (backported)
func_recharge πŸ”€ Has been given some of item_suitcharger's I/O/KV, but not all of them.
func_reflective_glass βž–
func_rot_button πŸ”€ Fixed the "Starts Locked" spawnflag.
func_rotating πŸ”€ Applied normalizaton to angles, preventing freakouts.
func_smokevolume βž–
func_tank πŸ”€ Ported "ammo type" to func_tank, moved around a few things, added some NPC-related inputs, added a trace filter, etc.
func_tank_combine_cannon πŸ”€ Added support for the player to control directly. Uses the same changes as func_tank.
func_tankairboatgun πŸ”€ Fixed NPC control, added heavy shot options, deprecated the "Airboat gun model" keyvalue for parenting. Also uses the same changes as func_tank.
func_tankapcrocket ⏺️ Uses the same changes as func_tank.
func_tanklaser ⏺️ Uses the same changes as func_tank.
func_tanklogic ✳️ A special kind of func_tank that fires outputs instead of bullets. Outputs are based on a trace that simulates a bullet trace. They pass the position where the bullet would hit, the first entity it would hit, the barrel position, etc. allowing you to effectively create your own func_tank. It can even be controlled by NPCs.
func_tankmortar πŸ”€ Shell radius and trace control. Also uses the same changes as func_tank.
func_tankphyscannister ⏺️ Uses the same changes as func_tank.
func_tankpulselaser ⏺️ Uses the same changes as func_tank.
func_tankrocket πŸ”€ Rockets now properly credit to the func_tankrocket's controller. Also uses the same changes as func_tank.
func_tanktrain βž–
func_trackautochange βž–
func_trackchange βž–
func_tracktrain βž–
func_traincontrols βž–
func_usableladder πŸ”€ CheckPlayerOn for getting a player onto a ladder if possible, ForcePlayerOn for forcing a player onto a ladder no matter what. Also stopped them from always showing up when loading a level with developer >1.
func_vehicleclip βž–
func_viscluster βž–
func_wall βž–
func_wall_toggle βž–
func_water_analog ⏺️ Uses the same changes as func_movelinear.
game_convar_mod ✳️ Part of the convar modification system that allows maps to change cvars in a safe and controlled way, saving them so they could be loaded later and reverting them on level unload.
game_end πŸ”€ New "EndGameSP" input that functions as a shortcut for "startupmenu force". This could be changed by certain mods (e.g. mapping competitions) for firing "map finished" events.
game_gib_manager βž–
game_globalvars ✳️ Reads certain global variables, like curtime.
game_metadata ✳️ Stores map details for things like the Discord RPC, allowing mappers to control game details shown on Discord while they're playing their map.
game_player_equip βž–
game_player_team βž–
game_ragdoll_manager βž–
game_score βž–
game_text πŸ”€ Added SetText from Alien Swarm and newline support with /n (mind the forward slash). Also added auto-break keyvalue.
game_ui πŸ”€ Added outputs for several binds, also added OutButtons for use with math_bits, unlocking power that may be considered unnatural.
game_weapon_manager βž–
game_zone_player βž–
generic_actor πŸ”€ Keyvalue for setting NPC class, ability to use squads
gibshooter πŸ”€ Ragdolls are now properly ignited when set to spawn on fire.
grenade_helicopter βž–
hammer_updateignorelist βž–
hl2_gamerules ✳️ Controls new game-specific HL2 options, like HL2/EP1 vs. EP2 flashlight or default citizen type. No outputs yet.
info_apc_missile_hint βž–
info_camera_link βž–
info_constraint_anchor βž–
info_darknessmode_lightsource βž–
info_hint πŸ”€ SetHintGroup, hintgroup in ent_text, node FOV shows up in Hammer as a frustum
info_intermission βž–
info_ladder_dismount βž–
info_landmark βž–
info_lighting βž–
info_mass_center βž–
info_no_dynamic_shadow βž–
info_node βž–
info_node_air βž–
info_node_air_hint ⏺️ Uses info_hint and info_node_hint changes.
info_node_climb βž–
info_node_hint πŸ”€ Various hint types correctly use hint options, also affected by info_hint changes.
info_node_link πŸ”€ There are several new derivatives available, but the entity itself hasn't really changed aside from a new icon in Hammer.
info_node_link_controller βž– Hasn't really changed, but there's an info_template_link_controller for link derivatives now.
info_node_link_filtered ✳️ A derivative of info_node_link that only allows NPCs that pass its filter.
info_node_link_logic ✳️ A derivative of info_node_link that passes outputs when a NPC tries to use it. Actual passage permission can still be toggled.
info_node_link_oneway ✳️ A derivative of info_node_link that only allows NPCs to use it in one direction.
info_npc_spawn_destination βž–
info_null βž–
info_overlay βž–
info_overlay_transition βž–
info_particle_system πŸ”€ New "DestroyImmediately" input inspired by the Portal 2 input of the same name.
info_player_start βž–
info_player_view_proxy ✳️ Copies a player's view as if they're at a different position. Created for script_intro sequences. Not be confused with point_viewproxy, a Portal 2 entity.
info_projecteddecal βž–
info_radar_target πŸ”€ White Forest battle enemy targets added to FGD.
info_radial_link_controller βž–
info_snipertarget βž–
info_target βž–
info_target_gunshipcrash βž–
info_target_helicopter_crash βž–
info_target_vehicle_transition βž–
info_teleport_destination βž–
info_teleporter_countdown βž–
info_template_link_controller ✳️ A version of info_node_link_controller that uses a point_template with an info_node_link in it. This allows you to use info_node_link_controller with the new info_node_link derivaties.
infodecal βž–
item_ammo_357 ⏺️ Uses by all ammo item changes.
item_ammo_357_large πŸ”€ No longer uses invalid model.
item_ammo_ar2 ⏺️ Uses by all ammo item changes.
item_ammo_ar2_altfire ⏺️ Uses by all ammo item changes.
item_ammo_ar2_large πŸ”€ No longer uses invalid model.
item_ammo_crate πŸ”€ OnAmmoTaken, more ammo crate models, SLAM crate, parenting support
item_ammo_crossbow ⏺️ Uses by all ammo item changes.
item_ammo_pistol ⏺️ Uses by all ammo item changes.
item_ammo_pistol_large πŸ”€ No longer uses invalid model.
item_ammo_smg1 ⏺️ Uses by all ammo item changes.
item_ammo_smg1_grenade ⏺️ Uses by all ammo item changes.
item_ammo_smg1_large πŸ”€ No longer uses invalid model.
item_battery βž–
item_box_buckshot ⏺️ Uses by all ammo item changes.
item_dynamic_resupply πŸ”€ OnItem for each item created, master resupply properly falls back to health vial when needed
item_grubnugget ⏫ Entity for the nuggets produced by npc_antlion_grubs with a selectable model/size/denomination.
item_healthcharger πŸ”€ Various I/O/KV related to setting charge/juice
item_healthkit βž–
iteam_healthvial βž–
item_item_crate πŸ”€ OnItem for each item (including items created by item_dynamic_resupply), custom model support, point_template crate contents, support for single NPCs by not randomizing angles
item_rpg_round ⏺️ Uses by all ammo item changes.
item_suit βž–
item_suitcharger πŸ”€ Various I/O/KV related to setting charge/juice
keyframe_rope πŸ”€ OnBreak output, SplineRope shader via SDK_Cable
keyframe_track βž–
light βž–
light_dynamic βž–
light_environment βž–
light_spot βž–
logic_achievement βž–
logic_active_autosave βž–
logic_auto βž–
logic_autosave πŸ”€ New Hammer icon ported from Portal 2.
logic_branch βž–
logic_branch_listener βž–
logic_case πŸ”€ OnUsed for each time used by InValue, matcher system support with an option to allow multiple matching cases to be fired. You might also want to look into logic_random_outputs, a different entity ported from Alien Swarm which can take percentages directly.
logic_choreographed_scene πŸ”€ SetTarget# for all targets, Trigger input added to FGD. Also a couple changes to the choreography system itself.
logic_collision_pair βž–
logic_compare πŸ”€ Added OnGreater/LessThanOrEqualTo. Added support for many other data types, particularly strings. Also supports comparing the length of a string against a number, or each other.
logic_console ✳️ Allows mappers to send messages and warnings with the specified text to the console.
logic_context_accessor ✳️ Gets the value of the specified response context on a certain entity. Very useful for bringing out the potential of response contexts as data carriers.
logic_convar ✳️ Gets the value of the specified console variable, or convar/cvar. Useful for checking whether cheats or closed captioning are enabled.
logic_datadesc_accessor ✳️ Derived from logic_keyfield, this entity is completely identical except for the fact it uses internal variable names directly and is not limited to keyvalues. This means you could access values like "m_fFlags", "m_flNextGrenadeTime", or pretty much anything else in an entity's data description. Let that sink in.
logic_entity_position ✳️ Gets and predicts an entity's position, outputting it through OutPosition.
logic_eventlistener βͺ Listens for game events and fires an output for them. This is an entity available in Portal 2 and newer, but it was replicated so it could be used in Mapbase. You might also be interested in point_event.
logic_externaldata ✳️ Saves and reads keyvalue data from "%mapname%_externaldata.txt", intended to be used for data that should persist across playthroughs, save games, etc. similar to gamestate.txt.
logic_format ✳️ Formats text with C#/Python-based formatting, using {0}, {1}, etc. for each parameter. Useful for AddOutput and other inputs that use a special syntax. Also useful for information relayed to the player.
logic_keyfield ✳️ Reads the specified keyvalue on the target entity, outputting its value or comparing against it with the matcher system. This is useful for many different things, like getting an entity's health or a soldier's current number of grenades.
logic_lineto βž–
logic_measure_movement πŸ”€ Several new I/O/KV, including the ability to output position & angles through I/O. Also includes attachment support.
logic_measure_direction ✳️ Uses traces to teleport an entity to where another entity is facing, kind of like a laser. Inherits all abilities and I/O/KV from logic_measure_movement.
logic_mirror_movement ⏫ Mirrors entity movement to another entity.
logic_modelinfo ✳️ Reads certain model-related information, like how many skins a model has or whether a model has a certain sequence/activity.
logic_multicompare πŸ”€ Added a bunch of new I/O/KV. Changes very similar to logic_compare.
logic_navigation βž–
logic_playerinfo ✳️ Allows mappers to get a player's basic info, like their Steam name, or find a player by that info. Utilizes data already used throughout the engine.
logic_playerproxy πŸ”€ Several new I/O/KV for interacting with the player, including expanded flashlight control, the ability to change the player's armor value, and even some playermodel-related stuff.
logic_random_outputs ◀️ Fires outputs based on specified percentages. Ported directly from Alien Swarm.
logic_register_activator βͺ Stores the specified entity and allows it to be accessed later. Based on the entity of the same name from Portal 2.
logic_relay πŸ”€ New TriggerWithParameter/OnTriggerParameter I/O for using parameters on the relay.
logic_relay_queue ✳️ Queues excess triggers instead of discarding them. This means when a logic_relay_queue is still firing its delayed outputs and it receives another trigger event, it queues it up so when its output events are over, it fires that queued trigger with its data intact.
logic_scene_list_manager βž–
logic_script ◀️ An entity that acts as a container for VScripts. Ported from the Alien Swarm SDK.
logic_script_client ✳️ A version of logic_script which runs scripts on clients.
logic_sequence ✳️ Coordinates a sequence of cases for things like keypad passwords. Similar to logic_case.
logic_skill ✳️ Reads the game's current difficulty level and detects when it changes.
logic_timer πŸ”€ New keyvalue to use random interval bounds to limit AddToTimer/SubtractToTimer inputs.
mapbase_manifest ✳️ Allows mappers to load manifest files other than the default "%mapname%_manifest.txt" file.
material_modify_control βž–
math_bits ✳️ Performs calculations involving bits and bit operations. Based on math_counter.
math_clamp ✳️ Clamps input values between the specified min/max, which can be integers, floats, or vectors.
math_colorblend βž–
math_counter πŸ”€ OnChangedFromMin/Max and SetMin/MaxValueNoFire ported and replicated from later games respectively. Start value now properly reads floats. Also see math_counter_advanced for advanced capabilities.
math_counter_advanced ✳️ A special version of math_counter with advanced inputs, outputs, and keyvalues for advanced operations and specialized calculations.
math_generate ✳️ Generates numbers from a variety of algorithms, mostly taken from material proxies. (e.g. generating a sine wave)l
math_lightpattern ✳️ Replicates baked light patterns and fires outputs accordingly. See the dedicated article for more information.
math_mod ✳️ Modifies and outputs input values with the specified value and operator. For example, it could be configured to add 2 to each value sent to this entity, outputting the result each time. This is to create I/O "pipelines" that demand instant operations limited by, say, using a math_counter with delays.
math_remap βž–
math_vector ✳️ Allows for operations on vectors like "0 0 0" or "2509.677 384.001 204.5". Based on math_counter.
momentary_rot_button βž–
monster_generic βž–
move_keyframed βž–
move_rope πŸ”€ OnBreak output, SplineRope shader via SDK_Cable
move_track βž–
npc_advisor βž–
npc_alyx πŸ”€ Inherits all companion changes, see npc_citizen.
npc_antlion πŸ”€ Dynamic interactions restored (set by mapper), new global state for disabling soldier insta-kill, attempted better bugbait support for workers, SetFollowTarget
npc_antlion_grub πŸ”€ Now allows a damage filter which can control whether this grub is allowed to be squashed.
npc_antlion_template_maker βž–
npc_antlionguard βž–
npc_apcdriver βž–
npc_barnacle πŸ”€ Episodic inputs ported to HL2 DLL,
npc_barney πŸ”€ Custom model support added, affected by all companion changes detailed in npc_citizen.
npc_blob βž–
npc_breen βž–
npc_bullseye βž–
npc_citizen πŸ”€ New spawnflag for Walk+USE to join squad, option to have medics throw healthkits, medic hostile player fix, rappelling support, new I/O/KV, and much more. Also inherits companion changes like the option to fire energy balls like elites do, usage of Alyx's dynamic melee interactions, flinching on damage, and the usage of expanded speech target capabilities.
npc_clawscanner ⏺️ Inherits all city scanner changes.
npc_combine_camera πŸ”€ Proper support for OnLostEnemy/Player.
npc_combine_cannon βž–
npc_combine_s πŸ”€ Now uses easy and unarmed animations, new grenade I/O/KV, response system support, new tactical variant, better alt-firing, and much more. Differing models also properly appear in Hammer.
npc_combinedropship πŸ”€ Added a DropCargo input for dropping objects picked up by the Pickup input and an option to disable danger signals that normally disperse NPCs on the ground. Also added a keyvalue that allows any damage type to damage a dropship's container and another keyvalue to control the container's health.
npc_combinegunship πŸ”€ Restored the ability for gunships to use their ground attack automatically, now controlled by a keyvalue. Also added a keyvalue that allows any damage type to damage a gunship and another keyvalue to control the number of hits needed to take it down.
npc_crabsynth βž–
npc_cranedriver βž–
npc_crow βž–
npc_cscanner πŸ”€ Added the ability to enable/disable photo-taking, causing a scanner to merely follow its enemies.
npc_dog βž–
npc_eli βž–
npc_enemyfinder πŸ”€ New keyvalue for specifying a NPC class to simulate.
npc_enemyfinder_combinecannon ⏺️ Inherits all changes from npc_enemyfinder.
npc_fastzombie πŸ”€ Hooked health and damage to convars, now follows base torso rules. Also carries base zombie changes detailed in npc_zombie.
npc_fastzombie_torso ⏺️ Inherits all changes from npc_fastzombie.
npc_fisherman βž–
npc_gman βž–
npc_grenade_frag πŸ”€ Now allows specific damage, radius, etc. and outputs that pass position, all inherited from base grenade.
npc_headcrab πŸ”€ OnLeap output that fires for each time the headcrab leaps and passes the headcrab's assumed leap target as the activator.
npc_headcrab_black ⏺️ Inherits all changes detailed in npc_headcrab.
npc_headcrab_fast ⏺️ Inherits all changes detailed in npc_headcrab.
npc_heli_avoidbox βž–
npc_heli_avoidsphere βž–
npc_helicopter πŸ”€ New output OutBomb for each bomb dropped, Field of View keyvalue so you can control whether they can see you from every direction, custom model support. Also added a keyvalue that allows any damage type to damage a helicopter and another keyvalue to control the helicopter's health.
npc_helicopter_custom ✳️ Custom helicopter NPC that supports a custom model, custom sounds, custom flight parameters, etc.
npc_hunter πŸ”€ Hunters now die instantly to NPC energy balls. Before, they only took the metered amount of damage that NPC balls normally use. I mean, seriously now. That instructor who said the AR2 could kill hunters was straight-up lying to those rebels. Maybe we should've been punching those hunters all along...
npc_hunter_maker βž–
npc_ichthyosaur βž–
npc_kleiner βž–
npc_launcher πŸ”€ Cleaned up appearance/defaults in Hammer, added OutMissile output that fires for each missile, npc_launcher's owner entity applies to each missile.
npc_magnusson βž–
npc_maker βž–
npc_manhack πŸ”€ Added Source 2013 GitHub pull request fix for npc_maker owner, restored "Hacked by Alyx" state with a keyvalue for starting hacked and a convar for allowing Alyx to hack manhacks herself, added Enable/DisableSprites inputs.
npc_metropolice πŸ”€ Several new I/O/KV related to policing, added optional ability to throw grenades with I/O/KV from npc_combine_s, new manhack tossing I/O, holstered pistol animation fix, and more.
npc_missiledefense βž–
npc_monk πŸ”€ Father Grigori uses his own versions of the companion interactions that blend into his Annabelle.
npc_mortarsynth βž–
npc_mossman βž–
npc_pigeon βž–
npc_poisonzombie πŸ”€ Fixed game crash on contact with barnacle thanks to Agent Agrimar's code. Also carries base zombie changes detailed in npc_zombie.
npc_puppet βž–
npc_rollermine πŸ”€ Added keyvalue for rollermines to start as if they were hacked by Alyx in Episode One. Also fixed rollermines creating static versions of themselves each time the player tries to pick them up with the supercharged gravity gun.
npc_seagull βž–
npc_sniper πŸ”€ Custom model support, custom beam support, response system support, obsolete FGD stuff removed, separate spawnflag for dying on fire. (NOTE: Snipers will no longer die on fire in Episodic and must have this spawnflag enabled!)
npc_stalker πŸ”€ Added a "Player Aggression" keyvalue and an option to use blood.
npc_strider πŸ”€ Added a stomp filter for choosing who the strider is allowed to stomp. Also implemented VDC fix for npc_clawscanner strider scouting.
npc_template_maker βž–
npc_tripmine ⏫ weapon_slam's tripmine with new I/O/KV so it could be placed in Hammer as an entity the mapper sets up.
npc_turret_ceiling πŸ”€ Fixed npc_turret_ceiling having no sounds or muzzle flashes. Added option to specify a npc_turret_ceiling's health and sight FOV. Added inputs to control ammo depletion, based on floor turret's inputs. Added spawnflag and inputs to disable the turret's "eye" sprite.
npc_turret_floor πŸ”€ Added spawnflag and inputs to disable the turret's "eye" sprite, made "Skin Number" use actual skin and show up in Hammer, restored Alyx's ability to hack turrets via a convar that's disabled by default.
npc_turret_ground πŸ”€ Removed requirement to have parent.
npc_turret_lab ✳️ A functional version of labturret.mdl.
npc_vehicledriver βž–
npc_vortigaunt πŸ”€ Uses DKY's LOS fix from HL2:CE. Also technically inherits companion changes detailed in npc_citizen, although it can't use many of them.
npc_zombie πŸ”€ Inherits base zombie changes like options to have no headcrab or never become a torso and an OnSwattedProp output that fires each time a zombie swats a prop, passing the prop as the activator.
npc_zombie_custom ✳️ Special "custom" version of npc_zombie that supports custom models (including custom legs and torsos) and uses the response system, unlike other zombies.
npc_zombie_custom_torso ✳️ Like npc_zombie_custom, but already a torso. Inherits all changes from that.
npc_zombie_torso ⏺️ Inherits all changes from npc_zombie.
npc_zombine πŸ”€ Added keyvalue for specifying how many grenades a Zombine could have (including none) as well as an OnPullGrenade output that fires for each grenade pulled. Inherits base zombie changes detailed in npc_zombie.
path_corner βž–
path_corner_crash βž–
path_track πŸ”€ A save/restore oversight involving the way path sequences were saved was fixed.
phys_ballsocket βž–
phys_constraint βž–
phys_constraintsystem βž–
phys_convert πŸ”€ Improved conversion and added the option to be converted to prop_physics/func_physbox instead of just simple_physics_brush/prop. You might want to look into point_entity_replace too.
phys_hinge βž–
phys_keepupright βž–
phys_lengthconstraint βž–
phys_magnet πŸ”€ Fixed crashing with no model name, added "Prevent pickup" spawnflag
phys_motor βž–
phys_pulleyconstraint βž–
phys_ragdollconstraint βž–
phys_ragdollmagnet πŸ”€ OnUsed output which fires each time the magnet is used, new keyvalue for targeting a specific bone, and the ability to target sniper bodies.
phys_slideconstraint βž–
phys_spring βž–
phys_thruster βž–
phys_torque βž–
physics_cannister πŸ”€ Fixed and cleaned up FGD definition.
player πŸ”€ The player has plenty of new inputs, but most of them could be accessed through logic_playerproxy thanks to a new I/O/KV transferring system.
player_loadsaved βž–
player_speedmod πŸ”€ Added Enable/Disable for using speedmod's spawnflags without actually modifying the player's speed. Also added "Additional Buttons" keyvalue and a spawnflag that stops this entity from automatically suppressing the player's flashlight.
player_weaponstrip βž–
point_advanced_finder ✳️ A "finder" entity for finding entities based on specified criteria. This was originally called "logic_entityfinder" and was created for a different mod before I found out about point_entity_finder, an existing entity from Left 4 Dead and newer.
point_anglesensor βž–
point_angularvelocitysensor βž–
point_antlion_repellant βž–
point_apc_controller βž–
point_bonusmaps_accessor βž–
point_bugbait βž–
point_camera πŸ”€ Has a new option to draw the skybox through this camera, meaning the skybox will show up correctly on monitors. Also now properly derives from Targetname in the FGD.
point_camera_ortho ✳️ A special type of camera that captures an orthographic image. Otherwise identical to point_camera in every way, including its Mapbase changes.
point_clientcommand πŸ”€ Has a new icon in Hammer.
point_combine_ball_launcher βž–
point_copy_size ✳️ Copies an entity's bounding box size to another. This was created in an unsuccessful attempt to get bullseyes to fit in their parents and now I cannot name any good use for it. I left it in since it's already made and I'm sure someone will find a good use for it some day.
point_damageinfo ✳️ Deals damage with precise control over exactly what information the damage carries, from amount and type to attacker and force.
point_devshot_camera βž–
point_enable_motion_fixup βž–
point_entity_finder ◀️ Finds entities based on various criteria. Ported from Alien Swarm. You might want to look at point_advanced_finder too.
point_entity_replace ✳️ Replaces one entity with another, similar to phys_convert. Copies position, angles, velocity, etc. with plenty of flexibility. Can be used with certain outputs on certain entities for even more flexibility, like OutGrenade on soldiers to replace their grenades with another object (e.g. flares).
point_event ✳️ Listens for and acts upon game events similar to logic_eventlistener, except it can listen for multiple events and pass their data to I/O. This was conceptualized before I knew logic_eventlistener existed, but it is now derived from it in code.
point_flesh_effect_target βž–
point_gamestats_counter βž–
point_glow ✳️ A new entity inspired by the tf_glow entity which allows a glow to be created around another entity.
point_hurt πŸ”€ Now has "Damage Or" flags similar to trigger_hurt. You might want to see point_damageinfo as well.
point_message πŸ”€ New SetMessage output that sets the point_message's text.
point_message_localized ✳️ A version of point_message that can use localized text and newlines. To be honest, I only made this because of the newlines, especially since this doesn't actually support Unicode.
point_playermoveconstraint βž–
point_posecontroller βž–
point_projectile ✳️ Fires entities as projectiles (e.g. crossbow_bolt) with a specific owner, velocity, damage, etc.
point_proximity_sensor βž–
point_push βž–
point_radiation_source ✳️ A source of radiation that the player's geiger counter reacts to. Does no actual damage.
point_ragdollboogie ✳️ Forces NPCs and ragdolls to boogie. Ragdoll boogie is what handles the electrical arcs that occur on ragdolls after being launched by the supercharged gravity gun, etc.
point_servercommand πŸ”€ Has a new icon in Hammer.
point_spotlight πŸ”€ New LightToggle input.
point_teleport πŸ”€ TeleportEntity and TeleportToCurrentPos inputs replicated from CS:GO.
point_template πŸ”€ OutSpawnedEntity and ForceSpawnRandomTemplate.
point_tesla βž–
point_velocitysensor βž–
point_viewcontrol πŸ”€ FOV options ported from Alien Swarm and some bug fixes controlled by a "New behavior" spawnflag to avoid breaking existing entities. (the spawnflag is on by default)
postprocess_controller ◀️ An entity ported from the Alien Swarm SDK which provides control over various filmic post-processing effects originally made for the Left 4 Dead series.
prop_combine_ball πŸ”€ SetLifetime and AddLifetime for changing a ball's lifetime.
prop_coreball βž–
prop_detail βž–
prop_door_rotating πŸ”€ Restored spawnflag for preventing NPCs from using, AllowPlayerUse and DisallowPlayerUse inputs for toggling the "Disallow player +USE" spawnflag, added collisions disabled spawnflag carried over from prop_dynamic to FGD, disabled shadows by default.
prop_dynamic πŸ”€ Uses all of the base prop changes, including the disabling of the prop consistency system (you could re-enable it yourself), prop interaction inputs, unmarked spawnflags, etc.
prop_dynamic_ornament ⏺️ Uses all of the base prop changes detailed in prop_dynamic.
prop_dynamic_override ⏺️ Uses all of the base prop changes detailed in prop_dynamic.
prop_flare ✳️ An entire class for controlling flare.mdl from the HL2 episodes. This is based off of the Black Mesa entity of the same name. Can control lifetime, ignite the flare, restore the flare, etc.
prop_interactable ✳️ A prop designed to be interacted with like a button. It has all of the properties of prop_dynamic without having to use an accompanying func_door or func_button.
prop_physics βž– SetDebris for toggling debris status. Uses all of the base prop changes detailed in prop_dynamic.
prop_physics_multiplayer ⏺️ Uses all of the prop changes detailed in prop_physics and prop_dynamic.
prop_physics_override πŸ”€ Now supports overriding prop interactions and preferred carry angles.
prop_ragdoll πŸ”€ Fixed StartRagdollBoogie, added Wake/Sleep inputs, added automatic ragdoll interactions.
prop_scalable βž–
prop_sphere ⏫ A cheap vphysics sphere. Uses VDC changes.
prop_static βž–
prop_thumper βž–
prop_vehicle βž–
prop_vehicle_airboat ⏺️ Uses all of the changes detailed in prop_vehicle_driveable.
prop_vehicle_apc ⏺️ Uses all of the changes detailed in prop_vehicle_driveable.
prop_vehicle_cannon ⏺️ Uses all of the changes detailed in prop_vehicle_driveable.
prop_vehicle_choreo_generic ⏺️ Uses all of the changes detailed in prop_vehicle_driveable.
prop_vehicle_crane ⏺️ Uses all of the changes detailed in prop_vehicle_driveable.
prop_vehicle_driveable πŸ”€ EnterVehicle(Immediate), ExitVehicle(Immediate), partly ported from prop_vehicle_prisoner_pod.
prop_vehicle_jeep πŸ”€ Keyvalue for disabling hazard lights in Episodic, Enable/DisablePhysgun ported from Episodic to HL2 jeep.
prop_vehicle_jeep_old ✳️ Allows the original jeep to be used in Episodic, reverting its classname to "prop_vehicle_jeep" on spawn.
prop_vehicle_prisoner_pod ⏺️ Some of its inputs were moved to the base class, but other than that it hasn't changed.
script_intro πŸ”€ The infamous script_intro skybox bug can now be fixed via a keyvalue (drawing the skybox in the main view, the camera view, both, or neither) and viewmodels now show up correctly.
script_tauremoval βž–
scripted_sentence βž–
scripted_sequence πŸ”€ Proper !activator support on target NPC and outputs, "No Interruptions" and "Override AI" enabled by default, OnPreIdleSequence, unmarked spawnflags added
scripted_sound ✳️ Causes a sound to be emitted on an entity directly, allowing it to be interrupted by, say, the entity's death or removal. This is useful for lines spoken by NPCs that can't use logic_choreographed_scene and are too "interactive" for ambient_generic to work well.
scripted_target βž–
shadow_control πŸ”€ Ported Insolence's apparently unique ability to toggle Saul Rennison's dynamic RTT shadow angles.
simple_physics_brush ⏫ A simple physics brush with no unique properties. Previously only usable with phys_convert, this has been changed so it could be used in Hammer.
simple_physics_prop ⏫ A simple physics prop with no unique properties. Previously only ussable with phys_convert, this has been changed so it could be placed in Hammer.
sky_camera πŸ”€ Added updating capabilities, option to use angles for rotating skybox, ability to use a solid sky color instead of a sky texture, fog I/KV from env_fog_controller, and more.
skybox_swapper ◀️ An entity ported from Alien Swarm that swaps skybox textures. This is broken in Source 2013 SP (you have to reload a save) and apparently only works properly in MP.
tanktrain_ai βž–
tanktrain_aitarget βž–
test_sidelist βž–
test_traceline βž–
trigger_apply_impulse ◀️ Applies a single push to entities touching the trigger when the ApplyImpulse input is fired. Added to the FGD and ported to Source 2013 SP from MP.
trigger_autosave βž–
trigger_changelevel βž–
trigger_fall ✳️ Players who enter a trigger_fall are given a special flag that causes them to die of fall damage the instant they touch the ground (crunching sound and everything) no matter their speed. Useful for ensuring death by fall damage or serving as a more natural alternative to trigger_hurt.
trigger_gravity βž–
trigger_hurt πŸ”€ Now supports "Damage Or" keyvalue for flags intended to be combined with other damage types. Also added a hurt rate keyvalue.
trigger_impact βž–
trigger_look πŸ”€ Added a "Use LOS" keyvalue that also uses LOS calculations as opposed to only viewcone calculations. Also added support for multiple look entities.
trigger_multiple ⏺️ Uses all base trigger changes, including the ability to detect items/weapons/projectiles, which could previously only be detected through the "Everything" spawnflag. OnTouching also now passes the first touching entity as the activator.
trigger_once ⏺️ Uses the base trigger changes defined in trigger_multiple.
trigger_physics_trap βž–
trigger_playermovement πŸ”€ Auto-walk and disable jump spawnflags added based on L4D spawnflags (replicated)
trigger_proximity βž–
trigger_push πŸ”€ New SetSpeed and SetPushDir inputs.
trigger_remove βž–
trigger_rpgfire βž–
trigger_serverragdoll πŸ”€ Fixed trigger filter and potential conflicts with other server ragdoll functions.
trigger_soundscape βž–
trigger_teleport πŸ”€ Fixed FGD not showing all of the spawnflags.
trigger_teleport_relative ◀️ Teleports entities relative to their current positions. Added a custom FGD class and ported to Source 2013 SP from MP.
trigger_transition βž–
trigger_vphysics_motion βž–
trigger_waterydeath πŸ”€ Added a bunch of I/O/KV for easier modification and configuration.
trigger_weapon_dissolve βž–
trigger_weapon_strip βž–
trigger_weapon_strip βž–
vehicle_viewcontroller βž–
vgui_screen βž–
vgui_slideshow_display βž–
water_lod_control βž–
weapon_357 πŸ”€ Now usable by NPCs, uses base weapon changes like ammo overrides, new pickup prevention inputs/flags, and fade distances using spheres.
weapon_alyxgun ⏺️ Uses base weapon changes detailed in weapon_357.
weapon_annabelle πŸ”€ Uses proper animations with non-Grigori NPCs. Uses base weapon changes detailed in weapon_357.
weapon_ar2 πŸ”€ Uses restored AR2 animations previously only found in the model. Uses base weapon changes detailed in weapon_357.
weapon_bugbait ⏺️ Uses base weapon changes detailed in weapon_357.
weapon_crossbow πŸ”€ Now usable by NPCs. Model no longer broken in Hammer. Uses base weapon changes detailed in weapon_357.
weapon_crowbar ⏺️ Uses base weapon changes detailed in weapon_357.
weapon_custom_scripted1 ✳️ New VScript-driven custom weapon.
weapon_frag ⏺️ Uses base weapon changes detailed in weapon_357.
weapon_physcannon ⏺️ Uses base weapon changes detailed in weapon_357.
weapon_pistol ⏺️ Uses base weapon changes detailed in weapon_357.
weapon_rpg πŸ”€ NPCs now use RPGs correctly. Uses base weapon changes detailed in weapon_357.
weapon_shotgun πŸ”€ Uses base weapon changes detailed in weapon_357.
weapon_slam ◀️ Ported from HL2:DM. Uses base weapon changes detailed in weapon_357.
weapon_smg1 ⏺️ Uses base weapon changes detailed in weapon_357.
weapon_striderbuster βž–
weapon_stunstick πŸ”€ Now uses HL2:DM weapon/model with NPC support. Uses base weapon changes detailed in weapon_357.
worldspawn πŸ”€ Added various new keyvalues to control map properties, like VScript language or map title usage.
⚠️ **GitHub.com Fallback** ⚠️