start optic blast

switch phone variant
This commit is contained in:
minenice55 2024-01-12 16:01:39 -05:00
parent 985715e27e
commit b67024b3fd
10 changed files with 366 additions and 203 deletions

View file

@ -346,6 +346,7 @@ Transform:
- {fileID: 4887157459228296092}
- {fileID: 3541312439702705548}
- {fileID: 8620437232085832489}
- {fileID: 6075773931917368371}
m_Father: {fileID: 7799781267437701720}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -720,90 +721,6 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &1219763784744913892
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4389737351449479942}
- component: {fileID: 8771537733056164768}
m_Layer: 0
m_Name: tempBg
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &4389737351449479942
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1219763784744913892}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 20, y: 20, z: 0}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2049491332800905642}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &8771537733056164768
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1219763784744913892}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: -15
m_Sprite: {fileID: 7482667652216324306, guid: 48e93eef0688c4a259cb0eddcd8661f7, type: 3}
m_Color: {r: 0.8018868, g: 0.8018868, b: 0.8018868, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &1293664498170733624
GameObject:
m_ObjectHideFlags: 0
@ -1149,7 +1066,7 @@ Transform:
m_GameObject: {fileID: 1807062578198146157}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.455, y: 0.455, z: 1}
m_LocalScale: {x: 0.4, y: 0.4, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6646177278795284587}
@ -1306,7 +1223,7 @@ Transform:
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 2049491332800905642}
m_RootOrder: 3
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &3415933083579353517
SpriteRenderer:
@ -1387,7 +1304,7 @@ Transform:
m_GameObject: {fileID: 2309287867142528446}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.455, y: 0.455, z: 1}
m_LocalScale: {x: 0.4, y: 0.4, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6646177278795284587}
@ -1574,9 +1491,7 @@ Transform:
m_LocalScale: {x: 0.455, y: 0.455, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4389737351449479942}
- {fileID: 6171372797069188628}
- {fileID: 6022295480590303863}
- {fileID: 3934110443464930287}
m_Father: {fileID: 7799781267437701720}
m_RootOrder: 0
@ -2377,7 +2292,7 @@ Transform:
- {fileID: 8023380170287309826}
- {fileID: 5827097936516676005}
m_Father: {fileID: 2049491332800905642}
m_RootOrder: 1
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &5096395877590586700
GameObject:
@ -2747,90 +2662,6 @@ SpriteRenderer:
m_WasSpriteAssigned: 0
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &6043466246216488714
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6022295480590303863}
- component: {fileID: 2547362468922866573}
m_Layer: 0
m_Name: Bound
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &6022295480590303863
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6043466246216488714}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0.8}
m_LocalScale: {x: 42.768044, y: 25.660835, z: 0.8}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2049491332800905642}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &2547362468922866573
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6043466246216488714}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 3000
m_Sprite: {fileID: 7482667652216324306, guid: 48e93eef0688c4a259cb0eddcd8661f7, type: 3}
m_Color: {r: 1, g: 0, b: 1, a: 0.16470589}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &6092229326248261130
GameObject:
m_ObjectHideFlags: 0
@ -2858,7 +2689,7 @@ Transform:
m_GameObject: {fileID: 6092229326248261130}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.455, y: 0.455, z: 1}
m_LocalScale: {x: 0.4, y: 0.4, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6646177278795284587}
@ -3239,6 +3070,39 @@ MonoBehaviour:
looping: 0
offset: 0
parameters: []
- name: girlCharge
sequence:
game: 1
force: 1
clips:
- clip: trickClass/girl_charge_0
beat: 0
pitch: 1
volume: 1
looping: 0
offset: 0
parameters: []
- clip: trickClass/girl_charge_1
beat: 0.75
pitch: 1
volume: 1
looping: 0
offset: 0
parameters: []
- clip: trickClass/girl_charge_1
beat: 1.5
pitch: 1
volume: 1
looping: 0
offset: 0
parameters: []
- clip: trickClass/girl_toss_phone
beat: 2
pitch: 1
volume: 1
looping: 0
offset: 0
parameters: []
scheduledInputs: []
playerAnim: {fileID: 4171281603420513773}
girlAnim: {fileID: 6570045643125407281}
@ -3249,12 +3113,24 @@ MonoBehaviour:
- {fileID: 8803031136113842806}
- {fileID: 1807062578198146157}
- {fileID: 2309287867142528446}
objPrefabVariant:
- {fileID: 7208854294000353610}
- {fileID: 6092229326248261130}
- {fileID: 8803031136113842806}
- {fileID: 1807062578198146157}
- {fileID: 9080813741446468681}
objWarnAnim:
- WarnBall
- WarnPlane
- WarnChair
- WarnShock
- WarnPhone
objWarnAnimVariant:
- WarnBall
- WarnPlane
- WarnChair
- WarnShock
- WarnNx
objThrowAnim:
- Throw
- Throw
@ -3379,7 +3255,7 @@ Transform:
m_GameObject: {fileID: 7208854294000353610}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.455, y: 0.455, z: 1}
m_LocalScale: {x: 0.4, y: 0.4, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6646177278795284587}
@ -4077,7 +3953,7 @@ Transform:
m_GameObject: {fileID: 8803031136113842806}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.455, y: 0.455, z: 1}
m_LocalScale: {x: 0.4, y: 0.4, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6646177278795284587}
@ -4222,6 +4098,112 @@ SortingGroup:
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!1 &9080813741446468681
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6075773931917368371}
- component: {fileID: 1291136543557456624}
- component: {fileID: 2642426949629143853}
m_Layer: 0
m_Name: objNx
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &6075773931917368371
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9080813741446468681}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.4, y: 0.4, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6646177278795284587}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &1291136543557456624
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9080813741446468681}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 10
m_Sprite: {fileID: 762809910, guid: 9e4d9259bae08d443835f93cde178f9a, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 6.4438066, y: 6.183311}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!114 &2642426949629143853
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9080813741446468681}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: eb420e9087e23a64eb3ca43a7620c211, type: 3}
m_Name:
m_EditorClassIdentifier:
flyType: 0
flyBeats: 2
dodgeBeats: 1
gravity: 36
hitLayer: -1
type: 4
justSound: player_dodge_success_alt
missSound: chair_impact
spriteRenderer: {fileID: 1291136543557456624}
--- !u!1 &9135951315644634110
GameObject:
m_ObjectHideFlags: 0

