コード例 #1
0
ファイル: OilOnyx.cs プロジェクト: slawdis/uoodyssey-scripts
            protected override void OnTarget(Mobile from, object targeted)
            {
                Item iOil = targeted as Item;

                if (from.Backpack.FindItemByType(typeof(OilCloth)) == null)
                {
                    from.SendMessage("You need an oil cloth to apply this.");
                }
                else if (iOil is BaseWeapon)
                {
                    BaseWeapon xOil = (BaseWeapon)iOil;

                    if (!iOil.IsChildOf(from.Backpack))
                    {
                        from.SendMessage("You can only use this oil on items in your pack.");
                    }
                    else if (iOil.IsChildOf(from.Backpack) && Server.Misc.MaterialInfo.IsMetalItem(iOil))
                    {
                        xOil.Resource = CraftResource.None;
                        MorphingItem.MorphMyItem(iOil, "IGNORED", "Onyx", "IGNORED", MorphingTemplates.TemplateOnyx("weapons"));
                        from.RevealingAction();
                        from.PlaySound(0x23E);
                        from.AddToBackpack(new Bottle());
                        m_Oil.Consume();
                        from.Backpack.FindItemByType(typeof(OilCloth)).Delete();
                    }
                    else
                    {
                        from.SendMessage("You cannot rub this oil on that.");
                    }
                }
                else if (iOil is BaseArmor)
                {
                    BaseArmor xOil = (BaseArmor)iOil;

                    if (!iOil.IsChildOf(from.Backpack))
                    {
                        from.SendMessage("You can only use this oil on items in your pack.");
                    }
                    else if (iOil.IsChildOf(from.Backpack) && Server.Misc.MaterialInfo.IsMetalItem(iOil))
                    {
                        xOil.Resource = CraftResource.None;
                        MorphingItem.MorphMyItem(iOil, "IGNORED", "Onyx", "IGNORED", MorphingTemplates.TemplateOnyx("armors"));
                        from.RevealingAction();
                        from.PlaySound(0x23E);
                        from.AddToBackpack(new Bottle());
                        m_Oil.Consume();
                        from.Backpack.FindItemByType(typeof(OilCloth)).Delete();
                    }
                    else
                    {
                        from.SendMessage("You cannot rub this oil on that.");
                    }
                }
                else
                {
                    from.SendMessage("You cannot rub this oil on that.");
                }
            }
コード例 #2
0
 public GarnetPlateLegs()
 {
     Name = "Garnet Leggings";
     Hue  = Server.Misc.MaterialInfo.GetMaterialColor("garnet", "", 0);
     MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateGarnet("armors"));
 }
コード例 #3
0
        public override void OnDeath(Container c)
        {
            base.OnDeath(c);

            Mobile killer = this.LastKiller;

            if (killer != null)
            {
                if (killer is BaseCreature)
                {
                    killer = ((BaseCreature)killer).GetMaster();
                }

                if (killer is PlayerMobile)
                {
                    if (GetPlayerInfo.LuckyKiller(killer.Luck) && Utility.RandomMinMax(1, 4) == 1)
                    {
                        switch (Utility.RandomMinMax(0, 8))
                        {
                        case 0: Item loot1 = new PlateChest(); loot1.Name = "tunic"; MorphingItem.MorphMyItem(loot1, "IGNORED", "Grundul Varg's", "IGNORED", MorphingTemplates.TemplateGrundulVarg("armors")); c.DropItem(loot1); break;

                        case 1: Item loot2 = new PlateArms(); loot2.Name = "arms"; MorphingItem.MorphMyItem(loot2, "IGNORED", "Grundul Varg's", "IGNORED", MorphingTemplates.TemplateGrundulVarg("armors")); c.DropItem(loot2); break;

                        case 2: Item loot3 = new PlateLegs(); loot3.Name = "leggings"; MorphingItem.MorphMyItem(loot3, "IGNORED", "Grundul Varg's", "IGNORED", MorphingTemplates.TemplateGrundulVarg("armors")); c.DropItem(loot3); break;

                        case 3: Item loot4 = new PlateGorget(); loot4.Name = "gorget"; MorphingItem.MorphMyItem(loot4, "IGNORED", "Grundul Varg's", "IGNORED", MorphingTemplates.TemplateGrundulVarg("armors")); c.DropItem(loot4); break;

                        case 4: Item loot5 = new PlateGloves(); loot5.Name = "guantlets"; MorphingItem.MorphMyItem(loot5, "IGNORED", "Grundul Varg's", "IGNORED", MorphingTemplates.TemplateGrundulVarg("armors")); c.DropItem(loot5); break;

                        case 5: Item loot6 = new OrcHelm(); loot6.Name = "helm"; MorphingItem.MorphMyItem(loot6, "IGNORED", "Grundul Varg's", "IGNORED", MorphingTemplates.TemplateGrundulVarg("armors")); c.DropItem(loot6); break;

                        case 6: Item loot7 = new RoyalSword(); loot7.Name = "sword"; MorphingItem.MorphMyItem(loot7, "IGNORED", "Grundul Varg's", "IGNORED", MorphingTemplates.TemplateGrundulVarg("weapons")); c.DropItem(loot7); break;

                        case 7: Item loot8 = new ChaosShield(); loot8.Name = "shield"; MorphingItem.MorphMyItem(loot8, "IGNORED", "Grundul Varg's", "IGNORED", MorphingTemplates.TemplateGrundulVarg("armors")); c.DropItem(loot8); break;

                        case 8: Item loot9 = Loot.RandomJewelry(); MorphingItem.MorphMyItem(loot9, "IGNORED", "Grundul Varg's", "IGNORED", MorphingTemplates.TemplateGrundulVarg("misc")); c.DropItem(loot9); break;
                        }
                    }
                }
            }
        }
