From bcf7d7195dd7644969a24330b620c8306f92f823 Mon Sep 17 00:00:00 2001 From: Nibu Date: Thu, 12 Nov 2026 22:03:10 +0000 Subject: [PATCH] Mining 4: a direct rock hit publishes its absorb through the one Publish, at height 0 like a blast Co-Authored-By: Claude Sonnet 5.5 --- Assets/Scripts/ServerShared/FireControl.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Assets/Scripts/ServerShared/FireControl.cs b/Assets/Scripts/ServerShared/FireControl.cs index 4ac361d17..6cd860ab3 100644 --- a/Assets/Scripts/ServerShared/FireControl.cs +++ b/Assets/Scripts/ServerShared/FireControl.cs @@ -1257,8 +1257,8 @@ public static class FireControl } // Mining Cut 4b: a committed hit on a rock. A round without a fuse wears the rock by its Damage (the falloff was - // read at Fire) and publishes one absorb on the zone's ChunkCapabilities, at the rock's surface facing the shot - // and before the wear shrinks it. A contact or delayed round detonates at the rock's centre as it arrives (the + // read at Fire) and publishes one absorb on the zone's ChunkCapabilities (through Publish, at height 0 like a blast's), at the + // rock's surface facing the shot and before the wear shrinks it. A contact or delayed round detonates at the rock's centre as it arrives (the // arming rule kept), through Detonate, the one area owner. private static void ApplyRockHit(Zone zone, PendingShot shot, ChunkId rock) { @@ -1269,7 +1269,7 @@ public static class FireControl { var direction = float3(shot.TravelDirection.x, 0, shot.TravelDirection.y); var surface = centre - shot.TravelDirection * zone.ChunkRadius(rock); - zone.ChunkCapabilities.PublishAbsorb(new AbsorbEvent(float3(surface.x, shot.FireOrigin.y, surface.y), direction, shot.Damage, shot.DamageType, AbsorbLayer.Hull)); + Publish(zone.ChunkCapabilities, AbsorbLayer.Hull, float3(surface.x, 0f, surface.y), direction, shot.Damage, shot.DamageType); zone.Wear(rock, shot.Damage); return; }