Ejemplo n.º 1
0
        public override void InitOutfit()
        {
            BearMask head = new BearMask();

            head.Hue = 347;
            AddItem(head);
            Tunic chest = new Tunic();

            chest.Hue = 347;
            AddItem(chest);
            LongPants leg = new LongPants();

            leg.Hue = 347;
            AddItem(leg);
            ThighBoots feet = new ThighBoots();

            feet.Hue = 347;
            AddItem(feet);
        }
Ejemplo n.º 2
0
        public override void InitOutfit()
        {
            WipeLayers();
            AddItem(new BoneArms());
            AddItem(new BoneLegs());

            BearMask mask = new BearMask();

            mask.LootType = LootType.Newbied;
            AddItem(mask);

            TribalSpear spear = new TribalSpear();

            if (Utility.RandomDouble() <= 0.10)
            {
                spear.LootType = LootType.Regular;
            }
            else
            {
                spear.LootType = LootType.Newbied;
            }
            AddItem(spear);
        }
Ejemplo 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);
        }
Ejemplo n.º 4
0
        public MugdarWarchief() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name        = NameList.RandomName("orc");
            Body        = 0x190;
            BaseSoundID = 0x45A;
            Title       = "the Mugdar Clan War Chieftain";
            Hue         = Utility.RandomMinMax(2207, 2212);

            SetStr(96, 120);
            SetDex(450, 500);
            SetInt(36, 60);

            SetHits(1000, 1200);

            SetDamage(5, 7);

            SetDamageType(ResistanceType.Physical, 100);

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

            SetSkill(SkillName.MagicResist, 50.1, 75.0);
            SetSkill(SkillName.Tactics, 55.1, 80.0);
            SetSkill(SkillName.Wrestling, 50.1, 70.0);

            Fame  = 0;
            Karma = 0;

            VirtualArmor = 28;

            BearMask helm = new BearMask();

            helm.Hue = 0;
            AddItem(helm);

            Club club = new Club();

            club.Hue = 0;
            AddItem(club);

            BoneLegs bonelegs = new BoneLegs();

            bonelegs.Hue = 0;
            AddItem(bonelegs);

            BoneChest bonechest = new BoneChest();

            bonechest.Hue = 0;
            AddItem(bonechest);

            BoneArms bonearms = new BoneArms();

            bonearms.Hue = 0;
            AddItem(bonearms);

            BoneGloves bonegloves = new BoneGloves();

            bonegloves.Hue = 0;
            AddItem(bonegloves);

            Sandals sandals = new Sandals();

            sandals.Hue = 0;
            AddItem(sandals);

            WoodenShield woodenshield = new WoodenShield();

            woodenshield.Hue = 0;
            AddItem(woodenshield);
        }
Ejemplo n.º 5
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.");
                    }
                }
            }
Ejemplo n.º 6
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.");
                    }
                }
            }
Ejemplo n.º 7
0
        public NativeWitchDoctor() : base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name = "a tribesman witch doctor";
            Hue  = 743;

            if (this.Female = Utility.RandomBool())
            {
                Body = 0x191;
                Item cloth9 = new FemaleLeatherChest();
                cloth9.Hue  = 773;
                cloth9.Name = "Native Tunic";
                AddItem(cloth9);
            }
            else
            {
                Body = 0x190;
            }

            HairHue = 0x96C;

            SetStr(146, 165);
            SetDex(71, 130);
            SetInt(181, 205);

            SetDamage(8, 16);

            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 30, 40);
            SetResistance(ResistanceType.Fire, 20, 30);
            SetResistance(ResistanceType.Cold, 20, 30);
            SetResistance(ResistanceType.Poison, 20, 30);
            SetResistance(ResistanceType.Energy, 40, 50);

            SetSkill(SkillName.EvalInt, 77.5, 100.0);
            SetSkill(SkillName.Fencing, 62.5, 85.0);
            SetSkill(SkillName.Macing, 62.5, 85.0);
            SetSkill(SkillName.Magery, 72.5, 95.0);
            SetSkill(SkillName.Meditation, 77.5, 100.0);
            SetSkill(SkillName.MagicResist, 77.5, 100.0);
            SetSkill(SkillName.Swords, 62.5, 85.0);
            SetSkill(SkillName.Tactics, 62.5, 85.0);
            SetSkill(SkillName.Wrestling, 62.5, 85.0);

            Fame         = 1200;
            Karma        = -1200;
            VirtualArmor = 10;

            PackReg(10, 15);
            PackItem(new Bandage(Utility.RandomMinMax(1, 15)));

            AddItem(new WildStaff());

            Item cloth1 = new BoneArms();

            cloth1.Hue  = 773;
            cloth1.Name = "Native Guantlets";
            AddItem(cloth1);
            Item cloth2 = new BoneLegs();

            cloth2.Hue  = 773;
            cloth2.Name = "Native Leggings";
            AddItem(cloth2);
            Item cloth3 = new BearMask();

            cloth3.Hue  = 932;
            cloth3.Name = "Native Tribal Mask";
            AddItem(cloth3);
            Item cloth4 = new LeatherSkirt();

            cloth4.Hue   = 773;
            cloth4.Name  = "Native Skirt";
            cloth4.Layer = Layer.Waist;
            AddItem(cloth4);
        }