summaryrefslogtreecommitdiff
path: root/world/map/npc/009-2
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/009-2')
-rw-r--r--world/map/npc/009-2/airlia.txt61
-rw-r--r--world/map/npc/009-2/alan.txt42
-rw-r--r--world/map/npc/009-2/doctor.txt11
-rw-r--r--world/map/npc/009-2/kfahr.txt28
-rw-r--r--world/map/npc/009-2/nicholas.txt29
-rw-r--r--world/map/npc/009-2/nurse.txt29
-rw-r--r--world/map/npc/009-2/olana.txt28
-rw-r--r--world/map/npc/009-2/peter.txt6
-rw-r--r--world/map/npc/009-2/selim.txt47
-rw-r--r--world/map/npc/009-2/shops.txt1
-rw-r--r--world/map/npc/009-2/waitress.txt5
-rw-r--r--world/map/npc/009-2/wyara.txt47
12 files changed, 197 insertions, 137 deletions
diff --git a/world/map/npc/009-2/airlia.txt b/world/map/npc/009-2/airlia.txt
index 33d38d38..7c29ef75 100644
--- a/world/map/npc/009-2/airlia.txt
+++ b/world/map/npc/009-2/airlia.txt
@@ -43,6 +43,7 @@
if (QUEST_Airlia == @Q_STATUS_INITIAL_FETCH_REWARDED) goto L_Rewarded;
if (QUEST_Airlia == @Q_STATUS_HELP_AIRLIA) goto L_Fetch;
if (QUEST_Graveyard_Caretaker > @Q_STATUS_RECIEVED_FIRST_LETTER) goto L_Airlia_intro;
+ goto L_Caretaker;
L_Caretaker:
mes "[Airlia]";
@@ -50,13 +51,16 @@ L_Caretaker:
next;
if (QUEST_Graveyard_Caretaker < @Q_STATUS_RECIEVED_FIRST_LETTER)
menu
- "Sorry, no.", -,
+ "Sorry, no.", L_Next,
"My what?", L_Caretaker_mount;
- if (QUEST_Graveyard_Caretaker == @Q_STATUS_RECIEVED_FIRST_LETTER)
+ //else ==
menu
- "Sorry, no.", -,
+ "Sorry, no.", L_Next,
"I have a letter from your father.", L_Caretaker_first_reward,
"My what?", L_Caretaker_mount;
+ goto L_Next;
+
+L_Next:
mes "[Airlia]";
mes "\"Nobody ever does...\"";
close;
@@ -107,8 +111,11 @@ L_Airlia_intro:
if (QUEST_Graveyard_Caretaker == @Q_STATUS_HAS_NEW_LETTER)
menu
- "...", -,
+ "...", L_Next3,
"Oh, I have a letter from him.", L_Caretaker_later_rewards;
+ goto L_Next3;
+
+L_Next3:
mes "[Airlia]";
mes "\"You know, there are many who believe that each time the undead rise after being killed, they lose mana.";
mes "Eventually, there will not be enough mana for them to rise again and they can be at rest. Do you believe this is true?\"";
@@ -116,7 +123,9 @@ L_Airlia_intro:
menu
"I believe so, yes.", L_Airlia_intro_mana_loss,
"Maybe...", L_Airlia_intro_mana_loss,
- "No, that is not proven.", -;
+ "No, that is not proven.", L_Next1;
+
+L_Next1:
mes "[Airlia]";
mes "\"Oh...\"";
close;
@@ -129,8 +138,7 @@ L_Airlia_intro_mana_loss:
menu
"...", L_Airlia_intro_fou,
"I have heard of them.", L_Airlia_intro_fou,
- "Keep up the good work. I have to go now, bye.", -;
- close;
+ "Keep up the good work. I have to go now, bye.", L_Close;
L_Airlia_intro_fou:
mes "[Airlia]";
@@ -139,18 +147,19 @@ L_Airlia_intro_fou:
menu
"Of course I will.", L_Airlia_intro_fight,
"Sure, I guess.", L_Airlia_intro_fight,
- "Thanks, but no thanks. I have other business to attend to.", -;
- close;
+ "Thanks, but no thanks. I have other business to attend to.", L_Close;
L_Airlia_intro_fight:
mes "[Airlia]";
mes "\"Great, just kill any of the undead creatures you can and bring me proof of your work, and I will put in a word for you with the guild.\"";
next;
menu
- "I'm on it.", -,
+ "I'm on it.", L_Next2,
"What sort of proof?", L_Airlia_intro_proof;
+
+L_Next2:
set QUEST_Airlia, @Q_STATUS_HELP_AIRLIA;
- close;
+ goto L_Close;
L_Airlia_intro_proof:
mes "[Airlia]";
@@ -170,31 +179,14 @@ L_Fetch:
if (QUEST_Graveyard_Caretaker < @Q_STATUS_HAS_NEW_LETTER)
menu
- "You are welcome.", -,
+ "You are welcome.", L_Close,
"I have collected the " + @FETCH_AMOUNT_INITIAL + " " + getitemname(@FETCH_LABEL_INITIAL$) + "s.", L_Fetch_initial_reward;
if (QUEST_Graveyard_Caretaker == @Q_STATUS_HAS_NEW_LETTER)
menu
- "You are welcome.", -,
+ "You are welcome.", L_Close,
"I have another letter from your father.", L_Caretaker_later_rewards,
"I have collected the " + @FETCH_AMOUNT_INITIAL + " " + getitemname(@FETCH_LABEL_INITIAL$) + "s.", L_Fetch_initial_reward;
-
- // The following checks are REDUNDANT
- // The only way to get to this lable is after a check for QUEST_Airlia == @Q_STATUS_HELP_AIRLIA
- // Incase you weren't paying attention: @Q_STATUS_HELP_AIRLIA = 1 < @Q_STATUS_INITIAL_FETCH_REWARDED
- // Note: proper handling of the first case is done above.
- // The second case never gets executed anyway and not handled.
- //
- //if (QUEST_Airlia < @Q_STATUS_INITIAL_FETCH_REWARDED)
- // menu
- // "You are welcome.", -,
- // "I have collected the " + @FETCH_AMOUNT_INITIAL + " " + getitemname(@FETCH_LABEL_INITIAL$) + "s.", L_Fetch_initial_reward;
- //
- //if (QUEST_Airlia == @Q_STATUS_INITIAL_FETCH_REWARDED)
- // menu
- // "You are welcome.", -,
- // "I have collected the " + @FETCH_AMOUNT + " " + getitemname(@FETCH_LABEL$) + "s.", L_Fetch_later_rewards;
-
- close;
+ goto L_Close;
L_Fetch_initial_reward:
if (countitem(@FETCH_LABEL_INITIAL$) < @FETCH_AMOUNT_INITIAL) goto L_Fetch_not_enough;
@@ -240,12 +232,15 @@ L_Rewarded:
next;
if (QUEST_Graveyard_Caretaker < @Q_STATUS_HAS_NEW_LETTER)
menu
- "You are welcome.", -,
+ "You are welcome.", L_Close,
"I have collected the " + @FETCH_AMOUNT + " " + getitemname(@FETCH_LABEL$) + "s.", L_Fetch_later_rewards;
if (QUEST_Graveyard_Caretaker == @Q_STATUS_HAS_NEW_LETTER)
menu
- "You are welcome.", -,
+ "You are welcome.", L_Close,
"I have another letter from your father.", L_Caretaker_later_rewards,
"I have collected the " + @FETCH_AMOUNT + " " + getitemname(@FETCH_LABEL$) + "s.", L_Fetch_later_rewards;
+ goto L_Close;
+
+L_Close:
close;
}
diff --git a/world/map/npc/009-2/alan.txt b/world/map/npc/009-2/alan.txt
index 22f2fbc1..ba9e1f30 100644
--- a/world/map/npc/009-2/alan.txt
+++ b/world/map/npc/009-2/alan.txt
@@ -32,21 +32,22 @@
next;
if (@inspector == 1)
menu
- "OK, thanks.", -,
+ "OK, thanks.", L_Close,
"Can you make me a really good bow?", L_State_0_1,
"Have you seen anything strange recently that might be connected to the robberies?", L_NohMask_Answer;
- if (@inspector != 1)
+ //else
menu
- "OK, thanks.", -,
+ "OK, thanks.", L_Close,
"Can you make me a really good bow?", L_State_0_1;
- goto L_Close;
L_State_0_1:
mes "[Alan]";
mes "\"You mean like one of my legendary forest bows?\"";
next;
menu
- "Yes, that would be nice.", -;
+ "Yes, that would be nice.", L_Next;
+
+L_Next:
mes "[Alan]";
mes "\"Sorry, I am not making these anymore.\"";
next;
@@ -72,7 +73,7 @@ L_State_0_3:
next;
menu
"OK, I'll ask him.", L_Close,
- "I am sure he got his reasons.", -;
+ "I am sure he got his reasons.", L_State_1;
L_State_1:
mes "[Alan]";
@@ -80,14 +81,13 @@ L_State_1:
next;
if (@inspector == 1)
menu
- "No, I haven't had the time yet.", -,
+ "No, I haven't had the time yet.", L_Close,
"No, I didn't find him yet.", L_State_1_1,
"Have you seen anything strange recently that might be connected to the robberies?", L_NohMask_Answer;
- if (@inspector != 1)
+ //else
menu
- "No, I haven't had the time yet.", -,
+ "No, I haven't had the time yet.", L_Close,
"No, I didn't find him yet.", L_State_1_1;
- goto L_Close;
L_State_1_1:
mes "[Alan]";
@@ -100,11 +100,12 @@ L_State_2:
next;
if (@inspector == 1)
menu
- "Yes, I did. He said that the trees turned into dangerous monsters.", -,
+ "Yes, I did. He said that the trees turned into dangerous monsters.", L_Foo,
"Have you seen anything strange recently that might be connected to the robberies?", L_NohMask_Answer;
- if (@inspector != 1)
+ //else
menu
- "Yes, I did. He said that the trees turned into dangerous monsters.", -;
+ "Yes, I did. He said that the trees turned into dangerous monsters.", L_Foo;
+L_Foo:
mes "[Alan]";
mes "\"Oh, that's really bad news. Maybe you can do his job?";
mes "When you kill some of these tree monsters and bring me their wood I can take a look at them.";
@@ -122,13 +123,12 @@ L_State_3:
if (@inspector == 1)
menu
"Here, take a look!", L_State_3_try,
- "Yes, but I need it for something else.", -,
+ "Yes, but I need it for something else.", L_Close,
"Have you seen anything strange recently that might be connected to the robberies?", L_NohMask_Answer;
- if (@inspector != 1)
+ //else
menu
"Here, take a look!", L_State_3_try,
- "Yes, but I need it for something else.", -;
- goto L_Close;
+ "Yes, but I need it for something else.", L_Close;
L_State_3_try:
if (countitem("RawLog") < 1)
@@ -160,6 +160,7 @@ L_State_3_success:
next;
set @Q_status, 4;
callsub S_Update_Var;
+ goto L_State_4;
L_State_4:
mes "[Alan]";
@@ -167,14 +168,13 @@ L_State_4:
next;
if (@inspector == 1)
menu
- "10,000??? What a ripoff!", -,
+ "10,000??? What a ripoff!", L_Close,
"Sure, here you go!", L_State_4_pay,
"Have you seen anything strange recently that might be connected to the robberies?", L_NohMask_Answer;
- if (@inspector != 1)
+ //else
menu
- "10,000??? What a ripoff!", -,
+ "10,000??? What a ripoff!", L_Close,
"Sure, here you go!", L_State_4_pay;
- goto L_Close;
L_State_4_pay:
if (Zeny < 10000)
diff --git a/world/map/npc/009-2/doctor.txt b/world/map/npc/009-2/doctor.txt
index a2e16ff9..e9905c77 100644
--- a/world/map/npc/009-2/doctor.txt
+++ b/world/map/npc/009-2/doctor.txt
@@ -16,13 +16,14 @@
if (@inspector == 1)
menu
"I think I am sick!", L_Cure,
- "No, I feel fine.", -,
+ "No, I feel fine.", L_Next,
"Have you seen anything strange in town? Anything that might have to do with the robberies?", L_NohMask;
- if (@inspector != 1)
+ //else
menu
"I think I am sick!", L_Cure,
- "No, I feel fine.", -;
+ "No, I feel fine.", L_Next;
+L_Next:
mes "[Doctor]";
mes "\"Then please stop wasting my precious time.\"";
goto L_Close;
@@ -63,7 +64,9 @@ L_Eyepatch:
next;
menu
"Yes, please.", L_Eyepatch_GlassEye,
- "No thank you", -;
+ "No thank you", L_Next1;
+
+L_Next1:
mes "[Doctor]";
mes "\"If you change your mind, please come back and see me.\"";
goto L_Close;
diff --git a/world/map/npc/009-2/kfahr.txt b/world/map/npc/009-2/kfahr.txt
index 6a34e959..a237a381 100644
--- a/world/map/npc/009-2/kfahr.txt
+++ b/world/map/npc/009-2/kfahr.txt
@@ -76,17 +76,21 @@ L_main_menu:
if (@Q_status >= @QS_KNOWS_KFAHR)
goto L_real_main_menu;
menu
- "Who are you?", -,
+ "Who are you?", L_Next,
"Goodbye.", L_end;
+
+L_Next:
mes "[Kfahr the Warrior]";
mes "Kfahr laughs again.";
mes "\"Surely you jest! You must have heard of Kfahr, Slayer of Toby Rick the Desert Worm, Raider of the Lost Temple, Hero of Tulimshar?\"";
next;
menu
- "Uhm...", -,
- "Well...", -,
- "To be quite honest...", -,
+ "Uhm...", L_Next1,
+ "Well...", L_Next1,
+ "To be quite honest...", L_Next1,
"Excuse me, someone is, er, whispering me...", L_end;
+
+L_Next1:
mes "[Kfahr the Warrior]";
mes "\"Ah, I knew it! So you have come to hear some tales about the dangers of the desert? You've come to the right man!\"";
next;
@@ -134,7 +138,6 @@ L_real_main_menu:
"I want to become as powerful as you!", L_gain_power,
"Here, have a beer!", L_give_beer,
"Goodbye!", L_end;
- close;
L_long_main_menu:
menu
@@ -146,7 +149,6 @@ L_long_main_menu:
"Have you fought any Golden Scorpions?", L_golden_scorpion,
"Here, have a beer!", L_give_beer,
"Goodbye!", L_end;
- close;
L_tale_desert_worm:
set @current_story, 1;
@@ -422,11 +424,10 @@ L_tale_desert_temple:
mes "\"That was my first real adventure, I think. Ah, those were exciting days.\"";
next;
menu
- "Wow.", -,
+ "Wow.", L_main_menu,
"What happened to the tablet?", L_tale_tablet,
"Did you go there again?", L_tale_temple_again,
"Zzzzzzz.....", L_end;
- goto L_main_menu;
L_tale_tablet:
mes "[Kfahr the Warrior]";
@@ -608,6 +609,7 @@ L_boneknife_quest:
set @Q_status, @QS_KNIFE_QUEST;
callsub L_Update_Var;
next;
+ goto L_boneknife_quest_ip;
L_boneknife_quest_ip:
mes "[Kfahr the Warrior]";
@@ -642,7 +644,6 @@ L_knife_quest_check:
"Er, what were those things again?", L_boneknife_quest_ip,
"No, sorry, I didn't have the time.", L_main_menu,
"I forgot! Let me get them right now.", L_end;
- close;
L_knife_quest_completecheck:
if (countitem("BlackScorpionStinger") < @BLACK_STINGERS_NR)
@@ -737,7 +738,6 @@ L_stinger_quest_check:
"Yes, here they are!", L_snakeskins_completecheck,
"No, sorry, I didn't have the time.", L_main_menu,
"I forgot! Let me get them right now.", L_end;
- close;
L_snakeskins_completecheck:
if (countitem("SnakeSkin") < @SNAKE_SKINS_NR)
@@ -840,7 +840,9 @@ L_golden_scorpion:
next;
menu
"Never mind, I was just curious.", L_main_menu,
- "I need a golden scorpion stinger.", -;
+ "I need a golden scorpion stinger.", L_Next2;
+
+L_Next2:
mes "[Kfahr the Warrior]";
mes "\"A golden scorpion stinger? Those are rare and valuable, I hope that you know that!\"";
if (BaseLevel < 60)
@@ -856,13 +858,13 @@ L_golden_scorpion:
mes "A mischievous sparkle lightens up in his eyes.";
mes "\"...if you arm-wrestle me for it!\"";
next;
+ goto L_golden_scorpion_wrestle_intro;
L_golden_scorpion_wrestle_intro:
menu
"Never!", L_main_menu,
"Wait... what?", L_wrestle_explain,
"Bring it on!", L_golden_scorpion_wrestle;
- close;
L_golden_requires_knife_quest_done:
mes "He hesitates.";
@@ -929,6 +931,7 @@ L_golden_scorpion_wrestle:
set @position, 2;
set @first_round, 1;
+ goto L_wrestle_loop;
L_wrestle_loop:
mes "[Arm-wrestling with Kfahr]";
@@ -943,7 +946,6 @@ L_wrestle_loop:
"Hold!", L_wrestle_hold,
"Slam!", L_wrestle_slam,
"Consider your options", L_wrestle_info;
- close;
L_wrestle_info:
mes "[Arm-wrestling with Kfahr]";
diff --git a/world/map/npc/009-2/nicholas.txt b/world/map/npc/009-2/nicholas.txt
index d43b7df0..8c105b02 100644
--- a/world/map/npc/009-2/nicholas.txt
+++ b/world/map/npc/009-2/nicholas.txt
@@ -108,6 +108,7 @@ L_main_menu:
set @choice$[@choices_nr], "Can you make my Short Sword better?";
set @choice_idx[@choices_nr], @CHOICE_SETZER;
set @choices_nr, 1 + @choices_nr;
+ goto L_main_menu_post_setzer;
L_main_menu_post_setzer:
@@ -132,19 +133,21 @@ L_main_menu_post_setzer:
set @choice$[@choices_nr], "Warlord Helmet (9 Iron Ingots & 18 Coal).";
set @choice_idx[@choices_nr], @CHOICE_WARLORD;
set @choices_nr, 1 + @choices_nr;
+ goto L_no_more_helmets;
L_no_more_helmets:
set @choice$[@choices_nr], "No thanks.";
set @choice_idx[@choices_nr], @CHOICE_CANCEL;
set @choices_nr, 1 + @choices_nr;
menu
- @choice$[0], -,
- @choice$[1], -,
- @choice$[2], -,
- @choice$[3], -,
- @choice$[4], -,
- @choice$[5], -;
-
+ @choice$[0], L_MenuItems,
+ @choice$[1], L_MenuItems,
+ @choice$[2], L_MenuItems,
+ @choice$[3], L_MenuItems,
+ @choice$[4], L_MenuItems,
+ @choice$[5], L_MenuItems;
+
+L_MenuItems:
set @menu, @menu - 1;
if (@menu >= @choices_nr)
close;
@@ -225,8 +228,10 @@ L_YesShield:
mes "\"No, this iron is too brittle; for something as large as a shield I need to mix in softer iron. Can I see if you have anything suitable?\"";
next;
menu
- "Sure, have a look!", -,
+ "Sure, have a look!", L_Next,
"No.", L_Pass;
+
+L_Next:
if (countitem("InfantryHelmet") == 1)
goto L_MoreInfantry;
if (countitem("InfantryHelmet") == 0)
@@ -240,9 +245,11 @@ L_YesShield:
callsub L_Update_Var;
next;
menu
- "Here you are!", -,
+ "Here you are!", L_Next1,
"Where can I get a Leather Patch?", L_WhereLeather,
"No way.", L_Pass;
+
+L_Next1:
if (Zeny < 20000)
goto L_ShieldNoZeny;
if (countitem("InfantryHelmet") < 2)
@@ -329,9 +336,11 @@ L_SetzerQuest:
callsub L_Update_Var;
next;
menu
- "Here you are.", -,
+ "Here you are.", L_Next2,
"Monster oil? What's that?", L_ExplainMonsterOil,
"HOW much? Nevermind then!", L_Pass;
+
+L_Next2:
if (Zeny < 50000)
goto L_SetzerNoZeny;
if ( (countitem("IronIngot") < 3) || (countitem("Coal") < 6) )
diff --git a/world/map/npc/009-2/nurse.txt b/world/map/npc/009-2/nurse.txt
index 838d0ee2..3fbbc536 100644
--- a/world/map/npc/009-2/nurse.txt
+++ b/world/map/npc/009-2/nurse.txt
@@ -53,6 +53,7 @@
if (@Q_poison == 2) goto state2;
if (@Q_poison == 1) goto state1;
if (getskilllv(SKILL_POOL)) goto state0;
+ goto L_Usual;
L_Usual:
mes "[Nurse]";
@@ -64,12 +65,14 @@ L_Usual:
"Oooh, these wounds! They hurt so much!", L_Heal,
"I don't feel so well, I might be sick.", L_Doctor,
"Have you seen anything out of the ordinary?", L_NohMask,
- "No, I'm fine.", -;
- if (@inspector != 1)
+ "No, I'm fine.", L_Next;
+ //else
menu
"Oooh, these wounds! They hurt so much!", L_Heal,
"I don't feel so well, I might be sick.", L_Doctor,
- "No, I'm fine.", -;
+ "No, I'm fine.", L_Next;
+
+L_Next:
mes "[Nurse]";
mes "\"Then I would ask you to leave. There are people who really need our help.\"";
goto L_Close;
@@ -111,7 +114,9 @@ state0:
next;
menu
"I will do what I can. What do you need?", L_firstquest,
- "I'm really sorry, but I don't think I can help you.", -;
+ "I'm really sorry, but I don't think I can help you.", L_Next1;
+
+L_Next1:
mes "\"That is disagreeable to hear. Maybe I can find another person to take this task.\"";
next;
goto L_Usual;
@@ -121,6 +126,7 @@ L_firstquest:
callsub S_Update_Var;
mes "\"That's great! First, I need some parts of the poisonous creatures.\"";
next;
+ goto L_ExplainAgain1;
L_ExplainAgain1:
mes "\"Please bring me five tongues of snakes and ten stingers of black scorpions.\"";
@@ -133,8 +139,10 @@ state1:
menu
"Actually, I have another question.", L_Usual,
"Sorry, I forgot. What shall I bring you?", L_ExplainAgain1,
- "I have what you asked for.", -,
+ "I have what you asked for.", L_Next2,
"I'm still working on that.", L_Close;
+
+L_Next2:
if (countitem("SnakeTongue") < @SNAKET_AMOUNT || countitem("BlackScorpionStinger") < @BSCORPIONST_AMOUNT)
goto L_NotEnough;
delitem "SnakeTongue", @SNAKET_AMOUNT;
@@ -147,6 +155,7 @@ state1:
next;
mes "\"But there are some other things we will need in any case. It would be courteous if you could get them meanwhile.\"";
next;
+ goto L_ExplainAgain2;
L_ExplainAgain2:
mes "\"Please bring me ten acorns, five red apples, five green apples and also five oranges. And we need some small healing potions. They will be useful to hold off the baneful effects. Three of them will be enough, I guess.\"";
@@ -160,8 +169,10 @@ state2:
menu
"Actually, I have another question.", L_Usual,
"I have a bad memory. Can you tell me again what we need?", L_ExplainAgain2,
- "I managed to get everything we need.", -,
+ "I managed to get everything we need.", L_Next3,
"I will go and get it.", L_Close;
+
+L_Next3:
if (countitem("Acorn") < @ACORNS_AMOUNT
|| countitem("GreenApple") < @GREENAPPLE_AMOUNT
|| countitem("RedApple") < @REDAPPLE_AMOUNT
@@ -176,6 +187,7 @@ state2:
getexp @QUEST2_EXP, 0;
set @Q_poison, 3;
callsub S_Update_Var;
+ goto L_Chemistry;
L_Chemistry:
callsub L_Shuffle_Need;
@@ -207,7 +219,7 @@ state3:
next;
menu
"Actually, I have another question.", L_Usual,
- "Yes, let us begin.",-;
+ "Yes, let us begin.",L_Exp_Game;
L_Exp_Game:
mes "[Nurse]";
@@ -225,7 +237,7 @@ L_Exp_Game:
next;
menu
"Please explain it again.", L_Exp_Game,
- "Alright.", -;
+ "Alright.", L_Game;
L_Game:
set @Q_poison, @Q_poison + 1;
@@ -271,6 +283,7 @@ L_Game:
mes "\"I see that the healing potions are needed at least " + @hlNeed/@stNeed + " times as much as the stabilizer.\"";
if ((@hlNeed/@stNeed > 1 ) || (@stNeed/@hlNeed > 1 ))
next;
+ goto L_choosePut;
L_choosePut:
set @max, @count+@offset-1;
diff --git a/world/map/npc/009-2/olana.txt b/world/map/npc/009-2/olana.txt
index 3e7be881..cf200391 100644
--- a/world/map/npc/009-2/olana.txt
+++ b/world/map/npc/009-2/olana.txt
@@ -43,8 +43,10 @@
next;
mes "\"I'm starting to get a bad feeling about this. If you go to the forest near the swamps, could you see if you can find my daughters? I need to know if they are safe!\"";
menu
- "Sure, I can do that.", -,
+ "Sure, I can do that.", L_Next,
"I am sorry, I don't usually go to that area.", L_No;
+
+L_Next:
set Rossy_Quest, 1;
close;
@@ -68,7 +70,9 @@ L_Help:
mes "\"Oh you did? That's good. I'm relieved. But what about Julia?\"";
next;
menu
- "I haven't found Julia yet, sorry.", -;
+ "I haven't found Julia yet, sorry.", L_Next1;
+
+L_Next1:
mes "\"Ok. They must be playing hide and seek. Thanks again... I can't express how grateful I am.\"";
set Rossy_Quest, 3;
close;
@@ -86,7 +90,9 @@ L_See:
goto L_Worried;
delitem "Cherry", @Cherry_Amount;
menu
- "Hi, Rossy asked me to give you this. She says it is a gift from both her and Julia.", -;
+ "Hi, Rossy asked me to give you this. She says it is a gift from both her and Julia.", L_Next2;
+
+L_Next2:
mes "[Olana]";
mes "\"Ohhh... How sweet... Sometimes Rossy impresses me with her kindness. Here... You are spending so much time helping us, and we give nothing back. Take this as a small reward.\"";
getexp @Cherry_EXP, 0;
@@ -127,12 +133,16 @@ L_BL:
L_Rose:
menu
- "Hi, Rossy did great in the exam. David told me her potion was flawless.", -;
+ "Hi, Rossy did great in the exam. David told me her potion was flawless.", L_Next3;
+
+L_Next3:
mes "[Olana]";
mes "\"Wow! Really? That is great! I would like to congratulate my little Rossy. Would you mind helping me a little more?\"";
menu
- "Just tell me what to do.", -,
+ "Just tell me what to do.", L_Next4,
"No, I'm busy, maybe later.", L_No;
+
+L_Next4:
mes "[Olana]";
mes "\"Can you bring me " + @RedRose_Amount + " Red Roses? I would like to give them to Rossy. I am sure she will love them!\"";
menu
@@ -164,7 +174,9 @@ L_Allergic:
mes "\"Did she like my present?\"";
menu
"Sure she did...", L_No,
- "Well, you should have known that your daughter is allergic to roses.", -;
+ "Well, you should have known that your daughter is allergic to roses.", L_Next5;
+
+L_Next5:
set Rossy_Quest, 12;
mes "[Olana]";
mes "\"Oh, how stupid I am! Here, take some of my money and buy Red Tulips instead, the same amount. Keep the flowers.\"";
@@ -172,7 +184,9 @@ L_Allergic:
next;
mes "\"Please, tell Rossy I am really sorry. My mind was on Julia when I asked you to bring the red roses, they are her favorite.\"";
menu
- "I will give her the tulips when I see her.", -;
+ "I will give her the tulips when I see her.", L_Next6;
+
+L_Next6:
mes "[Olana]";
mes "\"Thank you. And don't forget to tell her that I'm really sorry.\"";
close;
diff --git a/world/map/npc/009-2/peter.txt b/world/map/npc/009-2/peter.txt
index 8c8f648d..9d6a6078 100644
--- a/world/map/npc/009-2/peter.txt
+++ b/world/map/npc/009-2/peter.txt
@@ -30,8 +30,7 @@
"Light Plate ("+@peter_light_plate_coal+" coal, "+@peter_light_plate_ingot+" ingots and "+@peter_light_plate_money+" GP).", L_Peter_Light_Plate,
"Warlord Plate ("+@peter_warlord_plate_coal+" coal, "+@peter_warlord_plate_ingot+" ingots and "+@peter_warlord_plate_money+" GP).", L_Peter_Warlord_Plate,
"Do you know anything else than armor crafting?", L_Peter_New_Skills,
- "Nevermind.", -;
- goto L_Close;
+ "Nevermind.", L_Close;
L_Peter_Chain_Mail:
set @peter_crafting_coal, @peter_chain_mail_coal;
@@ -63,8 +62,7 @@ L_Peter_New_Skills:
mes "My very first creation are new kind of steel boots. Interested ? That would be "+@peter_warlord_boots_coal+" Coals, "+@peter_warlord_boots_ingot+" Iron Ingots and "+@peter_warlord_boots_money+" GP.\"";
menu
"Sure!", L_Peter_Warlord_Boots,
- "No thanks, that sounds too heavy for me.", -;
- goto L_Close;
+ "No thanks, that sounds too heavy for me.", L_Close;
L_Peter_Warlord_Boots:
set @peter_crafting_coal, @peter_warlord_boots_coal;
diff --git a/world/map/npc/009-2/selim.txt b/world/map/npc/009-2/selim.txt
index dee87a8e..92c7aa2e 100644
--- a/world/map/npc/009-2/selim.txt
+++ b/world/map/npc/009-2/selim.txt
@@ -12,6 +12,7 @@
mes "[Selim]";
mes "\"What can I dye for you today?\"";
next;
+ goto L_clothes_choice;
L_clothes_choice:
set @pronoun$, "it";
@@ -38,8 +39,7 @@ L_clothes_choice:
"Bowler hat (brown).", L_bowlerhatbrown,
"Fine dress.", L_finedress,
"About these sorcerer robes...", L_asksorcererrobe,
- "I'm fine for now, thanks.", -;
- close;
+ "I'm fine for now, thanks.", L_Close;
L_cottonshirt:
set @del, 1202;
@@ -165,8 +165,7 @@ L_sorcererrobe:
"A purple lined one.", L_purplelinedsorcererrobe,
"A dark green lined one.", L_darkgreenlinedsorcererrobe,
"A white lined one.", L_whitelinedsorcererrobe,
- "I'm fine for now, thanks.", -;
- close;
+ "I'm fine for now, thanks.", L_Close;
L_redlinedsorcererrobe:
set @del, 798;
@@ -257,39 +256,45 @@ L_asksorcererrobe:
mes "\"Yes?\"";
next;
menu
- "Do you think you can dye that line to a different color?", -;
+ "Do you think you can dye that line to a different color?", L_Next1;
+
+L_Next1:
mes "[Selim]";
mes "\"Hum, I fear I can't do that. The area is too small and I can operate only on large ones.";
mes "But with the appropriate materials, maybe a talented tailor can make the change.\"";
next;
menu
- "Oh, I see!", -;
+ "Oh, I see!", L_Next;
+
+L_Next:
mes "[Selim]";
mes "\"Of course I can help you by dyeing the materials your tailor will want.";
mes "All I need is a piece of Cotton Cloth.\"";
menu
"Sure. Here is one.", L_cottoncloth,
- "I have to go pick that.", -;
- close;
+ "I have to go pick that.", L_Close;
L_picked_item:
if (countitem(@del) == 0) goto L_havenone;
+ goto L_colour;
L_colour:
mes "[Selim]";
mes "\"Excellent. Now, what color do you want?\"";
next;
menu
- "Red.", -,
- "Green.", -,
- "Dark Blue.", -,
- "Yellow.", -,
- "Light Blue.", -,
- "Pink.", -,
- "Black.", -,
- "Orange.", -,
- "Purple.", -,
- "Dark Green.", -;
+ "Red.", L_MenuItems,
+ "Green.", L_MenuItems,
+ "Dark Blue.", L_MenuItems,
+ "Yellow.", L_MenuItems,
+ "Light Blue.", L_MenuItems,
+ "Pink.", L_MenuItems,
+ "Black.", L_MenuItems,
+ "Orange.", L_MenuItems,
+ "Purple.", L_MenuItems,
+ "Dark Green.", L_MenuItems;
+
+L_MenuItems:
set @colour, @menu - 1;
set @vial, 690 + @colour;
if (countitem(@vial) == 0) goto L_no_dye;
@@ -305,8 +310,7 @@ L_no_dye:
"I wanted to dye a different item anyway.", L_clothes_choice,
"What do you mean, `bring you dye'?", L_explain_dye,
"Where would I get dye?", L_explain_dye,
- "Never mind.", -;
- close;
+ "Never mind.", L_Close;
L_explain_dye:
if (QUEST_clothdyer_knowsdye < 1)
@@ -332,4 +336,7 @@ L_havenone:
mes "Would you like to dye something else?\"";
next;
goto L_clothes_choice;
+
+L_Close:
+ close;
}
diff --git a/world/map/npc/009-2/shops.txt b/world/map/npc/009-2/shops.txt
index 7837b816..bcf512b5 100644
--- a/world/map/npc/009-2/shops.txt
+++ b/world/map/npc/009-2/shops.txt
@@ -15,6 +15,7 @@
set @npcname$, "Receptionist";
set @cost, 100;
callfunc "Inn";
+ end;
}
// Archer Shop
diff --git a/world/map/npc/009-2/waitress.txt b/world/map/npc/009-2/waitress.txt
index 473b34e0..553e20f6 100644
--- a/world/map/npc/009-2/waitress.txt
+++ b/world/map/npc/009-2/waitress.txt
@@ -11,7 +11,6 @@
"Sure! [tip 5 GP]", L_5Tip,
"Sure! [tip 10 GP]", L_10Tip,
"Nah, maybe later.", L_No;
- close;
L_NoTip:
if (Zeny < 170)
@@ -49,8 +48,10 @@ L_10Tip:
mes "\"Thank you, sweetie! Want to hear a secret?\"";
next;
menu
- "What is it, darling?", -,
+ "What is it, darling?", L_Next,
"Nah, I don't feel like chatting.", L_No;
+
+L_Next:
mes "[Melinda]";
mes "\"The master bowyer in this village used to construct exceptional bows. When you want one you should go and ask him.\"";
close;
diff --git a/world/map/npc/009-2/wyara.txt b/world/map/npc/009-2/wyara.txt
index 27050f1d..adcc7f6e 100644
--- a/world/map/npc/009-2/wyara.txt
+++ b/world/map/npc/009-2/wyara.txt
@@ -37,6 +37,7 @@
mes "\"Hello! What brings you here?\"";
next;
set MAGIC_FLAGS, MAGIC_FLAGS | MFLAG_KNOWS_WYARA;
+ goto L_Main;
L_Main:
if (!@has_magic && (MAGIC_FLAGS & MFLAG_TOUCHED_MANASEED))
@@ -45,14 +46,13 @@ L_Main:
"Can you help me use the mana seed?", L_Q_manaseed_unabsorbed,
"Can you help me learn magic?", L_Magic,
"I would like to buy potions.", L_Shop,
- "Bye!", -;
- if (!(!@has_magic && (MAGIC_FLAGS & MFLAG_TOUCHED_MANASEED)))
+ "Bye!", L_Close;
+ //else
menu
"What do you know about...", L_Question,
"Can you help me learn magic?", L_Magic,
"I would like to buy potions.", L_Shop,
- "Bye!", -;
- close;
+ "Bye!", L_Close;
L_Shop:
mes "[Wyara the Witch]";
@@ -129,7 +129,6 @@ L_Q_manapotion:
menu
"Sure!", L_make_manapotion,
"No.", L_Main;
- goto L_Main;
L_manapotion_toomany:
mes "[Wyara the Witch]";
@@ -205,14 +204,14 @@ L_Magic:
mes "[Wyara the Witch]";
mes "\"Perhaps I can help you a little, but I am not a master of any school of magic.\"";
next;
+ goto L_Magic_main;
L_Magic_main:
menu
"Can you explain magic to me?", L_Magic_explain,
"Can you teach me a spell?", L_Magic_spell,
"Can you train me?", L_Magic_train,
- "Never mind.", -;
- goto L_Main;
+ "Never mind.", L_Main;
L_Magic_explain:
mes "[Wyara the Witch]";
@@ -242,6 +241,7 @@ L_Magic_spell3:
if (getskilllv(SKILL_MAGIC) < 2)
mes "\"You are not powerful enough to use it yet, though; you will first have to absorb more magic from the mana seed.\"";
next;
+ goto L_Magic_spell2;
L_Magic_spell2:
mes "[Wyara the Witch]";
@@ -284,6 +284,7 @@ L_Magic_train_wb:
goto L_Magic_train_evil;
mes "\"Ah, yes, your training...\"";
next;
+ goto L_Magic_train_dispatch;
L_Magic_train_dispatch:
if (@Q_status == @STATUS_PURIFY_TWICE)
@@ -304,6 +305,7 @@ L_Magic_train_dispatch:
next;
set @Q_status, @STATUS_PURIFY_EXPLAINED;
callsub S_update_var;
+ goto L_Magic_purify_explained;
L_Magic_purify_explained:
if (countitem("PurificationPotion"))
@@ -315,7 +317,9 @@ L_Magic_purify_explained:
menu
"I shall get them later.", L_Magic_main,
"Booring.", L_Magic_main,
- "Here they are.", -;
+ "Here they are.", L_Next;
+
+L_Next:
getinventorylist;
if ((@inventorylist_count == 100) && (countitem("MauveHerb") > 20) && (countitem("MaggotSlime") > 20))
goto L_Magic_purify_nospace;
@@ -329,6 +333,7 @@ L_Magic_purify_explained:
mes "[Wyara the Witch]";
mes "Wyara grinds the leaves and mixes them with the slime, boils them, then speaks a brief incantation over them and hands you the result.";
next;
+ goto L_Magic_purify_doit;
L_Magic_purify_doit:
mes "[Wyara the Witch]";
@@ -360,7 +365,9 @@ L_Magic_purify_once:
menu
"I'll do that later.", L_Main,
"No way.", L_Main,
- "Here you are.", -;
+ "Here you are.", L_Next1;
+
+L_Next1:
getinventorylist;
if ((@inventorylist_count == 100) && (countitem("MauveHerb") > 20) && (countitem("MaggotSlime") > 20))
goto L_Magic_purify_nospace;
@@ -374,6 +381,7 @@ L_Magic_purify_once:
mes "[Wyara the Witch]";
mes "Wyara brews another purification potion.";
next;
+ goto L_Magic_purify_doit2;
L_Magic_purify_doit2:
mes "[Wyara the Witch]";
@@ -389,8 +397,10 @@ L_Magic_purify_done:
mes "\"Please sit down and touch the ground.\"";
next;
menu
- "Very well.", -,
+ "Very well.", L_Next2,
"No way!", L_Magic_purify_abort;
+
+L_Next2:
mes "[Wyara the Witch]";
mes "You sit down and touch the ground, and so does Wyara.";
next;
@@ -421,12 +431,14 @@ L_Magic_train_no:
mes "[Wyara the Witch]";
mes "\"I can't teach you anything at this time. Perhaps Sagatha can help you, but I'm not sure if she will accept you as a student.\"";
next;
+ goto L_Magic_train_sagatha;
L_Magic_train_sagatha:
menu
"OK.", L_Magic_main,
- "How can I convince her to accept me?", -;
+ "How can I convince her to accept me?", L_Next3;
+L_Next3:
callfunc "SagathaStatus";
mes "[Wyara the Witch]";
if (@evil)
@@ -452,8 +464,10 @@ L_Magic_train_sagatha:
set MAGIC_FLAGS, MAGIC_FLAGS | MFLAG_KNOWS_DRUIDTREE;
menu
"What is that tree?", L_Magic_train_tree_backgd,
- "How should I tend to it?", -,
+ "How should I tend to it?", L_Next4,
"Nah.", L_Magic_main;
+
+L_Next4:
mes "[Wyara the Witch]";
mes "\"The tree has been there alone and unattended for a long time; what he needs most is water and affection. Give him both.\"";
next;
@@ -494,14 +508,14 @@ L_Magic_train_tree_backgd:
mes "[Wyara the Witch]";
mes "\"Please give him water, for he is always in need of it, and thank him for his sacrifice. It is all we can do for him now.\"";
next;
+ goto L_Magic_tree_menu;
L_Magic_tree_menu:
menu
"How should I give him water?", L_Magic_tree_water,
"How should I thank him?", L_Magic_tree_remind,
- "I will.", -,
- "No.", -;
- goto L_Magic_main;
+ "I will.", L_Magic_main,
+ "No.", L_Magic_main;
L_Magic_tree_water:
mes "[Wyara the Witch]";
@@ -529,6 +543,9 @@ L_Magic_train_sagatha_lvl1:
next;
goto L_Magic_main;
+L_Close:
+ close;
+
S_update_var:
set QUEST_MAGIC2, (QUEST_MAGIC2 & ~(@Q_MASK) | (@Q_status << @Q_SHIFT));
return;