コード例 #4
0
        public BlackKnight() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Body = 0x190;

            SpeechHue = Utility.RandomDyedHue();
            Hue       = Utility.RandomSkinHue();

            Name = NameList.RandomName("male");
            Utility.AssignRandomHair(this);
            int HairColor = Utility.RandomHairHue();

            FacialHairItemID = Utility.RandomList(0, 8254, 8255, 8256, 8257, 8267, 8268, 8269);
            HairHue          = HairColor;
            FacialHairHue    = HairColor;
            Title            = "the Black Knight";

            SetStr(230);
            SetDex(150);
            SetInt(120);

            SetHits(230);

            SetDamage(12, 23);

            SetDamageType(ResistanceType.Physical, 100);

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

            SetSkill(SkillName.DetectHidden, 80.0);
            SetSkill(SkillName.Anatomy, 110.0);
            SetSkill(SkillName.MagicResist, 80.0);
            SetSkill(SkillName.Macing, 110.0);
            SetSkill(SkillName.Fencing, 110.0);
            SetSkill(SkillName.Wrestling, 110.0);
            SetSkill(SkillName.Swords, 110.0);
            SetSkill(SkillName.Tactics, 110.0);

            Fame  = 7000;
            Karma = -7000;

            VirtualArmor = 30;

            PlateChest  bk_chest  = new PlateChest(); AddItem(bk_chest);
            PlateArms   bk_arms   = new PlateArms(); AddItem(bk_arms);
            PlateLegs   bk_legs   = new PlateLegs(); AddItem(bk_legs);
            PlateGorget bk_gorget = new PlateGorget(); AddItem(bk_gorget);
            PlateGloves bk_gloves = new PlateGloves(); AddItem(bk_gloves);
            PlateHelm   bk_helm   = new PlateHelm(); AddItem(bk_helm);
            VikingSword bk_sword  = new VikingSword(); AddItem(bk_sword);
            ChaosShield bk_shield = new ChaosShield(); AddItem(bk_shield);

            AddItem(new Boots( ));

            if (90 < Utility.Random(100))
            {
                switch (Utility.RandomMinMax(0, 7))
                {
                case 0: MorphingItem.MorphMyItem(bk_chest, "Black Knight", "IGNORED", "IGNORED", MorphingTemplates.TemplateBlackKnight("armors")); break;

                case 1: MorphingItem.MorphMyItem(bk_arms, "Black Knight", "IGNORED", "IGNORED", MorphingTemplates.TemplateBlackKnight("armors")); break;

                case 2: MorphingItem.MorphMyItem(bk_legs, "Black Knight", "IGNORED", "IGNORED", MorphingTemplates.TemplateBlackKnight("armors")); break;

                case 3: MorphingItem.MorphMyItem(bk_gorget, "Black Knight", "IGNORED", "IGNORED", MorphingTemplates.TemplateBlackKnight("armors")); break;

                case 4: MorphingItem.MorphMyItem(bk_gloves, "Black Knight", "IGNORED", "IGNORED", MorphingTemplates.TemplateBlackKnight("armors")); break;

                case 5: MorphingItem.MorphMyItem(bk_helm, "Black Knight", "IGNORED", "IGNORED", MorphingTemplates.TemplateBlackKnight("armors")); break;

                case 6: MorphingItem.MorphMyItem(bk_sword, "Black Knight", "IGNORED", "IGNORED", MorphingTemplates.TemplateBlackKnight("weapons")); break;

                case 7: MorphingItem.MorphMyItem(bk_shield, "Black Knight", "IGNORED", "IGNORED", MorphingTemplates.TemplateBlackKnight("armors")); break;
                }
            }

            MorphingTime.ColorMyClothes(this, 0x497);
        }
コード例 #5
0
 public JadePlateLegs()
 {
     Name = "Jade Leggings";
     Hue  = Server.Misc.MaterialInfo.GetMaterialColor("jade", "", 0);
     MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateJade("armors"));
 }
コード例 #6
0
        public LostKnight() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name        = NameList.RandomName("barb_male");
            Title       = "the lost knight";
            BaseSoundID = 412;
            Hue         = 1;
            Body        = 0x190;

            SetStr(386, 400);
            SetDex(151, 165);
            SetInt(161, 175);

            SetHits(200, 300);

            SetDamage(8, 10);

            SetDamageType(ResistanceType.Physical, 100);

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

            SetSkill(SkillName.DetectHidden, 100.0);
            SetSkill(SkillName.Anatomy, 125.0);
            SetSkill(SkillName.Poisoning, 60.0, 82.5);
            SetSkill(SkillName.MagicResist, 83.5, 92.5);
            SetSkill(SkillName.Swords, 125.0);
            SetSkill(SkillName.Tactics, 125.0);

            Fame  = 10000;
            Karma = -10000;

            VirtualArmor = 20;

            Item armor1 = new PlateChest();

            AddItem(armor1);
            Item armor2 = new PlateArms();

            AddItem(armor2);
            Item armor3 = new PlateLegs();

            AddItem(armor3);
            Item armor4 = new PlateGorget();

            AddItem(armor4);
            Item armor5 = new PlateGloves();

            AddItem(armor5);
            Item armor6 = new PlateHelm();

            AddItem(armor6);
            Item armor7 = new Longsword();

            AddItem(armor7);
            Item armor8 = new OrderShield();

            AddItem(armor8);

            MorphingTime.BlessMyClothes(this);
            MorphingTime.ColorMyClothes(this, 0x47E);

            if (1 == Utility.RandomMinMax(0, 2))
            {
                switch (Utility.RandomMinMax(0, 7))
                {
                case 0: armor1.LootType = LootType.Regular; MorphingItem.MorphMyItem(armor1, "IGNORED", "Spectral", "IGNORED", MorphingTemplates.TemplateLostKnight("armors")); break;

                case 1: armor2.LootType = LootType.Regular; MorphingItem.MorphMyItem(armor2, "IGNORED", "Spectral", "IGNORED", MorphingTemplates.TemplateLostKnight("armors")); break;

                case 2: armor3.LootType = LootType.Regular; MorphingItem.MorphMyItem(armor3, "IGNORED", "Spectral", "IGNORED", MorphingTemplates.TemplateLostKnight("armors")); break;

                case 3: armor4.LootType = LootType.Regular; MorphingItem.MorphMyItem(armor4, "IGNORED", "Spectral", "IGNORED", MorphingTemplates.TemplateLostKnight("armors")); break;

                case 4: armor5.LootType = LootType.Regular; MorphingItem.MorphMyItem(armor5, "IGNORED", "Spectral", "IGNORED", MorphingTemplates.TemplateLostKnight("armors")); break;

                case 5: armor6.LootType = LootType.Regular; MorphingItem.MorphMyItem(armor6, "IGNORED", "Spectral", "IGNORED", MorphingTemplates.TemplateLostKnight("armors")); break;

                case 6: armor7.LootType = LootType.Regular; MorphingItem.MorphMyItem(armor7, "IGNORED", "Spectral", "IGNORED", MorphingTemplates.TemplateLostKnight("weapons")); break;

                case 7: armor8.LootType = LootType.Regular; MorphingItem.MorphMyItem(armor8, "IGNORED", "Spectral", "IGNORED", MorphingTemplates.TemplateLostKnight("armors")); break;
                }
            }

            AddItem(new LightSource());
        }
コード例 #7
0
 public TopazFemalePlateChest()
 {
     Name = "Topaz Female Tunic";
     Hue  = Server.Misc.MaterialInfo.GetMaterialColor("topaz", "", 0);
     MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateTopaz("armors"));
 }
コード例 #8
0
 public SapphirePlateArms()
 {
     Name = "Sapphire Arms";
     Hue  = Server.Misc.MaterialInfo.GetMaterialColor("sapphire", "", 0);
     MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateSapphire("armors"));
 }
コード例 #9
0
 public AmethystPlateLegs()
 {
     Name = "Amethyst Leggings";
     Hue  = Server.Misc.MaterialInfo.GetMaterialColor("amethyst", "", 0);
     MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateAmethyst("armors"));
 }
