prologue: add BACKGROUNDS constant and background_id to INITIAL_STATE
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
// OTIVM constants — do not modify H3 IDs, they are permanent
|
// OTIVM constants — do not modify H3 IDs, they are permanent
|
||||||
// H3 resolution 5 is the canonical waypoint resolution
|
// H3 resolution 5 is the canonical waypoint resolution
|
||||||
// All five cities are within TESSERA interaction sphere (15–72N, 15W–75E)
|
// All five cities are within TESSERA interaction sphere (15°–72°N, 15°W–75°E)
|
||||||
|
|
||||||
export const WAYPOINTS = {
|
export const WAYPOINTS = {
|
||||||
ostia: {
|
ostia: {
|
||||||
@@ -43,7 +43,7 @@ export const WAYPOINTS = {
|
|||||||
id: 'alexandria',
|
id: 'alexandria',
|
||||||
name: 'Alexandria',
|
name: 'Alexandria',
|
||||||
latin: 'Alexandria',
|
latin: 'Alexandria',
|
||||||
h3_r5: '853f5ba7fffffff',
|
h3_r5: '853f5ba7fffffff', // matches repo
|
||||||
h3_r7: '873f5ba66ffffff',
|
h3_r7: '873f5ba66ffffff',
|
||||||
h3_r9: '893f5ba66b3ffff',
|
h3_r9: '893f5ba66b3ffff',
|
||||||
chapter: 5,
|
chapter: 5,
|
||||||
@@ -92,7 +92,7 @@ export const ROUTES = [
|
|||||||
goods: 'Adriatic grain, Amber',
|
goods: 'Adriatic grain, Amber',
|
||||||
profit: 40,
|
profit: 40,
|
||||||
cost: 24,
|
cost: 24,
|
||||||
duration_ms: 13000,
|
duration_ms: 12000,
|
||||||
chapter: 3,
|
chapter: 3,
|
||||||
unlock_den: 350,
|
unlock_den: 350,
|
||||||
unlock_aut: 15,
|
unlock_aut: 15,
|
||||||
@@ -155,7 +155,56 @@ export const JOURNAL = {
|
|||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Six playable backgrounds. Canonical identifiers match background_starting_values
|
||||||
|
// in the per-player SQLite schema. Summaries are display-only — do not use for
|
||||||
|
// game logic. Starting den is the liquiditas value_true from background_starting_values.
|
||||||
|
export const BACKGROUNDS = [
|
||||||
|
{
|
||||||
|
id: 'former_legionary',
|
||||||
|
name: 'Former Legionary',
|
||||||
|
latin: 'Miles Emeritus',
|
||||||
|
summary: 'Disciplined, road-wise, commercially raw. Modest savings. Known but not distinguished.',
|
||||||
|
starting_den: 200,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'freedman_trader',
|
||||||
|
name: 'Freedman Trader',
|
||||||
|
latin: 'Libertus Mercator',
|
||||||
|
summary: 'Active commercial network, strong negotiation. Best working capital. Limited legal standing.',
|
||||||
|
starting_den: 350,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'noble_younger_son',
|
||||||
|
name: 'Noble Younger Son',
|
||||||
|
latin: 'Filius Minor',
|
||||||
|
summary: 'High auctoritas, inherited clientela. Constrained funds. Poor market and route knowledge.',
|
||||||
|
starting_den: 150,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'failed_magistrate',
|
||||||
|
name: 'Failed Magistrate',
|
||||||
|
latin: 'Magistratus Lapsus',
|
||||||
|
summary: 'Legal contacts, formal standing intact. Depleted funds. True auctoritas lower than perceived.',
|
||||||
|
starting_den: 100,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'camp_logistician',
|
||||||
|
name: 'Camp Logistician',
|
||||||
|
latin: 'Optio Annonae',
|
||||||
|
summary: 'Expert in bulk goods and logistics pricing. Steady savings. Narrow social network.',
|
||||||
|
starting_den: 180,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'guild_scribe',
|
||||||
|
name: 'Guild Scribe',
|
||||||
|
latin: 'Scriba Collegii',
|
||||||
|
summary: 'Document and account knowledge. Careful with money. Low risk tolerance, low negotiation.',
|
||||||
|
starting_den: 120,
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
export const INITIAL_STATE = {
|
export const INITIAL_STATE = {
|
||||||
|
background_id: null, // null until player selects a background on the Prologue tab
|
||||||
den: 50,
|
den: 50,
|
||||||
aut: 0,
|
aut: 0,
|
||||||
dispatches: 0,
|
dispatches: 0,
|
||||||
@@ -174,6 +223,7 @@ export const INITIAL_STATE = {
|
|||||||
created_at: null,
|
created_at: null,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const OTIUM_DURATION_MS = 8000
|
export const MS_PER_SIM_DAY = 3_000
|
||||||
|
export const OTIUM_DURATION_MS = 9000
|
||||||
export const OTIUM_BASE_AUT = 1
|
export const OTIUM_BASE_AUT = 1
|
||||||
export const MAX_CONCURRENT_PLAYERS = 128
|
export const MAX_CONCURRENT_PLAYERS = 128
|
||||||
|
|||||||
Reference in New Issue
Block a user