import 'package:asciineverdie/data/pq_config_data.dart';

/// Typed accessors for Progress Quest static data extracted from Config.dfm.
class PqConfig {
  const PqConfig();

  List<String> get spells => _copy('Spells');
  List<String> get offenseAttrib => _copy('OffenseAttrib');
  List<String> get defenseAttrib => _copy('DefenseAttrib');
  List<String> get offenseBad => _copy('OffenseBad');
  List<String> get defenseBad => _copy('DefenseBad');
  List<String> get shields => _copy('Shields');
  List<String> get armors => _copy('Armors');
  List<String> get weapons => _copy('Weapons');
  List<String> get specials => _copy('Specials');
  List<String> get itemAttrib => _copy('ItemAttrib');
  List<String> get itemOfs => _copy('ItemOfs');
  List<String> get boringItems => _copy('BoringItems');
  List<String> get monsters => _copy('Monsters');
  List<String> get monMods => _copy('MonMods');
  List<String> get races => _copy('Races');
  List<String> get klasses => _copy('Klasses');
  List<String> get titles => _copy('Titles');
  List<String> get impressiveTitles => _copy('ImpressiveTitles');

  List<String> _copy(String key) {
    final values = pqConfigData[key];
    if (values == null) return const [];
    return List<String>.from(values);
  }
}
