import { Component } from '../core/Component.js'; export class Stealth extends Component { constructor() { super('Stealth'); this.visibility = 1.0; // 0 = fully hidden, 1 = fully visible this.stealthType = 'slime'; // 'slime', 'beast', 'human' this.isStealthed = false; this.stealthLevel = 0; // 0-100 this.detectionRadius = 100; // How far others can detect this entity } /** * Enter stealth mode */ enterStealth(type) { this.stealthType = type; this.isStealthed = true; this.visibility = 0.3; } /** * Exit stealth mode */ exitStealth() { this.isStealthed = false; this.visibility = 1.0; } /** * Update stealth based on movement and actions */ updateStealth(isMoving, isInCombat) { if (isInCombat) { this.exitStealth(); return; } if (this.isStealthed) { if (isMoving) { this.visibility = Math.min(1.0, this.visibility + 0.1); } else { this.visibility = Math.max(0.1, this.visibility - 0.05); } } } }