Reorganizes Project (#41)

This commit is contained in:
Kamron Batman 2019-08-02 18:13:40 -07:00 • committed by GitHub
parent 08bf44af9a
commit 3614a66aee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3499 changed files with 79 additions and 55 deletions

View file

@ -0,0 +1,32 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBChainmailArmor : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(ChainCoif), 17, 20, 0x13BB, 0));
Add(new GenericBuyInfo(typeof(ChainChest), 143, 20, 0x13BF, 0));
Add(new GenericBuyInfo(typeof(ChainLegs), 149, 20, 0x13BE, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(ChainCoif), 6);
Add(typeof(ChainChest), 71);
Add(typeof(ChainLegs), 74);
}
}
}
}

View file

@ -0,0 +1,40 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBHelmetArmor : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(PlateHelm), 21, 20, 0x1412, 0));
Add(new GenericBuyInfo(typeof(CloseHelm), 18, 20, 0x1408, 0));
Add(new GenericBuyInfo(typeof(CloseHelm), 18, 20, 0x1409, 0));
Add(new GenericBuyInfo(typeof(Helmet), 31, 20, 0x140A, 0));
Add(new GenericBuyInfo(typeof(Helmet), 18, 20, 0x140B, 0));
Add(new GenericBuyInfo(typeof(NorseHelm), 18, 20, 0x140E, 0));
Add(new GenericBuyInfo(typeof(NorseHelm), 18, 20, 0x140F, 0));
Add(new GenericBuyInfo(typeof(Bascinet), 18, 20, 0x140C, 0));
Add(new GenericBuyInfo(typeof(PlateHelm), 21, 20, 0x1419, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Bascinet), 9);
Add(typeof(CloseHelm), 9);
Add(typeof(Helmet), 9);
Add(typeof(NorseHelm), 9);
Add(typeof(PlateHelm), 10);
}
}
}
}

View file

@ -0,0 +1,49 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBLeatherArmor : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(LeatherArms), 80, 20, 0x13CD, 0));
Add(new GenericBuyInfo(typeof(LeatherChest), 101, 20, 0x13CC, 0));
Add(new GenericBuyInfo(typeof(LeatherGloves), 60, 20, 0x13C6, 0));
Add(new GenericBuyInfo(typeof(LeatherGorget), 74, 20, 0x13C7, 0));
Add(new GenericBuyInfo(typeof(LeatherLegs), 80, 20, 0x13cb, 0));
Add(new GenericBuyInfo(typeof(LeatherCap), 10, 20, 0x1DB9, 0));
Add(new GenericBuyInfo(typeof(FemaleLeatherChest), 116, 20, 0x1C06, 0));
Add(new GenericBuyInfo(typeof(LeatherBustierArms), 97, 20, 0x1C0A, 0));
Add(new GenericBuyInfo(typeof(LeatherShorts), 86, 20, 0x1C00, 0));
Add(new GenericBuyInfo(typeof(LeatherSkirt), 87, 20, 0x1C08, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(LeatherArms), 40);
Add(typeof(LeatherChest), 52);
Add(typeof(LeatherGloves), 30);
Add(typeof(LeatherGorget), 37);
Add(typeof(LeatherLegs), 40);
Add(typeof(LeatherCap), 5);
Add(typeof(FemaleLeatherChest), 18);
Add(typeof(FemaleStuddedChest), 25);
Add(typeof(LeatherShorts), 14);
Add(typeof(LeatherSkirt), 11);
Add(typeof(LeatherBustierArms), 11);
Add(typeof(StuddedBustierArms), 27);
}
}
}
}

View file

@ -0,0 +1,38 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBMetalShields : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(BronzeShield), 66, 20, 0x1B72, 0));
Add(new GenericBuyInfo(typeof(Buckler), 50, 20, 0x1B73, 0));
Add(new GenericBuyInfo(typeof(MetalKiteShield), 123, 20, 0x1B74, 0));
Add(new GenericBuyInfo(typeof(HeaterShield), 231, 20, 0x1B76, 0));
Add(new GenericBuyInfo(typeof(WoodenKiteShield), 70, 20, 0x1B78, 0));
Add(new GenericBuyInfo(typeof(MetalShield), 121, 20, 0x1B7B, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Buckler), 25);
Add(typeof(BronzeShield), 33);
Add(typeof(MetalShield), 60);
Add(typeof(MetalKiteShield), 62);
Add(typeof(HeaterShield), 115);
Add(typeof(WoodenKiteShield), 35);
}
}
}
}

View file

@ -0,0 +1,38 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBPlateArmor : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(PlateGorget), 104, 20, 0x1413, 0));
Add(new GenericBuyInfo(typeof(PlateChest), 243, 20, 0x1415, 0));
Add(new GenericBuyInfo(typeof(PlateLegs), 218, 20, 0x1411, 0));
Add(new GenericBuyInfo(typeof(PlateArms), 188, 20, 0x1410, 0));
Add(new GenericBuyInfo(typeof(PlateGloves), 155, 20, 0x1414, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(PlateArms), 94);
Add(typeof(PlateChest), 121);
Add(typeof(PlateGloves), 72);
Add(typeof(PlateGorget), 52);
Add(typeof(PlateLegs), 109);
Add(typeof(FemalePlateChest), 113);
}
}
}
}

View file

@ -0,0 +1,34 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBRingmailArmor : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(RingmailChest), 121, 20, 0x13ec, 0));
Add(new GenericBuyInfo(typeof(RingmailLegs), 90, 20, 0x13F0, 0));
Add(new GenericBuyInfo(typeof(RingmailArms), 85, 20, 0x13EE, 0));
Add(new GenericBuyInfo(typeof(RingmailGloves), 93, 20, 0x13eb, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(RingmailArms), 42);
Add(typeof(RingmailChest), 60);
Add(typeof(RingmailGloves), 26);
Add(typeof(RingmailLegs), 45);
}
}
}
}

View file

@ -0,0 +1,40 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBStuddedArmor : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(StuddedArms), 87, 20, 0x13DC, 0));
Add(new GenericBuyInfo(typeof(StuddedChest), 128, 20, 0x13DB, 0));
Add(new GenericBuyInfo(typeof(StuddedGloves), 79, 20, 0x13D5, 0));
Add(new GenericBuyInfo(typeof(StuddedGorget), 73, 20, 0x13D6, 0));
Add(new GenericBuyInfo(typeof(StuddedLegs), 103, 20, 0x13DA, 0));
Add(new GenericBuyInfo(typeof(FemaleStuddedChest), 142, 20, 0x1C02, 0));
Add(new GenericBuyInfo(typeof(StuddedBustierArms), 120, 20, 0x1c0c, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(StuddedArms), 43);
Add(typeof(StuddedChest), 64);
Add(typeof(StuddedGloves), 39);
Add(typeof(StuddedGorget), 36);
Add(typeof(StuddedLegs), 51);
Add(typeof(FemaleStuddedChest), 71);
Add(typeof(StuddedBustierArms), 60);
}
}
}
}

View file

@ -0,0 +1,28 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBWoodenShields : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(WoodenShield), 30, 20, 0x1B7A, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(WoodenShield), 15);
}
}
}
}

View file

@ -0,0 +1,69 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBAlchemist : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(RefreshPotion), 15, 10, 0xF0B, 0));
Add(new GenericBuyInfo(typeof(AgilityPotion), 15, 10, 0xF08, 0));
Add(new GenericBuyInfo(typeof(NightSightPotion), 15, 10, 0xF06, 0));
Add(new GenericBuyInfo(typeof(LesserHealPotion), 15, 10, 0xF0C, 0));
Add(new GenericBuyInfo(typeof(StrengthPotion), 15, 10, 0xF09, 0));
Add(new GenericBuyInfo(typeof(LesserPoisonPotion), 15, 10, 0xF0A, 0));
Add(new GenericBuyInfo(typeof(LesserCurePotion), 15, 10, 0xF07, 0));
Add(new GenericBuyInfo(typeof(LesserExplosionPotion), 21, 10, 0xF0D, 0));
Add(new GenericBuyInfo(typeof(MortarPestle), 8, 10, 0xE9B, 0));
Add(new GenericBuyInfo(typeof(BlackPearl), 5, 20, 0xF7A, 0));
Add(new GenericBuyInfo(typeof(Bloodmoss), 5, 20, 0xF7B, 0));
Add(new GenericBuyInfo(typeof(Garlic), 3, 20, 0xF84, 0));
Add(new GenericBuyInfo(typeof(Ginseng), 3, 20, 0xF85, 0));
Add(new GenericBuyInfo(typeof(MandrakeRoot), 3, 20, 0xF86, 0));
Add(new GenericBuyInfo(typeof(Nightshade), 3, 20, 0xF88, 0));
Add(new GenericBuyInfo(typeof(SpidersSilk), 3, 20, 0xF8D, 0));
Add(new GenericBuyInfo(typeof(SulfurousAsh), 3, 20, 0xF8C, 0));
Add(new GenericBuyInfo(typeof(Bottle), 5, 100, 0xF0E, 0));
Add(new GenericBuyInfo(typeof(HeatingStand), 2, 100, 0x1849, 0));
Add(new GenericBuyInfo("1041060", typeof(HairDye), 37, 10, 0xEFF, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(BlackPearl), 3);
Add(typeof(Bloodmoss), 3);
Add(typeof(MandrakeRoot), 2);
Add(typeof(Garlic), 2);
Add(typeof(Ginseng), 2);
Add(typeof(Nightshade), 2);
Add(typeof(SpidersSilk), 2);
Add(typeof(SulfurousAsh), 2);
Add(typeof(Bottle), 3);
Add(typeof(MortarPestle), 4);
Add(typeof(HairDye), 19);
Add(typeof(NightSightPotion), 7);
Add(typeof(AgilityPotion), 7);
Add(typeof(StrengthPotion), 7);
Add(typeof(RefreshPotion), 7);
Add(typeof(LesserCurePotion), 7);
Add(typeof(LesserHealPotion), 7);
Add(typeof(LesserPoisonPotion), 7);
Add(typeof(LesserExplosionPotion), 10);
}
}
}
}

View file

@ -0,0 +1,38 @@
using System.Collections.Generic;
namespace Server.Mobiles
{
public class SBAnimalTrainer : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new AnimalBuyInfo(1, typeof(Cat), 132, 10, 201, 0));
Add(new AnimalBuyInfo(1, typeof(Dog), 170, 10, 217, 0));
Add(new AnimalBuyInfo(1, typeof(Horse), 550, 10, 204, 0));
Add(new AnimalBuyInfo(1, typeof(PackHorse), 631, 10, 291, 0));
Add(new AnimalBuyInfo(1, typeof(PackLlama), 565, 10, 292, 0));
Add(new AnimalBuyInfo(1, typeof(Rabbit), 106, 10, 205, 0));
if (!Core.AOS)
{
Add(new AnimalBuyInfo(1, typeof(Eagle), 402, 10, 5, 0));
Add(new AnimalBuyInfo(1, typeof(BrownBear), 855, 10, 167, 0));
Add(new AnimalBuyInfo(1, typeof(GrizzlyBear), 1767, 10, 212, 0));
Add(new AnimalBuyInfo(1, typeof(Panther), 1271, 10, 214, 0));
Add(new AnimalBuyInfo(1, typeof(TimberWolf), 768, 10, 225, 0));
Add(new AnimalBuyInfo(1, typeof(Rat), 107, 10, 238, 0));
}
}
}
public class InternalSellInfo : GenericSellInfo
{
}
}
}

View file

@ -0,0 +1,33 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBArchitect : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo("1041280", typeof(InteriorDecorator), 10001, 20, 0xFC1, 0));
if (Core.AOS)
Add(new GenericBuyInfo("1060651", typeof(HousePlacementTool), 627, 20, 0x14F6, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(InteriorDecorator), 5000);
if (Core.AOS)
Add(typeof(HousePlacementTool), 301);
}
}
}
}

View file

@ -0,0 +1,51 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBBaker : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(BreadLoaf), 6, 20, 0x103B, 0));
Add(new GenericBuyInfo(typeof(BreadLoaf), 5, 20, 0x103C, 0));
Add(new GenericBuyInfo(typeof(ApplePie), 7, 20, 0x1041, 0)); //OSI just has Pie, not Apple/Fruit/Meat
Add(new GenericBuyInfo(typeof(Cake), 13, 20, 0x9E9, 0));
Add(new GenericBuyInfo(typeof(Muffins), 3, 20, 0x9EA, 0));
Add(new GenericBuyInfo(typeof(SackFlour), 3, 20, 0x1039, 0));
Add(new GenericBuyInfo(typeof(FrenchBread), 5, 20, 0x98C, 0));
Add(new GenericBuyInfo(typeof(Cookies), 3, 20, 0x160b, 0));
Add(new GenericBuyInfo(typeof(CheesePizza), 8, 10, 0x1040, 0)); // OSI just has Pizza
Add(new GenericBuyInfo(typeof(JarHoney), 3, 20, 0x9ec, 0));
Add(new GenericBuyInfo(typeof(BowlFlour), 7, 20, 0xA1E, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(BreadLoaf), 3);
Add(typeof(FrenchBread), 1);
Add(typeof(Cake), 5);
Add(typeof(Cookies), 3);
Add(typeof(Muffins), 2);
Add(typeof(CheesePizza), 4);
Add(typeof(ApplePie), 5);
Add(typeof(PeachCobbler), 5);
Add(typeof(Quiche), 6);
Add(typeof(Dough), 4);
Add(typeof(JarHoney), 1);
Add(typeof(Pitcher), 5);
Add(typeof(SackFlour), 1);
Add(typeof(Eggs), 1);
}
}
}
}

View file

@ -0,0 +1,29 @@
using System.Collections.Generic;
using Server.Items;
using Server.Multis;
namespace Server.Mobiles
{
public class SBBanker : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo("1041243", typeof(ContractOfEmployment), 1252, 20, 0x14F0, 0));
if (BaseHouse.NewVendorSystem)
Add(new GenericBuyInfo("1062332", typeof(VendorRentalContract), 1252, 20, 0x14F0, 0x672));
Add(new GenericBuyInfo("1047016", typeof(CommodityDeed), 5, 20, 0x14F0, 0x47));
}
}
public class InternalSellInfo : GenericSellInfo
{
}
}
}

View file

@ -0,0 +1,35 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBBard : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Drums), 21, 10, 0x0E9C, 0));
Add(new GenericBuyInfo(typeof(Tambourine), 21, 10, 0x0E9E, 0));
Add(new GenericBuyInfo(typeof(LapHarp), 21, 10, 0x0EB2, 0));
Add(new GenericBuyInfo(typeof(Lute), 21, 10, 0x0EB3, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(LapHarp), 10);
Add(typeof(Lute), 10);
Add(typeof(Drums), 10);
Add(typeof(Harp), 10);
Add(typeof(Tambourine), 10);
}
}
}
}

View file

@ -0,0 +1,103 @@
using System.Collections.Generic;
using Server.Items;
using Server.Multis;
namespace Server.Mobiles
{
public class SBBarkeeper : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new BeverageBuyInfo(typeof(BeverageBottle), BeverageType.Ale, 7, 20, 0x99F, 0));
Add(new BeverageBuyInfo(typeof(BeverageBottle), BeverageType.Wine, 7, 20, 0x9C7, 0));
Add(new BeverageBuyInfo(typeof(BeverageBottle), BeverageType.Liquor, 7, 20, 0x99B, 0));
Add(new BeverageBuyInfo(typeof(Jug), BeverageType.Cider, 13, 20, 0x9C8, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Milk, 7, 20, 0x9F0, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Ale, 11, 20, 0x1F95, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Cider, 11, 20, 0x1F97, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Liquor, 11, 20, 0x1F99, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Wine, 11, 20, 0x1F9B, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Water, 11, 20, 0x1F9D, 0));
Add(new GenericBuyInfo(typeof(BreadLoaf), 6, 10, 0x103B, 0));
Add(new GenericBuyInfo(typeof(CheeseWheel), 21, 10, 0x97E, 0));
Add(new GenericBuyInfo(typeof(CookedBird), 17, 20, 0x9B7, 0));
Add(new GenericBuyInfo(typeof(LambLeg), 8, 20, 0x160A, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfCarrots), 3, 20, 0x15F9, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfCorn), 3, 20, 0x15FA, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfLettuce), 3, 20, 0x15FB, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfPeas), 3, 20, 0x15FC, 0));
Add(new GenericBuyInfo(typeof(EmptyPewterBowl), 2, 20, 0x15FD, 0));
Add(new GenericBuyInfo(typeof(PewterBowlOfCorn), 3, 20, 0x15FE, 0));
Add(new GenericBuyInfo(typeof(PewterBowlOfLettuce), 3, 20, 0x15FF, 0));
Add(new GenericBuyInfo(typeof(PewterBowlOfPeas), 3, 20, 0x1600, 0));
Add(new GenericBuyInfo(typeof(PewterBowlOfPotatos), 3, 20, 0x1601, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfStew), 3, 20, 0x1604, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfTomatoSoup), 3, 20, 0x1606, 0));
Add(new GenericBuyInfo(typeof(ApplePie), 7, 20, 0x1041, 0)); //OSI just has Pie, not Apple/Fruit/Meat
Add(new GenericBuyInfo("1016450", typeof(Chessboard), 2, 20, 0xFA6, 0));
Add(new GenericBuyInfo("1016449", typeof(CheckerBoard), 2, 20, 0xFA6, 0));
Add(new GenericBuyInfo(typeof(Backgammon), 2, 20, 0xE1C, 0));
Add(new GenericBuyInfo(typeof(Dices), 2, 20, 0xFA7, 0));
Add(new GenericBuyInfo("1041243", typeof(ContractOfEmployment), 1252, 20, 0x14F0, 0));
Add(new GenericBuyInfo("a barkeep contract", typeof(BarkeepContract), 1252, 20, 0x14F0, 0));
if (BaseHouse.NewVendorSystem)
Add(new GenericBuyInfo("1062332", typeof(VendorRentalContract), 1252, 20, 0x14F0, 0x672));
/*if ( Map == Tokuno )
{
Add( new GenericBuyInfo( typeof( Wasabi ), 2, 20, 0x24E8, 0 ) );
Add( new GenericBuyInfo( typeof( Wasabi ), 2, 20, 0x24E9, 0 ) );
Add( new GenericBuyInfo( typeof( BentoBox ), 6, 20, 0x2836, 0 ) );
Add( new GenericBuyInfo( typeof( BentoBox ), 6, 20, 0x2837, 0 ) );
Add( new GenericBuyInfo( typeof( GreenTeaBasket ), 2, 20, 0x284B, 0 ) );
}*/
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(WoodenBowlOfCarrots), 1);
Add(typeof(WoodenBowlOfCorn), 1);
Add(typeof(WoodenBowlOfLettuce), 1);
Add(typeof(WoodenBowlOfPeas), 1);
Add(typeof(EmptyPewterBowl), 1);
Add(typeof(PewterBowlOfCorn), 1);
Add(typeof(PewterBowlOfLettuce), 1);
Add(typeof(PewterBowlOfPeas), 1);
Add(typeof(PewterBowlOfPotatos), 1);
Add(typeof(WoodenBowlOfStew), 1);
Add(typeof(WoodenBowlOfTomatoSoup), 1);
Add(typeof(BeverageBottle), 3);
Add(typeof(Jug), 6);
Add(typeof(Pitcher), 5);
Add(typeof(GlassMug), 1);
Add(typeof(BreadLoaf), 3);
Add(typeof(CheeseWheel), 12);
Add(typeof(Ribs), 6);
Add(typeof(Peach), 1);
Add(typeof(Pear), 1);
Add(typeof(Grapes), 1);
Add(typeof(Apple), 1);
Add(typeof(Banana), 1);
Add(typeof(Candle), 3);
Add(typeof(Chessboard), 1);
Add(typeof(CheckerBoard), 1);
Add(typeof(Backgammon), 1);
Add(typeof(Dices), 1);
Add(typeof(ContractOfEmployment), 626);
}
}
}
}

