def headBackToMinigameArea(self): if self.loader: self.loader.unload() self.loader.cleanup() self.loader = None DistributedToonFPSGame.headBackToMinigameArea(self) return
def __init__(self, cr): try: self.DistributedGunGame_initialized return except: self.DistributedGunGame_initialized = 1 DistributedToonFPSGame.__init__(self, cr) TeamMinigame.__init__( self, GGG.BLUE, ('phase_4/maps/blue_neutral.png', 'phase_4/maps/blue_hover.png', 'phase_4/maps/blue_hover.png'), GGG.RED, ('phase_4/maps/red_neutral.png', 'phase_4/maps/red_hover.png', 'phase_4/maps/red_hover.png')) self.fsm.addState( State('countdown', self.enterCountdown, self.exitCountdown, ['play'])) self.fsm.addState( State('announceGameOver', self.enterAnnounceGameOver, self.exitAnnounceGameOver, ['finalScores'])) self.fsm.addState( State('finalScores', self.enterFinalScores, self.exitFinalScores, ['gameOver'])) self.fsm.addState( State('voteGM', self.enterVoteGameMode, self.exitVoteGameMode, ['start'])) self.fsm.addState( State('chooseTeam', self.enterChooseTeam, self.exitChooseTeam, ['chooseGun'])) self.fsm.addState( State('chooseGun', self.enterChooseGun, self.exitChooseGun, ['waitForOthers'])) self.fsm.addState( State('announceTeamWon', self.enterAnnounceTeamWon, self.exitAnnounceTeamWon, ['finalScores'])) self.fsm.getStateNamed('waitForOthers').addTransition('countdown') self.fsm.getStateNamed('waitForOthers').addTransition('voteGM') self.fsm.getStateNamed('play').addTransition('announceGameOver') self.fsm.getStateNamed('play').addTransition('announceTeamWon') self.fsm.getStateNamed('start').addTransition('chooseTeam') self.fsm.getStateNamed('start').addTransition('chooseGun') self.toonFps = GunGameToonFPS(self) self.loader = GunGameLevelLoader.GunGameLevelLoader(self) self.track = None self.isTimeUp = False self.cameraMovmentSeq = None self.gameMode = None self.flags = [] self.localAvHasFlag = False self.blueScoreLbl = None self.redScoreLbl = None self.redArrow = None self.blueArrow = None self.infoLbl = None self.scoreByTeam = {GGG.Teams.RED: 0, GGG.Teams.BLUE: 0} self.balloonSound = base.loadSfx( 'phase_3/audio/sfx/GUI_balloon_popup.ogg') self.decidedSound = base.loadSfx( 'phase_4/audio/sfx/MG_sfx_travel_game_win_vote.ogg') return
def load(self): self.setMinigameMusic("phase_4/audio/bgm/MG_Escape.ogg") self.setDescription( "Sneak around the Sellbot Factory and collect jellybean barrels. " "Avoid the guards and exit by the Factory Foreman to redeem your jellybeans." ) DistributedToonFPSGame.load(self)
def headBackToMinigameArea(self): if self.loader: self.loader.unload() self.loader.cleanup() self.loader = None DistributedToonFPSGame.headBackToMinigameArea(self) return
def load(self): self.setMinigameMusic(DistributedDodgeballGame.GameSong) self.setDescription(DistributedDodgeballGame.GameDesc) self.setWinnerPrize(200) self.setLoserPrize(0) self.createWorld() self.blueScoreLbl = self.getWinterDodgeballScoreText(VBase4( 0, 0, 1, 1)) self.blueScoreLbl.reparentTo(base.a2dTopLeft) self.blueScoreLbl['align'] = TextNode.ALeft self.blueScoreLbl.setText('Blue: 0') self.blueScoreLbl.setZ(-0.17) self.blueScoreLbl.setX(0.05) self.blueScoreLbl.hide() self.redScoreLbl = self.getWinterDodgeballScoreText(VBase4(1, 0, 0, 1)) self.redScoreLbl.reparentTo(base.a2dTopLeft) self.redScoreLbl['align'] = TextNode.ALeft self.redScoreLbl.setText('Red: 0') self.redScoreLbl.setZ(-0.35) self.redScoreLbl.setX(0.05) self.redScoreLbl.hide() trans = DistributedDodgeballGame.InitCamTrans camera.setPos(trans[0]) camera.setHpr(trans[1]) DistributedToonFPSGame.load(self)
def disable(self): if self.gameWorld: self.gameWorld.cleanup() self.gameWorld = None base.camLens.setMinFov(CIGlobals.DefaultCameraFov / (4.0 / 3.0)) base.camLens.setFar(CIGlobals.DefaultCameraFar) DistributedToonFPSGame.disable(self) return
def disable(self): if self.gameWorld: self.gameWorld.cleanup() self.gameWorld = None base.camLens.setMinFov(CIGlobals.DefaultCameraFov / (4.0 / 3.0)) base.camLens.setFar(CIGlobals.DefaultCameraFar) DistributedToonFPSGame.disable(self) return
def announceGenerate(self): DistributedToonFPSGame.announceGenerate(self) base.localAvatar.walkControls.setWalkSpeed(GGG.ToonForwardSpeed, GGG.ToonJumpForce, GGG.ToonReverseSpeed, GGG.ToonRotateSpeed) self.load() base.camLens.setMinFov(CIGlobals.GunGameFOV / (4. / 3.))
def disable(self): self.deleteWorld() self.trees = None self.snowballs = None self.spawnPointsByTeam = None if self.firstPerson: self.firstPerson.cleanup() self.firstPerson = None DistributedToonFPSGame.disable(self)
def __init__(self, cr): try: self.DistributedDodgeballGame_initialized return except: self.DistributedDodgeballGame_initialized = 1 DistributedToonFPSGame.__init__(self, cr) TeamMinigame.__init__(self, 'BlueSnow', ('phase_4/maps/db_blue_neutral.png', 'phase_4/maps/db_blue_hover.png', 'phase_4/maps/db_blue_hover.png'), 'RedIce', ('phase_4/maps/db_red_neutral.png', 'phase_4/maps/db_red_hover.png', 'phase_4/maps/db_red_hover.png')) self.fsm.addState(State('chooseTeam', self.enterChooseTeam, self.exitChooseTeam, ['waitForOthers'])) self.fsm.addState(State('scrollBy', self.enterScrollBy, self.exitScrollBy, ['countdown'])) self.fsm.addState(State('countdown', self.enterCountdown, self.exitCountdown, ['play'])) self.fsm.addState(State('announceGameOver', self.enterAnnGameOver, self.exitAnnGameOver, ['displayWinners'])) self.fsm.addState(State('displayWinners', self.enterDisplayWinners, self.exitDisplayWinners, ['gameOver'])) self.fsm.getStateNamed('waitForOthers').addTransition('chooseTeam') self.fsm.getStateNamed('waitForOthers').addTransition('scrollBy') self.fsm.getStateNamed('play').addTransition('announceGameOver') self.firstPerson = DodgeballFirstPerson(self) self.scrollBySeq = None self.infoText = None self.redScoreLbl = None self.blueScoreLbl = None self.infoText = getAlertText() self.spawnPointsByTeam = {BLUE: [ [ Point3(5, 15, 0), Vec3(180, 0, 0)], [ Point3(15, 15, 0), Vec3(180, 0, 0)], [ Point3(-5, 15, 0), Vec3(180, 0, 0)], [ Point3(-15, 15, 0), Vec3(180, 0, 0)]], RED: [ [ Point3(5, -15, 0), Vec3(0, 0, 0)], [ Point3(15, -15, 0), Vec3(0, 0, 0)], [ Point3(-5, -15, 0), Vec3(0, 0, 0)], [ Point3(-15, -15, 0), Vec3(0, 0, 0)]]} self.winnerMusic = base.loadMusic('phase_9/audio/bgm/encntr_hall_of_fame.mid') self.loserMusic = base.loadMusic('phase_9/audio/bgm/encntr_sting_announce.mid') self.danceSound = base.loadSfx('phase_3.5/audio/sfx/ENC_Win.ogg') self.sky = None self.arena = None self.fog = None self.snow = None self.snowRender = None self.trees = [] self.snowballs = [] return
def load(self): self.setMinigameMusic(DistributedDodgeballGame.GameSong) self.setDescription(DistributedDodgeballGame.GameDesc) self.createWorld() trans = DistributedDodgeballGame.InitCamTrans camera.setPos(trans[0]) camera.setHpr(trans[1]) DistributedToonFPSGame.load(self)
def load(self): self.toonFps.load() self.myRemoteAvatar = RemoteToonBattleAvatar(self, self.cr, base.localAvatar.doId) self.setWinnerPrize(200) self.setLoserPrize(15) if base.localAvatar.tokenIcon is not None: base.localAvatar.tokenIcon.hide() DistributedToonFPSGame.load(self, showDesc=False) DistributedToonFPSGame.handleDescAck(self) return
def announceGenerate(self): DistributedToonFPSGame.announceGenerate(self) base.camLens.setMinFov(CIGlobals.GunGameFOV / (4.0 / 3.0)) base.camLens.setFar(250) self.gameWorld = FactorySneakWorld(self) self.gameWorld.loadWorld() self.gameWorld.loadJellybeanBarrels() self.gameWorld.makeGuards() self.gameWorld.showWorld() self.gameWorld.setupPlayer() self.load()
def enterAnnounceTeamWon(self, team): whistleSfx = base.loadSfx('phase_4/audio/sfx/AA_sound_whistle.ogg') whistleSfx.play() del whistleSfx if self.gameMode == GGG.GameModes.KOTH and DistributedToonFPSGame.getKOTHKing( self): text = DistributedToonFPSGame.getKOTHKing(self).getName() else: text = GGG.TeamNameById[team].split(' ')[0] self.gameOverLbl.setText(('{0}\nWins!').format(text)) self.gameOverLbl.show() self.track = Sequence(Wait(3.0), Func(self.fsm.request, 'finalScores')) self.track.start()
def disable(self): DistributedToonFPSGame.disable(self) base.camLens.setMinFov(CIGlobals.DefaultCameraFov / (4.0 / 3.0)) if self.loader: self.loader.unload() self.loader.cleanup() self.loader = None self.isTimeUp = None self.toonFps.reallyEnd() self.toonFps.cleanup() self.toonFps = None self.spawnPoints = None return
def __init__(self, cr): try: self.DistributedDodgeballGame_initialized return except: self.DistributedDodgeballGame_initialized = 1 DistributedToonFPSGame.__init__(self, cr) TeamMinigame.__init__(self, "BlueSnow", ('phase_4/maps/db_blue_neutral.png', 'phase_4/maps/db_blue_hover.png', 'phase_4/maps/db_blue_hover.png'), "RedIce", ('phase_4/maps/db_red_neutral.png', 'phase_4/maps/db_red_hover.png', 'phase_4/maps/db_red_hover.png')) self.fsm.addState(State('chooseTeam', self.enterChooseTeam, self.exitChooseTeam, ['waitForOthers'])) self.fsm.addState(State('scrollBy', self.enterScrollBy, self.exitScrollBy, ['countdown'])) self.fsm.addState(State('countdown', self.enterCountdown, self.exitCountdown, ['play'])) self.fsm.getStateNamed('waitForOthers').addTransition('chooseTeam') self.fsm.getStateNamed('waitForOthers').addTransition('scrollBy') self.firstPerson = DodgeballFirstPerson(self) self.scrollBySeq = None self.infoText = None self.infoText = getAlertText() self.spawnPointsByTeam = { BLUE: [ [Point3(5, 15, 0), Vec3(180, 0, 0)], [Point3(15, 15, 0), Vec3(180, 0, 0)], [Point3(-5, 15, 0), Vec3(180, 0, 0)], [Point3(-15, 15, 0), Vec3(180, 0, 0)]], RED: [ [Point3(5, -15, 0), Vec3(0, 0, 0)], [Point3(15, -15, 0), Vec3(0, 0, 0)], [Point3(-5, -15, 0), Vec3(0, 0, 0)], [Point3(-15, -15, 0), Vec3(0, 0, 0)]]} # Environment vars self.sky = None self.arena = None self.fog = None self.snow = None self.snowRender = None self.trees = [] self.snowballs = []
def load(self): self.loader.load() pos, hpr = self.pickSpawnPoint() base.localAvatar.setPos(pos) base.localAvatar.setHpr(hpr) self.toonFps.load() self.myRemoteAvatar = RemoteToonBattleAvatar(self, self.cr, base.localAvatar.doId) self.setMinigameMusic('phase_4/audio/bgm/MG_TwoDGame.mid') self.setDescription('Battle and defeat the other Toons with your gun to gain points. ' + "Remember to reload your gun when you're out of ammo! " + 'The Toon with the most points when the timer runs out gets a nice prize!') self.setWinnerPrize(70) self.setLoserPrize(15) pos, hpr = self.loader.getCameraOfCurrentLevel() camera.setPos(pos) camera.setHpr(hpr) DistributedToonFPSGame.load(self)
def load(self): self.toonFps.load() self.myRemoteAvatar = RemoteToonBattleAvatar(self, self.cr, base.localAvatar.doId) self.setWinnerPrize(200) self.setLoserPrize(15) if not base.localAvatar.tokenIcon is None: base.localAvatar.tokenIcon.hide() #pos, hpr = self.loader.getCameraOfCurrentLevel() #camera.setPos(pos) #camera.setHpr(hpr) DistributedToonFPSGame.load(self, showDesc=False) DistributedToonFPSGame.handleDescAck(self)
def enterAnnounceTeamWon(self, team): whistleSfx = base.loadSfx("phase_4/audio/sfx/AA_sound_whistle.ogg") whistleSfx.play() del whistleSfx if self.gameMode == GGG.GameModes.KOTH and DistributedToonFPSGame.getKOTHKing( self): text = DistributedToonFPSGame.getKOTHKing(self).getName() else: text = GGG.TeamNameById[team].split(' ')[0] self.gameOverLbl = DirectLabel(text="{0}\nWins!".format(text), relief=None, scale=0.35, text_font=CIGlobals.getMickeyFont(), text_fg=(1, 0, 0, 1)) self.track = Sequence(Wait(3.0), Func(self.fsm.request, 'finalScores')) self.track.start()
def announceGenerate(self): DistributedToonFPSGame.announceGenerate(self) base.camLens.setMinFov(CIGlobals.GunGameFOV / (4.0 / 3.0)) base.camLens.setFar(250) base.localAvatar.setPythonTag('localAvatar', 1) self.avatarBody = base.localAvatar.attachNewNode( CollisionNode('sphereforguardeyes')) self.avatarBody.node().addSolid(CollisionSphere(0, 0, 0, 1.2)) self.avatarBody.node().setFromCollideMask(BitMask32.allOff()) self.avatarBody.node().setIntoCollideMask(CGG.GuardBitmask) self.gameWorld = FactorySneakWorld(self) self.gameWorld.loadWorld() self.gameWorld.loadJellybeanBarrels() self.gameWorld.makeGuards() self.gameWorld.showWorld() self.gameWorld.setupPlayer() self.load()
def disable(self): base.camLens.setMinFov(CIGlobals.DefaultCameraFov / (4. / 3.)) self.fsm.requestFinalState() self.deleteWorld() self.trees = None self.snowballs = None self.spawnPointsByTeam = None if self.firstPerson: self.firstPerson.reallyEnd() self.firstPerson.cleanup() self.firstPerson = None self.scrollBySeq = None self.winnerMusic = None self.loserMusic = None self.danceSound = None self.infoText = None base.localAvatar.setWalkSpeedNormal() DistributedToonFPSGame.disable(self)
def disable(self): render.show() base.localAvatar.setWalkSpeedNormal() # Show the staff icon again. if not base.localAvatar.tokenIcon is None: base.localAvatar.tokenIcon.show() base.camLens.setMinFov(CIGlobals.DefaultCameraFov / (4. / 3.)) base.taskMgr.remove(self.uniqueName('updateArrows')) self.playersByTeam = None if self.blueArrow: self.blueArrow.removeNode() self.blueArrow = None if self.redArrow: self.redArrow.removeNode() self.redArrow = None if self.blueScoreLbl: self.blueScoreLbl.destroy() self.blueScoreLbl = None if self.redScoreLbl: self.redScoreLbl.destroy() self.redScoreLbl = None if self.infoLbl: self.infoLbl.destroy() self.infoLbl = None self.scoreByTeam = None self.flags = None self.gameMode = None self.team = None self.localAvHasFlag = None if self.loader: self.loader.unload() self.loader.cleanup() self.loader = None self.isTimeUp = None self.toonFps.reallyEnd() self.toonFps.cleanup() self.toonFps = None self.spawnPoints = None DistributedToonFPSGame.disable(self)
def __init__(self, cr): try: self.DistributedGunGame_initialized return except: self.DistributedGunGame_initialized = 1 DistributedToonFPSGame.__init__(self, cr) self.fsm.addState(State('countdown', self.enterCountdown, self.exitCountdown, ['play'])) self.fsm.addState(State('announceGameOver', self.enterAnnounceGameOver, self.exitAnnounceGameOver, ['finalScores'])) self.fsm.addState(State('finalScores', self.enterFinalScores, self.exitFinalScores, ['gameOver'])) self.fsm.addState(State('chooseGun', self.enterChooseGun, self.exitChooseGun, ['waitForOthers'])) self.fsm.getStateNamed('start').addTransition('chooseGun') self.fsm.getStateNamed('waitForOthers').addTransition('countdown') self.fsm.getStateNamed('play').addTransition('announceGameOver') self.toonFps = GunGameToonFPS(self) self.loader = GunGameLevelLoader.GunGameLevelLoader() self.track = None self.isTimeUp = False self.cameraMovmentSeq = None self.gameMode = None return
def exitPlay(self): DistributedToonFPSGame.exitPlay(self) self.gameWorld.disablePlayerControls()
def enterPlay(self): self.gameWorld.enablePlayerControls() DistributedToonFPSGame.enterPlay(self)
def __init__(self, cr): DistributedToonFPSGame.__init__(self, cr) self.gameWorld = None return
def __init__(self, cr): DistributedToonFPSGame.__init__(self, cr) self.gameWorld = None
def enterFinalScores(self): DistributedToonFPSGame.enterFinalScores(self) self.sendUpdate('myFinalScore', [self.toonFps.points])
def enterPlay(self): DistributedToonFPSGame.enterPlay(self) self.toonFps.reallyStart() self.createTimer()
def announceGenerate(self): DistributedToonFPSGame.announceGenerate(self) base.camLens.setMinFov(CIGlobals.GunGameFOV / (4. / 3.)) self.load()
def announceGenerate(self): DistributedToonFPSGame.announceGenerate(self) self.load() base.camLens.setMinFov(CIGlobals.GunGameFOV / (4.0 / 3.0))
def exitPlay(self): self.deleteTimer() if self.toonFps: self.toonFps.end() DistributedToonFPSGame.exitPlay(self)
def enterPlay(self): DistributedToonFPSGame.enterPlay(self) self.toonFps.reallyStart() self.createTimer()
def exitFinalScores(self): DistributedToonFPSGame.exitFinalScores(self)
def enterFinalScores(self): DistributedToonFPSGame.enterFinalScores(self) self.sendUpdate('myFinalScore', [self.toonFps.points])
def exitPlay(self): DistributedToonFPSGame.exitPlay(self) self.gameWorld.disablePlayerControls()
def exitPlay(self): self.deleteTimer() if self.toonFps: self.toonFps.end() base.localAvatar.createChatInput() DistributedToonFPSGame.exitPlay(self)
def exitPlay(self): self.firstPerson.crosshair.destroy() self.firstPerson.crosshair = None self.firstPerson.camFSM.request('off') DistributedToonFPSGame.exitPlay(self)
def enterPlay(self): self.gameWorld.enablePlayerControls() DistributedToonFPSGame.enterPlay(self)
def setKOTHPoints(self, points): self.toonFps.setKOTHPoints(points) DistributedToonFPSGame.setMyKOTHPoints(self, points)
def load(self): self.setMinigameMusic('phase_4/audio/bgm/MG_Escape.mp3') self.setDescription('Sneak around the Sellbot Factory and collect jellybean barrels. Avoid the guards and exit by the Factory Foreman to redeem your jellybeans.') DistributedToonFPSGame.load(self)