<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.obsidianconflict.net/?action=history&amp;feed=atom&amp;title=Npc_ichthyosaur</id>
		<title>Npc ichthyosaur - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.obsidianconflict.net/?action=history&amp;feed=atom&amp;title=Npc_ichthyosaur"/>
		<link rel="alternate" type="text/html" href="https://wiki.obsidianconflict.net/?title=Npc_ichthyosaur&amp;action=history"/>
		<updated>2026-06-13T15:01:18Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.obsidianconflict.net/?title=Npc_ichthyosaur&amp;diff=1616&amp;oldid=prev</id>
		<title>Maestro Fenix: Created page with &quot;{{oc ent}}    == Entity description ==  This &quot;fish&quot; swim serenely on the water until it detects an enemy. Then, it will rush to bite you. Be careful, because it not only will tak...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.obsidianconflict.net/?title=Npc_ichthyosaur&amp;diff=1616&amp;oldid=prev"/>
				<updated>2013-04-14T09:56:39Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{oc ent}}    == Entity description ==  This &amp;quot;fish&amp;quot; swim serenely on the water until it detects an enemy. Then, it will rush to bite you. Be careful, because it not only will tak...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{oc ent}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Entity description ==&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;fish&amp;quot; swim serenely on the water until it detects an enemy. Then, it will rush to bite you. Be careful, because it not only will take a part of your health, but also it will push you down inside the water, making you drown.&lt;br /&gt;
