diff options
author | The Kandiman <kandiman@kandiman.(none)> | 2011-08-31 12:16:25 -0400 |
---|---|---|
committer | Jessica Tölke <jtoelke@mail.upb.de> | 2011-09-01 18:01:31 +0200 |
commit | cb20cc91188d46f5b7709bf60450f5b84abd0083 (patch) | |
tree | 340400347718741da4b61a485b26f92853ccc17b | |
parent | eeeb6bf662bbc65556d9149ac73fb511b19b6acd (diff) | |
download | serverdata-cb20cc91188d46f5b7709bf60450f5b84abd0083.tar.gz serverdata-cb20cc91188d46f5b7709bf60450f5b84abd0083.tar.bz2 serverdata-cb20cc91188d46f5b7709bf60450f5b84abd0083.tar.xz serverdata-cb20cc91188d46f5b7709bf60450f5b84abd0083.zip |
Tab conversion project. Maps 003-1 through 006-1 complete.
-rw-r--r-- | world/map/npc/003-1/stranger.txt | 914 | ||||
-rw-r--r-- | world/map/npc/005-1/npcs.txt | 6 | ||||
-rw-r--r-- | world/map/npc/005-1/spirit.txt | 473 | ||||
-rw-r--r-- | world/map/npc/005-1/tree.txt | 215 | ||||
-rw-r--r-- | world/map/npc/005-3/monsters.txt | 13 | ||||
-rw-r--r-- | world/map/npc/006-1/mika.txt | 2 | ||||
-rw-r--r-- | world/map/npc/006-1/pachua.txt | 486 |
7 files changed, 1033 insertions, 1076 deletions
diff --git a/world/map/npc/003-1/stranger.txt b/world/map/npc/003-1/stranger.txt index 37ecc4ab..09c81f36 100644 --- a/world/map/npc/003-1/stranger.txt +++ b/world/map/npc/003-1/stranger.txt @@ -1,520 +1,528 @@ -003-1.gat,35,25,0 script Stranger 192, { - - set @month, 5; - set @start_day, 18; - set @end_day, 25; - set @IRONINGOT, 5; - set @PINKANTENNA, 21; - set @EXP, 20000; - - if (FLAGS & FLAG_TOWEL_COMPLETED) goto L_Event_Done; - if (gettime(6) != @month) goto L_No_Event; - if (gettime(5) < @start_day) goto L_No_Event; - if (gettime(5) > @end_day) goto L_No_Event; - if ((gettimetick(2)-TUT_var < 6*7*86400) || (baselevel < 42 )) //player must be created at least 6 weeks ago and at least level 42 - goto L_No_Event; - if (FLAGS & FLAG_TOWEL_HELPED) goto L_Towel; - - mes "[Stranger]"; - mes "\"Hello, hello! It's great to see you. Maybe you can help me with a little problem I have.\""; - next; - mes "\"I need some materials to repair my spacesh- ahm, it's not important why I need it.\""; - next; - mes "\"Anyway, I'd be really happy if you can give me " + @IRONINGOT + " Iron Ingots and " + @PINKANTENNA + " Pink Antennas.\""; - next; - mes "\"Do you have that for me?\""; - menu - "Yeah, sure.",L_Items, - "No.",L_Close; - close; +003-1.gat,35,25,0|script|Stranger|192, { + + set @month, 5; + set @start_day, 18; + set @end_day, 25; + set @IRONINGOT, 5; + set @PINKANTENNA, 21; + set @EXP, 20000; + + if (FLAGS & FLAG_TOWEL_COMPLETED) goto L_Event_Done; + if (gettime(6) != @month) goto L_No_Event; + if (gettime(5) < @start_day) goto L_No_Event; + if (gettime(5) > @end_day) goto L_No_Event; + if ((gettimetick(2)-TUT_var < 6*7*86400) || (baselevel < 42 )) //player must be created at least 6 weeks ago and at least level 42 + goto L_No_Event; + if (FLAGS & FLAG_TOWEL_HELPED) goto L_Towel; + + mes "[Stranger]"; + mes "\"Hello, hello! It's great to see you. Maybe you can help me with a little problem I have.\""; + next; + mes "\"I need some materials to repair my spacesh- ahm, it's not important why I need it.\""; + next; + mes "\"Anyway, I'd be really happy if you can give me " + @IRONINGOT + " Iron Ingots and " + @PINKANTENNA + " Pink Antennas.\""; + next; + mes "\"Do you have that for me?\""; + menu + "Yeah, sure.",L_Items, + "No.",L_Close; + close; L_Items: - if (countitem("IngotIron") < @IRONINGOT) goto L_No_Item; - if (countitem("PinkAntenna") < @PINKANTENNA) goto L_No_Item; - delitem "IngotIron", @IRONINGOT; - delitem "PinkAntenna", @PINKANTENNA; - getexp @EXP, 0; - set FLAGS, FLAGS | FLAG_TOWEL_HELPED; - - mes "[Stranger]"; - mes "\"Great! Thank you!\""; - next; - mes "\"I have a lot of work to do now. But before you leave...\""; - next; + if (countitem("IngotIron") < @IRONINGOT) goto L_No_Item; + if (countitem("PinkAntenna") < @PINKANTENNA) goto L_No_Item; + delitem "IngotIron", @IRONINGOT; + delitem "PinkAntenna", @PINKANTENNA; + getexp @EXP, 0; + set FLAGS, FLAGS | FLAG_TOWEL_HELPED; + + mes "[Stranger]"; + mes "\"Great! Thank you!\""; + next; + mes "\"I have a lot of work to do now. But before you leave...\""; + next; L_Towel: - getinventorylist; - if (@inventorylist_count == 100) goto L_Full_Inv; - mes "[Stranger]"; - mes "\"On May 25th it is a very special day - Towel Day.\""; - next; - mes "\"To celebrate this I'll ask you some questions about my favourite book, The Hitchhiker's Guide to the Galaxy. If you can answer them, I'll give you something very useful.\""; - next; - mes ""; - mes "[Server]"; - mes "The answers might need to have whitespaces."; - mes "If you're using a client which confirms your answer when pressing space, change this setting before continuing."; - mes ""; - next; - mes "[Stranger]"; - mes "\"The first one is easy.\""; - next; - - setarray @easy_questions$, - "What two words are written in big friendly letters on the back cover?", - "What's the name of the paranoid robot?", - "What is the answer to life, the universe and everything?", - "What is the first name of the author of the hitchhikers guide?", - "What is the last name of the author of the hitchhikers guide?", - "Who is the male human protagonist?", - "Who is the female human protagonist?", - "According to the Guide, space is ____?", - "What is the name of the spaceship which was stolen by the president of the universe?", - "How many heads does Zaphod Beeblebrox have?"; - - setarray @easy_answers_amount,2,2,2,2,2,4,4,2,4,2; - - set @random, rand(10); - mes "\"" + @easy_questions$[@random] + "\""; - input @answer$; - - if (@easy_answers_amount[@random] < 4) - goto L_Easy_Skip4; - set @quizparam$, "towelanswer0" + @random + "d"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Easy; + getinventorylist; + if (@inventorylist_count == 100) goto L_Full_Inv; + mes "[Stranger]"; + mes "\"On May 25th it is a very special day - Towel Day.\""; + next; + mes "\"To celebrate this I'll ask you some questions about my favourite book, The Hitchhiker's Guide to the Galaxy. If you can answer them, I'll give you something very useful.\""; + next; + mes ""; + mes "[Server]"; + mes "The answers might need to have whitespaces."; + mes "If you're using a client which confirms your answer when pressing space, change this setting before continuing."; + mes ""; + next; + mes "[Stranger]"; + mes "\"The first one is easy.\""; + next; + + setarray @easy_questions$, + "What two words are written in big friendly letters on the back cover?", + "What's the name of the paranoid robot?", + "What is the answer to life, the universe and everything?", + "What is the first name of the author of the hitchhikers guide?", + "What is the last name of the author of the hitchhikers guide?", + "Who is the male human protagonist?", + "Who is the female human protagonist?", + "According to the Guide, space is ____?", + "What is the name of the spaceship which was stolen by the president of the universe?", + "How many heads does Zaphod Beeblebrox have?"; + + setarray @easy_answers_amount,2,2,2,2,2,4,4,2,4,2; + + set @random, rand(10); + mes "\"" + @easy_questions$[@random] + "\""; + input @answer$; + + if (@easy_answers_amount[@random] < 4) + goto L_Easy_Skip4; + set @quizparam$, "towelanswer0" + @random + "d"; + callfunc "StrangerQuiz"; + if (("###" + @answer$ == @quizanswer$)) + goto L_Right_Answer_Easy; + L_Easy_Skip4: - if (@easy_answers_amount[@random] < 3) - goto L_Easy_Skip3; - set @quizparam$, "towelanswer0" + @random + "c"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Easy; + if (@easy_answers_amount[@random] < 3) + goto L_Easy_Skip3; + set @quizparam$, "towelanswer0" + @random + "c"; + callfunc "StrangerQuiz"; + if (("###" + @answer$ == @quizanswer$)) + goto L_Right_Answer_Easy; + L_Easy_Skip3: - set @quizparam$, "towelanswer0" + @random + "b"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Easy; + set @quizparam$, "towelanswer0" + @random + "b"; + callfunc "StrangerQuiz"; + if (("###" + @answer$ == @quizanswer$)) + goto L_Right_Answer_Easy; - set @quizparam$, "towelanswer0" + @random + "a"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Easy; + set @quizparam$, "towelanswer0" + @random + "a"; + callfunc "StrangerQuiz"; + if (("###" + @answer$ == @quizanswer$)) + goto L_Right_Answer_Easy; - goto L_Wrong_Answer; + goto L_Wrong_Answer; L_Right_Answer_Easy: - mes "[Stranger]"; - mes "\"You're absolutely right. The next one will be more tricky.\""; - next; - - setarray @medium_questions$, - "What is the name of the rock group claiming to be the loudest band in the universe?", - "What star is near Ford's home planet?", - "Which country does the human protagonist come from?", - "What is the name of the computer on The Heart of Gold?", - "What color is a Babel Fish?", - "What did the bowl of petunias think?", - "What body orifice should a babel fish be inserted in to work properly?", - "What is the name of the super computer?", - "What were the second most intelligent creatures on Earth?", - "What race creates the worst poetry in universe?", - "What is the name of the Vogon home planet?", - "What is the name of the Restaurant at the End of the Universe?"; - - setarray @medium_answers_amount,2,2,2,2,2,3,2,2,4,4,2,2; - - set @random, rand(12); - mes "\"" + @medium_questions$[@random] + "\""; - input @answer$; - - if (@medium_answers_amount[@random] < 4) - goto L_Medium_Skip4; - - set @quizparam$, "towelanswer1" + @random + "d"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Medium; + mes "[Stranger]"; + mes "\"You're absolutely right. The next one will be more tricky.\""; + next; + + setarray @medium_questions$, + "What is the name of the rock group claiming to be the loudest band in the universe?", + "What star is near Ford's home planet?", + "Which country does the human protagonist come from?", + "What is the name of the computer on The Heart of Gold?", + "What color is a Babel Fish?", + "What did the bowl of petunias think?", + "What body orifice should a babel fish be inserted in to work properly?", + "What is the name of the super computer?", + "What were the second most intelligent creatures on Earth?", + "What race creates the worst poetry in universe?", + "What is the name of the Vogon home planet?", + "What is the name of the Restaurant at the End of the Universe?"; + + setarray @medium_answers_amount,2,2,2,2,2,3,2,2,4,4,2,2; + + set @random, rand(12); + mes "\"" + @medium_questions$[@random] + "\""; + input @answer$; + + if (@medium_answers_amount[@random] < 4) + goto L_Medium_Skip4; + + set @quizparam$, "towelanswer1" + @random + "d"; + callfunc "StrangerQuiz"; + if (("###" + @answer$ == @quizanswer$)) + goto L_Right_Answer_Medium; + L_Medium_Skip4: - if (@medium_answers_amount[@random] < 3) - goto L_Medium_Skip3; - set @quizparam$, "towelanswer1" + @random + "c"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Medium; + if (@medium_answers_amount[@random] < 3) + goto L_Medium_Skip3; + set @quizparam$, "towelanswer1" + @random + "c"; + callfunc "StrangerQuiz"; + if (("###" + @answer$ == @quizanswer$)) + goto L_Right_Answer_Medium; + L_Medium_Skip3: - set @quizparam$, "towelanswer1" + @random + "b"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Medium; + set @quizparam$, "towelanswer1" + @random + "b"; + callfunc "StrangerQuiz"; + if (("###" + @answer$ == @quizanswer$)) + goto L_Right_Answer_Medium; - set @quizparam$, "towelanswer1" + @random + "a"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Medium; + set @quizparam$, "towelanswer1" + @random + "a"; + callfunc "StrangerQuiz"; + if (("###" + @answer$ == @quizanswer$)) + goto L_Right_Answer_Medium; - goto L_Wrong_Answer; + goto L_Wrong_Answer; L_Right_Answer_Medium: - mes "[Stranger]"; - mes "\"Not bad, not bad. Let's see if you can answer an even more difficult one.\""; - next; - - setarray @hard_questions$, - "Drinking what drink is like having your brain smashed out by a slice of lemon wrapped round a large gold brick?", - "How many beers should you drink before hitchhiking?", - "What initials are carved into Zaphod Beeblebrox's brain?", - "What is Ford Prefect's nickname?", - "Who is responsible for the fjords of Norway?", - "What game is played on earth as a relict of memories to an ancient war?", - "What is the name of the triple-breasted whore from Eroticon VI?", - "Who will insult every living being in the universe, because he is immortal and getting bored?", - "What is the name of the piteous creature that is continually reincarnated and subsequently killed, each time unknowingly, by Arthur Dent?"; - - setarray @hard_answers_amount,4,2,2,2,2,2,2,4,2; - - set @random, rand(9); - mes "\"" + @hard_questions$[@random] + "\""; - input @answer$; - - if (@hard_answers_amount[@random] < 4) - goto L_Hard_Skip4; - set @quizparam$, "towelanswer2" + @random + "d"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Hard; + mes "[Stranger]"; + mes "\"Not bad, not bad. Let's see if you can answer an even more difficult one.\""; + next; + + setarray @hard_questions$, + "Drinking what drink is like having your brain smashed out by a slice of lemon wrapped round a large gold brick?", + "How many beers should you drink before hitchhiking?", + "What initials are carved into Zaphod Beeblebrox's brain?", + "What is Ford Prefect's nickname?", + "Who is responsible for the fjords of Norway?", + "What game is played on earth as a relict of memories to an ancient war?", + "What is the name of the triple-breasted whore from Eroticon VI?", + "Who will insult every living being in the universe, because he is immortal and getting bored?", + "What is the name of the piteous creature that is continually reincarnated and subsequently killed, each time unknowingly, by Arthur Dent?"; + + setarray @hard_answers_amount,4,2,2,2,2,2,2,4,2; + + set @random, rand(9); + mes "\"" + @hard_questions$[@random] + "\""; + input @answer$; + + if (@hard_answers_amount[@random] < 4) + goto L_Hard_Skip4; + set @quizparam$, "towelanswer2" + @random + "d"; + callfunc "StrangerQuiz"; + if (("###" + @answer$ == @quizanswer$)) + goto L_Right_Answer_Hard; + L_Hard_Skip4: - if (@hard_answers_amount[@random] < 3) - goto L_Hard_Skip3; - set @quizparam$, "towelanswer2" + @random + "c"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Hard; + if (@hard_answers_amount[@random] < 3) + goto L_Hard_Skip3; + set @quizparam$, "towelanswer2" + @random + "c"; + callfunc "StrangerQuiz"; + if (("###" + @answer$ == @quizanswer$)) + goto L_Right_Answer_Hard; + L_Hard_Skip3: - set @quizparam$, "towelanswer2" + @random + "b"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Hard; + set @quizparam$, "towelanswer2" + @random + "b"; + callfunc "StrangerQuiz"; + if (("###" + @answer$ == @quizanswer$)) + goto L_Right_Answer_Hard; - set @quizparam$, "towelanswer2" + @random + "a"; - callfunc "StrangerQuiz"; - if (("###" + @answer$ == @quizanswer$)) - goto L_Right_Answer_Hard; + set @quizparam$, "towelanswer2" + @random + "a"; + callfunc "StrangerQuiz"; + if (("###" + @answer$ == @quizanswer$)) + goto L_Right_Answer_Hard; - goto L_Wrong_Answer; + goto L_Wrong_Answer; L_Right_Answer_Hard: - mes "[Stranger]"; - mes "\"Unbelievable! You're really a wise person.\""; - next; - mes "\"One last question, but this shouldn't be a problem for you.\""; - next; - mes "\"What is the most important item for every hitchhiker to have?\""; - input @answer$; - if (@answer$ != "Towel" && @answer != "towel") - goto L_Wrong_Answer; - - mes "[Stranger]"; - mes "\"There you are! A towel is really the most important item for a hitchhiker to have.\""; - next; - mes "\"Please take this.\""; // no full inventory check, this is done before the game - getitem "GreyWarpTowel", 1; - set FLAGS, FLAGS | FLAG_TOWEL_COMPLETED; - next; + mes "[Stranger]"; + mes "\"Unbelievable! You're really a wise person.\""; + next; + mes "\"One last question, but this shouldn't be a problem for you.\""; + next; + mes "\"What is the most important item for every hitchhiker to have?\""; + input @answer$; + if (@answer$ != "Towel" && @answer != "towel") + goto L_Wrong_Answer; + + mes "[Stranger]"; + mes "\"There you are! A towel is really the most important item for a hitchhiker to have.\""; + next; + mes "\"Please take this.\""; // no full inventory check, this is done before the game + getitem "GreyWarpTowel", 1; + set FLAGS, FLAGS | FLAG_TOWEL_COMPLETED; + next; + L_Explain: - mes "[Stranger]"; - mes "\"This towel is even more useful than usual towels are. If you change its color, it uses a special techno-, ahm, let's say, it can help you to get to other places.\""; - next; - mes "\"Bring me some powder made from gemstones and a bottle of water, and I can prepare it for you.\""; - next; - mes "\"Depending on the color it will bring you to different places. It might wear out after a while and it'll loose its color, but I can prepare it for you again.\""; - next; - mes "\"Since I'm not familar with this plane-, ahm, with this area, I can't tell which places you will end up in.\""; - close; + mes "[Stranger]"; + mes "\"This towel is even more useful than usual towels are. If you change its color, it uses a special techno-, ahm, let's say, it can help you to get to other places.\""; + next; + mes "\"Bring me some powder made from gemstones and a bottle of water, and I can prepare it for you.\""; + next; + mes "\"Depending on the color it will bring you to different places. It might wear out after a while and it'll loose its color, but I can prepare it for you again.\""; + next; + mes "\"Since I'm not familar with this plane-, ahm, with this area, I can't tell which places you will end up in.\""; + close; L_No_Event: - mes "[Stranger]"; - mes "\"Hello. Isn't this a beautiful place?\""; - next; - mes "\"And it really comes in handy that I have my towel with me. A towel is about the most massively useful thing an inte- ahm, a person can have.\""; - next; - mes "\"You can read more about that in my favourite book, 'The Hitchhiker's Guide to the Galaxy'.\""; - if (countitem("GreyWarpTowel") > 0) - menu - "Thanks for the advice.",-, - "I have my towel with me too.",L_Dye; - close; + mes "[Stranger]"; + mes "\"Hello. Isn't this a beautiful place?\""; + next; + mes "\"And it really comes in handy that I have my towel with me. A towel is about the most massively useful thing an inte- ahm, a person can have.\""; + next; + mes "\"You can read more about that in my favourite book, 'The Hitchhiker's Guide to the Galaxy'.\""; + if (countitem("GreyWarpTowel") > 0) + menu + "Thanks for the advice.",-, + "I have my towel with me too.",L_Dye; + close; L_Dye: - mes "[Stranger]"; - mes "\"Wonderful! Let me have a look.\""; - mes "He's taking a very interested look at your towel."; - next; - mes "[Stranger]"; - mes "\"I'm impressed. This is not an usual towel.\""; - next; - menu - "Oh? Can you explain about it?",L_Explain, - "I know. Could you dye it for me?",L_Dye_Towel, - "It's great, isn't it? I have to go now.",-; - close; + mes "[Stranger]"; + mes "\"Wonderful! Let me have a look.\""; + mes "He's taking a very interested look at your towel."; + next; + mes "[Stranger]"; + mes "\"I'm impressed. This is not an usual towel.\""; + next; + menu + "Oh? Can you explain about it?",L_Explain, + "I know. Could you dye it for me?",L_Dye_Towel, + "It's great, isn't it? I have to go now.",-; + close; L_No_Item: - mes "[Stranger]"; - mes "\"Hu? It seems you haven't.\""; - close; + mes "[Stranger]"; + mes "\"Hu? It seems you haven't.\""; + close; L_Wrong_Answer: - mes "[Stranger]"; - mes "\"Nah, that's wrong. Come back if you want to try again.\""; - close; + mes "[Stranger]"; + mes "\"Nah, that's wrong. Come back if you want to try again.\""; + close; L_Event_Done: - mes "[Stranger]"; - mes "\"Ah, welcome back. Thanks again for your help.\""; - next; - mes "\"Shall I dye your towel?\""; - menu - "That would be great!",-, - "No, thanks.", L_Close; + mes "[Stranger]"; + mes "\"Ah, welcome back. Thanks again for your help.\""; + next; + mes "\"Shall I dye your towel?\""; + menu + "That would be great!",-, + "No, thanks.", L_Close; + L_Dye_Towel: - mes "[Stranger]"; - mes "\"Alright, which color do you want?\""; + mes "[Stranger]"; + mes "\"Alright, which color do you want?\""; // the other colors should be added when more places are released - menu - "Red",L_Red, - "Yellow",L_Yellow, - "White",L_White, -// "Blue",L_Blue, -// "Green",L_Green, -// "Purple",L_Purple, - "Orange",L_Orange, - "Pink",L_Pink, -// "Lime",L_Lime, -// "Teal",L_Teal, - "I changed my mind.", L_Close; - close; + menu + "Red",L_Red, + "Yellow",L_Yellow, + "White",L_White, +// "Blue",L_Blue, +// "Green",L_Green, +// "Purple",L_Purple, + "Orange",L_Orange, + "Pink",L_Pink, +// "Lime",L_Lime, +// "Teal",L_Teal, + "I changed my mind.", L_Close; + close; L_Red: - mes "[Stranger]"; - mes "\"Ok, I'll need two bags of Ruby Powder and a bottle of water for that.\""; - next; - if (countitem("GreyWarpTowel") < 1) goto L_No_Towel; - getinventorylist; - if ((countitem("GreyWarpTowel") > 1) && (@inventorylist_count == 100)) goto L_Full_Inv; - if (countitem("BottleOfWater") < 1) goto L_No_Water; - if (countitem("GemPowderRed") < 2) goto L_No_Powder; - delitem "GemPowderRed", 2; - delitem "GreyWarpTowel", 1; - delitem "BottleOfWater", 1; - getitem "RedWarpTowel", 1; - mes "He takes your towel, the water and the gem powder, then he turns away and does something you can't see. After a few minutes, he turns to you again."; - next; - mes "[Stranger]"; - mes "\"Done! It'll use its color after being used, but just come back and I can dye it again for you.\""; - close; + mes "[Stranger]"; + mes "\"Ok, I'll need two bags of Ruby Powder and a bottle of water for that.\""; + next; + if (countitem("GreyWarpTowel") < 1) goto L_No_Towel; + getinventorylist; + if ((countitem("GreyWarpTowel") > 1) && (@inventorylist_count == 100)) goto L_Full_Inv; + if (countitem("BottleOfWater") < 1) goto L_No_Water; + if (countitem("GemPowderRed") < 2) goto L_No_Powder; + delitem "GemPowderRed", 2; + delitem "GreyWarpTowel", 1; + delitem "BottleOfWater", 1; + getitem "RedWarpTowel", 1; + mes "He takes your towel, the water and the gem powder, then he turns away and does something you can't see. After a few minutes, he turns to you again."; + next; + mes "[Stranger]"; + mes "\"Done! It'll use its color after being used, but just come back and I can dye it again for you.\""; + close; L_Yellow: - mes "[Stranger]"; - mes "\"Ok, I'll need two bags of Topaz Powder and a bottle of water for that.\""; - next; - if (countitem("GreyWarpTowel") < 1) goto L_No_Towel; - getinventorylist; - if ((countitem("GreyWarpTowel") > 1) && (@inventorylist_count == 100)) goto L_Full_Inv; - if (countitem("BottleOfWater") < 1) goto L_No_Water; - if (countitem("GemPowderYellow") < 2) goto L_No_Powder; - delitem "GemPowderYellow", 2; - delitem "GreyWarpTowel", 1; - delitem "BottleOfWater", 1; - getitem "YellowWarpTowel", 1; - mes "He takes your towel, the water and the gem powder, then he turns away and does something you can't see. After a few minutes, he turns to you again."; - next; - mes "[Stranger]"; - mes "\"Done! It'll use its color after being used, but just come back and I can dye it again for you.\""; - close; + mes "[Stranger]"; + mes "\"Ok, I'll need two bags of Topaz Powder and a bottle of water for that.\""; + next; + if (countitem("GreyWarpTowel") < 1) goto L_No_Towel; + getinventorylist; + if ((countitem("GreyWarpTowel") > 1) && (@inventorylist_count == 100)) goto L_Full_Inv; + if (countitem("BottleOfWater") < 1) goto L_No_Water; + if (countitem("GemPowderYellow") < 2) goto L_No_Powder; + delitem "GemPowderYellow", 2; + delitem "GreyWarpTowel", 1; + delitem "BottleOfWater", 1; + getitem "YellowWarpTowel", 1; + mes "He takes your towel, the water and the gem powder, then he turns away and does something you can't see. After a few minutes, he turns to you again."; + next; + mes "[Stranger]"; + mes "\"Done! It'll use its color after being used, but just come back and I can dye it again for you.\""; + close; L_White: - mes "[Stranger]"; - mes "\"Ok, I'll need two bags of Diamond Powder and a bottle of water for that.\""; - next; - if (countitem("GreyWarpTowel") < 1) goto L_No_Towel; - getinventorylist; - if ((countitem("GreyWarpTowel") > 1) && (@inventorylist_count == 100)) goto L_Full_Inv; - if (countitem("BottleOfWater") < 1) goto L_No_Water; - if (countitem("GemPowderWhite") < 2) goto L_No_Powder; - delitem "GemPowderWhite", 2; - delitem "GreyWarpTowel", 1; - delitem "BottleOfWater", 1; - getitem "WhiteWarpTowel", 1; - mes "He takes your towel, the water and the gem powder, then he turns away and does something you can't see. After a few minutes, he turns to you again."; - next; - mes "[Stranger]"; - mes "\"Done! It'll use its color after being used, but just come back and I can dye it again for you.\""; - close; + mes "[Stranger]"; + mes "\"Ok, I'll need two bags of Diamond Powder and a bottle of water for that.\""; + next; + if (countitem("GreyWarpTowel") < 1) goto L_No_Towel; + getinventorylist; + if ((countitem("GreyWarpTowel") > 1) && (@inventorylist_count == 100)) goto L_Full_Inv; + if (countitem("BottleOfWater") < 1) goto L_No_Water; + if (countitem("GemPowderWhite") < 2) goto L_No_Powder; + delitem "GemPowderWhite", 2; + delitem "GreyWarpTowel", 1; + delitem "BottleOfWater", 1; + getitem "WhiteWarpTowel", 1; + mes "He takes your towel, the water and the gem powder, then he turns away and does something you can't see. After a few minutes, he turns to you again."; + next; + mes "[Stranger]"; + mes "\"Done! It'll use its color after being used, but just come back and I can dye it again for you.\""; + close; L_Blue: - mes "[Stranger]"; - mes "\"Ok, I'll need two bags of Sapphire Powder and a bottle of water for that.\""; - next; - if (countitem("GreyWarpTowel") < 1) goto L_No_Towel; - getinventorylist; - if ((countitem("GreyWarpTowel") > 1) && (@inventorylist_count == 100)) goto L_Full_Inv; - if (countitem("BottleOfWater") < 1) goto L_No_Water; - if (countitem("GemPowderBlue") < 2) goto L_No_Powder; - delitem "GemPowderBlue", 2; - delitem "GreyWarpTowel", 1; - delitem "BottleOfWater", 1; - getitem "BlueWarpTowel", 1; - mes "He takes your towel, the water and the gem powder, then he turns away and does something you can't see. After a few minutes, he turns to you again."; - next; - mes "[Stranger]"; - mes "\"Done! It'll use its color after being used, but just come back and I can dye it again for you.\""; - close; + mes "[Stranger]"; + mes "\"Ok, I'll need two bags of Sapphire Powder and a bottle of water for that.\""; + next; + if (countitem("GreyWarpTowel") < 1) goto L_No_Towel; + getinventorylist; + if ((countitem("GreyWarpTowel") > 1) && (@inventorylist_count == 100)) goto L_Full_Inv; + if (countitem("BottleOfWater") < 1) goto L_No_Water; + if (countitem("GemPowderBlue") < 2) goto L_No_Powder; + delitem "GemPowderBlue", 2; + delitem "GreyWarpTowel", 1; + delitem "BottleOfWater", 1; + getitem "BlueWarpTowel", 1; + mes "He takes your towel, the water and the gem powder, then he turns away and does something you can't see. After a few minutes, he turns to you again."; + next; + mes "[Stranger]"; + mes "\"Done! It'll use its color after being used, but just come back and I can dye it again for you.\""; + close; L_Green: - mes "[Stranger]"; - mes "\"Ok, I'll need two bags of Emerald Powder and a bottle of water for that.\""; - next; - if (countitem("GreyWarpTowel") < 1) goto L_No_Towel; - getinventorylist; - if ((countitem("GreyWarpTowel") > 1) && (@inventorylist_count == 100)) goto L_Full_Inv; - if (countitem("BottleOfWater") < 1) goto L_No_Water; - if (countitem("GemPowderGreen") < 2) goto L_No_Powder; - delitem "GemPowderGreen", 2; - delitem "GreyWarpTowel", 1; - delitem "BottleOfWater", 1; - getitem "GreenWarpTowel", 1; - mes "He takes your towel, the water and the gem powder, then he turns away and does something you can't see. After a few minutes, he turns to you again."; - next; - mes "[Stranger]"; - mes "\"Done! It'll use its color after being used, but just come back and I can dye it again for you.\""; - close; + mes "[Stranger]"; + mes "\"Ok, I'll need two bags of Emerald Powder and a bottle of water for that.\""; + next; + if (countitem("GreyWarpTowel") < 1) goto L_No_Towel; + getinventorylist; + if ((countitem("GreyWarpTowel") > 1) && (@inventorylist_count == 100)) goto L_Full_Inv; + if (countitem("BottleOfWater") < 1) goto L_No_Water; + if (countitem("GemPowderGreen") < 2) goto L_No_Powder; + delitem "GemPowderGreen", 2; + delitem "GreyWarpTowel", 1; + delitem "BottleOfWater", 1; + getitem "GreenWarpTowel", 1; + mes "He takes your towel, the water and the gem powder, then he turns away and does something you can't see. After a few minutes, he turns to you again."; + next; + mes "[Stranger]"; + mes "\"Done! It'll use its color after being used, but just come back and I can dye it again for you.\""; + close; L_Purple: - mes "[Stranger]"; - mes "\"Ok, I'll need two bags of Amethyst Powder and a bottle of water for that.\""; - next; - if (countitem("GreyWarpTowel") < 1) goto L_No_Towel; - getinventorylist; - if ((countitem("GreyWarpTowel") > 1) && (@inventorylist_count == 100)) goto L_Full_Inv; - if (countitem("BottleOfWater") < 1) goto L_No_Water; - if (countitem("GemPowderPurple") < 2) goto L_No_Powder; - delitem "GemPowderPurple", 2; - delitem "GreyWarpTowel", 1; - delitem "BottleOfWater", 1; - getitem "PurpleWarpTowel", 1; - mes "He takes your towel, the water and the gem powder, then he turns away and does something you can't see. After a few minutes, he turns to you again."; - next; - mes "[Stranger]"; - mes "\"Done! It'll use its color after being used, but just come back and I can dye it again for you.\""; - close; + mes "[Stranger]"; + mes "\"Ok, I'll need two bags of Amethyst Powder and a bottle of water for that.\""; + next; + if (countitem("GreyWarpTowel") < 1) goto L_No_Towel; + getinventorylist; + if ((countitem("GreyWarpTowel") > 1) && (@inventorylist_count == 100)) goto L_Full_Inv; + if (countitem("BottleOfWater") < 1) goto L_No_Water; + if (countitem("GemPowderPurple") < 2) goto L_No_Powder; + delitem "GemPowderPurple", 2; + delitem "GreyWarpTowel", 1; + delitem "BottleOfWater", 1; + getitem "PurpleWarpTowel", 1; + mes "He takes your towel, the water and the gem powder, then he turns away and does something you can't see. After a few minutes, he turns to you again."; + next; + mes "[Stranger]"; + mes "\"Done! It'll use its color after being used, but just come back and I can dye it again for you.\""; + close; L_Orange: - mes "[Stranger]"; - mes "\"Ok, I'll need one bag of Ruby Powder, one bag of Topaz Powder and a bottle of water for that.\""; - next; - if (countitem("GreyWarpTowel") < 1) goto L_No_Towel; - getinventorylist; - if ((countitem("GreyWarpTowel") > 1) && (@inventorylist_count == 100)) goto L_Full_Inv; - if (countitem("BottleOfWater") < 1) goto L_No_Water; - if (countitem("GemPowderRed") < 1) goto L_No_Powder; - if (countitem("GemPowderYellow") < 1) goto L_No_Powder; - delitem "GemPowderRed", 1; - delitem "GemPowderYellow", 1; - delitem "GreyWarpTowel", 1; - delitem "BottleOfWater", 1; - getitem "OrangeWarpTowel", 1; - mes "He takes your towel, the water and the gem powder, then he turns away and does something you can't see. After a few minutes, he turns to you again."; - next; - mes "[Stranger]"; - mes "\"Done! It'll use its color after being used, but just come back and I can dye it again for you.\""; - close; + mes "[Stranger]"; + mes "\"Ok, I'll need one bag of Ruby Powder, one bag of Topaz Powder and a bottle of water for that.\""; + next; + if (countitem("GreyWarpTowel") < 1) goto L_No_Towel; + getinventorylist; + if ((countitem("GreyWarpTowel") > 1) && (@inventorylist_count == 100)) goto L_Full_Inv; + if (countitem("BottleOfWater") < 1) goto L_No_Water; + if (countitem("GemPowderRed") < 1) goto L_No_Powder; + if (countitem("GemPowderYellow") < 1) goto L_No_Powder; + delitem "GemPowderRed", 1; + delitem "GemPowderYellow", 1; + delitem "GreyWarpTowel", 1; + delitem "BottleOfWater", 1; + getitem "OrangeWarpTowel", 1; + mes "He takes your towel, the water and the gem powder, then he turns away and does something you can't see. After a few minutes, he turns to you again."; + next; + mes "[Stranger]"; + mes "\"Done! It'll use its color after being used, but just come back and I can dye it again for you.\""; + close; L_Pink: - mes "[Stranger]"; - mes "\"Ok, I'll need one bag of Ruby Powder, one bag of Diamond Powder and a bottle of water for that.\""; - next; - if (countitem("GreyWarpTowel") < 1) goto L_No_Towel; - getinventorylist; - if ((countitem("GreyWarpTowel") > 1) && (@inventorylist_count == 100)) goto L_Full_Inv; - if (countitem("BottleOfWater") < 1) goto L_No_Water; - if (countitem("GemPowderRed") < 1) goto L_No_Powder; - if (countitem("GemPowderWhite") < 1) goto L_No_Powder; - delitem "GemPowderRed", 1; - delitem "GemPowderWhite", 1; - delitem "GreyWarpTowel", 1; - delitem "BottleOfWater", 1; - getitem "PinkWarpTowel", 1; - mes "He takes your towel, the water and the gem powder, then he turns away and does something you can't see. After a few minutes, he turns to you again."; - next; - mes "[Stranger]"; - mes "\"Done! It'll use its color after being used, but just come back and I can dye it again for you.\""; - close; + mes "[Stranger]"; + mes "\"Ok, I'll need one bag of Ruby Powder, one bag of Diamond Powder and a bottle of water for that.\""; + next; + if (countitem("GreyWarpTowel") < 1) goto L_No_Towel; + getinventorylist; + if ((countitem("GreyWarpTowel") > 1) && (@inventorylist_count == 100)) goto L_Full_Inv; + if (countitem("BottleOfWater") < 1) goto L_No_Water; + if (countitem("GemPowderRed") < 1) goto L_No_Powder; + if (countitem("GemPowderWhite") < 1) goto L_No_Powder; + delitem "GemPowderRed", 1; + delitem "GemPowderWhite", 1; + delitem "GreyWarpTowel", 1; + delitem "BottleOfWater", 1; + getitem "PinkWarpTowel", 1; + mes "He takes your towel, the water and the gem powder, then he turns away and does something you can't see. After a few minutes, he turns to you again."; + next; + mes "[Stranger]"; + mes "\"Done! It'll use its color after being used, but just come back and I can dye it again for you.\""; + close; L_Lime: - mes "[Stranger]"; - mes "\"Ok, I'll need one bag of Emerald Powder, one bag of Topaz Powder and a bottle of water for that.\""; - next; - if (countitem("GreyWarpTowel") < 1) goto L_No_Towel; - getinventorylist; - if ((countitem("GreyWarpTowel") > 1) && (@inventorylist_count == 100)) goto L_Full_Inv; - if (countitem("BottleOfWater") < 1) goto L_No_Water; - if (countitem("GemPowderGreen") < 1) goto L_No_Powder; - if (countitem("GemPowderYellow") < 1) goto L_No_Powder; - delitem "GemPowderGreen", 1; - delitem "GemPowderYellow", 1; - delitem "GreyWarpTowel", 1; - delitem "BottleOfWater", 1; - getitem "LimeWarpTowel", 1; - mes "He takes your towel, the water and the gem powder, then he turns away and does something you can't see. After a few minutes, he turns to you again."; - next; - mes "[Stranger]"; - mes "\"Done! It'll use its color after being used, but just come back and I can dye it again for you.\""; - close; + mes "[Stranger]"; + mes "\"Ok, I'll need one bag of Emerald Powder, one bag of Topaz Powder and a bottle of water for that.\""; + next; + if (countitem("GreyWarpTowel") < 1) goto L_No_Towel; + getinventorylist; + if ((countitem("GreyWarpTowel") > 1) && (@inventorylist_count == 100)) goto L_Full_Inv; + if (countitem("BottleOfWater") < 1) goto L_No_Water; + if (countitem("GemPowderGreen") < 1) goto L_No_Powder; + if (countitem("GemPowderYellow") < 1) goto L_No_Powder; + delitem "GemPowderGreen", 1; + delitem "GemPowderYellow", 1; + delitem "GreyWarpTowel", 1; + delitem "BottleOfWater", 1; + getitem "LimeWarpTowel", 1; + mes "He takes your towel, the water and the gem powder, then he turns away and does something you can't see. After a few minutes, he turns to you again."; + next; + mes "[Stranger]"; + mes "\"Done! It'll use its color after being used, but just come back and I can dye it again for you.\""; + close; L_Teal: - mes "[Stranger]"; - mes "\"Ok, I'll need one bag of Emerald Powder, one bag of Sapphire Powder and a bottle of water for that.\""; - next; - if (countitem("GreyWarpTowel") < 1) goto L_No_Towel; - getinventorylist; - if ((countitem("GreyWarpTowel") > 1) && (@inventorylist_count == 100)) goto L_Full_Inv; - if (countitem("BottleOfWater") < 1) goto L_No_Water; - if (countitem("GemPowderGreen") < 1) goto L_No_Powder; - if (countitem("GemPowderBlue") < 1) goto L_No_Powder; - delitem "GemPowderGreen", 1; - delitem "GemPowderBlue", 1; - delitem "GreyWarpTowel", 1; - delitem "BottleOfWater", 1; - getitem "TealWarpTowel", 1; - mes "He takes your towel, the water and the gem powder, then he turns away and does something you can't see. After a few minutes, he turns to you again."; - next; - mes "[Stranger]"; - mes "\"Done! It'll use its color after being used, but just come back and I can dye it again for you.\""; - close; + mes "[Stranger]"; + mes "\"Ok, I'll need one bag of Emerald Powder, one bag of Sapphire Powder and a bottle of water for that.\""; + next; + if (countitem("GreyWarpTowel") < 1) goto L_No_Towel; + getinventorylist; + if ((countitem("GreyWarpTowel") > 1) && (@inventorylist_count == 100)) goto L_Full_Inv; + if (countitem("BottleOfWater") < 1) goto L_No_Water; + if (countitem("GemPowderGreen") < 1) goto L_No_Powder; + if (countitem("GemPowderBlue") < 1) goto L_No_Powder; + delitem "GemPowderGreen", 1; + delitem "GemPowderBlue", 1; + delitem "GreyWarpTowel", 1; + delitem "BottleOfWater", 1; + getitem "TealWarpTowel", 1; + mes "He takes your towel, the water and the gem powder, then he turns away and does something you can't see. After a few minutes, he turns to you again."; + next; + mes "[Stranger]"; + mes "\"Done! It'll use its color after being used, but just come back and I can dye it again for you.\""; + close; L_No_Water: - mes "[Stranger]"; - mes "\"You don't have water.\""; - close; + mes "[Stranger]"; + mes "\"You don't have water.\""; + close; L_No_Powder: - mes "[Stranger]"; - mes "\"You need to bring me enough gem powder in that color. Maybe someone used to mining can help you with that.\""; - close; + mes "[Stranger]"; + mes "\"You need to bring me enough gem powder in that color. Maybe someone used to mining can help you with that.\""; + close; L_No_Towel: - mes "[Stranger]"; - mes "\"Where's your towel? It is really useful, you should always keep it with you.\""; - close; + mes "[Stranger]"; + mes "\"Where's your towel? It is really useful, you should always keep it with you.\""; + close; L_Full_Inv: - mes "[Stranger]"; - mes "\"You carry a lot of stuff with you, don't you? Maybe you should get rid of something.\""; - close; + mes "[Stranger]"; + mes "\"You carry a lot of stuff with you, don't you? Maybe you should get rid of something.\""; + close; L_Close: - close; + close; } diff --git a/world/map/npc/005-1/npcs.txt b/world/map/npc/005-1/npcs.txt index d8f08cc1..2c40697f 100644 --- a/world/map/npc/005-1/npcs.txt +++ b/world/map/npc/005-1/npcs.txt @@ -1,15 +1,15 @@ // -005-1.gat,69,76,0 shop George 115,ShortBow :-1,Arrow :1,IronArrow :-1,Beer :-1,ChickenLeg :-2 +005-1.gat,69,76,0|shop|George|115,ShortBow :-1,Arrow :1,IronArrow :-1,Beer :-1,ChickenLeg :-2 -005-1.gat,66,75,0 script Kieron 132,{ +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,{ +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!\""; diff --git a/world/map/npc/005-1/spirit.txt b/world/map/npc/005-1/spirit.txt index d6723c8e..dd0f9e65 100644 --- a/world/map/npc/005-1/spirit.txt +++ b/world/map/npc/005-1/spirit.txt @@ -1,305 +1,270 @@ -function script EarthImpTouch { - if (getskilllv(SKILL_MAGIC)) - goto L_message; +function|script|EarthImpTouch|{ + if (getskilllv(SKILL_MAGIC)) goto L_message; - mes "[Well]"; - mes "You hear noises from within the well."; - close; + 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 @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; - // 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; + 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; - + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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]"; + if (MAGIC_FLAGS & MFLAG_KNOWS_IMP) + mes "[Earth Spirit]"; + if (!(MAGIC_FLAGS & MFLAG_KNOWS_IMP)) + mes "[Well]"; mes "\"Silly " + @s$ + ".\""; + L_close: - close; + close; S_update_var: - set QUEST_MAGIC2, - (QUEST_MAGIC2 & ~(@Q_MASK) - | (@Q_status << @Q_SHIFT)); - return; + 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,118,70,0|script|#EarthImp0#_M|127,{ + callfunc "EarthImpTouch"; } -005-1.gat,119,70,0 script #EarthImp1#_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 index 54b7ed1c..bd7a0a6d 100644 --- a/world/map/npc/005-1/tree.txt +++ b/world/map/npc/005-1/tree.txt @@ -1,162 +1,149 @@ -function script QuestTreeTrigger { - set @Q_MASK, NIBBLE_2_MASK; - set @Q_SHIFT, NIBBLE_2_SHIFT; +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; + 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 (@Q_status & @flag) close; // already did that - if (@flag == 2) - goto L_hug; + if (@flag == 2) goto L_hug; L_cont: - set @Q_status, @Q_status | @flag; - callsub S_update_var; + set @Q_status, @Q_status | @flag; + callsub S_update_var; - if (@Q_status != 3) - close; + if (@Q_status != 3) close; - if (MAGIC_FLAGS & MFLAG_DID_CUTTREE) - 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; + 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; + 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; + 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; +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; + set @Q_status, (QUEST_MAGIC & @Q_MASK) >> @Q_SHIFT; + set @Q_status, (@Q_status & 12) >> 2; - if (@Q_status == 3) - goto L_happy; + 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_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)) == MFLAG_KNOWS_DRUIDTREE) goto L_water; - if ((MAGIC_FLAGS & (MFLAG_KNOWS_DRUIDTREE | MFLAG_KNOWS_CUTTREE)) > 0) //i.e., both are set - goto L_both; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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 (countitem(570) < 1) goto L_no_boneknife; - if (MAGIC_FLAGS & MFLAG_DID_CUTTREE) - goto L_really_cut; + 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; + 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; + 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; + 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; + 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,79,41,0|script|#DruidTree0#_M|127,{ + callfunc "QuestTreeTouch"; } -005-1.gat,80,41,0 script #DruidTree1#_M 127,{ - callfunc "QuestTreeTouch"; +005-1.gat,80,41,0|script|#DruidTree1#_M|127,{ + callfunc "QuestTreeTouch"; } diff --git a/world/map/npc/005-3/monsters.txt b/world/map/npc/005-3/monsters.txt index 439b6300..a52d0dc3 100644 --- a/world/map/npc/005-3/monsters.txt +++ b/world/map/npc/005-3/monsters.txt @@ -2,13 +2,12 @@ // This is the Snake Pit, a cave in the Snake Desert. // -005-3.gat,0,0,0,0 monster Snake 1010,175,0,0,Mob22::OnSnake +005-3.gat,0,0,0,0|monster|Snake|1010,175,0,0,Mob22::OnSnake -005-3.gat,0,0,0 script Mob22 -1,{ +005-3.gat,0,0,0|script|Mob22|-1,{ OnSnake: - set @mobID, 1010; - callfunc "MobPoints"; - break; - - end; + set @mobID, 1010; + callfunc "MobPoints"; + break; + end; } diff --git a/world/map/npc/006-1/mika.txt b/world/map/npc/006-1/mika.txt index fc2e6f44..b4e2d69c 100644 --- a/world/map/npc/006-1/mika.txt +++ b/world/map/npc/006-1/mika.txt @@ -1,4 +1,4 @@ -006-1.gat,39,27,0 script Mika 114,{ +006-1.gat,39,27,0|script|Mika|114,{ mes "[Mika]"; mes "\"My father told me about a man living in this desert who makes clothes out of snake skin.\""; next; diff --git a/world/map/npc/006-1/pachua.txt b/world/map/npc/006-1/pachua.txt index c1bfb83f..ace4ba9a 100644 --- a/world/map/npc/006-1/pachua.txt +++ b/world/map/npc/006-1/pachua.txt @@ -1,311 +1,309 @@ -006-1.gat,23,100,0 script Pachua 143,{ +006-1.gat,23,100,0|script|Pachua|143,{ - set @LEATHER_PATCH_PRICE, 300; - set @wants_leather_patch, QUEST_Forestbow_state & NIBBLE_4_MASK; + set @LEATHER_PATCH_PRICE, 300; + set @wants_leather_patch, QUEST_Forestbow_state & NIBBLE_4_MASK; // lines belong to easter 2011: -// set @month, 4; -// set @start_day, 15; -// set @end_day, 30; +// set @month, 4; +// set @start_day, 15; +// set @end_day, 30; - if (QUEST_MIRIAM_cheat != 0) goto L_warp_cheat; - if (QUEST_MIRIAM_start != 0) goto L_smoke; + if (QUEST_MIRIAM_cheat != 0) goto L_warp_cheat; + if (QUEST_MIRIAM_start != 0) goto L_smoke; // lines belong to easter 2011: -// if (gettime(6) == @month && gettime(5) >= @start_day && gettime(5) <= @end_day && QUEST_Easter11 == 1) goto L_Basket; -// if (gettime(6) == @month && gettime(5) >= @start_day && gettime(5) <= @end_day && QUEST_Easter11 == 2) goto L_MakeBasket; -// if (gettime(6) == @month && gettime(5) >= @start_day && gettime(5) <= @end_day && QUEST_Easter11 == 3) goto L_SeeBunny; +// if (gettime(6) == @month && gettime(5) >= @start_day && gettime(5) <= @end_day && QUEST_Easter11 == 1) goto L_Basket; +// if (gettime(6) == @month && gettime(5) >= @start_day && gettime(5) <= @end_day && QUEST_Easter11 == 2) goto L_MakeBasket; +// if (gettime(6) == @month && gettime(5) >= @start_day && gettime(5) <= @end_day && QUEST_Easter11 == 3) goto L_SeeBunny; L_Begin: - mes "[Chief Pachua]"; - mes ""; - mes "\"How!\""; - next; + mes "[Chief Pachua]"; + mes ""; + mes "\"How!\""; + next; - if (getequipid(equip_head) == 643 || getequipid(equip_head) == 644) goto L_WearingCowboy; - if (getequipid(equip_legs) == 642) goto L_WearingChaps; + if (getequipid(equip_head) == 643 || getequipid(equip_head) == 644) goto L_WearingCowboy; + if (getequipid(equip_legs) == 642) goto L_WearingChaps; - mes "[Chief Pachua]"; - mes ""; - mes "\"For generations my tribe has been crafting special clothes out of different items.\""; - next; + mes "[Chief Pachua]"; + mes ""; + mes "\"For generations my tribe has been crafting special clothes out of different items.\""; + next; L_Check_Shops: - if((countitem("JeansShorts") > 0 && countitem("SnakeSkin") > 9) && (countitem("FancyHat") > 0 && countitem("SnakeSkin") > 1)) goto L_Super_store; - if(countitem("JeansShorts") > 0 && countitem("SnakeSkin") > 9) goto L_Chaps_store; - if(countitem("FancyHat") > 0 && countitem("SnakeSkin") > 1) goto L_Cowboy_store; - - mes "[Chief Pachua]"; - mes ""; - mes "\"Maybe if you bring me the right materials I can make something for you.\""; - next; - - if (@wants_leather_patch) - menu "Wait, can you make a leather patch for me?", L_leather_patch, - "OK, bye.", -; - - close; + if((countitem("JeansShorts") > 0 && countitem("SnakeSkin") > 9) && (countitem("FancyHat") > 0 && countitem("SnakeSkin") > 1)) goto L_Super_store; + if(countitem("JeansShorts") > 0 && countitem("SnakeSkin") > 9) goto L_Chaps_store; + if(countitem("FancyHat") > 0 && countitem("SnakeSkin") > 1) goto L_Cowboy_store; + + mes "[Chief Pachua]"; + mes ""; + mes "\"Maybe if you bring me the right materials I can make something for you.\""; + next; + if (@wants_leather_patch) + menu + "Wait, can you make a leather patch for me?", L_leather_patch, + "OK, bye.", -; + close; L_CheckStuff: - mes "[Chief Pachua]"; - mes ""; - mes "\"Let me see what you have there.\""; - next; - return; + mes "[Chief Pachua]"; + mes ""; + mes "\"Let me see what you have there.\""; + next; + return; L_Super_store: - callsub L_CheckStuff; - mes "[Chief Pachua]"; - mes ""; - mes "\"Ahh you have lots of good items to work with.\""; - mes ""; - mes "\"With them I can make you either"; - mes "a Cowboy hat or Snake Skin Chaps\""; - next; - if (@wants_leather_patch) - menu - "Cowboy hat, please.", L_BuyCowboy, - "Snake Skin Chaps sound good.", L_BuyChaps, - "Can you make a leather patch?", L_leather_patch, - "Not now, maybe later.", L_NoDeal; - if (!@wants_leather_patch) - menu - "Cowboy hat, please.", L_BuyCowboy, - "Snake Skin Chaps sound good.", L_BuyChaps, - "Not now, maybe later.", L_NoDeal; + callsub L_CheckStuff; + mes "[Chief Pachua]"; + mes ""; + mes "\"Ahh you have lots of good items to work with.\""; + mes ""; + mes "\"With them I can make you either"; + mes "a Cowboy hat or Snake Skin Chaps\""; + next; + if (@wants_leather_patch) + menu + "Cowboy hat, please.", L_BuyCowboy, + "Snake Skin Chaps sound good.", L_BuyChaps, + "Can you make a leather patch?", L_leather_patch, + "Not now, maybe later.", L_NoDeal; + if (!@wants_leather_patch) + menu + "Cowboy hat, please.", L_BuyCowboy, + "Snake Skin Chaps sound good.", L_BuyChaps, + "Not now, maybe later.", L_NoDeal; L_Cowboy_store: - callsub L_CheckStuff; - mes "[Chief Pachua]"; - mes ""; - mes "\"To make you a Cowboy hat I will need:"; - mes "1 Fancy hat"; - mes "2 Snake skins"; - mes "5.000 GP\""; - mes ""; - mes "\"Do we have a deal?\""; - next; - if (@wants_leather_patch) - menu - "Yes, that's fine.", L_BuyCowboy, - "Can you make a leather patch?", L_leather_patch, - "On second thought, maybe later.", L_NoDeal; - if (!@wants_leather_patch) - menu - "Yes, that's fine.", L_BuyCowboy, - "On second thought, maybe later.", L_NoDeal; + callsub L_CheckStuff; + mes "[Chief Pachua]"; + mes ""; + mes "\"To make you a Cowboy hat I will need:"; + mes "1 Fancy hat"; + mes "2 Snake skins"; + mes "5.000 GP\""; + mes ""; + mes "\"Do we have a deal?\""; + next; + if (@wants_leather_patch) + menu + "Yes, that's fine.", L_BuyCowboy, + "Can you make a leather patch?", L_leather_patch, + "On second thought, maybe later.", L_NoDeal; + if (!@wants_leather_patch) + menu + "Yes, that's fine.", L_BuyCowboy, + "On second thought, maybe later.", L_NoDeal; L_Chaps_store: - callsub L_CheckStuff; - mes "[Chief Pachua]"; - mes ""; - mes "\"To make you a pair of Snake Skin Chaps I will need:"; - mes "1 Jeans Shorts"; - mes "10 Snake skins"; - mes "10.000 GP\""; - mes ""; - mes "\"Do we have a deal?\""; - next; - if (!@wants_leather_patch) - menu - "Yes, that's fine.", L_BuyChaps, - "On second thought, maybe later.", L_NoDeal; - if (@wants_leather_patch) - menu - "Yes, that's fine.", L_BuyChaps, - "Can you make a leather patch?", L_leather_patch, - "On second thought, maybe later.", L_NoDeal; + callsub L_CheckStuff; + mes "[Chief Pachua]"; + mes ""; + mes "\"To make you a pair of Snake Skin Chaps I will need:"; + mes "1 Jeans Shorts"; + mes "10 Snake skins"; + mes "10.000 GP\""; + mes ""; + mes "\"Do we have a deal?\""; + next; + if (!@wants_leather_patch) + menu + "Yes, that's fine.", L_BuyChaps, + "On second thought, maybe later.", L_NoDeal; + if (@wants_leather_patch) + menu + "Yes, that's fine.", L_BuyChaps, + "Can you make a leather patch?", L_leather_patch, + "On second thought, maybe later.", L_NoDeal; L_BuyChaps: - if (zeny < 10000) goto L_NoMoney; - if (countitem("JeansShorts") < 1) goto L_NoJeans; - if (countitem("SnakeSkin") < 10) goto L_NoSkin; - set zeny, zeny - 10000; - delitem "SnakeSkin", 10; - delitem "JeansShorts", 1; - getitem "JeansChaps", 1; - goto L_DealDone; + if (zeny < 10000) goto L_NoMoney; + if (countitem("JeansShorts") < 1) goto L_NoJeans; + if (countitem("SnakeSkin") < 10) goto L_NoSkin; + set zeny, zeny - 10000; + delitem "SnakeSkin", 10; + delitem "JeansShorts", 1; + getitem "JeansChaps", 1; + goto L_DealDone; L_BuyCowboy: - if (zeny < 5000) goto L_NoMoney; - if (countitem("FancyHat") < 1) goto L_NoFancy; - if (countitem("SnakeSkin") < 2) goto L_NoSkin; - set zeny, zeny - 5000; - delitem "SnakeSkin", 2; - delitem "FancyHat", 1; - set @temp,rand(2); - if(@temp == 0) goto L_Cowboy_white; - goto L_Cowboy_black; + if (zeny < 5000) goto L_NoMoney; + if (countitem("FancyHat") < 1) goto L_NoFancy; + if (countitem("SnakeSkin") < 2) goto L_NoSkin; + set zeny, zeny - 5000; + delitem "SnakeSkin", 2; + delitem "FancyHat", 1; + set @temp,rand(2); + if(@temp == 0) goto L_Cowboy_white; + goto L_Cowboy_black; L_Cowboy_white: - getitem "WhiteCowboyHat", 1; - goto L_DealDone; + getitem "WhiteCowboyHat", 1; + goto L_DealDone; L_Cowboy_black: - getitem "BlackCowboyHat", 1; - goto L_DealDone; + getitem "BlackCowboyHat", 1; + goto L_DealDone; L_leather_patch: - mes "[Chief Pachua]"; - mes ""; - mes "\"If you just want a piece of leather, then yes, I can make that. Bring me a snake skin and " + @LEATHER_PATCH_PRICE + " GP.\""; - next; - - menu "Here you are.", -, - "OK, I'll be back later.", L_End, - "That's too expensive!.", L_NoDeal; - - if (countitem("SnakeSkin") < 1) goto L_NoSkins; - if (zeny < @LEATHER_PATCH_PRICE) goto L_NoMoney; - getinventorylist; - if (@inventorylist_count == 100 && countitem("SnakeSkin") > 1) goto L_TooMany; - - set zeny, zeny - @LEATHER_PATCH_PRICE; - delitem "SnakeSkin", 1; - getitem "LeatherPatch", 1; - goto L_DealDone; + mes "[Chief Pachua]"; + mes ""; + mes "\"If you just want a piece of leather, then yes, I can make that. Bring me a snake skin and " + @LEATHER_PATCH_PRICE + " GP.\""; + next; + menu + "Here you are.", -, + "OK, I'll be back later.", L_End, + "That's too expensive!.", L_NoDeal; + + if (countitem("SnakeSkin") < 1) goto L_NoSkins; + if (zeny < @LEATHER_PATCH_PRICE) goto L_NoMoney; + getinventorylist; + if (@inventorylist_count == 100 && countitem("SnakeSkin") > 1) goto L_TooMany; + + set zeny, zeny - @LEATHER_PATCH_PRICE; + delitem "SnakeSkin", 1; + getitem "LeatherPatch", 1; + goto L_DealDone; L_DealDone: - mes "[Chief Pachua]"; - mes ""; - mes "\"Here you are!\""; - mes ""; - mes "\"Come back any time.\""; - close; + mes "[Chief Pachua]"; + mes ""; + mes "\"Here you are!\""; + mes ""; + mes "\"Come back any time.\""; + close; L_NoDeal: - mes "[Chief Pachua]"; - mes ""; - mes "\"Alright, but you won't get a better deal anywhere else!\""; - close; + mes "[Chief Pachua]"; + mes ""; + mes "\"Alright, but you won't get a better deal anywhere else!\""; + close; L_NoMoney: - mes "[Chief Pachua]"; - mes ""; - mes "\"Oh dear, it seems you don't have enough money.\""; - close; + mes "[Chief Pachua]"; + mes ""; + mes "\"Oh dear, it seems you don't have enough money.\""; + close; L_NoJeans: - mes "[Chief Pachua]"; - mes ""; - mes "\"Oh dear, it seems you don't have enough jeans shorts.\""; - close; + mes "[Chief Pachua]"; + mes ""; + mes "\"Oh dear, it seems you don't have enough jeans shorts.\""; + close; L_NoFancy: - mes "[Chief Pachua]"; - mes ""; - mes "\"Oh dear, it seems you don't have enough fancy hats.\""; - close; + mes "[Chief Pachua]"; + mes ""; + mes "\"Oh dear, it seems you don't have enough fancy hats.\""; + close; L_NoSkins: - mes "[Chief Pachua]"; - mes ""; - mes "\"Oh dear, it seems you don't have enough snake skins.\""; - close; + mes "[Chief Pachua]"; + mes ""; + mes "\"Oh dear, it seems you don't have enough snake skins.\""; + close; L_WearingCowboy: - mes "[Chief Pachua]"; - mes ""; - mes "\"Ah, I see that you are wearing a hat made with the ancient methods of my tribe.\""; - next; - goto L_Check_Shops; + mes "[Chief Pachua]"; + mes ""; + mes "\"Ah, I see that you are wearing a hat made with the ancient methods of my tribe.\""; + next; + goto L_Check_Shops; L_WearingChaps: - mes "[Chief Pachua]"; - mes ""; - mes "\"Ah, I see that you are wearing pants made by my tribe.\""; - next; - goto L_Check_Shops; + mes "[Chief Pachua]"; + mes ""; + mes "\"Ah, I see that you are wearing pants made by my tribe.\""; + next; + goto L_Check_Shops; L_End: - close; + close; L_TooMany: - mes "[Chief Pachua]"; - mes ""; - mes "\"You don't have room for a leather patch. Come back later.\""; - close; + mes "[Chief Pachua]"; + mes ""; + mes "\"You don't have room for a leather patch. Come back later.\""; + close; L_smoke: - message strcharinfo(0), "Pachua quickly inhales from his pipe and releases a ring of smoke towards the sky!"; - set QUEST_MIRIAM_run, gettimetick(2) - QUEST_MIRIAM_start; - set QUEST_MIRIAM_start, 0; - end; + message strcharinfo(0), "Pachua quickly inhales from his pipe and releases a ring of smoke towards the sky!"; + set QUEST_MIRIAM_run, gettimetick(2) - QUEST_MIRIAM_start; + set QUEST_MIRIAM_start, 0; + end; L_warp_cheat: - if (@warp_cheat == 1) goto L_Begin; - message strcharinfo(0), "Pachua releases a ring of smoke towards the sky! But, by the look on his face, you can tell he is suspicious about your methods..."; - set @warp_cheat, 1; - end; + if (@warp_cheat == 1) goto L_Begin; + message strcharinfo(0), "Pachua releases a ring of smoke towards the sky! But, by the look on his face, you can tell he is suspicious about your methods..."; + set @warp_cheat, 1; + end; L_Basket: - mes "[Chief Pachua]"; - mes ""; - mes "\"For generations my tribe has been crafting special clothes out of different items.\""; - mes "\"Maybe if you bring me the right materials I can make something for you.\""; - next; - menu - "Do you work only with clothes? Because I was looking for a basket.", -; - mes "\"A basket? In our tribe, we craft baskets of all kinds using only reeds. This basket, you need it to carry your items?\""; - menu - "No. It is for the Easter Bunny. I offered to get him one.", -; - mes "\"I appreciate your attitude. Maybe I can help you with that.\""; - menu - "I would be really grateful if you could do that!", -, - "Nah, I decided not to do that stupid quest.", L_End, - "I would prefer to talk to you about other stuff.", L_Begin; //should go to pachuas's regular chat - set QUEST_Easter11, 2; + mes "[Chief Pachua]"; + mes ""; + mes "\"For generations my tribe has been crafting special clothes out of different items.\""; + mes "\"Maybe if you bring me the right materials I can make something for you.\""; + next; + menu + "Do you work only with clothes? Because I was looking for a basket.", -; + mes "\"A basket? In our tribe, we craft baskets of all kinds using only reeds. This basket, you need it to carry your items?\""; + menu + "No. It is for the Easter Bunny. I offered to get him one.", -; + mes "\"I appreciate your attitude. Maybe I can help you with that.\""; + menu + "I would be really grateful if you could do that!", -, + "Nah, I decided not to do that stupid quest.", L_End, + "I would prefer to talk to you about other stuff.", L_Begin; //should go to pachuas's regular chat + set QUEST_Easter11, 2; L_MakeBasket: - mes "[Chief Pachua]"; - mes ""; - mes "\"I will need you to gather reeds for me.\""; - mes "\"5 bundles should do it.\""; - mes "\"You should be able to get those from mouboos as they graze.\""; - menu - "I have the Reeds!", -, - "Ok, I will be back soon", L_End, - "I changed my mind, forget about it", L_End, - "Can I talk to you about another stuff?", L_Begin; //should go to pachuas's regular chat - - if(countitem("ReedBundle") < 5) goto L_EasterNotEnough; - if(countitem("ReedBundle") >= 5) goto L_EasterEnough; - close; + mes "[Chief Pachua]"; + mes ""; + mes "\"I will need you to gather reeds for me.\""; + mes "\"5 bundles should do it.\""; + mes "\"You should be able to get those from mouboos as they graze.\""; + menu + "I have the Reeds!", -, + "Ok, I will be back soon", L_End, + "I changed my mind, forget about it", L_End, + "Can I talk to you about another stuff?", L_Begin; //should go to pachuas's regular chat + + if(countitem("ReedBundle") < 5) goto L_EasterNotEnough; + if(countitem("ReedBundle") >= 5) goto L_EasterEnough; + close; L_EasterNotEnough: - mes "[Chief Pachua]"; - mes ""; - mes "\"You do not have enough Reed Bundles for me to work with.\""; - mes "\"Go gather more.\""; - close; + mes "[Chief Pachua]"; + mes ""; + mes "\"You do not have enough Reed Bundles for me to work with.\""; + mes "\"Go gather more.\""; + close; L_EasterEnough: - getinventorylist; - if (@inventorylist_count == 100 && countitem("ReedBundle") > 5) goto L_EasterTooMany; - if(countitem("ReedBundle") < 5) goto L_EasterNotEnough; - delitem "ReedBundle", 5; - getitem "EasterBasket", 1; - set QUEST_Easter11, 3; - mes "[Chief Pachua]"; - mes ""; - mes "\"You have gathered enough reeds for me to make the basket.\""; - mes "He skillfully soaks the reeds you brought him,"; - mes "then swiftly weaves them into a basket shape."; - mes "Next, he places the damp basket in the sun to dry for a minute before handing it over to you."; - mes "\"Here is your Easter Basket.\""; - close; + getinventorylist; + if (@inventorylist_count == 100 && countitem("ReedBundle") > 5) goto L_EasterTooMany; + if(countitem("ReedBundle") < 5) goto L_EasterNotEnough; + delitem "ReedBundle", 5; + getitem "EasterBasket", 1; + set QUEST_Easter11, 3; + mes "[Chief Pachua]"; + mes ""; + mes "\"You have gathered enough reeds for me to make the basket.\""; + mes "He skillfully soaks the reeds you brought him,"; + mes "then swiftly weaves them into a basket shape."; + mes "Next, he places the damp basket in the sun to dry for a minute before handing it over to you."; + mes "\"Here is your Easter Basket.\""; + close; L_EasterTooMany: - mes "[Chief Pachua]"; - mes ""; - mes "\"You don't have room for the Easter Basket. Come back later.\""; - close; + mes "[Chief Pachua]"; + mes ""; + mes "\"You don't have room for the Easter Basket. Come back later.\""; + close; L_SeeBunny: - mes "[Chief Pachua]"; - mes ""; - mes "\"You need to return to the Easter Bunny now.\""; - next; - goto L_Begin; - + mes "[Chief Pachua]"; + mes ""; + mes "\"You need to return to the Easter Bunny now.\""; + next; + goto L_Begin; } |