Fixes dictionary uses (#7)

This commit is contained in:
Kamron Batman 2018-11-02 08:16:42 -07:00 • committed by GitHub
parent d4a52344f2
commit 916d404c51
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
161 changed files with 1211 additions and 1722 deletions

View file

@ -924,27 +924,25 @@ namespace Server.Mobiles
IShopSellInfo[] info = GetSellInfo();
Dictionary<Item, SellItemState> table = new Dictionary<Item, SellItemState>();
List<SellItemState> list = new List<SellItemState>();
foreach (IShopSellInfo ssi in info)
{
Item[] items = pack.FindItemsByType(ssi.Types);
foreach (Item item in items)
foreach (Item item in pack.FindItemsByType(ssi.Types))
{
if (item is Container container && container.Items.Count != 0)
continue;
if (item.IsStandardLoot() && item.Movable && ssi.IsSellable(item))
table[item] = new SellItemState(item, ssi.GetSellPriceFor(item), ssi.GetNameFor(item));
list.Add(new SellItemState(item, ssi.GetSellPriceFor(item), ssi.GetNameFor(item)));
}
}
if (table.Count > 0)
if (list.Count > 0)
{
SendPacksTo(from);
from.Send(new VendorSellList(this, table.Values));
from.Send(new VendorSellList(this, list));
}
else
{

View file

@ -9,10 +9,6 @@ namespace Server.Mobiles
private Dictionary<Type, int> m_Table = new Dictionary<Type, int>();
private Type[] m_Types;
public GenericSellInfo()
{
}
public void Add( Type type, int price )
{
m_Table[type] = price;

View file

@ -351,7 +351,8 @@ namespace Server.Mobiles
if (BaseHouse.NewVendorSystem) return ChargePerRealWorldDay / 12;
long total = 0;
foreach (VendorItem vi in m_SellItems.Values) total += vi.Price;
foreach (VendorItem vi in m_SellItems.Values)
total += vi.Price;
total -= 500;
@ -369,7 +370,8 @@ namespace Server.Mobiles
if (BaseHouse.NewVendorSystem)
{
long total = 0;
foreach (VendorItem vi in m_SellItems.Values) total += vi.Price;
foreach (VendorItem vi in m_SellItems.Values)
total += vi.Price;
return (int)(60 + total / 500 * 3);
}