Files
LuaCsForBarotraumaEP/Barotrauma/BarotraumaServer/Source/Map/Structure.cs
Joonas Rikkonen 044fd3344b 2f107db...5202af9
2019-03-18 21:42:26 +02:00

37 lines
1.2 KiB
C#

using Barotrauma.Networking;
using Lidgren.Network;
namespace Barotrauma
{
partial class Structure : MapEntity, IDamageable, IServerSerializable, ISerializableEntity
{
partial void AdjustKarma(IDamageable attacker, float amount)
{
if (GameMain.Server != null)
{
if (Submarine == null) return;
if (attacker == null) return;
if (attacker is Character attackerCharacter)
{
Client attackerClient = GameMain.Server.ConnectedClients.Find(c => c.Character == attackerCharacter);
if (attackerClient != null)
{
if (attackerCharacter.TeamID == Submarine.TeamID)
{
attackerClient.Karma -= amount * 0.001f;
}
}
}
}
}
public void ServerWrite(NetBuffer msg, Client c, object[] extraData = null)
{
for (int i = 0; i < Sections.Length; i++)
{
msg.WriteRangedSingle(Sections[i].damage / Health, 0.0f, 1.0f, 8);
}
}
}
}