diff options
author | Ben Longbons <b.r.longbons@gmail.com> | 2011-06-18 21:58:47 -0700 |
---|---|---|
committer | Ben Longbons <b.r.longbons@gmail.com> | 2011-06-19 14:19:55 -0700 |
commit | bae4b92e560c2694eaaf0e8b4d9e95e56204471b (patch) | |
tree | 4acc120f6a94cfbf9694bf344658493de5aaa67b /world/map/npc/005-1 | |
parent | 319f80526f8585ecadaec986e37c9bd326f4d363 (diff) | |
download | serverdata-bae4b92e560c2694eaaf0e8b4d9e95e56204471b.tar.gz serverdata-bae4b92e560c2694eaaf0e8b4d9e95e56204471b.tar.bz2 serverdata-bae4b92e560c2694eaaf0e8b4d9e95e56204471b.tar.xz serverdata-bae4b92e560c2694eaaf0e8b4d9e95e56204471b.zip |
Move to a subdirectory
Diffstat (limited to 'world/map/npc/005-1')
-rw-r--r-- | world/map/npc/005-1/_import.txt | 8 | ||||
-rw-r--r-- | world/map/npc/005-1/_mobs.txt | 44 | ||||
-rw-r--r-- | world/map/npc/005-1/_warps.txt | 19 | ||||
-rw-r--r-- | world/map/npc/005-1/npcs.txt | 17 | ||||
-rw-r--r-- | world/map/npc/005-1/spirit.txt | 305 | ||||
-rw-r--r-- | world/map/npc/005-1/tree.txt | 162 |
6 files changed, 555 insertions, 0 deletions
diff --git a/world/map/npc/005-1/_import.txt b/world/map/npc/005-1/_import.txt new file mode 100644 index 00000000..968adcd7 --- /dev/null +++ b/world/map/npc/005-1/_import.txt @@ -0,0 +1,8 @@ +// Map 005-1: Snake desert +// This file is generated automatically. All manually changes will be removed when running the Converter. +map: 005-1.gat +npc: npc/005-1/_mobs.txt +npc: npc/005-1/_warps.txt +npc: npc/005-1/npcs.txt +npc: npc/005-1/spirit.txt +npc: npc/005-1/tree.txt diff --git a/world/map/npc/005-1/_mobs.txt b/world/map/npc/005-1/_mobs.txt new file mode 100644 index 00000000..177b995e --- /dev/null +++ b/world/map/npc/005-1/_mobs.txt @@ -0,0 +1,44 @@ +// This file is generated automatically. All manually changes will be removed when running the Converter. +// Snake desert mobs + +005-1.gat,0,0,0,0 monster Maggot 1002,1,100000,30000,Mob005-1::On1002 +005-1.gat,0,0,0,0 monster Snake 1010,1,100000,30000,Mob005-1::On1010 +005-1.gat,71,77,9,6 monster Snake 1010,2,40000,50000,Mob005-1::On1010 +005-1.gat,92,25,8,5 monster Snake 1010,3,40000,50000,Mob005-1::On1010 +005-1.gat,98,54,95,52 monster Giant Maggot 1006,20,100000,30000,Mob005-1::On1006 +005-1.gat,91,18,66,23 monster Black Scorpion 1009,7,100000,30000,Mob005-1::On1009 +005-1.gat,99,87,85,32 monster Black Scorpion 1009,8,100000,30000,Mob005-1::On1009 +005-1.gat,30,42,20,23 monster Green Slime 1005,3,100000,30000,Mob005-1::On1005 +005-1.gat,118,70,3,2 monster Green Slime 1005,2,100000,30000,Mob005-1::On1005 +005-1.gat,163,71,32,65 monster Snake 1010,8,100000,30000,Mob005-1::On1010 +005-1.gat,96,49,103,48 monster Maggot 1002,20,100000,30000,Mob005-1::On1002 + + +005-1.gat,0,0,0 script Mob005-1 -1,{ +On1002: + set @mobID, 1002; + callfunc "MobPoints"; + break; + +On1005: + set @mobID, 1005; + callfunc "MobPoints"; + break; + +On1006: + set @mobID, 1006; + callfunc "MobPoints"; + break; + +On1009: + set @mobID, 1009; + callfunc "MobPoints"; + break; + +On1010: + set @mobID, 1010; + callfunc "MobPoints"; + break; + + end; +} diff --git a/world/map/npc/005-1/_warps.txt b/world/map/npc/005-1/_warps.txt new file mode 100644 index 00000000..6d8c2597 --- /dev/null +++ b/world/map/npc/005-1/_warps.txt @@ -0,0 +1,19 @@ +// This file is generated automatically. All manually changes will be removed when running the Converter. +// Snake desert warps + +005-1.gat,19,41 warp ToSandstorm -1,2,002-1.gat,106,78 +005-1.gat,89,23 warp ToSnakeCave -1,-1,005-3.gat,52,34 +005-1.gat,71,75 warp ToSnakeCave -1,-1,005-3.gat,33,82 +005-1.gat,167,108 warp ToDesertMountains -1,-1,006-1.gat,20,33 +005-1.gat,168,107 warp ToDesertMountains -1,-1,006-1.gat,21,32 +005-1.gat,169,106 warp ToDesertMountains -1,-1,006-1.gat,22,31 +005-1.gat,171,104 warp ToDesertMountains -1,-1,006-1.gat,24,29 +005-1.gat,170,105 warp ToDesertMountains -1,-1,006-1.gat,23,30 +005-1.gat,172,103 warp ToDesertMountains -1,-1,006-1.gat,25,28 +005-1.gat,174,101 warp ToDesertMountains -1,-1,006-1.gat,27,26 +005-1.gat,173,102 warp ToDesertMountains -1,-1,006-1.gat,26,27 +005-1.gat,175,100 warp ToDesertMountains -1,-1,006-1.gat,28,25 +005-1.gat,176,99 warp ToDesertMountains -1,-1,006-1.gat,29,24 +005-1.gat,177,98 warp ToDesertMountains -1,-1,006-1.gat,30,23 +005-1.gat,178,97 warp ToDesertMountains -1,-1,006-1.gat,31,22 +005-1.gat,179,96 warp ToDesertMountains -1,-1,006-1.gat,32,21 diff --git a/world/map/npc/005-1/npcs.txt b/world/map/npc/005-1/npcs.txt new file mode 100644 index 00000000..12f37ca1 --- /dev/null +++ b/world/map/npc/005-1/npcs.txt @@ -0,0 +1,17 @@ +// + +005-1.gat,69,76,0 shop George 115,530:3000,1199:1,529:-1,539:175,562:500 + +005-1.gat,66,75,0 script Kieron 132,{ + mes "[Kieron]"; + mes "\"Be careful if you're going in that cave,"; + mes "it's packed full of monsters.\""; + close; +} + +005-1.gat,91,23,0 script William 131,{ + mes "[William]"; + mes "\"Going in the cave?"; + mes "You better watch your step, last time I checked it was full of monsters!\""; + close; +} diff --git a/world/map/npc/005-1/spirit.txt b/world/map/npc/005-1/spirit.txt new file mode 100644 index 00000000..d6723c8e --- /dev/null +++ b/world/map/npc/005-1/spirit.txt @@ -0,0 +1,305 @@ +function script EarthImpTouch { + if (getskilllv(SKILL_MAGIC)) + goto L_message; + + mes "[Well]"; + mes "You hear noises from within the well."; + close; + +L_message: + set @Q_MASK, NIBBLE_0_MASK; + set @Q_SHIFT, NIBBLE_0_SHIFT; + set @Q_status, (QUEST_MAGIC2 & @Q_MASK) >> @Q_SHIFT; + + // Set up SkillUp function + set @SUP_id, SKILL_MAGIC_NATURE; + set @SUP_name$, "Nature Magic"; + + set @Q_STATUS_INITIAL, 0; + set @Q_STATUS_ONQUEST, 1; + set @Q_STATUS_STUDENT0, 2; + set @Q_STATUS_STUDENT1, 3; + set @Q_STATUS_STUDENT2, 4; + set @Q_STATUS_STUDENT3, 5; + + set @s$, "girl"; + if (Sex) + set @s$, "boy"; + + if (MAGIC_FLAGS & MFLAG_KNOWS_IMP) + goto L_wb; + + mes "[Well]"; + mes "Something is inside that well, and now that you have turned your attention towards it, it seems to be talking to you!"; + next; + + mes "[Well]"; + mes "\"Hey! You there! Yes, I'm talking to you!\""; + mes "That strange voice seems to be coming from inside your head!"; + next; + + menu + "Who, me?", -, + "Leave me alone!", L_close, + "Aaah! I'm hearing voices!", L_silly_close; + + mes "[Well]"; + mes "\"I'm in here, in the well, talking to you! If I'm not very mistaken, you are a powerful wizard-to-be, except that nobody has showed you how to properly do magic yet!\""; + next; + + menu + "Who are you?", -, + "Aaaah! The voices are after me!", L_silly_close, + "Whatever it is, I'm not interested.", L_close; + + mes "[Earth Spirit]"; + mes "\"I'm an earth spirit; my name isn't important... all that matters is that I like you, and that I will help you become a powerful wizard if you help me. Just a fair deal, no more than that...\""; + next; + + set MAGIC_FLAGS, MAGIC_FLAGS | MFLAG_KNOWS_IMP; + + goto L_main; +L_wb: + mes "[Earth Spirit]"; + mes "\"It's excellent to see you again!\""; + next; + +L_main: + menu + "How did you get trapped?", L_Q_trapped, + "Can you teach me magic and spells?", L_Q_magic, + "What do you know about...", L_Q, + "Goodbye!", -; + close; + +L_Q_trapped: + mes "[Earth Spirit]"; + mes "\"Oh, a wicked witch grew jealous of my power and locked me up in this well.\""; + next; + goto L_main; + +L_Q: + mes "[Earth Spirit]"; + mes "\"Stop bothering me with your questions, will you? I'm trying to make you a powerful wizard, after all!\""; + next; + goto L_main; + +L_Q_magic: + if (@Q_status == @Q_STATUS_ONQUEST) + goto L_Q_magic_1; + if (@Q_status == @Q_STATUS_STUDENT0) + goto L_Q_magic_2; + if (@Q_status == @Q_STATUS_STUDENT1) + goto L_Q_magic_3; + if (@Q_status == @Q_STATUS_STUDENT2) + goto L_Q_magic_4; + + mes "[Earth Spirit]"; + mes "\"Good, good... that's the right attitude! Yes, I can teach you magic, but first you must prove that you are worthy to be my student!\""; + next; + + mes "[Earth Spirit]"; + mes "\"North-west of here sits and old, dead tree. Well, not completely dead, not yet, but almost. It's nothing special. Well, maybe a little, but not really. I want you to cut off one of its branches.\""; + next; + + menu + "No way.", L_silly_close, + "Sure.", L_Q_tree_ok, + "Why that particular tree?", -; + + mes "[Earth Spirit]"; + mes "\"Oh, you and your questions! Well, that tree was a druid once, so the branches contain a bit of its lifeforce. And that's useful.\""; + next; + + menu + "Yuck.", L_silly_close, + "Sure, whatever.", L_Q_tree_ok, + "Isn't that like cutting off someone's arm?", -; + + mes "[Earth Spirit]"; + mes "\"Oooh... now come on! Don't be so sentimental. He turned himself into a tree, he can hardly expect everyone to leave him alone.\""; + next; + + mes "[Earth Spirit]"; + mes "\"Who knows if he can even feel anything anymore? I'm sure he can't, being wooden and all. Besides, it's only a measly tree. Not like I'm asking you to cut him down!.\""; + next; + + menu + "No way.", L_silly_close, + "Alright, that makes sense.", L_Q_tree_ok; + +L_Q_tree_ok: + mes "[Earth Spirit]"; + mes "\"Good, good, good! Yes, that will be very good! So, come back when you have the branch. Oh, and bring 100,000 GP, too, as an enrollment fee.\""; + set @Q_status, @Q_STATUS_ONQUEST; + callsub S_update_var; + set MAGIC_FLAGS, MAGIC_FLAGS | MFLAG_KNOWS_CUTTREE; + next; + goto L_main; + +L_Q_magic_1: + mes "[Earth Spirit]"; + mes "\"Yes, yes, if you bring me the branch and the money, then I will!\""; + next; + menu + "Here are the branch and the money.", -, + "How much money did you want again?", L_Q_tree_howmuch, + "How can I cut it?", L_Q_tree_how, + "Where was the tree again?", L_Q_tree_where, + "What is that tree?", L_Q_tree_what; + + if (countitem("DruidTreeBranch") < 1) + goto L_Q_tree_none; + if (!(MAGIC_FLAGS & MFLAG_DID_CUTTREE)) + goto L_Q_tree_dry; + if (zeny < 100000) + goto L_Q_tree_nomoney; + + set zeny, zeny - 100000; + delitem "DruidTreeBranch", 1; + + mes "[Earth Spirit]"; + mes "Following the earth sprite's instructions, you throw branch and GP into the well."; + next; + + mes "[Earth Spirit]"; + mes "\"Well done, very well done! Consider yourself my student now.\""; + + set @SUP_xp, 5000; + set @SUP_lvl, 2; + callfunc "SkillUp"; + next; + + set @Q_status, @Q_STATUS_STUDENT0; + callsub S_update_var; + goto L_main; + +L_Q_magic_finish: + mes "[1000 experience points]"; + set @Q_status, @Q_status + 1; + callsub S_update_var; + getexp 1000,0; + next; + goto L_main; + +L_Q_magic_2: + mes "[Earth Spirit]"; + mes "\"Yes, of course! For just 20,000 GP I will teach you your first spell!\""; + next; + + menu + "Here you are.", -, + "No.", L_main; + + if (zeny < 20000) + goto L_no20k; + + set zeny, zeny - 20000; + + mes "[Earth Spirit]"; + mes "\"Kekeke... excellent! Yes, here goes your first spell, the flying backpack! If you are overloaded, it will take the load off your shoulders.\""; + next; + + mes "[Earth Spirit]"; + mes "\"Take a cocoon, living or dead, and suffuse it in magic. Whisper '" + getspellinvocation("flying-backpack") + "', and feel it float!\""; + goto L_Q_magic_finish; + +L_Q_magic_3: + mes "[Earth Spirit]"; + mes "\"But yes, yes! Only 20,000 GP, once again, and I will teach you a far more useful spell!\""; + next; + + menu + "Here you are.", -, + "No.", L_main; + + if (zeny < 20000) + goto L_no20k; + + set zeny, zeny - 20000; + + mes "[Earth Spirit]"; + mes "\"Yeees, good! This one is a protection spell, making your skin harder. You need a hard spike for it, though. Hold that spike in your hands, and focus on it.\""; + next; + + mes "[Earth Spirit]"; + mes "\"Next, say '" + getspellinvocation("protect") + "', and feel your skin grow rigid! Very useful against stings and stabs and pokes and pricks and that sort of stuff.\""; + goto L_Q_magic_finish; + +L_Q_magic_4: + mes "[Earth Spirit]"; + mes "\"Naah, you're too weak now! Come back later when you have grown!\""; + next; + goto L_main; + +L_no20k: + mes "[Earth Spirit]"; + mes "\"You can't pay me 20,000 if you don't have that much!\""; + next; + goto L_main; + +L_Q_tree_none: + mes "[Earth Spirit]"; + mes "\"Where is your branch?\""; + next; + goto L_main; + +L_Q_tree_dry: + mes "[Earth Spirit]"; + mes "\"That won't do. This branch is completely dead; you'll have to get another.\""; + next; + goto L_main; + +L_Q_tree_nomoney: + mes "[Earth Spirit]"; + mes "\"No, you don't have enough money! Come back when you have 100,000.\""; + next; + goto L_main; + +L_Q_tree_howmuch: + mes "[Earth Spirit]"; + mes "\"It's only 100,000 GP to become my student.\""; + next; + goto L_main; + +L_Q_tree_how: + mes "[Earth Spirit]"; + mes "\"Oh... right, the tree might be protected. Only a bone knife will cut that. No idea where you can find one, but I'm sure you will manage!\""; + next; + goto L_main; + +L_Q_tree_where: + mes "[Earth Spirit]"; + mes "\"North-west of here.\""; + next; + goto L_main; + +L_Q_tree_what: + mes "[Earth Spirit]"; + mes "\"Just some silly druid who turned himself into a tree; nothing important.\""; + next; + goto L_main; + +L_silly_close: + if (MAGIC_FLAGS & MFLAG_KNOWS_IMP) + mes "[Earth Spirit]"; + if (!(MAGIC_FLAGS & MFLAG_KNOWS_IMP)) + mes "[Well]"; + mes "\"Silly " + @s$ + ".\""; +L_close: + close; + +S_update_var: + set QUEST_MAGIC2, + (QUEST_MAGIC2 & ~(@Q_MASK) + | (@Q_status << @Q_SHIFT)); + return; +} + +005-1.gat,118,70,0 script #EarthImp0#_M 127,{ + callfunc "EarthImpTouch"; +} + +005-1.gat,119,70,0 script #EarthImp1#_M 127,{ + callfunc "EarthImpTouch"; +} diff --git a/world/map/npc/005-1/tree.txt b/world/map/npc/005-1/tree.txt new file mode 100644 index 00000000..54b7ed1c --- /dev/null +++ b/world/map/npc/005-1/tree.txt @@ -0,0 +1,162 @@ +function script QuestTreeTrigger { + set @Q_MASK, NIBBLE_2_MASK; + set @Q_SHIFT, NIBBLE_2_SHIFT; + + set @Q_status, (QUEST_MAGIC & @Q_MASK) >> @Q_SHIFT; + set @Q_status_lower, @Q_status & 3; + set @Q_status, (@Q_status & 12) >> 2; + + if (@Q_status & @flag) + close; // already did that + + if (@flag == 2) + goto L_hug; + +L_cont: + set @Q_status, @Q_status | @flag; + callsub S_update_var; + + if (@Q_status != 3) + close; + + if (MAGIC_FLAGS & MFLAG_DID_CUTTREE) + close; + + mes "Maybe it is just a trick of the light, but you can't help but think that the tree looks different... healthier, almost younger."; + mes "[20000 experience points]"; + getexp 20000, 0; + set @value, 15; + callfunc "QuestSagathaHappy"; + close; + +L_hug: + mes "You hug the tree."; + next; + goto L_cont; + +S_update_var: + set @Q_wr_status, (@Q_status << 2) | @Q_status_lower; + set QUEST_MAGIC, + (QUEST_MAGIC & ~(@Q_MASK) + | (@Q_wr_status << @Q_SHIFT)); + return; +} + +function script QuestTreeTouch { + set @Q_MASK, NIBBLE_2_MASK; + set @Q_SHIFT, NIBBLE_2_SHIFT; + + set @Q_status, (QUEST_MAGIC & @Q_MASK) >> @Q_SHIFT; + set @Q_status, (@Q_status & 12) >> 2; + + if (@Q_status == 3) + goto L_happy; + + if ((MAGIC_FLAGS & (MFLAG_KNOWS_DRUIDTREE | MFLAG_KNOWS_CUTTREE)) == MFLAG_KNOWS_CUTTREE) + goto L_cut; + + if ((MAGIC_FLAGS & (MFLAG_KNOWS_DRUIDTREE | MFLAG_KNOWS_CUTTREE)) == MFLAG_KNOWS_DRUIDTREE) + goto L_water; + + if ((MAGIC_FLAGS & (MFLAG_KNOWS_DRUIDTREE | MFLAG_KNOWS_CUTTREE)) > 0) //i.e., both are set + goto L_both; + + mes "[Dying Tree]"; + mes "You see a strange tree."; + close; + +L_cut: + mes "[Dying Tree]"; + mes "This must be the tree that the earth spirit was referring to."; + next; + menu + "Cut off a branch", L_do_cut, + "Leave it alone", -; + close; + +L_water: + mes "[Dying Tree]"; + mes "This must be the druid tree."; + next; + menu + "Water the tree", L_givewater, + "Kiss tree", L_kiss, + "Leave it alone", -; + close; + +L_both: + mes "[Dying Tree]"; + mes "This must be the druid tree that Wyara and the earth spirit were talking about."; + next; + menu + "Water the tree", L_givewater, + "Kiss tree", L_kiss, + "Cut off a branch", L_do_cut, + "Leave it alone", -; + close; + +L_givewater: + if (countitem("BottleOfWater") < 1) + goto L_no_water; + delitem "BottleOfWater", 1; + getitem "EmptyBottle", 1; + + mes "[Dying Tree]"; + mes "You pour a bottle of water into the sand. The water dissipates quickly, without any effect."; + close; + +L_no_water: + mes "[Dying Tree]"; + mes "You don't have any water."; + close; + +L_kiss: + mes "[Dying Tree]"; + mes "You pluck out a splinter from your lip."; + mes "Somehow, you don't think that this helped."; + close; + +L_do_cut: + if (countitem(570) < 1) + goto L_no_boneknife; + + if (MAGIC_FLAGS & MFLAG_DID_CUTTREE) + goto L_really_cut; + + mes "[Dying Tree]"; + mes "You find a suitable branch and put your bone knife in position."; + mes "Holding the branch, you have an uneasy feeling-- as if something inside the tree were trying to resist you..."; + mes "Do you want to continue cutting?"; + next; + + menu + "Nah... better not.", -, + "Yes, let's cut!", L_really_cut; + close; + +L_really_cut: + set MAGIC_FLAGS, MAGIC_FLAGS | MFLAG_DID_CUTTREE; + getitem "DruidTreeBranch", 1; + mes "[Dying Tree]"; + mes "You cut off a branch from the tree."; + mes "For an instant, you have an uneasy feeling, as if the branch were writhing in your hand..."; + close; + +L_no_boneknife: + mes "[Dying Tree]"; + mes "Try as you might, you can't seem to find a way to cut off a branch. Perhaps you need a different tool for cutting?"; + close; + +L_happy: + mes "[Druid Tree]"; + mes "The tree looks younger and healthier now."; + close; +} + +005-1.gat,79,41,0 script #DruidTree0#_M 127,{ + callfunc "QuestTreeTouch"; +} + +005-1.gat,80,41,0 script #DruidTree1#_M 127,{ + callfunc "QuestTreeTouch"; +} |