Npc launcher

From Obsidian Conflict Wiki
Revision as of 20:26, 5 February 2012 by Maestro Fenix (talk | contribs) (Created page with "{{oc ent}} == Entity description == This entity can fire rockets or other missiles with many customizations. The missiles can follow a path or aim to an entity. It was used ...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Entity.png This Page contains informations about an Obsidian Conflict Entity, which means it is only availible for Obsidian Conflict or rather in that form it is explained.


Entity description

This entity can fire rockets or other missiles with many customizations. The missiles can follow a path or aim to an entity.

It was used in the Half-Life 2 leak in the Combine Desert Launcher and the Combine Launcher. Although the model is shown in Hammer as "ERROR", is in fact invisible in-game (ToDO: investigate if this entity really had a model).

The func_apcrocket entity has many similarities with this entity, but with less options.


How to get it work

When you put the entity in your map, it will have all the settings by default from the HL2 leak, so in order to get it work you have to remplace the following:

(To get it work as Homing missile)

[*]Start On: Put it on off (ToDo: Investigate if put it in on and with this configuration would be work).

[*]Missile model: Change it for models/weapons/w_missile.mdl (ToDo: What could be the necessary thing to get working another model?).

[*]Fly Sound: Change it for weapons/rocket1.wav or another sound that you want.

[*]Launch Delay: Put any time that isnt zero or negative (try with 4 to start).

[*]Launch Speed: Put any value that isnt zero or negative (100 for example, very slow).

[*]Homing Speed: Put any value that isnt zero or negative (800 for example, a bit more slow that normal speed).

[*]Homing Strength: Any value between 0 and 100. At more high, more precise.

[*]Homing Delay: Put any time that isnt zero or negative (try with 1 to start).


Those were the necessary values to modify in order to get it work. Of course you can edit the rest to your likes. Now, to get it working, put the following in the trigger:

(trigger) (the name of your npc_launcher) TurnOn (trigger) (the name of your npc_launcher) SetEnemyEntity !player


Test it in the game. You should be see how it spawns rockets to you.


(ToDo: Set it following a path_corner)

Key values

  • Name targetname <target_source> The name that other entities refer to this entity by.
  • Pitch Yaw Roll (Y Z X) angles <angle> 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.
  • Render FX renderfx <choices> Gives objects special render effects. Think of it as modifying whatever the Render Mode puts out. The options are as follows:
       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 and Fade)
  • Render Distance renderdist <integer> currently only useable in combination with Hologram RenderFX
  • Render Mode rendermode <choices> 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:
       0 = Normal
       1 = Color
       2 = Texture
       3 = Glow
       4 = Solid
       5 = Additive
  • FX Amount (0 - 255) renderamt <integer> The FX amount is used by the selected Render Mode.
  • FX Color (R G B) rendercolor <color255> The FX color is used by the selected Render Mode.
  • Disable Receiving Shadows disablereceiveshadows <choices>
  • Damage Filter damagefilter <target_destination> Name of the filter entity that controls which entities can damage us.
  • Response Contexts ResponseContext <string> 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.
  • Disable shadows disableshadows <choices>
  • Target Path Corner target <target_destination> If set, the name of a path corner entity that this NPC will walk to, after spawning.
  • Squad Name squadname <string> 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.
  • Hint Group hintgroup <string> 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.
  • Hint Limit Nav hintlimiting <choices> Limits NPC to using specified hint group for navigation requests, but does not limit local navigation.
  • spawnflags spawnflags <flags>
  • Sleep State sleepstate <choices> Holds the NPC in stasis until specified condition. See also 'Wake Radius' and 'Wake Squad'.
  • Wake Radius wakeradius <float> Auto-wake if player within this distance
  • Wake Squad wakesquad <choices> Wake all of the NPCs squadmates if the NPC is woken
  • Enemy Filter enemyfilter <target_destination> Filter by which to filter potential enemies
  • Ignore unseen enemies ignoreunseenenemies <choices> Prefer visible enemies, regardless of distance or relationship priority
  • Physics Impact Damage Scale physdamagescale <float> 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.
  • Health npchealth <integer> Number of points of damage to take before dying. 0 means use default health.
  • Custom Name npcname <string> Name that will appear when your crosshair is on this npc. If left blank, it will display the classname of this npc.
  • Custom Model model <studio>
  • NPC Owner npcownerent <target_destination> Changes interactions between this ent and the chosen ent.
  • Team teamnumber <choices> 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.
  • Bounding Box Min CustomBounding1 <string> 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.
  • Bounding Box Max CustomBounding2 <string> 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.
  • Start On StartOn <choices> The launcher is activated or not.
  • Missile Model MissileModel <studio> The model of the missile fired (ToDo: What could be the necessary thing to get working another model?).
  • Launch Sound LaunchSound <sound> The sound that gets played when a rocket get fired.
  • Fly Sound FlySound <sound> The sound that is played when the rocket is on fly.
  • Smoke Trail SmokeTrail <choices> Option that makes choose if the rocket will leave a smoke trail.
  • Launch Smoke LaunchSmoke <choices> Option that makes choose if the smoke tha appears when a rocket its fired is shown.
  • Launch Delay LaunchDelay <integer> When ON, how long to wait between each rocket launched.
  • Launch Speed LaunchSpeed <string> Initial launch speed of missile (in up direction).
  • Path Corner Name PathCornerName <target_destination> Name of a path corner. If set launches a missile that follows a path, rather than a homing missile.
  • Homing Speed HomingSpeed <string> Speed to reach when homing the entity.
  • Homing Strength HomingStrength <integer> How strong in homing effect (0-100). Upper values mean more precision.
  • Homing Delay HomingDelay <string> Number of seconds to delay before homing starts.
  • Homing Ramp Up HomingRampUp <string> Number of seconds it takes to reach full homing strength after homing delay.
  • Homing Duration HomingDuration <string> Number of seconds the homing effect lasts.
  • Homing Ramp Down HomingRampDown <string> Number of seconds it takes homing effect to decay after homing duration.
  • Gravity Gravity <string> Scale for effect of gravity. (1.0 = normal gravity).
  • Min Range MinRange <integer> Minimun distance a target can be to be attacked.
  • Max Range MaxRange <integer> Maximum distance a target can be to be attacked.
  • Spin Magnitude SpinMagnitude <string> Strength of spin in missile trajectory.
  • Spin Speed SpinSpeed <string> How fast does the spin rotate through 360.
  • Damage Damage <string> How much damage does each missile do.
  • DamageRadius DamageRadius <string> How far away from impact does the missle do damage.


