public ItemStack Extract(int quantity)
{
if (quantity <= this.WItem.Quantity)//Anti-Cheat checking
{
//Build new items from this stack
var newItem = new Database.Models.WorldItemModel();
newItem.ID = Database.Tables.WorldItemTable.TempID;
newItem.Owner = this.WItem.Owner;
newItem.Position = this.WItem.Position;
newItem.TemplateID = this.WItem.TemplateID;
newItem.Effects = this.WItem.Effects;
newItem.Quantity = quantity;
newItem.Engine = new Engines.EffectEngine(newItem.Effects);
newItem.Engine.Load();
//Build new stack
var newStack = new ItemStack(newItem);
//Remove the quantity duplicated
this.WItem.Quantity -= quantity;
return newStack;
}
else
{
return this;
}
}