From f1f190a9972713b31285e9411c0dad614e76a05d Mon Sep 17 00:00:00 2001 From: Joonas Rikkonen Date: Fri, 2 Mar 2018 13:11:28 +0200 Subject: [PATCH] Added a light to diving suits (requires a battery to work). Closes #233 --- .../Source/Map/Lights/LightManager.cs | 5 ++++- .../BarotraumaShared/BarotraumaShared.projitems | 3 +++ .../Content/Items/Diving/DivingSuitLight.png | Bin 0 -> 29051 bytes .../Content/Items/Diving/divinggear.xml | 15 +++++++++------ .../Items/Components/Signal/LightComponent.cs | 2 ++ .../Source/Networking/RespawnManager.cs | 13 ++++++++++--- 6 files changed, 28 insertions(+), 10 deletions(-) create mode 100644 Barotrauma/BarotraumaShared/Content/Items/Diving/DivingSuitLight.png diff --git a/Barotrauma/BarotraumaClient/Source/Map/Lights/LightManager.cs b/Barotrauma/BarotraumaClient/Source/Map/Lights/LightManager.cs index 9d2ed314f..eabdc3de3 100644 --- a/Barotrauma/BarotraumaClient/Source/Map/Lights/LightManager.cs +++ b/Barotrauma/BarotraumaClient/Source/Map/Lights/LightManager.cs @@ -226,8 +226,11 @@ namespace Barotrauma.Lights Vector2 drawPos = Character.Controlled.DrawPosition; drawPos.Y = -drawPos.Y; + //ambient light decreases the brightness of the halo (no need for a bright halo if the ambient light is bright enough) + float ambientBrightness = (AmbientLight.R + AmbientLight.B + AmbientLight.G) / 255.0f / 3.0f; + Color haloColor = Color.White * (1.0f - ambientBrightness); spriteBatch.Draw( - LightSource.LightTexture, drawPos, null, Color.White * 0.3f, 0.0f, + LightSource.LightTexture, drawPos, null, haloColor * 0.4f, 0.0f, new Vector2(LightSource.LightTexture.Width / 2, LightSource.LightTexture.Height / 2), 1.0f, SpriteEffects.None, 0.0f); } spriteBatch.End(); diff --git a/Barotrauma/BarotraumaShared/BarotraumaShared.projitems b/Barotrauma/BarotraumaShared/BarotraumaShared.projitems index f52dbbe61..9245b0c38 100644 --- a/Barotrauma/BarotraumaShared/BarotraumaShared.projitems +++ b/Barotrauma/BarotraumaShared/BarotraumaShared.projitems @@ -220,6 +220,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest diff --git a/Barotrauma/BarotraumaShared/Content/Items/Diving/DivingSuitLight.png b/Barotrauma/BarotraumaShared/Content/Items/Diving/DivingSuitLight.png new file mode 100644 index 0000000000000000000000000000000000000000..36cef1dc07d60ae1e28ab2cc1d848ed365b4b2c1 GIT binary patch literal 29051 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 eRE{Rkl>HxbaDNmr?T=gl0000 - - - + + + + + - - @@ -121,10 +121,13 @@ - + + + + diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/LightComponent.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/LightComponent.cs index 6c79d771f..44544993a 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/LightComponent.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/LightComponent.cs @@ -4,6 +4,7 @@ using System.Xml.Linq; using Barotrauma.Networking; using Lidgren.Network; #if CLIENT +using Microsoft.Xna.Framework.Graphics; using Barotrauma.Lights; #endif @@ -144,6 +145,7 @@ namespace Barotrauma.Items.Components { #if CLIENT light.Rotation = body.Dir > 0.0f ? body.Rotation : body.Rotation - MathHelper.Pi; + light.LightSpriteEffect = (body.Dir > 0.0f) ? SpriteEffects.None : SpriteEffects.FlipVertically; #endif if (!body.Enabled) { diff --git a/Barotrauma/BarotraumaShared/Source/Networking/RespawnManager.cs b/Barotrauma/BarotraumaShared/Source/Networking/RespawnManager.cs index 90cafee63..c575f8f4a 100644 --- a/Barotrauma/BarotraumaShared/Source/Networking/RespawnManager.cs +++ b/Barotrauma/BarotraumaShared/Source/Networking/RespawnManager.cs @@ -505,11 +505,18 @@ namespace Barotrauma.Networking if (divingSuitPrefab != null && oxyPrefab != null) { var divingSuit = new Item(divingSuitPrefab, pos, respawnSub); - Entity.Spawner.CreateNetworkEvent(divingSuit, false); + Spawner.CreateNetworkEvent(divingSuit, false); var oxyTank = new Item(oxyPrefab, pos, respawnSub); - Entity.Spawner.CreateNetworkEvent(oxyTank, false); - divingSuit.Combine(oxyTank); + Spawner.CreateNetworkEvent(oxyTank, false); + divingSuit.Combine(oxyTank); + + if (batteryPrefab != null) + { + var battery = new Item(batteryPrefab, pos, respawnSub); + Spawner.CreateNetworkEvent(battery, false); + divingSuit.Combine(battery); + } } if (scooterPrefab != null && batteryPrefab != null)