diff --git a/Barotrauma/BarotraumaShared/Content/Items/Weapons/weapons.xml b/Barotrauma/BarotraumaShared/Content/Items/Weapons/weapons.xml
index aa495d3fe..87d41a842 100644
--- a/Barotrauma/BarotraumaShared/Content/Items/Weapons/weapons.xml
+++ b/Barotrauma/BarotraumaShared/Content/Items/Weapons/weapons.xml
@@ -46,7 +46,7 @@
-
+
@@ -130,7 +130,7 @@
-
+
@@ -230,12 +230,12 @@
-
+
-
+
diff --git a/Barotrauma/BarotraumaShared/Source/Map/Explosion.cs b/Barotrauma/BarotraumaShared/Source/Map/Explosion.cs
index 3280a3f51..04a23267a 100644
--- a/Barotrauma/BarotraumaShared/Source/Map/Explosion.cs
+++ b/Barotrauma/BarotraumaShared/Source/Map/Explosion.cs
@@ -63,9 +63,10 @@ namespace Barotrauma
float displayRange = attack.Range;
if (displayRange < 0.1f) return;
- float cameraDist = Vector2.Distance(GameMain.GameScreen.Cam.Position, worldPosition) / 2.0f;
+ Vector2 cameraPos = Character.Controlled != null ? Character.Controlled.WorldPosition : GameMain.GameScreen.Cam.Position;
+ float cameraDist = Vector2.Distance(cameraPos, worldPosition) / 2.0f;
GameMain.GameScreen.Cam.Shake = CameraShake * Math.Max((displayRange - cameraDist) / displayRange, 0.0f);
-
+
if (attack.GetStructureDamage(1.0f) > 0.0f)
{
RangedStructureDamage(worldPosition, displayRange, attack.GetStructureDamage(1.0f));