summaryrefslogtreecommitdiff
path: root/world/map/npc/042-1
diff options
context:
space:
mode:
authorwushin <pasekei@gmail.com>2014-06-23 18:57:52 -0500
committerwushin <pasekei@gmail.com>2014-06-25 10:50:14 -0500
commit623f98ef8f4efa72d6ff7355517b0ace7235ef72 (patch)
tree033e71b068509c506ee9be57cdebd0d361c65381 /world/map/npc/042-1
parent511dc33bfe89c98251579d72ff7f3fa795e29d15 (diff)
downloadserverdata-623f98ef8f4efa72d6ff7355517b0ace7235ef72.tar.gz
serverdata-623f98ef8f4efa72d6ff7355517b0ace7235ef72.tar.bz2
serverdata-623f98ef8f4efa72d6ff7355517b0ace7235ef72.tar.xz
serverdata-623f98ef8f4efa72d6ff7355517b0ace7235ef72.zip
Starting Area Redux
* Tutorial is a quick funnel * Exits are obvious and open * New Side Quests ** Valon's Beast Mastery ** Zegas's Barrels ** Magic Wand * Some Quests stay open after tutorial is done * House Maggot & Tame Scorpion added * Made Magic usable for lowbies with Wand
Diffstat (limited to 'world/map/npc/042-1')
-rw-r--r--world/map/npc/042-1/_import.txt4
-rw-r--r--world/map/npc/042-1/_mobs.txt8
-rw-r--r--world/map/npc/042-1/_warps.txt8
-rw-r--r--world/map/npc/042-1/hasan.txt170
-rw-r--r--world/map/npc/042-1/kaan.txt24
-rw-r--r--world/map/npc/042-1/liana.txt (renamed from world/map/npc/042-1/npcs.txt)0
-rw-r--r--world/map/npc/042-1/tutorial.txt10
-rw-r--r--world/map/npc/042-1/valon.txt171
-rw-r--r--world/map/npc/042-1/zegas.txt106
9 files changed, 364 insertions, 137 deletions
diff --git a/world/map/npc/042-1/_import.txt b/world/map/npc/042-1/_import.txt
index b3bfbae5..0c712a7c 100644
--- a/world/map/npc/042-1/_import.txt
+++ b/world/map/npc/042-1/_import.txt
@@ -5,6 +5,8 @@ npc: npc/042-1/_mobs.txt
npc: npc/042-1/_warps.txt
npc: npc/042-1/hasan.txt
npc: npc/042-1/kaan.txt
+npc: npc/042-1/liana.txt
npc: npc/042-1/mapflags.txt
-npc: npc/042-1/npcs.txt
+npc: npc/042-1/tutorial.txt
npc: npc/042-1/valon.txt
+npc: npc/042-1/zegas.txt
diff --git a/world/map/npc/042-1/_mobs.txt b/world/map/npc/042-1/_mobs.txt
index 75ea7407..a8175a1f 100644
--- a/world/map/npc/042-1/_mobs.txt
+++ b/world/map/npc/042-1/_mobs.txt
@@ -1,11 +1,11 @@
// This file is generated automatically. All manually changes will be removed when running the Converter.
// Tulimshar Suburbs mobs
-042-1.gat,100,68,31,15|monster|Maggot|1002,5,100000,30000,Mob042-1::On1002
+042-1.gat,101,69,31,15|monster|Maggot|1002,5,100000,30000,Mob042-1::On1002
042-1.gat,65,59,27,15|monster|Maggot|1002,7,100000,30000,Mob042-1::On1002
042-1.gat,68,102,7,8|monster|BlackScorpion|1009,5,100000,30000,Mob042-1::On1009
042-1.gat,98,88,5,8|monster|Scorpion|1003,4,100000,30000,Mob042-1::On1003
-042-1.gat,58,61,42,42|monster|FireGoblin|1011,2,100000,30000,Mob042-1::On1011
+042-1.gat,63,63,37,30|monster|TameScorpion|1046,6,100000,30000,Mob042-1::On1046
042-1.gat,85,102,5,8|monster|Scorpion|1003,5,100000,30000,Mob042-1::On1003
042-1.gat,98,99,5,5|monster|Scorpion|1003,3,100000,30000,Mob042-1::On1003
042-1.gat,82,87,6,3|monster|Scorpion|1003,2,100000,30000,Mob042-1::On1003
@@ -32,8 +32,8 @@ On1009:
callfunc "MobPoints";
end;
-On1011:
- set @mobID, 1011;
+On1046:
+ set @mobID, 1046;
callfunc "MobPoints";
end;
}
diff --git a/world/map/npc/042-1/_warps.txt b/world/map/npc/042-1/_warps.txt
index 565ed1ae..8c1043ea 100644
--- a/world/map/npc/042-1/_warps.txt
+++ b/world/map/npc/042-1/_warps.txt
@@ -3,7 +3,13 @@
042-1.gat,97,41|warp|To Tulismhar Docks|-1,2,022-1.gat,21,37
042-1.gat,65,20|warp|To Lighthouse Beach|0,-1,023-1.gat,64,143
-042-1.gat,63,47|warp|To Sorfina's House|-1,-1,042-2.gat,44,30
042-1.gat,91,73|warp|To Store House|-1,-1,042-2.gat,22,92
042-1.gat,104,73|warp|To Store House|-1,-1,042-2.gat,44,92
042-1.gat,65,75|warp|To Tulimshar Suburbs House|-1,-1,042-2.gat,29,61
+042-1.gat,62,42|warp|To Sorfina's Dinner|-1,-1,042-2.gat,112,85
+042-1.gat,51,43|warp|To Sorfina's House|-1,-1,042-2.gat,44,30
+042-1.gat,117,102|warp|To Magic School Research|-1,-1,042-2.gat,103,62
+042-1.gat,112,95|warp|To Magic School Research|-1,-1,042-2.gat,94,54
+042-1.gat,120,95|warp|To Magic School Research|-1,-1,042-2.gat,112,54
+042-1.gat,117,85|warp|To Tulismhar Docks|-1,-1,022-1.gat,49,82
+042-1.gat,44,115|warp|To Tulismhar Outskirts|1,-1,041-1.gat,58,6
diff --git a/world/map/npc/042-1/hasan.txt b/world/map/npc/042-1/hasan.txt
index 25f7ff86..722c8f62 100644
--- a/world/map/npc/042-1/hasan.txt
+++ b/world/map/npc/042-1/hasan.txt
@@ -1,67 +1,79 @@
// This file is part of the Tutorial
// Authors: Jenalya, alastrim
+// Hasan should be threatening someone else you come to help
+// Going to throw someone off a cliff
+// npctalk 2 NPCs Hasan talks about giving someone a short trip to Docks
+// They respond by asking play for help
+// Hasan tells them to but out of it.
-042-1.gat,116,84,0|script|Hasan|189,0,2,
+042-1.gat,104,49,0|script|Scared Man|160,
+{
+ if ((@hasan_complete) && ((@tutorial == 12) || (@tutorial == 14)))
+ goto L_TutDone;
+ message strcharinfo(0), "He looks too afraid to say anything.";
+ end;
+
+L_TutDone:
+ message strcharinfo(0), "Thanks. Kaan's been much nicer to me now";
+ end;
+}
+042-1.gat,102,49,0|script|Hasan|189,2,2,
{
goto L_Main;
L_Main:
- if (FLAGS & FLAG_TUTORIAL_DONE)
- goto L_Tut_Done;
-
- set @toll, 10000;
callfunc "TutorialState";
- // implicitly, $@ScorpionFighter is nonzero
- if (@tutorial == 13)
- goto L_Thank;
if ((getcharid(3) == $@ScorpionFighter) || ($@ScorpionFighter && $@ScorpionFighter != getcharid(3)))
goto L_Afraid;
- if (@tutorial == 12)
+ if ((@hasan_complete) && ((@tutorial == 12) || (@tutorial == 14)))
+ goto L_TutDone;
+ // implicitly, $@ScorpionFighter is nonzero
+ if ((@hasan_complete) && (@tutorial == 13))
+ goto L_Thank;
+ if (@tutorial == 12)
goto L_Trick;
if ((@tutorial == 10) || (@tutorial == 11))
- goto L_Toll;
+ goto L_FightAgain;
+ mes "You over hear some people nearby.";
mes "[Unfriendly Guy]";
- mes "\"Hey! You can't pass here.\"";
- menu
- "Why not?",L_Next,
- "Who says that?",L_Next;
-
-L_Next:
+ mes "\"I told you if you didn't get the money, I'd give you flying lessons, Haha!\"";
+ next;
+ mes "[Scared Man]";
+ mes "\"But the only person I need protection from is you.\"";
+ next;
+ mes "[Unfriendly Guy]";
+ mes "\"Thats why the price is so high.\"";
+ next;
+ mes "\"Because I'm the toughest person in all of Tulimshar\"";
+ next;
+ mes "[Scared Man]";
+ mes "\"No, your just a mean bully. Wait till I tell the gaurds about this!\"";
+ next;
mes "[Unfriendly Guy]";
- mes "\"I, Hasan the Mighty, have decided to put a toll on this path.\"";
+ mes "\"You do that and the next flying lesson will be from the beach cliffs.\"";
+ next;
+ mes "[Scared Man]";
+ mes "\"No, please don't. *sob*\"";
+ next;
+ mes "Sounds like this person is in trouble.\"";
+ next;
set @tutorial_tmp, 10;
callfunc "SetTutorialMask";
- next;
- goto L_Toll;
-
-L_Toll:
- mes "[Hasan]";
- mes "\"Give me " + @toll + "GP, and I may let you pass.\"";
- if (Zeny >= @toll)
- goto L_HasToll;
- goto L_NoToll;
-
-L_HasToll:
- menu
- "Ok, here you go.",L_Pay,
- "What? I don't have that much money!",L_NoPay,
- "We'll see if you can stop me!",L_Fight;
-
-L_NoToll:
+ mes "[Unfriendly Guy]";
+ mes "\"What are you looking at?\"";
menu
- "What? I don't have that much money!",L_NoPay,
- "We'll see if you can stop me!",L_Fight;
+ "What ever you call maggot slime scrapped off a boat after a walk through the sewers.\"", L_Fight,
+ "Who me? I saw nothing, just passing by.", L_Close;
-L_NoPay:
+L_FightAgain:
mes "[Hasan]";
- mes "\"That's not my problem. You have to stay here then.\"";
- next;
- mes "This is annoying. Maybe Kaan can help?";
- goto L_Close;
+ mes "\"Have you come back for a thrashing?\"";
+ menu
+ "No.", L_Close,
+ "Yes.", L_Fight;
L_Fight:
- mes "He laughs derisively.";
mes "[Hasan]";
mes "\"Do you really think you can beat me?\"";
mes "He pulls out a nasty looking dagger and stabs it in your direction.";
@@ -71,51 +83,38 @@ L_Fight:
mes "Maybe Kaan can help?";
goto L_Close;
-L_Pay:
- if (Zeny < @toll)
- goto L_Cheat;
- set Zeny, Zeny - @toll;
- mes "He grins gloatingly.";
- mes "[Hasan]";
- mes "\"Very well. You may pass.\"";
- callfunc "TutorialCompleted";
- goto L_Close;
-
-L_Cheat:
- mes "[Hasan]";
- mes "\"Don't you dare try to cheat me!\"";
- goto L_Close;
-
L_Trick:
mes "[Hasan]";
- mes "\"Are you going to pay now? " + @toll + "GP, and I may let you pass.\"";
+ mes "\"Have you come back for another thrashing?\"";
menu
- "I don't have that much money!",L_NoPay,
- "No. (Scratch your head.)",L_ScratchHead;
+ "No.",L_Close,
+ "Yes, yours! (Scratch your head.)",L_ScratchHead;
L_ScratchHead:
if ($@ScorpionFighter)
goto L_Wait;
+ set TUTORIAL, TUTORIAL | $@HasanCompleteBit;
set $@ScorpionTimer, 0;
set $@ScorpionFighter, getcharid(3);
set $@ScorpDeath, PC_DIE_COUNTER;
cmdothernpc "#ScorpionTrigger", "HasanSpawn";
- mes "While you're scratching your head, you see Kaan approaching behind Hasan.";
+ mes "While you're scratching your head, you see Kaan approaching the fence.";
close;
L_Thank:
mes "[Hasan]";
mes "\"You - you saved me!";
- mes "I tried to take your money and you saved me!\"";
+ mes "I was mean to people, but you still saved me!\"";
next;
mes "\"Hey, you're a really cool person.";
mes "I mean, the way you finished that ghastly scorpion!";
mes "Amazing!\"";
next;
- mes "\"Let me tell you a secret: Cool persons are allowed to pass for free.";
+ mes "\"Let me tell you something, I will no longer bully people.";
mes "And you can have my Sharp Knife.\"";
getitem "SharpKnife", 1;
- callfunc "TutorialCompleted";
+ set @tutorial_tmp, 14;
+ callfunc "SetTutorialMask";
next;
mes "\"You want to go to the bazaar, right? Shall I tell you how to get there?\"";
menu
@@ -136,12 +135,14 @@ L_Explore:
mes "\"Alright. Take care!\"";
goto L_Close;
-L_Tut_Done:
+L_TutDone:
mes "[Hasan]";
- if (BaseLevel >= 40)
- mes "\"Welcome to the suburbs of Tulimshar. I wonder what an experienced adventurer like you is doing here.\"";
- if (BaseLevel < 40)
- mes "\"Bah, nothing interesting is happening here.\"";
+ mes "\"You didn't see anything. I tell you what I'll be nicer if you don't tell anyone?\"";
+ menu
+ "As long as you learned your lesson.", L_TutCont;
+
+L_TutCont:
+ mes "\"I have, I promise not to bully people anymore. It's not fun being scared.\"";
goto L_Close;
L_Wait:
@@ -153,15 +154,13 @@ L_Afraid:
end;
L_Close:
- set @toll, 0;
close;
OnTouch:
- if (FLAGS & FLAG_TUTORIAL_DONE)
- goto L_Close;
+ if ((@hasan_complete) && ((@tutorial == 12) || (@tutorial == 14)))
+ end;
goto L_Main;
}
-
042-1.gat,0,0,0|script|#ScorpionTrigger|35,
{
end;
@@ -170,14 +169,13 @@ OnCommandHasanSpawn:
goto L_Summon;
L_Summon:
- monster "042-1.gat",115,85,"Scorpion",1003,1, "#ScorpionTrigger::OnScorpionDeath";
+ monster "042-1.gat",102,49,"WeakScorpion",1046,1, "#ScorpionTrigger::OnScorpionDeath";
initnpctimer;
end;
L_SummonAgain:
- message strcharinfo(0), "Kaan is mad at you for your interference! He walks over to the edge of the cliff and throws a rock on top of your head, then lets another scorpion run just near Hasan!";
+ message strcharinfo(0), "Kaan is mad at you for your interference! He walks over to the edge of the fence and throws a rock on top of your head, then lets another scorpion run just near Hasan!";
percentheal -100, 0;
- message strcharinfo(0), "Kaan: \"Just go while he is distracted and no one is interfering!\"";
goto L_Summon;
OnTimer5000:
@@ -202,9 +200,7 @@ OnScorpionDeath:
goto L_Clean;
L_TimeOut:
- message strcharinfo(0), "Hasan, with his eyes almost closed, trembling with fear, runs toward the scorpion and stabs it with all his strength! Seems like you took too long and the plan didn't work this time.";
- warp "042-1.gat", 114, 85;
- message strcharinfo(0), "Hasan: \"Hey you! I told you you cannot pass!\"";
+ message strcharinfo(0), "Hasan, with his eyes almost closed, trembling with fear, runs toward the scorpion and stabs it with all his strength!";
goto L_Clean;
L_MessageDeath:
@@ -219,19 +215,3 @@ L_Clean:
stopnpctimer;
end;
}
-
-042-1.gat,117,85,0|script|#warp|45,0,0,
-{
- if (FLAGS & FLAG_TUTORIAL_DONE)
- goto L_Tut;
- goto L_SendBack;
-
-L_SendBack:
- message strcharinfo(0), "Hasan: I can do this all day.";
- warp "042-1.gat", 114, 85;
- end;
-
-L_Tut:
- warp "022-1.gat", 49, 82;
- end;
-}
diff --git a/world/map/npc/042-1/kaan.txt b/world/map/npc/042-1/kaan.txt
index d2ba5877..0d71cee3 100644
--- a/world/map/npc/042-1/kaan.txt
+++ b/world/map/npc/042-1/kaan.txt
@@ -1,12 +1,11 @@
// This file is part of the Tutorial
// Author: Jenalya
-042-1.gat,103,92,0|script|Kaan|160,
+042-1.gat,109,87,0|script|Kaan|160,
{
- if (FLAGS & FLAG_TUTORIAL_DONE) goto L_Tut_Done;
callfunc "TutorialState";
- if (@tutorial == 13) goto L_Hasan_Saved;
- if ($@ScorpionFighter == getcharid(3)) goto L_Run;
+ if ((@hasan_complete) && (@tutorial == 13)) goto L_Hasan_Saved;
+ if (@hasan_complete) goto L_TutDone;
if (@tutorial == 12) goto L_Plan;
if ((@tutorial == 11) && ((@sorfina_hasan) || (@tanisha_hasan))) goto L_TrickKnown;
if (@tutorial == 11) goto L_Trick;
@@ -68,7 +67,7 @@ L_Next:
callfunc "SetTutorialMask";
if (hasan)
menu
- "A guy named Hasan won't let me enter Tulimshar.",L_Hasan,
+ "A guy named Hasan is bullying someone.",L_Hasan,
"Thanks for the advice.",L_Close;
goto L_Out;
@@ -82,7 +81,7 @@ L_Hasan:
mes "[Kaan]";
mes "\"Hello! How are you? Did you already visit Tulimshar?\"";
menu
- "A guy named Hasan won't let me enter Tulimshar.",L_Next1,
+ "A guy named Hasan is bullying someone.",L_Next1,
"Not yet.",L_Close;
L_Next1:
@@ -130,7 +129,7 @@ L_Explain:
mes "I'll watch you from this point.\"";
next;
mes "\"When you give me the sign, I'll throw the scorpion on him.";
- mes "While he's distracted with the scorpion, you can pass.\"";
+ mes "I bet that will show him for the coward he really is.\"";
next;
mes "\"How's that? We can start as soon as you're ready.\"";
goto L_Close;
@@ -145,23 +144,18 @@ L_Plan:
L_Hasan_Saved:
mes "[Kaan]";
- mes "\"I told you to pass when he's distracted, not to fight the scorpion!";
- mes "But maybe Hasan is thankful now?\"";
+ mes "\"You did not to fight the scorpion.";
+ mes "But maybe Hasan is more thankful now?\"";
next;
mes "\"Why don't you talk to him again and see what he says.\"";
goto L_Close;
-L_Tut_Done:
+L_TutDone:
mes "[Kaan]";
mes "\"Hi there. I hope you enjoy your time in Tulimshar.";
mes "Hasan can be a real troublemaker, but it seems like he has calmed down for now.\"";
goto L_Close;
-L_Run:
- mes "[Kaan]";
- mes "\"He's distracted! What are you waiting for?\"";
- goto L_Close;
-
L_Close:
close;
}
diff --git a/world/map/npc/042-1/npcs.txt b/world/map/npc/042-1/liana.txt
index 6eb9972b..6eb9972b 100644
--- a/world/map/npc/042-1/npcs.txt
+++ b/world/map/npc/042-1/liana.txt
diff --git a/world/map/npc/042-1/tutorial.txt b/world/map/npc/042-1/tutorial.txt
new file mode 100644
index 00000000..3129faaa
--- /dev/null
+++ b/world/map/npc/042-1/tutorial.txt
@@ -0,0 +1,10 @@
+// This file is part of the Tutorial
+// Author: Jenalya
+// if you enter the tutorial area, it is set to be already done
+
+042-1.gat,63,47,0|script|#tutorialoutside|45,0,0
+{
+ callfunc "TutorialCompleted";
+ warp "042-2.gat", 114, 92;
+ end;
+}
diff --git a/world/map/npc/042-1/valon.txt b/world/map/npc/042-1/valon.txt
index 35636f94..ab14ad7c 100644
--- a/world/map/npc/042-1/valon.txt
+++ b/world/map/npc/042-1/valon.txt
@@ -1,39 +1,168 @@
// This file is part of the Tutorial
-// Author: Jenalya
+// Author: Jenalya, Wushin
+-|script|#ValonConfig|-1,
+{
+ end;
-042-1.gat,44,115,0|script|Valon|156,1,0
+OnInit:
+ set $@ValonStartBit, (1 << 6);
+ set $@ValonEndBit, (1 << 7);
+ setarray $@ValonMob, 1002,1050,1046,1003;
+ setarray $@ValonMobName$, "Maggots","House Maggots","Tame Scorpions","Scorpion";
+ setarray $@ValonMobCnt, 10,5,3,1;
+ end;
+}
+function|script|ValonState|,
+{
+ set @valon_mob, ((TUTORIAL & NIBBLE_2_MASK) >> NIBBLE_2_SHIFT);
+ set @valon_count, ((TUTORIAL & NIBBLE_3_MASK) >> NIBBLE_3_SHIFT);
+ set @valon_start, (TUTORIAL & $@ValonStartBit);
+ set @valon_end, (TUTORIAL & $@ValonEndBit);
+ return;
+}
+function|script|AddValonMobMask|,
+{
+ set @valon_tmp, (@valon_mob + 1);
+ if (@valon_tmp > 15)
+ set @valon_tmp, 15;
+ set TUTORIAL, (TUTORIAL & ~(NIBBLE_2_MASK) | (@valon_tmp << NIBBLE_2_SHIFT));
+ set @valon_tmp, 0;
+ return;
+}
+function|script|ResetValonCntMask|,
+{
+ set TUTORIAL, (TUTORIAL & ~(NIBBLE_3_MASK) | (0 << NIBBLE_3_SHIFT));
+ return;
+}
+function|script|AddValonCntMask|,
+{
+ set @valon_tmp, (@valon_count + 1);
+ if (@valon_tmp > 15)
+ set @valon_tmp, 15;
+ set TUTORIAL, (TUTORIAL & ~(NIBBLE_3_MASK) | (@valon_tmp << NIBBLE_3_SHIFT));
+ set @valon_tmp, 0;
+ callfunc "ValonProgress";
+ return;
+}
+function|script|ValonProgress|,
+{
+ callfunc "ValonState";
+ if ((@valon_start) && (!(@valon_end)))
+ message strcharinfo(0), $@ValonMobName$[@valon_mob] + ": " + @valon_count + "/" + $@ValonMobCnt[@valon_mob];
+ return;
+}
+042-1.gat,51,111,0|script|ValonDebug|156,
+{
+ mes "[Valon Debug]";
+ mes "Reset?";
+ menu
+ "Yes.", L_Reset,
+ "No.", L_End;
+
+L_Reset:
+ set TUTORIAL, (TUTORIAL & ~(NIBBLE_2_MASK) | (0 << NIBBLE_2_SHIFT));
+ set TUTORIAL, (TUTORIAL & ~(NIBBLE_3_MASK) | (0 << NIBBLE_3_SHIFT));
+ set TUTORIAL, TUTORIAL &~ $@ValonStartBit;
+ set TUTORIAL, TUTORIAL &~ $@ValonEndBit;
+ mes "Reset!";
+ goto L_End;
+
+L_End:
+ end;
+
+OnInit:
+ if (!debug)
+ disablenpc "ValonDebug";
+ end;
+}
+042-1.gat,48,111,0|script|Valon|156,
{
- if (FLAGS & FLAG_TUTORIAL_DONE) goto L_Tut_Done;
+ callfunc "ValonState";
+ if (@valon_end)
+ goto L_QuestComplete;
+ if (!(@valon_start) && (@valon_count))
+ goto L_QuestAskAgain;
+ if (((@valon_start) && (!(@valon_end))) && (@valon_count >= $@ValonMobCnt[@valon_mob]))
+ goto L_NextMob;
+ if ((@valon_start) && (!(@valon_end)))
+ goto L_QuestStarted;
+ goto L_QuestAsk;
+L_QuestAskAgain:
+ mes "[Valon]";
+ mes "\"Hello, Adventurer! Have you come back to help?\"";
+ menu
+ "Yes. I will help with the desert beasts.", L_Accept,
+ "Maybe some other time.", L_NoThanks;
+
+L_QuestAsk:
mes "[Valon]";
mes "\"Hello!";
mes "You're looking for adventures, right?\"";
next;
mes "\"But you shouldn't underestimate this desert, it is dangerous.\"";
next;
- mes "\"It's crawling with scorpions, and the heat has overcome men tougher than you are.\"";
+ mes "\"It's crawling with scorpions, and the heat has overcome adventurers tougher than you are.\"";
next;
- mes "\"If you really want to challenge the desert go to Tulimshar first to prepare yourself.\"";
- close;
+ mes "\"I should know I gaurd this gate from all manner of desert beasts.\"";
+ next;
+ mes "\"Maybe you would like help and earn your stripes?\"";
+ next;
+ mes "\"The Council of Wizard's does offer a reward for helping...\"";
+ menu
+ "YES!!! let me at them!", L_Accept,
+ "Maybe some other time.", L_NoThanks;
+
+L_NoThanks:
+ callfunc "AddValonCntMask";
+ goto L_Close;
+
+L_Accept:
+ callfunc "ResetValonCntMask";
+ set TUTORIAL, TUTORIAL | $@ValonStartBit;
+ goto L_NewMob;
+
+L_NextMob:
+ getexp 40, 0;
+ mes "\"I see you killed all the " + $@ValonMobName$[@valon_mob] + " needed.\"";
+ next;
+ mes "\"The Wizard's thank thee as well.\"";
+ set Zeny, Zeny + 25;
+ next;
+ callfunc "ResetValonCntMask";
+ callfunc "AddValonMobMask";
+ callfunc "ValonState";
+ if (@valon_mob == getarraysize($@ValonMob))
+ goto L_QuestOver;
+ goto L_NewMob;
-L_Tut_Done:
+L_NewMob:
+ mes "\"Let's see whats on the list. Ah ok, I need you to kill me " + $@ValonMobCnt[@valon_mob] + " " + $@ValonMobName$[@valon_mob] + "\"";
+ next;
+ mes "\"I'll be waiting here, come back and see after you've kulled those mobs.\"";
+ goto L_Close;
+
+L_QuestStarted:
mes "[Valon]";
- mes "\"Hello!";
- mes "You're an adventurer, right?\"";
+ mes "Hail adventurer! You are well on your way to mastering the beasts of the desert.\"";
next;
- mes "\"Be careful in the desert.\"";
- close;
+ mes "\"You need to kill " + $@ValonMobName$[@valon_mob] + ": " + @valon_count + "/" + $@ValonMobCnt[@valon_mob] + "\"";
+ next;
+ mes "\"Come back and see me when the job is done.\"";
+ goto L_Close;
-OnTouch:
- if (FLAGS & FLAG_TUTORIAL_DONE)
- goto L_Tut;
- warp "042-1.gat", 44, 110;
+L_QuestOver:
mes "[Valon]";
- mes "\"The desert is merciless.";
- mes "I can't let you leave like this.\"";
- close;
+ mes "\"Thanks once again for helping with the monsters in the desert.\"";
+ getexp 50, 0;
+ set TUTORIAL, TUTORIAL | $@ValonEndBit;
+ goto L_Close;
-L_Tut:
- warp "041-1.gat", 58, 6;
- end;
+L_QuestComplete:
+ mes "[Valon]";
+ mes "\"Thanks once again for helping with the monsters in the desert.\"";
+ goto L_Close;
+
+L_Close:
+ close;
}
diff --git a/world/map/npc/042-1/zegas.txt b/world/map/npc/042-1/zegas.txt
new file mode 100644
index 00000000..d3dc118c
--- /dev/null
+++ b/world/map/npc/042-1/zegas.txt
@@ -0,0 +1,106 @@
+// Barrels
+// Author: Wushin
+// Npc
+042-1.gat,97,75,0|script|Zegas|165,
+{
+ setarray @npc_loc, 97, 75, 2;
+ callfunc "PCtoNPCRange";
+ if (@npc_check)
+ goto L_Range;
+
+ callfunc "CheckBarrelQuest";
+ if (@barrel_quest == 1)
+ goto L_Find;
+ if (@barrel_quest == 2)
+ goto L_Looking;
+ if (@barrel_quest == 3)
+ goto L_QuestEnd;
+ if (@barrel_quest == 4)
+ goto L_Thanks;
+ goto L_Meet;
+
+L_Range:
+ message strcharinfo(0), "Whats that? Come closer I can't hear you.";
+ goto L_Close;
+
+L_Meet:
+ mes "[Zegas]";
+ mes "\"Hey do you have a second?\"";
+ next;
+ mes "\"The storehouse here is over run with house maggots.\"";
+ next;
+ mes "\"Wouldn't you know it, the bug bomb Eomie gave us is in one of the store room barrels.\"";
+ next;
+ mes "\"Can you search the barrels for the bug bomb and set it off when you find it?\"";
+ set TUTORIAL, TUTORIAL | $@ZegasMetBit;
+ menu
+ "Sure.",L_Start,
+ "Maybe some other time.",L_Close;
+
+L_Find:
+ mes "[Zegas]";
+ mes "\"The storehouse is still over run with house maggots.\"";
+ next;
+ mes "\"Please help me find the bug bomb Eomie gave us is in one of the store room barrels?\"";
+ menu
+ "Sure.",L_Start,
+ "Maybe some other time.",L_Close;
+
+L_Start:
+ mes "[Zegas]";
+ set TUTORIAL, TUTORIAL | $@BarrelStartBit;
+ mes "\"Thanks, come back and see me once you found the bug bomb and set it off.\"";
+ goto L_Close;
+
+L_Looking:
+ mes "[Zegas]";
+ mes "\"Still haven't found it? Well keep looking I know it's in there some where.\"";
+ goto L_Close;
+
+L_QuestEnd:
+ mes "[Zegas]";
+ mes "\"From the smell I can see you found the bug bomb!\"";
+ getexp 50, 0;
+ next;
+ mes "\"Thanks once again, I know it's not much but here is 50 GP for your troubles.\"";
+ set Zeny, (Zeny + 50);
+ set TUTORIAL, TUTORIAL | $@BarrelEndBit;
+ goto L_Close;
+
+L_Thanks:
+ mes "[Zegas]";
+ mes "\"Thanks for Helping with clear out the store room!\"";
+ goto L_Close;
+
+L_Close:
+ close;
+}
+042-1.gat,100,75,0|script|ZegasDebug|165,
+{
+ mes "[Zegas Debug]";
+ mes "Reset ?";
+ menu
+ "Yes.", L_Reset,
+ "No.", L_End;
+
+L_Reset:
+ set TUTORIAL, TUTORIAL &~ $@BarrelStartBit;
+ set TUTORIAL, TUTORIAL &~ $@BarrelEndBit;
+ set TUTORIAL, TUTORIAL &~ (1 << 17);
+ set TUTORIAL, TUTORIAL &~ (1 << 18);
+ set TUTORIAL, TUTORIAL &~ (1 << 19);
+ set TUTORIAL, TUTORIAL &~ (1 << 20);
+ set TUTORIAL, TUTORIAL &~ (1 << 21);
+ set TUTORIAL, TUTORIAL &~ (1 << 22);
+ set TUTORIAL, TUTORIAL &~ (1 << 30);
+ mes "Reset!";
+ goto L_End;
+
+L_End:
+ end;
+
+OnInit:
+ if (!debug)
+ disablenpc "ZegasDebug";
+ end;
+}