Esempio n. 1
0
def crunch_misc(c, g):
  player = g['name']
  ktyp = g['ktyp']

  if g['xl'] >= 13:
    banner.award_banner(c, player, 'okawaru', 1)

  if g['goldfound'] >= 1000:
    banner.award_banner(c, player, 'gozag', 1)

  if g['xl'] >= 9 and nemelex.is_nemelex_choice(g['char'],g['start']):
    ban = 'nemelex:' + g['char']
    banner.award_banner(c, player, ban, 1)
  if g['xl'] >= 9 and query.check_xl9_streak(c, player, g['start']):
    banner.award_banner(c, player, 'cheibriados', 1)
  if g['sc'] >= 1000:
    og = query.previous_combo_highscore(c, g)
    if og and og[0] != player and og[1] >= 1000 and og[1] < g['sc']:
      banner.award_banner(c, player, 'dithmenos', 1)

  killer = loaddb.strip_unique_qualifier(g.get('killer') or '')
  if uniq.is_uniq(killer):
    query_do(c,
             '''INSERT INTO deaths_to_uniques
                            (player, uniq, start_time, end_time)
                     VALUES (%s, %s, %s, %s)''',
             player.lower(), killer, g['start'], g['end'])
    cuniqdeaths = query.count_deaths_to_distinct_uniques(c, player)
    olduniqdeaths = query.lookup_deaths_to_distinct_uniques(c, player)
    if cuniqdeaths > olduniqdeaths:
      query.update_deaths_to_distinct_uniques(c, player, cuniqdeaths,
                                              g['end'])
Esempio n. 2
0
def crunch_misc(c, g):
  player = g['name']
  ktyp = g['ktyp']

  if ktyp != 'winning':
    query.kill_active_streak(c, player)

  if g['goldspent'] == 0 and g['gold'] >= 1000:
    banner.award_banner(c, player, 'sif', 1)
  if g['xl'] >= 9 and nemelex.is_nemelex_choice(g['char'],g['start']):
    ban = 'nemelex:' + g['char']
    banner.award_banner(c, player, ban, 1)
  if g['xl'] >= 9 and query.check_xl9_streak(c, player, g['start']):
    banner.award_banner(c, player, 'cheibriados', 1)
  if g['sc'] >= 1000:
    og = query.previous_combo_highscore(c, g)
    if og and og[0] != player and og[1] >= 1000 and og[1] < g['sc']:
      banner.award_banner(c, player, 'trog', 1)
  #check_fedhas_banner(c, g)

  killer = loaddb.strip_unique_qualifier(g.get('killer') or '')
  if uniq.is_uniq(killer):
    query_do(c,
             '''INSERT INTO deaths_to_uniques
                            (player, uniq, start_time, end_time)
                     VALUES (%s, %s, %s, %s)''',
             player, killer, g['start'], g['end'])
    cuniqdeaths = query.count_deaths_to_distinct_uniques(c, player)
    olduniqdeaths = query.lookup_deaths_to_distinct_uniques(c, player)
    if cuniqdeaths > olduniqdeaths:
      query.update_deaths_to_distinct_uniques(c, player, cuniqdeaths,
                                              g['end'])
Esempio n. 3
0
def award_banner(c, player, banner, prestige, temp=False):
  if player_has_banner(c, player, banner, 0):
    query_do(c, '''UPDATE player_banners
                   SET prestige = %s
                   WHERE player = %s AND banner = %s AND prestige < %s''',
             prestige, player, banner, prestige)
  else:
    query_do(c, '''INSERT INTO player_banners VALUES (%s, %s, %s, %s)''',
             player, banner, prestige, temp)
Esempio n. 4
0
def award_banner(c, player, banner, prestige, temp=False):
    if player_has_banner(c, player, banner, 0):
        query_do(
            c, '''UPDATE player_banners
                   SET prestige = %s
                   WHERE player = %s AND banner = %s AND prestige < %s''',
            prestige, player, banner, prestige)
    else:
        query_do(c, '''INSERT INTO player_banners VALUES (%s, %s, %s, %s)''',
                 player, banner, prestige, temp)
Esempio n. 5
0
def crunch_misc(c, g):
    player = g["name"]
    ktyp = g["ktyp"]

    if g["xl"] >= 13:
        banner.award_banner(c, player, "okawaru", 1)

    if g["goldfound"] >= 1000:
        banner.award_banner(c, player, "gozag", 1)

    if g["xl"] >= 9 and nemelex.is_nemelex_choice(g["char"], g["start"]):
        ban = "nemelex:" + g["char"]
        banner.award_banner(c, player, ban, 1)
    if g["xl"] >= 9 and query.check_xl9_streak(c, player, g["start"]):
        banner.award_banner(c, player, "cheibriados", 1)
    if g["sc"] >= 1000:
        og = query.previous_combo_highscore(c, g)
        if og and og[0] != player and og[1] >= 1000 and og[1] < g["sc"]:
            banner.award_banner(c, player, "dithmenos", 1)

    killer = loaddb.strip_unique_qualifier(g.get("killer") or "")
    if uniq.is_uniq(killer):
        query_do(
            c,
            """INSERT INTO deaths_to_uniques
                            (player, uniq, start_time, end_time)
                     VALUES (%s, %s, %s, %s)""",
            player.lower(),
            killer,
            g["start"],
            g["end"],
        )
        cuniqdeaths = query.count_deaths_to_distinct_uniques(c, player)
        olduniqdeaths = query.lookup_deaths_to_distinct_uniques(c, player)
        if cuniqdeaths > olduniqdeaths:
            query.update_deaths_to_distinct_uniques(c, player, cuniqdeaths, g["end"])
Esempio n. 6
0
def flush_clan_banners(c):
  query_do(c, '''TRUNCATE TABLE clan_banners''')
Esempio n. 7
0
def award_clan_banner(c, captain, banner, prestige):
  query_do(c, '''INSERT INTO clan_banners VALUES (%s, %s, %s)''',
           captain, banner, prestige)
Esempio n. 8
0
def flush_temp_banners(c):
  query_do(c, '''DELETE FROM player_banners WHERE temp = true''')
Esempio n. 9
0
def flush_clan_banners(c):
    query_do(c, '''TRUNCATE TABLE clan_banners''')
Esempio n. 10
0
def award_clan_banner(c, captain, banner, prestige):
    query_do(c, '''INSERT INTO clan_banners VALUES (%s, %s, %s)''', captain,
             banner, prestige)
Esempio n. 11
0
def flush_temp_banners(c):
    query_do(c, '''DELETE FROM player_banners WHERE temp = true''')