five-on-it / packages/protocol/src/police / parsePolice
Function: parsePolice()
parsePolice(
text): {camera:boolean;claw?: {presses:number;seconds:number; };drone:boolean;hack?:number;k9?:"scent"|"lost";lasers:object[];light:boolean;lockdown?: {budget:number;contractors:boolean;extraction?: {name:string;seconds?:number;x:number;z:number; };legends:number;news?: {kind:"stars"|"extraction"|"tow"|"lockdown"|"unicorn"|"unitDown"|"overrun"|"restored";n:number;place?:string;stars?:number; };overrun:boolean;ring?: {r:number;sealed:boolean;x:number;z:number; };safehouse?:"inside"|"raid"|"rented"; };marks:object[];radio:object[];scanner:boolean;talk?: {car:boolean;seconds:number;state:"ringing"|"talking";time:boolean; };tech?: {backdoor:boolean;battery:number;cruiser:number;fried:boolean;hacking:number;jammer:boolean;jamming:boolean;lawyer:number;loop:number;scout:number;smoked:boolean;tipped:boolean;traffic:number; };tracked:boolean;type:"police"; } |undefined
Defined in: packages/protocol/src/police.ts:294
Parses a text frame as a player's police tells; undefined when it is not one.
Parameters
text
string
Returns
Type Literal
{ camera: boolean; claw?: { presses: number; seconds: number; }; drone: boolean; hack?: number; k9?: "scent" | "lost"; lasers: object[]; light: boolean; lockdown?: { budget: number; contractors: boolean; extraction?: { name: string; seconds?: number; x: number; z: number; }; legends: number; news?: { kind: "stars" | "extraction" | "tow" | "lockdown" | "unicorn" | "unitDown" | "overrun" | "restored"; n: number; place?: string; stars?: number; }; overrun: boolean; ring?: { r: number; sealed: boolean; x: number; z: number; }; safehouse?: "inside" | "raid" | "rented"; }; marks: object[]; radio: object[]; scanner: boolean; talk?: { car: boolean; seconds: number; state: "ringing" | "talking"; time: boolean; }; tech?: { backdoor: boolean; battery: number; cruiser: number; fried: boolean; hacking: number; jammer: boolean; jamming: boolean; lawyer: number; loop: number; scout: number; smoked: boolean; tipped: boolean; traffic: number; }; tracked: boolean; type: "police"; }
camera
camera:
boolean
A security or traffic camera has the player in sight now.
claw?
optionalclaw?:object
In a ComplianceBot's claw: the seconds before the arrest, and the presses of the interaction key still to struggle free.
claw.presses
presses:
number
claw.seconds
seconds:
number
drone
drone:
boolean
The police drone has the player in sight now.
hack?
optionalhack?:number
The seconds left of the kill switch's countdown on the player's car (eight stars), while it counts down.
k9?
optionalk9?:"scent"|"lost"
A police dog after the player: on their scent, or off it (the trail broken in water).
lasers
lasers:
object[]
The marksmen's lasers painting the player now.
light
light:
boolean
The helicopter's searchlight has the player now.
lockdown?
optionallockdown?:object
The endgame (six to ten stars): see LockdownTells.
lockdown.budget
budget:
number
lockdown.contractors
contractors:
boolean
lockdown.extraction?
optionalextraction?:object
lockdown.extraction.name
name:
string
lockdown.extraction.seconds?
optionalseconds?:number
lockdown.extraction.x
x:
number
lockdown.extraction.z
z:
number
lockdown.legends
legends:
number
lockdown.news?
optionalnews?:object
lockdown.news.kind
kind:
"stars"|"extraction"|"tow"|"lockdown"|"unicorn"|"unitDown"|"overrun"|"restored"
lockdown.news.n
n:
number
lockdown.news.place?
optionalplace?:string
lockdown.news.stars?
optionalstars?:number
lockdown.overrun
overrun:
boolean
lockdown.ring?
optionalring?:object
lockdown.ring.r
r:
number
lockdown.ring.sealed
sealed:
boolean
lockdown.ring.x
x:
number
lockdown.ring.z
z:
number
lockdown.safehouse?
optionalsafehouse?:"inside"|"raid"|"rented"
marks
marks:
object[]
What the minimap marks.
radio
radio:
object[]
The radio's last lines the player hears, oldest first.
scanner
scanner:
boolean
The player carries the police scanner (PoliceScan Pro™).
talk?
optionaltalk?:object
The negotiator's call (six stars, a captive held): ringing (seconds it rings on), the talk open (its choices still on offer: more time, once; a car, once) and the team holding (seconds of holding left).
talk.car
car:
boolean
talk.seconds
seconds:
number
talk.state
state:
"ringing"|"talking"
talk.time
time:
boolean
tech?
optionaltech?:object
The player's own tech, for the phone's apps.
tech.backdoor
backdoor:
boolean
tech.battery
battery:
number
tech.cruiser
cruiser:
number
tech.fried
fried:
boolean
tech.hacking
hacking:
number
tech.jammer
jammer:
boolean
tech.jamming
jamming:
boolean
tech.lawyer
lawyer:
number
tech.loop
loop:
number
tech.scout
scout:
number
tech.smoked
smoked:
boolean
tech.tipped
tipped:
boolean
tech.traffic
traffic:
number
tracked
tracked:
boolean
The car the player sits in carries a GPS tag.
type
type:
"police"
undefined