import { System } from '../core/System.js'; /** * System to track and render skill effects (Fire Breath, Pounce, etc.) */ export class SkillEffectSystem extends System { constructor() { super('SkillEffectSystem'); this.requiredComponents = []; // No required components this.priority = 50; // Run after skills but before rendering this.activeEffects = []; } process(deltaTime, _entities) { // Update all active effects for (let i = this.activeEffects.length - 1; i >= 0; i--) { const effect = this.activeEffects[i]; effect.lifetime -= deltaTime; effect.time += deltaTime; if (effect.lifetime <= 0) { this.activeEffects.splice(i, 1); } } } /** * Add a skill effect */ addEffect(effect) { this.activeEffects.push(effect); } /** * Get all active effects */ getEffects() { return this.activeEffects; } }