Blob element: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(→‎Inputs: |prel4d=1)
(fgd stuff)
Line 1: Line 1:
{{lang|Blob element}}
{{lang|Blob element}}
{{ent not in fgd}}
{{ent not in fgd}}
{{hl2 point|blob_element}} These are normally created and managed by an {{ent|npc_blob}}. A creative mind may still find a use for this on its own. One potential use is as a model entity, due to being somewhat less expensive. This entity alone has no AI.
{{hl2 point|blob_element}} These are normally created and managed by an {{ent|npc_blob}}. By itself, it's basically a {{ent|prop_dynamic}} set to not be solid, but it is somewhat less expensive than one.
 
This entity is ''only'' in Half-Life 2 and the 2013 SDK. Not even the Episodes have it.


{{code class|CBlobElement|npc_blob.cpp}}
{{code class|CBlobElement|npc_blob.cpp}}


==FGD Code==
==FGD Code==
Paste these all into <code>halflife2.fgd</code>. FGD code is not required, but makes it easier to use the entity. (If anything is wrong, tell [[User talk:Pinsplash|Pinsplash]].)
Paste these into halflife2.fgd or base.fgd. FGD code is not required, but makes it easier to use the entity. (If anything is wrong, tell [[User talk:Pinsplash|Pinsplash]].)


