def setChat(self, chat):
        self.clearChatbox()
        Avatar.setChat(self, chat)
        self.chat = chat
        chatDial = None
        questionDial = self.voice.getSoundFile('question')
        question02Dial = None
        gruntDial = self.voice.getSoundFile('grunt')
        statementDial = self.voice.getSoundFile('statement')
        if self.voice == Voice.NORMAL:
            question02Dial = self.voice.getSoundFile('question_2')

        if '!' in self.chat:
            chatDial = self.audio3d.loadSfx(gruntDial)
        elif '?' in self.chat:
            questionDials = [questionDial]
            if self.voice == Voice.NORMAL:
                questionDials.append(question02Dial)
            chatDial = self.audio3d.loadSfx(random.choice(questionDials))
        else:
            chatDial = self.audio3d.loadSfx(statementDial)
        self.chatDial = chatDial

        if self.variant == Variant.SKELETON:
            self.audio3d.attachSoundToObject(self.chatDial, self)
        else:
            self.audio3d.attachSoundToObject(self.chatDial, self.headModel)
        base.playSfx(self.chatDial, node=self)
    def disable(self):
        base.taskMgr.remove(self.uniqueName('monitorRange'))
        self.stopBlink()
        self.fsm.requestFinalState()
        self.fsm = None
        self.neutralFSM.requestFinalState()
        self.neutralFSM = None
        self.charId = None
        self.geoEyes = None
        self.avatarType = None
        self.isInRange = None
        self.currentPointLetter = None
        self.walkIval = None
        self.currentChat = None
        self.talkEnabled = None
        self.speechSound = None
        self.chatsSinceLastNoise = None

        self.eyes = None
        self.lpupil = None
        self.rpupil = None
        self.eyesOpen = None
        self.eyesClosed = None
        DistributedAvatar.disable(self)
        Avatar.disable(self)
        DistributedSmoothNode.disable(self)
 def disable(self):
     if self.suitTrack:
         self.suitTrack.finish()
         DelayDelete.cleanupDelayDeletes(self.suitTrack)
         self.suitTrack = None
     self.animFSM.requestFinalState()
     self.cleanup()
     Avatar.disable(self)
 def setupNameTag(self, tempName=None):
     Avatar.setupNameTag(self, tempName=tempName)
     if self.nametag:
         if self.level > 0:
             self.nametag.setText(self.nametag.getText() +
                                  '\n%s\nLevel %s' %
                                  (self.dept.getName(), self.level))
         else:
             self.nametag.setText(self.nametag.getText() + '\n%s' %
                                  (self.dept.getName()))
    def generateCog(self, isLose=0):
        self.cleanup()
        if not isLose:
            if self.variant == Variant.SKELETON or self.variant == Variant.ZOMBIE:
                self.loadModel(
                    'phase_5/models/char/cog%s_robot-zero.bam' %
                    str(self.suit), 'body')
            else:
                self.loadModel(
                    'phase_3.5/models/char/suit%s-mod.bam' % str(self.suit),
                    'body')
            animations = SuitGlobals.animations
            anims = {}
            for anim in animations:
                if self.suit not in anim.getSuitTypes():
                    continue
                path = 'phase_%s/models/char/suit%s-%s.bam' % (
                    anim.getPhase(), self.suit, anim.getFile())
                anims[anim.getName()] = path

            self.loadAnims(anims, 'body')
            self.generateHealthBar()
            self.generatePropeller()
        else:
            if self.variant == Variant.SKELETON or self.variant == Variant.ZOMBIE:
                self.loadModel(
                    'phase_5/models/char/cog%s_robot-lose-mod.bam' %
                    str(self.suit), 'body')
            else:
                self.loadModel(
                    'phase_4/models/char/suit%s-lose-mod.bam' % str(self.suit),
                    'body')
            self.loadAnims(
                {
                    'lose':
                    'phase_4/models/char/suit%s-lose.bam' % str(self.suit)
                }, 'body')
        if self.variant != Variant.SKELETON:
            self.headModel = self.head.generate()
            self.headModel.reparentTo(self.find('**/joint_head'))
        if self.suitPlan.getName() == SuitGlobals.VicePresident:
            self.headModel.setScale(0.35)
            self.headModel.setHpr(270, 0, 270)
            self.headModel.setZ(-0.1)
            self.headModel.loop('neutral')
        self.setClothes()
        self.setAvatarScale(self.suitPlan.getScale() /
                            SuitGlobals.scaleFactors[self.suit])
        self.setHeight(self.suitPlan.getHeight())
        self.setupNameTag()
        Avatar.initShadow(self)
 def __init__(self, cr):
     try:
         self.DistributedAvatar_initialized
         return
     except:
         self.DistributedAvatar_initialized = 1
     Avatar.__init__(self)
     DistributedActor.__init__(self, cr)
     self.health = 0
     self.maxHealth = 0
     self.healthLabel = None
     self.healthLabelTrack = None
     self.place = 0
     self.hood = None
     return