View file

@ -0,0 +1,30 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBBeekeeper : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(JarHoney), 3, 20, 0x9EC, 0));
Add(new GenericBuyInfo(typeof(Beeswax), 2, 20, 0x1422, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(JarHoney), 1);
Add(typeof(Beeswax), 1);
}
}
}
}

View file

@ -0,0 +1,225 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBBlacksmith : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(IronIngot), 5, 16, 0x1BF2, 0));
Add(new GenericBuyInfo(typeof(Tongs), 13, 14, 0xFBB, 0));
Add(new GenericBuyInfo(typeof(BronzeShield), 66, 20, 0x1B72, 0));
Add(new GenericBuyInfo(typeof(Buckler), 50, 20, 0x1B73, 0));
Add(new GenericBuyInfo(typeof(MetalKiteShield), 123, 20, 0x1B74, 0));
Add(new GenericBuyInfo(typeof(HeaterShield), 231, 20, 0x1B76, 0));
Add(new GenericBuyInfo(typeof(WoodenKiteShield), 70, 20, 0x1B78, 0));
Add(new GenericBuyInfo(typeof(MetalShield), 121, 20, 0x1B7B, 0));
Add(new GenericBuyInfo(typeof(WoodenShield), 30, 20, 0x1B7A, 0));
Add(new GenericBuyInfo(typeof(PlateGorget), 104, 20, 0x1413, 0));
Add(new GenericBuyInfo(typeof(PlateChest), 243, 20, 0x1415, 0));
Add(new GenericBuyInfo(typeof(PlateLegs), 218, 20, 0x1411, 0));
Add(new GenericBuyInfo(typeof(PlateArms), 188, 20, 0x1410, 0));
Add(new GenericBuyInfo(typeof(PlateGloves), 155, 20, 0x1414, 0));
Add(new GenericBuyInfo(typeof(PlateHelm), 21, 20, 0x1412, 0));
Add(new GenericBuyInfo(typeof(CloseHelm), 18, 20, 0x1408, 0));
Add(new GenericBuyInfo(typeof(CloseHelm), 18, 20, 0x1409, 0));
Add(new GenericBuyInfo(typeof(Helmet), 31, 20, 0x140A, 0));
Add(new GenericBuyInfo(typeof(Helmet), 18, 20, 0x140B, 0));
Add(new GenericBuyInfo(typeof(NorseHelm), 18, 20, 0x140E, 0));
Add(new GenericBuyInfo(typeof(NorseHelm), 18, 20, 0x140F, 0));
Add(new GenericBuyInfo(typeof(Bascinet), 18, 20, 0x140C, 0));
Add(new GenericBuyInfo(typeof(PlateHelm), 21, 20, 0x1419, 0));
Add(new GenericBuyInfo(typeof(ChainCoif), 17, 20, 0x13BB, 0));
Add(new GenericBuyInfo(typeof(ChainChest), 143, 20, 0x13BF, 0));
Add(new GenericBuyInfo(typeof(ChainLegs), 149, 20, 0x13BE, 0));
Add(new GenericBuyInfo(typeof(RingmailChest), 121, 20, 0x13ec, 0));
Add(new GenericBuyInfo(typeof(RingmailLegs), 90, 20, 0x13F0, 0));
Add(new GenericBuyInfo(typeof(RingmailArms), 85, 20, 0x13EE, 0));
Add(new GenericBuyInfo(typeof(RingmailGloves), 93, 20, 0x13eb, 0));
Add(new GenericBuyInfo(typeof(ExecutionersAxe), 30, 20, 0xF45, 0));
Add(new GenericBuyInfo(typeof(Bardiche), 60, 20, 0xF4D, 0));
Add(new GenericBuyInfo(typeof(BattleAxe), 26, 20, 0xF47, 0));
Add(new GenericBuyInfo(typeof(TwoHandedAxe), 32, 20, 0x1443, 0));
Add(new GenericBuyInfo(typeof(Bow), 35, 20, 0x13B2, 0));
Add(new GenericBuyInfo(typeof(ButcherKnife), 14, 20, 0x13F6, 0));
Add(new GenericBuyInfo(typeof(Crossbow), 46, 20, 0xF50, 0));
Add(new GenericBuyInfo(typeof(HeavyCrossbow), 55, 20, 0x13FD, 0));
Add(new GenericBuyInfo(typeof(Cutlass), 24, 20, 0x1441, 0));
Add(new GenericBuyInfo(typeof(Dagger), 21, 20, 0xF52, 0));
Add(new GenericBuyInfo(typeof(Halberd), 42, 20, 0x143E, 0));
Add(new GenericBuyInfo(typeof(HammerPick), 26, 20, 0x143D, 0));
Add(new GenericBuyInfo(typeof(Katana), 33, 20, 0x13FF, 0));
Add(new GenericBuyInfo(typeof(Kryss), 32, 20, 0x1401, 0));
Add(new GenericBuyInfo(typeof(Broadsword), 35, 20, 0xF5E, 0));
Add(new GenericBuyInfo(typeof(Longsword), 55, 20, 0xF61, 0));
Add(new GenericBuyInfo(typeof(ThinLongsword), 27, 20, 0x13B8, 0));
Add(new GenericBuyInfo(typeof(VikingSword), 55, 20, 0x13B9, 0));
Add(new GenericBuyInfo(typeof(Cleaver), 15, 20, 0xEC3, 0));
Add(new GenericBuyInfo(typeof(Axe), 40, 20, 0xF49, 0));
Add(new GenericBuyInfo(typeof(DoubleAxe), 52, 20, 0xF4B, 0));
Add(new GenericBuyInfo(typeof(Pickaxe), 22, 20, 0xE86, 0));
Add(new GenericBuyInfo(typeof(Pitchfork), 19, 20, 0xE87, 0));
Add(new GenericBuyInfo(typeof(Scimitar), 36, 20, 0x13B6, 0));
Add(new GenericBuyInfo(typeof(SkinningKnife), 14, 20, 0xEC4, 0));
Add(new GenericBuyInfo(typeof(LargeBattleAxe), 33, 20, 0x13FB, 0));
Add(new GenericBuyInfo(typeof(WarAxe), 29, 20, 0x13B0, 0));
if (Core.AOS)
{
Add(new GenericBuyInfo(typeof(BoneHarvester), 35, 20, 0x26BB, 0));
Add(new GenericBuyInfo(typeof(CrescentBlade), 37, 20, 0x26C1, 0));
Add(new GenericBuyInfo(typeof(DoubleBladedStaff), 35, 20, 0x26BF, 0));
Add(new GenericBuyInfo(typeof(Lance), 34, 20, 0x26C0, 0));
Add(new GenericBuyInfo(typeof(Pike), 39, 20, 0x26BE, 0));
Add(new GenericBuyInfo(typeof(Scythe), 39, 20, 0x26BA, 0));
Add(new GenericBuyInfo(typeof(CompositeBow), 50, 20, 0x26C2, 0));
Add(new GenericBuyInfo(typeof(RepeatingCrossbow), 57, 20, 0x26C3, 0));
}
Add(new GenericBuyInfo(typeof(BlackStaff), 22, 20, 0xDF1, 0));
Add(new GenericBuyInfo(typeof(Club), 16, 20, 0x13B4, 0));
Add(new GenericBuyInfo(typeof(GnarledStaff), 16, 20, 0x13F8, 0));
Add(new GenericBuyInfo(typeof(Mace), 28, 20, 0xF5C, 0));
Add(new GenericBuyInfo(typeof(Maul), 21, 20, 0x143B, 0));
Add(new GenericBuyInfo(typeof(QuarterStaff), 19, 20, 0xE89, 0));
Add(new GenericBuyInfo(typeof(ShepherdsCrook), 20, 20, 0xE81, 0));
Add(new GenericBuyInfo(typeof(SmithHammer), 21, 20, 0x13E3, 0));
Add(new GenericBuyInfo(typeof(ShortSpear), 23, 20, 0x1403, 0));
Add(new GenericBuyInfo(typeof(Spear), 31, 20, 0xF62, 0));
Add(new GenericBuyInfo(typeof(WarHammer), 25, 20, 0x1439, 0));
Add(new GenericBuyInfo(typeof(WarMace), 31, 20, 0x1407, 0));
if (Core.AOS)
{
Add(new GenericBuyInfo(typeof(Scepter), 39, 20, 0x26BC, 0));
Add(new GenericBuyInfo(typeof(BladedStaff), 40, 20, 0x26BD, 0));
}
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Tongs), 7);
Add(typeof(IronIngot), 4);
Add(typeof(Buckler), 25);
Add(typeof(BronzeShield), 33);
Add(typeof(MetalShield), 60);
Add(typeof(MetalKiteShield), 62);
Add(typeof(HeaterShield), 115);
Add(typeof(WoodenKiteShield), 35);
Add(typeof(WoodenShield), 15);
Add(typeof(PlateArms), 94);
Add(typeof(PlateChest), 121);
Add(typeof(PlateGloves), 72);
Add(typeof(PlateGorget), 52);
Add(typeof(PlateLegs), 109);
Add(typeof(FemalePlateChest), 113);
Add(typeof(FemaleLeatherChest), 18);
Add(typeof(FemaleStuddedChest), 25);
Add(typeof(LeatherShorts), 14);
Add(typeof(LeatherSkirt), 11);
Add(typeof(LeatherBustierArms), 11);
Add(typeof(StuddedBustierArms), 27);
Add(typeof(Bascinet), 9);
Add(typeof(CloseHelm), 9);
Add(typeof(Helmet), 9);
Add(typeof(NorseHelm), 9);
Add(typeof(PlateHelm), 10);
Add(typeof(ChainCoif), 6);
Add(typeof(ChainChest), 71);
Add(typeof(ChainLegs), 74);
Add(typeof(RingmailArms), 42);
Add(typeof(RingmailChest), 60);
Add(typeof(RingmailGloves), 26);
Add(typeof(RingmailLegs), 45);
Add(typeof(BattleAxe), 13);
Add(typeof(DoubleAxe), 26);
Add(typeof(ExecutionersAxe), 15);
Add(typeof(LargeBattleAxe), 16);
Add(typeof(Pickaxe), 11);
Add(typeof(TwoHandedAxe), 16);
Add(typeof(WarAxe), 14);
Add(typeof(Axe), 20);
Add(typeof(Bardiche), 30);
Add(typeof(Halberd), 21);
Add(typeof(ButcherKnife), 7);
Add(typeof(Cleaver), 7);
Add(typeof(Dagger), 10);
Add(typeof(SkinningKnife), 7);
Add(typeof(Club), 8);
Add(typeof(HammerPick), 13);
Add(typeof(Mace), 14);
Add(typeof(Maul), 10);
Add(typeof(WarHammer), 12);
Add(typeof(WarMace), 15);
Add(typeof(HeavyCrossbow), 27);
Add(typeof(Bow), 17);
Add(typeof(Crossbow), 23);
if (Core.AOS)
{
Add(typeof(CompositeBow), 25);
Add(typeof(RepeatingCrossbow), 28);
Add(typeof(Scepter), 20);
Add(typeof(BladedStaff), 20);
Add(typeof(Scythe), 19);
Add(typeof(BoneHarvester), 17);
Add(typeof(Scepter), 18);
Add(typeof(BladedStaff), 16);
Add(typeof(Pike), 19);
Add(typeof(DoubleBladedStaff), 17);
Add(typeof(Lance), 17);
Add(typeof(CrescentBlade), 18);
}
Add(typeof(Spear), 15);
Add(typeof(Pitchfork), 9);
Add(typeof(ShortSpear), 11);
Add(typeof(BlackStaff), 11);
Add(typeof(GnarledStaff), 8);
Add(typeof(QuarterStaff), 9);
Add(typeof(ShepherdsCrook), 10);
Add(typeof(SmithHammer), 10);
Add(typeof(Broadsword), 17);
Add(typeof(Cutlass), 12);
Add(typeof(Katana), 16);
Add(typeof(Kryss), 16);
Add(typeof(Longsword), 27);
Add(typeof(Scimitar), 18);
Add(typeof(ThinLongsword), 13);
Add(typeof(VikingSword), 27);
}
}
}
}

View file

@ -0,0 +1,28 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBBowyer : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(FletcherTools), 2, 20, 0x1022, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(FletcherTools), 1);
}
}
}
}

View file

@ -0,0 +1,46 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBButcher : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Bacon), 7, 20, 0x979, 0));
Add(new GenericBuyInfo(typeof(Ham), 26, 20, 0x9C9, 0));
Add(new GenericBuyInfo(typeof(Sausage), 18, 20, 0x9C0, 0));
Add(new GenericBuyInfo(typeof(RawChickenLeg), 6, 20, 0x1607, 0));
Add(new GenericBuyInfo(typeof(RawBird), 9, 20, 0x9B9, 0));
Add(new GenericBuyInfo(typeof(RawLambLeg), 9, 20, 0x1609, 0));
Add(new GenericBuyInfo(typeof(RawRibs), 16, 20, 0x9F1, 0));
Add(new GenericBuyInfo(typeof(ButcherKnife), 13, 20, 0x13F6, 0));
Add(new GenericBuyInfo(typeof(Cleaver), 13, 20, 0xEC3, 0));
Add(new GenericBuyInfo(typeof(SkinningKnife), 13, 20, 0xEC4, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(RawRibs), 8);
Add(typeof(RawLambLeg), 4);
Add(typeof(RawChickenLeg), 3);
Add(typeof(RawBird), 4);
Add(typeof(Bacon), 3);
Add(typeof(Sausage), 9);
Add(typeof(Ham), 13);
Add(typeof(ButcherKnife), 7);
Add(typeof(Cleaver), 7);
Add(typeof(SkinningKnife), 7);
}
}
}
}

View file

@ -0,0 +1,85 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBCarpenter : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Nails), 3, 20, 0x102E, 0));
Add(new GenericBuyInfo(typeof(Axle), 2, 20, 0x105B, 0));
Add(new GenericBuyInfo(typeof(Board), 3, 20, 0x1BD7, 0));
Add(new GenericBuyInfo(typeof(DrawKnife), 10, 20, 0x10E4, 0));
Add(new GenericBuyInfo(typeof(Froe), 10, 20, 0x10E5, 0));
Add(new GenericBuyInfo(typeof(Scorp), 10, 20, 0x10E7, 0));
Add(new GenericBuyInfo(typeof(Inshave), 10, 20, 0x10E6, 0));
Add(new GenericBuyInfo(typeof(DovetailSaw), 12, 20, 0x1028, 0));
Add(new GenericBuyInfo(typeof(Saw), 15, 20, 0x1034, 0));
Add(new GenericBuyInfo(typeof(Hammer), 17, 20, 0x102A, 0));
Add(new GenericBuyInfo(typeof(MouldingPlane), 11, 20, 0x102C, 0));
Add(new GenericBuyInfo(typeof(SmoothingPlane), 10, 20, 0x1032, 0));
Add(new GenericBuyInfo(typeof(JointingPlane), 11, 20, 0x1030, 0));
Add(new GenericBuyInfo(typeof(Drums), 21, 20, 0xE9C, 0));
Add(new GenericBuyInfo(typeof(Tambourine), 21, 20, 0xE9D, 0));
Add(new GenericBuyInfo(typeof(LapHarp), 21, 20, 0xEB2, 0));
Add(new GenericBuyInfo(typeof(Lute), 21, 20, 0xEB3, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(WoodenBox), 7);
Add(typeof(SmallCrate), 5);
Add(typeof(MediumCrate), 6);
Add(typeof(LargeCrate), 7);
Add(typeof(WoodenChest), 15);
Add(typeof(LargeTable), 10);
Add(typeof(Nightstand), 7);
Add(typeof(YewWoodTable), 10);
Add(typeof(Throne), 24);
Add(typeof(WoodenThrone), 6);
Add(typeof(Stool), 6);
Add(typeof(FootStool), 6);
Add(typeof(FancyWoodenChairCushion), 12);
Add(typeof(WoodenChairCushion), 10);
Add(typeof(WoodenChair), 8);
Add(typeof(BambooChair), 6);
Add(typeof(WoodenBench), 6);
Add(typeof(Saw), 9);
Add(typeof(Scorp), 6);
Add(typeof(SmoothingPlane), 6);
Add(typeof(DrawKnife), 6);
Add(typeof(Froe), 6);
Add(typeof(Hammer), 14);
Add(typeof(Inshave), 6);
Add(typeof(JointingPlane), 6);
Add(typeof(MouldingPlane), 6);
Add(typeof(DovetailSaw), 7);
Add(typeof(Board), 2);
Add(typeof(Axle), 1);
Add(typeof(Club), 13);
Add(typeof(Lute), 10);
Add(typeof(LapHarp), 10);
Add(typeof(Tambourine), 10);
Add(typeof(Drums), 10);
Add(typeof(Log), 1);
}
}
}
}

View file

