Esempio n. 1
0
        public static Item GetRandomHat()
        {
            Item hat = null;

            switch (Utility.Random(6))
            {
            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;
            }

            return(hat);
        }
Esempio n. 2
0
        public DummyNox()
            : base(AIType.AI_Mage, FightMode.Closest, 15, 1, 0.2, 0.6)
        {
            // A Dummy Nox or Pure Mage
            int iHue = 20 + Team * 40;
            int jHue = 25 + Team * 40;

            // Skills and Stats
            InitStats(90, 90, 125);
            Skills[SkillName.Magery].Base     = 120;
            Skills[SkillName.EvalInt].Base    = 120;
            Skills[SkillName.Inscribe].Base   = 100;
            Skills[SkillName.Wrestling].Base  = 120;
            Skills[SkillName.Meditation].Base = 120;
            Skills[SkillName.Poisoning].Base  = 100;

            // Name
            Name = "Nox Mage";

            // Equip
            Spellbook book = new Spellbook
            {
                Movable  = false,
                LootType = LootType.Newbied,
                Content  = 0xFFFFFFFFFFFFFFFF
            };

            AddItem(book);

            Kilt kilt = new Kilt
            {
                Hue = jHue
            };

            AddItem(kilt);

            Sandals snd = new Sandals
            {
                Hue      = iHue,
                LootType = LootType.Newbied
            };

            AddItem(snd);

            SkullCap skc = new SkullCap
            {
                Hue = iHue
            };

            AddItem(skc);

            // Spells
            AddSpellAttack(typeof(Spells.First.MagicArrowSpell));
            AddSpellAttack(typeof(Spells.First.WeakenSpell));
            AddSpellAttack(typeof(Spells.Third.FireballSpell));
            AddSpellDefense(typeof(Spells.Third.WallOfStoneSpell));
            AddSpellDefense(typeof(Spells.First.HealSpell));
        }
Esempio n. 3
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 ) );
            }
Esempio n. 4
0
        public DummyNox() : base(AIType.AI_Mage, FightMode.Closest, 15, 1, 0.2, 0.6)
        {
            // A Dummy Nox or Pure Mage
            int iHue = 20 + Team * 40;
            int jHue = 25 + Team * 40;

            // Skills and Stats
            this.InitStats(90, 90, 125);
            this.Skills[SkillName.ArtMagique].Base = 120;
            //this.Skills[SkillName.EvalInt].Base = 120;
            this.Skills[SkillName.Inscription].Base    = 100;
            this.Skills[SkillName.Anatomie].Base       = 120;
            this.Skills[SkillName.Concentration].Base  = 120;
            this.Skills[SkillName.Empoisonnement].Base = 100;


            // Name
            this.Name = "Nox Mage";

            // Equip
            Spellbook book = new Spellbook();

            book.Movable  = false;
            book.LootType = LootType.Blessed;
            book.Content  = 0xFFFFFFFFFFFFFFFF;
            AddItem(book);

            Kilt kilt = new Kilt();

            kilt.Hue = jHue;
            AddItem(kilt);

            Sandals snd = new Sandals();

            snd.Hue      = iHue;
            snd.LootType = LootType.Blessed;
            AddItem(snd);

            SkullCap skc = new SkullCap();

            skc.Hue = iHue;
            AddItem(skc);

            // Spells
            AddSpellAttack(typeof(Spells.MagicArrowSpell));
            AddSpellAttack(typeof(Spells.WeakenSpell));
            AddSpellAttack(typeof(Spells.FireballSpell));
            AddSpellDefense(typeof(Spells.WallOfStoneSpell));
            AddSpellDefense(typeof(Spells.HealSpell));
        }
Esempio n. 5
0
        public ArmyBaseNox(int Team) : base(Team, AIType.AI_Mage, FightMode.Closest, 15, 1, 0.2, 0.6)
        {
            // An ArmyBase Nox Mage
            int iHue = 20 + Team * 40;
            int jHue = 25 + Team * 40;

            // Skills and Stats
            this.InitStats((75 + Utility.Random(15)), (75 + Utility.Random(15)), (90 + Utility.Random(35)));
            this.Skills[SkillName.Magery].Base     = (90 + Utility.Random(30));
            this.Skills[SkillName.EvalInt].Base    = (90 + Utility.Random(30));
            this.Skills[SkillName.Inscribe].Base   = (80 + Utility.Random(20));
            this.Skills[SkillName.Wrestling].Base  = (90 + Utility.Random(30));
            this.Skills[SkillName.Meditation].Base = (90 + Utility.Random(30));
            this.Skills[SkillName.Poisoning].Base  = (80 + Utility.Random(20));


            // Name
            this.Name = "Nox Mage";

            // Equip
            Spellbook book = new Spellbook();

            book.Movable  = false;
            book.LootType = LootType.Newbied;
            book.Content  = 0xFFFFFFFFFFFFFFFF;
            AddItem(book);

            Kilt kilt = new Kilt();

            kilt.Hue = jHue;
            AddItem(kilt);

            Sandals snd = new Sandals();

            snd.Hue      = iHue;
            snd.LootType = LootType.Newbied;
            AddItem(snd);

            SkullCap skc = new SkullCap();

            skc.Hue = iHue;
            AddItem(skc);

            // Spells
            AddSpellAttack(typeof(Spells.First.MagicArrowSpell));
            AddSpellAttack(typeof(Spells.First.WeakenSpell));
            AddSpellAttack(typeof(Spells.Third.FireballSpell));
            AddSpellDefense(typeof(Spells.Third.WallOfStoneSpell));
            AddSpellDefense(typeof(Spells.First.HealSpell));
        }
        public FamousPiratesNox()
            : base(AIType.AI_Mage, FightMode.Closest, 15, 1, 0.2, 0.6)
        {
            // A FamousPirates Nox or Pure Mage
            int Hue = 2075;

            // Skills and Stats
            this.InitStats(210, 210, 250);
            this.Skills[SkillName.Magery].Base     = 150;
            this.Skills[SkillName.EvalInt].Base    = 150;
            this.Skills[SkillName.Inscribe].Base   = 100;
            this.Skills[SkillName.Wrestling].Base  = 150;
            this.Skills[SkillName.Meditation].Base = 150;
            this.Skills[SkillName.Poisoning].Base  = 100;


            // Name
            this.Name = "Davy Jones";

            // Equip
            Spellbook book = FullSpellbook();

            AddItem(book);

            Kilt kilt = new Kilt();

            kilt.Movable = false;
            kilt.Hue     = Hue;
            AddItem(kilt);

            Boots snd = new Boots();

            snd.Movable  = false;
            snd.Hue      = Hue;
            snd.LootType = LootType.Regular;
            AddItem(snd);

            SkullCap skc = new SkullCap();

            skc.Movable = false;
            skc.Hue     = Hue;
            AddItem(skc);

            // Spells
            AddSpellAttack(typeof(Spells.First.MagicArrowSpell));
            AddSpellAttack(typeof(Spells.First.WeakenSpell));
            AddSpellAttack(typeof(Spells.Sixth.ExplosionSpell));
            AddSpellDefense(typeof(Spells.Third.WallOfStoneSpell));
            AddSpellDefense(typeof(Spells.Fourth.GreaterHealSpell));
        }
Esempio n. 7
0
        public FawnGuard() : base(AIType.AI_Melee, FightMode.Closest, 15, 1, 0.1, 0.2)
        {
            Title = "the Fawn Guard";

            SetStr(1750, 1750);
            SetDex(150, 150);
            SetInt(61, 75);

            SetSkill(SkillName.MagicResist, 120.0, 120.0);
            SetSkill(SkillName.Swords, 120.0, 120.0);
            SetSkill(SkillName.Tactics, 120.0, 120.0);
            SetSkill(SkillName.Anatomy, 120.0, 120.0);

            SkullCap sc = new SkullCap();

            sc.Hue = 902;
            AddItem(sc);

            ChainChest cc = new ChainChest();

            cc.Hue = 902;
            AddItem(cc);

            Doublet doublet = new Doublet();

            doublet.Hue = 243;
            AddItem(doublet);

            AddItem(new ChainLegs());

            Shoes shoes = new Shoes();

            shoes.Hue = 902;
            AddItem(shoes);

            AddItem(new Broadsword());

            if (Female = Utility.RandomBool())
            {
                Body = 401;
                Name = NameList.RandomName("female");
            }
            else
            {
                Body = 400;
                Name = NameList.RandomName("male");
            }

            Utility.AssignRandomHair(this);
        }
