diff options
Diffstat (limited to 'npc')
-rw-r--r-- | npc/020-7-1/sage.txt | 245 |
1 files changed, 210 insertions, 35 deletions
diff --git a/npc/020-7-1/sage.txt b/npc/020-7-1/sage.txt index 2ddc119d6..99c4ea8af 100644 --- a/npc/020-7-1/sage.txt +++ b/npc/020-7-1/sage.txt @@ -5,8 +5,8 @@ // Description: // Blue Sage // -// Minimum level: 36 (implicit) -// Minimum jblvl: 16 (implicit) +// Minimum level: 36 (implicit) -> 40 (presumed at quest end) +// Minimum jblvl: 16 (implicit) -> 20 (presumed at quest end) // // NivalisQuest_BlueSage STRUCTURE // FIELD 1: @@ -35,6 +35,11 @@ // Bitwise (BS_QHELPER) 020-7-1,35,59,0 script The Blue Sage NPC_BLUESAGE,{ + function nStart; + function nReport; + function nLetters; + function nCindy; + .@cindy=($@CINDY_STATE < gettimetick(2)); .@q=getq(NivalisQuest_BlueSage); mesn l("Nikolai, the Blue Sage"); @@ -51,14 +56,16 @@ } next; select - rif(.@q, l("I came here to talk about the World's Edge.")), + rif(.@q < 10, l("I came here to talk about the World's Edge.")), rif(.@q == 10, l("I came here to report... A sabotage.")), + rif(.@q == 11, l("I'm back.")), + rif(.@q >= 12, l("Can you repeat what you said before?")), rif(.@cindy, l("Aren't you Cindy's father? Why don't you go to her rescue?")), l("Please excuse me, Blue Sage Nikolai."); mes ""; switch (@menu) { case 1: - // Quest ends at stage 12 + // Quest ends at stage 12 (and you're in Frostia arcs) if (.@q == 12) { mesc b(l(".:: Main Quest 4-1 ::.")), 3; mesc l("* Get information about the World Edge"), 1; @@ -66,51 +73,219 @@ close; } // You must solve the issue here, first - mesn l("Nikolai, the Blue Sage"); - mesq l("Well, I would love to, but the house is a mess."); - next; - mesn l("Nikolai, the Blue Sage"); - mesq l("All Peetu have been doing the past hours was crying, and crying, and crying some more. I can't barely sleep hearing his cries from my room."); - next; - mesn l("Nikolai, the Blue Sage"); - mesq l("Not only that, but he is the only one here besides me who can do magic. Without him, I have to work doubled."); - next; - mesn l("Nikolai, the Blue Sage"); - mesq l("He should be crying in the far northeast corner of this library. Can you go there to see him?"); - next; - mesn l("Nikolai, the Blue Sage"); - mesq l("Once he resumes working confiantly, we can go over this important subject."); + nStart(); break; + // Blue Sage Investigation: Report about saboutage case 2: - mesc l("TODO"), 1; + nReport(); break; + // Blue Sage Investigation: Post-Report case 3: + if (@timed < gettimetick(2)) + nLetters(); + else + mesq l("I'm not done yet, please hold tight. It won't take long."); + break; + // Repeat about WE and AFSM + case 4: + nLetters(); + break; + // Question about Cindy + case 5: // Quest ends at stage 12 if (.@q != 12) { mesn l("Nikolai, the Blue Sage"); mesq l("The house is a mess. They need me here. Also."); next; } - mesn l("Nikolai, the Blue Sage"); - mesq l("Just like every cave below the woodlands are under the Terranite King domains, every land covered in snow is under the Yeti King's domains."); - next; - mesn l("Nikolai, the Blue Sage"); - mesq l("It would be unwise to pick a fight with the Yeti King himself. The whole town would suffer."); - next; - mesn l("Nikolai, the Blue Sage"); - mesq l("Not only that, but the Yeti King and me had an... incident, in times best forgotten. Let's not talk about it."); - next; - mesn l("Nikolai, the Blue Sage"); - mesq l("The situation is different if someone from Hurnscald went to her rescue. That's why I ask you to help my Cindy."); - next; - mesn l("Nikolai, the Blue Sage"); - mesq l("Please talk to my wife first, she knows more about the situation than I do."); - next; - mesq l("Also, Yetis can be crafty at times. I think someone on Hurnscald Household knew a lot about them, you might want to ask them if you ever feel struck."); + nCindy(); break; } close; +// Report about the sabotage +function nReport { + mesc l("You explain the Blue Sage about the sabotage incident details, from the Silk Cocoon to the masked visitor."); + next; + mesn; + mesq l("Hm hm. Thanks for the report. Well, as you could have suspected... I knew that all along."); + next; + mesn; + mesq l("Listen, it was not only me who had issues with this... Masked Man. Auldsbel also had a similar issues."); + next; + mesn; + mesq l("In other words, whoever they are, they're after the sages. They are not targetting just simple magical users. This might be a problem."); + next; + mesn; + mesq l("I must, however, thank you. I could not just come straight up and tell that to everyone, nor simply lock the house without no reason. I'm always fair."); + next; + mesn; + mesq l("Your help was invaluable, my staff believed in the unbiased view of the Hurnscald Household. Alas, now Peetu is capable to work again."); + next; + mesn; + mesq l("You wanted to know about the World Edge, right? The Ancient Families of the Soul Menhir, and if you're part of them..."); + next; + mesn; + mesq l("I cannot answer you the later, but I can answer the former. And also explain what the title means."); + next; + mesn; + mesq l("However, you'll need to keep cooperating with me. Trust me, this incident and what you look for it is closely related."); + next; + mesn; + mesq l("I'll be writing a letter to the next town you're going to visit, and also assign work to my household. You should come back later."); + next; + mesn; + mesq l("Here, take this. It's time to you learn to craft your own weapon. Talk to Nicholas in Hurnscald forge to make an awesome @@. Or use it on some other craft, it is your choice.", getitemlink(Backsword)); + getexp 17500, 1000; + setq1 NivalisQuest_BlueSage, 11; + @timed=gettimetick(2)+30; + return; +} + +// Receive the letters and the next task along a text wall about the AFSM and WE +function nLetters { + .@q=getq(NivalisQuest_BlueSage); + inventoryplace Coal, 20; + mesn; + mesq l("So. For the info dump or text wall... I'll let you choose what you want to know, or to skip it entirely."); + + do { + next; + mesc l("What do you want to know?"); + mes ""; + select + l("What's the World Edge?"), + l("Where is the World's Edge?"), + l("What are the Ancient Families of the Soul Menhir?"), + l("About the Prophecy... What about Elves? Orcs? Redys? Etc.?"), + l("That's everything I wanted to know."); + mes ""; + switch (@menu) { + case 1: + mesn; + mesq l("World's Edge is the place where the Monster King Fortress is."); + next; + mesn; + mesq l("It is the place where it all began... And I'm not talking about the Mana War."); + next; + mesn; + mesq l("It is the birthplace of humans, the first place to come to existence... The World Edge. The place where humanity began, and according to the legend... The place where it shall perish."); + next; + mesn; + mesq l("Humans never built a settlement there. But the prophecy is there."); + break; + case 2: + mesn; + mesq l("World's Edge is an island situated northwest of here."); + break; + case 3: + mesn; + mesq l("Do you know what a Soul Menhir is?"); + next; + mesn; + mesq l("It more than just a piece of Zealite Ore... It is a part of the world's heart."); + next; + mesn; + mesq l("The World's Heart is at World's Edge. The *real* Ancient Families are the ones who broke it in parts and brought it to each town."); + next; + mesn; + mesq l("Thanks to this, we can now respawn after death. But that's when the prophecy was told. The prophecy... Of the death of all humans. It gives me shivers."); + next; + mesn; + mesq l("What you refer as Ancient Families, are probably their descendants. There was nothing special about them, other than they promised to defend mankind of their own actions."); + next; + mesn; + mesq l("When they left to World Edge, they probably were looking for Mana Fragments. In other words... Soul Menhirs. Parts of the World Heart."); + next; + mesn; + mesq l("I don't know why they would repeat a past mistake. The Monster King is not human anymore. I also do not know what artifact they lost. We have more questions than certanity about this."); + break; + case 4: + mesn; + mesq l("They will all perish, along most of wildlife, according to the legend passed down."); + next; + mesn; + mesq l("However, the legend said there was a way to prevent this disaster. A single way... Which the Ancient Families of Soul Menhir kept a secret passed down between generations."); + next; + mesn; + mesq l("Knowing that would make you a descendant of them. But eh, that's asking too much. You had amnesia, right? That was on the letter."); + break; + } + } while (@menu != 5); + + // Quest complete? Don't continue. If needed, give a hint to players. + if (.@q != 11) { + mesn; + if (getq(HurnscaldQuest_Sagratha) == 1) + mesq l("I'm worried with which Sage the masked man will aim next..."); + else + mesq l("Always a pleasure to help."); + close; + } + + mesn; + mesq l("So, back to action! Finally. Your next destination is going to be Frostia Town."); + next; + mesn; + mesq l("Remember the masked man said he was from Frostia? Or masked woman, we don't know. You should inform their Mayor at once."); + next; + mesn; + mesq l("Also, I don't know what Sage will be their next target. I'm... A bit concerned with Sagratha. As she choose to live with wildlife and all, we sorta don't know a lot of what happens with her."); + next; + mesn; + mesq l("Sorry, I'm babbling. Deliver this letter to Frostia Mayor. He will know what to do and what you should do."); + next; + + getitem Coal, 20; + setq1 NivalisQuest_BlueSage, 12; + setq General_Narrator, 11; + mesn; + mesq l("Also, take this. It's time to you learn to craft your own weapon. Talk to Nicholas in Hurnscald forge to make an awesome @@. Or use it on some other craft, it is your choice.", getitemlink(Backsword)); + mesc l("Received @@ @@!", 20, getitemlink(Coal)); + mesc l("Access to basement was granted!"); + return; +} + +// You must solve any issue inside the household before advancing main story +function nStart { + mesn l("Nikolai, the Blue Sage"); + mesq l("Well, I would love to, but the house is a mess."); + next; + mesn l("Nikolai, the Blue Sage"); + mesq l("All Peetu have been doing the past hours was crying, and crying, and crying some more. I can't barely sleep hearing his cries from my room."); + next; + mesn l("Nikolai, the Blue Sage"); + mesq l("Not only that, but he is the only one here besides me who can do magic. Without him, I have to work doubled."); + next; + mesn l("Nikolai, the Blue Sage"); + mesq l("He should be crying in the far northeast corner of this library. Can you go there to see him?"); + next; + mesn l("Nikolai, the Blue Sage"); + mesq l("Once he resumes working confidently, we can go over this important subject."); + return; +} + +// Question about Cindy +function nCindy { + mesn l("Nikolai, the Blue Sage"); + mesq l("Just like every cave below the woodlands are under the Terranite King domains, every land covered in snow is under the Yeti King's domains."); + next; + mesn l("Nikolai, the Blue Sage"); + mesq l("It would be unwise to pick a fight with the Yeti King himself. The whole town would suffer."); + next; + mesn l("Nikolai, the Blue Sage"); + mesq l("Not only that, but the Yeti King and me had an... incident, in times best forgotten. Let's not talk about it."); + next; + mesn l("Nikolai, the Blue Sage"); + mesq l("The situation is different if someone from Hurnscald went to her rescue. That's why I ask you to help my Cindy."); + next; + mesn l("Nikolai, the Blue Sage"); + mesq l("Please talk to my wife first, she knows more about the situation than I do."); + next; + mesq l("Also, Yetis can be crafty at times. I think someone on Hurnscald Household knew a lot about them, you might want to ask them if you ever feel struck."); + return; +} + OnInit: .sex=G_MALE; .distance=5; |