protected override void OnTarget(Mobile from, object targeted) { if (m_System is Mining) { if (targeted is StaticTarget target) { int itemID = target.ItemID; // grave if (itemID == 0xED3 || itemID == 0xEDF || itemID == 0xEE0 || itemID == 0xEE1 || itemID == 0xEE2 || itemID == 0xEE8) { PlayerMobile player = from as PlayerMobile; if (player != null) { QuestSystem qs = player.Quest; if (qs is WitchApprenticeQuest) { FindIngredientObjective obj = qs.FindObjective(typeof(FindIngredientObjective)) as FindIngredientObjective; if (obj != null && !obj.Completed && obj.Ingredient == Ingredient.Bones) { player.SendLocalizedMessage(1055037); // You finish your grim work, finding some of the specific bones listed in the Hag's recipe. obj.Complete(); return; } } } } } else if (targeted is LandTarget landTarget && landTarget.TileID >= 113 && landTarget.TileID <= 120) { if (TheGreatVolcanoQuest.OnHarvest(from, m_Tool)) { return; } } } if (m_System is Lumberjacking && targeted is IChopable chopable) { chopable.OnChop(from); } else if (m_System is Lumberjacking && targeted is IAxe obj && m_Tool is BaseAxe axe) { Item item = (Item)obj; if (!item.IsChildOf(from.Backpack)) { from.SendLocalizedMessage(1062334); // This item must be in your backpack to be used. } else if (obj.Axe(from, axe)) { from.PlaySound(0x13E); } }
protected override void OnTarget(Mobile from, object targeted) { if (m_System is Mining) { if (targeted is StaticTarget) { int itemID = ((StaticTarget)targeted).ItemID; // grave if (itemID == 0xED3 || itemID == 0xEDF || itemID == 0xEE0 || itemID == 0xEE1 || itemID == 0xEE2 || itemID == 0xEE8) { PlayerMobile player = from as PlayerMobile; if (player != null) { QuestSystem qs = player.Quest; if (qs is WitchApprenticeQuest) { FindIngredientObjective obj = qs.FindObjective(typeof(FindIngredientObjective)) as FindIngredientObjective; if (obj != null && !obj.Completed && obj.Ingredient == Ingredient.Bones) { player.SendLocalizedMessage(1055037); // You finish your grim work, finding some of the specific bones listed in the Hag's recipe. obj.Complete(); return; } } } } } else if (targeted is LandTarget && ((LandTarget)targeted).TileID >= 113 && ((LandTarget)targeted).TileID <= 120) { if (TheGreatVolcanoQuest.OnHarvest(from, m_Tool)) { return; } } } if (m_System is Lumberjacking && targeted is IChopable) { ((IChopable)targeted).OnChop(from); } else if (m_System is Lumberjacking && targeted is IAxe && m_Tool is BaseAxe) { IAxe obj = (IAxe)targeted; Item item = (Item)targeted; if (!item.IsChildOf(from.Backpack)) { from.SendLocalizedMessage(1062334); // This item must be in your backpack to be used. } else if (obj.Axe(from, (BaseAxe)m_Tool)) { from.PlaySound(0x13E); } } else if (m_System is Lumberjacking && targeted is ICarvable) { ((ICarvable)targeted).Carve(from, m_Tool); } else if (m_System is Lumberjacking && FurnitureAttribute.Check(targeted as Item)) { DestroyFurniture(from, (Item)targeted); } else if (m_System is Mining && targeted is TreasureMap) { ((TreasureMap)targeted).OnBeginDig(from); } #region High Seas else if (m_System is Mining && targeted is NiterDeposit) { ((NiterDeposit)targeted).OnMine(from, m_Tool); } else if (m_System is Lumberjacking && targeted is CrackedLavaRockEast) { ((CrackedLavaRockEast)targeted).OnCrack(from); } else if (m_System is Lumberjacking && targeted is CrackedLavaRockSouth) { ((CrackedLavaRockSouth)targeted).OnCrack(from); } #endregion else { // If we got here and we're lumberjacking then we didn't target something that can be done from the pack if (m_System is Lumberjacking && m_Tool.Parent != from) { from.SendLocalizedMessage(500487); // The axe must be equipped for any serious wood chopping. return; } m_System.StartHarvesting(from, m_Tool, targeted); } }