Replace the starter with BLACK PLATFORM, and make the dialogs ask questions
The starter is now an action case: a train running through a station whose rails were lifted in 1976, two engineers aboard, eleven minutes until it returns. Descend, take the platform, board, rescue, fight forward along a moving train, stop it. Simpler than PAPER WINDOW on purpose — one clue scene, no social subsystem — which also means it cannot reproduce R-248, because there are no groups or standings to leave unwired. Every agent can fight, deliberately: floors of firearm 42%, melee 40%, Brawl 40%, Dodge 40% so nobody is a spectator on their first evening. Floors only RAISE, so a posting already better stays better — Callum's shield lands at 53, not the floor's 45. The builder now handles combat floors, extra weapons issued for a case, and a scenario with NO Borrowed Authority at all; the last was assumed to exist and would have thrown. Two new tests: every floor names a real skill, and every agent clears the fighting floors the handout promises. Sixty-two dialog strings reworded. They were naming mechanics at people: "Situational modifier %" is now "Anything else helping or hurting? (%)", "Target cover" is "Is the target behind anything?", "Difficult (÷2)" is "Difficult — half your skill". Labels ask the question; hints say what it does to the number; notifications say what to do next rather than what went wrong. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
4e28de2a64
commit
d9bce12c27
@@ -68,7 +68,7 @@ changing underneath a running server.
|
||||
| **Bestiary** | 21 statblocks across folklore, horror and the far side |
|
||||
| **Eras** | modern, antique, future, anomalous — the agency is old and never abolishes anything |
|
||||
| **Icons** | 292, all generated from `tools/icons.mjs`; no external art |
|
||||
| **Starter scenario** | **PAPER WINDOW**, a six-player introductory case, importable as a single Adventure |
|
||||
| **Starter scenario** | **BLACK PLATFORM**, a six-player action starter, importable as a single Adventure |
|
||||
| **Compendia** | pregens, NPCs, skills, weapons, armour, gear, vehicles, powers, tables, rules, the starter |
|
||||
| **Rules journal** | 12 pages, generated from `rules.mjs` so the book cannot drift from the code |
|
||||
<!-- box:end -->
|
||||
@@ -182,7 +182,7 @@ The build runs all three guards before it writes anything:
|
||||
```
|
||||
check-rules: OK — 87 rules, 16 files scanned, 3 aliases + 41 constant sets checked, 275 formulas verified
|
||||
check-kits: OK — 25 roles, 10 trades, 218 catalogue items, every kit key resolves, every posting can use what it carries, every loadout distinct
|
||||
check-lang: OK — en.json, 926 keys, no leaf/branch collisions
|
||||
check-behaviour: OK — 36 behavioural tests
|
||||
check-lang: OK — en.json, 927 keys, no leaf/branch collisions
|
||||
check-behaviour: OK — 38 behavioural tests
|
||||
```
|
||||
<!-- guards:end -->
|
||||
|
||||
@@ -5011,3 +5011,62 @@ are all going to fail teaches nothing. The extraction page now says so: narrate
|
||||
only if somebody wants a clean arrival, and note at debrief that the department sent six
|
||||
people to a crossing and no anchor. That is the campaign rather than an oversight — but
|
||||
it is a deliberate choice a GM should be able to see, not a hole they fall into.
|
||||
|
||||
## BLACK PLATFORM replaces PAPER WINDOW as the starter
|
||||
|
||||
The starter is now an action case: a train running through a station whose rails were
|
||||
taken out in 1976, two engineers aboard, and eleven minutes until it comes back. Go
|
||||
down, take the platform, board, rescue, fight forward along a moving train, stop it.
|
||||
|
||||
It is a better first case than PAPER WINDOW for the same reason it is simpler. PAPER
|
||||
WINDOW's centrepiece was a three-stage negotiation and a six-signature settlement —
|
||||
excellent, and a lot to hold in your head in hour one. BLACK PLATFORM is a straight
|
||||
line with one clue scene and no social subsystem, which also means it cannot reproduce
|
||||
R-248: **no groups, no standings, nothing to leave unwired.**
|
||||
|
||||
**Every agent can fight, deliberately.** The scenario sets floors — a firearm at 42% or
|
||||
better, a melee weapon at 40%, Brawl 40%, Dodge 40% — so that nobody is a spectator when
|
||||
initiative is rolled on their first evening. The floors only ever RAISE a rating, so a
|
||||
posting already better at something stays better: Callum's shield comes out at 53 rather
|
||||
than the floor's 45, and Owen is still far better at engineering than at fighting.
|
||||
Verified on import, all six.
|
||||
|
||||
The build now handles three things it could not before: **combat floors**, **extra
|
||||
weapons** issued for a case, and a scenario with **no Borrowed Authority at all** — the
|
||||
station is already shut to the public, so there is nobody to be somebody else in front
|
||||
of. That last one had been assumed to exist and would have thrown.
|
||||
|
||||
Two new tests: every floor must name a real skill (a floor on a skill the catalogue does
|
||||
not have would put a number on the sheet that no rule could ever reach), and every
|
||||
starter agent must actually clear the fighting floors the handout promises them.
|
||||
|
||||
## The dialogs now ask questions
|
||||
|
||||
Sixty-two strings reworded. The dialogs were naming mechanics at people:
|
||||
|
||||
| Before | After |
|
||||
|---|---|
|
||||
| Situational modifier % | Anything else helping or hurting? (%) |
|
||||
| Target cover | Is the target behind anything? |
|
||||
| Difficulty | How hard is it? |
|
||||
| Fire | How are you firing? |
|
||||
| Range | How far away? |
|
||||
| Light | How much can you see? |
|
||||
| Applies itself | Working for you already |
|
||||
| Difficult (÷2) | Difficult — half your skill |
|
||||
| Beyond twice the long band. The shot is impossible. | Too far away to hit. Get closer or use something with more reach. |
|
||||
| That is Impossible. No roll is permitted. | That cannot be done at any skill. Try something else. |
|
||||
|
||||
The principle: **a label should ask the question, and a hint should say what it does to
|
||||
the number.** The difficulty ladder now says what it does — "Easy — double your skill",
|
||||
"Difficult — half your skill" — rather than printing an operator. Notifications say what
|
||||
to do next instead of what went wrong.
|
||||
|
||||
The generator dialog got the same treatment: "Recruited as" is now "Where do they come
|
||||
from?", "Tier" is "How senior are they?", and the hand-roll option explains what it
|
||||
actually costs you — "You keep exactly what you roll — no adjusting the best one, no
|
||||
species bonus."
|
||||
|
||||
Checked afterwards that every localisation key still referenced by the engine or a
|
||||
template exists; the six apparent misses are Handlebars concatenation prefixes rather
|
||||
than lookups.
|
||||
|
||||
+63
-62
@@ -15,11 +15,11 @@
|
||||
"TYPES.Item.authority": "Authority",
|
||||
"RINGBRP.Tab.Access": "Access",
|
||||
"RINGBRP.New.authority": "New authority",
|
||||
"RINGBRP.Scope.nothing": "nothing",
|
||||
"RINGBRP.Scope.read": "read their own records",
|
||||
"RINGBRP.Scope.routine": "the things they do daily",
|
||||
"RINGBRP.Scope.nothing": "nothing at all",
|
||||
"RINGBRP.Scope.read": "look at their own records",
|
||||
"RINGBRP.Scope.routine": "the things they do every day",
|
||||
"RINGBRP.Scope.privileged": "things they could do, but rarely",
|
||||
"RINGBRP.Scope.administrative": "grant permissions to others",
|
||||
"RINGBRP.Scope.administrative": "give other people permissions",
|
||||
"RINGBRP.Authority.Holder": "Belongs to",
|
||||
"RINGBRP.Authority.Role": "Their job",
|
||||
"RINGBRP.Authority.Scope": "Scope",
|
||||
@@ -32,12 +32,12 @@
|
||||
"RINGBRP.Authority.SuspectTag": "flagged",
|
||||
"RINGBRP.Authority.MergingTag": "records converging",
|
||||
"RINGBRP.Authority.Using": "Using {name}",
|
||||
"RINGBRP.Authority.Asking": "What are you asking it to do?",
|
||||
"RINGBRP.Authority.Tripping": "Which of their habits are you breaking?",
|
||||
"RINGBRP.Authority.NoFlags": "Nothing is known about how they behave. Nobody is watching for it yet.",
|
||||
"RINGBRP.Authority.NoRoll": "no roll, 1 Trust",
|
||||
"RINGBRP.Authority.ARoll": "a stretch — roll for it",
|
||||
"RINGBRP.Authority.Cannot": "they could never",
|
||||
"RINGBRP.Authority.Asking": "What are you asking them to do?",
|
||||
"RINGBRP.Authority.Tripping": "How many of their habits are you breaking?",
|
||||
"RINGBRP.Authority.NoFlags": "Nobody knows how this person behaves yet, so nobody is watching for anything odd.",
|
||||
"RINGBRP.Authority.NoRoll": "no roll needed — costs 1 Trust",
|
||||
"RINGBRP.Authority.ARoll": "beyond what they normally do — roll for it",
|
||||
"RINGBRP.Authority.Cannot": "they could never do this",
|
||||
"RINGBRP.Authority.Dossier": "Dossier",
|
||||
"RINGBRP.Authority.AI": "Watched by",
|
||||
"RINGBRP.Authority.Use": "Use",
|
||||
@@ -158,11 +158,11 @@
|
||||
"RINGBRP.Style.Hint.Second": "a second shot in the round",
|
||||
"RINGBRP.Style.Hint.Move": "{n}% if you move and fire",
|
||||
"RINGBRP.Style.Hint.Pierce": "ignores {n} points of armour",
|
||||
"RINGBRP.Difficulty.Automatic": "Automatic",
|
||||
"RINGBRP.Difficulty.Easy": "Easy (×2)",
|
||||
"RINGBRP.Difficulty.Average": "Average",
|
||||
"RINGBRP.Difficulty.Difficult": "Difficult (÷2)",
|
||||
"RINGBRP.Difficulty.Impossible": "Impossible",
|
||||
"RINGBRP.Difficulty.Automatic": "Automatic — no roll needed",
|
||||
"RINGBRP.Difficulty.Easy": "Easy — double your skill",
|
||||
"RINGBRP.Difficulty.Average": "Average — skill as printed",
|
||||
"RINGBRP.Difficulty.Difficult": "Difficult — half your skill",
|
||||
"RINGBRP.Difficulty.Impossible": "Impossible — cannot be rolled",
|
||||
"RINGBRP.Cover.None": "No cover",
|
||||
"RINGBRP.Cover.Light": "Light cover",
|
||||
"RINGBRP.Cover.Partial": "Solid partial cover",
|
||||
@@ -304,18 +304,18 @@
|
||||
"RINGBRP.New.discovery": "New Discovery",
|
||||
"RINGBRP.New.project": "New Project",
|
||||
"RINGBRP.Dialog.Roll": "Roll",
|
||||
"RINGBRP.Dialog.RollButton": "Roll",
|
||||
"RINGBRP.Dialog.RollButton": "Roll it",
|
||||
"RINGBRP.Dialog.Cancel": "Cancel",
|
||||
"RINGBRP.Dialog.Difficulty": "Difficulty",
|
||||
"RINGBRP.Dialog.Situational": "Situational modifier %",
|
||||
"RINGBRP.Dialog.OrderNote": "Difficulty multiplies the rating first, then the situational modifier is added.",
|
||||
"RINGBRP.Dialog.Distance": "Distance to target (m)",
|
||||
"RINGBRP.Dialog.Difficulty": "How hard is it?",
|
||||
"RINGBRP.Dialog.Situational": "Anything else helping or hurting? (%)",
|
||||
"RINGBRP.Dialog.OrderNote": "Difficulty changes your skill first, then everything else is added or taken off.",
|
||||
"RINGBRP.Dialog.Distance": "How far away is it? (metres)",
|
||||
"RINGBRP.Dialog.Bands": "Bands",
|
||||
"RINGBRP.Dialog.Cover": "Target cover",
|
||||
"RINGBRP.Dialog.Cover": "Is the target behind anything?",
|
||||
"RINGBRP.Dialog.Moved": "I moved this round",
|
||||
"RINGBRP.Dialog.Aiming": "I spent last round aiming",
|
||||
"RINGBRP.Dialog.Band": "Which range band?",
|
||||
"RINGBRP.Dialog.BandHint": "This weapon does different damage at each band.",
|
||||
"RINGBRP.Dialog.Band": "Which range?",
|
||||
"RINGBRP.Dialog.BandHint": "This weapon hits harder or softer depending on range.",
|
||||
"RINGBRP.Attack.Moved": "Moved and fired",
|
||||
"RINGBRP.Attack.Aimed": "Aimed",
|
||||
"RINGBRP.Attack.IgnoresArmour": "Ignores {n} points of armour",
|
||||
@@ -379,13 +379,13 @@
|
||||
"RINGBRP.Expedition.WayHome": "The way home: {mod}% on every Transposition roll.{extra}",
|
||||
"RINGBRP.Expedition.WayHomeDifficult": " The return is Difficult as well.",
|
||||
"RINGBRP.Cross.WindowClock": "The window closed on you {n} time(s): {mod}%",
|
||||
"RINGBRP.Notify.Impossible": "That is Impossible. No roll is permitted.",
|
||||
"RINGBRP.Notify.NoSkill": "No skill on this sheet matches {name}.",
|
||||
"RINGBRP.Notify.OutOfRange": "Beyond twice the long band. The shot is impossible.",
|
||||
"RINGBRP.Notify.Empty": "Empty. Reload first.",
|
||||
"RINGBRP.Notify.Impossible": "That cannot be done at any skill. Try something else.",
|
||||
"RINGBRP.Notify.NoSkill": "Nothing on this sheet knows how to use {name}.",
|
||||
"RINGBRP.Notify.OutOfRange": "Too far away to hit. Get closer or use something with more reach.",
|
||||
"RINGBRP.Notify.Empty": "Empty. Reload before firing.",
|
||||
"RINGBRP.Notify.NoLeg": "No unresolved phase remains.",
|
||||
"RINGBRP.Notify.BadDamage": "Damage was not a number — the hit was not applied. See the console.",
|
||||
"RINGBRP.Notify.BlowStopped": "That blow was turned aside. There is no damage to roll.",
|
||||
"RINGBRP.Notify.BlowStopped": "That blow was stopped. There is no damage to roll.",
|
||||
"RINGBRP.Notify.MissingKit": "{role}: the catalogue has no item for {keys}. The agent was created without it.",
|
||||
"RINGBRP.Notify.NoNavigator": "No agent has Tradecraft or Navigate.",
|
||||
"RINGBRP.Sheet.RollCharHint": "Roll d100 against this characteristic ×5",
|
||||
@@ -619,21 +619,21 @@
|
||||
"RINGBRP.Gen.NewNPC": "New NPC / Threat",
|
||||
"RINGBRP.Gen.Name": "Name",
|
||||
"RINGBRP.Gen.NameHint": "leave blank to generate one",
|
||||
"RINGBRP.Gen.Species": "Species",
|
||||
"RINGBRP.Gen.Role": "Role",
|
||||
"RINGBRP.Gen.Species": "Which species?",
|
||||
"RINGBRP.Gen.Role": "Which posting?",
|
||||
"RINGBRP.Gen.RoleRandomBlurb": "A posting will be drawn at random. Pick one to see what it does.",
|
||||
"RINGBRP.Gen.KeyStat": "Key characteristic",
|
||||
"RINGBRP.Gen.Trains": "Trains",
|
||||
"RINGBRP.Gen.KeyStat": "Best characteristic",
|
||||
"RINGBRP.Gen.Trains": "Good at",
|
||||
"RINGBRP.Gen.Draws": "Draws from stores",
|
||||
"RINGBRP.Gen.Tier": "Experience",
|
||||
"RINGBRP.Gen.Tier": "How senior are they?",
|
||||
"RINGBRP.Gen.Gravity": "Home gravity",
|
||||
"RINGBRP.Gen.Threat": "Threat level",
|
||||
"RINGBRP.Gen.Count": "How many",
|
||||
"RINGBRP.Gen.Count": "How many?",
|
||||
"RINGBRP.Gen.Random": "Random",
|
||||
"RINGBRP.Gen.Create": "Create",
|
||||
"RINGBRP.Gen.Made": "{n} created.",
|
||||
"RINGBRP.Gen.Hint": "Everything is already chosen at random. Change what you care about and press Create.",
|
||||
"RINGBRP.Gen.RandomEach": "Random (rolled separately for each)",
|
||||
"RINGBRP.Gen.RandomEach": "Random — rolled separately for each",
|
||||
"RINGBRP.Install.Done": "Installed {n} items into the Items directory.",
|
||||
"RINGBRP.Install.Button": "Install all content",
|
||||
"RINGBRP.Sheet.FullList": "Add full skill list",
|
||||
@@ -756,7 +756,7 @@
|
||||
"RINGBRP.Sheet.OutOfFight": "Out of the fight",
|
||||
"RINGBRP.Sheet.Overloaded": "Overloaded",
|
||||
"RINGBRP.Sheet.Physical": "physical skills",
|
||||
"RINGBRP.Dialog.Range": "Range to target",
|
||||
"RINGBRP.Dialog.Range": "How far away?",
|
||||
"RINGBRP.Range.Impossible": "out of range",
|
||||
"RINGBRP.Defence.dodge": "Dodge",
|
||||
"RINGBRP.Defence.parry": "Parry",
|
||||
@@ -764,10 +764,10 @@
|
||||
"RINGBRP.Flavour.Defending": "Defence {n} this round: {mod}%",
|
||||
"RINGBRP.Notify.DefenceLocked": "Already defending with {kind} this round.",
|
||||
"RINGBRP.Sheet.Defend": "Defend",
|
||||
"RINGBRP.Sheet.DefendHint": "Roll a defence. The first this round is free; each one after is 30% harder.",
|
||||
"RINGBRP.Sheet.DefendHint": "Answer the blow that was just aimed at you.",
|
||||
"RINGBRP.Sheet.ThisRound": "this round",
|
||||
"RINGBRP.Sheet.NextAt": "next at",
|
||||
"RINGBRP.Sheet.FirstIsFree": "first is free",
|
||||
"RINGBRP.Sheet.FirstIsFree": "first defence is free",
|
||||
"RINGBRP.Notify.NoParryWeapon": "Nothing in hand to parry with.",
|
||||
"RINGBRP.Sheet.Mass": "Weight",
|
||||
"RINGBRP.Folder.era.antique": "Antique",
|
||||
@@ -866,12 +866,12 @@
|
||||
"RINGBRP.Lighting.dim": "Dim",
|
||||
"RINGBRP.Lighting.dark": "Dark",
|
||||
"RINGBRP.Lighting.pitch": "Pitch dark",
|
||||
"RINGBRP.Dialog.Fire": "Fire",
|
||||
"RINGBRP.Dialog.Lighting": "Light",
|
||||
"RINGBRP.Dialog.Fitted": "Applies itself",
|
||||
"RINGBRP.Notify.NoBurst": "{name} cannot fire a burst.",
|
||||
"RINGBRP.Notify.NotEnoughCharge": "Not enough charge to hold the beam that long.",
|
||||
"RINGBRP.Notify.SecondUsed": "That second shot has already been taken this round.",
|
||||
"RINGBRP.Dialog.Fire": "How are you firing?",
|
||||
"RINGBRP.Dialog.Lighting": "How much can you see?",
|
||||
"RINGBRP.Dialog.Fitted": "Working for you already",
|
||||
"RINGBRP.Notify.NoBurst": "{name} cannot fire bursts — it only fires one shot at a time.",
|
||||
"RINGBRP.Notify.NotEnoughCharge": "Not enough charge left to hold the beam that long.",
|
||||
"RINGBRP.Notify.SecondUsed": "You have already taken your second shot this round.",
|
||||
"RINGBRP.Chat.Damage": "damage",
|
||||
"RINGBRP.Chat.Sustained": "sustained",
|
||||
"RINGBRP.Chat.DamageMod": "damage mod",
|
||||
@@ -879,50 +879,51 @@
|
||||
"RINGBRP.Sight.LampOwn": "yours, {reach} m of it",
|
||||
"RINGBRP.Sight.LampNear": "{holder}'s, {m} m away — you are in it",
|
||||
"RINGBRP.Sight.SomeLamp": "The light you are standing in",
|
||||
"RINGBRP.Dialog.InLight": "I am in the light",
|
||||
"RINGBRP.Dialog.InLightHint": "Ticked already if a lit lamp is within reach of your token. Tick it yourself when there are no tokens to measure.",
|
||||
"RINGBRP.Dialog.InLight": "I am standing in the light",
|
||||
"RINGBRP.Dialog.InLightHint": "Already ticked if a lit lamp is close enough to your token. Tick it yourself if you are not using tokens.",
|
||||
"RINGBRP.Sheet.Ready": "Ready",
|
||||
"RINGBRP.Sheet.ReadyToggle": "Ready this weapon — puts it in the strip at the top of the sheet",
|
||||
"RINGBRP.Sheet.ReadyHint": "Click the fist to ready a weapon. Readied weapons appear in the strip under the characteristics, where they can be rolled without opening this tab.",
|
||||
"RINGBRP.Sheet.ReadyToggle": "Ready this weapon — it appears in the strip at the top of the sheet",
|
||||
"RINGBRP.Sheet.ReadyHint": "Click the fist to ready a weapon. Readied weapons show in the strip under the characteristics, where you can roll them without opening this tab.",
|
||||
"RINGBRP.Sheet.BodyHead": "The body, and where it gets hit",
|
||||
"RINGBRP.Sheet.MiniBodyHint": "Every location: damage taken, and the armour covering it.",
|
||||
"RINGBRP.Sheet.MiniBodyHint": "Every part of the body: damage taken, and the armour covering it.",
|
||||
"RINGBRP.Coverage.all": "all of you",
|
||||
"RINGBRP.Coverage.torso": "torso",
|
||||
"RINGBRP.Coverage.torsoArms": "torso and arms",
|
||||
"RINGBRP.Coverage.torsoLimbs": "torso, arms and legs",
|
||||
"RINGBRP.Coverage.head": "head",
|
||||
"RINGBRP.Sheet.Unarmoured": "bare",
|
||||
"RINGBRP.Sheet.ByLocation": "by location",
|
||||
"RINGBRP.Sheet.ByLocation": "depending where you are hit",
|
||||
"RINGBRP.Item.Coverage": "Covers",
|
||||
"RINGBRP.Shield.Raised": "raised — {n} points where it covers",
|
||||
"RINGBRP.Shield.InTheWay": "raised — you are shooting around it ({mod}%)",
|
||||
"RINGBRP.Shield.Wear": "{name} takes the blow — {n}/{max}",
|
||||
"RINGBRP.Shield.Broken": "{name} comes apart. {n}/{max} — it is firewood.",
|
||||
"RINGBRP.Sheet.RaiseHint": "Raise or lower this shield. Raised it protects what it covers and you can defend with it; lowered it is weight.",
|
||||
"RINGBRP.Sheet.RaiseHint": "Raise or lower this shield. Raised, it protects what it covers and you can defend with it; lowered, it is just weight.",
|
||||
"RINGBRP.Sheet.ShieldUp": "raised",
|
||||
"RINGBRP.Sheet.ShieldDown": "slung",
|
||||
"RINGBRP.Sheet.ShieldBroken": "broken",
|
||||
"RINGBRP.Sheet.ShieldHint": "Take the blow on the shield. It wears against anything better than an ordinary hit.",
|
||||
"RINGBRP.Notify.ShieldBroken": "{name} is broken. It cannot be raised.",
|
||||
"RINGBRP.Sheet.ShieldHint": "Take it on the shield. The shield wears down against anything better than an ordinary hit.",
|
||||
"RINGBRP.Notify.ShieldBroken": "{name} is broken. It cannot be raised again.",
|
||||
"RINGBRP.Item.IsShield": "Is a shield",
|
||||
"RINGBRP.Item.Raised": "Raised",
|
||||
"RINGBRP.Item.Wear": "Wear",
|
||||
"RINGBRP.Item.WearMax": "Breaks at",
|
||||
"RINGBRP.Gen.Source": "Recruited as",
|
||||
"RINGBRP.Gen.Source": "Where do they come from?",
|
||||
"RINGBRP.Gen.SourcePosting": "A posting — career department",
|
||||
"RINGBRP.Gen.SourceTrade": "A trade — recruited from an ordinary job",
|
||||
"RINGBRP.Gen.Trade": "Trade",
|
||||
"RINGBRP.Gen.PlusInduction": "Plus induction",
|
||||
"RINGBRP.Gen.PlusIssue": "Plus issue",
|
||||
"RINGBRP.Gen.HandRoll": "Roll the characteristics myself",
|
||||
"RINGBRP.Gen.HandRollHint": "Eight rolls, one at a time, to chat. Taken exactly as they fall — no nudging the key stat, no species shift.",
|
||||
"RINGBRP.Gen.Trade": "Which job did they do before?",
|
||||
"RINGBRP.Gen.PlusInduction": "Plus six weeks of training",
|
||||
"RINGBRP.Gen.PlusIssue": "Plus issued kit",
|
||||
"RINGBRP.Gen.HandRoll": "I want to roll the characteristics myself",
|
||||
"RINGBRP.Gen.HandRollHint": "Eight rolls, one at a time, shown in chat. You keep exactly what you roll — no adjusting the best one, no species bonus.",
|
||||
"RINGBRP.Gen.RollTitle": "Roll them yourself",
|
||||
"RINGBRP.Gen.RollFor": "Roll them yourself — {name}",
|
||||
"RINGBRP.Gen.RollHint": "One at a time. Once a characteristic is rolled it stands.",
|
||||
"RINGBRP.Gen.RollHint": "One at a time. Once a characteristic is rolled, it stands.",
|
||||
"RINGBRP.Gen.RollIt": "Roll",
|
||||
"RINGBRP.Gen.RollRest": "Roll the rest",
|
||||
"RINGBRP.Gen.RolledCount": "{n} of {of} rolled",
|
||||
"RINGBRP.Gen.RolledChar": "{ch}",
|
||||
"RINGBRP.Gen.TakeThem": "Take them",
|
||||
"RINGBRP.Gen.Nth": "agent {n}"
|
||||
"RINGBRP.Gen.TakeThem": "Keep these",
|
||||
"RINGBRP.Gen.Nth": "agent {n}",
|
||||
"RINGBRP.Dialog.Circumstance": "How are the circumstances?"
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
+5
-1
@@ -1 +1,5 @@
|
||||
2026/08/11-23:39:03.882913 16f9c7000 Delete type=3 #1
|
||||
2026/08/12-00:06:16.855265 1754e3000 Recovering log #3
|
||||
2026/08/12-00:06:16.855669 1754e3000 Level-0 table #5: started
|
||||
2026/08/12-00:06:16.855836 1754e3000 Level-0 table #5: 4591 bytes OK
|
||||
2026/08/12-00:06:16.856081 1754e3000 Delete type=0 #3
|
||||
2026/08/12-00:06:16.856115 1754e3000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-00:05:23.690846 171b57000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
2026/08/11-23:39:03.926223 1701d3000 Delete type=3 #1
|
||||
2026/08/12-00:06:16.873912 1754e3000 Recovering log #3
|
||||
2026/08/12-00:06:16.874024 1754e3000 Level-0 table #5: started
|
||||
2026/08/12-00:06:16.874152 1754e3000 Level-0 table #5: 4129 bytes OK
|
||||
2026/08/12-00:06:16.874423 1754e3000 Delete type=0 #3
|
||||
2026/08/12-00:06:16.874466 1754e3000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-00:05:23.732633 17134b000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
-1
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
+5
-1
@@ -1 +1,5 @@
|
||||
2026/08/11-23:39:03.885484 16e9af000 Delete type=3 #1
|
||||
2026/08/12-00:06:16.857059 174cd7000 Recovering log #3
|
||||
2026/08/12-00:06:16.857573 174cd7000 Level-0 table #5: started
|
||||
2026/08/12-00:06:16.857903 174cd7000 Level-0 table #5: 31614 bytes OK
|
||||
2026/08/12-00:06:16.858145 174cd7000 Delete type=0 #3
|
||||
2026/08/12-00:06:16.858196 174cd7000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-00:05:23.692998 170b3f000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
-1
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
+5
-1
@@ -1 +1,5 @@
|
||||
2026/08/11-23:39:03.901710 16f9c7000 Delete type=3 #1
|
||||
2026/08/12-00:06:16.840426 174cd7000 Recovering log #3
|
||||
2026/08/12-00:06:16.842114 174cd7000 Level-0 table #5: started
|
||||
2026/08/12-00:06:16.843749 174cd7000 Level-0 table #5: 225945 bytes OK
|
||||
2026/08/12-00:06:16.844107 174cd7000 Delete type=0 #3
|
||||
2026/08/12-00:06:16.844201 174cd7000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-00:05:23.708940 170b3f000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
+5
-1
@@ -1 +1,5 @@
|
||||
2026/08/11-23:39:03.919152 1701d3000 Delete type=3 #1
|
||||
2026/08/12-00:06:16.850448 1754e3000 Recovering log #3
|
||||
2026/08/12-00:06:16.850937 1754e3000 Level-0 table #5: started
|
||||
2026/08/12-00:06:16.851096 1754e3000 Level-0 table #5: 3295 bytes OK
|
||||
2026/08/12-00:06:16.851406 1754e3000 Delete type=0 #3
|
||||
2026/08/12-00:06:16.851447 1754e3000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-00:05:23.725493 171b57000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
+5
-1
@@ -1 +1,5 @@
|
||||
2026/08/11-23:39:03.892036 16e9af000 Delete type=3 #1
|
||||
2026/08/12-00:06:16.836787 174cd7000 Recovering log #3
|
||||
2026/08/12-00:06:16.837779 174cd7000 Level-0 table #5: started
|
||||
2026/08/12-00:06:16.838453 174cd7000 Level-0 table #5: 58792 bytes OK
|
||||
2026/08/12-00:06:16.838760 174cd7000 Delete type=0 #3
|
||||
2026/08/12-00:06:16.838812 174cd7000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-00:05:23.699399 170b3f000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
-1
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
+5
-1
@@ -1 +1,5 @@
|
||||
2026/08/11-23:39:03.924025 1701d3000 Delete type=3 #1
|
||||
2026/08/12-00:06:16.861054 174cd7000 Recovering log #3
|
||||
2026/08/12-00:06:16.861635 174cd7000 Level-0 table #5: started
|
||||
2026/08/12-00:06:16.861956 174cd7000 Level-0 table #5: 33473 bytes OK
|
||||
2026/08/12-00:06:16.862206 174cd7000 Delete type=0 #3
|
||||
2026/08/12-00:06:16.862237 174cd7000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-00:05:23.729349 17134b000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
+5
-1
@@ -1 +1,5 @@
|
||||
2026/08/11-23:39:03.875989 16f9c7000 Delete type=3 #1
|
||||
2026/08/12-00:06:16.846928 1744cb000 Recovering log #3
|
||||
2026/08/12-00:06:16.847099 1744cb000 Level-0 table #5: started
|
||||
2026/08/12-00:06:16.847302 1744cb000 Level-0 table #5: 7590 bytes OK
|
||||
2026/08/12-00:06:16.847547 1744cb000 Delete type=0 #3
|
||||
2026/08/12-00:06:16.847579 1744cb000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-00:05:23.685076 170b3f000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
-1
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
+5
-1
@@ -1 +1,5 @@
|
||||
2026/08/11-23:39:03.917638 16f9c7000 Delete type=3 #1
|
||||
2026/08/12-00:06:16.870148 1744cb000 Recovering log #3
|
||||
2026/08/12-00:06:16.870587 1744cb000 Level-0 table #5: started
|
||||
2026/08/12-00:06:16.870864 1744cb000 Level-0 table #5: 16892 bytes OK
|
||||
2026/08/12-00:06:16.871211 1744cb000 Delete type=0 #3
|
||||
2026/08/12-00:06:16.871266 1744cb000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-00:05:23.723650 170b3f000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
+5
-1
@@ -1 +1,5 @@
|
||||
2026/08/11-23:39:03.913120 16f9c7000 Delete type=3 #1
|
||||
2026/08/12-00:06:16.864877 1744cb000 Recovering log #3
|
||||
2026/08/12-00:06:16.865947 1744cb000 Level-0 table #5: started
|
||||
2026/08/12-00:06:16.866787 1744cb000 Level-0 table #5: 82274 bytes OK
|
||||
2026/08/12-00:06:16.867102 1744cb000 Delete type=0 #3
|
||||
2026/08/12-00:06:16.867176 1744cb000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-00:05:23.720012 170333000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
+5
-1
@@ -1 +1,5 @@
|
||||
2026/08/11-23:39:03.906240 1701d3000 Delete type=3 #1
|
||||
2026/08/12-00:06:16.872191 173cbf000 Recovering log #3
|
||||
2026/08/12-00:06:16.872466 173cbf000 Level-0 table #5: started
|
||||
2026/08/12-00:06:16.872601 173cbf000 Level-0 table #5: 3739 bytes OK
|
||||
2026/08/12-00:06:16.872838 173cbf000 Delete type=0 #3
|
||||
2026/08/12-00:06:16.872870 173cbf000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-00:05:23.713770 17134b000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000002
|
||||
MANIFEST-000004
|
||||
|
||||
+5
-1
@@ -1 +1,5 @@
|
||||
2026/08/11-23:39:03.879030 16f1bb000 Delete type=3 #1
|
||||
2026/08/12-00:06:16.848619 173cbf000 Recovering log #3
|
||||
2026/08/12-00:06:16.848765 173cbf000 Level-0 table #5: started
|
||||
2026/08/12-00:06:16.848948 173cbf000 Level-0 table #5: 5770 bytes OK
|
||||
2026/08/12-00:06:16.849247 173cbf000 Delete type=0 #3
|
||||
2026/08/12-00:06:16.849307 173cbf000 Delete type=3 #2
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2026/08/12-00:05:23.687537 17134b000 Delete type=3 #1
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user