import 'package:wolf_dart/features/entities/entity.dart'; class Decorative extends Entity { Decorative({ required super.x, required super.y, required super.spriteIndex, required super.mapId, super.state = EntityState.staticObj, // Defaults to static }); // Checks if the Map ID belongs to a standard decoration static bool isDecoration(int objId) { return (objId >= 23 && objId <= 70) || objId == 124; } // Safely calculates the VSWAP sprite index for standard decorations static int getSpriteIndex(int objId) { if (objId == 124) return 95; // Dead guard return objId - 21; } static Decorative? trySpawn( int objId, double x, double y, int difficultyLevel, ) { if (isDecoration(objId)) { return Decorative( x: x, y: y, spriteIndex: getSpriteIndex(objId), mapId: objId, state: objId == 124 ? EntityState.dead : EntityState.staticObj, ); } // Not a decoration! return null; } }