Add in mana and an asset viewer

This commit is contained in:
Peter Stockings
2026-01-05 18:57:17 +11:00
parent 43d5dce2e5
commit a7091c70c6
14 changed files with 866 additions and 93 deletions

View File

@@ -43,6 +43,8 @@ export class GameScene extends Phaser.Scene {
private entityManager!: EntityManager;
private progressionManager: ProgressionManager = new ProgressionManager();
private turnCount = 0; // Track turns for mana regen
constructor() {
super("GameScene");
}
@@ -261,6 +263,19 @@ export class GameScene extends Phaser.Scene {
const enemyStep = stepUntilPlayerTurn(this.world, this.playerId, this.entityManager);
this.awaitingPlayer = enemyStep.awaitingPlayerId === this.playerId;
// Increment turn counter and handle mana regeneration
this.turnCount++;
if (this.turnCount % GAME_CONFIG.mana.regenInterval === 0) {
const player = this.world.actors.get(this.playerId) as CombatantActor;
if (player && player.stats.mana < player.stats.maxMana) {
const regenAmount = Math.min(
GAME_CONFIG.mana.regenPerTurn,
player.stats.maxMana - player.stats.mana
);
player.stats.mana += regenAmount;
}
}
// Process events for visual fx
const allEvents = [...playerEvents, ...enemyStep.events];