예제 #1
0
        public override List <DialogueOption> AddDialogueOptions(bool IsTalkDialogue, int GuardianID, string GuardianModID)
        {
            TravellerQuestData data = (TravellerQuestData)Data;

            switch (data.QuestStep)
            {
            case 1:
                if (GuardianID == GuardianBase.Zacks && GuardianModID == MainMod.mod.Name)
                {
                    List <DialogueOption> d = base.AddDialogueOptions(IsTalkDialogue, GuardianID, GuardianModID);
                    d.Add(new DialogueOption("What you wanted to ask me about?", ZacksSpeakingAboutBluePlayerAskedLater, true));
                    return(d);
                }
                break;

            case 2:
                if (GuardianID == GuardianBase.Blue && GuardianModID == MainMod.mod.Name)
                {
                    List <DialogueOption> d = base.AddDialogueOptions(IsTalkDialogue, GuardianID, GuardianModID);
                    d.Add(new DialogueOption("I need to talk to you.", SpeakingToBlueAfterTalkingToZacks, true));
                    return(d);
                }
                break;
            }
            return(base.AddDialogueOptions(IsTalkDialogue, GuardianID, GuardianModID));
        }
예제 #2
0
        private void ZacksRequestStep()
        {
            TravellerQuestData data = (TravellerQuestData)Data;

            Dialogue.ShowDialogueWithContinue("*I am worried about Blue. Ever since I returned, she's been taking care of me.*", ContinueText: "And what is the problem?");
            Dialogue.ShowDialogueWithContinue("*She always liked entering in new adventures, but it feels like I'm locking her at home.*", ContinueText: "You want me to take her on an adventure?");
            Dialogue.ShowDialogueWithContinue("*You're mostly always exploring the world, so I think that's going to help.*", ContinueText: "What about you?");
            Dialogue.ShowDialogueWithContinue("*Don't worry much about me. Unless a bloodmoon happens, I can deal with my hunger issue.*", ContinueText: "I'll see to that then.");
            data.QuestStep = 2;
            Dialogue.ShowEndDialogueMessage("*Thanks [nickname]. Is there something else you want to talk to me?*", false);
        }
예제 #3
0
        private void ZacksSpeakingAboutBlue()
        {
            TravellerQuestData data = (TravellerQuestData)Data;

            if (Dialogue.ShowDialogueWithOptions("*I have something I have to ask of you, [nickname].*", new string[] { "What is it?", "I can't right now." }) == 1)
            {
                data.QuestStep = 1;
                Dialogue.ShowEndDialogueMessage("*So, speak to me when possible, It's about Blue.*", false);
                return;
            }
            ZacksRequestStep();
        }
예제 #4
0
        public override Action ImportantDialogueMessage(QuestData rawdata, TerraGuardian tg, int GuardianID, string GuardianModID)
        {
            TravellerQuestData data = (TravellerQuestData)rawdata;

            switch (data.QuestStep)
            {
            case 0:
                if (GuardianID == GuardianBase.Zacks && GuardianModID == MainMod.mod.Name && NpcMod.HasGuardianNPC(GuardianBase.Blue) && !PlayerMod.IsQuestActive(Main.LocalPlayer, 0))
                {
                    return(ZacksSpeakingAboutBlue);
                }
                break;
            }
            return(base.ImportantDialogueMessage(data, tg, GuardianID, GuardianModID));
        }
예제 #5
0
 private void SpeakingToBlueAfterTalkingToZacks()
 {
     TravellerQuestData data = (TravellerQuestData)Data;
 }