示例#1
0
        public RaresVendor() : base("the custom provisioner")
        {
            Item temp;

            temp         = new Shoes();
            temp.Hue     = 1953;
            temp.Movable = false;
            AddItem(temp);
            temp         = new LongPants();
            temp.Hue     = 01;
            temp.Movable = false;
            AddItem(temp);
            temp         = new Doublet();
            temp.Hue     = 1953;
            temp.Movable = false;
            AddItem(temp);
            temp         = new FancyShirt();
            temp.Hue     = 01;
            temp.Movable = false;
            AddItem(temp);
            temp         = new FloppyHat();
            temp.Hue     = 1953;
            temp.Movable = false;
            AddItem(temp);
            temp         = new Cloak();
            temp.Hue     = 1953;
            temp.Movable = false;
            AddItem(temp);
        }
示例#2
0
            public InternalBuyInfo()
            {
                Add(new GenericBuyInfo("Bolt of Cloth", typeof(BoltOfCloth), BoltOfCloth.GetSBPurchaseValue(), 50, 0xf95, 0));

                Add(new GenericBuyInfo("Scissors", typeof(Scissors), Scissors.GetSBPurchaseValue(), 25, 0xF9F, 0));
                Add(new GenericBuyInfo("Sewing Kit", typeof(SewingKit), SewingKit.GetSBPurchaseValue(), 50, 0xF9D, 0));
                Add(new GenericBuyInfo("Dyes", typeof(Dyes), Dyes.GetSBPurchaseValue(), 25, 0xFA9, 0));
                Add(new GenericBuyInfo("Dye Tub", typeof(DyeTub), DyeTub.GetSBPurchaseValue(), 25, 0xFAB, 0));

                //Hats
                Add(new GenericBuyInfo("Skull Cap", typeof(SkullCap), SkullCap.GetSBPurchaseValue(), 25, 0x1544, 0));
                Add(new GenericBuyInfo("Bandana", typeof(Bandana), Bandana.GetSBPurchaseValue(), 25, 0x1540, 0));
                Add(new GenericBuyInfo("Floppy Hat", typeof(FloppyHat), FloppyHat.GetSBPurchaseValue(), 25, 0x1713, 0));
                Add(new GenericBuyInfo("Cap", typeof(Cap), Cap.GetSBPurchaseValue(), 25, 0x1715, 0));
                Add(new GenericBuyInfo("Wide Brim Hat", typeof(WideBrimHat), WideBrimHat.GetSBPurchaseValue(), 25, 0x1714, 0));
                Add(new GenericBuyInfo("Tall Straw Hat", typeof(TallStrawHat), TallStrawHat.GetSBPurchaseValue(), 25, 0x1716, 0));
                Add(new GenericBuyInfo("Bonnet", typeof(Bonnet), Bonnet.GetSBPurchaseValue(), 25, 0x1719, 0));
                Add(new GenericBuyInfo("Feathered Hat", typeof(FeatheredHat), FeatheredHat.GetSBPurchaseValue(), 25, 0x171A, 0));
                Add(new GenericBuyInfo("Tricorne Hat", typeof(TricorneHat), TricorneHat.GetSBPurchaseValue(), 25, 0x171B, 0));
                Add(new GenericBuyInfo("Jester Hat", typeof(JesterHat), JesterHat.GetSBPurchaseValue(), 25, 0x171C, 0));
                Add(new GenericBuyInfo("Wizards Hat", typeof(WizardsHat), WizardsHat.GetSBPurchaseValue(), 25, 0x1718, 0));

                //Shirts
                Add(new GenericBuyInfo("Doublet", typeof(Doublet), Doublet.GetSBPurchaseValue(), 25, 0x1F7B, 0));
                Add(new GenericBuyInfo("Shirt", typeof(Shirt), Shirt.GetSBPurchaseValue(), 25, 0x1517, 0));
                Add(new GenericBuyInfo("Fancy Shirt", typeof(FancyShirt), FancyShirt.GetSBPurchaseValue(), 25, 0x1EFD, 0));
                Add(new GenericBuyInfo("Tunic", typeof(Tunic), Tunic.GetSBPurchaseValue(), 25, 0x1FA1, 0));
                Add(new GenericBuyInfo("Surcoat", typeof(Surcoat), Surcoat.GetSBPurchaseValue(), 25, 0x1FFD, 0));
                Add(new GenericBuyInfo("Jester Suit", typeof(JesterSuit), JesterSuit.GetSBPurchaseValue(), 25, 0x1F9F, 0));
                Add(new GenericBuyInfo("Plain Dress", typeof(PlainDress), PlainDress.GetSBPurchaseValue(), 25, 0x1F01, 0));
                Add(new GenericBuyInfo("Fancy Dress", typeof(FancyDress), FancyDress.GetSBPurchaseValue(), 25, 0x1EFF, 0));
                Add(new GenericBuyInfo("Robe", typeof(Robe), Robe.GetSBPurchaseValue(), 25, 0x1F03, 0));

                //Pants
                Add(new GenericBuyInfo("Short Pants", typeof(ShortPants), ShortPants.GetSBPurchaseValue(), 25, 0x152E, 0));
                Add(new GenericBuyInfo("Long Pants", typeof(LongPants), LongPants.GetSBPurchaseValue(), 25, 0x1539, 0));
                Add(new GenericBuyInfo("Kilt", typeof(Kilt), Kilt.GetSBPurchaseValue(), 25, 0x1537, 0));
                Add(new GenericBuyInfo("Skirt", typeof(Skirt), Skirt.GetSBPurchaseValue(), 25, 0x1516, 0));

                Add(new GenericBuyInfo("Cloak", typeof(Cloak), Cloak.GetSBPurchaseValue(), 25, 0x1515, 0));
                Add(new GenericBuyInfo("Body Sash", typeof(BodySash), BodySash.GetSBPurchaseValue(), 25, 0x1541, 0));
                Add(new GenericBuyInfo("Half Apron", typeof(HalfApron), HalfApron.GetSBPurchaseValue(), 25, 0x153b, 0));
                Add(new GenericBuyInfo("Full Apron", typeof(FullApron), FullApron.GetSBPurchaseValue(), 25, 0x153d, 0));

                //Shoes
                Add(new GenericBuyInfo("Sandals", typeof(Sandals), Sandals.GetSBPurchaseValue(), 25, 0x170D, 0));
                Add(new GenericBuyInfo("Shoes", typeof(Shoes), Shoes.GetSBPurchaseValue(), 25, 0x170F, 0));
                Add(new GenericBuyInfo("Boots", typeof(Boots), Boots.GetSBPurchaseValue(), 25, 0x170B, 0));
                Add(new GenericBuyInfo("Thigh Boots", typeof(ThighBoots), ThighBoots.GetSBPurchaseValue(), 25, 0x1711, 0));

                //TEST: FIX
                //Add( new GenericBuyInfo( typeof( SpoolOfThread ), 18, 20, 0xFA0, 0 ) );
                //Add( new GenericBuyInfo( typeof( Flax ), 156, 20, 0x1A9C, 0 ) );
                //Add( new GenericBuyInfo( typeof( Cotton ), 156, 20, 0xDF9, 0 ) );
                //Add( new GenericBuyInfo( typeof( Wool ), 78, 20, 0xDF8, 0 ) );
            }
