npc_metropolice
Class hierarchy |
---|
CNPC_MetroPolice |
npc_metropolice.cpp
|
npc_metropolice
is a point entity available in Half-Life 2, Half-Life 2: Episode One, Half-Life 2: Episode Two, and Half-Life 2: Deathmatch. They serve as City 17's primary police force and are one of the most basic Combine enemies.
npc_metropolice
uses a small arsenal of weapons and little tactical judgement, designed for the first few levels of Half-Life 2 and its authoritarian atmosphere. npc_combine_s
is usually used for the Combine's actual military force.
The gordon_precriminal
global state makes all npc_metropolice
neutral to the player and citizens, pushing the player away when they get too close and chasing them when provoked. This is used throughout the Half-Life 2 chapter Point Insertion and works best with stunsticks.
In Half-Life 2, they serve as the Combine's thought police, collectively known as Civil Protection, and mainly use stunsticks to brutally police the citizens of City 17. They are the player's main opponent throughout the first few chapters of Half-Life 2, using explosive barrels and mounted guns to their advantage and disadvantage, but they're eventually replaced with npc_combine_s
and disappear until the chapter Anticitizen One, where they again function as the main Combine enemies for most of the chapter.
Dedicated ConVars
Cvar/Command | Parameters or default value | Descriptor | Effect |
---|---|---|---|
metropolice_chase_use_follow | 0 | arbitrary number | Causes pre-criminal npc_metropolice with stunsticks to follow the player indefinitely. |
metropolice_move_and_melee | 1 | arbitrary number | Makes agitated npc_metropolice activate their stunsticks right as they begin to swing, as opposed to stopping for a moment to activate it once they successfully navigate to their target. |
metropolice_charge | 1 | arbitrary number | Toggles whether npc_metropolice with pistols charge at the player. |
sk_metropolice_health | 40 | health amount | npc_metropolice health when spawned. |
sk_metropolice_simple_health | 26 | health amount | npc_metropolice health when the Simple cops flag is checked. |
sk_metropolice_stitch_distance | 1000 | hammer units | Distance that npc_metropolice will begin to attempt stitching. |
sk_metropolice_stitch_reaction | 1 | arbitrary number | Multiplier for the amount of time shots in the stitch line travel from their starting position to the player. Fractions make the npc go through the stitching behavior multiple times, and values above 1 make the stitching slower.
Bug: 0 will make the game freeze the moment stitching is attempted. [todo tested in?] |
sk_metropolice_stitch_at_hitcount | 1 | arbitrary number | Number of times a stitching npc_metropolice is allowed to hit a player. Due to random bullet spread, the result may be slightly more or less. |
sk_metropolice_stitch_behind_hitcount | 3 | arbitrary number | Number of times a stitching npc_metropolice is allowed to hit a player while behind the player's airboat.[confirm] |
sk_metropolice_stitch_tight_hitcount | 2 | arbitrary number | Number of times a stitching npc_metropolice is allowed to hit a player while aiming directly at the player's airboat.[confirm] |
sk_metropolice_stitch_along_hitcount | 2 | arbitrary number | Number of times a stitching npc_metropolice is allowed to hit a player while alongside the player's airboat.[confirm] |
Flags
|
models/police_cheaple.mdl
.- Simple cops : [
131072
]
Sets the NPC's health to the value ofsk_metropolice_simple_health
instead ofsk_metropolice_health
and enables more dramatic flinch animations. Used in the early canal levels of the game. -
Rappel : [262144
]
Deprecated. Use the "Waiting to rappel" keyvalue instead. - Always stitch : [
524288
]
This forces the stitching behavior to occur. If the npc_metropolice is armed with an SMG and the player is beneath them, they will shoot a meandering, closing path of bullets (like the first metrocop ind1_canals_07
. - No chatter : [
1048576
]
Automatically gags the NPC and supposedly prevents some metrocop-specific speech that standard gagging doesn't. This is now believed to be non-functional. - Arrest enemies : [
2097152
] - No far stitching : [
4194304
]
Stops stitching if the player is over 6000 units away.Note:That's about the distance between the two forcefields on the bridge ind2_coast_07
. - Prevent manhack toss : [
8388608
]
Prevents the NPC from deploying their manhack(s). See theEnableManhackToss
input. - Allowed to respond to thrown objects : [
16777216
]
In pre-criminal mode, allows the NPC to chase players who have annoyed them. If this flag isn't enabled, they will call for the nearest available npc_metropolice to chase the agitator. This also occurs if the NPC is using anything other than a stunstick. This does not override the settings of anai_goal_police
. - Mid-range attacks (halfway between normal + long-range) : [
33554432
]
Extends the NPC's preferred attack distance to 3500 units.
Keyvalues
- Weapons
(additionalequipment)
<choices> - What weapon this NPC should spawn with. Choices are:
weapon_pistol
Note:With this weapon,npc_metropolice
will periodically take a couple steps toward the player if they can path to them.weapon_smg1
weapon_stunstick
weapon_shotgun
Warning:The default model (police.mdl
) doesn't have proper animations for this weapon.- Nothing
- Number of Manhacks
(manhacks)
<choices> - Allows a npc_metropolice to carry up to two manhacks on their right shoulder.
npc_metropolice
while they're deploying a manhack, they may be interrupted and the manhack be stuck on their hand until the npc_metropolice
dies, after which it will deploy normally. [todo tested in?]- Pistol starts drawn
(weapondrawn)
<boolean> - Whether or not the pistol should start unholstered. The pistol can only be unholstered when the NPC spots an enemy, and inputs like
UnholsterWeapon
have no effect. This keyvalue has no effect on other weapons.
npc_metropolice
must attack during a scripted behavior such as an assault or scripted_sequence, they may skip drawing their weapon and use an invisible gun. [todo tested in?]RappelNPC:
- Waiting to Rappel?
(waitingtorappel)
<boolean> - If yes, this NPC spawns suspended in air and awaits a
BeginRappel
input. It will then spawn a zipline and slide down. When it hits the ground, NPC will cut away the line and try to move forward a few feet to make room for the next NPC. The NPC will not attempt to clear its landing space if it cannot do so by taking a few steps forward.
CBaseCombatCharacter:
CAI_BaseNPC:
DamageFilter:
|
Inputs
EnableManhackToss
- Enables manhack toss (for when it's been disabled by the Prevent manhack toss spawnflag)
SetPoliceGoal
<targetname>- Assigns the NPC to an
ai_goal_police
.
ActivateBaton
- Makes the NPC flick a held
weapon_stunstick
on.
RappelNPC:
BeginRappel
- Start rappelling now.
CAI_BaseNPC:
CBaseCombatCharacter:
DamageFilter: |
Outputs
OnStunnedPlayer
- Fires when this NPC hits the player with a stunstick.
OnCupCopped
- Fired when this NPC is hit by a prop with the targetname
cupcop_can
.
RappelNPC:
OnRappelTouchdown
- Fires when done rappelling.
|
- TODO rewrite lang to LanguageBar
- CBaseAnimating
- Half-Life 2 entities
- Half-Life 2 point entities
- Half-Life 2: Episode One entities
- Half-Life 2: Episode One point entities
- Half-Life 2: Episode Two entities
- Half-Life 2: Episode Two point entities
- Half-Life 2: Deathmatch entities
- Half-Life 2: Deathmatch point entities
- NPC entities
- Pages with uncategorized bugs
- Half-Life 2 NPCs