Compare commits
2 Commits
d8e724e40a
...
03083eb735
| Author | SHA1 | Date | |
|---|---|---|---|
| 03083eb735 | |||
| bbf418e779 |
+1
-760
@@ -2200,96 +2200,6 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 1058388337777710864, guid: 4b5b62e8ff478c144863c2750ad3fb24, type: 3}
|
m_CorrespondingSourceObject: {fileID: 1058388337777710864, guid: 4b5b62e8ff478c144863c2750ad3fb24, type: 3}
|
||||||
m_PrefabInstance: {fileID: 44753596}
|
m_PrefabInstance: {fileID: 44753596}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1 &44814211
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 44814212}
|
|
||||||
- component: {fileID: 44814214}
|
|
||||||
- component: {fileID: 44814213}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: CoverRock_S0_2
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &44814212
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 44814211}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: 0.34202015, z: -0, w: 0.9396927}
|
|
||||||
m_LocalPosition: {x: 995, y: 0, z: -9}
|
|
||||||
m_LocalScale: {x: 1.2801043, y: 1.2801043, z: 1.2801043}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 1851179016}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!23 &44814213
|
|
||||||
MeshRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 44814211}
|
|
||||||
m_Enabled: 1
|
|
||||||
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_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2100000, guid: 9ad3d533612e9404fa35e1d900ab70a9, 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_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_AdditionalVertexStreams: {fileID: 0}
|
|
||||||
--- !u!33 &44814214
|
|
||||||
MeshFilter:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 44814211}
|
|
||||||
m_Mesh: {fileID: -2709579467351344360, guid: d68b1794e4e664d45925e6fe3eedfae2, type: 3}
|
|
||||||
--- !u!1001 &45326438
|
--- !u!1001 &45326438
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -3474,6 +3384,7 @@ MonoBehaviour:
|
|||||||
Enabled: 1
|
Enabled: 1
|
||||||
MaxProjectileLights: 24
|
MaxProjectileLights: 24
|
||||||
ProjectileColor: {r: 0.45, g: 0.85, b: 1, a: 1}
|
ProjectileColor: {r: 0.45, g: 0.85, b: 1, a: 1}
|
||||||
|
EnemyProjectileColor: {r: 0.55, g: 1, b: 0.35, a: 1}
|
||||||
ProjectileIntensity: 2.6
|
ProjectileIntensity: 2.6
|
||||||
ProjectileRange: 7
|
ProjectileRange: 7
|
||||||
PortalColor: {r: 0.55, g: 0.95, b: 1, a: 1}
|
PortalColor: {r: 0.55, g: 0.95, b: 1, a: 1}
|
||||||
@@ -30237,96 +30148,6 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 8315364206485325802, guid: 6bf6dfab11a30084c9736d3b991fdaf6, type: 3}
|
m_CorrespondingSourceObject: {fileID: 8315364206485325802, guid: 6bf6dfab11a30084c9736d3b991fdaf6, type: 3}
|
||||||
m_PrefabInstance: {fileID: 751562110}
|
m_PrefabInstance: {fileID: 751562110}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1 &752380414
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 752380415}
|
|
||||||
- component: {fileID: 752380417}
|
|
||||||
- component: {fileID: 752380416}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: CoverRock_S1_2
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &752380415
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 752380414}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: 0.34202015, z: -0, w: 0.9396927}
|
|
||||||
m_LocalPosition: {x: 1495, y: 0, z: -9}
|
|
||||||
m_LocalScale: {x: 1.2801043, y: 1.2801043, z: 1.2801043}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 1851179016}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!23 &752380416
|
|
||||||
MeshRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 752380414}
|
|
||||||
m_Enabled: 1
|
|
||||||
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_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2100000, guid: 9ad3d533612e9404fa35e1d900ab70a9, 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_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_AdditionalVertexStreams: {fileID: 0}
|
|
||||||
--- !u!33 &752380417
|
|
||||||
MeshFilter:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 752380414}
|
|
||||||
m_Mesh: {fileID: -2709579467351344360, guid: d68b1794e4e664d45925e6fe3eedfae2, type: 3}
|
|
||||||
--- !u!1001 &752493985
|
--- !u!1001 &752493985
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -31867,96 +31688,6 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 74766642427550001, guid: ab41e12e3193e5241a054da74ad6cee7, type: 3}
|
m_CorrespondingSourceObject: {fileID: 74766642427550001, guid: ab41e12e3193e5241a054da74ad6cee7, type: 3}
|
||||||
m_PrefabInstance: {fileID: 801385345}
|
m_PrefabInstance: {fileID: 801385345}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1 &801747704
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 801747705}
|
|
||||||
- component: {fileID: 801747707}
|
|
||||||
- component: {fileID: 801747706}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: CoverRock_S0_0
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &801747705
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 801747704}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: 0.1305262, z: -0, w: 0.9914449}
|
|
||||||
m_LocalPosition: {x: 993, y: 0, z: 6}
|
|
||||||
m_LocalScale: {x: 1.6780516, y: 1.6780518, z: 1.6780516}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 1851179016}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!23 &801747706
|
|
||||||
MeshRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 801747704}
|
|
||||||
m_Enabled: 1
|
|
||||||
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_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2100000, guid: 9ad3d533612e9404fa35e1d900ab70a9, 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_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_AdditionalVertexStreams: {fileID: 0}
|
|
||||||
--- !u!33 &801747707
|
|
||||||
MeshFilter:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 801747704}
|
|
||||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
|
||||||
--- !u!1001 &804084884
|
--- !u!1001 &804084884
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -36458,96 +36189,6 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 8227573149044680746, guid: b33befb41106070409d86b725f2476e2, type: 3}
|
m_CorrespondingSourceObject: {fileID: 8227573149044680746, guid: b33befb41106070409d86b725f2476e2, type: 3}
|
||||||
m_PrefabInstance: {fileID: 912324564}
|
m_PrefabInstance: {fileID: 912324564}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1 &913094309
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 913094310}
|
|
||||||
- component: {fileID: 913094312}
|
|
||||||
- component: {fileID: 913094311}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: CoverRock_S1_1
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &913094310
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 913094309}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: 0.57357645, z: -0, w: 0.81915206}
|
|
||||||
m_LocalPosition: {x: 1508, y: 0, z: 5}
|
|
||||||
m_LocalScale: {x: 1.6780516, y: 1.6780518, z: 1.6780516}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 1851179016}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!23 &913094311
|
|
||||||
MeshRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 913094309}
|
|
||||||
m_Enabled: 1
|
|
||||||
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_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2100000, guid: 9ad3d533612e9404fa35e1d900ab70a9, 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_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_AdditionalVertexStreams: {fileID: 0}
|
|
||||||
--- !u!33 &913094312
|
|
||||||
MeshFilter:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 913094309}
|
|
||||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
|
||||||
--- !u!1001 &913121664
|
--- !u!1001 &913121664
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -48598,96 +48239,6 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 591573043354113928, guid: bafd1387c024a3a459afa35dd24cec25, type: 3}
|
m_CorrespondingSourceObject: {fileID: 591573043354113928, guid: bafd1387c024a3a459afa35dd24cec25, type: 3}
|
||||||
m_PrefabInstance: {fileID: 1241775351}
|
m_PrefabInstance: {fileID: 1241775351}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1 &1247362408
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 1247362409}
|
|
||||||
- component: {fileID: 1247362411}
|
|
||||||
- component: {fileID: 1247362410}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: CoverRock_S1_3
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &1247362409
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1247362408}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: 0.86602545, z: -0, w: 0.49999997}
|
|
||||||
m_LocalPosition: {x: 1509, y: 0, z: -7}
|
|
||||||
m_LocalScale: {x: 1.8546886, y: 1.8546889, z: 1.8546886}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 1851179016}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!23 &1247362410
|
|
||||||
MeshRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1247362408}
|
|
||||||
m_Enabled: 1
|
|
||||||
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_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2100000, guid: 9ad3d533612e9404fa35e1d900ab70a9, 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_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_AdditionalVertexStreams: {fileID: 0}
|
|
||||||
--- !u!33 &1247362411
|
|
||||||
MeshFilter:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1247362408}
|
|
||||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
|
||||||
--- !u!1001 &1247686665
|
--- !u!1001 &1247686665
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -53015,96 +52566,6 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 6875251685013686615, guid: 3e44b897679ea1e458c6a0a8c84ef8ac, type: 3}
|
m_CorrespondingSourceObject: {fileID: 6875251685013686615, guid: 3e44b897679ea1e458c6a0a8c84ef8ac, type: 3}
|
||||||
m_PrefabInstance: {fileID: 1357398796}
|
m_PrefabInstance: {fileID: 1357398796}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1 &1361156333
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 1361156334}
|
|
||||||
- component: {fileID: 1361156336}
|
|
||||||
- component: {fileID: 1361156335}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: CoverRock_S0_1
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &1361156334
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1361156333}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: 0.57357645, z: -0, w: 0.81915206}
|
|
||||||
m_LocalPosition: {x: 1008, y: 0, z: 5}
|
|
||||||
m_LocalScale: {x: 1.6780516, y: 1.6780518, z: 1.6780516}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 1851179016}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!23 &1361156335
|
|
||||||
MeshRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1361156333}
|
|
||||||
m_Enabled: 1
|
|
||||||
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_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2100000, guid: 9ad3d533612e9404fa35e1d900ab70a9, 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_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_AdditionalVertexStreams: {fileID: 0}
|
|
||||||
--- !u!33 &1361156336
|
|
||||||
MeshFilter:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1361156333}
|
|
||||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
|
||||||
--- !u!1 &1370587944
|
--- !u!1 &1370587944
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -68965,96 +68426,6 @@ Transform:
|
|||||||
- {fileID: 807647776}
|
- {fileID: 807647776}
|
||||||
m_Father: {fileID: 423312854}
|
m_Father: {fileID: 423312854}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &1834212430
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 1834212431}
|
|
||||||
- component: {fileID: 1834212433}
|
|
||||||
- component: {fileID: 1834212432}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: CoverRock_S0_3
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &1834212431
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1834212430}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: 0.86602545, z: -0, w: 0.49999997}
|
|
||||||
m_LocalPosition: {x: 1009, y: 0, z: -7}
|
|
||||||
m_LocalScale: {x: 1.8546886, y: 1.8546889, z: 1.8546886}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 1851179016}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!23 &1834212432
|
|
||||||
MeshRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1834212430}
|
|
||||||
m_Enabled: 1
|
|
||||||
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_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2100000, guid: 9ad3d533612e9404fa35e1d900ab70a9, 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_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_AdditionalVertexStreams: {fileID: 0}
|
|
||||||
--- !u!33 &1834212433
|
|
||||||
MeshFilter:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1834212430}
|
|
||||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
|
||||||
--- !u!1001 &1840780466
|
--- !u!1001 &1840780466
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -69583,45 +68954,6 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 5731770526695229474, guid: b580bce9b46b41e49aa07bbf1145e610, type: 3}
|
m_CorrespondingSourceObject: {fileID: 5731770526695229474, guid: b580bce9b46b41e49aa07bbf1145e610, type: 3}
|
||||||
m_PrefabInstance: {fileID: 1850925310}
|
m_PrefabInstance: {fileID: 1850925310}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1 &1851179015
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 1851179016}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: RoomCover_Visuals
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &1851179016
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1851179015}
|
|
||||||
serializedVersion: 2
|
|
||||||
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: 801747705}
|
|
||||||
- {fileID: 1361156334}
|
|
||||||
- {fileID: 44814212}
|
|
||||||
- {fileID: 1834212431}
|
|
||||||
- {fileID: 1851924120}
|
|
||||||
- {fileID: 913094310}
|
|
||||||
- {fileID: 752380415}
|
|
||||||
- {fileID: 1247362409}
|
|
||||||
m_Father: {fileID: 0}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!1 &1851908148
|
--- !u!1 &1851908148
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -69712,96 +69044,6 @@ MeshFilter:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1851908148}
|
m_GameObject: {fileID: 1851908148}
|
||||||
m_Mesh: {fileID: 6900561688886725036, guid: d02afc6bc2148dd4a9e7d81b46df4b06, type: 3}
|
m_Mesh: {fileID: 6900561688886725036, guid: d02afc6bc2148dd4a9e7d81b46df4b06, type: 3}
|
||||||
--- !u!1 &1851924119
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 1851924120}
|
|
||||||
- component: {fileID: 1851924122}
|
|
||||||
- component: {fileID: 1851924121}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: CoverRock_S1_0
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &1851924120
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1851924119}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: 0.1305262, z: -0, w: 0.9914449}
|
|
||||||
m_LocalPosition: {x: 1493, y: 0, z: 6}
|
|
||||||
m_LocalScale: {x: 1.6780516, y: 1.6780518, z: 1.6780516}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 1851179016}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!23 &1851924121
|
|
||||||
MeshRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1851924119}
|
|
||||||
m_Enabled: 1
|
|
||||||
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_RayTracingAccelStructBuildFlagsOverride: 0
|
|
||||||
m_RayTracingAccelStructBuildFlags: 1
|
|
||||||
m_SmallMeshCulling: 1
|
|
||||||
m_ForceMeshLod: -1
|
|
||||||
m_MeshLodSelectionBias: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 2100000, guid: 9ad3d533612e9404fa35e1d900ab70a9, 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_GlobalIlluminationMeshLod: 0
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_MaskInteraction: 0
|
|
||||||
m_AdditionalVertexStreams: {fileID: 0}
|
|
||||||
--- !u!33 &1851924122
|
|
||||||
MeshFilter:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1851924119}
|
|
||||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
|
||||||
--- !u!1001 &1857983222
|
--- !u!1001 &1857983222
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -81382,7 +80624,6 @@ SceneRoots:
|
|||||||
- {fileID: 1913270911}
|
- {fileID: 1913270911}
|
||||||
- {fileID: 433101879}
|
- {fileID: 433101879}
|
||||||
- {fileID: 1709609454}
|
- {fileID: 1709609454}
|
||||||
- {fileID: 1851179016}
|
|
||||||
- {fileID: 70737666}
|
- {fileID: 70737666}
|
||||||
- {fileID: 1276835916}
|
- {fileID: 1276835916}
|
||||||
- {fileID: 1007206783}
|
- {fileID: 1007206783}
|
||||||
|
|||||||
@@ -0,0 +1,203 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &1085570720822716955
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 7703565366570969279}
|
||||||
|
- component: {fileID: 3470614019461566012}
|
||||||
|
- component: {fileID: 2902084588362297385}
|
||||||
|
m_Layer: 8
|
||||||
|
m_Name: Model
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &7703565366570969279
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1085570720822716955}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: -1, z: 0}
|
||||||
|
m_LocalScale: {x: 1.7, y: 1.7, z: 1.7}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 3572766465862231365}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!33 &3470614019461566012
|
||||||
|
MeshFilter:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1085570720822716955}
|
||||||
|
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
||||||
|
--- !u!23 &2902084588362297385
|
||||||
|
MeshRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1085570720822716955}
|
||||||
|
m_Enabled: 1
|
||||||
|
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_RayTracingAccelStructBuildFlagsOverride: 0
|
||||||
|
m_RayTracingAccelStructBuildFlags: 1
|
||||||
|
m_SmallMeshCulling: 1
|
||||||
|
m_ForceMeshLod: -1
|
||||||
|
m_MeshLodSelectionBias: 0
|
||||||
|
m_RenderingLayerMask: 1
|
||||||
|
m_RendererPriority: 0
|
||||||
|
m_Materials:
|
||||||
|
- {fileID: 2100000, guid: 71e41e43b459a244abaf5acca76b89ee, 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_GlobalIlluminationMeshLod: 0
|
||||||
|
m_SortingLayerID: 0
|
||||||
|
m_SortingLayer: 0
|
||||||
|
m_SortingOrder: 0
|
||||||
|
m_MaskInteraction: 0
|
||||||
|
m_AdditionalVertexStreams: {fileID: 0}
|
||||||
|
--- !u!1 &3885353946372160549
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 3572766465862231365}
|
||||||
|
- component: {fileID: 9053853372340598254}
|
||||||
|
- component: {fileID: 6834786618115927220}
|
||||||
|
- component: {fileID: 1664972900393443061}
|
||||||
|
- component: {fileID: 4959636876878325759}
|
||||||
|
m_Layer: 8
|
||||||
|
m_Name: CoverRock
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &3572766465862231365
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3885353946372160549}
|
||||||
|
serializedVersion: 2
|
||||||
|
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: 7703565366570969279}
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &9053853372340598254
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3885353946372160549}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c16549610bfe4458aa9389201d072bb6, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Unity.Entities.Hybrid::Unity.Entities.Hybrid.Baking.LinkedEntityGroupAuthoring
|
||||||
|
--- !u!114 &6834786618115927220
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3885353946372160549}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 7c79d771cedb4794bf100ce60df5f764, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Unity.NetCode.Authoring.Hybrid::Unity.NetCode.GhostAuthoringComponent
|
||||||
|
HasOwner: 0
|
||||||
|
SupportAutoCommandTarget: 1
|
||||||
|
TrackInterpolationDelay: 0
|
||||||
|
GhostGroup: 0
|
||||||
|
UsePreSerialization: 0
|
||||||
|
UseSingleBaseline: 0
|
||||||
|
RollbackPredictedSpawnedGhostState: 0
|
||||||
|
RollbackPredictionOnStructuralChanges: 1
|
||||||
|
DefaultGhostMode: 0
|
||||||
|
SupportedGhostModes: 3
|
||||||
|
OptimizationMode: 0
|
||||||
|
Importance: 1
|
||||||
|
MaxSendRate: 0
|
||||||
|
prefabId: 8565e5eb00679fb45b8b7dac1e2ae9f3
|
||||||
|
--- !u!114 &1664972900393443061
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3885353946372160549}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 6b1aa9b83194a2c41b940dd9532377f4, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: ProjectM.Authoring::ProjectM.Authoring.BlightClutterAuthoring
|
||||||
|
Remaining: 8
|
||||||
|
ScrapPerHit: 0
|
||||||
|
HitRadius: 1.2
|
||||||
|
Variant: 4
|
||||||
|
--- !u!65 &4959636876878325759
|
||||||
|
BoxCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3885353946372160549}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_LayerOverridePriority: 0
|
||||||
|
m_IsTrigger: 0
|
||||||
|
m_ProvidesContacts: 0
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 3
|
||||||
|
m_Size: {x: 2.6, y: 2.6, z: 2.4}
|
||||||
|
m_Center: {x: 0, y: 0.1, z: 0}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 25159665cc5735b44bf91ab9c8f90b76
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -16,8 +16,8 @@ namespace ProjectM.Authoring
|
|||||||
[Tooltip("Hit-points before the clutter shatters.")]
|
[Tooltip("Hit-points before the clutter shatters.")]
|
||||||
[Min(1)] public int Remaining = 2; // one-hit pop: both hit paths decrement by max(1,(int)ScrapPerHit)
|
[Min(1)] public int Remaining = 2; // one-hit pop: both hit paths decrement by max(1,(int)ScrapPerHit)
|
||||||
|
|
||||||
[Tooltip("Scrap (Biomass) yielded per projectile hit — the 'minor scrap' trickle.")]
|
[Tooltip("Scrap (Biomass) yielded per hit. 0 = DESTRUCTIBLE COVER semantics: breaks in Remaining hits, yields nothing (deposit is decoupled from the decrement at both hit sites).")]
|
||||||
[Min(1f)] public float ScrapPerHit = 2f;
|
[Min(0f)] public float ScrapPerHit = 2f;
|
||||||
|
|
||||||
[Tooltip("Hit radius (world units) for the clear sweep.")]
|
[Tooltip("Hit radius (world units) for the clear sweep.")]
|
||||||
[Min(0f)] public float HitRadius = 1.0f;
|
[Min(0f)] public float HitRadius = 1.0f;
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
using ProjectM.Simulation;
|
||||||
|
using Unity.Entities;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace ProjectM.Authoring
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Authoring for the baked <see cref="CoverFieldSpawner"/> singleton (mirrors ClutterFieldSpawnerAuthoring).
|
||||||
|
/// Place once in the gameplay subscene and assign the CoverRock ghost prefab; RoomFieldSystem scatters
|
||||||
|
/// destructible cover per room (never in Boss rooms) with an origin keep-out. Carries no transform.
|
||||||
|
/// </summary>
|
||||||
|
public class CoverFieldSpawnerAuthoring : MonoBehaviour
|
||||||
|
{
|
||||||
|
[Tooltip("CoverRock ghost prefab: BlightClutterAuthoring (ScrapPerHit=0, Variant=4) + an Environment-layer collider + a GhostAuthoringComponent (ownerless, interpolated).")]
|
||||||
|
public GameObject CoverPrefab;
|
||||||
|
|
||||||
|
[Tooltip("Cover rocks per room (Boss rooms get none).")]
|
||||||
|
[Min(0)] public int Count = 3;
|
||||||
|
|
||||||
|
private class CoverFieldSpawnerBaker : Baker<CoverFieldSpawnerAuthoring>
|
||||||
|
{
|
||||||
|
public override void Bake(CoverFieldSpawnerAuthoring authoring)
|
||||||
|
{
|
||||||
|
var entity = GetEntity(authoring, TransformUsageFlags.None);
|
||||||
|
AddComponent(entity, new CoverFieldSpawner
|
||||||
|
{
|
||||||
|
Prefab = authoring.CoverPrefab != null
|
||||||
|
? GetEntity(authoring.CoverPrefab, TransformUsageFlags.Dynamic)
|
||||||
|
: Entity.Null,
|
||||||
|
Count = authoring.Count,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0a9b08ef91676fa4185406d9dec18c5e
|
||||||
@@ -630,8 +630,24 @@ namespace ProjectM.Server
|
|||||||
nav.ValueRW.LastPos = npos;
|
nav.ValueRW.LastPos = npos;
|
||||||
if (st >= StuckUnstickTicks)
|
if (st >= StuckUnstickTicks)
|
||||||
{
|
{
|
||||||
nav.ValueRW.NudgeUntilTick = TickUtil.NonZero(now + NudgeBurstTicks);
|
// COVER-AWARE (destructible-cover review wf_e14dd739-069 HIGH): if what blocks this enemy
|
||||||
st = 0u;
|
// is a LIVE cover GHOST (BlightClutter carrier), do NOT phase-nudge — cover must genuinely
|
||||||
|
// hold until the player breaks it. No soft-lock is possible: the blocker is destructible,
|
||||||
|
// and the counter stays primed so any OTHER wedge (static geometry) still nudges next check.
|
||||||
|
bool blockedByCover = false;
|
||||||
|
if (havePhysics)
|
||||||
|
{
|
||||||
|
float3 toTgt = nTarget - npos; toTgt.y = 0f;
|
||||||
|
float tl = math.length(toTgt);
|
||||||
|
if (tl > 1e-4f && physics.CollisionWorld.SphereCast(
|
||||||
|
npos, 0.35f, toTgt / tl, math.min(1.8f, tl), out var coverHit, envFilter))
|
||||||
|
blockedByCover = SystemAPI.HasComponent<BlightClutter>(coverHit.Entity);
|
||||||
|
}
|
||||||
|
if (!blockedByCover)
|
||||||
|
{
|
||||||
|
nav.ValueRW.NudgeUntilTick = TickUtil.NonZero(now + NudgeBurstTicks);
|
||||||
|
st = 0u;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
nav.ValueRW.StuckTicks = st;
|
nav.ValueRW.StuckTicks = st;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -153,6 +153,11 @@ namespace ProjectM.Server
|
|||||||
// A positive baked yield must always make progress: a raw (int) truncation of a sub-1.0 per-hit
|
// A positive baked yield must always make progress: a raw (int) truncation of a sub-1.0 per-hit
|
||||||
// value would deposit 0 AND never decrement Remaining -> an immortal target that silently eats shots.
|
// value would deposit 0 AND never decrement Remaining -> an immortal target that silently eats shots.
|
||||||
int amount = math.max(1, (int)tgtYieldPerHit[bestIdx]);
|
int amount = math.max(1, (int)tgtYieldPerHit[bestIdx]);
|
||||||
|
// DECOUPLED deposit (cover review wf_e14dd739-069): DESTRUCTIBLE COVER has ScrapPerHit=0 — it
|
||||||
|
// breaks in Remaining hits but yields NOTHING (durability must not be an economy faucet).
|
||||||
|
// Nodes/clutter (PerHit >= 1) keep deposit == decrement exactly as before.
|
||||||
|
// zero means ZERO (cover); any POSITIVE yield still credits >= 1 (the fractional-yield guard).
|
||||||
|
int deposit = tgtYieldPerHit[bestIdx] > 0f ? amount : 0;
|
||||||
byte yieldId = tgtYieldId[bestIdx];
|
byte yieldId = tgtYieldId[bestIdx];
|
||||||
|
|
||||||
// Route the yield into the HARVESTING player's PERSONAL inventory. The projectile carries the
|
// Route the yield into the HARVESTING player's PERSONAL inventory. The projectile carries the
|
||||||
@@ -162,8 +167,9 @@ namespace ProjectM.Server
|
|||||||
if (m_GhostOwnerLookup.HasComponent(projEntity)
|
if (m_GhostOwnerLookup.HasComponent(projEntity)
|
||||||
&& playerByConn.TryGetValue(m_GhostOwnerLookup[projEntity].NetworkId, out var ownedPlayer))
|
&& playerByConn.TryGetValue(m_GhostOwnerLookup[projEntity].NetworkId, out var ownedPlayer))
|
||||||
harvester = ownedPlayer;
|
harvester = ownedPlayer;
|
||||||
HarvestMath.DepositYield(yieldId, amount, tgtToLedger[bestIdx], harvester,
|
if (deposit > 0)
|
||||||
m_InvLookup, ledger, true, haveDb, itemDb);
|
HarvestMath.DepositYield(yieldId, deposit, tgtToLedger[bestIdx], harvester,
|
||||||
|
m_InvLookup, ledger, true, haveDb, itemDb);
|
||||||
int rem = tgtRemaining[bestIdx] - amount;
|
int rem = tgtRemaining[bestIdx] - amount;
|
||||||
tgtRemaining[bestIdx] = rem;
|
tgtRemaining[bestIdx] = rem;
|
||||||
ecb.DestroyEntity(projEntity);
|
ecb.DestroyEntity(projEntity);
|
||||||
|
|||||||
@@ -128,6 +128,33 @@ namespace ProjectM.Server
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DESTRUCTIBLE COVER (OPTIONAL singleton; review wf_e14dd739-069): never in Boss rooms (the boss
|
||||||
|
// has no depenetration backstop) and never inside the origin keep-out ring (player landing +
|
||||||
|
// portal). Variant stays the prefab's 4 — NEVER rerolled (the clutter block's explosive
|
||||||
|
// reroll must not leak into this copy).
|
||||||
|
if (plan.RoomType != RoomTypeId.Boss
|
||||||
|
&& SystemAPI.TryGetSingleton<CoverFieldSpawner>(out var cover)
|
||||||
|
&& cover.Prefab != Entity.Null)
|
||||||
|
{
|
||||||
|
var kBaked = SystemAPI.GetComponent<LocalTransform>(cover.Prefab);
|
||||||
|
var krng = new Random(RunMapMath.Hash(run.RunSeed, (uint)run.CurrentNodeId, 0xC0Eu) | 1u);
|
||||||
|
int kCount = math.clamp(cover.Count, 0, 6);
|
||||||
|
const float KeepOutFromOrigin = 7f;
|
||||||
|
for (int i = 0; i < kCount; i++)
|
||||||
|
{
|
||||||
|
float3 pos = origin;
|
||||||
|
for (int attempt = 0; attempt < 8; attempt++)
|
||||||
|
{
|
||||||
|
pos = RoomLayoutMath.ScatterInShape(plan.ShapeId, origin, i, kCount, ref krng);
|
||||||
|
if (math.distance(pos.xz, origin.xz) >= KeepOutFromOrigin) break;
|
||||||
|
}
|
||||||
|
if (math.distance(pos.xz, origin.xz) < KeepOutFromOrigin) continue; // unlucky draws: drop the piece
|
||||||
|
var e = ecb.Instantiate(cover.Prefab);
|
||||||
|
ecb.SetComponent(e, kBaked.WithPosition(pos));
|
||||||
|
ecb.AddComponent(e, new RoomTag { Room = room });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
rf.LastSpawnedRoomEpoch = run.RoomEpoch;
|
rf.LastSpawnedRoomEpoch = run.RoomEpoch;
|
||||||
SystemAPI.SetComponent(spawnerEntity, rf);
|
SystemAPI.SetComponent(spawnerEntity, rf);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
using Unity.Entities;
|
||||||
|
|
||||||
|
namespace ProjectM.Simulation
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Baked singleton holding the DESTRUCTIBLE COVER ghost prefab (Exploding_Barrels sibling —
|
||||||
|
/// Cover_Rock_Build: a BlightClutter carrier with ScrapPerHit=0, Variant=4, and a baked
|
||||||
|
/// Environment-layer collider that blocks the player CC and the enemy sweep while alive).
|
||||||
|
/// RoomFieldSystem scatters <see cref="Count"/> cover rocks per room epoch — EXCEPT Boss rooms
|
||||||
|
/// (the boss has no depenetration backstop; review wf_e14dd739-069) — with a keep-out ring
|
||||||
|
/// around the room origin (player landing + portal). OPTIONAL: absent singleton = no cover.
|
||||||
|
/// Mirrors <see cref="ClutterFieldSpawner"/>; carries no transform.
|
||||||
|
/// </summary>
|
||||||
|
public struct CoverFieldSpawner : IComponentData
|
||||||
|
{
|
||||||
|
/// <summary>Baked cover-rock ghost prefab to instantiate.</summary>
|
||||||
|
public Entity Prefab;
|
||||||
|
|
||||||
|
/// <summary>Cover rocks per room (Boss rooms get none).</summary>
|
||||||
|
public int Count;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0331196c0b301674189f1c1779f108da
|
||||||
@@ -270,6 +270,10 @@ namespace ProjectM.Simulation
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
int amount = math.max(1, (int)harvPerHit[i]);
|
int amount = math.max(1, (int)harvPerHit[i]);
|
||||||
|
// DECOUPLED deposit (cover review): cover has ScrapPerHit=0 — breaks in Remaining hits,
|
||||||
|
// yields nothing. Nodes/clutter (PerHit >= 1) keep deposit == decrement as before.
|
||||||
|
// zero means ZERO (cover); any POSITIVE yield still credits >= 1 (the fractional-yield guard).
|
||||||
|
int deposit = harvPerHit[i] > 0f ? amount : 0;
|
||||||
byte yieldId = harvYieldId[i];
|
byte yieldId = harvYieldId[i];
|
||||||
// Route by region: Base nodes credit the shared ledger DIRECTLY (the build pool); an
|
// Route by region: Base nodes credit the shared ledger DIRECTLY (the build pool); an
|
||||||
// expedition / un-tagged target goes to the swinging player's PERSONAL inventory (spill to
|
// expedition / un-tagged target goes to the swinging player's PERSONAL inventory (spill to
|
||||||
@@ -278,10 +282,13 @@ namespace ProjectM.Simulation
|
|||||||
Entity meleeHarvester = Entity.Null;
|
Entity meleeHarvester = Entity.Null;
|
||||||
if (meleePlayerByConn.TryGetValue(hc.OwnerId, out var meleePlayer))
|
if (meleePlayerByConn.TryGetValue(hc.OwnerId, out var meleePlayer))
|
||||||
meleeHarvester = meleePlayer;
|
meleeHarvester = meleePlayer;
|
||||||
bool deposited = HarvestMath.DepositYield(yieldId, amount, harvToLedger[i], meleeHarvester,
|
if (deposit > 0)
|
||||||
m_InvLookup, ledger, haveLedger, haveDb, itemDb);
|
{
|
||||||
if (!deposited)
|
bool deposited = HarvestMath.DepositYield(yieldId, deposit, harvToLedger[i], meleeHarvester,
|
||||||
continue;
|
m_InvLookup, ledger, haveLedger, haveDb, itemDb);
|
||||||
|
if (!deposited)
|
||||||
|
continue; // never consume a YIELDING target for zero credit
|
||||||
|
}
|
||||||
|
|
||||||
int rem = harvRemaining[i] - amount;
|
int rem = harvRemaining[i] - amount;
|
||||||
harvRemaining[i] = rem;
|
harvRemaining[i] = rem;
|
||||||
|
|||||||
@@ -661,60 +661,6 @@ BoxCollider:
|
|||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_Size: {x: 3.9870093, y: 5, z: 1.5}
|
m_Size: {x: 3.9870093, y: 5, z: 1.5}
|
||||||
m_Center: {x: 0, y: 2, z: 0}
|
m_Center: {x: 0, y: 2, z: 0}
|
||||||
--- !u!1 &47838509
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 47838510}
|
|
||||||
- component: {fileID: 47838511}
|
|
||||||
m_Layer: 8
|
|
||||||
m_Name: Cover_S0_0
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &47838510
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 47838509}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: 0.1305262, z: -0, w: 0.9914449}
|
|
||||||
m_LocalPosition: {x: 993, y: 0, z: 6}
|
|
||||||
m_LocalScale: {x: 1.6780516, y: 1.6780518, z: 1.6780516}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 125166252}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!64 &47838511
|
|
||||||
MeshCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 47838509}
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_ProvidesContacts: 0
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 5
|
|
||||||
m_Convex: 1
|
|
||||||
m_CookingOptions: 30
|
|
||||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
|
||||||
--- !u!1 &47846457
|
--- !u!1 &47846457
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1591,15 +1537,7 @@ Transform:
|
|||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children: []
|
||||||
- {fileID: 47838510}
|
|
||||||
- {fileID: 1718746030}
|
|
||||||
- {fileID: 1814418716}
|
|
||||||
- {fileID: 1572202107}
|
|
||||||
- {fileID: 582536833}
|
|
||||||
- {fileID: 175117792}
|
|
||||||
- {fileID: 1785428319}
|
|
||||||
- {fileID: 1438996196}
|
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &135921087
|
--- !u!1 &135921087
|
||||||
@@ -1920,60 +1858,6 @@ BoxCollider:
|
|||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_Size: {x: 3.8149579, y: 5, z: 1.5}
|
m_Size: {x: 3.8149579, y: 5, z: 1.5}
|
||||||
m_Center: {x: 0, y: 2, z: 0}
|
m_Center: {x: 0, y: 2, z: 0}
|
||||||
--- !u!1 &175117791
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 175117792}
|
|
||||||
- component: {fileID: 175117793}
|
|
||||||
m_Layer: 8
|
|
||||||
m_Name: Cover_S1_1
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &175117792
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 175117791}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: 0.57357645, z: -0, w: 0.81915206}
|
|
||||||
m_LocalPosition: {x: 1508, y: 0, z: 5}
|
|
||||||
m_LocalScale: {x: 1.6780517, y: 1.6780518, z: 1.6780517}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 125166252}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!64 &175117793
|
|
||||||
MeshCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 175117791}
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_ProvidesContacts: 0
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 5
|
|
||||||
m_Convex: 1
|
|
||||||
m_CookingOptions: 30
|
|
||||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
|
||||||
--- !u!1 &175286056
|
--- !u!1 &175286056
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -5058,60 +4942,6 @@ BoxCollider:
|
|||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_Size: {x: 1.7547715, y: 0.8, z: 1.3944197}
|
m_Size: {x: 1.7547715, y: 0.8, z: 1.3944197}
|
||||||
m_Center: {x: 0.0000024735928, y: 0.4, z: -0.000009506941}
|
m_Center: {x: 0.0000024735928, y: 0.4, z: -0.000009506941}
|
||||||
--- !u!1 &582536832
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 582536833}
|
|
||||||
- component: {fileID: 582536834}
|
|
||||||
m_Layer: 8
|
|
||||||
m_Name: Cover_S1_0
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &582536833
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 582536832}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: 0.1305262, z: -0, w: 0.9914449}
|
|
||||||
m_LocalPosition: {x: 1493, y: 0, z: 6}
|
|
||||||
m_LocalScale: {x: 1.6780516, y: 1.6780518, z: 1.6780516}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 125166252}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!64 &582536834
|
|
||||||
MeshCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 582536832}
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_ProvidesContacts: 0
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 5
|
|
||||||
m_Convex: 1
|
|
||||||
m_CookingOptions: 30
|
|
||||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
|
||||||
--- !u!1 &584781805
|
--- !u!1 &584781805
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -9082,6 +8912,52 @@ BoxCollider:
|
|||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_Size: {x: 4.147015, y: 5, z: 1.5}
|
m_Size: {x: 4.147015, y: 5, z: 1.5}
|
||||||
m_Center: {x: 0, y: 2, z: 0}
|
m_Center: {x: 0, y: 2, z: 0}
|
||||||
|
--- !u!1 &1106173029
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1106173031}
|
||||||
|
- component: {fileID: 1106173030}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: CoverFieldSpawner
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!114 &1106173030
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1106173029}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 0a9b08ef91676fa4185406d9dec18c5e, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: ProjectM.Authoring::ProjectM.Authoring.CoverFieldSpawnerAuthoring
|
||||||
|
CoverPrefab: {fileID: 3885353946372160549, guid: 25159665cc5735b44bf91ab9c8f90b76, type: 3}
|
||||||
|
Count: 3
|
||||||
|
--- !u!4 &1106173031
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1106173029}
|
||||||
|
serializedVersion: 2
|
||||||
|
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: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &1106672234
|
--- !u!1 &1106672234
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -12027,60 +11903,6 @@ BoxCollider:
|
|||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_Size: {x: 3.9249666, y: 5, z: 1.5}
|
m_Size: {x: 3.9249666, y: 5, z: 1.5}
|
||||||
m_Center: {x: 0, y: 2, z: 0}
|
m_Center: {x: 0, y: 2, z: 0}
|
||||||
--- !u!1 &1438996195
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 1438996196}
|
|
||||||
- component: {fileID: 1438996197}
|
|
||||||
m_Layer: 8
|
|
||||||
m_Name: Cover_S1_3
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &1438996196
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1438996195}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: 0.86602545, z: -0, w: 0.49999997}
|
|
||||||
m_LocalPosition: {x: 1509, y: 0, z: -7}
|
|
||||||
m_LocalScale: {x: 1.8546889, y: 1.8546889, z: 1.8546889}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 125166252}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!64 &1438996197
|
|
||||||
MeshCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1438996195}
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_ProvidesContacts: 0
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 5
|
|
||||||
m_Convex: 1
|
|
||||||
m_CookingOptions: 30
|
|
||||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
|
||||||
--- !u!1 &1441917224
|
--- !u!1 &1441917224
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -13448,60 +13270,6 @@ BoxCollider:
|
|||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_Size: {x: 1.6302872, y: 0.903802, z: 1.4047824}
|
m_Size: {x: 1.6302872, y: 0.903802, z: 1.4047824}
|
||||||
m_Center: {x: -0.07129079, y: 0.451901, z: 0.0632782}
|
m_Center: {x: -0.07129079, y: 0.451901, z: 0.0632782}
|
||||||
--- !u!1 &1572202106
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 1572202107}
|
|
||||||
- component: {fileID: 1572202108}
|
|
||||||
m_Layer: 8
|
|
||||||
m_Name: Cover_S0_3
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &1572202107
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1572202106}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: 0.86602545, z: -0, w: 0.49999997}
|
|
||||||
m_LocalPosition: {x: 1009, y: 0, z: -7}
|
|
||||||
m_LocalScale: {x: 1.8546889, y: 1.8546889, z: 1.8546889}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 125166252}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!64 &1572202108
|
|
||||||
MeshCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1572202106}
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_ProvidesContacts: 0
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 5
|
|
||||||
m_Convex: 1
|
|
||||||
m_CookingOptions: 30
|
|
||||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
|
||||||
--- !u!1 &1578777869
|
--- !u!1 &1578777869
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -14753,60 +14521,6 @@ BoxCollider:
|
|||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_Size: {x: 3.9799314, y: 5, z: 1.5}
|
m_Size: {x: 3.9799314, y: 5, z: 1.5}
|
||||||
m_Center: {x: 0, y: 2, z: 0}
|
m_Center: {x: 0, y: 2, z: 0}
|
||||||
--- !u!1 &1718746029
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 1718746030}
|
|
||||||
- component: {fileID: 1718746031}
|
|
||||||
m_Layer: 8
|
|
||||||
m_Name: Cover_S0_1
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &1718746030
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1718746029}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: 0.57357645, z: -0, w: 0.81915206}
|
|
||||||
m_LocalPosition: {x: 1008, y: 0, z: 5}
|
|
||||||
m_LocalScale: {x: 1.6780517, y: 1.6780518, z: 1.6780517}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 125166252}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!64 &1718746031
|
|
||||||
MeshCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1718746029}
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_ProvidesContacts: 0
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 5
|
|
||||||
m_Convex: 1
|
|
||||||
m_CookingOptions: 30
|
|
||||||
m_Mesh: {fileID: -2980332487971928681, guid: b26ded2dffadca04da4b267610d057ab, type: 3}
|
|
||||||
--- !u!1 &1723007258
|
--- !u!1 &1723007258
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -15072,60 +14786,6 @@ BoxCollider:
|
|||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_Size: {x: 2.4087837, y: 0.9642086, z: 2.2116926}
|
m_Size: {x: 2.4087837, y: 0.9642086, z: 2.2116926}
|
||||||
m_Center: {x: -0.004358411, y: 0.4821043, z: 0.12872449}
|
m_Center: {x: -0.004358411, y: 0.4821043, z: 0.12872449}
|
||||||
--- !u!1 &1785428318
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 1785428319}
|
|
||||||
- component: {fileID: 1785428320}
|
|
||||||
m_Layer: 8
|
|
||||||
m_Name: Cover_S1_2
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &1785428319
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1785428318}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: 0.34202015, z: -0, w: 0.9396927}
|
|
||||||
m_LocalPosition: {x: 1495, y: 0, z: -9}
|
|
||||||
m_LocalScale: {x: 1.2801044, y: 1.2801043, z: 1.2801044}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 125166252}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!64 &1785428320
|
|
||||||
MeshCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1785428318}
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_ProvidesContacts: 0
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 5
|
|
||||||
m_Convex: 1
|
|
||||||
m_CookingOptions: 30
|
|
||||||
m_Mesh: {fileID: -2709579467351344360, guid: d68b1794e4e664d45925e6fe3eedfae2, type: 3}
|
|
||||||
--- !u!1 &1800669619
|
--- !u!1 &1800669619
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -15391,60 +15051,6 @@ BoxCollider:
|
|||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_Size: {x: 4.1653576, y: 5, z: 1.5}
|
m_Size: {x: 4.1653576, y: 5, z: 1.5}
|
||||||
m_Center: {x: 0, y: 2, z: 0}
|
m_Center: {x: 0, y: 2, z: 0}
|
||||||
--- !u!1 &1814418715
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 1814418716}
|
|
||||||
- component: {fileID: 1814418717}
|
|
||||||
m_Layer: 8
|
|
||||||
m_Name: Cover_S0_2
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &1814418716
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1814418715}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: 0.34202015, z: -0, w: 0.9396927}
|
|
||||||
m_LocalPosition: {x: 995, y: 0, z: -9}
|
|
||||||
m_LocalScale: {x: 1.2801044, y: 1.2801043, z: 1.2801044}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 125166252}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!64 &1814418717
|
|
||||||
MeshCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1814418715}
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_ProvidesContacts: 0
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 5
|
|
||||||
m_Convex: 1
|
|
||||||
m_CookingOptions: 30
|
|
||||||
m_Mesh: {fileID: -2709579467351344360, guid: d68b1794e4e664d45925e6fe3eedfae2, type: 3}
|
|
||||||
--- !u!1 &1815241087
|
--- !u!1 &1815241087
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -18643,3 +18249,4 @@ SceneRoots:
|
|||||||
- {fileID: 1518140828}
|
- {fileID: 1518140828}
|
||||||
- {fileID: 125166252}
|
- {fileID: 125166252}
|
||||||
- {fileID: 1384477683}
|
- {fileID: 1384477683}
|
||||||
|
- {fileID: 1106173031}
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ Long-form originals + the milestone each came from: `Docs/Vault/_Meta/CLAUDE_Bui
|
|||||||
- **A dark-lit screenshot MASKS material bugs — verify material *values*.** `shader.GetPropertyType(idx)`-guard before `GetColor`/`GetFloat`/`GetTexture` (`S_General`'s `_BaseColorMultiply` is a float → `GetColor` returns black). Gate emission on the `_Emissive` flag + a fixture name; keep converted env metallic low (0.1–0.2).
|
- **A dark-lit screenshot MASKS material bugs — verify material *values*.** `shader.GetPropertyType(idx)`-guard before `GetColor`/`GetFloat`/`GetTexture` (`S_General`'s `_BaseColorMultiply` is a float → `GetColor` returns black). Gate emission on the `_Emissive` flag + a fixture name; keep converted env metallic low (0.1–0.2).
|
||||||
- **VolumeProfile.Add persistence + the URP `m_AssetVersion` build blocker** → archive 2026-07-06 (+ native memory `urp-global-settings-version-blocks-build`).
|
- **VolumeProfile.Add persistence + the URP `m_AssetVersion` build blocker** → archive 2026-07-06 (+ native memory `urp-global-settings-version-blocks-build`).
|
||||||
- **`LocalTransform.FromPosition()` resets Scale=1** — server spawners read the prefab's baked `LocalTransform`, override only Position (Scale is a `[GhostField]` → consistent-but-wrong).
|
- **`LocalTransform.FromPosition()` resets Scale=1** — server spawners read the prefab's baked `LocalTransform`, override only Position (Scale is a `[GhostField]` → consistent-but-wrong).
|
||||||
- **Static decor → gameplay subscene** (EG renders only baked entities); **strip colliders from cosmetic props** + no `GhostAuthoring` on scenery (classic-URP colliders are inert to the DOTS PhysicsWorld). **World collision = subscene-only ★:** `Environment`-layer boundary ring + landmark colliders (player blocked via the layer matrix); enemies slide via a server `CollisionWorld.SphereCast` in `EnemyAISystem`. **★ enemy slide has NO pathfinding — a near-vertical wall normal or an embedded spawn FROZE Husks on cover rocks (soft-locks a room on one leftover); fixed 07-07 via `EnemyMoveUtil.Depenetrate` + tangent-slide + an `EnemyNavState` nudge backstop. Re-validate movers aren't frozen when adding Environment cover.** Boundary = `SM_Env_Rock_Cliff` rim. See [[2026-06-08_World_Collision_HUD_Scaling]].
|
- **Static decor → gameplay subscene** (EG renders only baked entities); **strip colliders from cosmetic props** + no `GhostAuthoring` on scenery (classic-URP colliders are inert to the DOTS PhysicsWorld). **World collision = subscene-only ★:** `Environment`-layer boundary ring + landmark colliders (player blocked via the layer matrix); enemies slide via a server `CollisionWorld.SphereCast` in `EnemyAISystem`. **★ enemy slide has NO pathfinding — a near-vertical wall normal or an embedded spawn FROZE Husks on cover rocks (soft-locks a room on one leftover); fixed 07-07 via `EnemyMoveUtil.Depenetrate` + tangent-slide + an `EnemyNavState` nudge backstop. Re-validate movers aren't frozen when adding Environment cover. 07-10: the nudge is COVER-AWARE — a live destructible-cover ghost (`BlightClutter` carrier) SUPPRESSES the phase-through (breakable ⇒ no soft-lock); static wedges still nudge.** Boundary = `SM_Env_Rock_Cliff` rim. See [[2026-06-08_World_Collision_HUD_Scaling]].
|
||||||
- **A GA "projectile" prefab self-propels** — strip to particles before `Start` (`CombatFeedbackSystem.StripCosmetic`); verify *components*, not the name.
|
- **A GA "projectile" prefab self-propels** — strip to particles before `Start` (`CombatFeedbackSystem.StripCosmetic`); verify *components*, not the name.
|
||||||
|
|
||||||
### Aim controls
|
### Aim controls
|
||||||
|
|||||||
@@ -0,0 +1,71 @@
|
|||||||
|
---
|
||||||
|
title: Destructible_Cover_Build_Spec
|
||||||
|
type: note
|
||||||
|
permalink: gamevault/03-design/destructible-cover-build-spec
|
||||||
|
---
|
||||||
|
|
||||||
|
# Destructible Cover — Build Spec (Phase 1.5 long-term #8, review-hardened, SHIPPED `bbf418e77`)
|
||||||
|
|
||||||
|
Review: `wf_e14dd739-069` (3 lenses, 28 agents). The session limit killed 18 verifiers mid-run, but the 7
|
||||||
|
completed verifications covered every DISTINCT load-bearing finding (both HIGHs + the boss/scatter/copy-paste/
|
||||||
|
HitRadius/spawn-window MEDs); the dead verifiers were lens-duplicates of the same issues. **Deliberate call:
|
||||||
|
folded without a third verify pass**, with the unverified leftovers reasoned-closed below — recorded per
|
||||||
|
[[ask-before-deferring-during-implementation]].
|
||||||
|
|
||||||
|
## Core architecture: cover IS clutter with a collider
|
||||||
|
|
||||||
|
`CoverRock.prefab` = a `BlightClutter` ghost (Variant **4**) whose root carries a baked **Environment-layer
|
||||||
|
BoxCollider**: the runtime-spawned ghost's collider joins `BuildPhysicsWorld` every tick → blocks the player
|
||||||
|
CC AND the enemy sweep (both filter on the env mask) while alive, and the gap opens the instant the entity
|
||||||
|
dies. Both hit paths break it for free (the clutter chassis); chip feedback/teardown/relevancy inherited.
|
||||||
|
Values: `Remaining=8` (8 hits to carve), `ScrapPerHit=0`, `HitRadius=1.2`, Model = `SM_Env_Rocks_Spikey_03`
|
||||||
|
@1.7 (the old cover visual; Read/Write already enabled).
|
||||||
|
|
||||||
|
## The two HIGH folds
|
||||||
|
|
||||||
|
1. **The 07-07 anti-stuck nudge deliberately phases enemies through cover rocks** (it exists to prevent room
|
||||||
|
soft-locks) — "cover blocks enemies" contradicted the shipped backstop. Fold: the nudge is **cover-aware**
|
||||||
|
(EnemyAISystem, the arm site): a 1.8 u SphereCast toward the target identifies the blocker; if it carries
|
||||||
|
`BlightClutter` (a LIVE, destructible ghost — no soft-lock possible) the phase is SUPPRESSED and the stuck
|
||||||
|
counter stays primed; static-geometry wedges nudge exactly as before.
|
||||||
|
2. **Yield==durability coupling** made tanky cover a 64-scrap/room faucet. Fold: deposit DECOUPLED from the
|
||||||
|
decrement at BOTH hit sites — `deposit = perHit > 0 ? max(1,(int)perHit) : 0` — zero means ZERO (cover),
|
||||||
|
any positive still credits ≥1 (the B1 immortal-sink regression test caught the first cut truncating 0.5→0;
|
||||||
|
the dual contract is now: fractional-positive floors to 1, exact-zero deposits nothing).
|
||||||
|
|
||||||
|
## Confirmed-MED folds
|
||||||
|
|
||||||
|
- `HitRadius=1.2` (visual core): the collider footprint would have made each rock a ~5 u shot-eating disc
|
||||||
|
(ResourceHarvest consumes any surviving projectile whose segment grazes HitRadius).
|
||||||
|
- **No cover in Boss rooms**: the boss moves only via SweptMove — NO depenetration backstop exists for it
|
||||||
|
(`EnemyAISystem`'s pass excludes BossState with a comment wrongly claiming BossAISystem owns it).
|
||||||
|
- Scatter keep-out ≥7 u from the room origin (player landing at origin+1.5·idx, portal at z−5), bounded
|
||||||
|
8-attempt resample, piece dropped on failure. Count=3/room (`CoverFieldSpawner`, optional singleton).
|
||||||
|
- `Variant=4` set on the prefab and NEVER rerolled (the clutter block's 25% explosive reroll is a copy-paste
|
||||||
|
trap — the cover spawn block instantiates the prefab proto untouched).
|
||||||
|
- Old static layer REMOVED: 8 `WorldColliders_RoomCover` subscene colliders + the `RoomCover_Visuals` root in
|
||||||
|
Game.unity (double-collision + double-visual otherwise). ColliderFitTools' FitCover section is vestigial
|
||||||
|
(empty group → KEEP logs).
|
||||||
|
|
||||||
|
## Reasoned-closed (verifiers lost to the session limit; dispositions)
|
||||||
|
|
||||||
|
- *CC misprediction window on runtime-spawned blockers*: rocks spawn at room entry ≥7 u from the landing
|
||||||
|
point; the ghost replicates long before a player can cross 7 u — no practical mispredict window.
|
||||||
|
- *Depenetrate vertical-normal on hull tops*: unchanged behavior class vs the old static hulls; the fallback
|
||||||
|
chain (nudge) still exists for non-cover geometry.
|
||||||
|
- *Melee cone tests target CENTER*: rock center reachable at HitRadius 1.2 + cone range 2.6 — chippable
|
||||||
|
point-blank.
|
||||||
|
- *NodeFeedback shrink keys on Remaining*: cover shrinking as it is chipped reads as crumbling — kept.
|
||||||
|
- *Projectiles ignore colliders* (confirmed structurally): v1 cover blocks MOVEMENT, not shots — both sides'
|
||||||
|
projectiles fly over the waist-high rocks. True shot-blocking = a follow-up (cover in both projectile
|
||||||
|
sweeps). Enemy-hits-win ordering is deterministic: ProjectileDamage (predicted group, immediate playback)
|
||||||
|
runs before ResourceHarvest (plain group) — a projectile consumed on an enemy is gone before the harvest
|
||||||
|
sweep can double-destroy it.
|
||||||
|
- *Charger smashes through cover*: deliberate follow-up (contact damage from lunging chargers to cover).
|
||||||
|
|
||||||
|
## Live validation (all passed, 2026-07-10)
|
||||||
|
|
||||||
|
3 cover ghosts spawned (Variant 4, Remaining 8) with SOLID baked colliders in the CollisionWorld ·
|
||||||
|
**BLOCK**: `NudgeUntilTick` stayed 0 across 3.5 s of forced zero-progress (the old code arms at 1.5 s) ·
|
||||||
|
**DEPENETRATE**: an enemy shoved inside a live rock exited to 1.7 u · **CARVE**: the rock died to the real
|
||||||
|
projectile sweep and the spot probed OPEN (not solid) · 470/470 EditMode · console clean.
|
||||||
@@ -150,8 +150,11 @@ attacks/animations/effects**. Art direction deliberately UNDECIDED — lighting
|
|||||||
the client cue, strobing red glow) then radius-damages BOTH sides (bait mechanic; escapable). Zero new
|
the client cue, strobing red glow) then radius-damages BOTH sides (bait mechanic; escapable). Zero new
|
||||||
replication. Geysers/trap tiles = later hazard variants on the same HazardExplosionSystem chassis.
|
replication. Geysers/trap tiles = later hazard variants on the same HazardExplosionSystem chassis.
|
||||||
See [[Exploding_Barrels_Build_Spec]].
|
See [[Exploding_Barrels_Build_Spec]].
|
||||||
8. **Destructible cover:** in-room cover rocks take damage and crumble (Charger smashes through, players carve LOS).
|
8. **Destructible cover — SHIPPED (2026-07-10, `bbf418e77`, review-first `wf_e14dd739-069`): PHASE 1.5 IS
|
||||||
Structures already have Health; **re-validate the enemy stuck-fix backstop when cover can disappear mid-fight.**
|
COMPLETE.** Cover = BlightClutter ghosts (Variant 4) with baked env-layer colliders — genuinely block
|
||||||
|
(the anti-stuck nudge is now cover-aware) until carved (8 hits, zero yield — deposit decoupled from
|
||||||
|
durability); no cover in Boss rooms; backstop re-validated live (block/depenetrate/carve all proven).
|
||||||
|
Follow-ups: Charger smashes cover; true projectile-blocking. See [[Destructible_Cover_Build_Spec]].
|
||||||
|
|
||||||
**Gate:** operator playtest says "no longer static"; node harvest feedback visibly works; art direction LOCKED.
|
**Gate:** operator playtest says "no longer static"; node harvest feedback visibly works; art direction LOCKED.
|
||||||
|
|
||||||
|
|||||||
@@ -229,13 +229,31 @@ Verified: 470/470 (4 new tests) · live smoke: client OBSERVED the fuse cue on t
|
|||||||
enemy took exactly 26 (30→4), walk-out escape confirmed (fuse is escapable by design — first unpinned bait
|
enemy took exactly 26 (30→4), walk-out escape confirmed (fuse is escapable by design — first unpinned bait
|
||||||
simply left the radius) · console clean.
|
simply left the radius) · console clean.
|
||||||
|
|
||||||
|
## Part K — destructible cover SHIPPED (`bbf418e77`); **PHASE 1.5 COMPLETE** (07-10)
|
||||||
|
|
||||||
|
The last 1.5 item, review-first (`wf_e14dd739-069`; the limit ate 18 duplicate verifiers — the 7 completed
|
||||||
|
ones covered every DISTINCT finding; folded without a third pass, leftovers reasoned-closed in
|
||||||
|
[[Destructible_Cover_Build_Spec]]). **Architecture: cover IS clutter with a collider** — a `BlightClutter`
|
||||||
|
ghost (Variant 4) whose baked env-layer BoxCollider joins BuildPhysicsWorld → blocks the player CC + the
|
||||||
|
enemy sweep while alive, opens the instant it dies; both hit paths carve it (8 hits, ZERO yield). The two
|
||||||
|
HIGH folds: (1) **the 07-07 anti-stuck nudge is now COVER-AWARE** (a SphereCast identifies the blocker; a
|
||||||
|
live destructible ghost suppresses the phase-through — breakable ⇒ no soft-lock; statics still nudge; also
|
||||||
|
now a CLAUDE.md line); (2) **deposit decoupled from durability** at both hit sites — zero yields nothing,
|
||||||
|
fractional-positive still floors to 1 (the B1 immortal-sink test caught the first cut truncating 0.5→0 —
|
||||||
|
a real regression the suite stopped). MEDs: HitRadius 1.2, NO cover in Boss rooms (boss has no depenetrate
|
||||||
|
backstop), ≥7 u origin keep-out, Variant never rerolled, old static cover colliders + RoomCover_Visuals
|
||||||
|
REMOVED. Live-verified: 3 solid cover ghosts · BLOCK (NudgeUntilTick 0 across 3.5 s forced-stuck) ·
|
||||||
|
DEPENETRATE (embedded enemy exits to 1.7 u) · CARVE (real-sweep kill → spot probes OPEN) · 470/470 · console
|
||||||
|
clean. Follow-ups queued: Charger smashes cover · true projectile-blocking cover.
|
||||||
|
|
||||||
## Next-session intent
|
## Next-session intent
|
||||||
|
|
||||||
Phase 1.5 remaining: **destructible cover** (the last long-term item — design-review-first, MUST re-validate
|
**Phase 1.5 is COMPLETE** (collision · lighting · art-look LOCKED clean dark-Synty · ambient motion ·
|
||||||
the enemy stuck-fix backstop when cover can vanish mid-fight) → then the 1.5 gate lap → **Phase 1.7 boon
|
breakables · attack distinctness · exploding barrels · destructible cover). Next per the locked order:
|
||||||
overhaul** (design review required — replicated ability swaps). Queued taste items: re-enable curated base
|
**the operator's 1.5 gate lap** ("no longer static"?) → **Phase 1.7 boon overhaul** (~12 mechanic-changers
|
||||||
flora · arid brightness · craters call · B5 split-panels smoke · barrel VFX polish (authored explosion
|
on existing hooks; design-review-FIRST — replicated ability swaps) → Phase 2 hub-ification. Taste queue:
|
||||||
prefab instead of the procedural burst).
|
re-enable curated base flora (barren hub) · arid brightness · craters call · B5 split-panels smoke · barrel
|
||||||
|
explosion VFX polish · cover damage-crack visuals.
|
||||||
|
|
||||||
Related: [[Iteration_2026-07_CoopHades]] · [[2026-07-07_Workflow_Consolidation]] ·
|
Related: [[Iteration_2026-07_CoopHades]] · [[2026-07-07_Workflow_Consolidation]] ·
|
||||||
[[2026-07-07_Expedition_Enemy_Stuck_Harvest_Feedback]]
|
[[2026-07-07_Expedition_Enemy_Stuck_Harvest_Feedback]]
|
||||||
|
|||||||
Reference in New Issue
Block a user