@ -0,0 +1,34 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBCobbler : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(ThighBoots), 15, 20, 0x1711, Utility.RandomNeutralHue()));
Add(new GenericBuyInfo(typeof(Shoes), 8, 20, 0x170f, Utility.RandomNeutralHue()));
Add(new GenericBuyInfo(typeof(Boots), 10, 20, 0x170b, Utility.RandomNeutralHue()));
Add(new GenericBuyInfo(typeof(Sandals), 5, 20, 0x170d, Utility.RandomNeutralHue()));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Shoes), 4);
Add(typeof(Boots), 5);
Add(typeof(ThighBoots), 7);
Add(typeof(Sandals), 2);
}
}
}
}

View file

@ -0,0 +1,81 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBCook : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(BreadLoaf), 5, 20, 0x103B, 0));
Add(new GenericBuyInfo(typeof(BreadLoaf), 5, 20, 0x103C, 0));
Add(new GenericBuyInfo(typeof(ApplePie), 7, 20, 0x1041, 0)); //OSI just has Pie, not Apple/Fruit/Meat
Add(new GenericBuyInfo(typeof(Cake), 13, 20, 0x9E9, 0));
Add(new GenericBuyInfo(typeof(Muffins), 3, 20, 0x9EA, 0));
Add(new GenericBuyInfo(typeof(CheeseWheel), 21, 10, 0x97E, 0));
Add(new GenericBuyInfo(typeof(CookedBird), 17, 20, 0x9B7, 0));
Add(new GenericBuyInfo(typeof(LambLeg), 8, 20, 0x160A, 0));
Add(new GenericBuyInfo(typeof(ChickenLeg), 5, 20, 0x1608, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfCarrots), 3, 20, 0x15F9, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfCorn), 3, 20, 0x15FA, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfLettuce), 3, 20, 0x15FB, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfPeas), 3, 20, 0x15FC, 0));
Add(new GenericBuyInfo(typeof(EmptyPewterBowl), 2, 20, 0x15FD, 0));
Add(new GenericBuyInfo(typeof(PewterBowlOfCorn), 3, 20, 0x15FE, 0));
Add(new GenericBuyInfo(typeof(PewterBowlOfLettuce), 3, 20, 0x15FF, 0));
Add(new GenericBuyInfo(typeof(PewterBowlOfPeas), 3, 20, 0x1600, 0));
Add(new GenericBuyInfo(typeof(PewterBowlOfPotatos), 3, 20, 0x1601, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfStew), 3, 20, 0x1604, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfTomatoSoup), 3, 20, 0x1606, 0));
Add(new GenericBuyInfo(typeof(RoastPig), 106, 20, 0x9BB, 0));
Add(new GenericBuyInfo(typeof(SackFlour), 3, 20, 0x1039, 0));
Add(new GenericBuyInfo(typeof(JarHoney), 3, 20, 0x9EC, 0));
Add(new GenericBuyInfo(typeof(RollingPin), 2, 20, 0x1043, 0));
Add(new GenericBuyInfo(typeof(FlourSifter), 2, 20, 0x103E, 0));
Add(new GenericBuyInfo("1044567", typeof(Skillet), 3, 20, 0x97F, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(CheeseWheel), 12);
Add(typeof(CookedBird), 8);
Add(typeof(RoastPig), 53);
Add(typeof(Cake), 5);
Add(typeof(JarHoney), 1);
Add(typeof(SackFlour), 1);
Add(typeof(BreadLoaf), 2);
Add(typeof(ChickenLeg), 3);
Add(typeof(LambLeg), 4);
Add(typeof(Skillet), 1);
Add(typeof(FlourSifter), 1);
Add(typeof(RollingPin), 1);
Add(typeof(Muffins), 1);
Add(typeof(ApplePie), 3);
Add(typeof(WoodenBowlOfCarrots), 1);
Add(typeof(WoodenBowlOfCorn), 1);
Add(typeof(WoodenBowlOfLettuce), 1);
Add(typeof(WoodenBowlOfPeas), 1);
Add(typeof(EmptyPewterBowl), 1);
Add(typeof(PewterBowlOfCorn), 1);
Add(typeof(PewterBowlOfLettuce), 1);
Add(typeof(PewterBowlOfPeas), 1);
Add(typeof(PewterBowlOfPotatos), 1);
Add(typeof(WoodenBowlOfStew), 1);
Add(typeof(WoodenBowlOfTomatoSoup), 1);
}
}
}
}

View file

@ -0,0 +1,68 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBFarmer : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Cabbage), 5, 20, 0xC7B, 0));
Add(new GenericBuyInfo(typeof(Cantaloupe), 6, 20, 0xC79, 0));
Add(new GenericBuyInfo(typeof(Carrot), 3, 20, 0xC78, 0));
Add(new GenericBuyInfo(typeof(HoneydewMelon), 7, 20, 0xC74, 0));
Add(new GenericBuyInfo(typeof(Squash), 3, 20, 0xC72, 0));
Add(new GenericBuyInfo(typeof(Lettuce), 5, 20, 0xC70, 0));
Add(new GenericBuyInfo(typeof(Onion), 3, 20, 0xC6D, 0));
Add(new GenericBuyInfo(typeof(Pumpkin), 11, 20, 0xC6A, 0));
Add(new GenericBuyInfo(typeof(GreenGourd), 3, 20, 0xC66, 0));
Add(new GenericBuyInfo(typeof(YellowGourd), 3, 20, 0xC64, 0));
//Add( new GenericBuyInfo( typeof( Turnip ), 6, 20, XXXXXX, 0 ) );
Add(new GenericBuyInfo(typeof(Watermelon), 7, 20, 0xC5C, 0));
//Add( new GenericBuyInfo( typeof( EarOfCorn ), 3, 20, XXXXXX, 0 ) );
Add(new GenericBuyInfo(typeof(Eggs), 3, 20, 0x9B5, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Milk, 7, 20, 0x9AD, 0));
Add(new GenericBuyInfo(typeof(Peach), 3, 20, 0x9D2, 0));
Add(new GenericBuyInfo(typeof(Pear), 3, 20, 0x994, 0));
Add(new GenericBuyInfo(typeof(Lemon), 3, 20, 0x1728, 0));
Add(new GenericBuyInfo(typeof(Lime), 3, 20, 0x172A, 0));
Add(new GenericBuyInfo(typeof(Grapes), 3, 20, 0x9D1, 0));
Add(new GenericBuyInfo(typeof(Apple), 3, 20, 0x9D0, 0));
Add(new GenericBuyInfo(typeof(SheafOfHay), 2, 20, 0xF36, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Pitcher), 5);
Add(typeof(Eggs), 1);
Add(typeof(Apple), 1);
Add(typeof(Grapes), 1);
Add(typeof(Watermelon), 3);
Add(typeof(YellowGourd), 1);
Add(typeof(GreenGourd), 1);
Add(typeof(Pumpkin), 5);
Add(typeof(Onion), 1);
Add(typeof(Lettuce), 2);
Add(typeof(Squash), 1);
Add(typeof(Carrot), 1);
Add(typeof(HoneydewMelon), 3);
Add(typeof(Cantaloupe), 3);
Add(typeof(Cabbage), 2);
Add(typeof(Lemon), 1);
Add(typeof(Lime), 1);
Add(typeof(Peach), 1);
Add(typeof(Pear), 1);
Add(typeof(SheafOfHay), 1);
}
}
}
}

View file

@ -0,0 +1,50 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBFisherman : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(RawFishSteak), 3, 20, 0x97A, 0));
//TODO: Add( new GenericBuyInfo( typeof( SmallFish ), 3, 20, 0xDD6, 0 ) );
//TODO: Add( new GenericBuyInfo( typeof( SmallFish ), 3, 20, 0xDD7, 0 ) );
Add(new GenericBuyInfo(typeof(Fish), 6, 80, 0x9CC, 0));
Add(new GenericBuyInfo(typeof(Fish), 6, 80, 0x9CD, 0));
Add(new GenericBuyInfo(typeof(Fish), 6, 80, 0x9CE, 0));
Add(new GenericBuyInfo(typeof(Fish), 6, 80, 0x9CF, 0));
Add(new GenericBuyInfo(typeof(FishingPole), 15, 20, 0xDC0, 0));
#region Mondain's Legacy
Add(new GenericBuyInfo(typeof(AquariumFishNet), 250, 20, 0xDC8, 0x240));
Add(new GenericBuyInfo(typeof(AquariumFood), 62, 20, 0xEFC, 0));
Add(new GenericBuyInfo(typeof(FishBowl), 6312, 20, 0x241C, 0x482));
Add(new GenericBuyInfo(typeof(VacationWafer), 67, 20, 0x971, 0));
Add(new GenericBuyInfo(typeof(AquariumNorthDeed), 250002, 20, 0x14F0, 0));
Add(new GenericBuyInfo(typeof(AquariumEastDeed), 250002, 20, 0x14F0, 0));
Add(new GenericBuyInfo(typeof(NewAquariumBook), 15, 20, 0xFF2, 0));
#endregion
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(RawFishSteak), 1);
Add(typeof(Fish), 1);
//TODO: Add( typeof( SmallFish ), 1 );
Add(typeof(FishingPole), 7);
}
}
}
}

View file

@ -0,0 +1,28 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBFortuneTeller : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Bandage), 5, 20, 0xE21, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Bandage), 1);
}
}
}
}

View file

@ -0,0 +1,28 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBFurtrader : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Hides), 3, 40, 0x1079, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Hides), 2);
}
}
}
}

View file

@ -0,0 +1,76 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBGlassblower : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(RefreshPotion), 15, 10, 0xF0B, 0));
Add(new GenericBuyInfo(typeof(AgilityPotion), 15, 10, 0xF08, 0));
Add(new GenericBuyInfo(typeof(NightSightPotion), 15, 10, 0xF06, 0));
Add(new GenericBuyInfo(typeof(LesserHealPotion), 15, 10, 0xF0C, 0));
Add(new GenericBuyInfo(typeof(StrengthPotion), 15, 10, 0xF09, 0));
Add(new GenericBuyInfo(typeof(LesserPoisonPotion), 15, 10, 0xF0A, 0));
Add(new GenericBuyInfo(typeof(LesserCurePotion), 15, 10, 0xF07, 0));
Add(new GenericBuyInfo(typeof(LesserExplosionPotion), 21, 10, 0xF0D, 0));
Add(new GenericBuyInfo(typeof(MortarPestle), 8, 10, 0xE9B, 0));
Add(new GenericBuyInfo(typeof(BlackPearl), 5, 20, 0xF7A, 0));
Add(new GenericBuyInfo(typeof(Bloodmoss), 5, 20, 0xF7B, 0));
Add(new GenericBuyInfo(typeof(Garlic), 3, 20, 0xF84, 0));
Add(new GenericBuyInfo(typeof(Ginseng), 3, 20, 0xF85, 0));
Add(new GenericBuyInfo(typeof(MandrakeRoot), 3, 20, 0xF86, 0));
Add(new GenericBuyInfo(typeof(Nightshade), 3, 20, 0xF88, 0));
Add(new GenericBuyInfo(typeof(SpidersSilk), 3, 20, 0xF8D, 0));
Add(new GenericBuyInfo(typeof(SulfurousAsh), 3, 20, 0xF8C, 0));
Add(new GenericBuyInfo(typeof(Bottle), 5, 100, 0xF0E, 0));
Add(new GenericBuyInfo(typeof(HeatingStand), 2, 100, 0x1849, 0));
Add(new GenericBuyInfo("Crafting Glass With Glassblowing", typeof(GlassblowingBook), 10637, 30, 0xFF4, 0));
Add(new GenericBuyInfo("Finding Glass-Quality Sand", typeof(SandMiningBook), 10637, 30, 0xFF4, 0));
Add(new GenericBuyInfo("1044608", typeof(Blowpipe), 21, 100, 0xE8A, 0x3B9));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(BlackPearl), 3);
Add(typeof(Bloodmoss), 3);
Add(typeof(MandrakeRoot), 2);
Add(typeof(Garlic), 2);
Add(typeof(Ginseng), 2);
Add(typeof(Nightshade), 2);
Add(typeof(SpidersSilk), 2);
Add(typeof(SulfurousAsh), 2);
Add(typeof(Bottle), 3);
Add(typeof(MortarPestle), 4);
Add(typeof(NightSightPotion), 7);
Add(typeof(AgilityPotion), 7);
Add(typeof(StrengthPotion), 7);
Add(typeof(RefreshPotion), 7);
Add(typeof(LesserCurePotion), 7);
Add(typeof(LesserHealPotion), 7);
Add(typeof(LesserPoisonPotion), 7);
Add(typeof(LesserExplosionPotion), 10);
Add(typeof(GlassblowingBook), 5000);
Add(typeof(SandMiningBook), 5000);
Add(typeof(Blowpipe), 10);
}
}
}
}

View file

@ -0,0 +1,32 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBHairStylist : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo("special beard dye", typeof(SpecialBeardDye), 500000, 20, 0xE26, 0));
Add(new GenericBuyInfo("special hair dye", typeof(SpecialHairDye), 500000, 20, 0xE26, 0));
Add(new GenericBuyInfo("1041060", typeof(HairDye), 60, 20, 0xEFF, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(HairDye), 30);
Add(typeof(SpecialBeardDye), 250000);
Add(typeof(SpecialHairDye), 250000);
}
}
}
}

View file

@ -0,0 +1,36 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBHealer : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Bandage), 5, 20, 0xE21, 0));
Add(new GenericBuyInfo(typeof(LesserHealPotion), 15, 20, 0xF0C, 0));
Add(new GenericBuyInfo(typeof(Ginseng), 3, 20, 0xF85, 0));
Add(new GenericBuyInfo(typeof(Garlic), 3, 20, 0xF84, 0));
Add(new GenericBuyInfo(typeof(RefreshPotion), 15, 20, 0xF0B, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Bandage), 1);
Add(typeof(LesserHealPotion), 7);
Add(typeof(RefreshPotion), 7);
Add(typeof(Garlic), 2);
Add(typeof(Ginseng), 2);
}
}
}
}

View file

@ -0,0 +1,40 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBHerbalist : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Ginseng), 3, 20, 0xF85, 0));
Add(new GenericBuyInfo(typeof(Garlic), 3, 20, 0xF84, 0));
Add(new GenericBuyInfo(typeof(MandrakeRoot), 3, 20, 0xF86, 0));
Add(new GenericBuyInfo(typeof(Nightshade), 3, 20, 0xF88, 0));
Add(new GenericBuyInfo(typeof(Bloodmoss), 5, 20, 0xF7B, 0));
Add(new GenericBuyInfo(typeof(MortarPestle), 8, 20, 0xE9B, 0));
Add(new GenericBuyInfo(typeof(Bottle), 5, 20, 0xF0E, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Bloodmoss), 3);
Add(typeof(MandrakeRoot), 2);
Add(typeof(Garlic), 2);
Add(typeof(Ginseng), 2);
Add(typeof(Nightshade), 2);
Add(typeof(Bottle), 3);
Add(typeof(MortarPestle), 4);
}
}
}
}

View file

@ -0,0 +1,87 @@
using System;
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBHolyMage : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Spellbook), 18, 10, 0xEFA, 0));
Add(new GenericBuyInfo(typeof(ScribesPen), 8, 10, 0xFBF, 0));
Add(new GenericBuyInfo(typeof(BlankScroll), 5, 20, 0x0E34, 0));
Add(new GenericBuyInfo("1041072", typeof(MagicWizardsHat), 11, 10, 0x1718, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(RecallRune), 15, 10, 0x1f14, 0));
Add(new GenericBuyInfo(typeof(RefreshPotion), 15, 20, 0xF0B, 0));
Add(new GenericBuyInfo(typeof(AgilityPotion), 15, 20, 0xF08, 0));
Add(new GenericBuyInfo(typeof(NightSightPotion), 15, 20, 0xF06, 0));
Add(new GenericBuyInfo(typeof(LesserHealPotion), 15, 20, 0xF0C, 0));
Add(new GenericBuyInfo(typeof(StrengthPotion), 15, 20, 0xF09, 0));
Add(new GenericBuyInfo(typeof(LesserCurePotion), 15, 20, 0xF07, 0));
Add(new GenericBuyInfo(typeof(BlackPearl), 5, 20, 0xF7A, 0));
Add(new GenericBuyInfo(typeof(Bloodmoss), 5, 20, 0xF7B, 0));
Add(new GenericBuyInfo(typeof(Garlic), 3, 20, 0xF84, 0));
Add(new GenericBuyInfo(typeof(Ginseng), 3, 20, 0xF85, 0));
Add(new GenericBuyInfo(typeof(MandrakeRoot), 3, 20, 0xF86, 0));
Add(new GenericBuyInfo(typeof(Nightshade), 3, 20, 0xF88, 0));
Add(new GenericBuyInfo(typeof(SpidersSilk), 3, 20, 0xF8D, 0));
Add(new GenericBuyInfo(typeof(SulfurousAsh), 3, 20, 0xF8C, 0));
Type[] types = Loot.RegularScrollTypes;
for (int i = 0; i < types.Length && i < 8; ++i)
{
int itemID = 0x1F2E + i;
if (i == 6)
itemID = 0x1F2D;
else if (i > 6)
--itemID;
Add(new GenericBuyInfo(types[i], 12 + i / 8 * 10, 20, itemID, 0));
}
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(BlackPearl), 3);
Add(typeof(Bloodmoss), 3);
Add(typeof(MandrakeRoot), 2);
Add(typeof(Garlic), 2);
Add(typeof(Ginseng), 2);
Add(typeof(Nightshade), 2);
Add(typeof(SpidersSilk), 2);
Add(typeof(SulfurousAsh), 2);
Add(typeof(RecallRune), 8);
Add(typeof(Spellbook), 9);
Add(typeof(BlankScroll), 3);
Add(typeof(NightSightPotion), 7);
Add(typeof(AgilityPotion), 7);
Add(typeof(StrengthPotion), 7);
Add(typeof(RefreshPotion), 7);
Add(typeof(LesserCurePotion), 7);
Add(typeof(LesserHealPotion), 7);
Type[] types = Loot.RegularScrollTypes;
for (int i = 0; i < types.Length; ++i)
Add(types[i], (i / 8 + 2) * 2);
}
}
}
}

View file

