Example #1
0
 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()
Example #15
0
 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 = []
Example #17
0
 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)
Example #23
0
    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
Example #28
0
 def enterFinalScores(self):
     DistributedToonFPSGame.enterFinalScores(self)
     self.sendUpdate('myFinalScore', [self.toonFps.points])
Example #29
0
 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()
Example #31
0
 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()
Example #37
0
 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)