View file

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: 49ecbcd4f7cb82d48a615ec2416b2ba5
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 0
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: 770734d13a4d8fa4e904aa6616e6591c
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 0
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,68 @@
%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: WarnNx
serializedVersion: 6
m_Legacy: 0
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves: []
m_PositionCurves: []
m_ScaleCurves: []
m_FloatCurves: []
m_PPtrCurves:
- curve:
- time: 0
value: {fileID: 762809910, guid: 9e4d9259bae08d443835f93cde178f9a, type: 3}
attribute: m_Sprite
path: warnBubble/warnObj
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: 1238842833
attribute: 0
script: {fileID: 0}
typeID: 212
customType: 23
isPPtrCurve: 1
pptrCurveMapping:
- {fileID: 762809910, guid: 9e4d9259bae08d443835f93cde178f9a, type: 3}
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 0.016666668
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: []
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []

View file

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

View file

@ -153,6 +153,9 @@ AnimatorStateMachine:
- serializedVersion: 1
m_State: {fileID: 7905119148226771895}
m_Position: {x: 345, y: 435, z: 0}
- serializedVersion: 1
m_State: {fileID: 4391100156467920704}
m_Position: {x: 380, y: 500, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
@ -163,6 +166,32 @@ AnimatorStateMachine:
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: -7055674614395819121}
--- !u!1102 &4391100156467920704
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: WarnNx
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: 9f3ac069a9ac48b44badb290727beb82, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &5922798250668347908
AnimatorState:
serializedVersion: 6