コード例 #10
0
 public AmethystFemalePlateChest()
 {
     Name = "Amethyst Female Tunic";
     Hue  = Server.Misc.MaterialInfo.GetMaterialColor("amethyst", "", 0);
     MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateAmethyst("armors"));
 }
コード例 #11
0
 public SilverPlateGorget()
 {
     Name = "Silver Gorget";
     Hue  = Server.Misc.MaterialInfo.GetMaterialColor("silver", "", 0);
     MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateSilver("armors"));
 }
コード例 #12
0
ファイル: IceArmor.cs プロジェクト: slawdis/uoodyssey-scripts
 public IcePlateGorget()
 {
     Name = "Ice Gorget";
     Hue  = Server.Misc.MaterialInfo.GetMaterialColor("ice", "", 0);
     MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateIce("armors"));
 }
コード例 #13
0
 public QuartzPlateArms()
 {
     Name = "Quartz Arms";
     Hue  = Server.Misc.MaterialInfo.GetMaterialColor("quartz", "", 0);
     MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateQuartz("armors"));
 }
コード例 #14
0
 public StarRubyPlateArms()
 {
     Name = "Star Ruby Arms";
     Hue  = Server.Misc.MaterialInfo.GetMaterialColor("star ruby", "", 0);
     MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateStarRuby("armors"));
 }
