Working on fixing enemy ids and spawning

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
This commit is contained in:
2026-03-15 19:46:00 +01:00
parent 301218a01b
commit f12748f631
3 changed files with 14 additions and 8 deletions

View File

@@ -85,10 +85,10 @@ abstract class MapObject {
// --- Enemy Range Constants --- // --- Enemy Range Constants ---
static const int guardStart = 108; // 108-143 static const int guardStart = 108; // 108-143
static const int officerStart = 144; // 144-179 static const int dogStart = 144; // 144-179
static const int ssStart = 180; // 180-215 static const int ssStart = 180; // 180-215
static const int dogStart = 216; // 216-251 static const int mutantStart = 216; // 216-251
static const int mutantStart = 252; // 252-287 static const int officerStart = 252; // 252-287
// --- Missing Decorative Bodies --- // --- Missing Decorative Bodies ---
static const int deadGuard = 124; // Decorative only in WL1 static const int deadGuard = 124; // Decorative only in WL1

View File

@@ -201,6 +201,12 @@ abstract class Enemy extends Entity {
return null; return null;
} }
// Prevent bosses from accidentally spawning as regular enemies!
if (objId >= MapObject.bossHansGrosse &&
objId <= MapObject.bossFettgesicht) {
return null;
}
final type = EnemyType.fromMapId(objId); final type = EnemyType.fromMapId(objId);
if (type == null) return null; if (type == null) return null;

View File

@@ -45,7 +45,7 @@ class EnemyAnimationMap {
enum EnemyType { enum EnemyType {
guard( guard(
mapData: EnemyMapData(108), mapData: EnemyMapData(MapObject.guardStart),
animations: EnemyAnimationMap( animations: EnemyAnimationMap(
idle: SpriteFrameRange(50, 57), idle: SpriteFrameRange(50, 57),
walking: SpriteFrameRange(58, 89), walking: SpriteFrameRange(58, 89),
@@ -56,7 +56,7 @@ enum EnemyType {
), ),
), ),
dog( dog(
mapData: EnemyMapData(216), mapData: EnemyMapData(MapObject.dogStart),
animations: EnemyAnimationMap( animations: EnemyAnimationMap(
idle: SpriteFrameRange(99, 106), idle: SpriteFrameRange(99, 106),
walking: SpriteFrameRange(107, 130), walking: SpriteFrameRange(107, 130),
@@ -67,7 +67,7 @@ enum EnemyType {
), ),
), ),
ss( ss(
mapData: EnemyMapData(180), mapData: EnemyMapData(MapObject.ssStart),
animations: EnemyAnimationMap( animations: EnemyAnimationMap(
idle: SpriteFrameRange(138, 145), idle: SpriteFrameRange(138, 145),
walking: SpriteFrameRange(146, 177), walking: SpriteFrameRange(146, 177),
@@ -78,7 +78,7 @@ enum EnemyType {
), ),
), ),
mutant( mutant(
mapData: EnemyMapData(252), mapData: EnemyMapData(MapObject.mutantStart),
animations: EnemyAnimationMap( animations: EnemyAnimationMap(
idle: SpriteFrameRange(187, 194), idle: SpriteFrameRange(187, 194),
walking: SpriteFrameRange(195, 226), walking: SpriteFrameRange(195, 226),
@@ -89,7 +89,7 @@ enum EnemyType {
), ),
), ),
officer( officer(
mapData: EnemyMapData(144), mapData: EnemyMapData(MapObject.officerStart),
animations: EnemyAnimationMap( animations: EnemyAnimationMap(
idle: SpriteFrameRange(238, 245), idle: SpriteFrameRange(238, 245),
walking: SpriteFrameRange(246, 277), walking: SpriteFrameRange(246, 277),