diff --git a/Barotrauma/BarotraumaShared/Content/BackgroundSprites/BackgroundSpritePrefabs.xml b/Barotrauma/BarotraumaShared/Content/BackgroundSprites/BackgroundSpritePrefabs.xml
index 45469165b..e60ee432a 100644
--- a/Barotrauma/BarotraumaShared/Content/BackgroundSprites/BackgroundSpritePrefabs.xml
+++ b/Barotrauma/BarotraumaShared/Content/BackgroundSprites/BackgroundSpritePrefabs.xml
@@ -111,7 +111,8 @@
-
+
+
@@ -125,10 +126,11 @@
velocitymax="2000"/>
-
+
-
+
+
-
+
-
+
+
triggerers = new List();
+ private float cameraShake;
+
public Vector2 WorldPosition
{
get { return ConvertUnits.ToDisplayUnits(physicsBody.Position); }
@@ -52,6 +54,8 @@ namespace Barotrauma
physicsBody.FarseerBody.IsKinematic = true;
physicsBody.SetTransform(ConvertUnits.ToSimUnits(position), rotation);
+
+ cameraShake = ToolBox.GetAttributeFloat(element, "camerashake", 0.0f);
foreach (XElement subElement in element.Elements())
{
@@ -128,6 +132,11 @@ namespace Barotrauma
attack.DoDamage(null, damageable, WorldPosition, deltaTime, false);
}
}
+
+ if (triggerer == Character.Controlled || triggerer == Character.Controlled?.Submarine)
+ {
+ GameMain.GameScreen.Cam.Shake = Math.Max(GameMain.GameScreen.Cam.Shake, cameraShake);
+ }
}
}
}