Esempio n. 1
0
        public override void InitOutfit()
        {
            AddItem(new BoneArms());
            AddItem(new BoneLegs());

            DeerMask mask = new DeerMask();

            AddItem(mask);
        }
Esempio n. 2
0
        public override void InitOutfit()
        {
            WipeLayers();

            AddItem(new BoneArms());
            AddItem(new BoneLegs());

            DeerMask mask = new DeerMask();

            mask.LootType = LootType.Newbied;
            AddItem(mask);
        }
Esempio n. 3
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. 4
0
            protected override void OnTarget(Mobile from, object targeted)
            {
                if (targeted is BearMask && from.Backpack != null)
                {
                    BearMask  ba        = targeted as BearMask;
                    Container pack      = from.Backpack;
                    int       toConsume = 0;

                    if (ba.HitPoints < ba.MaxHitPoints)
                    {
                        int nCost = 10;

                        if (BeggingPose(from) > 0)                           // LET US SEE IF THEY ARE BEGGING
                        {
                            nCost = nCost - (int)((from.Skills[SkillName.Begging].Value * 0.005) * nCost); if (nCost < 1)
                            {
                                nCost = 1;
                            }
                            toConsume = (ba.MaxHitPoints - ba.HitPoints - 1) * nCost;
                        }
                        else
                        {
                            toConsume = (ba.MaxHitPoints - ba.HitPoints - 1) * nCost;
                        }
                    }
                    else if (ba.HitPoints >= ba.MaxHitPoints)
                    {
                        m_Furtrader.SayTo(from, "That does not need to be repaired.");
                    }
                    else
                    {
                        m_Furtrader.SayTo(from, "I cannot repair that.");
                    }

                    if (toConsume == 0)
                    {
                        return;
                    }

                    if (pack.ConsumeTotal(typeof(Gold), toConsume))
                    {
                        if (BeggingPose(from) > 0)
                        {
                            Titles.AwardKarma(from, -BeggingKarma(from), true);
                        }                                                                                                               // DO ANY KARMA LOSS
                        m_Furtrader.SayTo(from, "Here is your bearskin cap.");
                        from.SendMessage(String.Format("You pay {0} gold.", toConsume));
                        Effects.PlaySound(from.Location, from.Map, 0x248);
                        ba.MaxHitPoints -= 1;
                        ba.HitPoints     = ba.MaxHitPoints;
                    }
                    else
                    {
                        m_Furtrader.SayTo(from, "It would cost you {0} gold to have that repaired.", toConsume);
                        from.SendMessage("You do not have enough gold.");
                    }
                }
                else if (targeted is DeerMask && from.Backpack != null)
                {
                    DeerMask  ba        = targeted as DeerMask;
                    Container pack      = from.Backpack;
                    int       toConsume = 0;

                    if (ba.HitPoints < ba.MaxHitPoints)
                    {
                        int nCost = 10;

                        if (BeggingPose(from) > 0)                           // LET US SEE IF THEY ARE BEGGING
                        {
                            nCost = nCost - (int)((from.Skills[SkillName.Begging].Value * 0.005) * nCost); if (nCost < 1)
                            {
                                nCost = 1;
                            }
                            toConsume = (ba.MaxHitPoints - ba.HitPoints) * nCost;
                        }
                        else
                        {
                            toConsume = (ba.MaxHitPoints - ba.HitPoints) * nCost;
                        }
                    }
                    else if (ba.HitPoints >= ba.MaxHitPoints)
                    {
                        m_Furtrader.SayTo(from, "That does not need to be repaired.");
                    }
                    else
                    {
                        m_Furtrader.SayTo(from, "I cannot repair that.");
                    }

                    if (toConsume == 0)
                    {
                        m_Furtrader.SayTo(from, "That is not really that damaged.");
                        return;
                    }

                    if (pack.ConsumeTotal(typeof(Gold), toConsume))
                    {
                        if (BeggingPose(from) > 0)
                        {
                            Titles.AwardKarma(from, -BeggingKarma(from), true);
                        }                                                                                                               // DO ANY KARMA LOSS
                        m_Furtrader.SayTo(from, "Here is your deerskin cap.");
                        from.SendMessage(String.Format("You pay {0} gold.", toConsume));
                        Effects.PlaySound(from.Location, from.Map, 0x248);
                        ba.MaxHitPoints -= 1;
                        ba.HitPoints     = ba.MaxHitPoints;
                    }
                    else
                    {
                        m_Furtrader.SayTo(from, "It would cost you {0} gold to have that repaired.", toConsume);
                        from.SendMessage("You do not have enough gold.");
                    }
                }
            }
