import 'package:wolf_3d_data_types/wolf_3d_data_types.dart';

class EnemyMapData {
  final int baseId;

  const EnemyMapData(this.baseId);

  /// True if the ID falls anywhere within this enemy's 36-ID block
  bool claimsId(int id) => id >= baseId && id < baseId + 36;

  bool isStaticForDifficulty(int id, Difficulty difficulty) {
    int start = baseId + (difficulty.level * 4);
    return id >= start && id < start + 4;
  }

  bool isPatrolForDifficulty(int id, Difficulty difficulty) {
    int start = baseId + 12 + (difficulty.level * 4);
    return id >= start && id < start + 4;
  }

  bool isAmbushForDifficulty(int id, Difficulty difficulty) {
    int start = baseId + 24 + (difficulty.level * 4);
    return id >= start && id < start + 4;
  }
}
