public static void SlayerTitleCore_MaxSlayerTitleAchieved(Mobile from, String titleDefinitionName, String titleAwarded) { if (!from.IsPlayer()) { return; } // Award a dragon statuette when the maximum Dragon Slayer title is achieved if (titleDefinitionName == "Dragon Slayer") { MonsterStatuette statue = new MonsterStatuette(MonsterStatuetteType.Dragon); if (!from.PlaceInBackpack(statue)) { from.BankBox.AddItem(statue); from.SendMessage("A reward statue has been placed in your bankbox."); } else { from.SendMessage("A reward statue has been placed in your backpack."); } } }
public static double GetPoints(Item item) { double points = 0; Type type = item.GetType(); if (Entries.ContainsKey(type)) { points = Entries[type]; if (item.Stackable) { points = points * item.Amount; } return(points); } else { if (item is RunicHammer) { RunicHammer hammer = (RunicHammer)item; if (hammer.Resource == CraftResource.DullCopper) { points = 5 * hammer.UsesRemaining; } else if (hammer.Resource == CraftResource.ShadowIron) { points = 10 * hammer.UsesRemaining; } else if (hammer.Resource == CraftResource.Copper) { points = 25 * hammer.UsesRemaining; } else if (hammer.Resource == CraftResource.Bronze) { points = 100 * hammer.UsesRemaining; } else if (hammer.Resource == CraftResource.Gold) { points = 250 * hammer.UsesRemaining; } else if (hammer.Resource == CraftResource.Agapite) { points = 1000 * hammer.UsesRemaining; } else if (hammer.Resource == CraftResource.Verite) { points = 4000 * hammer.UsesRemaining; } else if (hammer.Resource == CraftResource.Valorite) { points = 8000 * hammer.UsesRemaining; } } else if (item is RunicSewingKit) { RunicSewingKit sewing = (RunicSewingKit)item; if (sewing.Resource == CraftResource.SpinedLeather) { points = 10 * sewing.UsesRemaining; } else if (sewing.Resource == CraftResource.HornedLeather) { points = 100 * sewing.UsesRemaining; } else if (sewing.Resource == CraftResource.BarbedLeather) { points = 400 * sewing.UsesRemaining; } } else if (item is PowerScroll) { PowerScroll ps = (PowerScroll)item; if (ps.Value == 105) { points = 50; } else if (ps.Value == 110) { points = 100; } else if (ps.Value == 115) { points = 500; } else if (ps.Value == 120) { points = 2500; } } else if (item is ScrollofTranscendence) { SpecialScroll sot = (SpecialScroll)item; points = sot.Value / 0.1 * 2; } else if (item is Bait) { Bait bait = (Bait)item; points = 10 * bait.UsesRemaining; } else if (item is TreasureMap) { TreasureMap tmap = (TreasureMap)item; if (tmap.Level == 1) { points = 50; } else if (tmap.Level == 2) { points = 100; } else if (tmap.Level == 3) { points = 250; } else if (tmap.Level == 4) { points = 500; } else if (tmap.Level == 5) { points = 750; } else if (tmap.Level == 6) { points = 1000; } } else if (item is MidnightBracers && item.LootType == LootType.Cursed) { points = 5000; } else if (item is MonsterStatuette) { MonsterStatuette ms = (MonsterStatuette)item; if (ms.Type == MonsterStatuetteType.Slime) { points = 5000; } } else if (item is PigmentsOfTokuno || item is LesserPigmentsOfTokuno) { BasePigmentsOfTokuno pigments = (BasePigmentsOfTokuno)item; points = 500 * pigments.UsesRemaining; } return(points); } }
public static double GetPoints(Item item) { if (item is IVvVItem && ((IVvVItem)item).IsVvVItem) { return(0); } double points = 0; Type type = item.GetType(); if (Entries.ContainsKey(type)) { points = Entries[type]; // Kind of ametuar, but if this arrizes more, we'll make a seperate function if (item is SOS && ((SOS)item).IsAncient) { points = 2500; } if (item.Stackable) { points = points * item.Amount; } return(points); } else { if (item is RunicHammer) { RunicHammer hammer = (RunicHammer)item; if (hammer.Resource == CraftResource.DullCopper) { points = 5 * hammer.UsesRemaining; } else if (hammer.Resource == CraftResource.ShadowIron) { points = 10 * hammer.UsesRemaining; } else if (hammer.Resource == CraftResource.Copper) { points = 25 * hammer.UsesRemaining; } else if (hammer.Resource == CraftResource.Bronze) { points = 100 * hammer.UsesRemaining; } else if (hammer.Resource == CraftResource.Gold) { points = 250 * hammer.UsesRemaining; } else if (hammer.Resource == CraftResource.Agapite) { points = 1000 * hammer.UsesRemaining; } else if (hammer.Resource == CraftResource.Verite) { points = 4000 * hammer.UsesRemaining; } else if (hammer.Resource == CraftResource.Valorite) { points = 8000 * hammer.UsesRemaining; } } else if (item is RunicSewingKit) { RunicSewingKit sewing = (RunicSewingKit)item; if (sewing.Resource == CraftResource.SpinedLeather) { points = 10 * sewing.UsesRemaining; } else if (sewing.Resource == CraftResource.HornedLeather) { points = 100 * sewing.UsesRemaining; } else if (sewing.Resource == CraftResource.BarbedLeather) { points = 400 * sewing.UsesRemaining; } } else if (item is PowerScroll) { PowerScroll ps = (PowerScroll)item; if (ps.Value == 105) { points = 50; } else if (ps.Value == 110) { points = 100; } else if (ps.Value == 115) { points = 500; } else if (ps.Value == 120) { points = 2500; } } else if (item is ScrollOfTranscendence) { SpecialScroll sot = (SpecialScroll)item; points = sot.Value / 0.1 * 2; } else if (item is Bait) { Bait bait = (Bait)item; points = 10 * bait.UsesRemaining; } else if (item is TreasureMap) { TreasureMap tmap = (TreasureMap)item; if (tmap.Level == 1) { points = 50; } else if (tmap.Level == 2) { points = 100; } else if (tmap.Level == 3) { points = 250; } else if (tmap.Level == 4) { points = 500; } else if (tmap.Level == 5) { points = 750; } else if (tmap.Level == 6) { points = 1000; } } else if (item is MidnightBracers && item.LootType == LootType.Cursed) { points = 5000; } else if (item is MonsterStatuette) { MonsterStatuette ms = (MonsterStatuette)item; if (ms.Type == MonsterStatuetteType.Slime) { points = 5000; } } else if (item is PigmentsOfTokuno || item is LesserPigmentsOfTokuno) { BasePigmentsOfTokuno pigments = (BasePigmentsOfTokuno)item; points = 500 * pigments.UsesRemaining; } else if (item is ICombatEquipment) { points = GetPointsForEquipment(item); } if (item.LootType != LootType.Blessed && points < 100 && item is IShipwreckedItem && ((IShipwreckedItem)item).IsShipwreckedItem) { points = 100; } return(points); } }
protected override void OnAfterDeath(Container c) { base.OnAfterDeath(c); double random = Utility.RandomDouble(); Item artifact = null; if (0.05 > random) // 5% of getting a unique artifact { artifact = new Subdue(); } else if (0.15 > random) // 10% of getting a shared artifact { switch (Utility.Random(2)) { case 0: artifact = new TheMostKnowledgePerson(); break; case 1: artifact = new OblivionsNeedle(); break; case 2: artifact = new RoyalGuardSurvivalKnife(); break; } } else if (0.30 > random) // 15% of getting a decorative item { switch (Utility.Random(2)) { case 0: artifact = new ArtifactLargeVase(); break; case 1: artifact = new ArtifactVase(); break; case 2: artifact = new MonsterStatuette(MonsterStatuetteType.TormentedMinotaur); break; } } if (artifact != null) { Mobile m = MonsterHelper.GetTopAttacker(this); if (m != null) { MonsterHelper.GiveArtifactTo(m, artifact); } else { artifact.Delete(); } } }