示例#3
0
        public override void InitOutfit()
        {
            int lowHue   = GetRandomHue();
            int hairHue  = Utility.RandomHairHue();
            int cloakHue = 1;                   // black

            if (Female)
            {
                AddItem(new PlainDress(GetRandomHue()));
            }
            else
            {
                AddItem(new Shirt(GetRandomHue()));
                AddItem(new ShortPants(lowHue));
            }

            AddItem(new Shoes(lowHue));

            if (Female == false)
            {
                if (Utility.RandomBool())
                {
                    AddItem(new Mustache(hairHue));
                }
                else
                {
                    AddItem(new Goatee(hairHue));
                }
            }

            // they are color coordinated :P
            Cloak     cloak = new Cloak(cloakHue);
            FloppyHat hat   = new FloppyHat(cloakHue);

            hat.LootType   = LootType.Newbied;
            cloak.LootType = LootType.Newbied;
            AddItem(cloak);
            AddItem(hat);

            AddItem(new Kryss());

            switch (Utility.Random(4))
            {
            case 0: AddItem(new ShortHair(hairHue)); break;

            case 1: AddItem(new LongHair(hairHue)); break;

            case 2: AddItem(new ReceedingHair(hairHue)); break;

            case 3: AddItem(new PonyTail(hairHue)); break;
            }
        }
示例#4
0
            public InternalSellInfo()
            {
                Add(typeof(BoltOfCloth), BoltOfCloth.GetSBSellValue());

                Add(typeof(Scissors), Scissors.GetSBSellValue());
                Add(typeof(SewingKit), SewingKit.GetSBSellValue());
                Add(typeof(Dyes), Dyes.GetSBSellValue());
                Add(typeof(DyeTub), DyeTub.GetSBSellValue());

                Add(typeof(SkullCap), SkullCap.GetSBSellValue());
                Add(typeof(Bandana), Bandana.GetSBSellValue());
                Add(typeof(FloppyHat), FloppyHat.GetSBSellValue());
                Add(typeof(Cap), Cap.GetSBSellValue());
                Add(typeof(WideBrimHat), WideBrimHat.GetSBSellValue());
                Add(typeof(TallStrawHat), TallStrawHat.GetSBSellValue());
                Add(typeof(Bonnet), Bonnet.GetSBSellValue());
                Add(typeof(FeatheredHat), FeatheredHat.GetSBSellValue());
                Add(typeof(TricorneHat), TricorneHat.GetSBSellValue());
                Add(typeof(JesterHat), JesterHat.GetSBSellValue());
                Add(typeof(WizardsHat), WizardsHat.GetSBSellValue());

                Add(typeof(Doublet), Doublet.GetSBSellValue());
                Add(typeof(Shirt), Shirt.GetSBSellValue());
                Add(typeof(FancyShirt), FancyShirt.GetSBSellValue());
                Add(typeof(Tunic), Tunic.GetSBSellValue());
                Add(typeof(Surcoat), Surcoat.GetSBSellValue());
                Add(typeof(JesterSuit), JesterSuit.GetSBSellValue());
                Add(typeof(PlainDress), PlainDress.GetSBSellValue());
                Add(typeof(FancyDress), FancyDress.GetSBSellValue());
                Add(typeof(Robe), Robe.GetSBSellValue());

                Add(typeof(ShortPants), ShortPants.GetSBSellValue());
                Add(typeof(LongPants), LongPants.GetSBSellValue());
                Add(typeof(Kilt), Kilt.GetSBSellValue());
                Add(typeof(Skirt), Skirt.GetSBSellValue());

                Add(typeof(Cloak), Cloak.GetSBSellValue());
                Add(typeof(BodySash), BodySash.GetSBSellValue());
                Add(typeof(HalfApron), HalfApron.GetSBSellValue());
                Add(typeof(FullApron), FullApron.GetSBSellValue());

                Add(typeof(Sandals), Sandals.GetSBSellValue());
                Add(typeof(Shoes), Shoes.GetSBSellValue());
                Add(typeof(Boots), Boots.GetSBSellValue());
                Add(typeof(ThighBoots), ThighBoots.GetSBSellValue());
            }
示例#5
0
        public Xardok() : base()
        {
            SpeechHue = Utility.RandomTalkHue();
            NameHue   = 1154;

            Body      = 400;
            Name      = "Xardok";
            Title     = "the Baron";
            AI        = AIType.AI_Citizen;
            FightMode = FightMode.None;

            AddItem(new Boots());
            Item cloth1 = new Robe();

            cloth1.Hue = 0x6E8;
            AddItem(cloth1);
            Item cloth2 = new FloppyHat();

            cloth2.Hue = 0x6E8;
            AddItem(cloth2);

            SetStr(200);
            SetDex(200);
            SetInt(200);

            SetDamage(15, 20);
            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 35, 45);
            SetResistance(ResistanceType.Fire, 25, 30);
            SetResistance(ResistanceType.Cold, 25, 30);
            SetResistance(ResistanceType.Poison, 10, 20);
            SetResistance(ResistanceType.Energy, 10, 20);

            SetSkill(SkillName.Wrestling, 100);
            Karma        = 10000;
            VirtualArmor = 100;

            Hue = 0x83EA;
            FacialHairItemID = 0x204C;       // BEARD
            FacialHairHue    = 0x455;
            HairItemID       = 0x203C;       // LONG HAIR
            HairHue          = 0x455;
        }
