thinstuff

This commit is contained in:
Kim Ravn Hansen
2025-09-10 22:37:54 +02:00
parent ba293d08b3
commit 8c196bb6a1
13 changed files with 350 additions and 213 deletions

View File

@@ -73,6 +73,11 @@ export class CharacterSeeder {
// Rolling skills
c.name =
this.game.rng.oneOf("sir", "madam", "mister", "miss", "", "", "") +
" random " +
this.game.rng.get().toString();
c.awareness = roll.d6() + 2;
c.grit = roll.d6() + 2;
c.knowledge = roll.d6() + 2;
@@ -126,6 +131,10 @@ export class CharacterSeeder {
}
this.applyFoundation(c);
console.log(c);
return c;
}
/**
@@ -141,7 +150,9 @@ export class CharacterSeeder {
createParty(player, partySize) {
//
for (let i = 0; i < partySize; i++) {
const character = this.createCharacter(player);
player.addCharacter(
this.createCharacter(player), //
);
}
}
@@ -149,9 +160,9 @@ export class CharacterSeeder {
* @param {Character} c
* @param {string|number} Foundation to add to character
*/
applyFoundation(c, foundation = "random") {
applyFoundation(c, foundation = ":random") {
switch (foundation) {
case "random":
case ":random":
return this.applyFoundation(c, roll.dice(3));
break;
@@ -193,12 +204,12 @@ export class CharacterSeeder {
c, //
":armor.light.leather",
":weapon.light.sickle",
":kits.poisoners_kit",
":kits.healers_kit",
":kit.poisoners_kit",
":kit.healers_kit",
);
this.addSkillsToCharacter(
c, //
":armor.light.leather",
":armor.light.sleather",
":armor.light.hide",
":weapon.light.sickle",
);
@@ -231,6 +242,7 @@ export class CharacterSeeder {
":weapon.light.rapier",
":weapon.light.dagger",
);
break;
/*

View File

@@ -12,9 +12,9 @@ import { PlayerSeeder } from "./playerSeeder.js";
*/
export class GameSeeder {
/** @returns {Game} */
createGame() {
createGame(rngSeed) {
/** @protected @constant @readonly @type {Game} */
this.game = new Game();
this.game = new Game(rngSeed);
this.work(); // Seeding may take a bit, so let's defer it so we can return early.

View File

@@ -31,7 +31,6 @@ export class ItemSeeder {
itemSlots: 0.5,
damage: 3,
melee: true,
skills: [":weapon.light"],
ranged: true,
specialEffect: ":effect.weapon.fast",
});
@@ -41,7 +40,6 @@ export class ItemSeeder {
description: "For cutting nuts, and branches",
itemSlots: 1,
damage: 4,
skills: [":weapon.light"],
specialEffect: ":effect.weapon.sickle",
});
@@ -50,11 +48,14 @@ export class ItemSeeder {
description: "Spikes with gauntlets on them!",
itemSlots: 1,
damage: 5,
skills: [
// Spiked gauntlets are :Weird so you must be specially trained to use them.
// This is done by having a skill that exactly matches the weapon's blueprintId
":weapon.weird.spiked_gauntlets",
],
specialEffect: "TBD",
});
this.game.addItemBlueprint(":weapon.light.rapier", {
name: "Rapier",
description: "Fancy musketeer sword",
itemSlots: 1,
damage: 5,
specialEffect: "TBD",
});
@@ -70,7 +71,6 @@ export class ItemSeeder {
description: "Padded and hardened leather with metal stud reinforcement",
itemSlots: 3,
specialEffect: "TBD",
skills: [":armor.light"],
armorHitPoints: 10,
});
this.game.addItemBlueprint(":armor.light.leather", {
@@ -78,7 +78,6 @@ export class ItemSeeder {
description: "Padded and hardened leather",
itemSlots: 2,
specialEffect: "TBD",
skills: [":armor.light"],
armorHitPoints: 6,
});