Made Nail half-speed, changed long nail from hold B to press B, touched up animations

- Made Nail Carpenter half-speed -- it shouldn't change much, just remember to double your tempo!

- Also changed the long nail input from hold and release to simply pressing B -- the old way gives less reaction time and is just less fun overall

- Also touched up the animations to make them snappier and improve gamefeel
This commit is contained in:
wookywok 2024-03-04 21:08:22 -06:00
parent b72440ca3c
commit afc14b9966
13 changed files with 656 additions and 270 deletions

View file

@ -14,8 +14,8 @@ RenderTexture:
m_DownscaleFallback: 0 m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0 m_IsAlphaChannelOptional: 0
serializedVersion: 5 serializedVersion: 5
m_Width: 1057 m_Width: 1228
m_Height: 595 m_Height: 691
m_AntiAliasing: 2 m_AntiAliasing: 2
m_MipCount: -1 m_MipCount: -1
m_DepthStencilFormat: 92 m_DepthStencilFormat: 92

View file

@ -14,8 +14,8 @@ RenderTexture:
m_DownscaleFallback: 0 m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0 m_IsAlphaChannelOptional: 0
serializedVersion: 5 serializedVersion: 5
m_Width: 1585 m_Width: 1842
m_Height: 892 m_Height: 1036
m_AntiAliasing: 1 m_AntiAliasing: 1
m_MipCount: -1 m_MipCount: -1
m_DepthStencilFormat: 92 m_DepthStencilFormat: 92

View file

@ -40,6 +40,9 @@ AnimatorStateMachine:
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: 3271608080603510724} m_State: {fileID: 3271608080603510724}
m_Position: {x: 270, y: 130, z: 0} m_Position: {x: 270, y: 130, z: 0}
- serializedVersion: 1
m_State: {fileID: 3559872023398252607}
m_Position: {x: 271.1454, y: 207.17763, z: 0}
m_ChildStateMachines: [] m_ChildStateMachines: []
m_AnyStateTransitions: [] m_AnyStateTransitions: []
m_EntryTransitions: [] m_EntryTransitions: []
@ -102,6 +105,32 @@ AnimatorState:
m_MirrorParameter: m_MirrorParameter:
m_CycleOffsetParameter: m_CycleOffsetParameter:
m_TimeParameter: m_TimeParameter:
--- !u!1102 &3559872023398252607
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: carpenterHitLong
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: bada8d22d458d6340b005e5a7256b1f6, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &5920230930599561850 --- !u!1102 &5920230930599561850
AnimatorState: AnimatorState:
serializedVersion: 6 serializedVersion: 6

View file

@ -54,7 +54,7 @@ AnimationClip:
m_Level: 0 m_Level: 0
m_CycleOffset: 0 m_CycleOffset: 0
m_HasAdditiveReferencePose: 0 m_HasAdditiveReferencePose: 0
m_LoopTime: 0 m_LoopTime: 1
m_LoopBlend: 0 m_LoopBlend: 0
m_LoopBlendOrientation: 0 m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0 m_LoopBlendPositionY: 0

View file