コード例 #15
0
        public static void DropSpecialItem(Mobile from, Mobile killer, Container c)
        {
            BaseCreature bc = (BaseCreature)from;

            if (killer != null && c != null && !bc.IsStabled && !bc.Controlled && !bc.IsBonded)
            {
                if (killer is BaseCreature)
                {
                    killer = ((BaseCreature)killer).GetMaster();
                }

                if (killer is PlayerMobile)
                {
                    Region reg = Region.Find(from.Location, from.Map);

                    if (Server.Misc.Worlds.IsOnSpaceship(from.Location, from.Map))
                    {
                        int fameCycle = (int)(from.Fame / 2400);
                        if (fameCycle > 10)
                        {
                            fameCycle = 10;
                        }
                        if (fameCycle < 1)
                        {
                            fameCycle = 1;
                        }
                        fameCycle = Utility.RandomMinMax(0, fameCycle);
                        while (fameCycle > 0)
                        {
                            fameCycle--;
                            c.DropItem(DungeonLoot.RandomSpaceBag());
                        }
                    }

                    if (GetPlayerInfo.LuckyKiller(killer.Luck) && Utility.RandomMinMax(1, 20) == 1)
                    {
                        int stuffedHue = 1;

                        if (from is ElderBrownBear)
                        {
                            stuffedHue = 0x840;
                        }
                        else if (from is SabretoothBear)
                        {
                            stuffedHue = 0x840;
                        }
                        else if (from is ElderPolarBear)
                        {
                            stuffedHue = 0;
                        }
                        else if (from is ElderBlackBear)
                        {
                            stuffedHue = 0x497;
                        }
                        else if (from is CaveBear)
                        {
                            stuffedHue = 0x6DE;
                        }

                        if (stuffedHue != 1)
                        {
                            StuffedBear trophy = new StuffedBear();
                            trophy.Hue         = stuffedHue;
                            trophy.Name        = "stuffed trophy of " + from.Name;
                            trophy.AnimalWhere = "From " + Server.Misc.Worlds.GetRegionName(from.Map, from.Location);
                            string trophyKiller = killer.Name + " the " + Server.Misc.GetPlayerInfo.GetSkillTitle(killer);
                            trophy.AnimalKiller = "Killed by " + trophyKiller;
                            c.DropItem(trophy);
                        }
                    }

                    if (from is ServiceDroid || from is BattleDroid || from is SecurityDroid || from is MaintenanceDroid || from is ExcavationDroid || from is CombatDroid)
                    {
                        if (Utility.RandomMinMax(1, 300) < (from.Fame / 100))
                        {
                            c.DropItem(new RobotSheetMetal(Utility.RandomMinMax(4, 10)));
                        }
                        if (Utility.RandomMinMax(1, 300) < (from.Fame / 100))
                        {
                            c.DropItem(new RobotBatteries());
                        }
                        if (Utility.RandomMinMax(1, 300) < (from.Fame / 100))
                        {
                            c.DropItem(new RobotEngineParts());
                        }
                        if (Utility.RandomMinMax(1, 300) < (from.Fame / 100))
                        {
                            c.DropItem(new RobotCircuitBoard());
                        }
                        if (Utility.RandomMinMax(1, 300) < (from.Fame / 100))
                        {
                            c.DropItem(new RobotTransistor());
                        }
                        if (Utility.RandomMinMax(1, 300) < (from.Fame / 100))
                        {
                            c.DropItem(new RobotBolt(Utility.RandomMinMax(1, 4)));
                        }
                        if (Utility.RandomMinMax(1, 300) < (from.Fame / 100))
                        {
                            c.DropItem(new RobotGears(Utility.RandomMinMax(1, 4)));
                        }
                        if (Utility.RandomMinMax(1, 300) < (from.Fame / 100))
                        {
                            c.DropItem(new RobotOil(Utility.RandomMinMax(1, 2)));
                        }
                    }

                    if (GetPlayerInfo.LuckyKiller(killer.Luck) && Utility.RandomMinMax(0, 100) > 95)
                    {
                        int min   = (int)(from.Fame / 200);
                        int max   = (int)(from.Fame / 100);
                        int props = (int)(from.Fame / 1500) + Utility.RandomMinMax(0, (int)(from.Fame / 2000));

                        int    item  = 0;
                        int    color = 0;
                        string name  = "trinket";

                        if (from is Cyclops)
                        {
                            item = 0x2C86;          name = "eye of " + from.Name + " " + from.Title;
                        }
                        else if (from is ShamanicCyclops)
                        {
                            item = 0x2C86;          name = "eye of " + from.Name + " " + from.Title;
                        }
                        else if (from is Beholder)
                        {
                            item = 0x2C9A;          name = "eye of " + from.Name + " " + from.Title;
                        }
                        else if (from is Gazer)
                        {
                            item = 0x2C9A;          name = "eye of " + from.Name + " " + from.Title;
                        }
                        else if (from is ElderGazer)
                        {
                            item = 0x2C9A;          name = "eye of " + from.Name + " " + from.Title;
                        }
                        else if (from is Lich || from is Vordo || from is LichLord || from is DemiLich || from is AncientLich || from is Surtaz || from is LichKing || from is UndeadDruid)
                        {
                            if (from.Backpack.FindItemByType(typeof(EvilSkull)) == null)
                            {
                                item = 0x2C95;          name = "skull of " + from.Name + " " + from.Title;
                            }
                        }

                        if (item > 0)
                        {
                            BaseJewel trinket = new MagicTalisman();
                            BaseRunicTool.ApplyAttributesTo(trinket, false, killer.Luck, props, min, max);
                            trinket.Hue    = color;
                            trinket.ItemID = item;
                            trinket.Name   = name;
                            c.DropItem(trinket);
                        }
                    }

                    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                    if (GetPlayerInfo.LuckyKiller(killer.Luck) && Utility.RandomMinMax(0, 100) > 90 && from.Skills[SkillName.Inscribe].Base >= 20 && from.Skills[SkillName.Magery].Base >= 20)
                    {
                        SlayerEntry wizardkiller = SlayerGroup.GetEntryByName(SlayerName.WizardSlayer);
                        if (wizardkiller.Slays(from))
                        {
                            c.DropItem(new TomeOfWands());
                        }
                    }

                    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                    if (reg.IsPartOf("the Tower of Brass"))
                    {
                        int BrassFame = (int)(from.Fame / 1000);
                        BrassFame = 100 - BrassFame;

                        if (from is FireGiant && Utility.RandomMinMax(1, 100) >= BrassFame)
                        {
                            if (Utility.RandomMinMax(1, 2) == 1)
                            {
                                BaseArmor drop = Loot.RandomArmorOrShield();

                                if (drop.Resource == CraftResource.Iron)
                                {
                                    drop.Resource = CraftResource.Brass;
                                    c.DropItem(drop);
                                }
                                else
                                {
                                    drop.Delete();
                                }
                            }
                            else
                            {
                                BaseWeapon drop = Loot.RandomWeapon();

                                if (drop.Resource == CraftResource.Iron)
                                {
                                    drop.Resource = CraftResource.Brass;
                                    c.DropItem(drop);
                                }
                                else
                                {
                                    drop.Delete();
                                }
                            }
                        }
                        if (from is BloodDemon && Utility.RandomMinMax(1, 100) >= BrassFame)
                        {
                            if (Utility.RandomMinMax(1, 2) == 1)
                            {
                                BaseArmor drop = Loot.RandomArmorOrShield();

                                if (drop.Resource == CraftResource.Iron)
                                {
                                    MorphingItem.MorphMyItem(drop, "IGNORED", "brass", "IGNORED", MorphingTemplates.TemplateIceDemon("armors"));
                                    c.DropItem(drop);
                                }
                                else
                                {
                                    drop.Delete();
                                }
                            }
                            else
                            {
                                BaseWeapon drop = Loot.RandomWeapon();

                                if (drop.Resource == CraftResource.Iron)
                                {
                                    MorphingItem.MorphMyItem(drop, "IGNORED", "brass", "IGNORED", MorphingTemplates.TemplateIceDemon("weapons"));
                                    c.DropItem(drop);
                                }
                                else
                                {
                                    drop.Delete();
                                }
                            }
                        }
                    }

                    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                    if (reg.IsPartOf("the Ancient Elven Mine"))
                    {
                        if (from is ShamanicCyclops && Utility.RandomMinMax(1, 10) >= 9)
                        {
                            if (Utility.RandomMinMax(1, 2) == 1)
                            {
                                BaseArmor drop = Loot.RandomArmorOrShield();

                                if (drop.Resource == CraftResource.Iron)
                                {
                                    MorphingItem.MorphMyItem(drop, "IGNORED", "silver", "IGNORED", MorphingTemplates.TemplateSilver("armors"));
                                    c.DropItem(drop);
                                }
                                else
                                {
                                    drop.Delete();
                                }
                            }
                            else
                            {
                                BaseWeapon drop = Loot.RandomWeapon();

                                if (drop.Resource == CraftResource.Iron)
                                {
                                    MorphingItem.MorphMyItem(drop, "IGNORED", "silver", "IGNORED", MorphingTemplates.TemplateSilver("weapons"));
                                    c.DropItem(drop);
                                }
                                else
                                {
                                    drop.Delete();
                                }
                            }
                        }
                        if (Utility.RandomMinMax(1, 10) == 1 && from.Fame > 2000)
                        {
                            Item stone = new RareMetals(Utility.RandomMinMax(5, 15), "silver stones");
                            c.DropItem(stone);
                        }
                        else if (Utility.RandomMinMax(1, 10) == 1 && from.Fame > 2000)
                        {
                            Item ingot = new ShinySilverIngot(Utility.RandomMinMax(2, 8));
                            c.DropItem(ingot);
                        }
                    }

                    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                    if (reg.IsPartOf("the Daemon's Crag"))
                    {
                        if ((GetPlayerInfo.LuckyKiller(killer.Luck) || Utility.RandomMinMax(1, 20) == 1) && (from is EvilMage || from is EvilMageLord))
                        {
                            PaganArtifact pagan = new PaganArtifact(0);
                            pagan.PaganPoints = Utility.RandomMinMax(80, 100);
                            if (from is EvilMageLord)
                            {
                                pagan.PaganPoints = Utility.RandomMinMax(100, 120);
                            }
                            c.DropItem(pagan);
                        }
                    }

                    if (reg.IsPartOf("the Zealan Tombs"))
                    {
                        if ((GetPlayerInfo.LuckyKiller(killer.Luck) || Utility.RandomMinMax(1, 10) == 1) && from is KhumashGor)
                        {
                            PaganArtifact pagan = new PaganArtifact(16);
                            pagan.PaganPoints = Utility.RandomMinMax(100, 150);
                            c.DropItem(pagan);
                        }
                    }

                    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                    if ((from is DemonOfTheSea) ||
                        (from is BloodDemon) ||
                        (from is Devil) ||
                        (from is TitanPyros) ||
                        (from is Balron) ||
                        (from is LesserDemon) ||
                        (from is Xurtzar) ||
                        (from is FireDemon) ||
                        (from is DeepSeaDevil) ||
                        (from is ForestDemon) ||
                        (from is RadiationDemon) ||
                        (from is Daemon) ||
                        (from is IceFiend) ||
                        (from is BlackGateDemon))
                    {
                        if (90 < Utility.Random(100))
                        {
                            c.DropItem(new DemonClaw());
                        }
                        if (90 < Utility.Random(100))
                        {
                            DemonSkin goods = new DemonSkin(); goods.Amount = Utility.RandomMinMax(1, 3); c.DropItem(goods);
                        }
                    }

                    if (90 < Utility.Random(100) && killer is PlayerMobile)
                    {
                        Server.Misc.Skulls.MakeSkull(from, c, killer, reg.Name);
                    }                                                                                                                                             // MAKE A SKULL //--------------------------

                    if ((from is Unicorn) || (from is DarkUnicorn))
                    {
                        if (90 < Utility.Random(100))
                        {
                            c.DropItem(new UnicornHorn());
                        }
                        if ((from is Unicorn) && (70 < Utility.Random(100)))
                        {
                            UnicornSkin goods = new UnicornSkin(); goods.Amount = Utility.RandomMinMax(1, 3); c.DropItem(goods);
                        }
                    }
                    if (from is Nightmare || from is AncientNightmare)
                    {
                        if (70 < Utility.Random(100))
                        {
                            NightmareSkin goods = new NightmareSkin(); goods.Amount = Utility.RandomMinMax(1, 3); c.DropItem(goods);
                        }
                    }
                    if (from is ObsidianElemental)
                    {
                        if (1 == Utility.Random(1000))
                        {
                            c.DropItem(new ObsidianStone());
                        }
                    }
                    if ((from is Troll) || (from is SeaTroll) || (from is SwampTroll) || (from is FrostTroll))
                    {
                        if (95 < Utility.Random(100))
                        {
                            TrollSkin goods = new TrollSkin(); goods.Amount = Utility.RandomMinMax(1, 2); c.DropItem(goods);
                        }
                    }
                    if ((from is GoldenSerpent) || (from is BloodSnake) || (from is SilverSerpent) || (from is JungleViper) || (from is IceSerpent) ||
                        (from is GiantSerpent) || (from is SeaSnake) || (from is LavaSerpent) || (from is LargeSnake) || (from is GiantAdder))
                    {
                        if (95 < Utility.Random(100))
                        {
                            SerpentSkin goods = new SerpentSkin(); goods.Amount = Utility.RandomMinMax(1, 2); c.DropItem(goods);
                        }
                    }
                    if ((from is AncientWyrm) ||
                        (from is LavaDragon) ||
                        (from is BottleDragon) ||
                        (from is SeaDragon) ||
                        (from is DeepSeaDragon) ||
                        (from is Dragon) ||
                        (from is Dragons) ||
                        (from is DeepSeaDragon) ||
                        (from is SeaDragon) ||
                        (from is BlackDragon) ||
                        (from is PrimevalFireDragon) ||
                        (from is PrimevalGreenDragon) ||
                        (from is PrimevalNightDragon) ||
                        (from is PrimevalRedDragon) ||
                        (from is PrimevalRoyalDragon) ||
                        (from is PrimevalRunicDragon) ||
                        (from is PrimevalSeaDragon) ||
                        (from is ReanimatedDragon) ||
                        (from is VampiricDragon) ||
                        (from is PrimevalAbysmalDragon) ||
                        (from is PrimevalAmberDragon) ||
                        (from is PrimevalBlackDragon) ||
                        (from is PrimevalDragon) ||
                        (from is PrimevalSilverDragon) ||
                        (from is PrimevalVolcanicDragon) ||
                        (from is PrimevalStygianDragon) ||
                        (from is GemDragon) ||
                        (from is DragonKing) ||
                        (from is VolcanicDragon) ||
                        (from is RadiationDragon) ||
                        (from is CrystalDragon) ||
                        (from is VoidDragon) ||
                        (from is ElderDragon) ||
                        (from is BlueDragon) ||
                        (from is SlasherOfVoid) ||
                        (from is GreenDragon) ||
                        (from is WhiteDragon) ||
                        (from is ZombieDragon) ||
                        (from is NightWyrm) ||
                        (from is JungleWyrm) ||
                        (from is DesertWyrm) ||
                        (from is MountainWyrm) ||
                        (from is OnyxWyrm) ||
                        (from is EmeraldWyrm) ||
                        (from is AmethystWyrm) ||
                        (from is SapphireWyrm) ||
                        (from is GarnetWyrm) ||
                        (from is TopazWyrm) ||
                        (from is RubyWyrm) ||
                        (from is SpinelWyrm) ||
                        (from is Wyrms) ||
                        (from is QuartzWyrm) ||
                        (from is WhiteWyrm))
                    {
                        if (95 < Utility.Random(100))
                        {
                            DragonSkin goods = new DragonSkin(); goods.Amount = Utility.RandomMinMax(1, 3); c.DropItem(goods);
                        }
                        if (95 < Utility.Random(100))
                        {
                            DragonBlood goods = new DragonBlood(); goods.Amount = Utility.RandomMinMax(1, 3); c.DropItem(goods);
                        }
                        if ((95 < Utility.Random(100)) && (from is DragonKing))
                        {
                            DragonTooth goods = new DragonTooth(); goods.Amount = Utility.RandomMinMax(1, 3); c.DropItem(goods);
                        }
                    }
                    if ((from is Lich) ||
                        (from is LichLord) ||
                        (from is AncientLich) ||
                        (from is UndeadDruid) ||
                        (from is TitanLich) ||
                        (from is DemiLich) ||
                        (from is Surtaz))
                    {
                        if (from is AncientLich)
                        {
                            LichDust goods = new LichDust(); goods.Amount = Utility.RandomMinMax(1, 3); c.DropItem(goods);
                        }
                        else if (80 < Utility.Random(100))
                        {
                            LichDust goods = new LichDust(); goods.Amount = Utility.RandomMinMax(1, 3); c.DropItem(goods);
                        }
                    }
                    if ((from is MonstrousSpider) ||
                        (from is WhiteDragon) ||
                        (from is BlackDragon) ||
                        (from is PrimevalFireDragon) ||
                        (from is PrimevalGreenDragon) ||
                        (from is PrimevalNightDragon) ||
                        (from is PrimevalRedDragon) ||
                        (from is PrimevalRoyalDragon) ||
                        (from is PrimevalRunicDragon) ||
                        (from is PrimevalSeaDragon) ||
                        (from is ReanimatedDragon) ||
                        (from is VampiricDragon) ||
                        (from is PrimevalAbysmalDragon) ||
                        (from is PrimevalAmberDragon) ||
                        (from is PrimevalBlackDragon) ||
                        (from is PrimevalDragon) ||
                        (from is PrimevalSilverDragon) ||
                        (from is PrimevalVolcanicDragon) ||
                        (from is PrimevalStygianDragon) ||
                        (from is BlueDragon) ||
                        (from is SlasherOfVoid) ||
                        (from is Dragon) ||
                        (from is Dragons && from.Body == 59) ||
                        (from is Wyrms && from.Body == 12) ||
                        (from is GreenDragon) ||
                        (from is MetalDragon) ||
                        (from is LavaDragon) ||
                        (from is BottleDragon) ||
                        (from is IceDragon) ||
                        (from is CaddelliteDragon) ||
                        (from is WhiteWyrm) ||
                        (from is GemDragon) ||
                        (from is NightWyrm) ||
                        (from is RadiationDragon) ||
                        (from is CrystalDragon) ||
                        (from is VoidDragon) ||
                        (from is ElderDragon) ||
                        (from is JungleWyrm) ||
                        (from is DesertWyrm) ||
                        (from is MountainWyrm) ||
                        (from is AntLion) ||
                        (from is MetalBeetle) ||
                        (from is OnyxWyrm) ||
                        (from is EmeraldWyrm) ||
                        (from is AmethystWyrm) ||
                        (from is SapphireWyrm) ||
                        (from is GarnetWyrm) ||
                        (from is TopazWyrm) ||
                        (from is RubyWyrm) ||
                        (from is SpinelWyrm) ||
                        (from is QuartzWyrm) ||
                        (from is ShadowWyrm) ||
                        (from is AncientWyrm) ||
                        (from is DragonKing) ||
                        (from is VolcanicDragon))
                    {
                        int nBodyChance = (int)(from.Fame * 0.002) + 2;
                        int nBodyLevel  = (int)(from.Fame * 0.0006);
                        if (nBodyLevel > 10)
                        {
                            nBodyLevel = 10;
                        }
                        if (nBodyLevel < 1)
                        {
                            nBodyLevel = 1;
                        }
                        if (nBodyChance > Utility.Random(100))
                        {
                            CorpseChest corpseBox = new CorpseChest(nBodyLevel);
                            c.DropItem(corpseBox);
                        }
                    }

                    SlayerEntry wizardrykiller = SlayerGroup.GetEntryByName(SlayerName.WizardSlayer);
                    if (wizardrykiller.Slays(from))
                    {
                        if (Utility.Random(4) == 1)
                        {
                            if (DifficultyLevel.GetUnidentifiedChance() >= Utility.RandomMinMax(1, 100))
                            {
                                Item wand = new UnknownWand(); c.DropItem(wand);
                            }
                            else
                            {
                                Item wand = Loot.RandomWand(); Server.Misc.MaterialInfo.ColorMetal(wand, 0); string wandOwner = ""; if (Utility.RandomMinMax(1, 3) == 1)
                                {
                                    wandOwner = Server.LootPackEntry.MagicWandOwner() + " ";
                                }
                                wand.Name = wandOwner + wand.Name; c.DropItem(wand);
                            }
                        }

                        if (Utility.Random(20) == 1)
                        {
                            c.DropItem(Server.Items.DungeonLoot.RandomRuneMagic());
                        }
                    }

                    // WIZARD'S HIGH SEAS /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                    if ((from is DeepSeaSerpent) || (from is SeaDragon) || (from is GiantSquid) || (from is DeepSeaDragon) ||
                        (from is SeaSerpent) || (from is Kraken) || (from is Leviathan))
                    {
                        int nBodyChance = (int)(from.Fame * 0.002) + 2;
                        int nBodyLevel  = (int)(from.Fame * 0.0006);
                        if (nBodyLevel > 10)
                        {
                            nBodyLevel = 10;
                        }
                        if (nBodyLevel < 1)
                        {
                            nBodyLevel = 1;
                        }
                        if (nBodyChance > Utility.Random(100))
                        {
                            CorpseSailor corpseBox = new CorpseSailor(nBodyLevel);
                            c.DropItem(corpseBox);
                        }
                    }

                    SlayerEntry neptune = SlayerGroup.GetEntryByName(SlayerName.NeptunesBane);

                    if (neptune.Slays(from) && from.Fame >= 11500)
                    {
                        int nWeedChance = (int)(from.Fame * 0.002) + 2;
                        if (nWeedChance > Utility.Random(100))
                        {
                            EnchantedSeaweed goods = new EnchantedSeaweed();
                            goods.Amount = Utility.RandomMinMax(1, 3);
                            c.DropItem(goods);
                        }

                        int nPearlChance = (int)(from.Fame * 0.001) + 1;
                        if (nPearlChance > Utility.Random(100))
                        {
                            c.DropItem(new MysticalPearl());
                        }
                    }
                    //-------------------------------------------------------------------------

                    if ((neptune.Slays(from) && from.WhisperHue == 999) ||
                        Server.Misc.Worlds.IsSeaDungeon(from.Location, from.Map))
                    // ONLY SEA CREATURES ON THE HIGH SEAS DROP from STUFF
                    {
                        int nWreckChance = (int)(from.Fame * 0.002) + 2;
                        if (nWreckChance > Utility.Random(100))
                        {
                            HighSeasRelic goods = new HighSeasRelic();
                            goods.RelicGoldValue = goods.RelicGoldValue + (int)(from.RawStatTotal / 3);
                            c.DropItem(goods);
                        }
                        int nBottleChance = (int)(from.Fame * 0.002) + 1;
                        if (nBottleChance > Utility.Random(100))
                        {
                            int messageLevel = 0;

                            if (from.Fame < 2500)
                            {
                                messageLevel = 1;
                            }
                            else if (from.Fame < 5000)
                            {
                                messageLevel = 2;
                            }
                            else if (from.Fame < 10000)
                            {
                                messageLevel = 3;
                            }
                            else
                            {
                                messageLevel = 4;
                            }

                            if (20 > Utility.Random(100))
                            {
                                messageLevel = 0;
                            }                                                                                   // 20% CHANCE FOR A RANDOM LEVEL BOTTLE

                            Item message = new MessageInABottle(killer.Map, messageLevel, killer.Location, killer.X, killer.Y);
                            c.DropItem(message);
                        }
                        int nBoxChance = (int)(from.Fame * 0.001) - 1;
                        if (nBoxChance > Utility.Random(100) && !(from is StormGiant))                             // STORM GIANTS ALREADY DROP A BOX
                        {
                            int boxLevel = 0;

                            if (from.Fame < 2500)
                            {
                                boxLevel = 1;
                            }
                            else if (from.Fame < 5000)
                            {
                                boxLevel = 2;
                            }
                            else if (from.Fame < 10000)
                            {
                                boxLevel = 3;
                            }
                            else if (from.Fame < 20000)
                            {
                                boxLevel = 4;
                            }
                            else
                            {
                                boxLevel = 5;
                            }

                            LootChest MyChest = new LootChest(boxLevel);
                            MyChest.Name = "seaweed covered chest";
                            MyChest.Hue  = Utility.RandomList(0xB97, 0xB98, 0xB99, 0xB9A, 0xB88);
                            c.DropItem(MyChest);
                        }
                    }
                }
            }
        }
