summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCandyCurt <orgzfrgh@gmail.com>2014-10-28 17:45:29 -0400
committermekolat <mekolat@gmail.com>2014-10-28 17:45:29 -0400
commit01609ecf05f7637e114dda3d6787286d47a9407b (patch)
tree82fd62f993f72b5f98dc5d6ff1654643571cdc18
parent0bc1c20799c9b01e60035ce1c82fd8a38c110c4c (diff)
downloadserverdata-01609ecf05f7637e114dda3d6787286d47a9407b.tar.gz
serverdata-01609ecf05f7637e114dda3d6787286d47a9407b.tar.bz2
serverdata-01609ecf05f7637e114dda3d6787286d47a9407b.tar.xz
serverdata-01609ecf05f7637e114dda3d6787286d47a9407b.zip
Squeeze WG_QUEST_state into one byte to make room for silk pants quest
-rw-r--r--world/map/npc/010-2/loratay.txt186
-rw-r--r--world/map/npc/020-2/furquest.txt134
-rw-r--r--world/map/npc/068-2/hetchel.txt9
3 files changed, 168 insertions, 161 deletions
diff --git a/world/map/npc/010-2/loratay.txt b/world/map/npc/010-2/loratay.txt
index f49da102..90a44ab5 100644
--- a/world/map/npc/010-2/loratay.txt
+++ b/world/map/npc/010-2/loratay.txt
@@ -9,25 +9,26 @@
set @SORCERER_ROBE_SEW_ZENY, 25000;
set @SORCERER_ROBE_NUM_COTTON_CLOTH, 2;
setarray @item_colors$, "red", "green", "dark blue", "yellow", "light blue", "pink", "black", "orange", "purple", "dark green", "white";
+ set @wg_state, ((QUEST_WG_state & BYTE_0_MASK) >> BYTE_0_SHIFT);
if (@loratay_asking_robe == 1) goto L_ExamineSorcererRobe;
- if (QUEST_WG_state == 10) goto L_agostine_menu;
- if (QUEST_WG_state == 11 || QUEST_WG_state == 12) goto L_regular_intro;
- if (QUEST_WG_state == 13) goto L_proposal_intro;
- if (QUEST_WG_state == 14) goto L_proposal_show_materials;
- if (QUEST_WG_state == 15) goto L_proposal_search_items;
- if (QUEST_WG_state == 16) goto L_proposal_retrieve_design;
- if (QUEST_WG_state == 17) goto L_proposal_bringing_design;
- if (QUEST_WG_state == 18) goto L_proposal_wait_dress_finished;
- if (QUEST_WG_state == 19) goto L_proposal_dress_finished;
- if (QUEST_WG_state >= 20 && QUEST_WG_state < 23) goto L_proposal_deliver_dress;
- if (QUEST_WG_state >= 23) goto L_regular_intro;
+ if (@wg_state == 10) goto L_agostine_menu;
+ if (@wg_state == 11 || @wg_state == 12) goto L_regular_intro;
+ if (@wg_state == 13) goto L_proposal_intro;
+ if (@wg_state == 14) goto L_proposal_show_materials;
+ if (@wg_state == 15) goto L_proposal_search_items;
+ if (@wg_state == 16) goto L_proposal_retrieve_design;
+ if (@wg_state == 17) goto L_proposal_bringing_design;
+ if (@wg_state == 18) goto L_proposal_wait_dress_finished;
+ if (@wg_state == 19) goto L_proposal_dress_finished;
+ if (@wg_state >= 20 && @wg_state < 23) goto L_proposal_deliver_dress;
+ if (@wg_state >= 23) goto L_regular_intro;
set @t, rand(3);
if (@t == 0) goto L_intro_0;
if (@t == 1) goto L_intro_1;
- mes "You see a middle-aged woman furiously sewing away at what appears to be a very expensive dress. Her fingers are moving so nimbly that you find it near-impossible to follow the needle.";
+ mes "You see a middle-aged woman furiously sewing away at what appears to be a very expensive dress. Her fingers are moving so nimbly that you find it near-impossible to follow the needle.";
goto L_intro_over;
L_intro_0:
@@ -35,7 +36,7 @@ L_intro_0:
goto L_intro_over;
L_intro_1:
- mes "You see a middle-aged woman cautiously but surprisingly swiftly cutting out shapes from a huge cotton sheet. The scissors glide along the cloth as if it were butter, never leaving the premarked lines.";
+ mes "You see a middle-aged woman cautiously but surprisingly swiftly cutting out shapes from a huge cotton sheet. The scissors glide along the cloth as if it were butter, never leaving the premarked lines.";
goto L_intro_over;
L_intro_over:
@@ -49,9 +50,9 @@ L_intro_over:
set @agostine_msg0$, "";
set @agostine_msg1$, "";
- if (QUEST_WG_state >= 1)
+ if (@wg_state >= 1)
set @agostine_msg0$, "Do you know Agostine?";
- if ((QUEST_WG_state >= 9) && (countitem("FurBoots")))
+ if ((@wg_state >= 9) && (countitem("FurBoots")))
set @agostine_msg1$, "Can you make fur boots, like Agostine?";
menu
@@ -63,40 +64,40 @@ L_intro_over:
L_hello_0:
mes "She raises an eyebrow.";
- mes "\"That,\", she notes dryly, \"is hardly my fault. And now I would greatly appreciate it if you were to get out of here and leave me to my work!\"";
- close;
+ mes "\"That,\", she notes dryly, \"is hardly my fault. And now I would greatly appreciate it if you were to get out of here and leave me to my work!\"";
+ goto L_Close;
L_hello_1:
mes "She frowns.";
mes "\"No, I am an accupuncturist, I just happen to practice on cloth! Get out of here with your silly questions!\"";
- close;
+ goto L_Close;
L_hello_2:
mes "She glares at you indignantly.";
mes "\"Do you even know whom you are talking to? I am Lora Tay, greatest of the seven seamstresses of the South!\"";
next;
mes "[Lora Tay the Seamstress]";
- mes "\"I do not work for petty peasants or arrogant adventurers. Get out of my sight!\"";
+ mes "\"I do not work for petty peasants or arrogant adventurers. Get out of my sight!\"";
mes "She waves you away and returns to her work.";
- close;
+ goto L_Close;
L_agostine_0:
- if (QUEST_WG_state < 1)
- close;
+ if (@wg_state < 1)
+ goto L_Close;
mes "She shoots an incensed glare at you.";
mes "\"Ah, Agostine! The 'legendary tailor'! Now who has not heard of him, been inspired by him! Such charisma! Such popularity! Such unprecedented lack of talent!\"";
mes "You notice that she prononuces the 't's as if she were trying to slap someone.";
next;
- mes "\"Please spare me your tales of this fool. He couldn't mend a sock without getting himself trapped inside!\"";
+ mes "\"Please spare me your tales of this fool. He couldn't mend a sock without getting himself trapped inside!\"";
mes "She frowns and turns back to her work, clearly not interested in discussing the matter further.";
- close;
+ goto L_Close;
L_agostine_1:
- if ((QUEST_WG_state < 9) || (countitem (655) == 0))
- close;
+ if ((@wg_state < 9) || (countitem (655) == 0))
+ goto L_Close;
mes "[Lora Tay the Seamstress]";
- mes "She glares at your boots, her lips forming barely more than a thin line. Deep furrows form above her brows.";
- mes "\"I can't believe it! He copied Illana's design but used fluffy fur in place of ice wolvern fur – Fluffy fur! Of all things! Who would wear such an atrocity of fashion! Everyone knows that you need ice-white, not pale-white, to go with such leather!\"";
+ mes "She glares at your boots, her lips forming barely more than a thin line. Deep furrows form above her brows.";
+ mes "\"I can't believe it! He copied Illana's design but used fluffy fur in place of ice wolvern fur-- Fluffy fur! Of all things! Who would wear such an atrocity of fashion! Everyone knows that you need ice-white, not pale-white, to go with such leather!\"";
next;
mes "[Lora Tay the Seamstress]";
mes "She looks at them more closely.";
@@ -105,9 +106,9 @@ L_agostine_1:
mes "[Lora Tay the Seamstress]";
mes "Angry red spots begin to form on her cheeks.";
mes "\"Get those... things out of my sight before I forget myself!\"";
- if (QUEST_WG_state == 9)
- set QUEST_WG_state, 10;
- close;
+ if (@wg_state == 9)
+ set @wg_state, 10;
+ goto L_Close;
L_agostine_menu:
mes "[Lora Tay the Seamstress]";
@@ -126,8 +127,8 @@ L_agostine_menu:
"No, none, really.", L_agostine_5;
L_agostine_2:
- if ((QUEST_WG_state < 9) || (countitem("WinterGloves") == 0))
- close;
+ if ((@wg_state < 9) || (countitem("WinterGloves") == 0))
+ goto L_Close;
mes "[Lora Tay the Seamstress]";
mes "Lora inspects your gloves, shock apparent on her face.";
mes "\"Winter gloves? And he managed the join stitches without adding a single crease... no, that can't be the Agostine we were talking about...\"";
@@ -172,36 +173,36 @@ L_NextMenu:
L_Next:
mes "[Lora Tay the Seamstress]";
- mes "She holds out your gloves for you to pick up, then waves you out of the room. Fortunately, her cough seems to be slowly subsiding.";
- close;
+ mes "She holds out your gloves for you to pick up, then waves you out of the room. Fortunately, her cough seems to be slowly subsiding.";
+ goto L_Close;
L_agostine_3:
mes "[Lora Tay the Seamstress]";
mes "She frowns at you.";
mes "\"What other self-absorbed tailor-pretends with the sewing skill of a mouboo are there around? Stop wasting my time.\"";
- close;
+ goto L_Close;
L_agostine_4:
mes "[Lora Tay the Seamstress]";
mes "\"Is it not obvious? We are talking about someone so self-absorbed that he chose to ignore the advice of myself, greatest of the seven southern seamstresses! I cannot stand such arrogance.\"";
- close;
+ goto L_Close;
L_agostine_5:
mes "[Lora Tay the Seamstress]";
- mes "\"Good for you. That arrogant good-for-nothing couldn't tell a piece of cotton from chain mail if he wiped his nose with it!\"";
- close;
+ mes "\"Good for you. That arrogant good-for-nothing couldn't tell a piece of cotton from chain mail if he wiped his nose with it!\"";
+ goto L_Close;
L_no_water:
mes "Checking more closely, you realize that you are out of water.";
mes "You apologise to Lora, though it fortunately seems that her cough is subsiding.";
mes "She waves you out of the room.";
- close;
+ goto L_Close;
L_regular_intro:
mes "[Lora Tay the Seamstress]";
- mes "\"Ah, you again. Is there anything in particular you need?\"";
+ mes "\"Ah, you again. Is there anything in particular you need?\"";
next;
- if (QUEST_WG_state == 12)
+ if (@wg_state == 12)
goto L_main_menu2;
goto L_main_menu;
@@ -209,25 +210,25 @@ L_give_water:
if (countitem("BottleOfWater") == 0)
goto L_no_water;
delitem "BottleOfWater", 1;
- set QUEST_WG_state, 11;
+ set @wg_state, 11;
set @xpval, 50000;
getexp @xpval, 0;
mes "[Lora Tay the Seamstress]";
- mes "Lora grabs your water bottle and take a deep sip. Slowly, her head regains a more natural color. As she puts the bottle down, her cough seems to have subsided.";
+ mes "Lora grabs your water bottle and take a deep sip. Slowly, her head regains a more natural color. As she puts the bottle down, her cough seems to have subsided.";
mes "\"Thank you, dear; that was just the right thing at the right time.\"";
mes "[You gain " + @xpval + " experience points]";
next;
mes "[Lora Tay the Seamstress]";
mes "She hands you the winter gloves again.";
- mes "\"Now what happened I don't know, but this wasn't made by the Agostine I remember. But I shan't be made a fool out of by one such as him.\"";
+ mes "\"Now what happened I don't know, but this wasn't made by the Agostine I remember. But I shan't be made a fool out of by one such as him.\"";
next;
mes "[Lora Tay the Seamstress]";
- mes "\"If HE can sew petty every-day items for ordinary peasants, then so can I. Very well, is there anything in particular that you need made? I shall show you how a proper seamstress operates!\"";
+ mes "\"If HE can sew petty every-day items for ordinary peasants, then so can I. Very well, is there anything in particular that you need made? I shall show you how a proper seamstress operates!\"";
next;
- if (QUEST_WG_state == 12)
+ if (@wg_state == 12)
goto L_main_menu2;
goto L_main_menu;
@@ -295,9 +296,8 @@ L_Next2:
mes "\"Well it depends what he wants from me.";
mes "Go see Agostine, ask him what he's planning and I will think about it.\"";
- set QUEST_WG_state, 13;
-
- close;
+ set @wg_state, 13;
+ goto L_Close;
L_proposal_intro:
mes "Lora Tay seems lost in her thoughts... ";
@@ -346,19 +346,19 @@ L_proposal_search_items:
@FINEDRESS_COCOONS+" silk cocoons for a dress? Find somebody else.", L_end;
L_Next5:
- set QUEST_WG_state, 15;
- close;
+ set @wg_state, 15;
+ goto L_Close;
L_proposal_not_enough_items:
mes "[Lora Tay the Seamstress]";
mes "\"This is not funny. I need " + @FINEDRESS_COCOONS + " silk cocoons. No less.";
- close;
+ goto L_Close;
L_proposal_give_items:
if (countitem ("SilkCocoon") < @FINEDRESS_COCOONS)
goto L_proposal_not_enough_items;
delitem "SilkCocoon", @FINEDRESS_COCOONS;
- set QUEST_WG_state, 16;
+ set @wg_state, 16;
mes "[Lora Tay the Seamstress]";
mes "\"Great, now I can spin the silk threading and fix this mess made of these fine materials.";
@@ -387,7 +387,7 @@ L_Next6:
mes "\"Wonderful, this dress design is magnificent!";
mes "I am done with the threading but I will now need to sew these materials together into the design.\"";
next;
- set QUEST_WG_state, 18;
+ set @wg_state, 18;
goto L_proposal_wait_dress_finished;
L_proposal_wait_dress_finished:
@@ -399,10 +399,10 @@ L_proposal_wait_dress_finished:
mes "[Lora Tay the Seamstress]";
mes "\"It will take some time to have the dress finished.";
mes "Meanwhile, why don't you go take some air outside?\"";
- close;
+ goto L_Close;
L_proposal_dress_finished:
- set QUEST_WG_state, 19;
+ set @wg_state, 19;
mes "[Lora Tay the Seamstress]";
mes "\"Well it was difficult seaming with such fragile materials.";
mes "But I have done it. The design is finished except for one part of it.\"";
@@ -425,8 +425,8 @@ L_Next7:
"Okay, can't wait to see the finished product! Thanks for your help!", L_Next8;
L_Next8:
- set QUEST_WG_state, 20;
- close;
+ set @wg_state, 20;
+ goto L_Close;
L_proposal_deliver_dress:
mes "[Lora Tay the Seamstress]";
@@ -438,7 +438,7 @@ L_proposal_deliver_dress:
L_desert_hat:
mes "[Lora Tay the Seamstress]";
mes "The seamstress sighs.";
- mes "\"One of these days it would be nice to have an actual challenge... yes, of course I can make a desert hat. A Cotton Headband, three pieces of cotton cloth. Hmm. And let's add 300 GP to that.\"";
+ mes "\"One of these days it would be nice to have an actual challenge... yes, of course I can make a desert hat. A Cotton Headband, three pieces of cotton cloth. Hmm. And let's add 300 GP to that.\"";
next;
set @default_choice$, "Never mind.";
setarray @items, 724, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2149;
@@ -468,33 +468,33 @@ L_desert_hat:
next;
mes "[Lora Tay the Seamstress]";
mes "The result resembles a huge knot.";
- mes "Lora picks two ends and pulls, hard – to your amazement, the knot unfolds, yielding a Desert Hat.";
+ mes "Lora picks two ends and pulls, hard-- to your amazement, the knot unfolds, yielding a Desert Hat.";
mes "\"Here you are.\"";
next;
goto L_main_menu;
L_desert_hat_nocotton:
mes "[Lora Tay the Seamstress]";
- mes "\"You're asking me to make a desert hat without enough cloth? Here, have your headband back – see, that's how much I can do without cloth! And since I'm generous today, you can even keep your GP...\"";
+ mes "\"You're asking me to make a desert hat without enough cloth? Here, have your headband back-- see, that's how much I can do without cloth! And since I'm generous today, you can even keep your GP...\"";
next;
goto L_main_menu;
L_desert_hat_nogp:
mes "[Lora Tay the Seamstress]";
- mes "\"No, no, no. 300 GP. That's not that much, I've been told. I can't just work for free, now can I?\"";
+ mes "\"No, no, no. 300 GP. That's not that much, I've been told. I can't just work for free, now can I?\"";
next;
goto L_main_menu;
L_desert_hat_noheadband:
mes "[Lora Tay the Seamstress]";
- mes "\"Now that is odd. Where did your headband vanish to? Well, I'm not going to make you something as silly as a headband, so get one from elsewhere.\"";
+ mes "\"Now that is odd. Where did your headband vanish to? Well, I'm not going to make you something as silly as a headband, so get one from elsewhere.\"";
next;
goto L_main_menu;
L_trim:
mes "[Lora Tay the Seamstress]";
mes "\"Trimming... you mean that you can't do that yourself? Well, alright... I suppose I should charge 100 GP and do it.\"";
- mes "\"Alright. What is it that you want trimmed?\"";
+ mes "\"Alright. What is it that you want trimmed?\"";
next;
set @default_choice$, "Never mind.";
@@ -546,14 +546,14 @@ L_trim_impossible:
L_trim_nozeny:
mes "[Lora Tay the Seamstress]";
- mes "\"Not enough GP? Well, just do it yourself – trimming really is trivial.\"";
+ mes "\"Not enough GP? Well, just do it yourself-- trimming really is trivial.\"";
next;
goto L_main_menu;
L_lengthen:
mes "[Lora Tay the Seamstress]";
mes "\"Naturally, I will need a piece of Cotton Cloth to sew onto it; I must also charge you some... hmm... does 500 GP sound reasonable? Yes, I think I shall charge that.\"";
- mes "\"Now, let me see. What is it that you want lengthened?\"";
+ mes "\"Now, let me see. What is it that you want lengthened?\"";
next;
set @default_choice$, "Never mind.";
@@ -597,9 +597,9 @@ L_lengthen:
getitem @genitem, 1;
set Zeny, Zeny - 500;
mes "[Lora Tay the Seamstress]";
- mes "The seamstress cuts your piece of cotton cloth into stripes and sews them on. Using some odd liquid, she flattens the seams and borders.";
+ mes "The seamstress cuts your piece of cotton cloth into stripes and sews them on. Using some odd liquid, she flattens the seams and borders.";
if (@delitem > 2000) // dyed
- mes "She then applies another liquid – smelling strangely of fermented apples – to the result, wraps it up, and wrings it tightly. As she unwraps it, you observe to your amazement that the dye has spread to the newly attached area.";
+ mes "She then applies another liquid-- smelling strangely of fermented apples-- to the result, wraps it up, and wrings it tightly. As she unwraps it, you observe to your amazement that the dye has spread to the newly attached area.";
mes "\"There you are, dear.\"";
next;
goto L_main_menu;
@@ -624,13 +624,13 @@ L_lengthen_impossible:
L_shirt:
mes "[Lora Tay the Seamstress]";
- mes "\"Oh, how silly. You can buy those everywhere. Please don't bore me with such trifles, dear.\"";
+ mes "\"Oh, how silly. You can buy those everywhere. Please don't bore me with such trifles, dear.\"";
next;
goto L_main_menu;
L_tanktop:
mes "[Lora Tay the Seamstress]";
- mes "\"A tank top? Well, hardly a challenge, but I suppose I could do that. Please get me some cloth – plain cotton will do – and, let's see, how does 100,000 GP for my efforts sound?\"";
+ mes "\"A tank top? Well, hardly a challenge, but I suppose I could do that. Please get me some cloth-- plain cotton will do-- and, let's see, how does 100,000 GP for my efforts sound?\"";
mes "\"Wait, I keep forgetting, you are just an adventurer... let's make that 1000 GP, then.\"";
next;
goto L_tanktop_menu;
@@ -657,7 +657,7 @@ L_tanktop_short:
mes "You watch as Lora sews the pieces of cloth together, then flattens the seams and ends with some odd liquid.";
mes "Amazingly, the result looks like a single piece of cloth.";
mes "After little more than a few elegant cuts and folds, your tank top is ready.";
- mes "\"Oh dear, it seems that I am done already. Do you need anything else?\"";
+ mes "\"Oh dear, it seems that I am done already. Do you need anything else?\"";
next;
goto L_tanktop_menu;
@@ -673,28 +673,28 @@ L_tanktop_long:
delitem "CottonCloth", 6;
getitem "TankTop", 1;
mes "[Lora Tay the Seamstress]";
- mes "After combining your pieces of cloth into one – miraculously making the seams and stitches vanish – the seamstress cuts out all that doesn't belong into a tank top, then folds and stabilises the edges with additional seam lines.";
- mes "\"There you are. Don't worry, I have trimmed it to match your size perfectly.\"";
+ mes "After combining your pieces of cloth into one-- miraculously making the seams and stitches vanish-- the seamstress cuts out all that doesn't belong into a tank top, then folds and stabilises the edges with additional seam lines.";
+ mes "\"There you are. Don't worry, I have trimmed it to match your size perfectly.\"";
next;
goto L_tanktop_menu;
L_tanktop_insufficient_cloth:
mes "[Lora Tay the Seamstress]";
- mes "\"No, no, no, count again – how much Cotton Cloth did I say I needed? That's not enough.\"";
+ mes "\"No, no, no, count again-- how much Cotton Cloth did I say I needed? That's not enough.\"";
next;
goto L_tanktop_menu;
L_tanktop_insufficient_Zeny:
mes "[Lora Tay the Seamstress]";
mes "As you note that you don't have enough GP on you, Lora rolls her eyes.";
- mes "\"I don't work for free, you know. I already gave you a discounted peasant price.\"";
+ mes "\"I don't work for free, you know. I already gave you a discounted peasant price.\"";
next;
goto L_main_menu;
L_cape:
mes "[Lora Tay the Seamstress]";
mes "She shakes her head.";
- mes "\"No capes. You're an adventurer, right? Do you want to get caught by a closing portcullis? Or strangled when your cape gets tangled in a tree? Or brought down by a mushroom stomping on your cape while you're trying to run away? No capes.\"";
+ mes "\"No capes. You're an adventurer, right? Do you want to get caught by a closing portcullis? Or strangled when your cape gets tangled in a tree? Or brought down by a mushroom stomping on your cape while you're trying to run away? No capes.\"";
next;
goto L_main_menu;
@@ -726,11 +726,11 @@ L_Next9:
L_Next10:
mes "[Lora Tay the Seamstress]";
mes "Lora frowns.";
- mes "\"It's not all that easy to get properly processed silk around here. Easier for me than for you, I admit...\"";
+ mes "\"It's not all that easy to get properly processed silk around here. Easier for me than for you, I admit...\"";
next;
mes "[Lora Tay the Seamstress]";
mes "She sighs.";
- mes "\"All right, very well then. I have enough spare silk sheets right now, but you pay the silk processing for your cocoons.\"";
+ mes "\"All right, very well then. I have enough spare silk sheets right now, but you pay the silk processing for your cocoons.\"";
next;
mes "[Lora Tay the Seamstress]";
mes "\"Let's see... " + @ROBE_COCOONS_NR + " silk cocoons and " + @ROBE_ZENY + " GP should just about cover that.\"";
@@ -750,7 +750,7 @@ L_Next11:
set Zeny, Zeny - @ROBE_ZENY;
delitem "SilkCocoon", @ROBE_COCOONS_NR;
mes "[Lora Tay the Seamstress]";
- mes "The seamstress puts your cocoons and GP away, takes your measurements and pulls out several silk sheets. She asks you to stretch out your arms, then pins the silk sheets in place all over your body.";
+ mes "The seamstress puts your cocoons and GP away, takes your measurements and pulls out several silk sheets. She asks you to stretch out your arms, then pins the silk sheets in place all over your body.";
next;
goto L_get_robe;
@@ -774,24 +774,24 @@ L_Next12:
set Zeny, Zeny - @ROBE_SHEETS_ZENY;
delitem "SilkSheet", @ROBE_SHEETS_NR;
mes "[Lora Tay the Seamstress]";
- mes "The seamstress puts your GP away, takes your measurements and puts the silk sheets on the table. She asks you to stretch out your arms, then pins the silk sheets in place all over your body.";
+ mes "The seamstress puts your GP away, takes your measurements and puts the silk sheets on the table. She asks you to stretch out your arms, then pins the silk sheets in place all over your body.";
next;
goto L_get_robe;
L_get_robe:
mes "[Lora Tay the Seamstress]";
- mes "She proceeds to make a number of mysterious marks on the sheets with a charcoal pen. Meanwhile, your arms are getting tired, but you're afraid to lower them – she used a lot of pins to put everything into place, and you lost track of where they went...";
+ mes "She proceeds to make a number of mysterious marks on the sheets with a charcoal pen. Meanwhile, your arms are getting tired, but you're afraid to lower them-- she used a lot of pins to put everything into place, and you lost track of where they went...";
next;
mes "[Lora Tay the Seamstress]";
mes "\"Splendid.\"";
mes "After removing the sheets (and pins!), she picks up a pair of scissors and plows through the cloth at her usual amazing pace, only stopping briefly to sew together parts here and there.";
next;
mes "[Lora Tay the Seamstress]";
- mes "She then treats the seams with some odorless liquid, making them vanish completely. Finally she hands you the finished robe.";
+ mes "She then treats the seams with some odorless liquid, making them vanish completely. Finally she hands you the finished robe.";
getitem "SilkRobe", 1;
if (@Robe_with_sheets == 1)
goto L_robe_sheet_end;
- mes "\"Here you are now, this will fit. And don't you dare tell anyone that I did this! I'm not about to start a silk cocoon collection!\"";
+ mes "\"Here you are now, this will fit. And don't you dare tell anyone that I did this! I'm not about to start a silk cocoon collection!\"";
next;
goto L_main_menu;
@@ -809,7 +809,7 @@ L_robe_missing_cocoons:
L_robe_missing_Zeny:
mes "[Lora Tay the Seamstress]";
- mes "\"No, no no. The way this works is that you give me the GP first and I give you the robe afterwards. You're " + (@ROBE_ZENY - Zeny) + " GP short, so come back when you can afford the robe!\"";
+ mes "\"No, no no. The way this works is that you give me the GP first and I give you the robe afterwards. You're " + (@ROBE_ZENY - Zeny) + " GP short, so come back when you can afford the robe!\"";
next;
goto L_main_menu;
@@ -822,7 +822,7 @@ L_robe_missing_sheets:
L_robe_sheet_missing_Zeny:
mes "[Lora Tay the Seamstress]";
- mes "\"No, no no. The way this works is that you give me the GP first and I give you the robe afterwards. You're " + (@ROBE_SHEETS_ZENY - Zeny) + " GP short, so come back when you can afford the robe!\"";
+ mes "\"No, no no. The way this works is that you give me the GP first and I give you the robe afterwards. You're " + (@ROBE_SHEETS_ZENY - Zeny) + " GP short, so come back when you can afford the robe!\"";
next;
goto L_main_menu;
@@ -832,7 +832,7 @@ L_where_silk:
next;
mes "[Lora Tay the Seamstress]";
mes "She hesitates.";
- mes "\"I didn't see her there the last time I visited, though. She may be visiting family. Tough luck.\"";
+ mes "\"I didn't see her there the last time I visited, though. She may be visiting family. Tough luck.\"";
next;
goto L_robe_menu;
@@ -844,7 +844,7 @@ L_how_much_silk:
L_robe_nosilk:
mes "[Lora Tay the Seamstress]";
- mes "\"What is that? You don't have any silk? Well, you're out of luck, I would say. I shan't make one out of those cotton rags; you might as well be wearing an apple sack.\"";
+ mes "\"What is that? You don't have any silk? Well, you're out of luck, I would say. I shan't make one out of those cotton rags; you might as well be wearing an apple sack.\"";
next;
goto L_main_menu;
@@ -854,7 +854,7 @@ L_end:
set @ROBE_SHEETS_NR, 0;
set @ROBE_SHEETS_ZENY, 0;
set @Robe_with_sheets, 0;
- close;
+ goto L_Close;
// Input: @items (array of items you want to choose from)
// @item_names (names of the items in @items)
@@ -980,7 +980,7 @@ L_SUB_choice_join:
L_TooMany:
mes "[Lora Tay the Seamstress]";
mes "\"You don't have anywhere to put this. Come back when you have more room.\"";
- close;
+ goto L_Close;
L_sorcerer_robe_linecolor:
mes "[Lora Tay the Seamstress]";
@@ -992,7 +992,7 @@ L_sorcerer_robe_linecolor:
next;
mes "\"Ok. Now please wear the robe you want me to change.\"";
set @loratay_asking_robe, 1;
- close;
+ goto L_Close;
L_ExamineSorcererRobe:
set @loratay_asking_robe, 0;
@@ -1128,8 +1128,10 @@ L_CleanSorcererRobe:
set @new_sorcerer_robe_id, 0;
set @chosen_color, 0;
set @cotton_cloth_id, 0;
- close;
+ goto L_Close;
L_Close:
+ set QUEST_WG_state, (QUEST_WG_state & ~(BYTE_0_MASK) | (@wg_state << BYTE_0_SHIFT));
+ set @wg_state, 0;
close;
}
diff --git a/world/map/npc/020-2/furquest.txt b/world/map/npc/020-2/furquest.txt
index 9d694716..1fd7fa09 100644
--- a/world/map/npc/020-2/furquest.txt
+++ b/world/map/npc/020-2/furquest.txt
@@ -8,26 +8,28 @@
set @CUTFUR_EXP, 10;
set @FINEDRESS_COTTON_CLOTHS, 20;
set @FINEDRESS_GP, 20000;
-
- if (QUEST_WG_state == 1) goto L_State_0_3;
- if (QUEST_WG_state == 2) goto L_State_1;
- if (QUEST_WG_state == 3) goto L_State_2;
- if (QUEST_WG_state == 4) goto L_State_4;
- if (QUEST_WG_state == 5) goto L_State_4_success;
- if (QUEST_WG_state == 6) goto L_State_6;
- if (QUEST_WG_state == 7) goto L_State_11;
- if (QUEST_WG_state == 8) goto L_State_12;
- if (QUEST_WG_state >= 9 && QUEST_WG_state < 11) goto L_State_13;
- if (QUEST_WG_state == 11) goto L_State_14;
- if (QUEST_WG_state == 12) goto L_State_14_AlreadyAccepted;
- if (QUEST_WG_state == 13) goto L_State_15;
- if (QUEST_WG_state > 13 && QUEST_WG_state < 16) goto L_State_15_Repeat;
- if (QUEST_WG_state == 16) goto L_State_16;
- if (QUEST_WG_state > 16 && QUEST_WG_state < 20) goto L_State_16_Repeat;
- if (QUEST_WG_state == 20) goto L_State_17;
- if (QUEST_WG_state == 21) goto L_State_17_AskItems;
- if (QUEST_WG_state == 22) goto L_State_17_ProposeBuyDress;
- if (QUEST_WG_state >= 23) goto L_State_18;
+ set @wg_state, ((QUEST_WG_state & BYTE_0_MASK) >> BYTE_0_SHIFT);
+
+
+ if (@wg_state == 1) goto L_State_0_3;
+ if (@wg_state == 2) goto L_State_1;
+ if (@wg_state == 3) goto L_State_2;
+ if (@wg_state == 4) goto L_State_4;
+ if (@wg_state == 5) goto L_State_4_success;
+ if (@wg_state == 6) goto L_State_6;
+ if (@wg_state == 7) goto L_State_11;
+ if (@wg_state == 8) goto L_State_12;
+ if (@wg_state >= 9 && @wg_state < 11) goto L_State_13;
+ if (@wg_state == 11) goto L_State_14;
+ if (@wg_state == 12) goto L_State_14_AlreadyAccepted;
+ if (@wg_state == 13) goto L_State_15;
+ if (@wg_state > 13 && @wg_state < 16) goto L_State_15_Repeat;
+ if (@wg_state == 16) goto L_State_16;
+ if (@wg_state > 16 && @wg_state < 20) goto L_State_16_Repeat;
+ if (@wg_state == 20) goto L_State_17;
+ if (@wg_state == 21) goto L_State_17_AskItems;
+ if (@wg_state == 22) goto L_State_17_ProposeBuyDress;
+ if (@wg_state >= 23) goto L_State_18;
mes "\"This goes up, this goes left...\"";
next;
@@ -66,8 +68,8 @@ L_State_0_2:
L_State_Accept:
mes "[Agostine, The Legendary Tailor]";
mes "\"Thanks so much.\"";
- set QUEST_WG_state, 1;
- close;
+ set @wg_state, 1;
+ goto L_Close;
L_State_0_3:
mes "[Agostine, The Legendary Tailor]";
@@ -131,18 +133,18 @@ L_State_0_9:
set Zeny, Zeny + 500;
mes "[Agostine, The Legendary Tailor]";
mes "\"This is a little reward for your help. Take 500 GP, my friend!\"";
- set QUEST_WG_state, 2;
- close;
+ set @wg_state, 2;
+ goto L_Close;
L_State_neg:
next;
mes "\"Seems that you lied. You don't have the drink you told me.\"";
- close;
+ goto L_Close;
L_State_bad:
next;
mes "\"Well, I don't like it so much. Bring me something else.\"";
- close;
+ goto L_Close;
// First Quest: edited version of Forest Bow Quest - Needed: about 30 White Furs and 15.000 GP
@@ -160,7 +162,7 @@ L_State_2:
mes "\"Well, Winter Gloves are so fashionable for their lovable fur!";
mes "Only the best furs can be used for these gloves!";
mes "But, as you see, I am a tailor, not a hunter! So, why don't you bring me the best fluffy's fur you can find?\"";
- set QUEST_WG_state, 3;
+ set @wg_state, 3;
next;
menu
"You are crazy! I won't kill any animal for this!", L_Close,
@@ -169,13 +171,13 @@ L_State_2:
L_State_3:
mes "[Agostine, The Legendary Tailor]";
mes "\"Remember, I want the best of fur!\"";
- set QUEST_WG_state, 4;
- close;
+ set @wg_state, 4;
+ goto L_Close;
L_State_4:
mes "[Agostine, The Legendary Tailor]";
mes "\"Oh, my friend! Have you brought me some good furs?\"";
- if (countitem("WhiteFur") < 1) close;
+ if (countitem("WhiteFur") < 1) goto L_Close;
next;
menu
"Here, take a look!", L_State_4_try,
@@ -195,7 +197,7 @@ L_State_4_try:
next;
mes "[Agostine, The Legendary Tailor]";
mes "\"It was awfully cut! You should pay more attention when you kill fluffies!\"";
- if (countitem("WhiteFur") < 1) close;
+ if (countitem("WhiteFur") < 1) goto L_Close;
next;
menu
"Here I have another one!", L_State_4_try,
@@ -207,7 +209,7 @@ L_State_4_success:
mes "[Agostine, The Legendary Tailor]";
mes "\"It's perfect! Perfect! Good job, my friend! I will prepare your gloves right now!\"";
next;
- set QUEST_WG_state, 5;
+ set @wg_state, 5;
goto L_State_5;
L_State_5:
@@ -224,15 +226,15 @@ L_State_5_pay:
if (@inventorylist_count == 100) goto L_TooMany;
set Zeny, Zeny - 15000;
getitem "WinterGloves", 1;
- set QUEST_WG_state, 6;
+ set @wg_state, 6;
mes "[Agostine, The Legendary Tailor]";
mes "\"Here they are. You will have the most fashionable hands in the world!\"";
- close;
+ goto L_Close;
L_State_5_nocash:
mes "[Agostine, The Legendary Tailor]";
mes "\"Seems like you are out of cash. Come back when you have the money.\"";
- close;
+ goto L_Close;
L_State_6:
mes "[Agostine, The Legendary Tailor]";
@@ -251,13 +253,13 @@ L_State_10:
mes "\"Perfect! For satisfying your request I need another perfect White Fur";
mes "and a pair of Boots, like those you can find in the mines.";
mes "They will make you lovely, my friend!\"";
- set QUEST_WG_state, 7;
- close;
+ set @wg_state, 7;
+ goto L_Close;
L_State_11:
mes "[Agostine, The Legendary Tailor]";
mes "\"So, my friend, have you brought me the right Fur?\"";
- if (countitem("WhiteFur") < 1) close;
+ if (countitem("WhiteFur") < 1) goto L_Close;
next;
menu
"Sure, I'm a fluffy hunter!", L_State_11_try,
@@ -278,7 +280,7 @@ L_State_11_try:
next;
mes "[Agostine, The Legendary Tailor]";
mes "\"That fur was terrible. I won't work with it!\"";
- if (countitem("WhiteFur") < 1) close;
+ if (countitem("WhiteFur") < 1) goto L_Close;
next;
menu
"Well, maybe this is better!", L_State_11_try,
@@ -289,7 +291,7 @@ L_State_11_success:
next;
mes "[Agostine, The Legendary Tailor]";
mes "\"This one is good enough, my friend. Good job.\"";
- set QUEST_WG_state, 8;
+ set @wg_state, 8;
goto L_State_12;
L_State_12:
@@ -308,32 +310,32 @@ L_State_12_pay:
set Zeny, Zeny - 15000;
delitem "Boots", 1;
getitem "FurBoots", 1;
- set QUEST_WG_state, 9;
+ set @wg_state, 9;
mes "[Agostine, The Legendary Tailor]";
mes "\"Enjoy your new boots, my friend!\"";
- close;
+ goto L_Close;
L_State_12_missing:
mes "[Agostine, The Legendary Tailor]";
mes "\"Seems you have forgotten something. Check your inventory";
mes "and your pockets!\"";
- close;
+ goto L_Close;
L_State_13:
mes "[Agostine, The Legendary Tailor]";
mes "\"You are so glamourous, my dear friend!";
mes "I have done a very good job on your clothes!\"";
- close;
+ goto L_Close;
L_TooMany:
mes "[Agostine, The Legendary Tailor]";
mes "\"You don't have anywhere to put them. Come back when you do.\"";
- close;
+ goto L_Close;
L_No_Fur:
mes "[Agostine, The Legendary Tailor]";
mes "\"You don't have any white fur! Stop talking nonsense.\"";
- close;
+ goto L_Close;
L_State_14:
if (BaseLevel < 60)
@@ -378,13 +380,13 @@ L_Next2:
"It will never happen. I won't waste my time.", L_Close;
L_State_14_Accept:
- set QUEST_WG_state, 12;
- close;
+ set @wg_state, 12;
+ goto L_Close;
L_State_14_AlreadyAccepted:
mes "[Agostine, The Legendary Tailor]";
mes "\"Please my friend, go talk to Lora Tay about our possible collaboration!\"";
- close;
+ goto L_Close;
L_State_15:
mes "[Agostine, The Legendary Tailor]";
@@ -418,15 +420,15 @@ L_Next4:
mes "[Agostine, The Legendary Tailor]";
mes "\"Hurry back my friend!\"";
- set QUEST_WG_state, 14;
+ set @wg_state, 14;
- close;
+ goto L_Close;
L_State_15_Repeat:
mes "[Agostine, The Legendary Tailor]";
mes "\"Please take these materials with you to show Lora Tay the kind of vision I have!";
mes "Hurry back my friend!\"";
- close;
+ goto L_Close;
L_State_16:
mes "[Agostine, The Legendary Tailor]";
@@ -460,17 +462,17 @@ L_Next6:
"... I'll take a nap first.", L_Close;
L_Next7:
- set QUEST_WG_state, 17;
+ set @wg_state, 17;
message strcharinfo(0), "Agostine gives you a folio containing his designs, that you put in a hidden compartment in your backpack.";
mes "Agostine gives you a folio containing his designs, that you put in a hidden compartment in your backpack.";
- close;
+ goto L_Close;
L_State_16_Repeat:
mes "[Agostine, The Legendary Tailor]";
mes "\"Please my friend, bring my designs to Lora Tay.\"";
- close;
+ goto L_Close;
L_State_17:
mes "[Agostine, The Legendary Tailor]";
@@ -501,20 +503,20 @@ L_State_17_AskItems:
"Here you are!", L_State_17_GiveItems;
L_Next9:
- set QUEST_WG_state, 21;
- close;
+ set @wg_state, 21;
+ goto L_Close;
L_State_17_NotEnoughItems:
mes "[Agostine, The Legendary Tailor]";
mes "\"My friend, sorry to disappoint you, but you are lacking some cloth.";
mes "I need exactly " + @FINEDRESS_COTTON_CLOTHS + " cotton cloths to finish this master piece.\"";
- close;
+ goto L_Close;
L_State_17_GiveItems:
if (countitem ("CottonCloth") < @FINEDRESS_COTTON_CLOTHS)
goto L_State_17_NotEnoughItems;
delitem "CottonCloth", @FINEDRESS_COTTON_CLOTHS;
- set QUEST_WG_state, 22;
+ set @wg_state, 22;
mes "[Agostine, The Legendary Tailor]";
mes "\"Great now just a little cloth here........\"";
@@ -571,27 +573,29 @@ L_Next11:
set Zeny, Zeny - @FINEDRESS_GP;
getitem "FineDress", 1;
- set QUEST_WG_state, 23;
- close;
+ set @wg_state, 23;
+ goto L_Close;
L_State_17_NoMoney:
mes "[Agostine, The Legendary Tailor]";
mes "\"Check your pockets my friend,";
mes "and come back when you have the money.\"";
- close;
+ goto L_Close;
L_State_17_InventoryFull:
mes "[Agostine, The Legendary Tailor]";
mes "\"My friend, you don't have room to carry my master piece. Come back when you do.\"";
- close;
+ goto L_Close;
L_State_18:
- // Same dialog than on state 13, but we could add something about the dress
+ // Same dialog as on state 13, but we could add something about the dress
mes "[Agostine, The Legendary Tailor]";
mes "\"You are so glamourous, my dear friend!";
mes "I have done a very good job on your clothes!\"";
- close;
+ goto L_Close;
L_Close:
+ set QUEST_WG_state, (QUEST_WG_state & ~(BYTE_0_MASK) | (@wg_state << BYTE_0_SHIFT));
+ set @wg_state, 0;
close;
}
diff --git a/world/map/npc/068-2/hetchel.txt b/world/map/npc/068-2/hetchel.txt
index 87c3d5af..d5d3fe72 100644
--- a/world/map/npc/068-2/hetchel.txt
+++ b/world/map/npc/068-2/hetchel.txt
@@ -9,8 +9,8 @@
//
// Hetchel's workshop is actually under repair, Shé'll be back in 021-2 when workers have finished their job.
//
-// QUEST_WG_state: Global variable indicating winter gloves status.
-// Lora Tay proposes silk Robe if (QUEST_WG_state>= 11).
+// @wg_state: variable indicating winter gloves status.
+// Lora Tay proposes silk Robe if (@wg_state>= 11).
// @SHEET_COCOONS_NR : Number of cocoons required per sheet.
// Might ne calculated from @ROBE_COCOONS_NR/@ROBE_SHEETS_NR
// Actually: 150∕6 = 25
@@ -19,11 +19,12 @@
068-2.gat,62,83,0|script|Hetchel|376,
{
+ set @wg_state, ((QUEST_WG_state & BYTE_0_MASK) >> BYTE_0_SHIFT);
set @SHEET_COCOONS_NR, 25;
set @SHEET_ZENY, 500;
set @SheetCount, 0;
- if (QUEST_WG_state < 11)
+ if (@wg_state < 11)
goto L_WG_quest_not_done;
mes "[Hetchel the weaver]";
mes "\"Hello I am Hetchel, I weave fine textiles, what can I do for you?\"";
@@ -141,6 +142,6 @@ L_end:
set @SHEET_COCOONS_NR, 0;
set @SHEET_ZENY, 0;
set @SheetCount, 0;
+ set @wg_state, 0;
close;
}
-