@ -20,15 +20,6 @@ AnimationClip:
m_Curve: m_Curve:
- serializedVersion: 3 - serializedVersion: 3
time: 0 time: 0
value: {x: 0, y: 3.36, z: 0}
inSlope: {x: 0, y: 0, z: 0}
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}
- serializedVersion: 3
time: 0.05
value: {x: 0.1, y: 3.2, z: 0} value: {x: 0.1, y: 3.2, z: 0}
inSlope: {x: 0, y: 0, z: 0} inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0} outSlope: {x: 0, y: 0, z: 0}
@ -37,7 +28,43 @@ AnimationClip:
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3 - serializedVersion: 3
time: 0.25 time: 0.083333336
value: {x: 0.062384255, y: 3.2601852, z: 0}
inSlope: {x: -0.501316, y: 0.8021062, z: 0}
outSlope: {x: -0.501316, y: 0.8021062, 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}
- serializedVersion: 3
time: 0.11666667
value: {x: 0.04151313, y: 3.293579, z: 0}
inSlope: {x: -0.62850624, y: 1.0056102, z: 0}
outSlope: {x: -0.62850624, y: 1.0056102, 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}
- serializedVersion: 3
time: 0.15
value: {x: 0.020483838, y: 3.327226, z: 0}
inSlope: {x: -0.57071304, y: 0.91313833, z: 0}
outSlope: {x: -0.57071304, y: 0.91313833, 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}
- serializedVersion: 3
time: 0.18333334
value: {x: 0.0034655947, y: 3.354455, z: 0}
inSlope: {x: -0.2772476, y: 0.4435921, z: 0}
outSlope: {x: -0.2772476, y: 0.4435921, 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}
- serializedVersion: 3
time: 0.2
value: {x: 0, y: 3.36, z: 0} value: {x: 0, y: 3.36, z: 0}
inSlope: {x: 0, y: 0, z: 0} inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0} outSlope: {x: 0, y: 0, z: 0}
@ -54,15 +81,6 @@ AnimationClip:
m_Curve: m_Curve:
- serializedVersion: 3 - serializedVersion: 3
time: 0 time: 0
value: {x: 0, y: 1.1, z: 0}
inSlope: {x: 0, y: 0, z: 0}
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}
- serializedVersion: 3
time: 0.05
value: {x: 0, y: 1.05, z: 0} value: {x: 0, y: 1.05, z: 0}
inSlope: {x: 0, y: 0, z: 0} inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0} outSlope: {x: 0, y: 0, z: 0}
@ -71,7 +89,7 @@ AnimationClip:
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3 - serializedVersion: 3
time: 0.25 time: 0.2
value: {x: 0, y: 1.1, z: 0} value: {x: 0, y: 1.1, z: 0}
inSlope: {x: 0, y: 0, z: 0} inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0} outSlope: {x: 0, y: 0, z: 0}
@ -88,20 +106,14 @@ AnimationClip:
m_PPtrCurves: m_PPtrCurves:
- curve: - curve:
- time: 0 - time: 0
value: {fileID: -1543273638, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
- time: 0.016666668
value: {fileID: 1352923740, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
- time: 0.033333335
value: {fileID: 931314201, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
- time: 0.05
value: {fileID: -973307119, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3} value: {fileID: -973307119, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
- time: 0.13333334 - time: 0.083333336
value: {fileID: 931314201, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3} value: {fileID: 931314201, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
- time: 0.16666667 - time: 0.11666667
value: {fileID: 931314201, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3} value: {fileID: 931314201, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
- time: 0.2 - time: 0.15
value: {fileID: 1352923740, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3} value: {fileID: 1352923740, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
- time: 0.23333333 - time: 0.18333334
value: {fileID: -1543273638, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3} value: {fileID: -1543273638, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
attribute: m_Sprite attribute: m_Sprite
path: Arm path: Arm
@ -136,9 +148,6 @@ AnimationClip:
customType: 23 customType: 23
isPPtrCurve: 1 isPPtrCurve: 1
pptrCurveMapping: pptrCurveMapping:
- {fileID: -1543273638, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
- {fileID: 1352923740, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
- {fileID: 931314201, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
- {fileID: -973307119, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3} - {fileID: -973307119, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
- {fileID: 931314201, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3} - {fileID: 931314201, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
- {fileID: 931314201, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3} - {fileID: 931314201, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
@ -149,7 +158,7 @@ AnimationClip:
m_AdditiveReferencePoseClip: {fileID: 0} m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0 m_AdditiveReferencePoseTime: 0
m_StartTime: 0 m_StartTime: 0
m_StopTime: 0.25 m_StopTime: 0.2
m_OrientationOffsetY: 0 m_OrientationOffsetY: 0
m_Level: 0 m_Level: 0
m_CycleOffset: 0 m_CycleOffset: 0
@ -170,15 +179,6 @@ AnimationClip:
m_Curve: m_Curve:
- serializedVersion: 3 - serializedVersion: 3
time: 0 time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.05
value: 0.1 value: 0.1
inSlope: 0 inSlope: 0
outSlope: 0 outSlope: 0
@ -187,7 +187,43 @@ AnimationClip:
inWeight: 0.33333334 inWeight: 0.33333334
outWeight: 0.33333334 outWeight: 0.33333334
- serializedVersion: 3 - serializedVersion: 3
time: 0.25 time: 0.083333336
value: 0.062384255
inSlope: -0.501316
outSlope: -0.501316
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.11666667
value: 0.04151313
inSlope: -0.62850624
outSlope: -0.62850624
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.15
value: 0.020483838
inSlope: -0.57071304
outSlope: -0.57071304
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.18333334
value: 0.0034655947
inSlope: -0.2772476
outSlope: -0.2772476
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.2
value: 0 value: 0
inSlope: 0 inSlope: 0
outSlope: 0 outSlope: 0
@ -207,15 +243,6 @@ AnimationClip:
m_Curve: m_Curve:
- serializedVersion: 3 - serializedVersion: 3
time: 0 time: 0
value: 3.36
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.05
value: 3.2 value: 3.2
inSlope: 0 inSlope: 0
outSlope: 0 outSlope: 0
@ -224,7 +251,43 @@ AnimationClip:
inWeight: 0.33333334 inWeight: 0.33333334
outWeight: 0.33333334 outWeight: 0.33333334
- serializedVersion: 3 - serializedVersion: 3
time: 0.25 time: 0.083333336
value: 3.2601852
inSlope: 0.8021062
outSlope: 0.8021062
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.11666667
value: 3.293579
inSlope: 1.0056102
outSlope: 1.0056102
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.15
value: 3.327226
inSlope: 0.91313833
outSlope: 0.91313833
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.18333334
value: 3.354455
inSlope: 0.4435921
outSlope: 0.4435921
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.2
value: 3.36 value: 3.36
inSlope: 0 inSlope: 0
outSlope: 0 outSlope: 0
@ -244,53 +307,6 @@ AnimationClip:
m_Curve: m_Curve:
- serializedVersion: 3 - serializedVersion: 3
time: 0 time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.z
path: Head
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.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.x
path: Body
classID: 4
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1.1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.05
value: 1.05 value: 1.05
inSlope: 0 inSlope: 0
outSlope: 0 outSlope: 0
@ -299,7 +315,7 @@ AnimationClip:
inWeight: 0.33333334 inWeight: 0.33333334
outWeight: 0.33333334 outWeight: 0.33333334
- serializedVersion: 3 - serializedVersion: 3
time: 0.25 time: 0.2
value: 1.1 value: 1.1
inSlope: 0 inSlope: 0
outSlope: 0 outSlope: 0
@ -318,7 +334,34 @@ AnimationClip:
serializedVersion: 2 serializedVersion: 2
m_Curve: m_Curve:
- serializedVersion: 3 - serializedVersion: 3
time: 0 time: 0.083333336
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.11666667
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.15
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.18333334
value: 0 value: 0
inSlope: 0 inSlope: 0
outSlope: 0 outSlope: 0
@ -330,7 +373,7 @@ AnimationClip:
m_PostInfinity: 2 m_PostInfinity: 2
m_RotationOrder: 4 m_RotationOrder: 4
attribute: m_LocalPosition.z attribute: m_LocalPosition.z
path: Body path: Head
classID: 4 classID: 4
script: {fileID: 0} script: {fileID: 0}
m_EulerEditorCurves: [] m_EulerEditorCurves: []

View file

@ -0,0 +1,382 @@
%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: carpenterHitLong
serializedVersion: 6
m_Legacy: 0
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves: []
m_PositionCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 0.1, y: 3.2, z: 0}
inSlope: {x: 0, y: 0, z: 0}
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}
- serializedVersion: 3
time: 0.11666667
value: {x: 0.062384255, y: 3.2601852, z: 0}
inSlope: {x: -0.38991246, y: 0.62386036, z: 0}
outSlope: {x: -0.38991246, y: 0.62386036, 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}
- serializedVersion: 3
time: 0.15
value: {x: 0.04151313, y: 3.293579, z: 0}
inSlope: {x: -0.62850624, y: 1.0056102, z: 0}
outSlope: {x: -0.62850624, y: 1.0056102, 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}
- serializedVersion: 3
time: 0.18333334
value: {x: 0.020483838, y: 3.327226, z: 0}
inSlope: {x: -0.5707131, y: 0.91313845, z: 0}
outSlope: {x: -0.5707131, y: 0.91313845, 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}
- serializedVersion: 3
time: 0.21666667
value: {x: 0.0034655947, y: 3.354455, z: 0}
inSlope: {x: -0.2772476, y: 0.4435921, z: 0}
outSlope: {x: -0.2772476, y: 0.4435921, 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}
- serializedVersion: 3
time: 0.23333333
value: {x: 0, y: 3.36, z: 0}
inSlope: {x: 0, y: 0, z: 0}
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: Head
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 0, y: 1.05, z: 0}
inSlope: {x: 0, y: 0, z: 0}
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}
- serializedVersion: 3
time: 0.23333333
value: {x: 0, y: 1.1, z: 0}
inSlope: {x: 0, y: 0, z: 0}
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: Body
m_ScaleCurves: []
m_FloatCurves: []
m_PPtrCurves:
- curve:
- time: 0
value: {fileID: -973307119, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
- time: 0.11666667
value: {fileID: 931314201, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
- time: 0.15
value: {fileID: 931314201, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
- time: 0.18333334
value: {fileID: 1352923740, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
- time: 0.21666667
value: {fileID: -1543273638, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
attribute: m_Sprite
path: Arm
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: 130111906
attribute: 1
script: {fileID: 0}
typeID: 4
customType: 0
isPPtrCurve: 0
- serializedVersion: 2
path: 2073732236
attribute: 1
script: {fileID: 0}
typeID: 4
customType: 0
isPPtrCurve: 0
- serializedVersion: 2
path: 2685614196
attribute: 0
script: {fileID: 0}
typeID: 212
customType: 23
isPPtrCurve: 1
pptrCurveMapping:
- {fileID: -973307119, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
- {fileID: 931314201, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
- {fileID: 931314201, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
- {fileID: 1352923740, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
- {fileID: -1543273638, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 0.23333333
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 0
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.1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.11666667
value: 0.062384255
inSlope: -0.38991246
outSlope: -0.38991246
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.15
value: 0.04151313
inSlope: -0.62850624
outSlope: -0.62850624
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.18333334
value: 0.020483838
inSlope: -0.5707131
outSlope: -0.5707131
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.21666667
value: 0.0034655947
inSlope: -0.2772476
outSlope: -0.2772476
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.23333333
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.x
path: Head
classID: 4
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 3.2
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.11666667
value: 3.2601852
inSlope: 0.62386036
outSlope: 0.62386036
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.15
value: 3.293579
inSlope: 1.0056102
outSlope: 1.0056102
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.18333334
value: 3.327226
inSlope: 0.91313845
outSlope: 0.91313845
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.21666667
value: 3.354455
inSlope: 0.4435921
outSlope: 0.4435921
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.23333333
value: 3.36
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.y
path: Head
classID: 4
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1.05
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.23333333
value: 1.1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.y
path: Body
classID: 4
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.11666667
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.15
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.18333334
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.21666667
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.z
path: Head
classID: 4
script: {fileID: 0}
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: bada8d22d458d6340b005e5a7256b1f6
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -414,9 +414,9 @@ RectTransform:
m_Father: {fileID: 574002313} m_Father: {fileID: 574002313}
m_RootOrder: 0 m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: -21} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 32, y: 32} m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 0, y: 0.5} m_Pivot: {x: 0, y: 0.5}
--- !u!114 &9435782 --- !u!114 &9435782
@ -3846,9 +3846,9 @@ RectTransform:
m_Father: {fileID: 539838476} m_Father: {fileID: 539838476}
m_RootOrder: 0 m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 32, y: -21} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 32, y: 32} m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 1, y: 0.5} m_Pivot: {x: 1, y: 0.5}
--- !u!114 &121871281 --- !u!114 &121871281
@ -4070,9 +4070,9 @@ RectTransform:
m_Father: {fileID: 539838476} m_Father: {fileID: 539838476}
m_RootOrder: 1 m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 72, y: -21} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 32, y: 32} m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 1, y: 0.5} m_Pivot: {x: 1, y: 0.5}
--- !u!114 &129013734 --- !u!114 &129013734
@ -4206,9 +4206,9 @@ RectTransform:
m_Father: {fileID: 539838476} m_Father: {fileID: 539838476}
m_RootOrder: 2 m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 112, y: -21} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 32, y: 32} m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 1, y: 0.5} m_Pivot: {x: 1, y: 0.5}
--- !u!114 &151246938 --- !u!114 &151246938
@ -24624,7 +24624,7 @@ MonoBehaviour:
m_HandleRect: {fileID: 1589389271} m_HandleRect: {fileID: 1589389271}
m_Direction: 2 m_Direction: 2
m_Value: 1 m_Value: 1
m_Size: 0.9897467 m_Size: 1
m_NumberOfSteps: 0 m_NumberOfSteps: 0
m_OnValueChanged: m_OnValueChanged:
m_PersistentCalls: m_PersistentCalls:
@ -30367,7 +30367,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5} m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: 0, y: 121.101654} m_AnchoredPosition: {x: 0, y: 119.632614}
m_SizeDelta: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 1} m_Pivot: {x: 0.5, y: 1}
--- !u!222 &1154875945 --- !u!222 &1154875945
@ -34621,9 +34621,9 @@ RectTransform:
m_Father: {fileID: 574002313} m_Father: {fileID: 574002313}
m_RootOrder: 1 m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 40, y: -21} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 32, y: 32} m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 0, y: 0.5} m_Pivot: {x: 0, y: 0.5}
--- !u!114 &1345846031 --- !u!114 &1345846031
@ -39828,7 +39828,7 @@ MonoBehaviour:
m_HandleRect: {fileID: 1220118244} m_HandleRect: {fileID: 1220118244}
m_Direction: 2 m_Direction: 2
m_Value: 1.0000005 m_Value: 1.0000005
m_Size: 0.60513115 m_Size: 0.5929561
m_NumberOfSteps: 0 m_NumberOfSteps: 0
m_OnValueChanged: m_OnValueChanged:
m_PersistentCalls: m_PersistentCalls:
@ -42945,9 +42945,9 @@ RectTransform:
m_Father: {fileID: 574002313} m_Father: {fileID: 574002313}
m_RootOrder: 2 m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 80, y: -21} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 32, y: 32} m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 0, y: 0.5} m_Pivot: {x: 0, y: 0.5}
--- !u!114 &1783491359 --- !u!114 &1783491359

