public override void OnTalk(PlayerMobile player, bool contextMenu) { Direction = GetDirectionTo(player); QuestSystem qs = player.Quest; if (qs is EminosUndertakingQuest) { if (qs.IsObjectiveInProgress(typeof(FindDaimyoEminoObjective))) { QuestObjective obj = qs.FindObjective(typeof(FindDaimyoEminoObjective)); if (obj != null) { obj.Complete(); } qs.AddConversation(new DaimyoEminoBeginConversation()); qs.AddObjective(new FindEliteNinjaZoelObjective()); } if (qs.IsObjectiveInProgress(typeof(TakeGreenTeleporterObjective))) { QuestObjective obj = qs.FindObjective(typeof(TakeGreenTeleporterObjective)); if (obj != null) { obj.Complete(); } qs.AddConversation(new EminoSecondConversation()); player.AddToBackpack(new NoteForZoel()); player.AddToBackpack(new LeatherNinjaPants()); player.AddToBackpack(new LeatherNinjaMitts()); qs.AddObjective(new BringNoteToZoelObjective()); } if (qs.IsObjectiveInProgress(typeof(GoBackBlueTeleporterObjective))) { QuestObjective obj = qs.FindObjective(typeof(GoBackBlueTeleporterObjective)); if (obj != null) { obj.Complete(); } qs.AddConversation(new FrownsConversation()); Bag bag = new Bag(); bag.Hue = 0x660; bag.DropItem(new LeatherNinjaJacket()); bag.DropItem(new LeatherNinjaHood()); for (int i = 0; i < 10; i++) { bag.DropItem(new LesserHealPotion()); } player.AddToBackpack(bag); qs.AddObjective(new TakeWhiteTeleporterObjective()); } if (qs.IsObjectiveInProgress(typeof(KillHenchmensObjective))) { qs.AddConversation(new ContinueKillHenchmensConversation()); } if (qs.IsObjectiveInProgress(typeof(ReturnToDaimyoObjective))) { ArrayList list = player.Backpack.Items; DaimyoEminosKatana katana = null; for (int i = 0; i < list.Count; i++) { if ((Item)list[i] is DaimyoEminosKatana) { katana = list[i] as DaimyoEminosKatana; break; } } if (katana == null) { qs.AddConversation(new TakeSwordAgainConversation()); } else { katana.Delete(); QuestObjective obj = qs.FindObjective(typeof(ReturnToDaimyoObjective)); if (obj != null) { obj.Complete(); } qs.AddConversation(new GiftsConversation()); Kama kama = new Kama(); BaseRunicTool.ApplyAttributesTo(kama, 1, 10, 30); player.AddToBackpack(kama); qs.Complete(); } } } }
public override void OnTalk(PlayerMobile player, bool contextMenu) { QuestSystem qs = player.Quest; if (qs is EminosUndertakingQuest) { if (EminosUndertakingQuest.HasLostNoteForZoel(player)) { Item note = new NoteForZoel(); if (player.PlaceInBackpack(note)) { qs.AddConversation(new LostNoteConversation()); } else { note.Delete(); player.SendLocalizedMessage(1046260); // You need to clear some space in your inventory to continue with the quest. Come back here when you have more space in your inventory. } } else if (EminosUndertakingQuest.HasLostEminosKatana(player)) { qs.AddConversation(new LostSwordConversation()); } else { QuestObjective obj = qs.FindObjective(typeof(FindEminoBeginObjective)); if (obj != null && !obj.Completed) { obj.Complete(); } else { obj = qs.FindObjective(typeof(UseTeleporterObjective)); if (obj != null && !obj.Completed) { Item note = new NoteForZoel(); if (player.PlaceInBackpack(note)) { obj.Complete(); player.AddToBackpack(new LeatherNinjaPants()); player.AddToBackpack(new LeatherNinjaMitts()); } else { note.Delete(); player.SendLocalizedMessage(1046260); // You need to clear some space in your inventory to continue with the quest. Come back here when you have more space in your inventory. } } else { obj = qs.FindObjective(typeof(ReturnFromInnObjective)); if (obj != null && !obj.Completed) { Container cont = GetNewContainer(); for (int i = 0; i < 10; i++) { cont.DropItem(new LesserHealPotion()); } cont.DropItem(new LeatherNinjaHood()); cont.DropItem(new LeatherNinjaJacket()); if (player.PlaceInBackpack(cont)) { obj.Complete(); } else { cont.Delete(); player.SendLocalizedMessage(1046260); // You need to clear some space in your inventory to continue with the quest. Come back here when you have more space in your inventory. } } else { if (qs.IsObjectiveInProgress(typeof(SlayHenchmenObjective))) { qs.AddConversation(new ContinueSlayHenchmenConversation()); } else { obj = qs.FindObjective(typeof(GiveEminoSwordObjective)); if (obj != null && !obj.Completed) { Item katana = null; if (player.Backpack != null) { katana = player.Backpack.FindItemByType(typeof(EminosKatana)); } if (katana != null) { bool stolenTreasure = false; HallwayWalkObjective walk = qs.FindObjective(typeof(HallwayWalkObjective)) as HallwayWalkObjective; if (walk != null) { stolenTreasure = walk.StolenTreasure; } Kama kama = new Kama(); if (stolenTreasure) { BaseRunicTool.ApplyAttributesTo(kama, 1, 10, 20); } else { BaseRunicTool.ApplyAttributesTo(kama, 1, 10, 30); } if (player.PlaceInBackpack(kama)) { katana.Delete(); obj.Complete(); if (stolenTreasure) { qs.AddConversation(new EarnLessGiftsConversation()); } else { qs.AddConversation(new EarnGiftsConversation()); } } else { kama.Delete(); player.SendLocalizedMessage(1046260); // You need to clear some space in your inventory to continue with the quest. Come back here when you have more space in your inventory. } } } } } } } } } }
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public static Item CreateMetalWeapon() { Item item = null; int nType = Utility.RandomMinMax(0, 41); switch (nType) { case 1: item = new Cutlass(); item.Name = "cutlass"; break; case 2: item = new Katana(); item.Name = "katana"; break; case 3: item = new Kryss(); item.Name = "kryss"; break; case 4: item = new Broadsword(); item.Name = "broadsword"; break; case 5: item = new Longsword(); item.Name = "longsword"; break; case 6: item = new ThinLongsword(); item.Name = "longsword"; break; case 7: item = new VikingSword(); item.Name = "barbarian sword"; break; case 8: item = new Scimitar(); item.Name = "scimitar"; break; case 9: item = new BoneHarvester(); item.Name = "sickle"; break; case 10: item = new CrescentBlade(); item.Name = "crescent blade"; break; case 11: item = new DoubleBladedStaff(); item.Name = "bladed staff"; break; case 12: item = new Lance(); item.Name = "lance"; break; case 13: item = new Pike(); item.Name = "pike"; break; case 14: item = new Scythe(); item.Name = "scythe"; break; case 15: item = new Dagger(); item.Name = "dagger"; break; case 16: item = new HammerPick(); item.Name = "hammer pick"; break; case 17: item = new Mace(); item.Name = "mace"; break; case 18: item = new Maul(); item.Name = "maul"; break; case 19: item = new WarHammer(); item.Name = "war hammer"; break; case 20: item = new WarMace(); item.Name = "war mace"; break; case 21: item = new ExecutionersAxe(); item.Name = "great axe"; break; case 22: item = new BattleAxe(); item.Name = "battle axe"; break; case 23: item = new TwoHandedAxe(); item.Name = "two-handed axe"; break; case 24: item = new Axe(); item.Name = "axe"; break; case 25: item = new DoubleAxe(); item.Name = "double axe"; break; case 26: item = new RoyalSword(); item.Name = "royal sword"; break; case 27: item = new LargeBattleAxe(); item.Name = "large battle axe"; break; case 28: item = new WarAxe(); item.Name = "war axe"; break; case 29: item = new Bardiche(); item.Name = "bardiche"; break; case 30: item = new Halberd(); item.Name = "halberd"; break; case 31: item = new Pitchfork(); item.Name = "trident"; break; case 32: item = new ShortSpear(); item.Name = "short spear"; break; case 33: item = new Spear(); item.Name = "spear"; break; case 34: item = new NoDachi(); item.Name = "no dachi"; break; case 35: item = new Wakizashi(); item.Name = "wakizashi"; break; case 36: item = new Tetsubo(); item.Name = "tetsubo"; break; case 37: item = new Lajatang(); item.Name = "lajatang"; break; case 38: item = new Daisho(); item.Name = "daisho"; break; case 39: item = new Tekagi(); item.Name = "tekagi"; break; case 40: item = new Kama(); item.Name = "kama"; break; case 41: item = new Sai(); item.Name = "sai"; break; } return(item); }