View file

@ -37,6 +37,12 @@ namespace HeavenStudio.Games.Scripts_TrickClass
float flyPos = cond.GetPositionFromBeat(startBeat, flyBeats);
transform.position = curve.GetPoint(flyPos);
game.ScheduleInput(startBeat, dodgeBeats, TrickClass.InputAction_FlickPress, DodgeJustOrNg, DodgeMiss, DodgeThrough, CanDodge);
if (type is not TrickClass.TrickObjType.Shock or TrickClass.TrickObjType.Plane)
{
transform.eulerAngles = new Vector3(0, 0, UnityEngine.Random.Range(0f, 360f));
}
Update();
}
// Update is called once per frame

View file

@ -12,7 +12,8 @@ namespace HeavenStudio.Games.Loaders
using static Minigames;
public static class MobTrickLoader
{
public static Minigame AddGame(EventCaller eventCaller) {
public static Minigame AddGame(EventCaller eventCaller)
{
return new Minigame("trickClass", "Trick on the Class", "ecede4", false, false, new List<GameAction>()
{
new GameAction("toss", "Paper Ball")
@ -20,7 +21,7 @@ namespace HeavenStudio.Games.Loaders
preFunction = delegate
{
TrickClass.PreTossObject(eventCaller.currentEntity.beat, (int)TrickClass.TrickObjType.Ball);
},
},
defaultLength = 2,
},
new GameAction("plane", "Plane")
@ -43,9 +44,13 @@ namespace HeavenStudio.Games.Loaders
{
preFunction = delegate
{
TrickClass.PreTossObject(eventCaller.currentEntity.beat, (int)TrickClass.TrickObjType.Phone);
TrickClass.PreTossObject(eventCaller.currentEntity.beat, (int)TrickClass.TrickObjType.Phone, eventCaller.currentEntity["nx"]);
},
defaultLength = 2,
parameters = new List<Param>()
{
new Param("nx", false, "Switch", "Replace the phone with a Switch"),
}
},
new GameAction("shock", "Lightning Bolt")
{
@ -55,10 +60,18 @@ namespace HeavenStudio.Games.Loaders
},
defaultLength = 2,
},
new GameAction("blast", "Optic Blast")
{
preFunction = delegate
{
TrickClass.PreBlast(eventCaller.currentEntity.beat);
},
defaultLength = 3,
},
new GameAction("bop", "Bop")
{
function = delegate { var e = eventCaller.currentEntity; TrickClass.instance.Bop(e.beat, e.length, e["bop"], e["autoBop"]); },
resizable = true,
resizable = true,
parameters = new List<Param>()
{
new Param("bop", true, "Bop", "Should the girl and boy bop?"),
@ -66,9 +79,9 @@ namespace HeavenStudio.Games.Loaders
}
},
},
new List<string>() {"mob", "normal"},
new List<string>() { "mob", "normal" },
"mobtrick", "en",
new List<string>() {}
new List<string>() { }
);
}
}
@ -83,7 +96,8 @@ namespace HeavenStudio.Games
using Scripts_TrickClass;
public class TrickClass : Minigame
{
public enum TrickObjType {
public enum TrickObjType
{
Ball,
Plane,
Chair,
@ -94,6 +108,7 @@ namespace HeavenStudio.Games
{
public double beat;
public int type;
public bool variant;
}
public static List<QueuedObject> queuedInputs = new List<QueuedObject>();
@ -104,7 +119,9 @@ namespace HeavenStudio.Games
[Header("References")]
public GameObject[] objPrefab;
public GameObject[] objPrefabVariant;
public string[] objWarnAnim;
public string[] objWarnAnimVariant;
public string[] objThrowAnim;
public Transform objHolder;
@ -168,16 +185,16 @@ namespace HeavenStudio.Games
{
new BeatAction.Action(input.beat - 1f, delegate
{
warnAnim.Play(objWarnAnim[input.type], 0, 0);
warnAnim.Play(input.variant ? objWarnAnimVariant[input.type] : objWarnAnim[input.type], 0, 0);
}),
new BeatAction.Action(input.beat, delegate
new BeatAction.Action(input.beat, delegate
{
warnAnim.Play("NoPose", 0, 0);
TossObject(input.beat, input.type);
TossObject(input.beat, input.type, input.variant);
})
});
}
queuedInputs.Clear();
queuedInputs.Clear();
}
}
@ -226,24 +243,24 @@ namespace HeavenStudio.Games
{
instance.showBubble = !instance.showBubble;
}
public static void PreTossObject(double beat, int type)
public static void PreTossObject(double beat, int type, bool variant = false)
{
if (GameManager.instance.currentGame == "trickClass")
{
BeatAction.New(instance, new List<BeatAction.Action>()
{
new BeatAction.Action(beat - 1, delegate
new BeatAction.Action(beat - 1, delegate
{
if (instance.showBubble == true)
{
instance.warnAnim.Play(instance.objWarnAnim[type], 0, 0);
instance.warnAnim.Play(variant ? instance.objWarnAnimVariant[type] : instance.objWarnAnim[type], 0, 0);
}
}),
new BeatAction.Action(beat, delegate
new BeatAction.Action(beat, delegate
{
instance.warnAnim.Play("NoPose", 0, 0);
instance.TossObject(beat, type);
instance.TossObject(beat, type, variant);
})
});
}
@ -253,50 +270,54 @@ namespace HeavenStudio.Games
{
beat = beat,
type = type,
variant = variant
});
}
switch (type)
{
case (int) TrickObjType.Plane:
case (int)TrickObjType.Plane:
PlaySoundSequence("trickClass", "planeThrow", beat);
break;
case (int) TrickObjType.Chair:
case (int)TrickObjType.Chair:
PlaySoundSequence("trickClass", "chairThrow", beat);
break;
case (int) TrickObjType.Shock:
case (int)TrickObjType.Shock:
PlaySoundSequence("trickClass", "shockThrow", beat);
break;
case (int)TrickObjType.Phone:
PlaySoundSequence("trickClass", "phoneThrow", beat);
break;
default:
PlaySoundSequence("trickClass", "ballThrow", beat);
break;
}
}
public void TossObject(double beat, int type)
public void TossObject(double beat, int type, bool variant = false)
{
SpawnObject(beat, type);
SpawnObject(beat, type, variant);
girlAnim.DoScaledAnimationAsync(objThrowAnim[type]);
girlBopStart = Conductor.instance.songPositionInBeatsAsDouble + 0.75f;
}
public void SpawnObject(double beat, int type)
public void SpawnObject(double beat, int type, bool variant = false)
{
GameObject objectToSpawn;
BezierCurve3D curve;
switch (type)
{
case (int) TrickObjType.Plane:
case (int)TrickObjType.Plane:
curve = planeTossCurve;
break;
case (int) TrickObjType.Shock:
case (int)TrickObjType.Shock:
curve = shockTossCurve;
break;
default:
curve = ballTossCurve;
break;
}
objectToSpawn = objPrefab[type];
objectToSpawn = variant ? objPrefabVariant[type] : objPrefab[type];
var mobj = Instantiate(objectToSpawn, objHolder);
var thinker = mobj.GetComponent<MobTrickObj>();
@ -307,6 +328,11 @@ namespace HeavenStudio.Games
mobj.SetActive(true);
}
public static void PreBlast(double beat)
{
PlaySoundSequence("trickClass", "girlCharge", beat);
}
public void PlayerDodge(bool slow = false, bool type = false)
{
if (playerCanDodge > Conductor.instance.songPositionInBeatsAsDouble) return;