Merge remote-tracking branch 'upstream/dev' into develop

This commit is contained in:
EvilFactory
2022-12-09 17:33:44 -03:00
416 changed files with 12674 additions and 5862 deletions
@@ -9,11 +9,12 @@ namespace Barotrauma.Items.Components
public void ServerEventRead(IReadMessage msg, Client c)
{
uint recipeHash = msg.ReadUInt32();
int amountToFabricate = msg.ReadRangedInteger(1, MaxAmountToFabricate);
item.CreateServerEvent(this);
if (!item.CanClientAccess(c)) { return; }
AmountToFabricate = amountToFabricate;
if (recipeHash == 0)
{
CancelFabricating(c.Character);
@@ -24,6 +25,8 @@ namespace Barotrauma.Items.Components
if (fabricatedItem != null && fabricatedItem.RecipeHash == recipeHash) { return; }
if (recipeHash == 0) { return; }
amountRemaining = AmountToFabricate;
StartFabricating(fabricationRecipes[recipeHash], c.Character);
}
}
@@ -56,6 +59,8 @@ namespace Barotrauma.Items.Components
{
var componentData = ExtractEventData<EventData>(extraData);
msg.WriteByte((byte)componentData.State);
msg.WriteRangedInteger(AmountToFabricate, 0, MaxAmountToFabricate);
msg.WriteRangedInteger(amountRemaining, 0, MaxAmountToFabricate);
msg.WriteSingle(timeUntilReady);
uint recipeHash = fabricatedItem?.RecipeHash ?? 0;
msg.WriteUInt32(recipeHash);
@@ -18,20 +18,22 @@ namespace Barotrauma.Items.Components
bool powerOn = msg.ReadBoolean();
float fissionRate = msg.ReadRangedSingle(0.0f, 100.0f, 8);
float turbineOutput = msg.ReadRangedSingle(0.0f, 100.0f, 8);
float temperatureBoostAmount = msg.ReadRangedSingle(-TemperatureBoostAmount, TemperatureBoostAmount, 8);
if (!item.CanClientAccess(c)) { return; }
IsActive = true;
if (!autoTemp && AutoTemp) blameOnBroken = c;
if (turbineOutput < TargetTurbineOutput) blameOnBroken = c;
if (fissionRate > TargetFissionRate) blameOnBroken = c;
if (!_powerOn && powerOn) blameOnBroken = c;
if (!autoTemp && AutoTemp) { blameOnBroken = c; }
if (turbineOutput < TargetTurbineOutput) { blameOnBroken = c; }
if (fissionRate > TargetFissionRate) { blameOnBroken = c; }
if (!_powerOn && powerOn) { blameOnBroken = c; }
AutoTemp = autoTemp;
_powerOn = powerOn;
TargetFissionRate = fissionRate;
TargetTurbineOutput = turbineOutput;
if (AllowTemperatureBoost) { temperatureBoost = temperatureBoostAmount; }
LastUser = c.Character;
if (nextServerLogWriteTime == null)
@@ -51,6 +53,7 @@ namespace Barotrauma.Items.Components
msg.WriteRangedSingle(TargetFissionRate, 0.0f, 100.0f, 8);
msg.WriteRangedSingle(TargetTurbineOutput, 0.0f, 100.0f, 8);
msg.WriteRangedSingle(degreeOfSuccess, 0.0f, 1.0f, 8);
msg.WriteRangedSingle(temperatureBoost, -TemperatureBoostAmount, TemperatureBoostAmount, 8);
}
}
}
@@ -24,7 +24,7 @@ namespace Barotrauma.Items.Components
{
msg.WriteRangedInteger((int)(rechargeSpeed / MaxRechargeSpeed * 10), 0, 10);
float chargeRatio = MathHelper.Clamp(charge / capacity, 0.0f, 1.0f);
float chargeRatio = MathHelper.Clamp(charge / adjustedCapacity, 0.0f, 1.0f);
msg.WriteRangedSingle(chargeRatio, 0.0f, 1.0f, 8);
}
}