&lt;br /&gt;
A fully working AI on Half-Life (that you could get it stuck), it was planned for Half-Life 2 to be an npc who killed those players that swam far from the coast, but when it was remplaced by [https://developer.valvesoftware.com/wiki/Trigger_waterydeath the leeches], it was left to the initial teleport sequence, making the npc mostly useless. Obsidian Conflict has it nearly restored.&lt;br /&gt;
&lt;br /&gt;
This npc doesn´t need nodes to move, but require path_corners to swim a predetermined route. If not, when it spawn and when there isn´t any enemy on the water, it will stay idle on their last position. &lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
== Key values ==&lt;br /&gt;
&lt;br /&gt;
*'''Name''' ''targetname'' &amp;lt;target_source&amp;gt; The name that other entities refer to this entity by.&lt;br /&gt;
&lt;br /&gt;
*'''Pitch Yaw Roll (Y Z X)''' ''angles'' &amp;lt;angle&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
*'''Render FX''' ''renderfx'' &amp;lt;choices&amp;gt; Gives objects special render effects. Think of it as modifying whatever the Render Mode puts out. The options are as follows:&lt;br /&gt;
        0 = Normal&lt;br /&gt;
        1 = Slow Pulse&lt;br /&gt;
        2 = Fast Pulse&lt;br /&gt;
        3 = Slow Wide Pulse&lt;br /&gt;
        4 = Fast Wide Pulse&lt;br /&gt;
        5 = Slow Fade Away&lt;br /&gt;
        6 = Fast Fade Away&lt;br /&gt;
        7 = Slow Become Solid&lt;br /&gt;
        8 = Fast Become Solid&lt;br /&gt;
        9 = Slow Strobe&lt;br /&gt;
        10 = Fast Strobe&lt;br /&gt;
        11 = Faster Strobe&lt;br /&gt;
        12 = Slow Flicker&lt;br /&gt;
        13 = Fast Flicker&lt;br /&gt;
        14 = Constant Glow&lt;br /&gt;
        15 = Distort&lt;br /&gt;
        16 = Hologram (Distort and Fade)&lt;br /&gt;
&lt;br /&gt;
*'''Render Distance''' ''renderdist'' &amp;lt;integer&amp;gt; currently only useable in combination with Hologram RenderFX&lt;br /&gt;
&lt;br /&gt;
*'''Render Mode''' ''rendermode'' &amp;lt;choices&amp;gt; Used to set a non-standard rendering mode on this entity. See also 'FX Amount' and 'FX Color'. Controls the type of rendering that is used for an object. Options are:&lt;br /&gt;
        0 = Normal&lt;br /&gt;
        1 = Color&lt;br /&gt;
        2 = Texture&lt;br /&gt;
        3 = Glow&lt;br /&gt;
        4 = Solid&lt;br /&gt;
        5 = Additive&lt;br /&gt;
&lt;br /&gt;
*'''FX Amount (0 - 255)''' ''renderamt'' &amp;lt;integer&amp;gt; The FX amount is used by the selected Render Mode.&lt;br /&gt;
&lt;br /&gt;
*'''FX Color (R G B)''' ''rendercolor'' &amp;lt;color255&amp;gt; The FX color is used by the selected Render Mode.&lt;br /&gt;
&lt;br /&gt;
*'''Disable Receiving Shadows''' ''disablereceiveshadows'' &amp;lt;choices&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*'''Damage Filter''' ''damagefilter'' &amp;lt;target_destination&amp;gt; Name of the filter entity that controls which entities can damage us.&lt;br /&gt;
&lt;br /&gt;
*'''Response Contexts''' ''ResponseContext'' &amp;lt;string&amp;gt; Response system context(s) for this entity. Format should be: 'key:value,key2:value2,etc'. When this entity speaks, the list of keys &amp;amp; values will be passed to the response rules system.&lt;br /&gt;
&lt;br /&gt;
*'''Disable shadows''' ''disableshadows'' &amp;lt;choices&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*'''Target Path Corner''' ''target'' &amp;lt;target_destination&amp;gt; If set, the name of a path corner entity that this NPC will walk to, after spawning.&lt;br /&gt;
&lt;br /&gt;
*'''Squad Name''' ''squadname'' &amp;lt;string&amp;gt; NPCs that are in the same squad (i.e. have matching squad names) will share information about enemies, and will take turns attacking and covering each other.&lt;br /&gt;
&lt;br /&gt;
*'''Hint Group''' ''hintgroup'' &amp;lt;string&amp;gt; Hint groups are used by NPCs to restrict their hint-node searching to a subset of the map's hint nodes. Only hint nodes with matching hint group names will be considered by this NPC.&lt;br /&gt;
&lt;br /&gt;
*'''Hint Limit Nav''' ''hintlimiting'' &amp;lt;choices&amp;gt; Limits NPC to using specified hint group for navigation requests, but does not limit local navigation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''spawnflags''' ''spawnflags'' &amp;lt;flags&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*'''Sleep State''' ''sleepstate'' &amp;lt;choices&amp;gt; Holds the NPC in stasis until specified condition. See also 'Wake Radius' and 'Wake Squad'.&lt;br /&gt;
&lt;br /&gt;
*'''Wake Radius''' ''wakeradius'' &amp;lt;float&amp;gt; Auto-wake if player within this distance&lt;br /&gt;
&lt;br /&gt;
*'''Wake Squad''' ''wakesquad'' &amp;lt;choices&amp;gt; Wake all of the NPCs squadmates if the NPC is woken&lt;br /&gt;
&lt;br /&gt;
*'''Enemy Filter''' ''enemyfilter'' &amp;lt;target_destination&amp;gt; Filter by which to filter potential enemies&lt;br /&gt;
&lt;br /&gt;
*'''Ignore unseen enemies''' ''ignoreunseenenemies'' &amp;lt;choices&amp;gt; Prefer visible enemies, regardless of distance or relationship priority&lt;br /&gt;
&lt;br /&gt;
*'''Physics Impact Damage Scale''' ''physdamagescale'' &amp;lt;float&amp;gt; Scales damage energy when this character is hit by a physics object. With a value of 0 the NPC will take no damage from physics.&lt;br /&gt;
&lt;br /&gt;
*'''Health''' ''npchealth'' &amp;lt;integer&amp;gt; Number of points of damage to take before dying. 0 means use default health.&lt;br /&gt;
&lt;br /&gt;
*'''Custom Name''' ''npcname'' &amp;lt;string&amp;gt; Name that will appear when your crosshair is on this npc. If left blank, it will display the classname of this npc.&lt;br /&gt;
&lt;br /&gt;
*'''Custom Model''' ''model'' &amp;lt;studio&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*'''NPC Owner''' ''npcownerent'' &amp;lt;target_destination&amp;gt; Changes interactions between this ent and the chosen ent.&lt;br /&gt;
&lt;br /&gt;
*'''Team''' ''teamnumber'' &amp;lt;choices&amp;gt; Sets this NPC's team.  NPCs are agressive to everything not on their team.  Only has an effect if teamplay is enabled in your map.&lt;br /&gt;
&lt;br /&gt;
*'''Bounding Box Min''' ''CustomBounding1'' &amp;lt;string&amp;gt; Bounding Box Min Vector(three spaced numbers, no commas), the bottom most point of this NPCs bounding box. ( Do not use negative values! ) Custom Boundingbox which should encompass all hitboxes. Hitboxes not encompased will not be used.&lt;br /&gt;
&lt;br /&gt;
*'''Bounding Box Max''' ''CustomBounding2'' &amp;lt;string&amp;gt; Bounding Box Max Vector(three spaced numbers, no commas), the top most point of this NPCs bounding box. ( Do not use negative values! ) Custom Boundingbox which should encompass all hitboxes. Hitboxes not encompased will not be used.&lt;br /&gt;
&lt;br /&gt;
*'''Target Path Corner''' ''target &amp;lt;target_destination&amp;gt;'' &amp;lt;string&amp;gt; If set, the name of a path corner entity that this NPC will walk to, after spawning.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inputs ==&lt;br /&gt;
&lt;br /&gt;
*'''Kill''' Removes this entity from the world.&lt;br /&gt;
&lt;br /&gt;
*KillHierarchy Removes this entity and all its children from the world.&lt;br /&gt;
&lt;br /&gt;
*'''AddOutput''' &amp;lt;string&amp;gt; Adds an entity I/O connection to this entity. Format: &amp;lt;output name&amp;gt; &amp;lt;targetname&amp;gt;:&amp;lt;inputname&amp;gt;:&amp;lt;parameter&amp;gt;:&amp;lt;delay&amp;gt;:&amp;lt;max times to fire (-1 == infinite)&amp;gt;. Very dangerous, use with care.&lt;br /&gt;
&lt;br /&gt;
*'''FireUser1''' Causes this entity's OnUser1 output to be fired.&lt;br /&gt;
&lt;br /&gt;
*'''FireUser2''' Causes this entity's OnUser2 output to be fired.&lt;br /&gt;
&lt;br /&gt;
*'''FireUser3''' Causes this entity's OnUser3 output to be fired.&lt;br /&gt;
&lt;br /&gt;
*'''FireUser4''' Causes this entity's OnUser4 output to be fired.&lt;br /&gt;
&lt;br /&gt;
*'''Alpha''' &amp;lt;integer&amp;gt; Set the sprite's alpha (0 - 255).&lt;br /&gt;
&lt;br /&gt;
*'''Color''' &amp;lt;color255&amp;gt; Set the sprite's color (R G B).&lt;br /&gt;
&lt;br /&gt;
*'''SetDamageFilter''' &amp;lt;string&amp;gt; Sets the entity to use as damage filter. Pass in an empty string to clear the damage filter.&lt;br /&gt;
&lt;br /&gt;
*'''AddContext''' &amp;lt;string&amp;gt; Adds a context to this entity's list of response contexts. The format should be 'key:value'.&lt;br /&gt;
&lt;br /&gt;
*'''RemoveContext''' &amp;lt;string&amp;gt; Remove a context from this entity's list of response contexts. The name should match the 'key' of a previously added context.&lt;br /&gt;
&lt;br /&gt;
*'''ClearContext''' Removes all contexts in this entity's list of response contexts.&lt;br /&gt;
&lt;br /&gt;
*'''DisableShadow''' Turn shadow off.&lt;br /&gt;
&lt;br /&gt;
*'''EnableShadow''' Turn shadow on.&lt;br /&gt;
&lt;br /&gt;
*'''SetRelationship''' &amp;lt;string&amp;gt; Changes this entity's relationship with another entity or class. Format: &amp;lt;entityname/classname&amp;gt; &amp;lt;D_HT/D_FR/D_LI/D_NU&amp;gt; &amp;lt;priority&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*'''SetEnemyFilter''' &amp;lt;string&amp;gt; Changes this NPC's enemy filter to the named filter.&lt;br /&gt;
&lt;br /&gt;
*'''SetHealth''' &amp;lt;integer&amp;gt; Set this NPC's health.&lt;br /&gt;
&lt;br /&gt;
*'''SetBodyGroup''' &amp;lt;integer&amp;gt; HACK: Sets this NPC's body group (from 0 - n). You'd better know what you are doing!&lt;br /&gt;
&lt;br /&gt;
*'''physdamagescale''' &amp;lt;float&amp;gt; Sets the value that scales damage energy when this character is hit by a physics object. NOTE: 0 means this feature is disabled for backwards compatibility.&lt;br /&gt;
&lt;br /&gt;
*'''Ignite''' Ignite, burst into flames&lt;br /&gt;
&lt;br /&gt;
*'''IgniteLifetime''' &amp;lt;float&amp;gt; Ignite, with a parameter lifetime.&lt;br /&gt;
&lt;br /&gt;
*'''IgniteNumHitboxFires''' &amp;lt;integer&amp;gt; Ignite, with a parameter number of hitbox fires.&lt;br /&gt;
&lt;br /&gt;
*'''IgniteHitboxFireScale''' &amp;lt;float&amp;gt; Ignite, with a parameter hitbox fire scale.&lt;br /&gt;
&lt;br /&gt;
*'''Break''' Break, smash into pieces&lt;br /&gt;
&lt;br /&gt;
*'''StartScripting''' Enter scripting state. In this state, NPCs ignore a variety of stimulus that would make them break out of their scripts: They ignore danger sounds, ignore +USE, don't idle speak or respond to other NPC's idle speech, and so on.&lt;br /&gt;
&lt;br /&gt;
*'''StopScripting''' Exit scripting state.&lt;br /&gt;
&lt;br /&gt;
*'''SetSquad''' &amp;lt;string&amp;gt; Set the name of this NPC's squad. It will be removed from any existing squad automatically. Leaving the parameter blank will remove the NPC from any existing squad.&lt;br /&gt;
&lt;br /&gt;
*'''Wake''' Wakes up the NPC if it is sleeping.&lt;br /&gt;
&lt;br /&gt;
*'''ForgetEntity''' &amp;lt;string&amp;gt; Clears out the NPC's knowledge of a named entity.&lt;br /&gt;
&lt;br /&gt;
*'''GagEnable''' Turn on the NPC Gag flag. NPC won't speak outside of choreographed scenes.&lt;br /&gt;
&lt;br /&gt;
*'''GagDisable''' Turn off the NPC Gag flag.&lt;br /&gt;
&lt;br /&gt;
*'''IgnoreDangerSounds''' &amp;lt;float&amp;gt; Ignore danger sounds for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
*'''HolsterWeapon''' Force the NPC to holster their weapon. Ignored if the NPC is scripting, if the NPC's weapon is already holstered, or if the NPC doesn't use weapons.&lt;br /&gt;
&lt;br /&gt;
*'''HolsterAndDestroyWeapon''' Identical to HolsterWeapon, except the weapon is destroyed once it has been holstered and concealed.&lt;br /&gt;
&lt;br /&gt;
*'''UnholsterWeapon''' Force the NPC to draw their weapon. Ignored if the NPC is scripting, if the NPC's weapon is already drawn, or if the NPC doesn't use weapons.&lt;br /&gt;
&lt;br /&gt;
*'''ForceInteractionWithNPC''' &amp;lt;string&amp;gt; Force the NPC to use a dynamic interaction with another NPC. Parameter format: &amp;lt;target NPC name&amp;gt; &amp;lt;dynamic interaction name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*'''UpdateEnemyMemory''' &amp;lt;string&amp;gt; Update (or Create) this NPC's memory of an enemy and its location&lt;br /&gt;
&lt;br /&gt;
'''BecomeRagdoll''' This NPC will instantly become a ragdoll with ZERO force (just go limp). OnDeath, OnHalfHealth, etc. Outputs *will **NOT** BE FIRED.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Outputs ==&lt;br /&gt;
&lt;br /&gt;
*'''OnUser1''' Fired in response to FireUser1 input.&lt;br /&gt;
&lt;br /&gt;
*'''OnUser2''' Fired in response to FireUser2 input.&lt;br /&gt;
&lt;br /&gt;
*'''OnUser3''' Fired in response to FireUser3 input.&lt;br /&gt;
&lt;br /&gt;
*'''OnUser4''' Fired in response to FireUser4 input.&lt;br /&gt;
&lt;br /&gt;
*'''OnDamaged''' Fired when this NPC takes damage.&lt;br /&gt;
&lt;br /&gt;
*'''OnDeath''' Fired when this NPC is killed.&lt;br /&gt;
&lt;br /&gt;
*'''OnHalfHealth''' Fired when this NPC reaches half of its maximum health.&lt;br /&gt;
&lt;br /&gt;
*'''OnHearWorld''' Fired when this NPC hears a sound (other than combat or the player).&lt;br /&gt;
&lt;br /&gt;
*'''OnHearPlayer''' Fired when this NPC hears the player.&lt;br /&gt;
&lt;br /&gt;
*'''OnHearCombat''' Fired when this NPC hears combat sounds.&lt;br /&gt;
&lt;br /&gt;
*'''OnFoundEnemy''' &amp;lt;string&amp;gt; Fired when this NPC establishes line of sight to its enemy (outputs entity).&lt;br /&gt;
&lt;br /&gt;
*'''OnLostEnemyLOS''' Fired when this NPC loses line of sight to its enemy.&lt;br /&gt;
&lt;br /&gt;
*'''OnLostEnemy''' Fired when this NPC loses its enemy. Usually due to the enemy being killed/removed, or because this NPC has selected a newer, more dangerous enemy.&lt;br /&gt;
&lt;br /&gt;
*'''OnFoundPlayer''' &amp;lt;string&amp;gt; Fired when this NPC establishes line of sight to its enemy, and that enemy is a player (outputs player entity).&lt;br /&gt;
&lt;br /&gt;
*'''OnLostPlayerLOS''' Fired when this NPC loses line of sight to its enemy, and that enemy is a player.&lt;br /&gt;
&lt;br /&gt;
*'''OnLostPlayer''' Fired when this NPC loses its enemy, and that enemy was a player. Usually due to the enemy being killed/removed, or because this NPC has selected a newer, more dangerous enemy.&lt;br /&gt;
&lt;br /&gt;
*'''OnDamagedByPlayer''' Fired when this NPC is hurt by a player.&lt;br /&gt;
&lt;br /&gt;
*'''OnDamagedByPlayerSquad''' Fired when this NPC is hurt by a player OR by one of the player's squadmates.&lt;br /&gt;
&lt;br /&gt;
*'''OnDenyCommanderUse''' Fired when this NPC has refused to join the player's squad.&lt;br /&gt;
&lt;br /&gt;
*'''OnSleep''' Fired when this NPC enters a sleep state.&lt;br /&gt;
&lt;br /&gt;
*'''OnWake''' Fired when this NPC comes out of a sleep state.&lt;br /&gt;
&lt;br /&gt;
*'''OnForcedInteractionStarted''' Fired when the NPC starts a forced interaction.&lt;br /&gt;
&lt;br /&gt;
*'''OnForcedInteractionAborted''' Fired when the NPC aborts a forced interaction for some reason (target NPC died, couldn't be pathed to, etc)&lt;br /&gt;
&lt;br /&gt;
*'''OnForcedInteractionFinished''' NPCs in actbusies can no longer perform dynamic interactions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Flags ==&lt;br /&gt;
&lt;br /&gt;
*Wait Till Seen   &lt;br /&gt;
*Gag (No IDLE sounds until angry)&lt;br /&gt;
*Fall to ground (unchecked means &amp;quot;teleport&amp;quot; to ground)&lt;br /&gt;
*Drop Healthkit&lt;br /&gt;
*Efficient - Don´t acquire enemies or avoid obstacles&lt;br /&gt;
*Wait for script&lt;br /&gt;
*Long visibility/shoot&lt;br /&gt;
*Think outside PVS&lt;br /&gt;
*Template NPC (used by npc_maker, will not spawn)&lt;br /&gt;
*Do Alternate collision for this npc (player avoidance)&lt;br /&gt;
*Don´t drop weapons&lt;br /&gt;
*Ignore player push (dont give away to player)&lt;br /&gt;
*Do NOT fade corpse&lt;/div&gt;</summary>
		<author><name>Maestro Fenix</name></author>	</entry>

	</feed>