示例#6
0
        public override void InitOutfit()
        {
            FloppyHat head = new FloppyHat();

            head.Hue = 1175;
            AddItem(head);
            PlainDress chest = new PlainDress();

            chest.Hue = 1175;
            AddItem(chest);
            AddItem(new GoldNecklace());
            Spellbook lefthand = new Spellbook();

            lefthand.Hue = 1217;
            AddItem(lefthand);
            Sandals feet = new Sandals();

            feet.Hue = 1175;
            AddItem(feet);
        }
        public override void OnCast()
        {
            if (CheckSequence())
            {
                Item   item = new Dagger();
                string msg  = "You conjure a dagger.";

                switch (Utility.RandomMinMax(1, 28))
                {
                case 1: item = new Apple(); item.Amount = Utility.RandomMinMax(1, 5); msg = "You conjure some apples."; break;

                case 2: item = new Arrow(); item.Amount = Utility.RandomMinMax(1, 10); msg = "You conjure some arrows."; break;

                case 3: item = new Backpack(); msg = "You conjure a backpack."; break;

                case 4: item = new Bag(); msg = "You conjure a bag."; break;

                case 5: item = new Bandage(); item.Amount = Utility.RandomMinMax(1, 10); msg = "You conjure some bandages."; break;

                case 6: item = new Bedroll(); msg = "You conjure a bedroll."; break;

                case 7: item = new Beeswax(); msg = "You conjure some beeswax."; break;

                case 8: item = new BlueBook(); msg = "You conjure a book."; break;

                case 9: item = new Bolt(); item.Amount = Utility.RandomMinMax(1, 10); msg = "You conjure some crossbow bolts."; break;

                case 10: item = new Bottle(); msg = "You conjure a bottle."; break;

                case 11: item = new BreadLoaf(); item.Amount = Utility.RandomMinMax(1, 5); msg = "You conjure some bread."; break;

                case 12: item = new Candle(); msg = "You conjure a candle."; break;

                case 13: item = new Club(); msg = "You conjure a club."; break;

                case 14: item = new Dagger(); msg = "You conjure a dagger."; break;

                case 15: item = new DarkYarn(); item.Amount = Utility.RandomMinMax(1, 5); msg = "You conjure some yarn."; break;

                case 16: item = new FloppyHat(); msg = "You conjure a hat."; break;

                case 17: item = new Jar(); msg = "You conjure a jar."; break;

                case 18: item = new Kindling(); item.Amount = Utility.RandomMinMax(1, 5); msg = "You conjure some kindling."; break;

                case 19: item = new Lantern(); msg = "You conjure a lantern."; break;

                case 20: item = new Lockpick(); msg = "You conjure a lockpick."; break;

                case 21: item = new OilCloth(); msg = "You conjure an oil cloth."; break;

                case 22: item = new Pouch(); msg = "You conjure a pouch."; break;

                case 23: item = new Robe(); msg = "You conjure a robe."; break;

                case 24: item = new Shoes(); msg = "You conjure some shoes."; break;

                case 25: item = new SpoolOfThread(); item.Amount = Utility.RandomMinMax(1, 5); msg = "You conjure some thread."; break;

                case 26: item = new TenFootPole(); msg = "You conjure a ten foot pole."; break;

                case 27: item = new Torch(); msg = "You conjure a torch."; break;

                case 28: item = new Waterskin(); msg = "You conjure a waterskin."; break;
                }

                Caster.SendMessage(msg);

                Caster.AddToBackpack(item);

                Caster.FixedParticles(0, 10, 5, 2003, Server.Items.CharacterDatabase.GetMySpellHue(Caster, 0), 0, EffectLayer.RightHand);
                Caster.PlaySound(0x1E2);

                Server.Misc.Research.ConsumeScroll(Caster, true, spellIndex, true);
            }

            FinishSequence();
        }
