import 'package:wolf_dart/features/difficulty/difficulty.dart'; 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) { if (objId == 124) return true; // Dead guard if (objId >= 23 && objId <= 70) { // Exclude the collectibles! if ((objId >= 43 && objId <= 44) || (objId >= 47 && objId <= 56)) { return false; } return true; } return false; } // 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, Difficulty _, ) { 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; } }