(a00338777) v0.9.2.1

This commit is contained in:
Joonas Rikkonen
2019-08-26 19:58:19 +03:00
parent 0f63da27b2
commit 80698b58b0
311 changed files with 11763 additions and 4507 deletions
@@ -1,19 +1,45 @@
using Barotrauma.Networking;
using Lidgren.Network;
namespace Barotrauma.Items.Components
{
partial class Repairable : ItemComponent, IServerSerializable, IClientSerializable
{
public void ServerRead(ClientNetObject type, NetBuffer msg, Client c)
void InitProjSpecific()
{
if (c.Character == null) return;
StartRepairing(c.Character);
//let the clients know the initial deterioration delay
item.CreateServerEvent(this);
}
public void ServerWrite(NetBuffer msg, Client c, object[] extraData = null)
public void ServerRead(ClientNetObject type, IReadMessage msg, Client c)
{
if (c.Character == null) return;
var requestedFixAction = (FixActions)msg.ReadRangedInteger(0, 2);
if (requestedFixAction != FixActions.None)
{
if (!c.Character.IsTraitor && requestedFixAction == FixActions.Sabotage)
{
if (GameSettings.VerboseLogging)
{
DebugConsole.Log($"Non traitor \"{c.Character.Name}\" attempted to sabotage item.");
}
requestedFixAction = FixActions.Repair;
}
if (CurrentFixer == null || CurrentFixer == c.Character && requestedFixAction != currentFixerAction)
{
StartRepairing(c.Character, requestedFixAction);
item.CreateServerEvent(this);
}
}
}
public void ServerWrite(IWriteMessage msg, Client c, object[] extraData = null)
{
msg.Write(deteriorationTimer);
msg.Write(deteriorateAlwaysResetTimer);
msg.Write(DeteriorateAlways);
msg.Write(CurrentFixer == c.Character);
msg.WriteRangedInteger((int)currentFixerAction, 0, 2);
}
}
}