summaryrefslogtreecommitdiff
path: root/world/map
diff options
context:
space:
mode:
Diffstat (limited to 'world/map')
-rw-r--r--world/map/npc/001-1/banker.txt1
-rw-r--r--world/map/npc/001-1/bard.txt8
-rw-r--r--world/map/npc/001-1/bernard.txt21
-rw-r--r--world/map/npc/001-1/bleacher.txt17
-rw-r--r--world/map/npc/001-1/children.txt44
-rw-r--r--world/map/npc/001-1/elanore.txt69
-rw-r--r--world/map/npc/001-1/entertainer.txt11
-rw-r--r--world/map/npc/001-1/gossip.txt6
-rw-r--r--world/map/npc/001-1/guards.txt20
-rw-r--r--world/map/npc/001-1/luca.txt40
-rw-r--r--world/map/npc/001-1/npcs.txt2
-rw-r--r--world/map/npc/001-1/rewards_master.txt20
-rw-r--r--world/map/npc/001-1/sandra.txt17
-rw-r--r--world/map/npc/001-1/sarah.txt19
-rw-r--r--world/map/npc/001-1/soul-menhir.txt5
-rw-r--r--world/map/npc/001-1/trader.txt35
-rw-r--r--world/map/npc/001-1/vincent.txt16
17 files changed, 222 insertions, 129 deletions
diff --git a/world/map/npc/001-1/banker.txt b/world/map/npc/001-1/banker.txt
index 6dfc5bc3..c5807d0e 100644
--- a/world/map/npc/001-1/banker.txt
+++ b/world/map/npc/001-1/banker.txt
@@ -4,5 +4,6 @@
callfunc "ClearVariables";
set @npcname$, "Tybalt";
callfunc "Banker";
+ set @npcname$, "";
close;
}
diff --git a/world/map/npc/001-1/bard.txt b/world/map/npc/001-1/bard.txt
index c4a340ba..c7f9de54 100644
--- a/world/map/npc/001-1/bard.txt
+++ b/world/map/npc/001-1/bard.txt
@@ -19,7 +19,7 @@ L_Main:
"Have you heard any news?", L_News,
"What do you know about...", L_Question,
"Farewell!", -;
- close;
+ goto L_Close;
L_News:
// mes "[" + @name$ + "]";
@@ -125,5 +125,11 @@ L_Song:
mes "[" + @name$ + "]";
set @id, rand(3);
mes @songs$[@id];
+ goto L_Close;
+
+L_Close:
+ set @name$, "";
+ set @id, 0;
+ cleararray songs$[0], "", 3;
close;
}
diff --git a/world/map/npc/001-1/bernard.txt b/world/map/npc/001-1/bernard.txt
index 96c45f81..23b39f5c 100644
--- a/world/map/npc/001-1/bernard.txt
+++ b/world/map/npc/001-1/bernard.txt
@@ -25,7 +25,7 @@ L_Opening1:
L_Ask:
menu
"Yes.", L_Yes,
- "No.", L_No;
+ "No.", L_Close;
L_Yes:
set @TEMP, rand(2);
@@ -48,7 +48,7 @@ L_Set:
set TMW_Quest,1;
mes "[Bernard]";
mes "\"Please bring it to me!\"";
- close;
+ goto L_Close;
L_Progress:
if (countitem("RoastedMaggot") < 1) goto L_NotEnough;
@@ -61,7 +61,7 @@ L_Progress:
getexp 100, 0;
getitem "CherryCake", 5;
set TMW_Quest, 2;
- close;
+ goto L_Close;
L_Progress2:
if (countitem("MaggotSlime") < 3) goto L_NotEnough1;
@@ -74,17 +74,17 @@ L_Progress2:
getexp 100, 0;
getitem "Beer", 3;
set TMW_Quest, 4;
- close;
+ goto L_Close;
L_NotEnough:
mes "[Bernard]";
mes "\"Oh, please hurry and bring me a Roasted Maggot. I'm yearning for maggot soup!\"";
- close;
+ goto L_Close;
L_NotEnough1:
mes "[Bernard]";
mes "\"Please do hurry and bring me 3 Maggot Slimes, so I can finish my soup!\"";
- close;
+ goto L_Close;
L_Done1:
mes "[Bernard]";
@@ -94,21 +94,22 @@ L_Done1:
mes "\"I need 3 Maggot Slimes for that.\"";
mes "\"Bring them to me, and I'll give you something nice.\"";
set TMW_Quest,3;
- close;
+ goto L_Close;
L_Done2:
mes "[Bernard]";
mes "\"I didn't mention it before, but I also put beer in my soup. I hope you like beer as much as I do, because, you see...\"";
next;
mes "\"Beer is life!\"";
- close;
+ goto L_Close;
-L_No:
+L_Close:
+ set @TEMP, 0;
close;
L_TooMany:
next;
mes "[Bernard]";
mes "\"You don't have room for my reward. I'll wait until you do.\"";
- close;
+ goto L_Close;
}
diff --git a/world/map/npc/001-1/bleacher.txt b/world/map/npc/001-1/bleacher.txt
index 4b4ebdb2..b3122816 100644
--- a/world/map/npc/001-1/bleacher.txt
+++ b/world/map/npc/001-1/bleacher.txt
@@ -12,7 +12,7 @@
menu
"I'd like to bleach something", -,
- "No thanks", L_close;
+ "No thanks", L_Close;
L_bleach_menu:
mes "[Candide]";
@@ -39,7 +39,7 @@ L_bleach_menu:
"Red lined sorcerer robe", L_red_lined_sorcerer_robe,
"Bowler hat (brown)", L_bowler_hat_brown,
"Nevermind", -;
- goto L_close;
+ goto L_Close;
L_cottonshirt:
set @normal, 1202;
@@ -168,7 +168,7 @@ L_again:
menu
"Yes", L_bleach_menu,
- "No", L_close;
+ "No", L_Close;
L_no_item:
mes "[Candide]";
@@ -181,18 +181,19 @@ L_no_ash:
mes "[Candide]";
mes "\"You don't have enough ash for me to bleach anything.";
mes "I need three piles.\"";
- next;
-
- goto L_close;
+ goto L_Close;
L_no_money:
mes "[Candide]";
mes "\"You don't have enough gold for me to bleach anything.";
mes "I need 5,000 GP for supplies.\"";
- next;
+ goto L_Close;
-L_close:
+L_Close:
mes "[Candide]";
mes "\"Come again.\"";
+ set @normal, 0;
+ set @dyeBase, 0;
+ set @del, 0;
close;
}
diff --git a/world/map/npc/001-1/children.txt b/world/map/npc/001-1/children.txt
index 31dcc87b..91aa2e1f 100644
--- a/world/map/npc/001-1/children.txt
+++ b/world/map/npc/001-1/children.txt
@@ -15,41 +15,45 @@
L_1:
mes "[Aisha]";
mes "\"Maggots are soo slimey!\"";
- close;
+ goto L_Close;
L_2:
mes "[Aisha]";
mes "\"Want to play ball with me?\"";
- close;
+ goto L_Close;
L_3:
mes "[Aisha]";
mes "\"There are so many monsters; I hate scorpions!\"";
- close;
+ goto L_Close;
L_4:
mes "[Aisha]";
mes "\"When I grow up, I want to be strong enough to kill a scorpion!\"";
- close;
+ goto L_Close;
L_5:
mes "[Aisha]";
mes "\"Mommy told me that you can sell the things that monsters drop.\"";
- close;
+ goto L_Close;
L_6:
mes "[Aisha]";
mes "\"Have you tried to eat a roasted maggot? They are sooo yummy! And you feel much healthier afterwards, too!\"";
- close;
+ goto L_Close;
L_7:
mes "[Aisha]";
mes "\"I want to be a Doctor when I grow up!\"";
- close;
+ goto L_Close;
L_8:
mes "[Aisha]";
mes "\"That volcano was sooo scary! The earth was shaking and everything was breaking down... but now they have rebuilt everything.\"";
+ goto L_Close;
+
+L_Close:
+ set @TEMP, 0;
close;
}
@@ -69,35 +73,35 @@ L_8:
L_1:
mes "\"If I learned anything from school, Grenxen founded Tulimshar.\"";
- close;
+ goto L_Close;
L_2:
mes "\"When I was picking rocks from the field, I saw a red scorpion.\"";
- close;
+ goto L_Close;
L_3:
mes "\"Its polite to state your name before talking to anyone.\"";
- close;
+ goto L_Close;
L_4:
mes "\"I have a Scorpion Doll!\"";
- close;
+ goto L_Close;
L_5:
mes "\"I always take some spare Cactus Juice with me on the field. They are heavy, though.\"";
- close;
+ goto L_Close;
L_6:
mes "\"When you are feeling bad, eating something can usually help you heal faster.\"";
- close;
+ goto L_Close;
L_7:
mes "\"Grenxen is the Demon that founded Tulimshar.\"";
- close;
+ goto L_Close;
L_8:
mes "\"That volcano eruption was scary; much of Tulimshar was destroyed. But the mayor had everything rebuilt quickly.\"";
- close;
+ goto L_Close;
L_9:
mes "\"I know a very bad word. But I must not say it, because monsters will come and get me if I do!\"";
@@ -105,7 +109,7 @@ L_9:
menu
"A bad word?", L_tell,
"Oh, you better keep it for yourself then.", -;
- close;
+ goto L_Close;
L_tell:
mes "[Nina]";
@@ -115,12 +119,12 @@ L_tell:
"If I promise to never tell anyone, can you tell me the word?", L_keepword,
"I understand, you do not need to tell me...", L_giveword,
"Goodbye!", -;
- close;
+ goto L_Close;
L_keepword:
mes "[Nina]";
mes "\"No.\"";
- close;
+ goto L_Close;
L_giveword:
mes "[Nina]";
@@ -131,5 +135,9 @@ L_giveword:
mes "[Nina]";
mes "Terrified, she looks around once more.";
mes "\"But you mustn't tell anyone!\"";
+ goto L_Close;
+
+L_Close:
+ set @TEMP, 0;
close;
}
diff --git a/world/map/npc/001-1/elanore.txt b/world/map/npc/001-1/elanore.txt
index 2607bf29..0c35568f 100644
--- a/world/map/npc/001-1/elanore.txt
+++ b/world/map/npc/001-1/elanore.txt
@@ -93,28 +93,28 @@ Heal_1:
mes "[Elanore the Healer]";
mes "\"Here you go!\"";
heal 10000,10000;
- close;
+ goto L_Close;
Heal_2:
mes "[Elanore the Healer]";
mes "\"Painless, wasn't it?";
heal 10000,10000;
- close;
+ goto L_Close;
Heal_3:
mes "[Elanore the Healer]";
mes "\"You should be more careful.\"";
heal 10000,10000;
- close;
+ goto L_Close;
Heal_4:
mes "[Elanore the Healer]";
mes "\"Much better, right?!\"";
heal 10000,10000;
- close;
+ goto L_Close;
L_NoHeal:
if (MAGIC_FLAGS)
@@ -125,7 +125,7 @@ L_NoHealMessage:
mes "\"I'm sorry but unless you are young and in need, I can't help you, and your level is already higher than ten.";
mes "With so many people still injured from the earthquake, I really have no time to help.";
mes "You can get some rest in the inn near here.\"";
- close;
+ goto L_Close;
L_Chat:
mes "[Elanore the Healer]";
@@ -151,7 +151,7 @@ L_Main:
"Can you heal me?", L_NoHealMessage,
"What do you know about...", L_Question,
"Goodbye!", L_bye;
- close;
+ goto L_Close;
OnPCKillEvent:
if (attachrid(@killerrid) == 0)
@@ -166,7 +166,7 @@ L_OnPcKillWipe:
L_OnPcKillFinish:
set MAGIC_EXPERIENCE, (MAGIC_EXPERIENCE & ~(255 << 24)) | (@Q_heal_exp << 24);
- close;
+ goto L_Close;
L_Lifestones:
mes "[Elanore the Healer]";
@@ -177,7 +177,7 @@ L_Lifestones:
"No way!", -,
"Here you are!", L_Lifestones_Trade,
"Can I make them myself?", L_Lifestones_MakeSelf;
- close;
+ goto L_Close;
L_Lifestones_Trade:
if (countitem("MauveHerb") < 10) goto L_Lifestones_Trade_Missing;
@@ -207,18 +207,18 @@ L_Lifestones_Trade:
mes "\"Five for you and five for me.\"";
mes "She smiles.";
mes "[200 experience points]";
- close;
+ goto L_Close;
L_Lifestones_NoRoom:
mes "[Elanore the Healer]";
mes "\"Oh... it seems that you have no room for the lifestones. But please do come back later when you have made a little space.\"";
- close;
+ goto L_Close;
L_Lifestones_Trade_Missing:
mes "[Elanore the Healer]";
mes "Elanore counts the leaves you show her.";
mes "\"No, I am sorry. Please bring me ten leaves each of gamboge, alizarin, mauve, and cobalt.\"";
- close;
+ goto L_Close;
L_Lifestones_MakeSelf:
mes "[Elanore the Healer]";
@@ -229,11 +229,11 @@ L_Lifestones_MakeSelf_yes:
next;
mes "[Elanore the Healer]";
mes "\"You will have to make sure that your powers are pure, though, either by wearing a white robe or some other special magical item that does this for you.\"";
- close;
+ goto L_Close;
L_Lifestones_MakeSelf_no:
mes "\"No, you are not powerful enough yet. Please come back and ask me again when you have learned to control more powerful magic, though!\"";
- close;
+ goto L_Close;
L_Teach:
if (@Q_status == @STATUS_INITIAL) goto L_Teach_Initial;
@@ -246,7 +246,7 @@ L_Teach:
mes "[Elanore the Healer]";
mes "\"You have made good progress, but you lack the magical power to advance further. Also, I would like to observe you some more to be certain that you will make a good healer.\"";
- close;
+ goto L_Close;
L_Teach_Initial:
mes "[Elanore the Healer]";
@@ -282,12 +282,12 @@ L_Teach_Initial:
mes "[Elanore the Healer]";
mes "Elanore hands you the crystal.";
mes "\"Here you are. I hope that it will allow you to do good!\"";
- close;
+ goto L_Close;
L_Teach_Initial_Noroom:
mes "[Elanore the Healer]";
mes "\"Oh... you managed to put things into every little nook and pocket, haven't you? Well, come back later, I will give it to you then.\"";
- close;
+ goto L_Close;
L_Teach_CheckAdvanceTo2:
mes "[Elanore the Healer]";
@@ -318,7 +318,7 @@ L_Teach_AdvanceTo2_skip:
set @SUP_xp, 5000;
set @SUP_lvl, 2;
callfunc "SkillUp";
- close;
+ goto L_Close;
L_Teach_CheckAdvanceTo2_fail:
mes "\"I think I would like to observe you for a little longer to see if you would make a good healer.\"";
@@ -328,7 +328,7 @@ L_Teach_CheckAdvanceTo2_fail:
mes "\"You are making progress, but you still need more practice.\"";
if (@Q_heal_exp >= 15)
mes "\"You have made good progress, but please do continue in your efforts.\"";
- close;
+ goto L_Close;
L_Teach_CheckAdvanceToLOH:
if (getskilllv(SKILL_MAGIC) < 2) goto L_Teach_LOH_advance_abort0;
@@ -346,17 +346,17 @@ L_Teach_CheckAdvanceToLOH:
getexp 1000, 0;
set @Q_status, @STATUS_LEARNED_LAY_ON_HANDS;
callsub S_update_var;
- close;
+ goto L_Close;
L_Teach_LOH_advance_abort0:
mes "[Elanore the Healer]";
mes "\"You don't have enough magical power to learn the next healing spell yet.\"";
- close;
+ goto L_Close;
L_Teach_LOH_advance_abort1:
mes "[Elanore the Healer]";
mes "\"I'm sorry, but I am not yet convinced that you are a good enough healer. Please continue in your endeavours.\"";
- close;
+ goto L_Close;
L_Teach_Explain3:
if (getskilllv(SKILL_MAGIC) < 3) goto L_Teach_Explain3_abort;
@@ -426,7 +426,7 @@ L_3_where:
L_Teach_Explain3_abort:
mes "[Elanore the Healer]";
mes "\"I'm sorry, but you lack the magical power to advance.\"";
- close;
+ goto L_Close;
L_Teach_Explain3_fail:
mes "[Elanore the Healer]";
@@ -436,7 +436,7 @@ L_Teach_Explain3_fail:
mes "\"You still need more practice in the art of healing.\"";
if ((@Q_heal_exp >= 40))
mes "\"You are doing well, but you need some more practice as a healer first.\"";
- close;
+ goto L_Close;
L_Teach_CheckAdvanceTo3:
callfunc "KadiyaSubquestConsts";
@@ -582,7 +582,6 @@ L_Q_auldsbel:
next;
goto L_Main;
-
L_CurePoison:
mes "[Elanore the Healer]";
mes "\"Oh dear! That looks like poison; hang on...\"";
@@ -594,11 +593,31 @@ L_CurePoison:
next;
mes "[Elanore the Healer]";
mes "\"There you are, right as rain! Now you take care, all right?\"";
- close;
+ goto L_Close;
L_bye:
mes "[Elanore the Healer]";
mes "\"Goodbye!\"";
+ goto L_Close;
+
+L_Close:
+ set @Q_MASK, 0;
+ set @Q_SHIFT, 0;
+ set @has_magic, 0;
+ set @Q_STATUS_MAX, 0;
+ set @Q_heal_exp, 0;
+ set @Q_status, 0;
+ set @SUP_id, 0;
+ set @SUP_name$, "";
+ set @ignore, 0;
+ set @STATUS_LEARNED_LIGHT_HEAL, 0;
+ set @STATUS_MASTERED_LIGHT_HEAL, 0;
+ set @STATUS_LEARNED_LAY_ON_HANDS, 0;
+ set @STATUS_WAITING_FOR_KADIYA, 0;
+ set @STATUS_READY_TO_LEARN_CURE_POISON, 0;
+ set @STATUS_LEARNED_CURE_POISON, 0;
+ set @TEMP,0;
+ set @xp, 0;
close;
S_update_var:
diff --git a/world/map/npc/001-1/entertainer.txt b/world/map/npc/001-1/entertainer.txt
index d99b2d94..b57b97f8 100644
--- a/world/map/npc/001-1/entertainer.txt
+++ b/world/map/npc/001-1/entertainer.txt
@@ -9,7 +9,7 @@
menu
"What are those emotions above your head?", L_Learn,
"Nothing I guess", -;
- close;
+ goto L_Close;
L_Learn:
mes "[Entertainer]";
@@ -18,7 +18,7 @@ L_Learn:
menu
"Ok sure", L_Learn2,
"Why would I need to that", -;
- close;
+ goto L_Close;
L_Learn2:
setskill @EMOTE_SKILL, 1;
@@ -26,13 +26,16 @@ L_Learn2:
mes "\"All you have to do is press alt and a number";
mes "The number determines what emotion will be showned";
mes "Some clients will also show an emote shortcut-bar with the F12 button\"";
- close;
+ goto L_Close;
L_Has:
mes "[Entertainer]";
mes "\"The entertainment life is a hard life...\" *sigh*";
- close;
+ goto L_Close;
+L_Close:
+ set @EMOTE_SKILL, 0;
+ close;
OnTimer3000:
emotion rand(0,11);
diff --git a/world/map/npc/001-1/gossip.txt b/world/map/npc/001-1/gossip.txt
index 920e4a84..a5b43329 100644
--- a/world/map/npc/001-1/gossip.txt
+++ b/world/map/npc/001-1/gossip.txt
@@ -71,10 +71,14 @@ L_Desert:
next;
mes "[Gladys, Town Gossip]";
mes "\"If you're still looking for adventure, I would suggest talking to some of the guards. I hear there is a monster threat outside the city walls!\"";
- close;
+ goto L_Close;
L_Ferry:
mes "[Gladys, Town Gossip]";
mes "I heard that there is a handsome sailor in the north of town who will take people to exotic new places! I'm saving my pennies!\"";
close;
+
+L_Close:
+ set @person$, "";
+ close;
}
diff --git a/world/map/npc/001-1/guards.txt b/world/map/npc/001-1/guards.txt
index 67bc5f6d..184956da 100644
--- a/world/map/npc/001-1/guards.txt
+++ b/world/map/npc/001-1/guards.txt
@@ -21,42 +21,42 @@ L_Tip:
L_1:
mes "[Ekinu the Town Guard]";
mes "\"Try to carry spare food when on fields or in dungeons, they will come in handy. I always take beer, but don't tell the Sergeant...\"";
- close;
+ goto L_Close;
L_2:
mes "[Ekinu the Town Guard]";
mes "\"Always carry a map of where you are, ask the Guides in most towns to get one.\"";
- close;
+ goto L_Close;
L_3:
mes "[Ekinu the Town Guard]";
mes "\"When in a dungeon, monsters are more aggressive than if they were outside.\"";
- close;
+ goto L_Close;
L_4:
mes "[Ekinu the Town Guard]";
mes "\"When gambling for money in casinos, make sure you have enough emergency money.\"";
- close;
+ goto L_Close;
L_5:
mes "[Ekinu the Town Guard]";
mes "\"Never underestimate the enemy.\"";
- close;
+ goto L_Close;
L_6:
mes "[Ekinu the Town Guard]";
mes "\"When fighting more than one enemy, try to focus on one at a time.\"";
- close;
+ goto L_Close;
L_0:
mes "[Ekinu the Town Guard]";
mes "\"Let me think of something... Oh! Do NOT attack Red scorpions unless you can kill it for sure!\"";
- close;
+ goto L_Close;
L_Info:
mes "[Ekinu the Town Guard]";
mes "\"Everyone wants information... you won't get it, at least not here. I'm not even sure what you mean, to be honest.\"";
- close;
+ goto L_Close;
L_disaster:
mes "[Ekinu the Town Guard]";
@@ -67,6 +67,10 @@ L_disaster:
next;
mes "[Ekinu the Town Guard]";
mes "\"Well, the mayor rebuilt everything quickly, but I have no idea where he got the GP from...\"";
+ goto L_Close;
+
+L_Close:
+ set @TEMP, 0;
close;
}
diff --git a/world/map/npc/001-1/luca.txt b/world/map/npc/001-1/luca.txt
index 362c6347..73f838c1 100644
--- a/world/map/npc/001-1/luca.txt
+++ b/world/map/npc/001-1/luca.txt
@@ -25,17 +25,17 @@ L_Exp:
next;
mes "[Luca the Hunter]";
mes "\"Oh man! My pockets have been ripped clean off!\"";
- close;
+ goto L_Close;
L_Nev:
mes "[Luca the Hunter]";
mes "\"Hmpf!\"";
- close;
+ goto L_Close;
L_teach_soon:
mes "[Luca the Hunter]";
mes "\"You've grown quite a bit stronger since I first saw you, strolling around town like that! You know, if you train a little more, maybe we can help each other out a little?\"";
- close;
+ goto L_Close;
L_teach:
if (getskilllv(SKILL_POOL)) goto L_teachmore;
@@ -132,7 +132,7 @@ L_teach0_follow:
L_wronganswer:
mes "[Luca the Hunter]";
mes "\"No, that was wrong. I suppose you're not as experienced as I thought you'd be.\"";
- close;
+ goto L_Close;
S_explain:
mes "[Luca the Hunter]";
@@ -270,15 +270,15 @@ L_teachmore2_noovv:
@choice$[4],-;
set @menu, @menu - 1;
- if (@choices[@menu] == 0) close;
+ if (@choices[@menu] == 0) goto L_Close;
if (@choices[@menu] == @C_focus) goto L_focus;
if (@choices[@menu] == @C_unfocus) goto L_unfocus;
if (@choices[@menu] == @C_teachbrawling) goto L_teach_brawling;
if (@choices[@menu] == @C_teachnothing) goto L_teach_nothing;
if (@choices[@menu] == @C_explainagain) goto L_teachmore_explain;
if (@choices[@menu] == @C_focusoverview) goto L_focus_overview;
- if (@choices[@menu] == @C_nvm) close;
- close;
+ if (@choices[@menu] == @C_nvm) goto L_Close;
+ goto L_Close;
L_teachmore_explain:
callsub S_explain;
@@ -323,7 +323,7 @@ L_unfocus:
menu
"Ok, I will get a Grimace of Dementia potion", -,
"Alright, be right back!", -;
- close;
+ goto L_Close;
L_nopotion:
mes "[Luca the Hunter]";
@@ -360,7 +360,7 @@ L_unfocus_menu:
delitem "DementiaPotion", 1;
unpoolskill @skilllist_id[@menu];
- close;
+ goto L_Close;
L_focus_overview:
getactivatedpoolskilllist;
@@ -408,7 +408,7 @@ L_teach_brawling:
set @SUP_name$, "Brawling";
set @SUP_xp, @EXP_BRAWLING;
callfunc "SkillUp";
- close;
+ goto L_Close;
L_teach_nothing:
mes "[Luca the Hunter]";
@@ -417,4 +417,24 @@ L_teach_nothing:
mes "\"You see, I am an adventurer. Everybody has his tricks. But you really should visit someone who is a teacher, not an adventurer, now.\"";
next;
goto L_teachmore2;
+
+L_Close:
+ set @SUP_id, 0;
+ set @SUP_lvl, 0;
+ set @SUP_name$, "";
+ set @SUP_xp, 0;
+ set @EXP_BRAWLING, 0;
+ set @answer$, "";
+ set @message$, "";
+ cleararray @choices[0], 0, 4;
+ cleararray @choice$[0], "", 4;
+ set @choice_nr, 0;
+ set @C_focus, 0;
+ set @C_unfocus, 0;
+ set @C_teachbrawling, 0;
+ set @C_teachnothing, 0;
+ set @C_explainagain, 0;
+ set @C_nvm, 0;
+ set @C_focusoverview, 0;
+ close;
}
diff --git a/world/map/npc/001-1/npcs.txt b/world/map/npc/001-1/npcs.txt
index c55e8362..b58ae7d8 100644
--- a/world/map/npc/001-1/npcs.txt
+++ b/world/map/npc/001-1/npcs.txt
@@ -9,6 +9,7 @@
mes "\"He rewards those that know what they are doing. When Elanore stops healing you, check in with Ian.\"";
next;
mes "\"Oh, just one more thing, Gladys may gossip a lot, but when I'm confused, she tends to know something that might help me out.\"";
+ set @npcname$, "";
close;
}
@@ -19,5 +20,6 @@
mes "\"I used to visit the beach, but then the green slimes went crazy. I heard they ate a bunch of pirates that robbed some of Tulimshar's gold ships.\"";
next;
mes "\"Good riddance!\"";
+ set @npcname$, "";
close;
}
diff --git a/world/map/npc/001-1/rewards_master.txt b/world/map/npc/001-1/rewards_master.txt
index 290deccc..0cec114c 100644
--- a/world/map/npc/001-1/rewards_master.txt
+++ b/world/map/npc/001-1/rewards_master.txt
@@ -30,7 +30,7 @@
@Menu$[11], -;
// this is for the last entry "No thanks":
- if (@menu > @i) close;
+ if (@menu > @i) goto L_Close;
// this is for the "Give all" entry:
if (@menu == 11) goto L_Give_all;
@@ -46,17 +46,17 @@ L_Item_Loop:
L_Item_Done:
if (@rec < @req) mes "It looks like your Monster Points were over estimated.";
- close;
+ goto L_Close;
L_Register:
mes "[Ishi the Rewards Master]";
mes "\"Hey, it seems like you didn't register as a quest participant yet! You can sign up with Aidan.\"";
- close;
+ goto L_Close;
L_NotEnough:
mes "[Ishi the Rewards Master]";
mes "\"You don't have enough Monster Points for a reward. You'll need to kill some more monsters first.\"";
- close;
+ goto L_Close;
@@ -80,10 +80,16 @@ L_Give_all_next:
mes "\"You have brought lots of items now. You have still " + Mobpt + " monster points. Shall we continue?\"";
menu
"Yes", L_Give_all,
- "No", L_Give_all_done;
- close;
+ "No", L_Close;
-L_Give_all_done:
+L_Close:
+ set @gotocounter, 0;
+ set @itemgiveerror, 0;
+ set @pts, 0;
+ set @dif, 0;
+ set @i, 0;
+ cleararray @Menu$[0], "", 10;
+ cleararray @Items$[0], "", 10;
close;
//////////////////////////////////////////////////
diff --git a/world/map/npc/001-1/sandra.txt b/world/map/npc/001-1/sandra.txt
index e6dec303..238370dc 100644
--- a/world/map/npc/001-1/sandra.txt
+++ b/world/map/npc/001-1/sandra.txt
@@ -7,7 +7,7 @@
mes "[Sandra]";
mes "\"Hunting monsters for potion ingredients can sometimes be a difficult task. Maybe you could help me at some point.\"";
- close;
+ goto L_Close;
L_Start:
set @TEMP, rand(4);
@@ -43,7 +43,7 @@ L_Opening3:
L_Ask:
menu
"Yes.", L_Yes,
- "No.", L_No;
+ "No.", L_Close;
L_Yes:
set @TEMP, rand(3);
@@ -73,7 +73,7 @@ L_Set:
set TMW_Quest,11;
mes "[Sandra]";
mes "\"Please get them for me!\"";
- close;
+ goto L_Close;
L_Progress:
if (countitem("ScorpionStinger") < 5) goto L_NotEnough;
@@ -85,24 +85,25 @@ L_Progress:
getitem "Bow", 1;
getitem "Arrow", 100;
set TMW_Quest, 12;
- close;
+ goto L_Close;
L_NotEnough:
mes "[Sandra]";
mes "\"Please hurry and bring me 5 Scorpion Stingers.\"";
- close;
+ goto L_Close;
L_Done:
mes "[Sandra]";
mes "\"Thank you for all your help!\"";
- close;
+ goto L_Close;
-L_No:
+L_Close:
+ set @TEMP, 0;
close;
L_TooMany:
next;
mes "[Sandra]";
mes "\"You don't have room for my reward. I'll wait until you do.\"";
- close;
+ goto L_Close;
}
diff --git a/world/map/npc/001-1/sarah.txt b/world/map/npc/001-1/sarah.txt
index 3bd2a447..57793ec9 100644
--- a/world/map/npc/001-1/sarah.txt
+++ b/world/map/npc/001-1/sarah.txt
@@ -8,7 +8,7 @@
// If this is shown, something is wrong with the above case handling.
mes "Sarah looks confused.";
- close;
+ goto L_Close;
L_Convince_Sarah_First:
mes "[Sarah]";
@@ -17,7 +17,7 @@ L_Convince_Sarah_First:
mes "\"The girl suddenly looks at you suspiciously.\"";
next;
mes "\"My mommy says not to talk to strangers!\"";
- close;
+ goto L_Close;
L_Start:
set @TEMP, rand(2);
@@ -40,7 +40,7 @@ L_Ask:
mes "\"Can you bring me a piece of Cherry Cake? Pretty please?\"";
menu
"Yes.", L_Req0,
- "No.", L_No;
+ "No.", L_Close;
L_Req0:
mes "[Sarah]";
@@ -52,7 +52,7 @@ L_Set:
set TMW_Quest,7;
mes "[Sarah]";
mes "\"Please bring it to me!\"";
- close;
+ goto L_Close;
L_Progress:
if (countitem("CherryCake") < 1) goto L_NotEnough;
@@ -66,25 +66,26 @@ L_Progress:
delitem "CherryCake", 1;
getitem "serfhat", 1;
set TMW_Quest, 8;
- close;
+ goto L_Close;
L_NotEnough:
mes "[Sarah]";
mes "\"Oh, I'm starving! Please bring me Cherry Cake!\"";
- close;
+ goto L_Close;
L_Done:
mes "[Sarah]";
mes "\"It was so tasty, I can't eat anything more... Thank you!\"";
emotion 9;
- close;
+ goto L_Close;
-L_No:
+L_Close:
+ set @TEMP, 0;
close;
L_TooMany:
next;
mes "[Sarah]";
mes "\"You don't have room for my reward. I'll wait until you do.\"";
- close;
+ goto L_Close;
}
diff --git a/world/map/npc/001-1/soul-menhir.txt b/world/map/npc/001-1/soul-menhir.txt
index c9802620..a3f3da9d 100644
--- a/world/map/npc/001-1/soul-menhir.txt
+++ b/world/map/npc/001-1/soul-menhir.txt
@@ -8,5 +8,10 @@
set @x, 0;
set @y, 0;
callfunc "SoulMenhir";
+ set @map$, "";
+ cleararray @Xs[0], 0, 6;
+ cleararray @Ys[0], 0, 6;
+ set @x, 0;
+ set @y, 0;
close;
}
diff --git a/world/map/npc/001-1/trader.txt b/world/map/npc/001-1/trader.txt
index 031feb8f..a90ca8a5 100644
--- a/world/map/npc/001-1/trader.txt
+++ b/world/map/npc/001-1/trader.txt
@@ -17,7 +17,7 @@
menu
"Oh. I'll go then.", -,
"You don't have anything?", L_More;
- close;
+ goto L_Close;
L_More:
mes "[Trader]";
@@ -26,7 +26,7 @@ L_More:
menu
"Yes?", L_Except,
"Ok then.", -;
- close;
+ goto L_Close;
L_Except:
mes "[Trader]";
@@ -35,7 +35,7 @@ L_Except:
menu
"Sure.", L_Teach,
"No thank you.", -;
- close;
+ goto L_Close;
L_Teach:
if (zeny < 5) goto L_NotEnoughMoney;
@@ -55,7 +55,7 @@ L_Teach:
L_Later:
mes "[Trader]";
mes "\"Please feel free to check back later. I'm expecting a large shipment of goods to trade.\"";
- close;
+ goto L_Close;
L_Trade:
mes "[Trader]";
@@ -68,7 +68,7 @@ L_Trademenu:
"How about Sulphur Powder?", L_Sulphur,
"I need Medium Healing Potions.", L_Healpots,
"I think I have everything I need, thanks.", -;
- close;
+ goto L_Close;
L_Iron:
mes "[Trader]";
@@ -76,7 +76,7 @@ L_Iron:
menu
"Sure.", L_Ipowder,
"What a ripoff! No way!", -;
- close;
+ goto L_Close;
L_Sulphur:
mes "[Trader]";
@@ -84,7 +84,7 @@ L_Sulphur:
menu
"Here you go.", L_Spowder,
"Are you nuts?! Forget it!", -;
- close;
+ goto L_Close;
L_Healpots:
mes "[Trader]";
@@ -92,7 +92,7 @@ L_Healpots:
menu
"Alright.", L_Pots,
"Whoa, that's way too much.", -;
- close;
+ goto L_Close;
L_Ipowder:
if (countitem("IronOre") < 1) goto L_Missing;
@@ -107,7 +107,7 @@ L_Ipowder:
menu
"Yes.", L_Trademenu,
"No.", L_No;
- close;
+ goto L_Close;
L_Spowder:
if (countitem("PileOfAsh") < 1) goto L_Missing;
@@ -122,7 +122,7 @@ L_Spowder:
menu
"Yes.", L_Trademenu,
"No.", L_No;
- close;
+ goto L_Close;
L_Pots:
if (countitem("SmallHealingPotion") < 3) goto L_Missing;
@@ -137,25 +137,32 @@ L_Pots:
menu
"Yes.", L_Trademenu,
"No.", L_No;
- close;
+ goto L_Close;
L_Full:
mes "[Trader]";
mes "\"You must have been making a lot of trades...your bag is completely full! Come back after you've made some room.\"";
- close;
+ goto L_Close;
L_Missing:
mes "[Trader]";
mes "\"It looks like you're missing some items. Please come back when you have enough to trade.\"";
- close;
+ goto L_Close;
L_NotEnoughMoney:
mes "[Trader]";
mes "\"You don't have enough money.\"";
- close;
+ goto L_Close;
L_No:
mes "[Trader]";
mes "\"Have a great day!\"";
+ goto L_Close;
+
+L_Close:
+ set @TRADE_SKILL, 0;
+ set @Ironprice, 0;
+ set @Sulphurprice, 0;
+ set @Potionprice, 0;
close;
}
diff --git a/world/map/npc/001-1/vincent.txt b/world/map/npc/001-1/vincent.txt
index 8097d23f..a6512d80 100644
--- a/world/map/npc/001-1/vincent.txt
+++ b/world/map/npc/001-1/vincent.txt
@@ -8,14 +8,14 @@
// If this happens, something is wrong with the above code.
mes "Vincent looks confused.";
- close;
+ goto L_Close;
L_Convince_Vincent_First:
mes "[Vincent]";
mes "\"I'm making an action figure. I'm almost done with it.\"";
mes "";
mes "Vincent seems distracted with his near-completed figurine for now.";
- close;
+ goto L_Close;
L_Start:
set @TEMP, rand(4);
@@ -55,7 +55,7 @@ L_Ask:
menu
"Yes", L_Sure,
"No", -;
- close;
+ goto L_Close;
L_Sure:
set TMW_Quest, 9;
@@ -92,13 +92,13 @@ L_Req4:
L_Wait:
mes "[Vincent]";
mes "\"Now please go get me 10 Bug Legs.\"";
- close;
+ goto L_Close;
L_Progress:
if(countitem("BugLeg") >= 10) goto L_Have;
mes "[Vincent]";
mes "\"Please help me collect 10 Bug Legs!\"";
- close;
+ goto L_Close;
L_Have:
mes "[Vincent]";
@@ -113,10 +113,14 @@ L_Have:
mes "\"Here you go, a little of my appreciation!\"";
mes "";
mes "[1000 gold]";
- close;
+ goto L_Close;
L_Done:
mes "[Vincent]";
mes "\"Thanks for your help!\"";
+ goto L_Close;
+
+L_Close:
+ set @TEMP, 0;
close;
}