Esempio n. 8
0
        public DummyNox() : base(AIType.AI_Mage, FightMode.Closest, 15, 1, 0.2, 0.6)
        {
            // A Dummy Nox or Pure Mage
            int iHue = 20 + Team * 40;
            int jHue = 25 + Team * 40;

            // Skills and Stats
            InitStats(90, 90, 125);
            Skills.Magery.Base     = 120;
            Skills.EvalInt.Base    = 120;
            Skills.Inscribe.Base   = 100;
            Skills.Wrestling.Base  = 120;
            Skills.Meditation.Base = 120;
            Skills.Poisoning.Base  = 100;

            // Equip
            Spellbook book = new Spellbook();

            book.Movable  = false;
            book.LootType = LootType.Newbied;
            book.Content  = 0xFFFFFFFFFFFFFFFF;
            AddItem(book);

            Kilt kilt = new Kilt();

            kilt.Hue = jHue;
            AddItem(kilt);

            Sandals snd = new Sandals();

            snd.Hue      = iHue;
            snd.LootType = LootType.Newbied;
            AddItem(snd);

            SkullCap skc = new SkullCap();

            skc.Hue = iHue;
            AddItem(skc);

            // Spells
            AddSpellAttack(typeof(MagicArrowSpell));
            AddSpellAttack(typeof(WeakenSpell));
            AddSpellAttack(typeof(FireballSpell));
            AddSpellDefense(typeof(WallOfStoneSpell));
            AddSpellDefense(typeof(HealSpell));
        }
Esempio n. 9
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());
            }
Esempio n. 10
0
        private void GenerateItems()
        {
            List <Item> items = new List <Item>();

            /*On ajoute ici les items que l'on veut que le PNJ porte, seule cette section doit être modifiée*/
            /*------------------*/
            Item it = new Vorlame();

            it.Hue = 1904;
            items.Add(it);
            it     = new CagouleCuir();
            it.Hue = 1904;
            items.Add(it);
            it     = new SkullCap();
            it.Hue = 1906;
            items.Add(it);
            it     = new RoublardTunic();
            it.Hue = 1904;
            items.Add(it);
            it     = new Cloak();
            it.Hue = 1904;
            items.Add(it);
            it     = new RoublardLeggings();
            it.Hue = 1904;
            items.Add(it);
            it     = new FourreauEpee();
            it.Hue = 0;
            items.Add(it);
            it     = new GantsSombres();
            it.Hue = 2412;
            items.Add(it);

            /*------------------*/

            if (items.Count > 0)
            {
                for (int i = 0; i < items.Count; ++i)
                {
                    items[i].Movable      = false;
                    items[i].CanBeAltered = false;
                    AddItem(items[i]);
                }
            }
        }
        public UndeadArcherPirate() : base(AIType.AI_Archer, FightMode.Closest, 10, 1, 0.175, 0.2)
        {
            Title     = "the unrested pirate";
            Body      = Utility.RandomList(400, 50, 3);
            Team      = 1;
            Kills     = 10;
            Hue       = 0;
            SpeechHue = 1153;
            this.Body = 0x190;
            this.Name = NameList.RandomName("male");
            SetStr(60, 85);
            SetDex(50, 70);
            SetInt(10, 20);
            SetDamage(5, 7);

            SetSkill(SkillName.Archery, 35.0, 50.0);
            SetSkill(SkillName.MagicResist, 23.0, 27.5);
            SetSkill(SkillName.Tactics, 40.0, 45.5);
            SetSkill(SkillName.Healing, 30.2, 35.9);
            SetSkill(SkillName.Anatomy, 45.2, 50.9);
            SetSkill(SkillName.Swords, 50.0, 60.0);
            SetSkill(SkillName.Stealth, 120.0, 180.0);
            SetSkill(SkillName.Hiding, 120.0, 180.0);

            Fame  = 2500;
            Karma = -2500;

            VirtualArmor = 0;

            Item hair = new Item(Utility.RandomList(0x203B, 0x2049, 0x2048, 0x204A));

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

            Item beard = new Item(Utility.RandomList(0x2040, 0x203E, 0x204C, 0x204B, 0x203F));

            beard.Hue     = hair.Hue;
            beard.Layer   = Layer.FacialHair;
            beard.Movable = false;
            AddItem(beard);

            PackGold(70, 95);
            PackItem(new Bandage(10));

            Item crossbow = new Crossbow();

            EquipItem(crossbow);

            switch (Utility.Random(3))
            {
            case 0:
            {
                Item fancyshirt = new FancyShirt();
                fancyshirt.Hue = Utility.RandomNeutralHue();
                EquipItem(fancyshirt);
                break;
            }

            case 1:
            {
                Item doublet = new Doublet();
                doublet.Hue = Utility.RandomNeutralHue();
                EquipItem(doublet);
                break;
            }

            case 2:
            {
                break;
            }
            }

            switch (Utility.Random(2))
            {
            case 0:
            {
                Item longpants = new LongPants();
                longpants.Hue = Utility.RandomNeutralHue();
                EquipItem(longpants);
                break;
            }

            case 1:
            {
                Item shortpants = new ShortPants();
                shortpants.Hue = Utility.RandomNeutralHue();
                EquipItem(shortpants);
                break;
            }
            }

            switch (Utility.Random(4))
            {
            case 0:
            {
                Item boots = new Boots();
                boots.Hue = 0;
                EquipItem(boots);
                break;
            }

            case 1:
            {
                Item shoes = new Shoes();
                shoes.Hue = 1713;
                EquipItem(shoes);
                break;
            }

            case 3:
            {
                Item thighboots = new ThighBoots();
                thighboots.Hue = 0;
                EquipItem(thighboots);
                break;
            }

            case 4:
            {
                break;
            }
            }

            switch (Utility.Random(3))
            {
            case 0:
            {
                Item Bandana = new Bandana();
                Bandana.Hue = Utility.RandomBirdHue();
                EquipItem(Bandana);
                break;
            }

            case 1:
            {
                Item skullcap = new SkullCap();
                skullcap.Hue = Utility.RandomBirdHue();
                EquipItem(skullcap);
                break;
            }

            case 3:
            {
                break;
            }
            }
        }
Esempio n. 12
0
        public Rackham() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name  = "Rackham";
            Title = "the Bloody Pirate";
            Body  = 0x190;
            Hue   = Utility.RandomSkinHue();

            ThighBoots tb = new ThighBoots();

            tb.Hue = 0;
            AddItem(tb);

            LongPants lp = new LongPants();

            lp.Hue = 633;
            AddItem(lp);

            FancyShirt fs = new FancyShirt();

            fs.Hue = 907;
            AddItem(fs);

            SkullCap sk = new SkullCap();

            sk.Hue = 413;
            AddItem(sk);

            BodySash bs = new BodySash();

            bs.Hue = 633;
            AddItem(bs);

            Cloak cl = new Cloak();

            cl.Hue = 688;
            AddItem(cl);

            Scimitar sc = new Scimitar();

            sc.Hue = 533;
            AddItem(sc);

            GoldBeadNecklace gn = new GoldBeadNecklace();

            AddItem(gn);

            GoldBracelet gb = new GoldBracelet();

            AddItem(gb);

            GoldEarrings ge = new GoldEarrings();

            AddItem(ge);

            GoldRing gr = new GoldRing();

            AddItem(gr);

            AddItem(new PonyTail(1149));

            AddItem(new Vandyke(1149));

            SetStr(120, 140);
            SetDex(90, 105);
            SetInt(25, 40);

            SetHits(450, 500);
            SetMana(0);

            SetDamage(20, 28);

            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 56, 67);
            SetResistance(ResistanceType.Fire, 40, 50);
            SetResistance(ResistanceType.Poison, 40, 50);
            SetResistance(ResistanceType.Cold, 40, 45);
            SetResistance(ResistanceType.Energy, 40, 55);

            SetSkill(SkillName.MagicResist, 55.1, 65.0);
            SetSkill(SkillName.Tactics, 85.3, 105.0);
            SetSkill(SkillName.Wrestling, 90.3, 105.0);
            SetSkill(SkillName.Swords, 90.3, 105.0);

            Fame  = 9900;
            Karma = -9900;

            VirtualArmor = 25;

            PackItem(new SeafaringBracelet());
            PackItem(new TreasureMap(1, Map.Trammel));
        }
