This article relates to the game "Mapbase". Click here for more information.

Mapbase/Entities: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(WIP Mapbase entity documentation)
 
(Update entity list)
Line 1: Line 1:
{{Mapbase topicon}}
{{Mapbase topicon}}
{{subpage|[[Mapbase/Docs|Docs]]}}


One of the main goals of {{mb|4.1}} is to expand upon the entities that can be placed in Hammer. This includes changes to existing entities as well as completely new entities. This article serves as an index regarding these changes.
One of the main goals of {{mb|4.1}} is to expand upon the entities that can be placed in Hammer. This includes changes to existing entities as well as completely new entities. This article serves as an index regarding these changes.
Line 15: Line 16:
* [[Mapbase/Entities/Base Combat Character|Base Combat Character]] — Changes to NPCs ''and'' players.
* [[Mapbase/Entities/Base Combat Character|Base Combat Character]] — Changes to NPCs ''and'' players.
* [[Mapbase/Entities/Weapons|Weapons]] — Changes to weapons.
* [[Mapbase/Entities/Weapons|Weapons]] — Changes to weapons.
* [[Mapbase/Entities/Filters|Filters]] — Changes to filters.


== Entity List ==
== Entity List ==
Line 476: Line 478:
|{{Both|Changed}}
|{{Both|Changed}}
|Added <code>UnZoomWithRate</code> and <code>SetZoomRate</code> inputs for unzooming at the zoom rate and setting the zoom rate after spawning.
|Added <code>UnZoomWithRate</code> and <code>SetZoomRate</code> inputs for unzooming at the zoom rate and setting the zoom rate after spawning.
|-
|{{ent|filter_activator_class}}
|{{N/A|Affected}}
|Uses all base filter changes, including <code>SetField</code> to change the primary "field" of most filters (e.g. the classname on <code>filter_activator_class</code>) and <code>TestEntity</code> to test a specific entity against the filter. See [Mapbase/Entities/Filters|the dedicated article] for more information.
|-
|{{ent|filter_activator_classify}}
|{{Yes|New}}
|Filters an entity by its "Classify" class, e.g. <code>CLASS_PLAYER_ALLY</code>.
|-
|{{ent|filter_activator_context}}
|{{Yes|New}}
|Filters an entity by its response contexts. There is a filter_activator_context available in {{l4d|4}} and newer games, but this entity works differently and has new options/capabilities.
|-
|{{ent|filter_activator_hintgroup}}
|{{Yes|New}}
|Filters an NPC by its hint group.
|-
|{{ent|filter_activator_involume}}
|{{Yes|New}}
|Only passes entities within the specified volume, e.g. a trigger.
|-
|{{ent|filter_activator_keyfield}}
|{{Yes|New}}
|Filters an entity by the value of the specified keyvalue, similar to {{ent|logic_keyfield}}.
|-
|{{ent|filter_activator_mass_greater}}
|{{N/A|Affected}}
|Uses all base filter changes detailed in <code>filter_activator_class</code>.
|-
|{{ent|filter_activator_model}}
|{{Yes|Ported}}
|Filters an entity by its model name.
|-
|{{ent|filter_activator_name}}
|{{N/A|Affected}}
|Uses all base filter changes detailed in <code>filter_activator_class</code>.
|-
|{{ent|filter_activator_relationship}}
|{{Yes|New}}
|Filters an entity by its relationship to the target entity.
|-
|{{ent|filter_activator_team}}
|{{N/A|Affected}}
|Uses all base filter changes detailed in <code>filter_activator_class</code>.
|-
|{{ent|filter_activator_squad}}
|{{Yes|New}}
|Filters an NPC by its squad name.
|-
|{{ent|filter_activator_surfacedata}}
|{{N/A|Affected}}
|Filters an entity by its surface data.
|-
|{{ent|filter_base}}
|{{Both|Restored}}
|A base filter that always returns true.
|-
|{{ent|filter_blood_control}}
|{{Yes|New}}
|Controls the filter owner's ability to produce blood from damage. This exists to take advantage of workarounds originally used for {{ent|filter_damage_transfer}}. Can use a secondary filter to filter blood and/or actual damage.
|-
|{{ent|filter_combineball_type}}
|{{N/A|Affected}}
|Uses all base filter changes detailed in <code>filter_activator_class</code>.
|-
|{{ent|filter_damage_mod}}
|{{Yes|New}}
|Modifies damage taken by the filter's owner. Can use a secondary filter for various purposes.
|-
|{{ent|filter_damage_transfer}}
|{{N/A|Affected}}
|Transfers damage taken by the filter's owner to the specified entity. Can use a secondary filter for various purposes.
|-
|{{ent|filter_damage_type}}
|{{Both|Changed}}
|New option for setting how to compare the damage type (should contain one, all, etc.).
|-
|{{ent|filter_enemy}}
|{{N/A|Affected}}
|This derives from <code>ai_goal_actbusy</code> and receives the same improvements.
|-
|{{ent|filter_multi}}
|{{N/A|Affected}}
|Uses all base filter changes detailed in <code>filter_activator_class</code>.
|-
|{{ent|filter_redirect_inflictor}}
|{{Yes|New}}
|Redirects to a target filter with the damage inflictor as the activator instead of the attacker.
|-
|{{ent|filter_redirect_owner}}
|{{Yes|New}}
|Redirects to a target filter with the activator's owner entity as the activator instead of the original activator.
|-
|{{ent|filter_script}}
|{{Yes|New}}
|A filter which utilizes hooks in its [[Entity Scripts]].
|}
|}

