Unstable 0.1300.0.5

This commit is contained in:
Markus Isberg
2021-04-01 16:09:18 +03:00
parent 862221635c
commit 96b2184811
54 changed files with 429 additions and 122 deletions
@@ -443,6 +443,7 @@ namespace Barotrauma.Items.Components
}
else
{
//not attached -> pick the item instantly, ignoring picking time
return OnPicked(picker);
}
@@ -450,6 +451,10 @@ namespace Barotrauma.Items.Components
public override bool OnPicked(Character picker)
{
if (GameMain.NetworkMember != null && GameMain.NetworkMember.IsClient)
{
return false;
}
if (base.OnPicked(picker))
{
DeattachFromWall();
@@ -347,10 +347,10 @@ namespace Barotrauma.Items.Components
for (int i = item.LastSentSignalRecipients.Count - 1; i >= 0; i--)
{
if (item.LastSentSignalRecipients[i].Condition <= 0.0f) continue;
if (item.LastSentSignalRecipients[i].Prefab.FocusOnSelected)
if (item.LastSentSignalRecipients[i].Item.Condition <= 0.0f) { continue; }
if (item.LastSentSignalRecipients[i].Item.Prefab.FocusOnSelected)
{
return item.LastSentSignalRecipients[i];
return item.LastSentSignalRecipients[i].Item;
}
}
@@ -353,7 +353,7 @@ namespace Barotrauma.Items.Components
{
if (recipient.Item == item || recipient.Item == signal.source) { continue; }
signal.source?.LastSentSignalRecipients.Add(recipient.Item);
signal.source?.LastSentSignalRecipients.Add(recipient);
foreach (ItemComponent ic in recipient.Item.Components)
{
@@ -83,6 +83,8 @@ namespace Barotrauma.Items.Components
item = connectionPanel.Item;
MaxWires = element.GetAttributeInt("maxwires", DefaultMaxWires);
MaxWires = Math.Max(element.Elements().Count(e => e.Name.ToString().Equals("link", StringComparison.OrdinalIgnoreCase)), MaxWires);
MaxPlayerConnectableWires = element.GetAttributeInt("maxplayerconnectablewires", MaxWires);
wires = new Wire[MaxWires];
@@ -152,19 +154,15 @@ namespace Barotrauma.Items.Components
int index = -1;
for (int i = 0; i < MaxWires; i++)
{
if (wireId[i] < 1) index = i;
if (wireId[i] < 1) { index = i; }
}
if (index == -1) break;
if (index == -1) { break; }
int id = subElement.GetAttributeInt("w", 0);
if (id < 0)
{
id = 0;
}
if (id < 0) { id = 0; }
wireId[index] = idRemap.GetOffsetId(id);
break;
case "statuseffect":
Effects.Add(StatusEffect.Load(subElement, item.Name + ", connection " + Name));
break;
@@ -263,9 +261,9 @@ namespace Barotrauma.Items.Components
Connection recipient = wires[i].OtherConnection(this);
if (recipient == null) { continue; }
if (recipient.item == this.item || signal.source?.LastSentSignalRecipients.LastOrDefault() == recipient.item) { continue; }
if (recipient.item == this.item || signal.source?.LastSentSignalRecipients.LastOrDefault() == recipient) { continue; }
signal.source?.LastSentSignalRecipients.Add(recipient.item);
signal.source?.LastSentSignalRecipients.Add(recipient);
Connection connection = recipient;
@@ -150,7 +150,7 @@ namespace Barotrauma.Items.Components
{
string signalOut = MotionDetected ? Output : FalseOutput;
if (!string.IsNullOrEmpty(signalOut)) item.SendSignal( new Signal(signalOut, 1), "state_out");
if (!string.IsNullOrEmpty(signalOut)) { item.SendSignal(new Signal(signalOut, 1), "state_out"); }
updateTimer -= deltaTime;
if (updateTimer > 0.0f) return;
@@ -173,11 +173,11 @@ namespace Barotrauma.Items.Components
if (signal.source != null)
{
foreach (Item receiverItem in wifiComp.item.LastSentSignalRecipients)
foreach (Connection receiver in wifiComp.item.LastSentSignalRecipients)
{
if (!signal.source.LastSentSignalRecipients.Contains(receiverItem))
if (!signal.source.LastSentSignalRecipients.Contains(receiver))
{
signal.source.LastSentSignalRecipients.Add(receiverItem);
signal.source.LastSentSignalRecipients.Add(receiver);
}
}
}
@@ -439,8 +439,8 @@ namespace Barotrauma.Items.Components
var projectiles = GetLoadedProjectiles(true);
if (projectiles.Any())
{
ItemContainer projectileContainer = projectiles.First().Item.Container?.GetComponent<ItemContainer>();
projectileContainer?.Item.Use(deltaTime, null);
ItemContainer projectileContainer = projectiles.First().Item.Container?.GetComponent<ItemContainer>();
if (projectileContainer?.Item != item) { projectileContainer?.Item.Use(deltaTime, null); }
}
else
{