Add more stats, crit/block/accuracy/dodge/lifesteal

This commit is contained in:
Peter Stockings
2026-01-05 12:39:43 +11:00
parent 171abb681a
commit 86a6afd1df
14 changed files with 815 additions and 406 deletions

View File

@@ -147,17 +147,16 @@ describe('DungeonRenderer', () => {
renderer.initializeFloor(mockWorld);
// Add an exp_orb to the world
mockWorld.actors.set(99, {
id: 99,
isPlayer: false,
type: 'exp_orb',
pos: { x: 5, y: 5 },
speed: 0,
energy: 0
mockWorld.actors.set(2, {
id: 2,
category: "collectible",
type: "exp_orb",
pos: { x: 2, y: 1 },
expAmount: 10
});
// Make the tile visible for it to render
(renderer as any).visible[5 * mockWorld.width + 5] = 1;
(renderer as any).fovManager.visibleArray[1 * mockWorld.width + 2] = 1;
// Reset mocks
mockScene.add.sprite.mockClear();
@@ -186,17 +185,18 @@ describe('DungeonRenderer', () => {
renderer.initializeFloor(mockWorld);
// Add a rat (defined in config)
mockWorld.actors.set(100, {
id: 100,
mockWorld.actors.set(3, {
id: 3,
category: "combatant",
isPlayer: false,
type: 'rat',
pos: { x: 2, y: 2 },
speed: 100,
type: "rat",
pos: { x: 3, y: 1 },
speed: 10,
energy: 0,
stats: { hp: 10, maxHp: 10, attack: 2, defense: 0, level: 1, exp: 0, expToNextLevel: 0, statPoints: 0, skillPoints: 0, strength: 0, dexterity: 0, intelligence: 0, passiveNodes: [] }
stats: { hp: 10, maxHp: 10, attack: 2, defense: 0 } as any
});
(renderer as any).visible[2 * mockWorld.width + 2] = 1;
(renderer as any).fovManager.visibleArray[1 * mockWorld.width + 3] = 1;
mockScene.add.sprite.mockClear();
renderer.render([]);