コード例 #16
0
        public override void OnDeath(Container c)
        {
            base.OnDeath(c);
            GhostlyDust ingut = new GhostlyDust();

            ingut.Amount = Utility.RandomMinMax(1, 2);
            c.DropItem(ingut);

            if (1 == Utility.RandomMinMax(0, 1))
            {
                switch (Utility.RandomMinMax(0, 8))
                {
                case 0: Item relic1 = new MagicTalisman(); MorphingItem.MorphMyItem(relic1, "IGNORED", "Vordo's", "IGNORED", MorphingTemplates.TemplateVordo("misc")); c.DropItem(relic1); break;

                case 1: Item relic2 = new MagicRobe(); relic2.ItemID = 0x1F03; relic2.Name = "robe"; MorphingItem.MorphMyItem(relic2, "IGNORED", "Vordo's", "IGNORED", MorphingTemplates.TemplateVordo("misc")); c.DropItem(relic2); break;

                case 2: Item relic3 = new MagicHat(); relic3.ItemID = 5912; relic3.Name = "hat"; MorphingItem.MorphMyItem(relic3, "IGNORED", "Vordo's", "IGNORED", MorphingTemplates.TemplateVordo("misc")); c.DropItem(relic3); break;

                case 3: Item relic4 = new MagicCloak(); relic4.ItemID = 0x1515; relic4.Name = "cloak"; MorphingItem.MorphMyItem(relic4, "IGNORED", "Vordo's", "IGNORED", MorphingTemplates.TemplateVordo("misc")); c.DropItem(relic4); break;

                case 4: Item relic5 = new MagicBoots(); relic5.ItemID = 0x170B; relic5.Name = "boots"; MorphingItem.MorphMyItem(relic5, "IGNORED", "Vordo's", "IGNORED", MorphingTemplates.TemplateVordo("misc")); c.DropItem(relic5); break;

                case 5: Item relic6 = new MagicBelt(); relic6.ItemID = 0x2790; relic6.Name = "belt"; MorphingItem.MorphMyItem(relic6, "IGNORED", "Vordo's", "IGNORED", MorphingTemplates.TemplateVordo("misc")); c.DropItem(relic6); break;

                case 6: Item relic7 = new SilverRing(); relic7.Name = "ring"; MorphingItem.MorphMyItem(relic7, "IGNORED", "Vordo's", "IGNORED", MorphingTemplates.TemplateVordo("misc")); c.DropItem(relic7); break;

                case 7: Item relic8 = new Necklace(); relic8.Name = "amulet"; MorphingItem.MorphMyItem(relic8, "IGNORED", "Vordo's", "IGNORED", MorphingTemplates.TemplateVordo("misc")); c.DropItem(relic8); break;

                case 8: Item relic9 = new Dagger(); relic9.Name = "sacrificial dagger"; MorphingItem.MorphMyItem(relic9, "IGNORED", "Vordo's", "IGNORED", MorphingTemplates.TemplateVordo("weapons")); c.DropItem(relic9); break;
                }
            }

            Mobile killer = this.LastKiller;

            if (killer != null)
            {
                if (killer is BaseCreature)
                {
                    killer = ((BaseCreature)killer).GetMaster();
                }

                if (killer is PlayerMobile)
                {
                    Party p = Engines.PartySystem.Party.Get(killer);
                    if (p != null)
                    {
                        foreach (PartyMemberInfo pmi in p.Members)
                        {
                            if (pmi.Mobile is PlayerMobile && pmi.Mobile.InRange(this.Location, 20) && pmi.Mobile.Map == this.Map)
                            {
                                pmi.Mobile.AddToBackpack(new VordoScroll());
                                pmi.Mobile.SendMessage("An item has appeared in your backpack!");
                            }
                        }
                    }
                    else
                    {
                        killer.AddToBackpack(new VordoScroll());
                        killer.SendMessage("An item has appeared in your backpack!");
                    }
                }
            }
        }
