def periodic_events(): results = sqlrelay.execute_results(""" SELECT E_ID , TO_CHAR(START_DATE, 'YYYY/MM/DD HH24:MI:SS') , TO_CHAR(END_DATE, 'YYYY/MM/DD HH24:MI:SS') , REPEAT , P_ID FROM ARPG_BT_EVENT WHERE TYPE = %d AND USE = 1 AND SYSTIMESTAMP <= END_DATE """ % (common_pb2.EVENT_PERIOD)) periodic_event_list = defaultdict() for r in results: e_id = int(r[0]) start_date = datetime.strptime(r[1], "%Y/%m/%d %H:%M:%S") end_date = datetime.strptime(r[2], "%Y/%m/%d %H:%M:%S") repeat = int(r[3]) p_id = r[4].split(',') periodic_event_list[e_id] = { 'start_date': start_date, 'end_date': end_date, 'repeat': repeat, 'p_id': p_id, } return periodic_event_list
def user_achivements(user_id): results = sqlrelay.execute_results(""" SELECT A_ID , REPEAT , REWARD_REPEAT FROM ARPG_GT_ACHIVEMENT WHERE USER_ID = %d """ % (user_id)) achivement_list = OrderedDict() for r in results: a_id = int(r[0]) repeat = int(r[1]) reward_repeat = int(r[2]) achivement_list[str(a_id)] = { 'a_id': a_id, 'repeat': repeat, 'reward_repeat': reward_repeat } return achivement_list
def eshop_events(): results = sqlrelay.execute_results(""" SELECT E_ID , TO_CHAR(START_DATE, 'YYYY/MM/DD HH24:MI:SS') , TO_CHAR(END_DATE, 'YYYY/MM/DD HH24:MI:SS') , PURCHASE FROM ARPG_BT_EVENT WHERE TYPE = %d AND USE = 1 AND PURCHASE > 0 AND SYSTIMESTAMP <= END_DATE """ % (common_pb2.EVENT_ESHOP)) eshop_event_list = defaultdict() for r in results: e_id = int(r[0]) start_date = datetime.strptime(r[1], "%Y/%m/%d %H:%M:%S") end_date = datetime.strptime(r[2], "%Y/%m/%d %H:%M:%S") purchase = int(r[3]) eshop_event_list[e_id] = { 'start_date': start_date, 'end_date': end_date, 'purchase': purchase, } return eshop_event_list
def dailystamps(): results = sqlrelay.execute_results(""" SELECT YEAR_MONTH , DAYS , E_ID , P_ID FROM ARPG_BT_EVENT WHERE TYPE = %d AND USE = 1 """ % (common_pb2.EVENT_DAILYSTAMP)) dailystamp_list = defaultdict() for r in results: year_month = int(r[0]) days = int(r[1]) e_id = int(r[2]) p_id = [int(n) for n in r[3].split(',')] if dailystamp_list.has_key(year_month): dailystamp = dailystamp_list[year_month] else: dailystamp = OrderedDict() dailystamp_list[year_month] = dailystamp dailystamp[days] = { 'e_id': e_id, 'p_id': p_id, } return dailystamp_list
def event_dungeons(): results = sqlrelay.execute_results(""" SELECT FEVER_ID , DUNGEON_ID , DUNGEON_TYPE , TO_CHAR(START_DATE, 'YYYY/MM/DD HH24:MI:SS') , TO_CHAR(FINISH_DATE, 'YYYY/MM/DD HH24:MI:SS') FROM ARPG_GT_FEVER WHERE SYSTIMESTAMP <= FINISH_DATE ORDER BY DUNGEON_TYPE, FEVER_ID """) event_dungeon_list = defaultdict() event_dungeon_list[common_pb2.DUNGEON_EVENT] = defaultdict() event_dungeon_list[common_pb2.DUNGEON_SURVIVAL] = defaultdict() for r in results: fever_id = int(r[0]) dungeon_id = int(r[1]) dungeon_type = int(r[2]) start_date = datetime.strptime(r[3], "%Y/%m/%d %H:%M:%S") finish_date = datetime.strptime(r[4], "%Y/%m/%d %H:%M:%S") event_dungeon = event_dungeon_list[dungeon_type] event_dungeon[fever_id] = { 'dungeon_id': dungeon_id, 'start_date': start_date, 'finish_date': finish_date, } return event_dungeon_list
def user_costumes(user_id): results = sqlrelay.execute_results(""" SELECT a.COSTUME_ID , a.LV , b.JOB , b.COSTUME_ID FROM ARPG_GT_COSTUME a , ARPG_BT_COSTUME b WHERE a.BASE_COSTUME_ID = b.COSTUME_ID AND USER_ID = %d """ % (user_id)) costume_list = [] for r in results: costume_id = int(r[0]) level = int(r[1]) job = int(r[2]) costume_no = int(r[3]) costume_list.append({ 'costume_id': costume_id, 'level': level, 'job': job, 'costume_no': costume_no, }) return costume_list
def daily_achivements(): results = sqlrelay.execute_results(""" SELECT A_ID , REQUIRED_LV , REPEAT , REWARD , REWARD_AMOUNT FROM ARPG_BT_DAILY_ACHIVEMENT """) daily_achivement_list = OrderedDict() for r in results: a_id = int(r[0]) required_lv = int(r[1]) repeat = int(r[2]) reward = int(r[3]) reward_amount = r[4] daily_achivement_list[a_id] = { 'required_lv': required_lv, 'repeat': repeat, 'reward': reward, 'reward_amount': reward_amount, } return daily_achivement_list
def recommend_gifts(): results = sqlrelay.execute_results(""" SELECT COUNT , E_ID , P_ID FROM ARPG_BT_EVENT WHERE TYPE = %d AND USE = 1 """ % (common_pb2.EVENT_RECOMMEND)) recommend_gift_list = defaultdict() for r in results: count = int(r[0]) e_id = int(r[1]) p_id = r[2].split(',') recommend_gift_list[count] = { 'e_id': e_id, 'p_id': p_id, } return recommend_gift_list
def user_items(user_id): results = sqlrelay.execute_results(""" SELECT ITEM_ID , E_ID , STACK , HERO_ID , LV , BROKEN FROM ARPG_GT_INVENTORY WHERE USER_ID = %d """ % (user_id)) item_list = [] for r in results: item_id = int(r[0]) item_no = int(r[1]) stack = int(r[2]) hero_id = None if r[3] == '' else int(r[3]) level = int(r[4]) broken = True if r[5] == '1' else False item_list.append({ 'item_id': item_id, 'item_no': item_no, 'stack': stack, 'hero_id': hero_id, 'level': level, 'broken': broken }) return item_list
def gifts(): results = sqlrelay.execute_results(""" SELECT P_ID , TYPE , VALUE , TITLE , MESSAGE FROM ARPG_BT_PRESENT """) gift_list = OrderedDict() for r in results: p_id = int(r[0]) type = int(r[1]) value = int(r[2]) title = from_utf8(r[3]) message = from_utf8(r[4]) gift_list[p_id] = { 'type': type, 'value': value, 'title': title, 'message': message, } return gift_list
def level_up_gifts(): results = sqlrelay.execute_results(""" SELECT LV , JOB , E_ID , P_ID FROM ARPG_BT_EVENT WHERE TYPE = %d AND USE = 1 """ % (common_pb2.EVENT_LEVEL_UP)) level_up_gift_list = defaultdict() level_up_gift_list[common_pb2.JOB_SWORD] = OrderedDict() level_up_gift_list[common_pb2.JOB_ARCHER] = OrderedDict() level_up_gift_list[common_pb2.JOB_SHAMAN] = OrderedDict() for r in results: level = int(r[0]) job = int(r[1]) e_id = int(r[2]) p_id = r[3].split(',') level_up_gift = level_up_gift_list[job] level_up_gift[level] = { 'e_id': e_id, 'p_id': p_id, } return level_up_gift_list
def treasures(): results = sqlrelay.execute_results(""" SELECT GROUP_ID , ITEM_ID , FREQUENCY FROM ARPG_BT_TREASURE """) treasure_list = OrderedDict() for r in results: group_id = int(r[0]) item_id = int(r[1]) frequency = int(r[2]) if treasure_list.has_key(group_id): treasure = treasure_list[group_id] else: treasure = OrderedDict() treasure_list[group_id] = treasure treasure[item_id] = { 'frequency': frequency, } # 토탈 확률계산 for treasure in treasure_list.values(): total = 0 for item in treasure.values(): total += item['frequency'] treasure['total'] = total return treasure_list
def survival_buffs(): results = sqlrelay.execute_results(""" SELECT BUFF_ID , UNLOCK_WAVE , NAME , PRICE , BOOST , START_WAVE FROM ARPG_BT_SURVIVAL_BUFF """) survival_buff_list = OrderedDict() for r in results: buff_id = int(r[0]) unlock_wave = int(r[1]) name = from_utf8(r[2]) price = int(r[3]) boost = r[4] start_wave = int(r[5]) survival_buff_list[buff_id] = { 'unlock_wave': unlock_wave, 'name': name, 'price': price, 'boost': boost, 'start_wave': start_wave } return survival_buff_list
def keyword_coupons(): results = sqlrelay.execute_results(""" SELECT a.COUPON_ID , a.COUPON_AVL_START , a.COUPON_AVL_END , b.COUPON_CODE , a.DUP_USER_CNT FROM ARPG_BT_COUPON a, ARPG_BT_COUPON_CODE b WHERE a.type = %d AND a.COUPON_START_SRL = b.COUPON_SRL """ % (common_pb2.COUPON_KEYWORD)) keyword_coupon_list = OrderedDict() for r in results: coupon_id = int(r[0]) coupon_avl_start = datetime.strptime(r[1], "%Y%m%d%H%M%S") coupon_avl_end = datetime.strptime(r[2], "%Y%m%d%H%M%S") keyword = r[3] reuse = True if r[4] == '1' else False keyword_coupon_list[coupon_id] = { 'coupon_avl_start': coupon_avl_start, 'coupon_avl_end': coupon_avl_end, 'keyword': keyword, 'reuse': reuse, } return keyword_coupon_list
def achivements(): results = sqlrelay.execute_results(""" SELECT A_ID , FINISH_LV , REPEAT , REWARD , REWARD_AMOUNT FROM ARPG_BT_ACHIVEMENT """) achivement_list = OrderedDict() for r in results: a_id = int(r[0]) finish_lv = int(r[1]) repeat = int(r[2]) reward = int(r[3]) reward_amount = r[4] achivement_list[a_id] = { 'finish_lv': finish_lv, 'repeat': repeat, 'reward': reward, 'reward_amount': reward_amount, } return achivement_list
def costume_events(): results = sqlrelay.execute_results(""" SELECT E_ID , TO_CHAR(START_DATE, 'YYYY/MM/DD HH24:MI:SS') , TO_CHAR(END_DATE, 'YYYY/MM/DD HH24:MI:SS') , JOB , P_ID FROM ARPG_BT_EVENT WHERE TYPE = %d AND USE = 1 AND SYSTIMESTAMP <= END_DATE """ % (common_pb2.EVENT_COSTUME)) costume_event_list = defaultdict() costume_event_list[common_pb2.JOB_SWORD] = OrderedDict() costume_event_list[common_pb2.JOB_ARCHER] = OrderedDict() costume_event_list[common_pb2.JOB_SHAMAN] = OrderedDict() for r in results: e_id = int(r[0]) start_date = datetime.strptime(r[1], "%Y/%m/%d %H:%M:%S") end_date = datetime.strptime(r[2], "%Y/%m/%d %H:%M:%S") job = int(r[3]) p_id = r[4].split(',') costume_event = costume_event_list[job] costume_event[e_id] = { 'start_date': start_date, 'end_date': end_date, 'p_id': p_id, } return costume_event_list
def hero(hero_id): r = sqlrelay.execute_results(""" SELECT HERO_ID , JOB , LV , EXP , TO_CHAR(REG_DATE, 'YYYY/MM/DD HH24:MI:SS') , PLAYING_TIME , LAST_COSTUME_ID , BUTTON_A , BUTTON_B , BUTTON_C , EXPAND_BUTTON , SKILL_POINT , UNLOCK_STAGE_COUNT , TO_CHAR(UNLOCK_STAGE_COUNT_DATE, 'YYYY/MM/DD HH24:MI:SS') FROM ARPG_GT_HERO WHERE HERO_ID = %d """ % (hero_id), multiple=False) if not r: return None hero_id = int(r[0]) job = int(r[1]) level = int(r[2]) exp = int(r[3]) reg_date = r[4] playing_time = int(r[5]) last_costume_id = int(r[6]) button_a = int(r[7]) button_b = int(r[8]) button_c = int(r[9]) expand_button = True if r[10] == '1' else False skill_point = int(r[11]) unlock_stage_count = int(r[12]) unlock_stage_count_date = r[13] hero = { 'hero_id': hero_id, 'job': job, 'level': level, 'exp': exp, 'reg_date': reg_date, 'playing_time': playing_time, 'last_costume_id': last_costume_id, 'button_a': button_a, 'button_b': button_b, 'button_c': button_c, 'expand_button': expand_button, 'skill_point': skill_point, 'unlock_stage_count': unlock_stage_count, 'unlock_stage_count_date': unlock_stage_count_date, } return hero
def costumes(): results = sqlrelay.execute_results(""" SELECT COSTUME_ID , NAME , JOB , TO_CHAR(PROMOTION_START, 'YYYY/MM/DD HH24:MI:SS') , TO_CHAR(PROMOTION_END, 'YYYY/MM/DD HH24:MI:SS') , UG_PROPERTIES , UG_HONBUL , UG_CASH , MATERIAL , MARKET_PRICE , MAKE_HONBUL FROM ARPG_BT_COSTUME ORDER BY COSTUME_ID """) costume_list = defaultdict() costume_list[common_pb2.JOB_SWORD] = OrderedDict() costume_list[common_pb2.JOB_ARCHER] = OrderedDict() costume_list[common_pb2.JOB_SHAMAN] = OrderedDict() for r in results: costume_id = int(r[0]) name = from_utf8(r[1]) job = int(r[2]) promotion_start = None if r[3] == '' else datetime.strptime(r[3], "%Y/%m/%d %H:%M:%S") promotion_end = None if r[4] == '' else datetime.strptime(r[4], "%Y/%m/%d %H:%M:%S") ug_properties = r[5] ug_honbul = r[6] ug_cash = int(r[7]) material = [] for infos in r[8].split(','): parts = infos.split('|') if len(parts) == 2: material.append({ 'parts_id': int(parts[0]), 'stage_id': int(parts[1]), }) market_price = int(r[9]) make_honbul = int(r[10]) costume = costume_list[job] costume[costume_id] = { 'name': name, 'promotion_start': promotion_start, 'promotion_end': promotion_end, 'ug_properties': ug_properties, 'ug_honbul': ug_honbul, 'ug_cash': ug_cash, 'material': material, 'market_price': market_price, 'make_honbul': make_honbul, } return costume_list
def oni_shops(): results = sqlrelay.execute_results(""" SELECT GOODS_ID , ITEM_ID , HONBUL , CASH , JOB , REQUIRED_LV , SORT_ORDER FROM ARPG_BT_ONI_SHOP ORDER BY GOODS_ID """) oni_shop_list = defaultdict() oni_shop_list[common_pb2.ONI_GOODS_HONBUL_WEAPON] = OrderedDict() oni_shop_list[common_pb2.ONI_GOODS_HONBUL_SHIELD] = OrderedDict() oni_shop_list[common_pb2.ONI_GOODS_HONBUL_ACCESSORY] = OrderedDict() oni_shop_list[common_pb2.ONI_GOODS_HONBUL_REST] = OrderedDict() oni_shop_list[common_pb2.ONI_GOODS_CASH_WEAPON] = OrderedDict() oni_shop_list[common_pb2.ONI_GOODS_CASH_SHIELD] = OrderedDict() oni_shop_list[common_pb2.ONI_GOODS_CASH_ACCESSORY] = OrderedDict() oni_shop_list[common_pb2.ONI_GOODS_CASH_REST] = OrderedDict() for r in results: goods_id = int(r[0]) item_id = int(r[1]) honbul = int(r[2]) cash = int(r[3]) job = int(r[4]) required_lv = int(r[5]) sort_order = int(r[6]) price = 0 oni_shop = None if honbul > 0: price = honbul elif cash > 0: price = cash oni_shop = oni_shop_list[goods_id / 100000] oni_shop[goods_id] = { 'item_id': item_id, 'price': price, 'job': job, 'required_lv': required_lv, 'sort_order': sort_order } return oni_shop_list
def dungeons(): results = sqlrelay.execute_results(""" SELECT DUNGEON_ID , NAME , NEXT_DUNGEON , TYPE , MULTIPLAY , WDAY , LV_MIN , LV_MAX FROM ARPG_BT_DUNGEON ORDER BY DUNGEON_ID """) dungeon_list = defaultdict() dungeon_list[common_pb2.DUNGEON_TUTORIAL] = OrderedDict() dungeon_list[common_pb2.DUNGEON_EPIC] = OrderedDict() dungeon_list[common_pb2.DUNGEON_DAILY] = OrderedDict() dungeon_list[common_pb2.DUNGEON_SURVIVAL] = OrderedDict() dungeon_list[common_pb2.DUNGEON_EVENT] = OrderedDict() for r in results: dungeon_id = int(r[0]) name = r[1] next_dungeon = int(r[2]) type = int(r[3]) multiplay = True if r[4] == '1' else False wday = int(r[5]) lv_min = int(r[6]) lv_max = int(r[7]) dungeon = dungeon_list[type] dungeon[dungeon_id] = { 'dungeon_id': dungeon_id, 'name': name, 'next_dungeon': next_dungeon, 'type': type, 'multiplay': multiplay, 'wday': wday, 'lv_min': lv_min, 'lv_max': lv_max } return dungeon_list
def cash_shops(): results = sqlrelay.execute_results(""" SELECT CATEGORY , CASH , TALISMAN , STONE , COIN , HEART , HONBUL , SALE_MARK , MESSAGE FROM ARPG_BT_CASH_SHOP ORDER BY CATEGORY """) cash_shop_list = OrderedDict() for r in results: category = int(r[0]) cash = int(r[1]) talisman = int(r[2]) stone = int(r[3]) coin = int(r[4]) heart = int(r[5]) honbul = int(r[6]) sale_mark = int(r[7]) message = from_utf8(r[8]) if cash_shop_list.has_key(category): cash_shop = cash_shop_list[category] else: cash_shop = OrderedDict() cash_shop_list[category] = cash_shop cash_shop[cash] = { 'talisman': talisman, 'stone': stone, 'coin': coin, 'heart': heart, 'honbul': honbul, 'sale_mark': sale_mark, 'message': message, } return cash_shop_list
def stage_waves(): results = sqlrelay.execute_results(""" SELECT a.STAGE_ID , a.WAVE_SEQ , b.DIFFICULTY , a.TIME_LIMIT , a.DESCRIPTION , b.MONSTERS , b.REGION FROM ARPG_BT_WAVE a LEFT JOIN ARPG_BT_SPAWN b ON a.SPAWN_ID = b.SPAWN_ID ORDER BY a.STAGE_ID, a.WAVE_SEQ, b.DIFFICULTY """) stage_wave_list = OrderedDict() for r in results: stage_id = int(r[0]) wave_seq = int(r[1]) difficulty = int(r[2]) time_limit = int(r[3]) description = from_utf8(r[4]) monsters = [] for infos in r[5].split(','): mon = infos.split('|') monsters.append({ 'monster_id': int(mon[0]), 'level': int(mon[1]), 'count': int(mon[2]), }) region = r[6] stage_wave_list[stage_id] = { 'stage_id': stage_id, 'wave_seq': wave_seq, 'description': description, 'time_limit': time_limit, 'monsters': monsters, 'region': region, } return stage_wave_list
def eshops(): results = sqlrelay.execute_results(""" SELECT CASH , PRODUCT_ID , PMANG_ID , SALE_MARK , MESSAGE , MARKET , SALE FROM ARPG_BT_ESHOP """) eshop_list = OrderedDict() event_eshop_list = OrderedDict() for r in results: cash = int(r[0]) product_id = r[1] pmang_id = r[2] sale_mark = int(r[3]) message = from_utf8(r[4]) market = int(r[5]) sale = True if r[6] == '1' else False if sale: event_eshop_list[product_id] = { 'cash': cash, 'pmang_id': pmang_id, 'sale_mark': sale_mark, 'message': message, 'market': market, } else: eshop_list[product_id] = { 'cash': cash, 'pmang_id': pmang_id, 'sale_mark': sale_mark, 'message': message, 'market': market, } return (eshop_list, event_eshop_list)
def skills(): results = sqlrelay.execute_results(""" SELECT a.SKILL_ID , a.BUTTON , a.MAX_LV , a.MIN_LV , a.JOB , b.REQUIRED_LV FROM ARPG_BT_SKILL a, ARPG_BT_SKILL_REINFORCE b WHERE a.JOB = b.JOB AND b.LV = 1 AND a.SKILL_ID = b.SKILL_ID """) skill_list = defaultdict() skill_list[common_pb2.JOB_SWORD] = OrderedDict() skill_list[common_pb2.JOB_ARCHER] = OrderedDict() skill_list[common_pb2.JOB_SHAMAN] = OrderedDict() for r in results: skill_id = int(r[0]) button = True if r[1] == '1' else False max_lv = int(r[2]) min_lv = int(r[3]) job = int(r[4]) required_lv = int(r[5]) skill = skill_list[job] skill[skill_id] = { 'button': button, 'max_lv': max_lv, 'min_lv': min_lv, 'required_lv': required_lv, } for skill in skill_list.values(): total_level = 0 for s in skill.values(): total_level = s['max_lv'] skill['total_leve'] = total_level return skill_list
def lottery_items(): results = sqlrelay.execute_results(""" SELECT LOTTERY_ID , GIFT , FREQUENCY , GRADE , LV_TIER , JOB FROM ARPG_BT_LOTTERY WHERE FREQUENCY > 0 """) lottery_item_list = defaultdict() lottery_item_list[common_pb2.LOTTERY_ADVANCE_WEAPON] = OrderedDict() lottery_item_list[common_pb2.LOTTERY_WEAPON] = OrderedDict() lottery_item_list[common_pb2.LOTTERY_ADVANCE_SHIELD] = OrderedDict() lottery_item_list[common_pb2.LOTTERY_SHIELD] = OrderedDict() lottery_item_list[common_pb2.LOTTERY_ADVANCE_ACCESSORY] = OrderedDict() lottery_item_list[common_pb2.LOTTERY_ACCESSORY] = OrderedDict() lottery_item_list[common_pb2.LOTTERY_COSTUME_PART] = OrderedDict() lottery_item_list[common_pb2.LOTTERY_BLUEPRINT] = OrderedDict() for r in results: lottery_id = int(r[0]) gift = int(r[1]) frequency = int(r[2]) grade = int(r[3]) lv_tier = int(r[4]) job = int(r[5]) lottery_item = lottery_item_list[(lottery_id / 10000) - 22000] lottery_item[lottery_id] = { 'gift': gift, 'frequency': frequency, 'grade': grade, 'lv_tier': lv_tier, 'job': job, } return lottery_item_list
def survival_waves(): results = sqlrelay.execute_results(""" SELECT WAVE_ID , MONSTERS , REGION , TIME_LIMIT , REWARD_GROUP_ID , DESCRIPTION , SCENE FROM ARPG_BT_SURVIVAL_WAVE ORDER BY WAVE_ID """) survival_wave_list = OrderedDict() for r in results: wave_id = int(r[0]) monsters = [] for infos in r[1].split(','): mon = infos.split('|') monsters.append({ 'monster_id': int(mon[0]), 'level': int(mon[1]), 'count': int(mon[2]), }) region = r[2] time_limit = int(r[3]) reward_group_id = int(r[4]) description = from_utf8(r[5]) scene = r[6] survival_wave_list[wave_id] = { 'monsters': monsters, 'region': region, 'time_limit': time_limit, 'reward_group_id': reward_group_id, 'description': description, 'scene': scene, } return survival_wave_list
def _load(self): results = sqlrelay.execute_results(""" SELECT NAME , VALUE FROM ARPG_BT_PROPERTIES """) properties = {} for r in results: name = from_utf8(r[0]) if r[1].isdigit(): value = int(r[1]) else: try: value = float(r[1]) except ValueError: value = r[1] properties[name] = value return properties
def skill_costs(): results = sqlrelay.execute_results(""" SELECT SKILL_ID , JOB , LV , HONBUL , REQUIRED_LV , SKILL_POINT FROM ARPG_BT_SKILL_REINFORCE """) skill_cost_list = defaultdict() skill_cost_list[common_pb2.JOB_SWORD] = OrderedDict() skill_cost_list[common_pb2.JOB_ARCHER] = OrderedDict() skill_cost_list[common_pb2.JOB_SHAMAN] = OrderedDict() for r in results: skill_id = int(r[0]) job = int(r[1]) level = int(r[2]) honbul = int(r[3]) required_lv = int(r[4]) skill_point = int(r[5]) skill_cost = skill_cost_list[job] if skill_cost.has_key(skill_id): skill_cost_id = skill_cost[skill_id] else: skill_cost_id = OrderedDict() skill_cost[skill_id] = skill_cost_id skill_cost_id[level] = { 'honbul': honbul, 'required_lv': required_lv, 'skill_point': skill_point, } return skill_cost_list
def lottery_tiers(): results = sqlrelay.execute_results(""" SELECT LV_TIER , LV_START , LV_END FROM ARPG_BT_LOTTERY_TIER """) lottery_tier_list = OrderedDict() for r in results: lv_tier = int(r[0]) lv_start = int(r[1]) lv_end = int(r[2]) lottery_tier_list[lv_tier] = { 'lv_start': lv_start, 'lv_end': lv_end, } return lottery_tier_list
def material_prices(): results = sqlrelay.execute_results(""" SELECT MATERIAL_ID , PRICE , AMOUNT FROM ARPG_BT_MATERIAL_PRICE """) material_price_list = OrderedDict() for r in results: material_id = int(r[0]) price = int(r[1]) amount = r[2] material_price_list[material_id] = { 'price': price, 'amount': amount, } return material_price_list