Changeset 106

Show
Ignore:
Timestamp:
10/14/07 14:27:41 (2 years ago)
Author:
elghinn
Message:
 
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • adventure/world.py

    r105 r106  
    1010        self.muc = muc 
    1111        self.places = dict() # {'place_name': place, ...} 
    12         self.things = dict()  
     12        self.things = dict() 
     13        self.players = dict() 
    1314 
    1415        doc = xml_parse(filename).documentElement 
     
    135136        # Add the valid player 
    136137        if not player: 
    137             player = add(Player(self, pres.getTo().getResource(), pres.getFrom())) 
     138            player = Player(self, pres.getTo().getResource(), pres.getFrom()) 
    138139            player.presence = pres 
     140            self.players[player.name] = player 
    139141            move_thing(player, attributes['start']) 
    140142            player.send_message('Help!', 'Send "?" to get a list of available commands any time.') 
     
    150152     
    151153        # Remove the player instantly 
    152         if pres.type == :error || pres.type == :unavailable : 
    153             move_thing(player, None) 
    154             delete_element(player) 
     154        if pres.getType() in ('error', 'unavailable'): 
     155            self.move_thing(player, None) 
     156            del self.players[player.name] 
    155157 
    156158    def handle_message(msg): 
    157159        player = None 
    158160        for thing in self.things.values(): 
    159             if isinstance(thing, Player) and msg.getTo().getResource() == None && msg.getFrom() == thing.jid: 
     161            if isinstance(thing, Player) and msg.getTo().getResource() == None and msg.getFrom() == thing.jid: 
    160162                player = thing 
    161163