summaryrefslogtreecommitdiff
path: root/npc/032-1_Outback
diff options
context:
space:
mode:
authornmaligec <wouldnot@hotmail.com>2011-01-05 00:34:41 -0500
committernmaligec <wouldnot@hotmail.com>2011-01-05 00:34:41 -0500
commitdc7c0909908eea9428960a82e76815cf1912a5d9 (patch)
tree3d1e5bc280f4449775f9f736afc2902edc2d3260 /npc/032-1_Outback
parented8cac19500c515cae40c1fd4b2d87abd96ae3ba (diff)
parent28e005594d9c067c98ebb7f1d7f303f5869b56cd (diff)
downloadserverdata-dc7c0909908eea9428960a82e76815cf1912a5d9.tar.gz
serverdata-dc7c0909908eea9428960a82e76815cf1912a5d9.tar.bz2
serverdata-dc7c0909908eea9428960a82e76815cf1912a5d9.tar.xz
serverdata-dc7c0909908eea9428960a82e76815cf1912a5d9.zip
Merge branch 'master' of git://gitorious.org/~wombat/tmw-eathena-data/cache-serverdata
Diffstat (limited to 'npc/032-1_Outback')
-rw-r--r--npc/032-1_Outback/_mobs.txt15
-rw-r--r--npc/032-1_Outback/miriam.txt185
2 files changed, 183 insertions, 17 deletions
diff --git a/npc/032-1_Outback/_mobs.txt b/npc/032-1_Outback/_mobs.txt
index e24c0fde..8278255f 100644
--- a/npc/032-1_Outback/_mobs.txt
+++ b/npc/032-1_Outback/_mobs.txt
@@ -1,7 +1,22 @@
// 032-1 Outback mobs
+032-1.gat,31,24,27,15 monster BlackScorpion 1009,5,30000,100000,Mob032-1::On1009
+032-1.gat,24,72,27,24 monster BlackScorpion 1009,5,30000,100000,Mob032-1::On1009
+032-1.gat,24,44,25,21 monster BlackScorpion 1009,5,30000,100000,Mob032-1::On1009
+032-1.gat,57,41,23,18 monster Snake 1010,13,30000,100000,Mob032-1::On1010
+032-1.gat,77,76,34,27 monster Snake 1010,13,30000,100000,Mob032-1::On1010
032-1.gat,0,0,0 script Mob032-1 -1,{
+On1009:
+ set @mobID, 1009;
+ callfunc "MobPoints";
+ break;
+
+On1010:
+ set @mobID, 1010;
+ callfunc "MobPoints";
+ break;
+
end;
}
diff --git a/npc/032-1_Outback/miriam.txt b/npc/032-1_Outback/miriam.txt
index 5f67bea4..5bea725c 100644
--- a/npc/032-1_Outback/miriam.txt
+++ b/npc/032-1_Outback/miriam.txt
@@ -1,63 +1,200 @@
-// NPC place is provisory
+//#############################################
+// author: alastrim, PjotrOrial
+//#############################################
+// This npc teaches you the speed skill.
+// used variables:
+// QUEST_MIRIAM:
+// 0 either fully completed the quests in here, or not started.
+// 1 you said the wrong words, she is insulted. (so you excuse and goto 2)
+// 2 waiting for the ingredients
+// 3 you brought the needed stuff. if you meet other criteria (baselevel, agi) you will be taught the skill
+// 4 you have met the criteria of 3, but declined to take the speed test.
+// 5 while being tested, take this state. there are not any conditional jumps for this state, it should be met by QUEST_MIRIAM_run or QUEST_MIRIAM_start
+// QUEST_MIRIAM_start
+// a time in ticks. This is only !=0 if you started running to pachua.
+// QUEST_MIRIAM_run
+// when you reach pachua, he stores the difference of start and arrival in here.
+//#############################################
+// after you gained the speed skill, all variables are reset to zero.
+//#############################################
+
032-1.gat,55,20,0 script Miriam 175,{
if (getskilllv(SKILL_SPEED)) goto L_fast;
if (getequipid(equip_torso) < 0) goto L_naked;
+ if (QUEST_MIRIAM == 0) goto L_intro;
+ if (QUEST_MIRIAM == 1) goto L_ask1;
+ if (QUEST_MIRIAM == 2) goto L_ask2;
+ if (QUEST_MIRIAM == 3) goto L_teach;
+ if (QUEST_MIRIAM == 4) goto L_testoffer;
if (QUEST_MIRIAM_run != 0) goto L_checktime;
if (QUEST_MIRIAM_start != 0) goto L_wasting;
+L_intro:
+ mes "You see a woman sitting in the hot sand with eyes wide open... But she does not seem to be looking at something in particular...";
+ next;
+ menu
+ "Ehr... Hi, my name is " +strcharinfo(0)+ ". Are you OK?",-;
+ next;
+ mes "[Miriam]";
+ mes "\"...";
+ next;
+ menu
+ "Hello?",-;
+ next;
+ mes "[Miriam]";
+ mes "\"Yes, I am. Why? Do you think I am not OK? I am OK. You interrupted my meditation. Now I will need hours to calm down and stay quiet! Yes, yes, I know, I'm a fast talker!\"";
+ next;
+ mes "\"In fact, I am fast in everything I do! I can kill a Mountain Snake before it even starts to think about atacking me! Yes my friend, in a battle, speed is power!";
+ next;
+ menu
+ "Wow! Very impressi...",-;
+ mes "[Miriam]";
+ mes "\"Yes, yes, I know. But if there is one thing I am NOT good at, it is meditation! My master said I need to meditate, but... Ohh! So difficult to stay quiet! And when you FINALLY do, someone INTERRUPTS you, asking if you are 'OK'...\"";
+ next;
+ menu
+ "Oh, I am sorry! I didn't know you were meditating...",-;
+ next;
+ mes "[Miriam]";
+ mes "\"You are really sorry? Ok, but that is not enough... I need you to do something for me. As you can imagine, I will need a lot of time to concentrate and get back to the state I was when you interrupted me.\"";
+ next;
+ mes "\"But the problem is that I wasn't expecting to be here for so long, so I will need some food and something to drink.\"";
+ next;
+ mes "\"So, if you really want to prove that you are sorry, bring me 5 [Concentration Potions] and 10 [Snake Tongues].\"";
+ next;
+ menu
+ "Ok, but those potions will not help with your mental concent...",-,
+ "Sorry, but I can't help you right now.",L_canthelp;
+ mes "[Miriam]";
+ mes "\"ah, ah, ah... I know what I am doing! Now run and get what I asked.\"";
+ set QUEST_MIRIAM, 2;
+ close;
+
+
+L_canthelp:
+ mes "[Miriam]";
+ mes "\"Oh, really? So you better pray to not need my help in the future!\"";
+ set QUEST_MIRIAM, 1;
+ close;
+
+L_canthelp2:
+ mes "[Miriam]";
+ mes "\"...\"";
+ next;
+ mes "\"...\"";
+ next;
+ mes "\"Well, if you don't have time to help, at least don't make things difficult to me!\"";
+ close;
+
+L_ask1:
+ mes "[Miriam]";
+ mes "\"So, you are back... have you changed your mind about my request?\"";
+ next;
+ menu
+ "Yes, I will get what you want!",-,
+ "No, I have not time right now.",L_canthelp2;
+ set QUEST_MIRIAM, 2;
+ mes "\"Good. So, run and get it!\"";
+ close;
+
+L_ask2:
+ mes "[Miriam]";
+ mes "\"Did you get what I asked for?\"";
+ next;
+ menu
+ "Yes, here it is!",L_getitems,
+ "What was that again?", L_ask3,
+ "No, not yet.",-;
+ next;
+ mes "\"So please hurry up!\"";
+ close;
+
+L_ask3:
+ mes "[Miriam]";
+ mes "\"You have a small mind, haven't you? I am meditating here and I asked you to bring me stuff, so I can concentrate better.\"";
+ next;
+ mes "\"And stop asking so silly questions in the future.\"";
+ next;
+ mes "\"So, if you really want to help me now, bring me 5 [Concentration Potions] and 10 [Snake Tongues].\"";
+ close;
+
+L_getitems:
+ if (countitem("SnakeTongue") < 10 || countitem("ConcentrationPotion") < 5) goto L_notenough;
+ delitem "SnakeTongue", 10;
+ delitem "ConcentrationPotion", 5;
+ set QUEST_MIRIAM, 3;
+ mes "[Miriam]";
+ mes "\"Good job! Now I have enough food to stay in this desert for days!\"";
+ next;
+ mes "\"Now, since you helped me, maybe I can teach you a basic skill, but only if you prove yourself to be a fast runner! Come back and talk to me when you think you are prepared to learn.\"";
+ close;
+
+
+L_notenough:
+ mes "[Miriam]";
+ mes "\"Hey, you don't have all that I asked. Come back when you have everything.\"";
+ close;
+
L_teach:
mes "[Miriam]";
- mes "\"Hey, what is your problem? Why were you running like that? Are you hurt? Why so slow? I have seen slimes way faster than this!\"";
+ mes "\"Hmm... do you think you can learn the special speed skill?\"";
next;
menu
- "What? Slow down! One question per time...", -,
- "It seems like you need a rest.", L_rest;
+ "Yes, I am prepared...", -,
+ "I am already fast.", L_notfast;
set @agi, readparam(bAgi);
set @torso$, getitemname(getequipid(equip_torso));
set @weight, MaxWeight/Weight;
if (@weight < 3) goto L_heavyweight;
- if (@agi < 90) goto L_slow;
+ if (@agi < 60) goto L_slow;
+ if (baselevel < 60) goto L_lowlevel;
if (countitem("SteelShield") > 0 || countitem("WarlordHelmet") > 0 || countitem("CrusadeHelmet") > 0 || countitem("WarlordPlate") > 0 || countitem("KnightsHelmet") > 0 || countitem("InfantryHelmet") > 0 || countitem("ChainmailShirt") > 0) goto L_heavymetal;
goto L_offer;
L_heavyweight:
mes "[Miriam]";
- mes "\"Wow... Why do you carry so many things with you? You must be carrying more than one third of your own weight! I can't understand it... \"";
+ mes "\"Wow... Why do you bring so many things with you? You must be carrying more than one third of your own weight! I wont teach you unless you get rid of some stuff... \"";
close;
L_heavymetal:
mes "[Miriam]";
- mes "\"Hmm... I see... Another lazy slow warrior wasting his strenght carrying kilos of metal clothes... You people are very popular these days... \"";
+ mes "\"Hmm... I see... You want to be one of those lazy slow warriors... wasting all their strenght carrying kilos of metal clothes... Why no one sees the great advantages of a beautiful, flexible, lightweight armor nowadays?\"";
next;
- mes "\"Why no one sees the great advantages of a beautiful, flexible, lightweight armor nowadays? \"";
+ mes "\"Come back here when you get rid of this junk...\"";
close;
L_slow:
mes "[Miriam]";
- mes "Oh, wait, wait... " +@agi+ " Agility? Are you serious? What do you do with all your Character points? Put them all to 'Strenght'? Really... I dont even want to know... \"";
+ mes "Oh, wait, wait... " +@agi+ " Agility? Are you serious? What do you do with all your Character points? Put them all to 'Strenght'? Really... I dont even want to know... Come back here when you have a decent character points distribution!\"";
+ close;
+
+L_lowlevel:
+ mes "[Miriam]";
+ mes "\"Come back here when you are old enough. I even wonder how you could get here so unexperienced as you are.\"";
close;
L_offer:
mes "[Miriam]";
- mes "\"Hmm! Even though you move like a snail, you look great on these clothes! They look very comfortable too... And it seems like you are not carrying too much weight.\"";
+ mes "\"Hmm! You look great on these clothes! They look very comfortable too... And it seems like you are not carrying too much weight.\"";
next;
if (!(getskilllv(SKILL_POOL))) goto L_noskill;
menu
- "Yes, I really like this " +@torso$+ ".",-;
+ "Yes, I look really good on this " +@torso$+ ".",-;
next;
mes "[Miriam]";
- mes "\"I see. I like the way you distributed your Character Points... " +@agi+ " points to Agility! You really know how to prepare yourself to a good fight!\"";
+ mes "\"I see. I like the way you distributed your Character Points too... " +@agi+ " points to Agility! You really know how to prepare yourself to a good fight!\"";
next;
- mes "\"Well... I do not do this very often, but you really have a potential to be a good fighter and moving the way you do will not help! \"";
+ mes "\"Well... Even if you have a potential to be a good fighter, moving the way you do will not help. You need to be fast to avoid the monsters. \"";
next;
- mes "\"So, if you pass a small test I can teach you a skill! It will be very useful for you, since it can increase your running speed.\"";
+ mes "\"So, if you pass a small test I can teach you a skill that will increase your walking speed! You will not be as fast as I am, but I am sure it will be useful.\"";
next;
menu
"I'm in! What kind of test is it?",-,
"I dont think I need more speed right now",L_giveup;
next;
+
+L_test:
mes "[Miriam]";
mes "\"Great! The test is simple. You need to run as fast as you can from the place where I am sitting to the mountains and talk to Pachua, the chief. When you get there and talk to Pachua, he will send a special smoke signal to me, so I can know how much time it took for you to go there.\"";
next;
@@ -72,6 +209,7 @@ L_offer:
// Warp the player to the place where the NPC is defined, so he can't cheat.
warp "032-1.gat",55,21;
npctalk "Run " +strcharinfo(0)+ ", run!";
+ set QUEST_MIRIAM, 5;
set QUEST_MIRIAM_start, gettimetick(1);
end;
@@ -80,9 +218,9 @@ L_naked:
mes "\"Hmmm?! Please put on some clothes before talking to me.\"";
close;
-L_rest:
+L_notfast:
mes "[Miriam]";
- mes "\"I don't need to rest. In fact, it seems like you need some serious workout sessions to improve your physical skills!\"";
+ mes "\"Hah! If you think so...\"";
close;
L_noskill:
@@ -93,11 +231,22 @@ L_noskill:
L_giveup:
mes "[Miriam]";
mes "\"Oh, that is bad... But if you change your mind, come back!\"";
+ set QUEST_MIRIAM, 4;
+ close;
+
+L_testoffer:
+ mes "[Miriam]";
+ mes "\"Are you ready for the test now?\"";
+ next;
+ menu
+ "Yes!",L_test,
+ "Not yet.",-;
close;
L_stretch:
mes "[Miriam]";
mes "\"Ok. Good idea... Stretching exercises can increase your flexibility and even prevent injuries!\"";
+ set QUEST_MIRIAM, 4;
close;
L_wasting:
@@ -125,9 +274,11 @@ L_goodjob:
next;
mes "You feel dizzy and as soon as you move your head and look to the ground, Miriam pushes you hard, sending you meters away from her.";
close2;
-// warp player a few tiles back - Write it when the NPC place is defined
warp "032-1.gat",55,22;
+ // free all used player variables. This can be done, since there is a conditional on the speedskill at the beginning.
+ set QUEST_MIRIAM_start, 0;
set QUEST_MIRIAM_run, 0;
+ set QUEST_MIRIAM, 0;
message strcharinfo(0), "[You gain 2500 experience points]";
message strcharinfo(0), "[You learned Speed Skill]";
setskill SKILL_SPEED, 1;