Esempio n. 13
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;
            }
        }
Esempio n. 14
0
        public static Item RandomIOB()
        {
            switch (Utility.Random(7))
            {
            case 0:     // Undead - GUL
            {
                if (Utility.RandomBool())
                {
                    return(new BloodDrenchedBandana());
                }
                else
                {
                    BodySash sash = new BodySash();
                    sash.Hue          = 0x66C;
                    sash.IOBAlignment = IOBAlignment.Council;
                    sash.Name         = "blood drenched sash";
                    sash.Dyable       = false;
                    sash.Scissorable  = false;
                    return(sash);
                }
            }

            case 1:     // Undead - UND
            {
                Sandals sandals = new Sandals();
                if (Utility.RandomBool())
                {
                    sandals.Hue = 0x66C;
                }
                else
                {
                    sandals.Hue = 0x1;
                }
                sandals.IOBAlignment = IOBAlignment.Undead;
                sandals.Name         = "sandals of the walking dead";
                sandals.Dyable       = false;
                sandals.Scissorable  = false;
                return(sandals);
            }

            case 2:     // Orcish
            {
                if (Utility.RandomBool())
                {       // green mask (brute color)
                    if (Utility.RandomBool())
                    {
                        return(new OrcishKinMask());
                    }
                    else
                    {                                   // old style mask (orc colored)
                        OrcishKinMask mask = new OrcishKinMask();
                        mask.Hue = 0;
                        return(mask);
                    }
                }
                else
                {
                    return(new OrcishKinHelm());
                }
            }

            case 3:     //Savage
            {
                if (Utility.RandomBool())
                {
                    if (Utility.RandomBool())
                    {
                        BearMask mask = new BearMask();
                        mask.IOBAlignment = IOBAlignment.Savage;
                        mask.Name         = "bear mask of savage kin";
                        mask.Dyable       = false;
                        return(mask);
                    }
                    else
                    {
                        DeerMask mask = new DeerMask();
                        mask.IOBAlignment = IOBAlignment.Savage;
                        mask.Name         = "deer mask of savage kin";
                        mask.Dyable       = false;
                        return(mask);
                    }
                }
                else
                {
                    SavageMask mask = new SavageMask();
                    mask.IOBAlignment = IOBAlignment.Savage;
                    mask.Name         = "tribal mask of savage kin";
                    mask.Dyable       = false;
                    return(mask);
                }
            }

            case 4:     // Pirates
            {
                if (Utility.RandomBool())
                {
                    if (Utility.RandomBool())
                    {
                        SkullCap skullcap = new SkullCap();
                        skullcap.IOBAlignment = IOBAlignment.Pirate;
                        skullcap.Name         = "a pirate skullcap";
                        skullcap.Hue          = 0x66C;
                        skullcap.Dyable       = false;
                        skullcap.Scissorable  = false;
                        return(skullcap);
                    }
                    else
                    {
                        Boots boots = new Boots();
                        boots.IOBAlignment = IOBAlignment.Pirate;
                        boots.Name         = "pirate kin boots";
                        boots.Hue          = 0x66c;
                        boots.Dyable       = false;
                        boots.Scissorable  = false;
                        return(boots);
                    }
                }
                else
                {
                    return(new PirateHat());
                }
            }

            case 5:     // Brigands
            {
                if (Utility.RandomBool())
                {
                    return(new BrigandKinBandana());
                }
                else
                {
                    return(new BrigandKinBoots());
                }
            }

            case 6:                     // Good
            {
                switch (Utility.Random(4))
                {
                case 0:
                    Boots boots = new Boots(0x5E4);
                    boots.IOBAlignment = IOBAlignment.Good;
                    boots.Name         = "Britannian Militia";
                    boots.Dyable       = false;
                    return(boots);

                case 1: Cloak cloak = new Cloak(Utility.RandomSpecialVioletHue());
                    cloak.IOBAlignment = IOBAlignment.Good;
                    cloak.Name         = "Britannian Militia";
                    cloak.Dyable       = false;
                    cloak.Scissorable  = false;
                    return(cloak);

                case 2: Surcoat surcoat = new Surcoat(Utility.RandomSpecialVioletHue());
                    surcoat.IOBAlignment = IOBAlignment.Good;
                    surcoat.Name         = "Britannian Militia";
                    surcoat.Dyable       = false;
                    surcoat.Scissorable  = false;
                    return(surcoat);

                case 3: BodySash bodySash = new BodySash(Utility.RandomSpecialRedHue());
                    bodySash.IOBAlignment = IOBAlignment.Good;
                    bodySash.Name         = "Britannian Militia";
                    bodySash.Dyable       = false;
                    bodySash.Scissorable  = false;
                    return(bodySash);
                }
                break;
            }
            }
            return(null);
        }
