def firstLookViewState(self): # If detect enemy damage if (self.tester.detectEnemyDamage()): endLook(self) start_hitState(self) return # if cancel state if ( self.gamepad.isActionPressed() ): # re activate tps camera mode self.camManager.activeTrackPlayer() # go to idle state self.switchState(PlayerState.IDLE_STATE) # else use the first look view mode else: #init var LeftRight = 0.0 UpDown = 0.0 # Control part if ( self.gamepad.isLeftPressed() ): LeftRight = 0.05 elif ( self.gamepad.isRightPressed() ): LeftRight = -0.05 if ( self.gamepad.isUpPressed() ): UpDown = 0.05 elif ( self.gamepad.isDownPressed() ): UpDown = -0.05 # apply roation self.camManager.applyLook(UpDown, LeftRight)
def hitFromTarget(self): # If detect enemy damage if self.tester.detectEnemyDamage(): endTargetState(self) start_hitState(self) return True else: return False
def detectDamageFromAttack(self): # If detect enemy damage if self.tester.detectEnemyDamage(): self.cancelAttack() start_hitState(self) return True else: return False
def detectDamageFromAttack(self): # If detect enemy damage if (self.tester.detectEnemyDamage()): self.cancelAttack() start_hitState(self) return True else: return False
def hitFromTarget(self): # If detect enemy damage if (self.tester.detectEnemyDamage()): endTargetState(self) start_hitState(self) return True else: return False
def walkState(self): # get forward force forward_force = self.getForwardForce() speedAnim = 1.0 #abs(self.gamepad.getJoyAxis1Value()) if (self.tester.detectLadderBottom()): start_ladderFromTop(self) return # If detect enemy damage if (self.tester.detectEnemyDamage()): start_hitState(self) return # If detect water if (self.tester.detectWater()): # stop orientation self.orientManager.stopOrientation(self) # start swim state start_swimState(self) # else we can move or wait elif (self.respectGroundRule(end_walkState(self))): if (self.tester.switchLevel()): # cancel state return # if arrow key is pressed if (forward_force != 0.0): # use walk movement if walkForce(self, forward_force): # stop orientation self.orientManager.stopOrientation(self) # go to idle state self.switchState(PlayerState.RUN_STATE) else: # play walk animation self.rig.playWalk(speedAnim) # play step sound self.audio.playStepSound(self.rig.getActionFrame(1), [4, 13]) # active orientation movement self.orientManager.orient_player(self) else: # stop orientation self.orientManager.stopOrientation(self) # go to idle state self.switchState(PlayerState.IDLE_STATE) # go to fall else: # go to fall state start_fallState(self)
def walkState(self): # get forward force forward_force = self.getForwardForce() speedAnim = 1.0#abs(self.gamepad.getJoyAxis1Value()) if (self.tester.detectLadderBottom()): start_ladderFromTop(self) return # If detect enemy damage if (self.tester.detectEnemyDamage()): start_hitState(self) return # If detect water if (self.tester.detectWater()): # stop orientation self.orientManager.stopOrientation(self) # start swim state start_swimState(self) # else we can move or wait elif ( self.respectGroundRule(end_walkState(self)) ): if (self.tester.switchLevel()): # cancel state return # if arrow key is pressed if (forward_force != 0.0): # use walk movement if walkForce(self, forward_force): # stop orientation self.orientManager.stopOrientation(self) # go to idle state self.switchState(PlayerState.RUN_STATE) else: # play walk animation self.rig.playWalk(speedAnim) # play step sound self.audio.playStepSound(self.rig.getActionFrame(1), [4, 13]) # active orientation movement self.orientManager.orient_player(self) else: # stop orientation self.orientManager.stopOrientation(self) # go to idle state self.switchState(PlayerState.IDLE_STATE) # go to fall else: # go to fall state start_fallState(self)
def firstLookViewState(self): # If detect enemy damage if (self.tester.detectEnemyDamage()): endLook(self) start_hitState(self) return # Look mode (Skills/object) Default bow if (self.objectManager.use): # Play target with object mode self.rig.playObjectTargetIdle() # * Object self.rig.playWaitBow() else: self.rig.playWait() # if cancel state if (self.gamepad.isActionPressed()): # re activate tps camera mode self.camManager.activeTrackPlayer() # go to idle state self.switchState(PlayerState.IDLE_STATE) # else use the first look view mode else: #init var LeftRight = 0.0 UpDown = 0.0 # Control part if (self.gamepad.isLeftPressed()): LeftRight = 0.05 elif (self.gamepad.isRightPressed()): LeftRight = -0.05 if (self.gamepad.isUpPressed()): UpDown = 0.05 elif (self.gamepad.isDownPressed()): UpDown = -0.05 # apply roation self.camManager.applyLook(UpDown, LeftRight)
def firstLookViewState(self): # If detect enemy damage if (self.tester.detectEnemyDamage()): endLook(self) start_hitState(self) return # Look mode (Skills/object) Default bow if (self.objectManager.use): # Play target with object mode self.rig.playObjectTargetIdle() # * Object self.rig.playWaitBow() else: self.rig.playWait() # if cancel state if ( self.gamepad.isActionPressed() ): # re activate tps camera mode self.camManager.activeTrackPlayer() # go to idle state self.switchState(PlayerState.IDLE_STATE) # else use the first look view mode else: #init var LeftRight = 0.0 UpDown = 0.0 # Control part if ( self.gamepad.isLeftPressed() ): LeftRight = 0.05 elif ( self.gamepad.isRightPressed() ): LeftRight = -0.05 if ( self.gamepad.isUpPressed() ): UpDown = 0.05 elif ( self.gamepad.isDownPressed() ): UpDown = -0.05 # apply roation self.camManager.applyLook(UpDown, LeftRight)
def rollState(self): # If detect enemy damage if (self.tester.detectEnemyDamage()): start_hitState(self) return # If detect water if (self.tester.detectWater()): # stop orientation self.orientManager.stopOrientation(self) # go to swim start_swimState(self) else: # if detect always the ground continue the rolling if (self.respectGroundRule(goToJump, False)): wall, pos, normal = self.tester.wallRay() if (wall): start_rollWall(self) self.switchState(PlayerState.ROLLWALL_STATE) else: # test if finish rolling if (self.rig.getActionFrame(1) == 11): # change state self.switchState(PlayerState.IDLE_STATE)
def rollState(self): # If detect enemy damage if (self.tester.detectEnemyDamage()): start_hitState(self) return # If detect water if (self.tester.detectWater()): # stop orientation self.orientManager.stopOrientation(self) # go to swim start_swimState(self) else: # if detect always the ground continue the rolling if (self.respectGroundRule(goToJump)): wall, pos, normal = self.tester.wallRay() if (wall): start_rollWall(self) self.switchState(PlayerState.ROLLWALL_STATE) else: # test if finish rolling if (self.rig.getActionFrame(1) == 11): # change state self.switchState(PlayerState.IDLE_STATE)
def runState(self): #playerHUD = logic.playerHUD # get forward force forward_force = self.getForwardForce() # If detect enemy damage if (self.tester.detectEnemyDamage()): start_hitState(self) return # If detect water if (self.tester.detectWater()): # stop orientation self.orientManager.stopOrientation(self) # start swim state start_swimState(self) # cancel method else: # if touch the ground ( else callback ) if (self.respectGroundRule(end_runState)): # if arrow key is pressed if (forward_force != 0.0): # set action hud text #logic.playerHUD.changeActionText('Roll') if (self.tester.detectPath()): start_pathFollowState(self) # if push to action key elif (self.gamepad.isActionPressed()): # NEXT STATE : ROLL # stop orientation self.orientManager.stopOrientation(self) # start roll start_rollState(self) # switch roll state self.switchState(PlayerState.ROLL_STATE) else: # run force if (runForce(self, forward_force)): # play run animation self.rig.playRun() frame = self.rig.getActionFrame(1) #if (frame <= 1): # PlayerEffect.addEffectFrame(frame, [4, 11], PlayerEffect.addGrassEffect()) # play with step sounds self.audio.playStepSound(frame, [4, 11]) else: # go to walk self.switchState(PlayerState.WALK_STATE) # active orientation movement self.orientManager.orient_player(self) # else not movement go idle state else: # reset hud action text #logic.playerHUD.resetActionText() # stop orientation self.rig.stopArmLayer() self.orientManager.stopOrientation(self) # go to idle state self.switchState(PlayerState.IDLE_STATE) # if dont touch the ground go to jump state else: # reset hud action text #logic.playerHUD.resetActionText() # stop orientation self.orientManager.stopOrientation(self) # go to idle state self.switchState(PlayerState.JUMP_STATE)
def idleState(self): # stop movement self.stopMovement() # play wait animation if (self.heartContainer.isLow): self.rig.playHeavyWait() else: self.rig.playWait() # get forward force forward_force = self.getForwardForce() # If use object if (self.objectManager.useObject()): return # If detect enemy damage if (self.tester.detectEnemyDamage()): start_hitState(self) return # If statetime is finish can do action if (self.playStateTime(1.0)): # If detect chest if ( self.tester.detectChest() ): if ( self.gamepad.isActionPressed() ): start_openChestState(self) # If detect bloc if (self.tester.detectBloc()): if (self.gamepad.isActionPressed()): start_waitPushState(self) return # If detect ledge ground from ground if (self.tester.detectLedgeGroundFromGround()): if (self.gamepad.isActionPressed()): # go to climb start_climbLedgeState(self) return # If detect pckable object if ( self.tester.detectObjectToPickUp() and self.pickManager.active == False ): if (self.gamepad.isActionPressed() ): start_pickObjectState(self) return # test if detect placard if (self.tester.detectInteractivePlacard()): if ( self.gamepad.isActionPressed(JUST_ACTIVATED) ): start_interactionState(self) return if (self.pickManager.active == True): # if action pressed if ( self.gamepad.isAttackPressed(JUST_ACTIVATED) ): start_throwObjectState(self) return # test if can target a object if ( self.targetManager.zTarget() ):#canTargetObject() self.switchState(PlayerState.IDLE_TARGET_STATE) return # if move go to walk animation if (forward_force != 0): if (self.targetManager.active): self.switchState(PlayerState.STRAFE_STATE) else: self.switchState(PlayerState.WALK_STATE) # other action else: # if detect key for look if ( self.gamepad.isLookPressed() ): # go to look state start_firstLookView(self) # detect ladder elif (self.tester.detectLadder()): # change hud action text #self.playerHUD().changeActionText('Monter') if ( self.gamepad.isActionPressed() ): # go to ladder state start_ladderState(self) # detect a door elif (self.tester.detectDoor()): if ( self.gamepad.isActionPressed() ): # g oto ladder state start_openDoorState(self) # go to get armed elif (self.gamepad.isAttackPressed() and self.fightManager.canUseSword()): if (self.fightManager.isUnsheated() ): start_basicSwordAttack1State(self) else: self.unsheat(True) # range sword an shield if ( self.fightManager.isUnsheated() ): if ( self.gamepad.isActionPressed() ): self.unsheat(False)
def runState(self): #playerHUD = logic.playerHUD # get forward force forward_force = self.getForwardForce() # If detect enemy damage if (self.tester.detectEnemyDamage()): start_hitState(self) return # If detect water if (self.tester.detectWater()): # stop orientation self.orientManager.stopOrientation(self) # start swim state start_swimState(self) # cancel method else: # if touch the ground ( else callback ) if ( self.respectGroundRule(end_runState) ): # if arrow key is pressed if ( forward_force != 0.0 ): # set action hud text #logic.playerHUD.changeActionText('Roll') if (self.tester.detectPath()): start_pathFollowState(self) # if push to action key elif (self.gamepad.isActionPressed()): # NEXT STATE : ROLL # stop orientation self.orientManager.stopOrientation(self) # start roll start_rollState(self) # switch roll state self.switchState(PlayerState.ROLL_STATE) else: # run force if ( runForce(self, forward_force) ): # play run animation self.rig.playRun() frame = self.rig.getActionFrame(1) #if (frame <= 1): # PlayerEffect.addEffectFrame(frame, [4, 11], PlayerEffect.addGrassEffect()) # play with step sounds self.audio.playStepSound(frame, [4, 11]) else: # go to walk self.switchState(PlayerState.WALK_STATE) # active orientation movement self.orientManager.orient_player(self) # else not movement go idle state else: # reset hud action text #logic.playerHUD.resetActionText() # stop orientation self.rig.stopArmLayer() self.orientManager.stopOrientation(self) # go to idle state self.switchState(PlayerState.IDLE_STATE) # if dont touch the ground go to jump state else: # reset hud action text #logic.playerHUD.resetActionText() # stop orientation self.orientManager.stopOrientation(self) # go to idle state self.switchState(PlayerState.JUMP_STATE)
def idleState(self): # stop movement self.stopMovement() # play wait animation self.rig.playWait() # get forward force forward_force = self.getForwardForce() if (self.onPick == True): # if action pressed if ( self.gamepad.isAttackPressed() ): start_throwObjectState(self) return else: self.rig.playPick() # If detect enemy damage if (self.tester.detectEnemyDamage()): start_hitState(self) return # If detect ledge ground from ground if (self.tester.detectLedgeGroundFromGround()): if (self.gamepad.isActionPressed()): # go to climb start_climbGroundState(self) return # If detect pckable object if ( self.tester.detectObjectToPickUp() and self.onPick == False ): if (self.gamepad.isActionPressed() ): start_pickObjectState(self) return # test if detect placard if (self.tester.detectInteractivePlacard()): if ( self.gamepad.isActionPressed() ): start_interactionState(self) return # test if can target a object if ( self.targetManager.canTargetObject() ): self.switchState(PlayerState.IDLE_TARGET_STATE) return # if move go to walk animation if (forward_force != 0): if (self.targetManager.active): self.switchState(PlayerState.STRAFE_STATE) else: self.switchState(PlayerState.WALK_STATE) # other action else: # if detect key for look if ( self.gamepad.isLookPressed() ): # go to look state start_firstLookView(self) # detect lader elif (self.tester.detectLadder()): # change hud action text #self.playerHUD().changeActionText('Monter') if ( self.gamepad.isActionPressed() ): # go to ladder state start_ladderState(self) # detect a door elif (self.tester.detectDoor()): if ( self.gamepad.isActionPressed() ): # g oto ladder state start_openDoorState(self) # go to get armed elif (self.gamepad.isAttackPressed()): if (self.armed == False): # play get armed animation #self.rig.playGetArmed() # set to armed self.activeArmedMode() else: start_basicSwordAttack1State(self) # range sword an shield if (self.armed == True): if ( self.gamepad.isActionPressed() ): self.deactiveArmedMode()
def runState(self): #playerHUD = logic.playerHUD # get forward force forward_force = self.getForwardForce() # If detect enemy damage if (self.tester.detectEnemyDamage()): start_hitState(self) return # If detect water if (self.tester.detectWater()): # stop orientation self.orientManager.stopOrientation(self) # start swim state start_swimState(self) # cancel method else: # if touch the ground ( else callback ) if ( self.respectGroundRule(end_runState) ): # if detect next-level if (self.tester.switchLevel()): # End run state end_runState(self) # cancel state return # if arrow key is pressed elif ( forward_force != 0.0 ): # set action hud text #logic.playerHUD.changeActionText('Roll') # if push to action key if (self.gamepad.isActionPressed()): # NEXT STATE : ROLL # stop orientation self.orientManager.stopOrientation(self) # start roll start_rollState(self) # switch roll state self.switchState(PlayerState.ROLL_STATE) else: # run force if ( runForce(self, forward_force) ): # play run animation self.rig.playRun() # Arm Hunk Animation if (self.armed): # Run with sword and shield arm self.rig.playRunArmArmed() else: self.rig.playRunArmBase() # play with step sounds self.audio.playStepSound(self.rig.getActionFrame(1), [4, 11]) else: # go to walk self.switchState(PlayerState.WALK_STATE) # active orientation movement self.orientManager.orient_player(self) # else not movement go idle state else: # reset hud action text #logic.playerHUD.resetActionText() # stop orientation self.rig.stopArmLayer() self.orientManager.stopOrientation(self) # go to idle state self.switchState(PlayerState.IDLE_STATE) # if dont touch the ground go to jump state else: # reset hud action text #logic.playerHUD.resetActionText() # stop orientation self.orientManager.stopOrientation(self) # go to idle state self.switchState(PlayerState.JUMP_STATE)
def idleState(self): # stop movement self.stopMovement() # play wait animation if (self.heartContainer.isLow): self.rig.playHeavyWait() else: self.rig.playWait() # get forward force forward_force = self.getForwardForce() # If use object if (self.objectManager.useObject()): return # If detect enemy damage if (self.tester.detectEnemyDamage()): start_hitState(self) return # If statetime is finish can do action if (self.playStateTime(1.0)): # If detect chest if (self.tester.detectChest()): if (self.gamepad.isActionPressed()): start_openChestState(self) # If detect bloc if (self.tester.detectBloc()): if (self.gamepad.isActionPressed()): start_waitPushState(self) return # If detect ledge ground from ground if (self.tester.detectLedgeGroundFromGround()): if (self.gamepad.isActionPressed()): # go to climb start_climbLedgeState(self) return # If detect pckable object if (self.tester.detectObjectToPickUp() and self.pickManager.active == False): if (self.gamepad.isActionPressed()): start_pickObjectState(self) return # test if detect placard if (self.tester.detectInteractivePlacard()): if (self.gamepad.isActionPressed(JUST_ACTIVATED)): start_interactionState(self) return if (self.pickManager.active == True): # if action pressed if (self.gamepad.isAttackPressed(JUST_ACTIVATED)): start_throwObjectState(self) return # test if can target a object if (self.targetManager.zTarget()): #canTargetObject() self.switchState(PlayerState.IDLE_TARGET_STATE) return # if move go to walk animation if (forward_force != 0): if (self.targetManager.active): self.switchState(PlayerState.STRAFE_STATE) else: self.switchState(PlayerState.WALK_STATE) # other action else: # if detect key for look if (self.gamepad.isLookPressed()): # go to look state start_firstLookView(self) # detect ladder elif (self.tester.detectLadder()): # change hud action text #self.playerHUD().changeActionText('Monter') if (self.gamepad.isActionPressed()): # go to ladder state start_ladderState(self) # detect a door elif (self.tester.detectDoor()): if (self.gamepad.isActionPressed()): # g oto ladder state start_openDoorState(self) # go to get armed elif (self.gamepad.isAttackPressed() and self.fightManager.canUseSword()): if (self.fightManager.isUnsheated()): start_basicSwordAttack1State(self) else: self.unsheat(True) # range sword an shield if (self.fightManager.isUnsheated()): if (self.gamepad.isActionPressed()): self.unsheat(False)