Example #1
0
def safe_update_player_scores(c):
  players = query.get_players(c)

  query.audit_flush_player(c)
  banner.flush_temp_banners(c)

  pmap = { }

  for p in players:
    record_points(pmap, p, 0, team_points=False)
    info("Processing banners for " + p)
    banner.process_banners(c, p)

  check_misc_points(c, pmap)
  check_temp_trophies(c, pmap)
  check_banners(c)
  apply_point_map(c, pmap)
  compute_player_only(c)

  # And award overall top banners.
  banner.assign_top_player_banners(c)

  # Check to see whether we need a new Nemelex' Choice.
  if nemelex.need_new_combo(c):
    nemelex.pick_combo(nemelex.eligible_combos(c))
Example #2
0
def apply_stepdowns(c):
  for p in query.get_players(c):
    points = query.player_stepdown_points(c, p)
    stepdowned_points = compute_stepdown(points)
    #info("stepdown for %s: %s, %s" % (p, points, stepdowned_points))
    if stepdowned_points != 0:
      assign_points(c, 'combo_god_win', p, stepdowned_points, False)
Example #3
0
    def close_gamesession(self):

        triples = []
        for i in get_players(self.node, self.game_session_id):
            triples.append(Triple(URI(ns + i), None, None))
            triples.append(Triple(None, None, URI(ns + i)))
        self.node.remove(triples)

        triples = []
        # cleanup
        triples.append(Triple(URI(ns +  self.game_session_id),
                              URI(rdf + "type"),
                              URI(ns + "GameSession")))
        # setting the state for the new game session
        triples.append(Triple(URI(ns + self.game_session_id),
                              URI(ns + "HasStatus"),
                              None))
        # setting the number of player for the game session
        triples.append(Triple(URI(ns + self.game_session_id),
                              URI(ns + "numberOfPlayers"),
                              None))
        self.node.remove(triples)

        self.close_subscriptions()
        self.leave_sib()
Example #4
0
def safe_update_player_scores(c):
  players = query.get_players(c)

  query.audit_flush_player(c)
  banner.flush_temp_banners(c)

  pmap = { }

  for p in players:
    record_points(pmap, p, 0, team_points=False)
    info("Processing banners for " + p)
    banner.process_banners(c, p)

  check_misc_points(c, pmap)
  check_temp_trophies(c, pmap)
  check_banners(c)
  apply_stepdowns(c)
  apply_point_map(c, pmap)
  compute_player_only(c)

  # And award overall top banners.
  banner.assign_top_player_banners(c)

  # Check to see whether we need a new Nemelex' Choice.
  if nemelex.need_new_combo(c):
    nemelex.pick_combo(nemelex.eligible_combos(c))
Example #5
0
def apply_stepdowns(c):
  for p in query.get_players(c):
    points = query.player_stepdown_points(c, p)
    stepdowned_points = compute_stepdown(points)
    #info("stepdown for %s: %s, %s" % (p, points, stepdowned_points))
    if stepdowned_points != 0:
      assign_points(c, 'combo_god_win', p, stepdowned_points, False)
Example #6
0
def player_pages(c):
    info("Updating all player pages")
    #  render(c, 'banners')
    render(c, 'all-players-ranks')
    #  render(c, 'wins-and-kills')
    render(c, 'current-games')
    render(c, 'combo-scoreboard')
    render(c, 'combo-leaders')
    render(c, 'killers')
    render(c, 'search')
    for p in query.get_players(c):
        player_page(c, p)
Example #7
0
def player_pages(c):
  info("Updating all player pages")
  render(c, 'species-classes')
  render(c, 'banners')
  render(c, 'all-players')
  render(c, 'wins-and-kills')
  render(c, 'current-games')
  render(c, 'combo-scoreboard')
  render(c, 'combo-leaders')
  render(c, 'killers')
  render(c, 'gkills')
  for p in query.get_players(c):
    player_page(c, p)