Esempio n. 15
0
        public override Item Construct(Type type, Mobile from)
        {
            if (type == typeof(TreasureMap))
            {
                int level;
                //if ( from is PlayerMobile && ((PlayerMobile)from).Young && from.Map == Map.Trammel && TreasureMap.IsInHavenIsland( from ) )
                //	level = 0;
                //else
                level = 1;

                return(new TreasureMap(level, /*from.Map == Map.Felucca ?*/ Map.Felucca /* : Map.Trammel*/));
            }
            else if (type == typeof(MessageInABottle))
            {
                return(new MessageInABottle(/*from.Map == Map.Felucca ?*/ Map.Felucca /* : Map.Trammel*/));
            }

            Container pack = from.Backpack;

            if (pack != null)
            {
                List <SOS> messages = pack.FindItemsByType <SOS>();

                for (int i = 0; i < messages.Count; ++i)
                {
                    SOS sos = messages[i];

                    if (from.Map == sos.TargetMap && from.InRange(sos.TargetLocation, 60))
                    {
                        Item preLoot = null;

                        switch (Utility.Random(8))
                        {
                        case 0:                                 // Body parts
                        {
                            int[] list = new int[]
                            {
                                0x1CDD, 0x1CE5,                                                // arm
                                0x1CE0, 0x1CE8,                                                // torso
                                0x1CE1, 0x1CE9,                                                // head
                                0x1CE2, 0x1CEC                                                 // leg
                            };

                            preLoot = new ShipwreckedItem(Utility.RandomList(list));
                            break;
                        }

                        case 1:                                 // Bone parts
                        {
                            int[] list = new int[]
                            {
                                0x1AE0, 0x1AE1, 0x1AE2, 0x1AE3, 0x1AE4,                         // skulls
                                0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B10, // bone piles
                                0x1B15, 0x1B16                                                  // pelvis bones
                            };

                            preLoot = new ShipwreckedItem(Utility.RandomList(list));
                            break;
                        }

                        case 2:                                 // Paintings and portraits
                        {
                            preLoot = new ShipwreckedItem(Utility.Random(0xE9F, 10));
                            break;
                        }

                        case 3:                                 // Pillows
                        {
                            preLoot = new ShipwreckedItem(Utility.Random(0x13A4, 11));
                            break;
                        }

                        case 4:                                 // Shells
                        {
                            preLoot = new ShipwreckedItem(Utility.Random(0xFC4, 9));
                            break;
                        }

                        case 5:                                 //Hats
                        {
                            if (Utility.RandomBool())
                            {
                                preLoot = new SkullCap();
                            }
                            else
                            {
                                preLoot = new TricorneHat();
                            }

                            break;
                        }

                        case 6:                                 // Misc
                        {
                            int[] list = new int[]
                            {
                                0x1EB5,                                                // unfinished barrel
                                0xA2A,                                                 // stool
                                0xC1F,                                                 // broken clock
                                0x1047, 0x1048,                                        // globe
                                0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4                         // barrel staves
                            };

                            if (Utility.Random(list.Length + 1) == 0)
                            {
                                preLoot = new Candelabra();
                            }
                            else
                            {
                                preLoot = new ShipwreckedItem(Utility.RandomList(list));
                            }

                            break;
                        }
                        }

                        if (preLoot != null)
                        {
                            if (preLoot is IShipwreckedItem)
                            {
                                ((IShipwreckedItem)preLoot).IsShipwreckedItem = true;
                            }

                            return(preLoot);
                        }

                        LockableContainer chest = null;

                        switch (Utility.Random(3))
                        {
                        case 0: chest = new MetalGoldenChest(); break;

                        case 1: chest = new MetalChest(); break;

                        default:
                        case 2: chest = new WoodenChest(); break;
                        }

                        if (sos.IsAncient)
                        {
                            int hue = 1150;

                            if (0.20 > Utility.RandomDouble())
                            {
                                switch (Utility.Random((chest is WoodenChest) ? 6 : 14))
                                {
                                case 0: hue = 1193; break;

                                case 1: hue = 1281; break;

                                case 2: hue = 1190; break;

                                case 3: hue = 1165; break;

                                case 4: hue = 1160; break;

                                case 5: hue = 1126; break;

                                case 6: hue = CraftResources.GetInfo(CraftResource.Valorite).Hue; break;

                                case 7: hue = CraftResources.GetInfo(CraftResource.Verite).Hue; break;

                                case 8: hue = CraftResources.GetInfo(CraftResource.Agapite).Hue; break;

                                case 9: hue = CraftResources.GetInfo(CraftResource.Gold).Hue; break;

                                case 10: hue = CraftResources.GetInfo(CraftResource.Bronze).Hue; break;

                                case 11: hue = CraftResources.GetInfo(CraftResource.Copper).Hue; break;

                                case 12: hue = CraftResources.GetInfo(CraftResource.ShadowIron).Hue; break;

                                case 13: hue = CraftResources.GetInfo(CraftResource.DullCopper).Hue; break;
                                }
                            }

                            chest.Hue = hue;
                        }
                        else if ((chest is MetalChest || chest is MetalGoldenChest) && (0.5 * sos.Level) >= Utility.RandomDouble())
                        {
                            int           randhue  = Utility.Random(120);
                            CraftResource resource = CraftResource.None;

                            if (randhue >= 118)
                            {
                                resource = CraftResource.Valorite;
                            }
                            else if (randhue >= 115)
                            {
                                resource = CraftResource.Verite;
                            }
                            else if (randhue >= 110)
                            {
                                resource = CraftResource.Agapite;
                            }
                            else if (randhue >= 100)
                            {
                                resource = CraftResource.Gold;
                            }
                            else if (randhue >= 90)
                            {
                                resource = CraftResource.Bronze;
                            }
                            else if (randhue >= 70)
                            {
                                resource = CraftResource.Copper;
                            }
                            else if (randhue >= 40)
                            {
                                resource = CraftResource.ShadowIron;
                            }
                            else
                            {
                                resource = CraftResource.DullCopper;
                            }

                            chest.Hue = CraftResources.GetInfo(resource).Hue;
                        }

                        int soslevel = Math.Max(1, Math.Max(4, sos.Level));

                        TreasureMapChest.Fill(chest, soslevel);

                        if (sos.IsAncient)
                        {
                            chest.DropItem(new FabledFishingNet());
                        }
                        else
                        {
                            chest.DropItem(new SpecialFishingNet());
                        }

                        chest.Movable           = true;
                        chest.Locked            = false;
                        chest.Name              = "treasure chest";
                        chest.IsShipwreckedItem = true;

                        if (sos.Level > 0)
                        {
                            chest.TrapType  = TrapType.ExplosionTrap;
                            chest.TrapPower = soslevel * Utility.RandomMinMax(5, 15);
                            chest.TrapLevel = 0;
                        }
                        else
                        {
                            chest.TrapType  = TrapType.None;
                            chest.TrapPower = 0;
                            chest.TrapLevel = 0;
                        }

                        sos.Delete();

                        return(chest);
                    }
                }
            }

            return(base.Construct(type, from));
        }
Esempio n. 16
0
        public override Item Construct(Type type, Mobile from)
        {
            if (type == typeof(TreasureMap))
            {
                int level;
                if (from is PlayerMobile && ((PlayerMobile)from).Young && from.Map == Map.Trammel && TreasureMap.IsInHavenIsland(from))
                {
                    level = 0;
                }
                else
                {
                    level = 1;
                }

                return(new TreasureMap(level, from.Map == Map.Felucca ? Map.Felucca : Map.Trammel));
            }
            else if (type == typeof(MessageInABottle))
            {
                return(new MessageInABottle(from.Map == Map.Felucca ? Map.Felucca : Map.Trammel));
            }

            Container pack = from.Backpack;

            if (pack != null)
            {
                List <SOS> messages = pack.FindItemsByType <SOS>();

                for (int i = 0; i < messages.Count; ++i)
                {
                    SOS sos = messages[i];

                    if (from.Map == sos.TargetMap && from.InRange(sos.TargetLocation, 60))
                    {
                        Item preLoot = null;

                        switch (Utility.Random(8))
                        {
                        case 0:                                 // Body parts
                        {
                            int[] list = new int[]
                            {
                                0x1CDD, 0x1CE5,                                                // arm
                                0x1CE0, 0x1CE8,                                                // torso
                                0x1CE1, 0x1CE9,                                                // head
                                0x1CE2, 0x1CEC                                                 // leg
                            };

                            preLoot = new ShipwreckedItem(Utility.RandomList(list));
                            break;
                        }

                        case 1:                                 // Bone parts
                        {
                            int[] list = new int[]
                            {
                                0x1AE0, 0x1AE1, 0x1AE2, 0x1AE3, 0x1AE4,                         // skulls
                                0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B10, // bone piles
                                0x1B15, 0x1B16                                                  // pelvis bones
                            };

                            preLoot = new ShipwreckedItem(Utility.RandomList(list));
                            break;
                        }

                        case 2:                                 // Paintings and portraits
                        {
                            preLoot = new ShipwreckedItem(Utility.Random(0xE9F, 10));
                            break;
                        }

                        case 3:                                 // Pillows
                        {
                            preLoot = new ShipwreckedItem(Utility.Random(0x13A4, 11));
                            break;
                        }

                        case 4:                                 // Shells
                        {
                            preLoot = new ShipwreckedItem(Utility.Random(0xFC4, 9));
                            break;
                        }

                        case 5:                                 //Hats
                        {
                            if (Utility.RandomBool())
                            {
                                preLoot = new SkullCap();
                            }
                            else
                            {
                                preLoot = new TricorneHat();
                            }

                            break;
                        }

                        case 6:                                 // Misc
                        {
                            int[] list = new int[]
                            {
                                0x1EB5,                                                // unfinished barrel
                                0xA2A,                                                 // stool
                                0xC1F,                                                 // broken clock
                                0x1047, 0x1048,                                        // globe
                                0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4                         // barrel staves
                            };

                            if (Utility.Random(list.Length + 1) == 0)
                            {
                                preLoot = new Candelabra();
                            }
                            else
                            {
                                preLoot = new ShipwreckedItem(Utility.RandomList(list));
                            }

                            break;
                        }
                        }

                        if (preLoot != null)
                        {
                            if (preLoot is IShipwreckedItem)
                            {
                                ((IShipwreckedItem)preLoot).IsShipwreckedItem = true;
                            }

                            return(preLoot);
                        }

                        LockableContainer chest;

                        if (Utility.RandomBool())
                        {
                            chest = new MetalGoldenChest();
                        }
                        else
                        {
                            chest = new WoodenChest();
                        }

                        if (sos.IsAncient)
                        {
                            chest.Hue = 0x481;
                        }

                        TreasureMapChest.Fill(chest, Math.Max(1, Math.Max(4, sos.Level)));

                        if (sos.IsAncient)
                        {
                            chest.DropItem(new FabledFishingNet());
                        }
                        else
                        {
                            chest.DropItem(new SpecialFishingNet());
                        }

                        chest.Movable   = true;
                        chest.Locked    = false;
                        chest.TrapType  = TrapType.None;
                        chest.TrapPower = 0;
                        chest.TrapLevel = 0;

                        sos.Delete();

                        return(chest);
                    }
                }
            }

            return(base.Construct(type, from));
        }