Esempio n. 5
0
            protected override void OnTarget(Mobile from, object targeted)
            {
                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                if (targeted is UnidentifiedItem)
                {
                    Container        packs    = from.Backpack;
                    int              nCost    = 200;
                    UnidentifiedItem WhatIsIt = (UnidentifiedItem)targeted;

                    if (BeggingPose(from) > 0)                       // LET US SEE IF THEY ARE BEGGING - WIZARD
                    {
                        nCost = nCost - (int)((from.Skills[SkillName.Begging].Value * 0.005) * nCost); if (nCost < 1)
                        {
                            nCost = 1;
                        }
                    }
                    int toConsume = nCost;

                    if (WhatIsIt.VendorCanID != "Leatherworker")
                    {
                        m_Tanner.SayTo(from, "Sorry, I cannot tell what that is.");
                    }
                    else if (packs.ConsumeTotal(typeof(Gold), toConsume))
                    {
                        string      MyItemName = "item";
                        Container   pack       = (Container)targeted;
                        List <Item> items      = new List <Item>();
                        foreach (Item item in pack.Items)
                        {
                            items.Add(item);
                        }
                        foreach (Item item in items)
                        {
                            MyItemName = item.Name;
                            from.AddToBackpack(item);
                        }
                        if (MyItemName == "")
                        {
                            MyItemName = "item";
                        }
                        from.SendMessage(String.Format("You pay {0} gold.", toConsume));
                        m_Tanner.SayTo(from, "Let me tell you about this item...");
                        WhatIsIt.Delete();
                    }
                    else
                    {
                        m_Tanner.SayTo(from, "It would cost you {0} gold to have that identified.", toConsume);
                        from.SendMessage("You do not have enough gold.");
                    }
                }
                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                else if (targeted is BaseArmor && from.Backpack != null)
                {
                    BaseArmor ba        = targeted as BaseArmor;
                    Container pack      = from.Backpack;
                    int       toConsume = 0;

                    if (ba.HitPoints < ba.MaxHitPoints && Server.Misc.MaterialInfo.IsAnyKindOfClothItem(((Item)targeted)))
                    {
                        int nCost = 10;

                        if (BeggingPose(from) > 0)                           // LET US SEE IF THEY ARE BEGGING - WIZARD
                        {
                            nCost = nCost - (int)((from.Skills[SkillName.Begging].Value * 0.005) * nCost); if (nCost < 1)
                            {
                                nCost = 1;
                            }
                            toConsume = (ba.MaxHitPoints - ba.HitPoints - 1) * nCost;
                        }
                        else
                        {
                            toConsume = (ba.MaxHitPoints - ba.HitPoints - 1) * nCost;
                        }
                    }
                    else if (ba.HitPoints >= ba.MaxHitPoints && Server.Misc.MaterialInfo.IsAnyKindOfClothItem(((Item)targeted)))
                    {
                        m_Tanner.SayTo(from, "That does not need to be repaired.");
                    }
                    else
                    {
                        m_Tanner.SayTo(from, "I cannot repair that.");
                    }

                    if (toConsume == 0)
                    {
                        return;
                    }

                    if (pack.ConsumeTotal(typeof(Gold), toConsume))
                    {
                        if (BeggingPose(from) > 0)
                        {
                            Titles.AwardKarma(from, -BeggingKarma(from), true);
                        }                                                                                                               // DO ANY KARMA LOSS
                        m_Tanner.SayTo(from, "Here is your armor.");
                        from.SendMessage(String.Format("You pay {0} gold.", toConsume));
                        Effects.PlaySound(from.Location, from.Map, 0x248);
                        ba.MaxHitPoints -= 1;
                        ba.HitPoints     = ba.MaxHitPoints;
                    }
                    else
                    {
                        m_Tanner.SayTo(from, "It would cost you {0} gold to have that repaired.", toConsume);
                        from.SendMessage("You do not have enough gold.");
                    }
                }
                else if (targeted is BearMask && from.Backpack != null)
                {
                    BearMask  ba        = targeted as BearMask;
                    Container pack      = from.Backpack;
                    int       toConsume = 0;

                    if (ba.HitPoints < ba.MaxHitPoints)
                    {
                        toConsume = (ba.MaxHitPoints - ba.HitPoints) * 10;
                    }
                    else if (ba.HitPoints >= ba.MaxHitPoints)
                    {
                        m_Tanner.SayTo(from, "That does not need to be repaired.");
                    }
                    else
                    {
                        m_Tanner.SayTo(from, "I cannot repair that.");
                    }

                    if (toConsume == 0)
                    {
                        return;
                    }

                    if (pack.ConsumeTotal(typeof(Gold), toConsume))
                    {
                        if (BeggingPose(from) > 0)
                        {
                            Titles.AwardKarma(from, -BeggingKarma(from), true);
                        }                                                                                                               // DO ANY KARMA LOSS
                        m_Tanner.SayTo(from, "Here is your bearskin cap.");
                        from.SendMessage(String.Format("You pay {0} gold.", toConsume));
                        Effects.PlaySound(from.Location, from.Map, 0x248);
                        ba.MaxHitPoints -= 1;
                        ba.HitPoints     = ba.MaxHitPoints;
                    }
                    else
                    {
                        m_Tanner.SayTo(from, "It would cost you {0} gold to have that repaired.", toConsume);
                        from.SendMessage("You do not have enough gold.");
                    }
                }
                else if (targeted is DeerMask && from.Backpack != null)
                {
                    DeerMask  ba        = targeted as DeerMask;
                    Container pack      = from.Backpack;
                    int       toConsume = 0;

                    if (ba.HitPoints < ba.MaxHitPoints)
                    {
                        toConsume = (ba.MaxHitPoints - ba.HitPoints) * 10;
                    }
                    else if (ba.HitPoints >= ba.MaxHitPoints)
                    {
                        m_Tanner.SayTo(from, "That does not need to be repaired.");
                    }
                    else
                    {
                        m_Tanner.SayTo(from, "I cannot repair that.");
                    }

                    if (toConsume == 0)
                    {
                        return;
                    }

                    if (pack.ConsumeTotal(typeof(Gold), toConsume))
                    {
                        if (BeggingPose(from) > 0)
                        {
                            Titles.AwardKarma(from, -BeggingKarma(from), true);
                        }                                                                                                               // DO ANY KARMA LOSS
                        m_Tanner.SayTo(from, "Here is your deerskin cap.");
                        from.SendMessage(String.Format("You pay {0} gold.", toConsume));
                        Effects.PlaySound(from.Location, from.Map, 0x248);
                        ba.MaxHitPoints -= 1;
                        ba.HitPoints     = ba.MaxHitPoints;
                    }
                    else
                    {
                        m_Tanner.SayTo(from, "It would cost you {0} gold to have that repaired.", toConsume);
                        from.SendMessage("You do not have enough gold.");
                    }
                }
                else if ((targeted is BaseWeapon && from.Backpack != null) && (targeted is GiftThrowingGloves || targeted is GiftPugilistGloves || targeted is LevelThrowingGloves || targeted is LevelPugilistGloves || targeted is ThrowingGloves || targeted is PugilistGlove || targeted is PugilistGloves || targeted is PugilistMits))
                {
                    BaseWeapon ba        = targeted as BaseWeapon;
                    Container  pack      = from.Backpack;
                    int        toConsume = 0;

                    if (ba.HitPoints < ba.MaxHitPoints)
                    {
                        toConsume = (ba.MaxHitPoints - ba.HitPoints) * 10;
                    }
                    else
                    {
                        m_Tanner.SayTo(from, "That does not need to be repaired.");
                    }

                    if (toConsume == 0)
                    {
                        return;
                    }

                    if (pack.ConsumeTotal(typeof(Gold), toConsume))
                    {
                        if (BeggingPose(from) > 0)
                        {
                            Titles.AwardKarma(from, -BeggingKarma(from), true);
                        }                                                                                                               // DO ANY KARMA LOSS
                        m_Tanner.SayTo(from, "Here are your gloves.");
                        from.SendMessage(String.Format("You pay {0} gold.", toConsume));
                        Effects.PlaySound(from.Location, from.Map, 0x248);
                        ba.MaxHitPoints -= 1;
                        ba.HitPoints     = ba.MaxHitPoints;
                    }
                    else
                    {
                        m_Tanner.SayTo(from, "It would cost you {0} gold to have that repaired.", toConsume);
                        from.SendMessage("You do not have enough gold.");
                    }
                }
            }
        public CaptainBlackheart() : base(AIType.AI_Mage, FightMode.Weakest, 10, 1, 0.2, 0.4)
        {
            Name        = "Captain Blackheart";
            Title       = "Of the Burning Legion";
            Hue         = Utility.RandomSkinHue();
            Body        = 400;
            SpeechHue   = 1161;
            BaseSoundID = 0;
            Team        = 0;

            SetStr(325, 455);
            SetDex(100, 120);
            SetInt(500, 550);

            SetHits(325, 455);
            SetMana(500, 550);

            SetDamage(10, 30);

            SetDamageType(ResistanceType.Physical, 80);
            SetDamageType(ResistanceType.Energy, 20);

            SetResistance(ResistanceType.Physical, 50, 55);
            SetResistance(ResistanceType.Cold, 40, 45);
            SetResistance(ResistanceType.Poison, 40, 45);
            SetResistance(ResistanceType.Energy, 20, 25);

            SetSkill(SkillName.Wrestling, 100.2, 100.6);
            SetSkill(SkillName.Tactics, 100.7, 100.4);
            SetSkill(SkillName.Anatomy, 100.5, 100.3);
            SetSkill(SkillName.MagicResist, 120.4, 120.7);
            SetSkill(SkillName.Magery, 120.4, 120.7);
            SetSkill(SkillName.Swords, 140.4, 140.7);
            SetSkill(SkillName.EvalInt, 150.4, 150.7);

            Fame  = 6300;
            Karma = -10000;

            VirtualArmor = 45;

            Item PaladinSword = new PaladinSword();

            PaladinSword.Movable = false;
            PaladinSword.Hue     = 1150;
            EquipItem(PaladinSword);

            Item PlateLegs = new PlateLegs();

            PlateLegs.Movable = false;
            PlateLegs.Hue     = 1109;
            EquipItem(PlateLegs);

            Item PlateChest = new PlateChest();

            PlateChest.Movable = false;
            PlateChest.Hue     = 1109;
            EquipItem(PlateChest);

            Item PlateGloves = new PlateGloves();

            PlateGloves.Movable = false;
            PlateGloves.Hue     = 1109;
            EquipItem(PlateGloves);

            Item BoneHelm = new BoneHelm();

            BoneHelm.Movable = false;
            BoneHelm.Hue     = 1150;
            BoneHelm.Layer   = Layer.Earrings;
            EquipItem(BoneHelm);

            Item DeerMask = new DeerMask();

            DeerMask.Movable = false;
            DeerMask.Hue     = 1109;
            EquipItem(DeerMask);

            Item PlateGorget = new PlateGorget();

            PlateGorget.Movable = false;
            PlateGorget.Hue     = 1109;
            EquipItem(PlateGorget);

            Item PlateArms = new PlateArms();

            PlateArms.Movable = false;
            PlateArms.Hue     = 1109;
            EquipItem(PlateArms);

            Item hair = new Item(0x203c);

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