def player_pages(c):
    info("Updating all player pages")
    render(c, 'species-backgrounds')
    render(c, 'banners')
    render(c, 'all-players')
    render(c, 'wins-and-kills')
    render(c, 'current-games')
    render(c, 'combo-scoreboard')
    render(c, 'combo-leaders')
    render(c, 'killers')
    render(c, 'gkills')
    for p in query.get_players(c):
        player_page(c, p)
Example #9
0
def safe_update_player_scores(c):
  players = query.get_players(c)

  banner.flush_temp_banners(c)

  pmap = { }

  for p in players:
    info("Processing banners for " + p)
    banner.process_banners(c, p)

  check_banners(c)
  update_streaks(c)
  query.update_all_player_ranks(c)
  query.update_player_scores(c)

  # And award overall top banners.
  banner.assign_top_player_banners(c)

  # Check to see whether we need a new Nemelex' Choice.
  if nemelex.need_new_combo(c):
    nemelex.pick_combo(nemelex.eligible_combos(c))
Example #10
0
    def parse_command(self, cmd):
        parms = []
        if len(cmd) > 1:
            for a in cmd.split(" ")[1:]:
                parms.append(a)
        action = cmd.split(" ")[0]
        try:
            # this action modifies the player's balance
            if action == "balance" and len(parms) == 2:
                players = get_players(self.node, self.game_session_id)
                nick = parms[0] + "_" + self.game_session_id
                if nick in players:
                    triples_u = []     
                    triples_o = []
                    old_balance = get_cash_balance(self.node, nick)
                    triples_o.append(Triple(URI(ns + nick),
                                            URI(ns + "cashBalance"),
                                            URI(str(old_balance))))
                    triples_u.append(Triple(URI(ns + nick),
                                            URI(ns + "cashBalance"),
                                            URI(str(parms[1]))))
                    self.node.update(triples_u, triples_o)
                    print self.heading + " player " + parms[0]  + " has now " + str(get_cash_balance(self.node, nick))

            # this action alters the dice for the next turn
            elif action == "nextdice" and len(parms) == 1:
                self.nextdice=int(parms[0])

            elif action == "nexthitch" and len(parms) == 1:
                self.nexthitch=parms[0]
            
            elif action == "nextprob" and len(parms) == 1:
                self.nextprob=parms[0]
            else:
                print "Command not found."

        except Exception:
            print "Parameters not valid."
Example #11
0
 def parse_command(self, cmd):
     parms = []
     if len(cmd) > 1:
         for a in cmd.split(" ")[1:]:
             parms.append(a)
     action = cmd.split(" ")[0]
     
     if action == "balance" and len(parms) == 2:
         players = get_players(self.node, self.game_session_id)
         for i in players:
             if i == parms[0] + "_" + self.game_session_id:
                 triples_u = []     
                 triples_o = []
                 old_balance = get_cash_balance(self.node, i)
                 triples_o.append(Triple(URI(ns + i),
                     URI(ns + "cashBalance"),
                     URI(ns + str(old_balance))))
                 triples_u.append(Triple(URI(ns + i),
                     URI(ns + "cashBalance"),
                     URI(ns + str(old_balance + int(parms[1])))))
                 self.node.update(triples_u, triples_o)
                 print self.heading + " player " + parms[0]  + " has now " + str(get_cash_balance(self.node, i))
     elif action == "nextdice" and len(parms) == 1:
         self.nextdice=int(parms[0])
Example #12
0
def compute_player_only(c):
  for p in query.get_players(c):
    points = query.player_specific_points(c, p)
    loaddb.update_player_only_score(c, p, points)
Example #13
0
def player(config, identifier):
    for player in query.get_players(identifier):
        click.echo(player)
Example #14
0
def compute_player_only(c):
  for p in query.get_players(c):
    points = query.player_specific_points(c, p)
    loaddb.update_player_only_score(c, p, points)