DungeonCrawlerComponent.handleServerEntityDied removes a matching enemy when event.entityId matches, then unconditionally tears down currentBossInstance if it is set — it never checks whether event.entityId is the boss.
Result: any enemy death while a boss is spawned also plays boss-death VFX, removes the boss model, and clears currentBoss. Characterized in dungeon-crawler.server-handlers.spec.ts (wave 7 a1).
constenemy=this.enemies.find(...);if(enemy){/* remove enemy */}if(this.currentBossInstance){// runs for every EntityDied, not just the boss
}
Expected: only run the boss-death path when the dead entity is the boss.
`DungeonCrawlerComponent.handleServerEntityDied` removes a matching enemy when `event.entityId` matches, then **unconditionally** tears down `currentBossInstance` if it is set — it never checks whether `event.entityId` is the boss.
Result: any enemy death while a boss is spawned also plays boss-death VFX, removes the boss model, and clears `currentBoss`. Characterized in `dungeon-crawler.server-handlers.spec.ts` (wave 7 a1).
```ts
const enemy = this.enemies.find(...);
if (enemy) { /* remove enemy */ }
if (this.currentBossInstance) {
// runs for every EntityDied, not just the boss
}
```
Expected: only run the boss-death path when the dead entity is the boss.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
DungeonCrawlerComponent.handleServerEntityDiedremoves a matching enemy whenevent.entityIdmatches, then unconditionally tears downcurrentBossInstanceif it is set — it never checks whetherevent.entityIdis the boss.Result: any enemy death while a boss is spawned also plays boss-death VFX, removes the boss model, and clears
currentBoss. Characterized indungeon-crawler.server-handlers.spec.ts(wave 7 a1).Expected: only run the boss-death path when the dead entity is the boss.
Fixed in
spikersoft-angularPR #823 (a0f0ccd9). Closing.