summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--world/map/db/quest-log.txt1
-rw-r--r--world/map/npc/009-1/milly.txt6
-rw-r--r--world/map/npc/031-1/angelaOutside.txt49
-rw-r--r--world/map/npc/031-1/house.txt15
-rw-r--r--world/map/npc/031-2/angelaHouse.txt22
-rw-r--r--world/map/npc/031-2/cindyHouse.txt10
-rw-r--r--world/map/npc/031-4/cindyCave.txt38
7 files changed, 49 insertions, 92 deletions
diff --git a/world/map/db/quest-log.txt b/world/map/db/quest-log.txt
index ab1fd166..f623957d 100644
--- a/world/map/db/quest-log.txt
+++ b/world/map/db/quest-log.txt
@@ -18,3 +18,4 @@
// KAIZEI
//
7,QL_WELL,QUEST_Nivalis_state,4,4
+8,QL_CINDY,QUEST_Nivalis_state,5,4
diff --git a/world/map/npc/009-1/milly.txt b/world/map/npc/009-1/milly.txt
index f1408619..97752990 100644
--- a/world/map/npc/009-1/milly.txt
+++ b/world/map/npc/009-1/milly.txt
@@ -13,7 +13,7 @@
set @got_boneknife, ((QUEST_Forestbow_state & NIBBLE_2_MASK) >> NIBBLE_2_SHIFT) >= 4;
set @got_setzer, ((QUEST_Forestbow_state & NIBBLE_3_MASK) >> NIBBLE_3_SHIFT) >= 8;
set @saved_rossy, (FLAGS & FLAG_ROSSI_COMPLETED);
- set @saved_cindy, ((QUEST_Nivalis_state & NIBBLE_5_MASK) >> NIBBLE_5_SHIFT) >= 4;
+ set @saved_cindy, QL_CINDY >= 4;
if (FLAGS & FLAG_GOT_BEANIEHAT) goto L_FinishedGood;
if (FLAGS & FLAG_DECLINED_BEANIEHAT) goto L_FinishedBad;
@@ -416,7 +416,7 @@ L_DRossy:
close;
L_DCindy:
- set QUEST_Nivalis_state, (QUEST_Nivalis_state & ~(NIBBLE_5_MASK)) | (4 << NIBBLE_5_SHIFT);
+ set QL_CINDY, 4;
mes "Cindy quest set to completed.";
close;
@@ -442,7 +442,7 @@ L_NRossy:
close;
L_NCindy:
- set QUEST_Nivalis_state, (QUEST_Nivalis_state & ~(NIBBLE_5_MASK)) | (0 << NIBBLE_5_SHIFT);
+ set QL_CINDY, 0;
mes "Cindy quest set to not completed.";
close;
diff --git a/world/map/npc/031-1/angelaOutside.txt b/world/map/npc/031-1/angelaOutside.txt
index 17bfff00..4b0c5db5 100644
--- a/world/map/npc/031-1/angelaOutside.txt
+++ b/world/map/npc/031-1/angelaOutside.txt
@@ -4,18 +4,41 @@
// state2 and state3: Cindy is saved Angela invites you to visit them for giving a reward
// state greater than 3: Angela invites and asks you to bring present boxes
-031-1,79,24,0|script|Angela|195
+031-1,81,24,0|script|Debug#Angela|195
{
- set @Q_Nivalis_state_MASK, NIBBLE_5_MASK;
- set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT;
+ mes "Current state: " + QL_CINDY;
+ mes "---";
+ mes "Available states:";
+ mes "0 - does not have the quest.";
+ mes "1 - got the quest.";
+ mes "2 - rescued cindy.";
+ mes "3 - got reward from cindy.";
+ mes "4 - got reward from angela.";
+ menu
+ "set state", L_Set,
+ "close", L_Close;
+
+L_Set:
+ input @state;
+ if(@state < 0 || @state > 4) set @state, 0;
+ set QL_CINDY, @state;
+ goto L_Close;
- set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT);
+L_Close:
+ close;
+OnInit:
+ if (!debug) disablenpc strnpcinfo(0);
+ end;
+}
+
+031-1,79,24,0|script|Angela|195
+{
set @minlevel, 70;
- if (@rescue_Cindy > 3) goto L_Please_Visit_Again;
- if (@rescue_Cindy > 1) goto L_Please_Visit;
- if (@rescue_Cindy == 1) goto L_Please_Help;
+ if (QL_CINDY > 3) goto L_Please_Visit_Again;
+ if (QL_CINDY > 1) goto L_Please_Visit;
+ if (QL_CINDY == 1) goto L_Please_Help;
mes "[Angela]";
mes "\"Please, I need help! My little daughter!\"";
@@ -75,8 +98,7 @@ L_Calm_Down:
mes "\"Oh my poor little girl. I'm so worried - what might they do with her? Oh no!\"";
next;
mes "\"You look like an adventurer! Please, can you go in that cave and rescue my little Cindy? I beg you for help!\"";
- set @rescue_Cindy, 1;
- callsub S_Update_Mask;
+ set QL_CINDY, 1;
goto L_Close;
L_No_Potion:
@@ -103,15 +125,6 @@ L_Please_Visit_Again:
goto L_Close;
L_Close:
- set @Q_Nivalis_state_MASK, 0;
- set @Q_Nivalis_state_SHIFT, 0;
- set @rescue_Cindy, 0;
set @minlevel, 0;
close;
-
-S_Update_Mask:
- set QUEST_Nivalis_state,
- (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK))
- | (@rescue_Cindy << @Q_Nivalis_state_SHIFT);
- return;
}
diff --git a/world/map/npc/031-1/house.txt b/world/map/npc/031-1/house.txt
index c64009ba..bf678666 100644
--- a/world/map/npc/031-1/house.txt
+++ b/world/map/npc/031-1/house.txt
@@ -4,19 +4,10 @@
031-1,95,80,0|script|#Door|45,0,0
{
- set @Q_Nivalis_state_MASK, NIBBLE_5_MASK;
- set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT;
-
- set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT);
-
- if (@rescue_Cindy > 2)
+ if (QL_CINDY > 2)
goto L_Warp;
- message strcharinfo(0), "The door is locked.";
-
- set @Q_Nivalis_state_MASK, 0;
- set @Q_Nivalis_state_SHIFT, 0;
- set @rescue_Cindy, 0;
- close;
+ message strcharinfo(0), "##3Door : ##BThe door is locked.";
+ end;
L_Warp:
warp "031-2", 23, 28;
diff --git a/world/map/npc/031-2/angelaHouse.txt b/world/map/npc/031-2/angelaHouse.txt
index 3fe6f023..11eeaff6 100644
--- a/world/map/npc/031-2/angelaHouse.txt
+++ b/world/map/npc/031-2/angelaHouse.txt
@@ -5,13 +5,8 @@
031-2,29,28,0|script|Angela#house|196
{
- set @Q_Nivalis_state_MASK, NIBBLE_5_MASK;
- set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT;
-
- set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT);
-
- if (@rescue_Cindy == 4) goto L_Hello_Again;
- if (@rescue_Cindy == 3) goto L_Reward;
+ if (QL_CINDY == 4) goto L_Hello_Again;
+ if (QL_CINDY == 3) goto L_Reward;
mes "...";
goto L_Close;
@@ -30,8 +25,7 @@ L_Reward:
if (@inventorylist_count == 100)
goto L_Full_Inv;
getitem "RockKnife", 1;
- set @rescue_Cindy, 4;
- callsub S_Update_Mask;
+ set QL_CINDY, 4;
next;
mes "\"I hope this will be useful for you.\"";
@@ -87,10 +81,6 @@ L_White:
goto L_Close;
L_Close:
- set @Q_Nivalis_state_MASK, 0;
- set @Q_Nivalis_state_SHIFT, 0;
- set @rescue_Cindy, 0;
-
set @dq_level, 0;
set @dq_cost, 0;
set @dq_count, 0;
@@ -100,10 +90,4 @@ L_Close:
set @dq_exp, 0;
set @dq_return, 0;
close;
-
-S_Update_Mask:
- set QUEST_Nivalis_state,
- (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK))
- | (@rescue_Cindy << @Q_Nivalis_state_SHIFT);
- return;
}
diff --git a/world/map/npc/031-2/cindyHouse.txt b/world/map/npc/031-2/cindyHouse.txt
index bd4c17fb..564e7935 100644
--- a/world/map/npc/031-2/cindyHouse.txt
+++ b/world/map/npc/031-2/cindyHouse.txt
@@ -4,12 +4,7 @@
031-2,27,26,0|script|Cindy#house|197
{
- set @Q_Nivalis_state_MASK, NIBBLE_5_MASK;
- set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT;
-
- set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT);
-
- if (@rescue_Cindy > 2) goto L_Happy_Random;
+ if (QL_CINDY > 2) goto L_Happy_Random;
mes "...";
goto L_Close;
@@ -44,9 +39,6 @@ L_Candy:
goto L_Close;
L_Close:
- set @Q_Nivalis_state_MASK, 0;
- set @Q_Nivalis_state_SHIFT, 0;
- set @rescue_Cindy, 0;
set @candy, 0;
set @inventorylist_count, 0;
set @random, 0;
diff --git a/world/map/npc/031-4/cindyCave.txt b/world/map/npc/031-4/cindyCave.txt
index 218e4c08..6459a047 100644
--- a/world/map/npc/031-4/cindyCave.txt
+++ b/world/map/npc/031-4/cindyCave.txt
@@ -11,17 +11,12 @@
set @KEYS_AMOUNT, 10;
set @minlevel, 70;
- set @Q_Nivalis_state_MASK, NIBBLE_5_MASK;
- set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT;
-
- set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT);
-
if (Sex == 0) set @title$, "Misses";
if (Sex == 1) set @title$, "Mister";
- if (@rescue_Cindy >= 3) goto L_Please_Visit;
- if (@rescue_Cindy == 2) goto L_Reward;
- if (@rescue_Cindy == 1) goto L_Please_Help;
+ if (QL_CINDY >= 3) goto L_Please_Visit;
+ if (QL_CINDY == 2) goto L_Reward;
+ if (QL_CINDY == 1) goto L_Please_Help;
mes "There is a little girl in a cage. As you come near, she starts to shiver and back off from you as far as she can in that small cage.";
next;
@@ -89,16 +84,14 @@ L_Reward:
if (@reward < 10)
goto L_Wizard_Hat;
getitem "WoodenStaff", 1;
- set @rescue_Cindy, 3;
- callsub S_Update_Mask;
+ set QL_CINDY, 3;
goto L_Visit;
L_Wizard_Hat:
// get a wizard hat in one of the ten colors - no white
setarray @wizardhats, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209;
getitem @wizardhats[@reward], 1;
- set @rescue_Cindy, 3;
- callsub S_Update_Mask;
+ set QL_CINDY, 3;
goto L_Visit;
L_Visit:
@@ -126,9 +119,6 @@ L_Full_Inv:
L_Close:
set @KEYS_AMOUNT, 0;
- set @Q_Nivalis_state_MASK, 0;
- set @Q_Nivalis_state_SHIFT, 0;
- set @rescue_Cindy, 0;
set @title$, "";
set @minlevel, 0;
set @inventorylist_count, 0;
@@ -216,13 +206,9 @@ OnReward:
set @bonus, (BaseLevel/2);
set DailyQuestBonus, DailyQuestBonus + @bonus;
message strcharinfo(0), "You feel a temporary rush of power and zest for action. " + @bonus + " daily bonus gained." ;
- set @Q_Nivalis_state_MASK, NIBBLE_5_MASK;
- set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT;
- set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT);
- if (@rescue_Cindy != 1 )
+ if (QL_CINDY != 1 )
goto L_End;
- set @rescue_Cindy, 2;
- callsub S_Update_Mask;
+ set QL_CINDY, 2;
message strcharinfo(0), "Cindy looks relieved and as if she wants to talk with you.";
set BOSS_POINTS, BOSS_POINTS + 70;
message strcharinfo(0), "You gain 70 Boss Points giving you a total of " + BOSS_POINTS + ".";
@@ -230,9 +216,6 @@ OnReward:
L_End:
set @bonus, 0;
- set @Q_Nivalis_state_MASK, 0;
- set @Q_Nivalis_state_SHIFT, 0;
- set @rescue_Cindy, 0;
end;
OnInit:
@@ -250,11 +233,4 @@ OnInit:
"Cindy : Watch your back! There are so many of them!",
"Cindy : This seems to be their final attack! I believe in you!";
end;
-
-/////////
-S_Update_Mask:
- set QUEST_Nivalis_state,
- (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK))
- | (@rescue_Cindy << @Q_Nivalis_state_SHIFT);
- return;
}