예제 #1
0
 def bot_scored(self, team, message=None):
     """ Callback for when a bot scores """
     if message is None:
         message = "%s botnet has scored" % team.name
     Notification.create_team(team, "Botnet Scored", message, SUCCESS)
     self.io_loop.add_callback(self.push_team, team.id)
     self.io_loop.add_callback(self.push_scoreboard)
예제 #2
0
 def team_file_shared(self, user, file_upload):
     ''' Callback when a team file share is created '''
     message = "%s has shared the file '%s'" % (
         user.handle, file_upload.file_name,
     )
     Notification.create_team(user.team, "File Share", message, INFO)
     self.io_loop.add_callback(self.push_team, user.team.id)
예제 #3
0
 def team_paste_shared(self, user, paste_bin):
     ''' Callback when a pastebin is created '''
     message = "%s posted '%s' to the team paste bin" % (
         user.handle, paste_bin.name
     )
     Notification.create_team(user.team, "Text Share", message, INFO)
     self.io_loop.add_callback(self.push_team, user.team.id)
예제 #4
0
 def user_joined_team(self, user):
     ''' Callback when a user joins a team'''
     message = "%s has joined the %s team" % (
         user.handle, user.team.name,
     )
     Notification.create_team(user.team, "New Team Member", message, INFO)
     self.io_loop.add_callback(self.push_team, user.team.id)
예제 #5
0
 def flag_decayed(self, team, flag):
     """ Callback for when a bot is added """
     message = (
         "The value of Flag %s has decreased due to other team captures - score adjusted."
         % (flag.name, ))
     Notification.create_team(team, "Flag Value Decreased", message, INFO)
     self.io_loop.add_callback(self.push_team, team.id)
예제 #6
0
 def item_purchased(self, user, item):
     ''' Callback when a team purchases an item '''
     message = "%s purchased %s from the black market" % (
         user.handle, item.name,
     )
     Notification.create_team(user.team, "Upgrade Purchased", message, SUCCESS)
     self.io_loop.add_callback(self.push_team, user.team.id)
     self.io_loop.add_callback(self.push_scoreboard)
예제 #7
0
 def user_joined_team(self, user):
     """ Callback when a user joins a team"""
     if options.teams:
         message = "%s has joined the %s team" % (user.handle, user.team.name)
         Notification.create_team(user.team, "New Team Member", message, INFO)
     else:
         message = "%s has joined the game" % (user.handle,)
         Notification.create_team(user.team, "New Player", message, INFO)
     self.io_loop.add_callback(self.push_team, user.team.id)
예제 #8
0
 def admin_score_update(self, team, message, value):
     """ Callback for when admin point change is made """
     if value < 0:
         icon = WARNING
     else:
         icon = SUCCESS
     Notification.create_team(team, "Admin Update",
                              "%s (%s)" % (message, str(value)), icon)
     self.io_loop.add_callback(self.push_team, team.id)
     self.io_loop.add_callback(self.push_scoreboard)
예제 #9
0
 def flag_penalty(self, user, flag):
     ''' Callback for when a flag is captured '''
     if len(GameLevel.all()) > 1:
         message = "%s was penalized on the '%s' flag in %s (Lvl %s)" % (
             user.team.name, flag.name, flag.box.name,
             GameLevel.by_id(flag.box.game_level_id).number)
     else:
         message = "%s was penalized on the '%s' flag in %s" % (
             user.team.name, flag.name, flag.box.name)
     Notification.create_team(user.team, "Flag Penalty", message, WARNING)
     self.io_loop.add_callback(self.push_team, user.team.id)
     self.io_loop.add_callback(self.push_scoreboard)
예제 #10
0
 def hint_taken(self, user, hint):
     ''' Callback for when a hint is taken '''
     if len(GameLevel.all()) > 1:
         message = "%s has taken a hint for %s (Lvl %s)" % (
             user.team.name, hint.box.name,
             GameLevel.by_id(hint.box.game_level_id).number)
     else:
         message = "%s has taken a hint for %s" % (user.team.name,
                                                   hint.box.name)
     Notification.create_team(user.team, "Hint Taken", message, INFO)
     self.io_loop.add_callback(self.push_team, user.team.id)
     self.io_loop.add_callback(self.push_scoreboard)
예제 #11
0
 def hint_taken(self, user, hint):
     """ Callback for when a hint is taken """
     if options.teams:
         message = "%s has taken a hint for %s" % (user.handle, hint.box.name)
     else:
         message = "%s has taken a hint for %s" % (user.team.name, hint.box.name)
     if len(GameLevel.all()) > 1:
         message = message + " (%s)" % (
             GameLevel.by_id(hint.box.game_level_id).name,
         )
     Notification.create_team(user.team, "Hint Taken", message, INFO)
     self.io_loop.add_callback(self.push_team, user.team.id)
     self.io_loop.add_callback(self.push_scoreboard)
예제 #12
0
 def team_paste_shared(self, user, paste_bin):
     ''' Callback when a pastebin is created '''
     message = "%s posted '%s' to the team paste bin" % (
         user.handle, paste_bin.name
     )
     evt_id = Notification.create_team(user.team, "Text Share", message, INFO)
     self.io_loop.add_callback(self.push_team, user.team.id)
예제 #13
0
 def flag_penalty(self, user, flag):
     """ Callback for when a flag is captured """
     if options.teams:
         message = "%s was penalized on '%s' in %s" % (
             user.handle,
             flag.name,
             flag.box.name,
         )
     else:
         message = "%s was penalized on '%s' in %s" % (
             user.team.name,
             flag.name,
             flag.box.name,
         )
     if len(GameLevel.all()) > 1:
         message = message + " (%s)" % (
             GameLevel.by_id(flag.box.game_level_id).name,
         )
     Notification.create_team(user.team, "Flag Penalty", message, WARNING)
     self.io_loop.add_callback(self.push_team, user.team.id)
     self.io_loop.add_callback(self.push_scoreboard)