Пример #1
0
 def post(self):
     """Creates a new Player Character.
     """
     _trace = TRACE + "APICreatePlayerCharacters:: post() "
     logging.info(_trace)
     user = self.get_user()
     if user is None:
         r = API404
         r[MSG] = "User not found."
         return self.response.out.write(simplejson.dumps(r))
     key = self.request.get("key")
     logging.info(_trace + "key = " + key)
     template = db.get(key)
     if template is not None:
         try:
             name = self.request.get("name")
         except AttributeError:
             r = API400
             r[MSG] = "Missing 'name' parameter."
             return self.response.out.write(simplejson.dumps(r))
         logging.info(_trace + "name = " + name)
         player = character.createPlayerFromTemplate(template, name, user)
         r = API201
         r[MSG] = "Fortune favors the bold!"
         r[player.class_name()] = character.getJSONPlayer(player)
     else:
         r = API404
         r[MSG] = "Template not found for key " + key + " ."
     return self.response.out.write(simplejson.dumps(r))
Пример #2
0
 def post(self):
     '''Creates a new Player Character.
     '''
     _trace = TRACE+'APICreatePlayerCharacters:: post() '
     logging.info(_trace)        
     user = self.get_user()
     if user is None:
         r = API404
         r[MSG] = 'User not found.'
         return self.response.out.write(simplejson.dumps(r))            
     key = self.request.get('key')
     logging.info(_trace+'key = '+key)  
     template = db.get(key)
     if template is not None:
         try:
             name = self.request.get('name')
         except AttributeError:
             r = API400
             r[MSG] = 'Missing \'name\' parameter.' 
             return self.response.out.write(simplejson.dumps(r))                     
         logging.info(_trace+'name = '+name)                           
         player = character.createPlayerFromTemplate(template, name, user)
         r = API201
         r[MSG] = 'Fortune favors the bold!'
         r[player.class_name()] = character.getJSONPlayer(player)
     else:    
         r = API404
         r[MSG] = 'Template not found for key '+key+' .'        
     return self.response.out.write(simplejson.dumps(r)) 
Пример #3
0
 def get(self, player_party_key, monster_party_key):
     _trace = TRACE+'LootHandler.get() '
     logging.info(_trace)   
     keys = [player_party_key, monster_party_key]
     parties = db.get(keys)
     _party = None
     npc_party = None
     for p in parties:
         if p.class_name() == 'NonPlayerParty':
             npc_party = p
         elif p.class_name() == 'PlayerParty':
             _party = p
     
     party_key = str(_party.key())
     _player = character.getJSONPlayer(_party.leader)
     gold, entities = party.getGoldLoot(npc_party, _party)
     db.put(entities)
     user = users.get_current_user()
                     
     template_values = {
         'player': _player,
         'party_key': party_key,
         'gold': gold,
         'user': user
     }        
     generate(self, 'character_quest.html', template_values)
Пример #4
0
 def get(self, key):
     _trace = TRACE+'CharacterSheetHandler.get() '
     logging.info(_trace)        
     _character = db.get(key) 
     _player = character.getJSONPlayer(_character)
     _party = _character.party
     user = users.get_current_user()
     template_values = {
         'player': _player,
         'party': _party,
         'user': user
     }        
     generate(self, 'character_sheet.html', template_values)
Пример #5
0
 def get(self, key):
     """Returns a PlayerCharacter provided a key.
     """
     _trace = TRACE + "APIPlayerCharacters:: get() "
     logging.info(_trace)
     _character = db.get(key)
     if _character is not None and _character.class_name() == "Player":
         r = API200
         r[MSG] = "A hero returns!"
         r[_character.class_name()] = character.getJSONPlayer(_character)
     else:
         r = API404
         r[MSG] = "PlayerCharacter not found for key " + key + " ."
     return self.response.out.write(simplejson.dumps(r))
Пример #6
0
 def get(self, key):
     _trace = TRACE+'CharacterQuestHandler.get() '
     logging.info(_trace)        
     _character = db.get(key) 
     _player = character.getJSONPlayer(_character)
     party_key = str(_character.party.key())
     user = users.get_current_user()
           
     template_values = {
         'player': _player,
         'party_key': party_key,
         'user': user
     }        
     generate(self, 'character_quest.html', template_values)
Пример #7
0
 def get(self, key):
     '''Returns a PlayerCharacter provided a key.
     '''
     _trace = TRACE+'APIPlayerCharacters:: get() '
     logging.info(_trace)        
     _character = db.get(key)
     if _character is not None and _character.class_name() == 'Player':
         r = API200
         r[MSG] = 'A hero returns!'
         r[_character.class_name()] = character.getJSONPlayer(_character)
     else:
         r = API404
         r[MSG] = 'PlayerCharacter not found for key '+key+' .'  
         
     return self.response.out.write(simplejson.dumps(r)) 
Пример #8
0
 def get(self, player_key, monster_party_key):
     _trace = TRACE+'CharacterAttackHandler.get() '
     logging.info(_trace)        
     _character = db.get(player_key) 
     _party = db.get(monster_party_key)
     monster_party = party.getJSONParty(_party)
     _player = character.getJSONPlayer(_character)        
     party_key = str(_character.party.key())
     user = users.get_current_user()
           
     template_values = {
         'player': _player,
         'monster_party': monster_party,
         'party_key': party_key,
         'user': user
     }        
     generate(self, 'character_attack.html', template_values)