From 99d5bc6c7c7ef115e4a3e80152399dde713776a3 Mon Sep 17 00:00:00 2001 From: MaZiFAU <63099053+MaZiFAU@users.noreply.github.com> Date: Thu, 11 Jan 2024 20:13:34 +0100 Subject: [PATCH] Added SlingShot for RiverScroll --- Assets/Scenes/Worlds/RiverWorld.unity | 411 +++++++++++++++++- .../FactHandling/Facts/Fact.cs | 13 +- .../Scripts/InventoryStuff/ScrollDetails.cs | 7 + Assets/StreamingAssets/scrolls.json | 46 ++ Assets/Terrain/New Terrain 1.asset | Bin 1983508 -> 1958528 bytes 5 files changed, 468 insertions(+), 9 deletions(-) diff --git a/Assets/Scenes/Worlds/RiverWorld.unity b/Assets/Scenes/Worlds/RiverWorld.unity index db57f12c..bd8bb3eb 100644 --- a/Assets/Scenes/Worlds/RiverWorld.unity +++ b/Assets/Scenes/Worlds/RiverWorld.unity @@ -2199,6 +2199,7 @@ Transform: - {fileID: 1022641573} - {fileID: 1738359117} - {fileID: 224606876} + - {fileID: 1772126845} - {fileID: 1961703113} - {fileID: 1403024657} - {fileID: 778909919} @@ -3870,7 +3871,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh272762 + m_Name: pb_Mesh30446 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -8407,7 +8408,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 117995034} - m_RootOrder: 7 + m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!64 &387397069 MeshCollider: @@ -14851,6 +14852,120 @@ Transform: type: 3} m_PrefabInstance: {fileID: 609533837} m_PrefabAsset: {fileID: 0} +--- !u!1 &609957610 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 609957611} + - component: {fileID: 609957615} + - component: {fileID: 609957614} + - component: {fileID: 609957613} + - component: {fileID: 609957612} + m_Layer: 20 + m_Name: TopSnapZone (1) + m_TagString: SnapZone + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &609957611 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 609957610} + m_LocalRotation: {x: 0.84378076, y: -0.03475872, z: 0.53532517, w: 0.015902298} + m_LocalPosition: {x: -0.384, y: -0.861, z: 0.151} + m_LocalScale: {x: 0.27480695, y: 0.42518657, z: 0.30265692} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1489740373} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &609957612 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 609957610} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 03387d215a8db5c47985ef548da953d8, type: 3} + m_Name: + m_EditorClassIdentifier: + ColliderRadius: 0 + Collidersize_ID: 1 + use_ColliderRadius: 0 + myCollider: {fileID: 609957615} +--- !u!23 &609957613 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 609957610} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: e3750cc498409144f8fd06ac559355b8, 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: 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_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &609957614 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 609957610} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!135 &609957615 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 609957610} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} --- !u!1001 &610861512 PrefabInstance: m_ObjectHideFlags: 0 @@ -17865,7 +17980,7 @@ Transform: - {fileID: 804378692} - {fileID: 2141872373} m_Father: {fileID: 117995034} - m_RootOrder: 5 + m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &778909920 MonoBehaviour: @@ -24457,6 +24572,86 @@ Transform: type: 3} m_PrefabInstance: {fileID: 1089288796} m_PrefabAsset: {fileID: 0} +--- !u!1001 &1092756307 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1772126845} + m_Modifications: + - target: {fileID: 1493958779012120596, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_Name + value: Branch_01 (1) + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_LocalScale.x + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_LocalPosition.x + value: 11.724 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_LocalPosition.y + value: 7.978 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_LocalPosition.z + value: 39.854 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_LocalRotation.w + value: -0.483636 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_LocalRotation.x + value: 0.71233815 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_LocalRotation.y + value: 0.38189718 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_LocalRotation.z + value: -0.33589453 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -25.624 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 250.124 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 105.47 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: b9de24523a11d714db3851b5f0f9d527, type: 3} +--- !u!4 &1092756308 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + m_PrefabInstance: {fileID: 1092756307} + m_PrefabAsset: {fileID: 0} --- !u!1001 &1093963207 PrefabInstance: m_ObjectHideFlags: 0 @@ -29968,7 +30163,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 117995034} - m_RootOrder: 4 + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!136 &1403024658 CapsuleCollider: @@ -31814,6 +32009,96 @@ Transform: type: 3} m_PrefabInstance: {fileID: 1488704536} m_PrefabAsset: {fileID: 0} +--- !u!1001 &1489740372 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1772126845} + m_Modifications: + - target: {fileID: 7405846476849542632, guid: c6308cb7062fac34e8e50600086b12a1, + type: 3} + propertyPath: m_Name + value: Sling Rock + objectReference: {fileID: 0} + - target: {fileID: 7405846476849834440, guid: c6308cb7062fac34e8e50600086b12a1, + type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7405846476849834440, guid: c6308cb7062fac34e8e50600086b12a1, + type: 3} + propertyPath: m_LocalScale.x + value: 2.4094193 + objectReference: {fileID: 0} + - target: {fileID: 7405846476849834440, guid: c6308cb7062fac34e8e50600086b12a1, + type: 3} + propertyPath: m_LocalScale.y + value: 1.7600998 + objectReference: {fileID: 0} + - target: {fileID: 7405846476849834440, guid: c6308cb7062fac34e8e50600086b12a1, + type: 3} + propertyPath: m_LocalScale.z + value: 2.8016531 + objectReference: {fileID: 0} + - target: {fileID: 7405846476849834440, guid: c6308cb7062fac34e8e50600086b12a1, + type: 3} + propertyPath: m_LocalPosition.x + value: 11.41 + objectReference: {fileID: 0} + - target: {fileID: 7405846476849834440, guid: c6308cb7062fac34e8e50600086b12a1, + type: 3} + propertyPath: m_LocalPosition.y + value: 7.2722 + objectReference: {fileID: 0} + - target: {fileID: 7405846476849834440, guid: c6308cb7062fac34e8e50600086b12a1, + type: 3} + propertyPath: m_LocalPosition.z + value: 40.59 + objectReference: {fileID: 0} + - target: {fileID: 7405846476849834440, guid: c6308cb7062fac34e8e50600086b12a1, + type: 3} + propertyPath: m_LocalRotation.w + value: 0.015902298 + objectReference: {fileID: 0} + - target: {fileID: 7405846476849834440, guid: c6308cb7062fac34e8e50600086b12a1, + type: 3} + propertyPath: m_LocalRotation.x + value: -0.84378076 + objectReference: {fileID: 0} + - target: {fileID: 7405846476849834440, guid: c6308cb7062fac34e8e50600086b12a1, + type: 3} + propertyPath: m_LocalRotation.y + value: 0.03475872 + objectReference: {fileID: 0} + - target: {fileID: 7405846476849834440, guid: c6308cb7062fac34e8e50600086b12a1, + type: 3} + propertyPath: m_LocalRotation.z + value: -0.53532517 + objectReference: {fileID: 0} + - target: {fileID: 7405846476849834440, guid: c6308cb7062fac34e8e50600086b12a1, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0.595 + objectReference: {fileID: 0} + - target: {fileID: 7405846476849834440, guid: c6308cb7062fac34e8e50600086b12a1, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 115.237 + objectReference: {fileID: 0} + - target: {fileID: 7405846476849834440, guid: c6308cb7062fac34e8e50600086b12a1, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -175.659 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c6308cb7062fac34e8e50600086b12a1, type: 3} +--- !u!4 &1489740373 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7405846476849834440, guid: c6308cb7062fac34e8e50600086b12a1, + type: 3} + m_PrefabInstance: {fileID: 1489740372} + m_PrefabAsset: {fileID: 0} --- !u!1001 &1494877857 PrefabInstance: m_ObjectHideFlags: 0 @@ -33674,6 +33959,86 @@ Transform: type: 3} m_PrefabInstance: {fileID: 1594468538} m_PrefabAsset: {fileID: 0} +--- !u!1001 &1606466864 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1772126845} + m_Modifications: + - target: {fileID: 1493958779012120596, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_Name + value: Branch_01 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_LocalScale.x + value: 2.2 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_LocalPosition.x + value: 11.211 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_LocalPosition.y + value: 7.990138 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_LocalPosition.z + value: 39.65 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_LocalRotation.w + value: -0.12834564 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_LocalRotation.x + value: 0.52889407 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_LocalRotation.y + value: 0.7336173 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_LocalRotation.z + value: -0.40694487 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 27.472 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 224.22 + objectReference: {fileID: 0} + - target: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 82.921 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: b9de24523a11d714db3851b5f0f9d527, type: 3} +--- !u!4 &1606466865 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 1493958779012619316, guid: b9de24523a11d714db3851b5f0f9d527, + type: 3} + m_PrefabInstance: {fileID: 1606466864} + m_PrefabAsset: {fileID: 0} --- !u!1001 &1606843714 PrefabInstance: m_ObjectHideFlags: 0 @@ -36651,6 +37016,40 @@ Transform: type: 3} m_PrefabInstance: {fileID: 1770423821} m_PrefabAsset: {fileID: 0} +--- !u!1 &1772126844 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1772126845} + m_Layer: 0 + m_Name: SlingShot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1772126845 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1772126844} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1606466865} + - {fileID: 1489740373} + - {fileID: 1092756308} + m_Father: {fileID: 117995034} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &1772391926 PrefabInstance: m_ObjectHideFlags: 0 @@ -38536,7 +38935,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 117995034} - m_RootOrder: 6 + m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 65.647, y: 6.9600005, z: -8.707001} --- !u!108 &1840687080 Light: @@ -55348,7 +55747,7 @@ Transform: - {fileID: 1932528655} - {fileID: 98795657} m_Father: {fileID: 117995034} - m_RootOrder: 3 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1961703114 MonoBehaviour: diff --git a/Assets/Scripts/InteractionEngine/FactHandling/Facts/Fact.cs b/Assets/Scripts/InteractionEngine/FactHandling/Facts/Fact.cs index 6799e7c7..64fa2c06 100644 --- a/Assets/Scripts/InteractionEngine/FactHandling/Facts/Fact.cs +++ b/Assets/Scripts/InteractionEngine/FactHandling/Facts/Fact.cs @@ -632,9 +632,16 @@ public static List<Fact> MMTFactory(MMTFact ingredient) List<Fact> ret = new(); // First try static approach - ParsingDictionary.parseFactDictionary[ingredient.getType()] - .Invoke(ret, ingredient) - .FastForward(); + try + { + ParsingDictionary.parseFactDictionary[ingredient.getType()] + .Invoke(ret, ingredient) + .FastForward(); + } + catch + { + Debug.Log($"Could not statically parse {nameof(MMTFact)} {nameof(ingredient)}. Using dynamic Fallback..."); + } if (ret.Count != 0) return ret; diff --git a/Assets/Scripts/InventoryStuff/ScrollDetails.cs b/Assets/Scripts/InventoryStuff/ScrollDetails.cs index c9656d80..09de155b 100644 --- a/Assets/Scripts/InventoryStuff/ScrollDetails.cs +++ b/Assets/Scripts/InventoryStuff/ScrollDetails.cs @@ -456,6 +456,13 @@ void _processRenderedScroll(Scroll rendered, List<string> hintUris) RenderedScrollFact RenderedScrollFact = ParameterDisplays .Find(RSF => RSF.ScrollFactURI == rendered.requiredFacts[i].@ref.uri); + if (RenderedScrollFact == null) + { + Debug.Log($"Descrapancy between requiredFacts and displayed facts:" + + $"Could not find display with ref: {rendered.requiredFacts[i].@ref.uri}"); + continue; + } + if (DynamicScrollDescriptionsActive) //Update ScrollParameter label RenderedScrollFact.Scroll = rendered; diff --git a/Assets/StreamingAssets/scrolls.json b/Assets/StreamingAssets/scrolls.json index 8ee1e6e6..bc84faf6 100644 --- a/Assets/StreamingAssets/scrolls.json +++ b/Assets/StreamingAssets/scrolls.json @@ -22454,6 +22454,52 @@ ], "acquiredFacts": [] }, + + { + "ref": "http://mathhub.info/FrameIT/frameworld?RiverScroll", + "label": "RiverScroll", + "description": "River.", + "requiredFacts": [ + { + "ref": { + "uri": "http://mathhub.info/FrameIT/frameworld?RiverScroll/Problem?A" + }, + "kind": "general" + }, + { + "ref": { + "uri": "http://mathhub.info/FrameIT/frameworld?RiverScroll/Problem?B" + }, + "kind": "general" + }, + { + "ref": { + "uri": "http://mathhub.info/FrameIT/frameworld?RiverScroll/Problem?C" + }, + "kind": "general" + }, + { + "ref": { + "uri": "http://mathhub.info/FrameIT/frameworld?RiverScroll/Problem?D" + }, + "kind": "general" + }, + { + "ref": { + "uri": "http://mathhub.info/FrameIT/frameworld?RiverScroll/Problem?G" + }, + "kind": "general" + }, + { + "ref": { + "uri": "http://mathhub.info/FrameIT/frameworld?RiverScroll/Problem?angleA" + }, + "kind": "general" + } + ], + "acquiredFacts": [] + }, + { "ref": "http://mathhub.info/FrameIT/frameworld?CircleLineAngleScroll", "label": "CircleLineAngleScroll", diff --git a/Assets/Terrain/New Terrain 1.asset b/Assets/Terrain/New Terrain 1.asset index 11f70c50795995cf355f709531e2a47052ded9da..21038801806d4a9e2c0fd08c25eaabae319585c6 100644 GIT binary patch delta 7488 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 delta 39639 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 Lh`BI;X$A%WY}<e{ -- GitLab