Pagan Vendor
Pretty easy to script these yourself, and you might learn something if you open the scripts and see how they work.
But here are the ones I made for all those who choose to be lazy.
PAGAN.CS
[code:1]using System;
using System.Collections;
using Server;
namespace Server.Mobiles
{
public class Pagan : BaseVendor
{
private ArrayList m_SBInfos = new ArrayList();
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
public override NpcGuild NpcGuild{ get{ return NpcGuild.MagesGuild; } }
[Constructable]
public Pagan() : base( "the Pagan" )
{
SetSkill( SkillName.EvalInt, 60.0, 83.0 );
SetSkill( SkillName.Magery, 90.0, 100.0 );
SetSkill( SkillName.Necromancy, 90.0, 100.0 );
SetSkill( SkillName.SpiritSpeak, 90.0, 100.0 );
}
public override void InitSBInfo()
{
m_SBInfos.Add( new SBPagan() );
}
public override VendorShoeType ShoeType
{
get{ return Utility.RandomBool() ? VendorShoeType.Shoes : VendorShoeType.Sandals; }
}
public override void InitOutfit()
{
base.InitOutfit();
AddItem( new Server.Items.Robe( Utility.RandomNeutralHue() ) );
}
public Pagan( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}
[/code:1]
PAGANSBINFO.CS
[code:1]using System;
using System.Collections;
using Server.Items;
namespace Server.Mobiles
{
public class SBPagan : SBInfo
{
private ArrayList m_BuyInfo = new InternalBuyInfo();
private IShopSellInfo m_SellInfo = new InternalSellInfo();
public SBPagan()
{
}
public override IShopSellInfo SellInfo { get { return m_SellInfo; } }
public override ArrayList BuyInfo { get { return m_BuyInfo; } }
public class InternalBuyInfo : ArrayList
{
public InternalBuyInfo()
{
Add( new GenericBuyInfo( "Awaken scroll", typeof( AwakenScroll ), 72, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Awaken All scroll", typeof( AwakenAllScroll ), 144, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Charm scroll", typeof( CharmScroll ), 72, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Clone scroll", typeof( CloneScroll ), 144, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Dance scroll", typeof( DanceScroll ), 72, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Death Vortex scroll", typeof( DeathVortexScroll ), 144, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Destroy Trap scroll", typeof( DestroyTrapScroll ), 72, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Detect Trap scroll", typeof( DetectTrapScroll ), 72, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Enchant scroll", typeof( EnchantScroll ), 144, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "False Coin scroll", typeof( FalseCoinScroll ), 72, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Fire Ring scroll", typeof( FireRingScroll ), 144, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Fireworks scroll", typeof( FireworksScroll ), 72, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Glimmer scroll", typeof( GlimmerScroll ), 72, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Great Light scroll", typeof( GreatLightScroll ), 144, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Identify scroll", typeof( IdentifyScroll ), 72, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Invisibility All scroll", typeof( InvisibilityAllScroll ), 72, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Locate scroll", typeof( LocateScroll ), 72, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Mass Charm scroll", typeof( MassCharmScroll ), 144, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Mass Might scroll", typeof( MassMightScroll ), 144, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Mass Sleep scroll", typeof( MassSleepScroll ), 144, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Peer scroll", typeof( PeerScroll ), 144, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Seance scroll", typeof( SeanceScroll ), 144, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Sleep scroll", typeof( SleepScroll ), 144, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Sleep Field scroll", typeof( SleepFieldScroll ), 144, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Swarm scroll", typeof( SwarmScroll ), 144, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Thunder scroll", typeof( ThunderScroll ), 144, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( "Tremor scroll", typeof( TremorScroll ), 144, 144, 0x1F32, 0 ) );
Add( new GenericBuyInfo( typeof( BlackPearl ), 5, 400, 0xF7A, 0 ) );
Add( new GenericBuyInfo( typeof( Bloodmoss ), 5, 400, 0xF7B, 0 ) );
Add( new GenericBuyInfo( typeof( MandrakeRoot ), 3, 400, 0xF86, 0 ) );
Add( new GenericBuyInfo( typeof( Garlic ), 3, 400, 0xF84, 0 ) );
Add( new GenericBuyInfo( typeof( Ginseng ), 3, 400, 0xF85, 0 ) );
Add( new GenericBuyInfo( typeof( Nightshade ), 3, 400, 0xF88, 0 ) );
Add( new GenericBuyInfo( typeof( SpidersSilk ), 3, 400, 0xF8D, 0 ) );
Add( new GenericBuyInfo( typeof( SulfurousAsh ), 3, 400, 0xF8C, 0 ) );
Add( new GenericBuyInfo( "A Pagan's Spellbook", typeof( PaganSpellbook ), 500, 20, 0xEFA, 0x489 ) );
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
}
}
}
}
[/code:1]