diff --git a/TShockAPI/TSPlayer.cs b/TShockAPI/TSPlayer.cs index a2504cba..60103e5b 100644 --- a/TShockAPI/TSPlayer.cs +++ b/TShockAPI/TSPlayer.cs @@ -8,11 +8,12 @@ namespace TShockAPI public class TSPlayer { public uint tileThreshold; + public bool syncHP = false; + public bool syncMP = false; + private int player; private bool admin; private bool adminSet; - public bool syncHP = false; - public bool syncMP = false; public TSPlayer(int ply) { diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index 90279ba6..6b83874b 100644 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -216,31 +216,33 @@ namespace TShockAPI life = br.ReadInt16(); maxLife = br.ReadInt16(); } - if (players[ply].syncHP) - { - if (maxLife > Main.player[ply].statLifeMax + 20 || life > maxLife) - Tools.HandleCheater(ply); - } - else - players[ply].syncHP = true; + if (maxLife > Main.player[ply].statLifeMax + 20 || life > maxLife) + if (players[ply].syncHP) + { + if (maxLife > Main.player[ply].statLifeMax + 20 || life > maxLife) + Tools.HandleCheater(ply); + } + else + players[ply].syncHP = true; } else if (e.MsgID == 0x2a) { byte ply; - Int16 life, maxLife; + Int16 mana, maxmana; using (var br = new BinaryReader(new MemoryStream(e.Msg.readBuffer, e.Index, e.Length))) { ply = br.ReadByte(); - life = br.ReadInt16(); - maxLife = br.ReadInt16(); + mana = br.ReadInt16(); + maxmana = br.ReadInt16(); } - if (players[ply].syncMP) - { - if (maxLife > Main.player[ply].statLifeMax + 20 || life > maxLife) - Tools.HandleCheater(ply); - } - else - players[ply].syncMP = true; + if (maxmana > Main.player[ply].statManaMax + 20 || mana > maxmana) + if (players[ply].syncMP) + { + if (maxmana > Main.player[ply].statManaMax + 20 || mana > maxmana) + Tools.HandleCheater(ply); + } + else + players[ply].syncMP = true; } else if (e.MsgID == 0x19) { diff --git a/TShockAPI/TShockAPI.csproj b/TShockAPI/TShockAPI.csproj index 11aebcc5..d9987db5 100644 --- a/TShockAPI/TShockAPI.csproj +++ b/TShockAPI/TShockAPI.csproj @@ -69,8 +69,7 @@ - - + $(SolutionDir)\myass.bat