Esempio n. 1
0
def goto(player, args):
    """
    admin only. goto any room.
    useage: goto <x> <y> <map_name>
    """
    #. parse args
    if len(args) == 3:
        x, y, map_name = args
    elif len(args) == 2:
        x, y = args
        map_name = player.character.map_name
    else:
        return invalid_args(player)
    try:
        x, y = int(x), int(y)
    except Exception:
        return invalid_args(player)
    #. move player
    src_room, dst_room = status.WORLD.move_character_to(player.character, (x, y), map_name)
    if src_room and dst_room:
        message_to_room(src_room, "%s leave here.\n" % (player.character.name))
        player_message_to_room(player, "%s come to here.\n" % (player.character.name))
        return look(player, None)
    else:
        player.send("You can't!\n")
Esempio n. 2
0
 def notice_players(self, src_room, dst_room, direction_name):
     """docstring for notice_players"""
     msg_go = "%s go to %s.\n" % (self.name, direction_name)
     msg_come = "%s come to here.\n" % (self.name)
     if self.is_mob:
         message_to_room(src_room, msg_go)
         message_to_room(dst_room, msg_come)
     else:
         player = status.PLAYERS[self.name]
         message_to_room(src_room, msg_go)
         player_message_to_room(player, msg_come)
Esempio n. 3
0
def fight():
    """docstring for fight"""
    for player in status.PLAYERS.values():
        character = player.character
        if character.get_hp() >= 1:
            for target in character.get_combat_targets():
                #. player hit target
                damage = character.hit(target)
                player.send("you hit %s cause damage %s!\n" % (target.get_name(), damage))
                if target.is_player():
                    target.send("%s hit you cause damage %s!\n" % (character.get_name(), damage))
                player_message_to_room(player, "%s hit %s cause damage %s!\n" % 
                                          (character.get_name(), target.get_name(), damage))
                #. target hit player
                damage = target.hit(character)
                player.send("%s hit you cause damage %s!\n" % (target.get_name(), damage))
                player_message_to_room(player, "%s hit %s cause damage %s!\n" % 
                                          (target.get_name(), character.get_name(), damage))
                #. send prompt
                prompt = character.get_prompt()
                player.send(prompt)
        else:
            player.send_cc('^RYou Dead!^~\n')
            character.increase_hp(1)