コード例 #17
0
 public OnyxPlateLegs()
 {
     Name = "Onyx Leggings";
     Hue  = Server.Misc.MaterialInfo.GetMaterialColor("onyx", "", 0);
     MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateOnyx("armors"));
 }
コード例 #18
0
 public RubyPlateLegs()
 {
     Name = "Ruby Leggings";
     Hue  = Server.Misc.MaterialInfo.GetMaterialColor("ruby", "", 0);
     MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateRuby("armors"));
 }
コード例 #19
0
 public SpinelFemalePlateChest()
 {
     Name = "Spinel Female Tunic";
     Hue  = Server.Misc.MaterialInfo.GetMaterialColor("spinel", "", 0);
     MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateSpinel("armors"));
 }
コード例 #20
0
 public TopazPlateLegs()
 {
     Name = "Topaz Leggings";
     Hue  = Server.Misc.MaterialInfo.GetMaterialColor("topaz", "", 0);
     MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateTopaz("armors"));
 }
コード例 #21
0
 public SpinelPlateLegs()
 {
     Name = "Spinel Leggings";
     Hue  = Server.Misc.MaterialInfo.GetMaterialColor("spinel", "", 0);
     MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateSpinel("armors"));
 }
コード例 #22
0
 public JadeFemalePlateChest()
 {
     Name = "Jade Female Tunic";
     Hue  = Server.Misc.MaterialInfo.GetMaterialColor("jade", "", 0);
     MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateJade("armors"));
 }
