if __name__ != "handlers.playcount": from secret.achievements import common from objects import glob else: import common VERSION = 5 ORDER = 5 # Loads the achievement length on load LENGTH = 0 ACHIEVEMENT_BASE = { "name": "{index_formatted} Plays", "description": "{description}", "icon": "osu-plays-{index}" } ACHIEVEMENT_KEYS = { "index": [5000, 15000, 25000, 50000], "index_formatted": ["5,000", "15,000", "25,000", "50,000"], "description": [ "There's a lot more where that came from.", "Must.. click.. circles..", "There's no going back.", "You're here forever." ] } # For every itteration index gets increased, while mode and mode_2 gets increased every 4 itterations ACHIEVEMENT_STRUCT = { "index": 1, "index_formatted": 1, "description": 1 } ACHIEVEMENTS = [] def load(): global ACHIEVEMENTS, LENGTH ACHIEVEMENTS, LENGTH = common.load_achievement_data(ACHIEVEMENT_BASE, ACHIEVEMENT_KEYS, ACHIEVEMENT_STRUCT) def handle(mode, score, beatmap, user_data): if mode is not 0: return [] return check(user_data["playcount"]) def check(playcount): achievement_ids = [] indexies = [x for x in ACHIEVEMENT_KEYS["index"] if x <= playcount] for index in range(len(indexies)): achievement_ids.append(index) return achievement_ids def update(userID): achievement_ids = [] playcount = glob.db.fetch("SELECT playcount_std FROM users_stats WHERE id = %s", [userID])["playcount_std"] achievement_ids += check(playcount) return achievement_ids