@ -0,0 +1,47 @@
using System.Collections.Generic;
using Server.Multis.Deeds;
namespace Server.Mobiles
{
public class SBHouseDeed : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo("deed to a stone-and-plaster house", typeof(StonePlasterHouseDeed), 43800, 20, 0x14F0,
0));
Add(new GenericBuyInfo("deed to a field stone house", typeof(FieldStoneHouseDeed), 43800, 20, 0x14F0, 0));
Add(new GenericBuyInfo("deed to a small brick house", typeof(SmallBrickHouseDeed), 43800, 20, 0x14F0, 0));
Add(new GenericBuyInfo("deed to a wooden house", typeof(WoodHouseDeed), 43800, 20, 0x14F0, 0));
Add(new GenericBuyInfo("deed to a wood-and-plaster house", typeof(WoodPlasterHouseDeed), 43800, 20, 0x14F0,
0));
Add(new GenericBuyInfo("deed to a thatched-roof cottage", typeof(ThatchedRoofCottageDeed), 43800, 20, 0x14F0,
0));
Add(new GenericBuyInfo("deed to a brick house", typeof(BrickHouseDeed), 144500, 20, 0x14F0, 0));
Add(new GenericBuyInfo("deed to a two-story wood-and-plaster house", typeof(TwoStoryWoodPlasterHouseDeed),
192400, 20, 0x14F0, 0));
Add(new GenericBuyInfo("deed to a tower", typeof(TowerDeed), 433200, 20, 0x14F0, 0));
Add(new GenericBuyInfo("deed to a small stone keep", typeof(KeepDeed), 665200, 20, 0x14F0, 0));
Add(new GenericBuyInfo("deed to a castle", typeof(CastleDeed), 1022800, 20, 0x14F0, 0));
Add(new GenericBuyInfo("deed to a large house with patio", typeof(LargePatioDeed), 152800, 20, 0x14F0, 0));
Add(new GenericBuyInfo("deed to a marble house with patio", typeof(LargeMarbleDeed), 192000, 20, 0x14F0, 0));
Add(new GenericBuyInfo("deed to a small stone tower", typeof(SmallTowerDeed), 88500, 20, 0x14F0, 0));
Add(new GenericBuyInfo("deed to a two story log cabin", typeof(LogCabinDeed), 97800, 20, 0x14F0, 0));
Add(new GenericBuyInfo("deed to a sandstone house with patio", typeof(SandstonePatioDeed), 90900, 20, 0x14F0,
0));
Add(new GenericBuyInfo("deed to a two story villa", typeof(VillaDeed), 136500, 20, 0x14F0, 0));
Add(new GenericBuyInfo("deed to a small stone workshop", typeof(StoneWorkshopDeed), 60600, 20, 0x14F0, 0));
Add(new GenericBuyInfo("deed to a small marble workshop", typeof(MarbleWorkshopDeed), 63000, 20, 0x14F0, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
}
}
}

View file

@ -0,0 +1,12 @@
using System.Collections.Generic;
namespace Server.Mobiles
{
public abstract class SBInfo
{
public static readonly List<SBInfo> Empty = new List<SBInfo>();
public abstract IShopSellInfo SellInfo{ get; }
public abstract List<GenericBuyInfo> BuyInfo{ get; }
}
}

View file

@ -0,0 +1,109 @@
using System.Collections.Generic;
using Server.Items;
using Server.Multis;
namespace Server.Mobiles
{
public class SBInnKeeper : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new BeverageBuyInfo(typeof(BeverageBottle), BeverageType.Ale, 7, 20, 0x99F, 0));
Add(new BeverageBuyInfo(typeof(BeverageBottle), BeverageType.Wine, 7, 20, 0x9C7, 0));
Add(new BeverageBuyInfo(typeof(BeverageBottle), BeverageType.Liquor, 7, 20, 0x99B, 0));
Add(new BeverageBuyInfo(typeof(Jug), BeverageType.Cider, 13, 20, 0x9C8, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Milk, 7, 20, 0x9F0, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Ale, 11, 20, 0x1F95, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Cider, 11, 20, 0x1F97, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Liquor, 11, 20, 0x1F99, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Wine, 11, 20, 0x1F9B, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Water, 11, 20, 0x1F9D, 0));
Add(new GenericBuyInfo(typeof(BreadLoaf), 6, 10, 0x103B, 0));
Add(new GenericBuyInfo(typeof(CheeseWheel), 21, 10, 0x97E, 0));
Add(new GenericBuyInfo(typeof(CookedBird), 17, 20, 0x9B7, 0));
Add(new GenericBuyInfo(typeof(LambLeg), 8, 20, 0x160A, 0));
Add(new GenericBuyInfo(typeof(ChickenLeg), 5, 20, 0x1608, 0));
Add(new GenericBuyInfo(typeof(Ribs), 7, 20, 0x9F2, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfCarrots), 3, 20, 0x15F9, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfCorn), 3, 20, 0x15FA, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfLettuce), 3, 20, 0x15FB, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfPeas), 3, 20, 0x15FC, 0));
Add(new GenericBuyInfo(typeof(EmptyPewterBowl), 2, 20, 0x15FD, 0));
Add(new GenericBuyInfo(typeof(PewterBowlOfCorn), 3, 20, 0x15FE, 0));
Add(new GenericBuyInfo(typeof(PewterBowlOfLettuce), 3, 20, 0x15FF, 0));
Add(new GenericBuyInfo(typeof(PewterBowlOfPeas), 3, 20, 0x1600, 0));
Add(new GenericBuyInfo(typeof(PewterBowlOfPotatos), 3, 20, 0x1601, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfStew), 3, 20, 0x1604, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfTomatoSoup), 3, 20, 0x1606, 0));
Add(new GenericBuyInfo(typeof(ApplePie), 7, 20, 0x1041, 0)); //OSI just has Pie, not Apple/Fruit/Meat
Add(new GenericBuyInfo(typeof(Peach), 3, 20, 0x9D2, 0));
Add(new GenericBuyInfo(typeof(Pear), 3, 20, 0x994, 0));
Add(new GenericBuyInfo(typeof(Grapes), 3, 20, 0x9D1, 0));
Add(new GenericBuyInfo(typeof(Apple), 3, 20, 0x9D0, 0));
Add(new GenericBuyInfo(typeof(Banana), 2, 20, 0x171F, 0));
Add(new GenericBuyInfo(typeof(Torch), 7, 20, 0xF6B, 0));
Add(new GenericBuyInfo(typeof(Candle), 6, 20, 0xA28, 0));
Add(new GenericBuyInfo(typeof(Beeswax), 1, 20, 0x1422, 0));
Add(new GenericBuyInfo(typeof(Backpack), 15, 20, 0x9B2, 0));
Add(new GenericBuyInfo("1016450", typeof(Chessboard), 2, 20, 0xFA6, 0));
Add(new GenericBuyInfo("1016449", typeof(CheckerBoard), 2, 20, 0xFA6, 0));
Add(new GenericBuyInfo(typeof(Backgammon), 2, 20, 0xE1C, 0));
Add(new GenericBuyInfo(typeof(Dices), 2, 20, 0xFA7, 0));
Add(new GenericBuyInfo("1041243", typeof(ContractOfEmployment), 1252, 20, 0x14F0, 0));
Add(new GenericBuyInfo("a barkeep contract", typeof(BarkeepContract), 1252, 20, 0x14F0, 0));
if (BaseHouse.NewVendorSystem)
Add(new GenericBuyInfo("1062332", typeof(VendorRentalContract), 1252, 20, 0x14F0, 0x672));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(BeverageBottle), 3);
Add(typeof(Jug), 6);
Add(typeof(Pitcher), 5);
Add(typeof(GlassMug), 1);
Add(typeof(BreadLoaf), 3);
Add(typeof(CheeseWheel), 12);
Add(typeof(Ribs), 6);
Add(typeof(Peach), 1);
Add(typeof(Pear), 1);
Add(typeof(Grapes), 1);
Add(typeof(Apple), 1);
Add(typeof(Banana), 1);
Add(typeof(Torch), 3);
Add(typeof(Candle), 3);
Add(typeof(Chessboard), 1);
Add(typeof(CheckerBoard), 1);
Add(typeof(Backgammon), 1);
Add(typeof(Dices), 1);
Add(typeof(ContractOfEmployment), 626);
Add(typeof(Beeswax), 1);
Add(typeof(WoodenBowlOfCarrots), 1);
Add(typeof(WoodenBowlOfCorn), 1);
Add(typeof(WoodenBowlOfLettuce), 1);
Add(typeof(WoodenBowlOfPeas), 1);
Add(typeof(EmptyPewterBowl), 1);
Add(typeof(PewterBowlOfCorn), 1);
Add(typeof(PewterBowlOfLettuce), 1);
Add(typeof(PewterBowlOfPeas), 1);
Add(typeof(PewterBowlOfPotatos), 1);
Add(typeof(WoodenBowlOfStew), 1);
Add(typeof(WoodenBowlOfTomatoSoup), 1);
}
}
}
}

View file

@ -0,0 +1,73 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBJewel : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(GoldRing), 27, 20, 0x108A, 0));
Add(new GenericBuyInfo(typeof(Necklace), 26, 20, 0x1085, 0));
Add(new GenericBuyInfo(typeof(GoldNecklace), 27, 20, 0x1088, 0));
Add(new GenericBuyInfo(typeof(GoldBeadNecklace), 27, 20, 0x1089, 0));
Add(new GenericBuyInfo(typeof(Beads), 27, 20, 0x108B, 0));
Add(new GenericBuyInfo(typeof(GoldBracelet), 27, 20, 0x1086, 0));
Add(new GenericBuyInfo(typeof(GoldEarrings), 27, 20, 0x1087, 0));
Add(new GenericBuyInfo("1060740", typeof(BroadcastCrystal), 68, 20, 0x1ED0, 0,
new object[] { 500 })); // 500 charges
Add(new GenericBuyInfo("1060740", typeof(BroadcastCrystal), 131, 20, 0x1ED0, 0,
new object[] { 1000 })); // 1000 charges
Add(new GenericBuyInfo("1060740", typeof(BroadcastCrystal), 256, 20, 0x1ED0, 0,
new object[] { 2000 })); // 2000 charges
Add(new GenericBuyInfo("1060740", typeof(ReceiverCrystal), 6, 20, 0x1ED0, 0));
Add(new GenericBuyInfo(typeof(StarSapphire), 125, 20, 0xF21, 0));
Add(new GenericBuyInfo(typeof(Emerald), 100, 20, 0xF10, 0));
Add(new GenericBuyInfo(typeof(Sapphire), 100, 20, 0xF19, 0));
Add(new GenericBuyInfo(typeof(Ruby), 75, 20, 0xF13, 0));
Add(new GenericBuyInfo(typeof(Citrine), 50, 20, 0xF15, 0));
Add(new GenericBuyInfo(typeof(Amethyst), 100, 20, 0xF16, 0));
Add(new GenericBuyInfo(typeof(Tourmaline), 75, 20, 0xF2D, 0));
Add(new GenericBuyInfo(typeof(Amber), 50, 20, 0xF25, 0));
Add(new GenericBuyInfo(typeof(Diamond), 200, 20, 0xF26, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Amber), 25);
Add(typeof(Amethyst), 50);
Add(typeof(Citrine), 25);
Add(typeof(Diamond), 100);
Add(typeof(Emerald), 50);
Add(typeof(Ruby), 37);
Add(typeof(Sapphire), 50);
Add(typeof(StarSapphire), 62);
Add(typeof(Tourmaline), 47);
Add(typeof(GoldRing), 13);
Add(typeof(SilverRing), 10);
Add(typeof(Necklace), 13);
Add(typeof(GoldNecklace), 13);
Add(typeof(GoldBeadNecklace), 13);
Add(typeof(SilverNecklace), 10);
Add(typeof(SilverBeadNecklace), 10);
Add(typeof(Beads), 13);
Add(typeof(GoldBracelet), 13);
Add(typeof(SilverBracelet), 10);
Add(typeof(GoldEarrings), 13);
Add(typeof(SilverEarrings), 10);
}
}
}
}

View file

@ -0,0 +1,24 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBKeeperOfChivalry : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(BookOfChivalry), 140, 20, 0x2252, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
}
}
}

View file

@ -0,0 +1,30 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBLeatherWorker : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Hides), 4, 999, 0x1078, 0));
Add(new GenericBuyInfo(typeof(ThighBoots), 56, 10, 0x1711, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Hides), 2);
Add(typeof(ThighBoots), 28);
}
}
}
}

View file

@ -0,0 +1,129 @@
using System;
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBMage : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Spellbook), 18, 10, 0xEFA, 0));
if (Core.AOS)
Add(new GenericBuyInfo(typeof(NecromancerSpellbook), 115, 10, 0x2253, 0));
Add(new GenericBuyInfo(typeof(ScribesPen), 8, 10, 0xFBF, 0));
Add(new GenericBuyInfo(typeof(BlankScroll), 5, 20, 0x0E34, 0));
Add(new GenericBuyInfo("1041072", typeof(MagicWizardsHat), 11, 10, 0x1718, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(RecallRune), 15, 10, 0x1F14, 0));
Add(new GenericBuyInfo(typeof(RefreshPotion), 15, 10, 0xF0B, 0));
Add(new GenericBuyInfo(typeof(AgilityPotion), 15, 10, 0xF08, 0));
Add(new GenericBuyInfo(typeof(NightSightPotion), 15, 10, 0xF06, 0));
Add(new GenericBuyInfo(typeof(LesserHealPotion), 15, 10, 0xF0C, 0));
Add(new GenericBuyInfo(typeof(StrengthPotion), 15, 10, 0xF09, 0));
Add(new GenericBuyInfo(typeof(LesserPoisonPotion), 15, 10, 0xF0A, 0));
Add(new GenericBuyInfo(typeof(LesserCurePotion), 15, 10, 0xF07, 0));
Add(new GenericBuyInfo(typeof(LesserExplosionPotion), 21, 10, 0xF0D, 0));
Add(new GenericBuyInfo(typeof(BlackPearl), 5, 20, 0xF7A, 0));
Add(new GenericBuyInfo(typeof(Bloodmoss), 5, 20, 0xF7B, 0));
Add(new GenericBuyInfo(typeof(Garlic), 3, 20, 0xF84, 0));
Add(new GenericBuyInfo(typeof(Ginseng), 3, 20, 0xF85, 0));
Add(new GenericBuyInfo(typeof(MandrakeRoot), 3, 20, 0xF86, 0));
Add(new GenericBuyInfo(typeof(Nightshade), 3, 20, 0xF88, 0));
Add(new GenericBuyInfo(typeof(SpidersSilk), 3, 20, 0xF8D, 0));
Add(new GenericBuyInfo(typeof(SulfurousAsh), 3, 20, 0xF8C, 0));
if (Core.AOS)
{
Add(new GenericBuyInfo(typeof(BatWing), 3, 999, 0xF78, 0));
Add(new GenericBuyInfo(typeof(DaemonBlood), 6, 999, 0xF7D, 0));
Add(new GenericBuyInfo(typeof(PigIron), 5, 999, 0xF8A, 0));
Add(new GenericBuyInfo(typeof(NoxCrystal), 6, 999, 0xF8E, 0));
Add(new GenericBuyInfo(typeof(GraveDust), 3, 999, 0xF8F, 0));
}
Type[] types = Loot.RegularScrollTypes;
int circles = 3;
for (int i = 0; i < circles * 8 && i < types.Length; ++i)
{
int itemID = 0x1F2E + i;
if (i == 6)
itemID = 0x1F2D;
else if (i > 6)
--itemID;
Add(new GenericBuyInfo(types[i], 12 + i / 8 * 10, 20, itemID, 0));
}
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(WizardsHat), 15);
Add(typeof(BlackPearl), 3);
Add(typeof(Bloodmoss), 4);
Add(typeof(MandrakeRoot), 2);
Add(typeof(Garlic), 2);
Add(typeof(Ginseng), 2);
Add(typeof(Nightshade), 2);
Add(typeof(SpidersSilk), 2);
Add(typeof(SulfurousAsh), 2);
if (Core.AOS)
{
Add(typeof(BatWing), 1);
Add(typeof(DaemonBlood), 3);
Add(typeof(PigIron), 2);
Add(typeof(NoxCrystal), 3);
Add(typeof(GraveDust), 1);
}
Add(typeof(RecallRune), 13);
Add(typeof(Spellbook), 25);
Type[] types = Loot.RegularScrollTypes;
for (int i = 0; i < types.Length; ++i)
Add(types[i], (i / 8 + 2) * 2);
if (Core.SE)
{
Add(typeof(ExorcismScroll), 3);
Add(typeof(AnimateDeadScroll), 8);
Add(typeof(BloodOathScroll), 8);
Add(typeof(CorpseSkinScroll), 8);
Add(typeof(CurseWeaponScroll), 8);
Add(typeof(EvilOmenScroll), 8);
Add(typeof(PainSpikeScroll), 8);
Add(typeof(SummonFamiliarScroll), 8);
Add(typeof(HorrificBeastScroll), 8);
Add(typeof(MindRotScroll), 10);
Add(typeof(PoisonStrikeScroll), 10);
Add(typeof(WraithFormScroll), 15);
Add(typeof(LichFormScroll), 16);
Add(typeof(StrangleScroll), 16);
Add(typeof(WitherScroll), 16);
Add(typeof(VampiricEmbraceScroll), 20);
Add(typeof(VengefulSpiritScroll), 20);
}
}
}
}
}

View file

@ -0,0 +1,40 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBMapmaker : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(BlankMap), 5, 40, 0x14EC, 0));
Add(new GenericBuyInfo(typeof(MapmakersPen), 8, 20, 0x0FBF, 0));
Add(new GenericBuyInfo(typeof(BlankScroll), 12, 40, 0xEF3, 0));
for (int i = 0; i < PresetMapEntry.Table.Length; ++i)
Add(new PresetMapBuyInfo(PresetMapEntry.Table[i], Utility.RandomMinMax(7, 10), 20));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(BlankScroll), 6);
Add(typeof(MapmakersPen), 4);
Add(typeof(BlankMap), 2);
Add(typeof(CityMap), 3);
Add(typeof(LocalMap), 3);
Add(typeof(WorldMap), 3);
Add(typeof(PresetMapEntry), 3);
//TODO: Buy back maps that the mapmaker sells!!!
}
}
}
}

View file

@ -0,0 +1,30 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBMiller : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(SackFlour), 3, 20, 0x1039, 0));
Add(new GenericBuyInfo(typeof(SheafOfHay), 2, 20, 0xF36, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(SackFlour), 1);
Add(typeof(SheafOfHay), 1);
}
}
}
}

View file

