Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
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 
Ejemplo n.º 6
0
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
Ejemplo n.º 7
0
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
Ejemplo n.º 8
0
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
Ejemplo n.º 9
0
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
Ejemplo n.º 10
0
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
Ejemplo n.º 11
0
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
Ejemplo n.º 12
0
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
Ejemplo n.º 13
0
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
Ejemplo n.º 14
0
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
Ejemplo n.º 15
0
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
Ejemplo n.º 16
0
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
Ejemplo n.º 17
0
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
Ejemplo n.º 18
0
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
Ejemplo n.º 19
0
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
Ejemplo n.º 20
0
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
Ejemplo n.º 21
0
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
Ejemplo n.º 22
0
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
Ejemplo n.º 23
0
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)
Ejemplo n.º 24
0
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
Ejemplo n.º 25
0
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
Ejemplo n.º 26
0
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
Ejemplo n.º 27
0
  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
Ejemplo n.º 28
0
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
Ejemplo n.º 29
0
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
Ejemplo n.º 30
0
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