diff --git a/Barotrauma/BarotraumaShared/Content/Items/Electricity/battery.png b/Barotrauma/BarotraumaShared/Content/Items/Electricity/battery.png
index 63ad87974..97611a874 100644
Binary files a/Barotrauma/BarotraumaShared/Content/Items/Electricity/battery.png and b/Barotrauma/BarotraumaShared/Content/Items/Electricity/battery.png differ
diff --git a/Barotrauma/BarotraumaShared/Content/Items/Electricity/poweritems.xml b/Barotrauma/BarotraumaShared/Content/Items/Electricity/poweritems.xml
index c8d0e8e48..d635e7929 100644
--- a/Barotrauma/BarotraumaShared/Content/Items/Electricity/poweritems.xml
+++ b/Barotrauma/BarotraumaShared/Content/Items/Electricity/poweritems.xml
@@ -43,7 +43,7 @@
description="Generally used for storing backup power in case of a reactor failure.">
-
+
@@ -86,4 +86,31 @@
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Barotrauma/BarotraumaShared/Content/Items/Weapons/weapons.xml b/Barotrauma/BarotraumaShared/Content/Items/Weapons/weapons.xml
index 98b5f1c6c..85e4bac96 100644
--- a/Barotrauma/BarotraumaShared/Content/Items/Weapons/weapons.xml
+++ b/Barotrauma/BarotraumaShared/Content/Items/Weapons/weapons.xml
@@ -115,7 +115,7 @@
-
+
diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Deconstructor.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Deconstructor.cs
index 84677d23d..2c187067a 100644
--- a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Deconstructor.cs
+++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Deconstructor.cs
@@ -33,6 +33,8 @@ namespace Barotrauma.Items.Components
}
if (voltage < minVoltage) return;
+
+ ApplyStatusEffects(ActionType.OnActive, deltaTime, null);
if (powerConsumption == 0.0f) voltage = 1.0f;
diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Fabricator.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Fabricator.cs
index 377ac89c3..c27ef715e 100644
--- a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Fabricator.cs
+++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Fabricator.cs
@@ -209,7 +209,7 @@ namespace Barotrauma.Items.Components
public override void Update(float deltaTime, Camera cam)
{
#if CLIENT
- if (progressBar!=null)
+ if (progressBar != null)
{
progressBar.BarSize = fabricatedItem == null ? 0.0f : (fabricatedItem.RequiredTime - timeUntilReady) / fabricatedItem.RequiredTime;
}
@@ -217,6 +217,8 @@ namespace Barotrauma.Items.Components
if (voltage < minVoltage) return;
+ ApplyStatusEffects(ActionType.OnActive, deltaTime, null);
+
if (powerConsumption == 0) voltage = 1.0f;
timeUntilReady -= deltaTime*voltage;
diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/MiniMap.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/MiniMap.cs
index e7eb33697..ef5cfd31f 100644
--- a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/MiniMap.cs
+++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/MiniMap.cs
@@ -62,6 +62,11 @@ namespace Barotrauma.Items.Components
hasPower = voltage > minVoltage;
+ if (hasPower)
+ {
+ ApplyStatusEffects(ActionType.OnActive, deltaTime, null);
+ }
+
voltage = 0.0f;
}
diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/OxygenGenerator.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/OxygenGenerator.cs
index f63f66027..f7b527123 100644
--- a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/OxygenGenerator.cs
+++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/OxygenGenerator.cs
@@ -64,8 +64,6 @@ namespace Barotrauma.Items.Components
powerDownTimer = 0.0f;
}
- ApplyStatusEffects(ActionType.OnActive, deltaTime, null);
-
running = true;
CurrFlow = Math.Min(voltage, 1.0f) * generatedAmount*100.0f;
diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Reactor.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Reactor.cs
index 62a09f944..a36eaad89 100644
--- a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Reactor.cs
+++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Reactor.cs
@@ -186,16 +186,16 @@ namespace Barotrauma.Items.Components
}
ApplyStatusEffects(ActionType.OnActive, deltaTime, null);
-
+
fissionRate = Math.Min(fissionRate, AvailableFuel);
-
- float heat = 80 * fissionRate * (AvailableFuel/2000.0f);
+
+ float heat = 80 * fissionRate * (AvailableFuel / 2000.0f);
float heatDissipation = 50 * coolingRate + Math.Max(ExtraCooling, 5.0f);
float deltaTemp = (((heat - heatDissipation) * 5) - temperature) / 10000.0f;
Temperature = temperature + deltaTemp;
- if (temperature>fireTemp && temperature-deltaTemp fireTemp && temperature - deltaTemp < fireTemp)
{
#if CLIENT
Vector2 baseVel = Rand.Vector(300.0f);
diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Steering.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Steering.cs
index 5d226a275..79ac3102f 100644
--- a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Steering.cs
+++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Steering.cs
@@ -129,7 +129,9 @@ namespace Barotrauma.Items.Components
}
if (voltage < minVoltage && powerConsumption > 0.0f) return;
-
+
+ ApplyStatusEffects(ActionType.OnActive, deltaTime, null);
+
if (autoPilot)
{
UpdateAutoPilot(deltaTime);
@@ -138,12 +140,10 @@ namespace Barotrauma.Items.Components
item.SendSignal(0, targetVelocity.X.ToString(CultureInfo.InvariantCulture), "velocity_x_out", null);
float targetLevel = -targetVelocity.Y;
-
targetLevel += (neutralBallastLevel - 0.5f) * 100.0f;
item.SendSignal(0, targetLevel.ToString(CultureInfo.InvariantCulture), "velocity_y_out", null);
-
voltage -= deltaTime;
}
diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Power/PowerContainer.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Power/PowerContainer.cs
index 517b2b8d0..0821bbe09 100644
--- a/Barotrauma/BarotraumaShared/Source/Items/Components/Power/PowerContainer.cs
+++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Power/PowerContainer.cs
@@ -110,9 +110,7 @@ namespace Barotrauma.Items.Components
float chargeRatio = (float)(Math.Sqrt(charge / capacity));
float gridPower = 0.0f;
float gridLoad = 0.0f;
-
- //if (item.linkedTo.Count == 0) return;
-
+
foreach (Connection c in item.Connections)
{
if (c.Name == "power_in") continue;
@@ -125,18 +123,12 @@ namespace Barotrauma.Items.Components
gridPower -= pt.CurrPowerConsumption;
}
}
-
-
- //float gridRate = voltage;
-
+
if (chargeRatio > 0.0f)
{
ApplyStatusEffects(ActionType.OnActive, deltaTime, null);
}
-
- //recharge
- //if (gridRate >= chargeRate)
- //{
+
if (charge >= capacity)
{
rechargeVoltage = 0.0f;
@@ -149,9 +141,7 @@ namespace Barotrauma.Items.Components
currPowerConsumption = MathHelper.Lerp(currPowerConsumption, rechargeSpeed, 0.05f);
Charge += currPowerConsumption * rechargeVoltage / 3600.0f;
}
-
- //}
-
+
//provide power to the grid
if (gridLoad > 0.0f)
{
diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Power/Powered.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Power/Powered.cs
index 9ba4f1f55..ae3b06291 100644
--- a/Barotrauma/BarotraumaShared/Source/Items/Components/Power/Powered.cs
+++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Power/Powered.cs
@@ -91,6 +91,7 @@ namespace Barotrauma.Items.Components
#if CLIENT
if (voltage > minVoltage)
{
+ ApplyStatusEffects(ActionType.OnActive, deltaTime, null);
if (!powerOnSoundPlayed)
{
powerOnSound.Play(1.0f, 600.0f, item.WorldPosition);
@@ -101,6 +102,11 @@ namespace Barotrauma.Items.Components
{
powerOnSoundPlayed = false;
}
+#else
+ if (voltage > minVoltage)
+ {
+ ApplyStatusEffects(ActionType.OnActive, deltaTime, null);
+ }
#endif
}
diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/LightComponent.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/LightComponent.cs
index 2ec42e2e4..9158891a7 100644
--- a/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/LightComponent.cs
+++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Signal/LightComponent.cs
@@ -135,9 +135,7 @@ namespace Barotrauma.Items.Components
#if CLIENT
light.ParentSub = item.Submarine;
#endif
-
- ApplyStatusEffects(ActionType.OnActive, deltaTime);
-
+
#if CLIENT
if (item.Container != null)
{