Exemple #1
0
        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();
            }
        }
Exemple #2
0
        /* 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;
                        }
                    }
                }
            }
        }