コード例 #23
0
 public EmeraldFemalePlateChest()
 {
     Name = "Emerald Female Tunic";
     Hue  = Server.Misc.MaterialInfo.GetMaterialColor("emerald", "", 0);
     MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateEmerald("armors"));
 }
コード例 #24
0
            protected override void OnTarget( Mobile from, object targeted )
            {
                Item iPearl = targeted as Item;

                if ( iPearl is BaseJewel )
                {
                    BaseJewel xPearl = (BaseJewel)iPearl;

                    if ( !iPearl.IsChildOf( from.Backpack ) )
                    {
                        from.SendMessage( "You can only use this pearl on items in your pack." );
                    }
                    else if
                    (
                        iPearl is BaseNecklace ||
                        iPearl is BaseEarrings ||
                        iPearl is BaseBracelet ||
                        iPearl is MagicJewelryCirclet ||
                        ( iPearl is BaseRing && Server.Misc.MaterialInfo.IsJewelryRing( iPearl ) )
                    )
                    {
                        string pName = "Mystical Pearl Ring";
                        if ( iPearl is BaseNecklace ){ pName = "Mystical Pearl Necklace"; }
                        else if ( iPearl is BaseEarrings ){ pName = "Mystical Pearl Earrings"; }
                        else if ( iPearl is MagicJewelryCirclet ){ pName = "Mystical Pearl Circlet"; }
                        else if ( iPearl is BaseBracelet ){ pName = "Mystical Pearl Bracelet"; }
                        MorphingItem.MorphMyItem( iPearl, "IGNORED", "IGNORED", pName, MorphingTemplates.TemplatePearlJewelry("misc") );
                        from.RevealingAction();
                        from.PlaySound( 0x242 );
                        m_Pearl.Consume();
                    }
                    else
                    {
                        from.SendMessage( "You cannot use this pearl on that." );
                    }
                }
                else
                {
                    from.SendMessage( "You cannot use this pearl on that." );
                }
            }
コード例 #25
0
 public EmeraldPlateLegs()
 {
     Name = "Emerald Leggings";
     Hue  = Server.Misc.MaterialInfo.GetMaterialColor("emerald", "", 0);
     MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateEmerald("armors"));
 }