blob_element point class (intended for HL2):
{{User:Pinsplash/BaseAnimating}}
blob_element point class. This MUST be ''below'' the other two code blocks:
{{ExpandBox|
{{ExpandBox|
<pre>
<pre>
@PointClass base(BaseEntityHL2only,BaseAnimatingHL2Only) = blob_element : "A blob particle usually created through npc_blob."
@PointClass base(CBaseEntity, CBaseAnimating) = blob_element : "A blob particle usually created through npc_blob."
[
[
]
</pre>
}}
BaseEntityHL2only base class (accurate to all source games up until L4D):
{{ExpandBox|
<pre>
@BaseClass = BaseEntityHL2Only
[
        targetname(target_source) : "Name" : : "The name that other entities refer to this entity by."
        globalname(string) : "Global Entity Name" : "" : "Name by which this entity is linked to another entity in a different map. When the player transitions to a new map, entities in the new map with globalnames matching entities in the previous map will have the previous map's state copied over their state."
        parentname(target_destination) : "Parent" : : "The name of this entity's parent in the movement hierarchy. Entities with parents move with their parent."
        origin(origin) : "Origin (X Y Z)" : : "The position of this entity's center in the world. Rotating entities typically rotate around their origin."
        angles(angle) : "Pitch Yaw Roll (Y Z X)" : "0 0 0" : "This entity's orientation in the world. Pitch is rotation around the Y axis, " +
        "yaw is the rotation around the Z axis, roll is the rotation around the X axis."
        ResponseContext(string) : "Response Contexts" : "" : "Response system context(s) for this entity. Format should be: 'key:value,key2:value2,etc'. When this entity speaks, the list of keys & values will be passed to the response rules system."
        effects(integer) : "Effects" : : "Combination of effect flags to use."
        ltime(float) : "Local Time" : : "The local time of the entity, independent of the global clock. Used mainly for physics calculations."
        nextthink(float) : "Next Think" : : "Amount of time before the entity thinks again. See the Thinking page on the wiki."
        hammerid(integer) : "Hammer ID" : : "The entity's Hammer ID. Mainly used by plugins and debugging commands, such as ent_keyvalue. Can be manually assigned."
        input Kill(void) : "Removes this entity from the world."
        input KillHierarchy(void) : "Removes this entity and all its children from the world."
        input SetParent(string) : "Changes the entity's parent in the movement hierarchy."
        input SetParentAttachment(string) : "Change this entity to attach to a specific attachment point on its parent. Entities must be parented before being sent this input. The parameter passed in should be the name of the attachment."
        input SetParentAttachmentMaintainOffset(string) : "Change this entity to attach to a specific attachment point on it's parent. Entities must be parented before being sent this input. The parameter passed in should be the name of the attachment. The entity will maintain it's position relative to the parent at the time it is attached."
        input ClearParent(void) : "Removes this entity from the the movement hierarchy, leaving it free to move independently."
        input AddOutput(string) : "Adds an entity I/O connection to this entity. Format: <output name> <targetname>:<inputname>:<parameter>:<delay>:<max times to fire (-1 == infinite)>. Very dangerous, use with care."
        input FireUser1(void) : "Causes this entity's OnUser1 output to be fired."
        input FireUser2(void) : "Causes this entity's OnUser2 output to be fired."
        input FireUser3(void) : "Causes this entity's OnUser3 output to be fired."
        input FireUser4(void) : "Causes this entity's OnUser4 output to be fired."
        input Use(void) : "Same as a player invoking +use; may not do anything. Can also be invoked by creating an output that does not specify an input."
        input DispatchEffect(string) : "Dispatches a special effect from the entity's origin. This input has been removed in versions of Source since Left 4 Dead, as it was rendered obsolete by particles."
        input DispatchResponse(string) : "Dispatches a response to the entity. See the Response page and Concept page on the wiki."
        input AddContext(string) : "Adds to the entity's list of response contexts. Format is <key>:<value>. See the Response System page on the wiki."
        input RemoveContext(string) : "Remove a context from this entity's list. The name should match the key of an existing context."
        input ClearContext(string) : "Removes all contexts from this entity's list."
        output OnUser1(void) : "Fired in response to FireUser1 input."
        output OnUser2(void) : "Fired in response to FireUser2 input."
        output OnUser3(void) : "Fired in response to FireUser3 input."
        output OnUser4(void) : "Fired in response to FireUser4 input."
]
</pre>
}}
BaseAnimatingHL2Only base class (accurate for all source games until L4D2):
{{ExpandBox|
<pre>
@BaseClass = BaseAnimatingHL2Only
[
        model(studio) : "World Model" : : "This MAY not work for blob_element. If not, see npc_blob_use_model."
        skin(integer) : "Skin" : 0 : "Some models have multiple versions of their textures, called skins. Set this to a number other than 0 to use that skin instead of the default."
        solid(choices) : "Collisions" : 0 =
        [
                0: "Not Solid"
                1: "BSP (QPhysics)"
                2: "Use Bounding Box"
                3: "Oriented Bounding Box"
                4: "Oriented Bounding Box, constrained to Yaw only"
                5: "Custom/Test"
                6: "Use VPhysics"
        ]
        SetBodyGroup(integer) : "Body Group" : : "Sets the the active $bodygroup."
        hitboxset(string) : "Hitbox Set" : : "Sets the $hboxset to use."
        sequence(integer) : "Sequence" : : "Default animation sequence for the model to be playing after spawning."
        playbackrate(float) : "Playback Rate" : 1 : "A multiplier of the framerate at which animations are played. Negative values are accepted."
        cycle(float) : "Cycle" : : "The current frame of the currently playing animation, on a range from 0-1."
        LightingOrigin(target_destination) : "Lighting Origin" : : "Select an entity (not info_lighting!) from which to sample lighting instead of the entity's origin."
        LightingOriginHack(target_destination) : "Lighting Origin Offset" : : "The info_lighting_relative from which to sample lighting instead of the entity's origin."
        damagefilter(target_destination) : "Damage Filter" : "" : "Name of the filter entity that controls which entities can damage us."
        fademindist(float) : "Start Fade Dist" : -1 : "Distance at which the prop starts to fade (<0 = use fademaxdist). If 'Screen Space Fade' is selected, this represents the number of pixels wide covered by the prop when it starts to fade."
        fademaxdist(float) : "End Fade Dist" : 0 : "Maximum distance at which the prop is visible (0 = don't fade out). If 'Screen Space Fade' is selected, this represents the *minimum* number of pixels wide covered by the prop when it fades."
        fadescale(float) : "Fade Scale" : 1 : "If you specify a fade in the worldspawn, or if the engine is running under dx7 [hl2/ep1/portal] or dx8 [ep2/tf], then the engine will forcibly fade out props even if fademindist/fademaxdist isn't specified." + " This scale factor gives you some control over the fade. Using 0 here turns off the forcible fades." + " Numbers smaller than 1 cause the prop to fade out at further distances, and greater than 1 cause it to fade out at closer distances."
        rendermode(choices) : "Render Mode" : 0 : "Used to set a non-standard rendering mode on this entity. See also 'FX Amount' and 'FX Color'." =
        [
                0: "Normal"
                1: "Color"
                2: "Texture"
                3: "Glow"
                4: "Solid"
                5: "Additive"
                6: "Number 6. Does nothing without custom code."
                7: "Additive Fractional Frame"
                8: "Alpha Add"
                9: "World Space Glow"
                10: "Invisible (polygons are still drawn)"
        ]
        renderamt(integer) : "FX Amount (0 - 255)" : 255 : "The FX amount is used by the selected Render Mode."
        rendercolor(color255) : "FX Color (R G B)" : "255 255 255" : "The FX color is used by the selected Render Mode."
        renderfx(choices) :"Render FX" : 0 =
        [
                0: "Normal"
                1: "Slow Pulse"
                2: "Fast Pulse"
                3: "Slow Wide Pulse"
                4: "Fast Wide Pulse"
                5: "Slow Fade Away"
                6: "Fast Fade Away"
                7: "Slow Become Solid"
                8: "Fast Become Solid"
                9: "Slow Strobe"
                10: "Fast Strobe"
                11: "Faster Strobe"
                12: "Slow Flicker"
                13: "Fast Flicker"
                14: "Constant Glow"
                15: "Distort"
                16: "Hologram (Distort + fade)"
                17: "Scale Up (May not be in HL2?)"
                18: "Unknown"
                19: "Unknown"
                20: "Unknown"
                21: "Unknown"
                22: "Spotlight FX (May not be in HL2?)"
                23: "Cull By Distance (TEST)"
                24: "Spotlight FX"
                26: "Fade Near"
        ]
        shadowcastdist(integer) : "Shadow Cast Distance" : 0 : "Use this to override how far this object casts shadows. 0 = default distance."
        disableshadows(choices) : "Disable Shadow Casting" : 0 =
        [
                0 : "No"
                1 : "Yes"
        ]
        disablereceiveshadows(choices) : "Disable Receiving Shadows" : 0 =
        [
                0 : "No"
                1 : "Yes"
        ]
        modelindex(integer) : "Model Index" : : "Changes the entitiy's model to a precached model on the map. Warning: Using an invalid value will instantly crash the game, this includes 0 and 1."
        modelscale(float) : "Model Scale" : 1 : "A multiplier for the size of the model. Negative values are accepted. Does not alter the physics collisions in most cases, however. Warning: Negative or extremely high values can cause crashes!"
        input skin(integer) : "Selects a skin from the model's index, starting with 0."
        input SetBodyGroup(integer) : "Sets the the active $bodygroup."
        input Ignite(void) : "Ignite, burst into flames"
        input IgniteLifetime(float) : "Ignite, with a parameter lifetime."
        input IgniteNumHitboxFires(integer) : "Ignite, with a parameter number of hitbox fires."
        input IgniteHitboxFireScale(float) : "Ignite, with a parameter hitbox fire scale."
        input BecomeRagdoll(void) : "Kills the entity and creates a client-side ragdoll from the model. Input is only passed if the model contains $collisionjoints, for other models phys_convert can be used instead."
        input SetLightingOrigin(target_destination) : "Sets the entity's lighting origin to an info_lighting."
        input SetLightingOriginHack(target_destination) : "Offsets the entity's lighting origin by their distance from an info_lighting_relative."
        input fademindist(float) : "Sets distance at which the entity starts fading. If <0, the entity will disappear instantly when end fade is hit. The value will scale appropriately if the entity is in a 3D Skybox."
        input fademaxdist(float) : "Sets distance at which the entity ends fading. If <0, the entity won't disappear at all. The value will scale appropriately if the entity is in a 3D Skybox."
        input SetModelScale(vector) : "Multiplies the size of the model. Does not alter the physics collisions in most cases, however. Negative values are accepted. Takes two values separated by a space. The first is the target model scale. The second value is the number of seconds the change in scale will be spread over. Warning: Negative or extremely high values can cause crashes!"
        input Alpha(integer) : "Sets the entity's transparency to a number from 0 (invisible) to 255 (fully visible). Requires the entity to have its Render Mode (rendermode) set to a number other than 0."
        input AlternativeSorting(integer) : "Swaps the rendering order of the entity. Used to attempt to fix sorting problems when rendering, for example an object rendering in front of translucent materials."
        input Color(color255) : "Sets an RGB color for the entity."
        input SetDamageFilter(target_destination) : "Sets a filter for this entity for when it receives damage."
        input EnableDamageForces(void) : "Allows the entity to be pushed by damage done to it (usually force amount correlates with the damage done)."
        input DisableDamageForces(void) : "Prevents the entity from being pushed by damage done to it."
        input EnableShadow(void) : "Allows the entity to draw a render target shadow."
        input DisableShadow(void) : "Prevents the entity from drawing a render target shadow."
        output OnIgnite(void) : "Fired when the entity catches fire, such as from an env_entity_igniter or the Ignite inputs."
]
]
</pre>
</pre>

Revision as of 22:16, 15 September 2018

English (en)Translate (Translate)
Icon-NotInFGD.png
This entity is not in the FGD by default.
See below for instructions on making it available.

Template:Hl2 point These are normally created and managed by an npc_blob. By itself, it's basically a prop_dynamic set to not be solid, but it is somewhat less expensive than one.

This entity is only in Half-Life 2 and the 2013 SDK. Not even the Episodes have it.

C++ In code, it is represented by theCBlobElementclass, defined in thenpc_blob.cppfile.

FGD Code

Paste these into halflife2.fgd or base.fgd. FGD code is not required, but makes it easier to use the entity. (If anything is wrong, tell Pinsplash.)

Functions normally reserved only for animating/moving objects:


@BaseClass = CBaseAnimating
[
        model(studio) : "World Model" :  : "The model this entity should appear as. 128 character limit."
        skin(integer) : "Skin" :  : "Some models have multiple skins. This value selects from the index, starting with 0."
        solid(choices) : "Collisions" :  : "Method of collision for this entity." =
        [
                0: "None"
                1: "BSP (QPhysics)"
                2: "Bounding Box"
                3: "Oriented Bounding Box"
                4: "Oriented Bounding Box, constrained to Yaw only"
                5: "Custom/Test"
                6: "VPhysics"
        ]
        body(integer) : "Body Group" :  : "Sets the the active $bodygroup."
        hitboxset(string) : "Hitbox Set" :  : "Sets the $hboxset to use."
        sequence(integer) : "Sequence" :  : "Default animation sequence for the model to be playing after spawning."
        playbackrate(float) : "Playback Rate" :  : "A multiplier of the framerate at which animations are played, negative values are accepted. Default is 1.0"
        cycle(float) : "Cycle" :  : "The current frame of the currently playing animation, on a range from 0-1."
        LightingOrigin(target_destination) : "Lighting Origin" :  : "Select an entity (not info_lighting!) from which to sample lighting instead of the entity's origin."
        LightingOriginHack(target_destination) : "Lighting Origin Offset" :  : "The info_lighting_relative from which to sample lighting instead of the entity's origin. Not available in L4D series."
        damagefilter(target_destination) : "Damage Filter Name" :  : "When this entity receives damage, it will filter by this entity."
        fademindist(float) : "Start Fade Distance" :  : "Distance at which the entity starts fading. If <0, the entity will disappear instantly when end fade is hit. The value will scale appropriately if the entity is in a 3D Skybox."
        fademaxdist(float) : "End Fade Distance" :  : "Distance at which the entity ends fading. If <0, the entity won't disappear at all. The value will scale appropriately if the entity is in a 3D Skybox."
        fadescale(float) : "Fade Scale" :  : "If specified in the map properties, or if the engine is running below DirectX 8, entities will fade out even if the fade distances above aren't specified. This value gives more control over when this happens: numbers smaller than 1 cause the entity to fade out at further distances, and greater than 1 cause it to fade out at closer distances. Using 0 turns off the forced fade altogether. See also $noforcedfade."
        rendermode(choices) : "Render Mode" : 0 : "Set a non-standard rendering mode on this entity." =
        [
                0: "Normal"
                1: "Color"
                2: "Texture"
                3: "Glow"
                4: "Solid/Alphatest"
                5: "Additive"
                6: "Removed, does nothing"
                7: "Additive Fractional Frame"
                8: "Alpha Add"
                9: "World Space Glow"
                10: "Don't Render"
        ]
        renderamt(integer) : "Render FX / Transparency (0 - 255)" :  : "Transparency amount, requires a Render Mode other than Normal. 0 is invisible, 255 is fully visible."
        rendercolor(color255) : "Render Color (R G B)" :  : "Color tint."
        renderfx(choices) : "Render FX" :  : "Preset pattern of appearance effects." =
        [
                0: "None"
                1: "Slow Pulse"
                2: "Fast Pulse"
                3: "Slow Wide Pulse"
                4: "Fast Wide Pulse"
                5: "Slow Fade Away"
                6: "Fast Fade Away"
                7: "Slow Become Solid"
                8: "Fast Become Solid"
                9: "Slow Strobe"
                10: "Fast Strobe"
                11: "Faster Strobe"
                12: "Slow Flicker"
                13: "Fast Flicker"
                14: "Constant Glow"
                15: "Distort"
                16: "Hologram (Distort + fade)"
                17: "Scale Up"
                22: "Spotlight FX"
                23: "Cull By Distance"
                24: "Fade Wider Pulse"
                26: "Fade Near"
        ]
        shadowcastdist(integer) : "Shadow Cast Distance" :  : "Sets how far the entity casts dynamic shadows. 0 means default distance from the shadow_control entity."
        disableshadows(choices) : "Disable Shadows" :  : "Prevent the entity from creating rendertarget shadows. Does not affect projected textures." =
        [
                0: "No"
                1: "Yes"
        ]
        disablereceiveshadows(choices) : "Disable Receiving Shadows" :  : "Prevent the entity from receiving rendertarget shadows on itself." =
        [
                0: "No"
                1: "Yes"
        ]
        modelindex(float) : "Model Index" :  : "Changes the entity's model to a precached model on the map. Don't touch if you don't know what you're doing. Using an invalid value will instantly crash the game, this includes 0 and 1."
        modelscale(float) : "Model Scale" :  : "A multiplier for the size of the model. Negative values are accepted. Does not alter the physics collisions in most cases, however. Not available in Portal, L4D series, SDK 2013."
        glowbackfacemult(float) : "Glow Backface Multiple (Since L4D2)" :  : "If this object has a glow effect, multiply the effect by this much on the sides of the object that are facing away from the viewer."
        MoveType(choices) : "Move Type (Since AS)" :  : "Sets a movetype for this entity, which changes its movement behavior." =
        [
                0: "None, don't move"
                1: "Isometric"
                2: "Walk, player only, moving on ground"
                3: "NPC, movement"
                4: "Fly, no gravity"
                5: "Fly, with gravity"
                6: "Physics"
                7: "Push"
                8: "Noclip"
                9: "Ladder, for players on ladders"
                10: "Spectator"
                11: "Custom"
        ]
        CollisionGroup(choices) : "Collision Group (Since AS)" :  : "Sets a collision group for this entity, which changes its collision behavior." =
        [
                0: "None"
                1: "Debris, collides only with the world and static props"
                2: "Debris, with trigger interaction"
                3: "Interactive Debris, doesn't collide with other debris"
                4: "Interactive, collides with everything except debris"
                5: "Player"
                6: "Breakable Glass"
                7: "Vehicle"
                8: "Player Movement"
                9: "In-Vehicle"
                10: "Weapon"
                11: "Vehicle Clip"
                12: "Projectile"
                13: "Door blocker, not permitted to go near doors"
                14: "Passable Door"
                15: "Dissolving"
                16: "Pushaway"
                17: "NPC Actor, NPCs ignore the player"
                18: "NPC Scripted, NPCs do not collide with each other"
        ]
        SuppressAnimSounds(choices) : "No Animation Sounds (Since P2)" :  : "Silences sounds linked to animations." =
        [
                0: "No"
                1: "Yes"
        ]
        disableshadowdepth(choices) : "Disable ShadowDepth (Since P2)" :  : "Makes this entity not cast a shadow from env_projectedtextures." =
        [
                0: "No"
                1: "Yes"
        ]
        shadowdepthnocache(choices) : "Projected Texture Cache (Since P2)" :  : "Used to hint projected texture system whether it is sufficient to cache shadow volume of this entity or to force render it every frame instead." =
        [
                0: "Default"
                1: "No cache - render every frame"
                2: "Cache it - render only once"
        ]
        disableflashlight(choices) : "Disable Flashlight (Since P2)" :  : "Used to disable all projected texture lighting and shadow casting on this entity." =
        [
                0: "No"
                1: "Yes"
        ]
]
////////////////////////inputs
        input skin(integer) : "Selects a skin from the model's index, starting with 0."
        input SetBodyGroup(integer) : "Sets the the active $bodygroup."
        input Ignite(void) : "Makes the entity catch on fire indefinitely."
        input IgniteLifetime(float) : "Makes the entity catch on fire for a given amount of time."
        input IgniteNumHitboxFires(integer) : "Makes the entity catch on fire with a given number of hitbox fire particles. Does not function correctly in L4D2 onward."
        input IgniteHitboxFireScale(float) : "Makes the entity catch on fire with a given scale for hitbox fire particles. Does not function correctly in L4D2 onward."
        input BecomeRagdoll(void) : "Kills the entity and creates a client-side ragdoll from the model. Input is only passed if the model contains $collisionjoints, for other models phys_convert can be used instead."
        input SetLightingOrigin(target_destination) : "Sets the entity's lighting origin to an info_lighting."
        input SetLightingOriginHack(target_destination) : "Offsets the entity's lighting origin by their distance from an info_lighting_relative. Not available in L4D series."
        input fademindist(float) : "Sets distance at which the entity starts fading. If <0, the entity will disappear instantly when end fade is hit. The value will scale appropriately if the entity is in a 3D Skybox."
        input fademaxdist(float) : "Sets distance at which the entity ends fading. If <0, the entity won't disappear at all. The value will scale appropriately if the entity is in a 3D Skybox."
        input SetModelScale(vector) : "Multiplies the size of the model. Does not alter the physics collisions in most cases, however. Negative values are accepted. Takes two values separated by a space. The first is the target model scale. The second value is the number of seconds the change in scale will be spread over. Not in Portal, L4D series, SDK 2013."
        input Alpha(integer) : "Sets the entity's transparency to a number from 0 (invisible) to 255 (fully visible). Requires the entity to have its Render Mode set to a number other than 0."
        input AlternativeSorting(integer) : "Swaps the rendering order of the entity. Used to attempt to fix sorting problems when rendering, for example an object rendering in front of translucent materials."
        input Color(color255) : "Sets an RGB color for the entity."
        input SetDamageFilter(target_destination) : "Sets a filter for this entity for when it receives damage."
        input EnableDamageForces(void) : "Allows the entity to be pushed by damage done to it (usually force amount correlates with the damage done)."
        input DisableDamageForces(void) : "Prevents the entity from being pushed by damage done to it."
        input EnableShadow(void) : "Allows the entity to draw a rendertarget shadow."
        input DisableShadow(void) : "Prevents the entity from drawing a rendertarget shadow."
        input EnableDraw(void) : "Since P2. Removes EF_NODRAW from the entity."
        input DisableDraw(void) : "Since P2. Applies EF_NODRAW to the entity. Note that this is different than Render Mode 10."
        input EnableReceivingFlashlight(void) : "Since P2. Makes it so that the entity is lit by env_projectedtextures."
        input DisableReceivingFlashlight(void) : "Since P2. Prevents the entity from being lit by env_projectedtextures. The shadow made by the texture will still cast."
        input EnableDrawInFastReflection(void) : "Since P2. Makes the entity be rendered in reflections from water materials using $reflectonlymarkedentities."
        input DisableDrawInFastReflection(void) : "Since P2. Prevents the entity from rendering in fast reflections."
////////////////////////outputs
        output OnIgnite(void) : "Fired when the entity catches fire, such as from an env_entity_igniter or the Ignite inputs."
        output OnFizzled(void) : "Since P2. Fired when this entity is fizzled by a fizzler or any other means. (Except the Dissolve input. Use SilentDissolve instead.)"

Don't forget to also add this if you don't have it:

Basic functions for all entities. Recommended to paste at the top of base.fgd.


@BaseClass base(Targetname, Parentname, Angles, Origin, Global) = CBaseEntity
[
        ResponseContext(string) : "Response Contexts" :  : "Pre-defined response system contexts for this entity. Format is key:value,key:value,..."         
        effects(choices) : "Effect Flags" : 0 : "For configuring visual effects. If you want to combine effects, simply type in the sum of the effect numbers, e.g., '72' for 64+8." =
        [
	        0: "0 - None"
	        1: "1 - EF_BONEMERGE: Bonemerge always (very expensive!)"
	        2: "2 - EF_BRIGHTLIGHT: Bright, dynamic light at entity origin"
	        4: "4 - EF_DIMLIGHT: Dim, dynamic light at entity origin"
	        8: "8 - EF_NOINTERP: No movement interpolation"
	        16: "16 - EF_NOSHADOW: Don't cast shadows"
	        32: "32 - EF_NODRAW: Don't draw entity (entity is fully ignored by clients, NOT server; can cause collision problems)"
	        64: "64 - EF_NORECEIVESHADOW: Don't receive dynamic shadows"
	        128: "128 - EF_BONEMERGE_FASTCULL: Bonemerge only in PVS, better performance but prone to disappearing. Use with Bonemerge."
	        256: "256 - EF_ITEM_BLINK: Unsubtle blink"
	        512: "512 - EF_PARENT_ANIMATES: Flag parent as always animating and realign each frame"
        ]
        ltime(float) : "Local Time" :  : "The local time of the entity, independent of the global clock. Used mainly for physics calculations."
        nextthink(float) : "Next Think" :  : "Amount of time before the entity thinks again."
        hammerid(integer) : "Hammer ID" :  : "The entity's Hammer ID. Mainly used by plugins and debugging commands, such as ent_keyvalue. Can be manually assigned. Entities spawned at run-time are not assigned any Hammer ID."
        mincpulevel(integer) : "Minimum CPU Level (Since L4D)" :  : "Minimum CPU Level allowed for this entity. 0 means all levels allowed."
        maxcpulevel(integer) : "Maximum CPU Level (Since L4D)" :  : "Maximum CPU Level allowed for this entity. 0 means all levels allowed."
        mingpulevel(integer) : "Minimum GPU Level (Since L4D)" :  : "Minimum GPU Level allowed for this entity. 0 means all levels allowed."
        maxgpulevel(integer) : "Maximum GPU Level (Since L4D)" :  : "Maximum GPU Level allowed for this entity. 0 means all levels allowed."
        LagCompensate(choices) : "Lag Compensation (Since L4D2)" : 0 : "Set to Yes to lag compensate this entity. Should be used very sparingly!" = 
        [
                0: "No"
                1: "Yes"
        ]
        is_autoaim_target(choices) : "Is Automatic-Aim Target (Since CSGO)" : 0 : "If yes, automatic-aim assistance will target this entity." = 
        [
                0: "No"
                1: "Yes"
        ]
        ///////////////////////inputs
        input Use(void) : "Same as a player invoking +use; may not do anything. Can also be invoked by creating an output that does not specify an input."
        input DispatchEffect(string) : "Dispatches a special effect from the entity's origin. Replaced by particles since Left 4 Dead."
        input DispatchResponse(string) : "Dispatches a response to the entity."
        input AddContext(string) : "Adds to the entity's list of response contexts. Format is <key>:<value>."
        input RemoveContext(string) : "Remove a context from this entity's list. The name should match the key of an existing context."
        input ClearContext(string) : "Removes all contexts from this entity's list."
        input CallScriptFunction(string) : "Since L4D2. Execute a VScript function in the scope of the receiving entity."
        input SetLocalOrigin(string) : "Since p2. Set this entity's origin in the map. (dubious)"
        input SetLocalAngles(string) : "Since p2. Set this entity's angles in the map. (dubious)"
]

blob_element point class. This MUST be below the other two code blocks:


@PointClass base(CBaseEntity, CBaseAnimating) = blob_element : "A blob particle usually created through npc_blob."
[
]

ConVars/Commands

Cvar/Command Parameters or default value Descriptor Effect
npc_blob_use_model 2 Arbitrary number Chooses which model to show blob_elements as. Requires restart to take effect.
0. gibs/agibs.mdl (skull)
1. props_junk/watermelon01.mdl (watermelon)
2. w_squeak.mdl (snark (not in final game, shows error model))
3. baby_headcrab.mdl (baby headcrab (not in final game, shows error model))

Keyvalues

Note.pngNote:Content moved to Rendering and studio model related KIO/Keyvalues for continuation of page history


Inputs

Note.pngNote:Content moved to Rendering and studio model related KIO/Inputs for continuation of page history


Outputs

Note.pngNote:Content moved to Rendering and studio model related KIO/Outputs for continuation of page history