コード例 #1
0
    def character_info_action(self, user_name):
        character = self.online_users[user_name].character
        team_name = character.team_name
        if not team_name:
            team_name = ""
        locale = self.online_users[user_name].locale
        character_info = [
            character.name,
            smarty.get_race_name(character.race_id, locale),
            smarty.get_class_name(character.class_id, locale),
            str(character.level),
            str(character.health),
            str(character.mana),
            str(character.strength),
            str(character.dexterity),
            str(character.intellect),
            str(character.wisdom),
            str(character.constitution),
            str(character.attack),
            str(character.defence),
            str(character.magic_attack),
            str(character.magic_defence),
            str(character.armor),
            str(character.experience),
            str(smarty.level_up_experiences[character.level]),
            str(character.gold),
            team_name,
            str(character.rank_in_team)
        ]

        # if there is battle character - use it
        if self.online_users[user_name].battle_character:
            battle_character = self.online_users[user_name].battle_character
        else: # use common character
            battle_character = self.online_users[user_name].character
        battle_character_info = [
            str(battle_character.health),
            str(battle_character.mana),
            str(battle_character.strength),
            str(battle_character.dexterity),
            str(battle_character.intellect),
            str(battle_character.wisdom),
            str(battle_character.constitution),
            str(battle_character.attack),
            str(battle_character.defence),
            str(battle_character.magic_attack),
            str(battle_character.magic_defence),
            str(battle_character.armor),
            str(battle_character.experience),
            str(battle_character.gold)
        ]
        return Action(200, {"character_info" : ":".join(character_info), "battle_character_info" : ":".join(battle_character_info)})
コード例 #2
0
ファイル: skirmish_server.py プロジェクト: shamadu/skirmish
 def post(self, *args, **kwargs):
     if self.get_argument("action") == 'drop':
         self.db_manager.remove_character(self.current_user)
     elif self.get_argument("action") == 'change_location':
         self.battle_manager.user_leave(self.current_user)
         self.users_manager.change_location(self.current_user, int(self.get_argument("location")))
         self.write(self.render_div_users())
     elif self.get_argument("action") == 'put_on':
         if not self.characters_manager.put_on_item(self.current_user, self.get_argument("item_id")):
             self.write("false")
     elif self.get_argument("action") == 'take_off':
         self.characters_manager.take_off_item(self.current_user, self.get_argument("item_id"))
     elif self.get_argument("action") == "create_team":
         self.write(self.characters_manager.create_team(self.current_user, self.get_argument("team_name")))
     elif self.get_argument("action") == "promote_team":
         self.characters_manager.promote_user(self.current_user, self.get_argument("user_name"))
     elif self.get_argument("action") == "demote_team":
         self.characters_manager.demote_user(self.current_user, self.get_argument("user_name"))
     elif self.get_argument("action") == "remove_team":
         self.characters_manager.remove_user_from_team(self.current_user, self.get_argument("user_name"))
     elif self.get_argument("action") == "invite_team":
         self.write(self.characters_manager.invite_user_to_team(self.current_user, self.get_argument("user_name")))
     elif self.get_argument("action") == "confirm_team":
         self.characters_manager.user_join_team(self.current_user, self.get_argument("user_name"), self.get_argument("team_name"))
     elif self.get_argument("action") == "decline_team":
         pass
     elif self.get_argument("action") == "leave_team":
         self.characters_manager.user_leave_team(self.current_user)
     elif self.get_argument("action") == "learn_spell":
         self.characters_manager.learn_spell(self.current_user, self.get_argument("spell_id"))
     elif self.get_argument("action") == 'join':
         self.battle_manager.user_join(self.current_user)
     elif self.get_argument("action") == 'leave':
         self.battle_manager.user_leave(self.current_user)
     elif self.get_argument("action") == 'turn_do':
         self.battle_manager.user_turn(self.current_user, self.get_argument("turn_info"))
     elif self.get_argument("action") == 'turn_cancel':
         self.battle_manager.user_turn_cancel(self.current_user)
     elif self.get_argument("action") == 'new_message':
         message = {
             "from": self.current_user,
             "message_type": self.get_argument("message_type"),
             "body": self.get_argument("body")
             }
         if self.get_argument("message_type") == "private":
             message["to"] = self.get_argument("to")
         self.messager.new_message(self.current_user, message)
     elif self.get_argument("action") == 'shop_get_item':
         item_id = int(self.get_argument("item_id"))
         self.write(self.render_item_description(item_id, True))
     elif self.get_argument("action") == 'db_get_item':
         item_id = int(self.get_argument("item_id"))
         if item_id >= items_manager.build_id(10, 0) and item_id < items_manager.build_id(18, 0):
             spell = spells_manager.get_spell(item_id, self.locale)
             self.write(self.render_string("spell_description.html",
                 spell=spell,
                 class_name=smarty.get_class_name(spell.class_id, self.locale),
                 substance_name=smarty.get_substance_name(spell.class_id, self.locale)))
         else:
             self.write(self.render_item_description(item_id, False))
     elif self.get_argument("action") == 'buy_item':
         self.characters_manager.buy_item(self.current_user, self.get_argument("item_id"))
     elif self.get_argument("action") == 'open_chat':
         self.users_manager.open_chat(self.current_user, self.get_argument("user_name"), self.get_argument("message", ""))
     elif self.get_argument("action") == 'close_chat':
         self.users_manager.close_chat(self.current_user, self.get_argument("user_name"))
     elif self.get_argument("action") == 'change_gold_tax':
         self.characters_manager.change_gold_tax(self.current_user, self.get_argument("strategy"))
     elif self.get_argument("action") == 'change_gold_sharing':
         self.characters_manager.change_gold_sharing(self.current_user, self.get_argument("strategy"))
     elif self.get_argument("action") == 'change_experience_sharing':
         self.characters_manager.change_experience_sharing(self.current_user, self.get_argument("strategy"))