コード例 #26
0
        public override void OnDeath(Container c)
        {
            base.OnDeath(c);

            Mobile killer = this.LastKiller;

            if (killer != null)
            {
                if (killer is BaseCreature)
                {
                    killer = ((BaseCreature)killer).GetMaster();
                }

                if (killer is PlayerMobile)
                {
                    if (GetPlayerInfo.LuckyKiller(killer.Luck) && Utility.RandomMinMax(1, 4) == 1)
                    {
                        switch (Utility.RandomMinMax(0, 9))
                        {
                        case 0: Item loot1 = new StuddedChest(); MorphingItem.MorphMyItem(loot1, "IGNORED", "Murk's Pirate", "IGNORED", MorphingTemplates.TemplateMurk("armors")); c.DropItem(loot1); break;

                        case 1: Item loot2 = new StuddedArms(); MorphingItem.MorphMyItem(loot2, "IGNORED", "Murk's Pirate", "IGNORED", MorphingTemplates.TemplateMurk("armors")); c.DropItem(loot2); break;

                        case 2: Item loot3 = new StuddedLegs(); MorphingItem.MorphMyItem(loot3, "IGNORED", "Murk's Pirate", "IGNORED", MorphingTemplates.TemplateMurk("armors")); c.DropItem(loot3); break;

                        case 3: Item loot4 = new StuddedGorget(); MorphingItem.MorphMyItem(loot4, "IGNORED", "Murk's Pirate", "IGNORED", MorphingTemplates.TemplateMurk("armors")); c.DropItem(loot4); break;

                        case 4: Item loot5 = new StuddedGloves(); MorphingItem.MorphMyItem(loot5, "IGNORED", "Murk's Pirate", "IGNORED", MorphingTemplates.TemplateMurk("armors")); c.DropItem(loot5); break;

                        case 5: Item loot6 = new MagicHat(); loot6.ItemID = 5915; loot6.Name = "hat"; MorphingItem.MorphMyItem(loot6, "IGNORED", "Murk's Pirate", "IGNORED", MorphingTemplates.TemplateMurk("misc")); c.DropItem(loot6); break;

                        case 6: Item loot7 = new Scimitar(); MorphingItem.MorphMyItem(loot7, "IGNORED", "Murk's Pirate", "IGNORED", MorphingTemplates.TemplateMurk("weapons")); c.DropItem(loot7); break;

                        case 7: Item loot8 = new Buckler(); MorphingItem.MorphMyItem(loot8, "IGNORED", "Murk's Pirate", "IGNORED", MorphingTemplates.TemplateMurk("armors")); c.DropItem(loot8); break;

                        case 8: Item loot9 = new MagicBoots(); loot9.Name = "boots"; loot9.ItemID = 0x170b; MorphingItem.MorphMyItem(loot9, "IGNORED", "Murk's Pirate", "IGNORED", MorphingTemplates.TemplateMurk("misc")); c.DropItem(loot9); break;

                        case 9: Item loot10 = Loot.RandomJewelry(); MorphingItem.MorphMyItem(loot10, "IGNORED", "Murk's Pirate", "IGNORED", MorphingTemplates.TemplateMurk("misc")); c.DropItem(loot10); break;
                        }
                    }
                }
            }
        }
コード例 #27
0
 public MarblePlateArms()
 {
     Name = "Marble Arms";
     Hue  = Server.Misc.MaterialInfo.GetMaterialColor("marble", "", 0);
     MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateMarble("armors"));
 }
コード例 #28
0
		public Dracolich () : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
		{
			Name = NameList.RandomName( "dragon" );
			Title = "the dracolich";
			Body = 104;
			BaseSoundID = 0x488;

			SetStr( 898, 1030 );
			SetDex( 68, 200 );
			SetInt( 488, 620 );

			SetHits( 558, 599 );

			SetDamage( 29, 35 );

			SetDamageType( ResistanceType.Physical, 75 );
			SetDamageType( ResistanceType.Fire, 25 );

			SetResistance( ResistanceType.Physical, 75, 80 );
			SetResistance( ResistanceType.Fire, 40, 60 );
			SetResistance( ResistanceType.Cold, 40, 60 );
			SetResistance( ResistanceType.Poison, 70, 80 );
			SetResistance( ResistanceType.Energy, 40, 60 );

			SetSkill( SkillName.EvalInt, 80.1, 100.0 );
			SetSkill( SkillName.Magery, 80.1, 100.0 );
			SetSkill( SkillName.MagicResist, 100.3, 130.0 );
			SetSkill( SkillName.Tactics, 97.6, 100.0 );
			SetSkill( SkillName.Wrestling, 97.6, 100.0 );

			Fame = 22500;
			Karma = -22500;

			VirtualArmor = 80;

			PackNecroReg( 12, 40 );
			PackNecroReg( 12, 40 );

			Item dracoItem = null;

			switch ( Utility.RandomMinMax( 0, 2 ) )
			{
				case 0: dracoItem = Loot.RandomWeapon( false ); MorphingItem.MorphMyItem( dracoItem, "IGNORED", "Dracolich", "IGNORED", MorphingTemplates.TemplateDracolich("weapons") ); PackItem( dracoItem ); break;
				case 1: dracoItem = Loot.RandomJewelry(); MorphingItem.MorphMyItem( dracoItem, "IGNORED", "Dracolich", "IGNORED", MorphingTemplates.TemplateDracolich("misc") ); PackItem( dracoItem ); break;
				case 2:
					switch ( Utility.RandomMinMax( 0, 6 ) )
					{
						case 0: dracoItem = new BoneLegs(); MorphingItem.MorphMyItem( dracoItem, "IGNORED", "IGNORED", "Dracolich Leggings", MorphingTemplates.TemplateDracolich("armors") ); PackItem( dracoItem ); break;
						case 1: dracoItem = new BoneGloves(); MorphingItem.MorphMyItem( dracoItem, "IGNORED", "IGNORED", "Dracolich Gloves", MorphingTemplates.TemplateDracolich("armors") ); PackItem( dracoItem ); break;
						case 2: dracoItem = new BoneArms(); MorphingItem.MorphMyItem( dracoItem, "IGNORED", "IGNORED", "Dracolich Arms", MorphingTemplates.TemplateDracolich("armors") ); PackItem( dracoItem ); break;
						case 3: dracoItem = new BoneChest(); MorphingItem.MorphMyItem( dracoItem, "IGNORED", "IGNORED", "Dracolich Tunic", MorphingTemplates.TemplateDracolich("armors") ); PackItem( dracoItem ); break;
						case 4: dracoItem = new BoneSkirt(); MorphingItem.MorphMyItem( dracoItem, "IGNORED", "IGNORED", "Dracolich Tunic", MorphingTemplates.TemplateDracolich("armors") ); PackItem( dracoItem ); break;
						case 5: dracoItem = new OrcHelm(); MorphingItem.MorphMyItem( dracoItem, "IGNORED", "IGNORED", "Dracolich Helm", MorphingTemplates.TemplateDracolich("armors") ); PackItem( dracoItem ); break;
						case 6: dracoItem = new WoodenShield(); MorphingItem.MorphMyItem( dracoItem, "IGNORED", "IGNORED", "Dracolich Shield", MorphingTemplates.TemplateDracolich("armors") ); PackItem( dracoItem ); break;
					}
				break;
			}
		}
コード例 #29
0
 public CaddellitePlateLegs()
 {
     Name = "Caddellite Leggings";
     Hue  = Server.Misc.MaterialInfo.GetMaterialColor("caddellite", "", 0);
     MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateCaddellite("armors"));
 }