Esempio n. 17
0
        public SwordPirate() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.175, 0.2)
        {
            Title     = "the pirate";
            Body      = 400;
            Team      = 1;
            Kills     = 10;
            Hue       = Utility.RandomSkinHue();
            SpeechHue = 1153;
            this.Body = 0x190;
            this.Name = NameList.RandomName("male");
            SetStr(90, 100);
            SetDex(85, 100);
            SetInt(10, 20);

            SetSkill(SkillName.Archery, 95.0, 100.0);
            SetSkill(SkillName.MagicResist, 75.0, 100.0);
            SetSkill(SkillName.Tactics, 90.0, 100.0);
            SetSkill(SkillName.Healing, 75.0, 100.0);
            SetSkill(SkillName.Anatomy, 90.0, 100.0);
            SetSkill(SkillName.Swords, 95.0, 100.0);

            Fame  = 4500;
            Karma = -4500;

            VirtualArmor = 0;

            Item hair = new Item(Utility.RandomList(0x203B, 0x2049, 0x2048, 0x204A));

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

            Item beard = new Item(Utility.RandomList(0x2040, 0x203E, 0x204C, 0x204B, 0x203F));

            beard.Hue     = hair.Hue;
            beard.Layer   = Layer.FacialHair;
            beard.Movable = false;
            AddItem(beard);

            AddItem(hair);
            PackGold(70, 95);
            PackItem(new Bandage(20));

            switch (Utility.Random(2))
            {
            case 0:
            {
                Item scimitar = new Scimitar();
                EquipItem(scimitar);
                break;
            }

            case 1:
            {
                Item cutlass = new Cutlass();
                EquipItem(cutlass);
                break;
            }
            }

            switch (Utility.Random(3))
            {
            case 0:
            {
                Item fancyshirt = new FancyShirt();
                fancyshirt.Hue = Utility.RandomNeutralHue();
                EquipItem(fancyshirt);
                break;
            }

            case 1:
            {
                Item doublet = new Doublet();
                doublet.Hue = Utility.RandomNeutralHue();
                EquipItem(doublet);
                break;
            }

            case 2:
            {
                break;
            }
            }

            switch (Utility.Random(2))
            {
            case 0:
            {
                Item longpants = new LongPants();
                longpants.Hue = Utility.RandomNeutralHue();
                EquipItem(longpants);
                break;
            }

            case 1:
            {
                Item shortpants = new ShortPants();
                shortpants.Hue = Utility.RandomNeutralHue();
                EquipItem(shortpants);
                break;
            }
            }

            switch (Utility.Random(4))
            {
            case 0:
            {
                Item boots = new Boots();
                boots.Hue = 0;
                EquipItem(boots);
                break;
            }

            case 1:
            {
                Item shoes = new Shoes();
                shoes.Hue = 1713;
                EquipItem(shoes);
                break;
            }

            case 3:
            {
                Item thighboots = new ThighBoots();
                thighboots.Hue = 0;
                EquipItem(thighboots);
                break;
            }

            case 4:
            {
                break;
            }
            }

            switch (Utility.Random(3))
            {
            case 0:
            {
                Item Bandana = new Bandana();
                Bandana.Hue = Utility.RandomBirdHue();
                EquipItem(Bandana);
                break;
            }

            case 1:
            {
                Item skullcap = new SkullCap();
                skullcap.Hue = Utility.RandomBirdHue();
                EquipItem(skullcap);
                break;
            }

            case 3:
            {
                break;
            }
            }
        }
Esempio n. 18
0
        public Pirate() : base(AIType.AI_Melee, FightMode.Agressor, 10, 1, 0.45, 0.8)
        {
            Female = Utility.RandomBool();
            Body   = Female ? 401 : 400;
            Title  = "the pirate";
            Name   = NameList.RandomName(Female ? "female" : "male");
            Hue    = Utility.RandomSkinHue();
            SetStr(86, 100);
            SetDex(86, 100);
            SetInt(71, 85);
            Karma = 2;


            SetSkill(SkillName.Tactics, 65, 87.5);
            SetSkill(SkillName.MagicResist, 65, 87.5);
            SetSkill(SkillName.Parry, 65, 87.5);
            SetSkill(SkillName.Swords, 55, 77.5);
            SetSkill(SkillName.Macing, 25, 47.5);
            SetSkill(SkillName.Fencing, 25, 47.5);
            SetSkill(SkillName.Wrestling, 45, 67.5);


            Item item = null;

            if (!Female)
            {
                item     = AddRandomHair();
                item.Hue = Utility.RandomHairHue();
                item     = AddRandomFacialHair(item.Hue);
                item     = new Shirt();
                item.Hue = Utility.RandomNondyedHue();
                AddItem(item);
                item     = new ShortPants();
                item.Hue = Utility.RandomNondyedHue();
                AddItem(item);
                item = new Cutlass();
                AddItem(item);
                if (Utility.RandomBool())
                {
                    item = new Bandana();
                }
                else
                {
                    item = new SkullCap();
                }
                item.Hue = Utility.RandomRedHue();
                AddItem(item);
                item     = new ThighBoots();
                item.Hue = Utility.RandomNeutralHue();
                AddItem(item);
                PackGold(15, 100);
            }
            else
            {
                item     = AddRandomHair();
                item.Hue = Utility.RandomHairHue();
                item     = new Shirt();
                item.Hue = Utility.RandomNondyedHue();
                AddItem(item);
                item     = new ShortPants();
                item.Hue = Utility.RandomNondyedHue();
                AddItem(item);
                item = new Cutlass();
                AddItem(item);
                if (Utility.RandomBool())
                {
                    item = new Bandana();
                }
                else
                {
                    item = new SkullCap();
                }
                item.Hue = Utility.RandomRedHue();
                AddItem(item);
                item     = new ThighBoots();
                item.Hue = Utility.RandomNeutralHue();
                AddItem(item);
                PackGold(15, 100);
            }
        }
Esempio n. 19
0
        public FawnGuardGuard(Mobile target)
            : base(target)
        {
            InitStats(1000, 1000, 1000);
            Title = "the Fawn guard";

            SpeechHue = Utility.RandomDyedHue();

            SkullCap sc = new SkullCap();

            sc.Hue = 902;
            AddItem(sc);

            ChainChest cc = new ChainChest();

            cc.Hue = 902;
            AddItem(cc);

            Doublet doublet = new Doublet();

            doublet.Hue = 243;
            AddItem(doublet);

            AddItem(new ChainLegs());

            Shoes shoes = new Shoes();

            shoes.Hue = 902;
            AddItem(shoes);

            AddItem(new Broadsword());

            if (Female = Utility.RandomBool())
            {
                Body = 401;
                Name = NameList.RandomName("female");
            }
            else
            {
                Body = 400;
                Name = NameList.RandomName("male");
            }

            Utility.AssignRandomHair(this);

            Container pack = new Backpack();

            pack.Movable = false;

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

            AddItem(pack);

            Skills[SkillName.Anatomy].Base      = 120.0;
            Skills[SkillName.Tactics].Base      = 120.0;
            Skills[SkillName.Swords].Base       = 120.0;
            Skills[SkillName.MagicResist].Base  = 120.0;
            Skills[SkillName.DetectHidden].Base = 100.0;

            NextCombatTime = Core.TickCount + 500;
            Focus          = target;
        }
