Remove dialogue tone-of-voice system, add Gitea Actions full build, add venue cycling
- Delete Rules.Tone/TONE_NAMES, NpcProfile.tone_modifiers, tone params on NPCController.roll_reaction/apply_player_action; dialogue_lines flattened to Array[String]; HUD tone label, T binding, and hud.tone_prefix removed - Docs updated everywhere (PLAN, README, DONE, MEMORY); PLAN section heading 'Tone and Design Direction' -> 'Design Direction' - Add .gitea/workflows/build.yml: checks job (import+tests) on push/PR; full build job (export templates, Linux/Windows/macOS exports, artifact upload, and tag-based Gitea release publish via GITEA_TOKEN) on tags/dispatch - Remove old .github/workflows/ci.yml to avoid double runs - Add venue cycling (V) across all three scenarios with hud.venue_switched - Refresh README screenshots to match the new HUD - 53/53 tests pass, boot smoke clean
This commit is contained in:
1 parent
f7486d7539
commit
a3768c2ce4
21 files changed
+230
-185
No files matched your search
@@ -21,13 +21,11 @@ static func shared_profiles() -> Array[NpcProfile]:
|
||||
tourist.npc_type = Rules.NpcType.TOURIST
|
||||
tourist.temperament = 0.1
|
||||
tourist.base_compliance = 0.9
|
||||
tourist.dialogue_lines = {
|
||||
Rules.Tone.FRIENDLY: [
|
||||
"Oh sure, sorry, just taking a picture.",
|
||||
"Is there a better spot to stand?",
|
||||
],
|
||||
Rules.Tone.PROFESSIONAL: ["Understood, moving."],
|
||||
}
|
||||
tourist.dialogue_lines = [
|
||||
"Oh sure, sorry, just taking a picture.",
|
||||
"Is there a better spot to stand?",
|
||||
"Understood, moving.",
|
||||
]
|
||||
profiles.append(tourist)
|
||||
|
||||
var confused := NpcProfile.new()
|
||||
@@ -36,12 +34,10 @@ static func shared_profiles() -> Array[NpcProfile]:
|
||||
confused.npc_type = Rules.NpcType.CONFUSED_VISITOR
|
||||
confused.temperament = 0.2
|
||||
confused.base_compliance = 0.85
|
||||
confused.dialogue_lines = {
|
||||
Rules.Tone.FRIENDLY: [
|
||||
"Wait, this isn't the entrance?",
|
||||
"Sorry about that, I'm a bit lost.",
|
||||
],
|
||||
}
|
||||
confused.dialogue_lines = [
|
||||
"Wait, this isn't the entrance?",
|
||||
"Sorry about that, I'm a bit lost.",
|
||||
]
|
||||
profiles.append(confused)
|
||||
|
||||
var delivery := NpcProfile.new()
|
||||
@@ -50,9 +46,7 @@ static func shared_profiles() -> Array[NpcProfile]:
|
||||
delivery.npc_type = Rules.NpcType.DELIVERY
|
||||
delivery.temperament = 0.25
|
||||
delivery.base_compliance = 0.8
|
||||
delivery.dialogue_lines = {
|
||||
Rules.Tone.PROFESSIONAL: ["Where should I leave this?"],
|
||||
}
|
||||
delivery.dialogue_lines = ["Where should I leave this?"]
|
||||
profiles.append(delivery)
|
||||
|
||||
var performer := NpcProfile.new()
|
||||
@@ -97,11 +91,9 @@ static func shared_profiles() -> Array[NpcProfile]:
|
||||
Rules.Reaction.COMPLY: 10,
|
||||
},
|
||||
}
|
||||
influencer.dialogue_lines = {
|
||||
Rules.Tone.SUSPICIOUS: [
|
||||
"This is public sidewalk, you can't stop me from filming.",
|
||||
],
|
||||
}
|
||||
influencer.dialogue_lines = [
|
||||
"This is public sidewalk, you can't stop me from filming.",
|
||||
]
|
||||
profiles.append(influencer)
|
||||
|
||||
# --- Higher-risk crowd ------------------------------------------------------
|
||||
@@ -162,12 +154,10 @@ static func shared_profiles() -> Array[NpcProfile]:
|
||||
Rules.Reaction.LEAVE: 30,
|
||||
},
|
||||
}
|
||||
trespasser.dialogue_lines = {
|
||||
Rules.Tone.SUSPICIOUS: [
|
||||
"I'm just here to see a friend, come on.",
|
||||
"I'll be inside for ten seconds.",
|
||||
],
|
||||
}
|
||||
trespasser.dialogue_lines = [
|
||||
"I'm just here to see a friend, come on.",
|
||||
"I'll be inside for ten seconds.",
|
||||
]
|
||||
profiles.append(trespasser)
|
||||
|
||||
var mental_crisis := NpcProfile.new()
|
||||
@@ -278,12 +268,10 @@ static func shared_profiles() -> Array[NpcProfile]:
|
||||
Rules.Reaction.FORCE_ENTRY: 20,
|
||||
},
|
||||
}
|
||||
protester.dialogue_lines = {
|
||||
Rules.Tone.SUSPICIOUS: [
|
||||
"I have every right to be on public sidewalk.",
|
||||
"You can't touch me, this is a lawful protest.",
|
||||
],
|
||||
}
|
||||
protester.dialogue_lines = [
|
||||
"I have every right to be on public sidewalk.",
|
||||
"You can't touch me, this is a lawful protest.",
|
||||
]
|
||||
profiles.append(protester)
|
||||
|
||||
# --- Authorized crowd ---------------------------------------------------------
|
||||
|
||||
Reference in new issue
Block a user