示例#8
0
        public Syth() : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            SpeechHue = Utility.RandomTalkHue();
            Title     = "the Syth";
            Hue       = Utility.RandomSkinColor();
            if (Utility.RandomBool())
            {
                Hue = Utility.RandomList(0x6F6, 0x97F, 0x99B, 0x6E4, 0x5E0, 0xB38, 0xB2B);
            }

            if (this.Female = Utility.RandomBool())
            {
                Body = 0x191;
                Name = NameList.RandomName("dark_elf_prefix_male") + NameList.RandomName("dark_elf_suffix_female");
                Utility.AssignRandomHair(this);
                HairHue = Utility.RandomHairHue();
            }
            else
            {
                Body = 0x190;
                Name = NameList.RandomName("dark_elf_prefix_female") + NameList.RandomName("dark_elf_suffix_male");
                Utility.AssignRandomHair(this);
                int HairColor = Utility.RandomHairHue();
                FacialHairItemID = Utility.RandomList(0, 8254, 8255, 8256, 8257, 8267, 8268, 8269);
                HairHue          = HairColor;
                FacialHairHue    = HairColor;
            }

            SetStr(350, 400);
            SetDex(177, 255);
            SetInt(350, 400);

            SetHits(502, 531);

            SetDamage(22, 29);

            SetDamageType(ResistanceType.Physical, 50);
            SetDamageType(ResistanceType.Energy, 50);

            SetResistance(ResistanceType.Physical, 45, 55);
            SetResistance(ResistanceType.Fire, 30, 40);
            SetResistance(ResistanceType.Cold, 30, 40);
            SetResistance(ResistanceType.Poison, 40, 50);
            SetResistance(ResistanceType.Energy, 60, 70);

            SetSkill(SkillName.EvalInt, 100.5, 150.0);
            SetSkill(SkillName.Magery, 100.5, 150.0);
            SetSkill(SkillName.Meditation, 100.5, 150.0);
            SetSkill(SkillName.MagicResist, 100.5, 150.0);

            SetSkill(SkillName.Anatomy, 100.5, 150.0);
            SetSkill(SkillName.MagicResist, 100.5, 150.0);
            SetSkill(SkillName.Wrestling, 100.5, 150.0);
            SetSkill(SkillName.Swords, 100.5, 150.0);
            SetSkill(SkillName.Tactics, 100.5, 150.0);

            Fame  = 14000;
            Karma = -14000;

            int color = Utility.RandomList(0xB80, 0xB5E, 0xB39, 0xB3A, 0xA9F, 0x99E, 0x997, 0x8D9, 0x8DA, 0x8DB, 0x8DC, 0x8B9);

            VirtualArmor = 90;

            Item robe = new AssassinRobe(color);

            robe.Name = "Syth robe";
            AddItem(robe);
            if (Utility.RandomMinMax(1, 10) == 1)
            {
                SpecialItem(robe, this);
            }

            Item boots = new ElvenBoots(color);

            boots.Name = "Syth boots";
            AddItem(boots);
            if (Utility.RandomMinMax(1, 10) == 1)
            {
                SpecialItem(boots, this);
            }

            if (Utility.RandomBool())
            {
                Item cloak = new Cloak(color);
                cloak.Name = "Syth cloak";
                AddItem(cloak);
                if (Utility.RandomMinMax(1, 10) == 1)
                {
                    SpecialItem(cloak, this);
                }
            }

            if (Utility.RandomBool())
            {
                Item gloves = new LeatherGloves();
                gloves.Hue  = color;
                gloves.Name = "Syth gloves";
                AddItem(gloves);
                if (Utility.RandomMinMax(1, 10) == 1)
                {
                    SpecialItem(gloves, this);
                }
            }

            Item hood = new FloppyHat(color);

            hood.Name   = "Syth hood";
            hood.ItemID = 0x4CDA;
            if (Utility.RandomMinMax(1, 4) == 1)
            {
                hood.Name = "Syth cowl"; hood.ItemID = 0x4CDC;
            }
            AddItem(hood);
            if (Utility.RandomMinMax(1, 10) == 1)
            {
                SpecialItem(hood, this);
            }

            if (Utility.RandomMinMax(1, 5) == 1)
            {
                if (Utility.RandomMinMax(1, 5) == 1)
                {
                    Item sword = new DoubleLaserSword();
                    sword.Name = "Syth double laser sword";
                    ((BaseWeapon)sword).Attributes.SpellChanneling = 1;
                    AddItem(sword);
                    if (Utility.RandomMinMax(1, 10) == 1)
                    {
                        SpecialItem(sword, this);
                    }
                }
                else
                {
                    Item sword = new LightSword();
                    sword.Name = "Syth laser sword";
                    ((BaseWeapon)sword).Attributes.SpellChanneling = 1;
                    AddItem(sword);
                    if (Utility.RandomMinMax(1, 10) == 1)
                    {
                        SpecialItem(sword, this);
                    }
                }
            }
            else
            {
                Item sword = new Longsword();
                sword.Name = "Syth sword";
                ((BaseWeapon)sword).Attributes.SpellChanneling = 1;
                AddItem(sword);
                if (Utility.RandomMinMax(1, 10) == 1)
                {
                    SpecialItem(sword, this);
                }
                if (Server.Misc.MaterialInfo.IsMetalItem(sword) && Utility.RandomMinMax(1, 20) == 1)
                {
                    ((BaseWeapon)sword).Resource = CraftResource.Xormite;
                }
                else if (Server.Misc.MaterialInfo.IsMetalItem(sword))
                {
                    Server.Misc.MorphingTime.MakeSpaceAceMetalArmorWeapon(sword, null);
                }
            }
        }
示例#9
0
        public Gambler()
            : base(AIType.AI_Melee, FightMode.None, 10, 1, 0.8, 3.0)
        {
            SetStr(10, 30);
            SetDex(10, 30);
            SetInt(10, 30);
            Fame      = 50;
            Karma     = 50;
            SpeechHue = Utility.RandomDyedHue();
            Title     = "the gambler";
            Hue       = Utility.RandomSkinHue();
            Blessed   = true;
            NameHue   = 0x35;

            if (this.Female = Utility.RandomBool())
            {
                this.Body = 0x191;
                this.Name = NameList.RandomName("female");

                HairItemID = Utility.RandomList(0x203B, 0x203C, 0x203D, 0x2045, 0x204A, 0x2046, 0x2049);
                HairHue    = Utility.RandomHairHue();

                Item hat = null;
                switch (Utility.Random(5))
                {
                case 0: hat = new FloppyHat(Utility.RandomNeutralHue());              break;

                case 1: hat = new FeatheredHat(Utility.RandomNeutralHue());   break;

                case 2: hat = new Bonnet();                                             break;

                case 3: hat = new Cap(Utility.RandomNeutralHue());            break;
                }
                AddItem(hat);
            }
            else
            {
                this.Body = 0x190;
                this.Name = NameList.RandomName("male");

                HairItemID = Utility.RandomList(0x203B, 0x203C, 0x203D, 0x2044, 0x2045, 0x2047, 0x2048);
                HairHue    = Utility.RandomHairHue();

                FacialHairItemID = Utility.RandomList(0x0000, 0x203E, 0x203F, 0x2040, 0x2041, 0x2067, 0x2068, 0x2069);
                FacialHairHue    = HairHue;

                Item hat = null;
                switch (Utility.Random(7))
                {
                case 0: hat = new SkullCap(GetRandomHue());                   break;

                case 1: hat = new Bandana(GetRandomHue());                    break;

                case 2: hat = new WideBrimHat();                                        break;

                case 3: hat = new TallStrawHat(Utility.RandomNeutralHue());   break;

                case 4: hat = new StrawHat(Utility.RandomNeutralHue());               break;

                case 5: hat = new TricorneHat(Utility.RandomNeutralHue());    break;
                }
                AddItem(hat);
            }
            AddItem(new LongPants(GetRandomHue()));
            AddItem(new FancyShirt(GetRandomHue()));
            AddItem(new Boots(Utility.RandomNeutralHue()));
            AddItem(new Cloak(GetRandomHue()));
            AddItem(new BodySash(GetRandomHue()));

            Container pack = new Backpack();

            pack.Movable = false;
            pack.Visible = false;

            AddItem(pack);

            //reset stats
            for (int i = 0; i <= 5; ++i)
            {
                gamestats[i] = 0;
            }
        }
