All pastes #606034 Raw Edit

Someone

public text v1 · immutable
·published 2007-07-06 16:52 UTC
rendered paste body
using System;
using Server;
using Server.Items;
using System.Collections;
using System.Collections.Generic;


namespace Server.Mobiles
{
    public class MBarber : BaseVendor
    {
        private bool IsHair(Type item)
        {
            Type t = item.GetType();

            if ( t == typeof(ShortHair) || t == typeof(LongHair) || t == typeof(PonyTail) || t == typeof(Mohawk) 
                || t == typeof(PageboyHair) || t == typeof(BunsHair) || t == typeof(Afro)
                || t == typeof(ReceedingHair) || t == typeof(TwoPigTails) || t == typeof(KrisnaHair))
                return true;

            return false;
        }

        private ArrayList m_SBInfos = new ArrayList();
        protected override ArrayList SBInfos { get { return m_SBInfos; } }

        [Constructable]
        public MBarber() : base("the hair stylist")
        {
            SetSkill(SkillName.Alchemy, 80.0, 100.0);
            SetSkill(SkillName.Magery, 90.0, 110.0);
            SetSkill(SkillName.TasteID, 85.0, 100.0);
        }

        public override void InitSBInfo()
        {
            m_SBInfos.Add(new SBHairStylist());
        }

        public override bool OnBuyItems(Mobile buyer, ArrayList list)
        {
            int beard = 0, hair = 0;
            List<Item> toAdd;

            if (list.Count > 2)
            {
                //Vendor say JOO GOOOT TOO MOOOOOOCH
                return false;
            }

            toAdd = new List<Item>();
            foreach (BuyItemResponse o in list)
            {
                Item item = World.FindItem(o.Serial);

                if (IsHair(item.GetType()))
                {
                    toAdd.Add(item);
                    hair++;
                }
                else
                {
                    toAdd.Add(item);
                    beard++;
                }

                if (hair > 1 || beard > 1)
                    break;
            }

            if (hair > 1 || beard > 1)
            {
                //Vendor say PLIIIZ ZELEKKT ONLI ONE STAJZ
                return false;
            }

            foreach (Item i in toAdd)
            {
                if (IsHair(i.GetType()))
                    buyer.HairItemID = i.ItemID;
                else
                    buyer.FacialHairItemID = i.ItemID;
            }

            return true;
        }

        public MBarber(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();
        }
    }
}