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."); } }
public GarnetPlateLegs() { Name = "Garnet Leggings"; Hue = Server.Misc.MaterialInfo.GetMaterialColor("garnet", "", 0); MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateGarnet("armors")); }
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; } } } } }
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); }
public JadePlateLegs() { Name = "Jade Leggings"; Hue = Server.Misc.MaterialInfo.GetMaterialColor("jade", "", 0); MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateJade("armors")); }
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()); }
public TopazFemalePlateChest() { Name = "Topaz Female Tunic"; Hue = Server.Misc.MaterialInfo.GetMaterialColor("topaz", "", 0); MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateTopaz("armors")); }
public SapphirePlateArms() { Name = "Sapphire Arms"; Hue = Server.Misc.MaterialInfo.GetMaterialColor("sapphire", "", 0); MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateSapphire("armors")); }
public AmethystPlateLegs() { Name = "Amethyst Leggings"; Hue = Server.Misc.MaterialInfo.GetMaterialColor("amethyst", "", 0); MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateAmethyst("armors")); }
public AmethystFemalePlateChest() { Name = "Amethyst Female Tunic"; Hue = Server.Misc.MaterialInfo.GetMaterialColor("amethyst", "", 0); MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateAmethyst("armors")); }
public SilverPlateGorget() { Name = "Silver Gorget"; Hue = Server.Misc.MaterialInfo.GetMaterialColor("silver", "", 0); MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateSilver("armors")); }
public IcePlateGorget() { Name = "Ice Gorget"; Hue = Server.Misc.MaterialInfo.GetMaterialColor("ice", "", 0); MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateIce("armors")); }
public QuartzPlateArms() { Name = "Quartz Arms"; Hue = Server.Misc.MaterialInfo.GetMaterialColor("quartz", "", 0); MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateQuartz("armors")); }
public StarRubyPlateArms() { Name = "Star Ruby Arms"; Hue = Server.Misc.MaterialInfo.GetMaterialColor("star ruby", "", 0); MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateStarRuby("armors")); }
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); } } } } }
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!"); } } } }
public OnyxPlateLegs() { Name = "Onyx Leggings"; Hue = Server.Misc.MaterialInfo.GetMaterialColor("onyx", "", 0); MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateOnyx("armors")); }
public RubyPlateLegs() { Name = "Ruby Leggings"; Hue = Server.Misc.MaterialInfo.GetMaterialColor("ruby", "", 0); MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateRuby("armors")); }
public SpinelFemalePlateChest() { Name = "Spinel Female Tunic"; Hue = Server.Misc.MaterialInfo.GetMaterialColor("spinel", "", 0); MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateSpinel("armors")); }
public TopazPlateLegs() { Name = "Topaz Leggings"; Hue = Server.Misc.MaterialInfo.GetMaterialColor("topaz", "", 0); MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateTopaz("armors")); }
public SpinelPlateLegs() { Name = "Spinel Leggings"; Hue = Server.Misc.MaterialInfo.GetMaterialColor("spinel", "", 0); MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateSpinel("armors")); }
public JadeFemalePlateChest() { Name = "Jade Female Tunic"; Hue = Server.Misc.MaterialInfo.GetMaterialColor("jade", "", 0); MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateJade("armors")); }
public EmeraldFemalePlateChest() { Name = "Emerald Female Tunic"; Hue = Server.Misc.MaterialInfo.GetMaterialColor("emerald", "", 0); MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateEmerald("armors")); }
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." ); } }
public EmeraldPlateLegs() { Name = "Emerald Leggings"; Hue = Server.Misc.MaterialInfo.GetMaterialColor("emerald", "", 0); MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateEmerald("armors")); }
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; } } } } }
public MarblePlateArms() { Name = "Marble Arms"; Hue = Server.Misc.MaterialInfo.GetMaterialColor("marble", "", 0); MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateMarble("armors")); }
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; } }
public CaddellitePlateLegs() { Name = "Caddellite Leggings"; Hue = Server.Misc.MaterialInfo.GetMaterialColor("caddellite", "", 0); MorphingItem.MorphMyItem(this, "IGNORED", "IGNORED", "IGNORED", MorphingTemplates.TemplateCaddellite("armors")); }