Inputs

  • SetParent <string> Changes the entity's parent in the movement hierarchy.
  • 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.
  • 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.
  • ClearParent Removes this entity from the the movement hierarchy, leaving it free to move independently.
  • Kill Removes this entity from the world.
  • KillHierarchy Removes this entity and all its children from the world.
  • 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.
  • FireUser1 Causes this entity's OnUser1 output to be fired.
  • FireUser2 Causes this entity's OnUser2 output to be fired.
  • FireUser3 Causes this entity's OnUser3 output to be fired.
  • FireUser4 Causes this entity's OnUser4 output to be fired.
  • Alpha <integer> Set the sprite's alpha (0 - 255).
  • Color <color255> Set the sprite's color (R G B).
  • SetDamageFilter <string> Sets the entity to use as damage filter. Pass in an empty string to clear the damage filter.
  • AddContext <string> Adds a context to this entity's list of response contexts. The format should be 'key:value'.
  • RemoveContext <string> Remove a context from this entity's list of response contexts. The name should match the 'key' of a previously added context.
  • ClearContext Removes all contexts in this entity's list of response contexts.
  • DisableShadow Turn shadow off.
  • EnableShadow Turn shadow on.
  • SetRelationship <string> Changes this entity's relationship with another entity or class. Format: <entityname/classname> <D_HT/D_FR/D_LI/D_NU> <priority>
  • SetEnemyFilter <string> Changes this NPC's enemy filter to the named filter.
  • SetHealth <integer> Set this NPC's health.
  • SetBodyGroup <integer> HACK: Sets this NPC's body group (from 0 - n). You'd better know what you are doing!
  • physdamagescale <float> 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.
  • Ignite Ignite, burst into flames
  • IgniteLifetime <float> Ignite, with a parameter lifetime.
  • IgniteNumHitboxFires <integer> Ignite, with a parameter number of hitbox fires.
  • IgniteHitboxFireScale <float> Ignite, with a parameter hitbox fire scale.
  • Break Break, smash into pieces
  • 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.
  • StopScripting Exit scripting state.
  • SetSquad <string> 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.
  • Wake Wakes up the NPC if it is sleeping.
  • ForgetEntity <string> Clears out the NPC's knowledge of a named entity.
  • GagEnable Turn on the NPC Gag flag. NPC won't speak outside of choreographed scenes.
  • GagDisable Turn off the NPC Gag flag.
  • IgnoreDangerSounds <float> Ignore danger sounds for the specified number of seconds.
  • 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.
  • HolsterAndDestroyWeapon Identical to HolsterWeapon, except the weapon is destroyed once it has been holstered and concealed.
  • 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.
  • ForceInteractionWithNPC <string> Force the NPC to use a dynamic interaction with another NPC. Parameter format: <target NPC name> <dynamic interaction name>
  • UpdateEnemyMemory <string> Update (or Create) this NPC's memory of an enemy and its location

