diff --git a/Assets/Resources/Sprites/Games/TotemClimb/Animations/Jumper/Jumper.controller b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Jumper/Jumper.controller index 5af8c36bd..43e5306e0 100644 --- a/Assets/Resources/Sprites/Games/TotemClimb/Animations/Jumper/Jumper.controller +++ b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Jumper/Jumper.controller @@ -47,6 +47,9 @@ AnimatorStateMachine: - serializedVersion: 1 m_State: {fileID: 5458167894553666488} m_Position: {x: 305, y: 195, z: 0} + - serializedVersion: 1 + m_State: {fileID: -449665782090871809} + m_Position: {x: 340, y: 260, z: 0} m_ChildStateMachines: [] m_AnyStateTransitions: [] m_EntryTransitions: [] @@ -83,6 +86,32 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1102 &-449665782090871809 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Miss + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: b2cdbfa1ec3b8304380c11a05791bfd2, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: --- !u!91 &9100000 AnimatorController: m_ObjectHideFlags: 0 diff --git a/Assets/Resources/Sprites/Games/TotemClimb/Animations/Jumper/Miss.anim b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Jumper/Miss.anim new file mode 100644 index 000000000..2d8ef7a56 --- /dev/null +++ b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Jumper/Miss.anim @@ -0,0 +1,624 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Miss + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: -1080} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.33333334 + value: {x: 0, y: 0, z: -360} + inSlope: {x: -0, y: -0, z: -1080} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: -0.39, y: -0.99000025, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: footLeft + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 1.01, y: -0.99, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: footRight + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: -1.81, y: 0.13, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: wingLeft + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 1.8, y: 0.13, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: wingRight + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 3 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_SortingOrder + path: footRight + classID: 212 + script: {fileID: 0} + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: 2050925680, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + attribute: m_Sprite + path: footLeft + classID: 212 + script: {fileID: 0} + - curve: + - time: 0 + value: {fileID: 2050925680, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + attribute: m_Sprite + path: footRight + classID: 212 + script: {fileID: 0} + - curve: + - time: 0 + value: {fileID: -591290891, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + attribute: m_Sprite + path: wingLeft + classID: 212 + script: {fileID: 0} + - curve: + - time: 0 + value: {fileID: -591290891, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + attribute: m_Sprite + path: wingRight + classID: 212 + script: {fileID: 0} + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 4 + script: {fileID: 0} + typeID: 4 + customType: 4 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2665447489 + attribute: 3762991556 + script: {fileID: 0} + typeID: 212 + customType: 26 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 12134035 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + - serializedVersion: 2 + path: 2665447489 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + - serializedVersion: 2 + path: 1063525611 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + - serializedVersion: 2 + path: 3225330805 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + - serializedVersion: 2 + path: 12134035 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2665447489 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1063525611 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 3225330805 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + pptrCurveMapping: + - {fileID: 2050925680, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + - {fileID: 2050925680, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + - {fileID: -591290891, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + - {fileID: -591290891, guid: 82ecf7d34cdde82478c1c03c649f7827, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.33333334 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.33333334 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.x + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.33333334 + value: 0 + inSlope: -0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.y + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: -1080 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.33333334 + value: -360 + inSlope: -1080 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.z + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -0.39 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: footLeft + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -0.99000025 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: footLeft + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: footLeft + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1.01 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: footRight + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -0.99 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: footRight + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: footRight + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 3 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_SortingOrder + path: footRight + classID: 212 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -1.81 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: wingLeft + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.13 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: wingLeft + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: wingLeft + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1.8 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: wingRight + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.13 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: wingRight + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: wingRight + classID: 4 + script: {fileID: 0} + m_EulerEditorCurves: + - curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.x + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.y + path: + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.z + path: + classID: 4 + script: {fileID: 0} + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/TotemClimb/Animations/Jumper/Miss.anim.meta b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Jumper/Miss.anim.meta new file mode 100644 index 000000000..2309dab92 --- /dev/null +++ b/Assets/Resources/Sprites/Games/TotemClimb/Animations/Jumper/Miss.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b2cdbfa1ec3b8304380c11a05791bfd2 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Games/TotemClimb/TCJumper.cs b/Assets/Scripts/Games/TotemClimb/TCJumper.cs index 21c22a424..6e2ca7f73 100644 --- a/Assets/Scripts/Games/TotemClimb/TCJumper.cs +++ b/Assets/Scripts/Games/TotemClimb/TCJumper.cs @@ -50,18 +50,18 @@ namespace HeavenStudio.Games.Scripts_TotemClimb } } - public void StartJumping(double beat) + public void StartJumping(double beat, bool miss = false) { bool nextIsTriple = _game.IsTripleBeat(beat + 1); - StartCoroutine(JumpCo(beat)); + StartCoroutine(JumpCo(beat, miss)); if (beat + 1 >= _game.EndBeat) return; _game.ScheduleInput(beat, 1, Minigame.InputAction_BasicPress, nextIsTriple ? JustTripleEnter : Just, nextIsTriple ? MissTripleEnter : Miss, Empty); } - public void TripleJumping(double beat, bool enter) + public void TripleJumping(double beat, bool enter, bool miss = false) { - StartCoroutine(JumpTripleCo(beat, enter)); + StartCoroutine(JumpTripleCo(beat, enter, miss)); if (beat + 0.5 >= _game.EndBeat) return; _game.ScheduleInput(beat, 0.5, Minigame.InputAction_BasicPress, enter ? JustTripleExit : Just, enter ? MissTripleExit : Miss, Empty); } @@ -71,7 +71,7 @@ namespace HeavenStudio.Games.Scripts_TotemClimb _anim.DoScaledAnimationAsync("Bop", 0.5f); } - private IEnumerator JumpCo(double beat) + private IEnumerator JumpCo(double beat, bool miss) { if (beat >= _startBeat) { @@ -111,7 +111,8 @@ namespace HeavenStudio.Games.Scripts_TotemClimb }; } } - _anim.Play("Jump", 0, 0); + if (!miss) _anim.Play("Jump", 0, 0); + else _anim.DoScaledAnimationAsync("Miss", 0.5f); float normalizedBeat = Conductor.instance.GetPositionFromBeat(beat, _path.positions[0].duration); bool playedFall = false; @@ -122,7 +123,7 @@ namespace HeavenStudio.Games.Scripts_TotemClimb if (normalizedBeat >= 0.5f && !playedFall) { - _anim.Play("Fall", 0, 0); + if (!miss) _anim.Play("Fall", 0, 0); playedFall = true; } @@ -132,7 +133,7 @@ namespace HeavenStudio.Games.Scripts_TotemClimb _anim.Play("Idle", 0, 0); } - private IEnumerator JumpTripleCo(double beat, bool enter) + private IEnumerator JumpTripleCo(double beat, bool enter, bool miss) { if (beat >= _startBeat) { @@ -149,7 +150,8 @@ namespace HeavenStudio.Games.Scripts_TotemClimb target = _game.GetJumperFrogPointAtBeat(beat + 0.5, enter ? 0 : 1) }; } - _anim.Play("Jump", 0, 0); + if (!miss) _anim.Play("Jump", 0, 0); + else _anim.DoScaledAnimationAsync("Miss", 0.5f); float normalizedBeat = Conductor.instance.GetPositionFromBeat(beat, _path.positions[0].duration); bool playedFall = false; @@ -160,7 +162,7 @@ namespace HeavenStudio.Games.Scripts_TotemClimb if (normalizedBeat >= 0.5f && !playedFall) { - _anim.Play("Fall", 0, 0); + if (!miss) _anim.Play("Fall", 0, 0); playedFall = true; } @@ -178,6 +180,7 @@ namespace HeavenStudio.Games.Scripts_TotemClimb if (isTriple) _game.FallFrogAtBeat(caller.startBeat + caller.timer, 1); if (state >= 1f || state <= -1f) { + SoundByte.PlayOneShot("nearMiss"); return; } SoundByte.PlayOneShotGame(isTriple ? "totemClimb/totemlandb" : "totemClimb/totemland"); @@ -189,6 +192,7 @@ namespace HeavenStudio.Games.Scripts_TotemClimb _game.FallFrogAtBeat(caller.startBeat + caller.timer, -1); if (state >= 1f || state <= -1f) { + SoundByte.PlayOneShot("nearMiss"); return; } SoundByte.PlayOneShotGame("totemClimb/totemland"); @@ -200,6 +204,7 @@ namespace HeavenStudio.Games.Scripts_TotemClimb _game.FallFrogAtBeat(caller.startBeat + caller.timer, 0); if (state >= 1f || state <= -1f) { + SoundByte.PlayOneShot("nearMiss"); return; } SoundByte.PlayOneShotGame("totemClimb/totemland"); @@ -207,21 +212,24 @@ namespace HeavenStudio.Games.Scripts_TotemClimb private void Miss(PlayerActionEvent caller) { - StartJumping(caller.startBeat + caller.timer); + StartJumping(caller.startBeat + caller.timer, true); _game.BopTotemAtBeat(caller.startBeat + caller.timer); if (_game.IsTripleBeat(caller.startBeat + caller.timer)) _game.FallFrogAtBeat(caller.startBeat + caller.timer, 1); + SoundByte.PlayOneShot("miss"); } private void MissTripleEnter(PlayerActionEvent caller) { - TripleJumping(caller.startBeat + caller.timer, true); + TripleJumping(caller.startBeat + caller.timer, true, true); _game.FallFrogAtBeat(caller.startBeat + caller.timer, -1); + SoundByte.PlayOneShot("miss"); } private void MissTripleExit(PlayerActionEvent caller) { - TripleJumping(caller.startBeat + caller.timer, false); + TripleJumping(caller.startBeat + caller.timer, false, true); _game.FallFrogAtBeat(caller.startBeat + caller.timer, 0); + SoundByte.PlayOneShot("miss"); } private void Empty(PlayerActionEvent caller) { }