@ -0,0 +1,40 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBMiner : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Bag), 6, 20, 0xE76, 0));
Add(new GenericBuyInfo(typeof(Candle), 6, 10, 0xA28, 0));
Add(new GenericBuyInfo(typeof(Torch), 8, 10, 0xF6B, 0));
Add(new GenericBuyInfo(typeof(Lantern), 2, 10, 0xA25, 0));
//Add( new GenericBuyInfo( typeof( OilFlask ), 8, 10, 0x####, 0 ) );
Add(new GenericBuyInfo(typeof(Pickaxe), 25, 10, 0xE86, 0));
Add(new GenericBuyInfo(typeof(Shovel), 12, 10, 0xF39, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Pickaxe), 12);
Add(typeof(Shovel), 6);
Add(typeof(Lantern), 1);
//Add( typeof( OilFlask ), 4 );
Add(typeof(Torch), 3);
Add(typeof(Bag), 3);
Add(typeof(Candle), 3);
}
}
}
}

View file

@ -0,0 +1,24 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBMonk : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
if (Core.AOS) Add(new GenericBuyInfo(typeof(MonkRobe), 136, 20, 0x2687, 0x21E));
}
}
public class InternalSellInfo : GenericSellInfo
{
}
}
}

View file

@ -0,0 +1,24 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBNinja : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(BookOfNinjitsu), 335, 20, 0x23A0, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
}
}
}

View file

@ -0,0 +1,39 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBPlayerBarkeeper : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new BeverageBuyInfo(typeof(BeverageBottle), BeverageType.Ale, 7, 20, 0x99F, 0));
Add(new BeverageBuyInfo(typeof(BeverageBottle), BeverageType.Wine, 7, 20, 0x9C7, 0));
Add(new BeverageBuyInfo(typeof(BeverageBottle), BeverageType.Liquor, 7, 20, 0x99B, 0));
Add(new BeverageBuyInfo(typeof(Jug), BeverageType.Cider, 13, 20, 0x9C8, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Milk, 7, 20, 0x9F0, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Ale, 11, 20, 0x1F95, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Cider, 11, 20, 0x1F97, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Liquor, 11, 20, 0x1F99, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Wine, 11, 20, 0x1F9B, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Water, 11, 20, 0x1F9D, 0));
// TODO: pizza
// TODO: bowl of *, tomato soup
Add(new GenericBuyInfo("1016450", typeof(Chessboard), 2, 20, 0xFA6, 0));
Add(new GenericBuyInfo("1016449", typeof(CheckerBoard), 2, 20, 0xFA6, 0));
Add(new GenericBuyInfo(typeof(Backgammon), 2, 20, 0xE1C, 0));
Add(new GenericBuyInfo(typeof(Dices), 2, 20, 0xFA7, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
}
}
}

View file

@ -0,0 +1,173 @@
using System.Collections.Generic;
using Server.Engines.Mahjong;
using Server.Engines.Plants;
using Server.Guilds;
using Server.Items;
using Server.Multis;
namespace Server.Mobiles
{
public class SBProvisioner : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
#region Salvage Bag
if (Core.ML)
Add(new GenericBuyInfo("1079931", typeof(SalvageBag), 1255, 20, 0xE76, Utility.RandomBlueHue()));
#endregion
Add(new GenericBuyInfo("1060834", typeof(PlantBowl), 2, 20, 0x15FD, 0));
Add(new GenericBuyInfo(typeof(Arrow), 2, 20, 0xF3F, 0));
Add(new GenericBuyInfo(typeof(Bolt), 5, 20, 0x1BFB, 0));
Add(new GenericBuyInfo(typeof(Backpack), 15, 20, 0x9B2, 0));
Add(new GenericBuyInfo(typeof(Pouch), 6, 20, 0xE79, 0));
Add(new GenericBuyInfo(typeof(Bag), 6, 20, 0xE76, 0));
Add(new GenericBuyInfo(typeof(Candle), 6, 20, 0xA28, 0));
Add(new GenericBuyInfo(typeof(Torch), 8, 20, 0xF6B, 0));
Add(new GenericBuyInfo(typeof(Lantern), 2, 20, 0xA25, 0));
//TODO: Oil Flask @ 8GP
Add(new GenericBuyInfo(typeof(Lockpick), 12, 20, 0x14FC, 0));
Add(new GenericBuyInfo(typeof(FloppyHat), 7, 20, 0x1713, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(WideBrimHat), 8, 20, 0x1714, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(Cap), 10, 20, 0x1715, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(TallStrawHat), 8, 20, 0x1716, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(StrawHat), 7, 20, 0x1717, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(WizardsHat), 11, 20, 0x1718, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(LeatherCap), 10, 20, 0x1DB9, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(FeatheredHat), 10, 20, 0x171A, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(TricorneHat), 8, 20, 0x171B, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(Bandana), 6, 20, 0x1540, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(SkullCap), 7, 20, 0x1544, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(BreadLoaf), 6, 10, 0x103B, 0));
Add(new GenericBuyInfo(typeof(LambLeg), 8, 20, 0x160A, 0));
Add(new GenericBuyInfo(typeof(ChickenLeg), 5, 20, 0x1608, 0));
Add(new GenericBuyInfo(typeof(CookedBird), 17, 20, 0x9B7, 0));
Add(new BeverageBuyInfo(typeof(BeverageBottle), BeverageType.Ale, 7, 20, 0x99F, 0));
Add(new BeverageBuyInfo(typeof(BeverageBottle), BeverageType.Wine, 7, 20, 0x9C7, 0));
Add(new BeverageBuyInfo(typeof(BeverageBottle), BeverageType.Liquor, 7, 20, 0x99B, 0));
Add(new BeverageBuyInfo(typeof(Jug), BeverageType.Cider, 13, 20, 0x9C8, 0));
Add(new GenericBuyInfo(typeof(Pear), 3, 20, 0x994, 0));
Add(new GenericBuyInfo(typeof(Apple), 3, 20, 0x9D0, 0));
Add(new GenericBuyInfo(typeof(Beeswax), 1, 20, 0x1422, 0));
Add(new GenericBuyInfo(typeof(Garlic), 3, 20, 0xF84, 0));
Add(new GenericBuyInfo(typeof(Ginseng), 3, 20, 0xF85, 0));
Add(new GenericBuyInfo(typeof(Bottle), 5, 20, 0xF0E, 0));
Add(new GenericBuyInfo(typeof(RedBook), 15, 20, 0xFF1, 0));
Add(new GenericBuyInfo(typeof(BlueBook), 15, 20, 0xFF2, 0));
Add(new GenericBuyInfo(typeof(TanBook), 15, 20, 0xFF0, 0));
Add(new GenericBuyInfo(typeof(WoodenBox), 14, 20, 0xE7D, 0));
Add(new GenericBuyInfo(typeof(Key), 2, 20, 0x100E, 0));
Add(new GenericBuyInfo(typeof(Bedroll), 5, 20, 0xA59, 0));
Add(new GenericBuyInfo(typeof(Kindling), 2, 20, 0xDE1, 0));
Add(new GenericBuyInfo("1041205", typeof(SmallBoatDeed), 10177, 20, 0x14F2, 0));
Add(new GenericBuyInfo("1041060", typeof(HairDye), 60, 20, 0xEFF, 0));
Add(new GenericBuyInfo("1016450", typeof(Chessboard), 2, 20, 0xFA6, 0));
Add(new GenericBuyInfo("1016449", typeof(CheckerBoard), 2, 20, 0xFA6, 0));
Add(new GenericBuyInfo(typeof(Backgammon), 2, 20, 0xE1C, 0));
if (Core.AOS)
Add(new GenericBuyInfo(typeof(MahjongGame), 6, 20, 0xFAA, 0));
Add(new GenericBuyInfo(typeof(Dices), 2, 20, 0xFA7, 0));
if (Core.AOS)
{
Add(new GenericBuyInfo(typeof(SmallBagBall), 3, 20, 0x2256, 0));
Add(new GenericBuyInfo(typeof(LargeBagBall), 3, 20, 0x2257, 0));
}
if (!Guild.NewGuildSystem)
Add(new GenericBuyInfo("1041055", typeof(GuildDeed), 12450, 20, 0x14F0, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Arrow), 1);
Add(typeof(Bolt), 2);
Add(typeof(Backpack), 7);
Add(typeof(Pouch), 3);
Add(typeof(Bag), 3);
Add(typeof(Candle), 3);
Add(typeof(Torch), 4);
Add(typeof(Lantern), 1);
Add(typeof(Lockpick), 6);
Add(typeof(FloppyHat), 3);
Add(typeof(WideBrimHat), 4);
Add(typeof(Cap), 5);
Add(typeof(TallStrawHat), 4);
Add(typeof(StrawHat), 3);
Add(typeof(WizardsHat), 5);
Add(typeof(LeatherCap), 5);
Add(typeof(FeatheredHat), 5);
Add(typeof(TricorneHat), 4);
Add(typeof(Bandana), 3);
Add(typeof(SkullCap), 3);
Add(typeof(Bottle), 3);
Add(typeof(RedBook), 7);
Add(typeof(BlueBook), 7);
Add(typeof(TanBook), 7);
Add(typeof(WoodenBox), 7);
Add(typeof(Kindling), 1);
Add(typeof(HairDye), 30);
Add(typeof(Chessboard), 1);
Add(typeof(CheckerBoard), 1);
Add(typeof(Backgammon), 1);
Add(typeof(Dices), 1);
Add(typeof(Beeswax), 1);
Add(typeof(Amber), 25);
Add(typeof(Amethyst), 50);
Add(typeof(Citrine), 25);
Add(typeof(Diamond), 100);
Add(typeof(Emerald), 50);
Add(typeof(Ruby), 37);
Add(typeof(Sapphire), 50);
Add(typeof(StarSapphire), 62);
Add(typeof(Tourmaline), 47);
Add(typeof(GoldRing), 13);
Add(typeof(SilverRing), 10);
Add(typeof(Necklace), 13);
Add(typeof(GoldNecklace), 13);
Add(typeof(GoldBeadNecklace), 13);
Add(typeof(SilverNecklace), 10);
Add(typeof(SilverBeadNecklace), 10);
Add(typeof(Beads), 13);
Add(typeof(GoldBracelet), 13);
Add(typeof(SilverBracelet), 10);
Add(typeof(GoldEarrings), 13);
Add(typeof(SilverEarrings), 10);
if (!Guild.NewGuildSystem)
Add(typeof(GuildDeed), 6225);
}
}
}
}

View file

@ -0,0 +1,23 @@
using System.Collections.Generic;
namespace Server.Mobiles
{
public class SBRancher : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new AnimalBuyInfo(1, typeof(PackHorse), 631, 10, 291, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
}
}
}

View file

@ -0,0 +1,28 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBRanger : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new AnimalBuyInfo(1, typeof(Cat), 138, 20, 201, 0));
Add(new AnimalBuyInfo(1, typeof(Dog), 181, 20, 217, 0));
Add(new AnimalBuyInfo(1, typeof(PackLlama), 491, 20, 292, 0));
Add(new AnimalBuyInfo(1, typeof(PackHorse), 606, 20, 291, 0));
Add(new GenericBuyInfo(typeof(Bandage), 5, 20, 0xE21, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
}
}
}

View file

@ -0,0 +1,30 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBRealEstateBroker : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(BlankScroll), 5, 20, 0x0E34, 0));
Add(new GenericBuyInfo(typeof(ScribesPen), 8, 20, 0xFBF, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(ScribesPen), 4);
Add(typeof(BlankScroll), 2);
}
}
}
}

View file

@ -0,0 +1,46 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBSECook : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Wasabi), 2, 20, 0x24E8, 0));
Add(new GenericBuyInfo(typeof(Wasabi), 2, 20, 0x24E9, 0));
Add(new GenericBuyInfo(typeof(SushiRolls), 3, 20, 0x283E, 0));
Add(new GenericBuyInfo(typeof(SushiPlatter), 3, 20, 0x2840, 0));
Add(new GenericBuyInfo(typeof(GreenTea), 3, 20, 0x284C, 0));
Add(new GenericBuyInfo(typeof(MisoSoup), 3, 20, 0x284D, 0));
Add(new GenericBuyInfo(typeof(WhiteMisoSoup), 3, 20, 0x284E, 0));
Add(new GenericBuyInfo(typeof(RedMisoSoup), 3, 20, 0x284F, 0));
Add(new GenericBuyInfo(typeof(AwaseMisoSoup), 3, 20, 0x2850, 0));
Add(new GenericBuyInfo(typeof(BentoBox), 6, 20, 0x2836, 0));
Add(new GenericBuyInfo(typeof(BentoBox), 6, 20, 0x2837, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Wasabi), 1);
Add(typeof(BentoBox), 3);
Add(typeof(GreenTea), 1);
Add(typeof(SushiRolls), 1);
Add(typeof(SushiPlatter), 2);
Add(typeof(MisoSoup), 1);
Add(typeof(RedMisoSoup), 1);
Add(typeof(WhiteMisoSoup), 1);
Add(typeof(AwaseMisoSoup), 1);
}
}
}
}

View file

@ -0,0 +1,32 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBSEHats : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Kasa), 31, 20, 0x2798, 0));
Add(new GenericBuyInfo(typeof(LeatherJingasa), 11, 20, 0x2776, 0));
Add(new GenericBuyInfo(typeof(ClothNinjaHood), 33, 20, 0x278F, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Kasa), 15);
Add(typeof(LeatherJingasa), 5);
Add(typeof(ClothNinjaHood), 16);
}
}
}
}

View file

@ -0,0 +1,24 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBSamurai : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(BookOfBushido), 280, 20, 0x238C, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
}
}
}

View file

@ -0,0 +1,38 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBScribe : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(ScribesPen), 8, 20, 0xFBF, 0));
Add(new GenericBuyInfo(typeof(BlankScroll), 5, 999, 0x0E34, 0));
Add(new GenericBuyInfo(typeof(ScribesPen), 8, 20, 0xFC0, 0));
Add(new GenericBuyInfo(typeof(BrownBook), 15, 10, 0xFEF, 0));
Add(new GenericBuyInfo(typeof(TanBook), 15, 10, 0xFF0, 0));
Add(new GenericBuyInfo(typeof(BlueBook), 15, 10, 0xFF2, 0));
//Add( new GenericBuyInfo( "1041267", typeof( Runebook ), 3500, 10, 0xEFA, 0x461 ) );
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(ScribesPen), 4);
Add(typeof(BrownBook), 7);
Add(typeof(TanBook), 7);
Add(typeof(BlueBook), 7);
Add(typeof(BlankScroll), 3);
}
}
}
}

View file

@ -0,0 +1,29 @@
using System.Collections.Generic;
using Server.Multis;
namespace Server.Mobiles
{
public class SBShipwright : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo("1041205", typeof(SmallBoatDeed), 10177, 20, 0x14F2, 0));
Add(new GenericBuyInfo("1041206", typeof(SmallDragonBoatDeed), 10177, 20, 0x14F2, 0));
Add(new GenericBuyInfo("1041207", typeof(MediumBoatDeed), 11552, 20, 0x14F2, 0));
Add(new GenericBuyInfo("1041208", typeof(MediumDragonBoatDeed), 11552, 20, 0x14F2, 0));
Add(new GenericBuyInfo("1041209", typeof(LargeBoatDeed), 12927, 20, 0x14F2, 0));
Add(new GenericBuyInfo("1041210", typeof(LargeDragonBoatDeed), 12927, 20, 0x14F2, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
}
}
}

View file

@ -0,0 +1,30 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBSmithTools : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(IronIngot), 5, 16, 0x1BF2, 0));
Add(new GenericBuyInfo(typeof(Tongs), 13, 14, 0xFBB, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Tongs), 7);
Add(typeof(IronIngot), 4);
}
}
}
}

View file

@ -0,0 +1,89 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBStoneCrafter : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Nails), 3, 20, 0x102E, 0));
Add(new GenericBuyInfo(typeof(Axle), 2, 20, 0x105B, 0));
Add(new GenericBuyInfo(typeof(Board), 3, 20, 0x1BD7, 0));
Add(new GenericBuyInfo(typeof(DrawKnife), 10, 20, 0x10E4, 0));
Add(new GenericBuyInfo(typeof(Froe), 10, 20, 0x10E5, 0));
Add(new GenericBuyInfo(typeof(Scorp), 10, 20, 0x10E7, 0));
Add(new GenericBuyInfo(typeof(Inshave), 10, 20, 0x10E6, 0));
Add(new GenericBuyInfo(typeof(DovetailSaw), 12, 20, 0x1028, 0));
Add(new GenericBuyInfo(typeof(Saw), 15, 20, 0x1034, 0));
Add(new GenericBuyInfo(typeof(Hammer), 17, 20, 0x102A, 0));
Add(new GenericBuyInfo(typeof(MouldingPlane), 11, 20, 0x102C, 0));
Add(new GenericBuyInfo(typeof(SmoothingPlane), 10, 20, 0x1032, 0));
Add(new GenericBuyInfo(typeof(JointingPlane), 11, 20, 0x1030, 0));
Add(new GenericBuyInfo("Making Valuables With Stonecrafting", typeof(MasonryBook), 10625, 10, 0xFBE, 0));
Add(new GenericBuyInfo("Mining For Quality Stone", typeof(StoneMiningBook), 10625, 10, 0xFBE, 0));
Add(new GenericBuyInfo("1044515", typeof(MalletAndChisel), 3, 50, 0x12B3, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(MasonryBook), 5000);
Add(typeof(StoneMiningBook), 5000);
Add(typeof(MalletAndChisel), 1);
Add(typeof(WoodenBox), 7);
Add(typeof(SmallCrate), 5);
Add(typeof(MediumCrate), 6);
Add(typeof(LargeCrate), 7);
Add(typeof(WoodenChest), 15);
Add(typeof(LargeTable), 10);
Add(typeof(Nightstand), 7);
Add(typeof(YewWoodTable), 10);
Add(typeof(Throne), 24);
Add(typeof(WoodenThrone), 6);
Add(typeof(Stool), 6);
Add(typeof(FootStool), 6);
Add(typeof(FancyWoodenChairCushion), 12);
Add(typeof(WoodenChairCushion), 10);
Add(typeof(WoodenChair), 8);
Add(typeof(BambooChair), 6);
Add(typeof(WoodenBench), 6);
Add(typeof(Saw), 9);
Add(typeof(Scorp), 6);
Add(typeof(SmoothingPlane), 6);
Add(typeof(DrawKnife), 6);
Add(typeof(Froe), 6);
Add(typeof(Hammer), 14);
Add(typeof(Inshave), 6);
Add(typeof(JointingPlane), 6);
Add(typeof(MouldingPlane), 6);
Add(typeof(DovetailSaw), 7);
Add(typeof(Board), 2);
Add(typeof(Axle), 1);
Add(typeof(WoodenShield), 31);
Add(typeof(BlackStaff), 24);
Add(typeof(GnarledStaff), 12);
Add(typeof(QuarterStaff), 15);
Add(typeof(ShepherdsCrook), 12);
Add(typeof(Club), 13);
Add(typeof(Log), 1);
}
}
}
}

