def disable(self): self.stopSmooth() taskMgr.remove(self.uniqueName("watchTarget")) if self.pathVisRoot: self.pathVisRoot.removeNode() self.pathVisRoot = None DistributedAvatar.disable(self)
def delete(self): try: self.DistributedToon_deleted except: self.DistributedToon_deleted = 1 del self.tunnelTrack del self.dmgFadeIval del self.token del self.ghost del self.puInventory del self.equippedPU del self.backpack del self.animState2animId del self.animId2animState del self.firstTimeChangingHP del self.quests del self.tier del self.questHistory del self.busy del self.friends del self.tutDone del self.hoodsDiscovered del self.teleportAccess del self.lastHood del self.defaultShard del self.numGagSlots Toon.Toon.delete(self) DistributedAvatar.delete(self) DistributedSmoothNode.delete(self) return
def setHealth(self, health): if health > self.health: # We got an hp boost. Flash green. flashColor = VBase4(0, 1, 0, 1) elif health < self.health: # We got an hp loss. Flash red. flashColor = VBase4(1, 0, 0, 1) DistributedAvatar.setHealth(self, health) def doBossFlash(): if not self.isEmpty(): LerpColorScaleInterval(self, 0.2, flashColor).start() def clearBossFlash(): if not self.isEmpty(): self.clearColorScale() if self.isDead(): self.setChaseTarget(0) base.taskMgr.remove(self.uniqueName('monitorLocalAvDistance')) #if self.isInRange: # self.isInRange = False #self.gruntSound.play() if self.getLevel() > 12: if self.hpFlash: self.hpFlash.finish() self.hpFlash = None self.hpFlash = Sequence(Func(doBossFlash), Wait(0.2), Func(clearBossFlash)) self.hpFlash.start() self.updateHealthBar(health)
def __init__(self, cr): DistributedAvatar.__init__(self, cr) DistributedSmoothNode.__init__(self, cr) self.fsm = ClassicFSM('DistributedPieTurret', [ State('off', self.enterOff, self.exitOff), State('scan', self.enterScan, self.exitScan), State('shoot', self.enterShoot, self.exitShoot) ], 'off', 'off') self.fsm.enterInitialState() self.reloadTime = 0.25 self.cannon = None self.track = None self.owner = None self.gag = None self.readyGag = None self.hitGag = None self.explosion = None self.wallCollNode = None self.eventCollNode = None self.event = None self.suit = None self.eventId = None self.entities = [] self.upgradeID = None self.deathEvent = None
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 if self.santaHat: self.santaHat.removeNode() self.santaHat = None if self.headNode: self.headNode.removeNode() self.headNode = None self.eyes = None self.lpupil = None self.rpupil = None self.eyesOpen = None self.eyesClosed = None DistributedAvatar.disable(self) Avatar.disable(self)
def announceGenerate(self): DistributedAvatar.announceGenerate(self) taskMgr.add(self.__watchTargetTask, self.uniqueName("watchTarget")) self.startSmooth() self.reparentTo(render)
def __init__(self, cr): DistributedAvatar.__init__(self, cr) self.activities = {ACT_NONE: IdleActivity(self), ACT_IDLE: IdleActivity(self), ACT_VP_THROW: ThrowActivity(self), ACT_VP_STUN: Stun(self), ACT_VP_DAMAGE_REACT: DamageReact(self), ACT_DIE: Die(self), ACT_RANGE_ATTACK2: Jump(self)} self.frontDoorIval = None self.rearDoorIval = None self.throwGearsSnd = None self.treads = None self.addSound("stun", self.StunSoundPath) self.addSound("raise", self.RaiseSoundPath) self.addSound("jumpStart", self.JumpStartSoundPath) self.addSound("jumpEnd", self.JumpEndSoundPath) self.addSound("chirp", self.ChirpSoundPath) self.addSound("statement", self.StatementSoundPath) self.addSound("question", self.QuestionSoundPath) self.addSound("grunt", self.GruntSoundPath) self.chatSoundTable[CHAT_SHORT] = "statement" self.chatSoundTable[CHAT_MEDIUM] = "statement" self.chatSoundTable[CHAT_LONG] = "statement" self.chatSoundTable[CHAT_EXCLAIM] = "statement" self.chatSoundTable[CHAT_QUESTION] = "question" self.chatSoundTable[CHAT_HOWL] = "statement"
def announceGenerate(self): DistributedAvatar.announceGenerate(self) # Picked up by DistributedBattleZone: messenger.send('suitCreate', [self]) self.startSmooth() self.reparentTo(render)
def __init__(self, cr): DistributedAvatar.__init__(self, cr) Goon.__init__(self) self.moveTrack = None self.pathVisRoot = render.attachNewNode('pathVisRoot') self._watchTarget = None
def disable(self): self.stopSmooth() self.eyeNode = None self.hatType = None self.eyeColor = None self.idealEyeColor = None self.hatNode = None DistributedAvatar.disable(self)
def think(self): DistributedAvatar.think(self) # Update interpolated eye color if (self.idealEyeColor - self.eyeColor).lengthSquared() > 0.05 * 0.05: self.eyeColor = CIGlobals.lerpWithRatio(self.idealEyeColor, self.eyeColor, self.EyeColorLerpRatio) self.eyeNode.setColorScale(Vec4(self.eyeColor, 1.0), 1)
def delete(self): Suit.delete(self) del self.anim del self._state del self.dept del self.variant del self.suitPlan del self.moveIval DistributedAvatar.delete(self)
def delete(self): try: self.DistributedToon_deleted except: self.DistributedToon_deleted = 1 del self.track Toon.Toon.delete(self) DistributedAvatar.delete(self) return
def announceHealth(self, level, hp, extraId=-1): DistributedAvatar.announceHealth(self, level, hp, extraId) if level == 1: healthSfx = base.audio3d.loadSfx(SuitGlobals.healedSfx) base.audio3d.attachSoundToObject(healthSfx, self) SoundInterval(healthSfx, node=self).start() del healthSfx if hp < 0: self.doDamageFade()
def __init__(self, cr): DistributedAvatar.__init__(self, cr) self.owner = None self.movementFSM = ClassicFSM('Pet', [ State('off', self.enterOff, self.exitOff), State('forward', self.enterMoveForward, self.exitMoveForward), State('backward', self.enterMoveBackward, self.exitMoveBackward), State('left', self.enterTurnLeft, self.exitTurnLeft), State('right', self.enterTurnRight, self.exitTurnRight) ], 'off', 'off')
def disable(self): self.stopLookTask() taskMgr.remove(self.uniqueName('blinkOnTurn')) if self.track != None: self.track.finish() DelayDelete.cleanupDelayDeletes(self.track) self.track = None self.ignore('showAvId') self.ignore('showName') self.stopSmooth() Toon.Toon.disable(self) DistributedAvatar.disable(self)
def __init__(self, cr): Suit.__init__(self) DistributedAvatar.__init__(self, cr) self.anim = None self.dept = None self.variant = None self.suitPlan = None self.level = None self.moveIval = None self.hpFlash = None self.chaseTarget = 0
def disable(self): self.stopSmooth() self.clearFrontDoorIval() self.clearRearDoorIval() self.headModel = None self.throwGearsSnd = None self.rearDoorCloseSnd = None self.rearDoorOpenSnd = None self.frontDoorOpenSnd = None self.frontDoorCloseSnd = None self.frontDoor = None self.rearDoor = None self.treads = None DistributedAvatar.disable(self)
def setHealth(self, health): oldHp = self.getHealth() self.handleHealthChange(health, self.getHealth()) DistributedAvatar.setHealth(self, health) if self.doId != base.localAvatar.doId: if not self.firstTimeChangingHP: if health < self.getMaxHealth(): if not self.headMeter: self.__makeHeadMeter() else: self.__updateHeadMeter(oldHp) else: self.__removeHeadMeter() self.firstTimeChangingHP = False
def __init__(self, cr): try: self.DistributedToon_initialized return except: self.DistributedToon_initialized = 1 Toon.Toon.__init__(self, cr) DistributedAvatar.__init__(self, cr) self.lookMode = self.LMOff self.cageBone = None self.lookTask = None self.anim = "" return
def announceGenerate(self): DistributedAvatar.announceGenerate(self) self.loadChar() self.startBlink() base.taskMgr.add(self.__monitorRange, self.uniqueName('monitorRange')) self.sendUpdate('requestStateData') if self.charId == SAILOR_DONALD: self.disableRay() self.cleanupPhysics() boat = self.cr.playGame.hood.loader.geom.find('**/*donalds_boat*') boat.find('**/wheelNode').stash() self.setPos(0, -1, 3.95) self.reparentTo(boat) self.loop('wheel') else: self.reparentTo(render)
def disable(self): if self.tunnelTrack: self.ignore(self.tunnelTrack.getDoneEvent()) self.tunnelTrack.finish() self.tunnelTrack = None if self.dmgFadeIval: self.dmgFadeIval.finish() self.dmgFadeIval = None self.token = None self.ghost = None self.puInventory = None self.equippedPU = None if self.backpack: self.backpack.cleanup() self.backpack = None self.animState2animId = None self.animId2animState = None self.firstTimeChangingHP = None self.quests = None self.tier = None self.questHistory = None self.busy = None self.friends = None self.tutDone = None self.hoodsDiscovered = None self.teleportAccess = None self.lastHood = None self.defaultShard = None self.numGagSlots = None self.__removeHeadMeter() self.destroyBattleMeter() taskMgr.remove(self.uniqueName('sBAL')) taskMgr.remove(self.uniqueName('blinkOnTurn')) if self.track != None: self.track.finish() DelayDelete.cleanupDelayDeletes(self.track) self.track = None self.stopBlink() self.ignore('showAvId') self.ignore('showName') self.token = None self.stopSmooth() Toon.Toon.disable(self) DistributedAvatar.disable(self) DistributedSmoothNode.disable(self)
def __init__(self, cr): try: self.DistributedToon_initialized return except: self.DistributedToon_initialized = 1 Toon.Toon.__init__(self, cr) DistributedAvatar.__init__(self, cr) DistributedSmoothNode.__init__(self, cr) self.token = -1 self.ghost = 0 self.puInventory = [] self.equippedPU = -1 self.backpack = Backpack(self) self.animState2animId = {} self.battleMeter = None for index in range(len(self.animFSM.getStates())): self.animState2animId[self.animFSM.getStates() [index].getName()] = index self.animId2animState = { v: k for k, v in self.animState2animId.items() } self.headMeter = None self.firstTimeChangingHP = True self.quests = "" self.tier = None self.questHistory = None self.busy = 1 self.friends = None self.tutDone = 0 self.hoodsDiscovered = [] self.teleportAccess = [] self.lastHood = 0 self.defaultShard = 0 self.dmgFadeIval = None self.tunnelTrack = None self.numGagSlots = 0 self.trackExperience = dict(GagGlobals.DefaultTrackExperiences) self.takeDmgSfx = base.audio3d.loadSfx( "phase_5/audio/sfx/tt_s_ara_cfg_toonHit.ogg") base.audio3d.attachSoundToObject(self.takeDmgSfx, self) return
def disable(self): self.stopSmooth() # Picked up by DistributedBattleZone: messenger.send('suitDelete', [self]) self.anim = None self._state = None self.dept = None self.variant = None self.suitPlan = None if self.hpFlash: self.hpFlash.finish() self.hpFlash = None if self.moveIval: self.moveIval.pause() self.moveIval = None Suit.disable(self) DistributedAvatar.disable(self)
def __init__(self, cr): try: self.DistributedToon_initialized return except: self.DistributedToon_initialized = 1 Toon.Toon.__init__(self, cr) DistributedAvatar.__init__(self, cr) self.lookMode = self.LMOff self.cageBone = None self.lookTask = None self.anim = "" self.headMeter = None self.firstTimeChangingHP = True self.addSound('oof', 'phase_5/audio/sfx/tt_s_ara_cfg_toonHit.ogg') return
def disable(self): self.fsm.requestFinalState() del self.fsm # This should fix crashes related to Sequences. if self.track: self.track.pause() self.track = None # Cleanup entities. for ent in self.entities: ent.cleanup() self.entities = None # Get rid of explosions. if self.explosion: self.explosion.removeNode() self.explosion = None self.removeTurret() DistributedSmoothNode.disable(self) DistributedAvatar.disable(self)
def __init__(self, cr): DistributedAvatar.__init__(self, cr) self.fsm = ClassicFSM('DDisneyChar', [ State('off', self.enterOff, self.exitOff), State('walking', self.enterWalking, self.exitWalking), State('neutral', self.enterNeutral, self.exitNeutral) ], 'off', 'off') self.fsm.enterInitialState() self.neutralFSM = ClassicFSM('DDisneyChar-neutral', [ State('off', self.enterOff, self.exitOff), State('turn2target', self.enterTurn2Target, self.exitTurn2Target), State('talk2target', self.enterTalk2Target, self.exitTalk2Target) ], 'off', 'off') self.neutralFSM.enterInitialState() self.charId = 0 self.geoEyes = 0 self.avatarType = CIGlobals.CChar self.headNode = None self.isInRange = False self.currentPointLetter = "a" self.walkIval = None self.currentChat = "" self.talkEnabled = True self.speechSound = None self.chatsSinceLastNoise = 0 self.chatsWithoutNoise = 5 self.eyes = None self.lpupil = None self.rpupil = None self.eyesOpen = None self.eyesClosed = None self.santaHat = None
def __init__(self, cr): DistributedAvatar.__init__(self, cr) self.eyeNode = None self.hatNode = None self.hatType = self.HatType_Security self.activities = { ACT_WAKE_ANGRY: Goon_WakeAngry(self), ACT_RANGE_ATTACK1: Goon_FireLaser(self) } self.eyeColor = Vec3(0) self.idealEyeColor = Vec3(0) # Do some mixing on the idle animation self.moveAnimProperties['idle'] = { 'method': 'pingpong', 'args': { 'fromFrame': 94, 'toFrame': 96 } } self.standWalkRunReverse = [('idle', 'walk', 0.0, 5.0, 1.0, 1.0)]
def generate(self): DistributedAvatar.generate(self) self.startSmooth()
def announceGenerate(self): DistributedAvatar.announceGenerate(self) if self.animFSM.getCurrentState().getName() == 'off': self.setAnimState('Happy')