示例#10
0
        public XmlQuestNPC(int gender, bool clothes) : base(AIType.AI_Melee, FightMode.None, 10, 1, 0.8, 3.0)
        {
            SetStr(10, 30);
            SetDex(10, 30);
            SetInt(10, 30);

            Fame  = 50;
            Karma = 50;

            CanHearGhosts = true;

            SpeechHue = Utility.RandomDyedHue();
            Title     = string.Empty;
            Hue       = Utility.RandomSkinHue();

            switch (gender)
            {
            case -1: this.Female = Utility.RandomBool(); break;

            case 0: this.Female = false; break;

            case 1: this.Female = true; break;
            }

            if (clothes)
            {
                if (this.Female)
                {
                    this.Body = 0x191;
                    this.Name = NameList.RandomName("female");
                    Item hair = new Item(Utility.RandomList(0x203B, 0x203C, 0x203D, 0x2045, 0x204A, 0x2046, 0x2049));
                    hair.Hue     = Utility.RandomHairHue();
                    hair.Layer   = Layer.Hair;
                    hair.Movable = false;
                    AddItem(hair);
                    Item hat = null;
                    switch (Utility.Random(5))//4 hats, one empty, for no hat
                    {
                    case 0: hat = new FloppyHat(Utility.RandomNeutralHue()); break;

                    case 1: hat = new FeatheredHat(Utility.RandomNeutralHue()); break;

                    case 2: hat = new Bonnet(); break;

                    case 3: hat = new Cap(Utility.RandomNeutralHue()); break;
                    }
                    AddItem(hat);
                    Item pants = null;
                    switch (Utility.Random(3))
                    {
                    case 0: pants = new ShortPants(GetRandomHue()); break;

                    case 1: pants = new LongPants(GetRandomHue()); break;

                    case 2: pants = new Skirt(GetRandomHue()); break;
                    }
                    AddItem(pants);
                    Item shirt = null;
                    switch (Utility.Random(7))
                    {
                    case 0: shirt = new Doublet(GetRandomHue()); break;

                    case 1: shirt = new Surcoat(GetRandomHue()); break;

                    case 2: shirt = new Tunic(GetRandomHue()); break;

                    case 3: shirt = new FancyDress(GetRandomHue()); break;

                    case 4: shirt = new PlainDress(GetRandomHue()); break;

                    case 5: shirt = new FancyShirt(GetRandomHue()); break;

                    case 6: shirt = new Shirt(GetRandomHue()); break;
                    }
                    AddItem(shirt);
                }
                else
                {
                    this.Body = 0x190;
                    this.Name = NameList.RandomName("male");
                    Item hair = new Item(Utility.RandomList(0x203B, 0x203C, 0x203D, 0x2044, 0x2045, 0x2047, 0x2048));
                    hair.Hue     = Utility.RandomHairHue();
                    hair.Layer   = Layer.Hair;
                    hair.Movable = false;
                    AddItem(hair);
                    Item beard = new Item(Utility.RandomList(0x0000, 0x203E, 0x203F, 0x2040, 0x2041, 0x2067, 0x2068, 0x2069));
                    beard.Hue     = hair.Hue;
                    beard.Layer   = Layer.FacialHair;
                    beard.Movable = false;
                    AddItem(beard);
                    Item hat = null;
                    switch (Utility.Random(7)) //6 hats, one empty, for no hat
                    {
                    case 0: hat = new SkullCap(GetRandomHue()); break;

                    case 1: hat = new Bandana(GetRandomHue()); break;

                    case 2: hat = new WideBrimHat(); break;

                    case 3: hat = new TallStrawHat(Utility.RandomNeutralHue()); break;

                    case 4: hat = new StrawHat(Utility.RandomNeutralHue()); break;

                    case 5: hat = new TricorneHat(Utility.RandomNeutralHue()); break;
                    }
                    AddItem(hat);
                    Item pants = null;
                    switch (Utility.Random(2))
                    {
                    case 0: pants = new ShortPants(GetRandomHue()); break;

                    case 1: pants = new LongPants(GetRandomHue()); break;
                    }
                    AddItem(pants);
                    Item shirt = null;
                    switch (Utility.Random(5))
                    {
                    case 0: shirt = new Doublet(GetRandomHue()); break;

                    case 1: shirt = new Surcoat(GetRandomHue()); break;

                    case 2: shirt = new Tunic(GetRandomHue()); break;

                    case 3: shirt = new FancyShirt(GetRandomHue()); break;

                    case 4: shirt = new Shirt(GetRandomHue()); break;
                    }
                    AddItem(shirt);
                }

                Item feet = null;
                switch (Utility.Random(3))
                {
                case 0: feet = new Boots(Utility.RandomNeutralHue()); break;

                case 1: feet = new Shoes(Utility.RandomNeutralHue()); break;

                case 2: feet = new Sandals(Utility.RandomNeutralHue()); break;
                }
                AddItem(feet);
            }
            Container pack = new Backpack();

            //pack.DropItem( new Gold( 0, 50 ) );

            pack.Movable = false;

            AddItem(pack);
        }
示例#11
0
        public ParoleOfficer()
        //: base( AIType.AI_Mage, FightMode.Aggressor, 2, 1, 1, 2 )
            : base(AIType.AI_Mage, FightMode.Aggressor, 10, 5, 0.2, 0.4)
        {
            SetStr(81, 105);
            SetDex(191, 215);
            SetInt(126, 150);
            SetHits(450, 550);

            Title = "the parole officer";

            SpeechHue = Utility.RandomDyedHue();

            Hue = Utility.RandomSkinHue();

            Female = true;
            Body   = 0x191;
            Name   = NameList.RandomName("female");

            FloppyHat hat = new FloppyHat(Utility.RandomNondyedHue());

            hat.Movable = false;
            AddItem(hat);

            Shirt shirt = new Shirt(Utility.RandomNondyedHue());

            shirt.Movable = false;
            AddItem(shirt);

            Kilt kilt = new Kilt(Utility.RandomNondyedHue());

            kilt.Movable = false;
            AddItem(kilt);

            Sandals sandals = new Sandals(Utility.RandomNondyedHue());

            sandals.Movable = false;
            AddItem(sandals);

            Item hair = new Item(0x203C);            //long hair

            hair.Hue     = Utility.RandomHairHue();
            hair.Layer   = Layer.Hair;
            hair.Movable = false;

            AddItem(hair);

            QuarterStaff weapon = new QuarterStaff();

            weapon.Movable = false;
            AddItem(weapon);

            Container pack = new Backpack();

            pack.Movable = false;

            pack.DropItem(new Gold(10, 25));

            AddItem(pack);

            SetSkill(SkillName.DetectHidden, 100.0);
            SetSkill(SkillName.EvalInt, 80.2, 100.0);
            SetSkill(SkillName.Magery, 95.1, 100.0);
            SetSkill(SkillName.Meditation, 100.0);
            SetSkill(SkillName.MagicResist, 77.5, 100.0);
            SetSkill(SkillName.Tactics, 95.0, 100.0);
            SetSkill(SkillName.Anatomy, 95.0, 100.0);
            SetSkill(SkillName.Macing, 100.0);
            SetSkill(SkillName.Wrestling, 90.0, 100.0);
        }