Esempio n. 20
0
        public LockeCole()
            : base(AIType.AI_Arcade, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name         = "Locke Cole";
            Body         = 400;
            Hue          = 1162;
            SpecialTitle = "Undead Treasure Hunter";
            TitleHue     = 1174;

            BaseSoundID = 362;

            SetStr(500);
            SetDex(400);
            SetInt(100);

            SetHits(400000);

            SetDamage(2, 4);

            foreach (SkillName skill in _Skills)
            {
                SetSkill(skill, 80.0, 140.0);
            }

            SpeechHue = YellHue = 34;

            VirtualArmor = 90;

            PackGold(3000, 3500);
            PackMagicItems(5, 5, 0.95, 0.95);
            PackMagicItems(5, 5, 0.80, 0.65);
            PackMagicItems(5, 5, 0.80, 0.65);
            PackMagicItems(6, 6, 0.80, 0.65);

            Damagers = new Dictionary <PlayerMobile, int>();

            var helm = new SkullCap();

            helm.Name       = "Locke's Bandana";
            helm.Hue        = 4;
            helm.Identified = true;
            AddItem(Immovable(helm));

            var arms = new JinBaori();

            arms.Name       = "Locke's Jacket";
            arms.Hue        = 4;
            arms.Identified = true;
            AddItem(Immovable(arms));

            var gloves = new LeatherGloves();

            gloves.Name       = "Locke's Gloves";
            gloves.Hue        = 4;
            gloves.Identified = true;
            AddItem(Immovable(gloves));

            var tunic = new Shirt();

            tunic.Name       = "Locke's Shirt";
            tunic.Hue        = 0;
            tunic.Identified = true;
            AddItem(Immovable(tunic));

            var legs = new LeatherNinjaPants();

            legs.Name       = "Locke's Pants";
            legs.Hue        = 4;
            legs.Identified = true;
            AddItem(Immovable(legs));

            var boots = new ElvenBoots();

            boots.Name       = "Locke's Boots";
            boots.Hue        = 1175;
            boots.Identified = true;
            AddItem(Immovable(boots));

            var spellbook = new Dagger();

            spellbook.Name    = "Thief Dagger";
            spellbook.Hue     = 0;
            spellbook.Movable = false;
            AddItem(Immovable(spellbook));
        }
Esempio n. 21
0
        public GingerbreadThief() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name = "Gingerbread Thief";
            Body = 400;
            Hue  = 1002;


            SetStr(796, 825);
            SetDex(86, 105);
            SetInt(436, 475);
            SetHits(478, 495);
            SetDamage(20, 30);


            Item shortpants;

            shortpants     = new ShortPants();
            shortpants.Hue = 1108;
            AddItem(shortpants);
            shortpants.LootType = LootType.Newbied;

            Item shirt;

            shirt     = new Shirt();
            shirt.Hue = 1899;
            AddItem(shirt);
            shirt.LootType = LootType.Newbied;

            Item skullcap;

            skullcap     = new SkullCap();
            skullcap.Hue = 1899;
            AddItem(skullcap);
            skullcap.LootType = LootType.Newbied;

            Item shoes;

            shoes     = new Shoes();
            shoes.Hue = 1108;
            AddItem(shoes);
            shoes.LootType = LootType.Newbied;


            HairItemID = 0x203D;
            HairHue    = 1118;

            FacialHairItemID = 0x204D;
            FacialHairHue    = 1118;



            Cleaver weapon = new Cleaver();

            weapon.Movable = false;
            AddItem(weapon);

            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 55, 60);
            SetResistance(ResistanceType.Fire, 61, 71);
            SetResistance(ResistanceType.Cold, 30, 40);
            SetResistance(ResistanceType.Poison, 25, 35);
            SetResistance(ResistanceType.Energy, 35, 45);

            SetSkill(SkillName.MagicResist, 99.2, 100);
            SetSkill(SkillName.Tactics, 97.6, 100);
            SetSkill(SkillName.Wrestling, 90.1, 92.5);
            SetSkill(SkillName.Anatomy, 75.1, 78);



            PackGold(250, 350);
        }
Esempio n. 22
0
        public override Item Construct(Type type, Mobile from, Item tool)
        {
            // Searing Weapon Support, handled elsewhere
            if (type == typeof(BaseWeapon))
            {
                return(null);
            }

            if (type == typeof(TreasureMap))
            {
                return(new TreasureMap(0, from.Map == Map.Felucca ? Map.Felucca : Map.Trammel));
            }
            else if (type == typeof(MessageInABottle))
            {
                return(new MessageInABottle(from.Map == Map.Felucca ? Map.Felucca : Map.Trammel));
            }
            else if (type == typeof(WhitePearl))
            {
                return(new WhitePearl());
            }

            Container pack = from.Backpack;

            if (pack != null)
            {
                List <SOS> messages = pack.FindItemsByType <SOS>();

                for (int i = 0; i < messages.Count; ++i)
                {
                    SOS sos = messages[i];

                    if ((from.Map == Map.Felucca || from.Map == Map.Trammel) && from.InRange(sos.TargetLocation, 60))
                    {
                        Item preLoot = null;
                        bool dredge  = HasTypeHook(tool, HookType.Dredging);

                        switch (Utility.Random(17))
                        {
                        case 0:     // Body parts
                        case 1:
                        {
                            int[] list = new int[]
                            {
                                0x1CDD, 0x1CE5,        // arm
                                0x1CE0, 0x1CE8,        // torso
                                0x1CE1, 0x1CE9,        // head
                                0x1CE2, 0x1CEC         // leg
                            };

                            preLoot = new ShipwreckedItem(Utility.RandomList(list), dredge);
                            break;
                        }

                        case 2:     // Bone parts
                        case 3:
                        {
                            int[] list = new int[]
                            {
                                0x1AE0, 0x1AE1, 0x1AE2, 0x1AE3, 0x1AE4,                         // skulls
                                0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B10, // bone piles
                                0x1B15, 0x1B16                                                  // pelvis bones
                            };

                            preLoot = new ShipwreckedItem(Utility.RandomList(list), dredge);
                            break;
                        }

                        case 4:     // Paintings and portraits
                        case 5:
                        {
                            preLoot = new ShipwreckedItem(Utility.Random(0xE9F, 10), dredge);
                            break;
                        }

                        case 6:     // Pillows
                        case 7:
                        {
                            preLoot = new ShipwreckedItem(Utility.Random(0x13A4, 11), dredge);
                            break;
                        }

                        case 8:     // Shells
                        case 9:
                        {
                            preLoot = new ShipwreckedItem(Utility.Random(0xFC4, 9), dredge);
                            break;
                        }

                        case 10:     //Hats
                        case 11:
                        {
                            if (Utility.RandomBool())
                            {
                                preLoot = new SkullCap();
                            }
                            else
                            {
                                preLoot = new TricorneHat();
                            }

                            break;
                        }

                        case 12:     // Misc
                        case 13:
                        {
                            int[] list = new int[]
                            {
                                0x1EB5,                        // unfinished barrel
                                0xA2A,                         // stool
                                0xC1F,                         // broken clock
                                0x1047, 0x1048,                // globe
                                0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4 // barrel staves
                            };

                            if (Utility.Random(list.Length + 1) == 0)
                            {
                                preLoot = new Candelabra();
                            }
                            else
                            {
                                preLoot = new ShipwreckedItem(Utility.RandomList(list), dredge);
                            }

                            break;
                        }

                            #region High Seas
                        case 14:
                        {
                            int[] list = new int[]
                            {
                                0x1E19, 0x1E1A, 0x1E1B,         //Fish heads
                                0x1E2A, 0x1E2B,                 //Oars
                                0x1E71, 0x1E7A,                 //Unfinished drawers
                                0x1E75,                         //Unfinished legs
                            };

                            double ran = Utility.RandomDouble();

                            if (ran < 0.05)
                            {
                                preLoot = new YellowPolkaDotBikini();
                            }
                            else if (ran < 0.25)
                            {
                                preLoot = new ShipwreckedItem(list[Utility.RandomMinMax(3, 7)], dredge);
                            }
                            else
                            {
                                preLoot = new ShipwreckedItem(list[Utility.Random(3)], dredge);
                            }
                            break;
                        }
                            #endregion
                        }

                        if (preLoot != null)
                        {
                            if (preLoot is IShipwreckedItem)
                            {
                                ((IShipwreckedItem)preLoot).IsShipwreckedItem = true;
                            }

                            return(preLoot);
                        }

                        LockableContainer chest;

                        if (0.01 > Utility.RandomDouble())
                        {
                            chest = new ShipsStrongbox(sos.Level);
                        }
                        else
                        {
                            switch (sos.Level)
                            {
                            case 0: chest = new SOSChest(Utility.RandomBool() ? 0xE43 : 0xE41); break;

                            case 1: chest = new SOSChest(0xA306); break;

                            case 2: chest = new SOSChest(Utility.RandomBool() ? 0xE43 : 0xE41); break;

                            case 3: chest = new SOSChest(0xA308); break;

                            default:
                                if (.33 > Utility.RandomDouble())
                                {
                                    chest = new SOSChest(0xA30A);
                                }
                                else
                                {
                                    chest     = new SOSChest(Utility.RandomBool() ? 0xE41 : 0xE43);
                                    chest.Hue = 0x481;
                                }
                                break;
                            }
                        }

                        TreasureMapChest.Fill(from, chest, Math.Max(1, Math.Min(4, sos.Level)), true);
                        sos.OnSOSComplete(chest);

                        if (sos.IsAncient)
                        {
                            chest.DropItem(new FabledFishingNet());
                        }
                        else
                        {
                            chest.DropItem(new SpecialFishingNet());
                        }

                        chest.Movable   = true;
                        chest.Locked    = false;
                        chest.TrapType  = TrapType.None;
                        chest.TrapPower = 0;
                        chest.TrapLevel = 0;

                        chest.IsShipwreckedItem = true;

                        sos.Delete();

                        return(chest);
                    }
                }
            }

            return(base.Construct(type, from, tool));
        }
