Fixed mana and HP first time getting flagged as cheat

This commit is contained in:
Maverick Motherfucker 2011-06-03 19:51:57 -07:00
parent e50d855f5f
commit fbad9d6d67
2 changed files with 15 additions and 4 deletions

View file

@ -8,6 +8,9 @@ namespace TShockAPI
public class TSPlayer
{
public uint tileThreshold;
public bool firstTimeHealth;
public bool firstTimeMana;
private int player;
private bool admin;
private bool adminSet;

View file

@ -199,6 +199,10 @@ namespace TShockAPI
life = br.ReadInt16();
maxLife = br.ReadInt16();
}
if (!players[ply].firstTimeHealth)
{
players[ply].firstTimeHealth = true;
}
if (maxLife > Main.player[ply].statLifeMax + 20 || life > maxLife)
{
Tools.HandleCheater(ply);
@ -207,14 +211,18 @@ namespace TShockAPI
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 (maxLife > Main.player[ply].statLifeMax + 20 || life > maxLife)
if (!players[ply].firstTimeMana)
{
players[ply].firstTimeMana = true;
}
else if (maxmana > Main.player[ply].statManaMax + 20 || mana > maxmana)
{
Tools.HandleCheater(ply);
}