Audit and fix NPC, door-staff and UI dialogue
- Route the Reason verb through authored reason contexts and give every shared archetype an in-character answer. - Add Hollywood wristband and TV Studio ticket/credential door-staff lines. - Clarify radio cancellation, Ask terminology, start hints and campaign-reset copy. - Record the dialogue audit and length findings in docs/ui-copy.md; add regression tests.
This commit is contained in:
1 parent
daf0926d91
commit
98c31fe44c
15 files changed
+232
-30
No files matched your search
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"hud.controls": "LMB/Space wheel · A/D step · Space confirm · Esc cancel · R emergency · E inspect · C wand · Q polite · B camera · Tab/wheel cycle · Shift slow · G light · L lock · F debug",
|
||||
"hud.controls": "LMB/Space wheel · A/D step · Space confirm · Esc cancel · R emergency · E inspect · C wand · Q ask · B camera · Tab/wheel cycle · Shift slow · G light · L lock · F debug",
|
||||
"radial.raise_hand": "Stop",
|
||||
"radial.eye_contact": "Look",
|
||||
"radial.point": "Point",
|
||||
@@ -105,7 +105,7 @@
|
||||
"ui.radio_send_assist": "Send request",
|
||||
"ui.radio_send_emergency": "Send emergency",
|
||||
"ui.radio_hold_hint": "Hold the button for %.1fs",
|
||||
"ui.radio_cancelled": "Call cancelled — hold the button.",
|
||||
"ui.radio_cancelled": "Call not sent — hold the button to confirm.",
|
||||
"ui.radio_holding": "Holding… %.0f%%",
|
||||
"ui.review_return_menu": "Return to menu",
|
||||
"ui.quit_game": "Quit game",
|
||||
@@ -121,7 +121,7 @@
|
||||
"ui.settings_reset_campaign": "Reset campaign",
|
||||
"ui.settings_controls_help": "Controls (click a binding, then press a key or pad button)",
|
||||
"ui.settings_cancel": "Cancel",
|
||||
"ui.settings_reset_confirm": "Clear campaign progress and start again from the Hollywood shift?",
|
||||
"ui.settings_reset_confirm": "Clear campaign progress and restart from the Hollywood Boulevard shift?",
|
||||
"ui.settings_press": "Press…",
|
||||
"ui.pause_title": "Paused",
|
||||
"ui.pause_resume": "Resume",
|
||||
@@ -135,7 +135,7 @@
|
||||
"help.control_move": "Movement: W/A/S/D · mouse look · Shift precision walk",
|
||||
"help.control_focus": "Focus: crosshair cone · Tab / mouse wheel cycles nearby people",
|
||||
"help.control_wheel": "Action wheel: Space or left click · A/D or arrows step · Space confirms",
|
||||
"help.control_access": "Inspect access: E · Wand: C · Polite direction: Q",
|
||||
"help.control_access": "Inspect access: E · Wand: C · Ask: Q",
|
||||
"help.control_escalate": "Warning: 4 · Blocking: 5 · Security radio: 6",
|
||||
"help.control_emergency": "Emergency radio: R, hold the on-screen button to confirm",
|
||||
"help.control_tools": "Body camera: B · Flashlight: G · Door lock: L",
|
||||
@@ -144,14 +144,14 @@
|
||||
"ui.start_subtitle": "Pick a venue to start your shift.",
|
||||
"ui.start_help": "Help",
|
||||
"ui.start_settings": "Settings",
|
||||
"ui.start_hint": "Up/Down to choose, Enter to start, Esc to quit",
|
||||
"ui.start_hint": "Up/Down to choose · Enter to start · Esc to quit",
|
||||
"ui.campaign_complete": "Campaign complete — pick any venue for a free shift.",
|
||||
"ui.campaign_status": "Campaign shift %d · next: %s",
|
||||
"ui.continue_shift": "Continue shift — %s",
|
||||
"ui.campaign_complete_short": "Campaign complete",
|
||||
"ui.radio_location_placeholder": "Location (e.g. front steps)",
|
||||
"ui.radio_location_default": "front entrance",
|
||||
"ui.radio_description_placeholder": "Describe the person and behavior",
|
||||
"ui.radio_description_placeholder": "Describe the person and their behavior",
|
||||
"ui.radio_weapon": "Weapon seen",
|
||||
"ui.radio_danger": "Danger level: ",
|
||||
"ui.radio_cancel": "Cancel",
|
||||
|
||||
@@ -20,6 +20,7 @@ base_compliance = 0.9
|
||||
dialogue_lines = Array[String](["Oh sure, sorry, just taking a picture.", "Is there a better spot to stand?", "Understood, moving."])
|
||||
context_lines = {
|
||||
"deescalation": ["Okay, I'll move to the sidewalk.", "Sorry, I'll put the camera away."],
|
||||
"reason": ["Just getting a photo of the entrance.", "I'm meeting friends here."],
|
||||
"recognition": ["You remember me from the tour, right?"],
|
||||
"refusal": ["I just want a photo, I'm not staying.", "I didn't know this entrance was restricted."]
|
||||
}
|
||||
@@ -34,6 +35,7 @@ base_compliance = 0.85
|
||||
dialogue_lines = Array[String](["Wait, this isn't the entrance?", "Sorry about that, I'm a bit lost."])
|
||||
context_lines = {
|
||||
"deescalation": ["Oh, I understand. I'll check with the box office."],
|
||||
"reason": ["I thought this was the box office.", "I'm looking for the event entrance."],
|
||||
"refusal": ["I'm sure the event is here. Let me check my phone."]
|
||||
}
|
||||
|
||||
@@ -43,6 +45,9 @@ id = "delivery"
|
||||
display_name = "Delivery Worker"
|
||||
npc_type = 10
|
||||
dialogue_lines = Array[String](["Where should I leave this?"])
|
||||
context_lines = {
|
||||
"reason": ["Drop-off for the venue. Where should I leave it?"]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_dsavb"]
|
||||
script = ExtResource("2_7qk8j")
|
||||
@@ -58,6 +63,9 @@ reactions_by_level = {
|
||||
3: 30
|
||||
}
|
||||
}
|
||||
context_lines = {
|
||||
"reason": ["Just doing my act; I'll keep the sidewalk clear."]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_sexiy"]
|
||||
script = ExtResource("2_7qk8j")
|
||||
@@ -88,6 +96,9 @@ reactions_by_level = {
|
||||
}
|
||||
}
|
||||
dialogue_lines = Array[String](["This is public sidewalk, you can't stop me from filming."])
|
||||
context_lines = {
|
||||
"reason": ["Filming a quick clip for my channel."]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_ghqd8"]
|
||||
script = ExtResource("2_7qk8j")
|
||||
@@ -110,6 +121,9 @@ reactions_by_level = {
|
||||
}
|
||||
}
|
||||
reaction_delay = 1.8
|
||||
context_lines = {
|
||||
"reason": ["Looking for my friends. I think they went inside."]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_g8peq"]
|
||||
script = ExtResource("2_7qk8j")
|
||||
@@ -148,6 +162,9 @@ reactions_by_level = {
|
||||
}
|
||||
}
|
||||
dialogue_lines = Array[String](["I'm just here to see a friend, come on.", "I'll be inside for ten seconds."])
|
||||
context_lines = {
|
||||
"reason": ["Meeting a friend inside. I'll only be a minute.", "Just cutting through."]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_4xl5p"]
|
||||
script = ExtResource("2_7qk8j")
|
||||
@@ -187,6 +204,9 @@ reactions_by_level = {
|
||||
}
|
||||
}
|
||||
reaction_delay = 2.4
|
||||
context_lines = {
|
||||
"reason": ["I just need a quiet minute.", "I'm waiting for someone."]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_y6282"]
|
||||
script = ExtResource("2_7qk8j")
|
||||
@@ -222,6 +242,9 @@ reactions_by_level = {
|
||||
7: 30
|
||||
}
|
||||
}
|
||||
context_lines = {
|
||||
"reason": ["Back off. This doesn't concern you."]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_75a0r"]
|
||||
script = ExtResource("2_7qk8j")
|
||||
@@ -259,6 +282,9 @@ reactions_by_level = {
|
||||
}
|
||||
}
|
||||
dialogue_lines = Array[String](["I have every right to be on public sidewalk.", "You can't touch me, this is a lawful protest."])
|
||||
context_lines = {
|
||||
"reason": ["We're demonstrating on the public sidewalk.", "This is a peaceful protest."]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_ix35t"]
|
||||
script = ExtResource("2_7qk8j")
|
||||
@@ -272,6 +298,9 @@ default_reactions = {
|
||||
0: 100
|
||||
}
|
||||
}
|
||||
context_lines = {
|
||||
"reason": ["I'm on staff. I'm checking the entrance.", "Crew check-in; I'm working tonight."]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_0mcg3"]
|
||||
script = ExtResource("2_7qk8j")
|
||||
@@ -290,6 +319,9 @@ default_reactions = {
|
||||
2: 12
|
||||
}
|
||||
}
|
||||
context_lines = {
|
||||
"reason": ["I'm on the guest list. Here's my ID.", "A friend invited me; I have a ticket."]
|
||||
}
|
||||
|
||||
[resource]
|
||||
script = ExtResource("3_lvgx2")
|
||||
@@ -495,3 +527,6 @@ shift_phases = {
|
||||
"start_s": 700.0
|
||||
}
|
||||
}
|
||||
door_staff_lines = {
|
||||
"wristband_check": ["Wristband, please.", "I need to see your event wristband."]
|
||||
}
|
||||
@@ -24,6 +24,7 @@ base_compliance = 0.9
|
||||
dialogue_lines = Array[String](["Oh sure, sorry, just taking a picture.", "Is there a better spot to stand?", "Understood, moving."])
|
||||
context_lines = {
|
||||
"deescalation": ["Okay, I'll move to the sidewalk.", "Sorry, I'll put the camera away."],
|
||||
"reason": ["Just getting a photo of the entrance.", "I'm meeting friends here."],
|
||||
"recognition": ["You remember me from the tour, right?"],
|
||||
"refusal": ["I just want a photo, I'm not staying.", "I didn't know this entrance was restricted."]
|
||||
}
|
||||
@@ -38,6 +39,7 @@ base_compliance = 0.85
|
||||
dialogue_lines = Array[String](["Wait, this isn't the entrance?", "Sorry about that, I'm a bit lost."])
|
||||
context_lines = {
|
||||
"deescalation": ["Oh, I understand. I'll check with the box office."],
|
||||
"reason": ["I thought this was the box office.", "I'm looking for the event entrance."],
|
||||
"refusal": ["I'm sure the event is here. Let me check my phone."]
|
||||
}
|
||||
|
||||
@@ -55,6 +57,9 @@ reactions_by_level = {
|
||||
3: 30
|
||||
}
|
||||
}
|
||||
context_lines = {
|
||||
"reason": ["Just doing my act; I'll keep the sidewalk clear."]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_50i1h"]
|
||||
script = ExtResource("2_l60ad")
|
||||
@@ -85,6 +90,9 @@ reactions_by_level = {
|
||||
}
|
||||
}
|
||||
dialogue_lines = Array[String](["This is public sidewalk, you can't stop me from filming."])
|
||||
context_lines = {
|
||||
"reason": ["Filming a quick clip for my channel."]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_nsw77"]
|
||||
script = ExtResource("2_l60ad")
|
||||
@@ -107,6 +115,9 @@ reactions_by_level = {
|
||||
}
|
||||
}
|
||||
reaction_delay = 1.8
|
||||
context_lines = {
|
||||
"reason": ["Looking for my friends. I think they went inside."]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_20knl"]
|
||||
script = ExtResource("2_l60ad")
|
||||
@@ -145,6 +156,9 @@ reactions_by_level = {
|
||||
}
|
||||
}
|
||||
dialogue_lines = Array[String](["I'm just here to see a friend, come on.", "I'll be inside for ten seconds."])
|
||||
context_lines = {
|
||||
"reason": ["Meeting a friend inside. I'll only be a minute.", "Just cutting through."]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_rivis"]
|
||||
script = ExtResource("2_l60ad")
|
||||
@@ -180,6 +194,9 @@ reactions_by_level = {
|
||||
7: 30
|
||||
}
|
||||
}
|
||||
context_lines = {
|
||||
"reason": ["Back off. This doesn't concern you."]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_1dvkp"]
|
||||
script = ExtResource("2_l60ad")
|
||||
@@ -193,6 +210,9 @@ default_reactions = {
|
||||
0: 100
|
||||
}
|
||||
}
|
||||
context_lines = {
|
||||
"reason": ["I'm on staff. I'm checking the entrance.", "Crew check-in; I'm working tonight."]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_7wsm0"]
|
||||
script = ExtResource("2_l60ad")
|
||||
@@ -211,6 +231,9 @@ default_reactions = {
|
||||
2: 12
|
||||
}
|
||||
}
|
||||
context_lines = {
|
||||
"reason": ["I'm on the guest list. Here's my ID.", "A friend invited me; I have a ticket."]
|
||||
}
|
||||
|
||||
[resource]
|
||||
script = ExtResource("3_voh88")
|
||||
|
||||
@@ -24,6 +24,7 @@ base_compliance = 0.9
|
||||
dialogue_lines = Array[String](["Oh sure, sorry, just taking a picture.", "Is there a better spot to stand?", "Understood, moving."])
|
||||
context_lines = {
|
||||
"deescalation": ["Okay, I'll move to the sidewalk.", "Sorry, I'll put the camera away."],
|
||||
"reason": ["Just getting a photo of the entrance.", "I'm meeting friends here."],
|
||||
"recognition": ["You remember me from the tour, right?"],
|
||||
"refusal": ["I just want a photo, I'm not staying.", "I didn't know this entrance was restricted."]
|
||||
}
|
||||
@@ -38,6 +39,7 @@ base_compliance = 0.85
|
||||
dialogue_lines = Array[String](["Wait, this isn't the entrance?", "Sorry about that, I'm a bit lost."])
|
||||
context_lines = {
|
||||
"deescalation": ["Oh, I understand. I'll check with the box office."],
|
||||
"reason": ["I thought this was the box office.", "I'm looking for the event entrance."],
|
||||
"refusal": ["I'm sure the event is here. Let me check my phone."]
|
||||
}
|
||||
|
||||
@@ -47,6 +49,9 @@ id = "delivery"
|
||||
display_name = "Delivery Worker"
|
||||
npc_type = 10
|
||||
dialogue_lines = Array[String](["Where should I leave this?"])
|
||||
context_lines = {
|
||||
"reason": ["Drop-off for the venue. Where should I leave it?"]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_t47d3"]
|
||||
script = ExtResource("2_g7rkt")
|
||||
@@ -62,6 +67,9 @@ reactions_by_level = {
|
||||
3: 30
|
||||
}
|
||||
}
|
||||
context_lines = {
|
||||
"reason": ["Just doing my act; I'll keep the sidewalk clear."]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_j2mp5"]
|
||||
script = ExtResource("2_g7rkt")
|
||||
@@ -92,6 +100,9 @@ reactions_by_level = {
|
||||
}
|
||||
}
|
||||
dialogue_lines = Array[String](["This is public sidewalk, you can't stop me from filming."])
|
||||
context_lines = {
|
||||
"reason": ["Filming a quick clip for my channel."]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_uscqg"]
|
||||
script = ExtResource("2_g7rkt")
|
||||
@@ -114,6 +125,9 @@ reactions_by_level = {
|
||||
}
|
||||
}
|
||||
reaction_delay = 1.8
|
||||
context_lines = {
|
||||
"reason": ["Looking for my friends. I think they went inside."]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_8aovb"]
|
||||
script = ExtResource("2_g7rkt")
|
||||
@@ -152,6 +166,9 @@ reactions_by_level = {
|
||||
}
|
||||
}
|
||||
dialogue_lines = Array[String](["I'm just here to see a friend, come on.", "I'll be inside for ten seconds."])
|
||||
context_lines = {
|
||||
"reason": ["Meeting a friend inside. I'll only be a minute.", "Just cutting through."]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_owl7s"]
|
||||
script = ExtResource("2_g7rkt")
|
||||
@@ -191,6 +208,9 @@ reactions_by_level = {
|
||||
}
|
||||
}
|
||||
reaction_delay = 2.4
|
||||
context_lines = {
|
||||
"reason": ["I just need a quiet minute.", "I'm waiting for someone."]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_rnay4"]
|
||||
script = ExtResource("2_g7rkt")
|
||||
@@ -226,6 +246,9 @@ reactions_by_level = {
|
||||
7: 30
|
||||
}
|
||||
}
|
||||
context_lines = {
|
||||
"reason": ["Back off. This doesn't concern you."]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_lhp4m"]
|
||||
script = ExtResource("2_g7rkt")
|
||||
@@ -263,6 +286,9 @@ reactions_by_level = {
|
||||
}
|
||||
}
|
||||
dialogue_lines = Array[String](["I have every right to be on public sidewalk.", "You can't touch me, this is a lawful protest."])
|
||||
context_lines = {
|
||||
"reason": ["We're demonstrating on the public sidewalk.", "This is a peaceful protest."]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_s8tjd"]
|
||||
script = ExtResource("2_g7rkt")
|
||||
@@ -276,6 +302,9 @@ default_reactions = {
|
||||
0: 100
|
||||
}
|
||||
}
|
||||
context_lines = {
|
||||
"reason": ["I'm on staff. I'm checking the entrance.", "Crew check-in; I'm working tonight."]
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_ii8kq"]
|
||||
script = ExtResource("2_g7rkt")
|
||||
@@ -294,6 +323,9 @@ default_reactions = {
|
||||
2: 12
|
||||
}
|
||||
}
|
||||
context_lines = {
|
||||
"reason": ["I'm on the guest list. Here's my ID.", "A friend invited me; I have a ticket."]
|
||||
}
|
||||
|
||||
[resource]
|
||||
script = ExtResource("3_jd45y")
|
||||
@@ -485,3 +517,6 @@ shift_phases = {
|
||||
"start_s": 700.0
|
||||
}
|
||||
}
|
||||
door_staff_lines = {
|
||||
"ticket_check": ["Ticket, credential, or guest-list confirmation, please.", "I need your ticket or guest-list confirmation."]
|
||||
}
|
||||
Reference in new issue
Block a user