Do not allow users to drop larger than max stacks if max stack check is enabled.
This commit is contained in:
parent
c6e19c6658
commit
348685bb2a
1 changed files with 21 additions and 0 deletions
|
|
@ -118,6 +118,7 @@ namespace TShockAPI
|
||||||
{PacketTypes.TileGetSection, HandleGetSection},
|
{PacketTypes.TileGetSection, HandleGetSection},
|
||||||
{PacketTypes.UpdateNPCHome, UpdateNPCHome },
|
{PacketTypes.UpdateNPCHome, UpdateNPCHome },
|
||||||
{PacketTypes.PlayerAddBuff, HandlePlayerBuff},
|
{PacketTypes.PlayerAddBuff, HandlePlayerBuff},
|
||||||
|
{PacketTypes.ItemDrop, HandleItemDrop}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -920,5 +921,25 @@ namespace TShockAPI
|
||||||
{
|
{
|
||||||
return !args.Player.Group.HasPermission(Permissions.ignoregriefdetection);
|
return !args.Player.Group.HasPermission(Permissions.ignoregriefdetection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static bool HandleItemDrop(GetDataHandlerArgs args)
|
||||||
|
{
|
||||||
|
var id = args.Data.ReadInt16();
|
||||||
|
var pos = new Vector2(args.Data.ReadSingle(), args.Data.ReadSingle());
|
||||||
|
var vel = new Vector2(args.Data.ReadSingle(), args.Data.ReadSingle());
|
||||||
|
var stacks = args.Data.ReadInt8();
|
||||||
|
var prefix = args.Data.ReadInt8();
|
||||||
|
var type = args.Data.ReadInt16();
|
||||||
|
|
||||||
|
if (TShock.Config.EnableItemStackChecks)
|
||||||
|
{
|
||||||
|
var item = new Item();
|
||||||
|
item.SetDefaults(type);
|
||||||
|
if (stacks > item.maxStack)
|
||||||
|
TShock.Utils.HandleCheater(args.Player, "Dropped illegal stack of item");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue