Hydrothermal vents emit sounds & being inside the smoke makes the camera shake

This commit is contained in:
Joonas Rikkonen
2017-08-24 20:25:17 +03:00
parent 4bdbf05875
commit 65094a02c1
2 changed files with 17 additions and 5 deletions
@@ -111,7 +111,8 @@
<overridecommonness commonness="1" leveltype="Wastes" />
<overridecommonness commonness="3" leveltype="Ridge" />
<Sprite texture="Content/BackgroundSprites/seafloor.png" sourcerect="0,443,455,1605" origin="0.5,0.9"/>
<Trigger position="0,5500" radius="2000" height="10000">
<Sound file ="Content/Sounds/Water/BlackSmoker.ogg" range="7000" position="0,4000"/>
<Trigger position="0,5500" radius="2000" height="10000" camerashake="5">
<Attack damage="10.0" duration="1.0" targetforce="10.0" damagetype="Burn" onlyhumans="true"/>
</Trigger>
@@ -125,10 +126,11 @@
velocitymax="2000"/>
</blacksmoker>
<blacksmoker spawnpos="SeaFloor" alignment="Top" minsize="1" maxsize="2" randomrotation="-90,90" commonness="0">
<blacksmoker spawnpos="SeaFloor" alignment="Top" minsize="1" maxsize="2" randomrotation="-10,10" commonness="0">
<overridecommonness commonness="1" leveltype="Wastes" />
<Sprite texture="Content/BackgroundSprites/seafloor.png" sourcerect="463,1329,525,719" origin="0.5,0.9"/>
<Trigger position="0,5500" radius="2000" height="10000">
<Sound file ="Content/Sounds/Water/BlackSmoker.ogg" range="7000" position="0,4000"/>
<Trigger position="0,5500" radius="2000" height="10000" camerashake="5">
<Attack damage="10.0" duration="1.0" targetforce="10.0" damagetype="Burn" onlyhumans="true"/>
</Trigger>
<ParticleEmitter
@@ -141,10 +143,11 @@
velocitymax="2000"/>
</blacksmoker>
<blacksmoker spawnpos="SeaFloor" alignment="Top" minsize="1" maxsize="2" randomrotation="-90,90" commonness="0">
<blacksmoker spawnpos="SeaFloor" alignment="Top" minsize="1" maxsize="2" randomrotation="-10,10" commonness="0">
<overridecommonness commonness="1" leveltype="Wastes" />
<Sprite texture="Content/BackgroundSprites/seafloor.png" sourcerect="1030,1245,440,803" origin="0.5,0.9"/>
<Trigger position="0,5500" radius="2000" height="10000">
<Sound file ="Content/Sounds/Water/BlackSmoker.ogg" range="7000" position="0,4000"/>
<Trigger position="0,5500" radius="2000" height="10000" camerashake="5">
<Attack damage="10.0" duration="1.0" targetforce="10.0" damagetype="Burn" onlyhumans="true"/>
</Trigger>
<ParticleEmitter
@@ -23,6 +23,8 @@ namespace Barotrauma
private List<Entity> triggerers = new List<Entity>();
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);
}
}
}
}