View file

@ -0,0 +1,115 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBTailor : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(SewingKit), 3, 20, 0xF9D, 0));
Add(new GenericBuyInfo(typeof(Scissors), 11, 20, 0xF9F, 0));
Add(new GenericBuyInfo(typeof(DyeTub), 8, 20, 0xFAB, 0));
Add(new GenericBuyInfo(typeof(Dyes), 8, 20, 0xFA9, 0));
Add(new GenericBuyInfo(typeof(Shirt), 12, 20, 0x1517, 0));
Add(new GenericBuyInfo(typeof(ShortPants), 7, 20, 0x152E, 0));
Add(new GenericBuyInfo(typeof(FancyShirt), 21, 20, 0x1EFD, 0));
Add(new GenericBuyInfo(typeof(LongPants), 10, 20, 0x1539, 0));
Add(new GenericBuyInfo(typeof(FancyDress), 26, 20, 0x1EFF, 0));
Add(new GenericBuyInfo(typeof(PlainDress), 13, 20, 0x1F01, 0));
Add(new GenericBuyInfo(typeof(Kilt), 11, 20, 0x1537, 0));
Add(new GenericBuyInfo(typeof(Kilt), 11, 20, 0x1537, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(HalfApron), 10, 20, 0x153b, 0));
Add(new GenericBuyInfo(typeof(Robe), 18, 20, 0x1F03, 0));
Add(new GenericBuyInfo(typeof(Cloak), 8, 20, 0x1515, 0));
Add(new GenericBuyInfo(typeof(Cloak), 8, 20, 0x1515, 0));
Add(new GenericBuyInfo(typeof(Doublet), 13, 20, 0x1F7B, 0));
Add(new GenericBuyInfo(typeof(Tunic), 18, 20, 0x1FA1, 0));
Add(new GenericBuyInfo(typeof(JesterSuit), 26, 20, 0x1F9F, 0));
Add(new GenericBuyInfo(typeof(JesterHat), 12, 20, 0x171C, 0));
Add(new GenericBuyInfo(typeof(FloppyHat), 7, 20, 0x1713, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(WideBrimHat), 8, 20, 0x1714, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(Cap), 10, 20, 0x1715, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(TallStrawHat), 8, 20, 0x1716, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(StrawHat), 7, 20, 0x1717, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(WizardsHat), 11, 20, 0x1718, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(LeatherCap), 10, 20, 0x1DB9, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(FeatheredHat), 10, 20, 0x171A, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(TricorneHat), 8, 20, 0x171B, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(Bandana), 6, 20, 0x1540, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(SkullCap), 7, 20, 0x1544, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(BoltOfCloth), 100, 20, 0xf95, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(Cloth), 2, 20, 0x1766, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(UncutCloth), 2, 20, 0x1767, Utility.RandomDyedHue()));
Add(new GenericBuyInfo(typeof(Cotton), 102, 20, 0xDF9, 0));
Add(new GenericBuyInfo(typeof(Wool), 62, 20, 0xDF8, 0));
Add(new GenericBuyInfo(typeof(Flax), 102, 20, 0x1A9C, 0));
Add(new GenericBuyInfo(typeof(SpoolOfThread), 18, 20, 0xFA0, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Scissors), 6);
Add(typeof(SewingKit), 1);
Add(typeof(Dyes), 4);
Add(typeof(DyeTub), 4);
Add(typeof(BoltOfCloth), 50);
Add(typeof(FancyShirt), 10);
Add(typeof(Shirt), 6);
Add(typeof(ShortPants), 3);
Add(typeof(LongPants), 5);
Add(typeof(Cloak), 4);
Add(typeof(FancyDress), 12);
Add(typeof(Robe), 9);
Add(typeof(PlainDress), 7);
Add(typeof(Skirt), 5);
Add(typeof(Kilt), 5);
Add(typeof(Doublet), 7);
Add(typeof(Tunic), 9);
Add(typeof(JesterSuit), 13);
Add(typeof(FullApron), 5);
Add(typeof(HalfApron), 5);
Add(typeof(JesterHat), 6);
Add(typeof(FloppyHat), 3);
Add(typeof(WideBrimHat), 4);
Add(typeof(Cap), 5);
Add(typeof(SkullCap), 3);
Add(typeof(Bandana), 3);
Add(typeof(TallStrawHat), 4);
Add(typeof(StrawHat), 4);
Add(typeof(WizardsHat), 5);
Add(typeof(Bonnet), 4);
Add(typeof(FeatheredHat), 5);
Add(typeof(TricorneHat), 4);
Add(typeof(SpoolOfThread), 9);
Add(typeof(Flax), 51);
Add(typeof(Cotton), 51);
Add(typeof(Wool), 31);
}
}
}
}

View file

@ -0,0 +1,85 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBTanner : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(LeatherGorget), 31, 20, 0x13C7, 0));
Add(new GenericBuyInfo(typeof(LeatherCap), 10, 20, 0x1DB9, 0));
Add(new GenericBuyInfo(typeof(LeatherArms), 37, 20, 0x13CD, 0));
Add(new GenericBuyInfo(typeof(LeatherChest), 47, 20, 0x13CC, 0));
Add(new GenericBuyInfo(typeof(LeatherLegs), 36, 20, 0x13CB, 0));
Add(new GenericBuyInfo(typeof(LeatherGloves), 31, 20, 0x13C6, 0));
Add(new GenericBuyInfo(typeof(StuddedGorget), 50, 20, 0x13D6, 0));
Add(new GenericBuyInfo(typeof(StuddedArms), 57, 20, 0x13DC, 0));
Add(new GenericBuyInfo(typeof(StuddedChest), 75, 20, 0x13DB, 0));
Add(new GenericBuyInfo(typeof(StuddedLegs), 67, 20, 0x13DA, 0));
Add(new GenericBuyInfo(typeof(StuddedGloves), 45, 20, 0x13D5, 0));
Add(new GenericBuyInfo(typeof(FemaleStuddedChest), 62, 20, 0x1C02, 0));
Add(new GenericBuyInfo(typeof(FemalePlateChest), 207, 20, 0x1C04, 0));
Add(new GenericBuyInfo(typeof(FemaleLeatherChest), 36, 20, 0x1C06, 0));
Add(new GenericBuyInfo(typeof(LeatherShorts), 28, 20, 0x1C00, 0));
Add(new GenericBuyInfo(typeof(LeatherSkirt), 25, 20, 0x1C08, 0));
Add(new GenericBuyInfo(typeof(LeatherBustierArms), 25, 20, 0x1C0A, 0));
Add(new GenericBuyInfo(typeof(LeatherBustierArms), 30, 20, 0x1C0B, 0));
Add(new GenericBuyInfo(typeof(StuddedBustierArms), 50, 20, 0x1C0C, 0));
Add(new GenericBuyInfo(typeof(StuddedBustierArms), 47, 20, 0x1C0D, 0));
Add(new GenericBuyInfo(typeof(Bag), 6, 20, 0xE76, 0));
Add(new GenericBuyInfo(typeof(Pouch), 6, 20, 0xE79, 0));
Add(new GenericBuyInfo(typeof(Backpack), 15, 20, 0x9B2, 0));
Add(new GenericBuyInfo(typeof(Leather), 6, 20, 0x1081, 0));
Add(new GenericBuyInfo(typeof(SkinningKnife), 15, 20, 0xEC4, 0));
Add(new GenericBuyInfo("1041279", typeof(TaxidermyKit), 100000, 20, 0x1EBA, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Bag), 3);
Add(typeof(Pouch), 3);
Add(typeof(Backpack), 7);
Add(typeof(Leather), 5);
Add(typeof(SkinningKnife), 7);
Add(typeof(LeatherArms), 18);
Add(typeof(LeatherChest), 23);
Add(typeof(LeatherGloves), 15);
Add(typeof(LeatherGorget), 15);
Add(typeof(LeatherLegs), 18);
Add(typeof(LeatherCap), 5);
Add(typeof(StuddedArms), 43);
Add(typeof(StuddedChest), 37);
Add(typeof(StuddedGloves), 39);
Add(typeof(StuddedGorget), 22);
Add(typeof(StuddedLegs), 33);
Add(typeof(FemaleStuddedChest), 31);
Add(typeof(StuddedBustierArms), 23);
Add(typeof(FemalePlateChest), 103);
Add(typeof(FemaleLeatherChest), 18);
Add(typeof(LeatherBustierArms), 12);
Add(typeof(LeatherShorts), 14);
Add(typeof(LeatherSkirt), 12);
}
}
}
}

View file

@ -0,0 +1,106 @@
using System.Collections.Generic;
using Server.Items;
using Server.Multis;
namespace Server.Mobiles
{
public class SBTavernKeeper : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new BeverageBuyInfo(typeof(BeverageBottle), BeverageType.Ale, 7, 20, 0x99F, 0));
Add(new BeverageBuyInfo(typeof(BeverageBottle), BeverageType.Wine, 7, 20, 0x9C7, 0));
Add(new BeverageBuyInfo(typeof(BeverageBottle), BeverageType.Liquor, 7, 20, 0x99B, 0));
Add(new BeverageBuyInfo(typeof(Jug), BeverageType.Cider, 13, 20, 0x9C8, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Milk, 7, 20, 0x9F0, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Ale, 11, 20, 0x1F95, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Cider, 11, 20, 0x1F97, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Liquor, 11, 20, 0x1F99, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Wine, 11, 20, 0x1F9B, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Water, 11, 20, 0x1F9D, 0));
Add(new GenericBuyInfo(typeof(BreadLoaf), 6, 10, 0x103B, 0));
Add(new GenericBuyInfo(typeof(CheeseWheel), 21, 10, 0x97E, 0));
Add(new GenericBuyInfo(typeof(CookedBird), 17, 20, 0x9B7, 0));
Add(new GenericBuyInfo(typeof(LambLeg), 8, 20, 0x160A, 0));
Add(new GenericBuyInfo(typeof(ChickenLeg), 5, 20, 0x1608, 0));
Add(new GenericBuyInfo(typeof(Ribs), 7, 20, 0x9F2, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfCarrots), 3, 20, 0x15F9, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfCorn), 3, 20, 0x15FA, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfLettuce), 3, 20, 0x15FB, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfPeas), 3, 20, 0x15FC, 0));
Add(new GenericBuyInfo(typeof(EmptyPewterBowl), 2, 20, 0x15FD, 0));
Add(new GenericBuyInfo(typeof(PewterBowlOfCorn), 3, 20, 0x15FE, 0));
Add(new GenericBuyInfo(typeof(PewterBowlOfLettuce), 3, 20, 0x15FF, 0));
Add(new GenericBuyInfo(typeof(PewterBowlOfPeas), 3, 20, 0x1600, 0));
Add(new GenericBuyInfo(typeof(PewterBowlOfPotatos), 3, 20, 0x1601, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfStew), 3, 20, 0x1604, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfTomatoSoup), 3, 20, 0x1606, 0));
Add(new GenericBuyInfo(typeof(ApplePie), 7, 20, 0x1041, 0)); //OSI just has Pie, not Apple/Fruit/Meat
Add(new GenericBuyInfo("1016450", typeof(Chessboard), 2, 20, 0xFA6, 0));
Add(new GenericBuyInfo("1016449", typeof(CheckerBoard), 2, 20, 0xFA6, 0));
Add(new GenericBuyInfo(typeof(Backgammon), 2, 20, 0xE1C, 0));
Add(new GenericBuyInfo(typeof(Dices), 2, 20, 0xFA7, 0));
Add(new GenericBuyInfo("1041243", typeof(ContractOfEmployment), 1252, 20, 0x14F0, 0));
Add(new GenericBuyInfo("a barkeep contract", typeof(BarkeepContract), 1252, 20, 0x14F0, 0));
if (BaseHouse.NewVendorSystem)
Add(new GenericBuyInfo("1062332", typeof(VendorRentalContract), 1252, 20, 0x14F0, 0x672));
/*if ( Map == Tokuno )
{
Add( new GenericBuyInfo( typeof( Wasabi ), 2, 20, 0x24E8, 0 ) );
Add( new GenericBuyInfo( typeof( Wasabi ), 2, 20, 0x24E9, 0 ) );
Add( new GenericBuyInfo( typeof( BentoBox ), 6, 20, 0x2836, 0 ) );
Add( new GenericBuyInfo( typeof( BentoBox ), 6, 20, 0x2837, 0 ) );
Add( new GenericBuyInfo( typeof( GreenTeaBasket ), 2, 20, 0x284B, 0 ) );
}*/
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(WoodenBowlOfCarrots), 1);
Add(typeof(WoodenBowlOfCorn), 1);
Add(typeof(WoodenBowlOfLettuce), 1);
Add(typeof(WoodenBowlOfPeas), 1);
Add(typeof(EmptyPewterBowl), 1);
Add(typeof(PewterBowlOfCorn), 1);
Add(typeof(PewterBowlOfLettuce), 1);
Add(typeof(PewterBowlOfPeas), 1);
Add(typeof(PewterBowlOfPotatos), 1);
Add(typeof(WoodenBowlOfStew), 1);
Add(typeof(WoodenBowlOfTomatoSoup), 1);
Add(typeof(BeverageBottle), 3);
Add(typeof(Jug), 6);
Add(typeof(Pitcher), 5);
Add(typeof(GlassMug), 1);
Add(typeof(BreadLoaf), 3);
Add(typeof(CheeseWheel), 12);
Add(typeof(Ribs), 6);
Add(typeof(Peach), 1);
Add(typeof(Pear), 1);
Add(typeof(Grapes), 1);
Add(typeof(Apple), 1);
Add(typeof(Banana), 1);
Add(typeof(Candle), 3);
Add(typeof(Chessboard), 1);
Add(typeof(CheckerBoard), 1);
Add(typeof(Backgammon), 1);
Add(typeof(Dices), 1);
Add(typeof(ContractOfEmployment), 626);
}
}
}
}

View file

@ -0,0 +1,43 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBThief : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Backpack), 15, 20, 0x9B2, 0));
Add(new GenericBuyInfo(typeof(Pouch), 6, 20, 0xE79, 0));
Add(new GenericBuyInfo(typeof(Torch), 8, 20, 0xF6B, 0));
Add(new GenericBuyInfo(typeof(Lantern), 2, 20, 0xA25, 0));
//Add( new GenericBuyInfo( typeof( OilFlask ), 8, 20, 0x####, 0 ) );
Add(new GenericBuyInfo(typeof(Lockpick), 12, 20, 0x14FC, 0));
Add(new GenericBuyInfo(typeof(WoodenBox), 14, 20, 0x9AA, 0));
Add(new GenericBuyInfo(typeof(Key), 2, 20, 0x100E, 0));
Add(new GenericBuyInfo(typeof(HairDye), 37, 20, 0xEFF, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Backpack), 7);
Add(typeof(Pouch), 3);
Add(typeof(Torch), 3);
Add(typeof(Lantern), 1);
//Add( typeof( OilFlask ), 4 );
Add(typeof(Lockpick), 6);
Add(typeof(WoodenBox), 7);
Add(typeof(HairDye), 19);
}
}
}
}

View file

@ -0,0 +1,123 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBTinker : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Clock), 22, 20, 0x104B, 0));
Add(new GenericBuyInfo(typeof(Nails), 3, 20, 0x102E, 0));
Add(new GenericBuyInfo(typeof(ClockParts), 3, 20, 0x104F, 0));
Add(new GenericBuyInfo(typeof(AxleGears), 3, 20, 0x1051, 0));
Add(new GenericBuyInfo(typeof(Gears), 2, 20, 0x1053, 0));
Add(new GenericBuyInfo(typeof(Hinge), 2, 20, 0x1055, 0));
Add(new GenericBuyInfo(typeof(Sextant), 13, 20, 0x1057, 0));
Add(new GenericBuyInfo(typeof(SextantParts), 5, 20, 0x1059, 0));
Add(new GenericBuyInfo(typeof(Axle), 2, 20, 0x105B, 0));
Add(new GenericBuyInfo(typeof(Springs), 3, 20, 0x105D, 0));
Add(new GenericBuyInfo("1024111", typeof(Key), 8, 20, 0x100F, 0));
Add(new GenericBuyInfo("1024112", typeof(Key), 8, 20, 0x1010, 0));
Add(new GenericBuyInfo("1024115", typeof(Key), 8, 20, 0x1013, 0));
Add(new GenericBuyInfo(typeof(KeyRing), 8, 20, 0x1010, 0));
Add(new GenericBuyInfo(typeof(Lockpick), 12, 20, 0x14FC, 0));
Add(new GenericBuyInfo(typeof(TinkersTools), 7, 20, 0x1EBC, 0));
Add(new GenericBuyInfo(typeof(Board), 3, 20, 0x1BD7, 0));
Add(new GenericBuyInfo(typeof(IronIngot), 5, 16, 0x1BF2, 0));
Add(new GenericBuyInfo(typeof(SewingKit), 3, 20, 0xF9D, 0));
Add(new GenericBuyInfo(typeof(DrawKnife), 10, 20, 0x10E4, 0));
Add(new GenericBuyInfo(typeof(Froe), 10, 20, 0x10E5, 0));
Add(new GenericBuyInfo(typeof(Scorp), 10, 20, 0x10E7, 0));
Add(new GenericBuyInfo(typeof(Inshave), 10, 20, 0x10E6, 0));
Add(new GenericBuyInfo(typeof(ButcherKnife), 13, 20, 0x13F6, 0));
Add(new GenericBuyInfo(typeof(Scissors), 11, 20, 0xF9F, 0));
Add(new GenericBuyInfo(typeof(Tongs), 13, 14, 0xFBB, 0));
Add(new GenericBuyInfo(typeof(DovetailSaw), 12, 20, 0x1028, 0));
Add(new GenericBuyInfo(typeof(Saw), 15, 20, 0x1034, 0));
Add(new GenericBuyInfo(typeof(Hammer), 17, 20, 0x102A, 0));
Add(new GenericBuyInfo(typeof(SmithHammer), 23, 20, 0x13E3, 0));
// TODO: Sledgehammer
Add(new GenericBuyInfo(typeof(Shovel), 12, 20, 0xF39, 0));
Add(new GenericBuyInfo(typeof(MouldingPlane), 11, 20, 0x102C, 0));
Add(new GenericBuyInfo(typeof(JointingPlane), 10, 20, 0x1030, 0));
Add(new GenericBuyInfo(typeof(SmoothingPlane), 11, 20, 0x1032, 0));
Add(new GenericBuyInfo(typeof(Pickaxe), 25, 20, 0xE86, 0));
Add(new GenericBuyInfo(typeof(Drums), 21, 20, 0x0E9C, 0));
Add(new GenericBuyInfo(typeof(Tambourine), 21, 20, 0x0E9E, 0));
Add(new GenericBuyInfo(typeof(LapHarp), 21, 20, 0x0EB2, 0));
Add(new GenericBuyInfo(typeof(Lute), 21, 20, 0x0EB3, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Drums), 10);
Add(typeof(Tambourine), 10);
Add(typeof(LapHarp), 10);
Add(typeof(Lute), 10);
Add(typeof(Shovel), 6);
Add(typeof(SewingKit), 1);
Add(typeof(Scissors), 6);
Add(typeof(Tongs), 7);
Add(typeof(Key), 1);
Add(typeof(DovetailSaw), 6);
Add(typeof(MouldingPlane), 6);
Add(typeof(Nails), 1);
Add(typeof(JointingPlane), 6);
Add(typeof(SmoothingPlane), 6);
Add(typeof(Saw), 7);
Add(typeof(Clock), 11);
Add(typeof(ClockParts), 1);
Add(typeof(AxleGears), 1);
Add(typeof(Gears), 1);
Add(typeof(Hinge), 1);
Add(typeof(Sextant), 6);
Add(typeof(SextantParts), 2);
Add(typeof(Axle), 1);
Add(typeof(Springs), 1);
Add(typeof(DrawKnife), 5);
Add(typeof(Froe), 5);
Add(typeof(Inshave), 5);
Add(typeof(Scorp), 5);
Add(typeof(Lockpick), 6);
Add(typeof(TinkerTools), 3);
Add(typeof(Board), 1);
Add(typeof(Log), 1);
Add(typeof(Pickaxe), 16);
Add(typeof(Hammer), 3);
Add(typeof(SmithHammer), 11);
Add(typeof(ButcherKnife), 6);
}
}
}
}

