using System; using Server.Items; using Server.Mobiles; namespace Server { public static class MondainsLegacy { public static Type[] Artifacts { get; } = { typeof(AegisOfGrace), typeof(BladeDance), typeof(BloodwoodSpirit), typeof(Bonesmasher), typeof(Boomstick), typeof(BrightsightLenses), typeof(FeyLeggings), typeof(FleshRipper), typeof(HelmOfSwiftness), typeof(PadsOfTheCuSidhe), typeof(QuiverOfRage), typeof(QuiverOfElements), typeof(RaedsGlory), typeof(RighteousAnger), typeof(RobeOfTheEclipse), typeof(RobeOfTheEquinox), typeof(SoulSeeker), typeof(TalonBite), typeof(TotemOfVoid), typeof(WildfireBow), typeof(Windsong) }; public static bool CheckArtifactChance(Mobile m, BaseCreature bc) { if (!Core.ML) { return false; } return Paragon.CheckArtifactChance(m, bc); } public static void GiveArtifactTo(Mobile m) { var item = Artifacts.RandomElement().CreateInstance(); if (item == null) { return; } if (m.AddToBackpack(item)) { m.SendLocalizedMessage(1072223); // An item has been placed in your backpack. m.SendLocalizedMessage( 1062317 ); // For your valor in combating the fallen beast, a special artifact has been bestowed on you. } else if (m.BankBox.TryDropItem(m, item, false)) { m.SendLocalizedMessage(1072224); // An item has been placed in your bank box. m.SendLocalizedMessage( 1062317 ); // For your valor in combating the fallen beast, a special artifact has been bestowed on you. } else { // Item was placed at feet by m.AddToBackpack m.SendLocalizedMessage(1072523); // You find an artifact, but your backpack and bank are too full to hold it. } } public static bool CheckML(Mobile from, bool message = true) { if (from?.NetState == null) { return false; } if (from.NetState.SupportsExpansion(Expansion.ML)) { return true; } if (message) { from.SendLocalizedMessage(1072791); // You must upgrade to Mondain's Legacy in order to use that item. } return false; } public static bool IsMLRegion(Region region) => region.IsPartOf("Twisted Weald") || region.IsPartOf("Sanctuary") || region.IsPartOf("The Prism of Light") || region.IsPartOf("The Citadel") || region.IsPartOf("Bedlam") || region.IsPartOf("Blighted Grove") || region.IsPartOf("The Painted Caves") || region.IsPartOf("The Palace of Paroxysmus") || region.IsPartOf("Labyrinth"); } }