Unstable 0.17.9.0

This commit is contained in:
Markus Isberg
2022-04-12 03:39:02 +09:00
parent 374f03c625
commit 72328c29cb
38 changed files with 361 additions and 184 deletions
@@ -187,17 +187,6 @@ namespace Barotrauma.Items.Components
if (!isClient)
{
MoveIngredientsToInputContainer(selectedItem);
if (selectedItem.RequiredMoney > 0 && CanBeFabricated(fabricatedItem, availableIngredients, user))
{
if (GameMain.GameSession?.GameMode is MultiPlayerCampaign)
{
user.Wallet.Deduct(selectedItem.RequiredMoney);
}
else if (GameMain.GameSession?.GameMode is CampaignMode campaign)
{
campaign.Bank.Deduct(selectedItem.RequiredMoney);
}
}
}
requiredTime = GetRequiredTime(fabricatedItem, user);
@@ -211,9 +200,16 @@ namespace Barotrauma.Items.Components
State = FabricatorState.Active;
}
#if SERVER
if (user != null && addToServerLog)
if (user != null && addToServerLog && selectedItem.RequiredMoney == 0)
{
GameServer.Log(GameServer.CharacterLogName(user) + " started fabricating " + selectedItem.DisplayName.Value + " in " + item.Name, ServerLog.MessageType.ItemInteraction);
if (selectedItem.RequiredMoney > 0)
{
GameServer.Log($"{GameServer.CharacterLogName(user)} bought {selectedItem.DisplayName.Value} for {selectedItem.RequiredMoney} mk from {item.Name}", ServerLog.MessageType.Money);
}
else
{
GameServer.Log($"{GameServer.CharacterLogName(user)} started fabricating {selectedItem.DisplayName.Value} in {item.Name}", ServerLog.MessageType.ItemInteraction);
}
}
#endif
}
@@ -328,6 +324,19 @@ namespace Barotrauma.Items.Components
return;
}
if (fabricatedItem.RequiredMoney > 0)
{
if (user == null) { return; }
if (GameMain.GameSession?.GameMode is MultiPlayerCampaign)
{
user.Wallet.Deduct(fabricatedItem.RequiredMoney);
}
else if (GameMain.GameSession?.GameMode is CampaignMode campaign)
{
campaign.Bank.Deduct(fabricatedItem.RequiredMoney);
}
}
bool ingredientsStolen = false;
bool ingredientsAllowStealing = true;