BecomeRagdoll This NPC will instantly become a ragdoll with ZERO force (just go limp). OnDeath, OnHalfHealth, etc. Outputs *will **NOT** BE FIRED.

  • TurnOn Turn on the launcher.
  • TurnOff Turn off the launcher.
  • LOSCheckOn Start checking line of sight before firing.
  • LOSCheckOff Stop checking line of sight before firing.
  • SetEnemyEntity <string> Set entity I should attack. Ignores visibility. (output from other entity only)
  • ClearEnemyEntity Clear set enemy enemy.
  • FireOnce Fire Once (if have enemy).


Outputs

  • OnUser1 Fired in response to FireUser1 input.
  • OnUser2 Fired in response to FireUser2 input.
  • OnUser3 Fired in response to FireUser3 input.
  • OnUser4 Fired in response to FireUser4 input.
  • OnDamaged Fired when this NPC takes damage.
  • OnDeath Fired when this NPC is killed.
  • OnHalfHealth Fired when this NPC reaches half of its maximum health.
  • OnHearWorld Fired when this NPC hears a sound (other than combat or the player).
  • OnHearPlayer Fired when this NPC hears the player.
  • OnHearCombat Fired when this NPC hears combat sounds.
  • OnFoundEnemy <string> Fired when this NPC establishes line of sight to its enemy (outputs entity).
  • OnLostEnemyLOS Fired when this NPC loses line of sight to its enemy.
  • 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.
  • OnFoundPlayer <string> Fired when this NPC establishes line of sight to its enemy, and that enemy is a player (outputs player entity).
  • OnLostPlayerLOS Fired when this NPC loses line of sight to its enemy, and that enemy is a player.
  • 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.
  • OnDamagedByPlayer Fired when this NPC is hurt by a player.
  • OnDamagedByPlayerSquad Fired when this NPC is hurt by a player OR by one of the player's squadmates.
  • OnDenyCommanderUse Fired when this NPC has refused to join the player's squad.
  • OnSleep Fired when this NPC enters a sleep state.
  • OnWake Fired when this NPC comes out of a sleep state.
  • OnForcedInteractionStarted Fired when the NPC starts a forced interaction.
  • OnForcedInteractionAborted Fired when the NPC aborts a forced interaction for some reason (target NPC died, couldn't be pathed to, etc)
  • OnForcedInteractionFinished NPCs in actbusies can no longer perform dynamic interactions.
  • OnLaunch Fires when a missile is launched.


Flags

  • Check LOS
  • Wait Till Seen
  • Gag (No IDLE sounds until angry)
  • Fall to ground (unchecked means "teleport" to ground)
  • Drop Healthkit
  • Efficient - Don´t acquire enemies or avoid obstacles
  • Wait for script
  • Long visibility/shoot
  • Think outside PVS
  • Template NPC (used by npc_maker, will not spawn)
  • Do Alternate collision for this npc (player avoidance)
  • Don´t drop weapons
  • Ignore player push (dont give away to player)
  • Do NOT fade corpse