diff options
-rw-r--r-- | npc/020-7-1/sage.txt | 52 | ||||
-rw-r--r-- | npc/020-7/elias.txt | 134 | ||||
-rw-r--r-- | npc/020-7/workers.txt | 4 |
3 files changed, 183 insertions, 7 deletions
diff --git a/npc/020-7-1/sage.txt b/npc/020-7-1/sage.txt index fba75e0d2..3d03a0849 100644 --- a/npc/020-7-1/sage.txt +++ b/npc/020-7-1/sage.txt @@ -11,6 +11,7 @@ 020-7-1,35,59,0 script The Blue Sage NPC_BLUESAGE,{ .@cindy=($@CINDY_STATE < gettimetick(2)); + .@q=getq(NivalisQuest_BlueSage); mesn l("Nikolai, the Blue Sage"); if (is_night()) .@t$=l("Good evening"); @@ -23,6 +24,57 @@ if (.@cindy) { mesc l("Nikolai takes a sweat of his head. He seems worried with Cindy."); } + next; + select + rif(.@q, l("I came here to talk about the World's Edge.")), + 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 + if (.@q == 12) { + mesc b(l(".:: Main Quest 4-1 ::.")), 3; + mesc l("* Get information about the World Edge"), 1; + mesc l("@@ You need to wait further releases to continue this quest!", b(l("WARNING:"))); + 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."); + break; + case 2: + // 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("However, the situation is different if someone from Hurnscald went there. That's why I ask you to help my Cindy."); + next; + mesn l("Nikolai, the Blue Sage"); + mesq l("However, talk to my wife first. And to someone who knows more about Yetis. I think someone on Hurnscald Household knew a lot about them."); + break; + } close; OnInit: diff --git a/npc/020-7/elias.txt b/npc/020-7/elias.txt index d91da461c..725f7353e 100644 --- a/npc/020-7/elias.txt +++ b/npc/020-7/elias.txt @@ -19,32 +19,152 @@ 020-7,44,41,0 script #BlueSageEntry NPC_HIDDEN,1,1,{ OnTouch: .@q=getq(NivalisQuest_BlueSage); - if (!.@q) { + if (!.@q || .@q == 13) { slide 42, 43; doevent "Elias::OnAccessDenied"; } end; } +// Here we start 020-7,40,41,0 script Elias NPC_BLUESAGEWORKER_MB,{ + function eliasWorry; + function eliasQuestion; + function eliasThankyou; + function eliasConfirmed; mesn; mesq l("Hello, and welcome to Blue Sage's Residence, Library, and Nivalis Townhall."); // TODO .@q=getq(NivalisQuest_BlueSage); - if (.@q) - close; + if (.@q && .@q != 13) + goto L_Main; next; mesn; mesq l("Due to a recent incident involving slimes, the building is closed to public visits."); - .@q=getq(General_Narrator); + .@qn=getq(General_Narrator); + mes ""; select l("That's sad to hear."), - rif(.@q == 10, l("I have a letter from Rakinorf.")), + rif(.@qn == 10 && !.@q, l("I have a letter from Rakinorf.")), + rif(.@q == 13, l("So? How was it?")), l("What happened?"); - mes ""; - goodbye; + mes ""; + switch (@menu) { + case 2: + mesn; + mesq l("Oh, you must be from Hurnscald Household, then. Hand me the letter, I'll have it delivered."); + next; + mesn; + mesq l("Please wait here a short while."); + setq NivalisQuest_BlueSage, 13, 0, 0; + break; + case 3: + mesn; + mesq l("Yes, the Blue Sage will see you."); + next; + mesn; + mesq l("Please don't mind the mess, there are slimes everywhere, thanks to Peetu."); + next; + mesn; + mesq l("You may pass. The Sage is on the library waiting for you."); + setq NivalisQuest_BlueSage, 14, 0, 0; + break; + case 4: + mesn; + mesq l("Slimes are on the loose. They have escaped, ate several books, and some are still in the building."); + next; + mesn; + mesq l("Some are dangerous, too. Even if you look capable of fighting, the Blue Sage instructed me to prevent anyone from visiting until the mess is cleared."); + break; + } + //goodbye; close; +L_Main: + next; + // .@q is preserved when you use goto + switch (.@q) { + case 1: + //case 12: + eliasQuestion(); + break; + case 3: + case 6: + case 9: + eliasWorry(); + break; + case 4: + case 7: + case 10: + eliasConfirmed(); + break; + case 11: + eliasThankyou(); + break; + default: + mesn; + mesq l("I heard you have been assisting the household staff. For that, I am thankful."); + break; + } + close; + +function eliasWorry { + mesn; + mesq l("After your questions I'm really getting worried about this guy with the mask. In retrospect it really seems suspicous."); + next; + mesn; + mesq l("It might be a good idea to ask around if anyone else observed something odd connected to this person."); + return; +} + +function eliasConfirmed { + mesn; + mesq l("I heard your investigations reminded other people that they observed suspicious behaviour too."); + next; + mesn; + mesq l("It's all my fault, I should've paid more attention! You should talk to Chief Oskari about this."); + return; +} + +function eliasThankyou { + mesn; + mesq l("Now that Chief Oskari knows about the sequence of events, the Sage will take care of it. It's really a shame how malicious people can be."); + next; + mesn; + mesq l("Thanks a lot for your help revealing the truth."); + return; +} + +function eliasQuestion { + select + l("Can you tell me if there were any unusual visitors before the accident?"), + l("Thanks, pal. I still got some matters to discuss with the Blue Sage if you excuse me."); + mes ""; + if (@menu == 2) { + mesn; + mesq l("Yes, of course. We have good relations with Hurnscald Town, so you're welcome."); + close; + } + mesn; + mesq l("Now that Chief Oskari knows about the sequence of events, the Sage will take care of it. It's really a shame how malicious people can be."); + next; + mesn; + mesq l("Mh, let me think. There were quite a few visitors with different concerns, but that's usual at this time of the year."); + next; + mesn; + mesq l("One of them was a bit odd, they were wearing a mask and had a strange way of talking. They said they came from Frostia, which is an elven town in the north. Elves are usually shy, so I thought it would have been rude to ask them to remove the mask."); + next; + mesn; + mesq l("If I remember correctly they wanted to see the library. They looked like a man, but you never know."); + next; + mesc l("Elias gets a bit excited now."); + mesn; + mesq l("Do you think he may have had something to do with the accident? We're a very hospitable house, so I didn't see a reason to deny him the entrance. I mean, his mask might have been a bit unusual, but hey, there could've been many reasons why someone would wear a mask, don't you think?"); + setq1 NivalisQuest_BlueSage, .@q + 1; + return; +} + + OnAccessDenied: npctalk3 l("You can't go in there!"); end; diff --git a/npc/020-7/workers.txt b/npc/020-7/workers.txt index 5c4683e95..2e7388e8f 100644 --- a/npc/020-7/workers.txt +++ b/npc/020-7/workers.txt @@ -16,6 +16,8 @@ switch (.@q) { case 1: case 2: + case 13: + case 14: break; case 3: case 4: @@ -125,6 +127,8 @@ OnInit: end; OnInit: + .sex=G_FEMALE; + .distance=5; npcsit; end; } |