Esempio n. 23
0
        public LockeColeMirrorImagePortal()
            : base(AIType.AI_Arcade, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name         = "Locke Cole";
            Body         = 400;
            Hue          = 1162;
            SpecialTitle = "Mirror Image";
            TitleHue     = 1174;

            BaseSoundID = 362;

            SetStr(10, 10);
            SetDex(200);
            SetInt(706, 726);

            SetHits(2000);

            SetDamage(1, 1);

            foreach (SkillName skill in _Skills)
            {
                SetSkill(skill, 65.0, 70.0);
            }

            SpeechHue = YellHue = 34;

            VirtualArmor = 90;

            PackGold(500, 1000);
            PackMagicItems(5, 5, 0.95, 0.95);

            var helm = new SkullCap();

            helm.Name       = "Locke's Bandana";
            helm.Hue        = 4;
            helm.Identified = true;
            AddItem(Immovable(helm));

            var arms = new JinBaori();

            arms.Name       = "Locke's Jacket";
            arms.Hue        = 4;
            arms.Identified = true;
            AddItem(Immovable(arms));

            var gloves = new LeatherGloves();

            gloves.Name       = "Locke's Gloves";
            gloves.Hue        = 4;
            gloves.Identified = true;
            AddItem(Immovable(gloves));

            var tunic = new Shirt();

            tunic.Name       = "Locke's Shirt";
            tunic.Hue        = 0;
            tunic.Identified = true;
            AddItem(Immovable(tunic));

            var legs = new LeatherNinjaPants();

            legs.Name       = "Locke's Pants";
            legs.Hue        = 4;
            legs.Identified = true;
            AddItem(Immovable(legs));

            var boots = new ElvenBoots();

            boots.Name       = "Locke's Boots";
            boots.Hue        = 1175;
            boots.Identified = true;
            AddItem(Immovable(boots));

            var spellbook = new Dagger();

            spellbook.Name    = "Thief Dagger";
            spellbook.Hue     = 0;
            spellbook.Movable = false;
            AddItem(Immovable(spellbook));
        }
Esempio n. 24
0
        public Grandma() : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name = "Grandma";
            Body = 606;
            Hue  = Utility.RandomSkinHue();

            Item hair = new Item(Utility.RandomList(0x2FC0, 0x2FC1, 0x2FCD, 0x2FD1));

            hair.Hue     = 1109;
            hair.Layer   = Layer.Hair;
            hair.Movable = false;
            AddItem(hair);

            SetStr(350, 400);                               //Adjust this to fit your shard.
            SetDex(100, 150);                               //Adjust this to fit your shard.
            SetInt(100, 150);                               //Adjust this to fit your shard.

            SetHits(800, 1000);                             //Adjust this to fit your shard.

            SetDamage(25, 30);                              //Adjust this to fit your shard.

            SetDamageType(ResistanceType.Physical, 45);     //Adjust this to fit your shard.
            SetDamageType(ResistanceType.Energy, 75);       //Adjust this to fit your shard.

            SetResistance(ResistanceType.Physical, 80, 85); //Adjust this to fit your shard.
            SetResistance(ResistanceType.Fire, 50, 70);     //Adjust this to fit your shard.
            SetResistance(ResistanceType.Cold, 50);         //Adjust this to fit your shard.
            SetResistance(ResistanceType.Poison, 90, 100);  //Adjust this to fit your shard.
            SetResistance(ResistanceType.Energy, 40);       //Adjust this to fit your shard.

            SetSkill(SkillName.Anatomy, 90.1, 100.0);       //Adjust this to fit your shard.
            SetSkill(SkillName.EvalInt, 90.1, 100.0);       //Adjust this to fit your shard.
            SetSkill(SkillName.Magery, 90.1, 100.0);        //Adjust this to fit your shard.
            SetSkill(SkillName.Meditation, 90.1, 100.0);    //Adjust this to fit your shard.
            SetSkill(SkillName.MagicResist, 100.0, 150.0);  //Adjust this to fit your shard.
            SetSkill(SkillName.Tactics, 90.1, 100.0);       //Adjust this to fit your shard.
            SetSkill(SkillName.Swords, 90.1, 100.0);        //Adjust this to fit your shard.

            Fame  = 8000;                                   //Adjust this to fit your shard.
            Karma = -8000;                                  //Adjust this to fit your shard.

            VirtualArmor = 35;                              //Adjust this to fit your shard.

            Shoes Shoes = new Shoes();

            Shoes.Hue = 1150;
            AddItem(Shoes);

            PlainDress PlainDress = new PlainDress();

            PlainDress.Hue = 1150;
            AddItem(PlainDress);

            SkullCap SkullCap = new SkullCap();

            SkullCap.Hue = 1150;
            AddItem(SkullCap);

            m_Timer = new TeleportTimer(this);
            m_Timer.Start();
        }