示例#12
0
        public AuroraSkycaller() : base(AIType.AI_Mage, FightMode.Weakest, 10, 1, 0.15, 0.2)
        {
            Body             = 0x191;
            Hue              = 0x3F6;
            Name             = "Aurora Skycaller";
            Kills            = 10;
            ShortTermMurders = 10;

            SetStr(356, 396);
            SetDex(45, 55);
            SetInt(830, 953);

            SetHits(3500);
            SetMana(9000);
            SetDamage(25, 30);

            SetSkill(SkillName.Wrestling, 111.3, 117.8);
            SetSkill(SkillName.Tactics, 110.5, 117.0);
            SetSkill(SkillName.MagicResist, 140.6, 156.8);
            SetSkill(SkillName.Magery, 97.7, 99.6);
            SetSkill(SkillName.EvalInt, 95.1, 98.1);
            SetSkill(SkillName.Meditation, 61.1, 70.1);

            Fame  = 25000;
            Karma = -25000;

            VirtualArmor = 5;

            Item GoldBracelet = new GoldBracelet();

            GoldBracelet.Movable = false;
            GoldBracelet.Hue     = 1165;
            EquipItem(GoldBracelet);

            Item FloppyHat = new FloppyHat();

            FloppyHat.Movable = false;
            FloppyHat.Hue     = 1157;
            EquipItem(FloppyHat);

            Item PlainDress = new PlainDress();

            PlainDress.Movable = false;
            PlainDress.Hue     = 1157;
            EquipItem(PlainDress);

            Item Sandals = new Sandals();

            Sandals.Movable = false;
            Sandals.Hue     = 1157;
            EquipItem(Sandals);

            Item Necklace = new Necklace();

            Necklace.Movable = false;
            Necklace.Hue     = 1165;
            EquipItem(Necklace);

            Item GoldRing = new GoldRing();

            GoldRing.Movable = false;
            GoldRing.Hue     = 1165;
            EquipItem(GoldRing);

            switch (Utility.Random(10))
            {
            case 0: PackItem(new DarkIronWire()); break;
            }

            PackGold(3200, 4000);
            PackArmor(0, 5);
            PackWeapon(0, 5);
            PackArmor(0, 5);
            PackWeapon(0, 5);
            PackArmor(0, 5);
            PackWeapon(0, 5);
            PackArmor(0, 5);
            PackWeapon(0, 5);
            PackArmor(0, 5);
            PackWeapon(0, 5);
        }
示例#13
0
        public Commoner()
            : base(AIType.AI_Melee, FightMode.None, 10, 1, 0.8, 3.0)
        {
            SetStr(10, 30);
            SetDex(10, 30);
            SetInt(10, 30);

            Fame  = 50;
            Karma = 50;

            SpeechHue = Utility.RandomDyedHue();
            Title     = string.Empty;        //Commoner.Titles[Utility.Random( 0, Titles.Length )];
            Hue       = Utility.RandomSkinHue();
            if (this.Female = Utility.RandomBool())
            {
                this.Body = 0x191;
                this.Name = NameList.RandomName("female");

                HairItemID = Utility.RandomList(0x203B, 0x203C, 0x203D, 0x2045, 0x204A, 0x2046, 0x2049);
                HairHue    = Utility.RandomHairHue();

                Item hat = null;
                switch (Utility.Random(5))                   //4 hats, one empty, for no hat
                {
                case 0: hat = new FloppyHat(Utility.RandomNeutralHue()); break;

                case 1: hat = new FeatheredHat(Utility.RandomNeutralHue()); break;

                case 2: hat = new Bonnet(); break;

                case 3: hat = new Cap(Utility.RandomNeutralHue()); break;
                }
                AddItem(hat);
                Item pants = null;
                switch (Utility.Random(3))
                {
                case 0: pants = new ShortPants(GetRandomHue()); break;

                case 1: pants = new LongPants(GetRandomHue()); break;

                case 2: pants = new Skirt(GetRandomHue()); break;
                }
                AddItem(pants);
                Item shirt = null;
                switch (Utility.Random(7))
                {
                case 0: shirt = new Doublet(GetRandomHue()); break;

                case 1: shirt = new Surcoat(GetRandomHue()); break;

                case 2: shirt = new Tunic(GetRandomHue()); break;

                case 3: shirt = new FancyDress(GetRandomHue()); break;

                case 4: shirt = new PlainDress(GetRandomHue()); break;

                case 5: shirt = new FancyShirt(GetRandomHue()); break;

                case 6: shirt = new Shirt(GetRandomHue()); break;
                }
                AddItem(shirt);
            }
            else
            {
                this.Body = 0x190;
                this.Name = NameList.RandomName("male");

                HairItemID = Utility.RandomList(0x203B, 0x203C, 0x203D, 0x2044, 0x2045, 0x2047, 0x2048);
                HairHue    = Utility.RandomHairHue();

                FacialHairItemID = Utility.RandomList(0x0000, 0x203E, 0x203F, 0x2040, 0x2041, 0x2067, 0x2068, 0x2069);
                FacialHairHue    = HairHue;

                Item hat = null;
                switch (Utility.Random(7))                    //6 hats, one empty, for no hat
                {
                case 0: hat = new SkullCap(GetRandomHue()); break;

                case 1: hat = new Bandana(GetRandomHue()); break;

                case 2: hat = new WideBrimHat(); break;

                case 3: hat = new TallStrawHat(Utility.RandomNeutralHue()); break;

                case 4: hat = new StrawHat(Utility.RandomNeutralHue()); break;

                case 5: hat = new TricorneHat(Utility.RandomNeutralHue()); break;
                }
                AddItem(hat);
                Item pants = null;
                switch (Utility.Random(2))
                {
                case 0: pants = new ShortPants(GetRandomHue()); break;

                case 1: pants = new LongPants(GetRandomHue()); break;
                }
                AddItem(pants);
                Item shirt = null;
                switch (Utility.Random(5))
                {
                case 0: shirt = new Doublet(GetRandomHue()); break;

                case 1: shirt = new Surcoat(GetRandomHue()); break;

                case 2: shirt = new Tunic(GetRandomHue()); break;

                case 3: shirt = new FancyShirt(GetRandomHue()); break;

                case 4: shirt = new Shirt(GetRandomHue()); break;
                }
                AddItem(shirt);
            }

            Item feet = null;

            switch (Utility.Random(3))
            {
            case 0: feet = new Boots(Utility.RandomNeutralHue()); break;

            case 1: feet = new Shoes(Utility.RandomNeutralHue()); break;

            case 2: feet = new Sandals(Utility.RandomNeutralHue()); break;
            }
            AddItem(feet);
            Container pack = new Backpack();

            pack.Movable = false;

            AddItem(pack);
        }
