示例#1
0
    def addCharacter(self, char):
        player = self.player
        char.charInfo = CharacterInfo(char)

        m = Mob(char.spawn, player.zone, player, char)
        m.simObject = player.simObject
        m.charIndex = len(self.members)

        char.mob = m

        self.members.append(char)

        self.charInfos[m.charIndex] = char.charInfo

        for item in char.items:
            if item.slot == RPG_SLOT_CURSOR:
                player.cursorItem = item  # catch any items in character cursor_slot
                # Assign cursor item to current character to avoid
                #  confusion and any item handling problems.
                player.cursorItem.setCharacter(player.curChar)
                player.updateCursorItem(None)
                break

        player.zone.simAvatar.mind.callRemote("addPlayerMobInfo",
                                              player.simObject.id, m.mobInfo,
                                              char.spawn.getSpawnInfo())

        player.zone.activeMobs.append(m)

        if char.dead:
            player.zone.detachMob(m)

        player.restoreTradeItems()

        player.rootInfo = RootInfo(player, self.charInfos)
        player.mind.callRemote("setRootInfo", player.rootInfo)

        player.updateKOS()
示例#2
0
 def addCharacter(self,char):
     player = self.player
     char.charInfo = CharacterInfo(char)
     
     m = Mob(char.spawn,player.zone,player,char)
     m.simObject = player.simObject
     m.charIndex = len(self.members)
     
     char.mob = m
     
     self.members.append(char)
     
     self.charInfos[m.charIndex] = char.charInfo
     
     for item in char.items:
         if item.slot == RPG_SLOT_CURSOR:
             player.cursorItem = item # catch any items in character cursor_slot
             # Assign cursor item to current character to avoid
             #  confusion and any item handling problems.
             player.cursorItem.setCharacter(player.curChar)
             player.updateCursorItem(None)
             break
     
     player.zone.simAvatar.mind.callRemote("addPlayerMobInfo",player.simObject.id,m.mobInfo,char.spawn.getSpawnInfo())
     
     player.zone.activeMobs.append(m)
     
     if char.dead:
         player.zone.detachMob(m)
     
     player.restoreTradeItems()
     
     player.rootInfo = RootInfo(player,self.charInfos)
     player.mind.callRemote("setRootInfo",player.rootInfo)
     
     player.updateKOS()