Esempio n. 25
0
        public override Item Construct(Type type, Mobile from, Item _i, HarvestDefinition _d, HarvestBank _b, HarvestResource _r)
        {
            if (type == typeof(TreasureMap))
            {
                int level = 1;

                return(new TreasureMap(level, Map.Felucca));
            }

            else if (type == typeof(MessageInABottle))
            {
                return(new MessageInABottle(Map.Felucca));
            }

            Container pack = from.Backpack;

            if (pack != null)
            {
                List <SOS> messages = pack.FindItemsByType <SOS>();

                for (int i = 0; i < messages.Count; ++i)
                {
                    SOS sos = messages[i];

                    if (from.Map == sos.TargetMap && from.InRange(sos.TargetLocation, 60) && !sos.Completed)
                    {
                        Item preLoot = null;

                        switch (Utility.Random(7))
                        {
                        case 0:     // Body parts
                        {
                            int[] list = new int[]
                            {
                                0x1CDD, 0x1CE5,                                        // arm
                                0x1CE0, 0x1CE8,                                        // torso
                                0x1CE1, 0x1CE9,                                        // head
                                0x1CE2, 0x1CEC                                         // leg
                            };

                            preLoot = new ShipwreckedItem(Utility.RandomList(list));
                            break;
                        }

                        case 1:     // Bone parts
                        {
                            int[] list = new int[]
                            {
                                0x1AE0, 0x1AE1, 0x1AE2, 0x1AE3, 0x1AE4,                         // skulls
                                0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B10, // bone piles
                                0x1B15, 0x1B16                                                  // pelvis bones
                            };

                            preLoot = new ShipwreckedItem(Utility.RandomList(list));
                            break;
                        }

                        case 2:     // Pillows
                        {
                            preLoot = new ShipwreckedItem(Utility.Random(0x13A4, 11));
                            break;
                        }

                        case 3:     // Shells
                        {
                            preLoot = new ShipwreckedItem(Utility.Random(0xFC4, 9));
                            break;
                        }

                        case 4:         //Hats
                        {
                            if (Utility.RandomBool())
                            {
                                preLoot = new SkullCap();
                            }
                            else
                            {
                                preLoot = new TricorneHat();
                            }

                            break;
                        }

                        case 5:     // Misc
                        {
                            int[] list = new int[]
                            {
                                0x1EB5,                                        // unfinished barrel
                                0xA2A,                                         // stool
                                0xC1F,                                         // broken clock
                                0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4                 // barrel staves
                            };

                            if (Utility.Random(list.Length + 1) == 0)
                            {
                                preLoot = new Candelabra();
                            }
                            else
                            {
                                preLoot = new ShipwreckedItem(Utility.RandomList(list));
                            }

                            break;
                        }
                        }

                        if (preLoot != null)
                        {
                            if (preLoot is IShipwreckedItem)
                            {
                                ((IShipwreckedItem)preLoot).IsShipwreckedItem = true;
                            }

                            return(preLoot);
                        }

                        LockableContainer chest;

                        if (Utility.RandomBool())
                        {
                            chest = new MetalGoldenChest();
                        }
                        else
                        {
                            chest = new WoodenChest();
                        }

                        if (sos.IsAncient)
                        {
                            chest.Hue = 0x481;
                        }

                        TreasureMapChest.Fill(chest, Math.Max(1, Math.Min(3, (sos.Level + 1))));

                        if (sos.IsAncient)
                        {
                            chest.DropItem(new FabledFishingNet());
                        }
                        else
                        {
                            chest.DropItem(new SpecialFishingNet());
                        }

                        if (Utility.Random(500) == 0)
                        {
                            Item mask = new HornedTribalMask();
                            mask.Hue  = 2715;
                            mask.Name = "Mask of Cthulu";

                            chest.DropItem(mask);
                        }

                        switch (Utility.Random(300))
                        {
                        case 0:
                        {
                            Item rustedchest = new PlateChest();
                            rustedchest.Hue  = 2718;
                            rustedchest.Name = "a rusted platemail chest recovered from a shipwreck";

                            chest.DropItem(rustedchest);
                            break;
                        }

                        case 1:
                        {
                            Item rustedarms = new PlateArms();
                            rustedarms.Hue  = 2718;
                            rustedarms.Name = "rusted platemail arms recovered from a shipwreck";

                            chest.DropItem(rustedarms);
                            break;
                        }

                        case 2:
                        {
                            Item rustedlegs = new PlateLegs();
                            rustedlegs.Hue  = 2718;
                            rustedlegs.Name = "rusted platemail legguards recovered from a shipwreck";

                            chest.DropItem(rustedlegs);
                            break;
                        }

                        case 3:
                        {
                            Item rustedgloves = new PlateGloves();
                            rustedgloves.Hue  = 2718;
                            rustedgloves.Name = "rusted platemail gloves recovered from a shipwreck";

                            chest.DropItem(rustedgloves);
                            break;
                        }

                        case 4:
                        {
                            Item rustedgorget = new PlateGorget();
                            rustedgorget.Hue  = 2718;
                            rustedgorget.Name = "rusted platemail gorget recovered from a shipwreck";

                            chest.DropItem(rustedgorget);
                            break;
                        }

                        case 5:
                        {
                            Item rustedhelm = new PlateHelm();
                            rustedhelm.Hue  = 2718;
                            rustedhelm.Name = "a rusted platemail helmet recovered from a shipwreck";

                            chest.DropItem(rustedhelm);
                            break;
                        }
                        }

                        switch (Utility.Random(400))
                        {
                        case 0:
                        {
                            Item lamp = new LampPost1();
                            lamp.Name = "Britannia Head Light";
                            lamp.Hue  = 2601;

                            chest.DropItem(lamp);
                            break;
                        }

                        case 1:
                        {
                            Item lantern = new HangingLantern();
                            lantern.Name    = "Fog Lamp";
                            lantern.Hue     = 2601;
                            lantern.Movable = true;

                            chest.DropItem(lantern);
                            break;
                        }
                        }

                        chest.Movable   = true;
                        chest.Locked    = false;
                        chest.TrapType  = TrapType.None;
                        chest.TrapPower = 0;
                        chest.TrapLevel = 0;

                        sos.Completed = true;

                        BaseBoat ownerBoat = BaseBoat.FindBoatAt(from.Location, from.Map);

                        PlayerMobile player = from as PlayerMobile;

                        if (ownerBoat != null && player != null)
                        {
                            if (ownerBoat.IsFriend(player) || ownerBoat.IsOwner(player) || ownerBoat.IsCoOwner(player))
                            {
                                double doubloonValue = Utility.RandomMinMax(25, 50);

                                int finalDoubloonAmount = (int)doubloonValue;

                                bool shipOwner          = ownerBoat.IsOwner(player);
                                bool bankDoubloonsValid = false;
                                bool holdPlacementValid = false;

                                //Deposit Half In Player's Bank
                                if (Banker.DepositUniqueCurrency(player, typeof(Doubloon), finalDoubloonAmount))
                                {
                                    Doubloon doubloonPile = new Doubloon(finalDoubloonAmount);
                                    player.SendSound(doubloonPile.GetDropSound());
                                    doubloonPile.Delete();

                                    bankDoubloonsValid = true;
                                }

                                //Deposit Other Half in Ship
                                if (ownerBoat.DepositDoubloons(finalDoubloonAmount))
                                {
                                    Doubloon doubloonPile = new Doubloon(finalDoubloonAmount);
                                    player.SendSound(doubloonPile.GetDropSound());
                                    doubloonPile.Delete();

                                    holdPlacementValid = true;
                                }

                                if (shipOwner)
                                {
                                    player.PirateScore += finalDoubloonAmount;
                                    //ownerBoat.doubloonsEarned += finalDoubloonAmount * 2;

                                    if (bankDoubloonsValid && holdPlacementValid)
                                    {
                                        player.SendMessage("You've received " + (finalDoubloonAmount * 2).ToString() + " doubloons for completing a message in a bottle! They have been evenly split between your bank box and your ship's hold.");
                                    }

                                    else if (bankDoubloonsValid && !holdPlacementValid)
                                    {
                                        player.SendMessage("You've earned " + (finalDoubloonAmount * 2).ToString() + " doubloons, however there was not enough room to place all of them in your ship's hold.");
                                    }

                                    else if (!bankDoubloonsValid && holdPlacementValid)
                                    {
                                        player.SendMessage("You've earned " + (finalDoubloonAmount * 2).ToString() + " doubloons, however there was not enough room to place all of them in your bank box.");
                                    }
                                }

                                else
                                {
                                    //ownerBoat.doubloonsEarned += finalDoubloonAmount;
                                    player.PirateScore += finalDoubloonAmount;

                                    if (bankDoubloonsValid)
                                    {
                                        player.SendMessage("You've earned " + finalDoubloonAmount.ToString() + " doubloons for completing a message in a bottle! They have been placed in your bank box.");
                                    }

                                    else
                                    {
                                        player.SendMessage("You've earned doubloons, but there was not enough room to place all of them in your bank box.");
                                    }
                                }
                            }
                        }

                        return(chest);
                    }
                }
            }

            return(base.Construct(type, from, _i, _d, _b, _r));
        }
Esempio n. 26
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);
        }
Esempio n. 27
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);
        }