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; }