示例#14
0
        public static void CheckTournament(Mobile from, Mobile fisher, Item dropped)
        {
            if (!isRunning)
            {
                // Only giving a extra reward for 10+ fish

                from.SendMessage("A reward has been placed in your bank box.");
                Bag bag = new Bag();
                bag.DropItem(new BankCheck(250 * dropped.Amount));
                bag.DropItem(new Harpoon(Utility.RandomMinMax(2, 5)));

                switch (Utility.Random(2))
                {
                case 0: bag.DropItem(new SpecialFishingNet()); break;

                case 1: bag.DropItem(new MessageInABottle()); break;
                }

                if (dropped.Amount > 19)
                {
                    fisher.Say("Wow! You caught {0}. You should have placed in the tournament! Better luck next time!", dropped.Amount.ToString());
                    bag.DropItem(new PowerScroll(SkillName.Fishing, 105));
                }
                else if (dropped.Amount > 18)
                {
                    fisher.Say("Wow! You caught 19. You were so close! Better luck next time!");
                    bag.DropItem(new FabledFishingNet());
                }
                else if (dropped.Amount > 17)
                {
                    fisher.Say("Wow! You caught 18. You did amazing. Better luck next time!");

                    FloppyHat fh = new FloppyHat();
                    fh.Hue      = Utility.RandomMinMax(2498, 2640);
                    fh.Name     = "a designer fishing hat";
                    fh.LootType = LootType.Blessed;
                    bag.DropItem(fh);
                }
                else if (dropped.Amount > 16)
                {
                    fisher.Say("Wow! You caught 17. Almost... Maybe next time!");

                    Sandals s = new Sandals();
                    s.Hue      = Utility.RandomMinMax(1910, 2040);
                    s.Name     = "a designer fishing sandals";
                    s.LootType = LootType.Blessed;
                    bag.DropItem(s);
                }
                else if (dropped.Amount > 15)
                {
                    fisher.Say("You caught 16. Thats not bad but you could have done better! Maybe next time!");

                    FishingPole fp = new FishingPole();
                    fp.Hue  = Utility.RandomMinMax(1150, 1175);
                    fp.Name = "a painted fishing pole";
                    bag.DropItem(fp);
                }
                else if (dropped.Amount > 14)
                {
                    fisher.Say("You caught 15. Bad luck! Maybe next time!");

                    Item junk = new Item(Utility.RandomList(17784, 17785));
                    junk.Name = "a sea horse statue";
                    bag.DropItem(junk);
                }
                else if (dropped.Amount > 13)
                {
                    fisher.Say("You caught 14. Maybe try different waters next time!");

                    Item junk = new Item(Utility.RandomList(17786, 17787));
                    junk.Name = "a mermaid statue";
                    bag.DropItem(junk);
                }
                else if (dropped.Amount > 12)
                {
                    fisher.Say("You caught 13. Did you bring ale? You have to bring ale!");

                    Spellbook sb = new Spellbook();
                    sb.Name = "Fishing For Dummies";
                    sb.Hue  = 52;
                    bag.DropItem(sb);
                }
                else if (dropped.Amount > 11)
                {
                    fisher.Say("You caught 12. Try different bait next time!");

                    Item junk = new Item(Utility.RandomList(0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6));
                    junk.Name = "a worn fishing net";
                    bag.DropItem(junk);
                }
                else if (dropped.Amount > 10)
                {
                    fisher.Say("You caught 11...");

                    Item junk = new Item(0x154D);
                    junk.Name = "a barrel of fish (Not for shooting)";
                    bag.DropItem(junk);
                }
                else if (dropped.Amount > 9)
                {
                    fisher.Say("You only caught 10. Half way... is still to far!");
                }
                else if (dropped.Amount > 8)
                {
                    fisher.Say("You only caught 9. Half way... is still to far!");
                }
                else if (dropped.Amount > 7)
                {
                    fisher.Say("You only caught 8... How long did you say you have been fishing?");
                }
                else if (dropped.Amount > 6)
                {
                    fisher.Say("You only caught 7... Find a lot of shoes do you?");
                }
                else if (dropped.Amount > 5)
                {
                    fisher.Say("You only caught 6... Ever consider taking up something more productivy like bird watching?");
                }
                else if (dropped.Amount > 4)
                {
                    fisher.Say("You only caught 5... Ever consider taking up something more exciting like... baskit weaving?");
                }
                else if (dropped.Amount > 3)
                {
                    fisher.Say("You caught 4!?! Was your cat on fire?");
                }
                else if (dropped.Amount > 2)
                {
                    fisher.Say("You caught 3!?! Were you sleeping all this time?");
                }
                else if (dropped.Amount > 1)
                {
                    fisher.Say("Two fish? Maybe you should keep them in a tank and hope they multiply!");
                }
                else if (dropped.Amount > 0)
                {
                    fisher.Say("One... One fish? Did someone hand this to you? Did you find this flopping around town? Tell me you didn't fish and catch this one lonely fish?");
                }

                BankBox box = from.BankBox;
                box.DropItem(bag);
                dropped.Delete();
            }
            else if (isRunning)
            {
                if (DateTime.UtcNow.DayOfWeek == TournyOne)
                {
                    BankBox box = from.BankBox;

                    if (from.Backpack.ConsumeTotal(typeof(ToxicTrout), 20) && firstPlace == null)
                    {
                        firstPlace = from.Name;
                        World.Broadcast(0x35, true, "{0} has came in first in todays fishing tournament!", firstPlace);
                        fisher.Say("Congrats! You are the first person to catch twenty toxic trout! Well done!");
                        from.SendMessage("Your reward has been placed into your bank box!");
                        box.DropItem(GiveReward(from, 1));
                    }
                    else if (from.Backpack.ConsumeTotal(typeof(ToxicTrout), 20) && secondPlace == null)
                    {
                        secondPlace = from.Name;
                        World.Broadcast(0x35, true, "{0} has placed 2nd in todays fishing tournament!", firstPlace);
                        fisher.Say("Congrats! You are the second person to catch twenty toxic trout! Well done!");
                        from.SendMessage("Your reward has been placed into your bank box!");
                        box.DropItem(GiveReward(from, 2));
                    }
                    else if (from.Backpack.ConsumeTotal(typeof(ToxicTrout), 20) && thirdPlace == null)
                    {
                        isRunning  = false;
                        thirdPlace = from.Name;
                        World.Broadcast(0x35, true, "{0} has placed 3rd in todays fishing tournament!", firstPlace);
                        World.Broadcast(0x35, true, "The tournament is now over! Congratulations to todays winners!", firstPlace);
                        World.Broadcast(0x35, true, "If you didnt win today bring what fish you gathered and drop them on a tournament master to claim a consolation prize!", firstPlace);
                        fisher.Say("Congrats! You are the third person to catch twenty toxic trout! Well done!");
                        from.SendMessage("Your reward has been placed into your bank box!");
                        box.DropItem(GiveReward(from, 3));
                    }
                    else
                    {
                        fisher.Say("You need to catch and bring me twenty toxic trout before anyone else to win this tournament!");
                        fisher.Say("Why are you standing around here! Go fish!!!");
                    }
                }
                else if (DateTime.UtcNow.DayOfWeek == TournyTwo)
                {
                    BankBox box = from.BankBox;

                    if (from.Backpack.ConsumeTotal(typeof(CottonCandySwordfish), 20) && firstPlace == null)
                    {
                        firstPlace = from.Name;
                        World.Broadcast(0x35, true, "{0} has came in first in todays fishing tournament!", firstPlace);
                        fisher.Say("Congrats! You are the first person to catch twenty cotton candy swordfish! Well done!");
                        from.SendMessage("Your reward has been placed into your bank box!");
                        box.DropItem(GiveReward(from, 1));
                    }
                    else if (from.Backpack.ConsumeTotal(typeof(CottonCandySwordfish), 20) && secondPlace == null)
                    {
                        secondPlace = from.Name;
                        World.Broadcast(0x35, true, "{0} has placed 2nd in todays fishing tournament!", firstPlace);
                        fisher.Say("Congrats! You are the second person to catch twenty cotton candy swordfish! Well done!");
                        from.SendMessage("Your reward has been placed into your bank box!");
                        box.DropItem(GiveReward(from, 2));
                    }
                    else if (from.Backpack.ConsumeTotal(typeof(CottonCandySwordfish), 20) && thirdPlace == null)
                    {
                        isRunning  = false;
                        thirdPlace = from.Name;
                        World.Broadcast(0x35, true, "{0} has placed 3rd in todays fishing tournament!", firstPlace);
                        World.Broadcast(0x35, true, "The tournament is now over! Congratulations to todays winners!", firstPlace);
                        World.Broadcast(0x35, true, "If you didnt win today bring what fish you gathered and drop them on a tournament master to claim a consolation prize!", firstPlace);
                        fisher.Say("Congrats! You are the third person to catch twenty cotton candy swordfish! Well done!");
                        from.SendMessage("Your reward has been placed into your bank box!");
                        box.DropItem(GiveReward(from, 3));
                    }
                    else
                    {
                        fisher.Say("You need to catch and bring me twenty cotton candy swordfish before anyone else to win this tournament!");
                        fisher.Say("Why are you standing around here! Go fish!!!");
                    }
                }
                else if (DateTime.UtcNow.DayOfWeek == TournyThree)
                {
                    BankBox box = from.BankBox;

                    if (from.Backpack.ConsumeTotal(typeof(MalasMoonfish), 20) && firstPlace == null)
                    {
                        firstPlace = from.Name;
                        World.Broadcast(0x35, true, "{0} has came in first in todays fishing tournament!", firstPlace);
                        fisher.Say("Congrats! You are the first person to catch twenty malas moonfish! Well done!");
                        from.SendMessage("Your reward has been placed into your bank box!");
                        box.DropItem(GiveReward(from, 1));
                    }
                    else if (from.Backpack.ConsumeTotal(typeof(MalasMoonfish), 20) && secondPlace == null)
                    {
                        secondPlace = from.Name;
                        World.Broadcast(0x35, true, "{0} has placed 2nd in todays fishing tournament!", firstPlace);
                        fisher.Say("Congrats! You are the second person to catch twenty malas moonfish! Well done!");
                        from.SendMessage("Your reward has been placed into your bank box!");
                        box.DropItem(GiveReward(from, 2));
                    }
                    else if (from.Backpack.ConsumeTotal(typeof(MalasMoonfish), 20) && thirdPlace == null)
                    {
                        isRunning  = false;
                        thirdPlace = from.Name;
                        World.Broadcast(0x35, true, "{0} has placed 3rd in todays fishing tournament!", firstPlace);
                        World.Broadcast(0x35, true, "The tournament is now over! Congratulations to todays winners!", firstPlace);
                        World.Broadcast(0x35, true, "If you didnt win today bring what fish you gathered and drop them on a tournament master to claim a consolation prize!", firstPlace);
                        fisher.Say("Congrats! You are the third person to catch twenty malas moonfish! Well done!");
                        from.SendMessage("Your reward has been placed into your bank box!");
                        box.DropItem(GiveReward(from, 3));
                    }
                    else
                    {
                        fisher.Say("You need to catch and bring me twenty malas moonfish before anyone else to win this tournament!");
                        fisher.Say("Why are you standing around here! Go fish!!!");
                    }
                }
                else                 // Why? Because thats the kinda world we live in...
                {
                    fisher.Say("I am sorry, I musta got my days mixxed up!");
                    isRunning = false;
                }
            }
            else
            {
                if (firstPlace != null && secondPlace != null && thirdPlace != null)
                {
                    fisher.Say("Todays tournament has ended! Todays winners are {0}, {1), and {2}!", firstPlace, secondPlace, thirdPlace);
                }
                else
                {
                    fisher.Say("Todays tournament has ended!");
                }
            }
        }