View file

@ -19,44 +19,44 @@ namespace HeavenStudio.Games.Scripts_NailCarpenter
{ {
game = NailCarpenter.instance; game = NailCarpenter.instance;
game.ScheduleInput(targetBeat, 0.5f, NailCarpenter.InputAction_AltFinish, HammmerJust, HammmerMiss, Empty); game.ScheduleInput(targetBeat, 1f, NailCarpenter.InputAction_AltPress, HammmerJust, HammmerMiss, Empty);
// wrongInput // wrongInput
game.ScheduleUserInput(targetBeat, 0.5f, NailCarpenter.InputAction_BasicPress, weakHammmerJust, Empty, Empty); game.ScheduleUserInput(targetBeat, 1f, NailCarpenter.InputAction_BasicPress, weakHammmerJust, Empty, Empty);
} }
private void HammmerJust(PlayerActionEvent caller, float state) private void HammmerJust(PlayerActionEvent caller, float state)
{ {
game.Carpenter.DoScaledAnimationAsync("carpenterHit", 0.5f); game.Carpenter.DoScaledAnimationAsync("carpenterHit", 1f);
if (state >= 1f || state <= -1f) if (state >= 1f || state <= -1f)
{ {
nailAnim.DoScaledAnimationAsync( nailAnim.DoScaledAnimationAsync(
(state >= 1f ? "longNailBendRight" : "longNailBendLeft"), 0.5f); (state >= 1f ? "longNailBendRight" : "longNailBendLeft"), 0.25f);
SoundByte.PlayOneShot("miss"); SoundByte.PlayOneShot("miss");
return; return;
} }
SoundByte.PlayOneShotGame("nailCarpenter/HammerStrong"); SoundByte.PlayOneShotGame("nailCarpenter/HammerStrong");
nailAnim.DoScaledAnimationAsync("longNailHammered", 0.5f); nailAnim.DoScaledAnimationAsync("longNailHammered", 0.25f);
game.EyeAnim.DoScaledAnimationAsync("eyeSmile", 0.5f); game.EyeAnim.DoScaledAnimationAsync("eyeSmile", 0.25f);
} }
private void weakHammmerJust(PlayerActionEvent caller, float state) private void weakHammmerJust(PlayerActionEvent caller, float state)
{ {
game.ScoreMiss(); game.ScoreMiss();
game.Carpenter.DoScaledAnimationAsync("carpenterHit", 0.5f); game.Carpenter.DoScaledAnimationAsync("carpenterHit", 0.25f);
if (state >= 1f || state <= -1f) if (state >= 1f || state <= -1f)
{ {
nailAnim.DoScaledAnimationAsync( nailAnim.DoScaledAnimationAsync(
(state >= 1f ? "longNailBendRight" : "longNailBendLeft"), 0.5f); (state >= 1f ? "longNailBendRight" : "longNailBendLeft"), 0.25f);
SoundByte.PlayOneShot("miss"); SoundByte.PlayOneShot("miss");
return; return;
} }
SoundByte.PlayOneShotGame("nailCarpenter/HammerWeak"); SoundByte.PlayOneShotGame("nailCarpenter/HammerWeak");
nailAnim.DoScaledAnimationAsync("longNailWeakHammered", 0.5f); nailAnim.DoScaledAnimationAsync("longNailWeakHammered", 0.25f);
} }
private void HammmerMiss(PlayerActionEvent caller) private void HammmerMiss(PlayerActionEvent caller)
{ {
game.EyeAnim.DoScaledAnimationAsync("eyeBlink", 0.5f); game.EyeAnim.DoScaledAnimationAsync("eyeBlink", 0.25f);
} }
private void Empty(PlayerActionEvent caller) { } private void Empty(PlayerActionEvent caller) { }

