public override void OnTalk(PlayerMobile player, bool contextMenu) { Direction = GetDirectionTo(player); QuestSystem qs = player.Quest; if (qs is SweetChildOfMineQuest) { QuestObjective obj = qs.FindObjective(typeof(GoToIguanaCoveObjective)); if (qs.IsObjectiveInProgress(typeof(GoToIguanaCoveObjective))) { Say("*blows nose*"); PlaySound(781); //play blows nose Animate(34, 5, 1, true, false, 0); qs.AddConversation(new DuringGoToIguanaCoveConversation()); } else { obj = qs.FindObjective(typeof(ReturnToDebbieObjective)); if (qs.IsObjectiveInProgress(typeof(ReturnToDebbieObjective))) { PlaySound(803); //play oh! Animate(33, 5, 1, true, false, 0); obj.Complete(); } } } else { QuestSystem newQuest = new SweetChildOfMineQuest(player); bool inRestartPeriod = false; if (qs != null) { newQuest.AddConversation(new DontOfferConversation()); } else if (QuestSystem.CanOfferQuest(player, typeof(SweetChildOfMineQuest), out inRestartPeriod)) { PlaySound(787); //play cries Animate(34, 5, 1, true, false, 0); newQuest.SendOffer(); } else if (inRestartPeriod) { PlaySound(816); //play sigh Animate(32, 5, 1, true, false, 0); newQuest.AddConversation(new RecentlyFinishedConversation()); } } }
public override void OnDoubleClick(Mobile from) { PlayerMobile player = from as PlayerMobile; if (player != null && player.InRange(GetWorldLocation(), 2)) { QuestSystem qs = player.Quest; if (qs is SweetChildOfMineQuest) { QuestObjective obj = qs.FindObjective(typeof(RetrieveBabyObjective)); if ((obj != null && !obj.Completed) || SweetChildOfMineQuest.HasBaby(player)) { Item item = new Baby(); if (player.PlaceInBackpack(item)) { player.SendMessage("Turns out this baby actually belongs to someone. You better take her."); player.PlaySound(0x8E); if (obj != null && !obj.Completed) { obj.Complete(); } } else { player.SendMessage("The harsh noise coming from within the chest is enough to repel you back."); item.Delete(); } return; } } } base.OnDoubleClick(from); }
public override void OnDoubleClick(Mobile from) { PlayerMobile player = from as PlayerMobile; if (player != null && player.InRange(GetWorldLocation(), 2)) { QuestSystem qs = player.Quest; if (qs is SweetChildOfMineQuest) { QuestObjective obj = qs.FindObjective(typeof(FindKeyObjective)); if ((obj != null && !obj.Completed) || SweetChildOfMineQuest.HasIguanaCoveKey(player)) { Item item = new IguanaCoveKey(); if (player.PlaceInBackpack(item)) { player.SendMessage("You take the key from the barrel and place it in your pack."); if (obj != null && !obj.Completed) { obj.Complete(); } } else { player.SendMessage("You find a key and have no immediate use for it. At least for now."); item.Delete(); } return; } } } base.OnDoubleClick(from); }