View file

@ -0,0 +1,70 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBVagabond : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(GoldRing), 27, 20, 0x108A, 0));
Add(new GenericBuyInfo(typeof(Necklace), 26, 20, 0x1085, 0));
Add(new GenericBuyInfo(typeof(GoldNecklace), 27, 20, 0x1088, 0));
Add(new GenericBuyInfo(typeof(GoldBeadNecklace), 27, 20, 0x1089, 0));
Add(new GenericBuyInfo(typeof(Beads), 27, 20, 0x108B, 0));
Add(new GenericBuyInfo(typeof(GoldBracelet), 27, 20, 0x1086, 0));
Add(new GenericBuyInfo(typeof(GoldEarrings), 27, 20, 0x1087, 0));
Add(new GenericBuyInfo(typeof(Board), 3, 20, 0x1BD7, 0));
Add(new GenericBuyInfo(typeof(IronIngot), 6, 20, 0x1BF2, 0));
Add(new GenericBuyInfo(typeof(StarSapphire), 125, 20, 0xF21, 0));
Add(new GenericBuyInfo(typeof(Emerald), 100, 20, 0xF10, 0));
Add(new GenericBuyInfo(typeof(Sapphire), 100, 20, 0xF19, 0));
Add(new GenericBuyInfo(typeof(Ruby), 75, 20, 0xF13, 0));
Add(new GenericBuyInfo(typeof(Citrine), 50, 20, 0xF15, 0));
Add(new GenericBuyInfo(typeof(Amethyst), 100, 20, 0xF16, 0));
Add(new GenericBuyInfo(typeof(Tourmaline), 75, 20, 0xF2D, 0));
Add(new GenericBuyInfo(typeof(Amber), 50, 20, 0xF25, 0));
Add(new GenericBuyInfo(typeof(Diamond), 200, 20, 0xF26, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Board), 1);
Add(typeof(IronIngot), 3);
Add(typeof(Amber), 25);
Add(typeof(Amethyst), 50);
Add(typeof(Citrine), 25);
Add(typeof(Diamond), 100);
Add(typeof(Emerald), 50);
Add(typeof(Ruby), 37);
Add(typeof(Sapphire), 50);
Add(typeof(StarSapphire), 62);
Add(typeof(Tourmaline), 47);
Add(typeof(GoldRing), 13);
Add(typeof(SilverRing), 10);
Add(typeof(Necklace), 13);
Add(typeof(GoldNecklace), 13);
Add(typeof(GoldBeadNecklace), 13);
Add(typeof(SilverNecklace), 10);
Add(typeof(SilverBeadNecklace), 10);
Add(typeof(Beads), 13);
Add(typeof(GoldBracelet), 13);
Add(typeof(SilverBracelet), 10);
Add(typeof(GoldEarrings), 13);
Add(typeof(SilverEarrings), 10);
}
}
}
}

View file

@ -0,0 +1,130 @@
using System;
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBVarietyDealer : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Bandage), 5, 20, 0xE21, 0));
Add(new GenericBuyInfo(typeof(BlankScroll), 5, 999, 0x0E34, 0));
Add(new GenericBuyInfo(typeof(NightSightPotion), 15, 10, 0xF06, 0));
Add(new GenericBuyInfo(typeof(AgilityPotion), 15, 10, 0xF08, 0));
Add(new GenericBuyInfo(typeof(StrengthPotion), 15, 10, 0xF09, 0));
Add(new GenericBuyInfo(typeof(RefreshPotion), 15, 10, 0xF0B, 0));
Add(new GenericBuyInfo(typeof(LesserCurePotion), 15, 10, 0xF07, 0));
Add(new GenericBuyInfo(typeof(LesserHealPotion), 15, 10, 0xF0C, 0));
Add(new GenericBuyInfo(typeof(LesserPoisonPotion), 15, 10, 0xF0A, 0));
Add(new GenericBuyInfo(typeof(LesserExplosionPotion), 21, 10, 0xF0D, 0));
Add(new GenericBuyInfo(typeof(Bolt), 6, Utility.Random(30, 60), 0x1BFB, 0));
Add(new GenericBuyInfo(typeof(Arrow), 3, Utility.Random(30, 60), 0xF3F, 0));
Add(new GenericBuyInfo(typeof(BlackPearl), 5, 999, 0xF7A, 0));
Add(new GenericBuyInfo(typeof(Bloodmoss), 5, 999, 0xF7B, 0));
Add(new GenericBuyInfo(typeof(MandrakeRoot), 3, 999, 0xF86, 0));
Add(new GenericBuyInfo(typeof(Garlic), 3, 999, 0xF84, 0));
Add(new GenericBuyInfo(typeof(Ginseng), 3, 999, 0xF85, 0));
Add(new GenericBuyInfo(typeof(Nightshade), 3, 999, 0xF88, 0));
Add(new GenericBuyInfo(typeof(SpidersSilk), 3, 999, 0xF8D, 0));
Add(new GenericBuyInfo(typeof(SulfurousAsh), 3, 999, 0xF8C, 0));
Add(new GenericBuyInfo(typeof(BreadLoaf), 7, 10, 0x103B, 0));
Add(new GenericBuyInfo(typeof(Backpack), 15, 20, 0x9B2, 0));
Type[] types = Loot.RegularScrollTypes;
int circles = 3;
for (int i = 0; i < circles * 8 && i < types.Length; ++i)
{
int itemID = 0x1F2E + i;
if (i == 6)
itemID = 0x1F2D;
else if (i > 6)
--itemID;
Add(new GenericBuyInfo(types[i], 12 + i / 8 * 10, 20, itemID, 0));
}
if (Core.AOS)
{
Add(new GenericBuyInfo(typeof(BatWing), 3, 999, 0xF78, 0));
Add(new GenericBuyInfo(typeof(GraveDust), 3, 999, 0xF8F, 0));
Add(new GenericBuyInfo(typeof(DaemonBlood), 6, 999, 0xF7D, 0));
Add(new GenericBuyInfo(typeof(NoxCrystal), 6, 999, 0xF8E, 0));
Add(new GenericBuyInfo(typeof(PigIron), 5, 999, 0xF8A, 0));
Add(new GenericBuyInfo(typeof(NecromancerSpellbook), 115, 10, 0x2253, 0));
}
Add(new GenericBuyInfo(typeof(RecallRune), 15, 10, 0x1f14, 0));
Add(new GenericBuyInfo(typeof(Spellbook), 18, 10, 0xEFA, 0));
Add(new GenericBuyInfo("1041072", typeof(MagicWizardsHat), 11, 10, 0x1718, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Bandage), 1);
Add(typeof(BlankScroll), 3);
Add(typeof(NightSightPotion), 7);
Add(typeof(AgilityPotion), 7);
Add(typeof(StrengthPotion), 7);
Add(typeof(RefreshPotion), 7);
Add(typeof(LesserCurePotion), 7);
Add(typeof(LesserHealPotion), 7);
Add(typeof(LesserPoisonPotion), 7);
Add(typeof(LesserExplosionPotion), 10);
Add(typeof(Bolt), 3);
Add(typeof(Arrow), 2);
Add(typeof(BlackPearl), 3);
Add(typeof(Bloodmoss), 3);
Add(typeof(MandrakeRoot), 2);
Add(typeof(Garlic), 2);
Add(typeof(Ginseng), 2);
Add(typeof(Nightshade), 2);
Add(typeof(SpidersSilk), 2);
Add(typeof(SulfurousAsh), 2);
Add(typeof(BreadLoaf), 3);
Add(typeof(Backpack), 7);
Add(typeof(RecallRune), 8);
Add(typeof(Spellbook), 9);
Add(typeof(BlankScroll), 3);
if (Core.AOS)
{
Add(typeof(BatWing), 2);
Add(typeof(GraveDust), 2);
Add(typeof(DaemonBlood), 3);
Add(typeof(NoxCrystal), 3);
Add(typeof(PigIron), 3);
}
Type[] types = Loot.RegularScrollTypes;
for (int i = 0; i < types.Length; ++i)
Add(types[i], (i / 8 + 2) * 5);
}
}
}
}

View file

@ -0,0 +1,32 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBVeterinarian : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Bandage), 6, 20, 0xE21, 0));
Add(new AnimalBuyInfo(1, typeof(PackHorse), 616, 10, 291, 0));
Add(new AnimalBuyInfo(1, typeof(PackLlama), 523, 10, 292, 0));
Add(new AnimalBuyInfo(1, typeof(Dog), 158, 10, 217, 0));
Add(new AnimalBuyInfo(1, typeof(Cat), 131, 10, 201, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Bandage), 1);
}
}
}
}

View file

@ -0,0 +1,52 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBWaiter : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new BeverageBuyInfo(typeof(BeverageBottle), BeverageType.Ale, 7, 20, 0x99F, 0));
Add(new BeverageBuyInfo(typeof(BeverageBottle), BeverageType.Wine, 7, 20, 0x9C7, 0));
Add(new BeverageBuyInfo(typeof(BeverageBottle), BeverageType.Liquor, 7, 20, 0x99B, 0));
Add(new BeverageBuyInfo(typeof(Jug), BeverageType.Cider, 13, 20, 0x9C8, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Milk, 7, 20, 0x9F0, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Ale, 11, 20, 0x1F95, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Cider, 11, 20, 0x1F97, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Liquor, 11, 20, 0x1F99, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Wine, 11, 20, 0x1F9B, 0));
Add(new BeverageBuyInfo(typeof(Pitcher), BeverageType.Water, 11, 20, 0x1F9D, 0));
Add(new GenericBuyInfo(typeof(BreadLoaf), 6, 10, 0x103B, 0));
Add(new GenericBuyInfo(typeof(CheeseWheel), 21, 10, 0x97E, 0));
Add(new GenericBuyInfo(typeof(CookedBird), 17, 20, 0x9B7, 0));
Add(new GenericBuyInfo(typeof(LambLeg), 8, 20, 0x160A, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfCarrots), 3, 20, 0x15F9, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfCorn), 3, 20, 0x15FA, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfLettuce), 3, 20, 0x15FB, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfPeas), 3, 20, 0x15FC, 0));
Add(new GenericBuyInfo(typeof(EmptyPewterBowl), 2, 20, 0x15FD, 0));
Add(new GenericBuyInfo(typeof(PewterBowlOfCorn), 3, 20, 0x15FE, 0));
Add(new GenericBuyInfo(typeof(PewterBowlOfLettuce), 3, 20, 0x15FF, 0));
Add(new GenericBuyInfo(typeof(PewterBowlOfPeas), 3, 20, 0x1600, 0));
Add(new GenericBuyInfo(typeof(PewterBowlOfPotatos), 3, 20, 0x1601, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfStew), 3, 20, 0x1604, 0));
Add(new GenericBuyInfo(typeof(WoodenBowlOfTomatoSoup), 3, 20, 0x1606, 0));
Add(new GenericBuyInfo(typeof(ApplePie), 7, 20, 0x1041, 0)); //OSI just has Pie, not Apple/Fruit/Meat
}
}
public class InternalSellInfo : GenericSellInfo
{
}
}
}

View file

@ -0,0 +1,173 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBWeaponSmith : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(BlackStaff), 22, 20, 0xDF1, 0));
Add(new GenericBuyInfo(typeof(Club), 16, 20, 0x13B4, 0));
Add(new GenericBuyInfo(typeof(GnarledStaff), 16, 20, 0x13F8, 0));
Add(new GenericBuyInfo(typeof(Mace), 28, 20, 0xF5C, 0));
Add(new GenericBuyInfo(typeof(Maul), 21, 20, 0x143B, 0));
Add(new GenericBuyInfo(typeof(QuarterStaff), 19, 20, 0xE89, 0));
Add(new GenericBuyInfo(typeof(ShepherdsCrook), 20, 20, 0xE81, 0));
Add(new GenericBuyInfo(typeof(SmithHammer), 21, 20, 0x13E3, 0));
Add(new GenericBuyInfo(typeof(ShortSpear), 23, 20, 0x1403, 0));
Add(new GenericBuyInfo(typeof(Spear), 31, 20, 0xF62, 0));
Add(new GenericBuyInfo(typeof(WarHammer), 25, 20, 0x1439, 0));
Add(new GenericBuyInfo(typeof(WarMace), 31, 20, 0x1407, 0));
if (Core.AOS)
{
Add(new GenericBuyInfo(typeof(Scepter), 39, 20, 0x26BC, 0));
Add(new GenericBuyInfo(typeof(BladedStaff), 40, 20, 0x26BD, 0));
}
Add(new GenericBuyInfo(typeof(Hatchet), 25, 20, 0xF44, 0));
Add(new GenericBuyInfo(typeof(Hatchet), 27, 20, 0xF43, 0));
Add(new GenericBuyInfo(typeof(WarFork), 32, 20, 0x1405, 0));
switch (Utility.Random(3))
{
case 0:
{
Add(new GenericBuyInfo(typeof(ExecutionersAxe), 30, 20, 0xF45, 0));
Add(new GenericBuyInfo(typeof(Bardiche), 60, 20, 0xF4D, 0));
Add(new GenericBuyInfo(typeof(BattleAxe), 26, 20, 0xF47, 0));
Add(new GenericBuyInfo(typeof(TwoHandedAxe), 32, 20, 0x1443, 0));
Add(new GenericBuyInfo(typeof(Bow), 35, 20, 0x13B2, 0));
Add(new GenericBuyInfo(typeof(ButcherKnife), 14, 20, 0x13F6, 0));
Add(new GenericBuyInfo(typeof(Crossbow), 46, 20, 0xF50, 0));
Add(new GenericBuyInfo(typeof(HeavyCrossbow), 55, 20, 0x13FD, 0));
Add(new GenericBuyInfo(typeof(Cutlass), 24, 20, 0x1441, 0));
Add(new GenericBuyInfo(typeof(Dagger), 21, 20, 0xF52, 0));
Add(new GenericBuyInfo(typeof(Halberd), 42, 20, 0x143E, 0));
Add(new GenericBuyInfo(typeof(HammerPick), 26, 20, 0x143D, 0));
Add(new GenericBuyInfo(typeof(Katana), 33, 20, 0x13FF, 0));
Add(new GenericBuyInfo(typeof(Kryss), 32, 20, 0x1401, 0));
Add(new GenericBuyInfo(typeof(Broadsword), 35, 20, 0xF5E, 0));
Add(new GenericBuyInfo(typeof(Longsword), 55, 20, 0xF61, 0));
Add(new GenericBuyInfo(typeof(ThinLongsword), 27, 20, 0x13B8, 0));
Add(new GenericBuyInfo(typeof(VikingSword), 55, 20, 0x13B9, 0));
Add(new GenericBuyInfo(typeof(Cleaver), 15, 20, 0xEC3, 0));
Add(new GenericBuyInfo(typeof(Axe), 40, 20, 0xF49, 0));
Add(new GenericBuyInfo(typeof(DoubleAxe), 52, 20, 0xF4B, 0));
Add(new GenericBuyInfo(typeof(Pickaxe), 22, 20, 0xE86, 0));
Add(new GenericBuyInfo(typeof(Pitchfork), 19, 20, 0xE87, 0));
Add(new GenericBuyInfo(typeof(Scimitar), 36, 20, 0x13B6, 0));
Add(new GenericBuyInfo(typeof(SkinningKnife), 14, 20, 0xEC4, 0));
Add(new GenericBuyInfo(typeof(LargeBattleAxe), 33, 20, 0x13FB, 0));
Add(new GenericBuyInfo(typeof(WarAxe), 29, 20, 0x13B0, 0));
if (Core.AOS)
{
Add(new GenericBuyInfo(typeof(BoneHarvester), 35, 20, 0x26BB, 0));
Add(new GenericBuyInfo(typeof(CrescentBlade), 37, 20, 0x26C1, 0));
Add(new GenericBuyInfo(typeof(DoubleBladedStaff), 35, 20, 0x26BF, 0));
Add(new GenericBuyInfo(typeof(Lance), 34, 20, 0x26C0, 0));
Add(new GenericBuyInfo(typeof(Pike), 39, 20, 0x26BE, 0));
Add(new GenericBuyInfo(typeof(Scythe), 39, 20, 0x26BA, 0));
Add(new GenericBuyInfo(typeof(CompositeBow), 50, 20, 0x26C2, 0));
Add(new GenericBuyInfo(typeof(RepeatingCrossbow), 57, 20, 0x26C3, 0));
}
break;
}
}
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(BattleAxe), 13);
Add(typeof(DoubleAxe), 26);
Add(typeof(ExecutionersAxe), 15);
Add(typeof(LargeBattleAxe), 16);
Add(typeof(Pickaxe), 11);
Add(typeof(TwoHandedAxe), 16);
Add(typeof(WarAxe), 14);
Add(typeof(Axe), 20);
Add(typeof(Bardiche), 30);
Add(typeof(Halberd), 21);
Add(typeof(ButcherKnife), 7);
Add(typeof(Cleaver), 7);
Add(typeof(Dagger), 10);
Add(typeof(SkinningKnife), 7);
Add(typeof(Club), 8);
Add(typeof(HammerPick), 13);
Add(typeof(Mace), 14);
Add(typeof(Maul), 10);
Add(typeof(WarHammer), 12);
Add(typeof(WarMace), 15);
Add(typeof(HeavyCrossbow), 27);
Add(typeof(Bow), 17);
Add(typeof(Crossbow), 23);
if (Core.AOS)
{
Add(typeof(CompositeBow), 25);
Add(typeof(RepeatingCrossbow), 28);
Add(typeof(Scepter), 20);
Add(typeof(BladedStaff), 20);
Add(typeof(Scythe), 19);
Add(typeof(BoneHarvester), 17);
Add(typeof(Scepter), 18);
Add(typeof(BladedStaff), 16);
Add(typeof(Pike), 19);
Add(typeof(DoubleBladedStaff), 17);
Add(typeof(Lance), 17);
Add(typeof(CrescentBlade), 18);
}
Add(typeof(Spear), 15);
Add(typeof(Pitchfork), 9);
Add(typeof(ShortSpear), 11);
Add(typeof(BlackStaff), 11);
Add(typeof(GnarledStaff), 8);
Add(typeof(QuarterStaff), 9);
Add(typeof(ShepherdsCrook), 10);
Add(typeof(SmithHammer), 10);
Add(typeof(Broadsword), 17);
Add(typeof(Cutlass), 12);
Add(typeof(Katana), 16);
Add(typeof(Kryss), 16);
Add(typeof(Longsword), 27);
Add(typeof(Scimitar), 18);
Add(typeof(ThinLongsword), 13);
Add(typeof(VikingSword), 27);
Add(typeof(Hatchet), 13);
Add(typeof(WarFork), 16);
}
}
}
}

