Exemple #1
0
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
Exemple #2
0
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']
Exemple #4
0
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
Exemple #6
0
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']]
Exemple #7
0
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'])]
Exemple #9
0
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