View file

@ -20,40 +20,40 @@ namespace HeavenStudio.Games.Scripts_NailCarpenter
game = NailCarpenter.instance; game = NailCarpenter.instance;
game.ScheduleInput(targetBeat, 0, NailCarpenter.InputAction_BasicPress, HammmerJust, HammmerMiss, Empty); game.ScheduleInput(targetBeat, 0, NailCarpenter.InputAction_BasicPress, HammmerJust, HammmerMiss, Empty);
game.ScheduleUserInput(targetBeat, 0, NailCarpenter.InputAction_AltFinish, strongHammmerJust, Empty, Empty); game.ScheduleUserInput(targetBeat, 0, NailCarpenter.InputAction_AltPress, strongHammmerJust, Empty, Empty);
} }
private void HammmerJust(PlayerActionEvent caller, float state) private void HammmerJust(PlayerActionEvent caller, float state)
{ {
game.Carpenter.DoScaledAnimationAsync("carpenterHit", 0.5f); game.Carpenter.DoScaledAnimationAsync("carpenterHit", 0.25f);
if (state >= 1f || state <= -1f) if (state >= 1f || state <= -1f)
{ {
nailAnim.DoScaledAnimationAsync( nailAnim.DoScaledAnimationAsync(
(state >= 1f ? "nailBendRight" : "nailBendLeft"), 0.5f); (state >= 1f ? "nailBendRight" : "nailBendLeft"), 0.25f);
SoundByte.PlayOneShot("miss"); SoundByte.PlayOneShot("miss");
return; return;
} }
SoundByte.PlayOneShotGame("nailCarpenter/HammerWeak"); SoundByte.PlayOneShotGame("nailCarpenter/HammerWeak");
nailAnim.DoScaledAnimationAsync("nailHammered", 0.5f); nailAnim.DoScaledAnimationAsync("nailHammered", 0.25f);
} }
private void strongHammmerJust(PlayerActionEvent caller, float state) private void strongHammmerJust(PlayerActionEvent caller, float state)
{ {
game.ScoreMiss(); game.ScoreMiss();
game.Carpenter.DoScaledAnimationAsync("carpenterHit", 0.5f); game.Carpenter.DoScaledAnimationAsync("carpenterHit", 0.25f);
if (state >= 1f || state <= -1f) if (state >= 1f || state <= -1f)
{ {
nailAnim.DoScaledAnimationAsync( nailAnim.DoScaledAnimationAsync(
(state >= 1f ? "nailBendRight" : "nailBendLeft"), 0.5f); (state >= 1f ? "nailBendRight" : "nailBendLeft"), 0.25f);
SoundByte.PlayOneShot("miss"); SoundByte.PlayOneShot("miss");
return; return;
} }
SoundByte.PlayOneShotGame("nailCarpenter/HammerStrong"); SoundByte.PlayOneShotGame("nailCarpenter/HammerStrong");
nailAnim.DoScaledAnimationAsync("nailStrongHammered", 0.5f); nailAnim.DoScaledAnimationAsync("nailStrongHammered", 0.25f);
} }
private void HammmerMiss(PlayerActionEvent caller) private void HammmerMiss(PlayerActionEvent caller)
{ {
game.EyeAnim.DoScaledAnimationAsync("eyeBlink", 0.5f); game.EyeAnim.DoScaledAnimationAsync("eyeBlink", 0.25f);
} }
private void Empty(PlayerActionEvent caller) { } private void Empty(PlayerActionEvent caller) { }

