diff options
Diffstat (limited to 'npc/020-7')
-rw-r--r-- | npc/020-7/elias.txt | 134 | ||||
-rw-r--r-- | npc/020-7/workers.txt | 4 |
2 files changed, 131 insertions, 7 deletions
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; } |