def onstage(self): self.notify.debug('onstage') DistributedMinigame.onstage(self) self.arrowKeys = ArrowKeys.ArrowKeys() toon = base.localAvatar toon.reparentTo(render) toon.setAnimState('swim', 1.0) toon.stopBobSwimTask() toon.useLOD(self.TOON_LOD) self.__placeToon(self.localAvId) toon.dropShadow.hide() camera.reparentTo(render) camera.reparentTo(base.localAvatar) camera.setPosHpr(0, self.CAMERA_Y + self.TOON_Y, 0, 0, 0, 0) base.camLens.setMinFov(80/(4./3.)) base.camLens.setFar(self.FAR_PLANE_DIST) base.setBackgroundColor(self.WATER_COLOR) self.__fog = Fog('ringGameFog') if base.wantFog: self.__fog.setColor(self.WATER_COLOR) self.__fog.setLinearRange(0.1, self.FAR_PLANE_DIST - 1.0) render.setFog(self.__fog) self.environNode = render.attachNewNode('environNode') self.environBlocks = [] for i in xrange(0, 2): instance = self.environModel.instanceUnderNode(self.environNode, 'model') y = self.ENVIRON_LENGTH * i instance.setY(y) self.environBlocks.append(instance) for j in xrange(0, 2): instance = self.environModel.instanceUnderNode(self.environNode, 'blocks') x = self.ENVIRON_LENGTH * (j + 1) instance.setY(y) instance.setX(-x) self.environBlocks.append(instance) for j in xrange(0, 2): instance = self.environModel.instanceUnderNode(self.environNode, 'blocks') x = self.ENVIRON_LENGTH * (j + 1) instance.setY(y) instance.setX(x) self.environBlocks.append(instance) self.ringNode = render.attachNewNode('ringNode') self.sndTable = {'gotRing': [None] * self.numPlayers, 'missedRing': [None] * self.numPlayers} for i in xrange(0, self.numPlayers): self.sndTable['gotRing'][i] = base.loader.loadSfx('phase_4/audio/sfx/ring_get.ogg') self.sndTable['missedRing'][i] = base.loader.loadSfx('phase_4/audio/sfx/ring_miss.ogg') self.__addToonDropShadow(self.getAvatar(self.localAvId)) self.__spawnUpdateEnvironTask() self.__spawnUpdateShadowsTask() self.__spawnUpdateLocalToonTask() if None != self.sndAmbience: base.playSfx(self.sndAmbience, looping=1, volume=0.8) return
def __init__(self, game, speed, maxFrameMove = None, customCollisionCallback = None, priority = 0, setHeading = 1, upHeading = 0): self.game = game self.speed = speed self.maxFrameMove = maxFrameMove self.customCollisionCallback = customCollisionCallback self.priority = priority self.setHeading = setHeading self.upHeading = upHeading self.arrowKeys = ArrowKeys.ArrowKeys() self.wasUpReleased = True self.lt = base.localAvatar base.localAvatar.useTwoDControls() base.localAvatar.controlManager.currentControls.avatarControlJumpForce = 30.0 self.ONE_JUMP_PER_UP_PRESSED = True self.lastAction = None self.isMovingX = False return
def __init__(self, speed, maxFrameMove=None, customCollisionCallback=None, priority=0, setHeading=1, upHeading=0, instantTurn=False, wantSound=False): self.wantSound = wantSound self.speed = speed self.maxFrameMove = maxFrameMove self.customCollisionCallback = customCollisionCallback self.priority = priority self.setHeading = setHeading self.upHeading = upHeading self.arrowKeys = ArrowKeys.ArrowKeys() self.lt = base.localAvatar self.instantTurn = instantTurn
def load(self): self.notify.debug('load') DistributedMinigame.DistributedMinigame.load(self) self.music = base.loadMusic('phase_4/audio/bgm/MG_IceGame.mid') self.gameBoard = loader.loadModel( 'phase_4/models/minigames/ice_game_icerink') background = loader.loadModel('phase_4/models/minigames/ice_game_2d') background.reparentTo(self.gameBoard) self.gameBoard.setPosHpr(0, 0, 0, 0, 0, 0) self.gameBoard.setScale(1.0) self.setupSimulation() index = 0 for avId in self.avIdList: self.setupTire(avId, index) self.setupForceArrow(avId) index += 1 for index in xrange(len(self.avIdList), 4): self.setupTire(-index, index) self.setupForceArrow(-index) self.showForceArrows(realPlayersOnly=True) self.westWallModel = NodePath() if not self.westWallModel.isEmpty(): self.westWallModel.reparentTo(self.gameBoard) self.westWallModel.setPos(IceGameGlobals.MinWall[0], IceGameGlobals.MinWall[1], 0) self.westWallModel.setScale(4) self.eastWallModel = NodePath() if not self.eastWallModel.isEmpty(): self.eastWallModel.reparentTo(self.gameBoard) self.eastWallModel.setPos(IceGameGlobals.MaxWall[0], IceGameGlobals.MaxWall[1], 0) self.eastWallModel.setScale(4) self.eastWallModel.setH(180) self.arrowKeys = ArrowKeys.ArrowKeys() self.target = loader.loadModel('phase_3/models/misc/sphere') self.target.setScale(0.01) self.target.reparentTo(self.gameBoard) self.target.setPos(0, 0, 0) self.scoreCircle = loader.loadModel( 'phase_4/models/minigames/ice_game_score_circle') self.scoreCircle.setScale(0.01) self.scoreCircle.reparentTo(self.gameBoard) self.scoreCircle.setZ(IceGameGlobals.TireRadius / 2.0) self.scoreCircle.setAlphaScale(0.5) self.scoreCircle.setTransparency(1) self.scoreCircle.hide() self.treasureModel = loader.loadModel( 'phase_4/models/minigames/ice_game_barrel') self.penaltyModel = loader.loadModel( 'phase_4/models/minigames/ice_game_tnt2') self.penaltyModel.setScale(0.75, 0.75, 0.69999999999999996) szId = self.getSafezoneId() obstacles = IceGameGlobals.Obstacles[szId] index = 0 cubicObstacle = IceGameGlobals.ObstacleShapes[szId] for pos in obstacles: newPos = Point3(pos[0], pos[1], IceGameGlobals.TireRadius) newObstacle = self.createObstacle(newPos, index, cubicObstacle) self.obstacles.append(newObstacle) index += 1 self.countSound = loader.loadSfx( 'phase_3.5/audio/sfx/tick_counter.mp3') self.treasureGrabSound = loader.loadSfx( 'phase_4/audio/sfx/MG_sfx_vine_game_bananas.mp3') self.penaltyGrabSound = loader.loadSfx( 'phase_4/audio/sfx/MG_cannon_fire_alt.mp3') self.tireSounds = [] for tireIndex in xrange(4): tireHit = loader.loadSfx( 'phase_4/audio/sfx/Golf_Hit_Barrier_1.mp3') wallHit = loader.loadSfx('phase_4/audio/sfx/MG_maze_pickup.mp3') obstacleHit = loader.loadSfx( 'phase_4/audio/sfx/Golf_Hit_Barrier_2.mp3') self.tireSounds.append({ 'tireHit': tireHit, 'wallHit': wallHit, 'obstacleHit': obstacleHit }) self.arrowRotateSound = loader.loadSfx( 'phase_4/audio/sfx/MG_sfx_ice_force_rotate.wav') self.arrowUpSound = loader.loadSfx( 'phase_4/audio/sfx/MG_sfx_ice_force_increase_3sec.mp3') self.arrowDownSound = loader.loadSfx( 'phase_4/audio/sfx/MG_sfx_ice_force_decrease_3sec.mp3') self.scoreCircleSound = loader.loadSfx( 'phase_4/audio/sfx/MG_sfx_ice_scoring_1.mp3')
def onstage(self): self.notify.debug('onstage') DistributedMinigame.onstage(self) self.arrowDict = {} self.lt = base.localAvatar camera.reparentTo(render) camera.setPosHpr(0.0, -14.59, 10.56, 0.0, -16.39, 0.0) base.camLens.setMinFov(24.66/(4./3.)) base.setBackgroundColor(Vec4(0.984, 0.984, 0.584, 1)) self.arrowKeys = ArrowKeys.ArrowKeys() self.room.reparentTo(render) self.room.setPosHpr(0.0, 18.39, -ToontownGlobals.FloorOffset, 0.0, 0.0, 0.0) self.room.setScale(1) for anim in self.minnieAnimNames: self.minnie.pose(anim, 0) for anim in self.toonAnimNames: self.lt.pose(anim, 0) self.minnieAnimSpeedMult = {} self.toonAnimSpeedMult = {} for anim in self.minnieAnimNames: numFrames = self.minnie.getNumFrames(anim) self.minnieAnimSpeedMult[anim] = float(self.__numPingPongFrames(numFrames)) / float(self.stdNumDanceStepPingPongFrames) for anim in self.toonAnimNames: numFrames = self.lt.getNumFrames(anim) self.toonAnimSpeedMult[anim] = float(self.__numPingPongFrames(numFrames)) / float(self.stdNumDanceStepPingPongFrames) lt = self.lt lt.reparentTo(render) lt.useLOD(1000) lt.setPos(-3.5, 11, 0.0) lt.setScale(1) self.makeToonLookatCamera(lt) lt.loop('neutral') lt.startBlink() lt.startLookAround() self.arrowDict['lt'] = [self.arrows.pop(), self.xs.pop(), self.statusBalls.pop()] jj = self.lt.nametag3d for k in xrange(0, 2): self.arrowDict['lt'][k].setBillboardAxis() self.arrowDict['lt'][k].setBin('fixed', 100) self.arrowDict['lt'][k].reparentTo(jj) if k == 0: self.arrowDict['lt'][k].setScale(2.5) self.arrowDict['lt'][k].setColor(self.arrowColor) else: self.arrowDict['lt'][k].setScale(4, 4, 4) self.arrowDict['lt'][k].setColor(self.xColor) self.arrowDict['lt'][k].setPos(0, 0, 1) self.formatStatusBalls(self.arrowDict['lt'][2], jj) m = self.minnie m.reparentTo(render) m.setPos(-1.6, 20, 0) m.setScale(1) self.makeToonLookatCamera(m) m.loop('neutral') m.startBlink() self.minnie.nametag.manage(base.marginManager) self.minnie.startEarTask() self.minnie.setPickable(0) self.minnie.nametag.getNametag3d().setChatWordWrap(8) self.arrowDict['m'] = [self.arrows.pop(), self.xs.pop()] jj = self.minnie.nametag3d for k in xrange(0, 2): self.arrowDict['m'][k].setBillboardAxis() self.arrowDict['m'][k].setBin('fixed', 100) self.arrowDict['m'][k].setColor(self.arrowColor) self.arrowDict['m'][k].reparentTo(jj) self.arrowDict['m'][k].setScale(4) self.arrowDict['m'][k].setPos(0, 0, 1.7) base.playMusic(self.music, looping=1, volume=1)
def onstage(self): self.notify.debug('onstage') DistributedMinigame.onstage(self) base.localAvatar.collisionsOff() DistributedSmoothNode.activateSmoothing(1, 1) numToons = self.numPlayers self.NUMTREASURES = numToons camera.reparentTo(render) camera.setZ(36) camera.setHpr(0,0,0) camera.setX(0) base.camLens.setMinFov(31/(4./3.)) camera.setY(-54) base.camLens.setFar(1500) self.introMovie = self.getIntroMovie() self.introMovie.start() self.accept('FishHit', self.fishCollision) toonSD = self.toonSDs[self.localAvId] toonSD.enter() toonSD.fsm.request('normal') toon = base.localAvatar toon.reparentTo(render) toon.setPos(-9, -1, 36) self.__placeToon(self.localAvId) self.arrowKeys = ArrowKeys.ArrowKeys() self.xVel = 0 self.zVel = 0 self.orientNode = toon.attachNewNode('orientNode') self.orientNode.setPos(0, 0, 1) self.orientNode2 = toon.attachNewNode('orientNode') self.orientNode2.setPos(0, 0, -1) self.environNode = render.attachNewNode('environNode') self.environModel.reparentTo(self.environNode) self.environModel.setScale(2.8, 2.8, 2.73) self.environModel.setPos(0, 0.5, -41) self.skyModel.setScale(1.3, 1.0, 1.0) boatoff = 6.75 self.boatModel.reparentTo(self.environNode) self.boatModel.setPos(0, 3.0, 40 - boatoff) self.boatModel.setScale(2.8) cSphere = CollisionSphere(0.0, 0.0, 0.0 + 2.0, 3.0) cSphere.setTangible(0) name = 'boat' cSphereNode = CollisionNode(name) cSphereNode.setIntoCollideMask(DivingGameGlobals.CollideMask) cSphereNode.addSolid(cSphere) self.boatNode = cSphereNode self.boatCNP = self.boatModel.attachNewNode(cSphereNode) self.accept('reach-boat', self.__boatReached) self.boatTilt = Sequence(LerpFunc(self.boatModel.setR, duration=5, fromData=5, toData=-5, blendType='easeInOut', name='tilt'), LerpFunc(self.boatModel.setR, duration=5, fromData=-5, toData=5, blendType='easeInOut', name='tilt')) self.boatTilt.loop() self.mapScaleRatio = 40 self.mapModel.reparentTo(base.a2dTopRight) self.mapModel.setScale(1.0 / self.mapScaleRatio) self.mapModel.setTransparency(1) self.mapModel.setPos(-0.22, 0.0, -1.30) self.mapModel.setColorScale(1, 1, 1, 0.7) self.mapModel.hide() if self.sndAmbience: self.sndAmbience.setLoop(True) self.sndAmbience.play() self.sndAmbience.setVolume(0.01) return
def __init__(self): self.arrowKeys = ArrowKeys.ArrowKeys() self.arrowKeys.disable()
def __init__(self, player): self.player = player self.arrowKeys = ArrowKeys.ArrowKeys() self.controlManager = ControlManager.ControlManager() self.win = False