From d890751e6fad356e92c01839aa638378e0c48967 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Mon, 20 May 2019 15:17:33 -0300 Subject: Rework Blue Sage logic --- npc/020-7-1/janitors.txt | 32 +++++++++++++++++++++----------- npc/020-7-1/pagefinders.txt | 10 ++++++++-- npc/020-7-1/pagemakers.txt | 23 ++++++++++++++++------- 3 files changed, 45 insertions(+), 20 deletions(-) (limited to 'npc/020-7-1') diff --git a/npc/020-7-1/janitors.txt b/npc/020-7-1/janitors.txt index 8ee068754..b94147df9 100644 --- a/npc/020-7-1/janitors.txt +++ b/npc/020-7-1/janitors.txt @@ -17,6 +17,7 @@ end; OnInit: + .bsId=BS_NPC06; .sex=G_MALE; .distance=5; npcsit; @@ -68,6 +69,8 @@ OnInit: function askQuestion { do { .@q=getq(NivalisQuest_BlueSage); + .@q2=getq2(NivalisQuest_BlueSage); + .@q3=getq3(NivalisQuest_BlueSage); .@qs=BSQuestion(getq(NivalisQuest_BlueSage)); .@qt=getq2(NivalisQuest_BlueSageSlimes); next; @@ -103,8 +106,8 @@ function askQuestion { next; mesn; mesq l("I really wonder how that accident could've happened. I'd have never expected him to mess something up like that."); - if (is_between(4, 7, .@q)) - setq1 NivalisQuest_BlueSage, .@q + 3; + if (!(.@q3 & .bsId)) + setq3 NivalisQuest_BlueSage, .@q3 | .bsId; break; } } while (@menu != 4); @@ -112,6 +115,7 @@ function askQuestion { } OnInit: + .bsId=BS_NPC05; .sex=G_FEMALE; .distance=5; npcsit; @@ -163,6 +167,8 @@ OnInit: function askQuestion { do { .@q=getq(NivalisQuest_BlueSage); + .@q2=getq2(NivalisQuest_BlueSage); + .@q3=getq3(NivalisQuest_BlueSage); .@qs=BSQuestion(getq(NivalisQuest_BlueSage)); .@qt=getq2(NivalisQuest_BlueSageSlimes); next; @@ -198,9 +204,8 @@ function askQuestion { next; mesn; mesq l("I tried to keep an eye on him after that, but when I got distracted by some newly arriving visitor he went over to the workshop again! Usually I enjoy my job, because I like talking to people, but this guy... was a pain, really."); - // It's safe in this context, don't worry - if (.@qs % 3 == 0) - setq1 NivalisQuest_BlueSage, .@q + 1; + if (!(.@q2 & .bsId)) + setq2 NivalisQuest_BlueSage, .@q2 | .bsId; break; case 3: mesn; @@ -212,6 +217,7 @@ function askQuestion { } OnInit: + .bsId=BS_NPC04; .sex=G_MALE; .distance=5; end; @@ -266,6 +272,8 @@ OnInit: function askQuestion { do { .@q=getq(NivalisQuest_BlueSage); + .@q2=getq2(NivalisQuest_BlueSage); + .@q3=getq3(NivalisQuest_BlueSage); .@qs=BSQuestion(getq(NivalisQuest_BlueSage)); .@qt=getq2(NivalisQuest_BlueSageSlimes); next; @@ -293,9 +301,8 @@ function askQuestion { next; mesn; mesq l("But still, he can't just walk in there, fiddle with the experiments and disturb the helpers doing their work."); - // It's safe in this context, don't worry - if (.@qs % 3 == 0) - setq1 NivalisQuest_BlueSage, .@q + 1; + if (!(.@q2 & .bsId)) + setq2 NivalisQuest_BlueSage, .@q2 | .bsId; break; case 3: mesn; @@ -307,6 +314,7 @@ function askQuestion { } OnInit: + .bsId=BS_NPC05; .sex=G_MALE; .distance=5; end; @@ -353,6 +361,8 @@ OnInit: function askQuestion { do { .@q=getq(NivalisQuest_BlueSage); + .@q2=getq2(NivalisQuest_BlueSage); + .@q3=getq3(NivalisQuest_BlueSage); .@qs=BSQuestion(getq(NivalisQuest_BlueSage)); .@qt=getq2(NivalisQuest_BlueSageSlimes); next; @@ -385,9 +395,8 @@ function askQuestion { next; mesn; mesq l("Visitors should keep away from those!"); - // It's safe in this context, don't worry - if (.@qs % 3 == 0) - setq1 NivalisQuest_BlueSage, .@q + 1; + if (!(.@q2 & .bsId)) + setq2 NivalisQuest_BlueSage, .@q2 | .bsId; break; case 3: mesn; @@ -399,6 +408,7 @@ function askQuestion { } OnInit: + .bsId=BS_NPC06; .sex=G_FEMALE; .distance=5; end; diff --git a/npc/020-7-1/pagefinders.txt b/npc/020-7-1/pagefinders.txt index 0a9defcee..719b7da6b 100644 --- a/npc/020-7-1/pagefinders.txt +++ b/npc/020-7-1/pagefinders.txt @@ -18,6 +18,7 @@ end; OnInit: + .bsId=BS_NPC07; .sex=G_MALE; .distance=5; npcsit; @@ -56,6 +57,8 @@ OnInit: 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; @@ -150,6 +153,8 @@ OnInit: 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; @@ -178,8 +183,8 @@ function askQuestion { next; mesn; mesq l("But to be fair, from what I've seen Peetu was always very attentive and dutiful."); - if (is_between(4, 7, .@q)) - setq1 NivalisQuest_BlueSage, .@q + 3; + if (!(.@q3 & .bsId)) + setq3 NivalisQuest_BlueSage, .@q3 | .bsId; break; } } while (@menu != 4); @@ -187,6 +192,7 @@ function askQuestion { } OnInit: + .bsId=BS_NPC07; .sex=G_MALE; .distance=5; npcsit; diff --git a/npc/020-7-1/pagemakers.txt b/npc/020-7-1/pagemakers.txt index 1158b62d6..e54a7641b 100644 --- a/npc/020-7-1/pagemakers.txt +++ b/npc/020-7-1/pagemakers.txt @@ -96,6 +96,8 @@ function askQuestion { .@qs=BSQuestion(getq(NivalisQuest_BlueSage)); do { .@q=getq(NivalisQuest_BlueSage); + .@q2=getq2(NivalisQuest_BlueSage); + .@q3=getq3(NivalisQuest_BlueSage); .@qt=getq2(NivalisQuest_BlueSagePagemaker); next; select @@ -115,8 +117,8 @@ function askQuestion { next; mesn; mesq l("That's why I'm really confused about this situation, since he was the one performing the sealing of the slimes. I wonder what went wrong."); - if (is_between(4, 7, .@q)) - setq1 NivalisQuest_BlueSage, .@q + 3; + if (!(.@q3 & .bsId)) + setq3 NivalisQuest_BlueSage, .@q3 | .bsId; break; case 4: close; @@ -126,6 +128,7 @@ function askQuestion { } OnInit: + .bsId=BS_NPC02; .sex=G_MALE; .distance=5; npcsit; @@ -198,6 +201,8 @@ function askQuestion { .@qs=BSQuestion(getq(NivalisQuest_BlueSage)); do { .@q=getq(NivalisQuest_BlueSage); + .@q2=getq2(NivalisQuest_BlueSage); + .@q3=getq3(NivalisQuest_BlueSage); .@qt=getq2(NivalisQuest_BlueSagePagemaker); next; select @@ -214,9 +219,8 @@ function askQuestion { mesn; mesc l("She shakes her head."); mesq l("Sometimes I think it'd be better not to allow visitors here. But Nikolai set a high value on keeping contact with the population. Politics."); - // It's safe in this context, don't worry - if (.@q % 3 == 0) - setq1 NivalisQuest_BlueSage, .@q + 1; + if (!(.@q2 & .bsId)) + setq2 NivalisQuest_BlueSage, .@q2 | .bsId; break; case 3: mesn; @@ -229,6 +233,7 @@ function askQuestion { return; } OnInit: + .bsId=BS_NPC02; .sex=G_FEMALE; .distance=5; end; @@ -263,6 +268,7 @@ OnInit: end; OnInit: + .bsId=BS_NPC03; .sex=G_MALE; .distance=5; npcsit; @@ -336,6 +342,8 @@ function askQuestion { .@qs=BSQuestion(getq(NivalisQuest_BlueSage)); do { .@q=getq(NivalisQuest_BlueSage); + .@q2=getq2(NivalisQuest_BlueSage); + .@q3=getq3(NivalisQuest_BlueSage); .@qt=getq2(NivalisQuest_BlueSagePagemaker); next; select @@ -355,8 +363,8 @@ function askQuestion { next; mesn; mesq l("I really wonder what went wrong. I can't imagine Peetu messing up something so important."); - if (is_between(4, 7, .@q)) - setq1 NivalisQuest_BlueSage, .@q + 3; + if (!(.@q3 & .bsId)) + setq3 NivalisQuest_BlueSage, .@q3 | .bsId; break; case 4: mesn; @@ -368,6 +376,7 @@ function askQuestion { } OnInit: + .bsId=BS_NPC04; .sex=G_MALE; .distance=5; end; -- cgit v1.2.3-70-g09d2