Populate campaign players array in combat replay and scenario
Both combat.js replay and Combat.scenario.test.js built character participants inline via buildCharacterParticipant without persisting to campaign doc. Real app stores chars in campaign doc players array; encounter participants built from that. Replay/scenario diverged from real flow — campaign had zero chars. Fix: - replay.js: roster chars now have id, persisted to campaign doc players array at setup_campaign step - Combat.scenario.test.js: addCharacterViaUI writes char to campaign doc players array (mirrors app), CAMPAIGN_PATH const added
This commit is contained in:
@@ -41,9 +41,9 @@ const pick = (arr) => arr[Math.floor(Math.random() * arr.length)];
|
||||
|
||||
function buildRoster() {
|
||||
return [
|
||||
{ name: 'Fighter', defaultMaxHp: 200, defaultInitMod: 2 },
|
||||
{ name: 'Cleric', defaultMaxHp: 180, defaultInitMod: 1 },
|
||||
{ name: 'Rogue', defaultMaxHp: 160, defaultInitMod: 3 },
|
||||
{ id: 'char-fighter', name: 'Fighter', defaultMaxHp: 200, defaultInitMod: 2 },
|
||||
{ id: 'char-cleric', name: 'Cleric', defaultMaxHp: 180, defaultInitMod: 1 },
|
||||
{ id: 'char-rogue', name: 'Rogue', defaultMaxHp: 160, defaultInitMod: 3 },
|
||||
];
|
||||
}
|
||||
function buildMonsters() {
|
||||
@@ -239,6 +239,7 @@ module.exports = async function replay(args) {
|
||||
await callStep('setup_campaign', { campaignId }, async () =>
|
||||
storage.setDoc(getPath.campaign(campaignId), {
|
||||
id: campaignId, name: `Replay Campaign ${runStamp}`, createdAt: Date.now(),
|
||||
players: buildRoster(),
|
||||
})
|
||||
);
|
||||
await callStep('setup_encounter', { encounterId }, async () =>
|
||||
|
||||
Reference in New Issue
Block a user