fix: Simplifies ore stack logic (#1319)

This commit is contained in:
Kamron Batman 2023-01-03 18:07:42 -08:00 • committed by GitHub
parent f47560e56c
commit b18dfcbb63
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 36 additions and 41 deletions

View file

@ -49,17 +49,9 @@ public abstract partial class Food : Item
}
}
public override bool CanStackWith(Item dropped)
{
if (dropped is Food food)
{
if (Poison != food.Poison || Poisoner != food.Poisoner)
{
return false;
}
}
return base.CanStackWith(dropped);
}
public override bool CanStackWith(Item dropped) =>
(dropped is not Food food || Poison == food.Poison && Poisoner == food.Poisoner) &&
base.CanStackWith(dropped);
public virtual bool Eat(Mobile from)

View file

@ -54,10 +54,8 @@ public abstract partial class BaseOre : Item
};
public override bool CanStackWith(Item dropped) =>
dropped.Stackable && Stackable && dropped.Hue == Hue &&
dropped.GetType() == GetType() && dropped.ItemID == ItemID &&
(dropped as BaseOre)?._resource == _resource && dropped.Name == Name &&
dropped.Amount + Amount <= 60000 && dropped != this;
base.CanStackWith(dropped) &&
(dropped as BaseOre)?._resource == _resource;
public override void AddNameProperty(IPropertyList list)
{
@ -444,4 +442,4 @@ public partial class ValoriteOre : BaseOre
}
public override BaseIngot GetIngot() => new ValoriteIngot();
}
}