From 47189c8a7e50cfd59c92bf498a25815e218fd406 Mon Sep 17 00:00:00 2001 From: Reinier Vens Date: Mon, 22 Mar 2021 05:22:31 +0000 Subject: [PATCH] Equipment Data Simplification Removed blueprint system for crafting (and excised anything depending on that) Implemented smootherstep and used it for wormhole animation Quality dependent durability and heat exponents are now global instead of item specific Database list view now groups equipment by manufacturer Thrusters can now consume energy Weapons can have reloads even when they don't have ammo --- Assets/Materials/UI/Map Gravity Lines.mat | 2 +- .../Resources/Prefabs/Weapons/Alakrita.meta | 8 + .../Prefabs/Weapons/Alakrita/Spectra.prefab | 237 + .../Weapons/Alakrita/Spectra.prefab.meta | 7 + .../Resources/Prefabs/Weapons/Lightsail.meta | 8 + .../ClearPath.prefab} | 0 .../ClearPath.prefab.meta} | 0 Assets/Resources/Prefabs/Weapons/Lucent.meta | 8 + .../Prefabs/Weapons/Lucent/RainbowLite.prefab | 255 + .../Weapons/Lucent/RainbowLite.prefab.meta | 7 + .../Prefabs/Weapons/Lucent/TaranisLG.prefab | 268 + .../Weapons/Lucent/TaranisLG.prefab.meta | 7 + .../Resources/Prefabs/Weapons/NiteLife.meta | 8 + .../Weapons/NiteLife/ChargeBlast SG.prefab | 325 ++ .../NiteLife/ChargeBlast SG.prefab.meta | 7 + .../Weapons/NiteLife/ChargeBlast+-.prefab | 295 + .../NiteLife/ChargeBlast+-.prefab.meta | 7 + .../Weapons/NiteLife/FastBlast+-.prefab | 5169 +++++++++++++++++ .../Weapons/NiteLife/FastBlast+-.prefab.meta | 7 + Assets/Resources/Settings.asset | 4 +- Assets/Scripts/Editor/DatabaseInspector.cs | 324 +- Assets/Scripts/Editor/DatabaseView.cs | 314 +- Assets/Scripts/Gameplay/EntityInstance.cs | 4 +- Assets/Scripts/Gameplay/ShipInstance.cs | 3 +- .../Weapons/GuidedProjectileManager.cs | 4 +- Assets/Scripts/ServerShared/AetheriaMath.cs | 6 + .../ServerShared/Behaviors/Behaviors.cs | 2 - .../ServerShared/Behaviors/FactoryBehavior.cs | 287 - .../Behaviors/FactoryBehavior.cs.meta | 11 - .../ServerShared/Behaviors/InstantWeapon.cs | 29 +- .../ServerShared/Behaviors/StatModifier.cs | 10 + .../ServerShared/Behaviors/Thruster.cs | 26 +- Assets/Scripts/ServerShared/BlueprintData.cs | 86 - .../ServerShared/BlueprintData.cs.meta | 11 - Assets/Scripts/ServerShared/DatabaseEntry.cs | 3 +- Assets/Scripts/ServerShared/Entity.cs | 24 +- Assets/Scripts/ServerShared/ItemData.cs | 25 +- Assets/Scripts/ServerShared/ItemInstance.cs | 8 +- Assets/Scripts/ServerShared/ItemManager.cs | 180 +- Assets/Scripts/ServerShared/LoadoutData.cs | 33 - .../Scripts/ServerShared/LoadoutData.cs.meta | 3 - Assets/Scripts/ServerShared/Settings.cs | 6 + Assets/Scripts/ServerShared/Ship.cs | 4 +- Assets/Scripts/TechTreeMsagl.cs | 438 -- Assets/Scripts/TechTreeMsagl.cs.meta | 11 - Assets/Scripts/UI/PropertiesPanel.cs | 2 +- .../ProjectData/AkWwiseProjectData.asset | 4 +- GameData/AetherDB.msgpack | 4 +- GameData/PlayerSettings.msgpack | 4 +- 49 files changed, 6945 insertions(+), 1550 deletions(-) create mode 100644 Assets/Resources/Prefabs/Weapons/Alakrita.meta create mode 100644 Assets/Resources/Prefabs/Weapons/Alakrita/Spectra.prefab create mode 100644 Assets/Resources/Prefabs/Weapons/Alakrita/Spectra.prefab.meta create mode 100644 Assets/Resources/Prefabs/Weapons/Lightsail.meta rename Assets/Resources/Prefabs/Weapons/{Machinegun.prefab => Lightsail/ClearPath.prefab} (100%) rename Assets/Resources/Prefabs/Weapons/{Machinegun.prefab.meta => Lightsail/ClearPath.prefab.meta} (100%) create mode 100644 Assets/Resources/Prefabs/Weapons/Lucent.meta create mode 100644 Assets/Resources/Prefabs/Weapons/Lucent/RainbowLite.prefab create mode 100644 Assets/Resources/Prefabs/Weapons/Lucent/RainbowLite.prefab.meta create mode 100644 Assets/Resources/Prefabs/Weapons/Lucent/TaranisLG.prefab create mode 100644 Assets/Resources/Prefabs/Weapons/Lucent/TaranisLG.prefab.meta create mode 100644 Assets/Resources/Prefabs/Weapons/NiteLife.meta create mode 100644 Assets/Resources/Prefabs/Weapons/NiteLife/ChargeBlast SG.prefab create mode 100644 Assets/Resources/Prefabs/Weapons/NiteLife/ChargeBlast SG.prefab.meta create mode 100644 Assets/Resources/Prefabs/Weapons/NiteLife/ChargeBlast+-.prefab create mode 100644 Assets/Resources/Prefabs/Weapons/NiteLife/ChargeBlast+-.prefab.meta create mode 100644 Assets/Resources/Prefabs/Weapons/NiteLife/FastBlast+-.prefab create mode 100644 Assets/Resources/Prefabs/Weapons/NiteLife/FastBlast+-.prefab.meta delete mode 100644 Assets/Scripts/ServerShared/Behaviors/FactoryBehavior.cs delete mode 100644 Assets/Scripts/ServerShared/Behaviors/FactoryBehavior.cs.meta delete mode 100644 Assets/Scripts/ServerShared/BlueprintData.cs delete mode 100644 Assets/Scripts/ServerShared/BlueprintData.cs.meta delete mode 100644 Assets/Scripts/ServerShared/LoadoutData.cs delete mode 100644 Assets/Scripts/ServerShared/LoadoutData.cs.meta delete mode 100644 Assets/Scripts/TechTreeMsagl.cs delete mode 100644 Assets/Scripts/TechTreeMsagl.cs.meta diff --git a/Assets/Materials/UI/Map Gravity Lines.mat b/Assets/Materials/UI/Map Gravity Lines.mat index e73d377f3..886f9fb90 100644 --- a/Assets/Materials/UI/Map Gravity Lines.mat +++ b/Assets/Materials/UI/Map Gravity Lines.mat @@ -86,7 +86,7 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 - - _Scale: 3.8277004 + - _Scale: 4.910362 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 diff --git a/Assets/Resources/Prefabs/Weapons/Alakrita.meta b/Assets/Resources/Prefabs/Weapons/Alakrita.meta new file mode 100644 index 000000000..b37f36297 --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/Alakrita.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1047a499ac7066e49ac8b8153e0e88f3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Weapons/Alakrita/Spectra.prefab b/Assets/Resources/Prefabs/Weapons/Alakrita/Spectra.prefab new file mode 100644 index 000000000..741fb12f4 --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/Alakrita/Spectra.prefab @@ -0,0 +1,237 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4203591693056891767 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4203591693056891769} + - component: {fileID: 4203591693056891768} + m_Layer: 0 + m_Name: Spectra + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4203591693056891769 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4203591693056891767} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4203591693453005872} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4203591693056891768 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4203591693056891767} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5745a5be5f0c02b4b88bd094ea609c13, type: 3} + m_Name: + m_EditorClassIdentifier: + ProjectilePrototype: {fileID: 4203591693453005875} +--- !u!1 &4203591693453005871 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4203591693453005872} + - component: {fileID: 4203591693453005874} + - component: {fileID: 4203591693453005873} + - component: {fileID: 4203591693453005875} + m_Layer: 0 + m_Name: Pulse Laser + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4203591693453005872 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4203591693453005871} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4203591693056891769} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4203591693453005874 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4203591693453005871} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 166b726996e49bd4b87608739a5af815, type: 3} + m_Name: + m_EditorClassIdentifier: + IntensityCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 15.359776 + outSlope: 15.359776 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0.17217594 + - serializedVersion: 3 + time: 0.14818993 + value: 1 + inSlope: -0.07577679 + outSlope: -0.07577679 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.07689258 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: -0.09546486 + outSlope: -0.09546486 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.07746119 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + Duration: 0.15 + LineRenderer: {fileID: 4203591693453005873} +--- !u!120 &4203591693453005873 +LineRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4203591693453005871} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 521deb6b226a2f647b1f07d7478f7770, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Positions: + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 10} + m_Parameters: + serializedVersion: 3 + widthMultiplier: 1 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 0.05098039, g: 1, b: 0.05098039, a: 1} + key1: {r: 0.05098039, g: 1, b: 0.05098039, a: 1} + key2: {r: 1, g: 1, b: 1, a: 0} + key3: {r: 1, g: 1, b: 1, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 65535 + ctime3: 65535 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 0 + numCapVertices: 2 + alignment: 0 + textureMode: 0 + shadowBias: 0.5 + generateLightingData: 0 + m_UseWorldSpace: 1 + m_Loop: 0 +--- !u!114 &4203591693453005875 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4203591693453005871} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1281fe44325f9b548aa42dc331b17266, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Resources/Prefabs/Weapons/Alakrita/Spectra.prefab.meta b/Assets/Resources/Prefabs/Weapons/Alakrita/Spectra.prefab.meta new file mode 100644 index 000000000..c7e893096 --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/Alakrita/Spectra.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 157c2c2f52f8a5544a48159e47675f42 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Weapons/Lightsail.meta b/Assets/Resources/Prefabs/Weapons/Lightsail.meta new file mode 100644 index 000000000..824a83386 --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/Lightsail.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 72ee3ccd53cd65c43aac50e566147097 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Weapons/Machinegun.prefab b/Assets/Resources/Prefabs/Weapons/Lightsail/ClearPath.prefab similarity index 100% rename from Assets/Resources/Prefabs/Weapons/Machinegun.prefab rename to Assets/Resources/Prefabs/Weapons/Lightsail/ClearPath.prefab diff --git a/Assets/Resources/Prefabs/Weapons/Machinegun.prefab.meta b/Assets/Resources/Prefabs/Weapons/Lightsail/ClearPath.prefab.meta similarity index 100% rename from Assets/Resources/Prefabs/Weapons/Machinegun.prefab.meta rename to Assets/Resources/Prefabs/Weapons/Lightsail/ClearPath.prefab.meta diff --git a/Assets/Resources/Prefabs/Weapons/Lucent.meta b/Assets/Resources/Prefabs/Weapons/Lucent.meta new file mode 100644 index 000000000..2af5b033b --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/Lucent.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 595692ab92bed5145a8bd108bafdb8c1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Weapons/Lucent/RainbowLite.prefab b/Assets/Resources/Prefabs/Weapons/Lucent/RainbowLite.prefab new file mode 100644 index 000000000..8588be10e --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/Lucent/RainbowLite.prefab @@ -0,0 +1,255 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4203591693056891767 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4203591693056891769} + - component: {fileID: 4203591693056891768} + m_Layer: 0 + m_Name: RainbowLite + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4203591693056891769 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4203591693056891767} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4203591693453005872} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4203591693056891768 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4203591693056891767} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5745a5be5f0c02b4b88bd094ea609c13, type: 3} + m_Name: + m_EditorClassIdentifier: + ProjectilePrototype: {fileID: 4203591693453005875} +--- !u!1 &4203591693453005871 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4203591693453005872} + - component: {fileID: 4203591693453005874} + - component: {fileID: 4203591693453005873} + - component: {fileID: 4203591693453005875} + m_Layer: 0 + m_Name: Laser + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4203591693453005872 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4203591693453005871} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4203591693056891769} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4203591693453005874 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4203591693453005871} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 166b726996e49bd4b87608739a5af815, type: 3} + m_Name: + m_EditorClassIdentifier: + IntensityCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 15.359776 + outSlope: 15.359776 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0.17217594 + - serializedVersion: 3 + time: 0.14818993 + value: 1 + inSlope: -0.07577679 + outSlope: -0.07577679 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.07689258 + - serializedVersion: 3 + time: 0.49870214 + value: 0.66603607 + inSlope: 0.021693684 + outSlope: 0.021693684 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.85040694 + value: 0.99160814 + inSlope: -0.19486254 + outSlope: -0.19486254 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: -17.741524 + outSlope: -17.741524 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.08716334 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + Duration: 0.75 + LineRenderer: {fileID: 4203591693453005873} +--- !u!120 &4203591693453005873 +LineRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4203591693453005871} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 521deb6b226a2f647b1f07d7478f7770, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Positions: + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 10} + m_Parameters: + serializedVersion: 3 + widthMultiplier: 0.5 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 0.7216981, g: 0.9664325, b: 1, a: 1} + key1: {r: 0.7877358, g: 0.958054, b: 1, a: 1} + key2: {r: 1, g: 1, b: 1, a: 0} + key3: {r: 1, g: 1, b: 1, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 65535 + ctime3: 65535 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 0 + numCapVertices: 2 + alignment: 0 + textureMode: 0 + shadowBias: 0.5 + generateLightingData: 0 + m_UseWorldSpace: 1 + m_Loop: 0 +--- !u!114 &4203591693453005875 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4203591693453005871} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1281fe44325f9b548aa42dc331b17266, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Resources/Prefabs/Weapons/Lucent/RainbowLite.prefab.meta b/Assets/Resources/Prefabs/Weapons/Lucent/RainbowLite.prefab.meta new file mode 100644 index 000000000..7301a6ae2 --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/Lucent/RainbowLite.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a44ad75c47816e44187b99352f0569ca +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Weapons/Lucent/TaranisLG.prefab b/Assets/Resources/Prefabs/Weapons/Lucent/TaranisLG.prefab new file mode 100644 index 000000000..324903a71 --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/Lucent/TaranisLG.prefab @@ -0,0 +1,268 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &776367907867687054 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4033498549525708839} + - component: {fileID: 5568196571670878057} + - component: {fileID: 4364339867848153585} + m_Layer: 0 + m_Name: Bolt + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4033498549525708839 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 776367907867687054} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8454157079536979760} + m_Father: {fileID: 6101924816820053886} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &5568196571670878057 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 776367907867687054} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5c75d76a7b418d3479761187b2d420bc, type: 3} + m_Name: + m_EditorClassIdentifier: + LightningCompute: {fileID: 8454157079536979775} + HitRadius: 5 +--- !u!114 &4364339867848153585 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 776367907867687054} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1281fe44325f9b548aa42dc331b17266, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &7951616788986827504 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6101924816820053886} + - component: {fileID: 54194200898280364} + m_Layer: 0 + m_Name: Lightning Rifle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6101924816820053886 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7951616788986827504} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4033498549525708839} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &54194200898280364 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7951616788986827504} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9aff863873a6a6d41a619e63a0898c3d, type: 3} + m_Name: + m_EditorClassIdentifier: + Prototype: {fileID: 4364339867848153585} +--- !u!1001 &1379448248635655934 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 4033498549525708839} + m_Modifications: + - target: {fileID: 7383646976225659329, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: Animate + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659329, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: MorphSpeed + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659329, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: StartWidth + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659329, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: LeaderWidth + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659329, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: BranchLength + value: 32 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659329, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: EndPosition.x + value: -3424.384 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659329, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: EndPosition.y + value: -311.8413 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659329, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: EndPosition.z + value: 6464.0195 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659329, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: PulseDuration + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659329, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: LeaderDuration + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659329, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: NoiseAmplitude + value: 32 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659329, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: NoiseLacunarity + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659329, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: StartPosition.x + value: -4001.9797 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659329, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: StartPosition.y + value: -362.0634 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659329, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: StartPosition.z + value: 6939.794 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659342, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659342, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659342, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659342, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659342, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659342, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659342, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659342, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659342, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659342, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659342, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7383646976225659343, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + propertyPath: m_Name + value: Lightning + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: eb3a880755444d144a4d7f13ef11df77, type: 3} +--- !u!4 &8454157079536979760 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7383646976225659342, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + m_PrefabInstance: {fileID: 1379448248635655934} + m_PrefabAsset: {fileID: 0} +--- !u!114 &8454157079536979775 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7383646976225659329, guid: eb3a880755444d144a4d7f13ef11df77, + type: 3} + m_PrefabInstance: {fileID: 1379448248635655934} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 044c2be5da0fc2340a09f856be731cea, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Resources/Prefabs/Weapons/Lucent/TaranisLG.prefab.meta b/Assets/Resources/Prefabs/Weapons/Lucent/TaranisLG.prefab.meta new file mode 100644 index 000000000..5da4bc2eb --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/Lucent/TaranisLG.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: dfdb222a2d25725419f9f7fb60b1f5fe +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Weapons/NiteLife.meta b/Assets/Resources/Prefabs/Weapons/NiteLife.meta new file mode 100644 index 000000000..67d1f847e --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/NiteLife.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dd6e57f254f321442926907ba5e9009d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Weapons/NiteLife/ChargeBlast SG.prefab b/Assets/Resources/Prefabs/Weapons/NiteLife/ChargeBlast SG.prefab new file mode 100644 index 000000000..4ea1b6d4e --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/NiteLife/ChargeBlast SG.prefab @@ -0,0 +1,325 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1038711833328602429 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7093708978518643867} + - component: {fileID: 4746410263980518329} + - component: {fileID: 277178765566372861} + - component: {fileID: 654273117314929370} + m_Layer: 0 + m_Name: Bullet + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7093708978518643867 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1038711833328602429} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7887646903913370668} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4746410263980518329 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1038711833328602429} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1281fe44325f9b548aa42dc331b17266, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!96 &277178765566372861 +TrailRenderer: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1038711833328602429} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 9c20b9ccbbbb1b14cb5729e0c8460cd9, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Time: 0.1 + m_Parameters: + serializedVersion: 3 + widthMultiplier: 1 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.5 + inSlope: 0 + outSlope: -0.5 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: -0.5 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 0.45098042, g: 0.8169934, b: 1, a: 1} + key1: {r: 1, g: 0.04705882, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 31804 + ctime2: 65535 + ctime3: 65535 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 3 + m_NumAlphaKeys: 2 + numCornerVertices: 0 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + shadowBias: 0.5 + generateLightingData: 0 + m_MinVertexDistance: 1 + m_Autodestruct: 0 + m_Emitting: 1 +--- !u!114 &654273117314929370 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1038711833328602429} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4528540a139424748a7b6c47bfecc7fd, type: 3} + m_Name: + m_EditorClassIdentifier: + Trail: {fileID: 277178765566372861} + Gravity: 1 + Drag: 0.1 + HitEffect: {fileID: 3196731101172068069} + AirburstDistance: 0 + AirburstRange: 0 + DirectHitDamageMultiplier: 1 +--- !u!1 &6642079567538326943 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7887646903913370668} + - component: {fileID: 4191762351494344457} + m_Layer: 0 + m_Name: ChargeBlast SG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7887646903913370668 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6642079567538326943} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7093708978518643867} + - {fileID: 6081895055445446888} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4191762351494344457 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6642079567538326943} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 49c173e3c2313ca4d9d04d0d87ec0f06, type: 3} + m_Name: + m_EditorClassIdentifier: + ProjectilePrototype: {fileID: 4746410263980518329} + InheritVelocity: 0 +--- !u!1001 &6082388488576249182 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 7887646903913370668} + m_Modifications: + - target: {fileID: 1337198075554910, guid: 25c7aa9ad705fe143a4d71c1c8deb7d4, type: 3} + propertyPath: m_Name + value: TinyExplosion + objectReference: {fileID: 0} + - target: {fileID: 4441266138185142, guid: 25c7aa9ad705fe143a4d71c1c8deb7d4, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4441266138185142, guid: 25c7aa9ad705fe143a4d71c1c8deb7d4, type: 3} + propertyPath: m_LocalPosition.x + value: -4.2346153 + objectReference: {fileID: 0} + - target: {fileID: 4441266138185142, guid: 25c7aa9ad705fe143a4d71c1c8deb7d4, type: 3} + propertyPath: m_LocalPosition.y + value: 2.42 + objectReference: {fileID: 0} + - target: {fileID: 4441266138185142, guid: 25c7aa9ad705fe143a4d71c1c8deb7d4, type: 3} + propertyPath: m_LocalPosition.z + value: -21.91896 + objectReference: {fileID: 0} + - target: {fileID: 4441266138185142, guid: 25c7aa9ad705fe143a4d71c1c8deb7d4, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 4441266138185142, guid: 25c7aa9ad705fe143a4d71c1c8deb7d4, type: 3} + propertyPath: m_LocalRotation.x + value: -0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 4441266138185142, guid: 25c7aa9ad705fe143a4d71c1c8deb7d4, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4441266138185142, guid: 25c7aa9ad705fe143a4d71c1c8deb7d4, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4441266138185142, guid: 25c7aa9ad705fe143a4d71c1c8deb7d4, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -90 + objectReference: {fileID: 0} + - target: {fileID: 4441266138185142, guid: 25c7aa9ad705fe143a4d71c1c8deb7d4, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4441266138185142, guid: 25c7aa9ad705fe143a4d71c1c8deb7d4, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 198175801688348628, guid: 25c7aa9ad705fe143a4d71c1c8deb7d4, + type: 3} + propertyPath: looping + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 198175801688348628, guid: 25c7aa9ad705fe143a4d71c1c8deb7d4, + type: 3} + propertyPath: prewarm + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 198814760465859298, guid: 25c7aa9ad705fe143a4d71c1c8deb7d4, + type: 3} + propertyPath: looping + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 198814760465859298, guid: 25c7aa9ad705fe143a4d71c1c8deb7d4, + type: 3} + propertyPath: prewarm + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 198942329355805636, guid: 25c7aa9ad705fe143a4d71c1c8deb7d4, + type: 3} + propertyPath: looping + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 198942329355805636, guid: 25c7aa9ad705fe143a4d71c1c8deb7d4, + type: 3} + propertyPath: prewarm + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 25c7aa9ad705fe143a4d71c1c8deb7d4, type: 3} +--- !u!4 &6081895055445446888 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4441266138185142, guid: 25c7aa9ad705fe143a4d71c1c8deb7d4, + type: 3} + m_PrefabInstance: {fileID: 6082388488576249182} + m_PrefabAsset: {fileID: 0} +--- !u!114 &3196731101172068069 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 8662091027736085435, guid: 25c7aa9ad705fe143a4d71c1c8deb7d4, + type: 3} + m_PrefabInstance: {fileID: 6082388488576249182} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1281fe44325f9b548aa42dc331b17266, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Resources/Prefabs/Weapons/NiteLife/ChargeBlast SG.prefab.meta b/Assets/Resources/Prefabs/Weapons/NiteLife/ChargeBlast SG.prefab.meta new file mode 100644 index 000000000..12191de8f --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/NiteLife/ChargeBlast SG.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 63d8ae17f011efa46baa2098b495c687 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Weapons/NiteLife/ChargeBlast+-.prefab b/Assets/Resources/Prefabs/Weapons/NiteLife/ChargeBlast+-.prefab new file mode 100644 index 000000000..074e4eadc --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/NiteLife/ChargeBlast+-.prefab @@ -0,0 +1,295 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1038711833328602429 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7093708978518643867} + - component: {fileID: 4746410263980518329} + - component: {fileID: 277178765566372861} + - component: {fileID: 654273117314929370} + m_Layer: 0 + m_Name: Bullet + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7093708978518643867 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1038711833328602429} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7887646903913370668} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4746410263980518329 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1038711833328602429} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1281fe44325f9b548aa42dc331b17266, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!96 &277178765566372861 +TrailRenderer: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1038711833328602429} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 9c20b9ccbbbb1b14cb5729e0c8460cd9, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Time: 0.1 + m_Parameters: + serializedVersion: 3 + widthMultiplier: 1 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: -1 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: -1 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 0.45098042, g: 0.7254902, b: 1, a: 1} + key1: {r: 1, g: 0.04705882, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 31804 + ctime2: 65535 + ctime3: 65535 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 3 + m_NumAlphaKeys: 2 + numCornerVertices: 0 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + shadowBias: 0.5 + generateLightingData: 0 + m_MinVertexDistance: 1 + m_Autodestruct: 0 + m_Emitting: 1 +--- !u!114 &654273117314929370 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1038711833328602429} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4528540a139424748a7b6c47bfecc7fd, type: 3} + m_Name: + m_EditorClassIdentifier: + Trail: {fileID: 277178765566372861} + Gravity: 1 + Drag: 0.1 + HitEffect: {fileID: 2076706580412196357} + AirburstDistance: 0 + AirburstRange: 0 + DirectHitDamageMultiplier: 1 +--- !u!1 &6642079567538326943 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7887646903913370668} + - component: {fileID: 4191762351494344457} + m_Layer: 0 + m_Name: ChargeBlast+- + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7887646903913370668 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6642079567538326943} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7093708978518643867} + - {fileID: 7272146861310695432} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4191762351494344457 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6642079567538326943} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 49c173e3c2313ca4d9d04d0d87ec0f06, type: 3} + m_Name: + m_EditorClassIdentifier: + ProjectilePrototype: {fileID: 4746410263980518329} + InheritVelocity: 0 +--- !u!1001 &7269966779758257598 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 7887646903913370668} + m_Modifications: + - target: {fileID: 1337198075554910, guid: 57ac85c583dd3cf4eb11d09aa058e940, type: 3} + propertyPath: m_Name + value: TinyExplosionBlue + objectReference: {fileID: 0} + - target: {fileID: 4441266138185142, guid: 57ac85c583dd3cf4eb11d09aa058e940, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4441266138185142, guid: 57ac85c583dd3cf4eb11d09aa058e940, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4441266138185142, guid: 57ac85c583dd3cf4eb11d09aa058e940, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4441266138185142, guid: 57ac85c583dd3cf4eb11d09aa058e940, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4441266138185142, guid: 57ac85c583dd3cf4eb11d09aa058e940, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4441266138185142, guid: 57ac85c583dd3cf4eb11d09aa058e940, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4441266138185142, guid: 57ac85c583dd3cf4eb11d09aa058e940, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4441266138185142, guid: 57ac85c583dd3cf4eb11d09aa058e940, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4441266138185142, guid: 57ac85c583dd3cf4eb11d09aa058e940, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4441266138185142, guid: 57ac85c583dd3cf4eb11d09aa058e940, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4441266138185142, guid: 57ac85c583dd3cf4eb11d09aa058e940, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 57ac85c583dd3cf4eb11d09aa058e940, type: 3} +--- !u!4 &7272146861310695432 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4441266138185142, guid: 57ac85c583dd3cf4eb11d09aa058e940, + type: 3} + m_PrefabInstance: {fileID: 7269966779758257598} + m_PrefabAsset: {fileID: 0} +--- !u!114 &2076706580412196357 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 8662091027736085435, guid: 57ac85c583dd3cf4eb11d09aa058e940, + type: 3} + m_PrefabInstance: {fileID: 7269966779758257598} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1281fe44325f9b548aa42dc331b17266, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Resources/Prefabs/Weapons/NiteLife/ChargeBlast+-.prefab.meta b/Assets/Resources/Prefabs/Weapons/NiteLife/ChargeBlast+-.prefab.meta new file mode 100644 index 000000000..bf27e1af3 --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/NiteLife/ChargeBlast+-.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 87b80322dca18e34bb624c36faef4917 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Weapons/NiteLife/FastBlast+-.prefab b/Assets/Resources/Prefabs/Weapons/NiteLife/FastBlast+-.prefab new file mode 100644 index 000000000..cc0bd66d2 --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/NiteLife/FastBlast+-.prefab @@ -0,0 +1,5169 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1038711833328602429 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7093708978518643867} + - component: {fileID: 4746410263980518329} + - component: {fileID: 654273117314929370} + - component: {fileID: 1782208234081298454} + m_Layer: 0 + m_Name: Bullet + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7093708978518643867 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1038711833328602429} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7266740123558298384} + m_Father: {fileID: 7887646903913370668} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4746410263980518329 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1038711833328602429} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1281fe44325f9b548aa42dc331b17266, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &654273117314929370 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1038711833328602429} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4528540a139424748a7b6c47bfecc7fd, type: 3} + m_Name: + m_EditorClassIdentifier: + Trail: {fileID: 2983319151296838409} + Gravity: 1 + Drag: 0.1 + HitEffect: {fileID: 6014187763460843580} + AirburstDistance: 0 + AirburstRange: 0 + DirectHitDamageMultiplier: 1 +--- !u!120 &1782208234081298454 +LineRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1038711833328602429} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a3d833bf6ee0ed54994a6cfdc76b3539, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Positions: + - {x: 0, y: 0, z: 4} + - {x: 0, y: 0, z: -2} + m_Parameters: + serializedVersion: 3 + widthMultiplier: 1 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.5080659 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 0.05098039, g: 0.05098039, b: 1, a: 1} + key1: {r: 0, g: 0, b: 0, a: 0} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 0 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + shadowBias: 0.5 + generateLightingData: 0 + m_UseWorldSpace: 0 + m_Loop: 0 +--- !u!1 &1666871289929742290 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7266740123558298384} + - component: {fileID: 2983319151296838409} + m_Layer: 0 + m_Name: Trail + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7266740123558298384 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1666871289929742290} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7093708978518643867} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!96 &2983319151296838409 +TrailRenderer: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1666871289929742290} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: af2d3f1cfe85b8449964aba7ec8ce480, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Time: 0.025 + m_Parameters: + serializedVersion: 3 + widthMultiplier: 1 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.2500019 + inSlope: 0 + outSlope: 0.7499981 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0.7499981 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 0.029800005, g: 0.40726656, b: 0.59599996, a: 1} + key1: {r: 0, g: 0, b: 0, a: 0} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 65535 + ctime3: 65535 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 0 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + shadowBias: 0.5 + generateLightingData: 0 + m_MinVertexDistance: 1 + m_Autodestruct: 0 + m_Emitting: 1 +--- !u!1 &6083979938508346270 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6086720148793020400} + - component: {fileID: 6246154612161467640} + - component: {fileID: 6014187763460843580} + - component: {fileID: 7207477574855530992} + - component: {fileID: 6244989522357989308} + m_Layer: 0 + m_Name: Sparks + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6086720148793020400 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6083979938508346270} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_Children: [] + m_Father: {fileID: 7887646903913370668} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!199 &6246154612161467640 +ParticleSystemRenderer: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6083979938508346270} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 776677ab3818fb249adaca05f4e04545, type: 2} + 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: 0 + 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: 0 + m_RenderMode: 1 + m_SortMode: 1 + m_MinParticleSize: 0 + m_MaxParticleSize: 0.5 + m_CameraVelocityScale: 0 + m_VelocityScale: 0.25 + m_LengthScale: 0 + m_SortingFudge: 0 + m_NormalDirection: 1 + m_ShadowBias: 0 + m_RenderAlignment: 0 + m_Pivot: {x: 0, y: 0, z: 0} + m_Flip: {x: 0, y: 0, z: 0} + m_UseCustomVertexStreams: 1 + m_EnableGPUInstancing: 0 + m_ApplyActiveColorSpace: 0 + m_AllowRoll: 1 + m_FreeformStretching: 0 + m_RotateWithStretchDirection: 1 + m_VertexStreams: 000304 + m_Mesh: {fileID: 0} + m_Mesh1: {fileID: 0} + m_Mesh2: {fileID: 0} + m_Mesh3: {fileID: 0} + m_MaskInteraction: 0 +--- !u!114 &6014187763460843580 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6083979938508346270} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1281fe44325f9b548aa42dc331b17266, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &7207477574855530992 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6083979938508346270} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: db021a309de3d324588c5603de40c29f, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!198 &6244989522357989308 +ParticleSystem: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6083979938508346270} + serializedVersion: 7 + lengthInSec: 2 + simulationSpeed: 2 + stopAction: 0 + cullingMode: 3 + ringBufferMode: 0 + ringBufferLoopRange: {x: 0, y: 1} + looping: 0 + prewarm: 0 + playOnAwake: 1 + useUnscaledTime: 0 + autoRandomSeed: 1 + useRigidbodyForVelocity: 1 + startDelay: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + moveWithTransform: 0 + moveWithCustomTransform: {fileID: 0} + scalingMode: 2 + randomSeed: 0 + InitialModule: + serializedVersion: 3 + enabled: 1 + startLifetime: + serializedVersion: 2 + minMaxState: 3 + scalar: 1 + minScalar: 0.5 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.5 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + startSpeed: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 3 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.5 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + startColor: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 0.990566, g: 0.4385336, b: 0.19157171, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + startSize: + serializedVersion: 2 + minMaxState: 3 + scalar: 0.2 + minScalar: 0.05 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.19999999 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + startSizeY: + serializedVersion: 2 + minMaxState: 3 + scalar: 1 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + startSizeZ: + serializedVersion: 2 + minMaxState: 3 + scalar: 1 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + startRotationX: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startRotationY: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startRotation: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + randomizeRotationDirection: 0 + maxNumParticles: 1000 + size3D: 0 + rotation3D: 0 + gravityModifier: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + ShapeModule: + serializedVersion: 6 + enabled: 1 + type: 0 + angle: 32.22 + length: 0.12 + boxThickness: {x: 0, y: 0, z: 0} + radiusThickness: 0 + donutRadius: 0.2 + m_Position: {x: 0, y: 0, z: 0} + m_Rotation: {x: 0, y: 0, z: 0} + m_Scale: {x: 1, y: 1, z: 1} + placementMode: 0 + m_MeshMaterialIndex: 0 + m_MeshNormalOffset: 0 + m_MeshSpawn: + mode: 0 + spread: 0 + speed: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Mesh: {fileID: 0} + m_MeshRenderer: {fileID: 0} + m_SkinnedMeshRenderer: {fileID: 0} + m_Sprite: {fileID: 0} + m_SpriteRenderer: {fileID: 0} + m_UseMeshMaterialIndex: 0 + m_UseMeshColors: 1 + alignToDirection: 0 + m_Texture: {fileID: 0} + m_TextureClipChannel: 3 + m_TextureClipThreshold: 0 + m_TextureUVChannel: 0 + m_TextureColorAffectsParticles: 1 + m_TextureAlphaAffectsParticles: 1 + m_TextureBilinearFiltering: 0 + randomDirectionAmount: 0 + sphericalDirectionAmount: 0 + randomPositionAmount: 0 + radius: + value: 0.43552133 + mode: 0 + spread: 0 + speed: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + arc: + value: 360 + mode: 0 + spread: 0 + speed: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + EmissionModule: + enabled: 1 + serializedVersion: 4 + rateOverTime: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 10 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + rateOverDistance: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_BurstCount: 1 + m_Bursts: + - serializedVersion: 2 + time: 0 + countCurve: + serializedVersion: 2 + minMaxState: 0 + scalar: 10 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + cycleCount: 1 + repeatInterval: 0.05 + probability: 1 + SizeModule: + enabled: 0 + curve: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + RotationModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curve: + serializedVersion: 2 + minMaxState: 0 + scalar: 0.7853982 + minScalar: 0.7853982 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + ColorModule: + enabled: 1 + gradient: + serializedVersion: 2 + minMaxState: 1 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 0} + key1: {r: 0.91764706, g: 0.39607844, b: 0, a: 1} + key2: {r: 0, g: 0, b: 0, a: 1} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 6168 + atime2: 53199 + atime3: 65535 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 4 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + UVModule: + serializedVersion: 2 + enabled: 0 + mode: 0 + timeMode: 0 + fps: 30 + frameOverTime: + serializedVersion: 2 + minMaxState: 1 + scalar: 0.9999 + minScalar: 0.9999 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startFrame: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + speedRange: {x: 0, y: 1} + tilesX: 1 + tilesY: 1 + animationType: 0 + rowIndex: 0 + cycles: 1 + uvChannelMask: -1 + rowMode: 1 + sprites: + - sprite: {fileID: 0} + flipU: 0 + flipV: 0 + VelocityModule: + enabled: 1 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalX: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalY: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalOffsetX: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalOffsetY: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalOffsetZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + radial: + serializedVersion: 2 + minMaxState: 1 + scalar: 5 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: -4.1481485 + outSlope: -4.1481485 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.36101347 + - serializedVersion: 3 + time: 0.115407646 + value: 0.32009315 + inSlope: -1.885982 + outSlope: -1.885982 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.13906091 + - serializedVersion: 3 + time: 1 + value: 0.25959396 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + speedModifier: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + inWorldSpace: 1 + InheritVelocityModule: + enabled: 0 + m_Mode: 0 + m_Curve: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + LifetimeByEmitterSpeedModule: + enabled: 0 + m_Curve: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: -0.8 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0.2 + inSlope: -0.8 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Range: {x: 0, y: 1} + ForceModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + inWorldSpace: 0 + randomizePerFrame: 0 + ExternalForcesModule: + serializedVersion: 2 + enabled: 0 + multiplierCurve: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + influenceFilter: 0 + influenceMask: + serializedVersion: 2 + m_Bits: 4294967295 + influenceList: [] + ClampVelocityModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + magnitude: + serializedVersion: 2 + minMaxState: 2 + scalar: 5 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: -2 + outSlope: -2 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxis: 0 + inWorldSpace: 0 + multiplyDragByParticleSize: 1 + multiplyDragByParticleVelocity: 1 + dampen: 1 + drag: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + NoiseModule: + enabled: 1 + strength: + serializedVersion: 2 + minMaxState: 0 + scalar: 0.5 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + strengthY: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + strengthZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + frequency: 1 + damping: 1 + octaves: 1 + octaveMultiplier: 0.5 + octaveScale: 2 + quality: 2 + scrollSpeed: + serializedVersion: 2 + minMaxState: 0 + scalar: 2 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remap: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -1 + inSlope: 0 + outSlope: 2 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapY: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -1 + inSlope: 0 + outSlope: 2 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZ: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -1 + inSlope: 0 + outSlope: 2 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapEnabled: 0 + positionAmount: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + rotationAmount: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + sizeAmount: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + SizeBySpeedModule: + enabled: 0 + curve: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + range: {x: 0, y: 1} + separateAxes: 0 + RotationBySpeedModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curve: + serializedVersion: 2 + minMaxState: 0 + scalar: 0.7853982 + minScalar: 0.7853982 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + range: {x: 0, y: 1} + ColorBySpeedModule: + enabled: 0 + gradient: + serializedVersion: 2 + minMaxState: 1 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + range: {x: 0, y: 1} + CollisionModule: + enabled: 0 + serializedVersion: 4 + type: 0 + collisionMode: 0 + colliderForce: 0 + multiplyColliderForceByParticleSize: 0 + multiplyColliderForceByParticleSpeed: 0 + multiplyColliderForceByCollisionAngle: 1 + m_Planes: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_Dampen: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Bounce: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_EnergyLossOnCollision: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minKillSpeed: 0 + maxKillSpeed: 10000 + radiusScale: 1 + collidesWith: + serializedVersion: 2 + m_Bits: 4294967295 + maxCollisionShapes: 256 + quality: 0 + voxelSize: 0.5 + collisionMessages: 0 + collidesWithDynamic: 1 + interiorCollisions: 1 + TriggerModule: + enabled: 0 + serializedVersion: 2 + inside: 1 + outside: 0 + enter: 0 + exit: 0 + colliderQueryMode: 0 + radiusScale: 1 + primitives: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + SubModule: + serializedVersion: 2 + enabled: 0 + subEmitters: + - serializedVersion: 3 + emitter: {fileID: 0} + type: 0 + properties: 0 + emitProbability: 1 + LightsModule: + enabled: 0 + ratio: 0 + light: {fileID: 0} + randomDistribution: 1 + color: 1 + range: 1 + intensity: 1 + rangeCurve: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + intensityCurve: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + maxLights: 20 + TrailModule: + enabled: 0 + mode: 0 + ratio: 1 + lifetime: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minVertexDistance: 0.2 + textureMode: 0 + ribbonCount: 1 + shadowBias: 0.5 + worldSpace: 0 + dieWithParticles: 1 + sizeAffectsWidth: 1 + sizeAffectsLifetime: 0 + inheritParticleColor: 1 + generateLightingData: 0 + splitSubEmitterRibbons: 0 + attachRibbonsToTransform: 0 + colorOverLifetime: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + widthOverTrail: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorOverTrail: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + CustomDataModule: + enabled: 0 + mode0: 0 + vectorComponentCount0: 4 + color0: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + colorLabel0: Color + vector0_0: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_0: X + vector0_1: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_1: Y + vector0_2: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_2: Z + vector0_3: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_3: W + mode1: 0 + vectorComponentCount1: 4 + color1: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + colorLabel1: Color + vector1_0: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_0: X + vector1_1: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_1: Y + vector1_2: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_2: Z + vector1_3: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_3: W +--- !u!1 &6642079567538326943 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7887646903913370668} + - component: {fileID: 4191762351494344457} + m_Layer: 0 + m_Name: FastBlast+- + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7887646903913370668 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6642079567538326943} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7093708978518643867} + - {fileID: 6086720148793020400} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4191762351494344457 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6642079567538326943} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 49c173e3c2313ca4d9d04d0d87ec0f06, type: 3} + m_Name: + m_EditorClassIdentifier: + ProjectilePrototype: {fileID: 4746410263980518329} + InheritVelocity: 0 diff --git a/Assets/Resources/Prefabs/Weapons/NiteLife/FastBlast+-.prefab.meta b/Assets/Resources/Prefabs/Weapons/NiteLife/FastBlast+-.prefab.meta new file mode 100644 index 000000000..73b483117 --- /dev/null +++ b/Assets/Resources/Prefabs/Weapons/NiteLife/FastBlast+-.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f394fe1d41c7ece49a8000fb9c30fc6c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Settings.asset b/Assets/Resources/Settings.asset index 360b140a1..9ac441697 100644 --- a/Assets/Resources/Settings.asset +++ b/Assets/Resources/Settings.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:48ed12406c9160150f0ce423e76d76eb1d53eb44a3dfc114286eee8e790af83c -size 11391 +oid sha256:6b704c433b7f8c86d7aa2270d211ed9bfaed697f9710cb7ff6ab887ef3e98432 +size 11394 diff --git a/Assets/Scripts/Editor/DatabaseInspector.cs b/Assets/Scripts/Editor/DatabaseInspector.cs index 3660438e4..3d861a384 100644 --- a/Assets/Scripts/Editor/DatabaseInspector.cs +++ b/Assets/Scripts/Editor/DatabaseInspector.cs @@ -204,78 +204,6 @@ public class DatabaseInspector : EditorWindow Inspect(field.Name.SplitCamelCase(), ref dict, link.EntryType, ranged.Min, ranged.Max); else Inspect(field.Name.SplitCamelCase(), ref dict, link.EntryType); } - else if (type == typeof(List)) - { - var list = (List) field.GetValue(obj); - if(list==null) field.SetValue(obj, list = new List()); - - var blueprint = obj as BlueprintData; - var blueprintItem = DatabaseCache.Get(blueprint.Item); - if (blueprintItem is EquippableItemData equippableBlueprintItem) - { - Space(); - LabelField(field.Name.SplitCamelCase(), EditorStyles.boldLabel); - - using (var v = new VerticalScope(GUI.skin.box)) - { - var ingredients = blueprint.Ingredients.Keys - .Select(i => DatabaseCache.Get(i)) - .Where(i => i is CraftedItemData) - .Cast().ToArray(); - var ingredientNames = ingredients.Select(i => i.Name).ToArray(); - foreach (var effect in list) - { - using (var v2 = new VerticalScope(_list.ListItemStyle)) - { - using (var h = new HorizontalScope()) - { - GUILayout.Label("Ingredient", GUILayout.Width(width)); - if(ingredients.Length==0) - GUILayout.Label("No Ingredients!"); - else - { - var selectedIngredientIndex = - Array.FindIndex(ingredients, item => item.ID == effect.Ingredient); - if (selectedIngredientIndex == -1) - { - selectedIngredientIndex = 0; - GUI.changed = true; - } - var newSelection = Popup(selectedIngredientIndex, ingredientNames); - if (newSelection != selectedIngredientIndex) - GUI.changed = true; - effect.Ingredient = ingredients[newSelection].ID; - } - - var rect = GetControlRect(false, - GUILayout.Width(EditorGUIUtility.singleLineHeight)); - GUI.DrawTexture(rect, Icons.Instance.minus, ScaleMode.StretchToFill, true, 1, - LabelColor, 0, 0); - if (GUI.Button(rect, GUIContent.none, GUIStyle.none)) - { - list.Remove(effect); - break; - } - } - - Inspect(ref effect.StatReference, equippableBlueprintItem); - } - - } - - using (var h = new HorizontalScope(_list.ListItemStyle)) - { - GUILayout.Label("Add new Stat Effect", GUILayout.ExpandWidth(true)); - var rect = GetControlRect(false, GUILayout.Width(EditorGUIUtility.singleLineHeight)); - GUI.DrawTexture(rect, Icons.Instance.plus, ScaleMode.StretchToFill, true, 1, LabelColor, 0, 0); - if (GUI.Button(rect, GUIContent.none, GUIStyle.none)) - { - list.Add(new BlueprintStatEffect()); - } - } - } - } - } else if (type == typeof(List) && link != null) { var list = (List) field.GetValue(obj); @@ -735,6 +663,14 @@ public class DatabaseInspector : EditorWindow } } } + var rect = GetControlRect(false, + GUILayout.Width(EditorGUIUtility.singleLineHeight)); + GUI.DrawTexture(rect, Icons.Instance.minus, ScaleMode.StretchToFill, true, 1, + LabelColor, 0, 0); + if (GUI.Button(rect, GUIContent.none, GUIStyle.none)) + { + return Guid.Empty; + } } return value; @@ -974,103 +910,6 @@ public class DatabaseInspector : EditorWindow } } } - - public void Inspect(string label, ref StatReference effect) - { - using (new HorizontalScope()) - { - GUILayout.Label(label, GUILayout.Width(width)); - - using (new VerticalScope()) - { - var targetObjects = typeof(BehaviorData).GetAllChildClasses() - .Concat(typeof(EquippableItemData).GetAllChildClasses()).ToArray(); - var objectNames = targetObjects.Select(b => b.Name).ToArray(); - var selectedIndex = Array.IndexOf(objectNames, effect.Target); - if (selectedIndex == -1) - { - selectedIndex = 0; - GUI.changed = true; - } - using (new HorizontalScope()) - { - GUILayout.Label("Target", GUILayout.Width(width)); - var newSelection = Popup(selectedIndex, objectNames); - if (newSelection != selectedIndex) - GUI.changed = true; - effect.Target = objectNames[newSelection]; - } - - using (new HorizontalScope()) - { - GUILayout.Label("Stat", GUILayout.Width(width)); - var stats = targetObjects[selectedIndex].GetFields() - .Where(f => f.FieldType == typeof(PerformanceStat)).ToArray(); - if(stats.Length==0) - GUILayout.Label("No Stats!"); - else - { - var statNames = stats.Select(s => s.Name).ToArray(); - var selectedStatIndex = Array.IndexOf(statNames, effect.Stat); - if (selectedStatIndex == -1) - { - selectedStatIndex = 0; - GUI.changed = true; - } - var newSelection = Popup(selectedStatIndex, statNames); - if (newSelection != selectedStatIndex) - GUI.changed = true; - effect.Stat = statNames[newSelection]; - } - } - } - } - } - - public void Inspect(ref StatReference effect, EquippableItemData item) - { - using (new VerticalScope()) - { - var behaviorNames = new []{item.Name}.Concat(item.Behaviors.Select(b => b.GetType().Name)).ToArray(); - var selectedBehaviorIndex = Array.IndexOf(behaviorNames, effect.Target); - if (selectedBehaviorIndex == -1) - { - selectedBehaviorIndex = 0; - GUI.changed = true; - } - using (new HorizontalScope()) - { - GUILayout.Label("Behavior", GUILayout.Width(width)); - var newSelection = Popup(selectedBehaviorIndex, behaviorNames); - if (newSelection != selectedBehaviorIndex) - GUI.changed = true; - effect.Target = behaviorNames[newSelection]; - } - - using (new HorizontalScope()) - { - GUILayout.Label("Stat", GUILayout.Width(width)); - var stats = (selectedBehaviorIndex == 0 ? item.GetType() : item.Behaviors[selectedBehaviorIndex-1].GetType()).GetFields() - .Where(f => f.FieldType == typeof(PerformanceStat)).ToArray(); - if(stats.Length==0) - GUILayout.Label("No Stats!"); - else - { - var statNames = stats.Select(s => s.Name).ToArray(); - var selectedStatIndex = Array.IndexOf(statNames, effect.Stat); - if (selectedStatIndex == -1) - { - selectedStatIndex = 0; - GUI.changed = true; - } - var newSelection = Popup(selectedStatIndex, statNames); - if (newSelection != selectedStatIndex) - GUI.changed = true; - effect.Stat = statNames[newSelection]; - } - } - } - } public Shape Inspect(string label, Shape value, HullData hull = null) { @@ -1144,6 +983,58 @@ public class DatabaseInspector : EditorWindow return value; } + public void Inspect(string label, ref StatReference effect) + { + using (new HorizontalScope()) + { + GUILayout.Label(label, GUILayout.Width(width)); + + using (new VerticalScope()) + { + var targetObjects = typeof(BehaviorData).GetAllChildClasses() + .Concat(typeof(EquippableItemData).GetAllChildClasses()).ToArray(); + var objectNames = targetObjects.Select(b => b.Name).ToArray(); + var selectedIndex = Array.IndexOf(objectNames, effect.Target); + if (selectedIndex == -1) + { + selectedIndex = 0; + GUI.changed = true; + } + using (new HorizontalScope()) + { + GUILayout.Label("Target", GUILayout.Width(width)); + var newSelection = Popup(selectedIndex, objectNames); + if (newSelection != selectedIndex) + GUI.changed = true; + effect.Target = objectNames[newSelection]; + } + + using (new HorizontalScope()) + { + GUILayout.Label("Stat", GUILayout.Width(width)); + var stats = targetObjects[selectedIndex].GetFields() + .Where(f => f.FieldType == typeof(PerformanceStat)).ToArray(); + if(stats.Length==0) + GUILayout.Label("No Stats!"); + else + { + var statNames = stats.Select(s => s.Name).ToArray(); + var selectedStatIndex = Array.IndexOf(statNames, effect.Stat); + if (selectedStatIndex == -1) + { + selectedStatIndex = 0; + GUI.changed = true; + } + var newSelection = Popup(selectedStatIndex, statNames); + if (newSelection != selectedStatIndex) + GUI.changed = true; + effect.Stat = statNames[newSelection]; + } + } + } + } + } + public PerformanceStat Inspect(string label, PerformanceStat value, bool isSimple = false) { if(value == null) @@ -1167,13 +1058,13 @@ public class DatabaseInspector : EditorWindow GUILayout.Label("", GUILayout.Width(width)); if (!isSimple) { - GUILayout.Label("H", _labelStyle); - value.HeatDependent = Toggle(value.HeatDependent); - GUILayout.Label("HEx", _labelStyle, GUILayout.Width(labelWidth + 5)); + GUILayout.Label("H", _labelStyle, GUILayout.Width(labelWidth)); value.HeatExponentMultiplier = DelayedFloatField(value.HeatExponentMultiplier); - GUILayout.Label("D", _labelStyle); - value.DurabilityDependent = Toggle(value.DurabilityDependent); - GUILayout.Label("QEx", _labelStyle, GUILayout.Width(labelWidth + 5)); + + GUILayout.Label("D", _labelStyle, GUILayout.Width(labelWidth)); + value.DurabilityExponentMultiplier = DelayedFloatField(value.DurabilityExponentMultiplier); + + GUILayout.Label("Q", _labelStyle, GUILayout.Width(labelWidth)); value.QualityExponent = DelayedFloatField(value.QualityExponent); } else @@ -1222,6 +1113,9 @@ public class DatabaseInspector : EditorWindow return; } + if(entry is INamedEntry namedEntry) + GUILayout.Label(namedEntry.EntryName, EditorStyles.boldLabel); + _view = BeginScrollView( _view, false, @@ -1282,86 +1176,6 @@ public class DatabaseInspector : EditorWindow } #endregion - #region Loadout - var loadout = entry as LoadoutData; - if (loadout != null) - { - Space(); - LabelField("Loadout Hull", EditorStyles.boldLabel); - - if (DatabaseCache.Get(loadout.Hull) is HullData loadoutHull) - { - // Reserve slots in the loadout for all equippable (non-hull) hardpoints - var hardpoints = loadoutHull.Hardpoints.Where(h => h.Type != HardpointType.Hull).ToArray(); - if (loadout.Gear.Count < hardpoints.Length) - loadout.Gear.AddRange(Enumerable.Repeat(Guid.Empty, hardpoints.Length - loadout.Gear.Count)); - - Space(); - using (var h = new HorizontalScope()) - { - // GUILayout.Label($"Equipped Items: {loadout.Gear.Sum(i=>((ItemData) DatabaseCache.Get(i))?.Size ?? 0)}/{loadoutHull.Capacity.Min}", EditorStyles.boldLabel); - GUILayout.Label($"Mass: {loadout.Gear.Sum(i=>((ItemData) DatabaseCache.Get(i))?.Mass ?? 0)}", EditorStyles.boldLabel, GUILayout.ExpandWidth(false)); - } - - int itemIndex = 0; - using (var v = new VerticalScope(GUI.skin.box)) - { - for (; itemIndex < hardpoints.Length; itemIndex++) - { - var hp = hardpoints[itemIndex]; - - var loadoutItem = DatabaseCache.Get(loadout.Gear[itemIndex]) as EquippableItemData; - - if (loadoutItem != null && loadoutItem.HardpointType != hp.Type) - { - loadout.Gear[itemIndex] = Guid.Empty; - Debug.Log($"Invalid Item \"{loadoutItem.Name}\" in {Enum.GetName(typeof(HardpointType),hp.Type)} hardpoint for loadout \"{loadout.Name}\""); - GUI.changed = true; - } - - using (var h = new HorizontalScope(_list.ListItemStyle)) - { - if (h.rect.Contains(current.mousePosition) && - (currentEventType == EventType.DragUpdated || currentEventType == EventType.DragPerform)) - { - var guid = (Guid) DragAndDrop.GetGenericData("Item"); - var draggedEquippable = DatabaseCache.Get(guid) as EquippableItemData; - var good = draggedEquippable != null && draggedEquippable.HardpointType == hp.Type; - if (currentEventType == EventType.DragUpdated) - DragAndDrop.visualMode = good ? DragAndDropVisualMode.Copy : DragAndDropVisualMode.Rejected; - else if (currentEventType == EventType.DragPerform && good) - { - DragAndDrop.AcceptDrag(); - loadout.Gear[itemIndex] = guid; - - GUI.changed = true; - } - } - - GUILayout.Label(Enum.GetName(typeof(HardpointType), hp.Type)); - if (loadoutItem == null || loadoutItem.HardpointType != hp.Type) - GUILayout.Label("Empty Hardpoint", GUILayout.ExpandWidth(false)); - else - { - GUILayout.Label(loadoutItem.Name, GUILayout.ExpandWidth(false)); - var rect = GetControlRect(false, GUILayout.Width(EditorGUIUtility.singleLineHeight)); - GUI.DrawTexture(rect, Icons.Instance.minus, ScaleMode.StretchToFill, true, 1, Color.black, 0, 0); - if (GUI.Button(rect, GUIContent.none, GUIStyle.none)) - loadout.Gear[itemIndex] = Guid.Empty; - } - } - } - } - - for (; itemIndex < loadout.Gear.Count; itemIndex++) - { - loadout.Gear.RemoveAt(itemIndex--); - GUI.changed = true; - } - } - } - #endregion - if (EditorGUI.EndChangeCheck()) { if(!previousBytes.ByteEquals(MessagePackSerializer.Serialize(entry))) diff --git a/Assets/Scripts/Editor/DatabaseView.cs b/Assets/Scripts/Editor/DatabaseView.cs index e61712ce9..c3bfcb10e 100644 --- a/Assets/Scripts/Editor/DatabaseView.cs +++ b/Assets/Scripts/Editor/DatabaseView.cs @@ -48,9 +48,9 @@ public class DatabaseListView : EditorWindow private const float LineHeight = 20; private Vector2 _view; private RethinkQueryStatus _queryStatus; - private Dictionary> _itemBlueprints = new Dictionary>(); - private HashSet _itemBlueprintFoldouts = new HashSet(); private HashSet _itemGroupFoldouts = new HashSet(); + private HashSet _itemManufacturerFoldouts = new HashSet(); + private HashSet<(Guid, HardpointType)> _itemManufacturerTypeFoldouts = new HashSet<(Guid, HardpointType)>(); private string _filePath => Path.Combine(ActionGameManager.GameDataDirectory.FullName, _fileName); private string _fileName = "AetherDB.msgpack"; @@ -65,30 +65,17 @@ public class DatabaseListView : EditorWindow // Create database cache _databaseCache = new DatabaseCache(_filePath); - var onInsert = new Action(entry => - { - if (entry is ItemData itemData) - { - if(!_itemBlueprints.ContainsKey(itemData.ID)) - _itemBlueprints[itemData.ID] = new HashSet(); - } - if (entry is BlueprintData blueprintData) - { - if(!_itemBlueprints.ContainsKey(blueprintData.Item)) - _itemBlueprints[blueprintData.Item] = new HashSet(); - _itemBlueprints[blueprintData.Item].Add(blueprintData.ID); - } - }); - _databaseCache.OnDataInsertLocal += onInsert; - _databaseCache.OnDataInsertRemote += onInsert; + // var onInsert = new Action(entry => + // { + // }); + // _databaseCache.OnDataInsertLocal += onInsert; + // _databaseCache.OnDataInsertRemote += onInsert; - var onDelete = new Action(entry => - { - if (entry is BlueprintData blueprintData) - _itemBlueprints[blueprintData.Item].Remove(blueprintData.ID); - }); - _databaseCache.OnDataDeleteLocal += onDelete; - _databaseCache.OnDataDeleteRemote += onDelete; + // var onDelete = new Action(entry => + // { + // }); + // _databaseCache.OnDataDeleteLocal += onDelete; + // _databaseCache.OnDataDeleteRemote += onDelete; _databaseCache.OnDataUpdateLocal += _ => Repaint(); _databaseCache.OnDataInsertLocal += _ => Repaint(); @@ -176,23 +163,6 @@ public class DatabaseListView : EditorWindow } } - using (new HorizontalScope()) - { - if (GUILayout.Button("Delete Orphaned Blueprints")) - { - int count = 0; - foreach (var blueprintData in _databaseCache.GetAll().ToArray()) - { - if (_databaseCache.Get(blueprintData.Item) == null) - { - _databaseCache.Delete(blueprintData); - count++; - } - } - Debug.Log($"Deleted {count} orphaned blueprints!"); - } - } - if (_queryStatus != null && _queryStatus.RetrievedItems < _queryStatus.GalaxyEntries + _queryStatus.ItemsEntries) { var progressRect = GetControlRect(false, 20); @@ -231,175 +201,169 @@ public class DatabaseListView : EditorWindow } if (_itemTypeFoldouts[i]) { - var typedItems = items.Where(e => e.GetType() == _itemTypes[i]).OrderBy(item => item.Name); - IEnumerable> itemGroups = new List>(); - if(_itemTypes[i] == typeof(SimpleCommodityData)) - itemGroups = typedItems.GroupBy(item => Enum.GetName(typeof(SimpleCommodityCategory), (item as SimpleCommodityData).Category)); - else if(_itemTypes[i] == typeof(CompoundCommodityData)) - itemGroups = typedItems.GroupBy(item => Enum.GetName(typeof(CompoundCommodityCategory), (item as CompoundCommodityData).Category)); - else if(_itemTypes[i] == typeof(GearData) || _itemTypes[i] == typeof(WeaponItemData)) - itemGroups = typedItems.GroupBy(item => Enum.GetName(typeof(HardpointType), (item as GearData).Hardpoint) ?? "Invalid Hardpoint"); - else if (_itemTypes[i] == typeof(HullData)) - itemGroups = typedItems.GroupBy(item => Enum.GetName(typeof(HullType), (item as HullData).HullType)); - else itemGroups = typedItems.GroupBy(item => "All"); - - foreach (var itemGroup in itemGroups) + if (_itemTypes[i] == typeof(SimpleCommodityData) || + _itemTypes[i] == typeof(CompoundCommodityData) || + _itemTypes[i] == typeof(HullData)) { - using (var h = new HorizontalScope(ListItemStyle)) - { - GUILayout.Space(20); - if (Foldout(_itemGroupFoldouts.Contains(itemGroup.Key), FormatTypeName(itemGroup.Key), true)) - _itemGroupFoldouts.Add(itemGroup.Key); - else _itemGroupFoldouts.Remove(itemGroup.Key); - } + var typedItems = items + .Where(e => e.GetType() == _itemTypes[i]) + .OrderBy(item => item.Name); + IEnumerable> itemGroups = new List>(); + if(_itemTypes[i] == typeof(SimpleCommodityData)) + itemGroups = typedItems.GroupBy(item => Enum.GetName(typeof(SimpleCommodityCategory), (item as SimpleCommodityData).Category)); + else if(_itemTypes[i] == typeof(CompoundCommodityData)) + itemGroups = typedItems.GroupBy(item => Enum.GetName(typeof(CompoundCommodityCategory), (item as CompoundCommodityData).Category)); + else if (_itemTypes[i] == typeof(HullData)) + itemGroups = typedItems.GroupBy(item => Enum.GetName(typeof(HullType), (item as HullData).HullType)); + else itemGroups = typedItems.GroupBy(item => "All"); - if (_itemGroupFoldouts.Contains(itemGroup.Key)) + foreach (var itemGroup in itemGroups) { - foreach (var item in itemGroup) + using (var h = new HorizontalScope(ListItemStyle)) { - var style = ListItemStyle; - var selected = SelectedItem == item.ID; - using (new HorizontalScope(selected?SelectedStyle:style)) - { - using (var h = new HorizontalScope()) - { - if (h.rect.Contains(currentEvent.mousePosition)) - { - if (currentEventType == EventType.MouseDrag) - { - DragAndDrop.PrepareStartDrag(); - DragAndDrop.SetGenericData("Item", item.ID); - DragAndDrop.StartDrag("Database Item"); - } - else if (currentEventType == EventType.MouseUp) - Select(item); - } + GUILayout.Space(20); + if (Foldout(_itemGroupFoldouts.Contains(itemGroup.Key), FormatTypeName(itemGroup.Key), true)) + _itemGroupFoldouts.Add(itemGroup.Key); + else _itemGroupFoldouts.Remove(itemGroup.Key); + } - GUILayout.Space(30); - GUILayout.Label(item.Name, selected ? EditorStyles.whiteLabel : GUI.skin.label); - } - - using (var h = new HorizontalScope(GUILayout.Width(15))) - { - if (GUI.Button(h.rect, GUIContent.none, GUIStyle.none)) - { - if(_itemBlueprintFoldouts.Contains(item.ID)) - _itemBlueprintFoldouts.Remove(item.ID); - else - _itemBlueprintFoldouts.Add(item.ID); - } - GUILayout.Label(_itemBlueprints[item.ID].Count.ToString()); - var rect = GetControlRect(false, GUILayout.Width(EditorGUIUtility.singleLineHeight)); - if (Event.current.type == EventType.Repaint) - { - var controlId = GUIUtility.GetControlID(1337, FocusType.Keyboard, position); - EditorStyles.foldout.Draw(rect, GUIContent.none, controlId, _itemBlueprintFoldouts.Contains(item.ID)); - } - } - } - - if (_itemBlueprintFoldouts.Contains(item.ID)) + if (_itemGroupFoldouts.Contains(itemGroup.Key)) + { + foreach (var item in itemGroup) { - foreach (var blueprintData in _itemBlueprints[item.ID] - .Select(id => _databaseCache.Get(id)) - .OrderBy(bp => bp.Quality)) + var style = ListItemStyle; + var selected = SelectedItem == item.ID; + using (new HorizontalScope(selected?SelectedStyle:style)) { - var blueprintStyle = ListItemStyle; - var blueprintSelected = SelectedItem == blueprintData.ID; - using (var h = new HorizontalScope(blueprintSelected ? SelectedStyle : blueprintStyle)) + using (var h = new HorizontalScope()) { if (h.rect.Contains(currentEvent.mousePosition)) { if (currentEventType == EventType.MouseDrag) { DragAndDrop.PrepareStartDrag(); - DragAndDrop.SetGenericData("Item", blueprintData.ID); + DragAndDrop.SetGenericData("Item", item.ID); DragAndDrop.StartDrag("Database Item"); } else if (currentEventType == EventType.MouseUp) - Select(blueprintData); + Select(item); } - GUILayout.Space(40); - GUILayout.Label(blueprintData.Name, - blueprintSelected ? EditorStyles.whiteLabel : GUI.skin.label); + GUILayout.Space(30); + GUILayout.Label(item.Name, selected ? EditorStyles.whiteLabel : GUI.skin.label); } } - - using (var h = new HorizontalScope(ListItemStyle)) - { - if (GUI.Button(h.rect, GUIContent.none, GUIStyle.none)) - { - var blueprint = new BlueprintData - { - Item = item.ID, - Name = item.Name - }; - _databaseCache.Add(blueprint); - Select(blueprint); - } - GUILayout.Space(40); - GUILayout.Label("New Blueprint"); - var rect = GetControlRect(false, GUILayout.Width(EditorGUIUtility.singleLineHeight)); - GUI.DrawTexture(rect, Icons.Instance.plus, ScaleMode.StretchToFill, true, 1, LabelColor, - 0, 0); - } } } - + } + } + else + { + if (!typeof(EquippableItemData).IsAssignableFrom(_itemTypes[i])) + throw new InvalidCastException($"Type {_itemTypes[i].Name} is invalid! Expected equippable item."); + var typedItems = items + .Where(e => e.GetType() == _itemTypes[i]) + .Cast() + .OrderBy(item => item.Name); + var manufacturerGroups = typedItems.GroupBy(item => item.Manufacturer); + foreach (var manufacturerGroup in manufacturerGroups) + { + var manufacturer = _databaseCache.Get(manufacturerGroup.Key); + var manufacturerName = manufacturer?.Name ?? "None"; using (var h = new HorizontalScope(ListItemStyle)) { - if (GUI.Button(h.rect, GUIContent.none, GUIStyle.none)) + GUILayout.Space(20); + if (Foldout(_itemManufacturerFoldouts.Contains(manufacturerGroup.Key), manufacturerName, true)) + _itemManufacturerFoldouts.Add(manufacturerGroup.Key); + else _itemManufacturerFoldouts.Remove(manufacturerGroup.Key); + } + + if (_itemManufacturerFoldouts.Contains(manufacturerGroup.Key)) + { + if (_itemTypes[i] == typeof(GearData) || _itemTypes[i] == typeof(WeaponItemData)) { - CreateItem(_itemTypes[i], newItem => + var itemGroups = manufacturerGroup.GroupBy(item => item.HardpointType); + + foreach (var itemGroup in itemGroups) { - if(newItem is SimpleCommodityData simpleCommodityData) + using (var h = new HorizontalScope(ListItemStyle)) { - simpleCommodityData.Category = - (SimpleCommodityCategory) Enum.Parse(typeof(SimpleCommodityCategory), - itemGroup.Key); - simpleCommodityData.Name = $"New {itemGroup.Key}"; + GUILayout.Space(30); + if (Foldout(_itemManufacturerTypeFoldouts.Contains((manufacturerGroup.Key, itemGroup.Key)), Enum.GetName(typeof(HardpointType), itemGroup.Key), true)) + _itemManufacturerTypeFoldouts.Add((manufacturerGroup.Key, itemGroup.Key)); + else _itemManufacturerTypeFoldouts.Remove((manufacturerGroup.Key, itemGroup.Key)); } - else if(newItem is CompoundCommodityData compoundCommodityData) + + if (_itemManufacturerTypeFoldouts.Contains((manufacturerGroup.Key, itemGroup.Key))) { - compoundCommodityData.Category = - (CompoundCommodityCategory) Enum.Parse( - typeof(CompoundCommodityCategory), itemGroup.Key); - compoundCommodityData.Name = $"New {itemGroup.Key}"; + foreach (var item in itemGroup) + { + var style = ListItemStyle; + var selected = SelectedItem == item.ID; + using (new HorizontalScope(selected?SelectedStyle:style)) + { + using (var h = new HorizontalScope()) + { + if (h.rect.Contains(currentEvent.mousePosition)) + { + if (currentEventType == EventType.MouseDrag) + { + DragAndDrop.PrepareStartDrag(); + DragAndDrop.SetGenericData("Item", item.ID); + DragAndDrop.StartDrag("Database Item"); + } + else if (currentEventType == EventType.MouseUp) + Select(item); + } + + GUILayout.Space(40); + GUILayout.Label(item.Name, selected ? EditorStyles.whiteLabel : GUI.skin.label); + } + } + } } - else if(newItem is GearData gearData) - { - gearData.Hardpoint = - (HardpointType) Enum.Parse(typeof(HardpointType), itemGroup.Key); - gearData.Name = $"New {itemGroup.Key}"; - } - else if(newItem is HullData hullData) - { - hullData.HullType = (HullType) Enum.Parse(typeof(HullType), itemGroup.Key); - hullData.Name = $"New {itemGroup.Key}"; - } - }); + } + } + else + { + foreach (var item in manufacturerGroup) + { + var style = ListItemStyle; + var selected = SelectedItem == item.ID; + using (new HorizontalScope(selected?SelectedStyle:style)) + { + using (var h = new HorizontalScope()) + { + if (h.rect.Contains(currentEvent.mousePosition)) + { + if (currentEventType == EventType.MouseDrag) + { + DragAndDrop.PrepareStartDrag(); + DragAndDrop.SetGenericData("Item", item.ID); + DragAndDrop.StartDrag("Database Item"); + } + else if (currentEventType == EventType.MouseUp) + Select(item); + } + + GUILayout.Space(30); + GUILayout.Label(item.Name, selected ? EditorStyles.whiteLabel : GUI.skin.label); + } + } + } } - GUILayout.Space(30); - GUILayout.Label("New " + itemGroup.Key); - var rect = GetControlRect(false, GUILayout.Width(EditorGUIUtility.singleLineHeight)); - GUI.DrawTexture(rect, Icons.Instance.plus, ScaleMode.StretchToFill, true, 1, LabelColor, 0, 0); } } - } - if (!itemGroups.Any()) + using (var h = new HorizontalScope(ListItemStyle)) { - using (var h = new HorizontalScope(ListItemStyle)) - { - if(GUI.Button(h.rect, GUIContent.none, GUIStyle.none)) - CreateItem(_itemTypes[i]); - GUILayout.Space(20); - GUILayout.Label("New " + _itemTypes[i].Name); - var rect = GetControlRect(false, GUILayout.Width(EditorGUIUtility.singleLineHeight)); - GUI.DrawTexture(rect, Icons.Instance.plus, ScaleMode.StretchToFill, true, 1, LabelColor, 0, 0); - } + if(GUI.Button(h.rect, GUIContent.none, GUIStyle.none)) + CreateItem(_itemTypes[i]); + GUILayout.Space(20); + GUILayout.Label("New " + FormatTypeName(_itemTypes[i].Name)); + var rect = GetControlRect(false, GUILayout.Width(EditorGUIUtility.singleLineHeight)); + GUI.DrawTexture(rect, Icons.Instance.plus, ScaleMode.StretchToFill, true, 1, LabelColor, 0, 0); } } } diff --git a/Assets/Scripts/Gameplay/EntityInstance.cs b/Assets/Scripts/Gameplay/EntityInstance.cs index 99ce20184..a4d83a005 100644 --- a/Assets/Scripts/Gameplay/EntityInstance.cs +++ b/Assets/Scripts/Gameplay/EntityInstance.cs @@ -493,7 +493,7 @@ public class EntityInstance : MonoBehaviour AkSoundEngine.SetObjectPosition(r.Value, r.Value.transform); AkSoundEngine.SetRTPCValue("performance_durability", r.Key.Item.DurabilityPerformance, r.Value); AkSoundEngine.SetRTPCValue("performance_thermal", r.Key.Item.ThermalPerformance, r.Value); - AkSoundEngine.SetRTPCValue("performance_quality", r.Key.Item.ItemManager.CompoundQuality(r.Key.Item.EquippableItem), r.Value); + AkSoundEngine.SetRTPCValue("performance_quality", r.Key.Item.EquippableItem.Quality, r.Value); } if (_reactor.reactor != null) @@ -503,7 +503,7 @@ public class EntityInstance : MonoBehaviour AkSoundEngine.SetRTPCValue("reactor_load", _reactor.reactor.CurrentLoadRatio, _reactor.sfxSource); AkSoundEngine.SetRTPCValue("performance_durability", _reactor.reactor.Item.DurabilityPerformance, _reactor.sfxSource); AkSoundEngine.SetRTPCValue("performance_thermal", _reactor.reactor.Item.ThermalPerformance, _reactor.sfxSource); - AkSoundEngine.SetRTPCValue("performance_quality", _reactor.reactor.Item.ItemManager.CompoundQuality(_reactor.reactor.Item.EquippableItem), _reactor.sfxSource); + AkSoundEngine.SetRTPCValue("performance_quality", _reactor.reactor.Item.EquippableItem.Quality, _reactor.sfxSource); } foreach (var x in RadiatorMeshes) diff --git a/Assets/Scripts/Gameplay/ShipInstance.cs b/Assets/Scripts/Gameplay/ShipInstance.cs index 2c498a878..1e105f944 100644 --- a/Assets/Scripts/Gameplay/ShipInstance.cs +++ b/Assets/Scripts/Gameplay/ShipInstance.cs @@ -96,8 +96,7 @@ public class ShipInstance : EntityInstance AkSoundEngine.SetRTPCValue("thruster_throttle", throttle, thrusterInstance.SfxSource); AkSoundEngine.SetRTPCValue("performance_durability", thrusterInstance.Thruster.Item.DurabilityPerformance, thrusterInstance.SfxSource); AkSoundEngine.SetRTPCValue("performance_thermal", thrusterInstance.Thruster.Item.ThermalPerformance, thrusterInstance.SfxSource); - AkSoundEngine.SetRTPCValue("performance_quality", - thrusterInstance.Thruster.Item.ItemManager.CompoundQuality(thrusterInstance.Thruster.Item.EquippableItem), thrusterInstance.SfxSource); + AkSoundEngine.SetRTPCValue("performance_quality", thrusterInstance.Thruster.Item.EquippableItem.Quality, thrusterInstance.SfxSource); } } diff --git a/Assets/Scripts/Gameplay/Weapons/GuidedProjectileManager.cs b/Assets/Scripts/Gameplay/Weapons/GuidedProjectileManager.cs index 8311b0cc5..218b1b994 100644 --- a/Assets/Scripts/Gameplay/Weapons/GuidedProjectileManager.cs +++ b/Assets/Scripts/Gameplay/Weapons/GuidedProjectileManager.cs @@ -38,7 +38,7 @@ public class GuidedProjectileManager : InstantWeaponEffectManager var p = ProjectilePrototype.Instantiate(); p.Source = source.transform; p.SourceEntity = source.Entity; - p.Target = target?.transform; + p.Target = target.transform; p.Frequency = guidance.DodgeFrequency; var hp = source.Entity.Hardpoints[item.Position.x, item.Position.y]; var barrel = source.GetBarrel(hp); @@ -56,6 +56,6 @@ public class GuidedProjectileManager : InstantWeaponEffectManager p.TopSpeed = item.Evaluate(guidance.MissileVelocity); p.TargetPosition = () => source.Entity.Position + length( (float3)source.LookAtPoint.position - source.Entity.Position) * source.Entity.LookDirection; } - else Debug.LogError($"Weapon {item.EquippableItem.Name} linked to {name} effect, but is not a Launcher!"); + else Debug.LogError($"Weapon {item.Data.Name} linked to {name} effect, but is not a Launcher!"); } } diff --git a/Assets/Scripts/ServerShared/AetheriaMath.cs b/Assets/Scripts/ServerShared/AetheriaMath.cs index 21a80a117..72bc642a1 100644 --- a/Assets/Scripts/ServerShared/AetheriaMath.cs +++ b/Assets/Scripts/ServerShared/AetheriaMath.cs @@ -189,4 +189,10 @@ public static class AetheriaMath x = saturate(x); return x * x * (3 - 2 * x); } + + public static float Smootherstep(float x) + { + x = saturate(x); + return x * x * x * (x * (x * 6 - 15) + 10); + } } diff --git a/Assets/Scripts/ServerShared/Behaviors/Behaviors.cs b/Assets/Scripts/ServerShared/Behaviors/Behaviors.cs index 70fb815a7..dc296844a 100644 --- a/Assets/Scripts/ServerShared/Behaviors/Behaviors.cs +++ b/Assets/Scripts/ServerShared/Behaviors/Behaviors.cs @@ -77,7 +77,6 @@ public interface IPopulationAssignment } [MessagePackObject, - Union(0, typeof(FactoryPersistence)), JsonObject(MemberSerialization.OptIn), JsonConverter(typeof(JsonKnownTypesConverter))] public abstract class PersistentBehaviorData @@ -97,7 +96,6 @@ public abstract class PersistentBehaviorData Union(9, typeof(WearData)), Union(10, typeof(VelocityConversionData)), Union(11, typeof(VelocityLimitData)), - Union(12, typeof(FactoryData)), // Union(13, typeof(PatrolControllerData)), // Union(14, typeof(TowingControllerData)), Union(15, typeof(CooldownData)), diff --git a/Assets/Scripts/ServerShared/Behaviors/FactoryBehavior.cs b/Assets/Scripts/ServerShared/Behaviors/FactoryBehavior.cs deleted file mode 100644 index 7de244126..000000000 --- a/Assets/Scripts/ServerShared/Behaviors/FactoryBehavior.cs +++ /dev/null @@ -1,287 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -using System; -using System.Collections.Generic; -using System.Linq; -using MessagePack; -using Newtonsoft.Json; -using Unity.Mathematics; -using static Unity.Mathematics.math; -using Random = Unity.Mathematics.Random; - -[MessagePackObject, JsonObject(MemberSerialization.OptIn)] -public class FactoryData : BehaviorData -{ - [InspectableField, JsonProperty("toolingTime"), Key(1)] - public PerformanceStat ToolingTime = new PerformanceStat(); - - [InspectableField, JsonProperty("automation"), Key(2)] - public int AutomationPoints; - - [InspectableField, JsonProperty("automationQuality"), Key(3)] - public float AutomationQuality = .5f; - - [InspectableDatabaseLink(typeof(PersonalityAttribute)), JsonProperty("productionProfile"), Key(4)] - public Dictionary ProductionProfile = new Dictionary(); - - public override IBehavior CreateInstance(ItemManager context, Entity entity, EquippedItem item) - { - return new Factory(context, this, entity, item); - } -} - -public class Factory : IBehavior//, IPersistentBehavior, IPopulationAssignment -{ - public float ProductionQuality; - public double RetoolingTime; - public string ItemName; - public Guid ItemUnderConstruction; - public bool Active; - public int AssignedPopulation { get; set; } - - public Entity Entity { get; } - public EquippedItem Item { get; } - public ItemManager Context { get; } - - public BehaviorData Data => _data; - - public float ToolingTime { get; private set; } - - public Guid Blueprint - { - get => _blueprint; - set - { - if (value != _blueprint) - { - _blueprint = value; - Active = false; - if(value != Guid.Empty) - { - ItemName = Context.ItemData.Get(Context.ItemData.Get(value).Item).Name; - RetoolingTime = ToolingTime; - _retooling = true; - } - } - } - } - - private FactoryData _data; - - private Guid _blueprint; - private bool _retooling = false; - private float _currentProductionQuality; - - public Factory(ItemManager context, FactoryData data, Entity entity, EquippedItem item) - { - Context = context; - _data = data; - Entity = entity; - Item = item; - } - - public bool Execute(float delta) - { - // ToolingTime = Context.Evaluate(_data.ToolingTime, Item, Entity); - // var blueprint = Context.ItemData.Get(_blueprint); - // if (blueprint == null) - // return false; - // - // if (ItemUnderConstruction != Guid.Empty) - // { - // Entity.IncompleteCargo[ItemUnderConstruction] = - // Entity.IncompleteCargo[ItemUnderConstruction] - delta * (AssignedPopulation + _data.AutomationPoints) / - // pow(lerp(blueprint.QualityFloor, 1, saturate(_currentProductionQuality)), - // blueprint.ProductionExponent); - // - // if(Entity.IncompleteCargo[ItemUnderConstruction] < 0) - // { - // var item = Context.ItemData.Get(ItemUnderConstruction); - // if (item is SimpleCommodity simpleCommodity) - // Entity.AddCargo(simpleCommodity); - // else if (item is CraftedItemInstance craftedItemInstance) - // Entity.AddCargo(craftedItemInstance); - // Entity.IncompleteCargo.Remove(ItemUnderConstruction); - // ItemUnderConstruction = Guid.Empty; - // foreach (var attribute in _data.ProductionProfile) - // Entity.Personality[attribute.Key] = lerp(Entity.Personality[attribute.Key], attribute.Value, - // Context.GameplaySettings.ProductionPersonalityLerp * ((float) AssignedPopulation / Entity.Population)); - // } - // - // return true; - // } - // - // if (RetoolingTime > 0) - // { - // RetoolingTime -= delta; - // return false; - // } - // - // if (_retooling) - // { - // _retooling = false; - // } - // - // if (Active) - // { - // var profileDistance = 0f; - // if (_data.ProductionProfile.Any()) - // profileDistance = _data.ProductionProfile.Sum(x => abs(x.Value - Entity.Personality[x.Key])) / - // _data.ProductionProfile.Count; - // var personalityQuality = - // (_data.AutomationPoints * _data.AutomationQuality + AssignedPopulation * (1 - profileDistance)) / - // (_data.AutomationPoints + AssignedPopulation); - // ItemUnderConstruction = Entity.Build(blueprint, - // blueprint.Quality * - // pow(personalityQuality, blueprint.PersonalityExponent) * - // pow(ProductionQuality, blueprint.QualityExponent) * - // // Applying exponents to two random numbers and averaging them produces a range of interesting probability distributions for quality - // (pow(Context.Random.NextFloat(), blueprint.RandomQualityExponent) + - // pow(Context.Random.NextFloat(), blueprint.RandomQualityExponent)) / 2, ItemName); - // } - // - return false; - } - // - // // TODO Update Factory Persistence - // public PersistentBehaviorData Store() - // { - // return new FactoryPersistence - // { - // Blueprint = _blueprint, - // RetoolingTime = RetoolingTime, - // AssignedPopulation = AssignedPopulation, - // ProductionQuality = ProductionQuality - // }; - // } - // - // public void Restore(PersistentBehaviorData data) - // { - // var factoryPersistence = data as FactoryPersistence; - // _blueprint = factoryPersistence.Blueprint; - // RetoolingTime = factoryPersistence.RetoolingTime; - // AssignedPopulation = factoryPersistence.AssignedPopulation; - // ProductionQuality = factoryPersistence.ProductionQuality; - // } - // - // public Guid Build(BlueprintData blueprint, float quality, string name, bool direct = false) - // { - // if (direct) - // { - // if(blueprint.FactoryItem!=Guid.Empty) - // throw new ArgumentException("Attempted to directly build a blueprint which requires a factory!"); - // var blueprintItem = Context.Cache.Get(blueprint.Item); - // if(blueprintItem == null) - // throw new ArgumentException("Attempted to directly build a blueprint for a missing or incompatible item!"); - // } - // - // //var newItemID = Guid.Empty; - // - // // GetBlueprintIngredients will assign the output lists with the items matching the blueprint, and return false if they are not found - // if (!GetBlueprintIngredients(blueprint, out var simpleIngredients, out var compoundIngredients)) - // return Guid.Empty; - // - // // These will be bundled with the data for the compound commodity instance - // var ingredients = new List(); - // ingredients.AddRange(compoundIngredients.Select(RemoveCargo)); - // ingredients.AddRange(simpleIngredients.Select(sc => RemoveCargo(sc, blueprint.Ingredients[sc.Data]))); - // - // var blueprintItemData = Context.Cache.Get(blueprint.Item); - // - // // Creating new crafted item instances is a bit more complicated - // if (blueprintItemData is CraftedItemData) - // { - // CraftedItemInstance newItem; - // - // if (blueprintItemData is EquippableItemData equippableItemData) - // { - // var newGear = new EquippableItem - // { - // Context = Context, - // Data = blueprintItemData.ID, - // Ingredients = ingredients.Select(ii=>ii.ID).ToList(), - // Quality = quality, - // Blueprint = blueprint.ID, - // Name = name, - // SourceEntity = ID - // }; - // newGear.Durability = Context.Evaluate(equippableItemData.Durability, newGear); - // newItem = newGear; - // } - // else - // { - // newItem = new CompoundCommodity - // { - // Context = Context, - // Data = blueprintItemData.ID, - // Ingredients = ingredients.Select(ii=>ii.ID).ToList(), - // Quality = quality, - // Blueprint = blueprint.ID, - // Name = name, - // SourceEntity = ID - // }; - // } - // Context.Cache.Add(newItem); - // if (direct) - // IncompleteGear[newItem.ID] = blueprint.ProductionTime; - // else - // IncompleteCargo[newItem.ID] = blueprint.ProductionTime; - // return newItem.ID; - // } - // - // var newSimpleCommodity = new SimpleCommodity - // { - // Context = Context, - // Data = blueprintItemData.ID, - // Quantity = 1 - // }; - // Context.Cache.Add(newSimpleCommodity); - // IncompleteCargo[newSimpleCommodity.ID] = blueprint.ProductionTime; - // return newSimpleCommodity.ID; - // } - // - // public bool GetBlueprintIngredients(BlueprintData blueprint, out List simpleIngredients, - // out List compoundIngredients) - // { - // simpleIngredients = new List(); - // compoundIngredients = new List(); - // var hasAllIngredients = true; - // var cargoInstances = Cargo.Select(c => Context.Cache.Get(c)); - // foreach (var kvp in blueprint.Ingredients) - // { - // var itemData = Context.Cache.Get(kvp.Key); - // if (itemData is SimpleCommodityData) - // { - // var matchingItem = cargoInstances.FirstOrDefault(ii => - // { - // if (!(ii is SimpleCommodity simpleCommodity)) return false; - // return simpleCommodity.Data == itemData.ID && simpleCommodity.Quantity >= kvp.Value; - // }) as SimpleCommodity; - // hasAllIngredients = hasAllIngredients && matchingItem != null; - // if(matchingItem != null) - // simpleIngredients.Add(matchingItem); - // } - // else - // { - // var matchingItems = - // cargoInstances.Where(ii => (ii as CompoundCommodity)?.Data == itemData.ID).Cast().ToArray(); - // hasAllIngredients = hasAllIngredients && matchingItems.Length >= kvp.Value; - // if(matchingItems.Length >= kvp.Value) - // compoundIngredients.AddRange(matchingItems.Take(kvp.Value)); - // } - // } - // - // return hasAllIngredients; - // } -} - -[MessagePackObject, JsonObject(MemberSerialization.OptIn)] -public class FactoryPersistence : PersistentBehaviorData -{ - [JsonProperty("blueprint"), Key(0)] public Guid Blueprint; - [JsonProperty("retoolingTime"), Key(2)] public double RetoolingTime; - [JsonProperty("assignedPopulation"), Key(5)] public int AssignedPopulation; - [JsonProperty("productionQuality"), Key(6)] public float ProductionQuality; -} \ No newline at end of file diff --git a/Assets/Scripts/ServerShared/Behaviors/FactoryBehavior.cs.meta b/Assets/Scripts/ServerShared/Behaviors/FactoryBehavior.cs.meta deleted file mode 100644 index 5ad3748b6..000000000 --- a/Assets/Scripts/ServerShared/Behaviors/FactoryBehavior.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 7f6378c7d7a9be24c9830679aabe55ba -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/ServerShared/Behaviors/InstantWeapon.cs b/Assets/Scripts/ServerShared/Behaviors/InstantWeapon.cs index 120a2f40f..5fccf64c6 100644 --- a/Assets/Scripts/ServerShared/Behaviors/InstantWeapon.cs +++ b/Assets/Scripts/ServerShared/Behaviors/InstantWeapon.cs @@ -103,10 +103,13 @@ public class InstantWeapon : Weapon, IProgressBehavior, IEventBehavior private bool UseAmmo() { - if (_data.AmmoType != Guid.Empty) + if (_data.MagazineSize <= 1) return true; + + if (_ammo > 0) _ammo--; + else { - if (_data.MagazineSize > 1 && _ammo > 0) _ammo--; - else + var hasAmmo = true; + if (_data.AmmoType != Guid.Empty) { var cargo = Entity.FindItemInCargo(_data.AmmoType); if (cargo != null) @@ -114,18 +117,18 @@ public class InstantWeapon : Weapon, IProgressBehavior, IEventBehavior var item = cargo.ItemsOfType[_data.AmmoType][0]; if (item is SimpleCommodity simpleCommodity) cargo.Remove(simpleCommodity, 1); - - if(_data.MagazineSize > 1) - { - OnReloadBegin?.Invoke(); - _cooldown = 1; - _coolingDown = true; - _firing = false; - } } - _burstRemaining = 0; - return false; + else hasAmmo = false; } + if(hasAmmo) + { + OnReloadBegin?.Invoke(); + _cooldown = 1; + _coolingDown = true; + _firing = false; + } + _burstRemaining = 0; + return false; } return true; diff --git a/Assets/Scripts/ServerShared/Behaviors/StatModifier.cs b/Assets/Scripts/ServerShared/Behaviors/StatModifier.cs index 3a1464872..a43133345 100644 --- a/Assets/Scripts/ServerShared/Behaviors/StatModifier.cs +++ b/Assets/Scripts/ServerShared/Behaviors/StatModifier.cs @@ -101,4 +101,14 @@ public enum StatModifierType { Constant, Multiplier +} + +[InspectableField, MessagePackObject, JsonObject(MemberSerialization.OptIn)] +public class StatReference +{ + [InspectableType(typeof(BehaviorData)), JsonProperty("behavior"), Key(1)] + public string Target; + + [InspectableField, JsonProperty("stat"), Key(2)] + public string Stat; } \ No newline at end of file diff --git a/Assets/Scripts/ServerShared/Behaviors/Thruster.cs b/Assets/Scripts/ServerShared/Behaviors/Thruster.cs index c738ce8f9..43948eb89 100644 --- a/Assets/Scripts/ServerShared/Behaviors/Thruster.cs +++ b/Assets/Scripts/ServerShared/Behaviors/Thruster.cs @@ -19,7 +19,10 @@ public class ThrusterData : BehaviorData [InspectableField, JsonProperty("heat"), Key(3), RuntimeInspectable] public PerformanceStat Heat = new PerformanceStat(); - [InspectablePrefab, JsonProperty("Particles"), Key(4)] + [InspectableField, JsonProperty("energy"), Key(4), RuntimeInspectable] + public PerformanceStat EnergyUsage = new PerformanceStat(); + + [InspectablePrefab, JsonProperty("Particles"), Key(5)] public string ParticlesPrefab; public override IBehavior CreateInstance(ItemManager context, Entity entity, EquippedItem item) @@ -66,13 +69,18 @@ public class Thruster : IAnalogBehavior public bool Execute(float delta) { - Thrust = Item.Evaluate(_data.Thrust); - Entity.Velocity -= Entity.Direction.Rotate(Item.EquippableItem.Rotation) * _input * Thrust / Entity.Mass * delta; - Entity.Direction = mul(Entity.Direction, Unity.Mathematics.float2x2.Rotate(_input * Torque * Thrust * Context.GameplaySettings.TorqueMultiplier / Entity.Mass * delta)); - Item.AddHeat(_input * Item.Evaluate(_data.Heat) * delta); - var vis = _input * Item.Evaluate(_data.Visibility); - if(!Entity.VisibilitySources.ContainsKey(this) || vis > Entity.VisibilitySources[this]) - Entity.VisibilitySources[this] = vis; - return _input > .01f; + if(_input > .01f && Item.Entity.TryConsumeEnergy(_input * Item.Evaluate(_data.EnergyUsage))) + { + Thrust = Item.Evaluate(_data.Thrust); + Entity.Velocity -= Entity.Direction.Rotate(Item.EquippableItem.Rotation) * _input * Thrust / Entity.Mass * delta; + Entity.Direction = mul(Entity.Direction, + Unity.Mathematics.float2x2.Rotate(_input * Torque * Thrust * Context.GameplaySettings.TorqueMultiplier / Entity.Mass * delta)); + Item.AddHeat(_input * Item.Evaluate(_data.Heat) * delta); + var vis = _input * Item.Evaluate(_data.Visibility); + if (!Entity.VisibilitySources.ContainsKey(this) || vis > Entity.VisibilitySources[this]) + Entity.VisibilitySources[this] = vis; + return true; + } + return false; } } \ No newline at end of file diff --git a/Assets/Scripts/ServerShared/BlueprintData.cs b/Assets/Scripts/ServerShared/BlueprintData.cs deleted file mode 100644 index 5e0b5e721..000000000 --- a/Assets/Scripts/ServerShared/BlueprintData.cs +++ /dev/null @@ -1,86 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -using System; -using System.Collections; -using System.Collections.Generic; -using MessagePack; -using Newtonsoft.Json; -using Unity.Mathematics; -using static Unity.Mathematics.math; - -[RethinkTable("Items"), MessagePackObject, JsonObject(MemberSerialization.OptIn)] -public class BlueprintData : DatabaseEntry, INamedEntry -{ - [InspectableField, JsonProperty("name"), Key(1)] - public string Name; - - [InspectableDatabaseLink(typeof(ItemData)), JsonProperty("ingredients"), Key(2)] - public Dictionary Ingredients = new Dictionary(); - - [JsonProperty("item"), Key(3)] - public Guid Item; - - [InspectableField, JsonProperty("productionTime"), Key(4)] - public float ProductionTime; - - [InspectableField, JsonProperty("quality"), Key(5)] - public float Quality; - - [InspectableField, JsonProperty("qualityExponent"), Key(6)] - public float QualityExponent = 1; - - [InspectableField, JsonProperty("productionExponent"), Key(7)] - public float ProductionExponent = 1; - - [InspectableField, JsonProperty("randomExponent"), Key(8)] - public float RandomQualityExponent = 1; - - [InspectableField, JsonProperty("personalityExponent"), Key(9)] - public float PersonalityExponent = 1; - - [InspectableField, JsonProperty("qualityFloor"), Key(10)] - public float QualityFloor = .25f; - - [InspectableField, JsonProperty("statEffects"), Key(11)] - public List StatEffects = new List(); - - [InspectableField, JsonProperty("researchTime"), Key(12)] - public float ResearchTime; - - [InspectableDatabaseLink(typeof(BlueprintData)), JsonProperty("researchDependencies"), Key(13)] - public List Dependencies = new List(); - - [InspectableDatabaseLink(typeof(CraftedItemData)), JsonProperty("factoryItem"), Key(14)] - public Guid FactoryItem; - - [InspectableDatabaseLink(typeof(SimpleCommodityData)), JsonProperty("resourceRequirements"), Key(15)] - public Dictionary ResourceRequirements = new Dictionary(); - - [IgnoreMember] public string EntryName - { - get => Name; - set => Name = value; - } -} - -[InspectableField, MessagePackObject, JsonObject(MemberSerialization.OptIn)] -public class BlueprintStatEffect -{ - [InspectableField, JsonProperty("ingredient"), Key(1)] - public Guid Ingredient; - - [InspectableField, JsonProperty("stat"), Key(2)] - public StatReference StatReference = new StatReference(); -} - -[InspectableField, MessagePackObject, JsonObject(MemberSerialization.OptIn)] -public class StatReference -{ - [InspectableType(typeof(BehaviorData)), JsonProperty("behavior"), Key(1)] - public string Target; - - [InspectableField, JsonProperty("stat"), Key(2)] - public string Stat; -} diff --git a/Assets/Scripts/ServerShared/BlueprintData.cs.meta b/Assets/Scripts/ServerShared/BlueprintData.cs.meta deleted file mode 100644 index c956b95d8..000000000 --- a/Assets/Scripts/ServerShared/BlueprintData.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: f2b1f367d240824408eb1e151c60bc79 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/ServerShared/DatabaseEntry.cs b/Assets/Scripts/ServerShared/DatabaseEntry.cs index f8ae785af..d7c68d5d6 100644 --- a/Assets/Scripts/ServerShared/DatabaseEntry.cs +++ b/Assets/Scripts/ServerShared/DatabaseEntry.cs @@ -25,7 +25,6 @@ public interface INamedEntry Union(4, typeof(SimpleCommodity)), Union(5, typeof(CompoundCommodity)), Union(6, typeof(EquippableItem)), - Union(7, typeof(BlueprintData)), Union(8, typeof(GalaxyMapLayerData)), Union(9, typeof(NameFile)), //Union(10, typeof(ZoneData)), @@ -37,7 +36,7 @@ public interface INamedEntry Union(16, typeof(BodyData)), Union(17, typeof(PersonalityAttribute)), Union(18, typeof(AgentTask)), - Union(19, typeof(LoadoutData)), + // Union(19, typeof(LoadoutData)), Union(20, typeof(Ship)), Union(21, typeof(Mining)), Union(22, typeof(StationTowing)), diff --git a/Assets/Scripts/ServerShared/Entity.cs b/Assets/Scripts/ServerShared/Entity.cs index f7c37ac00..3efa186b9 100644 --- a/Assets/Scripts/ServerShared/Entity.cs +++ b/Assets/Scripts/ServerShared/Entity.cs @@ -169,7 +169,7 @@ public abstract class Entity Zone = zone; Hull = hull; HullData = itemManager.GetData(hull) as HullData; - Name = hull.Name; + Name = HullData.Name; MapEntity(); TriggerGroups = new (List triggers, List items)[itemManager.GameplaySettings.TriggerGroupCount]; for(int i=0; i performanceThreshold || Entity.OverrideShutdown && EquippableItem.OverrideShutdown; diff --git a/Assets/Scripts/ServerShared/ItemData.cs b/Assets/Scripts/ServerShared/ItemData.cs index 7964402e2..2437045d4 100644 --- a/Assets/Scripts/ServerShared/ItemData.cs +++ b/Assets/Scripts/ServerShared/ItemData.cs @@ -316,11 +316,11 @@ public abstract class EquippableItemData : CraftedItemData [InspectableTemperature, JsonProperty("maxTemp"), Key(14)] public float MaximumTemperature; - [InspectableField, JsonProperty("durabilityExponent"), Key(15), SimplePerformanceStat] - public PerformanceStat DurabilityExponent = new PerformanceStat(); - - [InspectableField, JsonProperty("heatExponent"), Key(16), SimplePerformanceStat] - public PerformanceStat HeatExponent = new PerformanceStat(); + // [InspectableField, JsonProperty("durabilityExponent"), Key(15), SimplePerformanceStat] + // public PerformanceStat DurabilityExponent = new PerformanceStat(); + // + // [InspectableField, JsonProperty("heatExponent"), Key(16), SimplePerformanceStat] + // public PerformanceStat HeatExponent = new PerformanceStat(); [InspectableAnimationCurve, JsonProperty("performanceCurve"), Key(17)] public float4[] HeatPerformanceCurve; @@ -495,17 +495,14 @@ public class PerformanceStat [JsonProperty("max"), Key(1)] public float Max; - [JsonProperty("durabilityDependent"), Key(2)] - public bool DurabilityDependent; + [JsonProperty("heatExponentMultiplier"), Key(2)] + public float HeatExponentMultiplier; - [JsonProperty("qualityExponent"), Key(3)] + [JsonProperty("durabilityExponentMultiplier"), Key(3)] + public float DurabilityExponentMultiplier; + + [JsonProperty("qualityExponent"), Key(4)] public float QualityExponent; - - [JsonProperty("heatDependent"), Key(4)] - public bool HeatDependent; - - [JsonProperty("heatExponentMultiplier"), Key(5)] - public float HeatExponentMultiplier = 1; //[JsonProperty("id"), Key(5)] public Guid ID = Guid.NewGuid(); diff --git a/Assets/Scripts/ServerShared/ItemInstance.cs b/Assets/Scripts/ServerShared/ItemInstance.cs index b76b535ba..80d2e3021 100644 --- a/Assets/Scripts/ServerShared/ItemInstance.cs +++ b/Assets/Scripts/ServerShared/ItemInstance.cs @@ -34,13 +34,13 @@ public abstract class CraftedItemInstance : ItemInstance { [JsonProperty("quality"), Key(2)] public float Quality; - [JsonProperty("ingredients"), Key(3)] public List Ingredients = new List(); + //[JsonProperty("ingredients"), Key(3)] public List Ingredients = new List(); - [JsonProperty("blueprint"), Key(4)] public Guid Blueprint; + //[JsonProperty("blueprint"), Key(4)] public Guid Blueprint; - [JsonProperty("name"), Key(5)] public string Name; + //[JsonProperty("name"), Key(3)] public string Name; - [JsonProperty("sourceEntity"), Key(6)] public Guid SourceEntity; + //[JsonProperty("sourceEntity"), Key(4)] public Guid SourceEntity; } [MessagePackObject, JsonObject(MemberSerialization.OptIn)] diff --git a/Assets/Scripts/ServerShared/ItemManager.cs b/Assets/Scripts/ServerShared/ItemManager.cs index 195c976d7..4952c2a37 100644 --- a/Assets/Scripts/ServerShared/ItemManager.cs +++ b/Assets/Scripts/ServerShared/ItemManager.cs @@ -24,9 +24,6 @@ public class ItemManager private Action _logger; - private Dictionary AffectedStats = - new Dictionary(); - private double _time; private float _deltaTime; private Dictionary _zones = new Dictionary(); @@ -158,118 +155,20 @@ public class ItemManager return 0; } - public PerformanceStat GetAffectedStat(BlueprintData blueprint, BlueprintStatEffect effect) - { - // We've already cached this effect's stat, return it directly - if (AffectedStats.ContainsKey(effect)) return AffectedStats[effect]; - - // Get the data for the item the blueprint is for, return null if not found or not equippable - var blueprintItem = ItemData.Get(blueprint.Item); - if (blueprintItem == null) - { - _logger($"Attempted to get stat effect but Blueprint {blueprint.ID} is not for an equippable item!"); - return AffectedStats[effect] = null; - } - - // Get the first behavior of the type specified in the blueprint stat effect, return null if not found - var effectObject = effect.StatReference.Target == blueprintItem.Name ? (object) blueprintItem : - blueprintItem.Behaviors.FirstOrDefault(b => b.GetType().Name == effect.StatReference.Target); - if (effectObject == null) - { - _logger($"Attempted to get stat effect for Blueprint {blueprint.ID} but stat references missing behavior \"{effect.StatReference.Target}\"!"); - return AffectedStats[effect] = null; - } - - // Get the first field in the behavior matching the name specified in the stat effect, return null if not found - var type = effectObject.GetType(); - var field = type.GetField(effect.StatReference.Stat); - if (field == null) - { - _logger($"Attempted to get stat effect for Blueprint {blueprint.ID} but object {effect.StatReference.Target} does not have a stat named \"{effect.StatReference.Stat}\"!"); - return AffectedStats[effect] = null; - } - - // Finally we've confirmed the stat effect is valid, return the affected stat - return AffectedStats[effect] = field.GetValue(effectObject) as PerformanceStat; - } - - private readonly Dictionary ItemQuality = new Dictionary(); - - public float CompoundQuality(CraftedItemInstance item) - { - if (ItemQuality.ContainsKey(item)) return ItemQuality[item]; - - var quality = item.Quality; - - var craftedIngredients = item.Ingredients.Where(i => i is CraftedItemInstance).ToArray(); - if (craftedIngredients.Length > 0) - { - var ingredientQualityWeight = ItemData.Get(item.Data).IngredientQualityWeight; - quality = quality * (1 - ingredientQualityWeight) + - craftedIngredients.Cast().Average(CompoundQuality) * ingredientQualityWeight; - } - - ItemQuality[item] = quality; - - return ItemQuality[item]; - } - - private readonly Dictionary<(PerformanceStat stat, EquippableItem item), float> StatQuality = new Dictionary<(PerformanceStat stat, EquippableItem item), float>(); - - // Determine quality of either the item itself or the specific ingredient this stat depends on - public float Quality(PerformanceStat stat, EquippableItem item) - { - if (StatQuality.ContainsKey((stat, item))) - return StatQuality[(stat, item)]; - - var quality = CalcQuality(stat, item); - StatQuality[(stat, item)] = quality; - return quality; - } - - private float CalcQuality(PerformanceStat stat, EquippableItem item) - { - var itemData = GetData(item); - var blueprint = ItemData.Get(item.Blueprint); - var activeEffects = blueprint.StatEffects.Where(x => GetAffectedStat(blueprint, x) == stat).ToArray(); - float quality; - if (!activeEffects.Any()) - quality = CompoundQuality(item); - else - { - var ingredients = item.Ingredients.Where(i => activeEffects.Any(e => e.Ingredient == i.Data)).ToArray(); - var distinctIngredients = ingredients.Select(i => i.Data).Distinct(); - if(distinctIngredients.Count() != activeEffects.Length) - { - _logger($"Item {itemData.Name} does not have the ingredients specified by the stat effects of its blueprint!"); - return 0; - } - - float sum = 0; - foreach (var i in ingredients) - { - if (i is CraftedItemInstance ci) - sum += CompoundQuality(ci); - else _logger($"Blueprint stat effect for item {itemData.Name} specifies invalid (non crafted) ingredient!"); - } - - quality = sum / ingredients.Length; - } - - return quality; - } - // Returns stat when not equipped public float Evaluate(PerformanceStat stat, EquippableItem item) { - var quality = pow(Quality(stat, item), stat.QualityExponent); - - var result = lerp(stat.Min, stat.Max, quality); - - if (float.IsNaN(result)) - return stat.Min; - + var data = GetData(item); + var quality = pow(item.Quality, stat.QualityExponent); + var durabilityExponent = lerp( + GameplaySettings.DurabilityQualityMin, + GameplaySettings.DurabilityQualityMax, + pow(item.Quality, GameplaySettings.DurabilityQualityExponent)); + var durability = pow(item.Durability / data.Durability, durabilityExponent * stat.DurabilityExponentMultiplier); + var result = lerp(stat.Min, stat.Max, quality * durability); + if (float.IsNaN(result)) throw new InvalidOperationException("Performance Stat evaluating as NaN: input data is invalid!"); return result; + } public int GetPrice(CraftedItemInstance item) @@ -317,57 +216,10 @@ public class ItemManager { if (item == null) { - _logger("Attempted to create crafted item instance using missing or incorrect item id!"); + _logger("Attempted to create crafted item instance using missing or incorrect item data!"); return null; } - var blueprint = ItemData.GetAll().FirstOrDefault(b => b.Item == item.ID); - if (blueprint == null) - { - _logger("Attempted to create crafted item instance which has no blueprint!"); - return null; - } - - bool invalidIngredientFound = false; - ItemData invalidIngredient = null; - var ingredients = new List(); - foreach (var ingredient in blueprint.Ingredients) - { - var itemData = ItemData.Get(ingredient.Key); - if (itemData is SimpleCommodityData simpleIngredientData) - { - var itemInstance = CreateInstance(simpleIngredientData, ingredient.Value); - if(itemInstance == null) - { - invalidIngredientFound = true; - invalidIngredient = itemData; - } - else ingredients.Add(itemInstance); - } - else - { - var craftedIngredientData = ItemData.Get(ingredient.Key); - for (int i = 0; i < ingredient.Value; i++) - { - var itemInstance = CreateInstance(craftedIngredientData); - if (itemInstance == null) - { - invalidIngredientFound = true; - invalidIngredient = itemData; - break; - } - - ingredients.Add(itemInstance); - } - } - - } - - if (invalidIngredientFound) - { - _logger($"Unable to create crafted item ingredient: {invalidIngredient?.Name??"null"} for item {item.Name}"); - } - var quality = Random.NextFloat(); var tier = GameplaySettings.Tiers[0]; foreach (var t in GameplaySettings.Tiers) @@ -381,10 +233,7 @@ public class ItemManager var newGear = new EquippableItem { Data = item.ID, - Ingredients = ingredients, - Quality = tier.Quality, - Blueprint = blueprint.ID, - Name = $"{item.Name}" + Quality = tier.Quality }; newGear.Durability = equippableItemData.Durability; return newGear; @@ -393,10 +242,7 @@ public class ItemManager var newCommodity = new CompoundCommodity { Data = item.ID, - Ingredients = ingredients, - Quality = tier.Quality, - Blueprint = blueprint.ID, - Name = $"{item.Name}" + Quality = tier.Quality }; return newCommodity; } diff --git a/Assets/Scripts/ServerShared/LoadoutData.cs b/Assets/Scripts/ServerShared/LoadoutData.cs deleted file mode 100644 index eb0fff6ff..000000000 --- a/Assets/Scripts/ServerShared/LoadoutData.cs +++ /dev/null @@ -1,33 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -using System; -using System.Collections.Generic; -using MessagePack; -using Newtonsoft.Json; - -[RethinkTable("Items"), Inspectable, MessagePackObject, JsonObject(MemberSerialization.OptIn)] -public class LoadoutData : DatabaseEntry, INamedEntry -{ - [InspectableField, JsonProperty("name"), Key(1)] - public string Name; - - [InspectableDatabaseLink(typeof(HullData)), JsonProperty("hull"), Key(2)] - public Guid Hull; - - [JsonProperty("items"), Key(3)] - public List Gear = new List(); - - [InspectableDatabaseLink(typeof(SimpleCommodityData)), JsonProperty("simpleCargo"), Key(4)] - public Dictionary SimpleCargo = new Dictionary(); - - [InspectableDatabaseLink(typeof(CraftedItemData)), JsonProperty("compoundCargo"), Key(5)] - public Dictionary CompoundCargo = new Dictionary(); - - [IgnoreMember] public string EntryName - { - get => Name; - set => Name = value; - } -} \ No newline at end of file diff --git a/Assets/Scripts/ServerShared/LoadoutData.cs.meta b/Assets/Scripts/ServerShared/LoadoutData.cs.meta deleted file mode 100644 index 1573b4757..000000000 --- a/Assets/Scripts/ServerShared/LoadoutData.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 897e13bb0462456b800522cd213bf70d -timeCreated: 1591829121 \ No newline at end of file diff --git a/Assets/Scripts/ServerShared/Settings.cs b/Assets/Scripts/ServerShared/Settings.cs index ba0e1e7bb..08c0aa806 100644 --- a/Assets/Scripts/ServerShared/Settings.cs +++ b/Assets/Scripts/ServerShared/Settings.cs @@ -135,6 +135,12 @@ public class GameplaySettings public EntitySettings DefaultEntitySettings; public RarityTier[] Tiers; public ExponentialLerp QualityPriceModifier; + public float DurabilityQualityExponent = 2; + public float DurabilityQualityMin = 2; + public float DurabilityQualityMax = .25f; + public float ThermalQualityExponent = 2; + public float ThermalQualityMin = 2; + public float ThermalQualityMax = .25f; public float DefaultShutdownPerformance = .25f; public float SevereHeatstrokeRiskThreshold = .25f; public float WormholeDepth = 1000; diff --git a/Assets/Scripts/ServerShared/Ship.cs b/Assets/Scripts/ServerShared/Ship.cs index 30cef236f..3d32ea3fe 100644 --- a/Assets/Scripts/ServerShared/Ship.cs +++ b/Assets/Scripts/ServerShared/Ship.cs @@ -300,7 +300,7 @@ public class Ship : Entity { var exitLerp = (_wormholeAnimationProgress - ItemManager.GameplaySettings.WormholeExitCurveStart) / (1 - ItemManager.GameplaySettings.WormholeExitCurveStart); - exitLerp = AetheriaMath.Smoothstep(exitLerp); // Square the interpolation variable to produce curve with zero slope at start + exitLerp = AetheriaMath.Smootherstep(exitLerp); // Square the interpolation variable to produce curve with zero slope at start Position.xz = _wormholePosition + normalize(_wormholeExitVelocity) * exitLerp * ItemManager.GameplaySettings.WormholeExitRadius; Rotation = quaternion.LookRotation( lerp(float3(0, 1, 0), forward, exitLerp), @@ -326,7 +326,7 @@ public class Ship : Entity if (_wormholeAnimationProgress < 1 - ItemManager.GameplaySettings.WormholeExitCurveStart) { var enterLerp = _wormholeAnimationProgress / (1 - ItemManager.GameplaySettings.WormholeExitCurveStart); - enterLerp = AetheriaMath.Smoothstep(enterLerp); // Square the interpolation variable to produce curve with zero slope at vertical + enterLerp = AetheriaMath.Smootherstep(enterLerp); // Square the interpolation variable to produce curve with zero slope at vertical Position.xz = lerp(_wormholeEntryPosition, _wormholePosition, enterLerp); Rotation = quaternion.LookRotation( lerp(forward, float3(0, -1, 0), enterLerp), diff --git a/Assets/Scripts/TechTreeMsagl.cs b/Assets/Scripts/TechTreeMsagl.cs deleted file mode 100644 index 42c1e6a12..000000000 --- a/Assets/Scripts/TechTreeMsagl.cs +++ /dev/null @@ -1,438 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using Microsoft.Msagl.Core.Geometry; -using Microsoft.Msagl.Core.Geometry.Curves; -using Microsoft.Msagl.Core.Layout; -using Microsoft.Msagl.Layout.Layered; -using NaughtyAttributes; -using TMPro; -using UnityEngine; -using Random = UnityEngine.Random; -using Unity.Mathematics; -using static Unity.Mathematics.math; - -public class TechTreeMsagl : MonoBehaviour -{ - [Section("Assets")] - public string IconsPath; - public Prototype Ring; - public Prototype Tech; - public Prototype RadialLink; - public Prototype Arrow; - - [Section("UI Links")] - public PropertiesPanel PropertiesPanel; - - [Section("Graph Generation")] - public bool TestMode; - public int TechCount = 50; - public int SeedTechs = 5; - public int RollingWindowSize = 50; - public bool Radial; - public float MultipleDependencyProbability; - public int DependencyDepth; - public int DependencyAncestorDepth; - - [Section("Layout")] - public PackingMethod PackingMethod; - - [Section("Radial")] - public int Sections; - public float PaddingRadians; - public int StartTier = 3; - public float Scale = 1; - public int LinkPoints = 16; - public int LinkDepth = 5; - public float LinkTargetDistance = .75f; - public int RingDepth = 6; - public float ArrowDepth = 3; - public float LayerDistance; - - [Section("Colors")] - public float Saturation = .95f; - public float HueMin = 0; - public float HueMax = 1; - public float Brightness = 1; - public float RingInnerSaturation; - public float RingOuterSaturation; - public float RingInnerBrightness; - public float RingOuterBrightness; - public int RingColorKeys; - public float FillOpacity = .25f; - public float GlowOpacity = .5f; - public Material TechFillMaterial; - public Material TechGlowMaterial; - public Material TechArrowMaterial; - public Material TechLinkMaterial; - - public ItemManager Context; - - private List _ringInstances = new List(); - private List _techInstances = new List(); - private List _linkInstances = new List(); - private List _arrowInstances = new List(); - private Texture2D[] _icons; - - public BlueprintData[] Blueprints { get; set; } - - void Start() - { - if(TestMode) - Initialize(); - } - - public void Initialize() - { - _icons = Resources.LoadAll(IconsPath); - } - - void Update() - { - if(TestMode && Input.GetKeyDown(KeyCode.Space)) - GenerateTechs(); - } - - Node NewNode(object data) => new Node(new Ellipse(1,1,new Point()), data); - - List GetRegion(GeometryGraph graph, Node node, int depth, int maxAncestorDistance) - { - Node ancestor = node; - int actualDepth = 0; - while (actualDepth < depth) - { - var edge = graph.Edges.FirstOrDefault(e => e.Target == ancestor); - if (edge == null) break; - var next = edge.Source; - if (next == null) - break; - ancestor = next; - actualDepth++; - } - - var skipGenerations = actualDepth - maxAncestorDistance; - - var region = new List(); - Node[] children = {ancestor}; - for (int i = 0; i < actualDepth - 1; i++) - { - children = children.SelectMany(n => graph.Edges.Where(e => e.Source == n).Select(e => e.Target)).ToArray(); - if(i >= skipGenerations) - region.AddRange(children); - } - - return region; - } - - public void GenerateTechs() - { - foreach (var instance in _ringInstances) instance.ReturnToPool(); - _ringInstances.Clear(); - - foreach (var instance in _techInstances) instance.ReturnToPool(); - _techInstances.Clear(); - - foreach (var instance in _linkInstances) instance.ReturnToPool(); - _linkInstances.Clear(); - - foreach (var instance in _arrowInstances) instance.ReturnToPool(); - _arrowInstances.Clear(); - - var graph = new GeometryGraph(); - - var settings = new SugiyamaLayoutSettings(); - - if (TestMode) - { - for (int i = 0; i < TechCount; i++) - { - var node = NewNode(i); - graph.Nodes.Add(node); - if(i>SeedTechs) graph.Edges.Add(new Edge(graph.Nodes[Random.Range(max(0,i-RollingWindowSize),i-1)], node)); - } - foreach (var vertex in graph.Nodes.Where(v=>!graph.Edges.Any(e=>e.Source==v||e.Target==v))) - { - graph.Edges.Add(new Edge(vertex, graph.Nodes[Random.Range(0,TechCount-1)])); - } - } - else - { - var nodeMap = new Dictionary(); - foreach (var blueprint in Blueprints) - { - var node = NewNode(blueprint); - nodeMap[blueprint] = node; - graph.Nodes.Add(node); - } - - foreach (var targetBlueprint in Blueprints) - { - foreach (var sourceBlueprint in Blueprints.Where(sb => - targetBlueprint.Dependencies.Any(dep => sb.ID == dep))) - { - var edge = new Edge(nodeMap[sourceBlueprint], nodeMap[targetBlueprint]); - graph.Edges.Add(edge); - var splitName = sourceBlueprint.Name.Split(' '); - if (splitName.Length > 1) - { - var nameStart = string.Join(" ", splitName.Take(splitName.Length - 1)); - if(targetBlueprint.Name.StartsWith(nameStart)) - edge.Weight *= 10; - } - } - } - } - - settings.BrandesThreshold = 9999; - - var islands = graph.GetClusteredConnectedComponents(); - var islandMap = - graph.Nodes.ToDictionary(n => n, n => islands.Find(c => c.Nodes.Any(cn => cn.UserData == n))); - - if (TestMode) - { - foreach (var island in islands) - { - foreach (var node in island.Nodes) - { - var region = GetRegion(island, node, DependencyAncestorDepth, DependencyDepth); - while (Random.value < MultipleDependencyProbability && region.Count > 0) - { - var dependency = region[Random.Range(0,region.Count)]; - graph.Edges.Add(new Edge(dependency.UserData as Node, node.UserData as Node)); - region.Remove(dependency); - } - } - } - } - - var islandsBySize = islands.OrderByDescending(i => i.Nodes.Count); - var largestIsland = islandsBySize.First(); - foreach (var island in islandsBySize.Skip(1)) - settings.VerticalConstraints.SameLayerConstraints.Insert(new Tuple( - largestIsland.Nodes[Random.Range(0,largestIsland.Nodes.Count)].UserData as Node, island.Nodes[Random.Range(0,island.Nodes.Count)].UserData as Node)); - - settings.PackingMethod = PackingMethod; - settings.Transformation = PlaneTransformation.Rotation(PI); - var layout = new LayeredLayout(graph, settings); - layout.Run(); - - var positions = graph.Nodes.ToDictionary(n => n, n => (float2) n.Center); - var islandCenters = islands.ToDictionary(i => i, - i => i.Nodes.Aggregate(float2(0, 0), (total, v) => total + positions[v.UserData as Node]) / i.Nodes.Count); - - Rect bounds = Rect.MinMaxRect( - positions.Values.Min(v=>v.x), - positions.Values.Min(v=>v.y), - positions.Values.Max(v=>v.x), - positions.Values.Max(v=>v.y)); - - var tiers = - Mathf.RoundToInt(graph.Nodes.Max(n => Rect.PointToNormalized(bounds, n.Center).y) / - graph.Nodes.Min(n => - { - var normalized = Rect.PointToNormalized(bounds, n.Center); - return normalized.y > .001f ? normalized.y : 1; - })); - - // var islandsBySize = islands.OrderByDescending(i => i.Nodes.Count); - // var largestIsland = islandsBySize.First(); - // foreach(var island in islandsBySize.Skip(1)) - // settings.AddSameLayerNeighbors(largestIsland.Nodes.RandomElement().UserData as Node, island.Nodes.RandomElement().UserData as Node); - // - // layout = new LayeredLayout(graph, settings); - // layout.Run(); - - positions = graph.Nodes.ToDictionary(n => n, n => (float2) n.Center); - islandCenters = islands.ToDictionary(i => i, - i => i.Nodes.Aggregate(float2(0, 0), (total, v) => total + positions[v.UserData as Node]) / i.Nodes.Count); - - bounds = Rect.MinMaxRect( - positions.Values.Min(v=>v.x), - positions.Values.Min(v=>v.y), - positions.Values.Max(v=>v.x), - positions.Values.Max(v=>v.y)); - - Debug.Log($"Generated {tiers} tiers of techs!"); - - var islandColors = islandCenters.ToDictionary( - i=>i.Key, - i=>Color.HSVToRGB(lerp(HueMin, HueMax, Rect.PointToNormalized(bounds, i.Value).x), Saturation, Brightness)); - - var islandFillMaterials = islandColors.ToDictionary(i => i.Key, i => - { - var mat = new Material(TechFillMaterial); - var col = i.Value; - col.a = FillOpacity; - mat.SetColor("_TintColor", col); - return mat; - }); - - var islandGlowMaterials = islandColors.ToDictionary(i => i.Key, i => - { - var mat = new Material(TechGlowMaterial); - var col = i.Value; - col.a = GlowOpacity; - mat.SetColor("_TintColor", col); - return mat; - }); - - var islandArrowMaterials = islandColors.ToDictionary(i => i.Key, i => - { - var mat = new Material(TechArrowMaterial); - var col = i.Value; - col.a = 1; - mat.SetColor("_TintColor", col); - return mat; - }); - - var islandLinkMaterials = islandColors.ToDictionary(i => i.Key, i => - { - var mat = new Material(TechLinkMaterial); - var col = i.Value; - col.a = 1; - mat.SetColor("_TintColor", col); - return mat; - }); - - if(Radial) - positions = positions.ToDictionary( - kvp => kvp.Key, - kvp => - { - var normalized = Rect.PointToNormalized(bounds, kvp.Value); - var rads = normalized.x * (PI * 2 - PaddingRadians) + PaddingRadians / 2; - return float2(sin(rads), -cos(rads)) * ((normalized.y * tiers + StartTier + .5f) * LayerDistance) * Scale; - }); - else - positions = positions.ToDictionary( - kvp => kvp.Key, - kvp => - { - var normalized = Rect.PointToNormalized(bounds, kvp.Value); - return float2( - normalized.x * LayerDistance * tiers * (bounds.width / bounds.height), - (normalized.y * tiers / 2 + StartTier + .5f) * LayerDistance); - }); - - foreach (var vertex in graph.Nodes.Where(positions.ContainsKey)) - { - var tech = Tech.Instantiate(); - tech.transform.position = (Vector2) positions[vertex]; - tech.Label.text = $"{(TestMode ? ((int) vertex.UserData).ToString() : ((BlueprintData) vertex.UserData).ID.ToString().Substring(0,2))}"; - var gradient = tech.Label.colorGradient; - gradient.bottomLeft = gradient.bottomRight = islandColors[islandMap[vertex]]; - tech.Label.colorGradient = gradient; - tech.Icon.material.SetTexture("_MainTex", _icons[Random.Range(0,_icons.Length-1)]); - tech.Fill.material = islandFillMaterials[islandMap[vertex]]; - tech.Glow.material = islandGlowMaterials[islandMap[vertex]]; - if (!TestMode) - tech.Fill.GetComponent().OnClick += (collider, data) => - { - PropertiesPanel.Clear(); - var blueprint = (BlueprintData) vertex.UserData; - PropertiesPanel.Title.text = blueprint.Name; - PropertiesPanel.AddProperty("Research Time", () => $"{blueprint.ResearchTime:0.##} MH"); - PropertiesPanel.AddProperty("Produces", () => $"{Context.ItemData.Get(blueprint.Item).Name}"); - PropertiesPanel.AddProperty("Production Quality", () => $"{Mathf.RoundToInt(blueprint.Quality * 100)}%"); - PropertiesPanel.AddProperty("Production Time", () => $"{blueprint.ProductionTime:0.##} MH"); - - var ingredientsList = PropertiesPanel.AddList("Ingredients"); - foreach (var ingredient in blueprint.Ingredients) - { - var ingredientData = Context.ItemData.Get(ingredient.Key); - ingredientsList.AddProperty(ingredientData.Name, () => ingredient.Value.ToString()); - } - ingredientsList.SetExpanded(true, true); - - var dependenciesList = PropertiesPanel.AddList("Dependencies"); - foreach (var dependency in blueprint.Dependencies) - { - var dependencyBlueprint = Context.ItemData.Get(dependency); - dependenciesList.AddProperty(dependencyBlueprint.Name); - } - dependenciesList.SetExpanded(true, true); - - var descendantsList = PropertiesPanel.AddList("Descendants"); - foreach (var descendant in Blueprints.Where(bp => bp.Dependencies.Any(dep => blueprint.ID == dep))) - { - descendantsList.AddProperty(descendant.Name); - } - descendantsList.SetExpanded(true, true); - }; - _techInstances.Add(tech.GetComponent()); - } - - foreach (var edge in graph.Edges) - { - var link = RadialLink.Instantiate(); - link.material = islandLinkMaterials[islandMap[edge.Source]]; - link.positionCount = LinkPoints; - var p1r = length(positions[edge.Source]); - var p2r = length(positions[edge.Target]); - var p1a = (atan2(positions[edge.Source].y, positions[edge.Source].x) + PI * 2.5f) % (PI * 2); - var p2a = (atan2(positions[edge.Target].y, positions[edge.Target].x) + PI * 2.5f) % (PI * 2); - var p1 = float2(sin(p1a) * p1r, -cos(p1a) * p1r); - var p2 = float2(sin(p2a) * p2r, -cos(p2a) * p2r); - var dist = length(p2 - p1); - var distProp = (dist - LinkTargetDistance) / dist; - var dir = new float2(); - var lastPos = new float2(); - link.SetPositions(Enumerable.Range(0,LinkPoints).Select(i=> - { - var lerp = (float) i / (LinkPoints-1) * distProp; - var angle = math.lerp(p1a, p2a, (lerp)); - var radius = math.lerp(p1r, p2r, lerp); - var pos = Radial ? float2(sin(angle) * radius, -cos(angle) * radius) : math.lerp(positions[edge.Source], positions[edge.Target], lerp); - dir = normalize(pos - lastPos); - lastPos = pos; - return (Vector3) float3(lastPos, LinkDepth); - }).ToArray()); - _linkInstances.Add(link.GetComponent()); - - var arrow = Arrow.Instantiate(); - arrow.transform.position = new Vector3(lastPos.x, lastPos.y, ArrowDepth); - arrow.transform.rotation = Quaternion.Euler(0,0,atan2(dir.y, dir.x) * Mathf.Rad2Deg); - arrow.Icon.material = islandArrowMaterials[islandMap[edge.Source]]; - _arrowInstances.Add(arrow.GetComponent()); - } - - if (Radial) - { - for (int i = 1; i <= tiers; i++) - { - var ring = Ring.Instantiate(); - var ringPositions = new Vector3[Sections]; - for (int s = 0; s < Sections; s++) - { - var rads = ((float) s / (Sections-1)) * (PI * 2 - PaddingRadians) + PaddingRadians / 2; - ringPositions[s] = new Vector3(sin(rads), -cos(rads), 0) * ((i + StartTier) * (LayerDistance) * Scale); - ringPositions[s].z = RingDepth; - } - - ring.positionCount = Sections; - ring.SetPositions(ringPositions); - var tierLerp = (float) i / (tiers - 1); - ring.colorGradient = new Gradient - { - alphaKeys = new []{new GradientAlphaKey(1,0), new GradientAlphaKey(1,1)}, - colorKeys = Enumerable.Range(0,RingColorKeys).Select(x=> - { - var ringLerp = (float) x / (RingColorKeys - 1); - return new GradientColorKey( - Color.HSVToRGB(HueMin + (HueMax - HueMin) * ringLerp, - lerp(RingInnerSaturation, RingOuterSaturation, tierLerp), - lerp(RingInnerBrightness, RingOuterBrightness, tierLerp)), ringLerp); - }).ToArray() - }; - - _ringInstances.Add(ring.GetComponent()); - } - } - } -} diff --git a/Assets/Scripts/TechTreeMsagl.cs.meta b/Assets/Scripts/TechTreeMsagl.cs.meta deleted file mode 100644 index e1e9fa084..000000000 --- a/Assets/Scripts/TechTreeMsagl.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: d47bb1c8e9ce08e41877db523d91a2f6 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/UI/PropertiesPanel.cs b/Assets/Scripts/UI/PropertiesPanel.cs index eb4298452..83d046ac7 100644 --- a/Assets/Scripts/UI/PropertiesPanel.cs +++ b/Assets/Scripts/UI/PropertiesPanel.cs @@ -379,7 +379,7 @@ public class PropertiesPanel : MonoBehaviour { var tier = entity.ItemManager.GetTier(gear); Title.text = - $"{gear.Name} ({tier.tier.Name}{new string('+', tier.upgrades)})"; + $"{data.Name} ({tier.tier.Name}{new string('+', tier.upgrades)})"; var gearData = Context.GetData(gear); AddProperty("Durability", () => $"{gear.Durability.SignificantDigits(Context.GameplaySettings.SignificantDigits)}/{gearData.Durability.SignificantDigits(Context.GameplaySettings.SignificantDigits)}"); diff --git a/Assets/Wwise/Editor/ProjectData/AkWwiseProjectData.asset b/Assets/Wwise/Editor/ProjectData/AkWwiseProjectData.asset index b52f50de9..513d46007 100644 --- a/Assets/Wwise/Editor/ProjectData/AkWwiseProjectData.asset +++ b/Assets/Wwise/Editor/ProjectData/AkWwiseProjectData.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ce8df10517a839cab7279e216bf7fc43ce71a5a09e8b35c299694cc4edcd3683 -size 13259 +oid sha256:50636706ebeee1d481d793b7f39ecefad3ace95d064d2ed1b93410f51c04403e +size 17630 diff --git a/GameData/AetherDB.msgpack b/GameData/AetherDB.msgpack index a5bde333d..bbc916125 100644 --- a/GameData/AetherDB.msgpack +++ b/GameData/AetherDB.msgpack @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:48cf9f69725dc6b5ae37dcbd3b312590adb7b06f92932a446fa225f8e523ed1a -size 82685 +oid sha256:4bfaaecac4a9ba313e48fcfe71939d8208fb26f5e8fa156e1208d3dbaa5606bb +size 69783 diff --git a/GameData/PlayerSettings.msgpack b/GameData/PlayerSettings.msgpack index 2bec95fc7..c3066274e 100644 --- a/GameData/PlayerSettings.msgpack +++ b/GameData/PlayerSettings.msgpack @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:82a1f89ba5a772944a219c9dbb0ffa5f80ebf64001b0b9277b58dc357b2e2298 -size 49024 +oid sha256:5ec0689c8e2c4a036409e31c7400f1fe0693951f750e3c86f99536365c183708 +size 76785