Revision as of 08:57, 13 February 2025

One of the main goals of Mapbase Mapbase is to expand upon the entities that can be placed in Hammer. This includes changes to existing entities as well as completely new entities. This article serves as an index regarding these changes.

Note.pngNote:I/O/KV stands for Inputs/Outputs/KeyValues.

Base Changes

Many of Mapbase's changes (mainly new I/O/KV) apply to all of a certain type of entity, rather than any specific entity. The following articles go into detail regarding their respective base classes:

Entity List

Icon-Important.pngImportant:This list is under construction and being adapted from Entity List on Mapbase's original wiki. The list was last updated for Mapbase v6.2.

The following list contains every entity that can be placed in Hammer when using Mapbase, including pre-existing entities as well as new entities. Each entity's status indicates how Mapbase has affected it compared to default Source 2013. Note that this generally does not count the base changes described above.

Legend

Status 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.

Entities

Classname Status Summary
ai_ally_manager Stock
ai_battle_line Stock
ai_changehintgroup Obsolete Deprecated by SetHintGroup input and entity finder entities.
ai_changetarget Stock
ai_citizen_response_system Stock
ai_goal_actbusy Changed ForceThisNPCToStopBusy and OnNPCStartedLeavingBusy, casual actbusy, etc.
Todo: Expand upon "etc."
ai_goal_actbusy_queue Affected This derives from ai_goal_actbusy and receives the same improvements.
ai_goal_assault Stock
ai_goal_fear New Allows mappers to control the fear behavior allies formerly only used automatically against hunters.
ai_goal_follow Changed 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 Affected This derives from ai_goal_follow and receives the same improvements.
ai_goal_lead Stock It has angles in Hammer now, but other than that it just has indirect changes from ai_goal_lead_weapon.
ai_goal_lead_weapon Stock Timeout time can be specified, weapon_bugbait is no longer hardcoded, etc.
Todo: Expand upon "etc."
ai_goal_operator Stock
ai_goal_police Affected Some npc_metropolice changes are related to police goals, but nothing has been changed in the behavior itself.
ai_goal_standoff Changed Custom standoff parameters are now in the FGD and medium cover hints are now fully implemented as potential cover.
ai_npc_eventresponsesystem Stock
ai_relationship Changed "Classify" classes (e.g. CLASS_PLAYER_ALLY) can now be used. See the new ai_relationship_classify for changing default relationships.
ai_relationship_classify New A special version of ai_relationship that modifies relationship classes directly within in the gamerules, allowing mappers to change the game's "true" default relationships for their map. This also 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 Changed SatisfyConditions input, NPC state can be set to "Don't care"
ai_sound Changed Unmarked sound types and contexts have been added to the editor, a sound "owner" can now be specified
ai_speechfilter Stock
ai_weaponmodifier New Modifies a NPC's shot regulator to change burst-related stuff.
Icon-Bug.pngBug:Possibly non-functional.  [todo tested in ?]
aiscripted_schedule Stock
ambient_generic Changed SetSound, sound flags keyvalue with "Pause sound with game pause" option, !activator support, OnSoundFinished
assault_assaultpoint Stock
assault_rallypoint Stock
color_correction Stock
color_correction_volume Stock
combine_mine Changed 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 Restored 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 Stock
cycler_actor Stock
env_alyxemp Stock
env_ar2explosion Stock
env_beam Changed Some fixes, Amplitude input, ability to set start/end entity, etc.
env_beverage Stock
env_blood Stock
env_break_shooter New Shoots gibs otherwise associated with func_breakable.
env_bubbles Stock
env_citadel_energy_core Stock
env_closecaption New Emits captions/subtitles manually without requiring an accompanying sound.
env_credits Changed The ability to use custom credits files and set the number of lingering ending lines have been added.
env_cubemap Changed Parallax Corrected Cubemaps are now supported. Also see Autocubemap.
env_dof_controller Ported An entity ported from the Alien Swarm - SDK Alien Swarm Authoring Tools which allows for a complex depth-of-field effect.
env_dustpuff Stock
env_effectscript Stock
env_embers Stock
env_entity_dissolver Stock
env_entity_igniter Stock
env_entity_maker Changed OutSpawnedEntity and ForceSpawnAtEntityOrigin/Center have been added.
env_explosion Changed SetIgnoredEntity has been added.
env_fade Changed Added "Don't purge" spawnflag, which stops an env_fade from overwriting all other fades.
env_fire Stock
env_firesensor Changed New spawnflag for accepting flares. Flares will give off dynamic heat based off of their lifetime.
env_firesource Stock
env_flare Stock
env_fog_controller Changed Starts with fog enabled.
Todo: "Also see Radial Fog" with link to graphical changes
env_funnel Changed Activate input, "Don't remove on fire" flag, missing sprite added to mod files.
env_global Changed 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.
Todo: Document them
env_global_light Ported An orthographic projected texture entity ported from the Alien Swarm - SDK Alien Swarm Authoring Tools. It's received a few changes in Mapbase, like zero default offset with keyvalues for mappers change it themselves.
env_gunfire Changed Ability to choose any sound in the sound browser, FireBurst for firing bursts manually, OnFire for each bullet.
env_headcrabcanister Changed StopHissing to stop post-impact hissing, OnCrab for each crab that emerges from the canister
env_hudhint Changed Button combinations, raw strings, etc. as well as SetHudHint.
Todo: Expand upon "etc."
env_instructor_hint Ported Mapper-placed hint for the game instructor.
env_laser Changed OnTouchedByEntity added, based on the output from env_beam. It fires per frame though, so be careful.
env_lightglow Changed Added Enable/Disable inputs and the ability to start disabled. Fade distances in Hammer also now have spheres.
env_message Stock
env_microphone Changed Added unmarked DSP presets, SetDSPPreset, specific channel/pitch scale, and a local landmark keyvalue similar to trigger_teleport.
env_muzzleflash Stock
env_particle_performance_monitor Stock
env_particlelight Stock
env_particlescript Stock
env_physexplosion Changed ExplodeAndRemove, negative magnitude for pulling things in
env_physimpact Stock
env_player_surface_trigger Stock
env_projectedtexture Changed Uses improvements from the VDC, the Alien Swarm - SDK Alien Swarm Authoring Tools, and a few open-source mods.
Todo: Dedicated article
env_rotorshooter Stock
env_rotorwash Stock
env_rotorwash_emitter Stock
env_screeneffect Stock
env_shake Stock
env_shooter Stock
env_smokestack Changed Now properly derives from Targetname in Hammer, meaning it is no longer missing user I/O, etc.
env_smoketrail Stock
env_soundscape Stock
env_soundscape_proxy Stock
env_soundscape_triggerable Stock
env_spark Stock
env_speaker Changed Now supports a "target" to use for selected responses (!target1 scene actor, sound origin, etc.) and also has a new OnSpeak output
env_splash Stock
env_sporeexplosion Stock
env_sprite Stock
env_sprite_oriented Stock
env_spritetrail Stock
env_starfield Stock
env_steam Stock
env_sun Stock
env_terrainmorph Stock
env_texturetoggle Stock
env_tonemap_controller Changed Added UseDefaultBloomScale and SetBloomScaleRange to Hammer, fixed SetBloomScaleRange only accepting single floats.
env_viewpunch Stock
env_wind Changed Added "wind radius", a feature from Left 4 Dead 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 Changed Added UnZoomWithRate and SetZoomRate inputs for unzooming at the zoom rate and setting the zoom rate after spawning.
filter_activator_class Affected the dedicated article] for more information.
filter_activator_classify New Filters an entity by its "Classify" class, e.g. CLASS_PLAYER_ALLY.
filter_activator_context New Filters an entity by its response contexts. There is a filter_activator_context available in Left 4 Dead Left 4 Dead and newer games, but this entity works differently and has new options/capabilities.
filter_activator_hintgroup New Filters an NPC by its hint group.
filter_activator_involume New Only passes entities within the specified volume, e.g. a trigger.
filter_activator_keyfield New Filters an entity by the value of the specified keyvalue, similar to logic_keyfield.
filter_activator_mass_greater Affected Uses all base filter changes detailed in filter_activator_class.
filter_activator_model Ported Filters an entity by its model name.
filter_activator_name Affected Uses all base filter changes detailed in filter_activator_class.
filter_activator_relationship New Filters an entity by its relationship to the target entity.
filter_activator_team Affected Uses all base filter changes detailed in filter_activator_class.
filter_activator_squad New Filters an NPC by its squad name.
filter_activator_surfacedata Affected Filters an entity by its surface data.
filter_base Restored A base filter that always returns true.
filter_blood_control New Controls the filter owner's ability to produce blood from damage. This exists to take advantage of workarounds originally used for filter_damage_transfer. Can use a secondary filter to filter blood and/or actual damage.
filter_combineball_type Affected Uses all base filter changes detailed in filter_activator_class.
filter_damage_mod New Modifies damage taken by the filter's owner. Can use a secondary filter for various purposes.
filter_damage_transfer Affected Transfers damage taken by the filter's owner to the specified entity. Can use a secondary filter for various purposes.
filter_damage_type Changed New option for setting how to compare the damage type (should contain one, all, etc.).
filter_enemy Affected This derives from ai_goal_actbusy and receives the same improvements.
filter_multi Affected Uses all base filter changes detailed in filter_activator_class.
filter_redirect_inflictor New Redirects to a target filter with the damage inflictor as the activator instead of the attacker.
filter_redirect_owner New Redirects to a target filter with the activator's owner entity as the activator instead of the original activator.
filter_script New A filter which utilizes hooks in its Entity Scripts.