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); } } } }