def load_dungeon_data(data_dir: str = None, json_file: str = None) -> List[Dungeon]: """Converts dungeon JSON into an array of Dungeons.""" data_json = pad_util.load_raw_json(data_dir, json_file, FILE_NAME) dungeon_info = data_json['dungeons'] dungeons = [] cur_dungeon = None for line in dungeon_info.split('\n'): info = line[0:2] data = line[2:] data = data.replace("',", "`,").replace(",'", ",`") data_values = next( csv.reader(StringIO(data), quotechar="`", delimiter=',')) if info == 'd;': cur_dungeon = Dungeon(data_values) dungeons.append(cur_dungeon) elif info == 'f;': floor = SubDungeon(cur_dungeon.dungeon_id, data_values) cur_dungeon.sub_dungeons.append(floor) elif info == 'c;': pass else: raise ValueError('unexpected line: ' + line) return dungeons
def load_bonus_data(data_dir: str = None, data_group: StarterGroup = None, server: Server = None, json_file: str = None) -> List[Bonus]: """Load Bonus objects from the PAD json file.""" group_file_name = FILE_NAME.format(data_group) data_json = pad_util.load_raw_json(data_dir, json_file, group_file_name) return [Bonus(item, server) for item in data_json['bonuses']]
def load_enemy_skill_data(data_dir: str = None, json_file: str = None) -> List[EnemySkill]: data_json = pad_util.load_raw_json(data_dir, json_file, FILE_NAME) es = data_json['enemy_skills'] # Cleanup for the truly atrocious way that GungHo handles CSV/JSON data. es = es.replace("',", "#,").replace(",'", ",#").replace("'\n", "#\n") csv_lines = csv.reader(StringIO(es), quotechar="#", delimiter=',') return [EnemySkill(x) for x in csv_lines if x[0] != 'c']
def load_data(server: Server, data_dir: str = None, json_file: str = None) -> List[Exchange]: """Load Card objects from PAD JSON file.""" data_json = pad_util.load_raw_json(data_dir, json_file, FILE_NAME) return [ Exchange(item.split(','), server) for item in data_json['d'].split('\n') ]
def load_data(server: Server, data_dir: str = None, json_file: str = None) -> List[Purchase]: """Load Card objects from PAD JSON file.""" data_json = pad_util.load_raw_json(data_dir, json_file, FILE_NAME) start_time, end_time = None, None mpbuys = [] for item in filter(None, data_json['d'].split('\n')): raw = item.split(',') if raw[0] == 'T': start_time = raw[1] end_time = raw[2] else: p = Purchase(raw, server, start_time, end_time) mpbuys.append(p) return mpbuys # This will have a lot or repeats, but that shouldn't matter
def load_card_data(data_dir: str = None, json_file: str = None) -> List[Card]: """Load Card objects from PAD JSON file.""" data_json = pad_util.load_raw_json(data_dir, json_file, FILE_NAME) return [Card(r) for r in data_json['card']]
def load_data(data_dir: str = None, json_file: str = None, server: Server = None) -> List[ExtraEggMachine]: """Load ExtraEggMachine objects from the saved json file.""" data_json = pad_util.load_raw_json(data_dir, json_file, FILE_NAME) return [ExtraEggMachine(item, server) for item in data_json]
def load_skill_data(data_dir=None, json_file: str = None) -> List[MonsterSkill]: """Load MonsterSkill objects from the PAD json file.""" data_json = pad_util.load_raw_json(data_dir, json_file, FILE_NAME) return [MonsterSkill(i, ms) for i, ms in enumerate(data_json['skill'])]
def load_data(data_dir=None, json_file: str = None) -> JsonType: """Load MonsterSkill objects from the PAD json file.""" data_json = pad_util.load_raw_json(data_dir, json_file, FILE_NAME) return data_json