protected static void PlayerLeftWorld(DOLEvent e, object sender, EventArgs args) { GamePlayer player = sender as GamePlayer; if (player == null) { return; } GameEventMgr.RemoveHandler(player, GamePlayerEvent.Quit, new DOLEventHandler(PlayerLeftWorld)); StolenEggs quest = player.IsDoingQuest(typeof(StolenEggs)) as StolenEggs; if (quest != null) { quest.deleteGrifflet(); } }
/* This is the method we declared as callback for the hooks we set to * NPC. It will be called whenever a player right clicks on NPC * or when he whispers something to him. */ protected static void TalkToNjiedi(DOLEvent e, object sender, EventArgs args) { // We get the player from the event arguments and check if he qualifies GamePlayer player = ((SourceEventArgs)args).Source as GamePlayer; if (player == null) { return; } if (dalikor.CanGiveQuest(typeof(StolenEggs), player) <= 0) { return; } // We also check if the player is already doing the quest StolenEggs quest = player.IsDoingQuest(typeof(StolenEggs)) as StolenEggs; njiedi.TurnTo(player); // Did the player rightclick on NPC? if (e == GameObjectEvent.Interact) { if (quest != null) { if (quest.Step == 5) { njiedi.SayTo(player, LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Mid.StolenEggs.TalkToNjiedi.Talk1", player.Name)); if (quest.grifflet != null) { quest.grifflet.StopFollowing(); quest.deleteGrifflet(); } } else if (quest.Step == 6) { njiedi.SayTo(player, LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Mid.StolenEggs.TalkToNjiedi.Talk2")); if (player.HasAbilityToUseItem(recruitsVest)) { GiveItem(njiedi, player, recruitsVest); } else { GiveItem(njiedi, player, recruitsQuiltedVest); } quest.Step = 7; } return; } } // The player whispered to NPC (clicked on the text inside the []) else if (e == GameLivingEvent.WhisperReceive) { WhisperReceiveEventArgs wArgs = (WhisperReceiveEventArgs)args; if (quest != null) { if (wArgs.Text == LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Mid.StolenEggs.TalkToNjiedi.Whisper1")) { njiedi.SayTo(player, LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Mid.StolenEggs.TalkToNjiedi.Talk2")); if (quest.Step == 6) { if (player.HasAbilityToUseItem(recruitsVest)) { GiveItem(njiedi, player, recruitsVest); } else { GiveItem(njiedi, player, recruitsQuiltedVest); } quest.Step = 7; } } } } }