View file

@ -17,25 +17,25 @@ namespace HeavenStudio.Games.Loaders
new GameAction("puddingNail", "Pudding Nail") new GameAction("puddingNail", "Pudding Nail")
{ {
function = delegate {NailCarpenter.instance.PlaySound();}, function = delegate {NailCarpenter.instance.PlaySound();},
defaultLength = 4f, defaultLength = 8f,
resizable = true resizable = true
}, },
new GameAction("cherryNail", "Cherry Nail") new GameAction("cherryNail", "Cherry Nail")
{ {
function = delegate {NailCarpenter.instance.PlaySound();}, function = delegate {NailCarpenter.instance.PlaySound();},
defaultLength = 2f, defaultLength = 4f,
resizable = true resizable = true
}, },
new GameAction("cakeNail", "Cake Nail") new GameAction("cakeNail", "Cake Nail")
{ {
function = delegate {NailCarpenter.instance.PlaySound();}, function = delegate {NailCarpenter.instance.PlaySound();},
defaultLength = 2f, defaultLength = 4f,
resizable = true resizable = true
}, },
new GameAction("cakeLongNail", "Cake Long Nail") new GameAction("cakeLongNail", "Cake Long Nail")
{ {
function = delegate {NailCarpenter.instance.PlaySound();}, function = delegate {NailCarpenter.instance.PlaySound();},
defaultLength = 2f, defaultLength = 4f,
resizable = true resizable = true
}, },
new GameAction("slideFusuma", "Slide Fusuma") new GameAction("slideFusuma", "Slide Fusuma")
@ -44,7 +44,7 @@ namespace HeavenStudio.Games.Loaders
var e = eventCaller.currentEntity; var e = eventCaller.currentEntity;
NailCarpenter.instance.SlideFusuma(e.beat, e.length, e["fillRatio"], e["ease"], e["mute"]); NailCarpenter.instance.SlideFusuma(e.beat, e.length, e["fillRatio"], e["ease"], e["mute"]);
}, },
defaultLength = 0.5f, defaultLength = 1f,
resizable = true, resizable = true,
parameters = new List<Param>() parameters = new List<Param>()
{ {
@ -80,7 +80,7 @@ namespace HeavenStudio.Games
public Transform nailHolder; public Transform nailHolder;
public Transform boardTrans; public Transform boardTrans;
public Transform fusumaTrans; public Transform fusumaTrans;
const float nailDistance = -8f; const float nailDistance = -4f;
const float boardWidth = 19.2f; const float boardWidth = 19.2f;
float scrollRate => nailDistance / (Conductor.instance.pitchedSecPerBeat * 2f); float scrollRate => nailDistance / (Conductor.instance.pitchedSecPerBeat * 2f);
@ -101,7 +101,7 @@ namespace HeavenStudio.Games
protected static bool IA_TouchAltPress(out double dt) protected static bool IA_TouchAltPress(out double dt)
{ {
return PlayerInput.GetTouchDown(InputController.ActionsTouch.Tap, out dt) return PlayerInput.GetTouchDown(InputController.ActionsTouch.Tap, out dt)
&& instance.IsExpectingInputNow(InputAction_AltStart); && instance.IsExpectingInputNow(InputAction_AltPress);
} }
protected static bool IA_PadAltRelease(out double dt) protected static bool IA_PadAltRelease(out double dt)
@ -113,7 +113,7 @@ namespace HeavenStudio.Games
return PlayerInput.GetSqueezeUp(out dt); return PlayerInput.GetSqueezeUp(out dt);
} }
public static PlayerInput.InputAction InputAction_AltStart = public static PlayerInput.InputAction InputAction_AltPress =
new("PcoNailAltStart", new int[] { IAAltDownCat, IAAltDownCat, IAAltDownCat }, new("PcoNailAltStart", new int[] { IAAltDownCat, IAAltDownCat, IAAltDownCat },
IA_PadAltPress, IA_TouchAltPress, IA_BatonAltPress); IA_PadAltPress, IA_TouchAltPress, IA_BatonAltPress);
public static PlayerInput.InputAction InputAction_AltFinish = public static PlayerInput.InputAction InputAction_AltFinish =
@ -148,14 +148,14 @@ namespace HeavenStudio.Games
if (PlayerInput.GetIsAction(InputAction_BasicPress) && !IsExpectingInputNow(InputAction_BasicPress)) if (PlayerInput.GetIsAction(InputAction_BasicPress) && !IsExpectingInputNow(InputAction_BasicPress))
{ {
SoundByte.PlayOneShot("miss"); SoundByte.PlayOneShot("miss");
Carpenter.DoScaledAnimationAsync("carpenterHit", 0.5f); Carpenter.DoScaledAnimationAsync("carpenterHit", 0.25f);
hasSlurped = false; hasSlurped = false;
// ScoreMiss(); // ScoreMiss();
} }
if (PlayerInput.GetIsAction(InputAction_AltFinish) && !IsExpectingInputNow(InputAction_AltFinish)) if (PlayerInput.GetIsAction(InputAction_AltPress) && !IsExpectingInputNow(InputAction_AltPress))
{ {
SoundByte.PlayOneShot("miss"); SoundByte.PlayOneShot("miss");
Carpenter.DoScaledAnimationAsync("carpenterHit", 0.5f); Carpenter.DoScaledAnimationAsync("carpenterHit", 0.25f);
hasSlurped = false; hasSlurped = false;
// ScoreMiss(); // ScoreMiss();
} }
@ -200,11 +200,11 @@ namespace HeavenStudio.Games
// Only consider nailgie events that aren't past the start point. // Only consider nailgie events that aren't past the start point.
if (startBeat <= nailBeat + nailLength) { if (startBeat <= nailBeat + nailLength) {
int nailInEvent = Mathf.CeilToInt(nailLength + 1) / 2; int nailInEvent = Mathf.CeilToInt(nailLength + 2) / 4;
for (int b = 0; b < nailInEvent; b++) for (int b = 0; b < nailInEvent; b++)
{ {
var targetNailBeat = nailBeat + (2f * b); var targetNailBeat = nailBeat + (4f * b);
if (startBeat <= targetNailBeat && targetNailBeat < endBeat) if (startBeat <= targetNailBeat && targetNailBeat < endBeat)
{ {
sounds.Add(new MultiSound.Sound("nailCarpenter/alarm", targetNailBeat)); sounds.Add(new MultiSound.Sound("nailCarpenter/alarm", targetNailBeat));
@ -212,18 +212,18 @@ namespace HeavenStudio.Games
{ {
new BeatAction.Action(targetNailBeat, delegate new BeatAction.Action(targetNailBeat, delegate
{ {
EffectExclamRed.DoScaledAnimationAsync("exclamAppear", 0.5f); EffectExclamRed.DoScaledAnimationAsync("exclamAppear", 0.25f);
}) })
}); });
SpawnSweet(targetNailBeat, startBeat, SpawnSweet(targetNailBeat, startBeat,
(b==0 ? Sweet.sweetsType.ShortCake : Sweet.sweetsType.Cherry)); (b==0 ? Sweet.sweetsType.ShortCake : Sweet.sweetsType.Cherry));
SpawnNail(targetNailBeat+0.5f, startBeat); SpawnNail(targetNailBeat+1f, startBeat);
SpawnSweet(targetNailBeat+1.0f, startBeat, Sweet.sweetsType.Cherry); SpawnSweet(targetNailBeat+2f, startBeat, Sweet.sweetsType.Cherry);
SpawnNail(targetNailBeat+1.25f, startBeat); SpawnNail(targetNailBeat+2.5f, startBeat);
SpawnNail(targetNailBeat+1.75f, startBeat); SpawnNail(targetNailBeat+3.5f, startBeat);
} }
} }
cherryTargetBeats.Add(nailBeat + 2f * nailInEvent); cherryTargetBeats.Add(nailBeat + 4f * nailInEvent);
} }
} }
// Spawn pudding and nail. // Spawn pudding and nail.
@ -233,10 +233,10 @@ namespace HeavenStudio.Games
// Only consider nailgie events that aren't past the start point. // Only consider nailgie events that aren't past the start point.
if (startBeat <= nailBeat + nailLength) { if (startBeat <= nailBeat + nailLength) {
int nailInEvent = Mathf.CeilToInt(nailLength); int nailInEvent = Mathf.CeilToInt(nailLength)/2;
for (int b = 0; b < nailInEvent; b++) for (int b = 0; b < nailInEvent; b++)
{ {
var targetNailBeat = nailBeat + (1f * b); var targetNailBeat = nailBeat + (2f * b);
if (startBeat <= targetNailBeat && targetNailBeat < endBeat) if (startBeat <= targetNailBeat && targetNailBeat < endBeat)
{ {
@ -244,7 +244,7 @@ namespace HeavenStudio.Games
SpawnSweet(targetNailBeat, startBeat, SpawnSweet(targetNailBeat, startBeat,
(IsInRange(cherryTargetBeats, targetNailBeat) ? Sweet.sweetsType.Cherry : (IsInRange(cherryTargetBeats, targetNailBeat) ? Sweet.sweetsType.Cherry :
Sweet.sweetsType.Pudding)); Sweet.sweetsType.Pudding));
SpawnNail(targetNailBeat+0.5f, startBeat); SpawnNail(targetNailBeat+1f, startBeat);
} }
} }
} }
@ -256,20 +256,20 @@ namespace HeavenStudio.Games
// Only consider nailgie events that aren't past the start point. // Only consider nailgie events that aren't past the start point.
if (startBeat <= nailBeat + nailLength) { if (startBeat <= nailBeat + nailLength) {
int nailInEvent = Mathf.CeilToInt(nailLength + 1) / 2; int nailInEvent = Mathf.CeilToInt(nailLength + 1f) / 4;
for (int b = 0; b < nailInEvent; b++) for (int b = 0; b < nailInEvent; b++)
{ {
var targetNailBeat = nailBeat + (2f * b); var targetNailBeat = nailBeat + (4f * b);
if (startBeat <= targetNailBeat && targetNailBeat < endBeat) if (startBeat <= targetNailBeat && targetNailBeat < endBeat)
{ {
sounds.Add(new MultiSound.Sound("nailCarpenter/three", targetNailBeat)); sounds.Add(new MultiSound.Sound("nailCarpenter/three", targetNailBeat));
SpawnSweet(targetNailBeat, startBeat, SpawnSweet(targetNailBeat, startBeat,
(IsInRange(cherryTargetBeats, targetNailBeat) ? Sweet.sweetsType.Cherry : (IsInRange(cherryTargetBeats, targetNailBeat) ? Sweet.sweetsType.Cherry :
Sweet.sweetsType.CherryPudding)); Sweet.sweetsType.CherryPudding));
SpawnNail(targetNailBeat+0.5f, startBeat); SpawnNail(targetNailBeat+1f, startBeat);
SpawnNail(targetNailBeat+1.0f, startBeat); SpawnNail(targetNailBeat+2f, startBeat);
SpawnNail(targetNailBeat+1.5f, startBeat); SpawnNail(targetNailBeat+3f, startBeat);
} }
} }
} }
@ -281,11 +281,11 @@ namespace HeavenStudio.Games
// Only consider nailgie events that aren't past the start point. // Only consider nailgie events that aren't past the start point.
if (startBeat <= nailBeat + nailLength) { if (startBeat <= nailBeat + nailLength) {
int nailInEvent = Mathf.CeilToInt(nailLength + 1) / 2; int nailInEvent = Mathf.CeilToInt(nailLength + 2) / 4;
for (int b = 0; b < nailInEvent; b++) for (int b = 0; b < nailInEvent; b++)
{ {
var targetNailBeat = nailBeat + (2f * b); var targetNailBeat = nailBeat + (4f * b);
if (startBeat <= targetNailBeat && targetNailBeat < endBeat) if (startBeat <= targetNailBeat && targetNailBeat < endBeat)
{ {
sounds.Add(new MultiSound.Sound("nailCarpenter/signal1", targetNailBeat)); sounds.Add(new MultiSound.Sound("nailCarpenter/signal1", targetNailBeat));
@ -294,18 +294,18 @@ namespace HeavenStudio.Games
{ {
new BeatAction.Action(targetNailBeat, delegate new BeatAction.Action(targetNailBeat, delegate
{ {
EffectExclamBlue.DoScaledAnimationAsync("exclamAppear", 0.5f); EffectExclamBlue.DoScaledAnimationAsync("exclamAppear", 0.25f);
}), }),
new BeatAction.Action(targetNailBeat+1f, delegate new BeatAction.Action(targetNailBeat+1.5f, delegate
{ {
Carpenter.DoScaledAnimationAsync("carpenterArmUp", 0.5f); Carpenter.DoScaledAnimationAsync("carpenterArmUp", 0.25f);
}), }),
}); });
SpawnSweet(targetNailBeat, startBeat, SpawnSweet(targetNailBeat, startBeat,
(IsInRange(cherryTargetBeats, targetNailBeat) ? Sweet.sweetsType.Cherry : (IsInRange(cherryTargetBeats, targetNailBeat) ? Sweet.sweetsType.Cherry :
Sweet.sweetsType.LayerCake)); Sweet.sweetsType.LayerCake));
SpawnNail(targetNailBeat+0.5f, startBeat); SpawnNail(targetNailBeat+1f, startBeat);
SpawnLongNail(targetNailBeat+1f, startBeat); SpawnLongNail(targetNailBeat+2f, startBeat);
} }
} }
} }
@ -379,7 +379,7 @@ namespace HeavenStudio.Games
{ {
foreach (double item in list) foreach (double item in list)
{ {
if (num >= item && num <= item + 0.25f) if (num >= item && num <= item + .5f)
{ {
return true; return true;
} }

View file

@ -60,19 +60,19 @@ namespace HeavenStudio.Games.Scripts_NailCarpenter
switch(sweetType) switch(sweetType)
{ {
case sweetsType.Pudding: case sweetsType.Pudding:
sweetAnim.DoScaledAnimationAsync("puddingBreak", 0.5f); sweetAnim.DoScaledAnimationAsync("puddingBreak", 0.25f);
break; break;
case sweetsType.CherryPudding: case sweetsType.CherryPudding:
sweetAnim.DoScaledAnimationAsync("cherryPuddingBreak", 0.5f); sweetAnim.DoScaledAnimationAsync("cherryPuddingBreak", 0.25f);
break; break;
case sweetsType.ShortCake: case sweetsType.ShortCake:
sweetAnim.DoScaledAnimationAsync("shortCakeBreak", 0.5f); sweetAnim.DoScaledAnimationAsync("shortCakeBreak", 0.25f);
break; break;
case sweetsType.Cherry: case sweetsType.Cherry:
sweetAnim.DoScaledAnimationAsync("cherryBreak", 0.5f); sweetAnim.DoScaledAnimationAsync("cherryBreak", 0.25f);
break; break;
case sweetsType.LayerCake: case sweetsType.LayerCake:
sweetAnim.DoScaledAnimationAsync("layerCakeBreak", 0.5f); sweetAnim.DoScaledAnimationAsync("layerCakeBreak", 0.25f);
break; break;
} }
} }
@ -81,9 +81,9 @@ namespace HeavenStudio.Games.Scripts_NailCarpenter
{ {
game.ScoreMiss(); game.ScoreMiss();
BreakAnim(); BreakAnim();
game.Carpenter.DoScaledAnimationAsync("carpenterHit", 0.5f); game.Carpenter.DoScaledAnimationAsync("carpenterHit", 0.25f);
SoundByte.PlayOneShot("miss"); SoundByte.PlayOneShot("miss");
game.EyeAnim.DoScaledAnimationAsync("eyeBlink", 0.5f); game.EyeAnim.DoScaledAnimationAsync("eyeBlink", 0.25f);
} }
private void Empty(PlayerActionEvent caller) { } private void Empty(PlayerActionEvent caller) { }

View file

@ -17,85 +17,9 @@ MonoBehaviour:
DenseViewWidthThreshold: 512 DenseViewWidthThreshold: 512
_disableAutoReloadInBackground: 0 _disableAutoReloadInBackground: 0
ImportedScriptPaths: ImportedScriptPaths:
- Assets/Scripts/Games/Tunnel/Tunnel.cs - Assets/Scripts/Games/NailCarpenter/NailCarpenter.cs
- Assets/Scripts/Games/ClappyTrio/ClappyTrio.cs - Assets/Scripts/Games/NailCarpenter/LongNail.cs
- Assets/Scripts/LevelEditor/RemixPropertiesDialog/RemixPropertiesDialog.cs - Assets/Scripts/Games/NailCarpenter/Nail.cs
- Assets/Scripts/Games/TotemClimb/TotemClimb.cs - Assets/Scripts/Games/NailCarpenter/Sweet.cs
- Assets/Plugins/StandaloneFileBrowser/IStandaloneFileBrowser.cs
- Assets/Scripts/LevelEditor/Commands/CommandManager.cs
- Assets/Scripts/Games/FirstContact/Translator.cs
- Assets/Scripts/LevelEditor/TooltipGiver.cs
- Assets/Scripts/InputSystem/USG.g/InitInputControllers.PlayerInput.ControllerLoaderGenerator.g.cs
- Assets/Scripts/Games/DrummingPractice/DrummerHit.cs
- Assets/Scripts/LevelEditor/TempoFinder/TempoFinder.cs
- Assets/Scripts/LevelEditor/EventSelector/EventParameterManager.cs
- Assets/Scripts/StudioDance/Dancer.cs
- Assets/Scripts/LevelEditor/EventSelector/EventPropertyPrefab.cs
- Assets/Scripts/Games/Lockstep/Lockstep.cs
- Assets/Scripts/Games/TotemClimb/TCTotemManager.cs
- Assets/Scripts/UI/Overlays/TimingAccuracyDisplay.cs
- Assets/Scripts/Games/MunchyMonk/MunchyMonk.cs
- Assets/Scripts/Games/ForkLifter/ForkLifterPlayer.cs
- Assets/Scripts/Games/DoubleDate/SoccerBall.cs
- Assets/Scripts/Games/RhythmTweezers/Tweezers.cs
- Assets/Scripts/Games/WorkingDough/WorkingDough.cs
- Assets/Scripts/Games/TotemClimb/TCFrog.cs
- Assets/Scripts/UI/SettingsDialog/Tabs/ControllerSettings.cs
- Assets/Scripts/Games/SpaceDance/SpaceDance.cs
- Assets/Scripts/Games/MrUpbeat/UpbeatMan.cs
- Assets/Scripts/Games/OctopusMachine/OctopusMachine.cs
- Assets/Scripts/Games/TotemClimb/TCPillarManager.cs
- Assets/Scripts/Games/Fireworks/Fireworks.cs
- Assets/Scripts/Games/FlipperFlop/FlipperFlop.cs
- Assets/Scripts/Games/WizardsWaltz/Wizard.cs
- Assets/Scripts/Games/MonkeyWatch/MonkeyWatch.cs
- Assets/Scripts/Games/MonkeyWatch/WatchMonkeyHandler.cs
- Assets/Scripts/Games/MonkeyWatch/WatchBackgroundHandler.cs
- Assets/Scripts/Games/MonkeyWatch/MonkeyClockArrow.cs
- Assets/Scripts/Games/MonkeyWatch/BalloonHandler.cs
- Assets/Scripts/Games/MonkeyWatch/WatchMonkey.cs
- Assets/Scripts/Games/LumBEARjack/LumBEARjack.cs
- Assets/Scripts/Games/LumBEARjack/LBJBigObject.cs
- Assets/Scripts/Games/LumBEARjack/LBJSmallObject.cs
- Assets/Scripts/Games/LumBEARjack/LBJBear.cs
- Assets/Scripts/Games/LumBEARjack/LBJHugeObject.cs
- Assets/Scripts/Games/LumBEARjack/LBJCatMove.cs
- Assets/Scripts/Util/ParticleSystemHelpers.cs
- Assets/Scripts/Games/LumBEARjack/LBJBGCat.cs
- Assets/Scripts/Games/LumBEARjack/LBJBaby.cs
- Assets/Scripts/Games/LumBEARjack/LBJObjectRotate.cs
- Assets/Scripts/Games/LumBEARjack/LBJMissObject.cs
- Assets/Scripts/LevelEditor/RemixPropertiesDialog/PropertyPrefabs/BoolChartPropertyPrefab.cs
- Assets/Plugins/Starpelly/Textures.cs
- Assets/Plugins/Starpelly/OS.cs
- Assets/Plugins/Color picker/ColorPreview.cs
- Assets/Scripts/Games/Manzai/Manzai.cs
- Assets/Plugins/Starpelly/Starpelly.cs
- Assets/Scripts/LevelEditor/Tooltip.cs
- Assets/Scripts/Games/SoundEffects.cs
- Assets/Plugins/Starpelly/Random.cs
- Assets/Plugins/Starpelly/OperatingSystem/Linux.cs
- Assets/Plugins/Starpelly/Utils.cs
- Assets/Plugins/Starpelly/Enums/Windows.cs
- Assets/Plugins/Starpelly/OperatingSystem/Windows.cs
- Assets/Plugins/Starpelly/Pelly.cs
- Assets/Plugins/Starpelly/Enums/StringType.cs
- Assets/Plugins/Starpelly/OperatingSystem/User32.cs
- Assets/Plugins/Starpelly/Extensions.cs
- Assets/Plugins/Starpelly/ScreenUtility.cs
- Assets/Plugins/Starpelly/Properties/Strings.cs
- Assets/Plugins/Starpelly/Anchors.cs
- Assets/Plugins/Starpelly/Properties/Arrays.cs
- Assets/Plugins/Starpelly/OperatingSystem/IOperatingSystem.cs
- Assets/Scripts/LevelEditor/RemixPropertiesDialog/RemixPropertyPrefab.cs
- Assets/Scripts/LevelEditor/Timeline/LayerLabel.cs
- Assets/Plugins/Starpelly/Transformer.cs
- Assets/Plugins/Starpelly/RendererExtensions.cs
- Assets/Scripts/Util/StringUtils.cs
- Assets/Plugins/Starpelly/OperatingSystem/MacOS.cs
- Assets/Plugins/Starpelly/Common.cs
- Assets/Scripts/Games/LumBEARjack/LBJBomb.cs
- Assets/Scripts/Games/SumoBrothers/SumoBrothers.cs
- Assets/Scripts/Games/RhythmTestGBA/RhythmTestGBA.cs
PathsToSkipImportEvent: [] PathsToSkipImportEvent: []
PathsToIgnoreOverwriteSettingOnAttribute: [] PathsToIgnoreOverwriteSettingOnAttribute: []