View file

@ -0,0 +1,52 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBWeaver : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Dyes), 8, 20, 0xFA9, 0));
Add(new GenericBuyInfo(typeof(DyeTub), 8, 20, 0xFAB, 0));
Add(new GenericBuyInfo(typeof(UncutCloth), 3, 20, 0x1761, 0));
Add(new GenericBuyInfo(typeof(UncutCloth), 3, 20, 0x1762, 0));
Add(new GenericBuyInfo(typeof(UncutCloth), 3, 20, 0x1763, 0));
Add(new GenericBuyInfo(typeof(UncutCloth), 3, 20, 0x1764, 0));
Add(new GenericBuyInfo(typeof(BoltOfCloth), 100, 20, 0xf9B, 0));
Add(new GenericBuyInfo(typeof(BoltOfCloth), 100, 20, 0xf9C, 0));
Add(new GenericBuyInfo(typeof(BoltOfCloth), 100, 20, 0xf96, 0));
Add(new GenericBuyInfo(typeof(BoltOfCloth), 100, 20, 0xf97, 0));
Add(new GenericBuyInfo(typeof(DarkYarn), 18, 20, 0xE1D, 0));
Add(new GenericBuyInfo(typeof(LightYarn), 18, 20, 0xE1E, 0));
Add(new GenericBuyInfo(typeof(LightYarnUnraveled), 18, 20, 0xE1F, 0));
Add(new GenericBuyInfo(typeof(Scissors), 11, 20, 0xF9F, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Scissors), 6);
Add(typeof(Dyes), 4);
Add(typeof(DyeTub), 4);
Add(typeof(UncutCloth), 1);
Add(typeof(BoltOfCloth), 50);
Add(typeof(LightYarnUnraveled), 9);
Add(typeof(LightYarn), 9);
Add(typeof(DarkYarn), 9);
}
}
}
}

View file

@ -0,0 +1,42 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBSEArmor : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(PlateHatsuburi), 76, 20, 0x2775, 0));
Add(new GenericBuyInfo(typeof(HeavyPlateJingasa), 76, 20, 0x2777, 0));
Add(new GenericBuyInfo(typeof(DecorativePlateKabuto), 95, 20, 0x2778, 0));
Add(new GenericBuyInfo(typeof(PlateDo), 310, 20, 0x277D, 0));
Add(new GenericBuyInfo(typeof(PlateHiroSode), 222, 20, 0x2780, 0));
Add(new GenericBuyInfo(typeof(PlateSuneate), 224, 20, 0x2788, 0));
Add(new GenericBuyInfo(typeof(PlateHaidate), 235, 20, 0x278D, 0));
Add(new GenericBuyInfo(typeof(ChainHatsuburi), 76, 20, 0x2774, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(PlateHatsuburi), 38);
Add(typeof(HeavyPlateJingasa), 38);
Add(typeof(DecorativePlateKabuto), 47);
Add(typeof(PlateDo), 155);
Add(typeof(PlateHiroSode), 111);
Add(typeof(PlateSuneate), 112);
Add(typeof(PlateHaidate), 117);
Add(typeof(ChainHatsuburi), 38);
}
}
}
}

View file

@ -0,0 +1,36 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBSEBowyer : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Yumi), 53, 20, 0x27A5, 0));
Add(new GenericBuyInfo(typeof(Fukiya), 20, 20, 0x27AA, 0));
Add(new GenericBuyInfo(typeof(Nunchaku), 35, 20, 0x27AE, 0));
Add(new GenericBuyInfo(typeof(FukiyaDarts), 3, 20, 0x2806, 0));
Add(new GenericBuyInfo(typeof(Bokuto), 21, 20, 0x27A8, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Yumi), 26);
Add(typeof(Fukiya), 10);
Add(typeof(Nunchaku), 17);
Add(typeof(FukiyaDarts), 1);
Add(typeof(Bokuto), 10);
}
}
}
}

View file

@ -0,0 +1,35 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBSECarpenter : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Bokuto), 21, 20, 0x27A8, 0));
Add(new GenericBuyInfo(typeof(Tetsubo), 43, 20, 0x27A6, 0));
Add(new GenericBuyInfo(typeof(Fukiya), 20, 20, 0x27AA, 0));
Add(new GenericBuyInfo(typeof(BambooFlute), 21, 20, 0x2805, 0));
Add(new GenericBuyInfo(typeof(BambooFlute), 21, 20, 0x2805, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Tetsubo), 21);
Add(typeof(Fukiya), 10);
Add(typeof(BambooFlute), 10);
Add(typeof(Bokuto), 10);
}
}
}
}

View file

@ -0,0 +1,34 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBSEFood : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Wasabi), 2, 20, 0x24E8, 0));
Add(new GenericBuyInfo(typeof(Wasabi), 2, 20, 0x24E9, 0));
Add(new GenericBuyInfo(typeof(BentoBox), 6, 20, 0x2836, 0));
Add(new GenericBuyInfo(typeof(BentoBox), 6, 20, 0x2837, 0));
Add(new GenericBuyInfo(typeof(GreenTeaBasket), 2, 20, 0x284B, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Wasabi), 1);
Add(typeof(BentoBox), 3);
Add(typeof(GreenTeaBasket), 1);
}
}
}
}

View file

@ -0,0 +1,51 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBSELeatherArmor : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(LeatherJingasa), 11, 20, 0x2776, 0));
Add(new GenericBuyInfo(typeof(LeatherDo), 87, 20, 0x277B, 0));
Add(new GenericBuyInfo(typeof(LeatherHiroSode), 49, 20, 0x277E, 0));
Add(new GenericBuyInfo(typeof(LeatherSuneate), 55, 20, 0x2786, 0));
Add(new GenericBuyInfo(typeof(LeatherHaidate), 54, 20, 0x278A, 0));
Add(new GenericBuyInfo(typeof(LeatherNinjaPants), 49, 20, 0x2791, 0));
Add(new GenericBuyInfo(typeof(LeatherNinjaJacket), 51, 20, 0x2793, 0));
Add(new GenericBuyInfo(typeof(StuddedMempo), 61, 20, 0x279D, 0));
Add(new GenericBuyInfo(typeof(StuddedDo), 130, 20, 0x277C, 0));
Add(new GenericBuyInfo(typeof(StuddedHiroSode), 73, 20, 0x277F, 0));
Add(new GenericBuyInfo(typeof(StuddedSuneate), 78, 20, 0x2787, 0));
Add(new GenericBuyInfo(typeof(StuddedHaidate), 76, 20, 0x278B, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(LeatherJingasa), 5);
Add(typeof(LeatherDo), 42);
Add(typeof(LeatherHiroSode), 23);
Add(typeof(LeatherSuneate), 26);
Add(typeof(LeatherHaidate), 28);
Add(typeof(LeatherNinjaPants), 25);
Add(typeof(LeatherNinjaJacket), 26);
Add(typeof(StuddedMempo), 28);
Add(typeof(StuddedDo), 66);
Add(typeof(StuddedHiroSode), 32);
Add(typeof(StuddedSuneate), 40);
Add(typeof(StuddedHaidate), 37);
}
}
}
}

View file

@ -0,0 +1,46 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBSEWeapons : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(NoDachi), 82, 20, 0x27A2, 0));
Add(new GenericBuyInfo(typeof(Tessen), 83, 20, 0x27A3, 0));
Add(new GenericBuyInfo(typeof(Wakizashi), 38, 20, 0x27A4, 0));
Add(new GenericBuyInfo(typeof(Tetsubo), 43, 20, 0x27A6, 0));
Add(new GenericBuyInfo(typeof(Lajatang), 108, 20, 0x27A7, 0));
Add(new GenericBuyInfo(typeof(Daisho), 66, 20, 0x27A9, 0));
Add(new GenericBuyInfo(typeof(Tekagi), 55, 20, 0x27AB, 0));
Add(new GenericBuyInfo(typeof(Shuriken), 18, 20, 0x27AC, 0));
Add(new GenericBuyInfo(typeof(Kama), 61, 20, 0x27AD, 0));
Add(new GenericBuyInfo(typeof(Sai), 56, 20, 0x27AF, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(NoDachi), 41);
Add(typeof(Tessen), 41);
Add(typeof(Wakizashi), 19);
Add(typeof(Tetsubo), 21);
Add(typeof(Lajatang), 54);
Add(typeof(Daisho), 33);
Add(typeof(Tekagi), 22);
Add(typeof(Shuriken), 9);
Add(typeof(Kama), 30);
Add(typeof(Sai), 28);
}
}
}
}

View file

@ -0,0 +1,42 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBAxeWeapon : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(ExecutionersAxe), 30, 20, 0xF45, 0));
Add(new GenericBuyInfo(typeof(BattleAxe), 26, 20, 0xF47, 0));
Add(new GenericBuyInfo(typeof(TwoHandedAxe), 32, 20, 0x1443, 0));
Add(new GenericBuyInfo(typeof(Axe), 40, 20, 0xF49, 0));
Add(new GenericBuyInfo(typeof(DoubleAxe), 52, 20, 0xF4B, 0));
Add(new GenericBuyInfo(typeof(Pickaxe), 22, 20, 0xE86, 0));
Add(new GenericBuyInfo(typeof(LargeBattleAxe), 33, 20, 0x13FB, 0));
Add(new GenericBuyInfo(typeof(WarAxe), 29, 20, 0x13B0, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(BattleAxe), 13);
Add(typeof(DoubleAxe), 26);
Add(typeof(ExecutionersAxe), 15);
Add(typeof(LargeBattleAxe), 16);
Add(typeof(Pickaxe), 11);
Add(typeof(TwoHandedAxe), 16);
Add(typeof(WarAxe), 14);
Add(typeof(Axe), 20);
}
}
}
}

View file

@ -0,0 +1,34 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBKnifeWeapon : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(ButcherKnife), 14, 20, 0x13F6, 0));
Add(new GenericBuyInfo(typeof(Dagger), 21, 20, 0xF52, 0));
Add(new GenericBuyInfo(typeof(Cleaver), 15, 20, 0xEC3, 0));
Add(new GenericBuyInfo(typeof(SkinningKnife), 14, 20, 0xEC4, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(ButcherKnife), 7);
Add(typeof(Cleaver), 7);
Add(typeof(Dagger), 10);
Add(typeof(SkinningKnife), 7);
}
}
}
}

View file

@ -0,0 +1,38 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBMaceWeapon : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(HammerPick), 26, 20, 0x143D, 0));
Add(new GenericBuyInfo(typeof(Club), 16, 20, 0x13B4, 0));
Add(new GenericBuyInfo(typeof(Mace), 28, 20, 0xF5C, 0));
Add(new GenericBuyInfo(typeof(Maul), 21, 20, 0x143B, 0));
Add(new GenericBuyInfo(typeof(WarHammer), 25, 20, 0x1439, 0));
Add(new GenericBuyInfo(typeof(WarMace), 31, 20, 0x1407, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Club), 8);
Add(typeof(HammerPick), 13);
Add(typeof(Mace), 14);
Add(typeof(Maul), 10);
Add(typeof(WarHammer), 12);
Add(typeof(WarMace), 15);
}
}
}
}

View file

@ -0,0 +1,30 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBPoleArmWeapon : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Bardiche), 60, 20, 0xF4D, 0));
Add(new GenericBuyInfo(typeof(Halberd), 42, 20, 0x143E, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Bardiche), 30);
Add(typeof(Halberd), 21);
}
}
}
}

View file

@ -0,0 +1,53 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBRangedWeapon : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Crossbow), 55, 20, 0xF50, 0));
Add(new GenericBuyInfo(typeof(HeavyCrossbow), 55, 20, 0x13FD, 0));
if (Core.AOS)
{
Add(new GenericBuyInfo(typeof(RepeatingCrossbow), 46, 20, 0x26C3, 0));
Add(new GenericBuyInfo(typeof(CompositeBow), 45, 20, 0x26C2, 0));
}
Add(new GenericBuyInfo(typeof(Bolt), 2, Utility.Random(30, 60), 0x1BFB, 0));
Add(new GenericBuyInfo(typeof(Bow), 40, 20, 0x13B2, 0));
Add(new GenericBuyInfo(typeof(Arrow), 2, Utility.Random(30, 60), 0xF3F, 0));
Add(new GenericBuyInfo(typeof(Feather), 2, Utility.Random(30, 60), 0x1BD1, 0));
Add(new GenericBuyInfo(typeof(Shaft), 3, Utility.Random(30, 60), 0x1BD4, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Bolt), 1);
Add(typeof(Arrow), 1);
Add(typeof(Shaft), 1);
Add(typeof(Feather), 1);
Add(typeof(HeavyCrossbow), 27);
Add(typeof(Bow), 17);
Add(typeof(Crossbow), 25);
if (Core.AOS)
{
Add(typeof(CompositeBow), 23);
Add(typeof(RepeatingCrossbow), 22);
}
}
}
}
}

View file

@ -0,0 +1,32 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBSpearForkWeapon : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Pitchfork), 19, 20, 0xE87, 0));
Add(new GenericBuyInfo(typeof(ShortSpear), 23, 20, 0x1403, 0));
Add(new GenericBuyInfo(typeof(Spear), 31, 20, 0xF62, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Spear), 15);
Add(typeof(Pitchfork), 9);
Add(typeof(ShortSpear), 11);
}
}
}
}

View file

@ -0,0 +1,34 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBStavesWeapon : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(BlackStaff), 22, 20, 0xDF1, 0));
Add(new GenericBuyInfo(typeof(GnarledStaff), 16, 20, 0x13F8, 0));
Add(new GenericBuyInfo(typeof(QuarterStaff), 19, 20, 0xE89, 0));
Add(new GenericBuyInfo(typeof(ShepherdsCrook), 20, 20, 0xE81, 0));
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(BlackStaff), 11);
Add(typeof(GnarledStaff), 8);
Add(typeof(QuarterStaff), 9);
Add(typeof(ShepherdsCrook), 10);
}
}
}
}

View file

@ -0,0 +1,64 @@
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
public class SBSwordWeapon : SBInfo
{
public override IShopSellInfo SellInfo{ get; } = new InternalSellInfo();
public override List<GenericBuyInfo> BuyInfo{ get; } = new InternalBuyInfo();
public class InternalBuyInfo : List<GenericBuyInfo>
{
public InternalBuyInfo()
{
Add(new GenericBuyInfo(typeof(Cutlass), 24, 20, 0x1441, 0));
Add(new GenericBuyInfo(typeof(Katana), 33, 20, 0x13FF, 0));
Add(new GenericBuyInfo(typeof(Kryss), 32, 20, 0x1401, 0));
Add(new GenericBuyInfo(typeof(Broadsword), 35, 20, 0xF5E, 0));
Add(new GenericBuyInfo(typeof(Longsword), 55, 20, 0xF61, 0));
Add(new GenericBuyInfo(typeof(ThinLongsword), 27, 20, 0x13B8, 0));
Add(new GenericBuyInfo(typeof(VikingSword), 55, 20, 0x13B9, 0));
Add(new GenericBuyInfo(typeof(Scimitar), 36, 20, 0x13B6, 0));
if (Core.AOS)
{
Add(new GenericBuyInfo(typeof(BoneHarvester), 35, 20, 0x26BB, 0));
Add(new GenericBuyInfo(typeof(CrescentBlade), 37, 20, 0x26C1, 0));
Add(new GenericBuyInfo(typeof(DoubleBladedStaff), 35, 20, 0x26BF, 0));
Add(new GenericBuyInfo(typeof(Lance), 34, 20, 0x26C0, 0));
Add(new GenericBuyInfo(typeof(Pike), 39, 20, 0x26BE, 0));
Add(new GenericBuyInfo(typeof(Scythe), 39, 20, 0x26BA, 0));
}
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
Add(typeof(Broadsword), 17);
Add(typeof(Cutlass), 12);
Add(typeof(Katana), 16);
Add(typeof(Kryss), 16);
Add(typeof(Longsword), 27);
Add(typeof(Scimitar), 18);
Add(typeof(ThinLongsword), 13);
Add(typeof(VikingSword), 27);
if (Core.AOS)
{
Add(typeof(Scythe), 19);
Add(typeof(BoneHarvester), 17);
Add(typeof(Scepter), 18);
Add(typeof(BladedStaff), 16);
Add(typeof(Pike), 19);
Add(typeof(DoubleBladedStaff), 17);
Add(typeof(Lance), 17);
Add(typeof(CrescentBlade), 18);
}
}
}
}
}