Esempio n. 7
0
    def __init__(self, cr):
        try:
            self.DistributedAvatar_initialized
            return
        except:
            self.DistributedAvatar_initialized = 1

        Avatar.__init__(self)
        DistributedActor.__init__(self, cr)
        self.health = 0
        self.maxHealth = 0
        self.healthLabel = None
        self.healthLabelTrack = None
        self.place = 0
        self.hood = None
        return
 def __init__(self):
     Avatar.__init__(self)
     self.name = None
     self.dept = None
     self.suit = None
     self.head = None
     self.headModel = None
     self.variant = None
     self.handColor = None
     self.voice = None
     self.chat = None
     self.chatDial = None
     self.shadow = None
     self.propeller = None
     self.smallExp = None
     self.largeExp = None
     self.explosion = None
     self.hasSpawned = False
     self.suitTrack = None
     self.timestampAnimTrack = None
     self.propellerSounds = {}
     self.healthBar = None
     self.healthBarGlow = None
     self.condition = 0
     self.avatarType = CIGlobals.Suit
     self.suitPlan = None
     self.animFSM = ClassicFSM('Suit', [
         State('off', self.enterOff, self.exitOff),
         State('neutral', self.enterNeutral, self.exitNeutral),
         State('walk', self.enterWalk, self.exitWalk),
         State('die', self.enterDie, self.exitDie),
         State('win', self.enterWin, self.exitWin),
         State('attack', self.enterAttack, self.exitAttack),
         State('flail', self.enterFlail, self.exitFlail),
         State('flyDown', self.enterFlyDown, self.exitFlyDown),
         State('flyAway', self.enterFlyAway, self.exitFlyAway),
         State('flyNeutral', self.enterFlyNeutral, self.exitFlyNeutral),
         State('trayWalk', self.enterTrayWalk, self.exitTrayWalk),
         State('trayNeutral', self.enterTrayNeutral, self.exitTrayNeutral)
     ], 'off', 'off')
     self.animFSM.enterInitialState()
     self.initializeBodyCollisions()
     return
 def __init__(self):
     Avatar.__init__(self)
     self.fsm = ClassicFSM('VicePresident', [
         State('off', self.enterOff, self.exitOff),
         State('throwGear', self.enterThrowGear, self.exitThrowGear),
         State('neutral', self.enterNeutral, self.exitNeutral),
         State('jump', self.enterJump, self.exitJump),
         State('emerge', self.enterEmerge, self.exitEmerge),
         State('knockDown', self.enterKnockDown, self.exitKnockDown),
         State('riseUp', self.enterRiseUp, self.exitRiseUp)
     ], 'off', 'off')
     self.fsm.enterInitialState()
     self.track = None
     self.treads = None
     self.rearDoor = None
     self.frontDoor = None
     self.gearModel = None
     self.gearThrowIval = None
     self.knockedDown = False
     self.chirps = base.audio3d.loadSfx("phase_4/audio/sfx/SZ_TC_bird1.mp3")
     base.audio3d.attachSoundToObject(self.chirps, self)
     self.vp_torso_node = NodePath('vp_torso_node')
 def setName(self, nameString, charName):
     Avatar.setName(self,
                    nameString,
                    avatarType=self.avatarType,
                    charName=charName,
                    createNow=1)
Esempio n. 11
0
 def setChat(self, chat):
     Avatar.setChat(self, chat)
Esempio n. 12
0
 def setName(self, name):
     Avatar.setName(self, name)
 def delete(self):
     Avatar.delete(self)
     self.cleanup()
 def setChat(self, chat):
     Avatar.setChat(self, chat)
 def setName(self, name):
     Avatar.setName(self, name)
 def initializeLocalCollisions(self, name):
     self.notify.info('Initializing Local Collisions!')
     Avatar.initializeLocalCollisions(self, 1, 3, name)
 def initializeBodyCollisions(self):
     self.notify.info('Initializing Body Collisions!')
     Avatar.initializeBodyCollisions(self, self.avatarType, 6, 2)
     self.initializeRay(self.avatarType, 2)