diff options
Diffstat (limited to 'npc')
-rw-r--r-- | npc/020-7-1/core.txt | 6 | ||||
-rw-r--r-- | npc/020-7-1/janitors.txt | 102 | ||||
-rw-r--r-- | npc/020-7-1/oskari.txt | 12 | ||||
-rw-r--r-- | npc/020-7-1/pagefinders.txt | 96 | ||||
-rw-r--r-- | npc/020-7-1/peetu.txt | 10 | ||||
-rw-r--r-- | npc/020-7-1/sage.txt | 10 | ||||
-rw-r--r-- | npc/020-7/elias.txt | 3 |
7 files changed, 173 insertions, 66 deletions
diff --git a/npc/020-7-1/core.txt b/npc/020-7-1/core.txt index a247aee3d..3413ce009 100644 --- a/npc/020-7-1/core.txt +++ b/npc/020-7-1/core.txt @@ -16,12 +16,12 @@ function script BSQuestion { // After you collected everyone's feedback, hide the option if (is_between(3,8,.@b1)) { - if (.@b2 < BS_NPCALL) + if (.@b3 < BS_NPCALL) .@rt=.@rt | BS_QHELPER; } - if (.@b1 == 7) { - if (.@b3 < BS_NPCALL) + if (.@b1 == 6) { + if (.@b2 < BS_NPCALL) .@rt=.@rt | BS_QVISITOR; } return .@rt; diff --git a/npc/020-7-1/janitors.txt b/npc/020-7-1/janitors.txt index b94147df9..617028cd0 100644 --- a/npc/020-7-1/janitors.txt +++ b/npc/020-7-1/janitors.txt @@ -13,8 +13,48 @@ 020-7-1,50,63,6 script Pyry NPC_BLUESAGEWORKER_MB,{ npctalk3 l("I warn about dangers and controls the fights."); - goodbye; - end; + function askQuestion; + mesc l("ERROR TODO"); + askQuestion(); + close; + +function askQuestion { + do { + .@q=getq(NivalisQuest_BlueSage); + .@q2=getq2(NivalisQuest_BlueSage); + .@q3=getq3(NivalisQuest_BlueSage); + .@qs=BSQuestion(getq(NivalisQuest_BlueSage)); + .@qt=getq3(NivalisQuest_BlueSage); + next; + mes ""; + select + rif(.@qt < 255, "What are you doing?"), + rif(.@qs & BS_QVISITOR, l("Do you know anything about the strange visitor?")), + rif(.@qs & BS_QHELPER, l("What's your opinion of Peetu and his work?")), + any(l("I need to leave."), l("See you."), l("Bye.")); + mes ""; + switch (@menu) { + case 1: + mesn; + mesq l("TODO!"); + break; + case 2: + mesn; + mesq l("Mh, yes. I remember him. He was very interested in the library and the research we do here. He had an unusual behaviour and appearance. But, well, that isn't a reason to refuse someone, right?"); + break; + case 3: + mesn; + mesq l("Peetu? I have always been glad to have him on the team. He's really brought forward our work here."); + next; + mesn; + mesq l("I was very surprised when I heard that he's responsible for the failed sealing. I'd never have expected that from him."); + if (!(.@q3 & .bsId)) + setq3 NivalisQuest_BlueSage, .@q3 | .bsId; + break; + } + } while (@menu != 4); + close; +} OnInit: .bsId=BS_NPC06; @@ -99,6 +139,7 @@ function askQuestion { case 2: mesn; mesq l("With a mask? Mh, I think I know who are you talking about. I vaguely remember that there was someone with a mask... but I can't recall any details, I wasn't really paying attention."); + close; break; case 3: mesn; @@ -108,6 +149,7 @@ function askQuestion { mesq l("I really wonder how that accident could've happened. I'd have never expected him to mess something up like that."); if (!(.@q3 & .bsId)) setq3 NivalisQuest_BlueSage, .@q3 | .bsId; + close; break; } } while (@menu != 4); @@ -165,6 +207,24 @@ OnInit: close; function askQuestion { + next; + if (.@qt >= 255) { + mesn; + mesq l("Good work with the slimes. This will make our task much easier."); + next; + mesn; + mesc l("*sigh*"); + mesq l("It appears we were focusing too much on research and this lead to neglect of other duties of a Sage's household. This is dangerous in times of changes. I'm worried about the future."); + } else if (.@qt) { + mesn; + mesc l("*sighs*"); + mesq l("We really appreciate your help with the slimes."); + } else { + mesn; + mesq l("It's dangerous in the library right now, be careful. Do you need anything else?"); + } + + // Mainframe Loop do { .@q=getq(NivalisQuest_BlueSage); .@q2=getq2(NivalisQuest_BlueSage); @@ -172,21 +232,6 @@ function askQuestion { .@qs=BSQuestion(getq(NivalisQuest_BlueSage)); .@qt=getq2(NivalisQuest_BlueSageSlimes); next; - if (.@qt >= 255) { - mesn; - mesq l("Good work with the slimes. This will make our task much easier."); - next; - mesn; - mesc l("*sigh*"); - mesq l("It appears we were focusing too much on research and this lead to neglect of other duties of a Sage's household. This is dangerous in times of changes. I'm worried about the future."); - } else if (.@qt) { - mesn; - mesc l("*sighs*"); - mesq l("We really appreciate your help with the slimes."); - } else { - mesn; - mesq l("It's dangerous in the library right now, be careful. Do you need anything else?"); - } mes ""; select rif(.@qt < 255, ""), @@ -359,6 +404,19 @@ OnInit: close; function askQuestion { + next; + if (.@qt >= 255) { + mesn; + mesq l("I heard you fought the slimes that were still roaming between the bookshelves. Thank you!"); + next; + mesn; + mesq l("I was a bit worried that they might ruin our efforts by messing everything up again after we just cleaned."); + } else { + mesn; + mesq l("I'm just searching for some cleaning supplies. They must be somewhere around here, but everything went upside down when the slimes escaped."); + } + + // Mainframe Loop do { .@q=getq(NivalisQuest_BlueSage); .@q2=getq2(NivalisQuest_BlueSage); @@ -366,16 +424,6 @@ function askQuestion { .@qs=BSQuestion(getq(NivalisQuest_BlueSage)); .@qt=getq2(NivalisQuest_BlueSageSlimes); next; - if (.@qt >= 255) { - mesn; - mesq l("I heard you fought the slimes that were still roaming between the bookshelves. Thank you!"); - next; - mesn; - mesq l("I was a bit worried that they might ruin our efforts by messing everything up again after we just cleaned."); - } else { - mesn; - mesq l("I'm just searching for some cleaning supplies. They must be somewhere around here, but everything went upside down when the slimes escaped."); - } mes ""; select rif(.@qt == 255, "Did you found the supplies yet?"), diff --git a/npc/020-7-1/oskari.txt b/npc/020-7-1/oskari.txt index 1268a7d43..6b27bab4d 100644 --- a/npc/020-7-1/oskari.txt +++ b/npc/020-7-1/oskari.txt @@ -171,11 +171,15 @@ function pComplete { } +OnTimer1000: + domovestep; + OnInit: initpath "move", 122, 29, "dir", UP, 0, - "wait", 15, 0, + "wait", 5, 0, "dir", LEFT, 0, + "move", 59, 29, "move", 56, 29, "wait", 3, 0, "dir", RIGHT, 0, @@ -201,7 +205,11 @@ OnInit: "move", 25, 77, "wait", 3, 0, "dir", RIGHT, 0, - "wait", 10, 0; + "wait", 10, 0, + "move", 56, 29, + "wait", 3, 0, + "dir", RIGHT, 0, + "wait", 1, 0; // And go back to Peetu, which is very far away, 'cause I'm lazy initialmove; initnpctimer; diff --git a/npc/020-7-1/pagefinders.txt b/npc/020-7-1/pagefinders.txt index 719b7da6b..3fa639c19 100644 --- a/npc/020-7-1/pagefinders.txt +++ b/npc/020-7-1/pagefinders.txt @@ -3,7 +3,7 @@ // Jesusalva // TMW Org. // Description: -// Responsible for recovering the lost pages +// Responsible for recovering the lost pages (SpellBookPage) // helperBookpages* // // NivalisQuest_BlueSagePagefinder STRUCTURE @@ -13,9 +13,51 @@ // nÂș of pages found (0~31) 020-7-1,36,39,4 script Ensio NPC_BLUESAGEWORKER_MB,{ - npctalk3 l("Collects book pages"); - goodbye; - end; + function askQuestion; + mesc l("ERROR TODO"); + askQuestion(); + close; + +function askQuestion { + do { + .@q=getq(NivalisQuest_BlueSage); + .@q2=getq2(NivalisQuest_BlueSage); + .@q3=getq3(NivalisQuest_BlueSage); + .@qs=BSQuestion(getq(NivalisQuest_BlueSage)); + .@qt=getq(NivalisQuest_BlueSagePagefinder); + next; + mes ""; + select + rif(.@qt < 255, "What are you doing?"), + rif(.@qs & BS_QVISITOR, l("Do you know anything about the strange visitor?")), + rif(.@qs & BS_QHELPER, l("What's your opinion of Peetu and his work?")), + any(l("I need to leave."), l("See you."), l("Bye.")); + mes ""; + switch (@menu) { + case 1: + mesn; + mesq l("TODO!"); + break; + case 2: + mesn; + mesq l("Visitor with a mask? Ah, I think I know who are you talking about. Black clothes and a golden mask. Rather strange guy."); + next; + mesn; + mesq l("He was looking around in the library a while, and then came to ask about our research. He seemed to be particularly interested in our experiments with the slimes."); + next; + mesn; + mesq l("Heh, I wonder what he would've said if he'd have visited us a little bit later. Mh, now that I think about it, the accident with the slimes happened just the night after he was here."); + if (!(.@q2 & .bsId)) + setq2 NivalisQuest_BlueSage, .@q2 | .bsId; + break; + case 3: + mesn; + mesq l("Oh, I can't really tell. I'm mostly working in the library, while he's very involved in the research."); + break; + } + } while (@menu != 4); + close; +} OnInit: .bsId=BS_NPC07; @@ -55,24 +97,27 @@ OnInit: close; function askQuestion { + next; + if (.@qt >= 255) { + mesn; + mesq l("I'm so glad we didn't have to go out to hunt the slimes! Thank you!"); + } else if (.@qt) { + mesn; + mesq l("If you get any bookpages from the slimes, bring them to Ensio. Thanks for your help!"); + } else { + mesn; + mesc l("*sighs*"); + mesq l("Oh, hey. Welcome to the library, or what's left of it."); + } + + // Mainframe Loop do { .@q=getq(NivalisQuest_BlueSage); .@q2=getq2(NivalisQuest_BlueSage); .@q3=getq3(NivalisQuest_BlueSage); .@qs=BSQuestion(getq(NivalisQuest_BlueSage)); - .@qt=getq3(NivalisQuest_BlueSage); + .@qt=getq(NivalisQuest_BlueSagePagefinder); next; - if (.@qt >= 255) { - mesn; - mesq l("I'm so glad we didn't have to go out to hunt the slimes! Thank you!"); - } else if (.@qt) { - mesn; - mesq l("If you get any bookpages from the slimes, bring them to Ensio. Thanks for your help!"); - } else { - mesn; - mesc l("*sighs*"); - mesq l("Oh, hey. Welcome to the library, or what's left of it."); - } mes ""; select rif(.@qt < 255, "What are you doing?"), @@ -151,20 +196,23 @@ OnInit: close; function askQuestion { + next; + if (.@qt >= 255) { + mesn; + mesq l("Thanks for helping out here. Do you need anything else?"); + } else if (.@qt) { + mesn; + mesq l("Did you find some bookpages? Ensio will take them."); + } + + // Mainframe Loop do { .@q=getq(NivalisQuest_BlueSage); .@q2=getq2(NivalisQuest_BlueSage); .@q3=getq3(NivalisQuest_BlueSage); .@qs=BSQuestion(getq(NivalisQuest_BlueSage)); - .@qt=getq3(NivalisQuest_BlueSage); + .@qt=getq(NivalisQuest_BlueSagePagefinder); next; - if (.@qt >= 255) { - mesn; - mesq l("Thanks for helping out here. Do you need anything else?"); - } else if (.@qt) { - mesn; - mesq l("Did you find some bookpages? Ensio will take them."); - } mes ""; select rif(.@qt == 255, ""), diff --git a/npc/020-7-1/peetu.txt b/npc/020-7-1/peetu.txt index 3e79d02cf..4f6187942 100644 --- a/npc/020-7-1/peetu.txt +++ b/npc/020-7-1/peetu.txt @@ -117,9 +117,11 @@ function pIntro { case 1: if (.@q2 < 1) setq2 NivalisQuest_BlueSage, 1; + break; case 2: if (!countitem(SeaDrops)) { mesc l("You don't have @@.", getitemlink(SeaDrops)); + close; } if (.@q2 < 2) setq2 NivalisQuest_BlueSage, 2; @@ -127,6 +129,7 @@ function pIntro { case 3: if (!countitem(ChocolateBar)) { mesc l("You don't have @@.", getitemlink(ChocolateBar)); + close; } if (.@q2 < 3) setq2 NivalisQuest_BlueSage, 3; @@ -134,6 +137,7 @@ function pIntro { case 4: if (!countitem(MoubooFigurine)) { mesc l("You don't have @@.", getitemlink(MoubooFigurine)); + close; } if (.@q2 < 4) setq2 NivalisQuest_BlueSage, 4; @@ -209,7 +213,7 @@ function pContinue { mesq l("Well ... but ... I mean ... I don't know ... "); next; mesn; - mesq l("Would you ... uhm ... would you talk to Chief Oskari for me? And ask him what he plans to do about me? I... I just don't feel capable of doing that myself right now. I'll try to pull myself together in the meanwhile."); + mesq l("Would you ... uhm ... would you talk to Chief Oskari for me? And ask her what she plans to do about me? I... I just don't feel capable of doing that myself right now. I'll try to pull myself together in the meanwhile."); setq NivalisQuest_BlueSage, 3, 0; close; } @@ -221,7 +225,7 @@ function pReflection { .@q2=getq2(NivalisQuest_BlueSage); .@q3=getq3(NivalisQuest_BlueSage); select - l("Good news: Oskari doesn't plans in firing you (yet)!"), + l("Good news - Oskari doesn't plans in firing you (yet)!"), l("I'm here to investigate what exactly happened so this doesn't happens again."), l("Everyone commit mistakes and Oskari was very understanding. I need to do some questions about the incident though."), l("Oskari have a good opinion of you. Can you tell what exactly happened?"); @@ -266,7 +270,7 @@ function pReflection { mesq l("I never tried it, because it makes no sense to do that, but theoretically adding some Silk Cocoons could have such an effect. Uh... but that should not happen."); next; mesn; - mesq l("Could you please ask @@ about it? The ingredients... It would still be my fault..."), b(l("Elias")); + mesq l("Could you please ask @@ about it? The ingredients... It would still be my fault...", b(l("Elias"))); next; mesc l("@@ is on the verge of crying again. Better leave out and look for Elias.", .name$); setq1 NivalisQuest_BlueSage, 5; diff --git a/npc/020-7-1/sage.txt b/npc/020-7-1/sage.txt index 315068b1d..5d05cdf37 100644 --- a/npc/020-7-1/sage.txt +++ b/npc/020-7-1/sage.txt @@ -42,9 +42,10 @@ .@cindy=($@CINDY_STATE < gettimetick(2)); .@q=getq(NivalisQuest_BlueSage); - .@qt=getq(NivalisQuest_BlueSagePagemaker); // If you helped the four page makers, you receive a reward + // I know a Titanium Ingot is lame, but in TMW Org. there was no reward *at all* + .@qt=getq(NivalisQuest_BlueSagePagemaker); if (.@qt == 0) { .@qt2=getq2(NivalisQuest_BlueSagePagemaker); if (.@qt2 == BS_PMALL) { @@ -59,7 +60,6 @@ setq1 NivalisQuest_BlueSagePagemaker, 1; next; } - } mesn l("Nikolai, the Blue Sage"); @@ -139,16 +139,14 @@ function nReport { 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 l("Nikolai, the Blue Sage"); - mesq l("I cannot answer you the later, but I can answer the former. And also explain what the title means."); + mesq l("I cannot answer you about yourself, but I can tell you about the Ancient Families and the World Edge. Which is classified information, by the way."); next; mesn l("Nikolai, the Blue Sage"); 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 l("Nikolai, the Blue Sage"); 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 l("Nikolai, the Blue Sage"); - 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; diff --git a/npc/020-7/elias.txt b/npc/020-7/elias.txt index 162cb7b89..1e771be72 100644 --- a/npc/020-7/elias.txt +++ b/npc/020-7/elias.txt @@ -132,6 +132,7 @@ function eliasWorry { if (.@q2 == BS_NPCALL) { setq1 NivalisQuest_BlueSage, 7; eliasConfirmed(); + close; } mesn; mesq l("After your questions I'm really getting worried about this guy with the mask. In retrospect it really seems suspicous."); @@ -181,7 +182,7 @@ function eliasQuestion { mesq l("But that is unlikely, we have no reason to sabotage our own work! You saw the mess it caused. Everyone knew it was important."); next; mesn strcharinfo(0); - mesq l("Hmm, it might be a hunch but... Can you tell me if there were any unusual visitors before the accident?"); + mesq l("Hmm, it might be a hunch but... Can you tell me if there were any unusual visitors before the incident?"); 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."); |