From 82244e430cb91cccc1b4046eb29cced1986c95b7 Mon Sep 17 00:00:00 2001 From: Sini Ruohomaa Date: Sun, 29 Aug 2010 11:20:02 +0300 Subject: Language polish project cont'd. --- npc/009-2_Hurnscald/nicholas.txt | 85 +++++++++++++------------------- npc/009-2_Hurnscald/peter.txt | 17 ++++--- npc/021-2_Tulimshar/bakery.txt | 24 ++++----- npc/021-2_Tulimshar/heathin.txt | 104 +++++++++++++++++++-------------------- npc/021-2_Tulimshar/inya.txt | 46 ++++++++--------- npc/021-2_Tulimshar/jhedia.txt | 15 +++--- npc/functions/dailyquest.txt | 14 +++--- 7 files changed, 148 insertions(+), 157 deletions(-) (limited to 'npc') diff --git a/npc/009-2_Hurnscald/nicholas.txt b/npc/009-2_Hurnscald/nicholas.txt index 8c820849..639b8be3 100644 --- a/npc/009-2_Hurnscald/nicholas.txt +++ b/npc/009-2_Hurnscald/nicholas.txt @@ -36,15 +36,11 @@ set @Q_SHIELD_status, (QUEST_Forestbow_state & @Q_SHIELD_MASK) >> @Q_SHIELD_SHIFT; mes "[Nicholas]"; - mes "\"Hello there,"; - mes "I'm an expert blacksmith."; - mes "If you get me some coal and iron ingots"; - mes "I could make you a very valuable shield"; - mes "or helmet.\""; + mes "\"Hello, there! I'm an expert blacksmith. If you get me some [Coal] and [Iron Ingot]s, I could make you a very valuable shield or helmet.\""; next; menu - "I have iron ingots!", L_Check, - "Where can I get coal and iron Ingots?", L_Info, + "I have Iron Ingots!", L_Check, + "Where can I get Coal and Iron Ingots?", L_Info, "I'm okay, thanks.", L_Pass; L_Check: @@ -58,32 +54,26 @@ L_Check: L_Info: mes "[Nicholas]"; - mes "\"You can find coal and iron ore in mines."; - mes "\"Once you have coal and iron ore, find a smith that will smelt the iron ore and cast them into iron ingots."; - mes "\"Come back here with more coal and the iron ingots and I'll make something nice for you.\""; + mes "\"You can find [Coal] and [Iron Ore] in mines. Once you have [Coal] and [Iron Ore], find a smith that will smelt the [Iron Ore] and cast them into [Iron Ingot]s.\""; + next; + mes "[Nicholas]"; + mes "\"Come back here with some [Coal] and [Iron Ingot]s, and I'll make something nice for you.\""; close; L_Pass: mes "[Nicholas]"; - mes "\"Oh, okay"; - mes "Come back any time.\""; + mes "\"Oh, okay. Come back any time.\""; close; L_StageA: mes "[Nicholas]"; - mes "\"That's just enough for me to make you"; - mes "a winged Knight's Helmet."; - mes "But it'll cost you 10,000GP,"; - mes "6 Coal and 3 Iron Ingots.\""; + mes "\"That's just enough for me to make you a winged [Knight's Helmet], but it'll cost you 10,000GP, 6 [Coal] and 3 [Iron Ingot]s.\""; next; goto L_main_menu; L_StageB: mes "[Nicholas]"; - mes "\"Ahh, with that much coal and iron ingots I can"; - mes "make you one of two helmets,"; - mes "for only 10,000GP, or I can"; - mes "make you a shield, for 20,000GP.\""; + mes "\"Ahh, with that much [Coal] and [Iron Ingot]s I can make you one of two helmets, for only 10,000GP, or I can make you a shield, for 20,000GP.\""; mes ""; mes "\"What would you like?\""; next; @@ -91,13 +81,9 @@ L_StageB: L_StageC: mes "[Nicholas]"; - mes "\"Excellent, that's enough to make"; - mes "three different types of helmet."; - mes "My fee is 10,000GP."; - mes "I can also make a shield, but that"; - mes "that will cost you 20,000 GP.\""; + mes "\"Excellent, that's enough to make three different types of helmet. My fee is 10,000GP. I can also make a shield, but that will cost you 20,000 GP.\""; mes ""; - mes "\"Which helmet or shield will it be?\""; + mes "\"Which will it be?\""; next; goto L_main_menu; @@ -115,14 +101,14 @@ L_main_menu: setarray @choice_idx, 0, 0, 0, 0, 0, 0; if (countitem("ShortSword") < 1) goto L_main_menu_post_setzer; - set @choice$[@choices_nr], "Can you make my short sword better?"; + set @choice$[@choices_nr], "Can you make my Short Sword better?"; set @choice_idx[@choices_nr], @CHOICE_SETZER; set @choices_nr, 1 + @choices_nr; L_main_menu_post_setzer: if ( (countitem("IngotIron")<3) | (countitem("Coal") <6) ) goto L_no_more_helmets; - set @choice$[@choices_nr], "Knight's Helmet. (3 Iron Ingots & 6 Coal)"; + set @choice$[@choices_nr], "Knight's Helmet (3 Iron Ingots & 6 Coal)."; set @choice_idx[@choices_nr], @CHOICE_KNIGHT; set @choices_nr, 1 + @choices_nr; @@ -172,8 +158,7 @@ L_no_more_helmets: L_NoItem: mes "[Nicholas]"; - mes "\"It appears you don't have enough Coal and Iron Ingots for me to work with."; - mes "Please do come back when you have more though.\""; + mes "\"It appears you don't have enough [Coal] and [Iron Ingot]s for me to work with. Please do come back when you have more, though.\""; close; L_ComeBack: @@ -218,7 +203,7 @@ L_YesWarlord: L_YesShield: mes "[Nicholas]"; - mes "Nicholas examines your Iron Ingots."; + mes "Nicholas examines your [Iron Ingot]s."; mes "\"No, this iron is too brittle; for something as large as a shield I need to mix in softer iron. Can I see if you have anything suitable?\""; next; @@ -229,8 +214,8 @@ L_YesShield: if (countitem("InfantryHelmet") == 0) goto L_NoInfantry; mes "[Nicholas]"; - mes "Nicholas pulls out two of your infantry helmets."; - mes "\"I can use those... yes, that should work. Now all I need is a leather patch for the handle, and 20,000 GP.\""; + mes "Nicholas pulls out two of your [Infantry Helmet]s."; + mes "\"I can use those... yes, that should work. Now all I need is a [Leather Patch] for the handle, and 20,000 GP.\""; if (@Q_SHIELD_status < @SHIELD_KNOWS_PATCH) set @Q_SHIELD_status, @SHIELD_KNOWS_PATCH; @@ -238,8 +223,8 @@ L_YesShield: next; - menu "Here you are.", -, - "Where can I get a leather patch?", L_WhereLeather, + menu "Here you are!", -, + "Where can I get a Leather Patch?", L_WhereLeather, "No way.", L_Pass; if (zeny < 20000) goto L_ShieldNoZeny; @@ -251,7 +236,7 @@ L_YesShield: mes "[Nicholas]"; mes "\"Yes, it looks as if you have all that is needed!\""; - mes "You watch Nicholas melt the ingots and helmets and form a shield out of the resulting iron. He then cuts your leather patch apart and adds it to the handles."; + mes "You watch Nicholas melt the ingots and helmets and form a shield out of the resulting iron. He then cuts your [Leather Patch] apart and adds it to the handles."; mes "\"Here is your shield!\""; delitem "InfantryHelmet", 1; @@ -279,34 +264,34 @@ L_ShieldNoZeny: L_ShieldNoInfantry: mes "[Nicholas]"; - mes "\"Now this is strange... I could have sworn that you had two infantry helmets right here. Well, come back if you have some more!\""; + mes "\"Now this is strange... I could have sworn that you had two [Infantry Helmet]s right here. Well, come back if you have some more!\""; close; L_ShieldNoIngot: mes "[Nicholas]"; - mes "\"How odd... didn't I put your iron ingots on the table right here? Well, I will need it back to make the shield.\""; + mes "\"How odd... didn't I put your [Iron Ingot]s on the table right here? Well, I will need them back to make the shield.\""; close; L_ShieldNoCoal: mes "[Nicholas]"; - mes "\"How odd... didn't I put your coal on the table right here? Well, I will need it back to make the shield.\""; + mes "\"How odd... didn't I put your [Coal] on the table right here? Well, I will need it back to make the shield.\""; close; L_ShieldNoLeatherPatch: mes "[Nicholas]"; - mes "\"You don't have a suitable leather patch. I'm sorry, but a shield without one would chafe terribly.\""; + mes "\"You don't have a suitable [Leather Patch]. I'm sorry, but a shield without one would chafe terribly.\""; close; L_MoreInfantry: mes "[Nicholas]"; - mes "Nicholas takes your infantry helmet and examines it."; + mes "Nicholas takes your [Infantry Helmet] and examines it."; mes "\"Yes, this is perfect! If you can bring me another one of those, I can make your shield.\""; close; L_NoInfantry: mes "[Nicholas]"; mes "Nicholas shakes his head."; - mes "\"No, none of these items are suitable. Try looking for somewhat large metal things.\""; + mes "\"No, none of these items are suitable. Try looking for somewhat large metal items.\""; close; L_WhereLeather: @@ -319,8 +304,8 @@ L_SetzerQuest: mes "[Nicholas]"; if (@Q_SETZER_status & @SETZER_FLAG_MADE_SETZER) mes "\"Another one? Sure, why not.\""; - mes "Nicholas examines your short sword, then nods."; - mes "\"This is good quality. I can make something special out of it, with three ingot bars of iron and 50,000 GP-- but I will also need a potion of monster oil.\""; + mes "Nicholas examines your [Short Sword], then nods."; + mes "\"This is good quality. I can make something special out of it, with three ingot bars of iron and 50,000 GP -- but I will also need a potion of monster oil.\""; if (@Q_SETZER_status < @SETZER_KNOWS_OIL) set @Q_SETZER_status, @SETZER_KNOWS_OIL; callsub L_Update_Var; @@ -328,7 +313,7 @@ L_SetzerQuest: menu "Here you are.", -, "Monster oil? What's that?", L_ExplainMonsterOil, - "HOW much? Never mind.", L_Pass; + "HOW much? Nevermind then!", L_Pass; if (zeny < 50000) goto L_SetzerNoZeny; if ( (countitem("IngotIron") < 3) | (countitem("Coal") < 6) ) goto L_SetzerNoIngot; @@ -337,7 +322,7 @@ L_SetzerQuest: // No inventory check needed, as the short sword is removed, opening a slot mes "[Nicholas]"; - mes "Nicholas takes the items, heats up your sword and pounds it with a heavy hammer. Before your eyes it turns thinner and flatter. Finally he pours the monster oil over it, heats it up again and douses it in water."; + mes "Nicholas takes the items, heats up your sword and pounds it with a heavy hammer. As you watch, it turns thinner and flatter. Finally he pours the monster oil over it, heats the metal up again and douses it in water."; set zeny, zeny - 50000; delitem "IngotIron", 3; @@ -356,16 +341,16 @@ L_SetzerQuest: mes "[Nicholas]"; mes "Nicholas hands you the completed sword. It feels strangely light in your hands."; - mes "\"I made it lighter and faster, it should also cut a little better now. This kind of sword is called a Setzer, after a famous gambler who invented it as a weapon in between a knife and a sword.\""; + mes "\"I made it lighter and faster, it should also cut a little better now. This kind of sword is called a [Setzer], after a famous gambler who invented it as a weapon in between a knife and a sword.\""; next; mes "[Nicholas]"; - mes "\"I'm quite happy with this one. Be careful around the edge, though, it is quite sharp.\""; + mes "\"I'm quite happy with this one. Be careful around the edge, though, it is quite sharp!\""; close; L_ExplainMonsterOil: mes "[Nicholas]"; - mes "\"Monster oil is a special oil that can be used to harden thin sheets of metal, if used properly. Unfortunately it is very hard to get. Perhaps one of our local alchemists can help you with it?\""; + mes "\"Monster oil is a special oil that can be used to harden thin sheets of metal, if used properly. Unfortunately, it is very hard to get. Perhaps one of our local alchemists can help you with it?\""; close; L_SetzerNoZeny: @@ -385,7 +370,7 @@ L_SetzerNoMonsterOil: L_SetzerNoSword: mes "[Nicholas]"; - mes "\"I will need your old short sword as a basis. Please bring it to me first.\""; + mes "\"I will need your old [Short Sword] as a basis. Please bring it to me first.\""; close; L_end: diff --git a/npc/009-2_Hurnscald/peter.txt b/npc/009-2_Hurnscald/peter.txt index 1fcea250..85e31dc9 100644 --- a/npc/009-2_Hurnscald/peter.txt +++ b/npc/009-2_Hurnscald/peter.txt @@ -3,14 +3,17 @@ 009-2.gat,183,57,0 script Peter 157,{ mes "[Peter]"; - mes "\"Hello, I am Nicholas' apprentice, Peter.\""; + mes "\"Hello, I am Peter, apprentice to Nicholas.\""; next; - mes "\"I can make you some sturdy armor if you give me iron ingots to craft with and gold pieces for my efforts. What would you like me to make?\""; + mes "\"I can make you some sturdy armor: you must give me [Iron Ingot]s to craft with and some gold pieces for my efforts.\""; + next; + mes "[Peter]"; + mes "\"What would you like me to make?\""; menu - "Chain Mail (10 coal, 5 ingots and 20000 GP)", L_Peter_Chain_Mail, - "Light Plate (20 coal, 10 ingots and 50000 GP)", L_Peter_Light_Plate, - "Warlord Plate (30 coal, 15 ingots and 100000 GP)", L_Peter_Warlord_Plate, - "nevermind", -; + "Chain Mail (10 coal, 5 ingots and 20000 GP).", L_Peter_Chain_Mail, + "Light Plate (20 coal, 10 ingots and 50000 GP).", L_Peter_Light_Plate, + "Warlord Plate (30 coal, 15 ingots and 100000 GP).", L_Peter_Warlord_Plate, + "Nevermind.", -; close; L_Peter_Chain_Mail: @@ -64,7 +67,7 @@ L_Peter_NotEnough_Ingot: L_Peter_NotEnough_Coal: mes "[Peter]"; - mes "\"You don't have enough coal.\""; + mes "\"You don't have enough [Coal].\""; close; L_Peter_TooMany: diff --git a/npc/021-2_Tulimshar/bakery.txt b/npc/021-2_Tulimshar/bakery.txt index 2fb5d110..18219a82 100644 --- a/npc/021-2_Tulimshar/bakery.txt +++ b/npc/021-2_Tulimshar/bakery.txt @@ -18,19 +18,19 @@ L_lace_chococake: menu "Thanks! Let me have a look around...", L_end, - "Can you put this potion into a chocolate cake?", -, + "Can you put this potion into a [Chocolate Cake]?", -, "Goodbye!", L_end; mes "[Riskim]"; - mes "As you show him the potion, Riskim leans back, away from it."; + mes "As you show Riskim the potion, he leans back, away from it."; mes "\"Ooooh, I remember that smell...\""; mes "\"Elanore's Mopox potion, right? She made me drink that, too...\""; mes "He chuckles."; - mes "\"Yes, well, you do want to hide that.\""; + mes "\"Yes, well, you do want to hide that somehow.\""; next; mes "[Riskim]"; - mes "\"We'll need extra chocolate for that one. If you can give me ten pieces of chocolate and that potion, plus 400 GP, I will bake you a special chocolate cake that hides the taste.\""; + mes "\"We'll need extra chocolate for that one. If you can give me ten pieces of chocolate and that potion, plus 400 GP, I will bake you a special [Chocolate Cake] that hides the taste.\""; next; menu @@ -50,9 +50,9 @@ L_lace_chococake: set zeny, zeny - 400; mes "[Riskim]"; - mes "\"Please have a seat.\""; - mes "You watch at Riskim melts the chocolate and stirs in the potion, then glazes a cake with it."; - mes "\"It's a bit more chocolaty than your average chocolate cake, of course...\""; + mes "\"Please have a seat!\""; + mes "You watch at Riskim melts the chocolate and stirs in the potion, then glazes a cake with the mixture."; + mes "\"It's a bit more chocolatey than your average chocolate cake, of course...\""; next; mes "[Riskim]"; @@ -67,7 +67,7 @@ L_lacking_zeny: L_lacking_ingredients: mes "[Riskim]"; - mes "\"Sorry, but I need ten chocolate bars AND your cure potion for this. Please come back later when you have everything.\""; + mes "\"Sorry, but I need ten [Chocolate Bar]s AND your cure potion for this. Please come back later when you have everything.\""; close; L_lace_cupcake: @@ -75,11 +75,11 @@ L_lace_cupcake: menu "Thanks! Let me have a look around...", L_end, - "Can you put this potion into an orange cupcake?", -, + "Can you put this potion into an [Orange Cupcake]?", -, "Goodbye!", L_end; mes "[Riskim]"; - mes "\"Orange cupcakes? Oh dear... I'm sorry, but I have a very bad orange allergy.\""; + mes "\"[Orange Cupcake]s? Oh dear... I'm sorry, but I have a very bad orange allergy.\""; next; mes "[Riskim]"; mes "\"Perhaps the Chef at Dimond's Cove can help you? We get all our cupcakes from him.\""; @@ -110,12 +110,12 @@ L_end: // An old couple eating at the bakery 021-2.gat,71,22,0 script Rynoh 159,{ mes "[Rynoh]"; - mes "\"It may be expensive, but it sure is good.\""; + mes "\"The cakes may be expensive, but they sure are delicious!\""; close; } 021-2.gat,73,22,0 script Ontas 154,{ mes "[Ontas]"; - mes "\"We come here every week. They have some of the best bread I've ever eaten.\""; + mes "\"We come here every week. This place has some of the best bread I've ever eaten!\""; close; } diff --git a/npc/021-2_Tulimshar/heathin.txt b/npc/021-2_Tulimshar/heathin.txt index 5559614e..556a7141 100644 --- a/npc/021-2_Tulimshar/heathin.txt +++ b/npc/021-2_Tulimshar/heathin.txt @@ -20,45 +20,45 @@ if (baselevel >= 60) goto L_Heathin_Start; mes "[Heathin]"; - mes "\"Hello friend. I am Heathin, a smith of exotic metals. \""; + mes "\"Hello, friend. I am Heathin, a smith of exotic metals. \""; close; L_Heathin_Start: mes "[Heathin]"; - mes "\"Hello friend. I am Heathin, a smith of exotic metals. \""; + mes "\"Hello, friend. I am Heathin, a smith of exotic metals. \""; next; - mes "\"By the order of the Wizard's Council, I've been commissioned to forge gold ingots from gold pieces. I need to collect as many gold pieces as I can manage, forge them and give the ingots to the Council. However, I am but a simple smith and can't do this effort by myself.\""; + mes "\"By the order of the Wizard's Council, I've been commissioned to forge gold ingots from gold pieces. I need to collect as many gold pieces as I can manage, forge them and give the ingots to the Council. However, I am but a simple smith and cannot complete this effort by myself.\""; next; - mes "\"Forging gold ingots is not just a simple matter of gold falling from the sky. I need individuals that can gather not just the gold, but also help collect coal to heat my forge.\""; + mes "\"Forging gold ingots is not just a simple matter of gold falling from the sky! I need individuals that can gather not just the gold, but also help collect [Coal] to heat my forge.\""; next; - mes "\"Of course it would make little sense for me to gather gold pieces, just to pass them back out, but I am willing to create an award for any who would put an effort in towards completing my goal.\""; + mes "\"Of course it would make little sense for me to gather gold pieces from helpers just to pass them back out. However, I am willing to smith an award for any who would put an effort in towards completing my goal.\""; next; - mes "\"Perhaps you would be interested in helping me out? Would you be willing to help me gather coal and gold to fulfill my commission? I'm asking any and all willing souls to get me 50 coal and 100,000 gold pieces as that would put a significant dint in my goal.\""; + mes "\"Perhaps you would be interested in helping me out? Would you be willing to help me gather [Coal] and gold to fulfill my commission? I am asking any and all willing souls to get me 50 coal and 100,000 gold pieces, as that would put a significant dint in my goal.\""; menu - "Sure, I'll help.", L_Heathin_Help, - "I'd rather keep my gold for my own purposes, thank you very much", L_Heathin_No, + "Sure, I'll help!", L_Heathin_Help, + "I'd rather keep my gold for my own purposes, thank you very much.", L_Heathin_No, "Wait, what kind of award are we talking about?", L_Heathin_Interested; L_Heathin_Help: set HEATHIN_QUEST, 1; mes "[Heathin]"; - mes "\"Excellent! I'm always glad some one can be of service not just to me, but to Tulimshar. Please get me 50 coal and 100,000 gold pieces and you will be compensated for your efforts.\""; + mes "\"Excellent! I am always glad when someone can be of service not just to me, but to all of Tulimshar. Please get me 50 [Coal] and 100,000 gold pieces, and you will be compensated for your efforts.\""; close; L_Heathin_No: mes "[Heathin]"; - mes "\"That is too bad. If you change your mind, I'll still be here attempting to get my commission done.\""; + mes "\"That is too bad. If you change your mind, I shall still be here, attempting to get my commission done.\""; close; L_Heathin_Interested: mes "[Heathin]"; - mes "\"Well, when I am crafting these ingots, there are always stray metals left over. Surely I could forge them into ingots again, but I'd rather ensure that my commission be done. I am willing to forge a simple ring for you, which could be made more beautiful by a skilled jeweler.\""; + mes "\"Well, when I am crafting these ingots, there are always stray metals left over. Surely I could forge them into ingots again, but I'd rather ensure that my commission be completed. I am willing to forge a [Simple Ring] for you, which could be made more beautiful by a skilled jeweler.\""; next; - mes "\"What you do with the ring after I'm done forging it is your own business, but it could come in handy.\""; + mes "\"What you do with the ring after I am done forging it is your own business, but it could come in handy.\""; next; mes "\"Does this sound like something you might be interested in?\""; menu - "Sure, I'll help.", L_Heathin_Help, + "Sure, I'll help!", L_Heathin_Help, "I'd rather keep my gold.", L_Heathin_No, "Can you repeat that again?", L_Heathin_Interested; close; @@ -70,41 +70,41 @@ L_Heathin_Ring_Award: delitem "Coal", 50; getitem "RingSimple", 1; mes "[Heathin]"; - mes "\"You brought the coal and gold pieces. Most excellent! As promised, I have crafted a ring for you. Hopefully you will find it useful.\""; + mes "\"You have brought the [Coal] and gold pieces. This is most excellent! As promised, I have crafted a ring for you. Hopefully you will find it useful.\""; next; mes "\"Time to smelt these gold pieces into ingots. The Council will be pleased. Thank you for your efforts!\""; close; L_Heathin_Ring_Wait: mes "[Heathin]"; - mes "\"Hello again, making golden ingots has got me pretty busy. I sure hope I can fulfil my commission soon so I can move on to bigger and better things.\""; + mes "\"Hello again. Making golden ingots keeps me pretty busy. I certainly hope I can fulfill my commission soon so that I can move on to bigger and better things.\""; next; - mes "\"Sure the pay is good, but I'm a far better smith than this. If you can bring me 100,000 gold pieces and 50 coal, it would surely get me to my goal faster.\""; + mes "\"The pay is good, certainly, but I am a far better smith than this. If you can bring me 100,000 gold pieces and 50 [Coal], it would surely get me to my goal faster.\""; next; - mes "\"I'll be sure to provide an apt award once you are done.\""; + mes "\"I will be sure to provide an apt award once you are done.\""; close; L_Heathin_Ring_Thanks: mes "[Heathin]"; - mes "\"Thank you again for helping me fulfil my commission. It has made a signficant dint in what the Council requires of me. Perhaps I may be of service to you again one day\""; + mes "\"Thank you again for helping me fulfil my commission. It has made a signficant dint in what the Council requires of me. Perhaps I may be of service to you again one day!\""; close; L_Heathin_Terranite_Hood: mes "[Heathin]"; - mes "\"Hello again friend, I just found out about this great metal, called terranite.\""; + mes "\"Hello again friend, I just found out about this great metal called terranite.\""; next; mes "\"This metal is almost as strong as steel, but is also very ductile.\""; next; - mes "\"With some effort, I can make this metal form rings tighter than any chain mail. It isn't the prettiest, but its uses can be many.\""; + mes "\"With some effort, I can make this metal form rings tighter than any chain mail. It isn't the prettiest in hue, but its uses can be many.\""; next; - mes "\"Unfortunately, it seems to be difficult to gather. Most that have searched for terranite ore either can't find it or they have never returned.\""; + mes "\"Unfortunately, it seems to be difficult to gather. Most that have searched for [Terranite Ore] either cannot find it or have never returned...\""; next; - mes "\"I may be an excellent smith, but I'm no combatant. However, I would enjoy turning this ore into some useful, perhaps some type of armor to help those that may be.\""; + mes "\"I may be an excellent smith, but I certainly am no combatant. However, I would enjoy turning this ore into something useful, perhaps some type of armor to help those that may be braver.\""; next; - mes "\"So what do you say? Are you interested?\""; + mes "\"So, what do you say? Are you interested?\""; menu - "No thank you. Maybe later", L_Heathin_Terranite_No, - "Armor you say? Definitely!", L_Heathin_Terranite_Yes; + "No, thank you. Maybe later.", L_Heathin_Terranite_No, + "Armor, you say? Definitely!", L_Heathin_Terranite_Yes; close; L_Heathin_Terranite_No: @@ -115,13 +115,13 @@ L_Heathin_Terranite_No: L_Heathin_Terranite_Yes: set HEATHIN_QUEST, 3; mes "[Heathin]"; - mes "\"Great, this is going to be fun. Because I haven't had much practice with this armor, I'd like to get started soon.\""; + mes "\"Great, this is going to be fun! As I have not had much practice with this armor, I'd like to get started soon.\""; next; - mes "\"*Thinks for a moment*\""; + mes "Heathin thinks for a moment."; next; - mes "\"Ah, I know. I'll make a helm..well more like a hood, since it will woven.\""; + mes "\"Ah, I know! I will make a helm... Well, more like a hood, since it will woven.\""; next; - mes "\"It will require a great amount of heat, or so the rumor goes. For this I will need 100 coal to keep my forge burning hot. I will also need 10 terranite ore to make the armor. Of course, doing such work doesn't come cheap. While I may enjoy my work, my time and effort is very valuable. To compensate my efforts I will need 200,000 gold pieces. Please come back with the gold, coal and ore and I'll make this hood for you.\""; + mes "\"It will require a great amount of heat, if the rumors are to be believed. For this, I will need 100 [Coal] to keep my forge burning hot. I will also need 10 [Terranite Ore] to make the armor. Of course, such work does not come cheap. While I may enjoy my work, my time and effort is very valuable. To compensate my efforts I will need 200,000 gold pieces. Please come back with the gold, [Coal] and ore and I'll make this hood for you.\""; close; L_Heathin_Terranite_Hood_Forge: @@ -136,22 +136,22 @@ L_Heathin_Terranite_Hood_Forge: L_Heathin_Terranite_Hood_Wait: mes "[Heathin]"; - mes "\"I'm very busy right now. If you could bring me 10 terranite ore, 100 coal and 200,000 gold pieces, I'll make that terranite hood for you.\""; + mes "\"I am very busy right now. If you could bring me 10 [Terranite Ore], 100 [Coal] and 200,000 gold pieces, I will make that terranite hood for you.\""; close; L_Heathin_Terranite_Hood_Ready: set HEATHIN_QUEST, 5; getitem "TerraniteHelmet", 1; mes "[Heathin]"; - mes "\"All done with your terranite hood. Hope you enjoy it. I've got some work to wrap up for the Council, but come back later and I might be able to assist you again.\""; + mes "\"I am all done with your terranite hood. I hope you enjoy it! I have some work to wrap up for the Council, but come back later and I might be able to assist you again.\""; close; L_Heathin_Terranite_Legs: set HEATHIN_QUEST, 6; mes "[Heathin]"; - mes "\"Glad you are back. Just finished up some more of my commission. Now I can get back to making terranite armor for you. This time I'll make some pants, but they need more ore, more coal to heat my forge and of course, more gold for my efforts.\""; + mes "\"I am glad you are back! I've just finished up some more of my commission. Now I can get back to making terranite armor for you. This time I will make some pants, but they need more ore, more [Coal] to heat my forge and of course, more gold for my efforts.\""; next; - mes "\"To make terranite pants, I need 200 coal, 30 terranite ore and 400,000 gold pieces. The faster you bring this to me, the faster I can have your terranite pants ready.\""; + mes "\"To make terranite pants, I need 200 [Coal], 30 [Terranite Ore] and 400,000 gold pieces. The faster you bring this to me, the faster I can have your terranite pants ready.\""; close; L_Heathin_Terranite_Legs_Forge: @@ -161,27 +161,27 @@ L_Heathin_Terranite_Legs_Forge: delitem "TerraniteOre", 30; set zeny, zeny - 400000; mes "[Heathin]"; - mes "\"Great, you brought everything! Come back later and I'll have those terranite pants ready for you.\""; + mes "\"Great, you have brought everything! Come back later and I will have those terranite pants ready for you.\""; close; L_Heathin_Terranite_Legs_Wait: mes "[Heathin]"; - mes "\"I'm very busy right now. If you could bring me 30 terranite ore, 200 coal and 400,000 gold pieces, I'll make those terranite pants for you.\""; + mes "\"I am very busy right now. If you could bring me 30 [Terranite Ore], 200 [Coal] and 400,000 gold pieces, I will make those terranite pants for you.\""; close; L_Heathin_Terranite_Legs_Ready: set HEATHIN_QUEST, 8; getitem "TerraniteLegsArmor", 1; mes "[Heathin]"; - mes "\"All done with your terranite pants. Hope you enjoy it. I've got some work to wrap up for the Council. Come back later and I might be able to assist you again.\""; + mes "\"I am all done with your terranite pants. Hope you enjoy them! I have some more work to complete for the Council. Come back later and I might be able to assist you again.\""; close; L_Heathin_Terranite_Chest_Armor: set HEATHIN_QUEST, 9; mes "[Heathin]"; - mes "\"Glad you are back. Just finished up some more of my commission. Now I can get back to making terranite armor for you. This time I'll make some terranite chest armor, but they need more ore, more coal to heat my forge and of course, more gold for my efforts.\""; + mes "\"Good to see you again. I have just finished up some more of my commission. Now I can get back to making terranite armor for you. This time, I will make some terranite chest armor, but it needs more ore, more [Coal] for my forge and of course, more gold to compensate for my efforts.\""; next; - mes "\"To make terranite chest armor, I need 250 coal, 40 terranite ore and 500,000 gold pieces. The faster you bring this to me, the faster I can have your terranite pants ready.\""; + mes "\"To make terranite chest armor, I need 250 [Coal], 40 [Terranite Ore] and 500,000 gold pieces. The faster you bring this to me, the faster I can have your terranite armor ready.\""; close; L_Heathin_Terranite_Chest_Armor_Forge: @@ -191,28 +191,28 @@ L_Heathin_Terranite_Chest_Armor_Forge: delitem "TerraniteOre", 40; set zeny, zeny - 500000; mes "[Heathin]"; - mes "\"Great, you brought everything! Come back later and I'll have the terranite chest armor ready for you.\""; + mes "\"Splendid, you have brought everything! Come back later and I will have the terranite chest armor ready for you.\""; close; L_Heathin_Terranite_Chest_Armor_Wait: mes "[Heathin]"; - mes "\"I'm very busy right now. If you could bring me 40 terranite ore, 250 coal and 500,000 gold pieces, I'll make that chest armor for you.\""; + mes "\"I am very busy right now. If you could bring me 40 [Terranite Ore], 250 [Coal] and 500,000 gold pieces, I will make that chest armor for you.\""; close; L_Heathin_Terranite_Chest_Armor_Ready: set HEATHIN_QUEST, 11; getitem "TerraniteChestArmor", 1; mes "[Heathin]"; - mes "\"All done with your terranite chest armor. Hope you enjoy it. I've got some work to wrap up for the Council, but come back later and I might be able to assist you again.\""; + mes "\"I have completed your terranite chest armor. I hope you enjoy it! I have some work to wrap up for the Council again, but come back later and I might be able to assist you once more.\""; close; L_Heathin_Terranite_Arrows: mes "[Heathin]"; - mes "\"Glad you are back. I've experimented a little with terranite ore to see what else can be done with it. It seems to have some weapon qualities, but I've only tested it with arrows. If you'd like, I can make terranite arrows, but as as with the armor, I need coal, terranite ore and payment for my efforts.\""; + mes "\"How good to see you. I have experimented a little with [Terranite Ore] to see what else can be done with it. It seems to have some qualities suitable for weapons, but I have only tested it with arrows. If you would like, I can make [Terranite Arrow]s, but as as with the armor, I need [Coal], [Terranite Ore] and payment for my efforts.\""; next; - mes "\"Also, it might be a while until I have time to see what else I can make with terranite other than arrows, the Council is keeping me rather busy with my commission. So would you like some terranite arrows?\""; + mes "\"Also, it might be a while until I have time to see what else I can make with terranite other than arrows, as right now the Council is keeping me rather busy with my commission. So, would you like some [Terranite Arrow]s?\""; menu - "No thank you.", L_Heathin_Terranite_Arrows_No, + "No, thank you.", L_Heathin_Terranite_Arrows_No, "Sure, I could use some arrows.", L_Heathin_Terranite_Arrows_Yes; close; @@ -224,7 +224,7 @@ L_Heathin_Terranite_Arrows_No: L_Heathin_Terranite_Arrows_Yes: set HEATHIN_QUEST, 12; mes "[Heathin]"; - mes "\"Good, good. I'll begin crafting these arrows as soon as you come back. However, I don't just make small handfuls because it isn't worth my time and effort to have my concentration interrupted for small tasks. I'll make 1,000 terranite arrows per request, but I'll need 10 terranite ore, 20 coal and 10,000 gold pieces to begin.\""; + mes "\"Good, good. I shall begin crafting these arrows as soon as you come back. However, I cannot just make small handfuls as it would not be worth my time and effort to have my concentration interrupted for small tasks. I will make 1,000 [Terranite Arrow]s per request, for which I will need 10 [Terranite Ore], 20 [Coal] and 10,000 gold pieces.\""; next; mes "\"See you soon!\""; close; @@ -236,24 +236,24 @@ L_Heathin_Terranite_Arrows_Forge: delitem "TerraniteOre", 10; set zeny, zeny - 10000; mes "[Heathin]"; - mes "\"All right! You got everything I asked for. I'll start working on them right away.\""; + mes "\"Wonderful! You have everything I asked for. I will start working on the arrows right away.\""; close; L_Heathin_Terranite_Arrows_Wait: mes "[Heathin]"; - mes "\"If you want terranite arrows, please get me 10 terranite ore, 20 coal and 10,000 gold pieces.\""; + mes "\"If you want [Terranite Arrow]s, please get me 10 [Terranite Ore], 20 [Coal] and 10,000 gold pieces.\""; close; L_Heathin_Terranite_Arrows_Ready: getitem "TerraniteArrow", 1000; set HEATHIN_QUEST, 14; mes "[Heathin]"; - mes "\"All done. Here you go. Hope you like them. I am still working on my commission, but if you ever need anymore terranite arrows, just come on by with 20 coal, 10 terranite ore and 10,000 gold pieces and I'll make another 1,000 arrows for you. I have enough terranite ore in reserve that you can just trade me my requirements to keep my resources up. Thank you for all your efforts.\""; + mes "\"All done, here you go! I hope you like them. I am still working on my commission, but if you ever need any more [Terranite Arrow]s, just come on by with 20 [Coal], 10 [Terranite Ore] and 10,000 gold pieces and I will make another 1,000 arrows for you. By now I have enough [Terranite Ore] in reserve that you can just trade me my requirements to keep my resources up. Thank you for all your efforts!\""; close; L_Heathin_Terranite_Arrows_Trade: mes "[Heathin]"; - mes "\"Hi there. If you have 20 coal, 10 terranite ore and 10,000 gold pieces I'll trade you 1,000 terranite arrows. Would you like some terranite arrows?\""; + mes "\"Hello, there. If you have 20 [Coal], 10 [Terranite Ore] and 10,000 gold pieces, I will trade you 1,000 [Terranite Arrow]s. Would you like some [Terranite Arrow]s?\""; menu "No.", L_Heathin_Terranite_Arrows_Trade_No, "Yes.", L_Heathin_Terranite_Arrows_Trade_Yes; @@ -261,7 +261,7 @@ L_Heathin_Terranite_Arrows_Trade: L_Heathin_Terranite_Arrows_Trade_No: mes "[Heathin]"; - mes "\"Come back again if you'd like to get terranite arrows.\""; + mes "\"Come back again if you would like to get [Terranite Arrow]s.\""; close; L_Heathin_Terranite_Arrows_Trade_Yes: @@ -271,12 +271,12 @@ L_Heathin_Terranite_Arrows_Trade_Yes: set zeny, zeny - 10000; getitem "TerraniteArrow", 1000; mes "[Heathin]"; - mes "\"Here you go. Come back again if you want more terranite arrows\""; + mes "\"Here you go! Come back again if you want more [Terranite Arrow]s.\""; close; L_Heathin_Terranite_Arrows_Trade_Wait: mes "[Heathin]"; - mes "\"Doesn't seem like you have enough for me to trade you. Please come back with 20 coal, 10 terranite ore and 10,000 gold pieces if you want another 1,000 terranite arrows.\""; + mes "\"It seems that you do not have the necessary resources for me to trade you. Please come back with 20 [Coal], 10 [Terranite Ore] and 10,000 gold pieces if you want another 1,000 [Terranite Arrow]s.\""; close; } diff --git a/npc/021-2_Tulimshar/inya.txt b/npc/021-2_Tulimshar/inya.txt index 7f4964ec..4d95bfb0 100644 --- a/npc/021-2_Tulimshar/inya.txt +++ b/npc/021-2_Tulimshar/inya.txt @@ -4,47 +4,47 @@ 021-2.gat,43,62,0 script Inya 106,{ mes "[Inya]"; - mes "\"I'm Inya, a jeweler of fine rings. If you have a simple ring and a gem, I can make a nice ring for you for 1,000,000 gold pieces.\""; + mes "\"I am Inya, a jeweler of fine rings. If you have a [Simple Ring] and a gem, I can make a nice ring for you for 1,000,000 gold pieces.\""; next; - mes "\"Also, if you have a ring with gems on it, I can remove the gems and return the simple ring to you for 500,000 gold pieces.\""; + mes "\"Also, if you have a ring with gems on it, I can remove the gems and return the [Simple Ring] to you for 500,000 gold pieces.\""; next; - mes "\"So how can I help you?\""; + mes "\"So, how can I help you?\""; menu "I have a wedding ring, will that do?", L_Inya_Wedding_Ring, - "I'd like to remove a gem (500000 GP)", L_Inya_Remove_RingGem, - "I'd like to add a gem (1000000 GP)", L_Inya_Add_RingGem, - "Not interested", L_Inya_NotInterested; + "I'd like to remove a gem (500000 GP).", L_Inya_Remove_RingGem, + "I'd like to add a gem (1000000 GP).", L_Inya_Add_RingGem, + "Not interested.", L_Inya_NotInterested; close; L_Inya_Wedding_Ring: mes "[Inya]"; - mes "\"No, I'm sorry. I don't alter wedding rings at this time.\""; + mes "\"No, sorry. I do not alter wedding rings at this time.\""; close; L_Inya_Remove_RingGem: mes "[Inya]"; mes "\"What kind of gem would you like to have removed?\""; menu - "Diamond", L_Inya_Remove_Diamond, - "Ruby", L_Inya_Remove_Ruby, - "Emerald", L_Inya_Remove_Emerald, - "Sapphire", L_Inya_Remove_Sapphire, - "Topaz", L_Inya_Remove_Topaz, - "Amethyst", L_Inya_Remove_Amethyst, - "Not interested", L_Inya_NotInterested; + "Diamond.", L_Inya_Remove_Diamond, + "Ruby.", L_Inya_Remove_Ruby, + "Emerald.", L_Inya_Remove_Emerald, + "Sapphire.", L_Inya_Remove_Sapphire, + "Topaz.", L_Inya_Remove_Topaz, + "Amethyst.", L_Inya_Remove_Amethyst, + "I've changed my mind.", L_Inya_NotInterested; close; L_Inya_Add_RingGem: mes "[Inya]"; mes "\"What kind of gem would you like to add?\""; menu - "Diamond", L_Inya_Add_Diamond, - "Ruby", L_Inya_Add_Ruby, - "Emerald", L_Inya_Add_Emerald, - "Sapphire", L_Inya_Add_Sapphire, - "Topaz", L_Inya_Add_Topaz, - "Amethyst", L_Inya_Add_Amethyst, - "Not interested", L_Inya_NotInterested; + "Diamond.", L_Inya_Add_Diamond, + "Ruby.", L_Inya_Add_Ruby, + "Emerald.", L_Inya_Add_Emerald, + "Sapphire.", L_Inya_Add_Sapphire, + "Topaz.", L_Inya_Add_Topaz, + "Amethyst.", L_Inya_Add_Amethyst, + "I've changed my mind.", L_Inya_NotInterested; close; L_Inya_Remove_Diamond: @@ -163,12 +163,12 @@ L_Inya_Add_Amethyst: L_Inya_NotInterested: mes "[Inya]"; - mes "\"Come back later and I'll try to be of assistance.\""; + mes "\"Come back later and I will try to be of assistance.\""; close; L_Inya_Not_Enough: mes "[Inya]"; - mes "\"I'm sorry, you just don't seem to have enough for me to help you. Please come back when you do and I'll be more than happy to help you out.\""; + mes "\"I am sorry, you simply do not seem to have the necessary items for me to help you. Please come back when you do, and I would be more than happy to help you out.\""; close; } diff --git a/npc/021-2_Tulimshar/jhedia.txt b/npc/021-2_Tulimshar/jhedia.txt index 096f4932..2677a099 100644 --- a/npc/021-2_Tulimshar/jhedia.txt +++ b/npc/021-2_Tulimshar/jhedia.txt @@ -7,7 +7,10 @@ set @Coal_Per, 10; mes "[Jhedia]"; - mes "\"I forge iron ore into ingots. Ingots are more useful for skilled smiths, like armorers, because the ore is refined and made into useful units which can be worked with. To make ingots I need " + @Iron_Ore_Per + " iron ore and " + @Cost_Per_Ingot + " gp per ingot. I also need " + @Coal_Per + " coal for my forgeHow many ingots would you like?\""; + mes "\"I forge [Iron Ore] into ingots. Ingots are more useful for skilled smiths, like armorers, because the ore is refined and made into useful units which can be worked with. To make ingots, I need " + @Iron_Ore_Per + " [Iron Ore] and " + @Cost_Per_Ingot + " gp per ingot. I also need " + @Coal_Per + " [Coal] for my forge.\""; + next; + mes "[Jhedia]"; + mes "\"How many ingots would you like?\""; input @ingot_count; if (@ingot_count == 0) goto L_Jhedia_Bye; @@ -25,27 +28,27 @@ L_Jhedia_Bye: mes "[Jhedia]"; - mes "\"Good Bye.\""; + mes "\"Goodbye then.\""; close; L_Jhedia_NotEnough_Ore: mes "[Jhedia]"; - mes "\"You don't seem to have enough iron ore.\""; + mes "\"You do not seem to have enough [Iron Ore].\""; close; L_Jhedia_NotEnough_Coal: mes "[Jhedia]"; - mes "\"You don't seem to have enough coal.\""; + mes "\"You do not seem to have enough [Coal].\""; close; L_Jhedia_NotEnough_Zeny: mes "[Jhedia]"; - mes "\"You don't seem to have enough gold pieces.\""; + mes "\"You do not seem to have enough gold pieces.\""; close; L_Jhedia_NotEnoughSlots: mes "[Jhedia]"; - mes "You don't seem to have enough room to carry this many ingots."; + mes "\"You do not seem to have enough room to carry this many ingots.\""; close; } diff --git a/npc/functions/dailyquest.txt b/npc/functions/dailyquest.txt index e62c604f..820516d6 100644 --- a/npc/functions/dailyquest.txt +++ b/npc/functions/dailyquest.txt @@ -34,10 +34,10 @@ L_Start: if (BaseLevel < @dq_level) goto L_Low_Level; if (DailyQuestPoints < @dq_cost) goto L_Not_Enough_Points; - mes "\"If you bring me " + @dq_count + " " + @dq_friendly_name$ + " I will give you a reward\""; - menu "I have them for you", L_Trade, - "Ok, Ill get them", -, - "I'm not going to help you", -; + mes "\"If you bring me " + @dq_count + " " + @dq_friendly_name$ + ", I will give you a reward.\""; + menu "I have what you want.", L_Trade, + "Ok, I'll get to work.", -, + "Nah, I'm not going to help you.", -; set @dq_return, 1; goto L_Exit; @@ -63,17 +63,17 @@ L_Exit_Good: goto L_Exit; L_Not_Enough: - if (!@dq_handle_return) mes "\"I said " + @dq_count + " " + @dq_friendly_name$ + ", learn to count\""; + if (!@dq_handle_return) mes "\"I said " + @dq_count + " " + @dq_friendly_name$ + "; you should learn to count.\""; set @dq_return, 3; goto L_Exit; L_Low_Level: - if (!@dq_handle_return) mes "\"Hey, you should go kill some things to get stronger\""; + if (!@dq_handle_return) mes "\"Hey, you should go kill some things to get stronger first.\""; set @dq_return, 0; goto L_Exit; L_Not_Enough_Points: - if (!@dq_handle_return) mes "\"You look exhausted, maybe you should rest some.\""; + if (!@dq_handle_return) mes "\"You look exhausted, maybe you should rest a bit.\""; set @dq_return, 2; goto L_Exit; -- cgit v1.2.3-70-g09d2 From 7c4651fcd1a2c5d7355100e8134e3ff34df842b2 Mon Sep 17 00:00:00 2001 From: Sini Ruohomaa Date: Sun, 29 Aug 2010 12:47:43 +0300 Subject: Language and friendlifying newbie quests with timing tips. Also a minor bugfix to Nickos. --- npc/001-1_Tulimshar/children.txt | 16 ++++++++-------- npc/001-1_Tulimshar/mikhail.txt | 9 ++++++++- npc/001-1_Tulimshar/sandra.txt | 23 +++++++++++------------ npc/001-1_Tulimshar/sarah.txt | 14 ++++++++++++-- npc/001-1_Tulimshar/vincent.txt | 9 +++++++++ npc/002-1_Sandstorm/nickos.txt | 2 +- npc/011-3_Hermits_cave/hermit.txt | 20 ++++++++++---------- 7 files changed, 59 insertions(+), 34 deletions(-) (limited to 'npc') diff --git a/npc/001-1_Tulimshar/children.txt b/npc/001-1_Tulimshar/children.txt index 701fe2b6..c8941563 100644 --- a/npc/001-1_Tulimshar/children.txt +++ b/npc/001-1_Tulimshar/children.txt @@ -1,4 +1,4 @@ -// +// Aisha and Nina 001-1.gat,95,29,0 script Aisha 108,{ set @TEMP,rand(9); @@ -44,7 +44,7 @@ L_6: L_7: mes "[Aisha]"; - mes "\"I want to be a Doctor when i grow up!\""; + mes "\"I want to be a Doctor when I grow up!\""; close; L_8: @@ -85,7 +85,7 @@ L_4: close; L_5: - mes "\"I always take some spare Cactus Juices with me on the field. They are heavy, though.\""; + mes "\"I always take some spare [Cactus Juice]s with me on the field. They are heavy, though.\""; close; L_6: @@ -101,7 +101,7 @@ L_8: close; L_9: - mes "\"I know a very bad word. But I must not say it, because monsters will come and get me if I do!\""; + mes "\"I know a very bad word. But I must not say it, because monsters will come and get me if I do!\""; next; menu "A bad word?", L_tell, @@ -110,10 +110,10 @@ L_9: L_tell: mes "[Nina]"; - mes "\"Yes, I heard my mother say it once. And she made me promise her to never say it. Never.\""; + mes "\"Yes, I heard my mother say it once. And she made me promise her to never say it. Never.\""; next; menu "If I promise to never tell anyone, can you tell me the word?", L_keepword, - "I understand, you do not need to tell...", L_giveword, + "I understand, you do not need to tell me...", L_giveword, "Goodbye!", -; close; @@ -124,8 +124,8 @@ L_keepword: L_giveword: mes "[Nina]"; - mes "Nina looks around as she hushes you to silence. After a few seconds she whispers to you."; - mes "\"I like you! So I will tell you the bad word. But you can't tell anyone else about it! The bad word is '" + getspellinvocation("aggravate") + "'.\""; + mes "Nina looks around as she hushes you to silence. After a few seconds, she whispers to you."; + mes "\"I like you! So I will tell you the bad word. But you can't tell anyone else about it! The bad word is '" + getspellinvocation("aggravate") + "'.\""; next; mes "[Nina]"; diff --git a/npc/001-1_Tulimshar/mikhail.txt b/npc/001-1_Tulimshar/mikhail.txt index 76a1ad59..2ec8b50b 100644 --- a/npc/001-1_Tulimshar/mikhail.txt +++ b/npc/001-1_Tulimshar/mikhail.txt @@ -4,10 +4,17 @@ if (TMW_Quest == 6) goto L_Done; if (TMW_Quest == 5) goto L_Progress; if (TMW_Quest == 4) goto L_Start; + if (TMW_Quest < 4) goto L_Convince_Mikhail_First; + // If this happens, something is wrong with the above case handling. + mes "Mikhail looks confused."; + close; + +L_Convince_Mikhail_First: mes "[Mikhail]"; mes "\"Hello...\""; - close; + mes ""; + mes "It seems that the boy would like to say more, but does not dare to open up to you. Maybe you should help someone else first, so that he sees your intentions are good."; L_Start: mes "[Mikhail]"; diff --git a/npc/001-1_Tulimshar/sandra.txt b/npc/001-1_Tulimshar/sandra.txt index 49d47a8a..45b91ab3 100644 --- a/npc/001-1_Tulimshar/sandra.txt +++ b/npc/001-1_Tulimshar/sandra.txt @@ -6,7 +6,7 @@ if (TMW_Quest == 10) goto L_Start; mes "[Sandra]"; - mes "\"Hunting monsters for potion ingredients can sometimes be a difficult task.\""; + mes "\"Hunting monsters for potion ingredients can sometimes be a difficult task. Maybe you could help me at some point.\""; close; L_Start: @@ -19,19 +19,19 @@ L_Start: L_Opening0: mes "[Sandra]"; - mes "\"In the outskirts of Tulimshar, there are some scorpions. I need a favor, please help me. Will you?\""; + mes "\"In the outskirts of Tulimshar, there are some scorpions... I need a favor, please help me! Will you?\""; next; goto L_Ask; L_Opening1: mes "[Sandra]"; - mes "\"When you venture in the outskirts of Tulimshar, you can spot scorpions. Will you help me kill some?\""; + mes "\"When you venture to the outskirts of Tulimshar, you can spot scorpions. Will you help me kill some?\""; next; goto L_Ask; L_Opening2: mes "[Sandra]"; - mes "\"The scorpion stinger carries many properties used in potions. Will you get some for me?\""; + mes "\"The [Scorpion Stinger] carries many properties used in potions. Would you get some for me?\""; next; goto L_Ask; @@ -43,8 +43,8 @@ L_Opening3: L_Ask: menu - "Yes", L_Yes, - "No", L_No; + "Yes.", L_Yes, + "No.", L_No; L_Yes: set @TEMP, rand(3); @@ -60,27 +60,26 @@ L_Req0: L_Req1: mes "[Sandra]"; - mes "\"I heard a while ago that scorpion stingers can be used for medical purposes. I need you to help me get 5 [Scorpion Stinger]s.\""; + mes "\"I heard a while ago that stingers from scorpions can be used for medical purposes. I need you to help me get 5 [Scorpion Stinger]s.\""; next; goto L_Set; L_Req2: mes "[Sandra]"; - mes "\"Bring me 5 [Scorpion Stinger]s. I'll give you something if you do.\""; + mes "\"Bring me 5 [Scorpion Stinger]s. I'll give you something if you do!\""; next; goto L_Set; L_Set: set TMW_Quest,11; mes "[Sandra]"; - mes "\"Please bring me them!\""; + mes "\"Please get them for me!\""; close; L_Progress: if (countitem("ScorpionStinger") < 5) goto L_NotEnough; mes "[Sandra]"; - mes "\"Excellent!"; - mes "You brought me 5 [Scorpion Stinger]s!\""; + mes "\"Excellent! You brought me 5 [Scorpion Stinger]s!\""; getinventorylist; if (@inventorylist_count + (countitem("ScorpionStinger") == 5) - (countitem("Arrow") == 0) > 99) goto L_TooMany; delitem "ScorpionStinger", 5; @@ -105,6 +104,6 @@ L_No: L_TooMany: next; mes "[Sandra]"; - mes "\"You don't have room for my reward. I'll wait until you do.\""; + mes "\"You don't have room for my reward. I'll wait until you do.\""; close; } diff --git a/npc/001-1_Tulimshar/sarah.txt b/npc/001-1_Tulimshar/sarah.txt index bc02bef4..cc4126a8 100644 --- a/npc/001-1_Tulimshar/sarah.txt +++ b/npc/001-1_Tulimshar/sarah.txt @@ -4,11 +4,21 @@ if (TMW_Quest >= 8) goto L_Done; if (TMW_Quest == 7) goto L_Progress; if (TMW_Quest == 6) goto L_Start; + if (TMW_Quest < 6) goto L_Convince_Sarah_First; - mes "[Sarah]"; - mes "\"Boy, am I hungry or what!\""; + // If this is shown, something is wrong with the above case handling. + mes "Sarah looks confused."; close; +L_Convince_Sarah_First: + mes "[Sarah]"; + mes "\"Boy, am I hungry or what!\""; + mes ""; + mes "The girl suddenly looks at you suspiciously." + next; + mes "[Sarah]"; + mes "\"My mommy says not to talk to strangers!\"; + L_Start: set @TEMP, rand(2); diff --git a/npc/001-1_Tulimshar/vincent.txt b/npc/001-1_Tulimshar/vincent.txt index b2f2e98b..ffd05162 100644 --- a/npc/001-1_Tulimshar/vincent.txt +++ b/npc/001-1_Tulimshar/vincent.txt @@ -4,10 +4,19 @@ if (TMW_Quest >= 10) goto L_Done; if (TMW_Quest == 9) goto L_Progress; if (TMW_Quest == 8) goto L_Start; + if (TMW_Quest < 8) goto L_Convince_Vincent_First; + // If this happens, something is wrong with the above code. + mes "Vincent looks confused."; + close; + +L_Convince_Vincent_First: mes "[Vincent]"; mes "\"I'm making an action figure. I'm almost done with it.\""; + mes ""; + mes "Vincent seems distracted with his near-completed figurine for now."; close; + L_Start: diff --git a/npc/002-1_Sandstorm/nickos.txt b/npc/002-1_Sandstorm/nickos.txt index a6a12926..04713ccf 100644 --- a/npc/002-1_Sandstorm/nickos.txt +++ b/npc/002-1_Sandstorm/nickos.txt @@ -17,7 +17,7 @@ mes "\"I'm watching this mine to make sure the monsters don't harm the miners.\""; close; -L_See_Dausen_First: +L_Nickos_See_Dausen_First: mes "[Nickos]"; mes "\"I'm watching this mine to make sure the monsters don't harm the miners.\""; next; diff --git a/npc/011-3_Hermits_cave/hermit.txt b/npc/011-3_Hermits_cave/hermit.txt index 6dccccf4..4b582cc4 100644 --- a/npc/011-3_Hermits_cave/hermit.txt +++ b/npc/011-3_Hermits_cave/hermit.txt @@ -4,8 +4,8 @@ mes "[Arkim the Hermit]"; mes "\"Do you want to go back outside?\""; menu - "Yes please", L_Sure, - "Not yet", -, + "Yes, please!", L_Sure, + "Not yet.", -, "Actually... Why do you live here?", L_Interested; close; @@ -15,32 +15,32 @@ L_Sure: L_Interested: mes "[Arkim the Hermit]"; - mes "\"Oh my, never really thought about it\""; + mes "\"Oh my, never really thought about it!\""; next; mes "[Arkim the Hermit]"; - mes "\"I guess mostly I enjoy experimenting with bats here\""; + mes "\"I guess mostly I enjoy experimenting with the bats here.\""; menu - "I see", -, + "I see...", -, "What type of experimenting?", L_Experiment; close; L_Experiment: mes "[Arkim the Hermit]"; - mes "\"Never really thought about it...\""; + mes "\"Never really thought about it either...\""; next; - mes "*You watch as his old, lazy eyes open wide. And the old man comes alive with engery*"; + mes "You watch as the hermit's old, lazy eyes open wide, and the old man comes alive with energy."; next; mes "[Arkim the Hermit]"; - mes "\"I GUESS I REALLY LIKE CUTTING THEM UP TO SEE HOW THEY WORK!! HAHAHA!\""; + mes "\"I GUESS I REALLY LIKE CUTTING THEM UP TO SEE HOW THEY WORK!! HAHAHA!\""; menu "YOU'RE CRAZY!", -, - "Right... me too. Can I help?", L_Quest; + "Right... me too! Can I help?", L_Quest; close; L_Quest: @@ -57,6 +57,6 @@ L_Quest: next; mes "[Arkim the Hermit]"; - mes "\"And remember never lend your tooth brush to a slime!\""; + mes "\"And remember: never lend your toothbrush to a slime!\""; close; } -- cgit v1.2.3-70-g09d2 From 6ff18389b17ee6e366272ab1303546a9065e5a70 Mon Sep 17 00:00:00 2001 From: Wombat Date: Mon, 30 Aug 2010 00:33:49 -0400 Subject: Bug fixes moved diryn south of Hurnscald, fixed bugs in 027-2 and 012-4 added pvpflag for 012-4 fixed terranite armor, fixed news for correct info and better wrapping --- data/012-4.wlk | Bin 109204 -> 109204 bytes data/027-2.wlk | Bin 19504 -> 19504 bytes db/item_db.txt | 4 +- news.txt | 14 +++--- npc/008-1_Hurnscald_outskirts/_import.txt | 1 + npc/008-1_Hurnscald_outskirts/diryn.txt | 75 ++++++++++++++++++++++++++++++ npc/012-4_Cave/_import.txt | 1 + npc/012-4_Cave/pvpflag.txt | 1 + npc/027-2_Caretakers_House/_warps.txt | 2 +- 9 files changed, 88 insertions(+), 10 deletions(-) create mode 100644 npc/008-1_Hurnscald_outskirts/diryn.txt create mode 100644 npc/012-4_Cave/pvpflag.txt (limited to 'npc') diff --git a/data/012-4.wlk b/data/012-4.wlk index 1bd6a667..c5a61ec4 100644 Binary files a/data/012-4.wlk and b/data/012-4.wlk differ diff --git a/data/027-2.wlk b/data/027-2.wlk index bda9e90e..84952070 100644 Binary files a/data/027-2.wlk and b/data/027-2.wlk differ diff --git a/db/item_db.txt b/db/item_db.txt index bc4e2dfd..c885c06a 100644 --- a/db/item_db.txt +++ b/db/item_db.txt @@ -261,12 +261,12 @@ //759, PaladinsHelmet, Paladin's Helmet, , , , , , , , , , , , , , , {}, {} //760, OverlordsHelmet, Overlord's Helmet, , , , , , , , , , , , , , , {}, {} //761, DesertHelmet, Desert Helmet, , , , , , , , , , , , , , , {}, {} -762, TerraniteArrow, Terranite Arrow, 10, 800, 400, 1, 35, 0, 0, 0, 0, 2, 32768, , , 0, {}, {bonus bAtkRange, 1;} +762, TerraniteArrow, Terranite Arrow, 10, 800, 400, 1, 50, 0, 0, 0, 0, 2, 32768, , , 0, {}, {bonus bAtkRange, 1;} 763, TerraniteOre, Terranite Ore, 3, 500, 250, 40, , , , , , , , , , , {}, {} //764, SailorHat, Sailor Hat, , , , , , , , , , , , , , , {}, {} //765, CaptainsHat, Captain's Hat, , , , , , , , , , , , , , , {}, {} 766, TerraniteHelmet, Terranite Helmet, 5, 30000, 3000, 300, , 15, , -12, 0, 2, 256, , 0, 0, {}, {} -767, TerraniteChestArmor, Terranite Chest Armor, 5, 100000, 3000, 800, , 15, , 70, 0, 2, 512, , 0, 0, {}, { bonus bDex,1; } +767, TerraniteChestArmor, Terranite Chest Armor, 5, 100000, 3000, 800, , 20, , -70, 0, 2, 512, , 0, 0, {}, { bonus bDex,1; } 768, TerraniteLegsArmor, Terranite Legs Armor, 5, 10000, 3000, 30, , 5, , -8, 0, 2, 1, , 0, 0, {}, { bonus bAgi,1; } //769, GuyFawkesMask, Guy Fawkes' Mask, , , , , , , , , , , , , , , {}, {} //770, FairyHat, Fairy Hat, , , , , , , , , , , , , , , {}, {} diff --git a/news.txt b/news.txt index 9825fa21..ab5ab789 100644 --- a/news.txt +++ b/news.txt @@ -8,7 +8,7 @@ ##0 imperial capital. ##0 ##0 Argaes miners, in search of new iron deposits, -##0 have discovered a hostile mine north east of +##0 have discovered a hostile mine north west of ##0 the woodland town of Hurnscald. More details ##0 are coming in about this mine. ##0 @@ -29,12 +29,12 @@ ##0 travel between the two continents. ##0 ##0 Something sinister has happened to Taro, Nivalis -##0 and the magical connection Kaizei had with Argaes. -##0 Some speculate it has something to do with the -##0 evil while others think Nivalis and the Sages of -##0 Kaizei want to isolate themselves from Tulimshar's -##0 influence. Either way, all portals to Kaizei have -##0 been closed. +##0 and the magical connection Kaizei had with +##0 Argaes. Some speculate it has something to do +##0 with the evil while others think Nivalis and the +##0 Sages of Kaizei want to isolate themselves from +##0 Tulimshar's influence. Either way, all portals +##0 to Kaizei have been closed. ##0 ##3 The Candor Challenge ##3 2010-08-18 diff --git a/npc/008-1_Hurnscald_outskirts/_import.txt b/npc/008-1_Hurnscald_outskirts/_import.txt index 2bdd6303..312d7fbf 100644 --- a/npc/008-1_Hurnscald_outskirts/_import.txt +++ b/npc/008-1_Hurnscald_outskirts/_import.txt @@ -2,6 +2,7 @@ map: 008-1.gat npc: npc/008-1_Hurnscald_outskirts/_mobs.txt npc: npc/008-1_Hurnscald_outskirts/_warps.txt npc: npc/008-1_Hurnscald_outskirts/andra.txt +npc: npc/008-1_Hurnscald_outskirts/diryn.txt npc: npc/008-1_Hurnscald_outskirts/dock.txt npc: npc/008-1_Hurnscald_outskirts/george.txt npc: npc/008-1_Hurnscald_outskirts/hinnak.txt diff --git a/npc/008-1_Hurnscald_outskirts/diryn.txt b/npc/008-1_Hurnscald_outskirts/diryn.txt new file mode 100644 index 00000000..6cd7f2aa --- /dev/null +++ b/npc/008-1_Hurnscald_outskirts/diryn.txt @@ -0,0 +1,75 @@ +//This is a teleportation (warp) NPC. Its purpose is to offer expensive, fast trips throughout the world. + +008-1.gat,81,82,0 script Diryn the Traveler 103,{ + mes "[Diryn]"; + mes "\"Greetings. I am Diryn the Traveler, Assistant Councilor of Tulimshar and teleportation extraordinaire. Tulimshar is expanding our influence throughout the world, so I was sent here to aid all who are willing and able to take on the threats to our interests.\""; + next; + mes "\"The monsters of the world have grown out of control, harming people, trade and travel. Needless to say, Tulimshar is not happy with this problem. Our solution: Rally those powerful enough to combat the monster threat and send them to hot spots to challenge the monster threat head on. However, teleportation to these areas is not only extremely dangerous, but also highly expensive. Do you think you got what it takes?\""; + menu + "I sure do!", L_Diryn_Yes, + "No thank you", L_Diryn_No; + close; + +L_Diryn_Yes: + mes "[Diryn]"; + mes "\"Excellent. I can send you to many places, but again, the fees are large. Where shall I send you?\""; + menu + "Druid Tree (3000 GP)", L_Diryn_Druid_Tree, + "Graveyard (3000 GP)", L_Diryn_Graveyard, + "Magic House (2000 GP)", L_Diryn_Magic_House, + "Terranite Cave (3000 GP)", L_Diryn_Terranite, + "Tulimshar Town Square (2000 GP)", L_Diryn_Tulimshar, + "Not Interested", L_Diryn_No; + close; + +L_Diryn_Druid_Tree: + if (zeny < 3000) goto L_NoMoney; + mes "[Diryn]"; + mes "\"Be fearless!\""; + set zeny, zeny-3000; + warp "005-1.gat",73,36; + close; + +L_Diryn_Graveyard: + if (zeny < 3000) goto L_NoMoney; + mes "[Diryn]"; + mes "\"Be fearless!\""; + set zeny, zeny-3000; + warp "027-1.gat",70,85; + close; + +L_Diryn_Magic_House: + if (zeny < 2000) goto L_NoMoney; + mes "[Diryn]"; + mes "\"Be fearless!\""; + set zeny, zeny-2000; + warp "013-1.gat",45,92; + close; + +L_Diryn_Terranite: + if (zeny < 3000) goto L_NoMoney; + mes "[Diryn]"; + mes "\"Be fearless!\""; + set zeny, zeny-3000; + warp "012-3.gat",445,65; + close; + +L_Diryn_Tulimshar: + if (zeny < 2000) goto L_NoMoney; + mes "[Diryn]"; + mes "\"Be fearless!\""; + set zeny, zeny-2000; + warp "001-1.gat",44,70; + close; + +L_Diryn_No: + mes "[Diryn]"; + mes "\"Perhaps some day you will have the courage to help us. Enjoy your stay here in Hurnscald.\""; + close; + +L_NoMoney: + mes "[Diryn]"; + mes "\"Sorry, you don't have enough. Maybe next time.\""; + close; + +} diff --git a/npc/012-4_Cave/_import.txt b/npc/012-4_Cave/_import.txt index 70e118bc..59703ed9 100644 --- a/npc/012-4_Cave/_import.txt +++ b/npc/012-4_Cave/_import.txt @@ -1,3 +1,4 @@ map: 012-4.gat npc: npc/012-4_Cave/_mobs.txt npc: npc/012-4_Cave/_warps.txt +npc: npc/012-4_Cave/pvpflag.txt diff --git a/npc/012-4_Cave/pvpflag.txt b/npc/012-4_Cave/pvpflag.txt new file mode 100644 index 00000000..b796cefa --- /dev/null +++ b/npc/012-4_Cave/pvpflag.txt @@ -0,0 +1 @@ +012-4.gat mapflag pvp diff --git a/npc/027-2_Caretakers_House/_warps.txt b/npc/027-2_Caretakers_House/_warps.txt index 32db1af8..8b7af158 100644 --- a/npc/027-2_Caretakers_House/_warps.txt +++ b/npc/027-2_Caretakers_House/_warps.txt @@ -1,3 +1,3 @@ // 027-2 Caretaker's House warps -027-2.gat,25,32 warp toGraveyard -1,-1,027-1.gat,88,85 +027-2.gat,26,33 warp toGraveyard -1,-1,027-1.gat,88,85 -- cgit v1.2.3-70-g09d2 From 63f66361cb1e78958b9055243ebabbd7cb93ba45 Mon Sep 17 00:00:00 2001 From: Wombat Date: Mon, 30 Aug 2010 00:47:41 -0400 Subject: Removed diryn from 009-1 and minor fix to sarah.txt diryn has moved to 008-1, south of Hurnscald and has been removed from 009-1 diryn need to be removed again from import.txt and a fix to sarah.txt --- npc/001-1_Tulimshar/sarah.txt | 7 ++--- npc/009-1_Hurnscald/_import.txt | 1 - npc/009-1_Hurnscald/diryn.txt | 66 ----------------------------------------- 3 files changed, 3 insertions(+), 71 deletions(-) delete mode 100644 npc/009-1_Hurnscald/diryn.txt (limited to 'npc') diff --git a/npc/001-1_Tulimshar/sarah.txt b/npc/001-1_Tulimshar/sarah.txt index cc4126a8..86ed8db6 100644 --- a/npc/001-1_Tulimshar/sarah.txt +++ b/npc/001-1_Tulimshar/sarah.txt @@ -13,11 +13,10 @@ L_Convince_Sarah_First: mes "[Sarah]"; mes "\"Boy, am I hungry or what!\""; - mes ""; - mes "The girl suddenly looks at you suspiciously." next; - mes "[Sarah]"; - mes "\"My mommy says not to talk to strangers!\"; + mes "\"The girl suddenly looks at you suspiciously.\""; + next; + mes "\"My mommy says not to talk to strangers!\""; L_Start: diff --git a/npc/009-1_Hurnscald/_import.txt b/npc/009-1_Hurnscald/_import.txt index 07c60602..ff08fce7 100644 --- a/npc/009-1_Hurnscald/_import.txt +++ b/npc/009-1_Hurnscald/_import.txt @@ -1,7 +1,6 @@ map: 009-1.gat npc: npc/009-1_Hurnscald/_mobs.txt npc: npc/009-1_Hurnscald/_warps.txt -npc: npc/009-1_Hurnscald/diryn.txt npc: npc/009-1_Hurnscald/jack.txt npc: npc/009-1_Hurnscald/mapflags.txt npc: npc/009-1_Hurnscald/milly.txt diff --git a/npc/009-1_Hurnscald/diryn.txt b/npc/009-1_Hurnscald/diryn.txt deleted file mode 100644 index 70d646d4..00000000 --- a/npc/009-1_Hurnscald/diryn.txt +++ /dev/null @@ -1,66 +0,0 @@ -//This is a teleportation (warp) NPC. Its purpose is to offer expensive, fast trips throughout the world. - -009-1.gat,51,38,0 script Diryn the Traveler 103,{ - mes "[Diryn]"; - mes "\"Greetings. I am Diryn the Traveler, Assistant Councilor of Tulimshar and teleportation extraordinaire. Tulimshar is expanding our influence throughout the world, so I was sent here to aid all who are willing and able to take on the threats to our interests.\""; - next; - mes "\"The monsters of the world have grown out of control, harming people, trade and travel. Needless to say, Tulimshar is not happy with this problem. Our solution: Rally those powerful enough to combat the monster threat and send them to hot spots to challenge the monster threat head on. However, teleportation to these areas is not only extremely dangerous, but also highly expensive. Do you think you got what it takes?\""; - menu - "I sure do!", L_Diryn_Yes, - "No thank you", L_Diryn_No; - close; - -L_Diryn_Yes: - mes "[Diryn]"; - mes "\"Excellent. I can send you to many places, but again, the fees are large. Where shall I send you?\""; - menu - "Druid Tree (5000 GP)", L_Diryn_Druid_Tree, - "Graveyard (10000 GP)", L_Diryn_Graveyard, - "Magic House (5000 GP)", L_Diryn_Magic_House, - "Tulimshar Town Square (2000 GP)", L_Diryn_Tulimshar, - "Not Interested", L_Diryn_No; - close; - -L_Diryn_Druid_Tree: - if (zeny < 10000) goto L_NoMoney; - mes "[Diryn]"; - mes "\"Be fearless!\""; - set zeny, zeny-10000; - warp "005-1.gat",73,36; - close; - -L_Diryn_Graveyard: - if (zeny < 15000) goto L_NoMoney; - mes "[Diryn]"; - mes "\"Be fearless!\""; - set zeny, zeny-15000; - warp "027-1.gat",70,85; - close; - -L_Diryn_Magic_House: - if (zeny < 10000) goto L_NoMoney; - mes "[Diryn]"; - mes "\"Be fearless!\""; - set zeny, zeny-10000; - warp "013-1.gat",45,92; - close; - -L_Diryn_Tulimshar: - if (zeny < 5000) goto L_NoMoney; - mes "[Diryn]"; - mes "\"Be fearless!\""; - set zeny, zeny-5000; - warp "001-1.gat",44,70; - close; - -L_Diryn_No: - mes "[Diryn]"; - mes "\"Perhaps some day you will have the courage to help us. Enjoy your stay here in Hurnscald.\""; - close; - -L_NoMoney: - mes "[Diryn]"; - mes "\"Sorry, you don't have enough. Maybe next time.\""; - close; - -} -- cgit v1.2.3-70-g09d2 From 3e1143cab2cd9aa18faf92ec0914f9a6608436bc Mon Sep 17 00:00:00 2001 From: MadCamel Date: Sat, 18 Sep 2010 15:02:36 -0400 Subject: New rule: Do not use more than one character at the same time during battle Was able to get a good translation by a human for every language except Danish and Polish. Discussion here: http://forums.themanaworld.org/viewtopic.php?f=23&t=10906 Feel free to revert this commit and discuss further if there are objections. --- npc/functions/game_rules.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'npc') diff --git a/npc/functions/game_rules.txt b/npc/functions/game_rules.txt index 2870a46d..09cce9ff 100644 --- a/npc/functions/game_rules.txt +++ b/npc/functions/game_rules.txt @@ -24,6 +24,7 @@ L_English: mes "4. No begging"; mes "5. Speak English on public chat"; mes "6. Treat others the same way you would like to be treated"; + mes "7. Do not use more than one character at the same time during battle"; next; mes "Botting will be determined by talking to players who are moving and/or attacking."; next; @@ -37,6 +38,7 @@ L_German: mes "4. Kein Betteln."; mes "5. Englisch ist die einzige zulaessige Sprache im oeffentlichen Raum."; mes "6. Behandelt andere so, wie Ihr behandelt werden wollt."; + mes "7. Kein Kampfen mit mehr als einem Charakter"; mes "Jegliche Regelverstoesse koennen bestraft werden, entweder durch ein Zuruecksetzen der Charaktereigenschaften und -besitztuemer auf den Ausgangszustand, oder durch einen temporaeren oder permanenten Ausschluss aus dem Spiel."; next; mes "Automatisiertes Spielverhalten liegt vor, wenn ein sich bewegender/kaempfender Spieler nicht intelligent auf Gespraechsaufforderungen reagiert."; @@ -51,6 +53,7 @@ L_Dutch: mes "4. Verboden te bedelen"; mes "5. Spreek Engels op de publieke chat"; mes "6. Behandel andere zoals ook jij behandeld wilt worden"; + mes "7. Gebruik niet meer dan 1 karakter tegelijkertijd tijdens het vechten"; next; mes "Botten word bepaald door te praten tegen spelers die aan het bewegen en/of aanvallen zijn."; next; @@ -64,6 +67,7 @@ L_Danish: mes "4. Det er forbudt at tigge (for eksempel: Maa jeg ikke nok faa dit svaerd, kom nu, vaer nu soed... og saa videre)"; mes "5. Det er forbudt at snakke andre sprog end Engelsk, i den aabne chat. (Dog er det lovligt ved at bruge foelgende kommandoen /whisper)"; mes "6. Husk at goere mod andre, som du vil have de skal goere imod dig (opfoer dig ordenligt!)"; + mes "7. Brug ikke mere end et tegn pa samme tidspunkt i lobet af kampen"; next; mes "Botting bliver fastlagt paa grundlag af, at man snakker til andre spillere, der gaar rundt og/eller der angriber og de ikke svare igen."; next; @@ -77,6 +81,7 @@ L_French: mes "4. Ne demandez pas d'items ou d'argent (les echanges doivent se faire de preference sur forums.themanaworld.org)"; mes "5. Parlez anglais dans les salons de discussions publics (principalement en ville)"; mes "6. Traitez les autres de la meme maniere que vous voudriez etre traite(e)"; + mes "7. N'utilisez pas plus d'un personnage a la fois pendant les combats"; next; mes "L'utilisation de \"bot\" sera determinee en parlant aux joueurs(ses) en train de bouger et/ou d'attaquer."; next; @@ -90,6 +95,7 @@ L_Spanish: mes "4. Esta prohibida cualquier forma de mendicidad"; mes "5. Hable solamente en Ingles en el chat publico"; mes "6. Trata a los demas de la misma manera que te gustaria ser tratado"; + mes "7. No usar mas de un personaje al mismo tiempo durante batalla"; next; mes "El uso de programas automaticos se investigara hablando con jugadores que esten moviendose y/o atacando."; next; @@ -103,6 +109,7 @@ L_Swedish: mes "4. Tigg inte"; mes "5. Prata bara engelska i den offentliga chatten"; mes "6. Behandla andra som du vill bli behandlad"; + mes "7. Anvand inte flera karaktarer samtidigt under strid"; next; mes "Hysta misstankar om bottande kontrolleras genom att prata med spelaren under dess kringvandrande eller attackerande."; next; @@ -116,6 +123,7 @@ L_Portuguese: mes "4. Pedintes serao ignorados, ou banidos."; mes "5. Fale ingles em lugares publicos."; mes "6. Trate os outros da mesma maneira que quer ser tratado(a)."; + mes "7. Nao use mais de um character durante uma luta"; next; mes "O \"botting\" sera determinado, falando com os jogadores que se movem e/ou atacam."; next; @@ -129,6 +137,7 @@ L_Polish: mes "4. Zabrania sie zebrania"; mes "5. Na publicznym kanale rozmawiamy po angielsku"; mes "6. Traktuj innych tak jak sam chcesz byc traktowany"; + mes "7. Nie stosowac wiecej niz jeden znak w tym samym czasie bitwy"; next; mes "Uzywanie botow zostanie okreslone na podstawie rozmow z innymi graczami podczas aktywnosci gracza."; next; @@ -142,6 +151,7 @@ L_Italian: mes "4. Vietato implorare"; mes "5. Parlare solo inglese nella chat pubblica"; mes "6. Tratta gli altri giocatori come vuoi che gli altri trattino te."; + mes "7. Non usare piu di un personaggio allo stesso temp durante un combattimento"; next; mes "I bot saranno determinati in base alle risposte e ai movimenti dei giocatori esaminati."; next; -- cgit v1.2.3-70-g09d2 From 7ac0665ecfdf8eb5c1db4939a59665e1a4ff2907 Mon Sep 17 00:00:00 2001 From: Stefan Dombrowski Date: Sat, 25 Sep 2010 21:24:51 +0200 Subject: Fixing misspelling in game rules --- npc/functions/game_rules.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'npc') diff --git a/npc/functions/game_rules.txt b/npc/functions/game_rules.txt index 09cce9ff..05fe2922 100644 --- a/npc/functions/game_rules.txt +++ b/npc/functions/game_rules.txt @@ -32,13 +32,13 @@ L_English: L_German: mes "Wir bitten um das Einhalten der folgenden Regeln:"; - mes "1. Keine Beleidigungen, Schimpfwoerter, Schmaehungen oder Rufmord"; + mes "1. Keine Beleidigungen, Schimpfwoerter, Schmaehungen oder Rufmord."; mes "2. Keine 'bots' (automatisierte Spieler). Dies beinhaltet JEGLICHE Teilnahme am Spiel waehrend der Abwesenheit des Spielers."; mes "3. Kein 'spamming' oder 'flooding' (schnelles Wiederholen von Nachrichten oder Aufforderungen zum Warenhandel)."; mes "4. Kein Betteln."; mes "5. Englisch ist die einzige zulaessige Sprache im oeffentlichen Raum."; mes "6. Behandelt andere so, wie Ihr behandelt werden wollt."; - mes "7. Kein Kampfen mit mehr als einem Charakter"; + mes "7. Kein Kaempfen mit mehr als einem Charakter."; mes "Jegliche Regelverstoesse koennen bestraft werden, entweder durch ein Zuruecksetzen der Charaktereigenschaften und -besitztuemer auf den Ausgangszustand, oder durch einen temporaeren oder permanenten Ausschluss aus dem Spiel."; next; mes "Automatisiertes Spielverhalten liegt vor, wenn ein sich bewegender/kaempfender Spieler nicht intelligent auf Gespraechsaufforderungen reagiert."; -- cgit v1.2.3-70-g09d2 From ed0075fcb386f8afe03b0a935835778c1ec846a1 Mon Sep 17 00:00:00 2001 From: Wombat Date: Wed, 29 Sep 2010 12:47:24 -0400 Subject: Tulimshar fixes by argul NPC bug fixes in early level quests on 001-1 map. --- npc/001-1_Tulimshar/mikhail.txt | 113 ++++++++++++++++++++-------------------- npc/001-1_Tulimshar/sarah.txt | 3 +- 2 files changed, 59 insertions(+), 57 deletions(-) (limited to 'npc') diff --git a/npc/001-1_Tulimshar/mikhail.txt b/npc/001-1_Tulimshar/mikhail.txt index 2ec8b50b..6514c07d 100644 --- a/npc/001-1_Tulimshar/mikhail.txt +++ b/npc/001-1_Tulimshar/mikhail.txt @@ -1,67 +1,68 @@ // -001-1.gat,50,46,0 script Mikhail 120,{ - if (TMW_Quest == 6) goto L_Done; - if (TMW_Quest == 5) goto L_Progress; - if (TMW_Quest == 4) goto L_Start; - if (TMW_Quest < 4) goto L_Convince_Mikhail_First; - - // If this happens, something is wrong with the above case handling. - mes "Mikhail looks confused."; - close; +001-1.gat,50,46,0 script Mikhail 120, { + if (TMW_Quest >= 6) goto L_Done; + if (TMW_Quest == 5) goto L_Progress; + if (TMW_Quest == 4) goto L_Start; + if (TMW_Quest < 4) goto L_Convince_Mikhail_First; + + // If this happens, something is wrong with the above case handling. + mes "Mikhail looks confused."; + close; L_Convince_Mikhail_First: - mes "[Mikhail]"; - mes "\"Hello...\""; - mes ""; - mes "It seems that the boy would like to say more, but does not dare to open up to you. Maybe you should help someone else first, so that he sees your intentions are good."; + mes "[Mikhail]"; + mes "\"Hello...\""; + mes ""; + mes "It seems that the boy would like to say more, but does not dare to open up to you. Maybe you should help someone else first, so that he sees your intentions are good."; + close; + +L_Start: + mes "[Mikhail]"; + mes "\"My grandma sent me to get five [Maggot Slime]s from the maggots in the desert, but they scare me so bad!\""; + next; + mes "\"You look like a nice person. Would you go get them for me?\""; + menu + "Of course, I'll go get them for you.", L_accept, + "I've got other things to do right now.", L_close; + close; -L_Start: - mes "[Mikhail]"; - mes "\"My grandma sent me to get five [Maggot Slime]s from the maggots in the desert, but they scare me so bad!\""; - next; - mes "\"You look like a nice person. Would you go get them for me?\""; - menu - "Of course, I'll go get them for you.", L_accept, - "I've got other things to do right now.", L_close; - close; - L_close: - close; - + close; + L_accept: - mes "[Mikhail]"; - mes "\"Thank you so much! I'll wait for you here.\""; - set TMW_Quest, 5; - close; - + mes "[Mikhail]"; + mes "\"Thank you so much! I'll wait for you here.\""; + set TMW_Quest, 5; + close; + L_Progress: - mes "[Mikhail]"; - mes "\"Did you bring me the five [Maggot Slime]s i need?\""; - next; - menu - "Yes, here they are, kiddo!", L_try, - "Not yet, but I'll be back soon.", L_close; - close; - + mes "[Mikhail]"; + mes "\"Did you bring me the five [Maggot Slime]s i need?\""; + next; + menu + "Yes, here they are, kiddo!", L_try, + "Not yet, but I'll be back soon.", L_close; + close; + L_try: - if countitem("MaggotSlime") >= 5 goto L_get; - mes "[Mikhail]"; - mes "\"It doesn't look like you have them all...\""; - close; - + if countitem("MaggotSlime") >= 5 goto L_get; + mes "[Mikhail]"; + mes "\"It doesn't look like you have them all...\""; + close; + L_get: - delitem "MaggotSlime", 5; - set TMW_Quest, 6; - mes "[Mikhail]"; - mes "\"Ooh! Thank you so much! I can get back to my grandma now!\""; - next; - getexp 100, 0; - mes "You get 100 xp."; - close; - + delitem "MaggotSlime", 5; + set TMW_Quest, 6; + mes "[Mikhail]"; + mes "\"Ooh! Thank you so much! I can get back to my grandma now!\""; + next; + getexp 100, 0; + mes "You get 100 xp."; + close; + L_Done: - mes "[Mikhail]"; - mes "\"Thanks again for helping me get those [Maggot Slime]s!\""; - close; - + mes "[Mikhail]"; + mes "\"Thanks again for helping me get those [Maggot Slime]s!\""; + close; +} diff --git a/npc/001-1_Tulimshar/sarah.txt b/npc/001-1_Tulimshar/sarah.txt index 86ed8db6..7a109fa6 100644 --- a/npc/001-1_Tulimshar/sarah.txt +++ b/npc/001-1_Tulimshar/sarah.txt @@ -17,7 +17,8 @@ L_Convince_Sarah_First: mes "\"The girl suddenly looks at you suspiciously.\""; next; mes "\"My mommy says not to talk to strangers!\""; - + close; + L_Start: set @TEMP, rand(2); -- cgit v1.2.3-70-g09d2 From 3dc13da84ef8237d8072deaa4ae595abcee5e15d Mon Sep 17 00:00:00 2001 From: Freeyorp Date: Sun, 3 Oct 2010 05:53:22 +1300 Subject: Critical fixes for Nicholas and Lora Tay --- npc/009-2_Hurnscald/nicholas.txt | 17 ++++++++++------- npc/010-2_Dimonds_Cove/loratay.txt | 6 ++++++ 2 files changed, 16 insertions(+), 7 deletions(-) (limited to 'npc') diff --git a/npc/009-2_Hurnscald/nicholas.txt b/npc/009-2_Hurnscald/nicholas.txt index 639b8be3..fe4af0c3 100644 --- a/npc/009-2_Hurnscald/nicholas.txt +++ b/npc/009-2_Hurnscald/nicholas.txt @@ -47,9 +47,9 @@ L_Check: mes "[Nicholas]"; mes "\"Let me take at look at how much you have...\""; next; - if ( (countitem("IngotIron")<3) | (countitem("Coal") < 6) ) goto L_NoItem; - if ( (countitem("IngotIron")<6) | (countitem("Coal") < 12) ) goto L_StageA; - if ( (countitem("IngotIron")<9) | (countitem("Coal") < 18) ) goto L_StageB; + if ( (countitem("IngotIron")<3) || (countitem("Coal") < 6) ) goto L_NoItem; + if ( (countitem("IngotIron")<6) || (countitem("Coal") < 12) ) goto L_StageA; + if ( (countitem("IngotIron")<9) || (countitem("Coal") < 18) ) goto L_StageB; goto L_StageC; L_Info: @@ -107,12 +107,12 @@ L_main_menu: L_main_menu_post_setzer: - if ( (countitem("IngotIron")<3) | (countitem("Coal") <6) ) goto L_no_more_helmets; + if ( (countitem("IngotIron")<3) || (countitem("Coal") <6) ) goto L_no_more_helmets; set @choice$[@choices_nr], "Knight's Helmet (3 Iron Ingots & 6 Coal)."; set @choice_idx[@choices_nr], @CHOICE_KNIGHT; set @choices_nr, 1 + @choices_nr; - if ( (countitem("IngotIron")<6) | (countitem("Coal") < 12) ) goto L_no_more_helmets; + if ( (countitem("IngotIron")<6) || (countitem("Coal") < 12) ) goto L_no_more_helmets; set @choice$[@choices_nr], "Crusade Helmet. (6 Iron Ingots & 12 Coal)"; set @choice_idx[@choices_nr], @CHOICE_CRUSADE; @@ -122,7 +122,7 @@ L_main_menu_post_setzer: set @choice_idx[@choices_nr], @CHOICE_SHIELD; set @choices_nr, 1 + @choices_nr; - if ( (countitem("IngotIron")<9) | (countitem("Coal") < 18) ) goto L_no_more_helmets; + if ( (countitem("IngotIron")<9) || (countitem("Coal") < 18) ) goto L_no_more_helmets; set @choice$[@choices_nr], "Warlord Helmet. (9 Iron Ingots & 18 Coal)"; set @choice_idx[@choices_nr], @CHOICE_WARLORD; @@ -173,6 +173,7 @@ L_NoMoney: L_YesKnight: if (zeny < 10000) goto L_NoMoney; + if ( (countitem("IngotIron")<3) || (countitem("Coal") < 6) ) goto L_NoItem; getinventorylist; if (@inventorylist_count == 100) goto L_TooMany; set zeny, zeny - 10000; @@ -183,6 +184,7 @@ L_YesKnight: L_YesCrusade: if (zeny < 10000) goto L_NoMoney; + if ( (countitem("IngotIron")<6) || (countitem("Coal") < 12) ) goto L_NoItem; getinventorylist; if (@inventorylist_count == 100) goto L_TooMany; set zeny, zeny-10000; @@ -193,6 +195,7 @@ L_YesCrusade: L_YesWarlord: if (zeny < 10000) goto L_NoMoney; + if ( (countitem("IngotIron")<9) || (countitem("Coal") < 18) ) goto L_NoItem; getinventorylist; if (@inventorylist_count == 100) goto L_TooMany; set zeny, zeny-10000; @@ -316,7 +319,7 @@ L_SetzerQuest: "HOW much? Nevermind then!", L_Pass; if (zeny < 50000) goto L_SetzerNoZeny; - if ( (countitem("IngotIron") < 3) | (countitem("Coal") < 6) ) goto L_SetzerNoIngot; + if ( (countitem("IngotIron") < 3) || (countitem("Coal") < 6) ) goto L_SetzerNoIngot; if (countitem("MonsterOilPotion") < 1) goto L_SetzerNoMonsterOil; if (countitem("ShortSword") < 1) goto L_SetzerNoSword; // No inventory check needed, as the short sword is removed, opening a slot diff --git a/npc/010-2_Dimonds_Cove/loratay.txt b/npc/010-2_Dimonds_Cove/loratay.txt index 47d5ea1d..c336de32 100644 --- a/npc/010-2_Dimonds_Cove/loratay.txt +++ b/npc/010-2_Dimonds_Cove/loratay.txt @@ -315,6 +315,9 @@ L_trim: if (@item >= 2100 && @item <= 2109) set @genitem, @item + 70; if (@genitem == 0) goto L_trim_impossible; if (zeny < 100) goto L_trim_nozeny; + + if (countitem(@delitem) < 1) + goto L_main_menu; delitem @delitem, 1; getitem @genitem, 1; @@ -368,6 +371,9 @@ L_lengthen: if (@genitem == 0) goto L_lengthen_impossible; if (zeny < 500) goto L_lengthen_nozeny; if (countitem ("CottonCloth") < 1) goto L_lengthen_nocotton; + + if (countitem(@delitem) < 1) + goto L_main_menu; delitem @delitem, 1; delitem "CottonCloth", 1; -- cgit v1.2.3-70-g09d2 From 3ab2089653f73d01bd6aa98073688c2d79b3650a Mon Sep 17 00:00:00 2001 From: Freeyorp Date: Sun, 3 Oct 2010 05:58:55 +1300 Subject: Make Nicholas mention that he requires coal for the setzer. --- npc/009-2_Hurnscald/nicholas.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'npc') diff --git a/npc/009-2_Hurnscald/nicholas.txt b/npc/009-2_Hurnscald/nicholas.txt index fe4af0c3..d0719430 100644 --- a/npc/009-2_Hurnscald/nicholas.txt +++ b/npc/009-2_Hurnscald/nicholas.txt @@ -308,7 +308,7 @@ L_SetzerQuest: if (@Q_SETZER_status & @SETZER_FLAG_MADE_SETZER) mes "\"Another one? Sure, why not.\""; mes "Nicholas examines your [Short Sword], then nods."; - mes "\"This is good quality. I can make something special out of it, with three ingot bars of iron and 50,000 GP -- but I will also need a potion of monster oil.\""; + mes "\"This is good quality. I can make something special out of it, with three ingot bars of iron, six lumps of coal and 50,000 GP -- but I will also need a potion of monster oil.\""; if (@Q_SETZER_status < @SETZER_KNOWS_OIL) set @Q_SETZER_status, @SETZER_KNOWS_OIL; callsub L_Update_Var; @@ -363,7 +363,7 @@ L_SetzerNoZeny: L_SetzerNoIngot: mes "[Nicholas]"; - mes "\"Without 3 ingots of iron, I can't improve your sword.\""; + mes "\"Without 3 ingots of iron, and six lumps of coal, I can't improve your sword.\""; close; L_SetzerNoMonsterOil: -- cgit v1.2.3-70-g09d2 From 055e0d35888626d7207caef9938d252739756486 Mon Sep 17 00:00:00 2001 From: Stefan Dombrowski Date: Thu, 21 Oct 2010 21:09:16 +0200 Subject: Removing the coal requirement for the steel shield in Nicholas' skript Nicholas did offer the steel shield only if you had 12 coals, but he did not charge any coal. --- npc/009-2_Hurnscald/nicholas.txt | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'npc') diff --git a/npc/009-2_Hurnscald/nicholas.txt b/npc/009-2_Hurnscald/nicholas.txt index d0719430..3241cc97 100644 --- a/npc/009-2_Hurnscald/nicholas.txt +++ b/npc/009-2_Hurnscald/nicholas.txt @@ -45,8 +45,9 @@ L_Check: mes "[Nicholas]"; - mes "\"Let me take at look at how much you have...\""; + mes "\"Let me take a look at how much you have...\""; next; + if ( (countitem("IngotIron")>5) && (countitem("Coal") < 6) ) goto L_StageShield; if ( (countitem("IngotIron")<3) || (countitem("Coal") < 6) ) goto L_NoItem; if ( (countitem("IngotIron")<6) || (countitem("Coal") < 12) ) goto L_StageA; if ( (countitem("IngotIron")<9) || (countitem("Coal") < 18) ) goto L_StageB; @@ -65,9 +66,16 @@ L_Pass: mes "\"Oh, okay. Come back any time.\""; close; +L_StageShield: + mes "[Nicholas]"; + mes "\"That's just enough for me to make you a [Steel Shield], but it'll cost you 20,000 GP and 6 [Iron Ingot]s.\""; + next; + goto L_main_menu; + L_StageA: mes "[Nicholas]"; - mes "\"That's just enough for me to make you a winged [Knight's Helmet], but it'll cost you 10,000GP, 6 [Coal] and 3 [Iron Ingot]s.\""; + mes "\"That's enough for me to make you a winged [Knight's Helmet], but it'll cost you 10,000GP, 6 [Coal] and 3 [Iron Ingot]s.\""; + if ( (countitem("IngotIron")>5) ) mes "\"I can also make you a [Steel Shield] for 20,000 GP and 6 [Iron Ingot]s.\""; next; goto L_main_menu; @@ -118,16 +126,19 @@ L_main_menu_post_setzer: set @choice_idx[@choices_nr], @CHOICE_CRUSADE; set @choices_nr, 1 + @choices_nr; - set @choice$[@choices_nr], "Steel Shield. (6 Iron Ingots)"; - set @choice_idx[@choices_nr], @CHOICE_SHIELD; - set @choices_nr, 1 + @choices_nr; - if ( (countitem("IngotIron")<9) || (countitem("Coal") < 18) ) goto L_no_more_helmets; set @choice$[@choices_nr], "Warlord Helmet. (9 Iron Ingots & 18 Coal)"; set @choice_idx[@choices_nr], @CHOICE_WARLORD; set @choices_nr, 1 + @choices_nr; + L_no_more_helmets: + if ( (countitem("IngotIron")<6) ) goto L_no_more_items; + set @choice$[@choices_nr], "Steel Shield. (6 Iron Ingots)"; + set @choice_idx[@choices_nr], @CHOICE_SHIELD; + set @choices_nr, 1 + @choices_nr; + +L_no_more_items: set @choice$[@choices_nr], "No thanks."; set @choice_idx[@choices_nr], @CHOICE_CANCEL; set @choices_nr, 1 + @choices_nr; -- cgit v1.2.3-70-g09d2 From 25483c444e2ae03e4b120ded937f03d5200d760c Mon Sep 17 00:00:00 2001 From: Stefan Dombrowski Date: Thu, 21 Oct 2010 23:07:01 +0200 Subject: Fixing Nicholas script and increasing odds of coal drops from Mogguns Nicholas now tell his customers that he charges coal. The odds of coal drops from Mogguns are increased from 6% to 10%. --- db/mob_db.txt | 2 +- npc/009-2_Hurnscald/nicholas.txt | 25 +++++++------------------ 2 files changed, 8 insertions(+), 19 deletions(-) (limited to 'npc') diff --git a/db/mob_db.txt b/db/mob_db.txt index dc2b439c..5362b67c 100644 --- a/db/mob_db.txt +++ b/db/mob_db.txt @@ -58,5 +58,5 @@ 1058, IceGoblin, Ice Goblin, 25, 330, 0, 0, 2, 1, 20, 25, 0, 5, 5, 5, 1, 0, 6, 30, 1, 1, 1, 3, 23, 133, 700, 1872, 672, 480, 505, 800, 501, 150, 518, 800, 502, 150, 521, 70, 522, 10, 701, 500, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 1059, GCMaggot, Giant Cave Maggot, 90, 2000, 0, 0, 16, 2, 60, 80, 2, 7, 10, 10, 2, 1, 22, 1, 2, 2, 1, 0, 41, 133, 1000, 1872, 672, 480, 727, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 1, 25 1060, Archant, Archant, 30, 400, 0, 0, 200, 1, 20, 30, 4, 6, 10, 5, 1, 0, 12, 10, 1, 1, 1, 0, 25, 133, 1000, 1500, 672, 480, 537, 300, 535, 100, 640, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 40 -1061, Moggun, Moggun, 60, 800, 0, 0, 100, 1, 70, 90, 20, 10, 50, 40, 10, 10, 10, 10, 1, 1, 1, 0, 25, 137, 600, 1500, 672, 480, 611, 600, 4001, 600, 4002, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 40 +1061, Moggun, Moggun, 60, 800, 0, 0, 100, 1, 70, 90, 20, 10, 50, 40, 10, 10, 10, 10, 1, 1, 1, 0, 25, 137, 600, 1500, 672, 480, 611, 600, 4001, 1000, 4002, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 40 1062, Terranite, Terranite, 110, 6000, 0, 0, 1000, 1, 200, 300, 20, 40, 60, 40, 40, 30, 60, 40, 1, 1, 1, 0, 29, 133, 400, 872, 672, 900, 4001, 600, 4004, 20, 4005, 20, 4007, 20, 763, 500, 640, 500, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 diff --git a/npc/009-2_Hurnscald/nicholas.txt b/npc/009-2_Hurnscald/nicholas.txt index 3241cc97..fccafbce 100644 --- a/npc/009-2_Hurnscald/nicholas.txt +++ b/npc/009-2_Hurnscald/nicholas.txt @@ -47,7 +47,6 @@ L_Check: mes "[Nicholas]"; mes "\"Let me take a look at how much you have...\""; next; - if ( (countitem("IngotIron")>5) && (countitem("Coal") < 6) ) goto L_StageShield; if ( (countitem("IngotIron")<3) || (countitem("Coal") < 6) ) goto L_NoItem; if ( (countitem("IngotIron")<6) || (countitem("Coal") < 12) ) goto L_StageA; if ( (countitem("IngotIron")<9) || (countitem("Coal") < 18) ) goto L_StageB; @@ -66,16 +65,9 @@ L_Pass: mes "\"Oh, okay. Come back any time.\""; close; -L_StageShield: - mes "[Nicholas]"; - mes "\"That's just enough for me to make you a [Steel Shield], but it'll cost you 20,000 GP and 6 [Iron Ingot]s.\""; - next; - goto L_main_menu; - L_StageA: mes "[Nicholas]"; - mes "\"That's enough for me to make you a winged [Knight's Helmet], but it'll cost you 10,000GP, 6 [Coal] and 3 [Iron Ingot]s.\""; - if ( (countitem("IngotIron")>5) ) mes "\"I can also make you a [Steel Shield] for 20,000 GP and 6 [Iron Ingot]s.\""; + mes "\"That's just enough for me to make you a winged [Knight's Helmet], but it'll cost you 10,000GP, 6 [Coal] and 3 [Iron Ingot]s.\""; next; goto L_main_menu; @@ -122,23 +114,20 @@ L_main_menu_post_setzer: if ( (countitem("IngotIron")<6) || (countitem("Coal") < 12) ) goto L_no_more_helmets; - set @choice$[@choices_nr], "Crusade Helmet. (6 Iron Ingots & 12 Coal)"; + set @choice$[@choices_nr], "Crusade Helmet (6 Iron Ingots & 12 Coal)."; set @choice_idx[@choices_nr], @CHOICE_CRUSADE; set @choices_nr, 1 + @choices_nr; + set @choice$[@choices_nr], "Steel Shield (6 Iron Ingots & 12 Coal)."; + set @choice_idx[@choices_nr], @CHOICE_SHIELD; + set @choices_nr, 1 + @choices_nr; + if ( (countitem("IngotIron")<9) || (countitem("Coal") < 18) ) goto L_no_more_helmets; - set @choice$[@choices_nr], "Warlord Helmet. (9 Iron Ingots & 18 Coal)"; + set @choice$[@choices_nr], "Warlord Helmet (9 Iron Ingots & 18 Coal)."; set @choice_idx[@choices_nr], @CHOICE_WARLORD; set @choices_nr, 1 + @choices_nr; - L_no_more_helmets: - if ( (countitem("IngotIron")<6) ) goto L_no_more_items; - set @choice$[@choices_nr], "Steel Shield. (6 Iron Ingots)"; - set @choice_idx[@choices_nr], @CHOICE_SHIELD; - set @choices_nr, 1 + @choices_nr; - -L_no_more_items: set @choice$[@choices_nr], "No thanks."; set @choice_idx[@choices_nr], @CHOICE_CANCEL; set @choices_nr, 1 + @choices_nr; -- cgit v1.2.3-70-g09d2 From 644eb90e7395c75d50992f7690c1542aadd58370 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Sun, 31 Oct 2010 14:22:09 +0100 Subject: fix in L_Update_Var in nicholas adding a missing @ --- npc/009-2_Hurnscald/nicholas.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'npc') diff --git a/npc/009-2_Hurnscald/nicholas.txt b/npc/009-2_Hurnscald/nicholas.txt index fccafbce..d3767a97 100644 --- a/npc/009-2_Hurnscald/nicholas.txt +++ b/npc/009-2_Hurnscald/nicholas.txt @@ -388,7 +388,7 @@ L_Done: L_Update_Var: set QUEST_Forestbow_state, - (QUEST_Forestbow_state & ~(@Q_SHIELD_MASK | Q_SETZER_MASK) + (QUEST_Forestbow_state & ~(@Q_SHIELD_MASK | @Q_SETZER_MASK) | (@Q_SHIELD_status << @Q_SHIELD_SHIFT) | (@Q_SETZER_status << @Q_SETZER_SHIFT)); return; -- cgit v1.2.3-70-g09d2 From 983ef272614dc2c1d0e6d0b776ce43c09b1518e9 Mon Sep 17 00:00:00 2001 From: Chuck Miller Date: Mon, 1 Nov 2010 19:58:00 -0400 Subject: Make the Fight Cave a bit easier and add Boss Points rewards --- npc/029-3_Fight_Cave/parua.txt | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) (limited to 'npc') diff --git a/npc/029-3_Fight_Cave/parua.txt b/npc/029-3_Fight_Cave/parua.txt index cdbfe064..12dccdd8 100644 --- a/npc/029-3_Fight_Cave/parua.txt +++ b/npc/029-3_Fight_Cave/parua.txt @@ -75,8 +75,11 @@ L_CaveLogic: L_NextRound: set $@FIGHT_CAVE_ROUND_TIMER, 0; - set $@FIGHT_CAVE_LEVEL, $@FIGHT_CAVE_LEVEL + $@FIGHT_CAVE_PLAYER_COUNT + ($@FIGHT_CAVE_LEVEL / 40); - if ($@FIGHT_CAVE_LEVEL >= 3000) goto L_CleanUp; + set $@FIGHT_CAVE_TEMP_UP, ($@FIGHT_CAVE_LEVEL / 10); + if ($@FIGHT_CAVE_TEMP_UP > 100) set $@FIGHT_CAVE_TEMP_UP, 100; + + set $@FIGHT_CAVE_LEVEL, $@FIGHT_CAVE_LEVEL + $@FIGHT_CAVE_PLAYER_COUNT + $@FIGHT_CAVE_TEMP_UP; + if ($@FIGHT_CAVE_LEVEL >= 2200) goto L_CleanUp; set $@FIGHT_CAVE_POINTS, $@FIGHT_CAVE_LEVEL; if ($@FIGHT_CAVE_LAST + 30 < $@FIGHT_CAVE_LEVEL) goto L_Announce; @@ -90,12 +93,12 @@ L_Return_2: set $@MOB_5_SUMMON, 0; set $@MOB_6_SUMMON, 0; L_Summon: - if ($@FIGHT_CAVE_POINTS >= 243 && $@MOB_1_SUMMON < 3) goto L_MOB1; - if ($@FIGHT_CAVE_POINTS >= 81 && $@MOB_2_SUMMON < 10) goto L_MOB2; - if ($@FIGHT_CAVE_POINTS >= 27 && $@MOB_3_SUMMON < 10) goto L_MOB3; - if ($@FIGHT_CAVE_POINTS >= 9 && $@MOB_4_SUMMON < 10) goto L_MOB4; - if ($@FIGHT_CAVE_POINTS >= 3 && $@MOB_5_SUMMON < 20) goto L_MOB5; - if ($@FIGHT_CAVE_POINTS >= 1 && $@MOB_6_SUMMON < 25) goto L_MOB6; + if ($@FIGHT_CAVE_POINTS >= 243 && $@MOB_1_SUMMON < 2) goto L_MOB1; + if ($@FIGHT_CAVE_POINTS >= 81 && $@MOB_2_SUMMON < 7) goto L_MOB2; + if ($@FIGHT_CAVE_POINTS >= 27 && $@MOB_3_SUMMON < 8) goto L_MOB3; + if ($@FIGHT_CAVE_POINTS >= 9 && $@MOB_4_SUMMON < 9) goto L_MOB4; + if ($@FIGHT_CAVE_POINTS >= 3 && $@MOB_5_SUMMON < 15) goto L_MOB5; + if ($@FIGHT_CAVE_POINTS >= 1 && $@MOB_6_SUMMON < 20) goto L_MOB6; goto L_Return_1; L_Announce: @@ -154,6 +157,7 @@ onInit: L_CleanUp: npctalk "Game Over"; mapannounce "029-1.gat", "Parua: The dungeon is now ready for its next victims.", 0; + areatimer "029-3.gat", 20, 20, 70, 60, 10, "Parua::onReward"; set $@FIGHT_CAVE_STATUS, 0; set $@FIGHT_CAVE_PLAYER_COUNT, 0; set $@FIGHT_CAVE_LEVEL, 1; @@ -163,4 +167,10 @@ L_CleanUp: setnpctimer 0; end; +onReward: + if (isdead(0)) end; + set BOSS_POINTS, BOSS_POINTS + 100; + message strcharinfo(0), "You gain 100 Boss Points giving you a total of " + BOSS_POINTS; + end; + } -- cgit v1.2.3-70-g09d2 From 1bf3a61d9ba0d66152ee98cb0c8eb9725b74382a Mon Sep 17 00:00:00 2001 From: Chuck Miller Date: Mon, 1 Nov 2010 21:15:54 -0400 Subject: Reduce the amount spawned on Candor fight cave some more --- npc/029-3_Fight_Cave/parua.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'npc') diff --git a/npc/029-3_Fight_Cave/parua.txt b/npc/029-3_Fight_Cave/parua.txt index 12dccdd8..60ea276e 100644 --- a/npc/029-3_Fight_Cave/parua.txt +++ b/npc/029-3_Fight_Cave/parua.txt @@ -94,11 +94,11 @@ L_Return_2: set $@MOB_6_SUMMON, 0; L_Summon: if ($@FIGHT_CAVE_POINTS >= 243 && $@MOB_1_SUMMON < 2) goto L_MOB1; - if ($@FIGHT_CAVE_POINTS >= 81 && $@MOB_2_SUMMON < 7) goto L_MOB2; - if ($@FIGHT_CAVE_POINTS >= 27 && $@MOB_3_SUMMON < 8) goto L_MOB3; - if ($@FIGHT_CAVE_POINTS >= 9 && $@MOB_4_SUMMON < 9) goto L_MOB4; - if ($@FIGHT_CAVE_POINTS >= 3 && $@MOB_5_SUMMON < 15) goto L_MOB5; - if ($@FIGHT_CAVE_POINTS >= 1 && $@MOB_6_SUMMON < 20) goto L_MOB6; + if ($@FIGHT_CAVE_POINTS >= 81 && $@MOB_2_SUMMON < 5) goto L_MOB2; + if ($@FIGHT_CAVE_POINTS >= 27 && $@MOB_3_SUMMON < 5) goto L_MOB3; + if ($@FIGHT_CAVE_POINTS >= 9 && $@MOB_4_SUMMON < 5) goto L_MOB4; + if ($@FIGHT_CAVE_POINTS >= 3 && $@MOB_5_SUMMON < 10) goto L_MOB5; + if ($@FIGHT_CAVE_POINTS >= 1 && $@MOB_6_SUMMON < 10) goto L_MOB6; goto L_Return_1; L_Announce: -- cgit v1.2.3-70-g09d2 From 0776b29837622f723a5998fafb9806ef0d851ed2 Mon Sep 17 00:00:00 2001 From: Chuck Miller Date: Mon, 1 Nov 2010 22:39:04 -0400 Subject: Make Candor a *bit* harder... I think I might look into redesigning the basic way it works in the future --- npc/029-3_Fight_Cave/parua.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'npc') diff --git a/npc/029-3_Fight_Cave/parua.txt b/npc/029-3_Fight_Cave/parua.txt index 60ea276e..bec4a055 100644 --- a/npc/029-3_Fight_Cave/parua.txt +++ b/npc/029-3_Fight_Cave/parua.txt @@ -94,11 +94,11 @@ L_Return_2: set $@MOB_6_SUMMON, 0; L_Summon: if ($@FIGHT_CAVE_POINTS >= 243 && $@MOB_1_SUMMON < 2) goto L_MOB1; - if ($@FIGHT_CAVE_POINTS >= 81 && $@MOB_2_SUMMON < 5) goto L_MOB2; + if ($@FIGHT_CAVE_POINTS >= 81 && $@MOB_2_SUMMON < 6) goto L_MOB2; if ($@FIGHT_CAVE_POINTS >= 27 && $@MOB_3_SUMMON < 5) goto L_MOB3; - if ($@FIGHT_CAVE_POINTS >= 9 && $@MOB_4_SUMMON < 5) goto L_MOB4; + if ($@FIGHT_CAVE_POINTS >= 9 && $@MOB_4_SUMMON < 7) goto L_MOB4; if ($@FIGHT_CAVE_POINTS >= 3 && $@MOB_5_SUMMON < 10) goto L_MOB5; - if ($@FIGHT_CAVE_POINTS >= 1 && $@MOB_6_SUMMON < 10) goto L_MOB6; + if ($@FIGHT_CAVE_POINTS >= 1 && $@MOB_6_SUMMON < 12) goto L_MOB6; goto L_Return_1; L_Announce: -- cgit v1.2.3-70-g09d2 From 5d5a220dff21afde34aa8e0fccd9fb76de294a9e Mon Sep 17 00:00:00 2001 From: Wombat Date: Wed, 1 Sep 2010 14:17:20 -0400 Subject: Data for new 11-6 map New 11-6 map, its warps and related changes --- data/011-4.wlk | Bin 22504 -> 22504 bytes data/011-6.wlk | Bin 0 -> 90004 bytes data/resnametable.txt | 1 + npc/011-1_Woodland/_warps.txt | 1 + npc/011-4_Lake_cave/_warps.txt | 10 ++++++++++ npc/011-6/_import.txt | 3 +++ npc/011-6/_mobs.txt | 7 +++++++ npc/011-6/_warps.txt | 25 +++++++++++++++++++++++++ npc/_import.txt | 1 + 9 files changed, 48 insertions(+) create mode 100644 data/011-6.wlk create mode 100644 npc/011-6/_import.txt create mode 100644 npc/011-6/_mobs.txt create mode 100644 npc/011-6/_warps.txt (limited to 'npc') diff --git a/data/011-4.wlk b/data/011-4.wlk index f5235d0d..82e32452 100644 Binary files a/data/011-4.wlk and b/data/011-4.wlk differ diff --git a/data/011-6.wlk b/data/011-6.wlk new file mode 100644 index 00000000..ffa230e7 Binary files /dev/null and b/data/011-6.wlk differ diff --git a/data/resnametable.txt b/data/resnametable.txt index 5e1d24c7..e015f45a 100644 --- a/data/resnametable.txt +++ b/data/resnametable.txt @@ -25,6 +25,7 @@ 011-3.gat#011-3.wlk# 011-4.gat#011-4.wlk# 011-5.gat#011-5.wlk# +011-6.gat#011-6.wlk# 012-1.gat#012-1.wlk# 012-3.gat#012-3.wlk# 012-4.gat#012-4.wlk# diff --git a/npc/011-1_Woodland/_warps.txt b/npc/011-1_Woodland/_warps.txt index 2cb1fd80..5a700e22 100644 --- a/npc/011-1_Woodland/_warps.txt +++ b/npc/011-1_Woodland/_warps.txt @@ -5,3 +5,4 @@ 011-1.gat,49,104 warp ToWoodland 0,-1,010-1.gat,50,25 011-1.gat,125,62 warp ToWoodland -1,2,008-1.gat,27,61 011-1.gat,73,11 warp ToWoodlandHills 0,-1,012-1.gat,131,162 +011-1.gat,38,36 warp affenpeter -1,-1,011-6.gat,49,99 diff --git a/npc/011-4_Lake_cave/_warps.txt b/npc/011-4_Lake_cave/_warps.txt index e0fe5a00..b3208950 100644 --- a/npc/011-4_Lake_cave/_warps.txt +++ b/npc/011-4_Lake_cave/_warps.txt @@ -2,3 +2,13 @@ 011-4.gat,73,8 warp ToHermitsCave 0,-1,011-3.gat,31,24 011-4.gat,129,86 warp ToCaveBeneathHurnscald -1,-1,009-3.gat,21,55 +011-4.gat,39,35 warp warp -1,-1,011-6.gat,47,183 +011-4.gat,16,57 warp warp -1,-1,011-6.gat,24,204 +011-4.gat,89,20 warp warp -1,-1,011-6.gat,97,168 +011-4.gat,105,32 warp warp -1,-1,011-6.gat,113,184 +011-4.gat,114,61 warp warp -1,-1,011-6.gat,122,213 +011-4.gat,86,75 warp warp -1,-1,011-6.gat,94,227 +011-4.gat,62,86 warp warp -1,-1,011-6.gat,68,233 +011-4.gat,111,121 warp toBigCave -1,-1,011-6.gat,251,275 +011-4.gat,32,5 warp warp 0,-1,011-6.gat,186,180 +011-4.gat,45,118 warp warp -1,-1,011-6.gat,266,180 diff --git a/npc/011-6/_import.txt b/npc/011-6/_import.txt new file mode 100644 index 00000000..10bf382d --- /dev/null +++ b/npc/011-6/_import.txt @@ -0,0 +1,3 @@ +map: 011-6.gat +npc: npc/011-6/_mobs.txt +npc: npc/011-6/_warps.txt diff --git a/npc/011-6/_mobs.txt b/npc/011-6/_mobs.txt new file mode 100644 index 00000000..dda63569 --- /dev/null +++ b/npc/011-6/_mobs.txt @@ -0,0 +1,7 @@ +// 011-6 mobs + + + +011-6.gat,0,0,0 script Mob011-6 -1,{ + end; +} diff --git a/npc/011-6/_warps.txt b/npc/011-6/_warps.txt new file mode 100644 index 00000000..7e3b6f5e --- /dev/null +++ b/npc/011-6/_warps.txt @@ -0,0 +1,25 @@ +// 011-6 warps + +011-6.gat,51,75 warp toMiddleCave1 -1,-1,011-6.gat,260,125 +011-6.gat,61,71 warp toMiddleCave2 -1,-1,011-6.gat,270,122 +011-6.gat,270,125 warp toMainCave -1,-1,011-6.gat,61,73 +011-6.gat,260,128 warp toMiddleCave2 -1,-1,011-6.gat,51,77 +011-6.gat,145,118 warp ToMainCave3 -1,-1,011-6.gat,47,119 +011-6.gat,196,26 warp toSmallCave1 -1,-1,011-6.gat,261,44 +011-6.gat,261,47 warp toPassage1 -1,-1,011-6.gat,196,28 +011-6.gat,271,52 warp toMainCave4 -1,-1,011-6.gat,98,32 +011-6.gat,98,30 warp toSmallCave -1,-1,011-6.gat,271,50 +011-6.gat,47,120 warp toPassage -1,-1,011-6.gat,145,115 +011-6.gat,49,101 warp toOutside -1,-1,011-1.gat,38,37 +011-6.gat,24,206 warp warp -1,-1,011-4.gat,17,59 +011-6.gat,47,185 warp warp -1,-1,011-4.gat,39,38 +011-6.gat,97,170 warp warp -1,-1,011-4.gat,89,21 +011-6.gat,113,182 warp warp -1,-1,011-4.gat,105,34 +011-6.gat,122,211 warp warp -1,-1,011-4.gat,114,63 +011-6.gat,94,225 warp warp -1,-1,011-4.gat,86,77 +011-6.gat,68,235 warp warp -1,-1,011-4.gat,62,87 +011-6.gat,251,278 warp warp -1,-1,011-4.gat,111,123 +011-6.gat,186,182 warp warp -1,-1,011-4.gat,31,7 +011-6.gat,266,182 warp warp -1,-1,011-4.gat,45,120 +011-6.gat,174,256 warp warp -1,-1,011-6.gat,264,238 +011-6.gat,264,236 warp warp -2,-2,011-6.gat,174,253 diff --git a/npc/_import.txt b/npc/_import.txt index 3639d180..f74feeb2 100644 --- a/npc/_import.txt +++ b/npc/_import.txt @@ -24,6 +24,7 @@ import: npc/011-1_Woodland/_import.txt import: npc/011-3_Hermits_cave/_import.txt import: npc/011-4_Lake_cave/_import.txt import: npc/011-5/_import.txt +import: npc/011-6/_import.txt import: npc/012-1_Woodland_Hills/_import.txt import: npc/012-3_Cave/_import.txt import: npc/012-4_Cave/_import.txt -- cgit v1.2.3-70-g09d2 From 4bb4c388174c9efb583852d27a6d67f603376eb8 Mon Sep 17 00:00:00 2001 From: Wombat Date: Wed, 13 Oct 2010 14:33:00 -0400 Subject: Bandit Quest and fixes to peter, mikhail Bandit quest changes, fixes to peter and mikhail, 011-6 mobs --- data/012-4.wlk | Bin 109204 -> 109204 bytes db/mob_db.txt | 4 +- npc/009-2_Hurnscald/_import.txt | 1 + npc/009-2_Hurnscald/lena.txt | 105 +++++++++++++++++++++++++++++++++++++ npc/009-2_Hurnscald/peter.txt | 6 ++- npc/011-4_Lake_cave/_import.txt | 1 + npc/011-4_Lake_cave/_warps.txt | 1 - npc/011-4_Lake_cave/bl_barrier.txt | 16 ++++++ npc/011-6/_import.txt | 1 + npc/011-6/_mobs.txt | 24 +++++++++ npc/011-6/_warps.txt | 2 +- npc/011-6/bryant.txt | 53 +++++++++++++++++++ 12 files changed, 208 insertions(+), 6 deletions(-) create mode 100644 npc/009-2_Hurnscald/lena.txt create mode 100644 npc/011-4_Lake_cave/bl_barrier.txt create mode 100644 npc/011-6/bryant.txt (limited to 'npc') diff --git a/data/012-4.wlk b/data/012-4.wlk index c5a61ec4..affeafe9 100644 Binary files a/data/012-4.wlk and b/data/012-4.wlk differ diff --git a/db/mob_db.txt b/db/mob_db.txt index 500a74d1..955fa961 100644 --- a/db/mob_db.txt +++ b/db/mob_db.txt @@ -60,8 +60,8 @@ 1060, Archant, Archant, 30, 400, 0, 0, 200, 1, 20, 30, 4, 6, 10, 5, 1, 0, 12, 10, 1, 1, 1, 0, 25, 133, 1000, 1500, 672, 480, 537, 300, 535, 100, 640, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 40 1061, Moggun, Moggun, 60, 800, 0, 0, 100, 1, 70, 90, 20, 10, 50, 40, 10, 10, 10, 10, 1, 1, 1, 0, 25, 137, 600, 1500, 672, 480, 611, 600, 4001, 1000, 4002, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 40 1062, Terranite, Terranite, 110, 6000, 0, 0, 1000, 1, 200, 300, 20, 40, 60, 40, 40, 30, 60, 40, 1, 1, 1, 0, 29, 133, 400, 872, 672, 900, 4001, 600, 4004, 20, 4005, 20, 4007, 20, 763, 500, 640, 500, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 -1063, Bandit, Bandit, 30, 500, 0, 0, 100, 1, 50, 50, 5, 0, 10, 10, 10, 10, 10, 10, 1, 1, 1, 0, 29, 135, 500, 872, 672, 900, 4016, 800, 521, 200, 526, 200, 535, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 -1064, BanditLord, Bandit Lord, 60, 3000, 0, 0, 120, 5, 60, 60, 15, 15, 15, 15, 15, 15, 15, 15, 1, 1, 1, 0, 29, 135, 400, 872, 672, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 +1063, Bandit, Bandit, 20, 400, 0, 0, 100, 1, 40, 40, 5, 0, 10, 10, 10, 10, 10, 10, 1, 1, 1, 0, 29, 135, 500, 1500, 672, 900, 4016, 800, 521, 200, 526, 200, 535, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 +1064, BanditLord, Bandit Lord, 40, 2000, 0, 0, 120, 5, 50, 50, 15, 15, 15, 15, 15, 15, 15, 15, 1, 1, 1, 0, 29, 135, 400, 1500, 672, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 1065, TheLost, The Lost, 30, 5000, 0, 0, 1000, 5, 260, 375, 10, 70, 5, 40, 10, 70, 70, 40, 4, 9, 1, 1, 69, 141, 500, 2000, 672, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 1111, Reaper, Reaper, 50, 55500, 0, 0, 10000, 12, 444, 555, 30, 80, 100, 200, 70, 120, 150, 80, 1, 50, 1, 1, 89, 165, 500, 1200, 800, 300, 777, 1000, 775, 500, 776, 100, 1221, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 1112, Scythe, Scythe, 40, 3000, 0, 0, 500, 1, 200, 350, 30, 10, 100, 250, 1, 1, 150, 90, 1, 50, 1, 0, 40, 133, 220, 700, 672, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 diff --git a/npc/009-2_Hurnscald/_import.txt b/npc/009-2_Hurnscald/_import.txt index 25d4868d..1ee969c2 100644 --- a/npc/009-2_Hurnscald/_import.txt +++ b/npc/009-2_Hurnscald/_import.txt @@ -7,6 +7,7 @@ npc: npc/009-2_Hurnscald/doctor.txt npc: npc/009-2_Hurnscald/drunks.txt npc: npc/009-2_Hurnscald/inspector.txt npc: npc/009-2_Hurnscald/kfahr.txt +npc: npc/009-2_Hurnscald/lena.txt npc: npc/009-2_Hurnscald/mapflags.txt npc: npc/009-2_Hurnscald/misc.txt npc: npc/009-2_Hurnscald/nicholas.txt diff --git a/npc/009-2_Hurnscald/lena.txt b/npc/009-2_Hurnscald/lena.txt new file mode 100644 index 00000000..a88da8da --- /dev/null +++ b/npc/009-2_Hurnscald/lena.txt @@ -0,0 +1,105 @@ +// Quest for Fairy Hat and Forest Armor + +009-2.gat,146,43,0 script Lena 182,{ + + if (TMW_Quest >= 46) goto L_Lena_Done; + if (TMW_Quest == 45) goto L_Lena_Success; + if (TMW_Quest == 44) goto L_Lena_Bandit_Leader_Fail; + if (TMW_Quest == 43) goto L_Lena_Bandit_Leader_Fail; + if (TMW_Quest == 42) goto L_Lena_Bandit_Leader; + if (TMW_Quest == 41) goto L_Lena_Fairy_Hat; + if (TMW_Quest == 40) && (baselevel >= 30) goto L_Lena_Start; + + mes "[Lena]"; + mes "\"I got ambushed by a group of bandits and one of them stabbed me pretty good. Hopefully I heal up soon so I can fight this menace.\""; + close; + +L_Lena_Start: + mes "[Lena]"; + mes "\"While wandering through the forest, I was ambushed by bandits. Though I got them all, one of them stabbed me pretty good. I'm still healing from that encounter. I'm worried that the bandit threat may spread.\""; + menu + "Don't worry, I can take out some of these scumbags.", L_Lena_Approves, + "I think I left my courage in another pair of pants. See you later!", L_Lena_No_Fan; + close; + +L_Lena_Approves: + set TMW_Quest, 41; + mes "[Lena]"; + mes "\"You look like you can handle yourself in a fight. If you can take on this scourge I'll reward you with a hat like mine. In order to prove your mettle, bring me 10 [Bandit Hood]s so I know they've met their match.\""; + areamonster "008-1.gat",25,60,40,65,"Bandit",1063,3, "::"; + areamonster "011-1.gat",35,40,65,60,"Bandit",1063,3, "::"; + close; + +L_Lena_No_Fan: + mes "[Lena]"; + mes "\"What will Hurnscald do if these bandits overrun the town? I hope you reconsider.\""; + close; + +L_Lena_Fairy_Hat: + if (countitem("BanditHood") < 10) goto L_Lena_NotEnough; + getinventorylist; + if (@inventorylist_count - (countitem("BanditHood")== 10) > 99) goto L_TooMany; + set TMW_Quest, 42; + delitem "BanditHood", 10; + getitem "FairyHat", 1; + mes "[Lena]"; + mes "\"Ah, you've brought me the [Bandit Hood]s. As promised, here is a hat like mine.\""; + next; + mes "\"Unfortunately, I feel this bandit threat may of grown. Perhaps they are being lead? I noticed many of them seem to hang around a cave just west of Hurnscald. If you could defeat their leader I know they will become less of a threat to Hurnscald. I'll reward you with armor like mine if you do. Sound like something you could do?\""; + menu + "Consider it done!", L_Lena_Bandit_Leader_Yes, + "Woah there, that sounds a bit harder than what I can suceed at.", L_Lena_NoWay; + close; + +L_Lena_NotEnough: + mes "[Lena]"; + mes "\"You don't have enough [Bandit Hood]s to prove you are taking care of this threat. Please come back with 10 [Bandit Hood]s to show you are taking care of these bandits.\""; + close; + +L_Lena_Bandit_Leader: + mes "[Lena]"; + mes "\"I feel this bandit threat may of grown. Perhaps they are being lead? I noticed many of them seem to hang around a cave just west of Hurnscald. If you could defeat their leader I know they will become less of a threat to Hurnscald. I'll reward you with armor like mine if you do. Sound like something you could do?\""; + menu + "Consider it done!", L_Lena_Bandit_Leader_Yes, + "Woah there, that sounds a bit harder than what I can succeed at.", L_Lena_NoWay; + close; + +L_Lena_Bandit_Leader_Yes: + set TMW_Quest, 43; + areamonster "008-1.gat",25,60,40,65,"Bandit",1063,3, "::"; + areamonster "011-1.gat",35,40,65,60,"Bandit",1063,3, "::"; + mes "[Lena]"; + mes "\"You have a brave heart. Though I know you can suceed on your own, I recommend finding others to help you defeat the bandit leader. I believe he could pose a significant threat to solitary individuals seeking to challenge him. Good luck!\""; + close; + +L_Lena_NoWay: + mes "[Lena]"; + mes "\"That is too bad. Feel free to return at any time. This bandit threat needs to be pushed back.\""; + close; + +L_Lena_Bandit_Leader_Fail: + set TMW_Quest, 43; + mes "[Lena]"; + mes "\"You haven't killed the bandit leader yet. This is a big problem. Please be careful.\""; + close; + +L_Lena_Success: + getinventorylist; + if (@inventorylist_count == 100) goto L_TooMany; + set TMW_Quest, 46; + getitem "ForestArmor", 1; + mes "[Lena]"; + mes "\"Excellent! You killed the bandit leader. Here is the armor as I promised you. Safe journeys!\""; + close; + +L_Lena_Done: + mes "[Lena]"; + mes "\"Thank you for all your help. With your efforts, we can only hope this scourge doesn't see a resurgence.\""; + close; + +L_TooMany: + mes "[Lena]"; + mes "\"You have too many items in your inventory. Please get rid of something so I can reward you.\""; + close; + +} diff --git a/npc/009-2_Hurnscald/peter.txt b/npc/009-2_Hurnscald/peter.txt index 85e31dc9..995bfc31 100644 --- a/npc/009-2_Hurnscald/peter.txt +++ b/npc/009-2_Hurnscald/peter.txt @@ -30,26 +30,28 @@ L_Peter_Chain_Mail: close; L_Peter_Light_Plate: - if (zeny < 20000) goto L_Peter_NotEnough_Zeny; + if (zeny < 50000) goto L_Peter_NotEnough_Zeny; if (countitem("IngotIron") < 10) goto L_Peter_NotEnough_Ingot; if (countitem("Coal") < 20) goto L_Peter_NotEnough_Coal; getinventorylist; if (@inventorylist_count == 100) goto L_Peter_TooMany; set zeny, zeny - 50000; delitem "IngotIron", 10; + delitem "Coal", 20; getitem "LightPlatemail", 1; mes "[Peter]"; mes "\"Here you go!\""; close; L_Peter_Warlord_Plate: - if (zeny < 20000) goto L_Peter_NotEnough_Zeny; + if (zeny < 100000) goto L_Peter_NotEnough_Zeny; if (countitem("IngotIron") < 15) goto L_Peter_NotEnough_Ingot; if (countitem("Coal") < 30) goto L_Peter_NotEnough_Coal; getinventorylist; if (@inventorylist_count == 100) goto L_Peter_TooMany; set zeny, zeny - 100000; delitem "IngotIron", 15; + delitem "Coal", 30; getitem "WarlordPlate", 1; mes "[Peter]"; mes "\"Here you go!\""; diff --git a/npc/011-4_Lake_cave/_import.txt b/npc/011-4_Lake_cave/_import.txt index f2cfbc87..fe6c5cfd 100644 --- a/npc/011-4_Lake_cave/_import.txt +++ b/npc/011-4_Lake_cave/_import.txt @@ -1,4 +1,5 @@ map: 011-4.gat npc: npc/011-4_Lake_cave/_mobs.txt npc: npc/011-4_Lake_cave/_warps.txt +npc: npc/011-4_Lake_cave/bl_barrier.txt npc: npc/011-4_Lake_cave/monsters.txt diff --git a/npc/011-4_Lake_cave/_warps.txt b/npc/011-4_Lake_cave/_warps.txt index b3208950..7f1c1b2a 100644 --- a/npc/011-4_Lake_cave/_warps.txt +++ b/npc/011-4_Lake_cave/_warps.txt @@ -9,6 +9,5 @@ 011-4.gat,114,61 warp warp -1,-1,011-6.gat,122,213 011-4.gat,86,75 warp warp -1,-1,011-6.gat,94,227 011-4.gat,62,86 warp warp -1,-1,011-6.gat,68,233 -011-4.gat,111,121 warp toBigCave -1,-1,011-6.gat,251,275 011-4.gat,32,5 warp warp 0,-1,011-6.gat,186,180 011-4.gat,45,118 warp warp -1,-1,011-6.gat,266,180 diff --git a/npc/011-4_Lake_cave/bl_barrier.txt b/npc/011-4_Lake_cave/bl_barrier.txt new file mode 100644 index 00000000..07b44999 --- /dev/null +++ b/npc/011-4_Lake_cave/bl_barrier.txt @@ -0,0 +1,16 @@ +//bandit lord barrier + +011-4.gat,111,121,0 script #BL_Barrier 127,0,0,{ + + if (TMW_Quest >= 44) goto L_Bandit_Lord_Barrier_Open; + + message strcharinfo(0), "This entrance appears to be locked."; + end; + + +L_Bandit_Lord_Barrier_Open: + message strcharinfo(0), "You insert the silver arrow key and unlock the entrance."; + warp "011-6.gat",251,275; + end; + +} diff --git a/npc/011-6/_import.txt b/npc/011-6/_import.txt index 10bf382d..ae38662c 100644 --- a/npc/011-6/_import.txt +++ b/npc/011-6/_import.txt @@ -1,3 +1,4 @@ map: 011-6.gat npc: npc/011-6/_mobs.txt npc: npc/011-6/_warps.txt +npc: npc/011-6/bryant.txt diff --git a/npc/011-6/_mobs.txt b/npc/011-6/_mobs.txt index dda63569..9b6fc0a5 100644 --- a/npc/011-6/_mobs.txt +++ b/npc/011-6/_mobs.txt @@ -1,7 +1,31 @@ // 011-6 mobs +011-6.gat,0,0,0,0 monster Spiky Mushroom 1019,30,30000,100000,Mob011-6::On1019 +011-6.gat,0,0,0,0 monster Evil Mushroom 1013,15,30000,100000,Mob011-6::On1013 +011-6.gat,115,79,191,110 monster Bandit 1063,8,30000,100000,Mob011-6::On1063 +011-6.gat,0,0,0,0 monster Bat 1017,30,30000,100000,Mob011-6::On1017 011-6.gat,0,0,0 script Mob011-6 -1,{ +On1013: + set @mobID, 1013; + callfunc "MobPoints"; + break; + +On1017: + set @mobID, 1017; + callfunc "MobPoints"; + break; + +On1019: + set @mobID, 1019; + callfunc "MobPoints"; + break; + +On1063: + set @mobID, 1063; + callfunc "MobPoints"; + break; + end; } diff --git a/npc/011-6/_warps.txt b/npc/011-6/_warps.txt index 7e3b6f5e..545bc386 100644 --- a/npc/011-6/_warps.txt +++ b/npc/011-6/_warps.txt @@ -22,4 +22,4 @@ 011-6.gat,186,182 warp warp -1,-1,011-4.gat,31,7 011-6.gat,266,182 warp warp -1,-1,011-4.gat,45,120 011-6.gat,174,256 warp warp -1,-1,011-6.gat,264,238 -011-6.gat,264,236 warp warp -2,-2,011-6.gat,174,253 +011-6.gat,264,236 warp warp -1,-1,011-6.gat,174,252 diff --git a/npc/011-6/bryant.txt b/npc/011-6/bryant.txt new file mode 100644 index 00000000..07c5453d --- /dev/null +++ b/npc/011-6/bryant.txt @@ -0,0 +1,53 @@ +//NPC to set the state for killing the bandit lord. + +011-6.gat,27,200,0 script Bryant 126,{ + + if (TMW_Quest >= 45) goto L_Bryant_Quiet; + if (TMW_Quest == 44) goto L_Bryant_Waits; + if (TMW_Quest == 43) goto L_Bryant_Summon; + + mes "[Bryant]"; + mes "\"I'm looking everywhere for the bandit leader. I can't seem to find him.\""; + close; + +L_Bryant_Summon: + mes "[Bryant]"; + mes "\"I ran into that bandit lord and he got me good. I'm going to stay here for a while and heal. He dropped this key. Take it. You might be able to handle him better than I could.\""; + next; + mes "Bryant gives you a key, shaped to look like a small silver arrow."; + next; + mes "\"I believe I saw him run into a cave south and east of here. There is a red carpet in front of the cave entrance. Be careful and good luck.\""; + set TMW_Quest, 44; + monster "011-6.gat",260,250,"BanditLord",1064,1, "Bryant::onBanditLordDead"; + close; + +onBanditLordDead: + set TMW_Quest, 45; + message strcharinfo(0), "You killed the bandit lord."; + end; + +L_Bryant_Waits: + mes "[Bryant]"; + mes "\"I think the bandit lord is still around. I fear this could be dangerous for the people of Hurnscald. When you went to the cave with the red carpet in front of it, did you find him and kill him?\""; + menu + "No.", L_Bryant_No, + "Yes.", L_Bryant_Yes; + close; + +L_Bryant_No: + mes "[Bryant]"; + mes "\"Well, maybe he ran off. I'm pretty sure he should be there now.\""; + killmonster "011-6.gat", "Bryant::onBanditLordDead"; + monster "011-6.gat",260,250,"BanditLord",1064,1, "Bryant::onBanditLordDead"; + close; + +L_Bryant_Yes: + mes "[Bryant]"; + mes "\"I don't think you killed him. Please try to find and kill him. He should be in the cave south and east of here with the red carpet in front of it.\""; + close; + +L_Bryant_Quiet: + mes "[Bryant]"; + mes "\"Glad that bandit leader got what was coming to him.\""; + close; +} -- cgit v1.2.3-70-g09d2 From 53bb3103e3a82c4f95b01b62449a0cec616871d5 Mon Sep 17 00:00:00 2001 From: Wombat Date: Mon, 25 Oct 2010 13:43:50 -0400 Subject: Added Orum quest and some files created via automapping Orum quest on 009-4 and files created from converting 012-4.tmx --- data/009-4.wlk | Bin 0 -> 25604 bytes data/012-4.wlk | Bin 109204 -> 109204 bytes data/resnametable.txt | 1 + db/item_db.txt | 3 + npc/009-4/_import.txt | 7 + npc/009-4/_mobs.txt | 29 +++ npc/009-4/_warps.txt | 46 ++++ npc/009-4/barriers.txt | 228 +++++++++++++++++++ npc/009-4/orum.txt | 607 +++++++++++++++++++++++++++++++++++++++++++++++++ npc/009-4/torches.txt | 357 +++++++++++++++++++++++++++++ npc/009-4/waric.txt | 91 ++++++++ npc/_import.txt | 1 + 12 files changed, 1370 insertions(+) create mode 100644 data/009-4.wlk create mode 100644 npc/009-4/_import.txt create mode 100644 npc/009-4/_mobs.txt create mode 100644 npc/009-4/_warps.txt create mode 100644 npc/009-4/barriers.txt create mode 100644 npc/009-4/orum.txt create mode 100644 npc/009-4/torches.txt create mode 100644 npc/009-4/waric.txt (limited to 'npc') diff --git a/data/009-4.wlk b/data/009-4.wlk new file mode 100644 index 00000000..5044671d Binary files /dev/null and b/data/009-4.wlk differ diff --git a/data/012-4.wlk b/data/012-4.wlk index affeafe9..31fcf7de 100644 Binary files a/data/012-4.wlk and b/data/012-4.wlk differ diff --git a/data/resnametable.txt b/data/resnametable.txt index e015f45a..3d45f566 100644 --- a/data/resnametable.txt +++ b/data/resnametable.txt @@ -19,6 +19,7 @@ 009-1.gat#009-1.wlk# 009-2.gat#009-2.wlk# 009-3.gat#009-3.wlk# +009-4.gat#009-4.wlk# 010-1.gat#010-1.wlk# 010-2.gat#010-2.wlk# 011-1.gat#011-1.wlk# diff --git a/db/item_db.txt b/db/item_db.txt index ce1d414e..c31395a8 100644 --- a/db/item_db.txt +++ b/db/item_db.txt @@ -531,3 +531,6 @@ 4014, RingSimple, Simple Ring, 5, 5000, 2500, 1, , 0, , 0, 0, 2, 128, , 0, 0, {}, {} 4015, IngotIron, Iron Ingot, 3, 500, 250, 200, , , , , , , , , , , {}, {} 4016, BanditHood, Bandit Hood, 3, 100, 50, 50, , , , , , , , , , , {}, {} +4017, RedPowder, Red Powder, 3, 3000, 5, 10, , , , , , 0, , , 0, , {}, {} +4018, YellowPowder, Yellow Powder, 3, 3000, 5, 10, , , , , , 0, , , 0, , {}, {} +4019, BluePowder, Blue Powder, 3, 3000, 5, 10, , , , , , 0, , , 0, , {}, {} diff --git a/npc/009-4/_import.txt b/npc/009-4/_import.txt new file mode 100644 index 00000000..0af62468 --- /dev/null +++ b/npc/009-4/_import.txt @@ -0,0 +1,7 @@ +map: 009-4.gat +npc: npc/009-4/_mobs.txt +npc: npc/009-4/_warps.txt +npc: npc/009-4/barriers.txt +npc: npc/009-4/orum.txt +npc: npc/009-4/torches.txt +npc: npc/009-4/waric.txt diff --git a/npc/009-4/_mobs.txt b/npc/009-4/_mobs.txt new file mode 100644 index 00000000..df580666 --- /dev/null +++ b/npc/009-4/_mobs.txt @@ -0,0 +1,29 @@ +// 009-4 Cave mobs + +// Cavern +009-4.gat,107,88,19,28 monster Silkworm 1035,3,20000,14000,Mob009-4::OnSilkworm +009-4.gat,107,88,19,28 monster Cave Snake 1021,5,20000,14000,Mob009-4::OnCaveSnake + +009-4.gat,119,45,5,3 monster Silkworm 1035,3,20000,14000,Mob009-4::OnSilkworm +009-4.gat,103,28,6,4 monster Cave Snake 1021,3,20000,14000,Mob009-4::OnCaveSnake +009-4.gat,103,28,6,4 monster Silkworm 1035,2,20000,14000,Mob009-4::OnSilkworm + +009-4.gat,36,117,4,4 monster Maggot 1002,3,20000,14000,Mob009-4::OnMaggot +009-4.gat,71,130,4,4 monster Maggot 1002,3,20000,14000,Mob009-4::OnMaggot + +009-4.gat,0,0,0 script Mob009-4 -1,{ +OnCaveSnake: + set @mobID, 1021; + callfunc "MobPoints"; + break; +OnMaggot: + set @mobID, 1002; + callfunc "MobPoints"; + break; +OnSilkworm: + set @mobID, 1035; + callfunc "MobPoints"; + break; + + end; +} \ No newline at end of file diff --git a/npc/009-4/_warps.txt b/npc/009-4/_warps.txt new file mode 100644 index 00000000..37edd8a7 --- /dev/null +++ b/npc/009-4/_warps.txt @@ -0,0 +1,46 @@ +// 009-4 Cave Warps + +// Entrances +009-4.gat,37,112 warp to Outside -1,-1,009-3.gat,162,114 +009-4.gat,37,123 warp to Lair -1,-1,009-4.gat,36,27 + +009-4.gat,72,125 warp to Outside -1,-1,009-3.gat,162,114 +009-4.gat,72,136 warp to Lair -1,-1,009-4.gat,36,27 + +// Caverns +009-4.gat,103,22 warp to Lair -1,-1,009-4.gat,51,46 +009-4.gat,103,76 warp to Lair -1,-1,009-4.gat,51,46 + +009-3.gat,162,113,0 script #OrumQuestEnter 0,0,0,{ + if (OrumQuest >= 12) goto L_Second_Entrance; + warp "009-4.gat", 37, 113; + close; + +L_Second_Entrance: + warp "009-4.gat", 72, 126; + close; +} +009-4.gat,36,26,0 script #LairExit 0,0,0,{ + if (OrumQuest >= 12) goto L_Second_Entrance; + warp "009-4.gat", 37, 122; + close; + +L_Second_Entrance: + warp "009-4.gat", 72, 135; + close; +} + +009-4.gat,51,47,0 script #CavernEnter 0,0,0,{ + if (OrumQuest >= 14) goto L_Second_Cavern; + if (OrumQuest < 12) goto L_See_Orum; + warp "009-4.gat", 103, 23; + close; + +L_Second_Cavern: + warp "009-4.gat", 103, 77; + close; + +L_See_Orum: + mes "Right as you are entering you hear Orum call out for you.. Perhaps you should see what he wants first.."; + close; +} \ No newline at end of file diff --git a/npc/009-4/barriers.txt b/npc/009-4/barriers.txt new file mode 100644 index 00000000..7dcb0b34 --- /dev/null +++ b/npc/009-4/barriers.txt @@ -0,0 +1,228 @@ +function script GetBarrierColor { + if (@Barrier < 0 || @Barrier > 2) goto L_Error; + + set @Mask, 15; + set @Shift, 4 * @Barrier; + set @BarrierColor, (OrumQuestBarrier >> @Shift) & @Mask; + return; + +L_Error: + mes "Barrier number is out of range."; + close; +} + +function script SetBarrierColor { + if (@Barrier < 0 || @Barrier > 2) goto L_Error; + if (@Color < 0 || @Color > 12) goto L_Error2; + + set @Mask, (15 << (4 * @Barrier)); + set OrumQuestBarrier, (OrumQuestBarrier & (~(@Mask))) | @Color << (4 * @Barrier); + return; + +L_Error: + mes "Barrier number is out of range."; + close; + +L_Error2: + mes "Barrier color is out of range."; + close; +} + + +// Starting Barrier / Quest Entrance +009-4.gat,37,120,0 script #OrumCaveStartBarrier 0,1,0,{ + + if (OrumQuest >= 3) close; + if (OrumQuest == 2) goto L_Started; + + warp "009-4.gat", 37, 118; + mes "As you try to pass, two torches begin to flare and push you back. They seem to form some kind of barrier.."; + close; + +L_Started: + message strcharinfo(0), "The torches dim as you approach, granting you passage."; + set OrumQuest, 3; + close; +} + +// First Barrier +009-4.gat,57,29,0 script #OrumCaveFirstBarrier 0,1,0,{ + + if (OrumQuest >= 5) close; + + message strcharinfo(0), "Nothing seems to happen as you enter this room.. The barrier must need both of its torches to function properly.."; + set OrumQuest, 5; + close; +} + +// Second Barrier +009-4.gat,61,54,0 script #OrumCaveSecondBarrier 0,1,0,{ + + if (OrumQuest == 3) set OrumQuest, 4; + + set @Barrier, 0; + callfunc("GetBarrierColor"); + set @Torch, 0; + callfunc("GetTorchColor"); + if (OrumQuest > 7 && @TorchColor == @BarrierColor) goto L_Allow_Second_Passage; + + warp "009-4.gat", 61, 56; + mes "As you try to pass, the torches begin to flare and push you back. Perhaps there's a way to get past it.."; + mes ""; + setarray @colors$,"transparent","red","dark orange","orange","light orange","yellow","light green","green","dark green","blue","dark purple","purple","light purple"; + mes "Looking closely between the two torches you can see the barrier has a " + @colors$[@BarrierColor] + " tint to it.."; + close; + +L_Allow_Second_Passage: + if (OrumQuest < 9) goto L_Advance_Quest; + close; + +L_Advance_Quest: + message strcharinfo(0), "The torches dim as you enter like the first. You must be on the right trail.."; + set OrumQuest, 9; + close; +} + +// Third Barrier +009-4.gat,24,66,0 script #OrumCaveThirdBarrier 0,1,0,{ + + if (OrumQuest == 3) set OrumQuest, 4; + + set @Barrier, 1; + callfunc("GetBarrierColor"); + + set @Torch, 0; + callfunc("GetTorchColor"); + set @Torch1Color, @TorchColor; + + set @Torch, 1; + callfunc("GetTorchColor"); + set @Torch2Color, @TorchColor; + + set @firstColor, @BarrierColor - 2; + set @secondColor, @BarrierColor + 2; + if (@firstColor < 1) set @firstColor, 12; + if (@secondColor > 12) set @secondColor, 1; + + if (OrumQuest > 8 && @Torch1Color == @firstColor && @Torch2Color == @secondColor) + goto L_Allow_Third_Passage; + if (OrumQuest > 8 && @Torch2Color == @firstColor && @Torch1Color == @secondColor) + goto L_Allow_Third_Passage; + + warp "009-4.gat", 24, 64; + mes "As you try to pass, the torches begin to flare and push you back. Perhaps there is a way to get past it.."; + mes ""; + setarray @colors$,"transparent","red","dark orange","orange","light orange","yellow","light green","green","dark green","blue","dark purple","purple","light purple"; + mes "Looking closely between the two torches you can see the barrier has a " + @colors$[@BarrierColor] + " tint to it.."; + close; + +L_Allow_Third_Passage: +if (OrumQuest < 10) goto L_Advance_Quest; + close; + +L_Advance_Quest: + set OrumQuest, 10; + close; +} + +// Ending Barrier +009-4.gat,48,38,0 script #OrumCaveEndBarrier 0,1,0,{ + + if (OrumQuest >= 11) close; + if (OrumQuest == 3) set OrumQuest, 4; + + set @Barrier, 2; + callfunc("GetBarrierColor"); + + if (OrumQuest < 10) goto L_Deny_Final_Passage; + + set @Torch, 0; + callfunc("GetTorchColor"); + set @Torch1Color, @TorchColor; + + set @Torch, 1; + callfunc("GetTorchColor"); + set @Torch2Color, @TorchColor; + + set @Torch, 2; + callfunc("GetTorchColor"); + set @Torch3Color, @TorchColor; + + // Extract the secondary color + set @secondary, @BarrierColor - 1; + if (@secondary != 3 && @secondary != 7 && @secondary != 11) + set @secondary, @BarrierColor + 1; + + // Make sure it's in bounds + if (@secondary > 12) set @secondary, 1; + if (@secondary < 1) set @secondary, 12; + + // Extract first 2 required colors + set @firstColor, @secondary - 2; + set @secondColor, @secondary + 2; + if (@firstColor > 12) set @firstColor, 1; + if (@firstColor < 1) set @firstColor, 12; + if (@secondColor > 12) set @secondColor, 1; + if (@secondColor < 1) set @secondColor, 12; + + set @thirdColor, 12; + set @offsetOne, @BarrierColor + 1; + set @offsetTwo, @BarrierColor - 1; + + // Make sure they in bounds + if (@offsetOne > 12) set @offsetOne, 1; + if (@offsetOne < 1) set @offsetOne, 12; + if (@offsetTwo > 12) set @offsetTwo, 1; + if (@offsetTwo < 1) set @offsetTwo, 12; + + // Extract third needed color + if (@secondary == @offsetOne) + set @thirdColor, @firstColor; + if (@secondary == @offsetTwo) + set @thirdColor, @secondColor; + + set @firstDone, 0; + set @secondDone, 0; + set @thirdDone, 0; + + if (@firstDone == 0 && @secondDone != 1 && @thirdDone != 1 && @Torch1Color == @firstColor) + set @firstDone, 1; + if (@firstDone != 1 && @secondDone == 0 && @thirdDone != 1 && @Torch1Color == @secondColor) + set @secondDone, 1; + if (@firstDone != 1 && @secondDone != 1 && @thirdDone == 0 && @Torch1Color == @thirdColor) + set @thirdDone, 1; + + if (@firstDone == 0 && @secondDone != 2 && @thirdDone != 2 && @Torch2Color == @firstColor) + set @firstDone, 2; + if (@firstDone != 2 && @secondDone == 0 && @thirdDone != 2 && @Torch2Color == @secondColor) + set @secondDone, 2; + if (@firstDone != 2 && @secondDone != 2 && @thirdDone == 0 && @Torch2Color == @thirdColor) + set @thirdDone, 2; + + if (@firstDone == 0 && @secondDone != 3 && @thirdDone != 3 && @Torch3Color == @firstColor) + set @firstDone, 3; + if (@firstDone != 3 && @secondDone == 0 && @thirdDone != 3 && @Torch3Color == @secondColor) + set @secondDone, 3; + if (@firstDone != 3 && @secondDone != 3 && @thirdDone == 0 && @Torch3Color == @thirdColor) + set @thirdDone, 3; + + if (@firstDone != 0 && @secondDone != 0 && @thirdDone != 0) goto L_Allow_Final_Passage; + goto L_Deny_Final_Passage; + +L_Deny_Final_Passage: + warp "009-4.gat", 48, 36; + mes "As you try to pass, the torches begin to flare and push you back. Perhaps there is a way to get past it.."; + mes ""; + setarray @colors$,"transparent","red","dark orange","orange","light orange","yellow","light green","green","dark green","blue","dark purple","purple","light purple"; + mes "Looking closely between the two torches you can see the barrier has a " + @colors$[@BarrierColor] + " tint to it.."; + close; + +L_Allow_Final_Passage: + if (OrumQuest < 11) goto L_Advance_Quest; + close; + +L_Advance_Quest: + message strcharinfo(0), "The torches dim as you enter. At last you finally have access!"; + set OrumQuest, 11; + close; +} diff --git a/npc/009-4/orum.txt b/npc/009-4/orum.txt new file mode 100644 index 00000000..a90d65a8 --- /dev/null +++ b/npc/009-4/orum.txt @@ -0,0 +1,607 @@ +//********************************************** +//** Orum/Waric Quest Part 1 - By Liana ** +//********************************************** + +009-4.gat,37,115,0 script Orum 158,{ + if (OrumQuest > 0) goto L_Started; + + mes "[Orum]"; + mes "\"It's not wise to venture around this place! Well hmm.. I guess since you're here, maybe you can lend a little help?\""; + next; + + menu + "What exactly is 'this place'?", L_Explain, + "Umm.. what kind of help?", L_Explain, + "You're right, I'll be on my way.", -; + + mes "[Orum]"; + mes "\"Very smart thinking!\""; + close; + +L_Explain: + mes "[Orum]"; + mes "\"Recently a woman claiming to be a witch came to my village seeking help from my mentor Woric, who is a very powerful wizard, but he refused and she left. But..\""; + next; + + mes "[Orum]"; + mes "\"The next day he went missing! I'm no wizard yet, but from what I overheard.. I think that witch is attempting some very foul magic and has kidnapped him for some reason!\""; + next; + + mes "[Orum]"; + mes "\"I traveled in the direction she left until I came accross this cave, but it appears to be protected by some type of magical barrier and I haven't been able to get further than this room.\""; + next; + + menu + "So where would I come in?", L_Explain_Barriers, + "I'd like to help but I have to go..", -; + + mes "[Orum]"; + mes "\"Thats too bad.. well if you ever have some free time I probably won't figure this out any time soon.\""; + close; + +L_Explain_Barriers: + mes "[Orum]"; + mes "\"I've examined this room and it appears that the barrier is made up of two torches on each side. The flame on them has a strange glow.. They must be inbued with magical properties.\""; + next; + + mes "[Orum]"; + mes "\"I've never come across anything like this barrier before.. It must be drawing it's power from the torches. I tried putting them out with conventional means but I had no luck..\""; + next; + + menu + "Have any other ideas on how we get past it?", L_Explain_Note, + "I think its meant to keep us out.. bye.", -; + + mes "[Orum]"; + mes "\"You may be right.. but she kidnapped Woric. I know it! So I must do something! If you ever change your mind I could sure use the help.\""; + close; + +L_Explain_Note: + mes "[Orum]"; + mes "\"Actually! After Woric went missing I looked around at his house a bit and came across a note the witch must have dropped. I skimmed over it and didn't pay much attention but I think it mentioned something about this barrier!\""; + next; + + mes "He pulls it out of his pocket and begins examining it.."; + next; + + mes "[Orum]"; + mes "\"Ah! Here it is! If I'm reading this right we may have found a way past it after all.. I guess she would need a way to come and go unaffected while everyone else is kept from entering.\""; + next; + + menu + "What does it say??", L_Explain_Aura, + "Looks like you can do this without me.", -; + + mes "[Orum]"; + mes "\"Eh... well I guess I can't force you to stay..\""; + close; + +L_Explain_Aura: + mes "[Orum]"; + mes "\"Appears to be some kind of spell to place a magical aura around someone... Hmm, with these materials listed on here I'm going to guess this aura makes the wearer partly incorporeal..\""; + next; + + mes "[Orum]"; + mes "\"It looks like the barrier requires substances from 3 different incorporeal creatures.. I've heard of Wisps, Poltergeists, and Spectres before but I've never seen such a thing.\""; + next; + + mes "[Orum]"; + mes "\"Luckily I happen to be skilled in this field of magic! I'm pretty sure if I can get my hands on the materials listed on here I'll be able to cast this aura on us, and hopefully then we can get past this barrier!\""; + next; + + menu + "Let me guess.. that is my job?", L_Offer_Quest, + "I think someone is calling me.. Bye", -; + close; + +L_Offer_Quest: + mes "[Orum]"; + mes "\"Well you would probably do better than me since I don't know this area very well.. It's not too much stuff so I'm sure you won't have any trouble at all.\""; + next; + + menu + "Alright alright, just give me a list.", L_Start_Quest, + "I'm not your servant! Bye.", -; + + mes "[Orum]"; + mes "\"Everyone answers to someone.. that's just how the world is. If you ever change your mind I'll probably be here forever gathering these materials on my own..\""; + close; + +L_Start_Quest: + mes "He pulls a crumpled peice of paper from his pocket, smooths it out and writes a list on it before handing it to you.."; + next; + + mes "4 Wisp Powders,"; + mes "2 Poltergeist Powders,"; + mes "1 Spectre Powders,"; + mes "2 Hard Spikes"; + next; + + menu + "Alright, I'll go get these.", L_Start_Gathering, + "You can forget it! I quit!", -; + + mes "[Orum]"; + mes "\"I know you'll be back... they always come back!\""; + close; + +L_Start_Gathering: + mes "[Orum]"; + mes "\"That's the spirit! But try not to take too long.\""; + set OrumQuest, 1; + close; + +L_Started: + if (OrumQuest == 1) goto L_Gathering; + if (OrumQuest == 2) goto L_Use_First_Barrier; + if (OrumQuest == 3) goto L_Explore; + if (OrumQuest == 4) goto L_Found_Barriers; + if (OrumQuest == 5) goto L_Found_Barriers; + if (OrumQuest == 6) goto L_Found_Torches; + if (OrumQuest == 7) goto L_Still_Gathering; + if (OrumQuest == 8) goto L_Finish_Up; + if (OrumQuest >= 9) goto L_Finished_Up; + close; + +L_Gathering: + mes "[Orum]"; + mes "\"Got all the things I asked for yet?\""; + next; + + menu + "Yep I have every last one of them!", L_Check_Materials, + "Can I get another list?", L_List_Materials, + "I still need a few things..", -; + + mes "Orum shakes his head in frustration.."; + next; + + mes "[Orum]"; + mes "\"You'd better get that stuff soon!\""; + close; + +L_List_Materials: + mes "He scavenges around in his pocket for another peice of paper then writes a new list.."; + next; + + mes "4 Wisp Powders,"; + mes "2 Poltergeist Powders,"; + mes "1 Spectre Powders,"; + mes "2 Hard Spikes"; + next; + + mes "[Orum]"; + mes "\"And try not to lose this one.. I'm running out of stuff to write on!\""; + close; + +L_Check_Materials: + if (countitem("WispPowder") < 4 || + countitem("PoltergeistPowder") < 2 || + countitem("SpectrePowder") < 1 || + countitem("HardSpike") < 2) goto L_Missing_Materials; + + mes "Orum carefully looks over all of the items then grins.."; + next; + + mes "[Orum]"; + mes "\"Well done! And you did not even take as long as I thought you would!\""; + next; + + mes "Orum takes the hard spikes in his hand and begins chanting some words.."; + next; + + mes "You watch as they begin mold together glowing brightly. He sprinkles in the powder you gathered and presses his hands together."; + delitem "WispPowder", 4; + delitem "PoltergeistPowder", 2; + delitem "SpectrePowder", 1; + delitem "HardSpike", 2; + misceffect sfx_magic_transmute; + next; + + mes "Suddenly a feeling of dizzyness hits you and you begin to feel weightless.. It passes after a moment.."; + misceffect sfx_magic_nature; + misceffect 11, strcharinfo(0); + next; + + mes "[Orum]"; + mes "\"Well we are both still in one peice so that is a good sign! Now we'll have to see if I did it right.. mind going first?\""; + goto L_Setup_Lair; + close; + +L_Missing_Materials: + mes "Orum carefully looks over all of the items then squints his eyes at you.."; + next; + + mes "[Orum]"; + mes "\"I'm not going to attempt this spell until I have ALL the items on this note.. Go gather the missing materials!\""; + close; + +L_Setup_Lair: + set OrumQuest, 2; + + // Second Barrier + set @temp, rand(1,6); + set @Color, 1; + if (@temp == 1 || @temp == 4) set @Color, 1; + if (@temp == 2 || @temp == 5) set @Color, 5; + if (@temp == 3 || @temp == 6) set @Color, 9; + set @Barrier, 0; + callfunc("SetBarrierColor"); + + set @Torch, 0; + set @Color, rand(1, 12); + set @Intensity, 0; + callfunc("SetTorchColor"); + callfunc("SetTorchIntensity"); + + // Third Barrier + set @temp, rand(1,6); + set @Color, 3; + if (@temp == 1 || @temp == 4) set @Color, 3; + if (@temp == 2 || @temp == 5) set @Color, 7; + if (@temp == 3 || @temp == 6) set @Color, 11; + set @Barrier, 1; + callfunc("SetBarrierColor"); + + set @Torch, 1; + set @Color, rand(1, 12); + callfunc("SetTorchColor"); + callfunc("SetTorchIntensity"); + + // End Barrier + set @temp, rand(1,12); + set @Color, 2; + if (@temp == 1 || @temp == 7) set @Color, 2; + if (@temp == 2 || @temp == 8) set @Color, 4; + if (@temp == 3 || @temp == 9) set @Color, 6; + if (@temp == 4 || @temp == 10) set @Color, 8; + if (@temp == 5 || @temp == 11) set @Color, 10; + if (@temp == 6 || @temp == 12) set @Color, 12; + set @Barrier, 2; + callfunc("SetBarrierColor"); + + set @Torch, 2; + set @Color, rand(1, 12); + callfunc("SetTorchColor"); + callfunc("SetTorchIntensity"); + close; + +L_Use_First_Barrier: + mes "[Orum]"; + mes "\"Casting that aura took a lot out of me.. Why don't you go explore the cave a bit while I rest?\""; + close; + +L_Explore: + mes "Orum looks up as you approach.."; + next; + + mes "[Orum]"; + mes "\"Find anything interesting in this place?\""; + next; + + menu + "Yep.. a whole mess of torches!", L_Explain_Objective, + "I'm not sure what to look for..", L_Explain_Objective, + "Going to explore more, bye.", -; + + mes "[Orum]"; + mes "\"Be sure to let me know if you find anything. I've almost gained my energy back.\""; + close; + +L_Explain_Objective: + mes "[Orum]"; + mes "\"I'm positive this is where that witch took Woric, so this cave must lead to somewhere. Try looking around for another exit. I've almost gained my energy back and then I can help.\""; + close; + +L_Found_Barriers: + mes "Orum looks up as you approach.."; + next; + + mes "[Orum]"; + mes "\"Find anything interesting in this place?\""; + next; + + menu + "Yep.. a whole mess of torches!", L_Explain_Objective, + "I'm not sure what to look for..", L_Explain_Objective, + "I found more barriers.. but..", L_Explain_Barriers_More, + "Going to explore more, bye.", -; + + mes "[Orum]"; + mes "\"Be sure to let me know if you find anything. I'm still gaining my energy back.\""; + close; + +L_Explain_Barriers_More: + mes "[Orum]"; + mes "\"Hm let me guess.. the aura is ineffective on the rest of the barriers here?\""; + next; + + menu + "How did you know..?", L_Explain_Note_More, + "I'm not sure, I'll go try again.", -; + + mes "[Orum]"; + mes "\"Always a good idea to double check things!\""; + close; + +L_Explain_Note_More: + mes "[Orum]"; + mes "\"Well while I was resting I spent more time looking over the note that witch dropped.. And I think the aura is only to get past the entrance..\""; + next; + + mes "[Orum]"; + mes "\"It mentions some sort of security system to keep people from entering the actual lair but it doesn't explain in great detail. Try exploring more maybe we will find some answers.\""; + next; + + mes "Orum continues examining the note.."; + close; + +L_Found_Torches: + mes "Orum looks up as you approach.."; + next; + + mes "[Orum]"; + mes "\"Find something interesting?\""; + next; + + menu + "Yep.. a whole mess of torches!", L_Explain_Objective, + "I'm not sure what to look for..", L_Explain_Objective, + "I found more barriers.. but..", L_Explain_Barriers_More, + "I found a strange torch by itself.", L_Explain_Torches, + "Going to explore more, bye.", -; + + mes "[Orum]"; + mes "\"Be sure to let me know if you find anything new.\""; + close; + +L_Explain_Torches: + mes "Orum has you direct him to the torch and he walks off to examine it before returning shortly after.."; + next; + + mes "[Orum]"; + mes "\"Ah yes! I was hoping we would find something like this!\""; + next; + + mes "[Orum]"; + mes "\"While examining the note I found another set of spells to create some type of powder and with them was a few notes on using it with some type of torch..\""; + next; + + mes "[Orum]"; + mes "\"I'll bet this torch has something to do with the rest of these barriers which are probably the security system this note mentions.\""; + next; + + mes "[Orum]"; + mes "\"We will probably need to transmute this powder before we can get any further past these barriers.. Would you mind gathering a few more materials?\""; + next; + + menu + "It better be the last time.", L_Gather_More, + "I'm done doing stuff for you!", -; + + mes "[Orum]"; + mes "\"I'm surprised you give up after we've gotten so far.. Shame.\""; + close; + +L_Gather_More: + mes "Orum begins writing down another list of materials.."; + next; + + mes "10 Piles of Iron Powder,"; + mes "10 Piles of Sand or Ash,"; + mes "15 Gamboge Herbs,"; + mes "15 Alizarin Herbs,"; + mes "15 Cobalt herbs"; + next; + + menu + "Yikes! I'll try..", L_Gathering_More, + "No way! Too much stuff!", -; + + mes "[Orum]"; + mes "\"The note says to get these and I'm not going to attempt this spell until I have what the note says.\""; + close; + +L_Gathering_More: + set OrumQuest, 7; + mes "[Orum]"; + mes "\"Wonderful! Try to make it quick, we must save Waric!\""; + close; + +L_Still_Gathering: + mes "[Orum]"; + mes "\"Have you finished gathering those things yet?\""; + next; + + menu + "I believe I have!", L_Finished_Gathering_More, + "I lost my list.. again..", L_List_Materials_More, + "I've almost got them all..", -; + + mes "[Orum]"; + mes "\"Don't make me remind you again! Waric's life is on the line here! Hurry up!\""; + close; + +L_List_Materials_More: + mes "He scavenges around in his pocket for another peice of paper then writes a new list.."; + next; + + mes "10 Piles of Iron Powder,"; + mes "10 Piles of Sand or Ash,"; + mes "15 Gamboge Herbs,"; + mes "15 Alizarin Herbs,"; + mes "15 Cobalt herbs"; + next; + + mes "[Orum]"; + mes "\"And try not to lose this one.. I don't have much more to write on!\""; + close; + + +L_Finished_Gathering_More: + if (countitem("IronPowder") < 10 || + countitem("PileOfAsh") < 10 || + countitem("GambogeHerb") < 15 || + countitem("AlizarinHerb") < 15 || + countitem("CobaltHerb") < 15) goto L_Missing_Materials_More; + + mes "[Orum]"; + mes "\"Excellent work! And once again you did not take as long as I was expecting. I guess I will get started..\""; + next; + + delitem "IronPowder", 10; + delitem "PileOfAsh", 10; + delitem "GambogeHerb", 15; + delitem "AlizarinHerb", 15; + delitem "CobaltHerb", 15; + + mes "You watch as Orum takes the iron powder and ash and begins chanting some words.. The two start to glow and mold together turning into a light metalic looking powder.."; + next; + misceffect sfx_magic_transmute; + + mes "He then splits the powder into three piles and performs separate spells on each using the herbs. After he finishes you see 3 piles of colored metalic powder that appear to be red, yellow, and blue.."; + next; + misceffect sfx_magic_transmute; + + mes "[Orum]"; + mes "\"Well if I did it right.. These three powders are hopefully the key to getting past these barriers!\""; + next; + + mes "[Orum]"; + mes "\"I'm weary, I must take some time to rest. Why don't you go ahead and experiment with these powders on that torch and let me know if you figure what they have to do with it.\""; + + getitem "RedPowder", 10; + getitem "YellowPowder", 10; + getitem "BluePowder", 10; + set OrumQuest, 8; + close; + +L_Missing_Materials_More: + mes "Orum carefully looks over all of the items then squints his eyes at you.."; + next; + + mes "[Orum]"; + mes "\"You really enjoy playing games with Warics' life don't you! Come back when you have ALL of the items I told you.\""; + close; + +L_Finish_Up: + mes "Orum seems to be sitting around doing nothing as you approach."; + next; + + mes "[Orum]"; + mes "\"Did you find a way past any of the barriers yet?\""; + next; + + menu + "No I'm still not sure how..", L_Explain_Torches_More, + "I need more of that powder.", L_More_Powder, + "I'm still trying..", -; + + mes "[Orum]"; + mes "\"Excellent! Let me know when you've made any progress.\""; + close; + +L_Explain_Torches_More: + mes "[Orum]"; + mes "\"Most of the barriers here have a certain color radiating from them and so do the torches. The torches seem to react with this powder so maybe we have to make these torches turn a certain color in order to lower the barriers.\""; + next; + + mes "[Orum]"; + mes "\"Also while looking around I saw that behind one of the barriers was a cave. Maybe Waric is in there.. we should try to get that barrier dropped\""; + close; + +L_More_Powder: + mes "[Orum]"; + mes "\"You really used up that powder fast.. Luckily I can make more as long as you can bring me those materials again.\""; + next; + + menu + "I have them right here!", L_More_Powder_Make, + "Hmmm.. what are they again?", L_List_Materials_More, + "I'll go get those for you..", -; + + mes "[Orum]"; + mes "\"You better not waste any time gathering those materials!\""; + close; + +L_More_Powder_Make: + if (countitem("IronPowder") < 10 || + countitem("PileOfAsh") < 10 || + countitem("GambogeHerb") < 15 || + countitem("AlizarinHerb") < 15 || + countitem("CobaltHerb") < 15) goto L_Missing_Materials_More; + + mes "[Orum]"; + mes "\"Hmm all of the items appear to be here.. Give me a moment to make that powder for you.\""; + next; + + delitem "IronPowder", 10; + delitem "PileOfAsh", 10; + delitem "GambogeHerb", 15; + delitem "AlizarinHerb", 15; + delitem "CobaltHerb", 15; + + mes "Orum begins chanting the same words as he did when he made the powder before.. He seems to be quicker at it this time.."; + misceffect sfx_magic_transmute; + next; + + mes "[Orum]"; + mes "\"Here you are. And try to conserve this time! The more powder I have to make the more time and resources we use up that we could be using to save Waric!\""; + + getitem "RedPowder", 10; + getitem "YellowPowder", 10; + getitem "BluePowder", 10; + close; + +L_Finished_Up: + mes "As you approch you think you see Orum rolling his eyes.. maybe your imagining it.."; + next; + + mes "[Orum]"; + mes "\"I hope you finally dropped that barrier we need to get past!\""; + next; + + menu + "Actually.. I have!", L_Enter_Cavern, + "I need more of that powder.", L_More_Powder, + "Cut me some slack! I'm working on it!", -; + + mes "[Orum]"; + mes "\"Just hurry it up! Warics life is on the line here!\""; + close; + +L_Enter_Cavern: + if (OrumQuest >= 10) goto L_Ready_Cavern; + + mes "Orum heads to the barrier then gives you a look as if he does not believe you before walking forward.."; + next; + + mes "He is suddently thrown againt the wall behind him! Angered, he gets up, brushes himself off, and heads back to the entrance without speaking."; + close; + +L_Ready_Cavern: + mes "Orum heads to the barrier then gives you a look as if he does not believe you before walking forward.."; + next; + + mes "He makes it through without any problems and grins."; + next; + + mes "[Orum]"; + mes "\"Very good work you have done! Please take this for your efforts.\""; + next; + + mes "[Insirt reward hir]"; + next; + + mes "\"You've done enough here to help. I will go the rest of the way alone so that your life is not endangered.. You must promise me not to go any further!\""; + next; + + menu + "Sure, I promise!", -, + "I thought this would never be over!", -; + + mes "[Orum]"; + mes "\"Well I guess this is farewell!\""; + set OrumQuest, 12; + close; +} diff --git a/npc/009-4/torches.txt b/npc/009-4/torches.txt new file mode 100644 index 00000000..d08e61db --- /dev/null +++ b/npc/009-4/torches.txt @@ -0,0 +1,357 @@ +function script GetTorchColor { + if (@Torch < 0 || @Torch > 2) goto L_Error; + + set @Mask, 15; + set @Shift, 4 * @Torch; + set @TorchColor, (OrumQuestTorch >> @Shift) & @Mask; + return; + +L_Error: + mes "Torch number is out of range."; + close; +} + +function script SetTorchColor { + if (@Torch < 0 || @Torch > 2) goto L_Error; + if (@Color < 0 || @Color > 12) goto L_Error2; + + set @Mask, (15 << (4 * @Torch)); + set OrumQuestTorch, (OrumQuestTorch & (~(@Mask))) | @Color << (4 * @Torch); + return; + +L_Error: + mes "Torch number is out of range."; + close; + +L_Error2: + mes "Torch color is out of range."; + close; +} + +function script GetTorchIntensity { + if (@Torch < 0 || @Torch > 2) goto L_Error; + + set @Mask, 15; + set @Shift, 4 * (@Torch + 3); + set @TorchIntensity, (OrumQuestTorch >> @Shift) & @Mask; + return; + +L_Error: + mes "Torch number is out of range."; + close; +} + +function script SetTorchIntensity { + if (@Torch < 0 || @Torch > 2) goto L_Error; + if (@Intensity < 0 || @Intensity > 2) goto L_Error2; + + set @Mask, (15 << (4 * (@Torch + 3))); + set OrumQuestTorch, (OrumQuestTorch & (~(@Mask))) | @Intensity << (4 * (@Torch + 3)); + return; + +L_Error: + mes "Torch number is out of range."; + close; + +L_Error2: + mes "Torch intensity is out of range."; + close; +} + +function script DoneWithTorches { + if (OrumQuest < 11 && OrumQuest >= 8) + return; + + if (OrumQuest < 7) goto L_Different; + + if (OrumQuest >= 11) + mes "The flame on the torch looks ordinary.. Lowering the final barrier seems to have drained them of their magic."; + + if (OrumQuest < 8) + mes "Without that powder the note mentions there isn't much you can do with this torch.."; + + close; + +L_Different: + mes "The flame on this torch looks different than the rest.. You better tell Orum about it before doing anything."; + set OrumQuest, 6; + close; +} + +// To make sure in range of torches +function script InRangeTorch1 { + if (isin("009-4.gat",67,20,69,25)) + return; + + mes "Your too far away to do anything with that torch."; + close; +} +function script InRangeTorch2 { + if (isin("009-4.gat",65,41,69,46)) + return; + + mes "Your too far away to do anything with that torch."; + close; +} +function script InRangeTorch3 { + if (isin("009-4.gat",33,84,37,88)) + return; + + mes "Your too far away to do anything with that torch."; + close; +} + +// First Torch +009-4.gat,68,21,0 script Torch 127,{ + callfunc "InRangeTorch1"; + callfunc "DoneWithTorches"; + + set @Torch, 0; + callfunc("GetTorchColor"); + callfunc("GetTorchIntensity"); + + set @lastColor, @TorchColor; + setarray @colors$,"transparent","red","dark orange","orange","light orange","yellow","light green","green","dark green","blue","dark purple","purple","light purple"; + setarray @intensities$,"calm","bright","blinding"; + mes "Looking closely you notice that this torch is not like the others.. This one has a " + @intensities$[@TorchIntensity] + " " + @colors$[@TorchColor] + " tint to it."; + goto L_Color_Loop; + +L_Color_Loop: + callfunc("GetTorchColor"); + menu + "Add Red Powder", L_Use_Red, + "Add Yellow Powder", L_Use_Yellow, + "Add Blue Powder", L_Use_Blue, + "Leave it alone.", -; + + mes "The flame flickers as if it's laughing at you.."; + close; + +L_Use_Red: + if (countitem("RedPowder") < 1) goto L_No_Powder; + if (@TorchColor > 6 && @TorchColor < 12) set @Color, @TorchColor + 1; + if (@TorchColor < 6 && @TorchColor > 1) set @Color, @TorchColor - 1; + if (@TorchColor == 12) set @Color, 1; + callfunc("SetTorchColor"); + delitem "RedPowder", 1; + goto L_Show_Color; + +L_Use_Yellow: + if (countitem("YellowPowder") < 1) goto L_No_Powder; + if (@TorchColor < 10 && @TorchColor > 5) set @Color, @TorchColor - 1; + if (@TorchColor >= 1 && @TorchColor < 5) set @Color, @TorchColor + 1; + callfunc("SetTorchColor"); + delitem "YellowPowder", 1; + goto L_Show_Color; + +L_Use_Blue: + if (countitem("BluePowder") < 1) goto L_No_Powder; + if (@TorchColor > 4 && @TorchColor < 9) set @Color, @TorchColor + 1; + if (@TorchColor <= 12 && @TorchColor > 9) set @Color, @TorchColor - 1; + if (@TorchColor == 1) set @Color, 12; + callfunc("SetTorchColor"); + delitem "BluePowder", 1; + goto L_Show_Color; + +L_No_Powder: + mes "You notice your all out of that color of powder.. Perhaps Orum can make you some more."; + close; + +L_Show_Color: + callfunc("GetTorchColor"); + callfunc("GetTorchIntensity"); + if (@TorchColor == @lastColor) goto L_Wrong_Color; + misceffect 5; + set @lastColor, @TorchColor; + mes "As your pour the powder into the flame you can see it's tint transform to a " + @intensities$[@TorchIntensity] + " " + @colors$[@TorchColor] + ".."; + goto L_Color_Loop; + +L_Wrong_Color: + set @Intensity, @TorchIntensity + 1; + callfunc("SetTorchIntensity"); + callfunc("GetTorchIntensity"); + if (@TorchIntensity > 2) goto L_Failed; + misceffect 5; + mes "As you pour the powder into the flame it flares violently for a moment and then turns into a " + @intensities$[@TorchIntensity] + " " + @colors$[@TorchColor] + ".."; + goto L_Color_Loop; + +L_Failed: + mes "As you pour the powder into the flame it flares violently before bursting into your face!"; + misceffect 5; + misceffect 16; + set @Intensity, 0; + callfunc("SetTorchIntensity"); + heal -Hp, 0; + close; +} + +// Second Torch +009-4.gat,67,42,0 script Torch 127,{ + callfunc "InRangeTorch2"; + callfunc "DoneWithTorches"; + + set @Torch, 1; + callfunc("GetTorchColor"); + callfunc("GetTorchIntensity"); + + set @lastColor, @TorchColor; + setarray @colors$,"transparent","red","dark orange","orange","light orange","yellow","light green","green","dark green","blue","dark purple","purple","light purple"; + mes "Looking closely you notice that this torch is not like the others.. This one has a " + @intensities$[@TorchIntensity] + " " + @colors$[@TorchColor] + " tint to it."; + goto L_Color_Loop; + +L_Color_Loop: + callfunc("GetTorchColor"); + menu + "Add Red Powder", L_Use_Red, + "Add Yellow Powder", L_Use_Yellow, + "Add Blue Powder", L_Use_Blue, + "Leave it alone.", -; + + mes "The flame flickers as if it's laughing at you.."; + close; + +L_Use_Red: + if (countitem("RedPowder") < 1) goto L_No_Powder; + if (@TorchColor > 6 && @TorchColor < 12) set @Color, @TorchColor + 1; + if (@TorchColor < 6 && @TorchColor > 1) set @Color, @TorchColor - 1; + if (@TorchColor == 12) set @Color, 1; + callfunc("SetTorchColor"); + delitem "RedPowder", 1; + goto L_Show_Color; + +L_Use_Yellow: + if (countitem("YellowPowder") < 1) goto L_No_Powder; + if (@TorchColor < 10 && @TorchColor > 5) set @Color, @TorchColor - 1; + if (@TorchColor >= 1 && @TorchColor < 5) set @Color, @TorchColor + 1; + callfunc("SetTorchColor"); + delitem "YellowPowder", 1; + goto L_Show_Color; + +L_Use_Blue: + if (countitem("BluePowder") < 1) goto L_No_Powder; + if (@TorchColor > 4 && @TorchColor < 9) set @Color, @TorchColor + 1; + if (@TorchColor <= 12 && @TorchColor > 9) set @Color, @TorchColor - 1; + if (@TorchColor == 1) set @Color, 12; + callfunc("SetTorchColor"); + delitem "BluePowder", 1; + goto L_Show_Color; + +L_No_Powder: + mes "You notice your all out of that color powder.. Perhaps Orum can make you some more."; + close; + +L_Show_Color: + callfunc("GetTorchColor"); + callfunc("GetTorchIntensity"); + if (@TorchColor == @lastColor) goto L_Wrong_Color; + misceffect 5; + set @lastColor, @TorchColor; + mes "As your pour the powder into the flame you can see it's tint transform to a " + @intensities$[@TorchIntensity] + " " + @colors$[@TorchColor] + ".."; + goto L_Color_Loop; + +L_Wrong_Color: + set @Intensity, @TorchIntensity + 1; + callfunc("SetTorchIntensity"); + callfunc("GetTorchIntensity"); + if (@TorchIntensity > 2) goto L_Failed; + misceffect 5; + mes "As you pour the powder into the flame it flares violently for a moment and then turns into a " + @intensities$[@TorchIntensity] + " " + @colors$[@TorchColor] + ".."; + goto L_Color_Loop; + +L_Failed: + mes "As you pour the powder into the flame it flares violently before bursting into your face!"; + misceffect 5; + misceffect 16; + set @Intensity, 0; + callfunc("SetTorchIntensity"); + heal -Hp, 0; + close; +} + +// Third Torch +009-4.gat,33,86,0 script Torch 127,{ + callfunc "InRangeTorch3"; + callfunc "DoneWithTorches"; + + set @Torch, 2; + callfunc("GetTorchColor"); + callfunc("GetTorchIntensity"); + + set @lastColor, @TorchColor; + setarray @colors$,"transparent","red","dark orange","orange","light orange","yellow","light green","green","dark green","blue","dark purple","purple","light purple"; + setarray @intensities$,"calm","bright","blinding"; + mes "Looking closely you notice that this torch is not like the others.. This one has a " + @intensities$[@TorchIntensity] + " " + @colors$[@TorchColor] + " tint to it."; + goto L_Color_Loop; + +L_Too_Far: + mes "Your too far away to do anything with that torch."; + close; + +L_Color_Loop: + callfunc("GetTorchColor"); + menu + "Add Red Powder", L_Use_Red, + "Add Yellow Powder", L_Use_Yellow, + "Add Blue Powder", L_Use_Blue, + "Leave it alone.", -; + + mes "The flame flickers as if it's laughing at you.."; + close; + +L_Use_Red: + if (countitem("RedPowder") < 1) goto L_No_Powder; + if (@TorchColor > 6 && @TorchColor < 12) set @Color, @TorchColor + 1; + if (@TorchColor < 6 && @TorchColor > 1) set @Color, @TorchColor - 1; + if (@TorchColor == 12) set @Color, 1; + callfunc("SetTorchColor"); + delitem "RedPowder", 1; + goto L_Show_Color; + +L_Use_Yellow: + if (countitem("YellowPowder") < 1) goto L_No_Powder; + if (@TorchColor < 10 && @TorchColor > 5) set @Color, @TorchColor - 1; + if (@TorchColor >= 1 && @TorchColor < 5) set @Color, @TorchColor + 1; + callfunc("SetTorchColor"); + delitem "YellowPowder", 1; + goto L_Show_Color; + +L_Use_Blue: + if (countitem("BluePowder") < 1) goto L_No_Powder; + if (@TorchColor > 4 && @TorchColor < 9) set @Color, @TorchColor + 1; + if (@TorchColor <= 12 && @TorchColor > 9) set @Color, @TorchColor - 1; + if (@TorchColor == 1) set @Color, 12; + callfunc("SetTorchColor"); + delitem "BluePowder", 1; + goto L_Show_Color; + +L_No_Powder: + mes "You notice your all out of that color powder.. Perhaps Orum can make you some more."; + close; + +L_Show_Color: + callfunc("GetTorchColor"); + callfunc("GetTorchIntensity"); + if (@TorchColor == @lastColor) goto L_Wrong_Color; + misceffect 5; + set @lastColor, @TorchColor; + mes "As your pour the powder into the flame you can see it's tint transform to a " + @intensities$[@TorchIntensity] + " " + @colors$[@TorchColor] + ".."; + goto L_Color_Loop; + +L_Wrong_Color: + set @Itensity, @TorchIntensity + 1; + callfunc("SetTorchIntensity"); + callfunc("GetTorchIntensity"); + if (@TorchIntensity > 2) goto L_Failed; + misceffect 5; + mes "As you pour the powder into the flame it flares violently for a moment and then turns into a " + @intensities$[@TorchIntensity] + " " + @colors$[@TorchColor] + ".."; + goto L_Color_Loop; + +L_Failed: + mes "As you pour the powder into the flame it flares violently before bursting into your face!"; + misceffect 5; + misceffect 16; + set @Intensity, 0; + callfunc("SetTorchIntensity"); + heal -Hp, 0; + close; +} \ No newline at end of file diff --git a/npc/009-4/waric.txt b/npc/009-4/waric.txt new file mode 100644 index 00000000..5fb9fd08 --- /dev/null +++ b/npc/009-4/waric.txt @@ -0,0 +1,91 @@ +009-4.gat,99,33,0 script #WizardTrap 0,2,1,{ + set @gender$, "They're"; + if (Sex == 0) set @gender$, "She's"; + if (Sex == 1) set @gender$, "He's"; + + mes "As you explore further into the cave you see a figure looking at you who appears angry.. but as you begin to speak, he quickly chants some words and you start to lose conciousness!"; + next; + warp "009-4.gat", 117, 40; + mes "When you awake you find yourself unable to move.. You seem to be held in place by something.. As your eyes regain focus you see Orum talking with the figure you saw earlier.. Orum looks over at you and mumbles"; + mes ""; + mes "[Orum]"; + mes "\"Be quiet Waric.. " + @gender$ + " awake..\""; + close; +} + +009-4.gat,120,43,0 script Orum 158,{ + mes "[Orum]"; + mes "\"I told you to forget about this place but you did not heed my advice!\""; + next; + mes "[Orum]"; + mes "\"Your fate is up to Waric now.. don't expect me to do anything else for you.\""; + close; +} + +009-4.gat,118,42,0 script Waric 153,{ + if (OrumQuest >= 13) goto L_Behave; + mes "Waric looks toward you rubbing his chin.."; + next; + mes "[Waric]"; + mes "\"So... Orum tells me your the one that helped him break me out of this dreadful place, so I guess I must thank you for that.\""; + next; + menu + "My pleasure! Mind letting me out of here?", L_Explain, + "This doesn't look like a thank you!", L_Explain, + "Let me out of here at once!", -; + + mes "Waric turns toward Orum.."; + next; + mes "[Waric]"; + mes "\"We've got a feisty one here Orum!\""; + next; + mes "They begin discussing plans of some sort.."; + set OrumQuest, 13; + close; + +L_Behave: + mes "Waric looks toward you shaking his finger.."; + next; + mes "[Waric]"; + mes "\"So... are you ready to behave yourself now?\""; + next; + menu + "Yes mister..", L_Explain, + "No I'm not ready yet!", -; + + mes "[Waric]"; + mes "\"Having fun I take it?\""; + next; + mes "They continue discussing their plans.."; + close; + +L_Explain: + mes "[Waric]"; + mes "\"I'm not sure what Orum told you but I was not kidnapped and brought here.. I was in fact imprisoned here very long ago by a witch for practicing spells on the insignificant forest life.\""; + next; + mes "[Waric]"; + mes "\"She cared about the forest and all of that stuff you see. Now this cave is not bad.. I actually enjoyed it the first nights, but after a few years...\""; + next; + mes "Waric gets a bitter look and his face and pauses for a moment.."; + next; + mes "[Waric]"; + mes "\"So now you can see my motive to get out of here. The only air and water I get is what's given to me through that cave over there. And as for food.. theres only so many recipes for cave snakes and silk worms...\""; + next; + mes "Waric shivers in disgust.."; + next; + mes "[Woric]"; + mes "\"I'm sorry I had to constrain you like this but now that I'm free, I'm not about to let anyone stand in my way!\""; + next; + mes "[Waric]"; + mes "\"Now if you'll excuse us, Orum and I have some things to attend to.. And don't bother coming back to stop us because we'll be long gone.\""; + next; + mes "Waric raises his hands and begins chanting some words.. You watch as streams of energy begin swirling around you.."; + next; + mes "Once more you start to lose conciousness as your surroundings begin to fade.."; + next; + set OrumQuest, 14; + misceffect 10; + warp "008-1.gat", 65, 90; + mes "You awake on your back with a squrrel sitting on top of you arranging it's acorns.. It quickly gathers them up and runs off as it sees you looking at it them.."; + close; +} \ No newline at end of file diff --git a/npc/_import.txt b/npc/_import.txt index f74feeb2..4349f76d 100644 --- a/npc/_import.txt +++ b/npc/_import.txt @@ -18,6 +18,7 @@ import: npc/008-1_Hurnscald_outskirts/_import.txt import: npc/009-1_Hurnscald/_import.txt import: npc/009-2_Hurnscald/_import.txt import: npc/009-3_Cave_beneath_Hurnscald/_import.txt +import: npc/009-4/_import.txt import: npc/010-1_Woodland/_import.txt import: npc/010-2_Dimonds_Cove/_import.txt import: npc/011-1_Woodland/_import.txt -- cgit v1.2.3-70-g09d2 From b22e05f982b19cc0ebca1e3ccf7d085beb5f7226 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Mon, 25 Oct 2010 23:46:43 +0200 Subject: fixed minor bugs in orum/waric * instead of "Intensity out of range" you die now. * spelling, only typos, no grammar corrected, since their grammar is weird. * header added to orum file. Not done: The bound checking is not corrected yet: Instead of : if (@offsetOne > 12) set @offsetOne, 1; if (@offsetOne < 1) set @offsetOne, 12; you should do: if (@offsetOne > 12) set @offsetOne, @offsetOne - 12; if (@offsetOne < 1) set @offsetOne, @offsetOne + 12; This can handle with steps bigger than 1. Collision layer of the bed in the empty cave must be fixed. Should there be hints how to setup the torches anyway? --- npc/009-4/_warps.txt | 2 +- npc/009-4/orum.txt | 170 ++++++++++++++++++++++++++++++++------------------ npc/009-4/torches.txt | 10 +-- npc/009-4/waric.txt | 2 +- 4 files changed, 116 insertions(+), 68 deletions(-) (limited to 'npc') diff --git a/npc/009-4/_warps.txt b/npc/009-4/_warps.txt index 37edd8a7..f7c99ff0 100644 --- a/npc/009-4/_warps.txt +++ b/npc/009-4/_warps.txt @@ -43,4 +43,4 @@ L_Second_Cavern: L_See_Orum: mes "Right as you are entering you hear Orum call out for you.. Perhaps you should see what he wants first.."; close; -} \ No newline at end of file +} diff --git a/npc/009-4/orum.txt b/npc/009-4/orum.txt index a90d65a8..fc2467ec 100644 --- a/npc/009-4/orum.txt +++ b/npc/009-4/orum.txt @@ -1,8 +1,30 @@ -//********************************************** -//** Orum/Waric Quest Part 1 - By Liana ** -//********************************************** +//################################################################################# +//# Orum/Waric Quest Part 1 - By Liana, reviewed by Stefan Beller # +//# GPL v.2 # +//# # +//# Used variables: # +//# # +//# OrumQuest stores the progress of the quest # +//# OrumQuestTorch In nibble (0,1,2) the color of the torches is stored # +//# In nibble (3,4,5) the intensity of the torches is stored # +//# OrumQuestBarrier nibble (0,1,2) stores the color of the barriers # +//################################################################################# 009-4.gat,37,115,0 script Orum 158,{ + // needed to pass the very first barrier + set @B0_WISPPOWDER, 4; + set @B0_POLTERGEISTPOWDER, 2; + set @B0_SPECTREPOWDER, 1; + set @B0_HARDSPIKES, 1; + + // needed stuff to get colorful powders + set @BT_IRONPOWDER, 10; + set @BT_PILESOFASH, 10; + set @BT_HERBS, 15; + + // how many colorful powders each do you get as reward? + set @BT_REWARDCOUNT, 10; + if (OrumQuest > 0) goto L_Started; mes "[Orum]"; @@ -108,13 +130,13 @@ L_Offer_Quest: close; L_Start_Quest: - mes "He pulls a crumpled peice of paper from his pocket, smooths it out and writes a list on it before handing it to you.."; + mes "He pulls a crumpled piece of paper from his pocket, smooths it out and writes a list on it before handing it to you.."; next; - mes "4 Wisp Powders,"; - mes "2 Poltergeist Powders,"; - mes "1 Spectre Powders,"; - mes "2 Hard Spikes"; + mes "" + @B0_WISPPOWDER + " Wisp Powders,"; + mes "" + @B0_POLTERGEISTPOWDER + " Poltergeist Powders,"; + mes "" + @B0_SPECTREPOWDER + " Spectre Powders,"; + mes "" + @B0_HARDSPIKES + " Hard Spikes"; next; menu @@ -161,13 +183,13 @@ L_Gathering: close; L_List_Materials: - mes "He scavenges around in his pocket for another peice of paper then writes a new list.."; + mes "He scavenges around in his pocket for another piece of paper then writes a new list.."; next; - mes "4 Wisp Powders,"; - mes "2 Poltergeist Powders,"; - mes "1 Spectre Powders,"; - mes "2 Hard Spikes"; + mes "" + @B0_WISPPOWDER + " Wisp Powders,"; + mes "" + @B0_POLTERGEISTPOWDER + " Poltergeist Powders,"; + mes "" + @B0_SPECTREPOWDER + " Spectre Powders,"; + mes "" + @B0_HARDSPIKES + " Hard Spikes"; next; mes "[Orum]"; @@ -175,10 +197,10 @@ L_List_Materials: close; L_Check_Materials: - if (countitem("WispPowder") < 4 || - countitem("PoltergeistPowder") < 2 || - countitem("SpectrePowder") < 1 || - countitem("HardSpike") < 2) goto L_Missing_Materials; + if (countitem("WispPowder") < @B0_WISPPOWDER || + countitem("PoltergeistPowder") < @B0_POLTERGEISTPOWDER || + countitem("SpectrePowder") < @B0_SPECTREPOWDER || + countitem("HardSpike") < @B0_HARDSPIKES) goto L_Missing_Materials; mes "Orum carefully looks over all of the items then grins.."; next; @@ -191,10 +213,18 @@ L_Check_Materials: next; mes "You watch as they begin mold together glowing brightly. He sprinkles in the powder you gathered and presses his hands together."; - delitem "WispPowder", 4; - delitem "PoltergeistPowder", 2; - delitem "SpectrePowder", 1; - delitem "HardSpike", 2; + + //check directly before deleting the objects, the player could have traded the stuff, after the first check. + if (countitem("WispPowder") < @B0_WISPPOWDER || + countitem("PoltergeistPowder") < @B0_POLTERGEISTPOWDER || + countitem("SpectrePowder") < @B0_SPECTREPOWDER || + countitem("HardSpike") < @B0_HARDSPIKES) goto L_Missing_Materials; + + delitem "WispPowder", @B0_WISPPOWDER; + delitem "PoltergeistPowder", @B0_POLTERGEISTPOWDER; + delitem "SpectrePowder", @B0_SPECTREPOWDER; + delitem "HardSpike", @B0_HARDSPIKES; + misceffect sfx_magic_transmute; next; @@ -204,7 +234,7 @@ L_Check_Materials: next; mes "[Orum]"; - mes "\"Well we are both still in one peice so that is a good sign! Now we'll have to see if I did it right.. mind going first?\""; + mes "\"Well we are both still in one piece so that is a good sign! Now we'll have to see if I did it right.. mind going first?\""; goto L_Setup_Lair; close; @@ -387,11 +417,11 @@ L_Gather_More: mes "Orum begins writing down another list of materials.."; next; - mes "10 Piles of Iron Powder,"; - mes "10 Piles of Sand or Ash,"; - mes "15 Gamboge Herbs,"; - mes "15 Alizarin Herbs,"; - mes "15 Cobalt herbs"; + mes @BT_IRONPOWDER + " Piles of Iron Powder,"; + mes @BT_PILESOFASH + " Piles of Sand or Ash,"; + mes @BT_HERBS + " Gamboge Herbs,"; + mes @BT_HERBS + " Alizarin Herbs,"; + mes @BT_HERBS + " Cobalt herbs"; next; menu @@ -423,37 +453,42 @@ L_Still_Gathering: close; L_List_Materials_More: - mes "He scavenges around in his pocket for another peice of paper then writes a new list.."; + mes "He scavenges around in his pocket for another piece of paper then writes a new list.."; next; - mes "10 Piles of Iron Powder,"; - mes "10 Piles of Sand or Ash,"; - mes "15 Gamboge Herbs,"; - mes "15 Alizarin Herbs,"; - mes "15 Cobalt herbs"; + mes @BT_IRONPOWDER + " Piles of Iron Powder,"; + mes @BT_PILESOFASH + " Piles of Sand or Ash,"; + mes @BT_HERBS + " Gamboge Herbs,"; + mes @BT_HERBS + " Alizarin Herbs,"; + mes @BT_HERBS + " Cobalt herbs"; next; mes "[Orum]"; mes "\"And try not to lose this one.. I don't have much more to write on!\""; close; - L_Finished_Gathering_More: - if (countitem("IronPowder") < 10 || - countitem("PileOfAsh") < 10 || - countitem("GambogeHerb") < 15 || - countitem("AlizarinHerb") < 15 || - countitem("CobaltHerb") < 15) goto L_Missing_Materials_More; + if (countitem("IronPowder") < @BT_IRONPOWDER || + countitem("PileOfAsh") < @BT_PILESOFASH || + countitem("GambogeHerb") < @BT_HERBS || + countitem("AlizarinHerb") < @BT_HERBS || + countitem("CobaltHerb") < @BT_HERBS) goto L_Missing_Materials_More; mes "[Orum]"; mes "\"Excellent work! And once again you did not take as long as I was expecting. I guess I will get started..\""; next; - delitem "IronPowder", 10; - delitem "PileOfAsh", 10; - delitem "GambogeHerb", 15; - delitem "AlizarinHerb", 15; - delitem "CobaltHerb", 15; + if (countitem("IronPowder") < @BT_IRONPOWDER || + countitem("PileOfAsh") < @BT_PILESOFASH || + countitem("GambogeHerb") < @BT_HERBS || + countitem("AlizarinHerb") < @BT_HERBS || + countitem("CobaltHerb") < @BT_HERBS) goto L_Missing_Materials_More; + + delitem "IronPowder", @BT_IRONPOWDER; + delitem "PileOfAsh", @BT_PILESOFASH; + delitem "GambogeHerb", @BT_HERBS; + delitem "AlizarinHerb", @BT_HERBS; + delitem "CobaltHerb", @BT_HERBS; mes "You watch as Orum takes the iron powder and ash and begins chanting some words.. The two start to glow and mold together turning into a light metalic looking powder.."; next; @@ -470,9 +505,9 @@ L_Finished_Gathering_More: mes "[Orum]"; mes "\"I'm weary, I must take some time to rest. Why don't you go ahead and experiment with these powders on that torch and let me know if you figure what they have to do with it.\""; - getitem "RedPowder", 10; - getitem "YellowPowder", 10; - getitem "BluePowder", 10; + getitem "RedPowder", @BT_REWARDCOUNT; + getitem "YellowPowder", @BT_REWARDCOUNT; + getitem "BluePowder", @BT_REWARDCOUNT; set OrumQuest, 8; close; @@ -525,21 +560,27 @@ L_More_Powder: close; L_More_Powder_Make: - if (countitem("IronPowder") < 10 || - countitem("PileOfAsh") < 10 || - countitem("GambogeHerb") < 15 || - countitem("AlizarinHerb") < 15 || - countitem("CobaltHerb") < 15) goto L_Missing_Materials_More; + if (countitem("IronPowder") < @BT_IRONPOWDER || + countitem("PileOfAsh") < @BT_PILESOFASH || + countitem("GambogeHerb") < @BT_HERBS || + countitem("AlizarinHerb") < @BT_HERBS || + countitem("CobaltHerb") < @BT_HERBS) goto L_Missing_Materials_More; mes "[Orum]"; mes "\"Hmm all of the items appear to be here.. Give me a moment to make that powder for you.\""; next; - delitem "IronPowder", 10; - delitem "PileOfAsh", 10; - delitem "GambogeHerb", 15; - delitem "AlizarinHerb", 15; - delitem "CobaltHerb", 15; + if (countitem("IronPowder") < @BT_IRONPOWDER || + countitem("PileOfAsh") < @BT_PILESOFASH || + countitem("GambogeHerb") < @BT_HERBS || + countitem("AlizarinHerb") < @BT_HERBS || + countitem("CobaltHerb") < @BT_HERBS) goto L_Missing_Materials_More; + + delitem "IronPowder", @BT_IRONPOWDER; + delitem "PileOfAsh", @BT_PILESOFASH; + delitem "GambogeHerb", @BT_HERBS; + delitem "AlizarinHerb", @BT_HERBS; + delitem "CobaltHerb", @BT_HERBS; mes "Orum begins chanting the same words as he did when he made the powder before.. He seems to be quicker at it this time.."; misceffect sfx_magic_transmute; @@ -548,9 +589,9 @@ L_More_Powder_Make: mes "[Orum]"; mes "\"Here you are. And try to conserve this time! The more powder I have to make the more time and resources we use up that we could be using to save Waric!\""; - getitem "RedPowder", 10; - getitem "YellowPowder", 10; - getitem "BluePowder", 10; + getitem "RedPowder", @BT_REWARDCOUNT; + getitem "YellowPowder", @BT_REWARDCOUNT; + getitem "BluePowder", @BT_REWARDCOUNT; close; L_Finished_Up: @@ -580,6 +621,9 @@ L_Enter_Cavern: close; L_Ready_Cavern: + // you should not get that twice ;) + if (OrumQuest == 12) goto L_Got_Reward; + mes "Orum heads to the barrier then gives you a look as if he does not believe you before walking forward.."; next; @@ -590,7 +634,7 @@ L_Ready_Cavern: mes "\"Very good work you have done! Please take this for your efforts.\""; next; - mes "[Insirt reward hir]"; + mes "TODO: [Insirt reward hir]"; next; mes "\"You've done enough here to help. I will go the rest of the way alone so that your life is not endangered.. You must promise me not to go any further!\""; @@ -604,4 +648,8 @@ L_Ready_Cavern: mes "\"Well I guess this is farewell!\""; set OrumQuest, 12; close; + +L_Got_Reward: + mes "\"You've done enough here to help. I will go the rest of the way alone so that your life is not endangered..\""; + next; } diff --git a/npc/009-4/torches.txt b/npc/009-4/torches.txt index d08e61db..2e8f4604 100644 --- a/npc/009-4/torches.txt +++ b/npc/009-4/torches.txt @@ -168,9 +168,9 @@ L_Show_Color: L_Wrong_Color: set @Intensity, @TorchIntensity + 1; + if (@Intensity > 2) goto L_Failed; callfunc("SetTorchIntensity"); callfunc("GetTorchIntensity"); - if (@TorchIntensity > 2) goto L_Failed; misceffect 5; mes "As you pour the powder into the flame it flares violently for a moment and then turns into a " + @intensities$[@TorchIntensity] + " " + @colors$[@TorchColor] + ".."; goto L_Color_Loop; @@ -251,9 +251,9 @@ L_Show_Color: L_Wrong_Color: set @Intensity, @TorchIntensity + 1; + if (@Intensity > 2) goto L_Failed; callfunc("SetTorchIntensity"); callfunc("GetTorchIntensity"); - if (@TorchIntensity > 2) goto L_Failed; misceffect 5; mes "As you pour the powder into the flame it flares violently for a moment and then turns into a " + @intensities$[@TorchIntensity] + " " + @colors$[@TorchColor] + ".."; goto L_Color_Loop; @@ -338,10 +338,10 @@ L_Show_Color: goto L_Color_Loop; L_Wrong_Color: - set @Itensity, @TorchIntensity + 1; + set @Intensity, @TorchIntensity + 1; + if (@Intensity > 2) goto L_Failed; callfunc("SetTorchIntensity"); callfunc("GetTorchIntensity"); - if (@TorchIntensity > 2) goto L_Failed; misceffect 5; mes "As you pour the powder into the flame it flares violently for a moment and then turns into a " + @intensities$[@TorchIntensity] + " " + @colors$[@TorchColor] + ".."; goto L_Color_Loop; @@ -354,4 +354,4 @@ L_Failed: callfunc("SetTorchIntensity"); heal -Hp, 0; close; -} \ No newline at end of file +} diff --git a/npc/009-4/waric.txt b/npc/009-4/waric.txt index 5fb9fd08..122fb2f7 100644 --- a/npc/009-4/waric.txt +++ b/npc/009-4/waric.txt @@ -88,4 +88,4 @@ L_Explain: warp "008-1.gat", 65, 90; mes "You awake on your back with a squrrel sitting on top of you arranging it's acorns.. It quickly gathers them up and runs off as it sees you looking at it them.."; close; -} \ No newline at end of file +} -- cgit v1.2.3-70-g09d2 From 0eb8928d17583cf5b5892efa5bce6c2a414b582e Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Tue, 26 Oct 2010 21:16:40 +0200 Subject: better bounds checking + comments in orum --- npc/009-4/_mobs.txt | 4 +-- npc/009-4/barriers.txt | 21 ++++++++------- npc/009-4/orum.txt | 73 ++++++++++++++++++++++++-------------------------- npc/009-4/torches.txt | 1 + npc/009-4/waric.txt | 4 +++ 5 files changed, 53 insertions(+), 50 deletions(-) (limited to 'npc') diff --git a/npc/009-4/_mobs.txt b/npc/009-4/_mobs.txt index df580666..71cf010f 100644 --- a/npc/009-4/_mobs.txt +++ b/npc/009-4/_mobs.txt @@ -1,5 +1,5 @@ // 009-4 Cave mobs - +// # see detailed description at orum.txt // Cavern 009-4.gat,107,88,19,28 monster Silkworm 1035,3,20000,14000,Mob009-4::OnSilkworm 009-4.gat,107,88,19,28 monster Cave Snake 1021,5,20000,14000,Mob009-4::OnCaveSnake @@ -26,4 +26,4 @@ OnSilkworm: break; end; -} \ No newline at end of file +} diff --git a/npc/009-4/barriers.txt b/npc/009-4/barriers.txt index 7dcb0b34..0185a2fd 100644 --- a/npc/009-4/barriers.txt +++ b/npc/009-4/barriers.txt @@ -1,3 +1,4 @@ +//# see detailed description at orum.txt function script GetBarrierColor { if (@Barrier < 0 || @Barrier > 2) goto L_Error; @@ -154,26 +155,26 @@ L_Advance_Quest: set @secondary, @BarrierColor + 1; // Make sure it's in bounds - if (@secondary > 12) set @secondary, 1; - if (@secondary < 1) set @secondary, 12; + if (@secondary > 12) set @secondary, @secondary - 12; + if (@secondary < 1) set @secondary, @secondary + 12; // Extract first 2 required colors set @firstColor, @secondary - 2; set @secondColor, @secondary + 2; - if (@firstColor > 12) set @firstColor, 1; - if (@firstColor < 1) set @firstColor, 12; - if (@secondColor > 12) set @secondColor, 1; - if (@secondColor < 1) set @secondColor, 12; + if (@firstColor > 12) set @firstColor, @firstColor - 12; + if (@firstColor < 1) set @firstColor, @firstColor + 12; + if (@secondColor > 12) set @secondColor, @secondColor - 12; + if (@secondColor < 1) set @secondColor, @secondColor + 12; set @thirdColor, 12; set @offsetOne, @BarrierColor + 1; set @offsetTwo, @BarrierColor - 1; // Make sure they in bounds - if (@offsetOne > 12) set @offsetOne, 1; - if (@offsetOne < 1) set @offsetOne, 12; - if (@offsetTwo > 12) set @offsetTwo, 1; - if (@offsetTwo < 1) set @offsetTwo, 12; + if (@offsetOne > 12) set @offsetOne, @offsetOne - 12; + if (@offsetOne < 1) set @offsetOne, @offsetOne + 12; + if (@offsetTwo > 12) set @offsetTwo, @offsetTwo - 12; + if (@offsetTwo < 1) set @offsetTwo, @offsetTwo + 12; // Extract third needed color if (@secondary == @offsetOne) diff --git a/npc/009-4/orum.txt b/npc/009-4/orum.txt index fc2467ec..cbc5e12f 100644 --- a/npc/009-4/orum.txt +++ b/npc/009-4/orum.txt @@ -1,6 +1,14 @@ //################################################################################# -//# Orum/Waric Quest Part 1 - By Liana, reviewed by Stefan Beller # -//# GPL v.2 # +//# Orum/Waric Quest Part 1 - By Liana, reviewed by Stefan Beller # +//# GPL v.2 # +//# # +//# The first quest is to find Waric in the Caves with lots of torches. # +//# These torches must be set in the right color to have access to the next # +//# room, guarded by a magical barrier of other torches. # +//# # +//# The second quest is an easy, but background-story telling quest. # +//# Just visit the cave again, find what is really in there. # +//# # //# # //# Used variables: # //# # @@ -25,6 +33,9 @@ // how many colorful powders each do you get as reward? set @BT_REWARDCOUNT, 10; + // no exp for breaking the barrier ? + set @EXP_BREAK_BARRIERS, 0; + if (OrumQuest > 0) goto L_Started; mes "[Orum]"; @@ -186,10 +197,10 @@ L_List_Materials: mes "He scavenges around in his pocket for another piece of paper then writes a new list.."; next; - mes "" + @B0_WISPPOWDER + " Wisp Powders,"; - mes "" + @B0_POLTERGEISTPOWDER + " Poltergeist Powders,"; - mes "" + @B0_SPECTREPOWDER + " Spectre Powders,"; - mes "" + @B0_HARDSPIKES + " Hard Spikes"; + mes @B0_WISPPOWDER + " Wisp Powders,"; + mes @B0_POLTERGEISTPOWDER + " Poltergeist Powders,"; + mes @B0_SPECTREPOWDER + " Spectre Powders,"; + mes @B0_HARDSPIKES + " Hard Spikes"; next; mes "[Orum]"; @@ -202,6 +213,12 @@ L_Check_Materials: countitem("SpectrePowder") < @B0_SPECTREPOWDER || countitem("HardSpike") < @B0_HARDSPIKES) goto L_Missing_Materials; + // check directly before deleting the objects. + delitem "WispPowder", @B0_WISPPOWDER; + delitem "PoltergeistPowder", @B0_POLTERGEISTPOWDER; + delitem "SpectrePowder", @B0_SPECTREPOWDER; + delitem "HardSpike", @B0_HARDSPIKES; + mes "Orum carefully looks over all of the items then grins.."; next; @@ -214,17 +231,6 @@ L_Check_Materials: mes "You watch as they begin mold together glowing brightly. He sprinkles in the powder you gathered and presses his hands together."; - //check directly before deleting the objects, the player could have traded the stuff, after the first check. - if (countitem("WispPowder") < @B0_WISPPOWDER || - countitem("PoltergeistPowder") < @B0_POLTERGEISTPOWDER || - countitem("SpectrePowder") < @B0_SPECTREPOWDER || - countitem("HardSpike") < @B0_HARDSPIKES) goto L_Missing_Materials; - - delitem "WispPowder", @B0_WISPPOWDER; - delitem "PoltergeistPowder", @B0_POLTERGEISTPOWDER; - delitem "SpectrePowder", @B0_SPECTREPOWDER; - delitem "HardSpike", @B0_HARDSPIKES; - misceffect sfx_magic_transmute; next; @@ -468,16 +474,6 @@ L_List_Materials_More: close; L_Finished_Gathering_More: - if (countitem("IronPowder") < @BT_IRONPOWDER || - countitem("PileOfAsh") < @BT_PILESOFASH || - countitem("GambogeHerb") < @BT_HERBS || - countitem("AlizarinHerb") < @BT_HERBS || - countitem("CobaltHerb") < @BT_HERBS) goto L_Missing_Materials_More; - - mes "[Orum]"; - mes "\"Excellent work! And once again you did not take as long as I was expecting. I guess I will get started..\""; - next; - if (countitem("IronPowder") < @BT_IRONPOWDER || countitem("PileOfAsh") < @BT_PILESOFASH || countitem("GambogeHerb") < @BT_HERBS || @@ -490,6 +486,10 @@ L_Finished_Gathering_More: delitem "AlizarinHerb", @BT_HERBS; delitem "CobaltHerb", @BT_HERBS; + mes "[Orum]"; + mes "\"Excellent work! And once again you did not take as long as I was expecting. I guess I will get started..\""; + next; + mes "You watch as Orum takes the iron powder and ash and begins chanting some words.. The two start to glow and mold together turning into a light metalic looking powder.."; next; misceffect sfx_magic_transmute; @@ -560,16 +560,6 @@ L_More_Powder: close; L_More_Powder_Make: - if (countitem("IronPowder") < @BT_IRONPOWDER || - countitem("PileOfAsh") < @BT_PILESOFASH || - countitem("GambogeHerb") < @BT_HERBS || - countitem("AlizarinHerb") < @BT_HERBS || - countitem("CobaltHerb") < @BT_HERBS) goto L_Missing_Materials_More; - - mes "[Orum]"; - mes "\"Hmm all of the items appear to be here.. Give me a moment to make that powder for you.\""; - next; - if (countitem("IronPowder") < @BT_IRONPOWDER || countitem("PileOfAsh") < @BT_PILESOFASH || countitem("GambogeHerb") < @BT_HERBS || @@ -582,6 +572,10 @@ L_More_Powder_Make: delitem "AlizarinHerb", @BT_HERBS; delitem "CobaltHerb", @BT_HERBS; + mes "[Orum]"; + mes "\"Hmm all of the items appear to be here.. Give me a moment to make that powder for you.\""; + next; + mes "Orum begins chanting the same words as he did when he made the powder before.. He seems to be quicker at it this time.."; misceffect sfx_magic_transmute; next; @@ -634,7 +628,10 @@ L_Ready_Cavern: mes "\"Very good work you have done! Please take this for your efforts.\""; next; - mes "TODO: [Insirt reward hir]"; + getexp @EXP_BREAK_BARRIERS, 0; + // TODO put item name and remove following line and this line as well! + getitem "", 1; + mes "[Insert reward here...]"; next; mes "\"You've done enough here to help. I will go the rest of the way alone so that your life is not endangered.. You must promise me not to go any further!\""; diff --git a/npc/009-4/torches.txt b/npc/009-4/torches.txt index 2e8f4604..d1ea73be 100644 --- a/npc/009-4/torches.txt +++ b/npc/009-4/torches.txt @@ -1,3 +1,4 @@ +//# see detailed description at orum.txt function script GetTorchColor { if (@Torch < 0 || @Torch > 2) goto L_Error; diff --git a/npc/009-4/waric.txt b/npc/009-4/waric.txt index 122fb2f7..b160dfbb 100644 --- a/npc/009-4/waric.txt +++ b/npc/009-4/waric.txt @@ -1,3 +1,5 @@ +//# see detailed description at orum.txt + 009-4.gat,99,33,0 script #WizardTrap 0,2,1,{ set @gender$, "They're"; if (Sex == 0) set @gender$, "She's"; @@ -23,6 +25,7 @@ } 009-4.gat,118,42,0 script Waric 153,{ + set @EXP_LEARNED_ALOT, 10000; if (OrumQuest >= 13) goto L_Behave; mes "Waric looks toward you rubbing his chin.."; next; @@ -87,5 +90,6 @@ L_Explain: misceffect 10; warp "008-1.gat", 65, 90; mes "You awake on your back with a squrrel sitting on top of you arranging it's acorns.. It quickly gathers them up and runs off as it sees you looking at it them.."; + getexp @EXP_LEARNED_ALOT, 0; close; } -- cgit v1.2.3-70-g09d2 From ca26d2be51cfa13ac52110fd0d0bbc78c3489f0d Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Wed, 27 Oct 2010 20:39:17 +0200 Subject: warningsigns at pvp entrance 012-4 --- data/012-3.wlk | Bin 109204 -> 109204 bytes npc/012-3_Cave/_import.txt | 1 + npc/012-3_Cave/warningsigns.txt | 18 ++++++++++++++++++ 3 files changed, 19 insertions(+) create mode 100644 npc/012-3_Cave/warningsigns.txt (limited to 'npc') diff --git a/data/012-3.wlk b/data/012-3.wlk index 7ad06ed0..2067e6fe 100644 Binary files a/data/012-3.wlk and b/data/012-3.wlk differ diff --git a/npc/012-3_Cave/_import.txt b/npc/012-3_Cave/_import.txt index 7d427ad8..09310f6e 100644 --- a/npc/012-3_Cave/_import.txt +++ b/npc/012-3_Cave/_import.txt @@ -3,3 +3,4 @@ npc: npc/012-3_Cave/_mobs.txt npc: npc/012-3_Cave/_warps.txt npc: npc/012-3_Cave/mana-seed.txt npc: npc/012-3_Cave/monsters.txt +npc: npc/012-3_Cave/warningsigns.txt diff --git a/npc/012-3_Cave/warningsigns.txt b/npc/012-3_Cave/warningsigns.txt new file mode 100644 index 00000000..6a71ad7e --- /dev/null +++ b/npc/012-3_Cave/warningsigns.txt @@ -0,0 +1,18 @@ +//warning signs at pvp entrance! + + +012-3.gat,445,61,0 script sign 187, { + mes "Your are about to enter a dangerous area!"; + next; + mes "This area has a great distance to town. So the protection spell of the town is not active in that cave!"; + mes "That is why other players are able to attack you."; + close; +} + +012-3.gat,451,61,0 script sign 186, { + mes "Your are about to enter a dangerous area!"; + next; + mes "This area has a great distance to town. So the protection spell of the town is not active in that cave!"; + mes "That is why other players are able to attack you."; + close; +} -- cgit v1.2.3-70-g09d2 From eb8ed91a4c55570208d1b030b4fcbb779ae6e64a Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Sun, 7 Nov 2010 00:16:01 +0100 Subject: Voltain a dark mage an evil mage trying to poison mouboos in 007-1 (south of Hurnscald) This is not a player attached quest-row, but an npc attached quest-row --- npc/007-1_Woodland/_import.txt | 1 + npc/007-1_Woodland/voltain.txt | 363 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 364 insertions(+) create mode 100644 npc/007-1_Woodland/voltain.txt (limited to 'npc') diff --git a/npc/007-1_Woodland/_import.txt b/npc/007-1_Woodland/_import.txt index 0b239a93..717c476b 100644 --- a/npc/007-1_Woodland/_import.txt +++ b/npc/007-1_Woodland/_import.txt @@ -1,3 +1,4 @@ map: 007-1.gat npc: npc/007-1_Woodland/_mobs.txt npc: npc/007-1_Woodland/_warps.txt +npc: npc/007-1_Woodland/voltain.txt diff --git a/npc/007-1_Woodland/voltain.txt b/npc/007-1_Woodland/voltain.txt new file mode 100644 index 00000000..76e49f1b --- /dev/null +++ b/npc/007-1_Woodland/voltain.txt @@ -0,0 +1,363 @@ +// # NPC Name: Voltain +// # LEAD AUTHOR: Pjotr Orial +// # AUTHORS: MrDudle, tarq, Salmondine, Jenalya, Pjotr Orial +// # REVIEWERS: Jenalya +// # +// # Basic Idea: A Person with lots of dark minds requires different stuff. +// # Basically he tries to figure out, how to poison moobous, since he doesn't like the nature at all +// # +// # The variables are not attached to a player but to an npc variable, so it is more or less random, which +// # quest comes up, when a player asks him. +// # +// # used Variables: global variable $state +// # $state = 0: bring bottles +// # $state = 1: bring black scorpion stinger +// # $state = 2: bring bug legs +// # $state = 3: bring another black scorpion stinger +// # $state = 4: bring mauve herbs +// # $state = 5: bring raw logs +// # $state = 6: bring red apples +// # $state = 7: bring cobalt herbs +// # $state = 8: bring snake tongues +// # $state = 9: bring alizarin herbs +// # $state = 10:bring steak +// # $state = 11: bring arrows +// # $state = 12: bring gamboge herbs +// # $state = 13 bring chocolate cake + +007-1.gat,37,21,0 script Voltain 103, { + +set @BOTTLE_NEEDED, 3; +set @BOTTLE_REWARD_XP, 100; +set @BOTTLE_REWARD_GOLD, 450; + +set @BLACK_SC_ST_NEEDED, 5; +set @BLACK_SC_ST_REWARD_XP, 500; +set @BLACK_SC_ST_REWARD_GOLD, 250; + +set @BUGLEG_NEEDED, 10; +set @BUGLEG_REWARD_XP, 200; +set @BUGLEG_REWARD_GOLD, 150; + +set @HERBS_NEEDED, 7; +set @HERBS_REWARD_XP, 200; +set @HERBS_REWARD_GOLD, 250; + +set @RAWLOG_NEEDED, 5; +set @RAWLOG_REWARD_XP, 330; +set @RAWLOG_REWARD_GOLD, 300; + +set @REDAPPLE_NEEDED, 7; +set @REDAPPLE_REWARD_XP, 330; +set @REDAPPLE_REWARD_GOLD, 300; + +set @STEAK_NEEDED, 2; +set @STEAK_REWARD_XP, 330; +set @STEAK_REWARD_GOLD, 280; + +set @ARROW_NEEDED, 25; +set @ARROW_REWARD_XP, 330; +set @ARROW_REWARD_GOLD, 100; + +set @SNAKETONGUE_NEEDED, 3; +set @SNAKETONGUE_REWARD_XP, 330; +set @SNAKETONGUE_REWARD_GOLD, 100; + +set @CHOCOLATECAKE_NEEDED, 3; +set @CHOCOLATECAKE_REWARD_XP, 330; +set @CHOCOLATECAKE_REWARD_GOLD, 180; + +if ($state == 1) goto state1; +if ($state == 2) goto state2; +if ($state == 3) goto state3; +if ($state == 4) goto state4; +if ($state == 5) goto state5; +if ($state == 6) goto state6; +if ($state == 7) goto state7; +if ($state == 8) goto state8; +if ($state == 9) goto state9; +if ($state == 10) goto state10; +if ($state == 11) goto state11; +if ($state == 12) goto state12; +if ($state == 13) goto state13; +// default: trap through to state0! + +state0: +mes "[Voltain]"; +mes "\"What are you doing bothering me? Can't you see I'm busy! Oh, I'm sorry, I thought you were my assistant. Never mind that... would you care to help me?\""; +next; + +menu + "Sure I do!", -, + "No, you creep me out.", L_NOHELP; + +mes "[Voltain]"; +mes "\"I'm working on a very special potion. I need some empty bottles to keep the ingredients in. Care to go find me " + @BOTTLE_NEEDED + " empty bottles?!\""; +next; + +menu + "I've got the bottles.", -, + "I don't feel like helping you get garbage...", L_CLOSE; + +if (countitem("EmptyBottle") < @BOTTLE_NEEDED) goto L_NOT_ENOUGH; + delitem "EmptyBottle", @BOTTLE_NEEDED; + set zeny, zeny + @BOTTLE_REWARD_GOLD; + getexp @BOTTLE_REWARD_XP, 0; + set $state, 1; + mes "\"Thanks for the bottles. Much easier to carry liquid in them.\""; + close; + +state1: +mes "[Voltain]"; +mes "\"I'm making a potion that requires lots of venom. I'm in need of " + @BLACK_SC_ST_NEEDED + " black scorpion stingers.\""; +next; + +menu + "I've got the stingers!", -, + "I'll go search for the them.", L_CLOSE; + +mes "[Voltain]"; + if (countitem("BlackScorpionStinger") < @BLACK_SC_ST_NEEDED) goto L_NOT_ENOUGH; + delitem "BlackScorpionStinger", @BLACK_SC_ST_NEEDED; + set zeny, zeny + @BLACK_SC_ST_REWARD_GOLD; + getexp @BLACK_SC_ST_REWARD_XP, 0; + set $state, 2; + mes "\"Well, since you went to the trouble of getting me these here's a little something for your time...\""; + close; + + +state2: +mes "[Voltain]"; +mes "\"Care to to help me with my potion? I need " + @BUGLEG_NEEDED + " bug legs so that I can thicken the potion.\""; +next; + +menu + "I've got the bug legs.", -, + "I'd rather not carry around dead bugs for you.", L_NOHELP ; + +mes "[Voltain]"; + if (countitem("BugLeg") < @BUGLEG_NEEDED) goto L_NOT_ENOUGH; + delitem "BugLeg", @BUGLEG_NEEDED; + set zeny, zeny + @BUGLEG_REWARD_GOLD; + getexp @BUGLEG_REWARD_XP, 0; + set $state, 3; + mes "\"Great! My potion is ready to poison the moub...I mean cure scorpion stings. \""; + close; + +state3: +mes "[Voltain]"; +mes "\"I find myself in need of a black scorpion stinger... Damn mouboo are hard to kill...forget you heard that.\""; +next; + +menu + "Here's the stinger.", -, + "I DID HEAR THAT! I will not help you KILL mouboo!", L_CLOSE; + +mes "[Voltain]"; + if (countitem("BlackScorpionStinger") < 1) goto L_NOT_ENOUGH; + delitem "BlackScorpionStinger", 1; + getexp @BLACK_SC_ST_REWARD_XP, 0; + set $state, 0; + mes "\"Great! Now I can really kill that monster!\""; + close; + +state4: +mes "[Voltain]"; +mes "\"I need to thicken a veno.. Oh a potion actually. I want to try mauve herbs for that, so can you bring me " + @HERBS_NEEDED + ", please?\""; +next; + +menu + "Here are the herbs.", -, + "So you want to do a venom? I will not help you!", L_CLOSE; + +mes "[Voltain]"; + if (countitem("MauveHerb") < @HERBS_NEEDED) goto L_NOT_ENOUGH; + delitem "MauveHerb", @HERBS_NEEDED; + getexp @HERBS_REWARD_XP, 0; + set zeny, zeny + @HERBS_REWARD_GOLD; + set $state, 5; + mes "\"Great! Now I can thicken the potion! I will try directly.\""; + close; + + +state5: +mes "[Voltain]"; +mes "\"Hello I am looking for " + @RAWLOG_NEEDED + " raw logs, maybe you could help me, getting some? I want to try if i can build a mouboo trap.. Uhm actually no! I want to build a device to destroy these traps. So can you help me?\""; +next; + +menu + "Here are the raw logs.", -, + "So you want build traps for mouboos? NO WAY!", L_CLOSE; + +mes "[Voltain]"; + if (countitem("RawLog") < @RAWLOG_NEEDED) goto L_NOT_ENOUGH; + delitem "RawLog", @RAWLOG_NEEDED; + getexp @RAWLOG_REWARD_XP, 0; + set zeny, zeny + @RAWLOG_REWARD_GOLD; + set $state, 6; + mes "\"Great! Now I can thicken the potion! I will try directly.\""; + close; + +state6: +mes "[Voltain]"; +mes "\"Hello I am looking for " + @REDAPPLE_NEEDED + " red apples, maybe I can inject some venoms.. DOH not this again! Of course I meant a strength potion. Did you hear about the new potions from Caul? He is a pretty good alchimist. He can do strength potions, can't he?\""; +next; + +menu + "Here are the red apples.", -, + "I am not sure...", L_CLOSE; + +mes "[Voltain]"; + if (countitem("RedApple") < @REDAPPLE_NEEDED) goto L_NOT_ENOUGH; + delitem "RedApple", @REDAPPLE_NEEDED; + getexp @REDAPPLE_REWARD_XP, 0; + set zeny, zeny + @REDAPPLE_REWARD_GOLD; + set $state,7; + mes "\"Very well, this will be useful.\""; + close; + +state7: +mes "[Voltain]"; +mes "\"I need to thicken a veno.. Oh a potion actually. Cobalt herbs might be good for that, so can you bring me " + @HERBS_NEEDED + ", please?\""; +next; + +menu + "Here are the herbs.", -, + "So you want to do a venom? I will not help you!", L_CLOSE; + +mes "[Voltain]"; + if (countitem("CobaltHerb") < @HERBS_NEEDED) goto L_NOT_ENOUGH; + delitem "CobaltHerb", @HERBS_NEEDED; + getexp @HERBS_REWARD_XP, 0; + set zeny, zeny + @HERBS_REWARD_GOLD; + set $state, 8; + mes "\"Great! Now I can go on with the ven- the experiments for the welfare of humanity, i mean.\""; + close; + +state8: +mes "[Voltain]"; +mes "\"I am in need of snake tongues. They can help me getting very strong venom extracts. So I would like you to bring me " + @SNAKETONGUE_NEEDED + " snake tongues.\""; +next; + +menu + "Sure, here you go!", -, + "Maybe you will find someone else, I got stuff to do on my own!", L_CLOSE; + +mes "[Voltain]"; + if (countitem("SnakeTounge") < @SNAKETONGUE_NEEDED) goto L_NOT_ENOUGH; + delitem "SnakeTounge", @SNAKETONGUE_NEEDED; + getexp @SNAKETONGUE_REWARD_XP, 0; + set zeny, zeny + @SNAKETONGUE_REWARD_GOLD; + set $state, 9; + mes "\"Excellent, now I can extract the venom to- uhm, nevermind, thanks for your help.\""; + close; + +state9: +mes "[Voltain]"; +mes "\"I need to thicken a veno.. Oh a potion actually. I want to try alizarin herbs for that, so can you bring me " + @HERBS_NEEDED + ", please?\""; +next; + +menu + "Here are the herbs.", -, + "So you want to do a venom? I will not help you!", L_CLOSE; + +mes "[Voltain]"; + if (countitem("AlizarinHerb") < @HERBS_NEEDED) goto L_NOT_ENOUGH; + delitem "AlizarinHerb", @HERBS_NEEDED; + getexp @HERBS_REWARD_XP, 0; + set zeny, zeny + @HERBS_REWARD_GOLD; + set $state, 10; + mes "\"Great! Now I can thicken the potion! I will try directly.\""; + close; + +state10: +mes "[Voltain]"; +mes "\"Oh I am hungry. Maybe I can eat some steaks. Could you bring me a steak, please?\""; +next; +mes "\"Oh, I just wonder, if i can inject some ven... Forget about that! Bring me " + @STEAK_NEEDED + "steaks!\""; +next; + +menu + "Here you go.", -, + "Help yourself! In the Hurnscald Inn you get some meal for sure!", L_CLOSE; + +mes "[Voltain]"; + if (countitem("Steak") < @STEAK_NEEDED) goto L_NOT_ENOUGH; + delitem "Steak", @STEAK_NEEDED; + getexp @STEAK_REWARD_XP, 0; + set zeny, zeny + @STEAK_REWARD_GOLD; + set $state, 11; + mes "\"Thanks a lot. I will really enjoy my meal.\""; + close; + +state11: +mes "[Voltain]"; +mes "\"Could I have some arrows please? I have lost my hunting equipment when I was in the caves. Some dark creatures were chasing me!\""; +next; +mes "\"Acually I wonder if I can use these arrows for building a mouboo trap.... Oh wait! I need some" + @ARROW_NEEDED + " arrows for my self defence right? So do not talk about it!\""; + +menu + "Here you go.", -, + "Sorry I don't have arrows here!", L_CLOSE; + +mes "[Voltain]"; + if (countitem("Arrow") < @ARROW_NEEDED) goto L_NOT_ENOUGH; + delitem "Arrow", @ARROW_NEEDED; + getexp @ARROW_REWARD_XP, 0; + set zeny, zeny + @ARROW_REWARD_GOLD; + set $state, 12; + mes "\"Thanks a lot. Now I feel more secure here in outdoors.\""; + close; + +state12: +mes "[Voltain]"; +mes "\"I need to thicken a veno.. Oh a potion actually. I want to try gamboge herbs for that, so can you bring me " + @HERBS_NEEDED + ", please?\""; +next; + +menu + "Here are the herbs.", -, + "So you want to do a venom? I will not help you!", L_CLOSE; + +mes "[Voltain]"; + if (countitem("GambogeHerb") < @HERBS_NEEDED) goto L_NOT_ENOUGH; + delitem "GambogeHerb", @HERBS_NEEDED; + getexp @HERBS_REWARD_XP, 0; + set zeny, zeny + @HERBS_REWARD_GOLD; + set $state, 13; + mes "\"Great! Now I can thicken the potion! I will try directly.\""; + close; + +state13: +mes "[Voltain]"; +mes "\"Doing so many ev- good things makes me hungry. I feel in the mood for a Chocolate Cake. Can you bring me " + @CHOCOLATECAKE_NEEDED + " , please? \""; +next; + +menu + "Here it is.", -, + "I don't feel in the mood to bring you a cake.", L_CLOSE; + +mes "[Voltain]"; + if (countitem("ChocolateCake") < @CHOCOLATECAKE_NEEDED) goto L_NOT_ENOUGH; + delitem "ChocolateCake", @CHOCOLATECAKE_NEEDED; + getexp @CHOCOLATECAKE_REWARD_XP, 0; + set zeny, zeny + @CHOCOLATECAKE_REWARD_GOLD; + set $state, 0; + mes "\"I love chocolate cakes. I wonder, if I can use my ven- \""; + emotion 5; + close; + +L_NOHELP: +mes "\"If you don't want to help me, then away with you. Bothering me won't help me get my work done.\""; +mes "Voltain than mumbles something under his breath that you cannot quite make out"; +mes "\"... These damn kids. \""; +close; + +L_CLOSE: +close; + +L_NOT_ENOUGH: +mes "\"Can't you count!? I need more. \""; +close; +} + + -- cgit v1.2.3-70-g09d2 From 039df52fe2f12043771a3d3c6abfe39e4215102c Mon Sep 17 00:00:00 2001 From: Stefan Dombrowski Date: Sun, 7 Nov 2010 20:22:10 +0100 Subject: Fixing return in banker script Also renaming menu option to "Nevermind" if it results to goto L_Nev. Reviewed-by: PjotrOrial --- npc/functions/banker.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'npc') diff --git a/npc/functions/banker.txt b/npc/functions/banker.txt index 08b67229..2f738478 100644 --- a/npc/functions/banker.txt +++ b/npc/functions/banker.txt @@ -50,7 +50,7 @@ L_Dep_Input: "Go back", L_Start, "Try again", L_Dep_Input, "Deposit all", L_Dep_All, - "Quit", -; + "Nevermind", -; goto L_Nev; L_Dep_5k: @@ -119,7 +119,7 @@ L_With: "All of my money", L_With_All, "I've changed my mind", L_Start, "Quit", -; - next; + return; L_With_Input: input @Amount; @@ -130,7 +130,7 @@ L_With_Input: "Go back", L_Start, "Try again", L_With_Input, "Withdraw all", L_With_All, - "Quit", -; + "Nevermind", -; goto L_Nev; L_With_5k: -- cgit v1.2.3-70-g09d2 From 252f1193faede4a670125928a568558c21ef5b3a Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Sun, 21 Nov 2010 11:48:16 +0100 Subject: nivalis and christmas2010 --- data/019-1.wlk | Bin 17668 -> 17668 bytes data/019-3.wlk | Bin 0 -> 17668 bytes data/020-1.wlk | Bin 18948 -> 18948 bytes data/020-3.wlk | Bin 6404 -> 25604 bytes data/027-3.wlk | Bin 0 -> 13504 bytes data/030-1.wlk | Bin 0 -> 17668 bytes data/031-1.wlk | Bin 0 -> 18948 bytes data/031-3.wlk | Bin 0 -> 102404 bytes data/resnametable.txt | 5 +- npc/019-1_Snow_field/_warps.txt | 3 + npc/019-3_Snow_field/_import.txt | 3 + npc/019-3_Snow_field/_mobs.txt | 7 + npc/019-3_Snow_field/_warps.txt | 4 + npc/020-1_Nivalis/_warps.txt | 2 + npc/020-3_Ice_cave/_warps.txt | 7 +- npc/027-3/_import.txt | 3 + npc/027-3/_mobs.txt | 7 + npc/027-3/_warps.txt | 4 + npc/030-1_Snow_field/_import.txt | 3 + npc/030-1_Snow_field/_mobs.txt | 7 + npc/030-1_Snow_field/_warps.txt | 3 + npc/031-1_NivalisPort/_import.txt | 3 + npc/031-1_NivalisPort/_mobs.txt | 7 + npc/031-1_NivalisPort/_warps.txt | 4 + npc/031-3/_import.txt | 4 + npc/031-3/_mobs.txt | 7 + npc/031-3/_warps.txt | 3 + npc/031-3/labyrinth.txt | 342 ++++++++++++++++++++++++++++++++++++++ npc/_import.txt | 6 +- npc/scripts.conf | 3 + npc/xmas/2010/_import.txt | 2 + npc/xmas/2010/golbanez.txt | 194 +++++++++++++++++++++ npc/xmas/2010/santa.txt | 160 ++++++++++++++++++ 33 files changed, 790 insertions(+), 3 deletions(-) create mode 100644 data/019-3.wlk create mode 100644 data/027-3.wlk create mode 100644 data/030-1.wlk create mode 100644 data/031-1.wlk create mode 100644 data/031-3.wlk create mode 100644 npc/019-3_Snow_field/_import.txt create mode 100644 npc/019-3_Snow_field/_mobs.txt create mode 100644 npc/019-3_Snow_field/_warps.txt create mode 100644 npc/027-3/_import.txt create mode 100644 npc/027-3/_mobs.txt create mode 100644 npc/027-3/_warps.txt create mode 100644 npc/030-1_Snow_field/_import.txt create mode 100644 npc/030-1_Snow_field/_mobs.txt create mode 100644 npc/030-1_Snow_field/_warps.txt create mode 100644 npc/031-1_NivalisPort/_import.txt create mode 100644 npc/031-1_NivalisPort/_mobs.txt create mode 100644 npc/031-1_NivalisPort/_warps.txt create mode 100644 npc/031-3/_import.txt create mode 100644 npc/031-3/_mobs.txt create mode 100644 npc/031-3/_warps.txt create mode 100644 npc/031-3/labyrinth.txt create mode 100644 npc/xmas/2010/_import.txt create mode 100644 npc/xmas/2010/golbanez.txt create mode 100644 npc/xmas/2010/santa.txt (limited to 'npc') diff --git a/data/019-1.wlk b/data/019-1.wlk index 717ebea9..a77948ac 100644 Binary files a/data/019-1.wlk and b/data/019-1.wlk differ diff --git a/data/019-3.wlk b/data/019-3.wlk new file mode 100644 index 00000000..fd9a4262 Binary files /dev/null and b/data/019-3.wlk differ diff --git a/data/020-1.wlk b/data/020-1.wlk index a27bbee6..a1a0f9b3 100644 Binary files a/data/020-1.wlk and b/data/020-1.wlk differ diff --git a/data/020-3.wlk b/data/020-3.wlk index 49f8a6bc..cfc2ad06 100644 Binary files a/data/020-3.wlk and b/data/020-3.wlk differ diff --git a/data/027-3.wlk b/data/027-3.wlk new file mode 100644 index 00000000..4023c354 Binary files /dev/null and b/data/027-3.wlk differ diff --git a/data/030-1.wlk b/data/030-1.wlk new file mode 100644 index 00000000..bd0df376 Binary files /dev/null and b/data/030-1.wlk differ diff --git a/data/031-1.wlk b/data/031-1.wlk new file mode 100644 index 00000000..45baa48e Binary files /dev/null and b/data/031-1.wlk differ diff --git a/data/031-3.wlk b/data/031-3.wlk new file mode 100644 index 00000000..8d243080 Binary files /dev/null and b/data/031-3.wlk differ diff --git a/data/resnametable.txt b/data/resnametable.txt index 3d45f566..7d60c6c8 100644 --- a/data/resnametable.txt +++ b/data/resnametable.txt @@ -45,10 +45,10 @@ 018-2.gat#018-2.wlk# 018-3.gat#018-3.wlk# 019-1.gat#019-1.wlk# +019-3.gat#019-3.wlk# 020-1.gat#020-1.wlk# 020-2.gat#020-2.wlk# 020-3.gat#020-3.wlk# -020-4.gat#020-4.wlk# 021-1.gat#021-1.wlk# 021-2.gat#021-2.wlk# 021-8.gat#021-8.wlk# @@ -64,4 +64,7 @@ 028-3.gat#028-3.wlk# 029-1.gat#029-1.wlk# 029-3.gat#029-3.wlk# +030-1.gat#030-1.wlk# +031-1.gat#031-1.wlk# +031-3.gat#031-3.wlk# botcheck.gat#botcheck.wlk# diff --git a/npc/019-1_Snow_field/_warps.txt b/npc/019-1_Snow_field/_warps.txt index 63b04561..1cc4b7ae 100644 --- a/npc/019-1_Snow_field/_warps.txt +++ b/npc/019-1_Snow_field/_warps.txt @@ -1,3 +1,6 @@ // 019-1 Snow field warps 019-1.gat,70,21 warp ToVillage 2,-1,020-1.gat,70,126 +019-1.gat,61,102 warp toRomanticPlace 2,-1,030-1.gat,60,29 +019-1.gat,96,40 warp toCave -1,-1,019-3.gat,98,27 +019-1.gat,38,75 warp toCave2 -1,-1,019-3.gat,40,97 diff --git a/npc/019-3_Snow_field/_import.txt b/npc/019-3_Snow_field/_import.txt new file mode 100644 index 00000000..3c5b1edc --- /dev/null +++ b/npc/019-3_Snow_field/_import.txt @@ -0,0 +1,3 @@ +map: 019-3.gat +npc: npc/019-3_Snow_field/_mobs.txt +npc: npc/019-3_Snow_field/_warps.txt diff --git a/npc/019-3_Snow_field/_mobs.txt b/npc/019-3_Snow_field/_mobs.txt new file mode 100644 index 00000000..d5d272ab --- /dev/null +++ b/npc/019-3_Snow_field/_mobs.txt @@ -0,0 +1,7 @@ +// 019-3 Snow field mobs + + + +019-3.gat,0,0,0 script Mob019-3 -1,{ + end; +} diff --git a/npc/019-3_Snow_field/_warps.txt b/npc/019-3_Snow_field/_warps.txt new file mode 100644 index 00000000..fb2637a3 --- /dev/null +++ b/npc/019-3_Snow_field/_warps.txt @@ -0,0 +1,4 @@ +// 019-3 Snow field warps + +019-3.gat,40,99 warp WarpOutside1 -1,-1,019-1.gat,38,73 +019-3.gat,98,25 warp warpOutside2 -1,-1,019-1.gat,96,38 diff --git a/npc/020-1_Nivalis/_warps.txt b/npc/020-1_Nivalis/_warps.txt index c9578dfc..a8e5b772 100644 --- a/npc/020-1_Nivalis/_warps.txt +++ b/npc/020-1_Nivalis/_warps.txt @@ -7,3 +7,5 @@ 020-1.gat,64,82 warp toInn -1,-1,020-2.gat,111,31 020-1.gat,86,46 warp toWeaponShop -1,-1,020-2.gat,32,72 020-1.gat,56,90 warp ToPotionsShop -1,-1,020-2.gat,66,25 +020-1.gat,70,127 warp toSnowField 2,-1,019-1.gat,70,22 +020-1.gat,107,55 warp toPort -1,-1,031-1.gat,38,55 diff --git a/npc/020-3_Ice_cave/_warps.txt b/npc/020-3_Ice_cave/_warps.txt index 51539391..3b4babf7 100644 --- a/npc/020-3_Ice_cave/_warps.txt +++ b/npc/020-3_Ice_cave/_warps.txt @@ -1,4 +1,9 @@ // 020-3 Ice cave warps 020-3.gat,31,25 warp toOutside -1,-1,020-1.gat,76,37 -020-3.gat,25,22 warp toIceCave2 -1,-1,020-4.gat,36,34 +020-3.gat,25,22 warp toRightLowerCave -1,-1,020-3.gat,97,101 +020-3.gat,97,99 warp toLeftUpperCave -1,-1,020-3.gat,25,24 +020-3.gat,28,57 warp toLeftLowerCave -1,-1,020-3.gat,33,100 +020-3.gat,49,33 warp ToRightUpperCave -1,-1,020-3.gat,110,55 +020-3.gat,33,98 warp toLeftUpperCave -1,-1,020-3.gat,28,54 +020-3.gat,110,57 warp ToLeftUpperCave -1,-1,020-3.gat,49,35 diff --git a/npc/027-3/_import.txt b/npc/027-3/_import.txt new file mode 100644 index 00000000..0d6c8819 --- /dev/null +++ b/npc/027-3/_import.txt @@ -0,0 +1,3 @@ +map: 027-3.gat +npc: npc/027-3/_mobs.txt +npc: npc/027-3/_warps.txt diff --git a/npc/027-3/_mobs.txt b/npc/027-3/_mobs.txt new file mode 100644 index 00000000..dcf52c02 --- /dev/null +++ b/npc/027-3/_mobs.txt @@ -0,0 +1,7 @@ +// 027-3 mobs + + + +027-3.gat,0,0,0 script Mob027-3 -1,{ + end; +} diff --git a/npc/027-3/_warps.txt b/npc/027-3/_warps.txt new file mode 100644 index 00000000..650f6e5a --- /dev/null +++ b/npc/027-3/_warps.txt @@ -0,0 +1,4 @@ +// 027-3 warps + +027-3.gat,127,44 warp toCryptLevel2 1,-1,027-4.gat,37,21 +027-3.gat,41,75 warp toGraveyard 2,-1,027-1.gat,28,69 diff --git a/npc/030-1_Snow_field/_import.txt b/npc/030-1_Snow_field/_import.txt new file mode 100644 index 00000000..97064443 --- /dev/null +++ b/npc/030-1_Snow_field/_import.txt @@ -0,0 +1,3 @@ +map: 030-1.gat +npc: npc/030-1_Snow_field/_mobs.txt +npc: npc/030-1_Snow_field/_warps.txt diff --git a/npc/030-1_Snow_field/_mobs.txt b/npc/030-1_Snow_field/_mobs.txt new file mode 100644 index 00000000..a614f4a2 --- /dev/null +++ b/npc/030-1_Snow_field/_mobs.txt @@ -0,0 +1,7 @@ +// 030-1 Snow field mobs + + + +030-1.gat,0,0,0 script Mob030-1 -1,{ + end; +} diff --git a/npc/030-1_Snow_field/_warps.txt b/npc/030-1_Snow_field/_warps.txt new file mode 100644 index 00000000..73106d6d --- /dev/null +++ b/npc/030-1_Snow_field/_warps.txt @@ -0,0 +1,3 @@ +// 030-1 Snow field warps + +030-1.gat,61,28 warp toSnowfield 0,-1,019-1.gat,61,100 diff --git a/npc/031-1_NivalisPort/_import.txt b/npc/031-1_NivalisPort/_import.txt new file mode 100644 index 00000000..d256e273 --- /dev/null +++ b/npc/031-1_NivalisPort/_import.txt @@ -0,0 +1,3 @@ +map: 031-1.gat +npc: npc/031-1_NivalisPort/_mobs.txt +npc: npc/031-1_NivalisPort/_warps.txt diff --git a/npc/031-1_NivalisPort/_mobs.txt b/npc/031-1_NivalisPort/_mobs.txt new file mode 100644 index 00000000..dc109dc5 --- /dev/null +++ b/npc/031-1_NivalisPort/_mobs.txt @@ -0,0 +1,7 @@ +// 031-1 NivalisPort mobs + + + +031-1.gat,0,0,0 script Mob031-1 -1,{ + end; +} diff --git a/npc/031-1_NivalisPort/_warps.txt b/npc/031-1_NivalisPort/_warps.txt new file mode 100644 index 00000000..ca2bdc30 --- /dev/null +++ b/npc/031-1_NivalisPort/_warps.txt @@ -0,0 +1,4 @@ +// 031-1 NivalisPort warps + +031-1.gat,37,55 warp toNivalis -1,-1,020-1.gat,106,55 +031-1.gat,76,24 warp toLabyrinth -1,-1,031-3.gat,212,298 diff --git a/npc/031-3/_import.txt b/npc/031-3/_import.txt new file mode 100644 index 00000000..4562f635 --- /dev/null +++ b/npc/031-3/_import.txt @@ -0,0 +1,4 @@ +map: 031-3.gat +npc: npc/031-3/_mobs.txt +npc: npc/031-3/_warps.txt +npc: npc/031-3/labyrinth.txt diff --git a/npc/031-3/_mobs.txt b/npc/031-3/_mobs.txt new file mode 100644 index 00000000..a86150c7 --- /dev/null +++ b/npc/031-3/_mobs.txt @@ -0,0 +1,7 @@ +// 031-3 mobs + + + +031-3.gat,0,0,0 script Mob031-3 -1,{ + end; +} diff --git a/npc/031-3/_warps.txt b/npc/031-3/_warps.txt new file mode 100644 index 00000000..a15033a1 --- /dev/null +++ b/npc/031-3/_warps.txt @@ -0,0 +1,3 @@ +// 031-3 warps + +031-3.gat,212,300 warp toOutside -1,-1,031-1.gat,76,26 diff --git a/npc/031-3/labyrinth.txt b/npc/031-3/labyrinth.txt new file mode 100644 index 00000000..925127d4 --- /dev/null +++ b/npc/031-3/labyrinth.txt @@ -0,0 +1,342 @@ +//################################################################################# +//# +//# Warps for the labyrinth on christmas 2010 +//# +//# Authors: alastrim, PjotrOrial +//# +//# reviewed by: +//# +//# This is a labyrinth, having lots of warps in there. +//# These warps are activated on different days. +//# For each way there are 2 warps: one way and its way back. +//# +//################################################################################# + + +// Debug Script + +031-3.gat,219,294,0 script Debug 144,{ + menu + "Test a specific date",-, + "Clean $Golbenez_Santa_Free",L_Clean; + mes "Which date you want to test?"; + input $Golbenez_Santa_Free; + close; + +L_Clean: + set $Golbenez_Santa_Free, 0; + close; +} + +// 16/12 - 1 warp +031-3.gat,205,264,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 16 ) end; + warp "031-3.gat", 149, 260; + end; +} + +031-3.gat,149,259,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 16 ) end; + warp "031-3.gat", 205, 265; + end; +} + +// 17/12 - 3 Warps + +// First Warp + +031-3.gat,225,282,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 17 ) end; + warp "031-3.gat", 274, 299; + end; +} + +031-3.gat,274,300,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 17 ) end; + warp "031-3.gat", 225, 283; + end; +} + +// Second Warp + +031-3.gat,283,271,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 17 ) end; + warp "031-3.gat", 269, 244; + end; +} + +031-3.gat,269,245,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 17 ) end; + warp "031-3.gat", 283, 272; + end; +} + +// Third Warp +031-3.gat,139,258,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 17 ) end; + warp "031-3.gat", 155, 196; + end; +} + +031-3.gat,155,195,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 17 ) end; + warp "031-3.gat", 139, 259; + end; +} + +// 18/12 - 4 Warps + +// First Warp +031-3.gat,142,301,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 18 ) end; + warp "031-3.gat", 97, 300; + end; +} + +031-3.gat,97,301,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 18 ) end; + warp "031-3.gat", 142, 300; + end; +} + +// Second Warp +031-3.gat,135,196,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 18 ) end; + warp "031-3.gat", 106, 231; + end; +} + +031-3.gat,106,232,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 18 ) end; + warp "031-3.gat", 135, 197; + end; +} + +// Third Warp +031-3.gat,286,190,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 18 ) end; + warp "031-3.gat", 227, 241; + end; +} + +031-3.gat,227,242,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 18 ) end; + warp "031-3.gat", 286, 191; + end; +} + +// Fourth Warp + +031-3.gat,236,211,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 18 ) end; + warp "031-3.gat", 187, 227; + end; +} + +031-3.gat,187,228,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 18 ) end; + warp "031-3.gat", 236, 212; + end; +} + +// 19/12 - 4 Warps + +// First Warp +031-3.gat,94,224,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 19 ) end; + warp "031-3.gat", 54, 251; + end; +} + +031-3.gat,54,250,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 19 ) end; + warp "031-3.gat", 94, 225; + end; +} + +// Second Warp + +031-3.gat,103,199,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 19 ) end; + warp "031-3.gat", 52, 176; + end; +} + +031-3.gat,52,177,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 19 ) end; + warp "031-3.gat", 103, 200; + end; +} + +// Third Warp + +031-3.gat,212,193,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 19 ) end; + warp "031-3.gat", 207, 167; + end; +} + +031-3.gat,207,168,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 19 ) end; + warp "031-3.gat", 212, 194; + end; +} + +// Fourth Warp + +031-3.gat,235,167,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 19 ) end; + warp "031-3.gat", 195, 123; + end; +} + +031-3.gat,195,122,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 19 ) end; + warp "031-3.gat", 235, 166; + end; +} + +# // 4 warps on dec 20 +# // first warp +031-3.gat,296,97,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 20 ) end; + warp "031-3.gat", 292, 124; + end; +} +031-3.gat,292,123,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 20 ) end; + warp "031-3.gat", 296, 96; + end; +} +# // second warp +031-3.gat,289,164,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 20 ) end; + warp "031-3.gat", 228, 122; + end; +} +031-3.gat,228,121,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 20 ) end; + warp "031-3.gat", 289, 163; + end; +} +# // third warp +031-3.gat,24,157,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 20 ) end; + warp "031-3.gat", 31, 143; + end; +} +031-3.gat,31,144,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 20 ) end; + warp "031-3.gat", 24, 158; + end; +} +# // forth warp +031-3.gat,36,249,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 20 ) end; + warp "031-3.gat", 35, 225; + end; +} +031-3.gat,35,226,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 20 ) end; + warp "031-3.gat", 36, 250; + end; +} + + +# // 3 warps on dec 21 +# // first warp +031-3.gat,34,25,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 21 ) end; + warp "031-3.gat", 281, 23; + end; +} +031-3.gat,281,22,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 21 ) end; + warp "031-3.gat", 34, 26; + end; +} +// # second warp +031-3.gat,283,48,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 21 ) end; + warp "031-3.gat", 275, 74; + end; +} +031-3.gat,275,73,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 21 ) end; + warp "031-3.gat", 283, 47; + end; +} +// # third warp +031-3.gat,26,178,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 21 ) end; + warp "031-3.gat", 36, 201; + end; +} +031-3.gat,36,200,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 21 ) end; + warp "031-3.gat", 26, 177; + end; +} + + +# // 2 warps on dec 22 +# // first warp +031-3.gat,91,125,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 22 ) end; + warp "031-3.gat", 36, 79; + end; +} +031-3.gat,36,80,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 22 ) end; + warp "031-3.gat", 91, 126; + end; +} +// # second warp +031-3.gat,52,78,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 22 ) end; + warp "031-3.gat", 192, 71; + end; +} +031-3.gat,192,70,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 22 ) end; + warp "031-3.gat", 52, 77; + end; +} + + +# // 2 warps on dec 23 +# // first warp +031-3.gat,128,135,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 23 ) end; + warp "031-3.gat", 148, 151; + end; +} +031-3.gat,148,150,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 23 ) end; + warp "031-3.gat", 128, 134; + end; +} +// # second warp +031-3.gat,232,93,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 23 ) end; + warp "031-3.gat", 200, 49; + end; +} +031-3.gat,200,50,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 23 ) end; + warp "031-3.gat", 232, 94; + end; +} + + +# // 1 warp on dec 24 +031-3.gat,120,81,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 24 ) end; + warp "031-3.gat", 46, 22; + end; +} +031-3.gat,46,24,0 script #ChristmasBarrier 127,1,1,{ + if ($Golbenez_Santa_Free < 24 ) end; + warp "031-3.gat", 120, 80; + end; +} diff --git a/npc/_import.txt b/npc/_import.txt index 4349f76d..09c7de0a 100644 --- a/npc/_import.txt +++ b/npc/_import.txt @@ -44,10 +44,10 @@ import: npc/018-1_Woodland_mining_camp/_import.txt import: npc/018-2_Woodland_mining_camp/_import.txt import: npc/018-3_Cave/_import.txt import: npc/019-1_Snow_field/_import.txt +import: npc/019-3_Snow_field/_import.txt import: npc/020-1_Nivalis/_import.txt import: npc/020-2_Nivalis/_import.txt import: npc/020-3_Ice_cave/_import.txt -import: npc/020-4_Ice_cave/_import.txt import: npc/021-1_Tulimshar/_import.txt import: npc/021-2_Tulimshar/_import.txt import: npc/022-1_Tulimshar/_import.txt @@ -57,8 +57,12 @@ import: npc/025-1_Woodland_Swamp/_import.txt import: npc/026-1_Swamp/_import.txt import: npc/027-1_Graveyard/_import.txt import: npc/027-2_Caretakers_House/_import.txt +import: npc/027-3/_import.txt import: npc/028-1/_import.txt import: npc/028-3/_import.txt import: npc/029-1_Candor/_import.txt import: npc/029-3_Fight_Cave/_import.txt +import: npc/030-1_Snow_field/_import.txt +import: npc/031-1_NivalisPort/_import.txt +import: npc/031-3/_import.txt import: npc/botcheck/_import.txt diff --git a/npc/scripts.conf b/npc/scripts.conf index acda50a6..660dedb7 100644 --- a/npc/scripts.conf +++ b/npc/scripts.conf @@ -73,3 +73,6 @@ import: npc/_import.txt // Easter 2010 // When enabling, some entries in 028-1 would also need to be uncommented, the warp from 028-1 would need to be commented out. The changes to the old woman and some other NPCs weren't able to be preserved, but are recorded in the git repository. //import: npc/easter/2010/_import.txt + +import: npc/xmas/2010/_import.txt + diff --git a/npc/xmas/2010/_import.txt b/npc/xmas/2010/_import.txt new file mode 100644 index 00000000..e68c6992 --- /dev/null +++ b/npc/xmas/2010/_import.txt @@ -0,0 +1,2 @@ +npc: npc/xmas/2010/santa.txt +npc: npc/xmas/2010/golbanez.txt diff --git a/npc/xmas/2010/golbanez.txt b/npc/xmas/2010/golbanez.txt new file mode 100644 index 00000000..5ee9999d --- /dev/null +++ b/npc/xmas/2010/golbanez.txt @@ -0,0 +1,194 @@ +//################################################################################# +//# +//# Golbanez for Christmas 2010 +//# +//# Authors: alastrim, PjotrOrial +//# +//# reviewed by: +//# +//# This is Golbanez, he took Santa Claus as a hostage. +//# Santa will be freed on Dec24, so players need to pass a labyrinth +//# if the players bring Golbanez stuff, santa will donate some other stuff to the players. +//# +//################################################################################# +019-1.gat,96,41,0 script Golbenez-Debug 204,{ + + mes "What you want to do?"; + menu + "Change $Golbenez_Santa_Free(Date of the Month)",-, + "Change Golbenez_Inn_Cost(Your Donations)",_cost, + "Clean all variables.",_clean, + "Nothing",_end; + + mes "Old Value: " + $Golbenez_Santa_Free; + input $Golbenez_Santa_Free; + mes "New Value: " + $Golbenez_Santa_Free; + close; + +_cost: + mes "Old Value: " + Golbenez_Inn_Cost; + input Golbenez_Inn_Cost; + mes "New Value: " + Golbenez_Inn_Cost; + close; + +_clean: + mes "Golbenez_Inn_Cost Old Value: " + Golbenez_Inn_Cost; + set Golbenez_Inn_Cost, 0; + mes "Golbenez_Inn_Cost New Value: " + Golbenez_Inn_Cost; + mes "$Golbenez_Santa_Free Old Value: " + $Golbenez_Santa_Free; + set $Golbenez_Santa_Free, 0; + mes "$Golbenez_Santa_Free New Value: " + $Golbenez_Santa_Free; + close; + +_end: + close; + +} + +019-1.gat,93,41,0 script #Golbenez#_M 204,{ + set $Golbenez_Santa_Free, gettime(5); + + if (gettime(7) > 2010) set $Golbenez_Santa_Free, 25; + + if ($Golbenez_Santa_Free >= 24 || gettime(7) > 2010) goto Glb_Inn_Enough; + + mes "[Golbenez]"; + mes "\"Mortal! I am Golbenez! I have broken through the barriers of space and time!\""; + next; + mes "\"Well to let you know, I am taking Santa Claus and rudolph and the fellow rendiers as hostages.\""; + next; + mes "\"This sounds hard to you maybe... But I need lots of stuff for building the way to the leisure place."; + next; + mes "\"So if you want to have donations at christmas... we should make a deal: Bring me money or presents."; + next; + mes "\"Maybe I will release Santa Claus and the rendiers then.\""; + next; + mes "\"Do you really expect a promise to let him free on christmas?\""; + next; + mes "\"Uhm well, then you should get away!\""; + next; + mes "\"So far, you have brought stuff and money in a total value of " + Golbenez_Inn_Cost + " gold pieces. The people of your world have brought me " + $Golbenez_Inn_Cost + " gold pieces. What do you like to give?\""; + + menu + "I'd like to spend some money.", Glb_money, + "I'd like to give some blue presents.", -, + "I'd like to give some green presents.", -, + "I'd like to give some pink presents.", -, + "Why do you want present boxes?",Glb_whypresents, + "Can I bring other items?", Glb_otheritems, + "Nevermind.", Glb_nvm; + + // in this array the items should be filled in + setarray @menuitem[2], 516, 538, 515; + setarray @menuvalue[2], 2000, 5000, 1000; + + mes "\"How many presents do you want to give?\""; + + input @count; + + if (countitem(@menuitem[@menu]) < @count ) goto Glb_noitems; + delitem @menuitem[@menu], @count; + set @Give, (@count * @menuvalue[@menu]); + set @Gave_Presents, 1; + goto Glb_checkGlAn; + +Glb_money: + input @Give; + + set @Give, @Give; + + if (@Give <= 0) close; + if (zeny < @Give) goto Glb_Inn_NotEnoughZeny; + +Glb_checkGlAn: + + // if the @Give amount is below 30% of the players money, just let him pay + if( @Give<10000 || ( 100 * @Give / zeny )<30 ) goto Golbenez_pay; + + set @glob_an$ , "Golbenez: " + strcharinfo(0) + " accounted to free santa"; + + // depending on the absolute amount setup another global announcement. + if( @Give >1000000 ) goto Golbenez_an_5; + if( @Give > 500000 ) goto Golbenez_an_4; + if( @Give > 100000 ) goto Golbenez_an_3; + if( @Give > 72000 ) goto Golbenez_an_2; + if( @Give > 35500 ) goto Golbenez_an_1; + + goto Golbenez_an; + +Golbenez_an_1: + set @glob_an$, @glob_an$ + " with a great effort."; + goto Golbenez_an; + +Golbenez_an_2: + set @glob_an$, @glob_an$ + " with a honest contribution."; + goto Golbenez_an; + +Golbenez_an_3: + set @glob_an$, @glob_an$ + " with a great effort. Such a generous person."; + goto Golbenez_an; + +Golbenez_an_4: + set @glob_an$, @glob_an$ + " with a remarkable effort. Impressive!"; + goto Golbenez_an; + +Golbenez_an_5: + set @glob_an$, @glob_an$ + " with a huge effort. What a honorable donation!"; + goto Golbenez_an; + +Golbenez_an: + announce @glob_an$, 0; + +Golbenez_pay: + set Golbenez_Inn_Cost, Golbenez_Inn_Cost + @Give; + set $Golbenez_Inn_Cost, $Golbenez_Inn_Cost + @Give; + if (@Gave_Presents == 1) close; + set zeny, zeny - @Give; + close; + +Glb_Inn_NotEnoughZeny: + mes "[Golbenez]"; + mes "\"You don't have as much as you say you do. Come back when you can give the gold pieces you say you can.\""; + close; + +Glb_noitems: + mes "[Golbenez]"; + mes "\"You don't have as many as you say you do. Come back when you have enough.\""; + close; + +Glb_nvm: + mes "[Golbenez]"; + mes "\"That's too bad.\""; + close; + +Glb_whypresents: + mes "[Golbenez]"; + mes "\"The presents contain some sort of spiritual attachment that aids in the creation of dimensional connections to this plane of existence. The green ones contain the stronger spiritual attachment, followed by the blue and then pink present boxes.\""; + next; + mes "\"Im willing to consider a conversion of each Present Box donated to an amount in Gold Pieces. So, a Green Present is equivalent to 5000 Gold Pieces, a Blue Present, 2000 Gold Pieces and a Pink Present, 1000 Gold Pieces.\""; + close; + +Glb_otheritems: + mes "[Golbenez]"; + mes "\"No you cannot!\""; + next; + mes "\"I will not discuss any further, mortal!\""; + next; + mes "\"So bring me the needed stuff and maybe you get some stuff as a reward, little coward!\""; + close; + +Glb_Inn_Enough: + mes "[Golbenez]"; + mes "\"Ok mortal!\""; + next; + mes "\"I have collected enough for now.\""; + next; + mes "\"This helps me working on the leisure place.\""; + next; + mes "\"Although I did not promise I let Santa be free again!\""; + next; + mes "\"He can be found in some cave around here.\""; + close; +} + + diff --git a/npc/xmas/2010/santa.txt b/npc/xmas/2010/santa.txt new file mode 100644 index 00000000..4b95a142 --- /dev/null +++ b/npc/xmas/2010/santa.txt @@ -0,0 +1,160 @@ +//################################################################################# +//# +//# Santa for Christmas 2010 +//# +//# Authors: alastrim, PjotrOrial +//# +//# reviewed by: +//# +//# This is Santa Claus. +//# He was taken as hostage by golbanez, and now that he is free, he would like to +//# give a reward for those who helped him. +//# +//################################################################################# + +031-3.gat,122,55,0 script Debug 105,{ + + mes "What do you want to do?"; + + menu + "Change Golbenez_Inn_Cost.",-, + "Change Xmas2010.",_xmas, + "Nothing.",_end; + + mes "Old Value: " + Golbenez_Inn_Cost; + input Golbenez_Inn_Cost; + mes "New Value: " + Golbenez_Inn_Cost; + close; +_xmas: + mes "Old Value: " + Xmas2010; + input Xmas2010; + mes "New Value: " + Xmas2010; + close; +_end: + close; +} + +031-3.gat,122,51,0 script Santa 105,{ + + if (Sex) set @honorific$, "young hero"; + if (Sex) set @gender$, "boy"; + if (!Sex) set @honorific$, "young heroine"; + if (!Sex) set @gender$, "girl"; + if (Xmas2010 == 1) goto L_Returning; + if (Xmas2010 == 2) goto L_Elfhat_Prize; + if (Xmas2010 == 3) goto L_Stocking_Prize; + if (Xmas2010 == 4) goto L_Event_Done; + if (Golbenez_Inn_Cost < 50000) goto L_No_Prizes; + +L_start: + mes "The old man's eyes open wide as he sees you."; + next; + mes "[Santa Claus]"; + mes "\"Ho-Ho-ho! It is so good to see you here " +@honorific$+ "!\""; + next; + menu + "Im " + strcharinfo(0) + " and I am here to save you from Golbenez.",-; + mes "\"I cant believe it... are you really " +strcharinfo(0)+ "? I remember all the comments that... 'Thing' was making about building his way to a 'Leisure Place' and how your donations would really help him.\""; + next; + mes "\"What is his name again? Erh... Golbinos? Galvanis? Ho-hum... All I know is that it was keeping me and my fellow rendiers as hostages in this cold labyrinth. And you proved yourself a good " +@gender$+ " by helping me with all those donations!\""; + next; + if (gettime(6) != 12 || gettime(5) >= 25) goto L_Skip_Dialogue; + mes "\"Well, we are really late! In a few hours we have to start our usual present giving routine... But not before I give you a special gift for all you did.\""; + next; +L_Skip_Dialogue: + mes "\"Let me see... From what I can remember, Galvenio said a " +@gender$+ " called " +strcharinfo(0)+ " donated a total of " +Golbenez_Inn_Cost+ " Golden Pieces!\""; + next; + +L_Calculate_Prizes: + getinventorylist; + if (@inventorylist_count == 100) goto L_full; + if (Golbenez_Inn_Cost >= 500000 && Golbenez_Inn_Cost < 1000000) goto L_Elfhat_Prize; + if (Golbenez_Inn_Cost >= 50000 && Golbenez_Inn_Cost < 500000) goto L_Stocking_Prize; + setarray @prizes[1], 1206, 1216, 629, 630, 634, 1214, 633, 628, 627, 621; + setarray @prizesnames$[1], "Santa Beard Hat", "Mouboo Head", "Mush Hat", "Shroom Hat", "Face Mask", "Bunny Ears", "Christmas Elf Hat", "Funky Hat", "Top Hat", "Eyepatch"; + mes "\"You are so generous! I believe I can give you one of the hats from this bag. I know you like these silly hats. Yes, Santa knows this kind of thing... Ho-Ho-Ho! Which one would you like to get?\""; + +L_Menu_Choices: + menu + @prizesnames$[1],-, + @prizesnames$[2],-, + @prizesnames$[3],-, + @prizesnames$[4],-, + @prizesnames$[5],-, + @prizesnames$[6],-, + @prizesnames$[7],-, + @prizesnames$[8],-, + @prizesnames$[9],-, + @prizesnames$[10],-; + + getitem @prizes[@menu], 1; + set Xmas2010, 1; + set Golbenez_Inn_Cost, 0; + next; + +L_Returning: + mes "[Santa Claus]"; + mes "\"I hope you liked your gift.\""; + next; + menu + "Yes Santa, you are the best!",L_Close, + "Ehh, it is not what I expected.",L_Bad, + "I loved it! Can I have one more, please, please?",-; + + mes "[Santa Claus]"; + mes "\"Hmm... Why not? It would be terrible to deny a request from such a generous person.\""; + next; + set Xmas2010, 3; + goto L_Stocking_Prize; + +L_Elfhat_Prize: + set Xmas2010, 2; + getinventorylist; + if (@inventorylist_count == 100) goto L_full; + mes "[Santa Claus]"; + mes "\"You worked really hard to help us... So, here, take this hat. It belongs to one of my assistants. No, no... No problem at all, I am sure he will be happy to know such a great person is going to use it.\""; + getitem 633, 1; + set Golbenez_Inn_Cost, 0; + set Xmas2010, 3; + next; + +L_Stocking_Prize: + getinventorylist; + if (@inventorylist_count == 100) goto L_full; + mes "[Santa Claus]"; + mes "\"I would like to give you a personal item. It is not a hat, but something that will always make you remember how grateful I am.\""; + next; + mes "\"Here, take this. I have been using it for the last three months... It means a lot to me.\""; + getitem 1207, 1; + set Golbenez_Inn_Cost, 0; + set Xmas2010, 4; + close2; + percentheal -20, 0; + message strcharinfo(0), "You suddenly get dizzy... Something is not right with you. Maybe you shouldnt have put the Red Stocking so close to your face!"; + end; + +L_Full: + mes "[Santa Claus]"; + mes "\"Your backpack seems to be full. You should get rid of some unused stuff before you get my gifts, or maybe try one super resistant red bag, my personal favorite! Hoh-hoh!\""; + close; + +L_Close: + mes "[Santa Claus]"; + mes "\"Ho, Ho... Ok, see you later " +@honorific$+ "!\""; + close; + +L_Bad: + mes "[Santa Claus]"; + mes "\"Hmm... and I was thinking you were a good " +@gender$+ "! Dont be ungrateful and next time, think before you get a gift.\""; + close; + +L_Event_Done: + mes "[Santa Claus]"; + mes "\"Hello again " +strcharinfo(0)+ "! I cant chat with you right now, because we are really late for Christmas, but, when it is over, you will always be welcome in my house for a hot chocolate.\""; + close; + +L_No_Prizes: + mes "[Santa Claus]"; + mes "\"Hi " +strcharinfo(0)+ "... Looks like you did not work really hard to set me free...\""; + close; +} -- cgit v1.2.3-70-g09d2 From 4306953dc0d6a3d0761b4f8c34c40a85ef1df97f Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Thu, 2 Dec 2010 19:03:25 +0100 Subject: adding nivalis packrat: baktar a strange person additionally: remove taro and startrek from nivalis --- data/020-1.wlk | Bin 18948 -> 18948 bytes npc/019-1_Snow_field/_import.txt | 1 - npc/020-1_Nivalis/_import.txt | 1 - npc/020-1_Nivalis/startrek.txt | 20 -- npc/020-2_Nivalis/_import.txt | 1 - npc/020-2_Nivalis/baktar.txt | 394 +++++++++++++++++++++++++++++++++++++++ npc/020-2_Nivalis/shops.txt | 2 +- npc/031-3/labyrinth.txt | 64 +++---- 8 files changed, 427 insertions(+), 56 deletions(-) delete mode 100644 npc/020-1_Nivalis/startrek.txt create mode 100644 npc/020-2_Nivalis/baktar.txt (limited to 'npc') diff --git a/data/020-1.wlk b/data/020-1.wlk index a1a0f9b3..011f0d18 100644 Binary files a/data/020-1.wlk and b/data/020-1.wlk differ diff --git a/npc/019-1_Snow_field/_import.txt b/npc/019-1_Snow_field/_import.txt index e389a836..5e28d9bc 100644 --- a/npc/019-1_Snow_field/_import.txt +++ b/npc/019-1_Snow_field/_import.txt @@ -4,4 +4,3 @@ npc: npc/019-1_Snow_field/_warps.txt npc: npc/019-1_Snow_field/monsters.txt npc: npc/019-1_Snow_field/santa_helper.txt npc: npc/019-1_Snow_field/snowman.txt -npc: npc/019-1_Snow_field/taro.txt diff --git a/npc/020-1_Nivalis/_import.txt b/npc/020-1_Nivalis/_import.txt index 4b64cf8d..7dd9e29a 100644 --- a/npc/020-1_Nivalis/_import.txt +++ b/npc/020-1_Nivalis/_import.txt @@ -3,4 +3,3 @@ npc: npc/020-1_Nivalis/_mobs.txt npc: npc/020-1_Nivalis/_warps.txt npc: npc/020-1_Nivalis/mapflags.txt npc: npc/020-1_Nivalis/soul-menhir.txt -npc: npc/020-1_Nivalis/startrek.txt diff --git a/npc/020-1_Nivalis/startrek.txt b/npc/020-1_Nivalis/startrek.txt deleted file mode 100644 index 5c8847ad..00000000 --- a/npc/020-1_Nivalis/startrek.txt +++ /dev/null @@ -1,20 +0,0 @@ -// - -020-1.gat,79,77,0 script Kirk 133,{ - mes "[Capt. Kirk]"; - mes "\"Spock: We're breaking the prime directive."; - mes "This is not the right way to have the first contact.\""; - close; -} - -020-1.gat,81,77,0 script Spock 134,{ - mes "[Spock]"; - mes "\"Live long and prosper captain.\""; - next; - - mes "[Spock]"; - mes "\"trr...Spock to Scotty..."; - mes "Beam me to the elves village..."; - mes "I will hide there.\""; - close; -} diff --git a/npc/020-2_Nivalis/_import.txt b/npc/020-2_Nivalis/_import.txt index 807bc1a0..41f0d473 100644 --- a/npc/020-2_Nivalis/_import.txt +++ b/npc/020-2_Nivalis/_import.txt @@ -3,4 +3,3 @@ npc: npc/020-2_Nivalis/_mobs.txt npc: npc/020-2_Nivalis/_warps.txt npc: npc/020-2_Nivalis/mapflags.txt npc: npc/020-2_Nivalis/shops.txt -npc: npc/020-2_Nivalis/taro.txt diff --git a/npc/020-2_Nivalis/baktar.txt b/npc/020-2_Nivalis/baktar.txt new file mode 100644 index 00000000..331660b4 --- /dev/null +++ b/npc/020-2_Nivalis/baktar.txt @@ -0,0 +1,394 @@ +//#========================= +//#== NPC Baktar +//# Authors: Lien, PjotrOrial +//# Review: BigCrunch, Mistakes +//# This NPC has two stages: +//# +//# In the first stage you need to bring 7 different items, but only one of each kind. +//# +//# +//# In the second stage he tells you what hard life he is living. He will be very aggressive telling you some stuff. +//# He will send you to kill Scroticular. That npc will be located in the labyrinth caves. +//# (its a mob actually, to be spawned only, if the players knows his name and his location) +//# +//# variables used: +//# @QUEST_Nivalis_state: NIBBLE0, NIBBLE1, NIBBLE2, NIBBLE3: +//# BYTE0 ( == NIBBLE0 | NIBBLE1) stores in each bit information if that item was already brought. +//# bits: +//# bit 0 if you have met the npc already +//# bit 1 Desert Hat +//# bit 2 Desert Shirt +//# bit 3 Serf Hat +//# bit 4 tongue_Item +//# bit 5 eggs_Item +//# bit 6 skin_Item +//# bit 7 bugleg +//# NIBBLE2 store the progress after the item collecting stage: +//# =0 he will thank you for bringing all stuff. +//# =1 talking about his youth +//# =2 talking, you get the mission to hunt down Scroticular +//# =3 you get information where Scroticular can be found. +//# NIBBLE3 a bitmasking nibble for stage 2 again +//# bit 0 knows the name of the opponent +//# bit 1 killed the ugly opponent +//#========================= +020-2.gat,70,61,0 script Baktar 183,{ + set @npcname$, "[Baktar]"; + + set @Q_MASK, BYTE_0_MASK; + set @Q_SHIFT, BYTE_0_SHIFT; + set @Q_status, ((QUEST_Nivalis_state) & @Q_MASK) >> @Q_SHIFT; + + set @Q_MASK2, NIBBLE_2_MASK; + set @Q_SHIFT2, NIBBLE_2_SHIFT; + set @Q_status2, ((QUEST_Nivalis_state) & @Q_MASK2) >> @Q_SHIFT2; + + set @Q_MASK2_BITS, NIBBLE_3_MASK; + set @Q_SHIFT2_BITS, NIBBLE_3_SHIFT; + set @Q_status2_bits, ((QUEST_Nivalis_state) & @Q_MASK2_BITS) >> @Q_SHIFT2_BITS; + + // if all bits are set, you brought him everything! Now we continue in Phase 2 of this npc. + if(@Q_status == @Q_MASK) goto L_2_init; + + set @BIT_KNOWHIM, 0; + + set @BIT_DESERTHAT,1; + set @MONEY_DESERTHAT, 1500; + set @XP_DESERTHAT, 500; + + set @BIT_DESERTSHIRT,2; + set @MONEY_DESERTSHIRT, 1500; + set @XP_DESERTSHIRT, 600; + + set @BIT_SERFHAT,3; + set @MONEY_SERFHAT, 800; + set @XP_SERFHAT, 350; + + set @BIT_MS_TONGUE,4; + set @MONEY_MS_TONGUE, 800; + set @XP_MS_TONGUE, 350; + + set @BIT_MS_EGG,5; + set @MONEY_MS_EGG, 800; + set @XP_MS_EGG, 350; + + set @BIT_SNAKESKIN,6; + set @MONEY_SNAKESKIN, 800; + set @XP_SNAKESKIN, 350; + + set @BIT_BUGLEG,7; + set @MONEY_BUGLEG, 20000; + set @XP_BUGLEG, 10000; + + if(sex) + set @type$, "Man"; + if(!sex) + set @type$, "Woman"; + + if(@Q_status & (1<<@BIT_KNOWHIM)) goto L_KnowAlready; + mes @npcname$; + mes "\"Hello, " + @type$ + ", did you come from Tulimshar? Because you have a nice tan. \""; + menu + "Yes, I'm from Tulimshar", L_exotic, + "Well, I just like sunbathing", -, + "Good bye", -; + close; + +L_KnowAlready: + mes @npcname$; + mes "\"So, you have a new item?\""; + goto L_startitem; +close; + +L_exotic: + mes @npcname$; + mes "\"I said that because I love Tulimshar's stuff ... if you give me an interesting item maybe I can give you a nice reward. But I don't need lots of stuff, I need only one example of each item.\""; + menu "I have some items on me maybe you'll like them ", L_startitem, + "Don't touch my stuff!", -, + "I'll get them. Bye.", -; + close; + +L_startitem: + setarray @exotic_item$ "", "", "", "", "", "", ""; + set @c, 0; + set @Q_status, @Q_status & (1<<@BIT_KNOWHIM); + callsub S_Update_Var; + if (countitem("DesertHat") < 1 || @Q_status & (1<<@BIT_DESERTHAT) ) goto L_DesertShirt; + set @exotic_item$[@c], "a Desert Hat ?"; + set @menuid[@c], 0; + set @c, @c + 1; + +L_DesertShirt: + if (countitem("DesertShirt") < 1 || @Q_status & (1<<@BIT_DESERTSHIRT) ) goto L_SerfHat; + set @exotic_item$[@c], "a Desert Shirt ?"; + set @menuid[@c], 1; + set @c, @c + 1; + +L_SerfHat: + if (countitem("SerfHat") < 1 || @Q_status & (1<<@BIT_SERFHAT) ) goto L_tongue; + set @exotic_item$[@c], "a Serf Hat ?"; + set @menuid[@c], 2; + set @c, @c + 1; + +L_tongue: + if (countitem("MountainSnakeTongue") < 1 || @Q_status & (1<<@BIT_MS_TONGUE)) goto L_egg; + set @exotic_item$[@c], "a Mountain Snake Tongue ?"; + set @menuid[@c], 3; + set @c, @c + 1; + +L_egg: + if (countitem("MoutainSnakeEgg") < 1 || @Q_status & (1<<@BIT_MS_EGG)) goto L_Skin; + set @exotic_item$[@c], "a Moutain Snake Egg?"; + set @menuid[@c], 4; + set @c, @c + 1; + +L_Skin: + if (countitem("SnakeSkin") < 1 || @Q_status & (1<<@BIT_SNAKESKIN)) goto L_bugleg; + set @exotic_item$[@c], "a Snake Skin?"; + set @menuid[@c], 5; + set @c, @c + 1; + +L_bugleg: + if (countitem("BugLeg") < 1 || @Q_status & (1<<@BIT_BUGLEG)) goto L_NeverMind; + set @exotic_item$[@c], "a Bug Leg?"; + set @menuid[@c], 6; + set @c, @c + 1; + +L_NeverMind: + set @exotic_item$[@c], "Never Mind"; + set @menuid[@c], 6; +//menu for the item + menu + @exotic_item$[0], -, + @exotic_item$[1], -, + @exotic_item$[2], -, + @exotic_item$[3], -, + @exotic_item$[4], -, + @exotic_item$[5], -, + @exotic_item$[6], -; + + set @menu, @menu -1; + + if (@menuid[@menu] == 0) goto L_DesertHat_Item; + if (@menuid[@menu] == 1) goto L_DesertShirt_Item; + if (@menuid[@menu] == 2) goto L_SerfHat_Item; + if (@menuid[@menu] == 3) goto L_tongue_Item; + if (@menuid[@menu] == 4) goto L_egg_Item; + if (@menuid[@menu] == 5) goto L_skin_Item; + if (@menuid[@menu] == 6) goto L_BugLegItem; +//if Never mind + mes @npcname$; + mes "\"ok, GoodBye then\""; + close; +L_DesertHat_Item: + if(@Q_status & (1<<@BIT_DESERTHAT)) goto L_havealready; + if (countitem("DesertHat") < 1) goto L_Noitem; + delitem "DesertHat", 1; + set zeny, zeny + @MONEY_DESERTHAT; + getexp @XP_DESERTHAT,0; + set @Q_status, @Q_status & (1<<@BIT_DESERTHAT); + callsub S_Update_Var; + close; +L_DesertShirt_Item: + if(@Q_status & (1<<@BIT_DESERTSHIRT)) goto L_havealready; + if (countitem("DesertShirt") < 1) goto L_Noitem; + delitem "DesertShirt", 1; + set zeny, zeny + @MONEY_DESERTSHIRT; + getexp @XP_DESERTSHIRT,0; + set @Q_status, @Q_status & (1<<@BIT_DESERSHIRT); + callsub S_Update_Var; +close; +L_SerfHat_Item: + if(@Q_status & (1<<@BIT_SERFHAT)) goto L_havealready; + if (countitem("SerfHat") < 1) goto L_Noitem; + delitem "SerfHat", 1; + set zeny, zeny + @MONEY_SERFHAT; + getexp @XP_SERFHAT,0; + set @Q_status, @Q_status & (1<<@BIT_SERFHAT); + callsub S_Update_Var; +close; +L_tongue_Item: + if(@Q_status & (1<<@BIT_MS_TONGUE)) goto L_havealready; + if (countitem("MountainSnakeTongue") < 1) goto L_Noitem; + delitem "MountainSnakeTongue", 1; + set zeny, zeny + @MONEY_MS_TONGUE; + getexp @XP_MS_TONGUE,0; + set @Q_status, @Q_status & (1<<@BIT_MS_TONGUE); + callsub S_Update_Var; +close; +L_egg_Item: + if(@Q_status & (1<<@BIT_MS_EGG)) goto L_havealready; + if (countitem("MountainSnakeEgg") < 1) goto L_Noitem; + delitem "MountainSnakeEgg", 1; + set zeny, zeny + @MONEY_MS_EGG; + getexp @XP_MS_EGG,0; + set @Q_status, @Q_status & (1<<@BIT_MS_EGG); + callsub S_Update_Var; +close; +L_skin_Item: + if(@Q_status & (1<<@BIT_SNAKESKIN)) goto L_havealready; + if (countitem("SnakeSkin") < 1) goto L_Noitem; + delitem "SnakeSkin", 1; + set zeny, zeny + @MONEY_SNAKESKIN; + getexp @XP_SNAKESKIN,0; + set @Q_status, @Q_status & (1<<@BIT_SNAKESKIN); + callsub S_Update_Var; +close; +L_BugLegItem: + if(@Q_status & (1<<@BIT_BUGLEG)) goto L_havealready; + if (countitem("BugLeg") < 1) goto L_Noitem; + delitem "BugLeg", 1; + set zeny, zeny + @MONEY_BUGLEG; + getexp @XP_BUGLEG,0; + set @Q_status, @Q_status & (1<<@BIT_BUGLEG); + callsub S_Update_Var; +close; + +L_Noitem: + mes @npcname$; + mes "\"Where is your item?\""; + close; + +L_havealready: + mes @npcname$; + mes "\"Well, I already have one of those.\""; + close; + +S_Update_Var: + set QUEST_Nivalis_state, + (QUEST_Nivalis_state & ~(@Q_MASK) + | (@Q_status << @Q_SHIFT)); + set QUEST_Nivalis_state, + (QUEST_Nivalis_state & ~(@Q_MASK2) + | (@Q_status2 << @Q_SHIFT2)); + set QUEST_Nivalis_state, + (QUEST_Nivalis_state & ~(@Q_MASK2_BITS) + | (@Q_status2_bits << @Q_SHIFT2_BITS)); + return; + + + +//# The following stage is completely cutoff the first. +//# So there is no linking between the upper and lower part, except for one goto at the very beginning +// + +L_2_init: + +//# NIBBLE3 a bitmasking nibble for stage 2 again +//# bit 0 knows the name of the opponent +//# bit 1 killed the ugly opponent + set @BIT_KNOWS_NAME, 0; + set @BIT_KILLED_HIM, 1; + + if (@Q_status2 == 1) goto L_2_talk1; + if (@Q_status2 == 2) goto L_2_talk2; + if (@Q_status2 == 3) goto L_2_talk3; + if (@Q_status2 == 4) goto L_2_talk4; + // fall through @Q_status2==0: + // need to thank for bringing all stuff. + mes @npcname$; + mes "\"Thanks a lot for bringing me all this nice stuff!\""; + next; + mes "\"That helps me a lot. You see over there is already another set I collected: There are some pieces of the Hurnscald town. That sign there has ben stolen from the inn.\""; + next; + mes "\"But do not tell anyone, please! I really like collecting things. And that sign is one of the first things I organized.\""; + next; + mes "\"So thank you for bringing me that stuff for my desert collection\""; + next; + mes "\"Do you have an idea how to arrange that to make it cool looking for my admirers?\""; + next; + set @Q_status2, 1; + callsub S_Update_Var2; + close; + +L_2_talk1: + mes @npcname$; + mes "\"In my childhood I was called a packrat, because I collected old cans.\""; + next; + mes "\"But everybody does collect things right?\""; + next; + mes "\"So after I had collected way over 1000 cans, I started collecting snail-shells. Nice? Do you like that?\""; + next; + mes "\"Not many people like me. And I don't know why. It is nice to talk about such nice things. What did you collect in your childhood?\""; + next; + mes "He picks in his nose"; + next; + mes @npcname$; + mes "\"Ok erm, talk to you later.\""; + next; + mes "\"Ok.\""; + set @Q_status2, 2; + callsub S_Update_Var2; + close; + +L_2_talk2: + mes @npcname$; + mes "\"Could you do me a favor? This ugly guy, who always attacked me....\""; + next; + mes "\"*sob*\""; + next; + mes "\"I was always bullied by him. You know in the early childhood we were very nice friends. We played some roleplaying. He was the captain, and I was the soldier."; + next; + mes "\"Or another day he was the chieftain and I was the redskin.\""; + next; + mes "\"but to tell you the truth, HE was ALWAYS the one who directed me.\""; + next; + mes "\"I DO NOT LIKE THAT!\""; + next; + mes "\"I WANT TO BE THE LEADER!\""; + next; + mes "\"STOP HIM DOING NASTY THINGS\""; + next; + mes "\"I WANT YOU TO KILL THAT BASTARD!!\""; + set @Q_status2, 3; + callsub S_Update_Var2; + close; + +L_2_talk3: + menu "Ok, I am a professional in doing such things", L_2_professional, + "Hey do you really mean it? ", L_2_professional, + "You calmed down again?", -, + "Oh a packrat! By the way, is that trash over there yours?", L_2_name, + "Nevermind", -; + mes @npcname$; + mes "\"Get out of my way, prank!\""; + close; + +L_2_professional: + mes @npcname$; + mes "\"What are you talking about?\""; + goto L_2_talk3; + +L_2_name: + mes @npcname$; + mes "\"ONE DAY I WILL GET A HUGE REVENGE!\""; + next; + mes "\"AND I MEAN IT!\""; + next; + mes "\"You see I am a dangerous killer. Last week I killed five slimes and a pinkie!\""; + next; + mes "He takes out a piece of paper... mumbling"; + mes "\"Ok Scroticular first, and then ...\""; + set @Q_status2, 4; + set @Q_status2_bits, @Q_status2_bits | (1<<@BIT_KNOWS_NAME); + callsub S_Update_Var2; + + mes @npcname$; + mes "\"What is your name again?\""; + + menu "I am sorry for the joke... Please forgive me", -, + "They call me Mistakes; I am a professional killer as well. You heard about that business in the terranite cave?", -; + mes @npcname$; + mes "\"Alright, I see. Ok maybe I really need to calm down. Please let me alone... I will try to calm down, ok?\""; + close; + +S_Update_Var2: + set QUEST_Nivalis_state, + (QUEST_Nivalis_state & ~(@Q_MASK2) + | (@Q_status2 << @Q_SHIFT2)); + set QUEST_Nivalis_state, + (QUEST_Nivalis_state & ~(@Q_MASK2_BITS) + | (@Q_status2_bits << @Q_SHIFT2_BITS)); + return; +} + diff --git a/npc/020-2_Nivalis/shops.txt b/npc/020-2_Nivalis/shops.txt index f1b452b5..8492aeb2 100644 --- a/npc/020-2_Nivalis/shops.txt +++ b/npc/020-2_Nivalis/shops.txt @@ -3,7 +3,7 @@ // Clothes shop 020-2.gat,27,26,0 shop Taylor 137,523:2000,524:1600,543:800,544:5000,546:10000,586:1000,741:-1 // Weapons shop -020-2.gat,25,65,0 shop Bracco 135,1201:50,521:1000,522:100,545:20000,529:5 +020-2.gat,25,65,0 shop Bracco 135,1201:50,521:1000,522:100,529:5 // Potions shop 020-2.gat,75,26,0 shop Mede 103,501:50,502:70,567:500,568:500 diff --git a/npc/031-3/labyrinth.txt b/npc/031-3/labyrinth.txt index 925127d4..9bcae434 100644 --- a/npc/031-3/labyrinth.txt +++ b/npc/031-3/labyrinth.txt @@ -31,13 +31,13 @@ L_Clean: // 16/12 - 1 warp 031-3.gat,205,264,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 16 ) end; - warp "031-3.gat", 149, 260; + warp "031-3.gat", 149, 261; end; } 031-3.gat,149,259,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 16 ) end; - warp "031-3.gat", 205, 265; + warp "031-3.gat", 205, 266; end; } @@ -89,13 +89,13 @@ L_Clean: // First Warp 031-3.gat,142,301,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 18 ) end; - warp "031-3.gat", 97, 300; + warp "031-3.gat", 97, 299; end; } 031-3.gat,97,301,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 18 ) end; - warp "031-3.gat", 142, 300; + warp "031-3.gat", 142, 299; end; } @@ -142,15 +142,15 @@ L_Clean: // 19/12 - 4 Warps // First Warp -031-3.gat,94,224,0 script #ChristmasBarrier 127,1,1,{ +031-3.gat,94,254,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 19 ) end; - warp "031-3.gat", 54, 251; + warp "031-3.gat", 54, 252; end; } 031-3.gat,54,250,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 19 ) end; - warp "031-3.gat", 94, 225; + warp "031-3.gat", 94, 256; end; } @@ -158,13 +158,13 @@ L_Clean: 031-3.gat,103,199,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 19 ) end; - warp "031-3.gat", 52, 176; + warp "031-3.gat", 52, 175; end; } 031-3.gat,52,177,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 19 ) end; - warp "031-3.gat", 103, 200; + warp "031-3.gat", 103, 201; end; } @@ -172,13 +172,13 @@ L_Clean: 031-3.gat,212,193,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 19 ) end; - warp "031-3.gat", 207, 167; + warp "031-3.gat", 207, 165; end; } 031-3.gat,207,168,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 19 ) end; - warp "031-3.gat", 212, 194; + warp "031-3.gat", 212, 195; end; } @@ -186,13 +186,13 @@ L_Clean: 031-3.gat,235,167,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 19 ) end; - warp "031-3.gat", 195, 123; + warp "031-3.gat", 195, 124; end; } 031-3.gat,195,122,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 19 ) end; - warp "031-3.gat", 235, 166; + warp "031-3.gat", 235, 165; end; } @@ -200,45 +200,45 @@ L_Clean: # // first warp 031-3.gat,296,97,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 20 ) end; - warp "031-3.gat", 292, 124; + warp "031-3.gat", 292, 125; end; } 031-3.gat,292,123,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 20 ) end; - warp "031-3.gat", 296, 96; + warp "031-3.gat", 296, 95; end; } # // second warp 031-3.gat,289,164,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 20 ) end; - warp "031-3.gat", 228, 122; + warp "031-3.gat", 228, 123; end; } 031-3.gat,228,121,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 20 ) end; - warp "031-3.gat", 289, 163; + warp "031-3.gat", 289, 162; end; } # // third warp 031-3.gat,24,157,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 20 ) end; - warp "031-3.gat", 31, 143; + warp "031-3.gat", 31, 142; end; } 031-3.gat,31,144,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 20 ) end; - warp "031-3.gat", 24, 158; + warp "031-3.gat", 24, 159; end; } # // forth warp 031-3.gat,36,249,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 20 ) end; - warp "031-3.gat", 35, 225; + warp "031-3.gat", 35, 224; end; } 031-3.gat,35,226,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 20 ) end; - warp "031-3.gat", 36, 250; + warp "031-3.gat", 36, 251; end; } @@ -247,12 +247,12 @@ L_Clean: # // first warp 031-3.gat,34,25,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 21 ) end; - warp "031-3.gat", 281, 23; + warp "031-3.gat", 281, 24; end; } 031-3.gat,281,22,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 21 ) end; - warp "031-3.gat", 34, 26; + warp "031-3.gat", 34, 27; end; } // # second warp @@ -269,12 +269,12 @@ L_Clean: // # third warp 031-3.gat,26,178,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 21 ) end; - warp "031-3.gat", 36, 201; + warp "031-3.gat", 36, 202; end; } 031-3.gat,36,200,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 21 ) end; - warp "031-3.gat", 26, 177; + warp "031-3.gat", 26, 176; end; } @@ -283,23 +283,23 @@ L_Clean: # // first warp 031-3.gat,91,125,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 22 ) end; - warp "031-3.gat", 36, 79; + warp "031-3.gat", 36, 78; end; } 031-3.gat,36,80,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 22 ) end; - warp "031-3.gat", 91, 126; + warp "031-3.gat", 91, 127; end; } // # second warp 031-3.gat,52,78,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 22 ) end; - warp "031-3.gat", 192, 71; + warp "031-3.gat", 192, 72; end; } 031-3.gat,192,70,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 22 ) end; - warp "031-3.gat", 52, 77; + warp "031-3.gat", 52, 76; end; } @@ -308,7 +308,7 @@ L_Clean: # // first warp 031-3.gat,128,135,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 23 ) end; - warp "031-3.gat", 148, 151; + warp "031-3.gat", 148, 152; end; } 031-3.gat,148,150,0 script #ChristmasBarrier 127,1,1,{ @@ -319,12 +319,12 @@ L_Clean: // # second warp 031-3.gat,232,93,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 23 ) end; - warp "031-3.gat", 200, 49; + warp "031-3.gat", 200, 48; end; } 031-3.gat,200,50,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 23 ) end; - warp "031-3.gat", 232, 94; + warp "031-3.gat", 232, 95; end; } -- cgit v1.2.3-70-g09d2 From c2329ca5d177230686406bf7b8504aca4cffd976 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Thu, 2 Dec 2010 19:13:34 +0100 Subject: adding KrickKrackKrock a gambling man --- npc/020-1_Nivalis/KrickKrackKrock.txt | 137 ++++++++++++++++++++++++++++++++++ npc/020-1_Nivalis/_import.txt | 1 + 2 files changed, 138 insertions(+) create mode 100644 npc/020-1_Nivalis/KrickKrackKrock.txt (limited to 'npc') diff --git a/npc/020-1_Nivalis/KrickKrackKrock.txt b/npc/020-1_Nivalis/KrickKrackKrock.txt new file mode 100644 index 00000000..79cb63fc --- /dev/null +++ b/npc/020-1_Nivalis/KrickKrackKrock.txt @@ -0,0 +1,137 @@ +//################################### +//playing game # +// -Kric Krack Krock # +// -if you said the same as NPC # +// -he give you a redward depending # +//-of you're betting # +//################################### +// var of this game # +// =======================# +// NPCNAME | name of the NPC # +// ITEM_RAND | item you can get # +//ITEM_HEALTH| Potion you can get # +// kRICK |array with the tree # +// BET | the betting of PC # +// =======================# +//################################### + + + +009-1.gat,82,82,0 script Criker 127, { + +L_Main: +//Var + + set @NPC_NAME$, "[Criker]"; + set @BET, 50; +//lots of array ;( + setarray @KRICK$, "Krick", "Krack", "Krock"; + setarray @ITEM_RAND, 613, 537, 631, 775, 703, 640, 641, 4006, 700; + setarray @ITEM_HEALTH, 684, 685, 686, 687; + +//ends of var + + mes @NPC_NAME$; + mes "\" hello " + strcharinfo(0) + ", you want play Krick-Krack-Krock\""; + menu "let's start !", L_Start, + "What's this ?", L_info, + "Well not for the moment", -; + close; +L_Start: + mes @NPC_NAME$; + mes "\"Well, how many you want to bet with me ?\""; + input @BET; + if(@BET < 50 ) goto L_poor; + if(@BET > 2000) goto L_Too_rich; + if(zeny < @BET) goto L_No_Money; + set zeny, zeny - @BET; + + + + set @NPC_KRICK, rand(2); + mes "(Choose Krick, Krack or Krock)"; + menu + @KRICK$[0], -, + @KRICK$[1], -, + @KRICK$[2], -; + +//menu = min 1 & not 0 so I change it + set @menu, @menu - 1; + + mes @NPC_NAME$; + mes "\" "+ @KRICK$[@NPC_KRICK] +" !\""; + if( @menu == @NPC_KRICK ) goto L_Work; + mes @NPC_NAME$; + mes "\"well, to bad We were not lucky !\""; + close; +L_Work: + mes @NPC_NAME$; + mes "\"wow that has Work ... what present you want ?\""; + menu + "Money !", L_Money, + "Item !", L_Item, + "Health !", L_Health_item; + close; + +L_Money: + mes @NPC_NAME$; + mes "\"Here is your money\""; + set zeny, zeny + (@BET*2); + close; +L_Item: +//item + +if( @BET > 50) getitem @ITEM_RAND[rand(1)], 1; +if( @BET > 200) getitem @ITEM_RAND[1 + rand(1)], 1; +if( @BET > 500) getitem @ITEM_RAND[2 + rand(1)], 1; +if( @BET > 1000) getitem @ITEM_RAND[3 + rand(1)], 1; +if( @BET > 1200) getitem @ITEM_RAND[4 + rand(1)], 1; +if( @BET > 1500) getitem @ITEM_RAND[5 + rand(1)], 1; +if( @BET == 2000) getitem @ITEM_RAND[6 + rand(1)], 1; + mes @NPC_NAME$; + mes "\"here it is !\""; + close; + +L_Health_item: +// health item + +if( @BET > 50) getitem @ITEM_HEALTH[rand(1)], 1; +if( @BET > 200) getitem @ITEM_HEALTH[ 1 +rand(1)], 1 + rand(1); +if( @BET > 500) getitem @ITEM_HEALTH[2 + rand(1)], 1 + rand(3); +if( @BET > 1000) getitem @ITEM_HEALTH[3], 2 + rand(1); +if( @BET > 1500) getitem @ITEM_HEALTH[3], 3 + rand(2); +if( @BET == 2000) getitem @ITEM_HEALTH[3], 5 + rand(10); + mes @NPC_NAME$; + mes "\"here it is !\""; + close; + + +L_poor: + mes @NPC_NAME$; + mes "\"Erm... if you want to play you HAVE to bet, and you can't bet "+ @BET +" gold piece you need to bet something more of 50gp .\""; + close; +L_Too_rich: + mes @NPC_NAME$; + mes "\"Mh... you have bet too for me. How I'll get a present who is "+ @BET +" ?\""; + close; +L_No_Money: + mes @NPC_NAME$; + mes "\"well you don't have "+ @BET +" money\""; + close; +L_info: + mes @NPC_NAME$; + mes "\"Well, if you want to do Krick Krack Krock with me you need to bet some money if you say the same thing like me (Krack, Krick or Krock) you can win the double of your money you have bet or an item depend of what you bet too. \""; + goto L_Main; + + +//Do by : +//========================================= +// __ _ _____ _ _ == +// | | |_| | ____| | \ | | == +// | | _ | |___ | \ | | == +// | |__ | | | |___ | |\ \_| | == +// |____| |_| |_____| |_| \____| == +// == +//========================================= +} + diff --git a/npc/020-1_Nivalis/_import.txt b/npc/020-1_Nivalis/_import.txt index 7dd9e29a..73719acc 100644 --- a/npc/020-1_Nivalis/_import.txt +++ b/npc/020-1_Nivalis/_import.txt @@ -3,3 +3,4 @@ npc: npc/020-1_Nivalis/_mobs.txt npc: npc/020-1_Nivalis/_warps.txt npc: npc/020-1_Nivalis/mapflags.txt npc: npc/020-1_Nivalis/soul-menhir.txt +npc: npc/020-1_Nivalis/KrickKrackKrock.txt -- cgit v1.2.3-70-g09d2 From 02c469ce755fd3f6f1f808bead687b60c2c4429c Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Thu, 2 Dec 2010 22:17:45 +0100 Subject: fixups in nivalis --- npc/019-1_Snow_field/_import.txt | 1 + npc/020-1_Nivalis/_import.txt | 2 +- npc/020-2_Nivalis/_import.txt | 2 ++ npc/020-2_Nivalis/baktar.txt | 6 +++--- 4 files changed, 7 insertions(+), 4 deletions(-) (limited to 'npc') diff --git a/npc/019-1_Snow_field/_import.txt b/npc/019-1_Snow_field/_import.txt index 5e28d9bc..e389a836 100644 --- a/npc/019-1_Snow_field/_import.txt +++ b/npc/019-1_Snow_field/_import.txt @@ -4,3 +4,4 @@ npc: npc/019-1_Snow_field/_warps.txt npc: npc/019-1_Snow_field/monsters.txt npc: npc/019-1_Snow_field/santa_helper.txt npc: npc/019-1_Snow_field/snowman.txt +npc: npc/019-1_Snow_field/taro.txt diff --git a/npc/020-1_Nivalis/_import.txt b/npc/020-1_Nivalis/_import.txt index 73719acc..8da91301 100644 --- a/npc/020-1_Nivalis/_import.txt +++ b/npc/020-1_Nivalis/_import.txt @@ -1,6 +1,6 @@ map: 020-1.gat +npc: npc/020-1_Nivalis/KrickKrackKrock.txt npc: npc/020-1_Nivalis/_mobs.txt npc: npc/020-1_Nivalis/_warps.txt npc: npc/020-1_Nivalis/mapflags.txt npc: npc/020-1_Nivalis/soul-menhir.txt -npc: npc/020-1_Nivalis/KrickKrackKrock.txt diff --git a/npc/020-2_Nivalis/_import.txt b/npc/020-2_Nivalis/_import.txt index 41f0d473..05c69004 100644 --- a/npc/020-2_Nivalis/_import.txt +++ b/npc/020-2_Nivalis/_import.txt @@ -1,5 +1,7 @@ map: 020-2.gat npc: npc/020-2_Nivalis/_mobs.txt npc: npc/020-2_Nivalis/_warps.txt +npc: npc/020-2_Nivalis/baktar.txt npc: npc/020-2_Nivalis/mapflags.txt npc: npc/020-2_Nivalis/shops.txt +npc: npc/020-2_Nivalis/taro.txt diff --git a/npc/020-2_Nivalis/baktar.txt b/npc/020-2_Nivalis/baktar.txt index 331660b4..799fd535 100644 --- a/npc/020-2_Nivalis/baktar.txt +++ b/npc/020-2_Nivalis/baktar.txt @@ -109,7 +109,7 @@ L_exotic: close; L_startitem: - setarray @exotic_item$ "", "", "", "", "", "", ""; + setarray @exotic_item$, "", "", "", "", "", "", ""; set @c, 0; set @Q_status, @Q_status & (1<<@BIT_KNOWHIM); callsub S_Update_Var; @@ -333,9 +333,9 @@ L_2_talk2: next; mes "\"but to tell you the truth, HE was ALWAYS the one who directed me.\""; next; - mes "\"I DO NOT LIKE THAT!\""; + mes "\"I DO NOT LIKE THAT!\""; next; - mes "\"I WANT TO BE THE LEADER!\""; + mes "\"I WANT TO BE THE LEADER!\""; next; mes "\"STOP HIM DOING NASTY THINGS\""; next; -- cgit v1.2.3-70-g09d2 From 530a50fb4057ad96f78b596b91e74cdf4c02f467 Mon Sep 17 00:00:00 2001 From: Chuck Miller Date: Sat, 4 Dec 2010 20:42:49 -0500 Subject: Add a new daily aimed for people around level 40 --- npc/018-1_Woodland_mining_camp/_import.txt | 1 + npc/018-1_Woodland_mining_camp/mike.txt | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 npc/018-1_Woodland_mining_camp/mike.txt (limited to 'npc') diff --git a/npc/018-1_Woodland_mining_camp/_import.txt b/npc/018-1_Woodland_mining_camp/_import.txt index 06c8a307..f682ead9 100644 --- a/npc/018-1_Woodland_mining_camp/_import.txt +++ b/npc/018-1_Woodland_mining_camp/_import.txt @@ -1,5 +1,6 @@ map: 018-1.gat npc: npc/018-1_Woodland_mining_camp/_mobs.txt npc: npc/018-1_Woodland_mining_camp/_warps.txt +npc: npc/018-1_Woodland_mining_camp/mike.txt npc: npc/018-1_Woodland_mining_camp/miners.txt npc: npc/018-1_Woodland_mining_camp/sword.txt diff --git a/npc/018-1_Woodland_mining_camp/mike.txt b/npc/018-1_Woodland_mining_camp/mike.txt new file mode 100644 index 00000000..63fc596c --- /dev/null +++ b/npc/018-1_Woodland_mining_camp/mike.txt @@ -0,0 +1,22 @@ +018-1.gat,77,60,0 script Mike 113,{ + + mes "[Mike]"; + mes "\"I need to Black Stingers to make some medicine to cure my sister.\""; + next; + + set @dq_level, 40; + set @dq_cost, 8; + set @dq_count, 4; + set @dq_name$, "BlackScorpionStinger"; + set @dq_friendly_name$, "black stinger"; + set @dq_money, 1250; + set @dq_exp, 250; + + callfunc "DailyQuest"; + + next; + + mes "\"Hopefully I'll have enough soon.\""; + close; + +} -- cgit v1.2.3-70-g09d2 From 297552f645cef22887ba6f0e93b0f7f91144d17d Mon Sep 17 00:00:00 2001 From: Chuck Miller Date: Sat, 4 Dec 2010 20:47:39 -0500 Subject: Errr... wrong settings in the last patch --- npc/018-1_Woodland_mining_camp/mike.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'npc') diff --git a/npc/018-1_Woodland_mining_camp/mike.txt b/npc/018-1_Woodland_mining_camp/mike.txt index 63fc596c..c38e529d 100644 --- a/npc/018-1_Woodland_mining_camp/mike.txt +++ b/npc/018-1_Woodland_mining_camp/mike.txt @@ -5,12 +5,12 @@ next; set @dq_level, 40; - set @dq_cost, 8; + set @dq_cost, 16; set @dq_count, 4; set @dq_name$, "BlackScorpionStinger"; set @dq_friendly_name$, "black stinger"; - set @dq_money, 1250; - set @dq_exp, 250; + set @dq_money, 2500; + set @dq_exp, 500; callfunc "DailyQuest"; -- cgit v1.2.3-70-g09d2 From 9b3da22d7210886081d3a1a4bc7da9fd8a35b7fd Mon Sep 17 00:00:00 2001 From: Chuck Miller Date: Sat, 4 Dec 2010 21:02:14 -0500 Subject: Fix grammar on the new daily, non-critical update --- npc/018-1_Woodland_mining_camp/mike.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'npc') diff --git a/npc/018-1_Woodland_mining_camp/mike.txt b/npc/018-1_Woodland_mining_camp/mike.txt index c38e529d..7e0d296c 100644 --- a/npc/018-1_Woodland_mining_camp/mike.txt +++ b/npc/018-1_Woodland_mining_camp/mike.txt @@ -1,14 +1,14 @@ 018-1.gat,77,60,0 script Mike 113,{ mes "[Mike]"; - mes "\"I need to Black Stingers to make some medicine to cure my sister.\""; + mes "\"I need black stingers to make some medicine to cure my sister.\""; next; set @dq_level, 40; set @dq_cost, 16; set @dq_count, 4; set @dq_name$, "BlackScorpionStinger"; - set @dq_friendly_name$, "black stinger"; + set @dq_friendly_name$, "black stingers"; set @dq_money, 2500; set @dq_exp, 500; -- cgit v1.2.3-70-g09d2 From c8486b73d0a033293ab68b438e02301949f77376 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Sun, 5 Dec 2010 12:42:08 +0100 Subject: new npc in nivalis removed mapflags tested baktar KrickKrackKrock Criker Miler and the well shop does not sell forest bow but a desertbow --- npc/020-1_Nivalis/KrickKrackKrock.txt | 72 +++++++-------------- npc/020-1_Nivalis/_import.txt | 2 + npc/020-1_Nivalis/mapflags.txt | 9 +-- npc/020-1_Nivalis/rockscissor.txt | 89 ++++++++++++++++++++++++++ npc/020-1_Nivalis/well.txt | 117 ++++++++++++++++++++++++++++++++++ npc/020-2_Nivalis/_import.txt | 1 - npc/020-2_Nivalis/baktar.txt | 53 +++++++-------- npc/020-2_Nivalis/shops.txt | 8 +-- 8 files changed, 260 insertions(+), 91 deletions(-) mode change 100644 => 100755 npc/020-1_Nivalis/KrickKrackKrock.txt create mode 100755 npc/020-1_Nivalis/rockscissor.txt create mode 100755 npc/020-1_Nivalis/well.txt mode change 100644 => 100755 npc/020-2_Nivalis/baktar.txt (limited to 'npc') diff --git a/npc/020-1_Nivalis/KrickKrackKrock.txt b/npc/020-1_Nivalis/KrickKrackKrock.txt old mode 100644 new mode 100755 index 79cb63fc..e2f4746c --- a/npc/020-1_Nivalis/KrickKrackKrock.txt +++ b/npc/020-1_Nivalis/KrickKrackKrock.txt @@ -1,23 +1,6 @@ -//################################### -//playing game # -// -Kric Krack Krock # -// -if you said the same as NPC # -// -he give you a redward depending # -//-of you're betting # -//################################### -// var of this game # -// =======================# -// NPCNAME | name of the NPC # -// ITEM_RAND | item you can get # -//ITEM_HEALTH| Potion you can get # -// kRICK |array with the tree # -// BET | the betting of PC # -// =======================# -//################################### - - - -009-1.gat,82,82,0 script Criker 127, { +// author: Lien +// reviewed by Pjotr Orial and Jenalya +020-1.gat,82,82,0 script Criker 183, { L_Main: //Var @@ -32,14 +15,14 @@ L_Main: //ends of var mes @NPC_NAME$; - mes "\" hello " + strcharinfo(0) + ", you want play Krick-Krack-Krock\""; - menu "let's start !", L_Start, - "What's this ?", L_info, - "Well not for the moment", -; + mes "\"Hello " + strcharinfo(0) + ", do you want to play Krick-Krack-Krock?\""; + menu "Let's start!", L_Start, + "What's this?", L_info, + "Well, not for the moment.", -; close; L_Start: mes @NPC_NAME$; - mes "\"Well, how many you want to bet with me ?\""; + mes "\"Well, how many do you want to bet?\""; input @BET; if(@BET < 50 ) goto L_poor; if(@BET > 2000) goto L_Too_rich; @@ -49,33 +32,33 @@ L_Start: set @NPC_KRICK, rand(2); - mes "(Choose Krick, Krack or Krock)"; + mes "\"Choose Krick, Krack or Krock.\""; menu @KRICK$[0], -, @KRICK$[1], -, @KRICK$[2], -; -//menu = min 1 & not 0 so I change it + //menu = min 1 & not 0 so I change it set @menu, @menu - 1; mes @NPC_NAME$; mes "\" "+ @KRICK$[@NPC_KRICK] +" !\""; if( @menu == @NPC_KRICK ) goto L_Work; mes @NPC_NAME$; - mes "\"well, to bad We were not lucky !\""; + mes "\"Too bad! You were not lucky!\""; close; L_Work: mes @NPC_NAME$; - mes "\"wow that has Work ... what present you want ?\""; + mes "\"Wow amazing... What kind of present do you want?\""; menu - "Money !", L_Money, - "Item !", L_Item, - "Health !", L_Health_item; + "Money!", L_Money, + "An item!", L_Item, + "Some healing potions would be cool!", L_Health_item; close; L_Money: mes @NPC_NAME$; - mes "\"Here is your money\""; + mes "\"Here is your money.\""; set zeny, zeny + (@BET*2); close; L_Item: @@ -89,7 +72,7 @@ if( @BET > 1200) getitem @ITEM_RAND[4 + rand(1)], 1; if( @BET > 1500) getitem @ITEM_RAND[5 + rand(1)], 1; if( @BET == 2000) getitem @ITEM_RAND[6 + rand(1)], 1; mes @NPC_NAME$; - mes "\"here it is !\""; + mes "\"Here it is !\""; close; L_Health_item: @@ -102,36 +85,25 @@ if( @BET > 1000) getitem @ITEM_HEALTH[3], 2 + rand(1); if( @BET > 1500) getitem @ITEM_HEALTH[3], 3 + rand(2); if( @BET == 2000) getitem @ITEM_HEALTH[3], 5 + rand(10); mes @NPC_NAME$; - mes "\"here it is !\""; + mes "\"Here it is !\""; close; L_poor: mes @NPC_NAME$; - mes "\"Erm... if you want to play you HAVE to bet, and you can't bet "+ @BET +" gold piece you need to bet something more of 50gp .\""; + mes "\"Erm... if you want to play you HAVE to bet, and you can't bet "+ @BET +" gold pieces. You need at least 50gp.\""; close; L_Too_rich: mes @NPC_NAME$; - mes "\"Mh... you have bet too for me. How I'll get a present who is "+ @BET +" ?\""; + mes "\"Mh... I have to bet too. How I'll get a present which is "+ @BET +"? No, that's too much.\""; close; L_No_Money: mes @NPC_NAME$; - mes "\"well you don't have "+ @BET +" money\""; + mes "\"Oh? You don't have "+ @BET +" gold pieces.\""; close; L_info: mes @NPC_NAME$; - mes "\"Well, if you want to do Krick Krack Krock with me you need to bet some money if you say the same thing like me (Krack, Krick or Krock) you can win the double of your money you have bet or an item depend of what you bet too. \""; + mes "\"Well, if you want to play Krick Krack Krock with me, you need to bet some money. We will both say a word (Krack, Krick or Krock). If we say the same, you can win the double of your money or an item worth of what you bet. \""; goto L_Main; - - -//Do by : -//========================================= -// __ _ _____ _ _ == -// | | |_| | ____| | \ | | == -// | | _ | |___ | \ | | == -// | |__ | | | |___ | |\ \_| | == -// |____| |_| |_____| |_| \____| == -// == -//========================================= } diff --git a/npc/020-1_Nivalis/_import.txt b/npc/020-1_Nivalis/_import.txt index 8da91301..d76777a4 100644 --- a/npc/020-1_Nivalis/_import.txt +++ b/npc/020-1_Nivalis/_import.txt @@ -1,6 +1,8 @@ map: 020-1.gat npc: npc/020-1_Nivalis/KrickKrackKrock.txt +npc: npc/020-1_Nivalis/rockscissor.txt npc: npc/020-1_Nivalis/_mobs.txt npc: npc/020-1_Nivalis/_warps.txt npc: npc/020-1_Nivalis/mapflags.txt npc: npc/020-1_Nivalis/soul-menhir.txt +npc: npc/020-1_Nivalis/well.txt diff --git a/npc/020-1_Nivalis/mapflags.txt b/npc/020-1_Nivalis/mapflags.txt index b96ea2f6..203cf649 100644 --- a/npc/020-1_Nivalis/mapflags.txt +++ b/npc/020-1_Nivalis/mapflags.txt @@ -1,7 +1,2 @@ -// - -019-1.gat mapflag nosave 009-1,54,39; -020-1.gat mapflag nosave 009-1,54,39; -020-2.gat mapflag nosave 009-1,54,39; -020-3.gat mapflag nosave 009-1,54,39; -020-4.gat mapflag nosave 009-1,54,39; +020-1.gat mapflag no_player_drops +020-1.gat mapflag town diff --git a/npc/020-1_Nivalis/rockscissor.txt b/npc/020-1_Nivalis/rockscissor.txt new file mode 100755 index 00000000..db813518 --- /dev/null +++ b/npc/020-1_Nivalis/rockscissor.txt @@ -0,0 +1,89 @@ +// author: Lien +// reviewed by Pjotr Orial and Jenalya +//##################################### +//== NPC [Player] # +// anyone want to do a funny bet # +// ------------------------ # +// Rock-Paper-Scissors can be playing # +// I hope that'll make fun # +// ------------------------ # +//##################################### + +020-1.gat,74,78,0 script Gobmel 183, { + //var + set @NPC_name$, "[Gobmel]"; + set @NPC_point, 0; + set @PC_point, 0; + set @gamblerun, 0; + setarray @CHOOSE_PC$, "Scissors", "Paper", "Rock"; + setarray @CHOSE_ID, 0, 1, 2; + //0 : scissors; 1: Paper; 2: Rock; + // 0 cut 1 and 1 cover 3 and break 0 ... + //var ends + + mes @NPC_name$; + mes "\"Hello " + strcharinfo(0) + "! Do you want to do a little party of Rock-Paper-Scissors and bet some gold?\""; + menu + "Yes, I want.", L_RPS, + "Well, maybe later.", -; + close; + +L_RPS: + + mes @NPC_name$; + mes "\"How much money do you want to bet?\""; + input @MONEY_BET; + if(zeny < @MONEY_BET) goto L_poor; + set zeny, zeny - @MONEY_BET; + +L_Start: + if(@gamblerun == 3) goto L_finish; + //what chose the NPC ? + + set @CHOOSE_NPCID, rand(2); + + mes @NPC_name$; + mes "[ " + @gamblerun + "/3 ]"; + mes "\"1... 2... 3...\""; + mes"[chose what sign you do]"; + menu + @CHOOSE_PC$[0], -, + @CHOOSE_PC$[1], -, + @CHOOSE_PC$[2], -; + + set @CHOSEN, @menu -1; + mes @CHOOSE_PC$[@CHOOSE_NPCID]; + mes strcharinfo(0)+" " + strcharinfo(0)+ ":" +@CHOOSE_PC$[@CHOSEN]; + if(@CHOSEN == @CHOOSE_NPCID) goto L_Start; + if(@CHOSEN == 0 && @CHOOSE_NPCID == 2) goto L_Lost; + if(@CHOSEN == 1 && @CHOOSE_NPCID == 0) goto L_Lost; + if(@CHOSEN == 2 && @CHOOSE_NPCID == 1) goto L_Lost; +L_Win: + set @PC_point, @PC_point + 1; + set @gamblerun, @gamblerun + 1; + mes "Oh no! I have lost."; + goto L_Start; + +L_poor: + mes @NPC_name$; + mes "\"Go away from me...\""; + close; + +L_Lost: + set @NPC_point, @NPC_point + 1; + set @gamblerun, @gamblerun + 1; + mes "I have won!"; + goto L_Start; + +L_finish: + if(@PC_point > @NPC_point ) goto L_Won; + mes @NPC_name$; + mes "\"Nice ! I have won, give your gp!\""; + close; +L_Won: + mes @NPC_name$; + mes "\"Here is my money\""; + set zeny, zeny + @MONEY_BET*2; + close; +} + diff --git a/npc/020-1_Nivalis/well.txt b/npc/020-1_Nivalis/well.txt new file mode 100755 index 00000000..4c200be8 --- /dev/null +++ b/npc/020-1_Nivalis/well.txt @@ -0,0 +1,117 @@ +//############################################ +//# NPC Well & Miler +//# Authors: Lien, PjotrOrial +//# Review: +//# +//# There is someone in the well. This can be found out by throwing some stuff +//# in there. +//# +//# When the npc in the well is detected they can be rescued by asking Miler +//# for help. +//# +//# The experience reward given by Miler is 111 * Baselevel +//# +//# used variables: QUEST_Nivalis_state Nibble4 +//############################################ + +020-1.gat,99,83,0 script #Well 127, { + + set @Q_MASK, NIBBLE_4_MASK; + set @Q_SHIFT, NIBBLE_4_SHIFT; + set @Q_status, ((QUEST_Nivalis_state) & @Q_MASK) >> @Q_SHIFT; + +if(@Q_status == 2) goto L_Finished; + set @item_ID, 0; + setarray @quote_item$, "Yuck! Who has thrown that on me?","Ouch! Who hurts me?","White powder!? What's going on up there?","Ahw! It's raining ","","",""; + + mes "..."; + menu "Throw something in the well.", L_trew, + "Leave it alone.", -; + close; + +L_trew: + mes "What do you want to throw?"; + menu "Maggot slime", -, + "A raw log", -, + "Pile of ash", -, + "Bottle of water", -, + "Leave it alone", L_Close; + + set @menu, @menu - 1; + + // little IF to do @quote$ & @Item_ID + set @quote$, @quote_item$[@menu]; + if(@menu == 0) set @item_ID, 505; + if(@menu == 1) set @item_ID, 569; + if(@menu == 2) set @item_ID, 701; + if(@menu == 3) set @item_ID, 541; + + if(countitem(@item_ID) < 1) goto L_NO_ITEM; + if(@menu == 3) getitem 540, 1; + delitem @item_ID, 1; + + mes "[Mysterious voice inside the well]"; + mes "\" "+ @quote$ +"\""; + next; + menu "Who are you?", -, + "How did you get there?", -, + "Do you need help?", -; + + set @menu, @menu - 1; + if(@menu == 0) set @quote$, "I'll talk about who I am after leaving the well."; + if(@menu == 1) set @quote$, "Well, someone has pushed me in the well, I don't know who did that."; + if(@menu == 2) set @quote$, ""; + mes "[Mysterious voice inside the well]"; + mes "\" "+ @quote$ +". So if you can call help for me... please do so!\""; + set @Q_status, 1; + callsub S_Update_Var; + close; + +L_NO_ITEM: + mes "You don't have such an item... Come back when you have it."; + close; + +L_Finished: + mes "This is a well."; + close; + +L_Close: + close; + +S_Update_Var: + set QUEST_Nivalis_state, + (QUEST_Nivalis_state & ~(@Q_MASK) + | (@Q_status << @Q_SHIFT)); + return; +} + +020-2.gat,100,28,0 script Miler 100, { + set @Q_MASK, NIBBLE_4_MASK; + set @Q_SHIFT, NIBBLE_4_SHIFT; + set @Q_status, ((QUEST_Nivalis_state) & @Q_MASK) >> @Q_SHIFT; + + mes "[Miler]"; + mes "\"Hello!\""; + if(@Q_status == 2) close; + if(@Q_status == 1) + menu "Hello.", -, + "Hello, Can you help me?", L_HELP; + close; +L_HELP: + mes "[Miler]"; + mes "\"What's the problem?\""; + menu "Someone has fallen in the well.", -; + mes "[Miler]"; + mes "\"Ho! I'll help him!\""; + getexp (BaseLevel * 111), 0; + set @Q_status, 2; + callsub S_Update_Var; + close; + +S_Update_Var: + set QUEST_Nivalis_state, + (QUEST_Nivalis_state & ~(@Q_MASK) + | (@Q_status << @Q_SHIFT)); + return; +} + diff --git a/npc/020-2_Nivalis/_import.txt b/npc/020-2_Nivalis/_import.txt index 05c69004..04feb1ae 100644 --- a/npc/020-2_Nivalis/_import.txt +++ b/npc/020-2_Nivalis/_import.txt @@ -4,4 +4,3 @@ npc: npc/020-2_Nivalis/_warps.txt npc: npc/020-2_Nivalis/baktar.txt npc: npc/020-2_Nivalis/mapflags.txt npc: npc/020-2_Nivalis/shops.txt -npc: npc/020-2_Nivalis/taro.txt diff --git a/npc/020-2_Nivalis/baktar.txt b/npc/020-2_Nivalis/baktar.txt old mode 100644 new mode 100755 index 799fd535..b037d7bb --- a/npc/020-2_Nivalis/baktar.txt +++ b/npc/020-2_Nivalis/baktar.txt @@ -1,7 +1,7 @@ //#========================= //#== NPC Baktar //# Authors: Lien, PjotrOrial -//# Review: BigCrunch, Mistakes +//# Review: BigCrunch, Mistakes, Jenalya //# This NPC has two stages: //# //# In the first stage you need to bring 7 different items, but only one of each kind. @@ -29,7 +29,7 @@ //# =2 talking, you get the mission to hunt down Scroticular //# =3 you get information where Scroticular can be found. //# NIBBLE3 a bitmasking nibble for stage 2 again -//# bit 0 knows the name of the opponent +//# bit 0 knows the name/location of the opponent //# bit 1 killed the ugly opponent //#========================= 020-2.gat,70,61,0 script Baktar 183,{ @@ -48,6 +48,7 @@ set @Q_status2_bits, ((QUEST_Nivalis_state) & @Q_MASK2_BITS) >> @Q_SHIFT2_BITS; // if all bits are set, you brought him everything! Now we continue in Phase 2 of this npc. + mes @Q_status; if(@Q_status == @Q_MASK) goto L_2_init; set @BIT_KNOWHIM, 0; @@ -77,17 +78,17 @@ set @XP_SNAKESKIN, 350; set @BIT_BUGLEG,7; - set @MONEY_BUGLEG, 20000; - set @XP_BUGLEG, 10000; + set @MONEY_BUGLEG, 20; + set @XP_BUGLEG, 130; if(sex) - set @type$, "Man"; + set @type$, "man"; if(!sex) - set @type$, "Woman"; + set @type$, "woman"; if(@Q_status & (1<<@BIT_KNOWHIM)) goto L_KnowAlready; mes @npcname$; - mes "\"Hello, " + @type$ + ", did you come from Tulimshar? Because you have a nice tan. \""; + mes "\"Hello, " + @type$ + ", did you come from Tulimshar? Because you have a nice tan. \""; menu "Yes, I'm from Tulimshar", L_exotic, "Well, I just like sunbathing", -, @@ -111,7 +112,7 @@ L_exotic: L_startitem: setarray @exotic_item$, "", "", "", "", "", "", ""; set @c, 0; - set @Q_status, @Q_status & (1<<@BIT_KNOWHIM); + set @Q_status, @Q_status | (1<<@BIT_KNOWHIM); callsub S_Update_Var; if (countitem("DesertHat") < 1 || @Q_status & (1<<@BIT_DESERTHAT) ) goto L_DesertShirt; set @exotic_item$[@c], "a Desert Hat ?"; @@ -137,8 +138,8 @@ L_tongue: set @c, @c + 1; L_egg: - if (countitem("MoutainSnakeEgg") < 1 || @Q_status & (1<<@BIT_MS_EGG)) goto L_Skin; - set @exotic_item$[@c], "a Moutain Snake Egg?"; + if (countitem("MountainSnakeEgg") < 1 || @Q_status & (1<<@BIT_MS_EGG)) goto L_Skin; + set @exotic_item$[@c], "a Mountain Snake Egg?"; set @menuid[@c], 4; set @c, @c + 1; @@ -155,7 +156,7 @@ L_bugleg: set @c, @c + 1; L_NeverMind: - set @exotic_item$[@c], "Never Mind"; + set @exotic_item$[@c], "Nevermind"; set @menuid[@c], 6; //menu for the item menu @@ -178,7 +179,7 @@ L_NeverMind: if (@menuid[@menu] == 6) goto L_BugLegItem; //if Never mind mes @npcname$; - mes "\"ok, GoodBye then\""; + mes "\"Ok, goodbye then.\""; close; L_DesertHat_Item: if(@Q_status & (1<<@BIT_DESERTHAT)) goto L_havealready; @@ -186,7 +187,7 @@ L_DesertHat_Item: delitem "DesertHat", 1; set zeny, zeny + @MONEY_DESERTHAT; getexp @XP_DESERTHAT,0; - set @Q_status, @Q_status & (1<<@BIT_DESERTHAT); + set @Q_status, @Q_status | (1<<@BIT_DESERTHAT); callsub S_Update_Var; close; L_DesertShirt_Item: @@ -195,25 +196,25 @@ L_DesertShirt_Item: delitem "DesertShirt", 1; set zeny, zeny + @MONEY_DESERTSHIRT; getexp @XP_DESERTSHIRT,0; - set @Q_status, @Q_status & (1<<@BIT_DESERSHIRT); + set @Q_status, @Q_status | (1<<@BIT_DESERTSHIRT); callsub S_Update_Var; -close; + close; L_SerfHat_Item: if(@Q_status & (1<<@BIT_SERFHAT)) goto L_havealready; if (countitem("SerfHat") < 1) goto L_Noitem; delitem "SerfHat", 1; set zeny, zeny + @MONEY_SERFHAT; getexp @XP_SERFHAT,0; - set @Q_status, @Q_status & (1<<@BIT_SERFHAT); + set @Q_status, @Q_status | (1<<@BIT_SERFHAT); callsub S_Update_Var; -close; + close; L_tongue_Item: if(@Q_status & (1<<@BIT_MS_TONGUE)) goto L_havealready; if (countitem("MountainSnakeTongue") < 1) goto L_Noitem; delitem "MountainSnakeTongue", 1; set zeny, zeny + @MONEY_MS_TONGUE; getexp @XP_MS_TONGUE,0; - set @Q_status, @Q_status & (1<<@BIT_MS_TONGUE); + set @Q_status, @Q_status | (1<<@BIT_MS_TONGUE); callsub S_Update_Var; close; L_egg_Item: @@ -222,7 +223,7 @@ L_egg_Item: delitem "MountainSnakeEgg", 1; set zeny, zeny + @MONEY_MS_EGG; getexp @XP_MS_EGG,0; - set @Q_status, @Q_status & (1<<@BIT_MS_EGG); + set @Q_status, @Q_status | (1<<@BIT_MS_EGG); callsub S_Update_Var; close; L_skin_Item: @@ -231,7 +232,7 @@ L_skin_Item: delitem "SnakeSkin", 1; set zeny, zeny + @MONEY_SNAKESKIN; getexp @XP_SNAKESKIN,0; - set @Q_status, @Q_status & (1<<@BIT_SNAKESKIN); + set @Q_status, @Q_status | (1<<@BIT_SNAKESKIN); callsub S_Update_Var; close; L_BugLegItem: @@ -240,7 +241,7 @@ L_BugLegItem: delitem "BugLeg", 1; set zeny, zeny + @MONEY_BUGLEG; getexp @XP_BUGLEG,0; - set @Q_status, @Q_status & (1<<@BIT_BUGLEG); + set @Q_status, @Q_status | (1<<@BIT_BUGLEG); callsub S_Update_Var; close; @@ -258,12 +259,6 @@ S_Update_Var: set QUEST_Nivalis_state, (QUEST_Nivalis_state & ~(@Q_MASK) | (@Q_status << @Q_SHIFT)); - set QUEST_Nivalis_state, - (QUEST_Nivalis_state & ~(@Q_MASK2) - | (@Q_status2 << @Q_SHIFT2)); - set QUEST_Nivalis_state, - (QUEST_Nivalis_state & ~(@Q_MASK2_BITS) - | (@Q_status2_bits << @Q_SHIFT2_BITS)); return; @@ -289,7 +284,7 @@ L_2_init: mes @npcname$; mes "\"Thanks a lot for bringing me all this nice stuff!\""; next; - mes "\"That helps me a lot. You see over there is already another set I collected: There are some pieces of the Hurnscald town. That sign there has ben stolen from the inn.\""; + mes "\"That helps me a lot. You see over there is already another set I collected: There are some pieces of the Hurnscald town. That sign there has been stolen from the inn.\""; next; mes "\"But do not tell anyone, please! I really like collecting things. And that sign is one of the first things I organized.\""; next; @@ -377,7 +372,7 @@ L_2_name: mes "\"What is your name again?\""; menu "I am sorry for the joke... Please forgive me", -, - "They call me Mistakes; I am a professional killer as well. You heard about that business in the terranite cave?", -; + "They call me Mistakes. I am a professional killer as well. You heard about that business in the terranite cave?", -; mes @npcname$; mes "\"Alright, I see. Ok maybe I really need to calm down. Please let me alone... I will try to calm down, ok?\""; close; diff --git a/npc/020-2_Nivalis/shops.txt b/npc/020-2_Nivalis/shops.txt index 8492aeb2..1d863a00 100644 --- a/npc/020-2_Nivalis/shops.txt +++ b/npc/020-2_Nivalis/shops.txt @@ -3,7 +3,7 @@ // Clothes shop 020-2.gat,27,26,0 shop Taylor 137,523:2000,524:1600,543:800,544:5000,546:10000,586:1000,741:-1 // Weapons shop -020-2.gat,25,65,0 shop Bracco 135,1201:50,521:1000,522:100,529:5 +020-2.gat,25,65,0 shop Bracco 135,1201:50,521:1000,522:100,529:5,530:-1 // Potions shop 020-2.gat,75,26,0 shop Mede 103,501:50,502:70,567:500,568:500 @@ -13,9 +13,9 @@ set @cost, 100; mes "[" + @npcName$ + "]"; - mes "\"Welcome strangers."; - mes "What? You've already seen an INN like mine?"; - mes "That's impossible!\""; + mes "\"Welcome stranger!\""; + mes "\"What? You've already seen an INN like mine?\""; + mes "\"That's impossible!\""; next; callfunc "Inn"; close; -- cgit v1.2.3-70-g09d2 From 1356d6a81c735a20c1719bc7375b619480e0aa21 Mon Sep 17 00:00:00 2001 From: Wombat Date: Thu, 9 Dec 2010 15:16:03 -0500 Subject: mobs added to winter land and winter monsters to mob_db.txt mobs added to new Kaizei maps. Yeti and Ice Element added to mob_db.txt --- db/mob_db.txt | 18 +++++++++-------- npc/011-6/_mobs.txt | 6 +++--- npc/019-3_Snow_field/_mobs.txt | 12 +++++++++++ npc/020-1_Nivalis/_import.txt | 2 +- npc/020-2_Nivalis/_import.txt | 1 + npc/030-1_Snow_field/_mobs.txt | 18 +++++++++++++++++ npc/031-1_NivalisPort/_mobs.txt | 18 +++++++++++++++++ npc/031-3/_mobs.txt | 44 +++++++++++++++++++++++++++++++++++++++++ 8 files changed, 107 insertions(+), 12 deletions(-) (limited to 'npc') diff --git a/db/mob_db.txt b/db/mob_db.txt index e2d06674..cac568be 100644 --- a/db/mob_db.txt +++ b/db/mob_db.txt @@ -60,11 +60,13 @@ 1060, Archant, Archant, 30, 400, 0, 0, 200, 1, 20, 30, 4, 6, 10, 5, 1, 0, 12, 10, 1, 1, 1, 0, 25, 133, 1000, 1500, 672, 480, 537, 300, 535, 100, 640, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 40 1061, Moggun, Moggun, 60, 800, 0, 0, 100, 1, 70, 90, 20, 10, 50, 40, 10, 10, 10, 10, 1, 1, 1, 0, 25, 137, 600, 1500, 672, 480, 611, 600, 4001, 1000, 4002, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 40 1062, Terranite, Terranite, 110, 6000, 0, 0, 1000, 1, 200, 300, 20, 40, 60, 40, 40, 30, 60, 40, 1, 1, 1, 0, 29, 133, 400, 872, 672, 900, 4001, 600, 4004, 20, 4005, 20, 4007, 20, 763, 500, 640, 500, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 -1063, Bandit, Bandit, 20, 400, 0, 0, 100, 1, 40, 40, 5, 0, 10, 10, 10, 10, 10, 10, 1, 1, 1, 0, 29, 135, 500, 1500, 672, 900, 4016, 800, 521, 200, 526, 200, 535, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 -1064, BanditLord, Bandit Lord, 40, 2000, 0, 0, 120, 5, 50, 50, 15, 15, 15, 15, 15, 15, 15, 15, 1, 1, 1, 0, 29, 135, 400, 1500, 672, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 -1065, VampireBat, Vampire Bat, 60, 300, 0, 0, 4, 3, 15, 2, 0, 8, 8, 8, 1, 4, 20, 4, 6, 1, 1, 3, 24, 129, 800, 1872, 672, 480, 501, 150, 518, 400, 533, 150, 521, 70, 522, 1, 753, 3000, 754, 2000, 0, 0, 0, 0, , -1066, TheLost, The Lost, 30, 5000, 0, 0, 1000, 5, 260, 375, 10, 70, 5, 40, 10, 70, 70, 40, 4, 9, 1, 1, 69, 141, 500, 2000, 672, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 -1067, Reaper, Reaper, 50, 55500, 0, 0, 10000, 12, 444, 555, 30, 80, 100, 200, 70, 120, 150, 80, 1, 50, 1, 1, 89, 165, 500, 1200, 800, 300, 777, 1000, 775, 500, 776, 100, 1221, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 -1068, Scythe, Scythe, 40, 3000, 0, 0, 500, 1, 200, 350, 30, 10, 100, 250, 1, 1, 150, 90, 1, 50, 1, 0, 40, 133, 220, 700, 672, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 -1069, BallLightning, Ball Lightning, 40, 50, 0, 0, 10, 1, 5, 10, 40, 65, 1, 200, 1, 1, 1, 1, 1, 50, 1, 0, 47, 133, 110, 1500, 672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 - +1063, Pumpkin, Pumpkin, 10, 100, 0, 0, 4, 1, 10, 10, 0, 5, 5, 5, 1, 0, 6, 5, 1, 1, 1, 3, 21, 133, 700, 1872, 672, 480, 505, 800, 501, 150, 518, 400, 533, 150, 502, 70, 522, 10, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 +1064, Bandit, Bandit, 20, 400, 0, 0, 100, 1, 40, 40, 5, 0, 10, 10, 10, 10, 10, 10, 1, 1, 1, 0, 29, 135, 500, 1500, 672, 900, 4016, 800, 521, 200, 526, 200, 535, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 +1065, BanditLord, Bandit Lord, 40, 2000, 0, 0, 120, 5, 50, 50, 15, 15, 15, 15, 15, 15, 15, 15, 1, 1, 1, 0, 29, 135, 400, 1500, 672, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 +1066, VampireBat, Vampire Bat, 30, 800, 0, 0, 200, 1, 15, 2, 0, 8, 8, 8, 1, 4, 20, 4, 6, 1, 1, 3, 24, 129, 800, 1872, 672, 480, 501, 150, 518, 400, 533, 150, 521, 70, 522, 1, 753, 3000, 754, 2000, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 +1067, TheLost, The Lost, 30, 5000, 0, 0, 1000, 5, 260, 375, 10, 70, 5, 40, 10, 70, 70, 40, 4, 9, 1, 1, 69, 141, 500, 2000, 672, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 +1068, Reaper, Reaper, 50, 55500, 0, 0, 10000, 12, 444, 555, 30, 80, 100, 200, 70, 120, 150, 80, 1, 50, 1, 1, 89, 165, 500, 1200, 800, 300, 777, 1000, 775, 500, 776, 100, 1221, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 +1069, Scythe, Scythe, 40, 3000, 0, 0, 500, 1, 200, 350, 30, 10, 100, 250, 1, 1, 150, 90, 1, 50, 1, 0, 40, 133, 220, 700, 672, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 +1070, BallLightning, Ball Lightning, 40, 50, 0, 0, 10, 1, 5, 10, 40, 65, 1, 200, 1, 1, 1, 1, 1, 50, 1, 0, 47, 133, 110, 1500, 672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 +1071, IceElement, Ice Element, 20, 1000, 0, 0, 200, 2, 60, 60, 0, 20, 15, 25, 15, 15, 20, 50, 1, 1, 1, 0, 41, 135, 330, 740, 672, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 20 +1072, Yeti, Yeti, 35, 3000, 0, 0, 300, 2, 50, 150, 40, 0, 70, 5, 20, 15, 5, 15, 1, 1, 1, 0, 61, 135, 400, 1500, 672, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 diff --git a/npc/011-6/_mobs.txt b/npc/011-6/_mobs.txt index 9b6fc0a5..01a44dc6 100644 --- a/npc/011-6/_mobs.txt +++ b/npc/011-6/_mobs.txt @@ -2,7 +2,7 @@ 011-6.gat,0,0,0,0 monster Spiky Mushroom 1019,30,30000,100000,Mob011-6::On1019 011-6.gat,0,0,0,0 monster Evil Mushroom 1013,15,30000,100000,Mob011-6::On1013 -011-6.gat,115,79,191,110 monster Bandit 1063,8,30000,100000,Mob011-6::On1063 +011-6.gat,115,79,191,110 monster Bandit 1064,8,30000,100000,Mob011-6::On1064 011-6.gat,0,0,0,0 monster Bat 1017,30,30000,100000,Mob011-6::On1017 @@ -22,8 +22,8 @@ On1019: callfunc "MobPoints"; break; -On1063: - set @mobID, 1063; +On1064: + set @mobID, 1064; callfunc "MobPoints"; break; diff --git a/npc/019-3_Snow_field/_mobs.txt b/npc/019-3_Snow_field/_mobs.txt index d5d272ab..c4570bb3 100644 --- a/npc/019-3_Snow_field/_mobs.txt +++ b/npc/019-3_Snow_field/_mobs.txt @@ -1,7 +1,19 @@ // 019-3 Snow field mobs +019-3.gat,0,0,0,0 monster Moggun 1061,10,100000,30000,Mob019-3::On1061 +019-3.gat,0,0,0,0 monster Bats 1017,50,100000,30000,Mob019-3::On1017 019-3.gat,0,0,0 script Mob019-3 -1,{ +On1017: + set @mobID, 1017; + callfunc "MobPoints"; + break; + +On1061: + set @mobID, 1061; + callfunc "MobPoints"; + break; + end; } diff --git a/npc/020-1_Nivalis/_import.txt b/npc/020-1_Nivalis/_import.txt index d76777a4..3937f4ff 100644 --- a/npc/020-1_Nivalis/_import.txt +++ b/npc/020-1_Nivalis/_import.txt @@ -1,8 +1,8 @@ map: 020-1.gat npc: npc/020-1_Nivalis/KrickKrackKrock.txt -npc: npc/020-1_Nivalis/rockscissor.txt npc: npc/020-1_Nivalis/_mobs.txt npc: npc/020-1_Nivalis/_warps.txt npc: npc/020-1_Nivalis/mapflags.txt +npc: npc/020-1_Nivalis/rockscissor.txt npc: npc/020-1_Nivalis/soul-menhir.txt npc: npc/020-1_Nivalis/well.txt diff --git a/npc/020-2_Nivalis/_import.txt b/npc/020-2_Nivalis/_import.txt index 04feb1ae..05c69004 100644 --- a/npc/020-2_Nivalis/_import.txt +++ b/npc/020-2_Nivalis/_import.txt @@ -4,3 +4,4 @@ npc: npc/020-2_Nivalis/_warps.txt npc: npc/020-2_Nivalis/baktar.txt npc: npc/020-2_Nivalis/mapflags.txt npc: npc/020-2_Nivalis/shops.txt +npc: npc/020-2_Nivalis/taro.txt diff --git a/npc/030-1_Snow_field/_mobs.txt b/npc/030-1_Snow_field/_mobs.txt index a614f4a2..ade0e354 100644 --- a/npc/030-1_Snow_field/_mobs.txt +++ b/npc/030-1_Snow_field/_mobs.txt @@ -1,7 +1,25 @@ // 030-1 Snow field mobs +030-1.gat,78,55,66,70 monster Santa Slime 1015,5,100000,30000,Mob030-1::On1015 +030-1.gat,84,57,66,70 monster Squirrel 1038,10,100000,30000,Mob030-1::On1038 +030-1.gat,84,57,66,70 monster Fluffy 1020,15,100000,30000,Mob030-1::On1020 030-1.gat,0,0,0 script Mob030-1 -1,{ +On1015: + set @mobID, 1015; + callfunc "MobPoints"; + break; + +On1020: + set @mobID, 1020; + callfunc "MobPoints"; + break; + +On1038: + set @mobID, 1038; + callfunc "MobPoints"; + break; + end; } diff --git a/npc/031-1_NivalisPort/_mobs.txt b/npc/031-1_NivalisPort/_mobs.txt index dc109dc5..431da4f1 100644 --- a/npc/031-1_NivalisPort/_mobs.txt +++ b/npc/031-1_NivalisPort/_mobs.txt @@ -1,7 +1,25 @@ // 031-1 NivalisPort mobs +031-1.gat,75,72,86,110 monster Santa Slime 1015,5,100000,30000,Mob031-1::On1015 +031-1.gat,89,74,86,110 monster Squirrel 1038,10,100000,30000,Mob031-1::On1038 +031-1.gat,89,74,86,110 monster Fluffy 1020,15,100000,30000,Mob031-1::On1020 031-1.gat,0,0,0 script Mob031-1 -1,{ +On1015: + set @mobID, 1015; + callfunc "MobPoints"; + break; + +On1020: + set @mobID, 1020; + callfunc "MobPoints"; + break; + +On1038: + set @mobID, 1038; + callfunc "MobPoints"; + break; + end; } diff --git a/npc/031-3/_mobs.txt b/npc/031-3/_mobs.txt index a86150c7..356b167c 100644 --- a/npc/031-3/_mobs.txt +++ b/npc/031-3/_mobs.txt @@ -1,7 +1,51 @@ // 031-3 mobs +031-3.gat,38,50,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 +031-3.gat,213,57,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 +031-3.gat,39,144,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 +031-3.gat,39,212,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 +031-3.gat,282,142,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 +031-3.gat,284,222,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 +031-3.gat,99,271,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 +031-3.gat,281,58,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 +031-3.gat,0,0,0,0 monster Bat 1017,100,100000,30000,Mob031-3::On1017 +031-3.gat,48,48,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 +031-3.gat,122,50,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 +031-3.gat,117,140,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 +031-3.gat,212,142,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 +031-3.gat,211,276,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 +031-3.gat,117,207,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 +031-3.gat,231,213,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 +031-3.gat,261,265,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 +031-3.gat,280,56,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 +031-3.gat,121,57,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 +031-3.gat,120,143,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 +031-3.gat,218,215,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 +031-3.gat,285,216,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 +031-3.gat,128,272,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 +031-3.gat,212,279,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 031-3.gat,0,0,0 script Mob031-3 -1,{ +On1015: + set @mobID, 1015; + callfunc "MobPoints"; + break; + +On1017: + set @mobID, 1017; + callfunc "MobPoints"; + break; + +On1058: + set @mobID, 1058; + callfunc "MobPoints"; + break; + +On1061: + set @mobID, 1061; + callfunc "MobPoints"; + break; + end; } -- cgit v1.2.3-70-g09d2 From 7627d41a035a1bcee94a063e96e201f7c0402757 Mon Sep 17 00:00:00 2001 From: Wombat Date: Sat, 11 Dec 2010 04:08:57 -0500 Subject: added candle helmet to item_db and orum reward added the candle helmet as a reward for the orum quest and to the item.db.txt --- db/item_db.txt | 5 +++-- npc/009-4/orum.txt | 7 +++---- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'npc') diff --git a/db/item_db.txt b/db/item_db.txt index 4b9c4719..9d8baad9 100644 --- a/db/item_db.txt +++ b/db/item_db.txt @@ -342,7 +342,7 @@ 1253, GoldenDeliciousApple, GoldenDeliciousApple, 0, 1000, 500, 30, , , , , , 2, , , 0, , { itemheal 200, 0; }, {} 1254, DarkPetal, Dark Petal, 3, 15000, 8000, 250, , , , , , 2, , , 0, , {}, {} 1255, WhiteRabbitEars, White Rabbit Ears, 5, 7000, 5000, 20, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -1256, EggshellHat, Eggshell Hat, 5, 7000, 5000, 15, , 12, , 0, 0, 2, 256, , 1, 0, { bonus bAgi, -1; }, {} +1256, EggshellHat, Eggshell Hat, 5, 7000, 5000, 15, , 12, , 0, 0, 2, 256, , 1, 0, {}, { bonus bAgi, -1; } 1257, FlawedLens, Flawed Lens, 3, 10000, 5000, 3, , , , , , 2, , , 0, 0, {}, {} 1258, Honey, Honey, 0, 100, 80, 20, , , , , , 2, , , , , { itemheal 45, 0; }, {} @@ -531,6 +531,7 @@ 4014, RingSimple, Simple Ring, 5, 5000, 2500, 1, , 0, , 0, 0, 2, 128, , 0, 0, {}, {} 4015, IngotIron, Iron Ingot, 3, 500, 250, 200, , , , , , , , , , , {}, {} 4016, BanditHood, Bandit Hood, 3, 100, 50, 50, , , , , , , , , , , {}, {} -4017, RedPowder, Red Powder, 3, 3000, 5, 10, , , , , , 0, , , 0, , {}, {} +4017, RedPowder, Red Powder, 3, 3000, 5, 10, , , , , , 0, , , 0, , {}, {} 4018, YellowPowder, Yellow Powder, 3, 3000, 5, 10, , , , , , 0, , , 0, , {}, {} 4019, BluePowder, Blue Powder, 3, 3000, 5, 10, , , , , , 0, , , 0, , {}, {} +4020, CandleHelmet, Candle Helmet, 5, 20000, 2000, 450, , 16, , -25, 0, 2, 256, , 0, 0, {}, {bonus bInt, 1; bonus bAgi, -1;} diff --git a/npc/009-4/orum.txt b/npc/009-4/orum.txt index cbc5e12f..63ff702e 100644 --- a/npc/009-4/orum.txt +++ b/npc/009-4/orum.txt @@ -625,13 +625,12 @@ L_Ready_Cavern: next; mes "[Orum]"; - mes "\"Very good work you have done! Please take this for your efforts.\""; + mes "\"Very good work you have done! Please take this for your efforts. It has helped me in a bind.\""; next; getexp @EXP_BREAK_BARRIERS, 0; - // TODO put item name and remove following line and this line as well! - getitem "", 1; - mes "[Insert reward here...]"; + getitem "CandleHelmet", 1; + mes "You receive the [Candle Helmet]"; next; mes "\"You've done enough here to help. I will go the rest of the way alone so that your life is not endangered.. You must promise me not to go any further!\""; -- cgit v1.2.3-70-g09d2 From 70ea12a375c8bb69cc3d645aba0463c5653f5327 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Wed, 15 Dec 2010 18:40:11 +0100 Subject: minor npc fixes nivalis --- npc/020-1_Nivalis/KrickKrackKrock.txt | 5 ++++- npc/020-1_Nivalis/rockscissor.txt | 12 ++++++++---- npc/020-2_Nivalis/_import.txt | 1 - 3 files changed, 12 insertions(+), 6 deletions(-) (limited to 'npc') diff --git a/npc/020-1_Nivalis/KrickKrackKrock.txt b/npc/020-1_Nivalis/KrickKrackKrock.txt index e2f4746c..c35ed798 100755 --- a/npc/020-1_Nivalis/KrickKrackKrock.txt +++ b/npc/020-1_Nivalis/KrickKrackKrock.txt @@ -16,6 +16,7 @@ L_Main: mes @NPC_NAME$; mes "\"Hello " + strcharinfo(0) + ", do you want to play Krick-Krack-Krock?\""; +L_Menu: menu "Let's start!", L_Start, "What's this?", L_info, "Well, not for the moment.", -; @@ -104,6 +105,8 @@ L_No_Money: L_info: mes @NPC_NAME$; mes "\"Well, if you want to play Krick Krack Krock with me, you need to bet some money. We will both say a word (Krack, Krick or Krock). If we say the same, you can win the double of your money or an item worth of what you bet. \""; - goto L_Main; + next; + mes "\"So, do you want to play? \""; + goto L_Menu; } diff --git a/npc/020-1_Nivalis/rockscissor.txt b/npc/020-1_Nivalis/rockscissor.txt index db813518..ac46a773 100755 --- a/npc/020-1_Nivalis/rockscissor.txt +++ b/npc/020-1_Nivalis/rockscissor.txt @@ -52,8 +52,8 @@ L_Start: @CHOOSE_PC$[2], -; set @CHOSEN, @menu -1; - mes @CHOOSE_PC$[@CHOOSE_NPCID]; - mes strcharinfo(0)+" " + strcharinfo(0)+ ":" +@CHOOSE_PC$[@CHOSEN]; + mes "Gobmal: " + @CHOOSE_PC$[@CHOOSE_NPCID]; + mes strcharinfo(0)+" " + strcharinfo(0)+ ": " +@CHOOSE_PC$[@CHOSEN]; if(@CHOSEN == @CHOOSE_NPCID) goto L_Start; if(@CHOSEN == 0 && @CHOOSE_NPCID == 2) goto L_Lost; if(@CHOSEN == 1 && @CHOOSE_NPCID == 0) goto L_Lost; @@ -62,6 +62,8 @@ L_Win: set @PC_point, @PC_point + 1; set @gamblerun, @gamblerun + 1; mes "Oh no! I have lost."; + mes ""; + next; goto L_Start; L_poor: @@ -73,16 +75,18 @@ L_Lost: set @NPC_point, @NPC_point + 1; set @gamblerun, @gamblerun + 1; mes "I have won!"; + mes ""; + next; goto L_Start; L_finish: if(@PC_point > @NPC_point ) goto L_Won; mes @NPC_name$; - mes "\"Nice ! I have won, give your gp!\""; + mes "\"Nice! I have won, give me your gp!\""; close; L_Won: mes @NPC_name$; - mes "\"Here is my money\""; + mes "\"Here is my money.\""; set zeny, zeny + @MONEY_BET*2; close; } diff --git a/npc/020-2_Nivalis/_import.txt b/npc/020-2_Nivalis/_import.txt index 05c69004..04feb1ae 100644 --- a/npc/020-2_Nivalis/_import.txt +++ b/npc/020-2_Nivalis/_import.txt @@ -4,4 +4,3 @@ npc: npc/020-2_Nivalis/_warps.txt npc: npc/020-2_Nivalis/baktar.txt npc: npc/020-2_Nivalis/mapflags.txt npc: npc/020-2_Nivalis/shops.txt -npc: npc/020-2_Nivalis/taro.txt -- cgit v1.2.3-70-g09d2 From f6e57121b237dd1f84e49885e99cfa18fe087ec5 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Thu, 16 Dec 2010 00:18:03 +0100 Subject: nivalis --- npc/014-1_Woodland/_import.txt | 1 + npc/014-1_Woodland/taro.txt | 74 +++++++++++++++++++++++++++++++++++ npc/020-1_Nivalis/KrickKrackKrock.txt | 17 ++++++-- npc/020-1_Nivalis/rockscissor.txt | 5 ++- npc/020-1_Nivalis/well.txt | 6 ++- npc/020-2_Nivalis/baktar.txt | 2 +- npc/020-2_Nivalis/taro.txt | 74 ----------------------------------- 7 files changed, 97 insertions(+), 82 deletions(-) create mode 100644 npc/014-1_Woodland/taro.txt delete mode 100644 npc/020-2_Nivalis/taro.txt (limited to 'npc') diff --git a/npc/014-1_Woodland/_import.txt b/npc/014-1_Woodland/_import.txt index b84a9892..25cc56c3 100644 --- a/npc/014-1_Woodland/_import.txt +++ b/npc/014-1_Woodland/_import.txt @@ -2,3 +2,4 @@ map: 014-1.gat npc: npc/014-1_Woodland/_mobs.txt npc: npc/014-1_Woodland/_warps.txt npc: npc/014-1_Woodland/wedding-officiator.txt +npc: npc/014-1_Woodland/taro.txt diff --git a/npc/014-1_Woodland/taro.txt b/npc/014-1_Woodland/taro.txt new file mode 100644 index 00000000..3ec76163 --- /dev/null +++ b/npc/014-1_Woodland/taro.txt @@ -0,0 +1,74 @@ + +// Woodland Taro + +014-1.gat,54,43,0 script Taro 114,{ + if (getequipid(equip_head) == 511 || getequipid(equip_head) == 1206) goto L_Santa; + if (getequipid(equip_head) == 633) goto L_Elf; + if (getequipid(equip_head) == 628) goto L_NearElf; + if (getequipid(equip_head) == 1204) goto L_Antlers; + if (getequipid(equip_head) == 1205) goto L_Tree; + + mes "[Taro]"; + mes "\"I saw Santa Claus going up this road."; + mes "Will you help me following him?\""; + next; + + menu + "Of course, I'll help you!", L_Warp, + "No, it's probably dangerous out there.", -; + close; + +L_Santa: + mes "[Taro]"; + mes "\"SANTA! Will you take me to your workshop?\""; + next; + + menu + "Of course!", L_Warp, + "No, getting there is too dangerous.", -; + close; + +L_Elf: + mes "[Taro]"; + mes "\"Aren't you one of Santa's elves? Will you take me to him?\""; + next; + + menu + "Yes", L_Warp, + "No. Santa is too busy.", -; + close; + +L_NearElf: + mes "[Taro]"; + mes "\"Aren't you one of Santa's elves? Oh, you're not. Will you help me see him anyways?\""; + next; + + menu + "Yes", L_Warp, + "No", -; + close; + +L_Antlers: + mes "[Taro]"; + mes "\"Mister reindeer? Will you take me to Santa Clause?\""; + next; + + menu + "Yes", L_Warp, + "No", -; + close; + +L_Tree: + mes "[Taro]"; + mes "\"Oh Christmas tree, I wish I could go see Santa!\""; + next; + + menu + "Let me take you", L_Warp, + "Sorry, I'm not a magic tree", -; + close; + +L_Warp: + warp "019-1.gat",56,61; + close; +} diff --git a/npc/020-1_Nivalis/KrickKrackKrock.txt b/npc/020-1_Nivalis/KrickKrackKrock.txt index c35ed798..2feb1d15 100755 --- a/npc/020-1_Nivalis/KrickKrackKrock.txt +++ b/npc/020-1_Nivalis/KrickKrackKrock.txt @@ -1,6 +1,6 @@ // author: Lien // reviewed by Pjotr Orial and Jenalya -020-1.gat,82,82,0 script Criker 183, { +020-1.gat,82,82,0 script Criker 192, { L_Main: //Var @@ -17,7 +17,8 @@ L_Main: mes @NPC_NAME$; mes "\"Hello " + strcharinfo(0) + ", do you want to play Krick-Krack-Krock?\""; L_Menu: - menu "Let's start!", L_Start, + menu + "Let's start!", L_Start, "What's this?", L_info, "Well, not for the moment.", -; close; @@ -43,7 +44,7 @@ L_Start: set @menu, @menu - 1; mes @NPC_NAME$; - mes "\" "+ @KRICK$[@NPC_KRICK] +" !\""; + mes "\" "+ @KRICK$[@NPC_KRICK] +"!\""; if( @menu == @NPC_KRICK ) goto L_Work; mes @NPC_NAME$; mes "\"Too bad! You were not lucky!\""; @@ -64,6 +65,8 @@ L_Money: close; L_Item: //item +getinventorylist; + if (@inventorylist_count == 100) goto L_Full_Inv; if( @BET > 50) getitem @ITEM_RAND[rand(1)], 1; if( @BET > 200) getitem @ITEM_RAND[1 + rand(1)], 1; @@ -78,7 +81,9 @@ if( @BET == 2000) getitem @ITEM_RAND[6 + rand(1)], 1; L_Health_item: // health item - +getinventorylist; + if (@inventorylist_count == 100) goto L_Full_Inv + if( @BET > 50) getitem @ITEM_HEALTH[rand(1)], 1; if( @BET > 200) getitem @ITEM_HEALTH[ 1 +rand(1)], 1 + rand(1); if( @BET > 500) getitem @ITEM_HEALTH[2 + rand(1)], 1 + rand(3); @@ -89,6 +94,10 @@ if( @BET == 2000) getitem @ITEM_HEALTH[3], 5 + rand(10); mes "\"Here it is !\""; close; +L_Full_Inv: + mes @NPC_NAME$; + mes "\"What are you doing? You have so many stuff with you, you can't carry what you won. Ha, well, then I will keep it!\""; + close; L_poor: mes @NPC_NAME$; diff --git a/npc/020-1_Nivalis/rockscissor.txt b/npc/020-1_Nivalis/rockscissor.txt index ac46a773..0f5c20c9 100755 --- a/npc/020-1_Nivalis/rockscissor.txt +++ b/npc/020-1_Nivalis/rockscissor.txt @@ -9,7 +9,7 @@ // ------------------------ # //##################################### -020-1.gat,74,78,0 script Gobmel 183, { +020-1.gat,74,78,0 script Gobmel 189, { //var set @NPC_name$, "[Gobmel]"; set @NPC_point, 0; @@ -45,7 +45,9 @@ L_Start: mes @NPC_name$; mes "[ " + @gamblerun + "/3 ]"; mes "\"1... 2... 3...\""; + mes ""; mes"[chose what sign you do]"; + mes ""; menu @CHOOSE_PC$[0], -, @CHOOSE_PC$[1], -, @@ -54,6 +56,7 @@ L_Start: set @CHOSEN, @menu -1; mes "Gobmal: " + @CHOOSE_PC$[@CHOOSE_NPCID]; mes strcharinfo(0)+" " + strcharinfo(0)+ ": " +@CHOOSE_PC$[@CHOSEN]; + mes ""; if(@CHOSEN == @CHOOSE_NPCID) goto L_Start; if(@CHOSEN == 0 && @CHOOSE_NPCID == 2) goto L_Lost; if(@CHOSEN == 1 && @CHOOSE_NPCID == 0) goto L_Lost; diff --git a/npc/020-1_Nivalis/well.txt b/npc/020-1_Nivalis/well.txt index 4c200be8..ed025a0f 100755 --- a/npc/020-1_Nivalis/well.txt +++ b/npc/020-1_Nivalis/well.txt @@ -53,7 +53,8 @@ L_trew: mes "[Mysterious voice inside the well]"; mes "\" "+ @quote$ +"\""; next; - menu "Who are you?", -, + menu + "Who are you?", -, "How did you get there?", -, "Do you need help?", -; @@ -94,7 +95,8 @@ S_Update_Var: mes "\"Hello!\""; if(@Q_status == 2) close; if(@Q_status == 1) - menu "Hello.", -, + menu + "Hello.", -, "Hello, Can you help me?", L_HELP; close; L_HELP: diff --git a/npc/020-2_Nivalis/baktar.txt b/npc/020-2_Nivalis/baktar.txt index b037d7bb..b29b4be1 100755 --- a/npc/020-2_Nivalis/baktar.txt +++ b/npc/020-2_Nivalis/baktar.txt @@ -32,7 +32,7 @@ //# bit 0 knows the name/location of the opponent //# bit 1 killed the ugly opponent //#========================= -020-2.gat,70,61,0 script Baktar 183,{ +020-2.gat,70,61,0 script Baktar 191,{ set @npcname$, "[Baktar]"; set @Q_MASK, BYTE_0_MASK; diff --git a/npc/020-2_Nivalis/taro.txt b/npc/020-2_Nivalis/taro.txt deleted file mode 100644 index a9418f80..00000000 --- a/npc/020-2_Nivalis/taro.txt +++ /dev/null @@ -1,74 +0,0 @@ - -// Woodland Taro - -020-2.gat,104,28,0 script Taro 114,{ - if (getequipid(equip_head) == 511 || getequipid(equip_head) == 1206) goto L_Santa; - if (getequipid(equip_head) == 633) goto L_Elf; - if (getequipid(equip_head) == 628) goto L_NearElf; - if (getequipid(equip_head) == 1204) goto L_Antlers; - if (getequipid(equip_head) == 1205) goto L_Tree; - - mes "[Taro]"; - mes "\"I saw Santa Claus going up this road."; - mes "Will you help me following him?\""; - next; - - menu - "Of course, I'll help you!", L_Warp, - "No, it's probably dangerous out there.", -; - close; - -L_Santa: - mes "[Taro]"; - mes "\"SANTA! Will you take me to your workshop?\""; - next; - - menu - "Of course!", L_Warp, - "No, getting there is too dangerous.", -; - close; - -L_Elf: - mes "[Taro]"; - mes "\"Aren't you one of Santa's elves? Will you take me to him?\""; - next; - - menu - "Yes", L_Warp, - "No. Santa is too busy.", -; - close; - -L_NearElf: - mes "[Taro]"; - mes "\"Aren't you one of Santa's elves? Oh, you're not. Will you help me see him anyways?\""; - next; - - menu - "Yes", L_Warp, - "No", -; - close; - -L_Antlers: - mes "[Taro]"; - mes "\"Mister reindeer? Will you take me to Santa Clause?\""; - next; - - menu - "Yes", L_Warp, - "No", -; - close; - -L_Tree: - mes "[Taro]"; - mes "\"Oh Christmas tree, I wish I could go see Santa!\""; - next; - - menu - "Let me take you", L_Warp, - "Sorry, I'm not a magic tree", -; - close; - -L_Warp: - warp "019-1.gat",56,61; - close; -} -- cgit v1.2.3-70-g09d2 From 705bd5c948b856513a560d085961e2dc2ebea224 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Thu, 16 Dec 2010 01:06:56 +0100 Subject: nivalis --- data/014-1.wlk | Bin 16804 -> 16804 bytes db/item_db.txt | 1061 +++++++++++++++++---------------- db/mob_db.txt | 4 +- npc/014-1_Woodland/_import.txt | 2 +- npc/020-1_Nivalis/KrickKrackKrock.txt | 20 +- npc/020-2_Nivalis/baktar.txt | 5 +- npc/031-3/_mobs.txt | 11 + npc/031-3/labyrinth.txt | 22 +- tools/monster-killing-values.py | 4 +- 9 files changed, 570 insertions(+), 559 deletions(-) (limited to 'npc') diff --git a/data/014-1.wlk b/data/014-1.wlk index 34a98185..89c28768 100644 Binary files a/data/014-1.wlk and b/data/014-1.wlk differ diff --git a/db/item_db.txt b/db/item_db.txt index 9d8baad9..7dbe8d4d 100644 --- a/db/item_db.txt +++ b/db/item_db.txt @@ -1,537 +1,538 @@ -#ID, Name, Label, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, {UseScript}, {EquipScript} -0, DEFAULT, Default, 0, 20, 10, 10, , , , , , 2, , , , , {}, {} -501, CactusDrink, Cactus Drink, 0, 50, 25, 4, , , , , , 2, , , 0, , { itemheal 15, 0; }, {} -502, CactusPotion, Cactus Potion, 0, 70, 35, 7, , , , , , 2, , , 0, , { itemheal 25, 0; }, {} -503, CasinoCoins, Casino Coins, 3, 20, 10, 1, , , , , , , , , , , {}, {} -504, DecorCandy, Decor Candy, 3, 25, 10, 1, , , , , , , , , , , {}, {} -505, MaggotSlime, Maggot Slime, 3, 8, 4, 1, , , , , , , , , , , {}, {} -506, CandyCane, Candy Cane, 0, 20, 10, 1, , , , , , 2, , , 0, , { itemheal 5, 0; }, {} -507, ScorpionStinger, Scorpion Stinger, 3, 50, 25, 1, , , , , , , , , , , {}, {} -508, XmasCake, Xmas Cake, 0, 70, 10, 1, , , , , , 2, , , 0, , { itemheal 10, 0; }, {} -509, ChocolateBar, Chocolate Bar, 0, 60, 20, 1, , , , , , 2, , , 0, , { itemheal 20, 0; }, {} -510, Candy, Candy, 0, 20, 10, 1, , , , , , 2, , , 0, , { itemheal 5, 0; }, {} -511, SantaHat, Santa Hat, 5, 400, 200, 20, , 2, , -2, 0, 2, 256, , 0, 0, {}, {} -512, GingerBreadMan, Ginger Bread Man, 0, 50, 25, 1, , , , , , 2, , , 0, , { itemheal 25, 0; }, {} -513, Cake, Cake, 0, 30, 15, 1, , , , , , 2, , , 0, , { itemheal 15, 0; }, {} -514, XmasCandyCane, Xmas Candy Cane, 0, 30, 15, 1, , , , , , 2, , , 0, , { itemheal 10, 0; }, {} -515, PurplePresentBox, Purple Present Box, 3, 50, 25, 10, , , , , , , , , , , {}, {} -516, BluePresentBox, Blue Present Box, 3, 60, 30, 10, , , , , , , , , , , {}, {} -517, RedScorpionStinger, Red Scorpion Stinger, 3, 170, 85, 1, , , , , , , , , , , {}, {} -518, BugLeg, Bug Leg, 3, 60, 20, 1, , , , , , , , , , , {}, {} -519, CherryCake, Cherry Cake, 0, 100, 50, 1, , , , , , 2, , , 0, , { itemheal 35, 0; }, {} -520, EasterEgg, Easter Egg, 0, 200, 100, 1, , , , , , 2, , , 0, , { itemheal 100, 0; }, {} -521, Dagger, Dagger, 4, 1000, 500, 200, 15, , 1, , 0, 2, 2, 1, 1, 1, {}, {} -522, SharpKnife, Sharp Knife, 4, 100, 50, 150, 10, , 1, , 0, 2, 2, 1, 1, 1, {}, {} -523, LeatherShirt, Leather Shirt, 5, 2000, 1000, 20, , 4, , -12, 0, 2, 512, , 0, 0, {}, {} -524, FancyHat, Fancy Hat, 5, 1600, 800, 20, , 5, , 0, 0, 2, 256, , 0, 0, {}, {} -525, MinersHat, Miners Hat, 5, 800, 400, 40, , 4, , -8, 0, 2, 256, , 0, 0, {}, {} -526, CoinBag, Coin Bag, 3, 100, 50, 5, , , , , , , , , , , {}, {} -527, Milk, Milk, 0, 300, 150, 5, , , , , , 2, , , 0, , { itemheal 150, 0; }, {} -528, Boots, Boots, 5, 8000, 500, 80, , 2, , -2, 0, 2, 64, , 0, 0, {}, {} -529, IronArrow, Iron Arrow, 10, 5, 2, 1, 50, , , , , 2, 32768, , , , {}, {} -530, ShortBow, Short Bow, 4, 3000, 500, 600, 50, , 5, , 0, 2, 34, 1, 4, 11, {}, {} -531, MinerGloves, Miner Gloves, 5, 3000, 1000, 30, , 2, , -10, 0, 2, 4, , 0, 0, {}, {} -532, LeatherGloves, Leather Gloves, 5, 6000, 2000, 20, , 4, , -20, 0, 2, 4, , 0, 0, {}, {} -533, RoastedMaggot, Roasted Maggot, 0, 110, 55, 5, , , , , , 2, , , 0, , { itemheal 150, 0; }, {} -534, OrangeCupcake, Orange Cupcake, 0, 90, 45, 5, , , , , , 2, , , 0, , { itemheal 100, 0; }, {} -535, RedApple, Red Apple, 0, 10, 5, 5, , , , , , 2, , , 0, , { itemheal 50, 0; }, {} -536, ShortSword, Short Sword, 4, 8000, 4000, 2000, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, {} -537, TreasureKey, Treasure Key, 3, 100, 50, 2, , , , , , , , , , , {}, {} -538, GreenPresentBox, Green Present Box, 3, 20, 10, 10, , , , , , 2, , , 0, , {}, {} -539, Beer, Beer, 0, 175, 87, 10, , , , , , 2, , , 0, , { itemheal 200, 5; }, {} -540, EmptyBottle, Empty Bottle, 3, 20, 10, 1, , , , , , , , , , , {}, {} -541, BottleOfWater, Bottle of Water, 0, 200, 100, 10, , , , , , 2, , , 0, , { itemheal 250, 0; getitem 540, 1; }, {} -542, BottleOfSand, Bottle of Sand, 3, 70, 35, 10, , , , , , , , , , , {}, {} -543, StandardHeadband, Standard Headband, 5, 800, 400, 10, , 3, , -3, 0, 2, 256, , 0, 0, {}, {} -544, SilkHeadband, Silk Headband, 5, 5000, 2000, 10, , 10, , -10, 0, 2, 256, , 0, 0, {}, {} -545, ForestBow, Forest Bow, 4, 5000, 2500, 1200, 70, , 5, , 0, 2, 34, 1, 0, 11, {}, {} -546, DesertShirt, Desert Shirt, 5, 2000, 1000, 20, , 6, , -18, 0, 2, 512, , 0, 0, {}, {} -547, Bardiche, Bardiche, 5, 20, 10, 10, , 100, 1, -200, 0, 2, 2, , 0, 0, {}, { callfunc "UnreleasedItem"; } -548, Halberd, Halberd, 4, 20, 10, 1400, 100, , 1, , 0, 2, 2, 1, 0, 0, {}, { callfunc "UnreleasedItem"; } -549, Axe, Axe, 4, 20, 10, 1200, 100, , 1, , 0, 2, 2, 1, 0, 0, {}, { callfunc "UnreleasedItem"; } -550, BlacksmithsAxe, Blacksmith's Axe, 4, 20, 10, 1200, 100, , 1, , 0, 2, 2, 1, 0, 0, {}, { callfunc "UnreleasedItem"; } -551, AquaHint, Aqua Hint, 3, 20, 0, 10, , , , , , , , , , , {}, {} -552, MagentaHint, Magenta Hint, 3, 20, 0, 10, , , , , , , , , , , {}, {} -553, YellowHint, Yellow Hint, 3, 20, 0, 10, , , , , , , , , , , {}, {} -554, GreenHint, Green Hint, 3, 20, 0, 10, , , , , , , , , , , {}, {} -555, TealHint, Teal Hint, 3, 20, 0, 10, , , , , , , , , , , {}, {} -556, PurpleHint, Purple Hint, 3, 20, 0, 10, , , , , , , , , , , {}, {} -557, RedHint, Red Hint, 3, 20, 0, 10, , , , , , , , , , , {}, {} -558, BlueHint, Blue Hint, 3, 20, 0, 10, , , , , , , , , , , {}, {} -559, OrangeHint, Orange Hint, 3, 20, 0, 10, , , , , , , , , , , {}, {} -560, GrayHint, Gray Hint, 3, 20, 0, 10, , , , , , , , , , , {}, {} -561, Sabre, Sabre, 4, 10000, 5000, 300, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, {} -562, ChickenLeg, Chicken Leg, 0, 250, 125, 10, , , , , , 2, , , 0, , { itemheal 500, 0; }, {} -563, WinterGloves, Winter Gloves, 5, 6000, 3000, 20, , 3, , -15, 0, 2, 4, , 0, 0, {}, {} -564, TurtleneckSweater, Turtleneck Sweater, 5, 2000, 1000, 30, , 6, , -18, 0, 2, 512, , 0, 0, {}, {} -565, PinkPetal, Pink Petal, 0, 10, 25, 10, , , , , , 2, , , 0, , { itemheal 50, 0; }, {} -566, SmallMushroom, Small Mushroom, 0, 50, 25, 10, , , , , , 2, , , 0, , { itemheal 50, 0; }, {} -567, IronPotion, Iron Potion, 0, 500, 250, 10, , , , , , 2, , , 0, , { sc_start sc_raiseattackstrength, 60, 60; }, {} -568, ConcentrationPotion, Concentration Potion, 0, 500, 250, 10, , , , , , 2, , , 0, , { sc_start sc_raiseattackspeed0, 60, 30; }, {} -569, RawLog, Raw Log, 3, 20, 10, 10, , , , , , , , , , , {}, {} -570, BoneKnife, Bone Knife, 4, 10000, 6000, 450, 115, , 1, , 0, 2, 2, 1, 1, 1, {}, {} -571, Setzer, Setzer, 4, 20000, 8000, 900, 110, , 1, , 0, 2, 2, 1, 1, 3, {}, {} -572, Scimitar, Scimitar, 4, 8000, 4000, 200, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } -573, Falchion, Falchion, 4, 8000, 4000, 300, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } -574, Scorpion, Scorpion, 4, 8000, 4000, 600, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } -575, DesertBow, Desert Bow, 4, 8000, 4000, 1200, 100, , 1, , 0, 2, 34, 1, 1, 11, {}, { callfunc "UnreleasedItem"; } -576, Beheader, Beheader, 4, 8000, 4000, 2000, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } -577, BoneDarts, Bone Darts, 4, 8000, 4000, 300, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } -578, SandCutter, Sand Cutter, 4, 8000, 4000, 1500, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } -579, RockKnife, Rock Knife, 4, 15000, 7500, 5000, 300, , 1, , 0, 2, 34, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } -580, StaffOfLife, Staff of Life, 4, 8000, 4000, 1500, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } -581, CrescentRod, Crescent Rod, 4, 8000, 4000, 1500, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } -582, StaffOfFire, Staff of Fire, 4, 8000, 4000, 1500, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } -583, StaffOfIce, Staff of Ice, 4, 8000, 4000, 1500, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } -584, Jackal, Jackal, 4, 8000, 4000, 100, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } -585, ScarabArmlet, Scarab Armlet, 5, 8000, 4000, 200, , 0, , 5, 0, 2, 32, , 1, 1, {}, {} -586, CottonShorts, Cotton Shorts, 5, 1000, 500, 15, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} -//587, RESERVED, Sword, , , , , , , , , , , , , , , {}, {} -//588, RESERVED, Bastard Sword, , , , , , , , , , , , , , , {}, {} -//589, RESERVED, Broad Sword, , , , , , , , , , , , , , , {}, {} -//590, RESERVED, Baselard, , , , , , , , , , , , , , , {}, {} -//591, RESERVED, Long Sword, , , , , , , , , , , , , , , {}, {} -//592, RESERVED, Stiletto, , , , , , , , , , , , , , , {}, {} -//593, RESERVED, Rapier, , , , , , , , , , , , , , , {}, {} -//594, RESERVED, Spear, , , , , , , , , , , , , , , {}, {} -//595, RESERVED, Heavy Spear, , , , , , , , , , , , , , , {}, {} -//596, RESERVED, Pike, , , , , , , , , , , , , , , {}, {} -//597, RESERVED, Heavy Pike, , , , , , , , , , , , , , , {}, {} -//598, RESERVED, Dual Spear, , , , , , , , , , , , , , , {}, {} -//599, RESERVED, Fire Sword, , , , , , , , , , , , , , , {}, {} -//600, RESERVED, Brit Shield, , , , , , , , , , , , , , , {}, {} -601, SteelShield, Steel Shield, 5, 40000, 3000, 2500, , 20, , -200, 0, 2, 32, , , 0, {}, {} -602, WoodenShield, Wooden Shield, 5, 10000, 2000, 1500, , 14, , -70, 0, 2, 32, , , 0, {}, {} -603, LeatherShield, Leather Shield, 5, 2000, 1000, 1300, , 7, , -35, 0, 2, 32, , , 0, {}, {} -//604, RESERVED, Knight Shield, , , , , , , , , , , , , , , {}, {} -//605, RESERVED, Meat Cleaver, , , , , , , , , , , , , , , {}, {} -//606, RESERVED, Hatchet, , , , , , , , , , , , , , , {}, {} -//607, RESERVED, Trident, , , , , , , , , , , , , , , {}, {} -//608, RESERVED, Blade Shield, , , , , , , , , , , , , , , {}, {} -//609, RESERVED, Club, , , , , , , , , , , , , , , {}, {} -610, JeansShorts, Jeans Shorts, 5, 2000, 1000, 25, , 4, , -8, 0, 2, 1, , 0, 0, {}, {} -611, WhiteFur, White Fur, 3, 8, 4, 8, , , , , , , , , , , {}, {} -612, CaveSnakeLamp, Cave Snake Lamp, 3, 80, 40, 10, , , , , , , , , , , {}, {} -613, HardSpike, Hard Spike, 3, 8, 4, 10, , , , , , , , , , , {}, {} -614, PinkAntenna, Pink Antenna, 3, 10, 5, 10, , , , , , , , , , , {}, {} -615, PumpkinHelmet, Pumpkin Helmet, 5, 2000, 1000, 60, , 4, , -4, 0, 2, 256, , 0, 0, {}, {} -616, AxeHat, Axe Hat, 5, 2000, 1000, 50, , 4, , -4, 0, 2, 256, , 0, 0, {}, {} -617, PirateHat, Pirate Hat, 5, 2000, 1000, 40, , 4, , -8, 0, 2, 256, , 0, 0, {}, {} -618, Goggles, Goggles, 5, 500, 100, 20, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -619, LeatherGoggles, Leather Goggles, 5, 1000, 500, 20, , 3, , 0, 0, 2, 256, , 0, 0, {}, {} -620, Circlet, Circlet, 5, 2000, 1000, 25, , 4, , 5, 0, 2, 256, , 0, 0, {}, {} -621, Eyepatch, Eyepatch, 5, 1000, 500, 5, , 3, , 0, 0, 2, 256, , 0, 0, {}, {} -622, Bandana, Bandana, 5, 1000, 500, 20, , 3, , 0, 0, 2, 256, , 0, 0, {}, {} -623, Scythe, Scythe, 4, 100, 50, 1200, 75, , 1, , 0, 2, 2, 1, 1, 3, {}, {} -624, VNeckSweater, V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -24, 0, 2, 512, , 0, 0, {}, {} -625, ChainmailShirt, Chainmail Shirt, 5, 15000, 1500, 800, , 20, , -120, 0, 2, 512, , 0, 0, {}, {} -626, LightPlatemail, Light Platemail, 5, 50000, 2500, 1200, , 25, , -150, 0, 2, 512, , 0, 0, {}, {} -627, TopHat, Top Hat, 5, 2500, 1250, 30, , 10, , 2, 0, 2, 256, , 0, 0, {}, {} -628, FunkyHat, Funky Hat, 5, 3000, 1500, 20, , 13, , 2, 0, 2, 256, , 0, 0, {}, {} -629, MushHat, Mush Hat, 5, 2500, 1250, 30, , 10, , 0, 0, 2, 256, , 0, 0, {}, {} -630, ShroomHat, Shroom Hat, 5, 3000, 1500, 30, , 13, , 0, 0, 2, 256, , 0, 0, {}, {} -631, DarkCrystal, Dark Crystal, 3, 100, 50, 10, , , , , , , , , , , {}, {} -632, CottonSkirt, Cotton Skirt, 5, 1000, 500, 10, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -633, ChristmasElfHat, Christmas Elf Hat, 5, 3000, 1500, 30, , 13, , 2, 0, 2, 256, , 0, 0, {}, {} -634, FaceMask, Face Mask, 5, 2500, 1250, 50, , 10, , 0, 0, 2, 256, , 0, 0, {}, {} -635, SantaCookie, Santa Cookie, 3, 1, 1, 1, , , , , , , , , , , {}, {} -636, WarlordHelmet, Warlord Helmet, 5, 30000, 3000, 900, , 18, , -36, 0, 2, 256, , 0, 0, {}, {} -637, KnightsHelmet, Knight's Helmet, 5, 20000, 2000, 600, , 15, , -30, 0, 2, 256, , 0, 0, {}, {} -638, InfantryHelmet, Infantry Helmet, 5, 15000, 1500, 400, , 15, , -30, 0, 2, 256, , 0, 0, {}, {} -639, CrusadeHelmet, Crusade Helmet, 5, 25000, 2500, 1300, , 18, , -36, 0, 2, 256, , 0, 0, {}, {} -640, IronOre, Iron Ore, 3, 250, 100, 40, , , , , , , , , , , {}, {} -641, SnakeSkin, Snake Skin, 3, 250, 100, 15, , , , , , , , , , , {}, {} -642, JeansChaps, Jeans Chaps, 5, 2000, 1000, 60, , 6, , -12, 0, 2, 1, , 0, 0, {}, {} -643, WhiteCowboyHat, White Cowboy Hat, 5, 1800, 900, 30, , 6, , -12, 0, 2, 256, , 0, 0, {}, {} -644, BlackCowboyHat, Black Cowboy Hat, 5, 1800, 900, 30, , 6, , -12, 0, 2, 256, , 0, 0, {}, {} -645, GoldenPlatemail, Golden Platemail, 5, 9999000,3000, 4500, , 25, , -100, 0, 2, 512, , 0, 0, {}, {} -646, Crown, Crown, 5, 5000, 1000, 240, , 4, , 0, 0, 2, 256, , 0, 0, {}, {} -647, DevelopersCap, Developer's Cap, 5, 2000, 500, 20, , 5, , 5, 0, 2, 256, , 0, 0, {}, {} -//648, RESERVED, Rough Strength Ring, , , , , , , , , , , , , , , {}, {} -//649, RESERVED, Rough Agility Ring, , , , , , , , , , , , , , , {}, {} -//650, RESERVED, Rough Dexterity Ring, , , , , , , , , , , , , , , {}, {} -//651, RESERVED, Rough Vitality Ring, , , , , , , , , , , , , , , {}, {} -//652, RESERVED, Rough Intelligence Ring, , , , , , , , , , , , , , , {}, {} -//653, RESERVED, Rough Willpower Ring, , , , , , , , , , , , , , , {}, {} -654, Cap, Cap, 5, 2000, 500, 20, , 5, , 0, 0, 2, 256, , 0, 0, {}, {} -655, FurBoots, Fur Boots, 5, 5000, 600, 50, , 3, , -3, 0, 2, 64, , 0, 0, {}, {} -656, SerfHat, Serf Hat, 5, 500, 100, 20, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -657, Orange, Orange, 0, 12, 6, 7, , , , , , 2, , , 0, , { itemheal 60, 0; }, {} -658, WarlordPlate, Warlord Plate, 5, 100000, 3000, 2600, , 27, , -170, 0, 2, 512, , 0, 0, {}, {} -659, GoldenWarlordPlate, Golden Warlord Plate, 5, 500000, 4000, 7600, , 27, , -110, 0, 2, 512, , 0, 0, {}, {} -660, CottonCloth, Cotton Cloth, 3, 1000, 500, 10, , , , , , , , , , , {}, {} -661, RedRose, Red Rose, 3, 40, 20, 1, , , , , , , , , , , {}, {} -662, WhiteRose, White Rose, 3, 40, 20, 1, , , , , , , , , , , {}, {} -663, DarkRedRose, Dark Red Rose, 3, 40, 20, 1, , , , , , , , , , , {}, {} -664, PinkRose, Pink Rose, 3, 40, 20, 1, , , , , , , , , , , {}, {} -665, YellowRose, Yellow Rose, 3, 40, 20, 1, , , , , , , , , , , {}, {} -666, BlackRose, Black Rose, 3, 40, 20, 1, , , , , , , , , , , {}, {} -667, OrangeRose, Orange Rose, 3, 40, 20, 1, , , , , , , , , , , {}, {} -668, BlueRose, Blue Rose, 3, 40, 20, 1, , , , , , , , , , , {}, {} -669, YellowTulip, Yellow Tulip, 3, 40, 20, 1, , , , , , , , , , , {}, {} -670, PurpleTulip, Purple Tulip, 3, 40, 20, 1, , , , , , , , , , , {}, {} -671, RedTulip, Red Tulip, 3, 40, 20, 1, , , , , , , , , , , {}, {} -672, WhiteTulip, White Tulip, 3, 40, 20, 1, , , , , , , , , , , {}, {} -673, PinkTulip, Pink Tulip, 3, 40, 20, 1, , , , , , , , , , , {}, {} -674, OrangeTulip, Orange Tulip, 3, 40, 20, 1, , , , , , , , , , , {}, {} -675, GraduationCap, Graduation Cap, 5, 1000, 250, 20, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -676, Steak, Steak, 0, 275, 100, 10, , , , , , 2, , , 0, , { itemheal 250, 0; }, {} -677, HeartNecklace, Heart Necklace, 3, 2500, 1000, 10, , , , , , , , , 0, , {}, {} -678, NohMask, Noh Mask, 5, 7000, 1000, 18, , 3, , 1, 0, 2, 256, , 0, 0, {}, {} -679, DemonMask, Demon Mask, 5, 10000, 5000, 23, , 3, , 5, 0, 2, 256, , 0, 0, {}, {} -680, MauveHerb, Mauve Herb, 3, 2, 1, 1, , , , , , , , , , , {}, {} -681, CobaltHerb, Cobalt Herb, 3, 2, 1, 1, , , , , , , , , , , {}, {} -682, GambogeHerb, Gamboge Herb, 3, 2, 1, 1, , , , , , , , , , , {}, {} -683, AlizarinHerb, Alizarin Herb, 3, 2, 1, 1, , , , , , , , , , , {}, {} -684, TinyHealingPotion, Tiny Healing Potion, 0, 25, 12, 5, , , , , , 2, , , 0, , { itemheal 100, 0; }, {} -685, SmallHealingPotion, Small Healing Potion, 0, 50, 25, 10, , , , , , 2, , , 0, , { itemheal 200, 0; }, {} -686, MediumHealingPotion, Medium Healing Potion, 0, 100, 50, 15, , , , , , 2, , , 0, , { itemheal 400, 0; }, {} -687, LargeHealingPotion, Large Healing Potion, 0, 200, 100, 25, , , , , , 2, , , 0, , { itemheal 800, 0; }, {} -688, TankTop, Tank Top, 5, 10, 5, 10, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -689, ShortTankTop, Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -690, RedDye, Red Dye, 3, 100, 20, 10, , , , , , 2, , , 0, , {}, {} -691, GreenDye, Green Dye, 3, 2500, 1000, 10, , , , , , 2, , , 0, , {}, {} -692, DarkBlueDye, Dark Blue Dye, 3, 40000, 15000, 10, , , , , , 2, , , 0, , {}, {} -693, YellowDye, Yellow Dye, 3, 100, 20, 10, , , , , , 2, , , 0, , {}, {} -694, LightBlueDye, Light Blue Dye, 3, 100, 20, 10, , , , , , 2, , , 0, , {}, {} -695, PinkDye, Pink Dye, 3, 2500, 1000, 10, , , , , , 2, , , 0, , {}, {} -696, BlackDye, Black Dye, 3, 30000, 25000, 10, , , , , , 2, , , 0, , {}, {} -697, OrangeDye, Orange Dye, 3, 2500, 1000, 10, , , , , , 2, , , 0, , {}, {} -698, PurpleDye, Purple Dye, 3, 70000, 50000, 10, , , , , , 2, , , 0, , {}, {} -699, DarkGreenDye, Dark Green Dye, 3, 2000, 1000, 10, , , , , , 2, , , 0, , {}, {} -700, Pearl, Pearl, 3, 5000, 3000, 5, , , , , , 2, , , 0, , {}, {} -701, PileOfAsh, Pile of Ash, 3, 3000, 100, 5, , , , , , 2, , , 0, , {}, {} -702, WeddingRing, Wedding Ring, 5, 1000, 1, 1, , 0, , 0, 0, 2, 128, , 0, 0, {}, {} -703, SulphurPowder, Sulphur Powder, 3, 1000, 25, 2, , , , , , 2, , , 0, , {}, {} -704, IronPowder, Iron Powder, 3, 800, 80, 3, , , , , , 2, , , 0, , {}, {} -705, ManaPotion, Mana Potion, 0, 2000, 300, 50, , , , , , 2, , , 0, , { itemheal 0, 10; callfunc "MagicGainBasic"; }, {} -706, GoldenScorpionStinger, Golden Scorpion Stinger, 3, 2000, 500, 2, , , , , , , , , , , {}, {} -707, MonsterOilPotion, Monster Oil Potion, 3, 10000, 2000, 50, , , , , , , , , , , {}, {} -708, LeatherPatch, Leather Patch, 3, 300, 150, 18, , , , , , , , , , , {}, {} -709, BlackScorpionStinger, Black Scorpion Stinger, 3, 250, 100, 1, , , , , , , , , , , {}, {} -710, SnakeTongue, Snake Tongue, 3, 60, 30, 1, , , , , , , , , , , {}, {} -711, MountainSnakeTongue, Mountain Snake Tongue, 3, 80, 40, 1, , , , , , , , , , , {}, {} -712, GrassSnakeTongue, Grass Snake Tongue, 3, 160, 80, 1, , , , , , , , , , , {}, {} -713, CaveSnakeTongue, Cave Snake Tongue, 3, 120, 60, 1, , , , , , , , , , , {}, {} -714, SnakeEgg, Snake Egg, 0, 50, 25, 4, , , , , , 2, , , 0, , { itemheal 30, 0; }, {} -715, MountainSnakeEgg, Mountain Snake Egg, 0, 80, 40, 4, , , , , , 2, , , 0, , { itemheal 40, 0; }, {} -716, GrassSnakeEgg, Grass Snake Egg, 0, 100, 50, 4, , , , , , 2, , , 0, , { itemheal 50, 0; }, {} -717, CaveSnakeEgg, Cave Snake Egg, 0, 60, 30, 4, , , , , , 2, , , 0, , { itemheal 20, 0; }, {} -718, SilkCocoon, Silk Cocoon, 3, 200, 3, 1, , , , , , , , , , , {}, {} -719, GreenApple, Green Apple, 0, 10, 4, 5, , , , , , 2, , , 0, , { itemheal 45, 0; }, {} -720, SilkRobe, Silk Robe, 5, 8000, 4000, 5, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} -721, HighPriestCrown, High Priest Crown, 5, 20000, 5000, 400, , 4, , 20, 0, 2, 256, , 0, 0, {}, { bonus bMaxSP, 20; } -722, MonsterSkullHelmet, Monster Skull Helmet, 5, 15000, 3000, 250, , 7, , 10, 0, 2, 256, , 0, 0, {}, { bonus bMdef, 20; } -723, DesertHat, Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} -724, CottonHeadband, Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -725, GMCap, GM Cap, 5, 2000, 500, 20, , 5, , 5, 0, 2, 256, , 0, 0, {}, { callfunc "RestrictedItem"; } -726, GMRobe, GM Robe, 5, 8000, 4000, 40, , 5, , 0, 0, 2, 512, , 0, 0, {}, { callfunc "RestrictedItem"; } -727, Iten, Iten, 3, 0, 0, 8000, , , , , , , , , , , {}, {} -728, MoubooFigurine, Mouboo Figurine, 3, 0, 0, 9, , , , , , , , , , , {}, {} -729, WarpedLog, Warped Log, 3, 0, 0, 8, , , , , , , , , , , {}, {} -730, Lifestone, Lifestone, 3, 0, 0, 5, , , , , , , , , , , {}, {} -731, AssassinPants, Assassin Pants, 5, 10000, 3000, 20, , 5, , -5, 0, 2, 1, , 0, 0, {}, { callfunc "UnreleasedItem"; bonus bAgi,8; } -732, DruidTreeBranch, Druid Tree Branch, 3, 0, 0, 2, , , , , , , , , , , {}, {} -733, PurificationPotion, Purification Potion, 0, 0, 0, 15, , , , , , 2, , , , , { callfunc "usePurificationPotion"; }, {} -734, BlackBoots, Black Boots, 5, 20000, 3000, 35, , 4, , -10, 0, 2, 64, , 0, 0, {}, {} -735, CottonBoots, Cotton Boots, 5, 2000, 500, 10, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} -736, WhiteCake, White Cake, 0, 500, 100, 10, , , , , , 2, , , 0, , { itemheal 10, 0; }, {} -737, ChocolateCake, Chocolate Cake, 0, 550, 125, 10, , , , , , 2, , , 0, , { itemheal 11, 0; }, {} -738, OrangeCake, Orange Cake, 0, 600, 150, 10, , , , , , 2, , , 0, , { itemheal 12, 0; }, {} -739, AppleCake, Apple Cake, 0, 600, 150, 10, , , , , , 2, , , 0, , { itemheal 12, 0; }, {} -740, Root, Root, 3, 500, 200, 5, , , , , , , , , , , {}, {} -741, CottonGloves, Cotton Gloves, 5, 2000, 500, 10, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} -742, FourLeafClover, Four-Leaf Clover, 5, 10000, 5000, 1, , , , 5, 0, 2, 8, , 0, 0, {}, { bonus bLuk, 1; } -743, Acorn, Acorn, 0, 50, 10, 1, , , , , , 2, , , 0, , { itemheal 3, 0; }, {} -744, DilutedConcentrationPotion, Diluted Concentration Potion, 0, 250, 100, 10, , , , , , 2, , , 0, , { sc_start sc_raiseattackspeed0, 30, 20; }, {} +#ID, Name, Label, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, {UseScript}, {EquipScript} +0, DEFAULT, Default, 0, 20, 10, 10, , , , , , 2, , , , , {}, {} +501, CactusDrink, Cactus Drink, 0, 50, 25, 4, , , , , , 2, , , 0, , { itemheal 15, 0; }, {} +502, CactusPotion, Cactus Potion, 0, 70, 35, 7, , , , , , 2, , , 0, , { itemheal 25, 0; }, {} +503, CasinoCoins, Casino Coins, 3, 20, 10, 1, , , , , , , , , , , {}, {} +504, DecorCandy, Decor Candy, 3, 25, 10, 1, , , , , , , , , , , {}, {} +505, MaggotSlime, Maggot Slime, 3, 8, 4, 1, , , , , , , , , , , {}, {} +506, CandyCane, Candy Cane, 0, 20, 10, 1, , , , , , 2, , , 0, , { itemheal 5, 0; }, {} +507, ScorpionStinger, Scorpion Stinger, 3, 50, 25, 1, , , , , , , , , , , {}, {} +508, XmasCake, Xmas Cake, 0, 70, 10, 1, , , , , , 2, , , 0, , { itemheal 10, 0; }, {} +509, ChocolateBar, Chocolate Bar, 0, 60, 20, 1, , , , , , 2, , , 0, , { itemheal 20, 0; }, {} +510, Candy, Candy, 0, 20, 10, 1, , , , , , 2, , , 0, , { itemheal 5, 0; }, {} +511, SantaHat, Santa Hat, 5, 400, 200, 20, , 2, , -2, 0, 2, 256, , 0, 0, {}, {} +512, GingerBreadMan, Ginger Bread Man, 0, 50, 25, 1, , , , , , 2, , , 0, , { itemheal 25, 0; }, {} +513, Cake, Cake, 0, 30, 15, 1, , , , , , 2, , , 0, , { itemheal 15, 0; }, {} +514, XmasCandyCane, Xmas Candy Cane, 0, 30, 15, 1, , , , , , 2, , , 0, , { itemheal 10, 0; }, {} +515, PurplePresentBox, Purple Present Box, 3, 50, 25, 10, , , , , , , , , , , {}, {} +516, BluePresentBox, Blue Present Box, 3, 60, 30, 10, , , , , , , , , , , {}, {} +517, RedScorpionStinger, Red Scorpion Stinger, 3, 170, 85, 1, , , , , , , , , , , {}, {} +518, BugLeg, Bug Leg, 3, 60, 20, 1, , , , , , , , , , , {}, {} +519, CherryCake, Cherry Cake, 0, 100, 50, 1, , , , , , 2, , , 0, , { itemheal 35, 0; }, {} +520, EasterEgg, Easter Egg, 0, 200, 100, 1, , , , , , 2, , , 0, , { itemheal 100, 0; }, {} +521, Dagger, Dagger, 4, 1000, 500, 200, 15, , 1, , 0, 2, 2, 1, 1, 1, {}, {} +522, SharpKnife, Sharp Knife, 4, 100, 50, 150, 10, , 1, , 0, 2, 2, 1, 1, 1, {}, {} +523, LeatherShirt, Leather Shirt, 5, 2000, 1000, 20, , 4, , -12, 0, 2, 512, , 0, 0, {}, {} +524, FancyHat, Fancy Hat, 5, 1600, 800, 20, , 5, , 0, 0, 2, 256, , 0, 0, {}, {} +525, MinersHat, Miners Hat, 5, 800, 400, 40, , 4, , -8, 0, 2, 256, , 0, 0, {}, {} +526, CoinBag, Coin Bag, 3, 100, 50, 5, , , , , , , , , , , {}, {} +527, Milk, Milk, 0, 300, 150, 5, , , , , , 2, , , 0, , { itemheal 150, 0; }, {} +528, Boots, Boots, 5, 8000, 500, 80, , 2, , -2, 0, 2, 64, , 0, 0, {}, {} +529, IronArrow, Iron Arrow, 10, 5, 2, 1, 50, , , , , 2, 32768, , , , {}, {} +530, ShortBow, Short Bow, 4, 3000, 500, 600, 50, , 5, , 0, 2, 34, 1, 4, 11, {}, {} +531, MinerGloves, Miner Gloves, 5, 3000, 1000, 30, , 2, , -10, 0, 2, 4, , 0, 0, {}, {} +532, LeatherGloves, Leather Gloves, 5, 6000, 2000, 20, , 4, , -20, 0, 2, 4, , 0, 0, {}, {} +533, RoastedMaggot, Roasted Maggot, 0, 110, 55, 5, , , , , , 2, , , 0, , { itemheal 150, 0; }, {} +534, OrangeCupcake, Orange Cupcake, 0, 90, 45, 5, , , , , , 2, , , 0, , { itemheal 100, 0; }, {} +535, RedApple, Red Apple, 0, 10, 5, 5, , , , , , 2, , , 0, , { itemheal 50, 0; }, {} +536, ShortSword, Short Sword, 4, 8000, 4000, 2000, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, {} +537, TreasureKey, Treasure Key, 3, 100, 50, 2, , , , , , , , , , , {}, {} +538, GreenPresentBox, Green Present Box, 3, 20, 10, 10, , , , , , 2, , , 0, , {}, {} +539, Beer, Beer, 0, 175, 87, 10, , , , , , 2, , , 0, , { itemheal 200, 5; }, {} +540, EmptyBottle, Empty Bottle, 3, 20, 10, 1, , , , , , , , , , , {}, {} +541, BottleOfWater, Bottle of Water, 0, 200, 100, 10, , , , , , 2, , , 0, , { itemheal 250, 0; getitem 540, 1; }, {} +542, BottleOfSand, Bottle of Sand, 3, 70, 35, 10, , , , , , , , , , , {}, {} +543, StandardHeadband, Standard Headband, 5, 800, 400, 10, , 3, , -3, 0, 2, 256, , 0, 0, {}, {} +544, SilkHeadband, Silk Headband, 5, 5000, 2000, 10, , 10, , -10, 0, 2, 256, , 0, 0, {}, {} +545, ForestBow, Forest Bow, 4, 5000, 2500, 1200, 70, , 5, , 0, 2, 34, 1, 0, 11, {}, {} +546, DesertShirt, Desert Shirt, 5, 2000, 1000, 20, , 6, , -18, 0, 2, 512, , 0, 0, {}, {} +547, Bardiche, Bardiche, 5, 20, 10, 10, , 100, 1, -200, 0, 2, 2, , 0, 0, {}, { callfunc "UnreleasedItem"; } +548, Halberd, Halberd, 4, 20, 10, 1400, 100, , 1, , 0, 2, 2, 1, 0, 0, {}, { callfunc "UnreleasedItem"; } +549, Axe, Axe, 4, 20, 10, 1200, 100, , 1, , 0, 2, 2, 1, 0, 0, {}, { callfunc "UnreleasedItem"; } +550, BlacksmithsAxe, Blacksmith's Axe, 4, 20, 10, 1200, 100, , 1, , 0, 2, 2, 1, 0, 0, {}, { callfunc "UnreleasedItem"; } +551, AquaHint, Aqua Hint, 3, 20, 0, 10, , , , , , , , , , , {}, {} +552, MagentaHint, Magenta Hint, 3, 20, 0, 10, , , , , , , , , , , {}, {} +553, YellowHint, Yellow Hint, 3, 20, 0, 10, , , , , , , , , , , {}, {} +554, GreenHint, Green Hint, 3, 20, 0, 10, , , , , , , , , , , {}, {} +555, TealHint, Teal Hint, 3, 20, 0, 10, , , , , , , , , , , {}, {} +556, PurpleHint, Purple Hint, 3, 20, 0, 10, , , , , , , , , , , {}, {} +557, RedHint, Red Hint, 3, 20, 0, 10, , , , , , , , , , , {}, {} +558, BlueHint, Blue Hint, 3, 20, 0, 10, , , , , , , , , , , {}, {} +559, OrangeHint, Orange Hint, 3, 20, 0, 10, , , , , , , , , , , {}, {} +560, GrayHint, Gray Hint, 3, 20, 0, 10, , , , , , , , , , , {}, {} +561, Sabre, Sabre, 4, 10000, 5000, 300, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, {} +562, ChickenLeg, Chicken Leg, 0, 250, 125, 10, , , , , , 2, , , 0, , { itemheal 500, 0; }, {} +563, WinterGloves, Winter Gloves, 5, 6000, 3000, 20, , 3, , -15, 0, 2, 4, , 0, 0, {}, {} +564, TurtleneckSweater, Turtleneck Sweater, 5, 2000, 1000, 30, , 6, , -18, 0, 2, 512, , 0, 0, {}, {} +565, PinkPetal, Pink Petal, 0, 10, 25, 10, , , , , , 2, , , 0, , { itemheal 50, 0; }, {} +566, SmallMushroom, Small Mushroom, 0, 50, 25, 10, , , , , , 2, , , 0, , { itemheal 50, 0; }, {} +567, IronPotion, Iron Potion, 0, 500, 250, 10, , , , , , 2, , , 0, , { sc_start sc_raiseattackstrength, 60, 60; }, {} +568, ConcentrationPotion, Concentration Potion, 0, 500, 250, 10, , , , , , 2, , , 0, , { sc_start sc_raiseattackspeed0, 60, 30; }, {} +569, RawLog, Raw Log, 3, 20, 10, 10, , , , , , , , , , , {}, {} +570, BoneKnife, Bone Knife, 4, 10000, 6000, 450, 115, , 1, , 0, 2, 2, 1, 1, 1, {}, {} +571, Setzer, Setzer, 4, 20000, 8000, 900, 110, , 1, , 0, 2, 2, 1, 1, 3, {}, {} +572, Scimitar, Scimitar, 4, 8000, 4000, 200, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } +573, Falchion, Falchion, 4, 8000, 4000, 300, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } +574, Scorpion, Scorpion, 4, 8000, 4000, 600, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } +575, DesertBow, Desert Bow, 4, 8000, 4000, 1200, 100, , 1, , 0, 2, 34, 1, 1, 11, {}, { callfunc "UnreleasedItem"; } +576, Beheader, Beheader, 4, 8000, 4000, 2000, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } +577, BoneDarts, Bone Darts, 4, 8000, 4000, 300, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } +578, SandCutter, Sand Cutter, 4, 8000, 4000, 1500, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } +579, RockKnife, Rock Knife, 4, 15000, 7500, 5000, 300, , 1, , 0, 2, 34, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } +580, StaffOfLife, Staff of Life, 4, 8000, 4000, 1500, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } +581, CrescentRod, Crescent Rod, 4, 8000, 4000, 1500, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } +582, StaffOfFire, Staff of Fire, 4, 8000, 4000, 1500, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } +583, StaffOfIce, Staff of Ice, 4, 8000, 4000, 1500, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } +584, Jackal, Jackal, 4, 8000, 4000, 100, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; } +585, ScarabArmlet, Scarab Armlet, 5, 8000, 4000, 200, , 0, , 5, 0, 2, 32, , 1, 1, {}, {} +586, CottonShorts, Cotton Shorts, 5, 1000, 500, 15, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} +//587, RESERVED, Sword, , , , , , , , , , , , , , , {}, {} +//588, RESERVED, Bastard Sword, , , , , , , , , , , , , , , {}, {} +//589, RESERVED, Broad Sword, , , , , , , , , , , , , , , {}, {} +//590, RESERVED, Baselard, , , , , , , , , , , , , , , {}, {} +//591, RESERVED, Long Sword, , , , , , , , , , , , , , , {}, {} +//592, RESERVED, Stiletto, , , , , , , , , , , , , , , {}, {} +//593, RESERVED, Rapier, , , , , , , , , , , , , , , {}, {} +//594, RESERVED, Spear, , , , , , , , , , , , , , , {}, {} +//595, RESERVED, Heavy Spear, , , , , , , , , , , , , , , {}, {} +//596, RESERVED, Pike, , , , , , , , , , , , , , , {}, {} +//597, RESERVED, Heavy Pike, , , , , , , , , , , , , , , {}, {} +//598, RESERVED, Dual Spear, , , , , , , , , , , , , , , {}, {} +//599, RESERVED, Fire Sword, , , , , , , , , , , , , , , {}, {} +//600, RESERVED, Brit Shield, , , , , , , , , , , , , , , {}, {} +601, SteelShield, Steel Shield, 5, 40000, 3000, 2500, , 20, , -200, 0, 2, 32, , , 0, {}, {} +602, WoodenShield, Wooden Shield, 5, 10000, 2000, 1500, , 14, , -70, 0, 2, 32, , , 0, {}, {} +603, LeatherShield, Leather Shield, 5, 2000, 1000, 1300, , 7, , -35, 0, 2, 32, , , 0, {}, {} +//604, RESERVED, Knight Shield, , , , , , , , , , , , , , , {}, {} +//605, RESERVED, Meat Cleaver, , , , , , , , , , , , , , , {}, {} +//606, RESERVED, Hatchet, , , , , , , , , , , , , , , {}, {} +//607, RESERVED, Trident, , , , , , , , , , , , , , , {}, {} +//608, RESERVED, Blade Shield, , , , , , , , , , , , , , , {}, {} +//609, RESERVED, Club, , , , , , , , , , , , , , , {}, {} +610, JeansShorts, Jeans Shorts, 5, 2000, 1000, 25, , 4, , -8, 0, 2, 1, , 0, 0, {}, {} +611, WhiteFur, White Fur, 3, 8, 4, 8, , , , , , , , , , , {}, {} +612, CaveSnakeLamp, Cave Snake Lamp, 3, 80, 40, 10, , , , , , , , , , , {}, {} +613, HardSpike, Hard Spike, 3, 8, 4, 10, , , , , , , , , , , {}, {} +614, PinkAntenna, Pink Antenna, 3, 10, 5, 10, , , , , , , , , , , {}, {} +615, PumpkinHelmet, Pumpkin Helmet, 5, 2000, 1000, 60, , 4, , -4, 0, 2, 256, , 0, 0, {}, {} +616, AxeHat, Axe Hat, 5, 2000, 1000, 50, , 4, , -4, 0, 2, 256, , 0, 0, {}, {} +617, PirateHat, Pirate Hat, 5, 2000, 1000, 40, , 4, , -8, 0, 2, 256, , 0, 0, {}, {} +618, Goggles, Goggles, 5, 500, 100, 20, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +619, LeatherGoggles, Leather Goggles, 5, 1000, 500, 20, , 3, , 0, 0, 2, 256, , 0, 0, {}, {} +620, Circlet, Circlet, 5, 2000, 1000, 25, , 4, , 5, 0, 2, 256, , 0, 0, {}, {} +621, Eyepatch, Eyepatch, 5, 1000, 500, 5, , 3, , 0, 0, 2, 256, , 0, 0, {}, {} +622, Bandana, Bandana, 5, 1000, 500, 20, , 3, , 0, 0, 2, 256, , 0, 0, {}, {} +623, Scythe, Scythe, 4, 100, 50, 1200, 75, , 1, , 0, 2, 2, 1, 1, 3, {}, {} +624, VNeckSweater, V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -24, 0, 2, 512, , 0, 0, {}, {} +625, ChainmailShirt, Chainmail Shirt, 5, 15000, 1500, 800, , 20, , -120, 0, 2, 512, , 0, 0, {}, {} +626, LightPlatemail, Light Platemail, 5, 50000, 2500, 1200, , 25, , -150, 0, 2, 512, , 0, 0, {}, {} +627, TopHat, Top Hat, 5, 2500, 1250, 30, , 10, , 2, 0, 2, 256, , 0, 0, {}, {} +628, FunkyHat, Funky Hat, 5, 3000, 1500, 20, , 13, , 2, 0, 2, 256, , 0, 0, {}, {} +629, MushHat, Mush Hat, 5, 2500, 1250, 30, , 10, , 0, 0, 2, 256, , 0, 0, {}, {} +630, ShroomHat, Shroom Hat, 5, 3000, 1500, 30, , 13, , 0, 0, 2, 256, , 0, 0, {}, {} +631, DarkCrystal, Dark Crystal, 3, 100, 50, 10, , , , , , , , , , , {}, {} +632, CottonSkirt, Cotton Skirt, 5, 1000, 500, 10, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +633, ChristmasElfHat, Christmas Elf Hat, 5, 3000, 1500, 30, , 13, , 2, 0, 2, 256, , 0, 0, {}, {} +634, FaceMask, Face Mask, 5, 2500, 1250, 50, , 10, , 0, 0, 2, 256, , 0, 0, {}, {} +635, SantaCookie, Santa Cookie, 3, 1, 1, 1, , , , , , , , , , , {}, {} +636, WarlordHelmet, Warlord Helmet, 5, 30000, 3000, 900, , 18, , -36, 0, 2, 256, , 0, 0, {}, {} +637, KnightsHelmet, Knight's Helmet, 5, 20000, 2000, 600, , 15, , -30, 0, 2, 256, , 0, 0, {}, {} +638, InfantryHelmet, Infantry Helmet, 5, 15000, 1500, 400, , 15, , -30, 0, 2, 256, , 0, 0, {}, {} +639, CrusadeHelmet, Crusade Helmet, 5, 25000, 2500, 1300, , 18, , -36, 0, 2, 256, , 0, 0, {}, {} +640, IronOre, Iron Ore, 3, 250, 100, 40, , , , , , , , , , , {}, {} +641, SnakeSkin, Snake Skin, 3, 250, 100, 15, , , , , , , , , , , {}, {} +642, JeansChaps, Jeans Chaps, 5, 2000, 1000, 60, , 6, , -12, 0, 2, 1, , 0, 0, {}, {} +643, WhiteCowboyHat, White Cowboy Hat, 5, 1800, 900, 30, , 6, , -12, 0, 2, 256, , 0, 0, {}, {} +644, BlackCowboyHat, Black Cowboy Hat, 5, 1800, 900, 30, , 6, , -12, 0, 2, 256, , 0, 0, {}, {} +645, GoldenPlatemail, Golden Platemail, 5, 9999000,3000, 4500, , 25, , -100, 0, 2, 512, , 0, 0, {}, {} +646, Crown, Crown, 5, 5000, 1000, 240, , 4, , 0, 0, 2, 256, , 0, 0, {}, {} +647, DevelopersCap, Developer's Cap, 5, 2000, 500, 20, , 5, , 5, 0, 2, 256, , 0, 0, {}, {} +//648, RESERVED, Rough Strength Ring, , , , , , , , , , , , , , , {}, {} +//649, RESERVED, Rough Agility Ring, , , , , , , , , , , , , , , {}, {} +//650, RESERVED, Rough Dexterity Ring, , , , , , , , , , , , , , , {}, {} +//651, RESERVED, Rough Vitality Ring, , , , , , , , , , , , , , , {}, {} +//652, RESERVED, Rough Intelligence Ring, , , , , , , , , , , , , , , {}, {} +//653, RESERVED, Rough Willpower Ring, , , , , , , , , , , , , , , {}, {} +654, Cap, Cap, 5, 2000, 500, 20, , 5, , 0, 0, 2, 256, , 0, 0, {}, {} +655, FurBoots, Fur Boots, 5, 5000, 600, 50, , 3, , -3, 0, 2, 64, , 0, 0, {}, {} +656, SerfHat, Serf Hat, 5, 500, 100, 20, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +657, Orange, Orange, 0, 12, 6, 7, , , , , , 2, , , 0, , { itemheal 60, 0; }, {} +658, WarlordPlate, Warlord Plate, 5, 100000, 3000, 2600, , 27, , -170, 0, 2, 512, , 0, 0, {}, {} +659, GoldenWarlordPlate, Golden Warlord Plate, 5, 500000, 4000, 7600, , 27, , -110, 0, 2, 512, , 0, 0, {}, {} +660, CottonCloth, Cotton Cloth, 3, 1000, 500, 10, , , , , , , , , , , {}, {} +661, RedRose, Red Rose, 3, 40, 20, 1, , , , , , , , , , , {}, {} +662, WhiteRose, White Rose, 3, 40, 20, 1, , , , , , , , , , , {}, {} +663, DarkRedRose, Dark Red Rose, 3, 40, 20, 1, , , , , , , , , , , {}, {} +664, PinkRose, Pink Rose, 3, 40, 20, 1, , , , , , , , , , , {}, {} +665, YellowRose, Yellow Rose, 3, 40, 20, 1, , , , , , , , , , , {}, {} +666, BlackRose, Black Rose, 3, 40, 20, 1, , , , , , , , , , , {}, {} +667, OrangeRose, Orange Rose, 3, 40, 20, 1, , , , , , , , , , , {}, {} +668, BlueRose, Blue Rose, 3, 40, 20, 1, , , , , , , , , , , {}, {} +669, YellowTulip, Yellow Tulip, 3, 40, 20, 1, , , , , , , , , , , {}, {} +670, PurpleTulip, Purple Tulip, 3, 40, 20, 1, , , , , , , , , , , {}, {} +671, RedTulip, Red Tulip, 3, 40, 20, 1, , , , , , , , , , , {}, {} +672, WhiteTulip, White Tulip, 3, 40, 20, 1, , , , , , , , , , , {}, {} +673, PinkTulip, Pink Tulip, 3, 40, 20, 1, , , , , , , , , , , {}, {} +674, OrangeTulip, Orange Tulip, 3, 40, 20, 1, , , , , , , , , , , {}, {} +675, GraduationCap, Graduation Cap, 5, 1000, 250, 20, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +676, Steak, Steak, 0, 275, 100, 10, , , , , , 2, , , 0, , { itemheal 250, 0; }, {} +677, HeartNecklace, Heart Necklace, 3, 2500, 1000, 10, , , , , , , , , 0, , {}, {} +678, NohMask, Noh Mask, 5, 7000, 1000, 18, , 3, , 1, 0, 2, 256, , 0, 0, {}, {} +679, DemonMask, Demon Mask, 5, 10000, 5000, 23, , 3, , 5, 0, 2, 256, , 0, 0, {}, {} +680, MauveHerb, Mauve Herb, 3, 2, 1, 1, , , , , , , , , , , {}, {} +681, CobaltHerb, Cobalt Herb, 3, 2, 1, 1, , , , , , , , , , , {}, {} +682, GambogeHerb, Gamboge Herb, 3, 2, 1, 1, , , , , , , , , , , {}, {} +683, AlizarinHerb, Alizarin Herb, 3, 2, 1, 1, , , , , , , , , , , {}, {} +684, TinyHealingPotion, Tiny Healing Potion, 0, 25, 12, 5, , , , , , 2, , , 0, , { itemheal 100, 0; }, {} +685, SmallHealingPotion, Small Healing Potion, 0, 50, 25, 10, , , , , , 2, , , 0, , { itemheal 200, 0; }, {} +686, MediumHealingPotion, Medium Healing Potion, 0, 100, 50, 15, , , , , , 2, , , 0, , { itemheal 400, 0; }, {} +687, LargeHealingPotion, Large Healing Potion, 0, 200, 100, 25, , , , , , 2, , , 0, , { itemheal 800, 0; }, {} +688, TankTop, Tank Top, 5, 10, 5, 10, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +689, ShortTankTop, Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +690, RedDye, Red Dye, 3, 100, 20, 10, , , , , , 2, , , 0, , {}, {} +691, GreenDye, Green Dye, 3, 2500, 1000, 10, , , , , , 2, , , 0, , {}, {} +692, DarkBlueDye, Dark Blue Dye, 3, 40000, 15000, 10, , , , , , 2, , , 0, , {}, {} +693, YellowDye, Yellow Dye, 3, 100, 20, 10, , , , , , 2, , , 0, , {}, {} +694, LightBlueDye, Light Blue Dye, 3, 100, 20, 10, , , , , , 2, , , 0, , {}, {} +695, PinkDye, Pink Dye, 3, 2500, 1000, 10, , , , , , 2, , , 0, , {}, {} +696, BlackDye, Black Dye, 3, 30000, 25000, 10, , , , , , 2, , , 0, , {}, {} +697, OrangeDye, Orange Dye, 3, 2500, 1000, 10, , , , , , 2, , , 0, , {}, {} +698, PurpleDye, Purple Dye, 3, 70000, 50000, 10, , , , , , 2, , , 0, , {}, {} +699, DarkGreenDye, Dark Green Dye, 3, 2000, 1000, 10, , , , , , 2, , , 0, , {}, {} +700, Pearl, Pearl, 3, 5000, 3000, 5, , , , , , 2, , , 0, , {}, {} +701, PileOfAsh, Pile of Ash, 3, 3000, 100, 5, , , , , , 2, , , 0, , {}, {} +702, WeddingRing, Wedding Ring, 5, 1000, 1, 1, , 0, , 0, 0, 2, 128, , 0, 0, {}, {} +703, SulphurPowder, Sulphur Powder, 3, 1000, 25, 2, , , , , , 2, , , 0, , {}, {} +704, IronPowder, Iron Powder, 3, 800, 80, 3, , , , , , 2, , , 0, , {}, {} +705, ManaPotion, Mana Potion, 0, 2000, 300, 50, , , , , , 2, , , 0, , { itemheal 0, 10; callfunc "MagicGainBasic"; }, {} +706, GoldenScorpionStinger, Golden Scorpion Stinger, 3, 2000, 500, 2, , , , , , , , , , , {}, {} +707, MonsterOilPotion, Monster Oil Potion, 3, 10000, 2000, 50, , , , , , , , , , , {}, {} +708, LeatherPatch, Leather Patch, 3, 300, 150, 18, , , , , , , , , , , {}, {} +709, BlackScorpionStinger, Black Scorpion Stinger, 3, 250, 100, 1, , , , , , , , , , , {}, {} +710, SnakeTongue, Snake Tongue, 3, 60, 30, 1, , , , , , , , , , , {}, {} +711, MountainSnakeTongue, Mountain Snake Tongue, 3, 80, 40, 1, , , , , , , , , , , {}, {} +712, GrassSnakeTongue, Grass Snake Tongue, 3, 160, 80, 1, , , , , , , , , , , {}, {} +713, CaveSnakeTongue, Cave Snake Tongue, 3, 120, 60, 1, , , , , , , , , , , {}, {} +714, SnakeEgg, Snake Egg, 0, 50, 25, 4, , , , , , 2, , , 0, , { itemheal 30, 0; }, {} +715, MountainSnakeEgg, Mountain Snake Egg, 0, 80, 40, 4, , , , , , 2, , , 0, , { itemheal 40, 0; }, {} +716, GrassSnakeEgg, Grass Snake Egg, 0, 100, 50, 4, , , , , , 2, , , 0, , { itemheal 50, 0; }, {} +717, CaveSnakeEgg, Cave Snake Egg, 0, 60, 30, 4, , , , , , 2, , , 0, , { itemheal 20, 0; }, {} +718, SilkCocoon, Silk Cocoon, 3, 200, 3, 1, , , , , , , , , , , {}, {} +719, GreenApple, Green Apple, 0, 10, 4, 5, , , , , , 2, , , 0, , { itemheal 45, 0; }, {} +720, SilkRobe, Silk Robe, 5, 8000, 4000, 5, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} +721, HighPriestCrown, High Priest Crown, 5, 20000, 5000, 400, , 4, , 20, 0, 2, 256, , 0, 0, {}, { bonus bMaxSP, 20; } +722, MonsterSkullHelmet, Monster Skull Helmet, 5, 15000, 3000, 250, , 7, , 10, 0, 2, 256, , 0, 0, {}, { bonus bMdef, 20; } +723, DesertHat, Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} +724, CottonHeadband, Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +725, GMCap, GM Cap, 5, 2000, 500, 20, , 5, , 5, 0, 2, 256, , 0, 0, {}, { callfunc "RestrictedItem"; } +726, GMRobe, GM Robe, 5, 8000, 4000, 40, , 5, , 0, 0, 2, 512, , 0, 0, {}, { callfunc "RestrictedItem"; } +727, Iten, Iten, 3, 0, 0, 8000, , , , , , , , , , , {}, {} +728, MoubooFigurine, Mouboo Figurine, 3, 0, 0, 9, , , , , , , , , , , {}, {} +729, WarpedLog, Warped Log, 3, 0, 0, 8, , , , , , , , , , , {}, {} +730, Lifestone, Lifestone, 3, 0, 0, 5, , , , , , , , , , , {}, {} +731, AssassinPants, Assassin Pants, 5, 10000, 3000, 20, , 5, , -5, 0, 2, 1, , 0, 0, {}, { callfunc "UnreleasedItem"; bonus bAgi,8; } +732, DruidTreeBranch, Druid Tree Branch, 3, 0, 0, 2, , , , , , , , , , , {}, {} +733, PurificationPotion, Purification Potion, 0, 0, 0, 15, , , , , , 2, , , , , { callfunc "usePurificationPotion"; }, {} +734, BlackBoots, Black Boots, 5, 20000, 3000, 35, , 4, , -10, 0, 2, 64, , 0, 0, {}, {} +735, CottonBoots, Cotton Boots, 5, 2000, 500, 10, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} +736, WhiteCake, White Cake, 0, 500, 100, 10, , , , , , 2, , , 0, , { itemheal 10, 0; }, {} +737, ChocolateCake, Chocolate Cake, 0, 550, 125, 10, , , , , , 2, , , 0, , { itemheal 11, 0; }, {} +738, OrangeCake, Orange Cake, 0, 600, 150, 10, , , , , , 2, , , 0, , { itemheal 12, 0; }, {} +739, AppleCake, Apple Cake, 0, 600, 150, 10, , , , , , 2, , , 0, , { itemheal 12, 0; }, {} +740, Root, Root, 3, 500, 200, 5, , , , , , , , , , , {}, {} +741, CottonGloves, Cotton Gloves, 5, 2000, 500, 10, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} +742, FourLeafClover, Four-Leaf Clover, 5, 10000, 5000, 1, , , , 5, 0, 2, 8, , 0, 0, {}, { bonus bLuk, 1; } +743, Acorn, Acorn, 0, 50, 10, 1, , , , , , 2, , , 0, , { itemheal 3, 0; }, {} +744, DilutedConcentrationPotion, Diluted Concentration Potion, 0, 250, 100, 10, , , , , , 2, , , 0, , { sc_start sc_raiseattackspeed0, 30, 20; }, {} 745, DarkConcentrationPotion, Dark Concentration Potion, 0, 50, 25, 10, , , , , , 2, , , 0, , { sc_start sc_raiseattackspeed0, 10, 40; sc_start sc_poison, 1, 50;}, {} -746, MopoxCurePotion, Mopox Cure Potion, 3, 0, 0, 5, , , , , , 2, , , , , {}, {} -747, LacedChocolateCake, Laced Chocolate Cake, 0, 550, 125, 10, , , , , , 2, , , 0, , { itemheal 11, 0; }, {} -748, LacedOrangeCupcake, Laced Orange Cupcake, 0, 90, 45, 5, , , , , , 2, , , 0, , { itemheal 100, 0; }, {} -749, Towel, Towel, 5, 800, 250, 50, , , , 5, 0, 2, 8, , 0, 0, {}, {} -750, SlowPoisonPotion, Slow Poison Potion, 0, 500, 200, 10, , , , , , 2, , , 0, , { itemheal 5, 0; sc_start sc_slowpoison, 180000, 180; }, {} -751, PinkieHat, Pinkie Hat, 5, 5000, 1000, 5, , 1, , 1, 0, 2, 256, , 0, 0, {}, {} -752, FluffyHat, Fluffy Hat, 5, 7000, 2000, 10, , 2, , -5, 0, 2, 256, , 0, 0, {}, {} -753, BatWing, Bat Wing, 3, 500, 10, 3, , , , , , , , , , , {}, {} -754, BatTeeth, Bat Teeth, 3, 600, 12, 2, , , , , , , , , , , {}, {} -755, AssassinShirt, Assassin Shirt, 5, 10000, 3000, 15, , 10, , -5, 0, 2, 512, , 0, 0, {}, { callfunc "UnreleasedItem"; bonus bAgi,10; } -756, AssassinGloves, Assassin Gloves, 5, 7000, 2000, 9, , 5, , -3, 0, 2, 4, , 0, 0, {}, { callfunc "UnreleasedItem"; bonus bAgi,5; } -757, AssassinBoots, Assassin Boots, 5, 7000, 2000, 10, , 5, , -3, 0, 2, 64, , 0, 0, {}, { callfunc "UnreleasedItem"; bonus bAgi,5; } -//758, WoodenStaff, Wooden Staff, , , , , , , , , , , , , , , {}, {} -//759, PaladinsHelmet, Paladin's Helmet, , , , , , , , , , , , , , , {}, {} -//760, OverlordsHelmet, Overlord's Helmet, , , , , , , , , , , , , , , {}, {} -//761, DesertHelmet, Desert Helmet, , , , , , , , , , , , , , , {}, {} +746, MopoxCurePotion, Mopox Cure Potion, 3, 0, 0, 5, , , , , , 2, , , , , {}, {} +747, LacedChocolateCake, Laced Chocolate Cake, 0, 550, 125, 10, , , , , , 2, , , 0, , { itemheal 11, 0; }, {} +748, LacedOrangeCupcake, Laced Orange Cupcake, 0, 90, 45, 5, , , , , , 2, , , 0, , { itemheal 100, 0; }, {} +749, Towel, Towel, 5, 800, 250, 50, , , , 5, 0, 2, 8, , 0, 0, {}, {} +750, SlowPoisonPotion, Slow Poison Potion, 0, 500, 200, 10, , , , , , 2, , , 0, , { itemheal 5, 0; sc_start sc_slowpoison, 180000, 180; }, {} +751, PinkieHat, Pinkie Hat, 5, 5000, 1000, 5, , 1, , 1, 0, 2, 256, , 0, 0, {}, {} +752, FluffyHat, Fluffy Hat, 5, 7000, 2000, 10, , 2, , -5, 0, 2, 256, , 0, 0, {}, {} +753, BatWing, Bat Wing, 3, 500, 10, 3, , , , , , , , , , , {}, {} +754, BatTeeth, Bat Teeth, 3, 600, 12, 2, , , , , , , , , , , {}, {} +755, AssassinShirt, Assassin Shirt, 5, 10000, 3000, 15, , 10, , -5, 0, 2, 512, , 0, 0, {}, { callfunc "UnreleasedItem"; bonus bAgi,10; } +756, AssassinGloves, Assassin Gloves, 5, 7000, 2000, 9, , 5, , -3, 0, 2, 4, , 0, 0, {}, { callfunc "UnreleasedItem"; bonus bAgi,5; } +757, AssassinBoots, Assassin Boots, 5, 7000, 2000, 10, , 5, , -3, 0, 2, 64, , 0, 0, {}, { callfunc "UnreleasedItem"; bonus bAgi,5; } +//758, WoodenStaff, Wooden Staff, , , , , , , , , , , , , , , {}, {} +//759, PaladinsHelmet, Paladin's Helmet, , , , , , , , , , , , , , , {}, {} +//760, OverlordsHelmet, Overlord's Helmet, , , , , , , , , , , , , , , {}, {} +//761, DesertHelmet, Desert Helmet, , , , , , , , , , , , , , , {}, {} 762, TerraniteArrow, Terranite Arrow, 10, 800, 400, 1, 50, 0, 0, 0, 0, 2, 32768, , , 0, {}, {bonus bAtkRange, 1;} -763, TerraniteOre, Terranite Ore, 3, 500, 250, 40, , , , , , , , , , , {}, {} -//764, SailorHat, Sailor Hat, , , , , , , , , , , , , , , {}, {} -//765, CaptainsHat, Captain's Hat, , , , , , , , , , , , , , , {}, {} +763, TerraniteOre, Terranite Ore, 3, 500, 250, 40, , , , , , , , , , , {}, {} +//764, SailorHat, Sailor Hat, , , , , , , , , , , , , , , {}, {} +//765, CaptainsHat, Captain's Hat, , , , , , , , , , , , , , , {}, {} 766, TerraniteHelmet, Terranite Helmet, 5, 30000, 3000, 300, , 15, , -12, 0, 2, 256, , 0, 0, {}, {} 767, TerraniteChestArmor, Terranite Chest Armor, 5, 100000, 3000, 800, , 20, , -70, 0, 2, 512, , 0, 0, {}, {bonus bDex,1;} 768, TerraniteLegsArmor, Terranite Legs Armor, 5, 10000, 3000, 30, , 5, , -8, 0, 2, 1, , 0, 0, {}, {bonus bAgi,1;} -//769, GuyFawkesMask, Guy Fawkes' Mask, , , , , , , , , , , , , , , {}, {} -770, FairyHat, Fairy Hat, 5, 2000, 1000, 20, , 5, , -10, 0, 2, 256, , 0, 0, {}, {bonus bLuk,3;} -771, Miniskirt, Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -772, WispPowder, Wisp Powder, 3, 700, 350, 3, , , , , , , , , , , {}, {} -773, SpectrePowder, Spectre Powder, 3, 700, 350, 3, , , , , , , , , , , {}, {} -774, PoltergeistPowder, Poltergeist Powder, 3, 700, 350, 3, , , , , , , , , , , {}, {} -775, Bone, Bone, 3, 140, 70, 10, , , , , , , , , , , {}, {} -776, Skull, Skull, 3, 900, 450, 30, , , , , , , , , , , {}, {} -777, RottenRags, Rotten Rags, 3, 100, 50, 15, , , , , , , , , , , {}, {} -778, DiseasedHeart, Diseased Heart, 3, 180, 90, 10, , , , , , , , , , , {}, {} -779, UndeadEar, Undead Ear, 3, 30, 15, 5, , , , , , , , , , , {}, {} -780, UndeadEye, Undead Eye, 3, 30, 15, 3, , , , , , , , , , , {}, {} -//781, WitchDoctorsMask, Witch Doctor's Mask, , , , , , , , , , , , , , , {}, {} -782, ForestArmor, Forest Armor, 5, 3000, 1500, 40, , 10, , -20, 0, 2, 512, , 0, 0, {}, {bonus bDex,3;} -783, ValentineDress, Valentine Dress, 5, 100000, 50000, 35, , 15, , 3, 0, 2, 512, , 0, 0, {}, {} - -1198, JackOSoul, Jack O Soul, 3, 100000, 1, 1, , , , , , , , , , , {}, {} -1199, Arrow, Arrow, 10, 3, 1, 1, 25, 0, 0, , 0, 2, 32768, , , , {}, {} -1200, Bow, Bow, 4, 1000, 500, 20, 20, , 5, , 0, 2, 34, 1, 4, 11, {}, {} -1201, Knife, Knife, 4, 50, 25, 120, 5, , 1, , 0, 2, 2, 1, 1, 1, {}, {} -1202, CottonShirt, Cotton Shirt, 5, 10, 5, 13, , 2, , -2, 0, 2, 512, , 0, 0, {}, {} -1203, RangerHat, Ranger Hat, 5, 1000, 500, 20, , 2, , -1, 0, 2, 256, , 0, 0, {}, {} -1204, AntlerHat, Antler Hat, 5, 1000, 500, 15, , 4, , 2, 0, 2, 256, , 0, 0, {}, {} -1205, ChristmasTreeHat, Christmas Tree Hat, 5, 2000, 1000, 20, , 2, , 4, 0, 2, 256, , 0, 0, {}, {} -1206, SantaBeardHat, Santa Beard Hat, 5, 1000, 500, 20, , 5, , 2, 0, 2, 256, , 0, 0, {}, {} -1207, RedChristmasStocking, Red Christmas Stocking, 3, 80, 40, 10, , , , , , , , , , , {}, {} -1208, RedEasterEgg, Red Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} -1209, GreenEasterEgg, Green Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} -1210, BlueEasterEgg, Blue Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} -1211, YellowEasterEgg, Yellow Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} -1212, PinkEasterEgg, Pink Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} -1213, TealEasterEgg, Teal Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} -1214, BunnyEars, Bunny Ears, 5, 5000, 2000, 20, , 10, , 1, 0, 2, 256, , 0, 0, {}, {} -1215, ToySabre, Toy Sabre, 4, 50, 25, 1, 1, , 1, , 0, 2, 2, 1, 1, 1, {}, {} -1216, MoubooHead, Mouboo Head, 5, 10, 1, 80, , 1, , 0, 0, 2, 256, , 0, 0, {}, {} -1217, CatEars, Cat Ears, 5, 100, 50, 20, , 1, , 1, 0, 2, 256, , 0, 0, {}, { bonus bAgi, 3; } -1218, PaperBag, Paper Bag, 5, 1000, 5, 10, , 1, , -1, 0, 2, 256, , 0, 0, {}, { bonus bAgi, -1; } -1219, MoubootaurHead, Moubootaur Head, 5, 10, 1, 80, , 1, , 0, 0, 2, 256, , 0, 0, {}, { set @minLvl, 1; callfunc "RestrictedItem"; } -1220, BunchOfParsley, Bunch of Parsley, 5, 3, 1, 1, , 1, , 0, 0, 2, 256, , 0, 0, {}, { bonus bDeaf, 1; } -1221, SkullMask, Skull Mask, 5, 10000, 5000, 150, , 3, , 5, 0, 2, 256, , 0, 0, {}, {} -//1222, SmallPieceOfClay, Small Piece of Clay, , , , , , , , , , , , , , , {}, {} -//1223, BigPieceOfWhiteClay, Big Piece of White Clay, , , , , , , , , , , , , , , {}, {} -//1224, ScrollOfPaper, Scroll of Paper, , , , , , , , , , , , , , , {}, {} -//1225, FireScroll, Fire Scroll, , , , , , , , , , , , , , , {}, {} -//1226, SilverBell, Silver Bell, , , , , , , , , , , , , , , {}, {} -//1227, EnchantersAmulet, Enchanter's Amulet, , , , , , , , , , , , , , , {}, {} -//1228, SilverFourLeafAmulet, Silver Four-Leaf Amulet, , , , , , , , , , , , , , , {}, {} -1229, CaramelApple, Caramel Apple, 0, 500, 75, 5, , , , , , 2, , , 0, , { itemheal 1000, 0; }, {} -1230, LollipopColor1, Booberry Blue Lollipop, 0, 20, 50, 1, , , , , , 2, , , 0, , { itemheal 800, 0; }, {} -1231, LollipopColor2, Ghastly Green Lollipop, 0, 20, 50, 1, , , , , , 2, , , 0, , { itemheal 800, 0; }, {} -1232, LollipopColor3, Blood Red Lollipop, 0, 20, 50, 1, , , , , , 2, , , 0, , { itemheal 800, 0; }, {} -1233, FakeFangs, Cheap Plastic Fangs, 3, 20, 10000, 1, , , , , , 2, , , 0, , {}, {} -1234, RedOrnament, Red Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} -1235, YellowOrnament, Yellow Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} -1236, GreenOrnament, Green Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} -1237, AquaOrnament, Aqua Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} -1238, BlueOrnament, Blue Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} -1239, MagentaOrnament, Magenta Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} -1240, SantaSnowGlobe, Santa Snow Globe, 3, 7500, 5000, 1, , , , , , 2, , , 0, , {}, {} -1241, SnowmanSnowGlobe, Snowman Snow Globe, 3, 7500, 5000, 1, , , , , , 2, , , 0, , {}, {} -1242, SnowGoggles, Snow Goggles, 5, 7500, 5000, 10, , 5, , -2, 0, 2, 256, , 0, 0, {}, {} -1243, PaperHat, Paper Party Hat, 5, 10, 5, 1, , 1, , 0, 0, 2, 256, , 0, 0, {}, {} +//769, GuyFawkesMask, Guy Fawkes' Mask, , , , , , , , , , , , , , , {}, {} +770, FairyHat, Fairy Hat, 5, 2000, 1000, 20, , 5, , -10, 0, 2, 256, , 0, 0, {}, {bonus bLuk,3;} +771, Miniskirt, Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +772, WispPowder, Wisp Powder, 3, 700, 350, 3, , , , , , , , , , , {}, {} +773, SpectrePowder, Spectre Powder, 3, 700, 350, 3, , , , , , , , , , , {}, {} +774, PoltergeistPowder, Poltergeist Powder, 3, 700, 350, 3, , , , , , , , , , , {}, {} +775, Bone, Bone, 3, 140, 70, 10, , , , , , , , , , , {}, {} +776, Skull, Skull, 3, 900, 450, 30, , , , , , , , , , , {}, {} +777, RottenRags, Rotten Rags, 3, 100, 50, 15, , , , , , , , , , , {}, {} +778, DiseasedHeart, Diseased Heart, 3, 180, 90, 10, , , , , , , , , , , {}, {} +779, UndeadEar, Undead Ear, 3, 30, 15, 5, , , , , , , , , , , {}, {} +780, UndeadEye, Undead Eye, 3, 30, 15, 3, , , , , , , , , , , {}, {} +//781, WitchDoctorsMask, Witch Doctor's Mask, , , , , , , , , , , , , , , {}, {} +782, ForestArmor, Forest Armor, 5, 3000, 1500, 40, , 10, , -20, 0, 2, 512, , 0, 0, {}, {bonus bDex,3;} +783, ValentineDress, Valentine Dress, 5, 100000, 50000, 35, , 15, , 3, 0, 2, 512, , 0, 0, {}, {} + +1198, JackOSoul, Jack O Soul, 3, 100000, 1, 1, , , , , , , , , , , {}, {} +1199, Arrow, Arrow, 10, 3, 1, 1, 25, 0, 0, , 0, 2, 32768, , , , {}, {} +1200, Bow, Bow, 4, 1000, 500, 20, 20, , 5, , 0, 2, 34, 1, 4, 11, {}, {} +1201, Knife, Knife, 4, 50, 25, 120, 5, , 1, , 0, 2, 2, 1, 1, 1, {}, {} +1202, CottonShirt, Cotton Shirt, 5, 10, 5, 13, , 2, , -2, 0, 2, 512, , 0, 0, {}, {} +1203, RangerHat, Ranger Hat, 5, 1000, 500, 20, , 2, , -1, 0, 2, 256, , 0, 0, {}, {} +1204, AntlerHat, Antler Hat, 5, 1000, 500, 15, , 4, , 2, 0, 2, 256, , 0, 0, {}, {} +1205, ChristmasTreeHat, Christmas Tree Hat, 5, 2000, 1000, 20, , 2, , 4, 0, 2, 256, , 0, 0, {}, {} +1206, SantaBeardHat, Santa Beard Hat, 5, 1000, 500, 20, , 5, , 2, 0, 2, 256, , 0, 0, {}, {} +1207, RedChristmasStocking, Red Christmas Stocking, 3, 80, 40, 10, , , , , , , , , , , {}, {} +1208, RedEasterEgg, Red Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} +1209, GreenEasterEgg, Green Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} +1210, BlueEasterEgg, Blue Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} +1211, YellowEasterEgg, Yellow Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} +1212, PinkEasterEgg, Pink Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} +1213, TealEasterEgg, Teal Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} +1214, BunnyEars, Bunny Ears, 5, 5000, 2000, 20, , 10, , 1, 0, 2, 256, , 0, 0, {}, {} +1215, ToySabre, Toy Sabre, 4, 50, 25, 1, 1, , 1, , 0, 2, 2, 1, 1, 1, {}, {} +1216, MoubooHead, Mouboo Head, 5, 10, 1, 80, , 1, , 0, 0, 2, 256, , 0, 0, {}, {} +1217, CatEars, Cat Ears, 5, 100, 50, 20, , 1, , 1, 0, 2, 256, , 0, 0, {}, { bonus bAgi, 3; } +1218, PaperBag, Paper Bag, 5, 1000, 5, 10, , 1, , -1, 0, 2, 256, , 0, 0, {}, { bonus bAgi, -1; } +1219, MoubootaurHead, Moubootaur Head, 5, 10, 1, 80, , 1, , 0, 0, 2, 256, , 0, 0, {}, { set @minLvl, 1; callfunc "RestrictedItem"; } +1220, BunchOfParsley, Bunch of Parsley, 5, 3, 1, 1, , 1, , 0, 0, 2, 256, , 0, 0, {}, { bonus bDeaf, 1; } +1221, SkullMask, Skull Mask, 5, 10000, 5000, 150, , 3, , 5, 0, 2, 256, , 0, 0, {}, {} +//1222, SmallPieceOfClay, Small Piece of Clay, , , , , , , , , , , , , , , {}, {} +//1223, BigPieceOfWhiteClay, Big Piece of White Clay, , , , , , , , , , , , , , , {}, {} +//1224, ScrollOfPaper, Scroll of Paper, , , , , , , , , , , , , , , {}, {} +//1225, FireScroll, Fire Scroll, , , , , , , , , , , , , , , {}, {} +//1226, SilverBell, Silver Bell, , , , , , , , , , , , , , , {}, {} +//1227, EnchantersAmulet, Enchanter's Amulet, , , , , , , , , , , , , , , {}, {} +//1228, SilverFourLeafAmulet, Silver Four-Leaf Amulet, , , , , , , , , , , , , , , {}, {} +1229, CaramelApple, Caramel Apple, 0, 500, 75, 5, , , , , , 2, , , 0, , { itemheal 1000, 0; }, {} +1230, LollipopColor1, Booberry Blue Lollipop, 0, 20, 50, 1, , , , , , 2, , , 0, , { itemheal 800, 0; }, {} +1231, LollipopColor2, Ghastly Green Lollipop, 0, 20, 50, 1, , , , , , 2, , , 0, , { itemheal 800, 0; }, {} +1232, LollipopColor3, Blood Red Lollipop, 0, 20, 50, 1, , , , , , 2, , , 0, , { itemheal 800, 0; }, {} +1233, FakeFangs, Cheap Plastic Fangs, 3, 20, 10000, 1, , , , , , 2, , , 0, , {}, {} +1234, RedOrnament, Red Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} +1235, YellowOrnament, Yellow Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} +1236, GreenOrnament, Green Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} +1237, AquaOrnament, Aqua Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} +1238, BlueOrnament, Blue Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} +1239, MagentaOrnament, Magenta Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} +1240, SantaSnowGlobe, Santa Snow Globe, 3, 7500, 5000, 1, , , , , , 2, , , 0, , {}, {} +1241, SnowmanSnowGlobe, Snowman Snow Globe, 3, 7500, 5000, 1, , , , , , 2, , , 0, , {}, {} +1242, SnowGoggles, Snow Goggles, 5, 7500, 5000, 10, , 5, , -2, 0, 2, 256, , 0, 0, {}, {} +1243, PaperHat, Paper Party Hat, 5, 10, 5, 1, , 1, , 0, 0, 2, 256, , 0, 0, {}, {} 1244, DarkTalisman, Dark Talisman, 5, 0, 0, 0, , 30, , 100, 0, 2, 512, , 0, 0, {}, { set @minLvl, 1; callfunc "RestrictedItem"; set @val, getopt2; if (!(@val & 1024)) setopt2 getopt2 | 1024; bonus bMaxHp, 30000; bonus bFlee, -150; } -1245, BentNeedle, Bent Needle, 3, 700, 1, 3, , , , , , 2, , , 0, 0, {}, {} -1246, DarkEasterEgg, Dark Easter Egg, 3, 700, 50, 10, , , , , , 2, , , 0, 0, {}, {} -1247, HeartGlasses, Heart Glasses, 5, 7500, 5000, 20, , 4, , 5, 0, 2, 256, , 0, 0, {}, {} -1248, Blueberries, Blueberries, 0, 1000, 500, 6, , , , , , 2, , , 0, , { itemheal 800, 0; }, {} -1249, StrangeCoin, Strange Coin, 3, 7000, 5000, 3, , , , , , 2, , , 0, 0, {}, {} -1250, Pear, Pear, 0, 1000, 500, 7, , , , , , 2, , , 0, , { itemheal 200, 0; }, {} -1251, Plum, Plum, 0, 1000, 500, 10, , , , , , 2, , , 0, , { itemheal 300, 0; }, {} -1252, Cherry, Cherry, 0, 1000, 500, 5, , , , , , 2, , , 0, , { itemheal 250, 0; }, {} -1253, GoldenDeliciousApple, GoldenDeliciousApple, 0, 1000, 500, 30, , , , , , 2, , , 0, , { itemheal 200, 0; }, {} -1254, DarkPetal, Dark Petal, 3, 15000, 8000, 250, , , , , , 2, , , 0, , {}, {} -1255, WhiteRabbitEars, White Rabbit Ears, 5, 7000, 5000, 20, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -1256, EggshellHat, Eggshell Hat, 5, 7000, 5000, 15, , 12, , 0, 0, 2, 256, , 1, 0, {}, { bonus bAgi, -1; } -1257, FlawedLens, Flawed Lens, 3, 10000, 5000, 3, , , , , , 2, , , 0, 0, {}, {} - -1258, Honey, Honey, 0, 100, 80, 20, , , , , , 2, , , , , { itemheal 45, 0; }, {} -//1259, BeeEgg -//1260, Wax -//1261, Venom -//1262, FlowerSeed -//1263, Incubator -//1264, RoyalJelly -//1265, VespaWing -//1266, Hive -//1267, VespaEgg -//1268, LarvaFat -//1269, LarvaPincer -//1270, FrogEgg -//1271, PondScum -//1272, FrogLeg -//1273, TrollStone -//1274, SmallClub -//1275, LoinCloth - -2050, RedCottonShirt, Red Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2051, GreenCottonShirt, Green Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2052, DarkBlueCottonShirt, Dark Blue Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2053, YellowCottonShirt, Yellow Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2054, LightBlueCottonShirt, Light Blue Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2055, PinkCottonShirt, Pink Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2056, BlackCottonShirt, Black Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2057, OrangeCottonShirt, Orange Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2058, PurpleCottonShirt, Purple Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2059, DarkGreenCottonShirt, Dark Green Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2060, RedVNeckSweater, Red V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} -2061, GreenVNeckSweater, Green V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} -2062, DarkBlueVNeckSweater, Dark Blue V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} -2063, YellowVNeckSweater, Yellow V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} -2064, LightBlueVNeckSweater, Light Blue V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} -2065, PinkVNeckSweater, Pink V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} -2066, BlackVNeckSweater, Black V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} -2067, OrangeVNeckSweater, Orange V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} -2068, PurpleVNeckSweater, Purple V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} -2069, DarkGreenVNeckSweater, Dark Green V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} -2070, RedTurtleneckSweater, Red Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} -2071, GreenTurtleneckSweater, Green Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} -2072, DarkBlueTurtleneckSweater, Dark Blue Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} -2073, YellowTurtleneckSweater, Yellow Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} -2074, LightBlueTurtleneckSweater, Light Blue Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} -2075, PinkTurtleneckSweater, Pink Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} -2076, BlackTurtleneckSweater, Black Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} -2077, OrangeTurtleneckSweater, Orange Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} -2078, PurpleTurtleneckSweater, Purple Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} -2079, DarkGreenTurtleneckSweater, Dark Green Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} -2080, RedSilkRobe, Red Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} -2081, GreenSilkRobe, Green Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} -2082, DarkBlueSilkRobe, Dark Blue Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} -2083, YellowSilkRobe, Yellow Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} -2084, LightBlueSilkRobe, Light Blue Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} -2085, PinkSilkRobe, Pink Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} -2086, BlackSilkRobe, Black Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} -2087, OrangeSilkRobe, Orange Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} -2088, PurpleSilkRobe, Purple Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} -2089, DarkGreenSilkRobe, Dark Green Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} -2090, RedTankTop, Red Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2091, GreenTankTop, Green Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2092, DarkBlueTankTop, Dark Blue Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2093, YellowTankTop, Yellow Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2094, LightBlueTankTop, Light Blue Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2095, PinkTankTop, Pink Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2096, BlackTankTop, Black Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2097, OrangeTankTop, Orange Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2098, PurpleTankTop, Purple Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2099, DarkGreenTankTop, Dark Green Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2100, RedCottonSkirt, Red Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2101, GreenCottonSkirt, Green Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2102, DarkBlueCottonSkirt, Dark Blue Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2103, YellowCottonSkirt, Yellow Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2104, LightBlueCottonSkirt, Light Blue Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2105, PinkCottonSkirt, Pink Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2106, BlackCottonSkirt, Black Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2107, OrangeCottonSkirt, Orange Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2108, PurpleCottonSkirt, Purple Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2109, DarkGreenCottonSkirt, Dark Green Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2110, RedCottonShorts, Red Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} -2111, GreenCottonShorts, Green Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} -2112, DarkBlueCottonShorts, Dark Blue Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} -2113, YellowCottonShorts, Yellow Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} -2114, LightBlueCottonShorts, Light Blue Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} -2115, PinkCottonShorts, Pink Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} -2116, BlackCottonShorts, Black Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} -2117, OrangeCottonShorts, Orange Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} -2118, PurpleCottonShorts, Purple Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} -2119, DarkGreenCottonShorts, Dark Green Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} -2120, RedShortTankTop, Red Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2121, GreenShortTankTop, Green Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2122, DarkBlueShortTankTop, Dark Blue Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2123, YellowShortTankTop, Yellow Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2124, LightBlueShortTankTop, Light Blue Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2125, PinkShortTankTop, Pink Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2126, BlackShortTankTop, Black Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2127, OrangeShortTankTop, Orange Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2128, PurpleShortTankTop, Purple Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2129, DarkGreenShortTankTop, Dark Green Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2130, RedDesertHat, Red Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} -2131, GreenDesertHat, Green Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} -2132, DarkBlueDesertHat, Dark Blue Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} -2133, YellowDesertHat, Yellow Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} -2134, LightBlueDesertHat, Light Blue Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} -2135, PinkDesertHat, Pink Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} -2136, BlackDesertHat, Black Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} -2137, OrangeDesertHat, Orange Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} -2138, PurpleDesertHat, Purple Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} -2139, DarkGreenDesertHat, Dark Green Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} -2140, RedCottonHeadband, Red Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -2141, GreenCottonHeadband, Green Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -2142, DarkBlueCottonHeadband, Dark Blue Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -2143, YellowCottonHeadband, Yellow Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -2144, LightBlueCottonHeadband, Light Blue Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -2145, PinkCottonHeadband, Pink Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -2146, BlackCottonHeadband, Black Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -2147, OrangeCottonHeadband, Orange Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -2148, PurpleCottonHeadband, Purple Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -2149, DarkGreenCottonHeadband, Dark Green Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -2150, RedCottonBoots, Red Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} -2151, GreenCottonBoots, Green Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} -2152, DarkBlueCottonBoots, Dark Blue Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} -2153, YellowCottonBoots, Yellow Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} -2154, LightBlueCottonBoots, Light Blue Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} -2155, PinkCottonBoots, Pink Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} -2156, BlackCottonBoots, Black Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} -2157, OrangeCottonBoots, Orange Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} -2158, PurpleCottonBoots, Purple Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} -2159, DarkGreenCottonBoots, Dark Green Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} -2160, RedCottonGloves, Red Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} -2161, GreenCottonGloves, Green Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} -2162, DarkBlueCottonGloves, Dark Blue Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} -2163, YellowCottonGloves, Yellow Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} -2164, LightBlueCottonGloves, Light Blue Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} -2165, PinkCottonGloves, Pink Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} -2166, BlackCottonGloves, Black Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} -2167, OrangeCottonGloves, Orange Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} -2168, PurpleCottonGloves, Purple Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} -2169, DarkGreenCottonGloves, Dark Green Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} -2170, RedMiniskirt, Red Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2171, GreenMiniskirt, Green Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2172, DarkBlueMiniskirt, Dark Blue Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2173, YellowMiniskirt, Yellow Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2174, LightBlueMiniskirt, Light Blue Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2175, PinkMiniskirt, Pink Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2176, BlackMiniskirt, Black Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2177, OrangeMiniskirt, Orange Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2178, PurpleMiniskirt, Purple Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2179, DarkGreenMiniskirt, Dark Green Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2180, RedPaperhat, Red Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} -2181, GreenPaperhat, Green Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} -2182, DarkBluePaperhat, Dark Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} -2183, YellowPaperhat, Yellow Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} -2184, LightBluePaperhat, Light Blue Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} -2185, PinkPaperhat, Pink Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} -2186, BlackPaperhat, Black Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} -2187, OrangePaperhat, Orange Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} -2188, PurplePaperhat, Purple Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} -2189, DarkGreenPaperhat, Dark Green Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} -2190, RedRabbitEars, Red Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2191, GreenRabbitEars, Green Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2192, DarkBlueRabbitEars, Dark Blue Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2193, YellowRabbitEars, Yellow Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2194, LightBlueRabbitEars, Light Blue Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2195, PinkRabbitEars, Pink Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2196, BlackRabbitEars, Black Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2197, OrangeRabbitEars, Orange Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2198, PurpleRabbitEars, Purple Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2199, DarkGreenRabbitEars, Dark Green Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -4000, AngryScorpionStinger, Angry Scorpion Stinger, 3, 50, 25, 1, , , , , , , , , , , {}, {} +1245, BentNeedle, Bent Needle, 3, 700, 1, 3, , , , , , 2, , , 0, 0, {}, {} +1246, DarkEasterEgg, Dark Easter Egg, 3, 700, 50, 10, , , , , , 2, , , 0, 0, {}, {} +1247, HeartGlasses, Heart Glasses, 5, 7500, 5000, 20, , 4, , 5, 0, 2, 256, , 0, 0, {}, {} +1248, Blueberries, Blueberries, 0, 1000, 500, 6, , , , , , 2, , , 0, , { itemheal 800, 0; }, {} +1249, StrangeCoin, Strange Coin, 3, 7000, 5000, 3, , , , , , 2, , , 0, 0, {}, {} +1250, Pear, Pear, 0, 1000, 500, 7, , , , , , 2, , , 0, , { itemheal 200, 0; }, {} +1251, Plum, Plum, 0, 1000, 500, 10, , , , , , 2, , , 0, , { itemheal 300, 0; }, {} +1252, Cherry, Cherry, 0, 1000, 500, 5, , , , , , 2, , , 0, , { itemheal 250, 0; }, {} +1253, GoldenDeliciousApple, GoldenDeliciousApple, 0, 1000, 500, 30, , , , , , 2, , , 0, , { itemheal 200, 0; }, {} +1254, DarkPetal, Dark Petal, 3, 15000, 8000, 250, , , , , , 2, , , 0, , {}, {} +1255, WhiteRabbitEars, White Rabbit Ears, 5, 7000, 5000, 20, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +1256, EggshellHat, Eggshell Hat, 5, 7000, 5000, 15, , 12, , 0, 0, 2, 256, , 1, 0, {}, { bonus bAgi, -1; } +1257, FlawedLens, Flawed Lens, 3, 10000, 5000, 3, , , , , , 2, , , 0, 0, {}, {} + +1258, Honey, Honey, 0, 100, 80, 20, , , , , , 2, , , , , { itemheal 45, 0; }, {} +//1259, BeeEgg +//1260, Wax +//1261, Venom +//1262, FlowerSeed +//1263, Incubator +//1264, RoyalJelly +//1265, VespaWing +//1266, Hive +//1267, VespaEgg +//1268, LarvaFat +//1269, LarvaPincer +//1270, FrogEgg +//1271, PondScum +//1272, FrogLeg +//1273, TrollStone +//1274, SmallClub +//1275, LoinCloth + +2050, RedCottonShirt, Red Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2051, GreenCottonShirt, Green Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2052, DarkBlueCottonShirt, Dark Blue Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2053, YellowCottonShirt, Yellow Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2054, LightBlueCottonShirt, Light Blue Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2055, PinkCottonShirt, Pink Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2056, BlackCottonShirt, Black Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2057, OrangeCottonShirt, Orange Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2058, PurpleCottonShirt, Purple Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2059, DarkGreenCottonShirt, Dark Green Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2060, RedVNeckSweater, Red V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} +2061, GreenVNeckSweater, Green V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} +2062, DarkBlueVNeckSweater, Dark Blue V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} +2063, YellowVNeckSweater, Yellow V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} +2064, LightBlueVNeckSweater, Light Blue V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} +2065, PinkVNeckSweater, Pink V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} +2066, BlackVNeckSweater, Black V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} +2067, OrangeVNeckSweater, Orange V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} +2068, PurpleVNeckSweater, Purple V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} +2069, DarkGreenVNeckSweater, Dark Green V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} +2070, RedTurtleneckSweater, Red Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} +2071, GreenTurtleneckSweater, Green Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} +2072, DarkBlueTurtleneckSweater, Dark Blue Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} +2073, YellowTurtleneckSweater, Yellow Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} +2074, LightBlueTurtleneckSweater, Light Blue Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} +2075, PinkTurtleneckSweater, Pink Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} +2076, BlackTurtleneckSweater, Black Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} +2077, OrangeTurtleneckSweater, Orange Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} +2078, PurpleTurtleneckSweater, Purple Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} +2079, DarkGreenTurtleneckSweater, Dark Green Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} +2080, RedSilkRobe, Red Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} +2081, GreenSilkRobe, Green Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} +2082, DarkBlueSilkRobe, Dark Blue Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} +2083, YellowSilkRobe, Yellow Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} +2084, LightBlueSilkRobe, Light Blue Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} +2085, PinkSilkRobe, Pink Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} +2086, BlackSilkRobe, Black Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} +2087, OrangeSilkRobe, Orange Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} +2088, PurpleSilkRobe, Purple Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} +2089, DarkGreenSilkRobe, Dark Green Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} +2090, RedTankTop, Red Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2091, GreenTankTop, Green Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2092, DarkBlueTankTop, Dark Blue Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2093, YellowTankTop, Yellow Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2094, LightBlueTankTop, Light Blue Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2095, PinkTankTop, Pink Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2096, BlackTankTop, Black Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2097, OrangeTankTop, Orange Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2098, PurpleTankTop, Purple Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2099, DarkGreenTankTop, Dark Green Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2100, RedCottonSkirt, Red Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2101, GreenCottonSkirt, Green Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2102, DarkBlueCottonSkirt, Dark Blue Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2103, YellowCottonSkirt, Yellow Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2104, LightBlueCottonSkirt, Light Blue Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2105, PinkCottonSkirt, Pink Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2106, BlackCottonSkirt, Black Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2107, OrangeCottonSkirt, Orange Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2108, PurpleCottonSkirt, Purple Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2109, DarkGreenCottonSkirt, Dark Green Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2110, RedCottonShorts, Red Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} +2111, GreenCottonShorts, Green Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} +2112, DarkBlueCottonShorts, Dark Blue Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} +2113, YellowCottonShorts, Yellow Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} +2114, LightBlueCottonShorts, Light Blue Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} +2115, PinkCottonShorts, Pink Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} +2116, BlackCottonShorts, Black Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} +2117, OrangeCottonShorts, Orange Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} +2118, PurpleCottonShorts, Purple Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} +2119, DarkGreenCottonShorts, Dark Green Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} +2120, RedShortTankTop, Red Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2121, GreenShortTankTop, Green Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2122, DarkBlueShortTankTop, Dark Blue Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2123, YellowShortTankTop, Yellow Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2124, LightBlueShortTankTop, Light Blue Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2125, PinkShortTankTop, Pink Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2126, BlackShortTankTop, Black Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2127, OrangeShortTankTop, Orange Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2128, PurpleShortTankTop, Purple Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2129, DarkGreenShortTankTop, Dark Green Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2130, RedDesertHat, Red Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} +2131, GreenDesertHat, Green Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} +2132, DarkBlueDesertHat, Dark Blue Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} +2133, YellowDesertHat, Yellow Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} +2134, LightBlueDesertHat, Light Blue Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} +2135, PinkDesertHat, Pink Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} +2136, BlackDesertHat, Black Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} +2137, OrangeDesertHat, Orange Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} +2138, PurpleDesertHat, Purple Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} +2139, DarkGreenDesertHat, Dark Green Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} +2140, RedCottonHeadband, Red Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +2141, GreenCottonHeadband, Green Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +2142, DarkBlueCottonHeadband, Dark Blue Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +2143, YellowCottonHeadband, Yellow Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +2144, LightBlueCottonHeadband, Light Blue Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +2145, PinkCottonHeadband, Pink Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +2146, BlackCottonHeadband, Black Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +2147, OrangeCottonHeadband, Orange Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +2148, PurpleCottonHeadband, Purple Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +2149, DarkGreenCottonHeadband, Dark Green Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +2150, RedCottonBoots, Red Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} +2151, GreenCottonBoots, Green Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} +2152, DarkBlueCottonBoots, Dark Blue Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} +2153, YellowCottonBoots, Yellow Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} +2154, LightBlueCottonBoots, Light Blue Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} +2155, PinkCottonBoots, Pink Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} +2156, BlackCottonBoots, Black Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} +2157, OrangeCottonBoots, Orange Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} +2158, PurpleCottonBoots, Purple Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} +2159, DarkGreenCottonBoots, Dark Green Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} +2160, RedCottonGloves, Red Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} +2161, GreenCottonGloves, Green Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} +2162, DarkBlueCottonGloves, Dark Blue Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} +2163, YellowCottonGloves, Yellow Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} +2164, LightBlueCottonGloves, Light Blue Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} +2165, PinkCottonGloves, Pink Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} +2166, BlackCottonGloves, Black Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} +2167, OrangeCottonGloves, Orange Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} +2168, PurpleCottonGloves, Purple Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} +2169, DarkGreenCottonGloves, Dark Green Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} +2170, RedMiniskirt, Red Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2171, GreenMiniskirt, Green Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2172, DarkBlueMiniskirt, Dark Blue Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2173, YellowMiniskirt, Yellow Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2174, LightBlueMiniskirt, Light Blue Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2175, PinkMiniskirt, Pink Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2176, BlackMiniskirt, Black Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2177, OrangeMiniskirt, Orange Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2178, PurpleMiniskirt, Purple Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2179, DarkGreenMiniskirt, Dark Green Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2180, RedPaperhat, Red Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} +2181, GreenPaperhat, Green Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} +2182, DarkBluePaperhat, Dark Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} +2183, YellowPaperhat, Yellow Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} +2184, LightBluePaperhat, Light Blue Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} +2185, PinkPaperhat, Pink Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} +2186, BlackPaperhat, Black Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} +2187, OrangePaperhat, Orange Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} +2188, PurplePaperhat, Purple Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} +2189, DarkGreenPaperhat, Dark Green Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} +2190, RedRabbitEars, Red Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2191, GreenRabbitEars, Green Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2192, DarkBlueRabbitEars, Dark Blue Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2193, YellowRabbitEars, Yellow Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2194, LightBlueRabbitEars, Light Blue Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2195, PinkRabbitEars, Pink Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2196, BlackRabbitEars, Black Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2197, OrangeRabbitEars, Orange Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2198, PurpleRabbitEars, Purple Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2199, DarkGreenRabbitEars, Dark Green Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +4000, AngryScorpionStinger, Angry Scorpion Stinger, 3, 50, 25, 1, , , , , , , , , , , {}, {} 4001, Coal, Coal, 3, 250, 100, 20, , , , , , , , , , , {}, {} -4002, GemRawWhite, Diamond, 3, 5000, 2500, 20, , , , , , , , , , , {}, {} -4003, GemRawRed, Ruby, 3, 5000, 2500, 20, , , , , , , , , , , {}, {} -4004, GemRawGreen, Emerald, 3, 5000, 2500, 20, , , , , , , , , , , {}, {} -4005, GemRawBlue, Sapphire, 3, 5000, 2500, 20, , , , , , , , , , , {}, {} -4006, GemRawYellow, Topaz, 3, 5000, 2500, 20, , , , , , , , , , , {}, {} -4007, GemRawPurple, Amethyst, 3, 5000, 2500, 20, , , , , , , , , , , {}, {} -4008, RingGemWhite, Diamond Ring, 5, 5000, 2500, 1, , 0, , 0, 0, 2, 128, , 0, 0, {}, {} -4009, RingGemRed, Ruby Ring, 5, 5000, 2500, 1, , 0, , 0, 0, 2, 128, , 0, 0, {}, {} -4010, RingGemGreen, Emerald Ring, 5, 5000, 2500, 1, , 0, , 0, 0, 2, 128, , 0, 0, {}, {} -4011, RingGemBlue, Sapphire Ring, 5, 5000, 2500, 1, , 0, , 0, 0, 2, 128, , 0, 0, {}, {} -4012, RingGemYellow, Topaz Ring, 5, 5000, 2500, 1, , 0, , 0, 0, 2, 128, , 0, 0, {}, {} -4013, RingGemPurple, Amethyst Ring, 5, 5000, 2500, 1, , 0, , 0, 0, 2, 128, , 0, 0, {}, {} -4014, RingSimple, Simple Ring, 5, 5000, 2500, 1, , 0, , 0, 0, 2, 128, , 0, 0, {}, {} -4015, IngotIron, Iron Ingot, 3, 500, 250, 200, , , , , , , , , , , {}, {} -4016, BanditHood, Bandit Hood, 3, 100, 50, 50, , , , , , , , , , , {}, {} -4017, RedPowder, Red Powder, 3, 3000, 5, 10, , , , , , 0, , , 0, , {}, {} -4018, YellowPowder, Yellow Powder, 3, 3000, 5, 10, , , , , , 0, , , 0, , {}, {} -4019, BluePowder, Blue Powder, 3, 3000, 5, 10, , , , , , 0, , , 0, , {}, {} -4020, CandleHelmet, Candle Helmet, 5, 20000, 2000, 450, , 16, , -25, 0, 2, 256, , 0, 0, {}, {bonus bInt, 1; bonus bAgi, -1;} +4002, GemRawWhite, Diamond, 3, 5000, 2500, 20, , , , , , , , , , , {}, {} +4003, GemRawRed, Ruby, 3, 5000, 2500, 20, , , , , , , , , , , {}, {} +4004, GemRawGreen, Emerald, 3, 5000, 2500, 20, , , , , , , , , , , {}, {} +4005, GemRawBlue, Sapphire, 3, 5000, 2500, 20, , , , , , , , , , , {}, {} +4006, GemRawYellow, Topaz, 3, 5000, 2500, 20, , , , , , , , , , , {}, {} +4007, GemRawPurple, Amethyst, 3, 5000, 2500, 20, , , , , , , , , , , {}, {} +4008, RingGemWhite, Diamond Ring, 5, 5000, 2500, 1, , 0, , 0, 0, 2, 128, , 0, 0, {}, {} +4009, RingGemRed, Ruby Ring, 5, 5000, 2500, 1, , 0, , 0, 0, 2, 128, , 0, 0, {}, {} +4010, RingGemGreen, Emerald Ring, 5, 5000, 2500, 1, , 0, , 0, 0, 2, 128, , 0, 0, {}, {} +4011, RingGemBlue, Sapphire Ring, 5, 5000, 2500, 1, , 0, , 0, 0, 2, 128, , 0, 0, {}, {} +4012, RingGemYellow, Topaz Ring, 5, 5000, 2500, 1, , 0, , 0, 0, 2, 128, , 0, 0, {}, {} +4013, RingGemPurple, Amethyst Ring, 5, 5000, 2500, 1, , 0, , 0, 0, 2, 128, , 0, 0, {}, {} +4014, RingSimple, Simple Ring, 5, 5000, 2500, 1, , 0, , 0, 0, 2, 128, , 0, 0, {}, {} +4015, IngotIron, Iron Ingot, 3, 500, 250, 200, , , , , , , , , , , {}, {} +4016, BanditHood, Bandit Hood, 3, 100, 50, 50, , , , , , , , , , , {}, {} +4017, RedPowder, Red Powder, 3, 3000, 5, 10, , , , , , 0, , , 0, , {}, {} +4018, YellowPowder, Yellow Powder, 3, 3000, 5, 10, , , , , , 0, , , 0, , {}, {} +4019, BluePowder, Blue Powder, 3, 3000, 5, 10, , , , , , 0, , , 0, , {}, {} +4020, CandleHelmet, Candle Helmet, 5, 20000, 2000, 450, , 16, , -25, 0, 2, 256, , 0, 0, {}, {bonus bInt, 1; bonus bAgi, -1;} +4021, YellowPresentBox, Yellow Present Box, 3, 20, 10, 10, , , , , , 2, , , 0, , {}, {} diff --git a/db/mob_db.txt b/db/mob_db.txt index cac568be..a3754beb 100644 --- a/db/mob_db.txt +++ b/db/mob_db.txt @@ -13,7 +13,7 @@ 1013, EvilMushroom, Evil Mushroom, 110, 650, 0, 0, 110, 1, 65, 80, 4, 6, 16, 12, 10, 10, 35, 10, 1, 1, 1, 3, 22, 137, 800, 1800, 672, 480, 535, 500, 540, 10, 534, 100, 566, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 1, 60 1014, PinkFlower, Pink Flower, 115, 700, 0, 0, 110, 2, 70, 75, 0, 5, 16, 12, 20, 20, 20, 50, 2, 2, 1, 3, 22, 128, 800, 800, 672, 480, 535, 100, 540, 10, 1199, 100, 526, 400, 565, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 50 1015, SantaSlime, Santa Slime, 120, 750, 0, 0, 0, 1, 75, 80, 2, 7, 1, 20, 1, 0, 30, 30, 1, 1, 1, 0, 21, 161, 1500, 1872, 672, 480, 512, 800, 513, 700, 514, 600, 519, 500, 527, 400, 538, 500, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 1, 10 -1016, RudolphSlime, Rudolph Slime, 50, 350, 0, 0, 16, 1, 30, 35, 10, 7, 1, 20, 1, 0, 30, 30, 1, 1, 1, 0, 21, 131, 1000, 1872, 672, 480, 504, 800, 506, 500, 508, 200, 509, 300, 510, 600, 515, 800, 516, 500, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 +1016, RudolphSlime, Rudolph Slime, 50, 350, 0, 0, 16, 1, 30, 35, 10, 7, 1, 20, 1, 0, 30, 30, 1, 1, 1, 0, 21, 131, 1000, 1872, 672, 480, 504, 800, 506, 500, 508, 200, 509, 300, 510, 600, 515, 800, 516, 500, 4021, 400, 0, 0, 0, 0, , , , , , , 2, 30 1017, Bat, Bat, 20, 150, 0, 0, 2, 1, 5, 25, 0, 5, 1, 1, 1, 0, 20, 25, 1, 1, 1, 3, 24, 129, 800, 1872, 672, 480, 505, 800, 501, 150, 518, 400, 533, 150, 521, 70, 522, 1, 753, 3000, 754, 2000, 0, 0, 0, 0, , , , , , , 2, 40 1018, Pinkie, Pinkie, 30, 500, 0, 0, 3, 2, 7, 15, 0, 5, 1, 1, 1, 0, 20, 25, 2, 2, 1, 3, 20, 129, 800, 1872, 672, 480, 614, 800, 751, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 3, 50 1019, SpikyMushroom, Spiky Mushroom, 30, 300, 0, 0, 4, 1, 10, 13, 0, 5, 1, 1, 1, 0, 10, 10, 1, 1, 1, 3, 20, 129, 800, 1872, 672, 480, 567, 800, 501, 150, 518, 50, 613, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 3, 40 @@ -69,4 +69,4 @@ 1069, Scythe, Scythe, 40, 3000, 0, 0, 500, 1, 200, 350, 30, 10, 100, 250, 1, 1, 150, 90, 1, 50, 1, 0, 40, 133, 220, 700, 672, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 1070, BallLightning, Ball Lightning, 40, 50, 0, 0, 10, 1, 5, 10, 40, 65, 1, 200, 1, 1, 1, 1, 1, 50, 1, 0, 47, 133, 110, 1500, 672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 1071, IceElement, Ice Element, 20, 1000, 0, 0, 200, 2, 60, 60, 0, 20, 15, 25, 15, 15, 20, 50, 1, 1, 1, 0, 41, 135, 330, 740, 672, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 20 -1072, Yeti, Yeti, 35, 3000, 0, 0, 300, 2, 50, 150, 40, 0, 70, 5, 20, 15, 5, 15, 1, 1, 1, 0, 61, 135, 400, 1500, 672, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 +1072, Yeti, Yeti, 35, 3000, 0, 0, 300, 2, 50, 150, 40, 0, 70, 5, 20, 15, 5, 15, 1, 1, 1, 0, 61, 135, 400, 1500, 672, 900, 4021, 800, 4021, 800, 4021, 800, 4021, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 diff --git a/npc/014-1_Woodland/_import.txt b/npc/014-1_Woodland/_import.txt index 25cc56c3..3c67f38f 100644 --- a/npc/014-1_Woodland/_import.txt +++ b/npc/014-1_Woodland/_import.txt @@ -1,5 +1,5 @@ map: 014-1.gat npc: npc/014-1_Woodland/_mobs.txt npc: npc/014-1_Woodland/_warps.txt -npc: npc/014-1_Woodland/wedding-officiator.txt npc: npc/014-1_Woodland/taro.txt +npc: npc/014-1_Woodland/wedding-officiator.txt diff --git a/npc/020-1_Nivalis/KrickKrackKrock.txt b/npc/020-1_Nivalis/KrickKrackKrock.txt index 2feb1d15..722847cd 100755 --- a/npc/020-1_Nivalis/KrickKrackKrock.txt +++ b/npc/020-1_Nivalis/KrickKrackKrock.txt @@ -17,7 +17,7 @@ L_Main: mes @NPC_NAME$; mes "\"Hello " + strcharinfo(0) + ", do you want to play Krick-Krack-Krock?\""; L_Menu: - menu + menu "Let's start!", L_Start, "What's this?", L_info, "Well, not for the moment.", -; @@ -68,13 +68,13 @@ L_Item: getinventorylist; if (@inventorylist_count == 100) goto L_Full_Inv; -if( @BET > 50) getitem @ITEM_RAND[rand(1)], 1; -if( @BET > 200) getitem @ITEM_RAND[1 + rand(1)], 1; -if( @BET > 500) getitem @ITEM_RAND[2 + rand(1)], 1; -if( @BET > 1000) getitem @ITEM_RAND[3 + rand(1)], 1; -if( @BET > 1200) getitem @ITEM_RAND[4 + rand(1)], 1; -if( @BET > 1500) getitem @ITEM_RAND[5 + rand(1)], 1; -if( @BET == 2000) getitem @ITEM_RAND[6 + rand(1)], 1; + if( @BET > 50) getitem @ITEM_RAND[rand(1)], 1; + if( @BET > 200) getitem @ITEM_RAND[1 + rand(1)], 1; + if( @BET > 500) getitem @ITEM_RAND[2 + rand(1)], 1; + if( @BET > 1000) getitem @ITEM_RAND[3 + rand(1)], 1; + if( @BET > 1200) getitem @ITEM_RAND[4 + rand(1)], 1; + if( @BET > 1500) getitem @ITEM_RAND[5 + rand(1)], 1; + if( @BET == 2000) getitem @ITEM_RAND[6 + rand(1)], 1; mes @NPC_NAME$; mes "\"Here it is !\""; close; @@ -82,8 +82,8 @@ if( @BET == 2000) getitem @ITEM_RAND[6 + rand(1)], 1; L_Health_item: // health item getinventorylist; - if (@inventorylist_count == 100) goto L_Full_Inv - + if (@inventorylist_count == 100) goto L_Full_Inv; + if( @BET > 50) getitem @ITEM_HEALTH[rand(1)], 1; if( @BET > 200) getitem @ITEM_HEALTH[ 1 +rand(1)], 1 + rand(1); if( @BET > 500) getitem @ITEM_HEALTH[2 + rand(1)], 1 + rand(3); diff --git a/npc/020-2_Nivalis/baktar.txt b/npc/020-2_Nivalis/baktar.txt index b29b4be1..f62c9bb8 100755 --- a/npc/020-2_Nivalis/baktar.txt +++ b/npc/020-2_Nivalis/baktar.txt @@ -6,7 +6,6 @@ //# //# In the first stage you need to bring 7 different items, but only one of each kind. //# -//# //# In the second stage he tells you what hard life he is living. He will be very aggressive telling you some stuff. //# He will send you to kill Scroticular. That npc will be located in the labyrinth caves. //# (its a mob actually, to be spawned only, if the players knows his name and his location) @@ -48,8 +47,8 @@ set @Q_status2_bits, ((QUEST_Nivalis_state) & @Q_MASK2_BITS) >> @Q_SHIFT2_BITS; // if all bits are set, you brought him everything! Now we continue in Phase 2 of this npc. - mes @Q_status; - if(@Q_status == @Q_MASK) goto L_2_init; + // this is not ready yet, so do not enable that stage + // if(@Q_status == @Q_MASK) goto L_2_init; set @BIT_KNOWHIM, 0; diff --git a/npc/031-3/_mobs.txt b/npc/031-3/_mobs.txt index 356b167c..a724d985 100644 --- a/npc/031-3/_mobs.txt +++ b/npc/031-3/_mobs.txt @@ -24,6 +24,12 @@ 031-3.gat,285,216,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 031-3.gat,128,272,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 031-3.gat,212,279,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 +031-3.gat,141,229,40,9 monster yeti 1072,3,100000,30000,Mob031-3::On1072 +031-3.gat,34,288,10,13 monster yeti 1072,3,100000,30000,Mob031-3::On1072 +031-3.gat,25,166,10,13 monster yeti 1072,3,100000,30000,Mob031-3::On1072 +031-3.gat,132,160,10,13 monster yeti 1072,3,100000,30000,Mob031-3::On1072 +031-3.gat,228,37,10,13 monster yeti 1072,3,100000,30000,Mob031-3::On1072 +031-3.gat,44,73,33,11 monster yeti 1072,1,100000,30000,Mob031-3::On1072 031-3.gat,0,0,0 script Mob031-3 -1,{ @@ -47,5 +53,10 @@ On1061: callfunc "MobPoints"; break; +On1072: + set @mobID, 1072; + callfunc "MobPoints"; + break; + end; } diff --git a/npc/031-3/labyrinth.txt b/npc/031-3/labyrinth.txt index 9bcae434..e29cc4fb 100644 --- a/npc/031-3/labyrinth.txt +++ b/npc/031-3/labyrinth.txt @@ -9,7 +9,7 @@ //# This is a labyrinth, having lots of warps in there. //# These warps are activated on different days. //# For each way there are 2 warps: one way and its way back. -//# +//# //################################################################################# @@ -89,13 +89,13 @@ L_Clean: // First Warp 031-3.gat,142,301,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 18 ) end; - warp "031-3.gat", 97, 299; + warp "031-3.gat", 97, 298; end; } 031-3.gat,97,301,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 18 ) end; - warp "031-3.gat", 142, 299; + warp "031-3.gat", 142, 298; end; } @@ -144,13 +144,13 @@ L_Clean: // First Warp 031-3.gat,94,254,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 19 ) end; - warp "031-3.gat", 54, 252; + warp "031-3.gat", 54, 253; end; } 031-3.gat,54,250,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 19 ) end; - warp "031-3.gat", 94, 256; + warp "031-3.gat", 94, 257; end; } @@ -247,12 +247,12 @@ L_Clean: # // first warp 031-3.gat,34,25,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 21 ) end; - warp "031-3.gat", 281, 24; + warp "031-3.gat", 281, 25; end; } 031-3.gat,281,22,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 21 ) end; - warp "031-3.gat", 34, 27; + warp "031-3.gat", 34, 28; end; } // # second warp @@ -319,12 +319,12 @@ L_Clean: // # second warp 031-3.gat,232,93,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 23 ) end; - warp "031-3.gat", 200, 48; + warp "031-3.gat", 200, 47; end; } 031-3.gat,200,50,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 23 ) end; - warp "031-3.gat", 232, 95; + warp "031-3.gat", 232, 90; end; } @@ -332,11 +332,11 @@ L_Clean: # // 1 warp on dec 24 031-3.gat,120,81,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 24 ) end; - warp "031-3.gat", 46, 22; + warp "031-3.gat", 46, 27; end; } 031-3.gat,46,24,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 24 ) end; - warp "031-3.gat", 120, 80; + warp "031-3.gat", 120, 79; end; } diff --git a/tools/monster-killing-values.py b/tools/monster-killing-values.py index a2d7ec23..9578804e 100644 --- a/tools/monster-killing-values.py +++ b/tools/monster-killing-values.py @@ -37,8 +37,8 @@ def make_mobs(): if len(array)>6 and not line.startswith("#"): id=array[0] name=array[1] - #print name - #print array[29:44] + print name + print array[29:44] sellprize = 0 #hardcoded -.- fix it ! sellprize += getvalueof(int(array[29]))*int(array[30]) -- cgit v1.2.3-70-g09d2 From 48f60eedfa2087c58ca27b90599fc8cd7e102f84 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Thu, 16 Dec 2010 01:24:55 +0100 Subject: nivalis --- npc/027-1_Graveyard/_import.txt | 1 - npc/031-3/labyrinth.txt | 16 ------------ npc/xmas/2010/golbanez.txt | 56 ++++++++--------------------------------- npc/xmas/2010/santa.txt | 26 ++----------------- 4 files changed, 13 insertions(+), 86 deletions(-) mode change 100644 => 100755 npc/031-3/labyrinth.txt mode change 100644 => 100755 npc/xmas/2010/golbanez.txt mode change 100644 => 100755 npc/xmas/2010/santa.txt (limited to 'npc') diff --git a/npc/027-1_Graveyard/_import.txt b/npc/027-1_Graveyard/_import.txt index 4c8b65ab..6923d517 100644 --- a/npc/027-1_Graveyard/_import.txt +++ b/npc/027-1_Graveyard/_import.txt @@ -1,5 +1,4 @@ map: 027-1.gat npc: npc/027-1_Graveyard/_mobs.txt npc: npc/027-1_Graveyard/_warps.txt -npc: npc/027-1_Graveyard/golbenez.txt npc: npc/027-1_Graveyard/graves.txt diff --git a/npc/031-3/labyrinth.txt b/npc/031-3/labyrinth.txt old mode 100644 new mode 100755 index e29cc4fb..2e414ae4 --- a/npc/031-3/labyrinth.txt +++ b/npc/031-3/labyrinth.txt @@ -12,22 +12,6 @@ //# //################################################################################# - -// Debug Script - -031-3.gat,219,294,0 script Debug 144,{ - menu - "Test a specific date",-, - "Clean $Golbenez_Santa_Free",L_Clean; - mes "Which date you want to test?"; - input $Golbenez_Santa_Free; - close; - -L_Clean: - set $Golbenez_Santa_Free, 0; - close; -} - // 16/12 - 1 warp 031-3.gat,205,264,0 script #ChristmasBarrier 127,1,1,{ if ($Golbenez_Santa_Free < 16 ) end; diff --git a/npc/xmas/2010/golbanez.txt b/npc/xmas/2010/golbanez.txt old mode 100644 new mode 100755 index 5ee9999d..3c14a2e1 --- a/npc/xmas/2010/golbanez.txt +++ b/npc/xmas/2010/golbanez.txt @@ -11,39 +11,6 @@ //# if the players bring Golbanez stuff, santa will donate some other stuff to the players. //# //################################################################################# -019-1.gat,96,41,0 script Golbenez-Debug 204,{ - - mes "What you want to do?"; - menu - "Change $Golbenez_Santa_Free(Date of the Month)",-, - "Change Golbenez_Inn_Cost(Your Donations)",_cost, - "Clean all variables.",_clean, - "Nothing",_end; - - mes "Old Value: " + $Golbenez_Santa_Free; - input $Golbenez_Santa_Free; - mes "New Value: " + $Golbenez_Santa_Free; - close; - -_cost: - mes "Old Value: " + Golbenez_Inn_Cost; - input Golbenez_Inn_Cost; - mes "New Value: " + Golbenez_Inn_Cost; - close; - -_clean: - mes "Golbenez_Inn_Cost Old Value: " + Golbenez_Inn_Cost; - set Golbenez_Inn_Cost, 0; - mes "Golbenez_Inn_Cost New Value: " + Golbenez_Inn_Cost; - mes "$Golbenez_Santa_Free Old Value: " + $Golbenez_Santa_Free; - set $Golbenez_Santa_Free, 0; - mes "$Golbenez_Santa_Free New Value: " + $Golbenez_Santa_Free; - close; - -_end: - close; - -} 019-1.gat,93,41,0 script #Golbenez#_M 204,{ set $Golbenez_Santa_Free, gettime(5); @@ -67,10 +34,11 @@ _end: next; mes "\"Uhm well, then you should get away!\""; next; - mes "\"So far, you have brought stuff and money in a total value of " + Golbenez_Inn_Cost + " gold pieces. The people of your world have brought me " + $Golbenez_Inn_Cost + " gold pieces. What do you like to give?\""; + mes "\"What do you like to give?\""; menu "I'd like to spend some money.", Glb_money, + "I'd like to give some yellow presents.", -, "I'd like to give some blue presents.", -, "I'd like to give some green presents.", -, "I'd like to give some pink presents.", -, @@ -79,8 +47,8 @@ _end: "Nevermind.", Glb_nvm; // in this array the items should be filled in - setarray @menuitem[2], 516, 538, 515; - setarray @menuvalue[2], 2000, 5000, 1000; + setarray @menuitem[2], 4021, 516, 538, 515; + setarray @menuvalue[2], 100000, 20000, 50000, 10000; mes "\"How many presents do you want to give?\""; @@ -103,16 +71,16 @@ Glb_money: Glb_checkGlAn: // if the @Give amount is below 30% of the players money, just let him pay - if( @Give<10000 || ( 100 * @Give / zeny )<30 ) goto Golbenez_pay; + if( @Give<100000 || ( 100 * @Give / zeny )<30 ) goto Golbenez_pay; set @glob_an$ , "Golbenez: " + strcharinfo(0) + " accounted to free santa"; // depending on the absolute amount setup another global announcement. - if( @Give >1000000 ) goto Golbenez_an_5; - if( @Give > 500000 ) goto Golbenez_an_4; - if( @Give > 100000 ) goto Golbenez_an_3; - if( @Give > 72000 ) goto Golbenez_an_2; - if( @Give > 35500 ) goto Golbenez_an_1; + if( @Give >10000000 ) goto Golbenez_an_5; + if( @Give > 5000000 ) goto Golbenez_an_4; + if( @Give > 1000000 ) goto Golbenez_an_3; + if( @Give > 720000 ) goto Golbenez_an_2; + if( @Give > 355000 ) goto Golbenez_an_1; goto Golbenez_an; @@ -163,9 +131,7 @@ Glb_nvm: Glb_whypresents: mes "[Golbenez]"; - mes "\"The presents contain some sort of spiritual attachment that aids in the creation of dimensional connections to this plane of existence. The green ones contain the stronger spiritual attachment, followed by the blue and then pink present boxes.\""; - next; - mes "\"Im willing to consider a conversion of each Present Box donated to an amount in Gold Pieces. So, a Green Present is equivalent to 5000 Gold Pieces, a Blue Present, 2000 Gold Pieces and a Pink Present, 1000 Gold Pieces.\""; + mes "\"The presents contain some sort of spiritual attachment that aids in the creation of dimensional connections to this plane of existence. The green ones contain the stronger spiritual attachment, followed by the blue and then pink present boxes. But the yellow ones, they have amazing spiritual attachment.\""; close; Glb_otheritems: diff --git a/npc/xmas/2010/santa.txt b/npc/xmas/2010/santa.txt old mode 100644 new mode 100755 index 4b95a142..5e93a6d5 --- a/npc/xmas/2010/santa.txt +++ b/npc/xmas/2010/santa.txt @@ -12,28 +12,6 @@ //# //################################################################################# -031-3.gat,122,55,0 script Debug 105,{ - - mes "What do you want to do?"; - - menu - "Change Golbenez_Inn_Cost.",-, - "Change Xmas2010.",_xmas, - "Nothing.",_end; - - mes "Old Value: " + Golbenez_Inn_Cost; - input Golbenez_Inn_Cost; - mes "New Value: " + Golbenez_Inn_Cost; - close; -_xmas: - mes "Old Value: " + Xmas2010; - input Xmas2010; - mes "New Value: " + Xmas2010; - close; -_end: - close; -} - 031-3.gat,122,51,0 script Santa 105,{ if (Sex) set @honorific$, "young hero"; @@ -68,8 +46,8 @@ L_Skip_Dialogue: L_Calculate_Prizes: getinventorylist; if (@inventorylist_count == 100) goto L_full; - if (Golbenez_Inn_Cost >= 500000 && Golbenez_Inn_Cost < 1000000) goto L_Elfhat_Prize; - if (Golbenez_Inn_Cost >= 50000 && Golbenez_Inn_Cost < 500000) goto L_Stocking_Prize; + if (Golbenez_Inn_Cost >= 5000000) goto L_Elfhat_Prize; + if (Golbenez_Inn_Cost >= 500000 && Golbenez_Inn_Cost < 5000000) goto L_Stocking_Prize; setarray @prizes[1], 1206, 1216, 629, 630, 634, 1214, 633, 628, 627, 621; setarray @prizesnames$[1], "Santa Beard Hat", "Mouboo Head", "Mush Hat", "Shroom Hat", "Face Mask", "Bunny Ears", "Christmas Elf Hat", "Funky Hat", "Top Hat", "Eyepatch"; mes "\"You are so generous! I believe I can give you one of the hats from this bag. I know you like these silly hats. Yes, Santa knows this kind of thing... Ho-Ho-Ho! Which one would you like to get?\""; -- cgit v1.2.3-70-g09d2 From 3e8ffc076157ebc3cb5e325fba8f387171abc4b8 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Thu, 16 Dec 2010 01:39:13 +0100 Subject: golbanez fix --- npc/xmas/2010/golbanez.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'npc') diff --git a/npc/xmas/2010/golbanez.txt b/npc/xmas/2010/golbanez.txt index 3c14a2e1..665f1b2e 100755 --- a/npc/xmas/2010/golbanez.txt +++ b/npc/xmas/2010/golbanez.txt @@ -57,6 +57,7 @@ if (countitem(@menuitem[@menu]) < @count ) goto Glb_noitems; delitem @menuitem[@menu], @count; set @Give, (@count * @menuvalue[@menu]); + mes ""+@Give+""; set @Gave_Presents, 1; goto Glb_checkGlAn; @@ -69,9 +70,10 @@ Glb_money: if (zeny < @Give) goto Glb_Inn_NotEnoughZeny; Glb_checkGlAn: - + // if a player gave boxes, at least 20 yellows are needed, or lots of others. + if(@Gave_Presents == 1 && @Give<2000000 )goto Golbenez_pay; // if the @Give amount is below 30% of the players money, just let him pay - if( @Give<100000 || ( 100 * @Give / zeny )<30 ) goto Golbenez_pay; + if( @Give<100000 || ( 100 * @Give / (zeny+1) )<30 ) goto Golbenez_pay; set @glob_an$ , "Golbenez: " + strcharinfo(0) + " accounted to free santa"; -- cgit v1.2.3-70-g09d2 From bf2fb07125cb29e8a5d50ba07557ac6923559014 Mon Sep 17 00:00:00 2001 From: Wombat Date: Thu, 16 Dec 2010 13:46:30 -0500 Subject: minor fix to orum.txt close instead of next on orum.txt to fix a bug --- npc/009-4/orum.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'npc') diff --git a/npc/009-4/orum.txt b/npc/009-4/orum.txt index 63ff702e..927fc939 100644 --- a/npc/009-4/orum.txt +++ b/npc/009-4/orum.txt @@ -647,5 +647,5 @@ L_Ready_Cavern: L_Got_Reward: mes "\"You've done enough here to help. I will go the rest of the way alone so that your life is not endangered..\""; - next; + close; } -- cgit v1.2.3-70-g09d2 From b8bf1ed5feb92dfb4498cdd91f73833f096c1e05 Mon Sep 17 00:00:00 2001 From: Wombat Date: Thu, 16 Dec 2010 15:46:40 -0500 Subject: Warp Changes to get between Hurnscald and Nivalis, Orum Quest on stand-by Diryn offers warp to Nivalis, Frozenbeard to Hurnscald, Taro edited out Warp changes also to prevent players from interacting with Orum Quest until the quest is finished. --- npc/008-1_Hurnscald_outskirts/diryn.txt | 39 ++++++++++++++++++++------------- npc/009-4/_warps.txt | 2 +- npc/014-1_Woodland/taro.txt | 2 +- npc/019-1_Snow_field/taro.txt | 2 +- npc/031-1_NivalisPort/_import.txt | 1 + npc/031-1_NivalisPort/frozenbeard.txt | 29 ++++++++++++++++++++++++ npc/functions/ferry.txt | 10 ++++----- 7 files changed, 62 insertions(+), 23 deletions(-) create mode 100644 npc/031-1_NivalisPort/frozenbeard.txt (limited to 'npc') diff --git a/npc/008-1_Hurnscald_outskirts/diryn.txt b/npc/008-1_Hurnscald_outskirts/diryn.txt index 6cd7f2aa..64d75676 100644 --- a/npc/008-1_Hurnscald_outskirts/diryn.txt +++ b/npc/008-1_Hurnscald_outskirts/diryn.txt @@ -14,54 +14,63 @@ L_Diryn_Yes: mes "[Diryn]"; mes "\"Excellent. I can send you to many places, but again, the fees are large. Where shall I send you?\""; menu - "Druid Tree (3000 GP)", L_Diryn_Druid_Tree, - "Graveyard (3000 GP)", L_Diryn_Graveyard, - "Magic House (2000 GP)", L_Diryn_Magic_House, - "Terranite Cave (3000 GP)", L_Diryn_Terranite, - "Tulimshar Town Square (2000 GP)", L_Diryn_Tulimshar, + "Druid Tree (1500 GP)", L_Diryn_Druid_Tree, + "Graveyard (1500 GP)", L_Diryn_Graveyard, + "Magic House (1000 GP)", L_Diryn_Magic_House, + "Terranite Cave (1500 GP)", L_Diryn_Terranite, + "Tulimshar Town Square (1000 GP)", L_Diryn_Tulimshar, + "Nivalis (1000 GP)", L_Diryn_Nivalis, "Not Interested", L_Diryn_No; close; L_Diryn_Druid_Tree: - if (zeny < 3000) goto L_NoMoney; + if (zeny < 1500) goto L_NoMoney; mes "[Diryn]"; mes "\"Be fearless!\""; - set zeny, zeny-3000; + set zeny, zeny-1500; warp "005-1.gat",73,36; close; L_Diryn_Graveyard: - if (zeny < 3000) goto L_NoMoney; + if (zeny < 1500) goto L_NoMoney; mes "[Diryn]"; mes "\"Be fearless!\""; - set zeny, zeny-3000; + set zeny, zeny-1500; warp "027-1.gat",70,85; close; L_Diryn_Magic_House: - if (zeny < 2000) goto L_NoMoney; + if (zeny < 1000) goto L_NoMoney; mes "[Diryn]"; mes "\"Be fearless!\""; - set zeny, zeny-2000; + set zeny, zeny-1000; warp "013-1.gat",45,92; close; L_Diryn_Terranite: - if (zeny < 3000) goto L_NoMoney; + if (zeny < 1500) goto L_NoMoney; mes "[Diryn]"; mes "\"Be fearless!\""; - set zeny, zeny-3000; + set zeny, zeny-1500; warp "012-3.gat",445,65; close; L_Diryn_Tulimshar: - if (zeny < 2000) goto L_NoMoney; + if (zeny < 1000) goto L_NoMoney; mes "[Diryn]"; mes "\"Be fearless!\""; - set zeny, zeny-2000; + set zeny, zeny-1000; warp "001-1.gat",44,70; close; +L_Diryn_Nivalis: + if (zeny < 1000) goto L_NoMoney; + mes "[Diryn]"; + mes "\"Be fearless!\""; + set zeny, zeny-1000; + warp "020-1.gat",71,100; + close; + L_Diryn_No: mes "[Diryn]"; mes "\"Perhaps some day you will have the courage to help us. Enjoy your stay here in Hurnscald.\""; diff --git a/npc/009-4/_warps.txt b/npc/009-4/_warps.txt index f7c99ff0..9666a081 100644 --- a/npc/009-4/_warps.txt +++ b/npc/009-4/_warps.txt @@ -11,7 +11,7 @@ 009-4.gat,103,22 warp to Lair -1,-1,009-4.gat,51,46 009-4.gat,103,76 warp to Lair -1,-1,009-4.gat,51,46 -009-3.gat,162,113,0 script #OrumQuestEnter 0,0,0,{ +//009-3.gat,162,113,0 script #OrumQuestEnter 0,0,0,{ if (OrumQuest >= 12) goto L_Second_Entrance; warp "009-4.gat", 37, 113; close; diff --git a/npc/014-1_Woodland/taro.txt b/npc/014-1_Woodland/taro.txt index 3ec76163..d2f1091e 100644 --- a/npc/014-1_Woodland/taro.txt +++ b/npc/014-1_Woodland/taro.txt @@ -1,7 +1,7 @@ // Woodland Taro -014-1.gat,54,43,0 script Taro 114,{ +//014-1.gat,54,43,0 script Taro 114,{ if (getequipid(equip_head) == 511 || getequipid(equip_head) == 1206) goto L_Santa; if (getequipid(equip_head) == 633) goto L_Elf; if (getequipid(equip_head) == 628) goto L_NearElf; diff --git a/npc/019-1_Snow_field/taro.txt b/npc/019-1_Snow_field/taro.txt index 3d1b4b03..f57e75e9 100644 --- a/npc/019-1_Snow_field/taro.txt +++ b/npc/019-1_Snow_field/taro.txt @@ -1,6 +1,6 @@ // Snow Taro -019-1.gat,57,61,0 script Taro 114,{ +//019-1.gat,57,61,0 script Taro 114,{ if (getequipid(equip_head) == 511 || getequipid(equip_head) == 1206) goto L_Santa; if (getequipid(equip_head) == 633) goto L_Elf; if (getequipid(equip_head) == 628) goto L_NearElf; diff --git a/npc/031-1_NivalisPort/_import.txt b/npc/031-1_NivalisPort/_import.txt index d256e273..09d29af7 100644 --- a/npc/031-1_NivalisPort/_import.txt +++ b/npc/031-1_NivalisPort/_import.txt @@ -1,3 +1,4 @@ map: 031-1.gat npc: npc/031-1_NivalisPort/_mobs.txt npc: npc/031-1_NivalisPort/_warps.txt +npc: npc/031-1_NivalisPort/frozenbeard.txt diff --git a/npc/031-1_NivalisPort/frozenbeard.txt b/npc/031-1_NivalisPort/frozenbeard.txt new file mode 100644 index 00000000..9be863b0 --- /dev/null +++ b/npc/031-1_NivalisPort/frozenbeard.txt @@ -0,0 +1,29 @@ +// + +031-1.gat,97,115,0 script Frozenbeard 138,{ + + mes "[Frozenbeard]"; + mes "\"Arrr mate! There is no dock here, so I had to use my row boat! I am pioneering and mapping the trade route between here and Argaes, around the Hurnscald area. I'll hail my shipmates to send a boat and we'll ship out to Argaes, be there in no time, but it will cost you a fee. 500 gold pieces. What do you say?"; + menu + "Sure. (500 GP)", L_Frozenbeard_Argaes, + "Not right now.", L_Frozenbeard_Stay; + close; + +L_Frozenbeard_Argaes: + if (zeny < 500) goto L_NoMoney; + mes "[Frozenbeard]"; + mes "\"Pleasant Journeys!\""; + set zeny, zeny-500; + warp "008-1.gat",137,64; + close; + +L_Frozenbeard_Stay: + mes "[Frozenbeard]"; + mes "\"Suit yourself. Feel free to come out here anytime, I am really busy making sure these routes are accurate.\""; + close; + +L_NoMoney: + mes "[Frozenbeard]"; + mes "\"You need more money. I'll wait here while you get some.\""; + close; +} diff --git a/npc/functions/ferry.txt b/npc/functions/ferry.txt index b9c0e320..95a176ec 100644 --- a/npc/functions/ferry.txt +++ b/npc/functions/ferry.txt @@ -2,11 +2,11 @@ function script Ferry { if (BaseLevel < 20) goto L_LowerCost; - set @cost_tulimshar, 1000; - set @cost_hurnscald, 1000; + set @cost_tulimshar, 500; + set @cost_hurnscald, 500; L_Start: - set @cost_candor, 3000; + set @cost_candor, 1500; mes "Where would you like to go?"; next; if (BaseLevel < 40) goto L_PlainMenu; @@ -67,7 +67,7 @@ L_NotEnoughGP: close; L_LowerCost: - set @cost_tulimshar, 500; - set @cost_hurnscald, 500; + set @cost_tulimshar, 250; + set @cost_hurnscald, 250; goto L_Start; } -- cgit v1.2.3-70-g09d2 From 9a1500fe53f61513fcc343180717ca79ed62e2e8 Mon Sep 17 00:00:00 2001 From: Jessica Tölke Date: Fri, 17 Dec 2010 10:43:16 +0100 Subject: fixed a line in reward calculation --- npc/xmas/2010/santa.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'npc') diff --git a/npc/xmas/2010/santa.txt b/npc/xmas/2010/santa.txt index 5e93a6d5..2b2870c1 100755 --- a/npc/xmas/2010/santa.txt +++ b/npc/xmas/2010/santa.txt @@ -47,7 +47,7 @@ L_Calculate_Prizes: getinventorylist; if (@inventorylist_count == 100) goto L_full; if (Golbenez_Inn_Cost >= 5000000) goto L_Elfhat_Prize; - if (Golbenez_Inn_Cost >= 500000 && Golbenez_Inn_Cost < 5000000) goto L_Stocking_Prize; + if (Golbenez_Inn_Cost < 500000) goto L_Stocking_Prize; setarray @prizes[1], 1206, 1216, 629, 630, 634, 1214, 633, 628, 627, 621; setarray @prizesnames$[1], "Santa Beard Hat", "Mouboo Head", "Mush Hat", "Shroom Hat", "Face Mask", "Bunny Ears", "Christmas Elf Hat", "Funky Hat", "Top Hat", "Eyepatch"; mes "\"You are so generous! I believe I can give you one of the hats from this bag. I know you like these silly hats. Yes, Santa knows this kind of thing... Ho-Ho-Ho! Which one would you like to get?\""; -- cgit v1.2.3-70-g09d2 From 9f9111a37265457ef2f4ff2772fd0f2e04c463b0 Mon Sep 17 00:00:00 2001 From: Jessica Tölke Date: Fri, 17 Dec 2010 14:35:27 +0100 Subject: removed a line in golbanez, which tells you the worth of your present we don't want to ruin the surprise, do we? --- npc/xmas/2010/golbanez.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'npc') diff --git a/npc/xmas/2010/golbanez.txt b/npc/xmas/2010/golbanez.txt index 665f1b2e..0c308ef4 100755 --- a/npc/xmas/2010/golbanez.txt +++ b/npc/xmas/2010/golbanez.txt @@ -57,7 +57,7 @@ if (countitem(@menuitem[@menu]) < @count ) goto Glb_noitems; delitem @menuitem[@menu], @count; set @Give, (@count * @menuvalue[@menu]); - mes ""+@Give+""; + //mes ""+@Give+""; set @Gave_Presents, 1; goto Glb_checkGlAn; -- cgit v1.2.3-70-g09d2 From 40b1a6cfd052e322e69565518df6723478b885ea Mon Sep 17 00:00:00 2001 From: Wombat Date: Fri, 17 Dec 2010 16:33:48 -0500 Subject: edit out NPCs that need fixing and added some fixes edited out krickkrackrock, rockscissor, baktar golbenez and santa language clean up and small fixes. --- npc/020-1_Nivalis/KrickKrackKrock.txt | 2 +- npc/020-1_Nivalis/rockscissor.txt | 2 +- npc/020-2_Nivalis/baktar.txt | 2 +- npc/xmas/2010/golbanez.txt | 16 ++++++++-------- npc/xmas/2010/santa.txt | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) (limited to 'npc') diff --git a/npc/020-1_Nivalis/KrickKrackKrock.txt b/npc/020-1_Nivalis/KrickKrackKrock.txt index 722847cd..b3cc3dd8 100755 --- a/npc/020-1_Nivalis/KrickKrackKrock.txt +++ b/npc/020-1_Nivalis/KrickKrackKrock.txt @@ -1,6 +1,6 @@ // author: Lien // reviewed by Pjotr Orial and Jenalya -020-1.gat,82,82,0 script Criker 192, { +//020-1.gat,82,82,0 script Criker 192, { L_Main: //Var diff --git a/npc/020-1_Nivalis/rockscissor.txt b/npc/020-1_Nivalis/rockscissor.txt index 0f5c20c9..d4a9d6f6 100755 --- a/npc/020-1_Nivalis/rockscissor.txt +++ b/npc/020-1_Nivalis/rockscissor.txt @@ -9,7 +9,7 @@ // ------------------------ # //##################################### -020-1.gat,74,78,0 script Gobmel 189, { +//020-1.gat,74,78,0 script Gobmel 189, { //var set @NPC_name$, "[Gobmel]"; set @NPC_point, 0; diff --git a/npc/020-2_Nivalis/baktar.txt b/npc/020-2_Nivalis/baktar.txt index f62c9bb8..644afddc 100755 --- a/npc/020-2_Nivalis/baktar.txt +++ b/npc/020-2_Nivalis/baktar.txt @@ -31,7 +31,7 @@ //# bit 0 knows the name/location of the opponent //# bit 1 killed the ugly opponent //#========================= -020-2.gat,70,61,0 script Baktar 191,{ +//020-2.gat,70,61,0 script Baktar 191,{ set @npcname$, "[Baktar]"; set @Q_MASK, BYTE_0_MASK; diff --git a/npc/xmas/2010/golbanez.txt b/npc/xmas/2010/golbanez.txt index 0c308ef4..e3c4d488 100755 --- a/npc/xmas/2010/golbanez.txt +++ b/npc/xmas/2010/golbanez.txt @@ -22,15 +22,15 @@ mes "[Golbenez]"; mes "\"Mortal! I am Golbenez! I have broken through the barriers of space and time!\""; next; - mes "\"Well to let you know, I am taking Santa Claus and rudolph and the fellow rendiers as hostages.\""; + mes "\"Well to let you know, I have taken Santa Claus, Rudolph and his fellow raindeer hostage.\""; next; - mes "\"This sounds hard to you maybe... But I need lots of stuff for building the way to the leisure place."; + mes "\"This may sound hard to you ... But I need lots of stuff for building the way to place of leisure."; next; - mes "\"So if you want to have donations at christmas... we should make a deal: Bring me money or presents."; + mes "\"So if you want to have donations at Christmas... we should make a deal: Bring me money or presents."; next; - mes "\"Maybe I will release Santa Claus and the rendiers then.\""; + mes "\"Maybe I will release Santa Claus and the raindeer then.\""; next; - mes "\"Do you really expect a promise to let him free on christmas?\""; + mes "\"But do you really expect a promise to let him free on Christmas?\""; next; mes "\"Uhm well, then you should get away!\""; next; @@ -41,7 +41,7 @@ "I'd like to give some yellow presents.", -, "I'd like to give some blue presents.", -, "I'd like to give some green presents.", -, - "I'd like to give some pink presents.", -, + "I'd like to give some purple presents.", -, "Why do you want present boxes?",Glb_whypresents, "Can I bring other items?", Glb_otheritems, "Nevermind.", Glb_nvm; @@ -133,7 +133,7 @@ Glb_nvm: Glb_whypresents: mes "[Golbenez]"; - mes "\"The presents contain some sort of spiritual attachment that aids in the creation of dimensional connections to this plane of existence. The green ones contain the stronger spiritual attachment, followed by the blue and then pink present boxes. But the yellow ones, they have amazing spiritual attachment.\""; + mes "\"The presents contain some sort of spiritual attachment that aids in the creation of dimensional connections to this plane of existence. The green ones contain the stronger spiritual attachment, followed by the blue and then purple present boxes. But the yellow ones, they have amazing spiritual attachment.\""; close; Glb_otheritems: @@ -151,7 +151,7 @@ Glb_Inn_Enough: next; mes "\"I have collected enough for now.\""; next; - mes "\"This helps me working on the leisure place.\""; + mes "\"This helps me finish the place of leisure.\""; next; mes "\"Although I did not promise I let Santa be free again!\""; next; diff --git a/npc/xmas/2010/santa.txt b/npc/xmas/2010/santa.txt index 2b2870c1..85f46da1 100755 --- a/npc/xmas/2010/santa.txt +++ b/npc/xmas/2010/santa.txt @@ -34,7 +34,7 @@ L_start: "Im " + strcharinfo(0) + " and I am here to save you from Golbenez.",-; mes "\"I cant believe it... are you really " +strcharinfo(0)+ "? I remember all the comments that... 'Thing' was making about building his way to a 'Leisure Place' and how your donations would really help him.\""; next; - mes "\"What is his name again? Erh... Golbinos? Galvanis? Ho-hum... All I know is that it was keeping me and my fellow rendiers as hostages in this cold labyrinth. And you proved yourself a good " +@gender$+ " by helping me with all those donations!\""; + mes "\"What is his name again? Erh... Golbinos? Galvanis? Ho-hum... All I know is that it was keeping me and my raindeer hostage in this cold labyrinth. And you proved yourself a good " +@gender$+ " by helping me with all those donations!\""; next; if (gettime(6) != 12 || gettime(5) >= 25) goto L_Skip_Dialogue; mes "\"Well, we are really late! In a few hours we have to start our usual present giving routine... But not before I give you a special gift for all you did.\""; -- cgit v1.2.3-70-g09d2 From a98312da918620151fd29eb0af73e9bc63b8b785 Mon Sep 17 00:00:00 2001 From: toni Date: Sat, 18 Dec 2010 20:25:19 -0200 Subject: Changes to xmas 2010. --- npc/031-3/_mobs.txt | 69 +++++++-- npc/031-3/labyrinth.txt | 346 +++++++++++++++++++++++++++++++++++---------- npc/xmas/2010/golbanez.txt | 242 +++++++++++++++++++++++++------ npc/xmas/2010/santa.txt | 69 +++------ 4 files changed, 541 insertions(+), 185 deletions(-) (limited to 'npc') diff --git a/npc/031-3/_mobs.txt b/npc/031-3/_mobs.txt index a724d985..eced7914 100644 --- a/npc/031-3/_mobs.txt +++ b/npc/031-3/_mobs.txt @@ -24,39 +24,88 @@ 031-3.gat,285,216,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 031-3.gat,128,272,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 031-3.gat,212,279,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 -031-3.gat,141,229,40,9 monster yeti 1072,3,100000,30000,Mob031-3::On1072 -031-3.gat,34,288,10,13 monster yeti 1072,3,100000,30000,Mob031-3::On1072 -031-3.gat,25,166,10,13 monster yeti 1072,3,100000,30000,Mob031-3::On1072 -031-3.gat,132,160,10,13 monster yeti 1072,3,100000,30000,Mob031-3::On1072 -031-3.gat,228,37,10,13 monster yeti 1072,3,100000,30000,Mob031-3::On1072 -031-3.gat,44,73,33,11 monster yeti 1072,1,100000,30000,Mob031-3::On1072 031-3.gat,0,0,0 script Mob031-3 -1,{ On1015: set @mobID, 1015; callfunc "MobPoints"; + goto Boxes1015; break; On1017: set @mobID, 1017; callfunc "MobPoints"; + goto Boxes1017; break; On1058: set @mobID, 1058; callfunc "MobPoints"; + goto Boxes1058; break; On1061: set @mobID, 1061; callfunc "MobPoints"; + goto Boxes1061; break; -On1072: - set @mobID, 1072; - callfunc "MobPoints"; - break; + end; + +Boxes1015: + set @yellow, rand(30); + set @white, rand(60); + if (@yellow == 1) goto L_GetYellow; + if (@white == 1) goto L_GetWhite; + return; + +Boxes1017: + set @yellow, rand(50); + set @white, rand(100); + if (@yellow == 1) goto L_GetYellow; + if (@white == 1) goto L_GetWhite; + return; + + +Boxes1058: + set @yellow, rand(50); + set @white, rand(100); + if (@yellow == 1) goto L_GetYellow; + if (@white == 1) goto L_GetWhite; + return; + + +Boxes1061: + set @yellow, rand(25); + set @white, rand(50); + if (@yellow == 1) goto L_GetYellow; + if (@white == 1) goto L_GetWhite; + return; +L_GetYellow: + if (Yellow >= 40) goto L_FinishYellow; + set Yellow, Yellow + 1; + if (Yellow == 10) message strcharinfo(0), "I still need 30 Yellow Boxes."; + if (Yellow == 30) message strcharinfo(0), "I need only 10 Yellow Boxes."; + getitem 3194, 1; end; + +L_GetWhite: + if (White >= 30) goto L_FinishWhite; + set White, White + 1; + if (White == 10) message strcharinfo(0), "I still need 20 White Boxes."; + if (White == 20) message strcharinfo(0), "I need only 10 White Boxes."; + getitem 3195, 1; + end; + +L_FinishYellow: + message strcharinfo(0), "I collected all the Yellow Boxes!"; + end; + +L_FinishWhite: + message strcharinfo(0), "I collected all the White Boxes!"; + end; + + } diff --git a/npc/031-3/labyrinth.txt b/npc/031-3/labyrinth.txt index 2e414ae4..54877bf9 100755 --- a/npc/031-3/labyrinth.txt +++ b/npc/031-3/labyrinth.txt @@ -9,318 +9,510 @@ //# This is a labyrinth, having lots of warps in there. //# These warps are activated on different days. //# For each way there are 2 warps: one way and its way back. -//# +//# //################################################################################# -// 16/12 - 1 warp +// If Donated > 500k < 1M - Maze=1 + 031-3.gat,205,264,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 16 ) end; + if (Maze < 1 ) goto L_Golbenez; warp "031-3.gat", 149, 261; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; } 031-3.gat,149,259,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 16 ) end; + if (Maze < 1 ) goto L_Golbenez; warp "031-3.gat", 205, 266; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; } -// 17/12 - 3 Warps - -// First Warp +// If Donated > 1M < 1.5M - Maze=2 031-3.gat,225,282,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 17 ) end; + if (Maze < 2) goto L_Golbenez; warp "031-3.gat", 274, 299; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; } 031-3.gat,274,300,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 17 ) end; + if (Maze < 2) goto L_Golbenez; warp "031-3.gat", 225, 283; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } // Second Warp 031-3.gat,283,271,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 17 ) end; + if (Maze < 2) goto L_Golbenez; warp "031-3.gat", 269, 244; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } 031-3.gat,269,245,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 17 ) end; + if (Maze < 2) goto L_Golbenez; warp "031-3.gat", 283, 272; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } // Third Warp 031-3.gat,139,258,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 17 ) end; + if (Maze < 2) goto L_Golbenez; warp "031-3.gat", 155, 196; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } 031-3.gat,155,195,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 17 ) end; + if (Maze < 2) goto L_Golbenez; warp "031-3.gat", 139, 259; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } -// 18/12 - 4 Warps +// If Donated > 1.5M < 2M - Maze=3 // First Warp 031-3.gat,142,301,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 18 ) end; - warp "031-3.gat", 97, 298; + if (Maze < 3) goto L_Golbenez; + warp "031-3.gat", 97, 299; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } 031-3.gat,97,301,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 18 ) end; - warp "031-3.gat", 142, 298; + if (Maze < 3) goto L_Golbenez; + warp "031-3.gat", 142, 299; + end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; end; + } // Second Warp 031-3.gat,135,196,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 18 ) end; + if (Maze < 3) goto L_Golbenez; warp "031-3.gat", 106, 231; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } 031-3.gat,106,232,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 18 ) end; + if (Maze < 3) goto L_Golbenez; warp "031-3.gat", 135, 197; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } // Third Warp 031-3.gat,286,190,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 18 ) end; + if (Maze < 3) goto L_Golbenez; warp "031-3.gat", 227, 241; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } 031-3.gat,227,242,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 18 ) end; + if (Maze < 3) goto L_Golbenez; warp "031-3.gat", 286, 191; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } // Fourth Warp 031-3.gat,236,211,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 18 ) end; + if (Maze < 3) goto L_Golbenez; warp "031-3.gat", 187, 227; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } 031-3.gat,187,228,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 18 ) end; + if (Maze < 3) goto L_Golbenez; warp "031-3.gat", 236, 212; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } -// 19/12 - 4 Warps +// If Donated > 2M < 2.5M - Maze=4 // First Warp 031-3.gat,94,254,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 19 ) end; - warp "031-3.gat", 54, 253; + if (Maze < 4) goto L_Golbenez; + warp "031-3.gat", 54, 252; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } 031-3.gat,54,250,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 19 ) end; - warp "031-3.gat", 94, 257; + if (Maze < 4) goto L_Golbenez; + warp "031-3.gat", 94, 256; + end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; end; + } // Second Warp 031-3.gat,103,199,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 19 ) end; + if (Maze < 4) goto L_Golbenez; warp "031-3.gat", 52, 175; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } 031-3.gat,52,177,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 19 ) end; + if (Maze < 4) goto L_Golbenez; warp "031-3.gat", 103, 201; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } // Third Warp 031-3.gat,212,193,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 19 ) end; + if (Maze < 4) goto L_Golbenez; warp "031-3.gat", 207, 165; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } 031-3.gat,207,168,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 19 ) end; + if (Maze < 4) goto L_Golbenez; warp "031-3.gat", 212, 195; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } // Fourth Warp 031-3.gat,235,167,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 19 ) end; + if (Maze < 4) goto L_Golbenez; warp "031-3.gat", 195, 124; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } 031-3.gat,195,122,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 19 ) end; + if (Maze < 4) goto L_Golbenez; warp "031-3.gat", 235, 165; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } -# // 4 warps on dec 20 -# // first warp +// If Donated > 2.5M < 3M - Maze=5 +// first warp + 031-3.gat,296,97,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 20 ) end; + if (Maze < 5) goto L_Golbenez; warp "031-3.gat", 292, 125; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } 031-3.gat,292,123,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 20 ) end; + if (Maze < 5) goto L_Golbenez; warp "031-3.gat", 296, 95; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } -# // second warp +// second warp 031-3.gat,289,164,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 20 ) end; + if (Maze < 5) goto L_Golbenez; warp "031-3.gat", 228, 123; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } 031-3.gat,228,121,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 20 ) end; + if (Maze < 5) goto L_Golbenez; warp "031-3.gat", 289, 162; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } -# // third warp +// third warp 031-3.gat,24,157,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 20 ) end; + if (Maze < 5) goto L_Golbenez; warp "031-3.gat", 31, 142; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } 031-3.gat,31,144,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 20 ) end; + if (Maze < 5) goto L_Golbenez; warp "031-3.gat", 24, 159; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } -# // forth warp +// forth warp 031-3.gat,36,249,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 20 ) end; + if (Maze < 5) goto L_Golbenez; warp "031-3.gat", 35, 224; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } + 031-3.gat,35,226,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 20 ) end; + if (Maze < 5) goto L_Golbenez; warp "031-3.gat", 36, 251; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } -# // 3 warps on dec 21 -# // first warp +// If Donated > 3M < 3.5M - Maze=6 +// first warp 031-3.gat,34,25,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 21 ) end; - warp "031-3.gat", 281, 25; + if (Maze < 6) goto L_Golbenez; + warp "031-3.gat", 281, 24; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(3000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } 031-3.gat,281,22,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 21 ) end; - warp "031-3.gat", 34, 28; + if (Maze < 6) goto L_Golbenez; + warp "031-3.gat", 34, 27; + end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(3000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; end; + } // # second warp 031-3.gat,283,48,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 21 ) end; + if (Maze < 6) goto L_Golbenez; warp "031-3.gat", 275, 74; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(3000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } 031-3.gat,275,73,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 21 ) end; + if (Maze < 6) goto L_Golbenez; warp "031-3.gat", 283, 47; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(3000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } // # third warp 031-3.gat,26,178,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 21 ) end; + if (Maze < 6) goto L_Golbenez; warp "031-3.gat", 36, 202; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(3000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } 031-3.gat,36,200,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 21 ) end; + if (Maze < 6) goto L_Golbenez; warp "031-3.gat", 26, 176; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(3000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } -# // 2 warps on dec 22 -# // first warp +// If Donated > 3.5M < 4M - Maze=7 +// first warp 031-3.gat,91,125,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 22 ) end; + if (Maze < 7) goto L_Golbenez; warp "031-3.gat", 36, 78; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(3500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } 031-3.gat,36,80,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 22 ) end; + if (Maze < 7) goto L_Golbenez; warp "031-3.gat", 91, 127; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(3500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } // # second warp 031-3.gat,52,78,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 22 ) end; + if (Maze < 7) goto L_Golbenez; warp "031-3.gat", 192, 72; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(3500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } + 031-3.gat,192,70,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 22 ) end; + if (Maze < 7) goto L_Golbenez; warp "031-3.gat", 52, 76; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(3500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } -# // 2 warps on dec 23 -# // first warp +// If Donated > 4M < 5M - Maze=8 +// first warp 031-3.gat,128,135,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 23 ) end; + if (Maze < 8) goto L_Golbenez; warp "031-3.gat", 148, 152; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(4000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } 031-3.gat,148,150,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 23 ) end; + if (Maze < 8) goto L_Golbenez; warp "031-3.gat", 128, 134; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(4000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + end; } // # second warp 031-3.gat,232,93,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 23 ) end; - warp "031-3.gat", 200, 47; + if (Maze < 8) goto L_Golbenez; + warp "031-3.gat", 200, 48; end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(4000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; + end; + } 031-3.gat,200,50,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 23 ) end; - warp "031-3.gat", 232, 90; + if (Maze < 8) goto L_Golbenez; + warp "031-3.gat", 232, 95; + end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(4000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; end; + } -# // 1 warp on dec 24 +// If Donated > 5M - Maze=9 - You have access to Santa + 031-3.gat,120,81,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 24 ) end; - warp "031-3.gat", 46, 27; + if (Maze < 9) goto L_Golbenez; + warp "031-3.gat", 46, 22; + end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you are getting close to your objective but you still need to give me " +(4000000-Golbenez_Inn_Cost)+ " Gold Pieces to be able to find Santa."; end; + } 031-3.gat,46,24,0 script #ChristmasBarrier 127,1,1,{ - if ($Golbenez_Santa_Free < 24 ) end; - warp "031-3.gat", 120, 79; + if (Maze < 9) goto L_Golbenez; + warp "031-3.gat", 120, 80; + end; +L_Golbenez: + message strcharinfo(0), "Golbenez: Mortal, you are getting close to your objective but you still need to give me " +(4000000-Golbenez_Inn_Cost)+ " Gold Pieces to be able to find Santa."; end; + } diff --git a/npc/xmas/2010/golbanez.txt b/npc/xmas/2010/golbanez.txt index e3c4d488..740a028b 100755 --- a/npc/xmas/2010/golbanez.txt +++ b/npc/xmas/2010/golbanez.txt @@ -7,91 +7,197 @@ //# reviewed by: //# //# This is Golbanez, he took Santa Claus as a hostage. -//# Santa will be freed on Dec24, so players need to pass a labyrinth -//# if the players bring Golbanez stuff, santa will donate some other stuff to the players. +//# Santa will be accessible only if players give what golbenez want. +//# if the player reach santa, he will donate some stuff to the players. //# //################################################################################# -019-1.gat,93,41,0 script #Golbenez#_M 204,{ - set $Golbenez_Santa_Free, gettime(5); +031-3.gat,215,294,0 script Debug 204,{ + + mes "What you want to do?"; + menu + "Change 'Maze'",-, + "Change Golbenez_Inn_Cost(Your Donations)",_cost, + "Change Xmas2010",_xmas, + "Clean all variables.",_clean, + "Nothing",_end; + + mes "Old Value: " + Maze; + input Maze; + mes "New Value: " + Maze; + close; + +_xmas: + mes "Old Value: " + Xmas2010; + input Xmas2010; + mes "New Value: " + Xmas2010; + close; + +_cost: + mes "Old Value: " + Golbenez_Inn_Cost; + input Golbenez_Inn_Cost; + mes "New Value: " + Golbenez_Inn_Cost; + close; + +_clean: + mes "Golbenez_Inn_Cost Old Value: " + Golbenez_Inn_Cost; + set Golbenez_Inn_Cost, 0; + mes "Golbenez_Inn_Cost New Value: " + Golbenez_Inn_Cost; + mes "Maze Old Value: " + Maze; + set Maze, 0; + mes "Maze New Value: " + Maze; + mes "Xmas2010 old value: " + Xmas2010; + set Xmas2010, 0; + mes "Xmas2010 New Value: " + Xmas2010; + mes "Yellow Old Value: " + Yellow; + set Silver, 0; + mes "Yellow New Value: " + Yellow; + mes "White Old Value: " + White; + set Golden, 0; + mes "White New Value: " + White; + mes "Count_White Old Value: " + Count_White; + set Count_White, 0; + mes "Count_White New Value: " + Count_White; + mes "Count_Yellow Old Value: " + Count_Yellow; + set Count_Yellow, 0; + mes "Count_Yellow New Value: " + Count_Yellow; + + + close; - if (gettime(7) > 2010) set $Golbenez_Santa_Free, 25; +_end: + close; + +} - if ($Golbenez_Santa_Free >= 24 || gettime(7) > 2010) goto Glb_Inn_Enough; +031-3.gat,215,296,0 script #Golbenez#_M 204,{ + + if (Golbenez_Inn_Cost >= 5000000) goto Glb_Inn_Enough; + if (Xmas2010 > 0) goto L_Intro; + if (BaseLevel < 40) goto L_Young; mes "[Golbenez]"; mes "\"Mortal! I am Golbenez! I have broken through the barriers of space and time!\""; next; - mes "\"Well to let you know, I have taken Santa Claus, Rudolph and his fellow raindeer hostage.\""; + mes "\"Well to let you know, I am taking Santa Claus and rudolph and the fellow rendiers as hostages.\""; + next; + mes "\"This sounds hard to you maybe... But I need lots of stuff to build the way to the leisure place."; + next; + mes "\"So if you want to have gifts at christmas... we should make a deal: Bring me money."; + next; + menu + "But I am broke!",L_Broke, + "Ok, but how much do you need?",-; + mes "[Golbenez]"; + mes "\"Not much. A few millions would do!\""; + next; + menu + "WHAT! But no one has so much money!",-, + "Ehh... I dont like Christmas anyway... Bye!",L_Close; + + mes "[Golbenez]"; + mes "\"Hey, you think I dont know about your inflation problems? Dont try to fool me, you must be filthy rich!\""; + next; + menu + "Ok, you got me. Im rich!",-, + "Im not rich! But is there any other way to help you?",-; + + mes "[Golbenez]"; + mes "\"Well... What I really want is money, but I can propose a different way to help Santa. When I took Santa as hostage he tried to resist and, in the process of submitting him by force, a lot of present boxes were dropped in the ground.\""; next; - mes "\"This may sound hard to you ... But I need lots of stuff for building the way to place of leisure."; + mes "\"I was intrigued by those boxes... They were Yellow and White. When I finally took control of the situation, I noticed that the monsters in the cave stole all the Boxes! Now, here is my idea: if you get ALL the boxes back to me, I can release santa.\""; next; - mes "\"So if you want to have donations at Christmas... we should make a deal: Bring me money or presents."; + mes "\"Im willing to consider a conversion of each Present Box donated to an amount in Gold Pieces. So, a Yellow Present is equivalent to 50.000 Gold Pieces and a White Present, 100.000 Gold Pieces. I am pretty sure he dropped 40 Yellow and 30 White boxes. So, if you bring me all of them, it would be equivalent to 5 million Gold Pieces, exactly what I was going to ask you.\""; next; - mes "\"Maybe I will release Santa Claus and the raindeer then.\""; + mes "\"But don't be a fool. You will find these presents only with the monsters in the Ice Cave where Santa is hidden.\""; next; - mes "\"But do you really expect a promise to let him free on Christmas?\""; + mes "\"So, bring me Money and/or Present Boxes and Santa can be released. Now, there is one more thing. Santa is in a very complicated Ice Cave in nivalis. I can control all the entrances in this cave. And I will only let you reach Santa after you pay me what I want.\""; next; - mes "\"Uhm well, then you should get away!\""; + mes "\"If you choose to find the present boxes, instead of paying in Gold Pieces, it is going to be easier for you if you bring them in small lots. Don't wait until you have everything. Remember: The more you give me, the closer you can get to santa.\""; next; - mes "\"What do you like to give?\""; + +L_Intro: + if (Xmas2010 == 0) set Xmas2010, 1; + mes "\"So far, you have brought presents and money in a total value of " + Golbenez_Inn_Cost + " gold pieces. The people of your world have brought me " + $Golbenez_Inn_Cost + " gold pieces. What would you like to give?\""; + +L_Menu: menu "I'd like to spend some money.", Glb_money, - "I'd like to give some yellow presents.", -, - "I'd like to give some blue presents.", -, - "I'd like to give some green presents.", -, - "I'd like to give some purple presents.", -, + "I'd like to give some Yellow presents.", -, + "I'd like to give some White presents.", -, "Why do you want present boxes?",Glb_whypresents, "Can I bring other items?", Glb_otheritems, "Nevermind.", Glb_nvm; - // in this array the items should be filled in - setarray @menuitem[2], 4021, 516, 538, 515; - setarray @menuvalue[2], 100000, 20000, 50000, 10000; + // in this array the items should be filled in. Remember to change the ID when the boxes are added to item_db. + setarray @menuitem[2], "3194", "3195"; + setarray @menuvalue[2], 50000, 100000; mes "\"How many presents do you want to give?\""; input @count; if (countitem(@menuitem[@menu]) < @count ) goto Glb_noitems; + if (@menuitem[@menu] == 3194) goto L_Check_Yellow; + if (@menuitem[@menu] == 3195) goto L_Check_White; + +L_Check_Yellow: + if (Count_Yellow >= 40) goto L_Done_Yellow; + if (@count > Yellow) goto L_Fail_Box; delitem @menuitem[@menu], @count; + set Count_Yellow, Count_Yellow + @count; set @Give, (@count * @menuvalue[@menu]); - //mes ""+@Give+""; - set @Gave_Presents, 1; - goto Glb_checkGlAn; + goto Golbenez_pay_presents; -Glb_money: - input @Give; +L_Check_White: + if (Count_White >= 30) goto L_Done_White; + if (@count > White) goto L_Fail_Box; + delitem @menuitem[@menu], @count; + set Count_White, Count_White + @count; + set @Give, (@count * @menuvalue[@menu]); + goto Golbenez_pay_presents; - set @Give, @Give; +L_Fail_Box: + mes "[Golbenez]"; + mes "\"How did you get those present boxes? I am monitoring the cave and I do not remember to see you getting this by yourself. I do not like this.\""; + close; + +L_Done_Yellow: + mes "[Golbenez]"; + mes "\"You already gave me all the Yellow Boxes that I wanted. I don't even want to know how you got these boxes.\""; + close; + +L_Done_White: + mes "[Golbenez]"; + mes "\"You already gave me all the White Boxes that I wanted. I don't even want to know how you got these boxes.\""; + close; +Glb_money: + input @Give; if (@Give <= 0) close; if (zeny < @Give) goto Glb_Inn_NotEnoughZeny; + goto Golbenez_pay; Glb_checkGlAn: - // if a player gave boxes, at least 20 yellows are needed, or lots of others. - if(@Gave_Presents == 1 && @Give<2000000 )goto Golbenez_pay; - // if the @Give amount is below 30% of the players money, just let him pay - if( @Give<100000 || ( 100 * @Give / (zeny+1) )<30 ) goto Golbenez_pay; - set @glob_an$ , "Golbenez: " + strcharinfo(0) + " accounted to free santa"; // depending on the absolute amount setup another global announcement. - if( @Give >10000000 ) goto Golbenez_an_5; - if( @Give > 5000000 ) goto Golbenez_an_4; + if( @Give >3000000 ) goto Golbenez_an_5; + if( @Give > 2000000 ) goto Golbenez_an_4; if( @Give > 1000000 ) goto Golbenez_an_3; - if( @Give > 720000 ) goto Golbenez_an_2; - if( @Give > 355000 ) goto Golbenez_an_1; - - goto Golbenez_an; + if( @Give > 700000 ) goto Golbenez_an_2; + if( @Give > 350000 ) goto Golbenez_an_1; + if (Golbenez_Inn_Cost < 5000000) goto L_Needmore; + if (Golbenez_Inn_Cost >= 5000000) goto Glb_Inn_Enough; + close; Golbenez_an_1: set @glob_an$, @glob_an$ + " with a great effort."; goto Golbenez_an; Golbenez_an_2: - set @glob_an$, @glob_an$ + " with a honest contribution."; + set @glob_an$, @glob_an$ + " with an honest contribution."; goto Golbenez_an; Golbenez_an_3: @@ -108,14 +214,24 @@ Golbenez_an_5: Golbenez_an: announce @glob_an$, 0; + if (Golbenez_Inn_Cost < 5000000) goto L_Needmore; + if (Golbenez_Inn_Cost >= 5000000) goto Glb_Inn_Enough; + close; Golbenez_pay: set Golbenez_Inn_Cost, Golbenez_Inn_Cost + @Give; set $Golbenez_Inn_Cost, $Golbenez_Inn_Cost + @Give; - if (@Gave_Presents == 1) close; set zeny, zeny - @Give; + goto Glb_checkGlAn; + +Golbenez_pay_presents: + set Golbenez_Inn_Cost, Golbenez_Inn_Cost + @Give; + set $Golbenez_Inn_Cost, $Golbenez_Inn_Cost + @Give; + if (Golbenez_Inn_Cost < 5000000) goto L_Needmore; + if (Golbenez_Inn_Cost >= 5000000) goto Glb_Inn_Enough; close; + Glb_Inn_NotEnoughZeny: mes "[Golbenez]"; mes "\"You don't have as much as you say you do. Come back when you can give the gold pieces you say you can.\""; @@ -133,7 +249,7 @@ Glb_nvm: Glb_whypresents: mes "[Golbenez]"; - mes "\"The presents contain some sort of spiritual attachment that aids in the creation of dimensional connections to this plane of existence. The green ones contain the stronger spiritual attachment, followed by the blue and then purple present boxes. But the yellow ones, they have amazing spiritual attachment.\""; + mes "\"The presents contain some sort of spiritual attachment that aids in the creation of dimensional connections to this plane of existence. The White ones contain the stronger spiritual attachment, followed by the Yellow and then green, blue and Purple present boxes. But I am not interested in the last three kinds.\""; close; Glb_otheritems: @@ -141,21 +257,55 @@ Glb_otheritems: mes "\"No you cannot!\""; next; mes "\"I will not discuss any further, mortal!\""; + close; + +Glb_Inn_Toolate: + mes "[Golbenez]"; + mes "\"Stop asking me about that old man... It is too late! I already have what I need...\""; + close; + + + +L_Needmore: + mes "[Golbenez]"; + mes "\"You brought me the equivalent to " +Golbenez_Inn_Cost+ " Gold Pieces. This is not enough.\""; next; - mes "\"So bring me the needed stuff and maybe you get some stuff as a reward, little coward!\""; + mes "\"Keep working. The closer you get to the amount of money I need, the closer you can get to Santa on that big Ice cave.\""; + + if (Golbenez_Inn_Cost >= 500000 && Golbenez_Inn_Cost < 1000000) set Maze, 1; + if (Golbenez_Inn_Cost >= 1000000 && Golbenez_Inn_Cost < 1500000) set Maze, 2; + if (Golbenez_Inn_Cost >= 1500000 && Golbenez_Inn_Cost < 2000000) set Maze, 3; + if (Golbenez_Inn_Cost >= 2000000 && Golbenez_Inn_Cost < 2500000) set Maze, 4; + if (Golbenez_Inn_Cost >= 2500000 && Golbenez_Inn_Cost < 3000000) set Maze, 5; + if (Golbenez_Inn_Cost >= 3000000 && Golbenez_Inn_Cost < 3500000) set Maze, 6; + if (Golbenez_Inn_Cost >= 3500000 && Golbenez_Inn_Cost < 4000000) set Maze, 7; + if (Golbenez_Inn_Cost >= 4000000 && Golbenez_Inn_Cost < 5000000) set Maze, 8; + + close; + +L_Broke: + mes "[Golbenez]"; + mes "\"Then say goodbye to christmas.\""; + close; + +L_Close: + close; + +L_Young: + mes "[Golbenez]"; + mes "\"You are too young, even for mortal standards. You can't do anything to save santa.\""; close; Glb_Inn_Enough: + set Maze, 9; mes "[Golbenez]"; mes "\"Ok mortal!\""; next; - mes "\"I have collected enough for now.\""; - next; - mes "\"This helps me finish the place of leisure.\""; + mes "\"I have collected enough for now. You are now able to reach Santa.\""; next; - mes "\"Although I did not promise I let Santa be free again!\""; + mes "\"This will definitely help me with the leisure place.\""; next; - mes "\"He can be found in some cave around here.\""; + mes "\"Have fun trying to save Santa from that cold maze!\""; close; } diff --git a/npc/xmas/2010/santa.txt b/npc/xmas/2010/santa.txt index 85f46da1..4807d47b 100755 --- a/npc/xmas/2010/santa.txt +++ b/npc/xmas/2010/santa.txt @@ -12,17 +12,16 @@ //# //################################################################################# + 031-3.gat,122,51,0 script Santa 105,{ if (Sex) set @honorific$, "young hero"; if (Sex) set @gender$, "boy"; if (!Sex) set @honorific$, "young heroine"; if (!Sex) set @gender$, "girl"; - if (Xmas2010 == 1) goto L_Returning; - if (Xmas2010 == 2) goto L_Elfhat_Prize; + if (Xmas2010 == 2) goto L_Returning; if (Xmas2010 == 3) goto L_Stocking_Prize; if (Xmas2010 == 4) goto L_Event_Done; - if (Golbenez_Inn_Cost < 50000) goto L_No_Prizes; L_start: mes "The old man's eyes open wide as he sees you."; @@ -34,39 +33,23 @@ L_start: "Im " + strcharinfo(0) + " and I am here to save you from Golbenez.",-; mes "\"I cant believe it... are you really " +strcharinfo(0)+ "? I remember all the comments that... 'Thing' was making about building his way to a 'Leisure Place' and how your donations would really help him.\""; next; - mes "\"What is his name again? Erh... Golbinos? Galvanis? Ho-hum... All I know is that it was keeping me and my raindeer hostage in this cold labyrinth. And you proved yourself a good " +@gender$+ " by helping me with all those donations!\""; + mes "\"What is his name again? Erh... Golbinos? Galvanis? Ho-hum... All I know is that it was keeping me as hostage in this cold labyrinth. And you proved yourself a good " +@gender$+ " by helping me with all those donations!\""; next; if (gettime(6) != 12 || gettime(5) >= 25) goto L_Skip_Dialogue; - mes "\"Well, we are really late! In a few hours we have to start our usual present giving routine... But not before I give you a special gift for all you did.\""; + mes "\"Well, I am really late! In a few hours I have to start my usual present giving routine... But not before I give you a special gift for all you did.\""; next; L_Skip_Dialogue: - mes "\"Let me see... From what I can remember, Galvenio said a " +@gender$+ " called " +strcharinfo(0)+ " donated a total of " +Golbenez_Inn_Cost+ " Golden Pieces!\""; + mes "\"Let me see... From what I can remember, Galvenio said that the only way someone could enter this cave is by giving him at least 5 Million Gold Pieces! It means you really did a good job!\""; next; L_Calculate_Prizes: getinventorylist; if (@inventorylist_count == 100) goto L_full; - if (Golbenez_Inn_Cost >= 5000000) goto L_Elfhat_Prize; - if (Golbenez_Inn_Cost < 500000) goto L_Stocking_Prize; - setarray @prizes[1], 1206, 1216, 629, 630, 634, 1214, 633, 628, 627, 621; - setarray @prizesnames$[1], "Santa Beard Hat", "Mouboo Head", "Mush Hat", "Shroom Hat", "Face Mask", "Bunny Ears", "Christmas Elf Hat", "Funky Hat", "Top Hat", "Eyepatch"; - mes "\"You are so generous! I believe I can give you one of the hats from this bag. I know you like these silly hats. Yes, Santa knows this kind of thing... Ho-Ho-Ho! Which one would you like to get?\""; - -L_Menu_Choices: - menu - @prizesnames$[1],-, - @prizesnames$[2],-, - @prizesnames$[3],-, - @prizesnames$[4],-, - @prizesnames$[5],-, - @prizesnames$[6],-, - @prizesnames$[7],-, - @prizesnames$[8],-, - @prizesnames$[9],-, - @prizesnames$[10],-; - - getitem @prizes[@menu], 1; - set Xmas2010, 1; + setarray @prizes$[0], "Mouboo Head", "Mush Hat", "Shroom Hat", "Face Mask", "Bunny Ears", "Christmas Elf Hat", "Funky Hat", "Top Hat", "Eyepatch"; + mes "\"You are so generous! I believe I can give you one of the hats from this bag. I know you like these silly hats. Yes, Santa knows this kind of thing... Ho-Ho-Ho! Put your hand here and pick one hat... No, you cant look, it MUST be a surprise...\""; + + getitem @prizes$[rand(8)], 1; + set Xmas2010, 2; set Golbenez_Inn_Cost, 0; next; @@ -77,34 +60,20 @@ L_Returning: menu "Yes Santa, you are the best!",L_Close, "Ehh, it is not what I expected.",L_Bad, - "I loved it! Can I have one more, please, please?",-; - - mes "[Santa Claus]"; - mes "\"Hmm... Why not? It would be terrible to deny a request from such a generous person.\""; - next; - set Xmas2010, 3; - goto L_Stocking_Prize; - -L_Elfhat_Prize: - set Xmas2010, 2; - getinventorylist; - if (@inventorylist_count == 100) goto L_full; - mes "[Santa Claus]"; - mes "\"You worked really hard to help us... So, here, take this hat. It belongs to one of my assistants. No, no... No problem at all, I am sure he will be happy to know such a great person is going to use it.\""; - getitem 633, 1; - set Golbenez_Inn_Cost, 0; - set Xmas2010, 3; - next; + "I loved it!",-; L_Stocking_Prize: + set Xmas2010, 3; getinventorylist; if (@inventorylist_count == 100) goto L_full; mes "[Santa Claus]"; - mes "\"I would like to give you a personal item. It is not a hat, but something that will always make you remember how grateful I am.\""; + mes "\"Good to know you liked it! Now I would like to give you a personal item. It is not a hat, but something that will always make you remember how grateful I am.\""; next; - mes "\"Here, take this. I have been using it for the last three months... It means a lot to me.\""; + menu + "Wonderful! Santa, You are great! Is it another hat?",-; + next; + mes "\"No, not a hat. Here, take this. I have been using it for the last three months... It is my favorite and it means a lot to me.\""; getitem 1207, 1; - set Golbenez_Inn_Cost, 0; set Xmas2010, 4; close2; percentheal -20, 0; @@ -131,8 +100,4 @@ L_Event_Done: mes "\"Hello again " +strcharinfo(0)+ "! I cant chat with you right now, because we are really late for Christmas, but, when it is over, you will always be welcome in my house for a hot chocolate.\""; close; -L_No_Prizes: - mes "[Santa Claus]"; - mes "\"Hi " +strcharinfo(0)+ "... Looks like you did not work really hard to set me free...\""; - close; } -- cgit v1.2.3-70-g09d2 From 982ed75118eef322f92627b3540f188248bccd63 Mon Sep 17 00:00:00 2001 From: toni Date: Sat, 18 Dec 2010 20:52:58 -0200 Subject: Add white box and minor changes. --- db/item_db.txt | 1 + npc/xmas/2010/golbanez.txt | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'npc') diff --git a/db/item_db.txt b/db/item_db.txt index 7dbe8d4d..a5cf4583 100644 --- a/db/item_db.txt +++ b/db/item_db.txt @@ -536,3 +536,4 @@ 4019, BluePowder, Blue Powder, 3, 3000, 5, 10, , , , , , 0, , , 0, , {}, {} 4020, CandleHelmet, Candle Helmet, 5, 20000, 2000, 450, , 16, , -25, 0, 2, 256, , 0, 0, {}, {bonus bInt, 1; bonus bAgi, -1;} 4021, YellowPresentBox, Yellow Present Box, 3, 20, 10, 10, , , , , , 2, , , 0, , {}, {} +4022, WhitePresentBox, White Present Box, 3, 20, 10, 10, , , , , , 2, , , 0, , {}, {} diff --git a/npc/xmas/2010/golbanez.txt b/npc/xmas/2010/golbanez.txt index 740a028b..f18c916e 100755 --- a/npc/xmas/2010/golbanez.txt +++ b/npc/xmas/2010/golbanez.txt @@ -12,6 +12,8 @@ //# //################################################################################# +// Please, remove the debug script bofore releasing the quest. + 031-3.gat,215,294,0 script Debug 204,{ mes "What you want to do?"; @@ -131,7 +133,7 @@ L_Menu: "Nevermind.", Glb_nvm; // in this array the items should be filled in. Remember to change the ID when the boxes are added to item_db. - setarray @menuitem[2], "3194", "3195"; + setarray @menuitem[2], "4021", "4022"; setarray @menuvalue[2], 50000, 100000; mes "\"How many presents do you want to give?\""; @@ -139,8 +141,8 @@ L_Menu: input @count; if (countitem(@menuitem[@menu]) < @count ) goto Glb_noitems; - if (@menuitem[@menu] == 3194) goto L_Check_Yellow; - if (@menuitem[@menu] == 3195) goto L_Check_White; + if (@menuitem[@menu] == 4021) goto L_Check_Yellow; + if (@menuitem[@menu] == 4022) goto L_Check_White; L_Check_Yellow: if (Count_Yellow >= 40) goto L_Done_Yellow; -- cgit v1.2.3-70-g09d2 From c86a9d7e3c6a7860eb7cf9767b2d23e12025cd67 Mon Sep 17 00:00:00 2001 From: toni Date: Sat, 18 Dec 2010 22:52:44 -0200 Subject: Xmas fixes --- npc/031-3/labyrinth.txt | 48 ++++++++++------------------------------------ npc/xmas/2010/golbanez.txt | 16 +++++----------- npc/xmas/2010/santa.txt | 7 +++---- 3 files changed, 18 insertions(+), 53 deletions(-) (limited to 'npc') diff --git a/npc/031-3/labyrinth.txt b/npc/031-3/labyrinth.txt index 54877bf9..e5b4fca9 100755 --- a/npc/031-3/labyrinth.txt +++ b/npc/031-3/labyrinth.txt @@ -12,67 +12,39 @@ //# //################################################################################# -// If Donated > 500k < 1M - Maze=1 031-3.gat,205,264,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 1 ) goto L_Golbenez; warp "031-3.gat", 149, 261; end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; } 031-3.gat,149,259,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 1 ) goto L_Golbenez; warp "031-3.gat", 205, 266; end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; } // If Donated > 1M < 1.5M - Maze=2 031-3.gat,225,282,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 2) goto L_Golbenez; warp "031-3.gat", 274, 299; end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; } 031-3.gat,274,300,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 2) goto L_Golbenez; warp "031-3.gat", 225, 283; end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - } // Second Warp 031-3.gat,283,271,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 2) goto L_Golbenez; warp "031-3.gat", 269, 244; end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - } 031-3.gat,269,245,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 2) goto L_Golbenez; warp "031-3.gat", 283, 272; end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - } // Third Warp @@ -101,7 +73,7 @@ L_Golbenez: // First Warp 031-3.gat,142,301,0 script #ChristmasBarrier 127,1,1,{ if (Maze < 3) goto L_Golbenez; - warp "031-3.gat", 97, 299; + warp "031-3.gat", 97, 298; end; L_Golbenez: message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; @@ -111,7 +83,7 @@ L_Golbenez: 031-3.gat,97,301,0 script #ChristmasBarrier 127,1,1,{ if (Maze < 3) goto L_Golbenez; - warp "031-3.gat", 142, 299; + warp "031-3.gat", 142, 298; end; L_Golbenez: message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; @@ -188,7 +160,7 @@ L_Golbenez: // First Warp 031-3.gat,94,254,0 script #ChristmasBarrier 127,1,1,{ if (Maze < 4) goto L_Golbenez; - warp "031-3.gat", 54, 252; + warp "031-3.gat", 54, 253; end; L_Golbenez: message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; @@ -198,7 +170,7 @@ L_Golbenez: 031-3.gat,54,250,0 script #ChristmasBarrier 127,1,1,{ if (Maze < 4) goto L_Golbenez; - warp "031-3.gat", 94, 256; + warp "031-3.gat", 94, 257; end; L_Golbenez: message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; @@ -357,7 +329,7 @@ L_Golbenez: // first warp 031-3.gat,34,25,0 script #ChristmasBarrier 127,1,1,{ if (Maze < 6) goto L_Golbenez; - warp "031-3.gat", 281, 24; + warp "031-3.gat", 281, 25; end; L_Golbenez: message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(3000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; @@ -366,7 +338,7 @@ L_Golbenez: } 031-3.gat,281,22,0 script #ChristmasBarrier 127,1,1,{ if (Maze < 6) goto L_Golbenez; - warp "031-3.gat", 34, 27; + warp "031-3.gat", 34, 28; end; L_Golbenez: message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(3000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; @@ -478,7 +450,7 @@ L_Golbenez: // # second warp 031-3.gat,232,93,0 script #ChristmasBarrier 127,1,1,{ if (Maze < 8) goto L_Golbenez; - warp "031-3.gat", 200, 48; + warp "031-3.gat", 200, 47; end; L_Golbenez: message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(4000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; @@ -487,7 +459,7 @@ L_Golbenez: } 031-3.gat,200,50,0 script #ChristmasBarrier 127,1,1,{ if (Maze < 8) goto L_Golbenez; - warp "031-3.gat", 232, 95; + warp "031-3.gat", 232, 90; end; L_Golbenez: message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(4000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; @@ -500,7 +472,7 @@ L_Golbenez: 031-3.gat,120,81,0 script #ChristmasBarrier 127,1,1,{ if (Maze < 9) goto L_Golbenez; - warp "031-3.gat", 46, 22; + warp "031-3.gat", 46, 27; end; L_Golbenez: message strcharinfo(0), "Golbenez: Mortal, you are getting close to your objective but you still need to give me " +(4000000-Golbenez_Inn_Cost)+ " Gold Pieces to be able to find Santa."; @@ -509,7 +481,7 @@ L_Golbenez: } 031-3.gat,46,24,0 script #ChristmasBarrier 127,1,1,{ if (Maze < 9) goto L_Golbenez; - warp "031-3.gat", 120, 80; + warp "031-3.gat", 120, 79; end; L_Golbenez: message strcharinfo(0), "Golbenez: Mortal, you are getting close to your objective but you still need to give me " +(4000000-Golbenez_Inn_Cost)+ " Gold Pieces to be able to find Santa."; diff --git a/npc/xmas/2010/golbanez.txt b/npc/xmas/2010/golbanez.txt index f18c916e..35b903dc 100755 --- a/npc/xmas/2010/golbanez.txt +++ b/npc/xmas/2010/golbanez.txt @@ -81,11 +81,11 @@ _end: mes "[Golbenez]"; mes "\"Mortal! I am Golbenez! I have broken through the barriers of space and time!\""; next; - mes "\"Well to let you know, I am taking Santa Claus and rudolph and the fellow rendiers as hostages.\""; + mes "\"Well to let you know, I have taken Santa Claus hostage.\""; next; - mes "\"This sounds hard to you maybe... But I need lots of stuff to build the way to the leisure place."; + mes "\"This may sound hard to you... But I need lots of stuff for building the way to place of leisure."; next; - mes "\"So if you want to have gifts at christmas... we should make a deal: Bring me money."; + mes "\"So if you want to have gifts at Christmas... we should make a deal: Bring me money."; next; menu "But I am broke!",L_Broke, @@ -251,7 +251,7 @@ Glb_nvm: Glb_whypresents: mes "[Golbenez]"; - mes "\"The presents contain some sort of spiritual attachment that aids in the creation of dimensional connections to this plane of existence. The White ones contain the stronger spiritual attachment, followed by the Yellow and then green, blue and Purple present boxes. But I am not interested in the last three kinds.\""; + mes "\"The presents contain some sort of spiritual attachment that aids in the creation of dimensional connections to this plane of existence. The white ones contain the stronger spiritual attachment, followed by the yellow and then green, blue and purple present boxes. But I am not interested in the last three kinds.\""; close; Glb_otheritems: @@ -261,12 +261,6 @@ Glb_otheritems: mes "\"I will not discuss any further, mortal!\""; close; -Glb_Inn_Toolate: - mes "[Golbenez]"; - mes "\"Stop asking me about that old man... It is too late! I already have what I need...\""; - close; - - L_Needmore: mes "[Golbenez]"; @@ -305,7 +299,7 @@ Glb_Inn_Enough: next; mes "\"I have collected enough for now. You are now able to reach Santa.\""; next; - mes "\"This will definitely help me with the leisure place.\""; + mes "\"This will definitely help me finish the place of leisure.\""; next; mes "\"Have fun trying to save Santa from that cold maze!\""; close; diff --git a/npc/xmas/2010/santa.txt b/npc/xmas/2010/santa.txt index 4807d47b..8f58dff1 100755 --- a/npc/xmas/2010/santa.txt +++ b/npc/xmas/2010/santa.txt @@ -33,7 +33,7 @@ L_start: "Im " + strcharinfo(0) + " and I am here to save you from Golbenez.",-; mes "\"I cant believe it... are you really " +strcharinfo(0)+ "? I remember all the comments that... 'Thing' was making about building his way to a 'Leisure Place' and how your donations would really help him.\""; next; - mes "\"What is his name again? Erh... Golbinos? Galvanis? Ho-hum... All I know is that it was keeping me as hostage in this cold labyrinth. And you proved yourself a good " +@gender$+ " by helping me with all those donations!\""; + mes "\"What is his name again? Erh... Golbinos? Galvanis? Ho-hum... All I know is that it was keeping me hostage in this cold labyrinth. And you proved yourself a good " +@gender$+ " by helping me with all those donations!\""; next; if (gettime(6) != 12 || gettime(5) >= 25) goto L_Skip_Dialogue; mes "\"Well, I am really late! In a few hours I have to start my usual present giving routine... But not before I give you a special gift for all you did.\""; @@ -45,10 +45,9 @@ L_Skip_Dialogue: L_Calculate_Prizes: getinventorylist; if (@inventorylist_count == 100) goto L_full; - setarray @prizes$[0], "Mouboo Head", "Mush Hat", "Shroom Hat", "Face Mask", "Bunny Ears", "Christmas Elf Hat", "Funky Hat", "Top Hat", "Eyepatch"; + setarray @prizes[0], 1216, 629, 630, 634, 1214, 633, 628, 627, 621; mes "\"You are so generous! I believe I can give you one of the hats from this bag. I know you like these silly hats. Yes, Santa knows this kind of thing... Ho-Ho-Ho! Put your hand here and pick one hat... No, you cant look, it MUST be a surprise...\""; - - getitem @prizes$[rand(8)], 1; + getitem @prizes[rand(8)], 1; set Xmas2010, 2; set Golbenez_Inn_Cost, 0; next; -- cgit v1.2.3-70-g09d2 From 2be00d8d9cbed39cdb09a834ba1af20b40139d56 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Sun, 19 Dec 2010 12:39:57 +0100 Subject: fixing the _mobs script --- npc/031-3/_mobs.txt | 72 ++++++++++++++++++++++++++--------------------------- 1 file changed, 35 insertions(+), 37 deletions(-) (limited to 'npc') diff --git a/npc/031-3/_mobs.txt b/npc/031-3/_mobs.txt index eced7914..da9f5d9d 100644 --- a/npc/031-3/_mobs.txt +++ b/npc/031-3/_mobs.txt @@ -1,54 +1,54 @@ // 031-3 mobs -031-3.gat,38,50,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 -031-3.gat,213,57,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 -031-3.gat,39,144,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 -031-3.gat,39,212,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 -031-3.gat,282,142,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 -031-3.gat,284,222,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 -031-3.gat,99,271,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 -031-3.gat,281,58,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 -031-3.gat,0,0,0,0 monster Bat 1017,100,100000,30000,Mob031-3::On1017 -031-3.gat,48,48,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 -031-3.gat,122,50,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 -031-3.gat,117,140,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 -031-3.gat,212,142,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 -031-3.gat,211,276,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 -031-3.gat,117,207,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 -031-3.gat,231,213,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 -031-3.gat,261,265,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 -031-3.gat,280,56,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 -031-3.gat,121,57,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 -031-3.gat,120,143,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 -031-3.gat,218,215,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 -031-3.gat,285,216,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 -031-3.gat,128,272,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 -031-3.gat,212,279,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 +031-3.gat,38,50,52,75 monster Moggun 1061,9,100000,30000,Mob031-3::On1061 +031-3.gat,213,57,66,59 monster Santa Slime 1015,9,100000,30000,Mob031-3::On1015 +031-3.gat,39,144,52,75 monster Moggun 1061,11,100000,30000,Mob031-3::On1061 +031-3.gat,39,212,52,75 monster Moggun 1061,13,100000,30000,Mob031-3::On1061 +031-3.gat,282,142,52,75 monster Moggun 1061,9,100000,30000,Mob031-3::On1061 +031-3.gat,284,222,52,75 monster Moggun 1061,9,100000,30000,Mob031-3::On1061 +031-3.gat,99,271,52,75 monster Moggun 1061,9,100000,30000,Mob031-3::On1061 +031-3.gat,281,58,52,75 monster Moggun 1061,9,100000,30000,Mob031-3::On1061 +031-3.gat,0,0,0,0 monster Bat 1017,190,100000,30000,Mob031-3::On1017 +031-3.gat,48,48,83,61 monster Ice Goblin 1058,9,100000,30000,Mob031-3::On1058 +031-3.gat,122,50,83,61 monster Ice Goblin 1058,9,100000,30000,Mob031-3::On1058 +031-3.gat,117,140,83,61 monster Ice Goblin 1058,9,100000,30000,Mob031-3::On1058 +031-3.gat,212,142,83,61 monster Ice Goblin 1058,12,100000,30000,Mob031-3::On1058 +031-3.gat,211,276,83,61 monster Ice Goblin 1058,11,100000,30000,Mob031-3::On1058 +031-3.gat,117,207,83,61 monster Ice Goblin 1058,9,100000,30000,Mob031-3::On1058 +031-3.gat,231,213,83,61 monster Ice Goblin 1058,7,100000,30000,Mob031-3::On1058 +031-3.gat,261,265,83,61 monster Ice Goblin 1058,9,100000,30000,Mob031-3::On1058 +031-3.gat,280,56,66,59 monster Santa Slime 1015,9,100000,30000,Mob031-3::On1015 +031-3.gat,121,57,66,59 monster Santa Slime 1015,11,100000,30000,Mob031-3::On1015 +031-3.gat,120,143,66,59 monster Santa Slime 1015,9,100000,30000,Mob031-3::On1015 +031-3.gat,218,215,66,59 monster Santa Slime 1015,9,100000,30000,Mob031-3::On1015 +031-3.gat,285,216,66,59 monster Santa Slime 1015,13,100000,30000,Mob031-3::On1015 +031-3.gat,128,272,66,59 monster Santa Slime 1015,9,100000,30000,Mob031-3::On1015 +031-3.gat,212,279,66,59 monster Santa Slime 1015,11,100000,30000,Mob031-3::On1015 031-3.gat,0,0,0 script Mob031-3 -1,{ On1015: + callsub Boxes1015; set @mobID, 1015; callfunc "MobPoints"; - goto Boxes1015; break; On1017: + callsub Boxes1017; set @mobID, 1017; callfunc "MobPoints"; - goto Boxes1017; break; On1058: + callsub Boxes1058; set @mobID, 1058; callfunc "MobPoints"; - goto Boxes1058; break; On1061: + callsub Boxes1061; set @mobID, 1061; callfunc "MobPoints"; - goto Boxes1061; break; end; @@ -88,24 +88,22 @@ L_GetYellow: set Yellow, Yellow + 1; if (Yellow == 10) message strcharinfo(0), "I still need 30 Yellow Boxes."; if (Yellow == 30) message strcharinfo(0), "I need only 10 Yellow Boxes."; - getitem 3194, 1; - end; + getitem 4021, 1; + return; L_GetWhite: if (White >= 30) goto L_FinishWhite; - set White, White + 1; + set White, White + 1; if (White == 10) message strcharinfo(0), "I still need 20 White Boxes."; if (White == 20) message strcharinfo(0), "I need only 10 White Boxes."; - getitem 3195, 1; - end; + getitem 4022, 1; + return; L_FinishYellow: message strcharinfo(0), "I collected all the Yellow Boxes!"; - end; + return; L_FinishWhite: message strcharinfo(0), "I collected all the White Boxes!"; - end; - - + return; } -- cgit v1.2.3-70-g09d2 From 9f5a7d75b1ba2fc8394541d44073b8a704d1eed2 Mon Sep 17 00:00:00 2001 From: Jessica Tölke Date: Sun, 19 Dec 2010 12:40:05 +0100 Subject: commented the debug part for the quest --- npc/xmas/2010/golbanez.txt | 110 ++++++++++++++++++++++----------------------- 1 file changed, 55 insertions(+), 55 deletions(-) (limited to 'npc') diff --git a/npc/xmas/2010/golbanez.txt b/npc/xmas/2010/golbanez.txt index 35b903dc..fe9ac50d 100755 --- a/npc/xmas/2010/golbanez.txt +++ b/npc/xmas/2010/golbanez.txt @@ -14,63 +14,63 @@ // Please, remove the debug script bofore releasing the quest. -031-3.gat,215,294,0 script Debug 204,{ - - mes "What you want to do?"; - menu - "Change 'Maze'",-, - "Change Golbenez_Inn_Cost(Your Donations)",_cost, - "Change Xmas2010",_xmas, - "Clean all variables.",_clean, - "Nothing",_end; - - mes "Old Value: " + Maze; - input Maze; - mes "New Value: " + Maze; - close; - -_xmas: - mes "Old Value: " + Xmas2010; - input Xmas2010; - mes "New Value: " + Xmas2010; - close; - -_cost: - mes "Old Value: " + Golbenez_Inn_Cost; - input Golbenez_Inn_Cost; - mes "New Value: " + Golbenez_Inn_Cost; - close; - -_clean: - mes "Golbenez_Inn_Cost Old Value: " + Golbenez_Inn_Cost; - set Golbenez_Inn_Cost, 0; - mes "Golbenez_Inn_Cost New Value: " + Golbenez_Inn_Cost; - mes "Maze Old Value: " + Maze; - set Maze, 0; - mes "Maze New Value: " + Maze; - mes "Xmas2010 old value: " + Xmas2010; - set Xmas2010, 0; - mes "Xmas2010 New Value: " + Xmas2010; - mes "Yellow Old Value: " + Yellow; - set Silver, 0; - mes "Yellow New Value: " + Yellow; - mes "White Old Value: " + White; - set Golden, 0; - mes "White New Value: " + White; - mes "Count_White Old Value: " + Count_White; - set Count_White, 0; - mes "Count_White New Value: " + Count_White; - mes "Count_Yellow Old Value: " + Count_Yellow; - set Count_Yellow, 0; - mes "Count_Yellow New Value: " + Count_Yellow; - - - close; +//031-3.gat,215,294,0 script Debug 204,{ + +// mes "What you want to do?"; +// menu +// "Change 'Maze'",-, +// "Change Golbenez_Inn_Cost(Your Donations)",_cost, +// "Change Xmas2010",_xmas, +// "Clean all variables.",_clean, +// "Nothing",_end; + +// mes "Old Value: " + Maze; +// input Maze; +// mes "New Value: " + Maze; +// close; + +//_xmas: +// mes "Old Value: " + Xmas2010; +// input Xmas2010; +// mes "New Value: " + Xmas2010; +// close; + +//_cost: +// mes "Old Value: " + Golbenez_Inn_Cost; +// input Golbenez_Inn_Cost; +// mes "New Value: " + Golbenez_Inn_Cost; +// close; + +//_clean: +// mes "Golbenez_Inn_Cost Old Value: " + Golbenez_Inn_Cost; +// set Golbenez_Inn_Cost, 0; +// mes "Golbenez_Inn_Cost New Value: " + Golbenez_Inn_Cost; +// mes "Maze Old Value: " + Maze; +// set Maze, 0; +// mes "Maze New Value: " + Maze; +// mes "Xmas2010 old value: " + Xmas2010; +// set Xmas2010, 0; +// mes "Xmas2010 New Value: " + Xmas2010; +// mes "Yellow Old Value: " + Yellow; +// set Silver, 0; +// mes "Yellow New Value: " + Yellow; +// mes "White Old Value: " + White; +// set Golden, 0; +// mes "White New Value: " + White; +// mes "Count_White Old Value: " + Count_White; +// set Count_White, 0; +// mes "Count_White New Value: " + Count_White; +// mes "Count_Yellow Old Value: " + Count_Yellow; +// set Count_Yellow, 0; +// mes "Count_Yellow New Value: " + Count_Yellow; + + +// close; -_end: - close; +//_end: +// close; -} +//} 031-3.gat,215,296,0 script #Golbenez#_M 204,{ -- cgit v1.2.3-70-g09d2 From 78b00d2d199428e1341236c5a54d0ee9517daa0f Mon Sep 17 00:00:00 2001 From: Enchilado Date: Fri, 19 Nov 2010 20:18:34 +1000 Subject: Hallowe'en 2010 Phase 1 Server Data Some new items, a new monster, temporary spawns for that monster, the event NPC, scripts.conf to make him appear, and a new news entry. --- db/item_db.txt | 504 ++++++++++++++++--------------- db/mob_db.txt | 68 ++--- news.txt | 34 ++- npc/007-1_Woodland/_mobs.txt | 1 + npc/008-1_Hurnscald_outskirts/_mobs.txt | 1 + npc/009-1_Hurnscald/_mobs.txt | 1 + npc/010-1_Woodland/_mobs.txt | 1 + npc/011-1_Woodland/_mobs.txt | 1 + npc/012-1_Woodland_Hills/_mobs.txt | 1 + npc/013-1_Woodland_hills/_mobs.txt | 1 + npc/014-1_Woodland/_mobs.txt | 1 + npc/015-1_Woodland/_mobs.txt | 1 + npc/016-1_Woodland/_mobs.txt | 1 + npc/017-1_Woodland_hills/_mobs.txt | 1 + npc/018-1_Woodland_mining_camp/_mobs.txt | 1 + npc/025-1_Woodland_Swamp/_mobs.txt | 1 + npc/026-1_Swamp/_mobs.txt | 1 + npc/027-1_Graveyard/_mobs.txt | 1 + npc/028-1/_mobs.txt | 1 + npc/029-1_Candor/_mobs.txt | 1 + npc/halloween/2010/gak.txt | 426 ++++++++++++++++++++++++++ npc/scripts.conf | 4 +- 22 files changed, 771 insertions(+), 282 deletions(-) create mode 100644 npc/halloween/2010/gak.txt (limited to 'npc') diff --git a/db/item_db.txt b/db/item_db.txt index a5cf4583..bc6acb30 100644 --- a/db/item_db.txt +++ b/db/item_db.txt @@ -266,255 +266,267 @@ //764, SailorHat, Sailor Hat, , , , , , , , , , , , , , , {}, {} //765, CaptainsHat, Captain's Hat, , , , , , , , , , , , , , , {}, {} 766, TerraniteHelmet, Terranite Helmet, 5, 30000, 3000, 300, , 15, , -12, 0, 2, 256, , 0, 0, {}, {} -767, TerraniteChestArmor, Terranite Chest Armor, 5, 100000, 3000, 800, , 20, , -70, 0, 2, 512, , 0, 0, {}, {bonus bDex,1;} -768, TerraniteLegsArmor, Terranite Legs Armor, 5, 10000, 3000, 30, , 5, , -8, 0, 2, 1, , 0, 0, {}, {bonus bAgi,1;} -//769, GuyFawkesMask, Guy Fawkes' Mask, , , , , , , , , , , , , , , {}, {} -770, FairyHat, Fairy Hat, 5, 2000, 1000, 20, , 5, , -10, 0, 2, 256, , 0, 0, {}, {bonus bLuk,3;} -771, Miniskirt, Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -772, WispPowder, Wisp Powder, 3, 700, 350, 3, , , , , , , , , , , {}, {} -773, SpectrePowder, Spectre Powder, 3, 700, 350, 3, , , , , , , , , , , {}, {} -774, PoltergeistPowder, Poltergeist Powder, 3, 700, 350, 3, , , , , , , , , , , {}, {} -775, Bone, Bone, 3, 140, 70, 10, , , , , , , , , , , {}, {} -776, Skull, Skull, 3, 900, 450, 30, , , , , , , , , , , {}, {} -777, RottenRags, Rotten Rags, 3, 100, 50, 15, , , , , , , , , , , {}, {} -778, DiseasedHeart, Diseased Heart, 3, 180, 90, 10, , , , , , , , , , , {}, {} -779, UndeadEar, Undead Ear, 3, 30, 15, 5, , , , , , , , , , , {}, {} -780, UndeadEye, Undead Eye, 3, 30, 15, 3, , , , , , , , , , , {}, {} -//781, WitchDoctorsMask, Witch Doctor's Mask, , , , , , , , , , , , , , , {}, {} -782, ForestArmor, Forest Armor, 5, 3000, 1500, 40, , 10, , -20, 0, 2, 512, , 0, 0, {}, {bonus bDex,3;} -783, ValentineDress, Valentine Dress, 5, 100000, 50000, 35, , 15, , 3, 0, 2, 512, , 0, 0, {}, {} +767, TerraniteChestArmor, Terranite Chest Armor, 5, 100000, 3000, 800, , 20, , -70, 0, 2, 512, , 0, 0, {}, { bonus bDex,1; } +768, TerraniteLegsArmor, Terranite Legs Armor, 5, 10000, 3000, 30, , 5, , -8, 0, 2, 1, , 0, 0, {}, { bonus bAgi,1; } +//769, GuyFawkesMask, Guy Fawkes' Mask, , , , , , , , , , , , , , , {}, {} +770, FairyHat, Fairy Hat, 5, 2000, 1000, 20, , 5, , -10, 0, 2, 256, , 0, 0, {}, {bonus bLuk,3;} +771, Miniskirt, Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +772, WispPowder, Wisp Powder, 3, 700, 350, 3, , , , , , , , , , , {}, {} +773, SpectrePowder, Spectre Powder, 3, 700, 350, 3, , , , , , , , , , , {}, {} +774, PoltergeistPowder, Poltergeist Powder, 3, 700, 350, 3, , , , , , , , , , , {}, {} +775, Bone, Bone, 3, 140, 70, 10, , , , , , , , , , , {}, {} +776, Skull, Skull, 3, 900, 450, 30, , , , , , , , , , , {}, {} +777, RottenRags, Rotten Rags, 3, 100, 50, 15, , , , , , , , , , , {}, {} +778, DiseasedHeart, Diseased Heart, 3, 180, 90, 10, , , , , , , , , , , {}, {} +779, UndeadEar, Undead Ear, 3, 30, 15, 5, , , , , , , , , , , {}, {} +780, UndeadEye, Undead Eye, 3, 30, 15, 3, , , , , , , , , , , {}, {} +//781, WitchDoctorsMask, Witch Doctor's Mask, , , , , , , , , , , , , , , {}, {} +782, ForestArmor, Forest Armor, 5, 3000, 1500, 40, , 10, , -20, 0, 2, 512, , 0, 0, {}, {bonus bDex,3;} +783, ValentineDress, Valentine Dress, 5, 100000, 50000, 35, , 15, , 3, 0, 2, 512, , 0, 0, {}, {} -1198, JackOSoul, Jack O Soul, 3, 100000, 1, 1, , , , , , , , , , , {}, {} -1199, Arrow, Arrow, 10, 3, 1, 1, 25, 0, 0, , 0, 2, 32768, , , , {}, {} -1200, Bow, Bow, 4, 1000, 500, 20, 20, , 5, , 0, 2, 34, 1, 4, 11, {}, {} -1201, Knife, Knife, 4, 50, 25, 120, 5, , 1, , 0, 2, 2, 1, 1, 1, {}, {} -1202, CottonShirt, Cotton Shirt, 5, 10, 5, 13, , 2, , -2, 0, 2, 512, , 0, 0, {}, {} -1203, RangerHat, Ranger Hat, 5, 1000, 500, 20, , 2, , -1, 0, 2, 256, , 0, 0, {}, {} -1204, AntlerHat, Antler Hat, 5, 1000, 500, 15, , 4, , 2, 0, 2, 256, , 0, 0, {}, {} -1205, ChristmasTreeHat, Christmas Tree Hat, 5, 2000, 1000, 20, , 2, , 4, 0, 2, 256, , 0, 0, {}, {} -1206, SantaBeardHat, Santa Beard Hat, 5, 1000, 500, 20, , 5, , 2, 0, 2, 256, , 0, 0, {}, {} -1207, RedChristmasStocking, Red Christmas Stocking, 3, 80, 40, 10, , , , , , , , , , , {}, {} -1208, RedEasterEgg, Red Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} -1209, GreenEasterEgg, Green Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} -1210, BlueEasterEgg, Blue Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} -1211, YellowEasterEgg, Yellow Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} -1212, PinkEasterEgg, Pink Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} -1213, TealEasterEgg, Teal Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} -1214, BunnyEars, Bunny Ears, 5, 5000, 2000, 20, , 10, , 1, 0, 2, 256, , 0, 0, {}, {} -1215, ToySabre, Toy Sabre, 4, 50, 25, 1, 1, , 1, , 0, 2, 2, 1, 1, 1, {}, {} -1216, MoubooHead, Mouboo Head, 5, 10, 1, 80, , 1, , 0, 0, 2, 256, , 0, 0, {}, {} -1217, CatEars, Cat Ears, 5, 100, 50, 20, , 1, , 1, 0, 2, 256, , 0, 0, {}, { bonus bAgi, 3; } -1218, PaperBag, Paper Bag, 5, 1000, 5, 10, , 1, , -1, 0, 2, 256, , 0, 0, {}, { bonus bAgi, -1; } -1219, MoubootaurHead, Moubootaur Head, 5, 10, 1, 80, , 1, , 0, 0, 2, 256, , 0, 0, {}, { set @minLvl, 1; callfunc "RestrictedItem"; } -1220, BunchOfParsley, Bunch of Parsley, 5, 3, 1, 1, , 1, , 0, 0, 2, 256, , 0, 0, {}, { bonus bDeaf, 1; } -1221, SkullMask, Skull Mask, 5, 10000, 5000, 150, , 3, , 5, 0, 2, 256, , 0, 0, {}, {} -//1222, SmallPieceOfClay, Small Piece of Clay, , , , , , , , , , , , , , , {}, {} -//1223, BigPieceOfWhiteClay, Big Piece of White Clay, , , , , , , , , , , , , , , {}, {} -//1224, ScrollOfPaper, Scroll of Paper, , , , , , , , , , , , , , , {}, {} -//1225, FireScroll, Fire Scroll, , , , , , , , , , , , , , , {}, {} -//1226, SilverBell, Silver Bell, , , , , , , , , , , , , , , {}, {} -//1227, EnchantersAmulet, Enchanter's Amulet, , , , , , , , , , , , , , , {}, {} -//1228, SilverFourLeafAmulet, Silver Four-Leaf Amulet, , , , , , , , , , , , , , , {}, {} -1229, CaramelApple, Caramel Apple, 0, 500, 75, 5, , , , , , 2, , , 0, , { itemheal 1000, 0; }, {} -1230, LollipopColor1, Booberry Blue Lollipop, 0, 20, 50, 1, , , , , , 2, , , 0, , { itemheal 800, 0; }, {} -1231, LollipopColor2, Ghastly Green Lollipop, 0, 20, 50, 1, , , , , , 2, , , 0, , { itemheal 800, 0; }, {} -1232, LollipopColor3, Blood Red Lollipop, 0, 20, 50, 1, , , , , , 2, , , 0, , { itemheal 800, 0; }, {} -1233, FakeFangs, Cheap Plastic Fangs, 3, 20, 10000, 1, , , , , , 2, , , 0, , {}, {} -1234, RedOrnament, Red Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} -1235, YellowOrnament, Yellow Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} -1236, GreenOrnament, Green Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} -1237, AquaOrnament, Aqua Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} -1238, BlueOrnament, Blue Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} -1239, MagentaOrnament, Magenta Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} -1240, SantaSnowGlobe, Santa Snow Globe, 3, 7500, 5000, 1, , , , , , 2, , , 0, , {}, {} -1241, SnowmanSnowGlobe, Snowman Snow Globe, 3, 7500, 5000, 1, , , , , , 2, , , 0, , {}, {} -1242, SnowGoggles, Snow Goggles, 5, 7500, 5000, 10, , 5, , -2, 0, 2, 256, , 0, 0, {}, {} -1243, PaperHat, Paper Party Hat, 5, 10, 5, 1, , 1, , 0, 0, 2, 256, , 0, 0, {}, {} -1244, DarkTalisman, Dark Talisman, 5, 0, 0, 0, , 30, , 100, 0, 2, 512, , 0, 0, {}, { set @minLvl, 1; callfunc "RestrictedItem"; set @val, getopt2; if (!(@val & 1024)) setopt2 getopt2 | 1024; bonus bMaxHp, 30000; bonus bFlee, -150; } -1245, BentNeedle, Bent Needle, 3, 700, 1, 3, , , , , , 2, , , 0, 0, {}, {} -1246, DarkEasterEgg, Dark Easter Egg, 3, 700, 50, 10, , , , , , 2, , , 0, 0, {}, {} -1247, HeartGlasses, Heart Glasses, 5, 7500, 5000, 20, , 4, , 5, 0, 2, 256, , 0, 0, {}, {} -1248, Blueberries, Blueberries, 0, 1000, 500, 6, , , , , , 2, , , 0, , { itemheal 800, 0; }, {} -1249, StrangeCoin, Strange Coin, 3, 7000, 5000, 3, , , , , , 2, , , 0, 0, {}, {} -1250, Pear, Pear, 0, 1000, 500, 7, , , , , , 2, , , 0, , { itemheal 200, 0; }, {} -1251, Plum, Plum, 0, 1000, 500, 10, , , , , , 2, , , 0, , { itemheal 300, 0; }, {} -1252, Cherry, Cherry, 0, 1000, 500, 5, , , , , , 2, , , 0, , { itemheal 250, 0; }, {} -1253, GoldenDeliciousApple, GoldenDeliciousApple, 0, 1000, 500, 30, , , , , , 2, , , 0, , { itemheal 200, 0; }, {} -1254, DarkPetal, Dark Petal, 3, 15000, 8000, 250, , , , , , 2, , , 0, , {}, {} -1255, WhiteRabbitEars, White Rabbit Ears, 5, 7000, 5000, 20, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -1256, EggshellHat, Eggshell Hat, 5, 7000, 5000, 15, , 12, , 0, 0, 2, 256, , 1, 0, {}, { bonus bAgi, -1; } -1257, FlawedLens, Flawed Lens, 3, 10000, 5000, 3, , , , , , 2, , , 0, 0, {}, {} +1198, JackOSoul, Jack O Soul, 3, 100000, 1, 1, , , , , , , , , , , {}, {} +1199, Arrow, Arrow, 10, 3, 1, 1, 25, 0, 0, , 0, 2, 32768, , , , {}, {} +1200, Bow, Bow, 4, 1000, 500, 20, 20, , 5, , 0, 2, 34, 1, 4, 11, {}, {} +1201, Knife, Knife, 4, 50, 25, 120, 5, , 1, , 0, 2, 2, 1, 1, 1, {}, {} +1202, CottonShirt, Cotton Shirt, 5, 10, 5, 13, , 2, , -2, 0, 2, 512, , 0, 0, {}, {} +1203, RangerHat, Ranger Hat, 5, 1000, 500, 20, , 2, , -1, 0, 2, 256, , 0, 0, {}, {} +1204, AntlerHat, Antler Hat, 5, 1000, 500, 15, , 4, , 2, 0, 2, 256, , 0, 0, {}, {} +1205, ChristmasTreeHat, Christmas Tree Hat, 5, 2000, 1000, 20, , 2, , 4, 0, 2, 256, , 0, 0, {}, {} +1206, SantaBeardHat, Santa Beard Hat, 5, 1000, 500, 20, , 5, , 2, 0, 2, 256, , 0, 0, {}, {} +1207, RedChristmasStocking, Red Christmas Stocking, 3, 80, 40, 10, , , , , , , , , , , {}, {} +1208, RedEasterEgg, Red Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} +1209, GreenEasterEgg, Green Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} +1210, BlueEasterEgg, Blue Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} +1211, YellowEasterEgg, Yellow Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} +1212, PinkEasterEgg, Pink Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} +1213, TealEasterEgg, Teal Easter Egg, 3, 80, 40, 10, , , , , , , , , , , {}, {} +1214, BunnyEars, Bunny Ears, 5, 5000, 2000, 20, , 10, , 1, 0, 2, 256, , 0, 0, {}, {} +1215, ToySabre, Toy Sabre, 4, 50, 25, 1, 1, , 1, , 0, 2, 2, 1, 1, 1, {}, {} +1216, MoubooHead, Mouboo Head, 5, 10, 1, 80, , 1, , 0, 0, 2, 256, , 0, 0, {}, {} +1217, CatEars, Cat Ears, 5, 100, 50, 20, , 1, , 1, 0, 2, 256, , 0, 0, {}, { bonus bAgi, 3; } +1218, PaperBag, Paper Bag, 5, 1000, 5, 10, , 1, , -1, 0, 2, 256, , 0, 0, {}, { bonus bAgi, -1; } +1219, MoubootaurHead, Moubootaur Head, 5, 10, 1, 80, , 1, , 0, 0, 2, 256, , 0, 0, {}, { set @minLvl, 1; callfunc "RestrictedItem"; } +1220, BunchOfParsley, Bunch of Parsley, 5, 3, 1, 1, , 1, , 0, 0, 2, 256, , 0, 0, {}, { bonus bDeaf, 1; } +1221, SkullMask, Skull Mask, 5, 10000, 5000, 150, , 3, , 5, 0, 2, 256, , 0, 0, {}, {} +//1222, SmallPieceOfClay, Small Piece of Clay, , , , , , , , , , , , , , , {}, {} +//1223, BigPieceOfWhiteClay, Big Piece of White Clay, , , , , , , , , , , , , , , {}, {} +//1224, ScrollOfPaper, Scroll of Paper, , , , , , , , , , , , , , , {}, {} +//1225, FireScroll, Fire Scroll, , , , , , , , , , , , , , , {}, {} +//1226, SilverBell, Silver Bell, , , , , , , , , , , , , , , {}, {} +//1227, EnchantersAmulet, Enchanter's Amulet, , , , , , , , , , , , , , , {}, {} +//1228, SilverFourLeafAmulet, Silver Four-Leaf Amulet, , , , , , , , , , , , , , , {}, {} +1229, CaramelApple, Caramel Apple, 0, 500, 75, 5, , , , , , 2, , , 0, , { itemheal 1000, 0; }, {} +1230, LollipopColor1, Booberry Blue Lollipop, 0, 20, 50, 1, , , , , , 2, , , 0, , { itemheal 800, 0; }, {} +1231, LollipopColor2, Ghastly Green Lollipop, 0, 20, 50, 1, , , , , , 2, , , 0, , { itemheal 800, 0; }, {} +1232, LollipopColor3, Blood Red Lollipop, 0, 20, 50, 1, , , , , , 2, , , 0, , { itemheal 800, 0; }, {} +1233, FakeFangs, Cheap Plastic Fangs, 3, 20, 10000, 1, , , , , , 2, , , 0, , {}, {} +1234, RedOrnament, Red Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} +1235, YellowOrnament, Yellow Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} +1236, GreenOrnament, Green Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} +1237, AquaOrnament, Aqua Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} +1238, BlueOrnament, Blue Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} +1239, MagentaOrnament, Magenta Christmas Ornament, 3, 5000, 1, 1, , , , , , 2, , , 0, , {}, {} +1240, SantaSnowGlobe, Santa Snow Globe, 3, 7500, 5000, 1, , , , , , 2, , , 0, , {}, {} +1241, SnowmanSnowGlobe, Snowman Snow Globe, 3, 7500, 5000, 1, , , , , , 2, , , 0, , {}, {} +1242, SnowGoggles, Snow Goggles, 5, 7500, 5000, 10, , 5, , -2, 0, 2, 256, , 0, 0, {}, {} +1243, PaperHat, Paper Party Hat, 5, 10, 5, 1, , 1, , 0, 0, 2, 256, , 0, 0, {}, {} +1244, DarkTalisman, Dark Talisman, 5, 0, 0, 0, , 30, , 100, 0, 2, 512, , 0, 0, {}, { set @minLvl, 1; callfunc "RestrictedItem"; set @val, getopt2; if (!(@val & 1024)) setopt2 getopt2 | 1024; bonus bMaxHp, 30000; bonus bFlee, -150; } +1245, BentNeedle, Bent Needle, 3, 700, 1, 3, , , , , , 2, , , 0, 0, {}, {} +1246, DarkEasterEgg, Dark Easter Egg, 3, 700, 50, 10, , , , , , 2, , , 0, 0, {}, {} +1247, HeartGlasses, Heart Glasses, 5, 7500, 5000, 20, , 4, , 5, 0, 2, 256, , 0, 0, {}, {} +1248, Blueberries, Blueberries, 0, 1000, 500, 6, , , , , , 2, , , 0, , { itemheal 800, 0; }, {} +1249, StrangeCoin, Strange Coin, 3, 7000, 5000, 3, , , , , , 2, , , 0, 0, {}, {} +1250, Pear, Pear, 0, 1000, 500, 7, , , , , , 2, , , 0, , { itemheal 200, 0; }, {} +1251, Plum, Plum, 0, 1000, 500, 10, , , , , , 2, , , 0, , { itemheal 300, 0; }, {} +1252, Cherry, Cherry, 0, 1000, 500, 5, , , , , , 2, , , 0, , { itemheal 250, 0; }, {} +1253, GoldenDeliciousApple, GoldenDeliciousApple, 0, 1000, 500, 30, , , , , , 2, , , 0, , { itemheal 200, 0; }, {} +1254, DarkPetal, Dark Petal, 3, 15000, 8000, 250, , , , , , 2, , , 0, , {}, {} +1255, WhiteRabbitEars, White Rabbit Ears, 5, 7000, 5000, 20, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +1256, EggshellHat, Eggshell Hat, 5, 7000, 5000, 15, , 12, , 0, 0, 2, 256, , 1, 0, {}, { bonus bAgi, -1; } +1257, FlawedLens, Flawed Lens, 3, 10000, 5000, 3, , , , , , 2, , , 0, 0, {}, {} -1258, Honey, Honey, 0, 100, 80, 20, , , , , , 2, , , , , { itemheal 45, 0; }, {} -//1259, BeeEgg -//1260, Wax -//1261, Venom -//1262, FlowerSeed -//1263, Incubator -//1264, RoyalJelly -//1265, VespaWing -//1266, Hive -//1267, VespaEgg -//1268, LarvaFat -//1269, LarvaPincer -//1270, FrogEgg -//1271, PondScum -//1272, FrogLeg -//1273, TrollStone -//1274, SmallClub -//1275, LoinCloth +1258, Honey, Honey, 0, 100, 80, 20, , , , , , 2, , , , , { itemheal 45, 0; }, {} +//1259, BeeEgg +//1260, Wax +//1261, Venom +//1262, FlowerSeed +//1263, Incubator +//1264, RoyalJelly +//1265, VespaWing +//1266, Hive +//1267, VespaEgg +//1268, LarvaFat +//1269, LarvaPincer +//1270, FrogEgg +//1271, PondScum +//1272, FrogLeg +//1273, TrollStone +//1274, SmallClub +//1275, LoinCloth -2050, RedCottonShirt, Red Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2051, GreenCottonShirt, Green Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2052, DarkBlueCottonShirt, Dark Blue Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2053, YellowCottonShirt, Yellow Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2054, LightBlueCottonShirt, Light Blue Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2055, PinkCottonShirt, Pink Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2056, BlackCottonShirt, Black Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2057, OrangeCottonShirt, Orange Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2058, PurpleCottonShirt, Purple Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2059, DarkGreenCottonShirt, Dark Green Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2060, RedVNeckSweater, Red V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} -2061, GreenVNeckSweater, Green V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} -2062, DarkBlueVNeckSweater, Dark Blue V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} -2063, YellowVNeckSweater, Yellow V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} -2064, LightBlueVNeckSweater, Light Blue V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} -2065, PinkVNeckSweater, Pink V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} -2066, BlackVNeckSweater, Black V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} -2067, OrangeVNeckSweater, Orange V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} -2068, PurpleVNeckSweater, Purple V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} -2069, DarkGreenVNeckSweater, Dark Green V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} -2070, RedTurtleneckSweater, Red Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} -2071, GreenTurtleneckSweater, Green Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} -2072, DarkBlueTurtleneckSweater, Dark Blue Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} -2073, YellowTurtleneckSweater, Yellow Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} -2074, LightBlueTurtleneckSweater, Light Blue Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} -2075, PinkTurtleneckSweater, Pink Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} -2076, BlackTurtleneckSweater, Black Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} -2077, OrangeTurtleneckSweater, Orange Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} -2078, PurpleTurtleneckSweater, Purple Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} -2079, DarkGreenTurtleneckSweater, Dark Green Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} -2080, RedSilkRobe, Red Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} -2081, GreenSilkRobe, Green Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} -2082, DarkBlueSilkRobe, Dark Blue Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} -2083, YellowSilkRobe, Yellow Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} -2084, LightBlueSilkRobe, Light Blue Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} -2085, PinkSilkRobe, Pink Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} -2086, BlackSilkRobe, Black Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} -2087, OrangeSilkRobe, Orange Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} -2088, PurpleSilkRobe, Purple Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} -2089, DarkGreenSilkRobe, Dark Green Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} -2090, RedTankTop, Red Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2091, GreenTankTop, Green Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2092, DarkBlueTankTop, Dark Blue Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2093, YellowTankTop, Yellow Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2094, LightBlueTankTop, Light Blue Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2095, PinkTankTop, Pink Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2096, BlackTankTop, Black Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2097, OrangeTankTop, Orange Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2098, PurpleTankTop, Purple Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2099, DarkGreenTankTop, Dark Green Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2100, RedCottonSkirt, Red Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2101, GreenCottonSkirt, Green Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2102, DarkBlueCottonSkirt, Dark Blue Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2103, YellowCottonSkirt, Yellow Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2104, LightBlueCottonSkirt, Light Blue Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2105, PinkCottonSkirt, Pink Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2106, BlackCottonSkirt, Black Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2107, OrangeCottonSkirt, Orange Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2108, PurpleCottonSkirt, Purple Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2109, DarkGreenCottonSkirt, Dark Green Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2110, RedCottonShorts, Red Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} -2111, GreenCottonShorts, Green Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} -2112, DarkBlueCottonShorts, Dark Blue Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} -2113, YellowCottonShorts, Yellow Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} -2114, LightBlueCottonShorts, Light Blue Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} -2115, PinkCottonShorts, Pink Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} -2116, BlackCottonShorts, Black Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} -2117, OrangeCottonShorts, Orange Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} -2118, PurpleCottonShorts, Purple Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} -2119, DarkGreenCottonShorts, Dark Green Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} -2120, RedShortTankTop, Red Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2121, GreenShortTankTop, Green Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2122, DarkBlueShortTankTop, Dark Blue Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2123, YellowShortTankTop, Yellow Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2124, LightBlueShortTankTop, Light Blue Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2125, PinkShortTankTop, Pink Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2126, BlackShortTankTop, Black Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2127, OrangeShortTankTop, Orange Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2128, PurpleShortTankTop, Purple Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2129, DarkGreenShortTankTop, Dark Green Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} -2130, RedDesertHat, Red Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} -2131, GreenDesertHat, Green Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} -2132, DarkBlueDesertHat, Dark Blue Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} -2133, YellowDesertHat, Yellow Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} -2134, LightBlueDesertHat, Light Blue Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} -2135, PinkDesertHat, Pink Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} -2136, BlackDesertHat, Black Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} -2137, OrangeDesertHat, Orange Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} -2138, PurpleDesertHat, Purple Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} -2139, DarkGreenDesertHat, Dark Green Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} -2140, RedCottonHeadband, Red Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -2141, GreenCottonHeadband, Green Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -2142, DarkBlueCottonHeadband, Dark Blue Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -2143, YellowCottonHeadband, Yellow Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -2144, LightBlueCottonHeadband, Light Blue Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -2145, PinkCottonHeadband, Pink Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -2146, BlackCottonHeadband, Black Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -2147, OrangeCottonHeadband, Orange Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -2148, PurpleCottonHeadband, Purple Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -2149, DarkGreenCottonHeadband, Dark Green Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} -2150, RedCottonBoots, Red Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} -2151, GreenCottonBoots, Green Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} -2152, DarkBlueCottonBoots, Dark Blue Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} -2153, YellowCottonBoots, Yellow Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} -2154, LightBlueCottonBoots, Light Blue Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} -2155, PinkCottonBoots, Pink Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} -2156, BlackCottonBoots, Black Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} -2157, OrangeCottonBoots, Orange Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} -2158, PurpleCottonBoots, Purple Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} -2159, DarkGreenCottonBoots, Dark Green Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} -2160, RedCottonGloves, Red Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} -2161, GreenCottonGloves, Green Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} -2162, DarkBlueCottonGloves, Dark Blue Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} -2163, YellowCottonGloves, Yellow Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} -2164, LightBlueCottonGloves, Light Blue Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} -2165, PinkCottonGloves, Pink Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} -2166, BlackCottonGloves, Black Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} -2167, OrangeCottonGloves, Orange Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} -2168, PurpleCottonGloves, Purple Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} -2169, DarkGreenCottonGloves, Dark Green Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} -2170, RedMiniskirt, Red Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2171, GreenMiniskirt, Green Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2172, DarkBlueMiniskirt, Dark Blue Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2173, YellowMiniskirt, Yellow Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2174, LightBlueMiniskirt, Light Blue Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2175, PinkMiniskirt, Pink Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2176, BlackMiniskirt, Black Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2177, OrangeMiniskirt, Orange Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2178, PurpleMiniskirt, Purple Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2179, DarkGreenMiniskirt, Dark Green Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} -2180, RedPaperhat, Red Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} -2181, GreenPaperhat, Green Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} -2182, DarkBluePaperhat, Dark Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} -2183, YellowPaperhat, Yellow Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} -2184, LightBluePaperhat, Light Blue Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} -2185, PinkPaperhat, Pink Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} -2186, BlackPaperhat, Black Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} -2187, OrangePaperhat, Orange Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} -2188, PurplePaperhat, Purple Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} -2189, DarkGreenPaperhat, Dark Green Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} -2190, RedRabbitEars, Red Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2191, GreenRabbitEars, Green Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2192, DarkBlueRabbitEars, Dark Blue Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2193, YellowRabbitEars, Yellow Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2194, LightBlueRabbitEars, Light Blue Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2195, PinkRabbitEars, Pink Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2196, BlackRabbitEars, Black Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2197, OrangeRabbitEars, Orange Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2198, PurpleRabbitEars, Purple Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -2199, DarkGreenRabbitEars, Dark Green Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} -4000, AngryScorpionStinger, Angry Scorpion Stinger, 3, 50, 25, 1, , , , , , , , , , , {}, {} +2050, RedCottonShirt, Red Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2051, GreenCottonShirt, Green Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2052, DarkBlueCottonShirt, Dark Blue Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2053, YellowCottonShirt, Yellow Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2054, LightBlueCottonShirt, Light Blue Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2055, PinkCottonShirt, Pink Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2056, BlackCottonShirt, Black Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2057, OrangeCottonShirt, Orange Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2058, PurpleCottonShirt, Purple Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2059, DarkGreenCottonShirt, Dark Green Cotton Shirt, 5, 10, 5, 20, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2060, RedVNeckSweater, Red V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} +2061, GreenVNeckSweater, Green V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} +2062, DarkBlueVNeckSweater, Dark Blue V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} +2063, YellowVNeckSweater, Yellow V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} +2064, LightBlueVNeckSweater, Light Blue V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} +2065, PinkVNeckSweater, Pink V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} +2066, BlackVNeckSweater, Black V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} +2067, OrangeVNeckSweater, Orange V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} +2068, PurpleVNeckSweater, Purple V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} +2069, DarkGreenVNeckSweater, Dark Green V-Neck Sweater, 5, 6000, 3000, 35, , 8, , -16, 0, 2, 512, , 0, 0, {}, {} +2070, RedTurtleneckSweater, Red Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} +2071, GreenTurtleneckSweater, Green Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} +2072, DarkBlueTurtleneckSweater, Dark Blue Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} +2073, YellowTurtleneckSweater, Yellow Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} +2074, LightBlueTurtleneckSweater, Light Blue Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} +2075, PinkTurtleneckSweater, Pink Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} +2076, BlackTurtleneckSweater, Black Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} +2077, OrangeTurtleneckSweater, Orange Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} +2078, PurpleTurtleneckSweater, Purple Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} +2079, DarkGreenTurtleneckSweater, Dark Green Turtleneck Sweater, 5, 2000, 1000, 35, , 6, , -12, 0, 2, 512, , 0, 0, {}, {} +2080, RedSilkRobe, Red Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} +2081, GreenSilkRobe, Green Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} +2082, DarkBlueSilkRobe, Dark Blue Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} +2083, YellowSilkRobe, Yellow Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} +2084, LightBlueSilkRobe, Light Blue Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} +2085, PinkSilkRobe, Pink Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} +2086, BlackSilkRobe, Black Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} +2087, OrangeSilkRobe, Orange Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} +2088, PurpleSilkRobe, Purple Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} +2089, DarkGreenSilkRobe, Dark Green Silk Robe, 5, 8000, 4000, 30, , 5, , 0, 0, 2, 512, , 0, 0, {}, {} +2090, RedTankTop, Red Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2091, GreenTankTop, Green Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2092, DarkBlueTankTop, Dark Blue Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2093, YellowTankTop, Yellow Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2094, LightBlueTankTop, Light Blue Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2095, PinkTankTop, Pink Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2096, BlackTankTop, Black Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2097, OrangeTankTop, Orange Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2098, PurpleTankTop, Purple Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2099, DarkGreenTankTop, Dark Green Tank Top, 5, 10, 5, 12, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2100, RedCottonSkirt, Red Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2101, GreenCottonSkirt, Green Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2102, DarkBlueCottonSkirt, Dark Blue Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2103, YellowCottonSkirt, Yellow Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2104, LightBlueCottonSkirt, Light Blue Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2105, PinkCottonSkirt, Pink Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2106, BlackCottonSkirt, Black Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2107, OrangeCottonSkirt, Orange Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2108, PurpleCottonSkirt, Purple Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2109, DarkGreenCottonSkirt, Dark Green Cotton Skirt, 5, 1000, 500, 20, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2110, RedCottonShorts, Red Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} +2111, GreenCottonShorts, Green Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} +2112, DarkBlueCottonShorts, Dark Blue Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} +2113, YellowCottonShorts, Yellow Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} +2114, LightBlueCottonShorts, Light Blue Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} +2115, PinkCottonShorts, Pink Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} +2116, BlackCottonShorts, Black Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} +2117, OrangeCottonShorts, Orange Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} +2118, PurpleCottonShorts, Purple Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} +2119, DarkGreenCottonShorts, Dark Green Cotton Shorts, 5, 1000, 500, 20, , 2, , -4, 0, 2, 1, , 1, 0, {}, {} +2120, RedShortTankTop, Red Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2121, GreenShortTankTop, Green Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2122, DarkBlueShortTankTop, Dark Blue Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2123, YellowShortTankTop, Yellow Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2124, LightBlueShortTankTop, Light Blue Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2125, PinkShortTankTop, Pink Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2126, BlackShortTankTop, Black Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2127, OrangeShortTankTop, Orange Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2128, PurpleShortTankTop, Purple Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2129, DarkGreenShortTankTop, Dark Green Short Tank Top, 5, 10, 5, 8, , 2, , -4, 0, 2, 512, , 0, 0, {}, {} +2130, RedDesertHat, Red Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} +2131, GreenDesertHat, Green Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} +2132, DarkBlueDesertHat, Dark Blue Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} +2133, YellowDesertHat, Yellow Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} +2134, LightBlueDesertHat, Light Blue Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} +2135, PinkDesertHat, Pink Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} +2136, BlackDesertHat, Black Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} +2137, OrangeDesertHat, Orange Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} +2138, PurpleDesertHat, Purple Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} +2139, DarkGreenDesertHat, Dark Green Desert Hat, 5, 5000, 1000, 20, , 3, , -1, 0, 2, 256, , 0, 0, {}, {} +2140, RedCottonHeadband, Red Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +2141, GreenCottonHeadband, Green Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +2142, DarkBlueCottonHeadband, Dark Blue Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +2143, YellowCottonHeadband, Yellow Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +2144, LightBlueCottonHeadband, Light Blue Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +2145, PinkCottonHeadband, Pink Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +2146, BlackCottonHeadband, Black Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +2147, OrangeCottonHeadband, Orange Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +2148, PurpleCottonHeadband, Purple Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +2149, DarkGreenCottonHeadband, Dark Green Cotton Headband, 5, 3000, 500, 5, , 2, , 0, 0, 2, 256, , 0, 0, {}, {} +2150, RedCottonBoots, Red Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} +2151, GreenCottonBoots, Green Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} +2152, DarkBlueCottonBoots, Dark Blue Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} +2153, YellowCottonBoots, Yellow Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} +2154, LightBlueCottonBoots, Light Blue Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} +2155, PinkCottonBoots, Pink Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} +2156, BlackCottonBoots, Black Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} +2157, OrangeCottonBoots, Orange Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} +2158, PurpleCottonBoots, Purple Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} +2159, DarkGreenCottonBoots, Dark Green Cotton Boots, 5, 2000, 500, 30, , 1, , 1, 0, 2, 64, , 0, 0, {}, {} +2160, RedCottonGloves, Red Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} +2161, GreenCottonGloves, Green Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} +2162, DarkBlueCottonGloves, Dark Blue Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} +2163, YellowCottonGloves, Yellow Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} +2164, LightBlueCottonGloves, Light Blue Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} +2165, PinkCottonGloves, Pink Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} +2166, BlackCottonGloves, Black Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} +2167, OrangeCottonGloves, Orange Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} +2168, PurpleCottonGloves, Purple Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} +2169, DarkGreenCottonGloves, Dark Green Cotton Gloves, 5, 2000, 500, 20, , 1, , -10, 0, 2, 4, , 0, 0, {}, {} +2170, RedMiniskirt, Red Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2171, GreenMiniskirt, Green Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2172, DarkBlueMiniskirt, Dark Blue Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2173, YellowMiniskirt, Yellow Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2174, LightBlueMiniskirt, Light Blue Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2175, PinkMiniskirt, Pink Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2176, BlackMiniskirt, Black Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2177, OrangeMiniskirt, Orange Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2178, PurpleMiniskirt, Purple Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2179, DarkGreenMiniskirt, Dark Green Miniskirt, 5, 1000, 500, 8, , 4, , -8, 0, 2, 1, , 1, 0, {}, {} +2180, RedPaperhat, Red Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} +2181, GreenPaperhat, Green Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} +2182, DarkBluePaperhat, Dark Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} +2183, YellowPaperhat, Yellow Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} +2184, LightBluePaperhat, Light Blue Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} +2185, PinkPaperhat, Pink Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} +2186, BlackPaperhat, Black Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} +2187, OrangePaperhat, Orange Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} +2188, PurplePaperhat, Purple Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} +2189, DarkGreenPaperhat, Dark Green Paper Party Hat, 5, 10, 5, 10, , 1, , 0, 0, 2, 1, , 1, 0, {}, {} +2190, RedRabbitEars, Red Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2191, GreenRabbitEars, Green Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2192, DarkBlueRabbitEars, Dark Blue Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2193, YellowRabbitEars, Yellow Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2194, LightBlueRabbitEars, Light Blue Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2195, PinkRabbitEars, Pink Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2196, BlackRabbitEars, Black Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2197, OrangeRabbitEars, Orange Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2198, PurpleRabbitEars, Purple Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +2199, DarkGreenRabbitEars, Dark Green Rabbit Ears, 5, 7000, 5000, 15, , 5, , 4, 0, 2, 256, , 1, 0, {}, {} +3000, JackOLantern, Jack-o-Lantern, 3, 200, 100, 1000, , , , , , , , , , , {}, {} +3001, RubberBat, Rubber Bat, 3, 200, 100, 30, , , , , , , , , , , {}, {} +3002, RealisticBrain, Realistic Brain, 3, 200, 100, 50, , , , , , , , , , , {}, {} +3003, JarofBlood, Jar of Blood, 3, 200, 100, 375, , , , , , , , , , , {}, {} +3004, Tongue, Tongue, 3, 5, 1, 5, , , , , , , , , , , {}, {} +//3005 +3006, TonoriDelight, Tonori Delight, 0, 5, 1, 2, , , , , , 2, , , 0, , {}, {} +3007, Marshmallow, Marshmallow, 0, 5, 1, 2, , , , , , 2, , , 0, , {}, {} +//3008 +3009, JellySkull, Jelly Skull, 0, 5, 1, 2, , , , , , 2, , , 0, , {}, {} +3010, CandyPumpkin, CandyPumpkin, 0, 5, 1, 2, , , , , , 2, , , 0, , {}, {} +3011, PumpkinSeeds, Pumpkin Seeds, 3, 5, 1, 1, , , , , , , , , , , {}, {} +4000, AngryScorpionStinger, Angry Scorpion Stinger, 3, 50, 25, 1, , , , , , , , , , , {}, {} 4001, Coal, Coal, 3, 250, 100, 20, , , , , , , , , , , {}, {} 4002, GemRawWhite, Diamond, 3, 5000, 2500, 20, , , , , , , , , , , {}, {} 4003, GemRawRed, Ruby, 3, 5000, 2500, 20, , , , , , , , , , , {}, {} diff --git a/db/mob_db.txt b/db/mob_db.txt index a3754beb..b35e09a0 100644 --- a/db/mob_db.txt +++ b/db/mob_db.txt @@ -1,52 +1,52 @@ # ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop1id,Drop1per, Drop2id,Drop2per, Drop3id,Drop3per, Drop4id,Drop4per, Drop5id,Drop5per, Drop6id,Drop6per, Drop7id,Drop7per, Drop8id,Drop8per, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutation count,mutation strength -1002, Maggot, Maggot, 5, 50, 0, 0, 2, 1, 5, 10, 0, 5, 1, 1, 1, 0, 6, 5, 1, 1, 1, 3, 21, 129, 800, 1872, 672, 480, 505, 800, 501, 150, 518, 400, 533, 150, 502, 70, 522, 10, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 -1003, Scorpion, Scorpion, 10, 100, 0, 0, 4, 1, 10, 15, 0, 5, 1, 1, 1, 0, 15, 5, 1, 1, 1, 3, 20, 129, 2000, 1872, 672, 480, 507, 700, 510, 100, 509, 50, 518, 700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 -1004, RedScorpion, Red Scorpion, 90, 550, 0, 0, 145, 1, 50, 55, 4, 6, 8, 8, 10, 10, 30, 10, 1, 1, 1, 0, 20, 129, 1000, 1872, 672, 480, 517, 2000, 509, 100, 518, 500, 1200, 10, 1199, 760, 1201, 540, 524, 25, 0, 0, 0, 0, 0, 0, , , , , , , 1, 50 +1002, Maggot, Maggot, 5, 50, 0, 0, 2, 1, 5, 10, 0, 5, 1, 1, 1, 0, 6, 5, 1, 1, 1, 3, 21, 129, 800, 1872, 672, 480, 505, 800, 501, 150, 518, 400, 533, 150, 502, 70, 522, 10, 3000, 100, 3006, 500, 0, 0, 0, 0, , , , , , , 0, 0 +1003, Scorpion, Scorpion, 10, 100, 0, 0, 4, 1, 10, 15, 0, 5, 1, 1, 1, 0, 15, 5, 1, 1, 1, 3, 20, 129, 2000, 1872, 672, 480, 507, 700, 510, 100, 509, 50, 518, 700, 3002, 10, 3007, 500, 3010, 500, 3009, 500, 0, 0, 0, 0, , , , , , , 0, 0 +1004, RedScorpion, Red Scorpion, 90, 550, 0, 0, 145, 1, 50, 55, 4, 6, 8, 8, 10, 10, 30, 10, 1, 1, 1, 0, 20, 129, 1000, 1872, 672, 480, 517, 2000, 509, 100, 518, 500, 1200, 10, 1199, 760, 1201, 540, 524, 25, 3000, 300, 0, 0, 0, 0, , , , , , , 1, 50 1005, GreenSlime, Green Slime, 40, 300, 0, 0, 8, 1, 25, 30, 2, 7, 1, 20, 1, 0, 30, 30, 1, 1, 1, 0, 21, 131, 1500, 1872, 672, 480, 502, 200, 513, 100, 501, 100, 521, 100, 522, 190, 526, 10, 503, 500, 535, 750, 0, 0, 0, 0, , , , , , , 1, 20 -1006, GiantMaggot, Giant Maggot, 80, 500, 0, 0, 16, 2, 45, 75, 2, 7, 8, 6, 2, 1, 22, 1, 2, 2, 1, 0, 41, 129, 2000, 1872, 672, 480, 1199, 900, 519, 100, 518, 750, 501, 5000, 502, 3000, 503, 11, 526, 20, 0, 0, 0, 0, 0, 0, , , , , , , 1, 25 -1007, YellowSlime, Yellow Slime, 60, 400, 0, 0, 2, 1, 35, 40, 2, 7, 9, 6, 2, 1, 34, 1, 1, 1, 1, 0, 21, 131, 1400, 1800, 672, 480, 534, 200, 519, 100, 501, 350, 502, 250, 522, 10, 640, 450, 4006, 20, 0, 0, 0, 0, 0, 0, , , , , , , 1, 20 +1006, GiantMaggot, Giant Maggot, 80, 500, 0, 0, 16, 2, 45, 75, 2, 7, 8, 6, 2, 1, 22, 1, 2, 2, 1, 0, 41, 129, 2000, 1872, 672, 480, 1199, 900, 519, 100, 518, 750, 501, 5000, 502, 3000, 503, 11, 526, 20, 3003, 300, 0, 0, 0, 0, , , , , , , 1, 25 +1007, YellowSlime, Yellow Slime, 60, 400, 0, 0, 2, 1, 35, 40, 2, 7, 9, 6, 2, 1, 34, 1, 1, 1, 1, 0, 21, 131, 1400, 1800, 672, 480, 534, 200, 519, 100, 501, 350, 502, 250, 522, 10, 640, 450, 4006, 20, 3000, 200, 0, 0, 0, 0, , , , , , , 1, 20 1008, RedSlime, Red Slime, 70, 450, 0, 0, 56, 1, 40, 45, 2, 7, 12, 8, 2, 1, 25, 1, 1, 1, 1, 0, 21, 135, 1300, 1500, 672, 480, 1201, 300, 509, 110, 521, 200, 4003, 20, 525, 80, 535, 750, 528, 250, 531, 150, 0, 0, 0, 0, , , , , , , 2, 20 -1009, BlackScorpion, Black Scorpion, 100, 600, 0, 0, 70, 1, 60, 100, 4, 6, 16, 30, 10, 10, 35, 10, 1, 1, 1, 0, 20, 133, 1000, 1500, 672, 480, 523, 150, 509, 100, 518, 800, 709, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 50 -1010, Snake, Snake, 115, 850, 0, 0, 100, 1, 75, 90, 4, 6, 20, 11, 10, 10, 35, 10, 1, 1, 1, 0, 20, 133, 900, 1300, 672, 480, 524, 300, 0, 0, 714, 400, 714, 400, 710, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 -1011, FireGoblin, Fire Goblin, 20, 220, 0, 0, 2, 1, 15, 20, 0, 5, 1, 1, 1, 0, 6, 30, 1, 1, 1, 3, 23, 129, 800, 1872, 672, 480, 505, 800, 501, 150, 518, 800, 502, 150, 521, 70, 522, 10, 701, 500, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 -1012, Spider, Spider, 125, 800, 0, 0, 280, 1, 70, 85, 4, 6, 14, 13, 10, 10, 35, 10, 1, 1, 1, 0, 25, 175, 1000, 1500, 672, 480, 537, 500, 535, 100, 638, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 40 -1013, EvilMushroom, Evil Mushroom, 110, 650, 0, 0, 110, 1, 65, 80, 4, 6, 16, 12, 10, 10, 35, 10, 1, 1, 1, 3, 22, 137, 800, 1800, 672, 480, 535, 500, 540, 10, 534, 100, 566, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 1, 60 -1014, PinkFlower, Pink Flower, 115, 700, 0, 0, 110, 2, 70, 75, 0, 5, 16, 12, 20, 20, 20, 50, 2, 2, 1, 3, 22, 128, 800, 800, 672, 480, 535, 100, 540, 10, 1199, 100, 526, 400, 565, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 50 +1009, BlackScorpion, Black Scorpion, 100, 600, 0, 0, 70, 1, 60, 100, 4, 6, 16, 30, 10, 10, 35, 10, 1, 1, 1, 0, 20, 133, 1000, 1500, 672, 480, 523, 150, 509, 100, 518, 800, 709, 800, 3001, 80, 3006, 1200, 3007, 1000, 3010, 1800, 0, 0, 0, 0, , , , , , , 2, 50 +1010, Snake, Snake, 115, 850, 0, 0, 100, 1, 75, 90, 4, 6, 20, 11, 10, 10, 35, 10, 1, 1, 1, 0, 20, 133, 900, 1300, 672, 480, 524, 300, 3003, 200, 714, 400, 714, 400, 710, 500, 3009, 2000, 3006, 1000, 3007, 1300, 0, 0, 0, 0, , , , , , , 2, 30 +1011, FireGoblin, Fire Goblin, 20, 220, 0, 0, 2, 1, 15, 20, 0, 5, 1, 1, 1, 0, 6, 30, 1, 1, 1, 3, 23, 129, 800, 1872, 672, 480, 505, 800, 501, 150, 518, 800, 502, 150, 521, 70, 522, 10, 701, 500, 3003, 50, 0, 0, 0, 0, , , , , , , 2, 30 +1012, Spider, Spider, 125, 800, 0, 0, 280, 1, 70, 85, 4, 6, 14, 13, 10, 10, 35, 10, 1, 1, 1, 0, 25, 175, 1000, 1500, 672, 480, 537, 500, 535, 100, 638, 20, 3001, 100, 3010, 2000, 3009, 1800, 3006, 2200, 3007, 1000, 0, 0, 0, 0, , , , , , , 2, 40 +1013, EvilMushroom, Evil Mushroom, 110, 650, 0, 0, 110, 1, 65, 80, 4, 6, 16, 12, 10, 10, 35, 10, 1, 1, 1, 3, 22, 137, 800, 1800, 672, 480, 535, 500, 540, 10, 534, 100, 566, 500, 3002, 50, 3010, 1500, 3009, 1500, 3006, 1500, 0, 0, 0, 0, , , , , , , 1, 60 +1014, PinkFlower, Pink Flower, 115, 700, 0, 0, 110, 2, 70, 75, 0, 5, 16, 12, 20, 20, 20, 50, 2, 2, 1, 3, 22, 128, 800, 800, 672, 480, 535, 100, 540, 10, 1199, 100, 526, 400, 565, 500, 3000, 500, 3007, 750, 3010, 750, 0, 0, 0, 0, , , , , , , 2, 50 1015, SantaSlime, Santa Slime, 120, 750, 0, 0, 0, 1, 75, 80, 2, 7, 1, 20, 1, 0, 30, 30, 1, 1, 1, 0, 21, 161, 1500, 1872, 672, 480, 512, 800, 513, 700, 514, 600, 519, 500, 527, 400, 538, 500, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 1, 10 1016, RudolphSlime, Rudolph Slime, 50, 350, 0, 0, 16, 1, 30, 35, 10, 7, 1, 20, 1, 0, 30, 30, 1, 1, 1, 0, 21, 131, 1000, 1872, 672, 480, 504, 800, 506, 500, 508, 200, 509, 300, 510, 600, 515, 800, 516, 500, 4021, 400, 0, 0, 0, 0, , , , , , , 2, 30 1017, Bat, Bat, 20, 150, 0, 0, 2, 1, 5, 25, 0, 5, 1, 1, 1, 0, 20, 25, 1, 1, 1, 3, 24, 129, 800, 1872, 672, 480, 505, 800, 501, 150, 518, 400, 533, 150, 521, 70, 522, 1, 753, 3000, 754, 2000, 0, 0, 0, 0, , , , , , , 2, 40 -1018, Pinkie, Pinkie, 30, 500, 0, 0, 3, 2, 7, 15, 0, 5, 1, 1, 1, 0, 20, 25, 2, 2, 1, 3, 20, 129, 800, 1872, 672, 480, 614, 800, 751, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 3, 50 -1019, SpikyMushroom, Spiky Mushroom, 30, 300, 0, 0, 4, 1, 10, 13, 0, 5, 1, 1, 1, 0, 10, 10, 1, 1, 1, 3, 20, 129, 800, 1872, 672, 480, 567, 800, 501, 150, 518, 50, 613, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 3, 40 -1020, Fluffy, Fluffy, 30, 500, 0, 0, 3, 1, 6, 10, 1, 5, 1, 2, 1, 0, 20, 25, 1, 1, 1, 3, 20, 129, 800, 1600, 672, 480, 611, 800, 527, 150, 535, 400, 752, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 3, 40 -1021, CaveSnake, Cave Snake, 30, 1000, 0, 0, 5, 1, 20, 15, 1, 5, 10, 1, 1, 0, 5, 20, 1, 1, 1, 3, 20, 129, 800, 1872, 672, 480, 612, 800, 610, 40, 713, 500, 717, 400, 717, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 3, 50 -1022, JackO, Jack O, 250, 10000, 0, 0, 5000, 2, 100, 500, 40, 20, 35, 40, 25, 25, 35, 50, 1, 1, 1, 0, 20, 133, 250, 1500, 672, 480, 617, 300, 622, 400, 624, 400, 620, 400, 615, 300, 1203, 400, 1198, 10000, 616, 600, 0, 0, 0, 0, , , , , , , 2, 30 -1023, FireSkull, Fire Skull, 180, 5000, 0, 0, 100, 2, 75, 175, 35, 15, 30, 30, 20, 20, 25, 60, 1, 1, 1, 3, 23, 175, 600, 1600, 672, 480, 631, 1000, 701, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 -1024, PoisonSkull, Poison Skull, 180, 5000, 0, 0, 100, 2, 75, 175, 35, 15, 30, 30, 20, 20, 25, 60, 1, 1, 1, 3, 25, 175, 600, 1600, 672, 480, 631, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 4, 20 -1025, LogHead, Log Head, 30, 500, 0, 0, 30, 1, 7, 20, 50, 5, 1, 1, 1, 0, 20, 25, 1, 1, 1, 3, 22, 129, 800, 1872, 672, 480, 569, 2000, 740, 2500, 743, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 1, 50 -1026, MountainSnake, Mountain Snake, 130, 900, 0, 0, 100, 1, 80, 125, 4, 6, 20, 40, 10, 10, 35, 45, 1, 1, 1, 0, 20, 133, 1000, 1500, 672, 480, 532, 20, 641, 150, 715, 400, 715, 400, 711, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 1, 30 +1018, Pinkie, Pinkie, 30, 500, 0, 0, 3, 2, 7, 15, 0, 5, 1, 1, 1, 0, 20, 25, 2, 2, 1, 3, 20, 129, 800, 1872, 672, 480, 614, 800, 751, 40, 3002, 10, 3009, 750, 3006, 500, 3007, 800, 3010, 600, 0, 0, 0, 0, 0, 0, , , , , , , 3, 50 +1019, SpikyMushroom, Spiky Mushroom, 30, 300, 0, 0, 4, 1, 10, 13, 0, 5, 1, 1, 1, 0, 10, 10, 1, 1, 1, 3, 20, 129, 800, 1872, 672, 480, 567, 800, 501, 150, 518, 50, 613, 150, 3001, 40, 3009, 500, 3006, 750, 3007, 800, 0, 0, 0, 0, , , , , , , 3, 40 +1020, Fluffy, Fluffy, 30, 500, 0, 0, 3, 1, 6, 10, 1, 5, 1, 2, 1, 0, 20, 25, 1, 1, 1, 3, 20, 129, 800, 1600, 672, 480, 611, 800, 527, 150, 535, 400, 752, 20, 3003, 100, 3010, 1000, 3009, 1000, 3004, 1000, 0, 0, 0, 0, , , , , , , 3, 40 +1021, CaveSnake, Cave Snake, 30, 1000, 0, 0, 5, 1, 20, 15, 1, 5, 10, 1, 1, 0, 5, 20, 1, 1, 1, 3, 20, 129, 800, 1872, 672, 480, 612, 800, 610, 40, 713, 500, 717, 400, 717, 400, 3001, 50, 3006, 1200, 3007, 1200, 0, 0, 0, 0, , , , , , , 3, 50 +1022, JackO, Jack O, 250, 10000, 0, 0, 5000, 2, 100, 500, 40, 20, 35, 40, 25, 25, 35, 50, 1, 1, 1, 0, 20, 133, 250, 1500, 672, 480, 617, 300, 622, 400, 624, 400, 620, 400, 615, 300, 1203, 400, 1198, 1000, 616, 600, 0, 0, 0, 0, , , , , , , 2, 30 +1023, FireSkull, Fire Skull, 180, 5000, 0, 0, 100, 2, 75, 175, 35, 15, 30, 30, 20, 20, 25, 60, 1, 1, 1, 3, 23, 175, 600, 1600, 672, 480, 631, 1000, 701, 5000, 3003, 500, 3010, 9000, 3010, 7000, 3009, 9000, 3009, 7000, 3009, 5000, 0, 0, 0, 0, , , , , , , 2, 30 +1024, PoisonSkull, Poison Skull, 180, 5000, 0, 0, 100, 2, 75, 175, 35, 15, 30, 30, 20, 20, 25, 60, 1, 1, 1, 3, 25, 175, 600, 1600, 672, 480, 631, 1000, 3000, 1000, 3006, 5000, 3006, 5000, 3006, 5000, 3006, 5000, 3010, 7000, 0, 0, 0, 0, 0, 0, , , , , , , 4, 20 +1025, LogHead, Log Head, 30, 500, 0, 0, 30, 1, 7, 20, 50, 5, 1, 1, 1, 0, 20, 25, 1, 1, 1, 3, 22, 129, 800, 1872, 672, 480, 569, 2000, 740, 2500, 743, 3000, 3001, 50, 3007, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 1, 50 +1026, MountainSnake, Mountain Snake, 130, 900, 0, 0, 100, 1, 80, 125, 4, 6, 20, 40, 10, 10, 35, 45, 1, 1, 1, 0, 20, 133, 1000, 1500, 672, 480, 532, 20, 641, 150, 715, 400, 715, 400, 711, 500, 3003, 300, 3010, 3000, 3009, 4000, 0, 0, 0, 0, , , , , , , 1, 30 1027, EasterFluffy, Easter Fluffy, 30, 500, 0, 0, 3, 1, 10, 12, 0, 5, 1, 1, 1, 0, 20, 25, 1, 1, 1, 3, 20, 129, 800, 1872, 672, 480, 1208, 2000, 1209, 2000, 1210, 2000, 1211, 1000, 1212, 1000, 1213, 200, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 1, 40 -1028, Mouboo, Mouboo, 85, 1200, 0, 0, 40, 2, 30, 75, 65, 5, 15, 5, 15, 0, 40, 10, 2, 2, 1, 3, 20, 129, 600, 1872, 672, 480, 660, 200, 660, 100, 541, 750, 660, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 1, 30 +1028, Mouboo, Mouboo, 85, 1200, 0, 0, 40, 2, 30, 75, 65, 5, 15, 5, 15, 0, 40, 10, 2, 2, 1, 3, 20, 129, 600, 1872, 672, 480, 660, 200, 660, 100, 541, 750, 660, 10, 3002, 200, 3006, 2000, 3007, 4000, 3004, 2500, 0, 0, 0, 0, , , , , , , 1, 30 1029, MauvePlant, Mauve Plant, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 22, 0, 800, 800, 672, 480, 680, 3000, 680, 3000, 680, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 1, 60 1030, CobaltPlant, Cobalt Plant, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 22, 0, 800, 800, 672, 480, 681, 3000, 681, 3000, 681, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 1031, GambogePlant, Gamboge Plant, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 22, 0, 800, 800, 672, 480, 682, 3000, 682, 3000, 682, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 1032, AlizarinPlant, Alizarin Plant, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 22, 0, 800, 800, 672, 480, 683, 3000, 683, 3000, 683, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 1033, SeaSlime, Sea Slime, 70, 600, 0, 0, 9, 1, 30, 50, 3, 7, 1, 25, 1, 0, 30, 30, 1, 1, 1, 0, 41, 131, 1500, 1872, 672, 480, 535, 800, 657, 800, 518, 500, 510, 1000, 700, 100, 1199, 5000, 568, 100, 541, 50, 0, 0, 0, 0, , , , , , , 0, 0 -1034, GrassSnake, Grass Snake, 140, 1000, 0, 0, 100, 1, 80, 120, 2, 10, 20, 40, 10, 10, 40, 50, 1, 1, 1, 0, 20, 133, 500, 1100, 672, 480, 716, 400, 716, 400, 712, 500, 676, 500, 660, 350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 1, 40 -1035, Silkworm, Silkworm, 20, 1, 0, 0, 1, 1, 0, 0, 2, 10, 20, 11, 10, 10, 40, 10, 1, 1, 1, 0, 20, 129, 1300, 1100, 672, 480, 718, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 40 -1036, Zombie, Zombie, 110, 12000, 0, 0, 800, 2, 275, 355, 20, 15, 30, 15, 30, 3, 60, 40, 1, 1, 1, 0, 29, 133, 480, 1872, 672, 900, 631, 1000, 777, 700, 778, 120, 779, 200, 780, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 +1034, GrassSnake, Grass Snake, 140, 1000, 0, 0, 100, 1, 80, 120, 2, 10, 20, 40, 10, 10, 40, 50, 1, 1, 1, 0, 20, 133, 500, 1100, 672, 480, 716, 400, 716, 400, 712, 500, 676, 500, 660, 350, 3002, 100, 3009, 7500, 3006, 7000, 0, 0, 0, 0, , , , , , , 1, 40 +1035, Silkworm, Silkworm, 20, 1, 0, 0, 1, 1, 0, 0, 2, 10, 20, 11, 10, 10, 40, 10, 1, 1, 1, 0, 20, 129, 1300, 1100, 672, 480, 718, 5000, 3001, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 40 +1036, Zombie, Zombie, 110, 12000, 0, 0, 800, 2, 275, 355, 20, 15, 30, 15, 30, 3, 60, 40, 1, 1, 1, 0, 29, 133, 480, 1872, 672, 900, 631, 1000, 777, 700, 778, 120, 779, 200, 780, 150, 3002, 1000, 3007, 9500, 3010, 9500, 0, 0, 0, 0, , , , , , , 2, 30 1037, CloverPatch, Clover Patch, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 22, 0, 800, 800, 672, 480, 742, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 -1038, Squirrel, Squirrel, 15, 160, 1, 0, 1, 1, 15, 25, 1, 6, 1, 3, 1, 0, 15, 40, 1, 1, 1, 3, 20, 129, 800, 800, 672, 480, 743, 7000, 680, 1000, 681, 1000, 682, 1000, 683, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 1, 15 +1038, Squirrel, Squirrel, 15, 160, 1, 0, 1, 1, 15, 25, 1, 6, 1, 3, 1, 0, 15, 40, 1, 1, 1, 3, 20, 129, 800, 800, 672, 480, 743, 7000, 680, 1000, 681, 1000, 682, 1000, 683, 1000, 3003, 50, 3009, 800, 3004, 7500, 0, 0, 0, 0, , , , , , , 1, 15 //1039, FireLizard -1040, Wisp, Wisp, 70, 9300, 0, 0, 140, 2, 215, 350, 0, 20, 45, 12, 13, 15, 0, 45, 1, 1, 1, 0, 27, 137, 380, 2000, 672, 1500, 772, 500, 703, 150, 703, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 20 +1040, Wisp, Wisp, 70, 9300, 0, 0, 140, 2, 215, 350, 0, 20, 45, 12, 13, 15, 0, 45, 1, 1, 1, 0, 27, 137, 380, 2000, 672, 1500, 772, 500, 703, 150, 703, 120, 3000, 100, 3007, 8000, 3007, 7000, 3007, 6000, 3007, 5000, 0, 0, 0, 0, , , , , , , 2, 20 //1041, Snail -1042, Spectre, Spectre, 140, 6500, 0, 3978, 140, 3, 160, 220, 40, 0, 35, 70, 22, 15, 20, 70, 1, 1, 1, 0, 49, 137, 650, 1700, 800, 500, 773, 500, 703, 150, 703, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 20 -1043, Skeleton, Skeleton, 90, 6800, 0, 0, 90, 1, 51, 284, 12, 10, 35, 18, 3, 8, 71, 65, 1, 1, 1, 0, 29, 175, 340, 1800, 672, 950, 775, 200, 775, 280, 776, 300, 631, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 -1044, LadySkeleton, Lady Skeleton, 90, 5500, 0, 0, 90, 2, 73, 146, 31, 8, 20, 25, 15, 8, 43, 48, 1, 1, 1, 0, 29, 175, 650, 750, 672, 700, 775, 200, 775, 280, 776, 300, 631, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 -1045, Fallen, Fallen, 120, 10000, 0, 7812, 1000, 2, 180, 430, 5, 20, 40, 3, 25, 5, 80, 45, 1, 1, 1, 0, 49, 133, 300, 1200, 672, 300, 775, 210, 775, 210, 776, 300, 631, 1000, 636, 3, 658, 2, 532, 35, 0, 0, 0, 0, 0, 0, , , , , , , 4, 50 +1042, Spectre, Spectre, 140, 6500, 0, 3978, 140, 3, 160, 220, 40, 0, 35, 70, 22, 15, 20, 70, 1, 1, 1, 0, 49, 137, 650, 1700, 800, 500, 773, 500, 703, 150, 703, 120, 3003, 100, 3010, 8000, 3010, 7000, 3010, 6000, 0, 0, 0, 0, 0, 0, , , , , , , 2, 20 +1043, Skeleton, Skeleton, 90, 6800, 0, 0, 90, 1, 51, 284, 12, 10, 35, 18, 3, 8, 71, 65, 1, 1, 1, 0, 29, 175, 340, 1800, 672, 950, 775, 200, 775, 280, 776, 300, 631, 1000, 3002, 500, 3006, 5000, 3006, 5000, 3007, 3000, 0, 0, 0, 0, , , , , , , 2, 30 +1044, LadySkeleton, Lady Skeleton, 90, 5500, 0, 0, 90, 2, 73, 146, 31, 8, 20, 25, 15, 8, 43, 48, 1, 1, 1, 0, 29, 175, 650, 750, 672, 700, 775, 200, 775, 280, 776, 300, 631, 1000, 0, 0, 3000, 100, 3007, 3000, 3007, 3000, 0, 0, 0, 0, , , , , , , 2, 30 +1045, Fallen, Fallen, 120, 10000, 0, 7812, 1000, 2, 180, 430, 5, 20, 40, 3, 25, 5, 80, 45, 1, 1, 1, 0, 49, 133, 300, 1200, 672, 300, 775, 210, 775, 210, 776, 300, 631, 1000, 636, 3, 658, 2, 532, 35, 3001, 500, 0, 0, 0, 0, , , , , , , 4, 50 1046, SnakeLord, Snake Lord, 300, 40000, 0, 0, 8000, 2, 80, 120, 10, 10, 20, 40, 10, 10, 40, 10, 1, 1, 1, 0, 20, 132, 200, 1500, 672, 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 -1047, Poltergeist, Poltergeist, 90, 9000, 0, 0, 140, 3, 110, 150, 0, 20, 35, 0, 15, 15, 75, 50, 1, 1, 1, 0, 27, 137, 330, 740, 672, 400, 774, 500, 703, 150, 703, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 20 +1047, Poltergeist, Poltergeist, 90, 9000, 0, 0, 140, 3, 110, 150, 0, 20, 35, 0, 15, 15, 75, 50, 1, 1, 1, 0, 27, 137, 330, 740, 672, 400, 774, 500, 703, 150, 703, 120, 3001, 100, 3009, 8000, 3009, 7000, 3009, 6000, 3009, 5000, 0, 0, 0, 0, , , , , , , 2, 20 //1048, Duck -1049, Bee, Bee, 30, 600, 0, 0, 40, 1, 5, 90, 12, 4, 15, 25, 20, 3, 40, 30, 1, 1, 1, 0, 25, 137, 380, 1500, 300, 350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 +1049, Bee, Bee, 30, 600, 0, 0, 40, 1, 5, 90, 12, 4, 15, 25, 20, 3, 40, 30, 1, 1, 1, 0, 25, 137, 380, 1500, 300, 350, 3001, 50, 3010, 3000, 3009, 2000, 3006, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 //1050, Larvespa //1051, Vespa //1052, Hivespa @@ -68,5 +68,5 @@ 1068, Reaper, Reaper, 50, 55500, 0, 0, 10000, 12, 444, 555, 30, 80, 100, 200, 70, 120, 150, 80, 1, 50, 1, 1, 89, 165, 500, 1200, 800, 300, 777, 1000, 775, 500, 776, 100, 1221, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 1069, Scythe, Scythe, 40, 3000, 0, 0, 500, 1, 200, 350, 30, 10, 100, 250, 1, 1, 150, 90, 1, 50, 1, 0, 40, 133, 220, 700, 672, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 1070, BallLightning, Ball Lightning, 40, 50, 0, 0, 10, 1, 5, 10, 40, 65, 1, 200, 1, 1, 1, 1, 1, 50, 1, 0, 47, 133, 110, 1500, 672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 -1071, IceElement, Ice Element, 20, 1000, 0, 0, 200, 2, 60, 60, 0, 20, 15, 25, 15, 15, 20, 50, 1, 1, 1, 0, 41, 135, 330, 740, 672, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 20 -1072, Yeti, Yeti, 35, 3000, 0, 0, 300, 2, 50, 150, 40, 0, 70, 5, 20, 15, 5, 15, 1, 1, 1, 0, 61, 135, 400, 1500, 672, 900, 4021, 800, 4021, 800, 4021, 800, 4021, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 +1071, IceElement, Ice Element, 20, 1000, 0, 0, 200, 2, 60, 60, 0, 20, 15, 25, 15, 15, 20, 50, 1, 1, 1, 0, 41, 135, 330, 740, 672, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 20 +1072, Yeti, Yeti, 35, 3000, 0, 0, 300, 2, 50, 150, 40, 0, 70, 5, 20, 15, 5, 15, 1, 1, 1, 0, 61, 135, 400, 1500, 672, 900, 4021, 800, 4021, 800, 4021, 800, 4021, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 \ No newline at end of file diff --git a/news.txt b/news.txt index 3f0ce701..c7b1aab3 100644 --- a/news.txt +++ b/news.txt @@ -1,3 +1,36 @@ +##2 ~ The Hurnscald Herald ~ + +##3 Countless candy-concerning complaints: council +##3 consequently considers citizen-composed cleanup crew +##3 Twelfth of November 2010 + +##0 Recently, the ancient tradition of Hallowe'en +##0 was celebrated across Argaes, Tonori and other +##0 continents. Estimated tons of sweets were given +##0 out to happy trick-or-treaters, and as with +##0 most other years a lot of this vast total was +##0 dropped on the night. Even a week and a half +##0 after Hallowe'en, many kilograms of sweets +##0 still litter our pleasant woodlands. + +##0 After dozens of letters regarding the situation, +##0 the Hurnscald Council has said that the best +##0 solution would be to organise a team of +##0 volunteers to work on collecting dropped sweets +##0 and disposing of them - but it has yet to +##0 organise any such thing. + +##0 In the meantime, why not do your bit and collect +##0 some sweets for yourself? If you don't mind them +##0 being a bit old, you could be able to make the +##0 biggest Hallowe'en haul in history. + +##0 Additionally, we've been getting some reports of +##0 a rather creepy skeleton hanging around the +##0 woodland. He doesn't appear to be aggressive, +##0 but he chatters unintelligibly at passers-by. + + ##3 Rollback ##0 2010-11-17 ##0 @@ -89,7 +122,6 @@ ##0 hands. :) ##0 ##0 -##3 Tulimshar Imposes Trade Regulations ##3 2010-08-29 ##0 Throughout Argaes, new trade regulations from ##0 Tulimshar have concentrated wealth and power diff --git a/npc/007-1_Woodland/_mobs.txt b/npc/007-1_Woodland/_mobs.txt index 29ad1105..cb2a8467 100644 --- a/npc/007-1_Woodland/_mobs.txt +++ b/npc/007-1_Woodland/_mobs.txt @@ -9,6 +9,7 @@ 007-1.gat,0,0,0,0 monster Clover 1037,2,0,1000,Mob007-1::On1037 007-1.gat,0,0,0,0 monster Squirrel 1038,25,30,20,Mob007-1::On1038 007-1.gat,0,0,0,0 monster Butterfly 1055,10,30,20,Mob007-1::On1055 +007-1.gat,0,0,0,0 monster Pumpkin 1064,2,30000,20000 007-1.gat,0,0,0 script Mob007-1 -1,{ diff --git a/npc/008-1_Hurnscald_outskirts/_mobs.txt b/npc/008-1_Hurnscald_outskirts/_mobs.txt index 12147858..9e7880fe 100644 --- a/npc/008-1_Hurnscald_outskirts/_mobs.txt +++ b/npc/008-1_Hurnscald_outskirts/_mobs.txt @@ -9,6 +9,7 @@ 008-1.gat,0,0,0,0 monster Clover 1037,2,0,1000,Mob008-1::On1037 008-1.gat,0,0,0,0 monster Squirrel 1038,10,30,20,Mob008-1::On1038 008-1.gat,0,0,0,0 monster Butterfly 1055,10,30,20,Mob008-1::On1055 +008-1.gat,0,0,0,0 monster Pumpkin 1064,2,40000,40000 008-1.gat,0,0,0 script Mob008-1 -1,{ diff --git a/npc/009-1_Hurnscald/_mobs.txt b/npc/009-1_Hurnscald/_mobs.txt index 5f1fcf89..c066bac8 100644 --- a/npc/009-1_Hurnscald/_mobs.txt +++ b/npc/009-1_Hurnscald/_mobs.txt @@ -5,6 +5,7 @@ 009-1.gat,88,51,15,4 monster Squirrel 1038,2,0,5000,Mob009-1::On1038 009-1.gat,80,38,5,5 monster Squirrel 1038,1,0,5000,Mob009-1::On1038 009-1.gat,0,0,0,0 monster Butterfly 1055,5,30,20,Mob009-1::On1055 +009-1.gat,0,0,0,0 monster Pumpkin 1064,1,40000,40000 009-1.gat,0,0,0 script Mob009-1 -1,{ diff --git a/npc/010-1_Woodland/_mobs.txt b/npc/010-1_Woodland/_mobs.txt index 87140ff3..d86c2641 100644 --- a/npc/010-1_Woodland/_mobs.txt +++ b/npc/010-1_Woodland/_mobs.txt @@ -13,6 +13,7 @@ 010-1.gat,0,0,0,0 monster Clover 1037,2,0,1000,Mob010-1::On1037 010-1.gat,0,0,0,0 monster Squirrel 1038,25,30,20,Mob010-1::On1038 010-1.gat,0,0,0,0 monster Butterfly 1055,10,30,20,Mob010-1::On1055 +010-1.gat,0,0,0,0 monster Pumpkin 1064,3,30000,20000 010-1.gat,0,0,0 script Mob010-1 -1,{ diff --git a/npc/011-1_Woodland/_mobs.txt b/npc/011-1_Woodland/_mobs.txt index 05ed18ed..3aa95c29 100644 --- a/npc/011-1_Woodland/_mobs.txt +++ b/npc/011-1_Woodland/_mobs.txt @@ -11,6 +11,7 @@ 011-1.gat,0,0,0,0 monster Clover 1037,2,0,1000,Mob011-1::On1037 011-1.gat,0,0,0,0 monster Squirrel 1038,25,30,20,Mob011-1::On1038 011-1.gat,0,0,0,0 monster Butterfly 1055,10,30,20,Mob011-1::On1055 +011-1.gat,0,0,0,0 monster Pumpkin 1064,2,30000,20000 011-1.gat,0,0,0 script Mob011-1 -1,{ diff --git a/npc/012-1_Woodland_Hills/_mobs.txt b/npc/012-1_Woodland_Hills/_mobs.txt index c081df48..13e21929 100644 --- a/npc/012-1_Woodland_Hills/_mobs.txt +++ b/npc/012-1_Woodland_Hills/_mobs.txt @@ -11,6 +11,7 @@ 012-1.gat,0,0,0,0 monster Clover 1037,2,0,1000,Mob012-1::On1037 012-1.gat,0,0,0,0 monster Squirrel 1038,25,30,20,Mob012-1::On1038 012-1.gat,0,0,0,0 monster Butterfly 1055,20,30,20,Mob012-1::On1055 +012-1.gat,0,0,0,0 monster Pumpkin 1064,6,40000,30000 012-1.gat,0,0,0 script Mob012-1 -1,{ diff --git a/npc/013-1_Woodland_hills/_mobs.txt b/npc/013-1_Woodland_hills/_mobs.txt index 04bdf4ce..2086aa5f 100644 --- a/npc/013-1_Woodland_hills/_mobs.txt +++ b/npc/013-1_Woodland_hills/_mobs.txt @@ -15,6 +15,7 @@ 013-1.gat,0,0,0,0 monster Clover 1037,2,0,1000,Mob013-1::On1037 013-1.gat,0,0,0,0 monster Squirrel 1038,25,30,20,Mob013-1::On1038 013-1.gat,0,0,0,0 monster Butterfly 1055,10,30,20,Mob013-1::On1055 +013-1.gat,0,0,0,0 monster Pumpkin 1064,2,50000,45000 013-1.gat,0,0,0 script Mob013-1 -1,{ diff --git a/npc/014-1_Woodland/_mobs.txt b/npc/014-1_Woodland/_mobs.txt index 6f530db9..fc21e806 100644 --- a/npc/014-1_Woodland/_mobs.txt +++ b/npc/014-1_Woodland/_mobs.txt @@ -16,6 +16,7 @@ 014-1.gat,0,0,0,0 monster Clover 1037,2,0,1000,Mob014-1::On1037 014-1.gat,0,0,0,0 monster Squirrel 1038,25,30,20,Mob014-1::On1038 014-1.gat,0,0,0,0 monster Butterfly 1055,10,30,20,Mob014-1::On1055 +014-1.gat,0,0,0,0 monster Pumpkin 1064,2,40000,40000 014-1.gat,0,0,0 script Mob014-1 -1,{ diff --git a/npc/015-1_Woodland/_mobs.txt b/npc/015-1_Woodland/_mobs.txt index da42f9d1..ca1e87bf 100644 --- a/npc/015-1_Woodland/_mobs.txt +++ b/npc/015-1_Woodland/_mobs.txt @@ -2,6 +2,7 @@ 015-1.gat,0,0,0,0 monster Clover 1037,2,100000,1000,Mob015-1::On1037 015-1.gat,0,0,0,0 monster Butterfly 1055,10,30,20,Mob015-1::On1055 +015-1.gat,0,0,0,0 monster Pumpkin 1064,1,60000,60000 015-1.gat,0,0,0 script Mob015-1 -1,{ diff --git a/npc/016-1_Woodland/_mobs.txt b/npc/016-1_Woodland/_mobs.txt index 47df3be4..9bff35fd 100644 --- a/npc/016-1_Woodland/_mobs.txt +++ b/npc/016-1_Woodland/_mobs.txt @@ -2,6 +2,7 @@ 016-1.gat,0,0,0,0 monster Clover 1037,2,100000,30000,Mob016-1::On1037 016-1.gat,0,0,0,0 monster Butterfly 1055,10,30,20,Mob016-1::On1055 +016-1.gat,0,0,0,0 monster Pumpkin 1064,1,60000,60000 016-1.gat,0,0,0 script Mob016-1 -1,{ diff --git a/npc/017-1_Woodland_hills/_mobs.txt b/npc/017-1_Woodland_hills/_mobs.txt index fd79bb69..f5ead1e7 100644 --- a/npc/017-1_Woodland_hills/_mobs.txt +++ b/npc/017-1_Woodland_hills/_mobs.txt @@ -5,6 +5,7 @@ 017-1.gat,91,25,76,8 monster Loghead 2027,3,5000,60000,Mob017-1::On2027 017-1.gat,31,48,19,12 monster Loghead 2027,3,5000,60000,Mob017-1::On2027 017-1.gat,0,0,0,0 monster Butterfly 1055,10,30,20,Mob017-1::On1055 +017-1.gat,0,0,0,0 monster Pumpkin 1064,3,32000,20000 017-1.gat,0,0,0 script Mob017-1 -1,{ diff --git a/npc/018-1_Woodland_mining_camp/_mobs.txt b/npc/018-1_Woodland_mining_camp/_mobs.txt index 292e0547..2a2af659 100644 --- a/npc/018-1_Woodland_mining_camp/_mobs.txt +++ b/npc/018-1_Woodland_mining_camp/_mobs.txt @@ -26,6 +26,7 @@ 018-1.gat,160,31,11,18 monster Red Slime 1008,5,100000,50000,Mob018-1::On1008 018-1.gat,0,0,0,0 monster Clover 1037,2,0,1000,Mob018-1::On1037 018-1.gat,0,0,0,0 monster Butterfly 1055,20,30,20,Mob018-1::On1055 +018-1.gat,0,0,0,0 monster Pumpkin 1064,6,60000,60000 018-1.gat,0,0,0 script Mob018-1 -1,{ diff --git a/npc/025-1_Woodland_Swamp/_mobs.txt b/npc/025-1_Woodland_Swamp/_mobs.txt index ec980c3c..4aed8361 100644 --- a/npc/025-1_Woodland_Swamp/_mobs.txt +++ b/npc/025-1_Woodland_Swamp/_mobs.txt @@ -10,6 +10,7 @@ 025-1.gat,73,61,107,82 monster Spiky Mushroom 1019,40,90000,500,Mob025-1::On1019 025-1.gat,101,53,55,65 monster Squirrel 1038,18,60000,9000,Mob025-1::On1038 025-1.gat,26,61,15,85 monster Scorpion 1003,12,100000,50000,Mob025-1::On1003 +025-1.gat,0,0,0,0 monster Pumpkin 1064,5,45000,35000 025-1.gat,0,0,0 script Mob025-1 -1,{ diff --git a/npc/026-1_Swamp/_mobs.txt b/npc/026-1_Swamp/_mobs.txt index 2885ca7b..5068ba8b 100644 --- a/npc/026-1_Swamp/_mobs.txt +++ b/npc/026-1_Swamp/_mobs.txt @@ -8,6 +8,7 @@ 026-1.gat,71,57,113,81 monster Skeleton 1043,5,900000,10000,Mob026-1::On1043 026-1.gat,68,61,106,88 monster LadySkeleton 1044,5,900000,20000,Mob026-1::On1044 026-1.gat,68,60,107,87 monster Log Head 1025,8,300000,40000,Mob026-1::On1025 +026-1.gat,0,0,0,0 monster Pumpkin 1064,8,50000,40000 026-1.gat,0,0,0 script Mob026-1 -1,{ diff --git a/npc/027-1_Graveyard/_mobs.txt b/npc/027-1_Graveyard/_mobs.txt index 372c2833..73641d27 100644 --- a/npc/027-1_Graveyard/_mobs.txt +++ b/npc/027-1_Graveyard/_mobs.txt @@ -22,6 +22,7 @@ 027-1.gat,37,65,33,22 monster Zombie 1036,3,140000,30000,Mob027-1::On1036 027-1.gat,37,65,33,22 monster Fallen 1045,3,120000,30000,Mob027-1::On1045 027-1.gat,28,67,2,1 monster Jack O 1022,1,265000,200000,Mob027-1::On1022 +027-1.gat,0,0,0,0 monster Pumpkin 1064,9,45000,35000 027-1.gat,0,0,0 script Mob027-1 -1,{ diff --git a/npc/028-1/_mobs.txt b/npc/028-1/_mobs.txt index 317b10d1..63783af0 100644 --- a/npc/028-1/_mobs.txt +++ b/npc/028-1/_mobs.txt @@ -12,6 +12,7 @@ 028-1.gat,76,100,93,16 monster Spectre 1042,8,200000,15000,Mob028-1::On1042 028-1.gat,104,114,61,14 monster Poltergeist 1047,8,200000,15000,Mob028-1::On1047 028-1.gat,54,42,1,1 monster Fallen 1045,1,700000,300000,Mob028-1::On1045 +028-1.gat,0,0,0,0 monster Pumpkin 1064,4,40000,40000 028-1.gat,0,0,0 script Mob028-1 -1,{ diff --git a/npc/029-1_Candor/_mobs.txt b/npc/029-1_Candor/_mobs.txt index 32975e8a..10486a66 100644 --- a/npc/029-1_Candor/_mobs.txt +++ b/npc/029-1_Candor/_mobs.txt @@ -6,6 +6,7 @@ 029-1.gat,36,59,22,20 monster Spiky Mushroom 1019,5,10000,30000,Mob029-1::On1019 029-1.gat,53,35,17,17 monster Bats 1017,4,25000,30000,Mob029-1::On1017 029-1.gat,59,51,13,9 monster Log heads 1025,2,25000,30000,Mob029-1::On1025 +029-1.gat,0,0,0,0 monster Pumpkin 1064,1,40000,50000 029-1.gat,0,0,0 script Mob029-1 -1,{ diff --git a/npc/halloween/2010/gak.txt b/npc/halloween/2010/gak.txt new file mode 100644 index 00000000..e15ae464 --- /dev/null +++ b/npc/halloween/2010/gak.txt @@ -0,0 +1,426 @@ +010-1.gat,29,48,0 script Gak 187, { + + if (hween10 == 1) goto L_Knows_Gak; + if (hween10 == 2) goto L_Gak_Has_Tongue; + if (hween10 == 3) goto L_Bones_Check; + if (hween10 == 4) goto L_Request_Sweets; + if (hween10 == 5) goto L_Collecting_Sweets; + + mes "[Broken Skeleton]"; + set hween10, 1; + mes ""; + mes "\"Gak... gak, gak! Gak gak gak gak!\""; + close; + +L_Knows_Gak: + if (countitem("Tongue") > 0) goto L_Has_Tongue; + mes "[Gak]"; + mes ""; + mes "\"Gak gak! Gak gak, gak gak gak!\""; + close; + +L_Has_Tongue: + mes "[Gak]"; + mes ""; + mes "The skeleton notices a slimy, dead tongue you have with you, and eyes it eagerly."; + next; + mes "[Gak]"; + mes ""; + mes "At least, you assume he is eager. \"Gak gak gak! Gak gak gak gak GAK GAK!\""; + next; + menu + "Give the tongue to him", L_Give_Tongue, + "Taunt him by showing him the tongue, but not giving it", L_Give_Tongue_Die, + "Walk away", -; + close; + +L_Give_Tongue: + if (countitem("Tongue") < 1) goto L_Tongue_Gone_Die; + delitem "Tongue", 1; + set hween10, 2; + mes "[Gak]"; + mes ""; + mes "The skeleton grabs the tongue from you and shoves it into his mouth. After stretching his jaw for some moments, he grins at you unpleasantly."; + next; + mes "[Gak]"; + mes ""; + mes "\"Ssso! What bringsss you here, mortal?\""; + next; + menu + "I just chanced upon you here, and figured you could use a tongue.", L_Thanks, + "The Hallowe'en event is FINALLY here, of course I'm going to play it.", L_Whut, + "Nothing.", -; + close; + +L_Tongue_Gone_Die: + mes "[Gak]"; + mes ""; + mes "He reaches out for the tongue, but then realises you don't have it. With an angry a look on his face as a skeleton can have, he slashes at you with his remaining arm."; + goto L_Die; + +L_Give_Tongue_Die: + mes "[Gak]"; + mes ""; + mes "Angrily, the skeleton reaches out and claws you with his remaining arm."; + if (countitem("Tongue") < 1) goto L_Die; + next; + delitem "Tongue", 1; + mes "[Gak]"; + mes ""; + mes "As you fall, he takes the tongue from you anyway."; + set hween10, 2; + goto L_Die; + +L_Die: + close2; + itemheal -Hp -1, 0; + end; + +L_Thanks: + mes "[Gak]"; + mes ""; + mes "\"Well, that wasss mighty thoughtful of you, friend... I wonder if perhapsss you could do me another favour?\""; + next; + menu + "Sure! Anything you want.", L_Sure, + "I'll be right, thanks.", -; + close; + +L_Whut: + mes "[Gak]"; + mes ""; + mes "\"What?\""; + close; + +L_Gak_Has_Tongue: + mes "[Gak]"; + mes ""; + mes "\"Hello again, little friend. Could you posssibly do me another favour?\""; + next; + menu + "I sure can, what is it?", L_Sure, + "Uh, no thanks.", -; + close; + +L_Sure: + mes "[Gak]"; + mes ""; + mes "\"It wasss nice if you to bring me thisss tongue, but asss you can sssee I still have a few things missing.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Maybe you could bring me a few bonesss so I could patch myssself up?\""; + next; + menu + "I'm on it!", L_Bones, + "Nah, that sounds a bit boring.", -; + close; + +L_Bones: + set hween10, 3; + mes "[Gak]"; + mes ""; + mes "\"Wonderful! I can't wait until I can properly walk around attacking thingsss again.\""; + close; + +L_Bones_Check: + mes "[Gak]"; + mes ""; + mes "\"Hallo again. Have you brought me any bonesss?\""; + next; + setarray @menuitems$, "", "", "", "", ""; + set @c, 0; + + if (countitem("Bone") < 5) goto L_bones_four; + set @menuitems$[@c], "Take five bones."; + set @menuid[@c], 0; + set @c, @c + 1; + +L_bones_four: + if (countitem("Bone") < 4) goto L_bones_three; + set @menuitems$[@c], "Take four bones."; + set @menuid[@c], 1; + set @c, @c + 1; + +L_bones_three: + if (countitem("Bone") < 3) goto L_bones_two; + set @menuitems$[@c], "Take three bones."; + set @menuid[@c], 2; + set @c, @c + 1; + +L_bones_two: + if (countitem("Bone") < 2) goto L_bones_one; + set @menuitems$[@c], "Take two bones."; + set @menuid[@c], 3; + set @c, @c + 1; + +L_bones_one: + if (countitem("Bone") < 1) goto L_bones_menu; + set @menuitems$[@c], "Take one bone."; + set @menuid[@c], 4; + set @c, @c + 1; + +L_bones_menu: + set @menuitems$[@c], "I don't have any bones."; + set @menuid[@c], 5; + set @c, @c + 1; + menu + @menuitems$[0], -, + @menuitems$[1], -, + @menuitems$[2], -, + @menuitems$[3], -, + @menuitems$[4], -, + @menuitems$[5], -, + @menuitems$[6], -; + set @menu, @menu -1; + if (@menu >= @c) close; + if (@menuid[@menu] == 5) goto L_offer_no_items; + mes "[Gak]"; + mes ""; + mes "Ssso many? Jussst what I needed. Let me sssee if they are sssuitable..."; + next; + + if (@menuid[@menu] == 0) set @bonecount, 5; + if (@menuid[@menu] == 1) set @bonecount, 4; + if (@menuid[@menu] == 2) set @bonecount, 3; + if (@menuid[@menu] == 3) set @bonecount, 2; + if (@menuid[@menu] == 4) set @bonecount, 1; + if (countitem("Bone") < @bonecount) goto L_Not_Enough_Bones; + + delitem "Bone", @bonecount; + set @bonecount, @bonecount + 1; + set @hween10_givebones, 0; + +// in a rush, raising and then lowering is the best thing I can think of to make the loop work properly. + +L_Bone_Loop: + set @bonecount, @bonecount - 1; + if @bonecount < 1 goto L_Bones_Feedback; + set @temp1, rand(@bonecount + 5); + if @temp1 > @bonecount goto L_Bone_Loop; + set @hween10_givebones, @hween10_givebones + 1; + goto L_Bone_Loop; + +L_Not_Enough_Bones: + mes "[Gak]"; + mes ""; + mes "\"Hey... you don't have that many bonesss!\""; + close; + +L_offer_no_items: + mes "[Gak]"; + mes ""; + mes "\"Sssucch a pity...\""; + close; + +L_Bones_Feedback: + if (@hween10_givebones == 0) goto L_Bones_Feedback_None; + mes "[Gak]"; + mes ""; + mes "\"Hmm... I think I can ussse " + @hween10_givebones + " of thessse bonesss.\""; + next; + set hween10_bonecount, hween10_bonecount + @hween10_givebones; + if (hween10_bonecount > 7) goto L_Enough_Bones; + mes "[Gak]"; + mes ""; + mes "\"But I ssstill need more! Pleassse bring them to me.\""; + close; + +L_Bones_Feedback_None: + mes "[Gak]"; + mes ""; + mes "\"I can't ussse any of theesse boness. I need more!\""; + close; + +L_Enough_Bones: + set hween10, 4; + mes "[Gak]"; + mes ""; + mes "\"And that should be enough for my dark purposssesss.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Now... I wonder...\" He flicks his tongue around his dry and ancient teeth. \"I wonder if you could get me sssomething to eat?\""; + next; + mes "[Gak]"; + mes ""; + mes "\"All thisss hard work gathering bonesss hasss made me...\""; + next; + mes "[Gak]"; + mes ""; + mes "\"HUNGRY!\""; + next; + menu + "Uh, what would you like to eat?", L_Request_Sweets, + "This is a burial site, I'm sure there are plenty of worms around.", L_Worms, + "Me too, actually. I gotta eat. Bye!", -; + close; + +L_Worms: + mes "[Gak]"; + mes ""; + mes "\"True... but they are sssmall, and not asss sssweet asss what I'd like!\""; + next; + +L_Request_Sweets: + mes "[Gak]"; + mes ""; + mes "\"Asss I'm sssure you know, it wasss Hallowe'en recently. I'll bet you had great time collecting sssweetsss with your friendsss, hm?\""; + next; + menu + "The guy organising that was too lazy - it never happened.", L_Time_Management, + "Well, what's it to you?", L_Leftover_Sweets, + "You're creeping me out.", -; + close; + +L_Time_Management: + mes "[Gak]"; + mes ""; + mes "\"That'sss jussst too bad. People with poor time management shouldn't be put in charge of important thingsss like that.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"But never mind. Even if you didn't get to go trick-or-treating, there will ssstill be plenty of dropped sssweets lying around.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"People are ssso carelesss! To my benefit, of courssse. Ssso what do you sssay? Can you bring me asss many sssweetsss as you can find?\""; + menu + "I guess so.", L_Confirm_Sweethunting, + "No, I'd rather eat 'em myself.", -; + close; + +L_Leftover_Sweets: + mes "[Gak]"; + mes ""; + mes "\"Each year at Hallowe'en, all you little girlsss and boysss run about begging for candy. And each year, ssso much of it is dropped, and wasssted!\""; + next; + mes "[Gak]"; + mes ""; + mes "\"But I don't mind eating sssweetsss just becaussse they're a couple of weeksss old! Bring me lotsss, and you shall have a reward.\""; + next; + menu + "Well, okay then.", L_Confirm_Sweethunting, + "Wait, free sweets!? Why did no one tell me?", -; + close; + +L_Confirm_Sweethunting: + set hween10, 5; + mes "[Gak]"; + mes ""; + mes "\"My ssstomach groansss with anticipa - uh, well, my bonesss creak with anticipation. Tell all your little friendsss to bring my any sssweetsss they find, too: I really am VERY hungry!\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Remember, though, and thisss isss important: the more sssweetsss YOU PERSSSONALLY bring me, the better YOUR reward will be!\""; + close; + +L_Collecting_Sweets: + mes "[Gak]"; + mes ""; + mes "\"Ssso, do you have any sssweetsss for me?\""; + next; + setarray @menuitems$, "", "", "", "", ""; + set @c, 0; + + if (countitem("tondel") < 1) goto L_Sweets_Marshmallow; + set @menuitems$[@c], "Tonori Delight."; + set @menuid[@c], 0; + set @c, @c + 1; + +L_Sweets_Marshmallow: + if (countitem("Marshmallow") < 1) goto L_Sweets_JellySkull; + set @menuitems$[@c], "Marshmallow."; + set @menuid[@c], 1; + set @c, @c + 1; + +L_Sweets_JellySkull: + if (countitem("JellySkull") < 1) goto L_Sweets_CandyPumpkin; + set @menuitems$[@c], "Jelly Skull."; + set @menuid[@c], 2; + set @c, @c + 1; + +L_Sweets_CandyPumpkin: + if (countitem("CandyPumpkin") < 1) goto L_Sweets_Menu; + set @menuitems$[@c], "Candy Pumpkin."; + set @menuid[@c], 3; + set @c, @c + 1; + +L_Sweets_Menu: + set @menuitems$[@c], "I don't have any sweets."; + set @menuid[@c], 4; + set @c, @c + 1; + menu + @menuitems$[0], -, + @menuitems$[1], -, + @menuitems$[2], -, + @menuitems$[3], -, + @menuitems$[4], -, + @menuitems$[5], -; + set @menu, @menu -1; + if (@menu >= @c) close; + + if (@menuid[@menu] == 0) set @giveitem$, "TonoriDelight"; + if (@menuid[@menu] == 1) set @giveitem$, "Marshmallow"; + if (@menuid[@menu] == 2) set @giveitem$, "JellySkull"; + if (@menuid[@menu] == 3) set @giveitem$, "CandyPumpkin"; + // We need something to handle what happens when we select that the character does not have any sweets + if (@menuid[@menu] == 4) goto L_offer_no_items; + + mes "[Gak]"; + mes ""; + mes "\"How many of those do you have for me?\""; + next; + menu + "Take all of them.", -, + "One hundred of them.", -, + "Fifty of them.", -, + "Ten of them.", -, + "Five of them.", -, + "One of them.", -, + "This many...", -; + set @menu, @menu - 1; + + if (@menu == 0) set @givecounter, countitem(@giveitem$); + if (@menu == 1) set @givecounter, 100; + if (@menu == 2) set @givecounter, 50; + if (@menu == 3) set @givecounter, 10; + if (@menu == 4) set @givecounter, 5; + if (@menu == 5) set @givecounter, 1; + if (@menu == 6) input @givecounter; + if (@menu > 6) close; + if (countitem(@giveitem$) < @givecounter) goto L_Not_Enough_Sweeties; + + delitem @giveitem$, @givecounter; + + if (@giveitem$ == "TonoriDelight") set $hween10_tondel, $hween10_tondel + @givecounter; + if (@giveitem$ == "Marshmallow") set $hween10_mmallow, $hween10_mmallow + @givecounter; + if (@giveitem$ == "JellySkull") set $hween10_jelskul, $hween10_jelskul + @givecounter; + if (@giveitem$ == "CandyPumpkin") set $hween10_canpump, $hween10_canpump + @givecounter; + if (@giveitem$ == "TonoriDelight") set hween10_collect_tondel, hween10_collect_tondel + @givecounter; + if (@giveitem$ == "Marshmallow") set hween10_collect_mmallow, hween10_collect_mmallow + @givecounter; + if (@giveitem$ == "JellySkull") set hween10_collect_jelskul, hween10_collect_jelskul + @givecounter; + if (@giveitem$ == "CandyPumpkin") set hween10_collect_canpump, hween10_collect_canpump + @givecounter; + + set hween10_collect, hween10_collect + @givecounter; + + mes "[Gak]"; + mes ""; + mes "\"Thank you for your generousss donation to my caussse. Ssso far, you and your friendsss have brought me " + $hween10_tondel + " Tonori Delightsss, " + $hween10_mmallow + " Marshmallowsss, " + $hween10_jelskul + " Jelly Ssskullsss, and " + $hween10_canpump + " Candy Pumpkinsss.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"You persssonally have brought me " + hween10_collect + " sssweetsss.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"But I ssstill need more! I'm ssstill HUNGRY!\""; + close; + +L_Not_Enough_Sweeties: + mes "[Gak]"; + mes ""; + mes "\"Hey! Don't teassse me; you know very well that you don't have that many sssweetsss.\""; + close; + +} diff --git a/npc/scripts.conf b/npc/scripts.conf index 660dedb7..b6e53dcc 100644 --- a/npc/scripts.conf +++ b/npc/scripts.conf @@ -74,5 +74,7 @@ import: npc/_import.txt // When enabling, some entries in 028-1 would also need to be uncommented, the warp from 028-1 would need to be commented out. The changes to the old woman and some other NPCs weren't able to be preserved, but are recorded in the git repository. //import: npc/easter/2010/_import.txt -import: npc/xmas/2010/_import.txt +// Halloween 2010 +npc: npc/halloween/2010/gak.txt +import: npc/xmas/2010/_import.txt -- cgit v1.2.3-70-g09d2 From cffc1729dccd329ac08955d20b2bf024f2d4d11d Mon Sep 17 00:00:00 2001 From: E Athena Server Date: Fri, 19 Nov 2010 11:32:49 +0100 Subject: Quickly fix error in halloween npc --- npc/halloween/2010/gak.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'npc') diff --git a/npc/halloween/2010/gak.txt b/npc/halloween/2010/gak.txt index e15ae464..91db9958 100644 --- a/npc/halloween/2010/gak.txt +++ b/npc/halloween/2010/gak.txt @@ -1,4 +1,4 @@ -010-1.gat,29,48,0 script Gak 187, { +010-1.gat,29,48,0 script Gak 187, { if (hween10 == 1) goto L_Knows_Gak; if (hween10 == 2) goto L_Gak_Has_Tongue; -- cgit v1.2.3-70-g09d2 From de68f1e4043412fa928e3dda1175a5d3257e5251 Mon Sep 17 00:00:00 2001 From: E Athena Server Date: Fri, 19 Nov 2010 11:41:08 +0100 Subject: Quickly fix halloween npc id --- npc/halloween/2010/gak.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'npc') diff --git a/npc/halloween/2010/gak.txt b/npc/halloween/2010/gak.txt index 91db9958..cd6d41ab 100644 --- a/npc/halloween/2010/gak.txt +++ b/npc/halloween/2010/gak.txt @@ -1,4 +1,4 @@ -010-1.gat,29,48,0 script Gak 187, { +010-1.gat,29,48,0 script Gak 188, { if (hween10 == 1) goto L_Knows_Gak; if (hween10 == 2) goto L_Gak_Has_Tongue; -- cgit v1.2.3-70-g09d2 From cb8e71399284f45c65fe9e30efcd94f5fc050d5d Mon Sep 17 00:00:00 2001 From: E Athena Server Date: Fri, 19 Nov 2010 12:17:14 +0100 Subject: Fix check in gak and also tongue drop rates. --- db/mob_db.txt | 6 +++--- npc/halloween/2010/gak.txt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'npc') diff --git a/db/mob_db.txt b/db/mob_db.txt index b35e09a0..34c4f0b1 100644 --- a/db/mob_db.txt +++ b/db/mob_db.txt @@ -31,11 +31,11 @@ 1031, GambogePlant, Gamboge Plant, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 22, 0, 800, 800, 672, 480, 682, 3000, 682, 3000, 682, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 1032, AlizarinPlant, Alizarin Plant, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 22, 0, 800, 800, 672, 480, 683, 3000, 683, 3000, 683, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 1033, SeaSlime, Sea Slime, 70, 600, 0, 0, 9, 1, 30, 50, 3, 7, 1, 25, 1, 0, 30, 30, 1, 1, 1, 0, 41, 131, 1500, 1872, 672, 480, 535, 800, 657, 800, 518, 500, 510, 1000, 700, 100, 1199, 5000, 568, 100, 541, 50, 0, 0, 0, 0, , , , , , , 0, 0 -1034, GrassSnake, Grass Snake, 140, 1000, 0, 0, 100, 1, 80, 120, 2, 10, 20, 40, 10, 10, 40, 50, 1, 1, 1, 0, 20, 133, 500, 1100, 672, 480, 716, 400, 716, 400, 712, 500, 676, 500, 660, 350, 3002, 100, 3009, 7500, 3006, 7000, 0, 0, 0, 0, , , , , , , 1, 40 +1034, GrassSnake, Grass Snake, 140, 1000, 0, 0, 100, 1, 80, 120, 2, 10, 20, 40, 10, 10, 40, 50, 1, 1, 1, 0, 20, 133, 500, 1100, 672, 480, 716, 400, 716, 400, 712, 500, 676, 500, 660, 350, 3002, 100, 3009, 750, 3006, 7000, 0, 0, 0, 0, , , , , , , 1, 40 1035, Silkworm, Silkworm, 20, 1, 0, 0, 1, 1, 0, 0, 2, 10, 20, 11, 10, 10, 40, 10, 1, 1, 1, 0, 20, 129, 1300, 1100, 672, 480, 718, 5000, 3001, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 40 1036, Zombie, Zombie, 110, 12000, 0, 0, 800, 2, 275, 355, 20, 15, 30, 15, 30, 3, 60, 40, 1, 1, 1, 0, 29, 133, 480, 1872, 672, 900, 631, 1000, 777, 700, 778, 120, 779, 200, 780, 150, 3002, 1000, 3007, 9500, 3010, 9500, 0, 0, 0, 0, , , , , , , 2, 30 1037, CloverPatch, Clover Patch, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 22, 0, 800, 800, 672, 480, 742, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 -1038, Squirrel, Squirrel, 15, 160, 1, 0, 1, 1, 15, 25, 1, 6, 1, 3, 1, 0, 15, 40, 1, 1, 1, 3, 20, 129, 800, 800, 672, 480, 743, 7000, 680, 1000, 681, 1000, 682, 1000, 683, 1000, 3003, 50, 3009, 800, 3004, 7500, 0, 0, 0, 0, , , , , , , 1, 15 +1038, Squirrel, Squirrel, 15, 160, 1, 0, 1, 1, 15, 25, 1, 6, 1, 3, 1, 0, 15, 40, 1, 1, 1, 3, 20, 129, 800, 800, 672, 480, 743, 7000, 680, 1000, 681, 1000, 682, 1000, 683, 1000, 3003, 50, 3009, 800, 3004, 750, 0, 0, 0, 0, , , , , , , 1, 15 //1039, FireLizard 1040, Wisp, Wisp, 70, 9300, 0, 0, 140, 2, 215, 350, 0, 20, 45, 12, 13, 15, 0, 45, 1, 1, 1, 0, 27, 137, 380, 2000, 672, 1500, 772, 500, 703, 150, 703, 120, 3000, 100, 3007, 8000, 3007, 7000, 3007, 6000, 3007, 5000, 0, 0, 0, 0, , , , , , , 2, 20 //1041, Snail @@ -69,4 +69,4 @@ 1069, Scythe, Scythe, 40, 3000, 0, 0, 500, 1, 200, 350, 30, 10, 100, 250, 1, 1, 150, 90, 1, 50, 1, 0, 40, 133, 220, 700, 672, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 1070, BallLightning, Ball Lightning, 40, 50, 0, 0, 10, 1, 5, 10, 40, 65, 1, 200, 1, 1, 1, 1, 1, 50, 1, 0, 47, 133, 110, 1500, 672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 1071, IceElement, Ice Element, 20, 1000, 0, 0, 200, 2, 60, 60, 0, 20, 15, 25, 15, 15, 20, 50, 1, 1, 1, 0, 41, 135, 330, 740, 672, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 20 -1072, Yeti, Yeti, 35, 3000, 0, 0, 300, 2, 50, 150, 40, 0, 70, 5, 20, 15, 5, 15, 1, 1, 1, 0, 61, 135, 400, 1500, 672, 900, 4021, 800, 4021, 800, 4021, 800, 4021, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 \ No newline at end of file +1072, Yeti, Yeti, 35, 3000, 0, 0, 300, 2, 50, 150, 40, 0, 70, 5, 20, 15, 5, 15, 1, 1, 1, 0, 61, 135, 400, 1500, 672, 900, 4021, 800, 4021, 800, 4021, 800, 4021, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 diff --git a/npc/halloween/2010/gak.txt b/npc/halloween/2010/gak.txt index cd6d41ab..f1ceaf2c 100644 --- a/npc/halloween/2010/gak.txt +++ b/npc/halloween/2010/gak.txt @@ -323,7 +323,7 @@ L_Collecting_Sweets: setarray @menuitems$, "", "", "", "", ""; set @c, 0; - if (countitem("tondel") < 1) goto L_Sweets_Marshmallow; + if (countitem("TonoriDelight") < 1) goto L_Sweets_Marshmallow; set @menuitems$[@c], "Tonori Delight."; set @menuid[@c], 0; set @c, @c + 1; -- cgit v1.2.3-70-g09d2 From 52e03246a4e4ec1079210d34fc340e6e3d751468 Mon Sep 17 00:00:00 2001 From: Freeyorp Date: Tue, 7 Dec 2010 11:47:20 +1300 Subject: Hallowe'en 2010 Phase 2 Server Data --- npc/halloween/2010/gak.txt | 808 ++++++++++++++++++++++++++++++++++++++++++++- npc/items/scissors.txt | 13 + npc/items/shock_sweet.txt | 14 + npc/scripts.conf | 2 + 4 files changed, 832 insertions(+), 5 deletions(-) create mode 100644 npc/items/scissors.txt create mode 100644 npc/items/shock_sweet.txt (limited to 'npc') diff --git a/npc/halloween/2010/gak.txt b/npc/halloween/2010/gak.txt index f1ceaf2c..92a7bbfa 100644 --- a/npc/halloween/2010/gak.txt +++ b/npc/halloween/2010/gak.txt @@ -1,10 +1,18 @@ 010-1.gat,29,48,0 script Gak 188, { + if ($hween10 == 2) goto L_Event_Over; + + if (hween10 > 4 && hween10 < 9) goto L_Collecting_Sweets; + if (hween10 == 9) goto L_Hunger_Sated; + if (hween10 == 10) goto L_Reward_Returning; + if (hween10 == 11) goto L_Gaks_Little_Shop; + + if ($hween10 == 1) goto L_Event_Over_2; + if (hween10 == 1) goto L_Knows_Gak; if (hween10 == 2) goto L_Gak_Has_Tongue; if (hween10 == 3) goto L_Bones_Check; if (hween10 == 4) goto L_Request_Sweets; - if (hween10 == 5) goto L_Collecting_Sweets; mes "[Broken Skeleton]"; set hween10, 1; @@ -273,7 +281,7 @@ L_Request_Sweets: "You're creeping me out.", -; close; -L_Time_Management: +L_Time_Management: mes "[Gak]"; mes ""; mes "\"That'sss jussst too bad. People with poor time management shouldn't be put in charge of important thingsss like that.\""; @@ -390,9 +398,8 @@ L_Sweets_Menu: if (@menu == 6) input @givecounter; if (@menu > 6) close; if (countitem(@giveitem$) < @givecounter) goto L_Not_Enough_Sweeties; - delitem @giveitem$, @givecounter; - + if ($hween10 == 1) set hween10, hween10 + 1; if (@giveitem$ == "TonoriDelight") set $hween10_tondel, $hween10_tondel + @givecounter; if (@giveitem$ == "Marshmallow") set $hween10_mmallow, $hween10_mmallow + @givecounter; if (@giveitem$ == "JellySkull") set $hween10_jelskul, $hween10_jelskul + @givecounter; @@ -412,9 +419,13 @@ L_Sweets_Menu: mes ""; mes "\"You persssonally have brought me " + hween10_collect + " sssweetsss.\""; next; + if (hween10 > 8) goto L_Hunger_Sated; mes "[Gak]"; mes ""; - mes "\"But I ssstill need more! I'm ssstill HUNGRY!\""; + if (hween10 == 5) mes "\"But I ssstill need more! I'm ssstill HUNGRY!\""; + if (hween10 == 6) mes "\"I ssstill need a few more, however... I'm ssstill HUNGRY!\""; + if (hween10 == 7) mes "\"I'd like more, though. I'm ssstill hungry.\""; + if (hween10 == 8) mes "\"Hmm... what a meal! Although, jussst a couple more sssweetsss wouldn't hurt. I'm ssstill a bit peckish.\""; close; L_Not_Enough_Sweeties: @@ -423,4 +434,791 @@ L_Not_Enough_Sweeties: mes "\"Hey! Don't teassse me; you know very well that you don't have that many sssweetsss.\""; close; +L_Hunger_Sated: + set hween10, 10; + mes "[Gak]"; + mes ""; + mes "The last of the sweets falls out the bottom of the skeleton's skull, bouncing down between his ribs before tumbling out to join the countless thousands that lie in a vast mound of them beside him."; + next; + mes "[Gak]"; + mes ""; + mes "\"Buuurp!\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Now that, my friend, was a DELICIOUSSS meal, if I do sssay ssso myssself. It'sss not every day I get to feassst upon sssuch delectable treatsss.\""; + next; + menu + "Okay, whatever. Now how about my reward?", L_Reward, + "I'm pleased to hear it. Now... a reward, perhaps?", L_Polite_Request, + "It was my pleasure.", L_My_Pleasure; + close; + +L_Reward_Returning: + mes "[Gak]"; + mes ""; + mes "\"Hello again, friend.\""; + next; + menu + "Can I have a reward now?", L_Reward, + "Hello.", -; + close; + +L_Polite_Request: + mes "[Gak]"; + mes "\"Of courssse a reward! Jussst who do you think I am, not to giving rewardsss to people who were kind enough to give me a bit of a hand?\""; + next; + goto L_Reward; + +L_My_Pleasure: + mes "[Gak]"; + mes ""; + mes "\"Good, good!\""; + close; + +L_Reward: + mes "[Gak]"; + mes ""; + // took out here a lot + mes "\"Well, you DID bring me an awful lot of sssweetsss. I have with me a sssmall collection of preciousss itemsss, thingsss I've acquired in variousss waysss.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"I can let you have sssome thingsss out of thisss collection. You brought me " + hween10_collect + " sssweetsss, ssso I will give you itemsss worth twice that amount of gold piecesss.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"For example, if you had given me 1,000 sssweetsss I would give you 2,000GP worth of itemsss. Except actually, I don't like marshmallowsss that much. Thossse are equivalent to jussst 1GP each.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Not to say that I'm sure of your currencccy here... but it sssshould give you an idea, yessss?\""; + next; + set hween10, 11; + set hween10_credits, hween10_collect_tondel + hween10_collect_jelskul + hween10_collect_canpum; + set hween10_credits, hween10_credits * 2; + set hween10_credits, hween10_credits + hween10_collect_mmallow; + mes "[Gak]"; + mes ""; + mes "\"Looksss like you have " + hween10_credits + " ... 'creditsss', shall we call them? Now, let'ss have a look at my waresss.\""; + next; + goto L_Shop_Inventory; + +L_Gaks_Little_Shop: + mes "[Gak]"; + mes ""; + mes "\"You have " + hween10_credits + " creditsss. Tell me what you'd like to buy - or asssk me about it. Sssome of thessse itemsss have very interesssting ssstories attached to them.\""; + next; + +L_Shop_Inventory: + menu + "Opera Mask (9,000 credits)", L_Buy_OperaMask, + "Tell me about the Opera Mask.", L_Info_OperaMask, + "Jester Mask (7,000 credits)", L_Buy_JesterMask, + "Tell me about the Jester Mask.", L_Info_JesterMask, + "Witch's Hat (4,500 credits)", L_Buy_WitchsHat, + "Tell me about the Witch's Hat.", L_Info_WitchsHat, + "Goblin Mask (2,500 credits)", L_Buy_GoblinMask, + "Tell me about the Goblin Mask.", L_Info_GoblinMask, + "Guy Fawkes Mask (800 credits)", L_Buy_GuyFawkesMask, + "Tell me about the Guy Fawkes Mask.", L_Info_GuyFawkesMask, + "Scissors (500 credits)", L_Buy_Scissors, + "Tell me about the Scissors.", L_Info_Scissors, + "Shock Sweet (200 credits)", L_Buy_ShockSweet, + "Tell me about Shock Sweets.", L_Info_ShockSweet, + "Bone Arrow (1 credit)", L_Buy_BoneArrow, + "Tell me about Bone Arrows.", L_Info_BoneArrow, + "Nothing today, thanks.", -; + close; + +L_Buy_OperaMask: + if (hween10_credits < 9000) goto L_Too_Few_Credits; + mes "[Gak]"; + mes ""; + mes "\"Ah, yesss! A friend of mine usssed to wear that masssk. He wasss very famousss in hisss time - had quite a fandom.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Are you sssure you want to buy the Opera Masssk?\""; + next; + menu + "Yes.", -, + "No.", L_Gaks_Little_Shop; + getinventorylist; + if (@inventorylist_count == 100) goto L_Full_Inventory; + if (hween10_credits < 9000) goto L_Too_Few_Credits; + set hween10_credits, hween10_credits - 9000; + set hween10_paid, hween10_paid + 9000; + getitem "OperaMask", 1; + mes "[Gak]"; + mes ""; + mes "\"Enjoy it!\""; + next; + goto L_Gaks_Little_Shop; + +L_Buy_JesterMask: + if (hween10_credits < 7000) goto L_Too_Few_Credits; + mes "[Gak]"; + mes ""; + mes "\"I'm sssure you'll have fun with thisss masssk. 'Fun', get it?\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Are you sssure you want to buy the Jessster Masssk?\""; + next; + menu + "Yes.", -, + "No.", L_Gaks_Little_Shop; + getinventorylist; + if (@inventorylist_count == 100) goto L_Full_Inventory; + if (hween10_credits < 7000) goto L_Too_Few_Credits; + set hween10_credits, hween10_credits - 7000; + set hween10_paid, hween10_paid + 7000; + getitem "JesterMask", 1; + mes "[Gak]"; + mes ""; + mes "\"Enjoy it!\""; + next; + goto L_Gaks_Little_Shop; + +L_Buy_WitchsHat: + if (hween10_credits < 4500) goto L_Too_Few_Credits; + mes "[Gak]"; + mes ""; + mes "\"I was wondering witch one you would take.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Are you sssure you want to buy the Witch'sss Hat?\""; + next; + menu + "Yes.", -, + "No.", L_Gaks_Little_Shop; + getinventorylist; + if (@inventorylist_count == 100) goto L_Full_Inventory; + if (hween10_credits < 4500) goto L_Too_Few_Credits; + set hween10_credits, hween10_credits - 4500; + set hween10_paid, hween10_paid + 4500; + getitem "WitchHat", 1; + mes "[Gak]"; + mes ""; + mes "\"Enjoy it!\""; + next; + goto L_Gaks_Little_Shop; + +L_Buy_GoblinMask: + if (hween10_credits < 2500) goto L_Too_Few_Credits; + mes "[Gak]"; + mes ""; + mes "\"Hmm, I never much liked that one myssself.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Are you sssure you want to buy the Goblin Masssk?\""; + next; + menu + "Yes.", -, + "No.", L_Gaks_Little_Shop; + getinventorylist; + if (@inventorylist_count == 100) goto L_Full_Inventory; + if (hween10_credits < 2500) goto L_Too_Few_Credits; + set hween10_credits, hween10_credits - 2500; + set hween10_paid, hween10_paid + 2500; + getitem "GoblinMask", 1; + mes "[Gak]"; + mes ""; + mes "\"Enjoy it!\""; + next; + goto L_Gaks_Little_Shop; + +L_Buy_GuyFawkesMask: + if (hween10_credits < 800) goto L_Too_Few_Credits; + mes "[Gak]"; + mes ""; + mes "\"Cheap, huh? Barely more than a penny for thisss guy.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Are you sssure you want to buy the Guy Fawkesss Masssk?\""; + next; + menu + "Yes.", -, + "No.", L_Gaks_Little_Shop; + getinventorylist; + if (@inventorylist_count == 100) goto L_Full_Inventory; + if (hween10_credits < 800) goto L_Too_Few_Credits; + set hween10_credits, hween10_credits - 800; + set hween10_paid, hween10_paid + 800; + getitem "GuyFawkesMask", 1; + mes "[Gak]"; + mes ""; + mes "\"Enjoy it!\""; + next; + goto L_Gaks_Little_Shop; + +L_Buy_Scissors: + if (hween10_credits < 500) goto L_Too_Few_Credits; + mes "[Gak]"; + mes ""; + mes "\"My own pair of ssscissssorsss! But I haven't been needing them lately asss much asss I usssed to.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Are you sssure you want to buy the Scissors?\""; + next; + menu + "Yes.", -, + "No.", L_Gaks_Little_Shop; + getinventorylist; + if (@inventorylist_count == 100) goto L_Full_Inventory; + if (hween10_credits < 500) goto L_Too_Few_Credits; + set hween10_credits, hween10_credits - 500; + set hween10_paid, hween10_paid + 500; + getitem "Scissors", 1; + mes "[Gak]"; + mes ""; + mes "\"Enjoy it!\""; + next; + goto L_Gaks_Little_Shop; + +L_Buy_ShockSweet: + if (hween10_credits < 200) goto L_Too_Few_Credits; + mes "[Gak]"; + mes ""; + mes "\"I'll be glad to be rid of sssome of thessse terrifying sssweetsss...\""; + next; + mes "[Gak]"; + mes ""; + mes "\"How many would you like to buy?\""; + next; + menu + "1", -, + "2", -, + "3", -, + "4", -, + "5", -, + "None", -; + + if (@menu < 0 || @menu > 6) close; + if (@menu == 6) goto L_Gaks_Little_Shop; + set @shocksweets, @menu; + set @cost, @shocksweets * 200; + if (hween10_credits < @cost) goto L_Too_Few_Credits; + getinventorylist; + if (@inventorylist_count == 100 && countitem("ShockSweet") < 1) goto L_Full_Inventory; + set hween10_credits, hween10_credits - @cost; + set hween10_paid, hween10_paid + @cost; + getitem "ShockSweet", @shocksweets; + mes "[Gak]"; + mes ""; + mes "\"I would sssay 'enjoy them', but I doubt you will.\""; + next; + goto L_Gaks_Little_Shop; + +L_Buy_BoneArrow: + if (hween10_credits < 1) goto L_Too_Few_Credits; + mes "[Gak]"; + mes ""; + mes "\"Deadly, but nearly weightlessss. A good choice!\""; + next; + mes "[Gak]"; + mes ""; + mes "\"How many would you like to buy?\""; + next; + menu + "1", -, + "5", -, + "10", -, + "50", -, + "100", -, + "500", -, + "1000", -, + "None", -; + + if (@menu < 1 || @menu > 8) close; + if (@menu == 1) set @bonearrows, 1; + if (@menu == 2) set @bonearrows, 5; + if (@menu == 3) set @bonearrows, 10; + if (@menu == 4) set @bonearrows, 50; + if (@menu == 5) set @bonearrows, 100; + if (@menu == 6) set @bonearrows, 500; + if (@menu == 7) set @bonearrows, 1000; + if (@menu == 8) goto L_Gaks_Little_Shop; + if (hween10_credits < @bonearrows) goto L_Too_Few_Credits; + getinventorylist; + if (@inventorylist_count == 100 && countitem("BoneArrows") < 1) goto L_Full_Inventory; + set hween10_credits, hween10_credits - @bonearrows; + set hween10_paid, hween10_paid + @bonearrows; + getitem "BoneArrows", @bonearrows; + mes "[Gak]"; + mes ""; + mes "\"Usse them wisssely. They're hard to come by.\""; + next; + goto L_Gaks_Little_Shop; + +L_Too_Few_Credits: + mes "[Gak]"; + mes ""; + mes "\"Are you trying to kid me? You haven't enough creditsss for that!\""; + next; + goto L_Gaks_Little_Shop; + +L_Info_OperaMask: + mes "[Gak]"; + mes ""; + mes "\"Ah, yesss. My Opera Masssk. There'sss quite a ssstory sssurrounding thisss one...\""; + next; + mes "[Gak]"; + mes ""; + mes "\"One day in Tonori, many yearsss ago, the Princessss Azura mysssteriousssly vanished. The King'sss men sssearched high and low, but found no trace of her.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"It wasss assssumed - correctly - that she mussst have been kidnapped. Ssso the King put a hefty reward on her safe return - a hundred thousssand gold piecesss.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"However, the Princessss wasss not returned. One year after she had disssappeared, the King raisssed the reward by fifty thousssand gold - and each year after, too, for ssstill the Princessss wasss not returned.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Asss time went by, the King became more and more sssure that hisss daughter mussst be dead. He wasss, however, wrong...\""; + next; + mes "[Gak]"; + mes ""; + mes "\"At that very moment, a pirate galleon wasss sssailing merrily along the Rivalry Coassst. Itsss crew sssang ssea-shantiesss and bounced around the rigging.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Sssuddenly, though, the pirate captain ssspied sssomething terrible ahead of them. Water ssswirled around and around like a giant bathtub being emptied....\""; + next; + mes "[Gak]"; + mes ""; + mes "\"A maelssstrom!\""; + next; + mes "[Gak]"; + mes ""; + mes "\"The captain tried to tell hisss crew to turn the ship around, but they couldn't hear him over their sssinging. They were ssswept, ssspiraling, into the cavernousss hole in the sssea.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"The piratesss realisssed, then, what was happening, and ssstopped sssinging at once. The captain ordered them to remove the sssailsss and tie them down like parachutesss.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"The plan worked. Asss they fell, the air caught under the sssailsss and ssslowed the falling of the ship. Sssoon they landed gently on the bottom of the ocean.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Peering around in the gloom, the pirate captain sssaw a prone figure on a rock nearby. He climbed out of the ship and hurried over.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"But before he could reach them, a jet of flame ssstreaked passst above him, and a great ssslimy creature emerged from the sssea in front of him...\""; + next; + mes "[Gak]"; + mes ""; + mes "\"A dragon!\""; + next; + mes "[Gak]"; + mes ""; + mes "\"The captain jumped out of the way asss the dragon once again breathed fire. The captain turned to sssee hisss ship in flamesss.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"The dragon sssmiled evilly and opened itsss mouth to eat the captain. But when it had ssset the ship on fire it had accidentally lit the fusssesss of the cannonsss, and at thisss moment they fired.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Cannonball after cannonball thudded into the dragon, sssending it reeling back into the sssea. The captain picked up the figure from the rock, and looked about to sssee how he might essscape.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"And asss he did, it grew very dark; looking above him, he sssaw that the maelssstorm wasss collapsssing. He held the figure tightly to keep them sssafe, and braced himssself.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"The water hit them from either ssside asss though Triton, the god of the sssea, had clapped hisss handsss upon them. They were lifted from the bottom and carried with great ssspeed to the sssurface.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"They rossse bessside a ship of the King'sss navy, aboard it a mage - who had closssed the maelssstorm - and the King himssself, who had come to watch.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"And asss both he and the pirate captain looked down to the figure whom the latter had found on the bottom of the sssea, they gasssped at who it wasss...\""; + next; + mes "[Gak]"; + mes ""; + mes "\"The Princessss!\""; + next; + mes "[Gak]"; + mes ""; + mes "\"In return for finding her, the pirate captain was given sssix hundred thousssand gold piecesss, a Royal Pardon for Piracy, a Pirate Permit and the Princessss'sss hand in marriage.\""; + next; + mes "[Gak]"; + mes ""; + mes "The skeleton pausssesss for a moment to sssigh in rememberance. \"It wasss a very good opera,\" he continues."; + next; + mes "[Gak]"; + mes ""; + mes "\"After it had ended, I went backssstage and bought an opera masssk sssigned by the lead actor, and alssso a nice cossstume that I needed for work.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Thisss isss, of courssse, that very masssk. It'sss worth a lot becausssse of the autograph.\""; + next; + goto L_Gaks_Little_Shop; + +L_Info_JesterMask: + next; + mes "[Gak]"; + mes ""; + mes "\"Ah, yesss. Quite a ssscary little thing, isssn't it? And it hasss quite a hissstory, too.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Back in the lassst daysss of the Tonorian King Efeniunkanduiti Khan there were many plotsss to remove him from the throne, and the biggessst sssource of thessse plotsss wasss the Bell Sssociety.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"The King wasss quite worried about all thisss, asss you would imagine, ssso he hired a jessster to make light of any misssfortune.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"The jessster wasss undoubtedly funny, and the ssscary yet sssilly cossstume he wore ssseemed to emphasssissse the hilarity of him. The King cheered consssiderably with the jessster juggling, doing sssomersssaults and telling punsss in hisss court.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"But there wasss one man who didn't like the jessster at all: Prince Akhendo-Al Mosssesssmuchasssdad Khan. The jessster'sss masssk concealed hisss experessssion, which disssconcerted Akhendo-Al greatly.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"He tried to explain hisss feelingsss to hisss father, but the King wasssn't paying attention. He wasss too busssy laughing at the joke the jessster had jussst made about Akhendo-Al'sss sssour face.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"But the King should have lissstened before it wasss too late. One night a piercing ssscream woke the palace, and ssservants came hurrying to the King'sss chamber: but he wasss already dead. A long, wicked knife had been thrussst into hisss heart.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Akhendo-Al looked around at the gathered ssservantsss and guardsss, and ssaw what he had sssussspected from the firssst: the jessster wasss gone!\""; + next; + mes "[Gak]"; + mes ""; + mes "\"He raced back the way he had come, and down to the entrance hall. Asss he reached the main doorsss, a voice behind him laughed. He turned to sssee the jessster at the top of the ssstairsss he had jussst dessscended!\""; + next; + mes "[Gak]"; + mes ""; + mes "\"The chassse wasss on. Akhendo-Al ran asss fassst asss he could back up the ssstairsss, and down a passssage which the jessster had disssappeared down. Laughter echoed around him asss he ran through the palace, occassssionally catching a glimpssse of the jessster ahead.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Sssoon, Akhendo-Al found himssself at the top of the palace'sss bell tower. On the other ssside of the great bellsss he sssaw the jessster, sssilhouetted againssst the moon, and sssmiling cruelly.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"'There's no escape for you now,' Akhendo-Al told him, and drew hisss sssabre. 'Try to run, and I shall cut you down.'\""; + next; + mes "[Gak]"; + mes ""; + mes "\"But the jessster sssmiled, and turned to ssstand at the edge of the tower, looking down at the moat that lay far below.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Akhendo-Al ssstared asss the jessster opened hisss armsss wide...\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Then the jessster turned, and shrugged. 'But I've already accomplished my tasssk. The tyrant king isss dead.'\""; + next; + mes "[Gak]"; + mes ""; + mes "\"The Prince tied the jessster'sss handsss with sssome ssspare bell-rope, and took him down to a group of palace guards. Together, they led the jessster to the dungeonsss and sssecured him. Angrily, the Prince removed the man'sss masssk. Then he and the guardsss gasssped in sssurprissse.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"The man wasss Gorrik, captain of the palace guard!\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Gorrik gave a mossst long-winded explanation of why he wasss dressssed asss a jessster, and assssurred Akhendo-Al that he had certainly not killed the king. But the prince wasss now king, and he knew that Gorrik wasss the murderer. He sssentenced the man to execution.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"To hisss disssapointment, the old guard captain essscaped and fled the country. He came here, and thisss isss the very jessster masssk he wore.\""; + next; + goto L_Gaks_Little_Shop; + +L_Info_WitchsHat: + next; + mes "[Gak]"; + mes ""; + mes "\"Which? Ah, yesss, that one. Hmm. Well, many yearsss ago thessse foressstsss usssed to be home to witchesss.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"I came upon one myssself sssoon after I arrived in Argaes, many yearsss ago, while I wasss alive. I had recently been forced to leave my mother country, where we had not many treesss - the vassst foressstsss were very ssstrange to me.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"I wasss ssstranded far to the Sssouth of here - that area isss ssstill wildernesss today. For daysss I travelled through the thick foressstsss, looking for civilation or - at leassst - sssomething to eat.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Eventually I came upon a sssmall cottage in a clearing. Overcome with hunger, I thought I might knock and asssk if they had anything to eat. But asss I approached, I noticed sssomething very ssstrange...\""; + next; + mes "[Gak]"; + mes ""; + mes "\"The entire houssse wasss made of sssweeetsss! The walls were bricksss of tonori delight, the wallsss were translucent jelly ssskullsss sssquished into a pane, the roof wasss thatched with marshmallow and the ground wasss paved with flattened candy pumpkinsss.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"I quickly forgot about asssking for food and ssset about eating the houssse. I took great handfulsss from the wallsss and jammed them into my mouth. It lessss than a minute my face wasss sssmeared all over, and my handsss ssso covered in sssticky sssweetsss that you couldn't sssee any ssskin.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Then the door sssuddenly opened, and out ssstepped what I knew at once wasss a witch. The long black cloak, the pointy black hat, and the broomssstick she clutched in one hand aided me in thisss deduction.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Well, there'sss really only one thing you can do when a witch catchesss you eating her wallsss. You run for it. But I barely had time to move before she cassst an evil ssspell. I fell forward on my face, and felt myssself being dragged back toward her by invisssible forcesss.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Thessse sssame forcesss then flipped me over onto my back. The witch looked furiousssly angry. 'Why,' she sssaid, 'are you eating my wall?'\""; + next; + mes "[Gak]"; + mes ""; + mes "\"The anssswer 'Becaussse I wasss hungry' ssseemed a fairly obviousss one to me, but you don't act sssmart to a witch. I told her I had been unaware that the cottage wasss inhabited.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Well, that ssset her glaring even more. 'You didn't see the smoke coming from the chimney? You didn't stop to consider that sweets left lying around in a wood are hardly likely to be so clean and fresh and... well... there?'\""; + next; + mes "[Gak]"; + mes ""; + mes "\"I complimented her on how fine her sssweetsss were. She sssighed wearily.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"'But you've no idea,' she told me, 'how tiresome it is to keep them looking like that. I'm always cooking up more sweets for repairs, which I need to do constantly because my walls are always getting eaten by vermin.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"'I have a large store of sweets underneath my house, to which I add and from which I take every morning. Patching holes, shaving away layers of sweets that have grown mouldy and replacing with a thin layer of new sweets... and when it rains! You wouldn't believe!'\""; + next; + mes "[Gak]"; + mes ""; + mes "\"She glanced up at the roof of her houssse. 'I have a huge big sheet of waterproof canvas,' she went on. 'And as soon as it looks like rain I have to rush out here and tie it over my roof - if this house gets rained on, that's the end of it, I tell you. I'd have to rebuild from scratch.'\""; + next; + mes "[Gak]"; + mes ""; + mes "\"I hadn't realisssed what hard work the upkeep for a houssse made from sssweetsss wasss. I wasss now very sssorry for eating ssso much of her houssse without even asssking, and I told her ssso. But she glared again.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"'Never you mind MY worries,' she told me. 'You should be more concerned about your own!'\""; + next; + mes "[Gak]"; + mes ""; + mes "\"I remember ssswallowing nervousssly. 'My worriesss?'\""; + next; + mes "[Gak]"; + mes ""; + mes "\"'I hope you don't think you're leaving here,' sssaid the witch. 'You're staying and working for me until you've repaid what you ate.'\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Thisss wasssn't ssso bad asss I'd firssst thought it would be. I had three mealssss a day of the witch'sss cooking - not sssweetsss, but real mealsss and they were ever ssso much nicer. The work wasss hard, but I had many interesssting conversssationsss with the witch.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"It took sssome time to repay my debt, but finally I had worked enough. The witch - whossse name wasss Alissssa - gave me a bag of sssweetsss to take with me when I left. But I didn't want to go - what wasss there for me in the North?\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Ssso I ssstayed, in fact. We ate that bag of sssweetsss together, and from then on we did half the choresss each. Thossse were great daysss.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"But it wasss dangerousss, living down there in the Sssouth, back then. One night were were attacked by a tribe of goblinsss.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"I tried to protect Alissssa, but I wasss killed. I don't know what happened to her, becaussse it wasss many yearsss before I returned from the dead.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"When I did, I found myssself lying in a clearing in the foressst. The bracken wasss thickly growing and there were many young treesss, but sssearching around I dissscovered a trapdoor leading into a cellar. I wasss in the remainsss of our houssse.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"When I returned from the cellar, I ssspotted sssomething black lying in the grassss. It wasss Alissssa's pointy hat - unharmed by the yearsss becaussse of itsss magic.\""; + next; + mes "[Gak]"; + mes ""; + mes "The skeleton sighs as well as he can without lungs. \"Thisss witch'sss hat isss, of courssse, that very one. I've hung on to it for sssuch a long time - you couldn't imagine how long. I think it'sss time to let it go. If you truly want it, you can have it.\""; + next; + goto L_Gaks_Little_Shop; + +L_Info_GoblinMask: + mes "[Gak]"; + mes ""; + mes "\"Aha, yesss. There usssed to be a village far to the Sssouth where they wore thossse.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"In thossse daysss there were many goblin tribesss down there, who would regularly attack human villagesss. No one really knew why, it wasss jussst what goblinsss did.\" He looks sad for a moment. \"Well, in thisss village - which wasss called Turnap - they devisssed a clever ssscheme to protect themssselvesss from the goblinsss...\""; + next; + mes "[Gak]"; + mes ""; + mes "\"They made themssselvesss masssksss, like thisss one, to look like goblinsss. They figured the goblinsss wouldn't attack them if they did thisss.\" He grins like only a skeleton can. "; + next; + mes "[Gak]"; + mes ""; + mes "\"Of courssse, thossse goblinsss jussst thought the people of Turnap were another tribe that wasss invading there territory. They attacked and killed everyone.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"I had lived nearby for sssome time, and had been given thisss masssk to protect myssself on one of my visssitsss there. It did me asss much good asss it did them...\""; + next; + mes "[Gak]"; + mes ""; + mes "\"You can have it, if you want, but jussst remember: it won't protect you from the goblinsss!\""; + next; + goto L_Gaks_Little_Shop; + +L_Info_GuyFawkesMask: + mes "[Gak]"; + mes ""; + mes "\"Over in Tonori there isss a traditional celebration known asss 'Guy Fawkesss Day'. Sssee, many yearsss ago there wasss a guy named Fawkesss.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"He wasss a member of a sssecret sssociety. The Bell Sssociety, it wasss called. Their aim wasss to rid Tonori of itsss king, Efeniunkanduiti Khan.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Now, Fawkesss was a pretty exciteable guy. He had thessse visssionsss of blowing up the entire palace. The other membersss of the sssociety thought thisss wasss unnecessssary, but would neverthelessss be pretty cool.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Ssso, over time, they acquired enough explosssivesss to put Fawkesss' plansss into action. One dark night in late Autumn they gained entry to the palace, and placed great barrelsss of explosssivesss in ssstrategic locationsss.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Then came the time to light the fussse. The othersss went outssside to watch the show, and Fawkesss crept back down the cellarsss, where the ten-minute fussse lay waiting to be lit.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Unfortunately, it wasss at that moment that sssome of the Palace Guard showed up. They were a disssobient pair - they rarely lissstened to the commandsss of their ssseniorsss, and were currently sssneaking down to the cellarsss to sssteal themssselves sssome wine.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Of courssse, when they sssaw Fawkesss about to light the fussse they quickly ssseized him and tied him to a possst. After they had poured themssselvesss a drink, they ssstarted to interrogate him.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"But dessspite their tauntsss and no matter how many timesss they hit him, Fawkesss sssaid nothing. He wasss a brave guy.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Eventually, the guardsss told him that even if he didn't ssspeak, they could sssee that he had been trying to blow up the palace. They were completely drunk by thisss time, and sssaid that once they had gone to relieve themssselvesss they would hang him right there in the cellar.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Asss it isss tradional to do before executing sssomeone, the guardsss gave Fawkesss a pipe for hisss lassst sssmoke. They then left to ussse the toilet.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"It'sss rather obviousss what happened next. Once he wasss sssure they had gone, Fawkesss rolled himssself over in hisss bondsss and pressssed the sssmoking pipe againssst the fussse.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"The ressst of the Bell Sssociety, ssstanding outssside the palace, had a magnificent view asss the centre of the palace was blown into the sssky and the wallsss crumpled outwardsss. Asss Fawkesss had not returned, they guessssed that he mussst not have been able to essscape.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"The two palace guardsss, unfortunately, sssurvived. Asss the wall collapsssed they crashed into the moat along with the ressst of the rubble, but managed to free themssselves.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"The Bell Sssociety essscaped, sssad for their lossss of Fawkesss but jubilant that they had sssuccesssfully killed the King. Unfortunately, the newssspaper next day revealed that he had not even been in the palace at the time! He wasss not even hurt!\""; + next; + mes "[Gak]"; + mes ""; + mes "\"The people of Tulimshar thought it very funny that sssuch a lot of effort had come to nothing. The palace was of courssse dessstroyed, but the Bell Sssociety had failed. Now we celebrate Guy Fawkesss day, in a lasssting jessst at the wasssted effort of the Bell Society.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Thisss masssk is meant to look like Fawkesss, but it doesssn't really. He wasssn't sssuch a smiley guy.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"I don't like Guy Fawkesss Day myssself, ssso I'm ssselling it cheaply.\""; + next; + goto L_Gaks_Little_Shop; + +L_Info_Scissors: + mes "[Gak]"; + mes ""; + mes "\"Yesss, my old ssscissssorsss. I had to cut my own hair with them once, to disssguissse myssself - which I had to do to essscape the country unnoticed.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"It'sss rather a long ssstory, but... well, I wasss in fact running from my execution. I came to Argaesss ssso that I didn't have to lossse my head.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"But that'sss long in the passst. Here and now, they're very good for changing your hairssstyle without bothering to go all the way to the barber.\""; + next; + goto L_Gaks_Little_Shop; + +L_Info_ShockSweet: + mes "[Gak]"; + mes ""; + mes "\"Thossse? Shocking thingsss...\""; + next; + goto L_Gaks_Little_Shop; + + +L_Info_BoneArrow: + mes "[Gak]"; + mes ""; + mes "\"Ahh, yessss. I happen to have sssso many leftover bonesss from what people have been giving me. I couldn't take them all, of courssse... there were very few that were responsssive enough for I needed, and now, I have the bessst.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Would be ssssssuch a pity to wassste the leftoverss though... I've been enchanting the ressst for usse as weaponssss. Nothing too ssspecial, but they are verry light.\""; + next; + goto L_Gaks_Little_Shop; + +L_Event_Over: + if (hween10 < 5) goto L_Event_Over_1; + if (hween10 < 13) goto L_Event_Over_2; + mes "[Gak]"; + mes ""; + mes "\"Well, it'sss been very nice meeting you, friend, but I think I'll be heading off sssoon. I hear the Northern farmsss are pleasssant at this time of year.\""; + close; + +L_Event_Over_1: + mes "[Gak]"; + mes ""; + mes "\"Hmm, hello. And goodbye.\""; + close; + +L_Event_Over_2: + mes "[Gak]"; + mes ""; + mes "\"Thank you for thossse sssweetsss, they were quite deliciousss. But I think I'll be leaving sssoon.\""; + close; + +L_Full_Inventory: + mes "[Gak]"; + mes ""; + mes "\"Ssseems you don't have room for thisss.\""; + close; + } + diff --git a/npc/items/scissors.txt b/npc/items/scissors.txt new file mode 100644 index 00000000..6fc01cb5 --- /dev/null +++ b/npc/items/scissors.txt @@ -0,0 +1,13 @@ +function script useScissors { + if (rand(3)) + goto L_Change; + message strcharinfo(0), "Whoops!"; + itemheal -20 - rand(Hp >> 1), 0; + getitem "Scissors", 1; + end; + +L_Change: + setlook 1, rand(17); + getitem "Scissors", 1; + end; +} diff --git a/npc/items/shock_sweet.txt b/npc/items/shock_sweet.txt new file mode 100644 index 00000000..3fc6d8e0 --- /dev/null +++ b/npc/items/shock_sweet.txt @@ -0,0 +1,14 @@ +function script useShockSweet { + if (rand(5)) + goto L_Change; + message strcharinfo(0), "Yuck, this tastes like earwax!"; + itemheal -20 - (Hp >> 2), 0; + end; + +L_Change: + setlook 6, 127; + message strcharinfo(0), "Gah! That was some strong stuff!"; + sc_start sc_poison, 1, 20; + misceffect 15, strcharinfo(0); + end; +} diff --git a/npc/scripts.conf b/npc/scripts.conf index b6e53dcc..4e5568a4 100644 --- a/npc/scripts.conf +++ b/npc/scripts.conf @@ -18,6 +18,8 @@ npc: npc/functions/evil_obelisk.txt // Item Functions npc: npc/items/purification_potion.txt +npc: npc/items/scissors.txt +npc: npc/items/shock_sweet.txt npc: npc/items/unreleased_item.txt npc: npc/items/restricted_item.txt -- cgit v1.2.3-70-g09d2 From 0705bfc219843716fc844bcdd258bdbe088253b1 Mon Sep 17 00:00:00 2001 From: Freeyorp Date: Mon, 13 Dec 2010 00:13:10 +1300 Subject: Work around a typo --- npc/halloween/2010/gak.txt | 38 +++++++++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) (limited to 'npc') diff --git a/npc/halloween/2010/gak.txt b/npc/halloween/2010/gak.txt index 92a7bbfa..92d559d8 100644 --- a/npc/halloween/2010/gak.txt +++ b/npc/halloween/2010/gak.txt @@ -5,7 +5,8 @@ if (hween10 > 4 && hween10 < 9) goto L_Collecting_Sweets; if (hween10 == 9) goto L_Hunger_Sated; if (hween10 == 10) goto L_Reward_Returning; - if (hween10 == 11) goto L_Gaks_Little_Shop; + if (hween10 == 11) goto L_Miscount_Bugfix; + if (hween10 == 12) goto L_Gaks_Little_Shop; if ($hween10 == 1) goto L_Event_Over_2; @@ -494,8 +495,8 @@ L_Reward: mes ""; mes "\"Not to say that I'm sure of your currencccy here... but it sssshould give you an idea, yessss?\""; next; - set hween10, 11; - set hween10_credits, hween10_collect_tondel + hween10_collect_jelskul + hween10_collect_canpum; + set hween10, 12; + set hween10_credits, hween10_collect_tondel + hween10_collect_jelskul + hween10_collect_canpump; set hween10_credits, hween10_credits * 2; set hween10_credits, hween10_credits + hween10_collect_mmallow; mes "[Gak]"; @@ -1220,5 +1221,36 @@ L_Full_Inventory: mes "\"Ssseems you don't have room for thisss.\""; close; +L_Miscount_Bugfix: + if (hween10_collect_canpump != 0) goto L_Do_Miscount_Bugfix; + set hween10, 12; + goto L_Gaks_Little_Shop; + +L_Do_Miscount_Bugfix: + + mes "[Gak]"; + mes ""; + mes "\"Er.\" While his expression is as stony as ever, he sounds quite embarrassed."; + next; + mes "[Gak]"; + mes ""; + mes "\"Seems I forgot some thingsss earlier... you should actually have " + (hween10_collect_canpump << 1) + " more creditsss than I calculated before.\""; + next; + mes "[Gak]"; + mes ""; + mes "\"Sssorry.\""; + next; + + menu + "\"Hmph. Well, you can correct that now, right?", -; + + mes "[Gak]"; + mes ""; + mes "\"Of courssse. It is done. Sssorry about that\""; + set hween10_credits, hween10_credits + (hween10_collect_canpump << 1); + set hween10, 12; + next; + goto L_Gaks_Little_Shop; + } -- cgit v1.2.3-70-g09d2 From 83cdc0608d4378f5ed5bc6de288e4406940e23e7 Mon Sep 17 00:00:00 2001 From: Jared Adams Date: Tue, 21 Dec 2010 10:20:09 -0700 Subject: Redisable Halloween 2010 --- npc/scripts.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'npc') diff --git a/npc/scripts.conf b/npc/scripts.conf index 4e5568a4..26a91829 100644 --- a/npc/scripts.conf +++ b/npc/scripts.conf @@ -77,6 +77,6 @@ import: npc/_import.txt //import: npc/easter/2010/_import.txt // Halloween 2010 -npc: npc/halloween/2010/gak.txt +// npc: npc/halloween/2010/gak.txt import: npc/xmas/2010/_import.txt -- cgit v1.2.3-70-g09d2 From e095298140bf9867671007aa53fc2e52e1f2d4cd Mon Sep 17 00:00:00 2001 From: Wombat Date: Wed, 22 Dec 2010 02:38:37 -0500 Subject: fixes: bandit quest, mob_db, nivalis soul menhir Fixed mob ids on bandit quest summoning, fixed Pumpkin stats, fixed soul menhir in Nivalis. --- db/mob_db.txt | 2 +- npc/009-2_Hurnscald/lena.txt | 8 ++++---- npc/011-6/bryant.txt | 2 +- npc/020-1_Nivalis/soul-menhir.txt | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) (limited to 'npc') diff --git a/db/mob_db.txt b/db/mob_db.txt index 41dabd50..78140b54 100644 --- a/db/mob_db.txt +++ b/db/mob_db.txt @@ -60,7 +60,7 @@ 1060, Archant, Archant, 30, 400, 0, 0, 200, 1, 20, 30, 4, 6, 10, 5, 1, 0, 12, 10, 1, 1, 1, 0, 25, 133, 1000, 1500, 672, 480, 537, 300, 535, 100, 640, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 40 1061, Moggun, Moggun, 60, 800, 0, 0, 100, 1, 70, 90, 20, 10, 50, 40, 10, 10, 10, 10, 1, 1, 1, 0, 25, 137, 600, 1500, 672, 480, 611, 600, 4001, 1000, 4002, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 40 1062, Terranite, Terranite, 110, 6000, 0, 0, 1000, 1, 200, 300, 20, 40, 60, 40, 40, 30, 60, 40, 1, 1, 1, 0, 29, 133, 400, 872, 672, 900, 4001, 600, 4004, 20, 4005, 20, 4007, 20, 763, 500, 640, 500, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 -1063, Pumpkin, Pumpkin, 10, 100, 0, 0, 4, 1, 10, 10, 0, 5, 5, 5, 1, 0, 6, 5, 1, 1, 1, 3, 21, 133, 700, 1872, 672, 480, 505, 800, 501, 150, 518, 400, 533, 150, 502, 70, 522, 10, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 +1063, Pumpkin, Pumpkin, 1, 200, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 22, 0, 800, 800, 672, 480, 3000, 100, 3001, 20, 3002, 10, 3003, 15, 3011, 500, 3006, 1500, 3007, 2000, 3010, 2500, 0, 0, 0, 0, , , , , , , 0, 0 1064, Bandit, Bandit, 20, 400, 0, 0, 100, 1, 40, 40, 5, 0, 10, 10, 10, 10, 10, 10, 1, 1, 1, 0, 29, 135, 500, 1500, 672, 900, 4016, 800, 521, 200, 526, 200, 535, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 1065, BanditLord, Bandit Lord, 40, 2000, 0, 0, 120, 5, 50, 50, 15, 15, 15, 15, 15, 15, 15, 15, 1, 1, 1, 0, 29, 135, 400, 1500, 672, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 1066, VampireBat, Vampire Bat, 30, 800, 0, 0, 200, 1, 15, 2, 0, 8, 8, 8, 1, 4, 20, 4, 6, 1, 1, 3, 24, 129, 800, 1872, 672, 480, 501, 150, 518, 400, 533, 150, 521, 70, 522, 1, 753, 3000, 754, 2000, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 diff --git a/npc/009-2_Hurnscald/lena.txt b/npc/009-2_Hurnscald/lena.txt index a88da8da..52144a35 100644 --- a/npc/009-2_Hurnscald/lena.txt +++ b/npc/009-2_Hurnscald/lena.txt @@ -26,8 +26,8 @@ L_Lena_Approves: set TMW_Quest, 41; mes "[Lena]"; mes "\"You look like you can handle yourself in a fight. If you can take on this scourge I'll reward you with a hat like mine. In order to prove your mettle, bring me 10 [Bandit Hood]s so I know they've met their match.\""; - areamonster "008-1.gat",25,60,40,65,"Bandit",1063,3, "::"; - areamonster "011-1.gat",35,40,65,60,"Bandit",1063,3, "::"; + areamonster "008-1.gat",25,60,40,65,"Bandit",1064,3, "::"; + areamonster "011-1.gat",35,40,65,60,"Bandit",1064,3, "::"; close; L_Lena_No_Fan: @@ -66,8 +66,8 @@ L_Lena_Bandit_Leader: L_Lena_Bandit_Leader_Yes: set TMW_Quest, 43; - areamonster "008-1.gat",25,60,40,65,"Bandit",1063,3, "::"; - areamonster "011-1.gat",35,40,65,60,"Bandit",1063,3, "::"; + areamonster "008-1.gat",25,60,40,65,"Bandit",1064,3, "::"; + areamonster "011-1.gat",35,40,65,60,"Bandit",1064,3, "::"; mes "[Lena]"; mes "\"You have a brave heart. Though I know you can suceed on your own, I recommend finding others to help you defeat the bandit leader. I believe he could pose a significant threat to solitary individuals seeking to challenge him. Good luck!\""; close; diff --git a/npc/011-6/bryant.txt b/npc/011-6/bryant.txt index 07c5453d..4c1579b9 100644 --- a/npc/011-6/bryant.txt +++ b/npc/011-6/bryant.txt @@ -18,7 +18,7 @@ L_Bryant_Summon: next; mes "\"I believe I saw him run into a cave south and east of here. There is a red carpet in front of the cave entrance. Be careful and good luck.\""; set TMW_Quest, 44; - monster "011-6.gat",260,250,"BanditLord",1064,1, "Bryant::onBanditLordDead"; + monster "011-6.gat",260,250,"BanditLord",1065,1, "Bryant::onBanditLordDead"; close; onBanditLordDead: diff --git a/npc/020-1_Nivalis/soul-menhir.txt b/npc/020-1_Nivalis/soul-menhir.txt index 1569d0d6..ee973170 100644 --- a/npc/020-1_Nivalis/soul-menhir.txt +++ b/npc/020-1_Nivalis/soul-menhir.txt @@ -2,9 +2,9 @@ 020-1.gat,64,89,0 script Soul Menhir 144, { callfunc "ClearVariables"; - set @map$, "009-1.gat"; - setarray @Xs, 52, 53, 54, 52, 54, 52, 54; - setarray @Ys, 39, 39, 39, 40, 40, 41, 41; + set @map$, "020-1.gat"; + setarray @Xs, 63, 64, 65, 63, 65, 63, 65; + setarray @Ys, 88, 88, 88, 89, 89, 90, 90; set @x, 0; set @y, 0; callfunc "SoulMenhir"; -- cgit v1.2.3-70-g09d2 From 940145a165508c791b60bc3bb9a768976900c685 Mon Sep 17 00:00:00 2001 From: Jessica Tölke Date: Wed, 22 Dec 2010 11:58:34 +0100 Subject: Removing yellow present boxes as regular drop in mob_db. Fixing presentcounter in Golbanez. Corrected the messages in 031-3 labyrinth. (Hopefully all that are wrong.) --- db/mob_db.txt | 4 ++-- npc/031-3/labyrinth.txt | 17 +++++++---------- npc/xmas/2010/golbanez.txt | 12 ++++++++++++ 3 files changed, 21 insertions(+), 12 deletions(-) (limited to 'npc') diff --git a/db/mob_db.txt b/db/mob_db.txt index 78140b54..eb29e711 100644 --- a/db/mob_db.txt +++ b/db/mob_db.txt @@ -13,7 +13,7 @@ 1013, EvilMushroom, Evil Mushroom, 110, 650, 0, 0, 110, 1, 65, 80, 4, 6, 16, 12, 10, 10, 35, 10, 1, 1, 1, 3, 22, 137, 800, 1800, 672, 480, 535, 500, 540, 10, 534, 100, 566, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 1, 60 1014, PinkFlower, Pink Flower, 115, 700, 0, 0, 110, 2, 70, 75, 0, 5, 16, 12, 20, 20, 20, 50, 2, 2, 1, 3, 22, 128, 800, 800, 672, 480, 535, 100, 540, 10, 1199, 100, 526, 400, 565, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 50 1015, SantaSlime, Santa Slime, 120, 750, 0, 0, 0, 1, 75, 80, 2, 7, 1, 20, 1, 0, 30, 30, 1, 1, 1, 0, 21, 161, 1500, 1872, 672, 480, 512, 800, 513, 700, 514, 600, 519, 500, 527, 400, 538, 500, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 1, 10 -1016, RudolphSlime, Rudolph Slime, 50, 350, 0, 0, 16, 1, 30, 35, 10, 7, 1, 20, 1, 0, 30, 30, 1, 1, 1, 0, 21, 131, 1000, 1872, 672, 480, 504, 800, 506, 500, 508, 200, 509, 300, 510, 600, 515, 800, 516, 500, 4021, 400, 0, 0, 0, 0, , , , , , , 2, 30 +1016, RudolphSlime, Rudolph Slime, 50, 350, 0, 0, 16, 1, 30, 35, 10, 7, 1, 20, 1, 0, 30, 30, 1, 1, 1, 0, 21, 131, 1000, 1872, 672, 480, 504, 800, 506, 500, 508, 200, 509, 300, 510, 600, 515, 800, 516, 500, 0, 400, 0, 0, 0, 0, , , , , , , 2, 30 1017, Bat, Bat, 20, 150, 0, 0, 2, 1, 5, 25, 0, 5, 1, 1, 1, 0, 20, 25, 1, 1, 1, 3, 24, 129, 800, 1872, 672, 480, 505, 800, 501, 150, 518, 400, 533, 150, 521, 70, 522, 1, 753, 3000, 754, 2000, 0, 0, 0, 0, , , , , , , 2, 40 1018, Pinkie, Pinkie, 30, 500, 0, 0, 3, 2, 7, 15, 0, 5, 1, 1, 1, 0, 20, 25, 2, 2, 1, 3, 20, 129, 800, 1872, 672, 480, 614, 800, 751, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 3, 50 1019, SpikyMushroom, Spiky Mushroom, 30, 300, 0, 0, 4, 1, 10, 13, 0, 5, 1, 1, 1, 0, 10, 10, 1, 1, 1, 3, 20, 129, 800, 1872, 672, 480, 567, 800, 501, 150, 518, 50, 613, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 3, 40 @@ -69,4 +69,4 @@ 1069, Scythe, Scythe, 40, 3000, 0, 0, 500, 1, 200, 350, 30, 10, 100, 250, 1, 1, 150, 90, 1, 50, 1, 0, 40, 133, 220, 700, 672, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 1070, BallLightning, Ball Lightning, 40, 50, 0, 0, 10, 1, 5, 10, 40, 65, 1, 200, 1, 1, 1, 1, 1, 50, 1, 0, 47, 133, 110, 1500, 672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 1071, IceElement, Ice Element, 20, 1000, 0, 0, 200, 2, 60, 60, 0, 20, 15, 25, 15, 15, 20, 50, 1, 1, 1, 0, 41, 135, 330, 740, 672, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 20 -1072, Yeti, Yeti, 35, 3000, 0, 0, 300, 2, 50, 150, 40, 0, 70, 5, 20, 15, 5, 15, 1, 1, 1, 0, 61, 135, 400, 1500, 672, 900, 4021, 800, 4021, 800, 4021, 800, 4021, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 +1072, Yeti, Yeti, 35, 3000, 0, 0, 300, 2, 50, 150, 40, 0, 70, 5, 20, 15, 5, 15, 1, 1, 1, 0, 61, 135, 400, 1500, 672, 900, 0, 800, 0, 800, 0, 800, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 diff --git a/npc/031-3/labyrinth.txt b/npc/031-3/labyrinth.txt index e5b4fca9..4616891b 100755 --- a/npc/031-3/labyrinth.txt +++ b/npc/031-3/labyrinth.txt @@ -47,6 +47,11 @@ end; } +031-3.gat,148,150,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 128, 134; + end; +} + // Third Warp 031-3.gat,139,258,0 script #ChristmasBarrier 127,1,1,{ if (Maze < 2) goto L_Golbenez; @@ -438,15 +443,7 @@ L_Golbenez: end; } -031-3.gat,148,150,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 8) goto L_Golbenez; - warp "031-3.gat", 128, 134; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(4000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - end; -} // # second warp 031-3.gat,232,93,0 script #ChristmasBarrier 127,1,1,{ if (Maze < 8) goto L_Golbenez; @@ -475,7 +472,7 @@ L_Golbenez: warp "031-3.gat", 46, 27; end; L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you are getting close to your objective but you still need to give me " +(4000000-Golbenez_Inn_Cost)+ " Gold Pieces to be able to find Santa."; + message strcharinfo(0), "Golbenez: Mortal, you are getting close to your objective but you still need to give me " +(5000000-Golbenez_Inn_Cost)+ " Gold Pieces to be able to find Santa."; end; } @@ -484,7 +481,7 @@ L_Golbenez: warp "031-3.gat", 120, 79; end; L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you are getting close to your objective but you still need to give me " +(4000000-Golbenez_Inn_Cost)+ " Gold Pieces to be able to find Santa."; + message strcharinfo(0), "Golbenez: Mortal, you are getting close to your objective but you still need to give me " +(5000000-Golbenez_Inn_Cost)+ " Gold Pieces to be able to find Santa."; end; } diff --git a/npc/xmas/2010/golbanez.txt b/npc/xmas/2010/golbanez.txt index fe9ac50d..0b145ca9 100755 --- a/npc/xmas/2010/golbanez.txt +++ b/npc/xmas/2010/golbanez.txt @@ -145,6 +145,12 @@ L_Menu: if (@menuitem[@menu] == 4022) goto L_Check_White; L_Check_Yellow: + // If you have already donated more than you have collected in the right way (Via script), + // then whatever you have donated so far will remain, but if you have some spare boxes, + // it will be not possible to give it. + if (Count_Yellow > Yellow) set Yellow, Count_Yellow; + if (Count_Yellow + @count > Yellow) goto L_Fail_Box; + if (Count_Yellow >= 40) goto L_Done_Yellow; if (@count > Yellow) goto L_Fail_Box; delitem @menuitem[@menu], @count; @@ -153,6 +159,12 @@ L_Check_Yellow: goto Golbenez_pay_presents; L_Check_White: + // If you have already donated more than you have collected in the right way (Via script), + // then whatever you have donated so far will remain, but if you have some spare boxes, + // it will be not possible to give it. + if (Count_White > White) set White, Count_White; + if (Count_White + @count > White) goto L_Fail_Box; + if (Count_White >= 30) goto L_Done_White; if (@count > White) goto L_Fail_Box; delitem @menuitem[@menu], @count; -- cgit v1.2.3-70-g09d2 From 2c1627f6bb0d5771957666bf5357d052da68201e Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Wed, 22 Dec 2010 14:12:58 +0100 Subject: fixing santas check for full inventory --- npc/xmas/2010/santa.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'npc') diff --git a/npc/xmas/2010/santa.txt b/npc/xmas/2010/santa.txt index 8f58dff1..3ef9257d 100755 --- a/npc/xmas/2010/santa.txt +++ b/npc/xmas/2010/santa.txt @@ -79,7 +79,7 @@ L_Stocking_Prize: message strcharinfo(0), "You suddenly get dizzy... Something is not right with you. Maybe you shouldnt have put the Red Stocking so close to your face!"; end; -L_Full: +L_full: mes "[Santa Claus]"; mes "\"Your backpack seems to be full. You should get rid of some unused stuff before you get my gifts, or maybe try one super resistant red bag, my personal favorite! Hoh-hoh!\""; close; -- cgit v1.2.3-70-g09d2 From 8032c02d7341011acdcdcc9e3b961bf312610992 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Mon, 27 Dec 2010 23:40:58 +0100 Subject: mobs changed at 011-6, removing xmas, minor fixes - rearranged the mobs in 011-6 - fixing the whole repo so it can be used with the java converter tool again. - removing unused files: - golbanez on gy - directory names changed, so the old dirs were deleted - removed xmas active: so golbanez and santa are gone, 031-3 is empty, the warps work for everyone now - lots of pumpkin spawns are gone --- data/020-4.wlk | Bin 10004 -> 0 bytes data/021-8.wlk | Bin 11290 -> 0 bytes data/023-1.wlk | Bin 30004 -> 0 bytes data/test.wlk | Bin 19042 -> 0 bytes npc/007-1_Woodland/_mobs.txt | 1 - npc/008-1_Hurnscald_outskirts/_mobs.txt | 1 - npc/009-1_Hurnscald/_mobs.txt | 1 - npc/009-4/_mobs.txt | 29 -- npc/009-4/_warps.txt | 46 --- npc/010-1_Woodland/_mobs.txt | 1 - npc/011-1_Woodland/_mobs.txt | 1 - npc/011-6/_mobs.txt | 71 ++++- npc/012-1_Woodland_Hills/_mobs.txt | 1 - npc/013-1_Woodland_hills/_mobs.txt | 1 - npc/014-1_Woodland/_mobs.txt | 1 - npc/015-1_Woodland/_mobs.txt | 1 - npc/016-1_Woodland/_mobs.txt | 1 - npc/017-1_Woodland_hills/_mobs.txt | 1 - npc/018-1_Woodland_mining_camp/_mobs.txt | 1 - npc/019-3_Snow_Cave/_import.txt | 3 + npc/019-3_Snow_Cave/_mobs.txt | 19 ++ npc/019-3_Snow_Cave/_warps.txt | 4 + npc/019-3_Snow_field/_import.txt | 3 - npc/019-3_Snow_field/_mobs.txt | 19 -- npc/019-3_Snow_field/_warps.txt | 4 - npc/025-1_Woodland_Swamp/_mobs.txt | 1 - npc/026-1_Swamp/_mobs.txt | 1 - npc/027-1_Graveyard/_mobs.txt | 1 - npc/027-1_Graveyard/golbenez.txt | 51 ---- npc/028-1/_mobs.txt | 1 - npc/029-1_Candor/_mobs.txt | 1 - npc/031-3/_import.txt | 4 - npc/031-3/_mobs.txt | 109 ------- npc/031-3/_warps.txt | 3 - npc/031-3/labyrinth.txt | 487 ------------------------------- npc/031-3_Cave/_import.txt | 4 + npc/031-3_Cave/_mobs.txt | 62 ++++ npc/031-3_Cave/_warps.txt | 3 + npc/031-3_Cave/labyrinth.txt | 273 +++++++++++++++++ npc/_import.txt | 4 +- npc/scripts.conf | 2 +- 41 files changed, 438 insertions(+), 779 deletions(-) delete mode 100644 data/020-4.wlk delete mode 100644 data/021-8.wlk delete mode 100644 data/023-1.wlk delete mode 100644 data/test.wlk delete mode 100644 npc/009-4/_mobs.txt delete mode 100644 npc/009-4/_warps.txt create mode 100644 npc/019-3_Snow_Cave/_import.txt create mode 100644 npc/019-3_Snow_Cave/_mobs.txt create mode 100644 npc/019-3_Snow_Cave/_warps.txt delete mode 100644 npc/019-3_Snow_field/_import.txt delete mode 100644 npc/019-3_Snow_field/_mobs.txt delete mode 100644 npc/019-3_Snow_field/_warps.txt delete mode 100644 npc/027-1_Graveyard/golbenez.txt delete mode 100644 npc/031-3/_import.txt delete mode 100644 npc/031-3/_mobs.txt delete mode 100644 npc/031-3/_warps.txt delete mode 100755 npc/031-3/labyrinth.txt create mode 100644 npc/031-3_Cave/_import.txt create mode 100644 npc/031-3_Cave/_mobs.txt create mode 100644 npc/031-3_Cave/_warps.txt create mode 100755 npc/031-3_Cave/labyrinth.txt (limited to 'npc') diff --git a/data/020-4.wlk b/data/020-4.wlk deleted file mode 100644 index e2a1852c..00000000 Binary files a/data/020-4.wlk and /dev/null differ diff --git a/data/021-8.wlk b/data/021-8.wlk deleted file mode 100644 index 8ddde1fd..00000000 Binary files a/data/021-8.wlk and /dev/null differ diff --git a/data/023-1.wlk b/data/023-1.wlk deleted file mode 100644 index 31f88b7b..00000000 Binary files a/data/023-1.wlk and /dev/null differ diff --git a/data/test.wlk b/data/test.wlk deleted file mode 100644 index cf612ae7..00000000 Binary files a/data/test.wlk and /dev/null differ diff --git a/npc/007-1_Woodland/_mobs.txt b/npc/007-1_Woodland/_mobs.txt index cb2a8467..29ad1105 100644 --- a/npc/007-1_Woodland/_mobs.txt +++ b/npc/007-1_Woodland/_mobs.txt @@ -9,7 +9,6 @@ 007-1.gat,0,0,0,0 monster Clover 1037,2,0,1000,Mob007-1::On1037 007-1.gat,0,0,0,0 monster Squirrel 1038,25,30,20,Mob007-1::On1038 007-1.gat,0,0,0,0 monster Butterfly 1055,10,30,20,Mob007-1::On1055 -007-1.gat,0,0,0,0 monster Pumpkin 1064,2,30000,20000 007-1.gat,0,0,0 script Mob007-1 -1,{ diff --git a/npc/008-1_Hurnscald_outskirts/_mobs.txt b/npc/008-1_Hurnscald_outskirts/_mobs.txt index 9e7880fe..12147858 100644 --- a/npc/008-1_Hurnscald_outskirts/_mobs.txt +++ b/npc/008-1_Hurnscald_outskirts/_mobs.txt @@ -9,7 +9,6 @@ 008-1.gat,0,0,0,0 monster Clover 1037,2,0,1000,Mob008-1::On1037 008-1.gat,0,0,0,0 monster Squirrel 1038,10,30,20,Mob008-1::On1038 008-1.gat,0,0,0,0 monster Butterfly 1055,10,30,20,Mob008-1::On1055 -008-1.gat,0,0,0,0 monster Pumpkin 1064,2,40000,40000 008-1.gat,0,0,0 script Mob008-1 -1,{ diff --git a/npc/009-1_Hurnscald/_mobs.txt b/npc/009-1_Hurnscald/_mobs.txt index c066bac8..5f1fcf89 100644 --- a/npc/009-1_Hurnscald/_mobs.txt +++ b/npc/009-1_Hurnscald/_mobs.txt @@ -5,7 +5,6 @@ 009-1.gat,88,51,15,4 monster Squirrel 1038,2,0,5000,Mob009-1::On1038 009-1.gat,80,38,5,5 monster Squirrel 1038,1,0,5000,Mob009-1::On1038 009-1.gat,0,0,0,0 monster Butterfly 1055,5,30,20,Mob009-1::On1055 -009-1.gat,0,0,0,0 monster Pumpkin 1064,1,40000,40000 009-1.gat,0,0,0 script Mob009-1 -1,{ diff --git a/npc/009-4/_mobs.txt b/npc/009-4/_mobs.txt deleted file mode 100644 index 71cf010f..00000000 --- a/npc/009-4/_mobs.txt +++ /dev/null @@ -1,29 +0,0 @@ -// 009-4 Cave mobs -// # see detailed description at orum.txt -// Cavern -009-4.gat,107,88,19,28 monster Silkworm 1035,3,20000,14000,Mob009-4::OnSilkworm -009-4.gat,107,88,19,28 monster Cave Snake 1021,5,20000,14000,Mob009-4::OnCaveSnake - -009-4.gat,119,45,5,3 monster Silkworm 1035,3,20000,14000,Mob009-4::OnSilkworm -009-4.gat,103,28,6,4 monster Cave Snake 1021,3,20000,14000,Mob009-4::OnCaveSnake -009-4.gat,103,28,6,4 monster Silkworm 1035,2,20000,14000,Mob009-4::OnSilkworm - -009-4.gat,36,117,4,4 monster Maggot 1002,3,20000,14000,Mob009-4::OnMaggot -009-4.gat,71,130,4,4 monster Maggot 1002,3,20000,14000,Mob009-4::OnMaggot - -009-4.gat,0,0,0 script Mob009-4 -1,{ -OnCaveSnake: - set @mobID, 1021; - callfunc "MobPoints"; - break; -OnMaggot: - set @mobID, 1002; - callfunc "MobPoints"; - break; -OnSilkworm: - set @mobID, 1035; - callfunc "MobPoints"; - break; - - end; -} diff --git a/npc/009-4/_warps.txt b/npc/009-4/_warps.txt deleted file mode 100644 index 9666a081..00000000 --- a/npc/009-4/_warps.txt +++ /dev/null @@ -1,46 +0,0 @@ -// 009-4 Cave Warps - -// Entrances -009-4.gat,37,112 warp to Outside -1,-1,009-3.gat,162,114 -009-4.gat,37,123 warp to Lair -1,-1,009-4.gat,36,27 - -009-4.gat,72,125 warp to Outside -1,-1,009-3.gat,162,114 -009-4.gat,72,136 warp to Lair -1,-1,009-4.gat,36,27 - -// Caverns -009-4.gat,103,22 warp to Lair -1,-1,009-4.gat,51,46 -009-4.gat,103,76 warp to Lair -1,-1,009-4.gat,51,46 - -//009-3.gat,162,113,0 script #OrumQuestEnter 0,0,0,{ - if (OrumQuest >= 12) goto L_Second_Entrance; - warp "009-4.gat", 37, 113; - close; - -L_Second_Entrance: - warp "009-4.gat", 72, 126; - close; -} -009-4.gat,36,26,0 script #LairExit 0,0,0,{ - if (OrumQuest >= 12) goto L_Second_Entrance; - warp "009-4.gat", 37, 122; - close; - -L_Second_Entrance: - warp "009-4.gat", 72, 135; - close; -} - -009-4.gat,51,47,0 script #CavernEnter 0,0,0,{ - if (OrumQuest >= 14) goto L_Second_Cavern; - if (OrumQuest < 12) goto L_See_Orum; - warp "009-4.gat", 103, 23; - close; - -L_Second_Cavern: - warp "009-4.gat", 103, 77; - close; - -L_See_Orum: - mes "Right as you are entering you hear Orum call out for you.. Perhaps you should see what he wants first.."; - close; -} diff --git a/npc/010-1_Woodland/_mobs.txt b/npc/010-1_Woodland/_mobs.txt index d86c2641..87140ff3 100644 --- a/npc/010-1_Woodland/_mobs.txt +++ b/npc/010-1_Woodland/_mobs.txt @@ -13,7 +13,6 @@ 010-1.gat,0,0,0,0 monster Clover 1037,2,0,1000,Mob010-1::On1037 010-1.gat,0,0,0,0 monster Squirrel 1038,25,30,20,Mob010-1::On1038 010-1.gat,0,0,0,0 monster Butterfly 1055,10,30,20,Mob010-1::On1055 -010-1.gat,0,0,0,0 monster Pumpkin 1064,3,30000,20000 010-1.gat,0,0,0 script Mob010-1 -1,{ diff --git a/npc/011-1_Woodland/_mobs.txt b/npc/011-1_Woodland/_mobs.txt index 3aa95c29..05ed18ed 100644 --- a/npc/011-1_Woodland/_mobs.txt +++ b/npc/011-1_Woodland/_mobs.txt @@ -11,7 +11,6 @@ 011-1.gat,0,0,0,0 monster Clover 1037,2,0,1000,Mob011-1::On1037 011-1.gat,0,0,0,0 monster Squirrel 1038,25,30,20,Mob011-1::On1038 011-1.gat,0,0,0,0 monster Butterfly 1055,10,30,20,Mob011-1::On1055 -011-1.gat,0,0,0,0 monster Pumpkin 1064,2,30000,20000 011-1.gat,0,0,0 script Mob011-1 -1,{ diff --git a/npc/011-6/_mobs.txt b/npc/011-6/_mobs.txt index 01a44dc6..9f42488c 100644 --- a/npc/011-6/_mobs.txt +++ b/npc/011-6/_mobs.txt @@ -1,12 +1,60 @@ // 011-6 mobs -011-6.gat,0,0,0,0 monster Spiky Mushroom 1019,30,30000,100000,Mob011-6::On1019 -011-6.gat,0,0,0,0 monster Evil Mushroom 1013,15,30000,100000,Mob011-6::On1013 -011-6.gat,115,79,191,110 monster Bandit 1064,8,30000,100000,Mob011-6::On1064 -011-6.gat,0,0,0,0 monster Bat 1017,30,30000,100000,Mob011-6::On1017 +011-6.gat,152,72,283,127 monster Silk Worm 1035,9,30000,100000,Mob011-6::On1035 +011-6.gat,263,38,30,34 monster Bandit 1064,1,30000,30000,Mob011-6::On1064 +011-6.gat,262,114,38,38 monster Bandit 1064,1,30000,30000,Mob011-6::On1064 +011-6.gat,132,119,17,21 monster Bandit 1064,1,30000,30000,Mob011-6::On1064 +011-6.gat,170,66,17,21 monster Bandit 1064,1,30000,30000,Mob011-6::On1064 +011-6.gat,67,70,17,21 monster Bandit 1064,1,30000,30000,Mob011-6::On1064 +011-6.gat,196,107,17,21 monster Bandit 1064,1,30000,30000,Mob011-6::On1064 +011-6.gat,196,29,17,21 monster Bandit 1064,1,30000,30000,Mob011-6::On1064 +011-6.gat,36,37,17,21 monster Bandit 1064,1,30000,30000,Mob011-6::On1064 +011-6.gat,112,40,45,48 monster Bandit 1064,2,30000,60000,Mob011-6::On1064 +011-6.gat,31,99,17,21 monster Bandit 1064,1,30000,30000,Mob011-6::On1064 +011-6.gat,223,250,123,65 monster Bat 1017,5,30000,100000,Mob011-6::On1017 +011-6.gat,224,175,118,25 monster Bat 1017,3,30000,100000,Mob011-6::On1017 +011-6.gat,257,77,4,126 monster Bat 1017,6,30000,100000,Mob011-6::On1017 +011-6.gat,192,77,4,126 monster Bat 1017,9,30000,100000,Mob011-6::On1017 +011-6.gat,167,110,87,13 monster Bat 1017,9,30000,100000,Mob011-6::On1017 +011-6.gat,75,70,104,96 monster Bat 1017,23,30000,100000,Mob011-6::On1017 +011-6.gat,78,195,129,97 monster Bat 1017,9,30000,100000,Mob011-6::On1017 +011-6.gat,168,109,36,37 monster Spiky Mushroom 1019,5,30000,100000,Mob011-6::On1019 +011-6.gat,199,76,36,37 monster Spiky Mushroom 1019,5,30000,100000,Mob011-6::On1019 +011-6.gat,88,163,29,27 monster Spiky Mushroom 1019,5,30000,100000,Mob011-6::On1019 +011-6.gat,48,113,35,19 monster Spiky Mushroom 1019,5,30000,100000,Mob011-6::On1019 +011-6.gat,177,94,20,28 monster Evil Mushroom 1013,4,30000,100000,Mob011-6::On1013 +011-6.gat,194,49,20,28 monster Evil Mushroom 1013,2,30000,100000,Mob011-6::On1013 +011-6.gat,51,115,47,24 monster Evil Mushroom 1013,2,30000,100000,Mob011-6::On1013 +011-6.gat,63,169,13,17 monster Evil Mushroom 1013,2,30000,100000,Mob011-6::On1013 +011-6.gat,100,226,29,14 monster Spiky Mushroom 1019,3,30000,100000,Mob011-6::On1019 +011-6.gat,260,44,53,16 monster Spiky Mushroom 1019,3,30000,100000,Mob011-6::On1019 +011-6.gat,272,48,21,28 monster Evil Mushroom 1013,2,30000,100000,Mob011-6::On1013 +011-6.gat,95,78,31,25 monster Yellow Slime 1007,5,30000,100000,Mob011-6::On1007 +011-6.gat,59,36,19,25 monster Yellow Slime 1007,5,30000,100000,Mob011-6::On1007 +011-6.gat,26,69,19,25 monster Yellow Slime 1007,5,30000,100000,Mob011-6::On1007 +011-6.gat,61,101,14,10 monster Yellow Slime 1007,3,30000,100000,Mob011-6::On1007 +011-6.gat,50,61,9,12 monster Yellow Slime 1007,3,30000,100000,Mob011-6::On1007 +011-6.gat,128,39,9,12 monster Yellow Slime 1007,3,30000,100000,Mob011-6::On1007 +011-6.gat,41,178,9,12 monster Yellow Slime 1007,1,30000,100000,Mob011-6::On1007 +011-6.gat,70,229,9,12 monster Yellow Slime 1007,1,30000,100000,Mob011-6::On1007 +011-6.gat,20,204,9,12 monster Yellow Slime 1007,1,30000,100000,Mob011-6::On1007 +011-6.gat,114,190,9,12 monster Yellow Slime 1007,4,30000,100000,Mob011-6::On1007 +011-6.gat,137,205,9,12 monster Yellow Slime 1007,2,30000,100000,Mob011-6::On1007 +011-6.gat,79,220,29,14 monster Cave Snake 1021,3,30000,100000,Mob011-6::On1021 +011-6.gat,115,210,29,14 monster Cave Snake 1021,3,30000,100000,Mob011-6::On1021 +011-6.gat,41,193,31,31 monster Cave Snake 1021,3,30000,100000,Mob011-6::On1021 +011-6.gat,70,143,31,31 monster Cave Snake 1021,3,30000,100000,Mob011-6::On1021 +011-6.gat,97,183,29,14 monster Cave Snake 1021,3,30000,100000,Mob011-6::On1021 +011-6.gat,172,252,9,12 monster Cave Maggot 1056,4,30000,100000,Mob011-6::On1056 +011-6.gat,263,236,16,5 monster Cave Maggot 1056,3,30000,100000,Mob011-6::On1056 011-6.gat,0,0,0 script Mob011-6 -1,{ +On1007: + set @mobID, 1007; + callfunc "MobPoints"; + break; + On1013: set @mobID, 1013; callfunc "MobPoints"; @@ -22,6 +70,21 @@ On1019: callfunc "MobPoints"; break; +On1021: + set @mobID, 1021; + callfunc "MobPoints"; + break; + +On1035: + set @mobID, 1035; + callfunc "MobPoints"; + break; + +On1056: + set @mobID, 1056; + callfunc "MobPoints"; + break; + On1064: set @mobID, 1064; callfunc "MobPoints"; diff --git a/npc/012-1_Woodland_Hills/_mobs.txt b/npc/012-1_Woodland_Hills/_mobs.txt index 13e21929..c081df48 100644 --- a/npc/012-1_Woodland_Hills/_mobs.txt +++ b/npc/012-1_Woodland_Hills/_mobs.txt @@ -11,7 +11,6 @@ 012-1.gat,0,0,0,0 monster Clover 1037,2,0,1000,Mob012-1::On1037 012-1.gat,0,0,0,0 monster Squirrel 1038,25,30,20,Mob012-1::On1038 012-1.gat,0,0,0,0 monster Butterfly 1055,20,30,20,Mob012-1::On1055 -012-1.gat,0,0,0,0 monster Pumpkin 1064,6,40000,30000 012-1.gat,0,0,0 script Mob012-1 -1,{ diff --git a/npc/013-1_Woodland_hills/_mobs.txt b/npc/013-1_Woodland_hills/_mobs.txt index 2086aa5f..04bdf4ce 100644 --- a/npc/013-1_Woodland_hills/_mobs.txt +++ b/npc/013-1_Woodland_hills/_mobs.txt @@ -15,7 +15,6 @@ 013-1.gat,0,0,0,0 monster Clover 1037,2,0,1000,Mob013-1::On1037 013-1.gat,0,0,0,0 monster Squirrel 1038,25,30,20,Mob013-1::On1038 013-1.gat,0,0,0,0 monster Butterfly 1055,10,30,20,Mob013-1::On1055 -013-1.gat,0,0,0,0 monster Pumpkin 1064,2,50000,45000 013-1.gat,0,0,0 script Mob013-1 -1,{ diff --git a/npc/014-1_Woodland/_mobs.txt b/npc/014-1_Woodland/_mobs.txt index fc21e806..6f530db9 100644 --- a/npc/014-1_Woodland/_mobs.txt +++ b/npc/014-1_Woodland/_mobs.txt @@ -16,7 +16,6 @@ 014-1.gat,0,0,0,0 monster Clover 1037,2,0,1000,Mob014-1::On1037 014-1.gat,0,0,0,0 monster Squirrel 1038,25,30,20,Mob014-1::On1038 014-1.gat,0,0,0,0 monster Butterfly 1055,10,30,20,Mob014-1::On1055 -014-1.gat,0,0,0,0 monster Pumpkin 1064,2,40000,40000 014-1.gat,0,0,0 script Mob014-1 -1,{ diff --git a/npc/015-1_Woodland/_mobs.txt b/npc/015-1_Woodland/_mobs.txt index ca1e87bf..da42f9d1 100644 --- a/npc/015-1_Woodland/_mobs.txt +++ b/npc/015-1_Woodland/_mobs.txt @@ -2,7 +2,6 @@ 015-1.gat,0,0,0,0 monster Clover 1037,2,100000,1000,Mob015-1::On1037 015-1.gat,0,0,0,0 monster Butterfly 1055,10,30,20,Mob015-1::On1055 -015-1.gat,0,0,0,0 monster Pumpkin 1064,1,60000,60000 015-1.gat,0,0,0 script Mob015-1 -1,{ diff --git a/npc/016-1_Woodland/_mobs.txt b/npc/016-1_Woodland/_mobs.txt index 9bff35fd..47df3be4 100644 --- a/npc/016-1_Woodland/_mobs.txt +++ b/npc/016-1_Woodland/_mobs.txt @@ -2,7 +2,6 @@ 016-1.gat,0,0,0,0 monster Clover 1037,2,100000,30000,Mob016-1::On1037 016-1.gat,0,0,0,0 monster Butterfly 1055,10,30,20,Mob016-1::On1055 -016-1.gat,0,0,0,0 monster Pumpkin 1064,1,60000,60000 016-1.gat,0,0,0 script Mob016-1 -1,{ diff --git a/npc/017-1_Woodland_hills/_mobs.txt b/npc/017-1_Woodland_hills/_mobs.txt index f5ead1e7..fd79bb69 100644 --- a/npc/017-1_Woodland_hills/_mobs.txt +++ b/npc/017-1_Woodland_hills/_mobs.txt @@ -5,7 +5,6 @@ 017-1.gat,91,25,76,8 monster Loghead 2027,3,5000,60000,Mob017-1::On2027 017-1.gat,31,48,19,12 monster Loghead 2027,3,5000,60000,Mob017-1::On2027 017-1.gat,0,0,0,0 monster Butterfly 1055,10,30,20,Mob017-1::On1055 -017-1.gat,0,0,0,0 monster Pumpkin 1064,3,32000,20000 017-1.gat,0,0,0 script Mob017-1 -1,{ diff --git a/npc/018-1_Woodland_mining_camp/_mobs.txt b/npc/018-1_Woodland_mining_camp/_mobs.txt index 2a2af659..292e0547 100644 --- a/npc/018-1_Woodland_mining_camp/_mobs.txt +++ b/npc/018-1_Woodland_mining_camp/_mobs.txt @@ -26,7 +26,6 @@ 018-1.gat,160,31,11,18 monster Red Slime 1008,5,100000,50000,Mob018-1::On1008 018-1.gat,0,0,0,0 monster Clover 1037,2,0,1000,Mob018-1::On1037 018-1.gat,0,0,0,0 monster Butterfly 1055,20,30,20,Mob018-1::On1055 -018-1.gat,0,0,0,0 monster Pumpkin 1064,6,60000,60000 018-1.gat,0,0,0 script Mob018-1 -1,{ diff --git a/npc/019-3_Snow_Cave/_import.txt b/npc/019-3_Snow_Cave/_import.txt new file mode 100644 index 00000000..728b994b --- /dev/null +++ b/npc/019-3_Snow_Cave/_import.txt @@ -0,0 +1,3 @@ +map: 019-3.gat +npc: npc/019-3_Snow_Cave/_mobs.txt +npc: npc/019-3_Snow_Cave/_warps.txt diff --git a/npc/019-3_Snow_Cave/_mobs.txt b/npc/019-3_Snow_Cave/_mobs.txt new file mode 100644 index 00000000..8d4e5d7c --- /dev/null +++ b/npc/019-3_Snow_Cave/_mobs.txt @@ -0,0 +1,19 @@ +// 019-3 Snow Cave mobs + +019-3.gat,0,0,0,0 monster Moggun 1061,10,100000,30000,Mob019-3::On1061 +019-3.gat,0,0,0,0 monster Bats 1017,50,100000,30000,Mob019-3::On1017 + + +019-3.gat,0,0,0 script Mob019-3 -1,{ +On1017: + set @mobID, 1017; + callfunc "MobPoints"; + break; + +On1061: + set @mobID, 1061; + callfunc "MobPoints"; + break; + + end; +} diff --git a/npc/019-3_Snow_Cave/_warps.txt b/npc/019-3_Snow_Cave/_warps.txt new file mode 100644 index 00000000..65c5dadc --- /dev/null +++ b/npc/019-3_Snow_Cave/_warps.txt @@ -0,0 +1,4 @@ +// 019-3 Snow Cave warps + +019-3.gat,40,99 warp WarpOutside1 -1,-1,019-1.gat,38,73 +019-3.gat,98,25 warp warpOutside2 -1,-1,019-1.gat,96,38 diff --git a/npc/019-3_Snow_field/_import.txt b/npc/019-3_Snow_field/_import.txt deleted file mode 100644 index 3c5b1edc..00000000 --- a/npc/019-3_Snow_field/_import.txt +++ /dev/null @@ -1,3 +0,0 @@ -map: 019-3.gat -npc: npc/019-3_Snow_field/_mobs.txt -npc: npc/019-3_Snow_field/_warps.txt diff --git a/npc/019-3_Snow_field/_mobs.txt b/npc/019-3_Snow_field/_mobs.txt deleted file mode 100644 index c4570bb3..00000000 --- a/npc/019-3_Snow_field/_mobs.txt +++ /dev/null @@ -1,19 +0,0 @@ -// 019-3 Snow field mobs - -019-3.gat,0,0,0,0 monster Moggun 1061,10,100000,30000,Mob019-3::On1061 -019-3.gat,0,0,0,0 monster Bats 1017,50,100000,30000,Mob019-3::On1017 - - -019-3.gat,0,0,0 script Mob019-3 -1,{ -On1017: - set @mobID, 1017; - callfunc "MobPoints"; - break; - -On1061: - set @mobID, 1061; - callfunc "MobPoints"; - break; - - end; -} diff --git a/npc/019-3_Snow_field/_warps.txt b/npc/019-3_Snow_field/_warps.txt deleted file mode 100644 index fb2637a3..00000000 --- a/npc/019-3_Snow_field/_warps.txt +++ /dev/null @@ -1,4 +0,0 @@ -// 019-3 Snow field warps - -019-3.gat,40,99 warp WarpOutside1 -1,-1,019-1.gat,38,73 -019-3.gat,98,25 warp warpOutside2 -1,-1,019-1.gat,96,38 diff --git a/npc/025-1_Woodland_Swamp/_mobs.txt b/npc/025-1_Woodland_Swamp/_mobs.txt index 4aed8361..ec980c3c 100644 --- a/npc/025-1_Woodland_Swamp/_mobs.txt +++ b/npc/025-1_Woodland_Swamp/_mobs.txt @@ -10,7 +10,6 @@ 025-1.gat,73,61,107,82 monster Spiky Mushroom 1019,40,90000,500,Mob025-1::On1019 025-1.gat,101,53,55,65 monster Squirrel 1038,18,60000,9000,Mob025-1::On1038 025-1.gat,26,61,15,85 monster Scorpion 1003,12,100000,50000,Mob025-1::On1003 -025-1.gat,0,0,0,0 monster Pumpkin 1064,5,45000,35000 025-1.gat,0,0,0 script Mob025-1 -1,{ diff --git a/npc/026-1_Swamp/_mobs.txt b/npc/026-1_Swamp/_mobs.txt index 5068ba8b..2885ca7b 100644 --- a/npc/026-1_Swamp/_mobs.txt +++ b/npc/026-1_Swamp/_mobs.txt @@ -8,7 +8,6 @@ 026-1.gat,71,57,113,81 monster Skeleton 1043,5,900000,10000,Mob026-1::On1043 026-1.gat,68,61,106,88 monster LadySkeleton 1044,5,900000,20000,Mob026-1::On1044 026-1.gat,68,60,107,87 monster Log Head 1025,8,300000,40000,Mob026-1::On1025 -026-1.gat,0,0,0,0 monster Pumpkin 1064,8,50000,40000 026-1.gat,0,0,0 script Mob026-1 -1,{ diff --git a/npc/027-1_Graveyard/_mobs.txt b/npc/027-1_Graveyard/_mobs.txt index 73641d27..372c2833 100644 --- a/npc/027-1_Graveyard/_mobs.txt +++ b/npc/027-1_Graveyard/_mobs.txt @@ -22,7 +22,6 @@ 027-1.gat,37,65,33,22 monster Zombie 1036,3,140000,30000,Mob027-1::On1036 027-1.gat,37,65,33,22 monster Fallen 1045,3,120000,30000,Mob027-1::On1045 027-1.gat,28,67,2,1 monster Jack O 1022,1,265000,200000,Mob027-1::On1022 -027-1.gat,0,0,0,0 monster Pumpkin 1064,9,45000,35000 027-1.gat,0,0,0 script Mob027-1 -1,{ diff --git a/npc/027-1_Graveyard/golbenez.txt b/npc/027-1_Graveyard/golbenez.txt deleted file mode 100644 index c74c9827..00000000 --- a/npc/027-1_Graveyard/golbenez.txt +++ /dev/null @@ -1,51 +0,0 @@ -// - -027-1.gat,68,89,0 script #Golbenez#_M 204,{ - if ($Golbenez_Inn_Cost >= 500000000) goto Golbenez_Inn_Enough; - - mes "[Voice]"; - mes "\"Mortal! I am Golbenez! I have broken through the barriers of space and time!\""; - next; - mes "\"For eons I've traveled through existence, tapping powers the living shall never touch. I now offer my powers for your enjoyment. In your world, places of leisure bring a desirable break from the threats of life. I shall create such a place. This place will be free from the threats found on your world as well as mine.\""; - next; - mes "\"It is difficult to create portals from my realm to yours. It is also difficult to create dimensions isolated from the threats that may seek to do you harm. For this reason I demand a hefty fee. For 500 million of your gold pieces I will create this place. This need not come just from you, but it must be delivered from the people of your world to me.\""; - next; - mes "\"So far, you have brought me " + Golbenez_Inn_Cost + " gold pieces. The people of your world have brought me " + $Golbenez_Inn_Cost + " gold pieces. How much would you like to give?\""; - - set @mult, 1; - menu - "I'd like to give a little.", Golbenez_Little, - "I'd like to give thousands.", Golbenez_Thousands, - "Nevermind.", Golbenez_Nevermind; - - -Golbenez_Thousands: - set @mult, 1000; - -Golbenez_Little: - input @Give; - - set @Give, @Give * @mult; - - if (@Give <= 0) close; - if (zeny < @Give) goto Golbenez_Inn_NotEnoughZeny; - set Golbenez_Inn_Cost, Golbenez_Inn_Cost + @Give; - set $Golbenez_Inn_Cost, $Golbenez_Inn_Cost + @Give; - set zeny, zeny - @Give; - close; - -Golbenez_Inn_NotEnoughZeny: - mes "[Voice]"; - mes "\"You don't have as much as you say you do. Come back when you can give the gold pieces you say you can.\""; - close; - -Golbenez_Nevermind: - mes "[Voice]"; - mes "\"That's too bad.\""; - close; - -Golbenez_Inn_Enough: - mes "[Voice]"; - mes "\"I now have enough to create the place of leisure. Once I have anchored it to this world, you will know.\""; - close; -} diff --git a/npc/028-1/_mobs.txt b/npc/028-1/_mobs.txt index 63783af0..317b10d1 100644 --- a/npc/028-1/_mobs.txt +++ b/npc/028-1/_mobs.txt @@ -12,7 +12,6 @@ 028-1.gat,76,100,93,16 monster Spectre 1042,8,200000,15000,Mob028-1::On1042 028-1.gat,104,114,61,14 monster Poltergeist 1047,8,200000,15000,Mob028-1::On1047 028-1.gat,54,42,1,1 monster Fallen 1045,1,700000,300000,Mob028-1::On1045 -028-1.gat,0,0,0,0 monster Pumpkin 1064,4,40000,40000 028-1.gat,0,0,0 script Mob028-1 -1,{ diff --git a/npc/029-1_Candor/_mobs.txt b/npc/029-1_Candor/_mobs.txt index 10486a66..32975e8a 100644 --- a/npc/029-1_Candor/_mobs.txt +++ b/npc/029-1_Candor/_mobs.txt @@ -6,7 +6,6 @@ 029-1.gat,36,59,22,20 monster Spiky Mushroom 1019,5,10000,30000,Mob029-1::On1019 029-1.gat,53,35,17,17 monster Bats 1017,4,25000,30000,Mob029-1::On1017 029-1.gat,59,51,13,9 monster Log heads 1025,2,25000,30000,Mob029-1::On1025 -029-1.gat,0,0,0,0 monster Pumpkin 1064,1,40000,50000 029-1.gat,0,0,0 script Mob029-1 -1,{ diff --git a/npc/031-3/_import.txt b/npc/031-3/_import.txt deleted file mode 100644 index 4562f635..00000000 --- a/npc/031-3/_import.txt +++ /dev/null @@ -1,4 +0,0 @@ -map: 031-3.gat -npc: npc/031-3/_mobs.txt -npc: npc/031-3/_warps.txt -npc: npc/031-3/labyrinth.txt diff --git a/npc/031-3/_mobs.txt b/npc/031-3/_mobs.txt deleted file mode 100644 index da9f5d9d..00000000 --- a/npc/031-3/_mobs.txt +++ /dev/null @@ -1,109 +0,0 @@ -// 031-3 mobs - -031-3.gat,38,50,52,75 monster Moggun 1061,9,100000,30000,Mob031-3::On1061 -031-3.gat,213,57,66,59 monster Santa Slime 1015,9,100000,30000,Mob031-3::On1015 -031-3.gat,39,144,52,75 monster Moggun 1061,11,100000,30000,Mob031-3::On1061 -031-3.gat,39,212,52,75 monster Moggun 1061,13,100000,30000,Mob031-3::On1061 -031-3.gat,282,142,52,75 monster Moggun 1061,9,100000,30000,Mob031-3::On1061 -031-3.gat,284,222,52,75 monster Moggun 1061,9,100000,30000,Mob031-3::On1061 -031-3.gat,99,271,52,75 monster Moggun 1061,9,100000,30000,Mob031-3::On1061 -031-3.gat,281,58,52,75 monster Moggun 1061,9,100000,30000,Mob031-3::On1061 -031-3.gat,0,0,0,0 monster Bat 1017,190,100000,30000,Mob031-3::On1017 -031-3.gat,48,48,83,61 monster Ice Goblin 1058,9,100000,30000,Mob031-3::On1058 -031-3.gat,122,50,83,61 monster Ice Goblin 1058,9,100000,30000,Mob031-3::On1058 -031-3.gat,117,140,83,61 monster Ice Goblin 1058,9,100000,30000,Mob031-3::On1058 -031-3.gat,212,142,83,61 monster Ice Goblin 1058,12,100000,30000,Mob031-3::On1058 -031-3.gat,211,276,83,61 monster Ice Goblin 1058,11,100000,30000,Mob031-3::On1058 -031-3.gat,117,207,83,61 monster Ice Goblin 1058,9,100000,30000,Mob031-3::On1058 -031-3.gat,231,213,83,61 monster Ice Goblin 1058,7,100000,30000,Mob031-3::On1058 -031-3.gat,261,265,83,61 monster Ice Goblin 1058,9,100000,30000,Mob031-3::On1058 -031-3.gat,280,56,66,59 monster Santa Slime 1015,9,100000,30000,Mob031-3::On1015 -031-3.gat,121,57,66,59 monster Santa Slime 1015,11,100000,30000,Mob031-3::On1015 -031-3.gat,120,143,66,59 monster Santa Slime 1015,9,100000,30000,Mob031-3::On1015 -031-3.gat,218,215,66,59 monster Santa Slime 1015,9,100000,30000,Mob031-3::On1015 -031-3.gat,285,216,66,59 monster Santa Slime 1015,13,100000,30000,Mob031-3::On1015 -031-3.gat,128,272,66,59 monster Santa Slime 1015,9,100000,30000,Mob031-3::On1015 -031-3.gat,212,279,66,59 monster Santa Slime 1015,11,100000,30000,Mob031-3::On1015 - - -031-3.gat,0,0,0 script Mob031-3 -1,{ -On1015: - callsub Boxes1015; - set @mobID, 1015; - callfunc "MobPoints"; - break; - -On1017: - callsub Boxes1017; - set @mobID, 1017; - callfunc "MobPoints"; - break; - -On1058: - callsub Boxes1058; - set @mobID, 1058; - callfunc "MobPoints"; - break; - -On1061: - callsub Boxes1061; - set @mobID, 1061; - callfunc "MobPoints"; - break; - - end; - -Boxes1015: - set @yellow, rand(30); - set @white, rand(60); - if (@yellow == 1) goto L_GetYellow; - if (@white == 1) goto L_GetWhite; - return; - -Boxes1017: - set @yellow, rand(50); - set @white, rand(100); - if (@yellow == 1) goto L_GetYellow; - if (@white == 1) goto L_GetWhite; - return; - - -Boxes1058: - set @yellow, rand(50); - set @white, rand(100); - if (@yellow == 1) goto L_GetYellow; - if (@white == 1) goto L_GetWhite; - return; - - -Boxes1061: - set @yellow, rand(25); - set @white, rand(50); - if (@yellow == 1) goto L_GetYellow; - if (@white == 1) goto L_GetWhite; - return; - -L_GetYellow: - if (Yellow >= 40) goto L_FinishYellow; - set Yellow, Yellow + 1; - if (Yellow == 10) message strcharinfo(0), "I still need 30 Yellow Boxes."; - if (Yellow == 30) message strcharinfo(0), "I need only 10 Yellow Boxes."; - getitem 4021, 1; - return; - -L_GetWhite: - if (White >= 30) goto L_FinishWhite; - set White, White + 1; - if (White == 10) message strcharinfo(0), "I still need 20 White Boxes."; - if (White == 20) message strcharinfo(0), "I need only 10 White Boxes."; - getitem 4022, 1; - return; - -L_FinishYellow: - message strcharinfo(0), "I collected all the Yellow Boxes!"; - return; - -L_FinishWhite: - message strcharinfo(0), "I collected all the White Boxes!"; - return; -} diff --git a/npc/031-3/_warps.txt b/npc/031-3/_warps.txt deleted file mode 100644 index a15033a1..00000000 --- a/npc/031-3/_warps.txt +++ /dev/null @@ -1,3 +0,0 @@ -// 031-3 warps - -031-3.gat,212,300 warp toOutside -1,-1,031-1.gat,76,26 diff --git a/npc/031-3/labyrinth.txt b/npc/031-3/labyrinth.txt deleted file mode 100755 index 4616891b..00000000 --- a/npc/031-3/labyrinth.txt +++ /dev/null @@ -1,487 +0,0 @@ -//################################################################################# -//# -//# Warps for the labyrinth on christmas 2010 -//# -//# Authors: alastrim, PjotrOrial -//# -//# reviewed by: -//# -//# This is a labyrinth, having lots of warps in there. -//# These warps are activated on different days. -//# For each way there are 2 warps: one way and its way back. -//# -//################################################################################# - - -031-3.gat,205,264,0 script #ChristmasBarrier 127,1,1,{ - warp "031-3.gat", 149, 261; - end; -} - -031-3.gat,149,259,0 script #ChristmasBarrier 127,1,1,{ - warp "031-3.gat", 205, 266; - end; -} - -// If Donated > 1M < 1.5M - Maze=2 - -031-3.gat,225,282,0 script #ChristmasBarrier 127,1,1,{ - warp "031-3.gat", 274, 299; - end; -} - -031-3.gat,274,300,0 script #ChristmasBarrier 127,1,1,{ - warp "031-3.gat", 225, 283; - end; -} - -// Second Warp - -031-3.gat,283,271,0 script #ChristmasBarrier 127,1,1,{ - warp "031-3.gat", 269, 244; - end; -} - -031-3.gat,269,245,0 script #ChristmasBarrier 127,1,1,{ - warp "031-3.gat", 283, 272; - end; -} - -031-3.gat,148,150,0 script #ChristmasBarrier 127,1,1,{ - warp "031-3.gat", 128, 134; - end; -} - -// Third Warp -031-3.gat,139,258,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 2) goto L_Golbenez; - warp "031-3.gat", 155, 196; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - -031-3.gat,155,195,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 2) goto L_Golbenez; - warp "031-3.gat", 139, 259; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - -// If Donated > 1.5M < 2M - Maze=3 - -// First Warp -031-3.gat,142,301,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 3) goto L_Golbenez; - warp "031-3.gat", 97, 298; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - -031-3.gat,97,301,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 3) goto L_Golbenez; - warp "031-3.gat", 142, 298; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - -// Second Warp -031-3.gat,135,196,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 3) goto L_Golbenez; - warp "031-3.gat", 106, 231; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - -031-3.gat,106,232,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 3) goto L_Golbenez; - warp "031-3.gat", 135, 197; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - -// Third Warp -031-3.gat,286,190,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 3) goto L_Golbenez; - warp "031-3.gat", 227, 241; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - -031-3.gat,227,242,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 3) goto L_Golbenez; - warp "031-3.gat", 286, 191; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - -// Fourth Warp - -031-3.gat,236,211,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 3) goto L_Golbenez; - warp "031-3.gat", 187, 227; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - -031-3.gat,187,228,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 3) goto L_Golbenez; - warp "031-3.gat", 236, 212; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(1500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - -// If Donated > 2M < 2.5M - Maze=4 - -// First Warp -031-3.gat,94,254,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 4) goto L_Golbenez; - warp "031-3.gat", 54, 253; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - -031-3.gat,54,250,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 4) goto L_Golbenez; - warp "031-3.gat", 94, 257; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - -// Second Warp - -031-3.gat,103,199,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 4) goto L_Golbenez; - warp "031-3.gat", 52, 175; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - -031-3.gat,52,177,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 4) goto L_Golbenez; - warp "031-3.gat", 103, 201; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - -// Third Warp - -031-3.gat,212,193,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 4) goto L_Golbenez; - warp "031-3.gat", 207, 165; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - -031-3.gat,207,168,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 4) goto L_Golbenez; - warp "031-3.gat", 212, 195; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - -// Fourth Warp - -031-3.gat,235,167,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 4) goto L_Golbenez; - warp "031-3.gat", 195, 124; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - -031-3.gat,195,122,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 4) goto L_Golbenez; - warp "031-3.gat", 235, 165; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - -// If Donated > 2.5M < 3M - Maze=5 -// first warp - -031-3.gat,296,97,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 5) goto L_Golbenez; - warp "031-3.gat", 292, 125; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} -031-3.gat,292,123,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 5) goto L_Golbenez; - warp "031-3.gat", 296, 95; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} -// second warp -031-3.gat,289,164,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 5) goto L_Golbenez; - warp "031-3.gat", 228, 123; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} -031-3.gat,228,121,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 5) goto L_Golbenez; - warp "031-3.gat", 289, 162; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} -// third warp -031-3.gat,24,157,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 5) goto L_Golbenez; - warp "031-3.gat", 31, 142; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} -031-3.gat,31,144,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 5) goto L_Golbenez; - warp "031-3.gat", 24, 159; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} -// forth warp -031-3.gat,36,249,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 5) goto L_Golbenez; - warp "031-3.gat", 35, 224; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - -031-3.gat,35,226,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 5) goto L_Golbenez; - warp "031-3.gat", 36, 251; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(2500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - - -// If Donated > 3M < 3.5M - Maze=6 -// first warp -031-3.gat,34,25,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 6) goto L_Golbenez; - warp "031-3.gat", 281, 25; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(3000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} -031-3.gat,281,22,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 6) goto L_Golbenez; - warp "031-3.gat", 34, 28; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(3000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} -// # second warp -031-3.gat,283,48,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 6) goto L_Golbenez; - warp "031-3.gat", 275, 74; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(3000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} -031-3.gat,275,73,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 6) goto L_Golbenez; - warp "031-3.gat", 283, 47; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(3000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} -// # third warp -031-3.gat,26,178,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 6) goto L_Golbenez; - warp "031-3.gat", 36, 202; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(3000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} -031-3.gat,36,200,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 6) goto L_Golbenez; - warp "031-3.gat", 26, 176; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(3000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - - -// If Donated > 3.5M < 4M - Maze=7 -// first warp -031-3.gat,91,125,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 7) goto L_Golbenez; - warp "031-3.gat", 36, 78; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(3500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} -031-3.gat,36,80,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 7) goto L_Golbenez; - warp "031-3.gat", 91, 127; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(3500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} -// # second warp -031-3.gat,52,78,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 7) goto L_Golbenez; - warp "031-3.gat", 192, 72; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(3500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - -031-3.gat,192,70,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 7) goto L_Golbenez; - warp "031-3.gat", 52, 76; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(3500000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - - -// If Donated > 4M < 5M - Maze=8 -// first warp -031-3.gat,128,135,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 8) goto L_Golbenez; - warp "031-3.gat", 148, 152; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(4000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - -// # second warp -031-3.gat,232,93,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 8) goto L_Golbenez; - warp "031-3.gat", 200, 47; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(4000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} -031-3.gat,200,50,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 8) goto L_Golbenez; - warp "031-3.gat", 232, 90; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you still need to give me the equivalent to " +(4000000-Golbenez_Inn_Cost)+ " Gold Pieces to go through this opening."; - end; - -} - - -// If Donated > 5M - Maze=9 - You have access to Santa - -031-3.gat,120,81,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 9) goto L_Golbenez; - warp "031-3.gat", 46, 27; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you are getting close to your objective but you still need to give me " +(5000000-Golbenez_Inn_Cost)+ " Gold Pieces to be able to find Santa."; - end; - -} -031-3.gat,46,24,0 script #ChristmasBarrier 127,1,1,{ - if (Maze < 9) goto L_Golbenez; - warp "031-3.gat", 120, 79; - end; -L_Golbenez: - message strcharinfo(0), "Golbenez: Mortal, you are getting close to your objective but you still need to give me " +(5000000-Golbenez_Inn_Cost)+ " Gold Pieces to be able to find Santa."; - end; - -} diff --git a/npc/031-3_Cave/_import.txt b/npc/031-3_Cave/_import.txt new file mode 100644 index 00000000..d28ddba7 --- /dev/null +++ b/npc/031-3_Cave/_import.txt @@ -0,0 +1,4 @@ +map: 031-3.gat +npc: npc/031-3_Cave/_mobs.txt +npc: npc/031-3_Cave/_warps.txt +npc: npc/031-3_Cave/labyrinth.txt diff --git a/npc/031-3_Cave/_mobs.txt b/npc/031-3_Cave/_mobs.txt new file mode 100644 index 00000000..e5c1ec59 --- /dev/null +++ b/npc/031-3_Cave/_mobs.txt @@ -0,0 +1,62 @@ +// 031-3 Cave mobs + +031-3.gat,38,50,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 +031-3.gat,213,57,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 +031-3.gat,39,144,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 +031-3.gat,39,212,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 +031-3.gat,282,142,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 +031-3.gat,284,222,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 +031-3.gat,99,271,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 +031-3.gat,281,58,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 +031-3.gat,0,0,0,0 monster Bat 1017,100,100000,30000,Mob031-3::On1017 +031-3.gat,48,48,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 +031-3.gat,122,50,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 +031-3.gat,117,140,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 +031-3.gat,212,142,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 +031-3.gat,211,276,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 +031-3.gat,117,207,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 +031-3.gat,231,213,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 +031-3.gat,261,265,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 +031-3.gat,280,56,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 +031-3.gat,121,57,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 +031-3.gat,120,143,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 +031-3.gat,218,215,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 +031-3.gat,285,216,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 +031-3.gat,128,272,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 +031-3.gat,212,279,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 +031-3.gat,141,229,40,9 monster yeti 1072,3,100000,30000,Mob031-3::On1072 +031-3.gat,34,288,10,13 monster yeti 1072,3,100000,30000,Mob031-3::On1072 +031-3.gat,25,166,10,13 monster yeti 1072,3,100000,30000,Mob031-3::On1072 +031-3.gat,132,160,10,13 monster yeti 1072,3,100000,30000,Mob031-3::On1072 +031-3.gat,228,37,10,13 monster yeti 1072,3,100000,30000,Mob031-3::On1072 +031-3.gat,44,73,33,11 monster yeti 1072,1,100000,30000,Mob031-3::On1072 + + +031-3.gat,0,0,0 script Mob031-3 -1,{ +On1015: + set @mobID, 1015; + callfunc "MobPoints"; + break; + +On1017: + set @mobID, 1017; + callfunc "MobPoints"; + break; + +On1058: + set @mobID, 1058; + callfunc "MobPoints"; + break; + +On1061: + set @mobID, 1061; + callfunc "MobPoints"; + break; + +On1072: + set @mobID, 1072; + callfunc "MobPoints"; + break; + + end; +} diff --git a/npc/031-3_Cave/_warps.txt b/npc/031-3_Cave/_warps.txt new file mode 100644 index 00000000..13bb0b34 --- /dev/null +++ b/npc/031-3_Cave/_warps.txt @@ -0,0 +1,3 @@ +// 031-3 Cave warps + +031-3.gat,212,300 warp toOutside -1,-1,031-1.gat,76,26 diff --git a/npc/031-3_Cave/labyrinth.txt b/npc/031-3_Cave/labyrinth.txt new file mode 100755 index 00000000..89a0623a --- /dev/null +++ b/npc/031-3_Cave/labyrinth.txt @@ -0,0 +1,273 @@ +//################################################################################# +//# +//# Warps for the labyrinth on christmas 2010 +//# +//# Authors: alastrim, PjotrOrial +//# +//# reviewed by: +//# +//# This is a labyrinth, having lots of warps in there. +//# These warps are activated on different days. +//# For each way there are 2 warps: one way and its way back. +//# +//################################################################################# + + +031-3.gat,205,264,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 149, 261; + end; +} + +031-3.gat,149,259,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 205, 266; + end; +} + +// If Donated > 1M < 1.5M - Maze=2 + +031-3.gat,225,282,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 274, 299; + end; +} + +031-3.gat,274,300,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 225, 283; + end; +} + +// Second Warp + +031-3.gat,283,271,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 269, 244; + end; +} + +031-3.gat,269,245,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 283, 272; + end; +} + +031-3.gat,148,150,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 128, 134; + end; +} + +// Third Warp +031-3.gat,139,258,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 155, 196; + end; +} + +031-3.gat,155,195,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 139, 259; + end; +} + +// First Warp +031-3.gat,142,301,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 97, 298; + end; +} + +031-3.gat,97,301,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 142, 298; + end; +} + +// Second Warp +031-3.gat,135,196,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 106, 231; + end; +} + +031-3.gat,106,232,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 135, 197; + end; +} + +// Third Warp +031-3.gat,286,190,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 227, 241; + end; +} + +031-3.gat,227,242,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 286, 191; + end; +} + +// Fourth Warp + +031-3.gat,236,211,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 187, 227; + end; +} + +031-3.gat,187,228,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 236, 212; + end; +} + + + +// First Warp +031-3.gat,94,254,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 54, 253; + end; +} + +031-3.gat,54,250,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 94, 257; + end; +} + +// Second Warp + +031-3.gat,103,199,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 52, 175; + end; +} + +031-3.gat,52,177,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 103, 201; + end; +} + +// Third Warp + +031-3.gat,212,193,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 207, 165; + end; +} + +031-3.gat,207,168,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 212, 195; + end; +} + +// Fourth Warp + +031-3.gat,235,167,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 195, 124; + end; +} + +031-3.gat,195,122,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 235, 165; + end; +} + +// If Donated > 2.5M < 3M - Maze=5 +// first warp + +031-3.gat,296,97,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 292, 125; + end; +} +031-3.gat,292,123,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 296, 95; + end; +} +// second warp +031-3.gat,289,164,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 228, 123; + end; +} +031-3.gat,228,121,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 289, 162; + end; +} +// third warp +031-3.gat,24,157,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 31, 142; + end; +} +031-3.gat,31,144,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 24, 159; + end; +} +// forth warp +031-3.gat,36,249,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 35, 224; + end; +} + +031-3.gat,35,226,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 36, 251; + end; +} + +// first warp +031-3.gat,34,25,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 281, 25; + end; +} +031-3.gat,281,22,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 34, 28; + end; +} +// # second warp +031-3.gat,283,48,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 275, 74; + end; +} +031-3.gat,275,73,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 283, 47; + end; +} +// # third warp +031-3.gat,26,178,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 36, 202; + end; +} +031-3.gat,36,200,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 26, 176; + end; +} + +// first warp +031-3.gat,91,125,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 36, 78; + end; +} +031-3.gat,36,80,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 91, 127; + end; +} +// # second warp +031-3.gat,52,78,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 192, 72; + end; +} + +031-3.gat,192,70,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 52, 76; + end; +} + + +// If Donated > 4M < 5M - Maze=8 +// first warp +031-3.gat,128,135,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 148, 152; + end; +} + +// # second warp +031-3.gat,232,93,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 200, 47; + end; +} +031-3.gat,200,50,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 232, 90; + end; +} + +031-3.gat,120,81,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 46, 27; + end; +} +031-3.gat,46,24,0 script #ChristmasBarrier 127,1,1,{ + warp "031-3.gat", 120, 79; + end; +} diff --git a/npc/_import.txt b/npc/_import.txt index 09c7de0a..f94aa9cf 100644 --- a/npc/_import.txt +++ b/npc/_import.txt @@ -44,7 +44,7 @@ import: npc/018-1_Woodland_mining_camp/_import.txt import: npc/018-2_Woodland_mining_camp/_import.txt import: npc/018-3_Cave/_import.txt import: npc/019-1_Snow_field/_import.txt -import: npc/019-3_Snow_field/_import.txt +import: npc/019-3_Snow_Cave/_import.txt import: npc/020-1_Nivalis/_import.txt import: npc/020-2_Nivalis/_import.txt import: npc/020-3_Ice_cave/_import.txt @@ -64,5 +64,5 @@ import: npc/029-1_Candor/_import.txt import: npc/029-3_Fight_Cave/_import.txt import: npc/030-1_Snow_field/_import.txt import: npc/031-1_NivalisPort/_import.txt -import: npc/031-3/_import.txt +import: npc/031-3_Cave/_import.txt import: npc/botcheck/_import.txt diff --git a/npc/scripts.conf b/npc/scripts.conf index 26a91829..42622c1b 100644 --- a/npc/scripts.conf +++ b/npc/scripts.conf @@ -79,4 +79,4 @@ import: npc/_import.txt // Halloween 2010 // npc: npc/halloween/2010/gak.txt -import: npc/xmas/2010/_import.txt +// import: npc/xmas/2010/_import.txt -- cgit v1.2.3-70-g09d2 From f7e2e0e197079952fec00c330403227b7c91018d Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Tue, 28 Dec 2010 16:37:36 +0100 Subject: clearing vars of christmas and halloween 2010 --- npc/functions/clear_vars.txt | 55 ++++++++++++++++++++++++++++++++++---------- 1 file changed, 43 insertions(+), 12 deletions(-) (limited to 'npc') diff --git a/npc/functions/clear_vars.txt b/npc/functions/clear_vars.txt index 07f05247..ae83968f 100644 --- a/npc/functions/clear_vars.txt +++ b/npc/functions/clear_vars.txt @@ -23,7 +23,7 @@ function script ClearVariables { set HWQUEST18, 0; set HWQUEST19, 0; set HWQUEST20, 0; - + // Christmas 2006 set XMASQUEST1, 0; set XMASQUEST2, 0; @@ -45,26 +45,57 @@ function script ClearVariables { set XMASQUEST18, 0; set XMASQUEST19, 0; set XMASQUEST20, 0; - + set QUEST_xmas07_state, 0; set QUEST_xmas07_milk, 0; set QUEST_xmas07_cookies, 0; set QUEST_xmas07_presents, 0; - + set QUEST_Easter08_state, 0; - + set Halloween08, 0; - + set QUEST_xmas08_state, 0; - + set QUEST_Easter09, 0; - + set Candyman, 0; // Halloween 2009 - + set QUEST_Christmas09_state, 0; - + + set QUEST_Easter09_slots, 0; + + // easter 2010 + // This must not be cleared: since some people would like to go to the easter island! + // set Easter_2010_QuestState, 0; + set Easter_2010_EggState1, 0; + set Easter_2010_EggState2, 0; + set Easter_2010_EggState3, 0; + set Easter_2010_EggState4, 0; + set Easter_2010_EggState5, 0; + + // halloween 2010 + set hween10, 0; + set hween10_collect_canpump, 0; + set hween10_credits, 0; + set hween10_collect, 0; + set hween10_collect_mmallow, 0; + set hween10_collect_jelskul, 0; + set hween10_bonecount, 0; + set hween10_collect_tondel, 0; + set hween10_paid, 0; + + // Xmas 2010: + set Count_Yellow, 0; + set Count_White, 0; + set Maze, 0; + set Yellow, 0; + set White, 0; + set Xmas2010, 0; + set Golbenez_Inn_Cost, 0; + if (#BankAccount < 0) goto FixBank; - + return; FixBank: @@ -81,7 +112,7 @@ L_Fix_Full: return; //Tulimshar and Mine Variables set Scorp, 0; - set Bugleg, 0; + set Bugleg, 0; set ChestQuest, 0; - + } -- cgit v1.2.3-70-g09d2 From 1cc99dcf66fb3f506d9cb8c244e2ed954f115a3b Mon Sep 17 00:00:00 2001 From: Wombat Date: Tue, 28 Dec 2010 14:45:18 -0500 Subject: Bryant fixed so bandit lord spawns and merged the mainline bryant.txt fixed mob id on monster summon...merged mainline with branch --- npc/011-6/bryant.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'npc') diff --git a/npc/011-6/bryant.txt b/npc/011-6/bryant.txt index 4c1579b9..7e7041d1 100644 --- a/npc/011-6/bryant.txt +++ b/npc/011-6/bryant.txt @@ -38,7 +38,7 @@ L_Bryant_No: mes "[Bryant]"; mes "\"Well, maybe he ran off. I'm pretty sure he should be there now.\""; killmonster "011-6.gat", "Bryant::onBanditLordDead"; - monster "011-6.gat",260,250,"BanditLord",1064,1, "Bryant::onBanditLordDead"; + monster "011-6.gat",260,250,"BanditLord",1065,1, "Bryant::onBanditLordDead"; close; L_Bryant_Yes: -- cgit v1.2.3-70-g09d2 From 9aacc29a8270b412142b9cafe801606a8d066440 Mon Sep 17 00:00:00 2001 From: Wombat Date: Wed, 29 Dec 2010 03:37:07 -0500 Subject: added warps and mobs txt files to 009-4 Added _warps and _mobs .txt files to 009-4. --- npc/009-4/_mobs.txt | 7 +++++++ npc/009-4/_warps.txt | 6 ++++++ 2 files changed, 13 insertions(+) create mode 100644 npc/009-4/_mobs.txt create mode 100644 npc/009-4/_warps.txt (limited to 'npc') diff --git a/npc/009-4/_mobs.txt b/npc/009-4/_mobs.txt new file mode 100644 index 00000000..aa688cd9 --- /dev/null +++ b/npc/009-4/_mobs.txt @@ -0,0 +1,7 @@ +// 009-4 mobs + + + +009-4.gat,0,0,0 script Mob009-4 -1,{ + end; +} diff --git a/npc/009-4/_warps.txt b/npc/009-4/_warps.txt new file mode 100644 index 00000000..64969942 --- /dev/null +++ b/npc/009-4/_warps.txt @@ -0,0 +1,6 @@ +// 009-4 warps + +009-4.gat,37,112 warp to 025-1 -1,-1,025-1.gat,1,2 +009-4.gat,72,125 warp to 025-1 -1,-1,025-1.gat,1,2 +009-4.gat,72,136 warp to Cavern -1,-1,025-1.gat,1,2 +009-4.gat,37,123 warp to Cavern -1,-1,025-1.gat,1,2 -- cgit v1.2.3-70-g09d2 From bdf40b76d2dad12c00a34d6e86429265ea702374 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Wed, 29 Dec 2010 14:36:29 +0100 Subject: error fixed in voltain now all states are cycled --- npc/007-1_Woodland/voltain.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'npc') diff --git a/npc/007-1_Woodland/voltain.txt b/npc/007-1_Woodland/voltain.txt index 76e49f1b..1359ada8 100644 --- a/npc/007-1_Woodland/voltain.txt +++ b/npc/007-1_Woodland/voltain.txt @@ -157,7 +157,7 @@ mes "[Voltain]"; if (countitem("BlackScorpionStinger") < 1) goto L_NOT_ENOUGH; delitem "BlackScorpionStinger", 1; getexp @BLACK_SC_ST_REWARD_XP, 0; - set $state, 0; + set $state, 4; mes "\"Great! Now I can really kill that monster!\""; close; -- cgit v1.2.3-70-g09d2 From 18f2753484880689ff2b8659238ccff12da944c6 Mon Sep 17 00:00:00 2001 From: Wombat Date: Wed, 29 Dec 2010 03:37:07 -0500 Subject: added warps and mobs txt files to 009-4 Added _warps and _mobs .txt files to 009-4. --- npc/009-4/_mobs.txt | 7 +++++++ npc/009-4/_warps.txt | 6 ++++++ 2 files changed, 13 insertions(+) create mode 100644 npc/009-4/_mobs.txt create mode 100644 npc/009-4/_warps.txt (limited to 'npc') diff --git a/npc/009-4/_mobs.txt b/npc/009-4/_mobs.txt new file mode 100644 index 00000000..aa688cd9 --- /dev/null +++ b/npc/009-4/_mobs.txt @@ -0,0 +1,7 @@ +// 009-4 mobs + + + +009-4.gat,0,0,0 script Mob009-4 -1,{ + end; +} diff --git a/npc/009-4/_warps.txt b/npc/009-4/_warps.txt new file mode 100644 index 00000000..64969942 --- /dev/null +++ b/npc/009-4/_warps.txt @@ -0,0 +1,6 @@ +// 009-4 warps + +009-4.gat,37,112 warp to 025-1 -1,-1,025-1.gat,1,2 +009-4.gat,72,125 warp to 025-1 -1,-1,025-1.gat,1,2 +009-4.gat,72,136 warp to Cavern -1,-1,025-1.gat,1,2 +009-4.gat,37,123 warp to Cavern -1,-1,025-1.gat,1,2 -- cgit v1.2.3-70-g09d2 From 4b3d76c606ab0edd54628342adbbb7245b21087f Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Wed, 29 Dec 2010 17:53:49 +0100 Subject: repair orum & waric mobs and warps got lost --- npc/009-4/_mobs.txt | 24 +++++++++++++++++++++++- npc/009-4/_warps.txt | 50 +++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 68 insertions(+), 6 deletions(-) (limited to 'npc') diff --git a/npc/009-4/_mobs.txt b/npc/009-4/_mobs.txt index aa688cd9..ac3429f1 100644 --- a/npc/009-4/_mobs.txt +++ b/npc/009-4/_mobs.txt @@ -1,7 +1,29 @@ -// 009-4 mobs +// 009-4 Cave mobs +// # see detailed description at orum.txt +// Cavern +009-4.gat,107,88,19,28 monster Silkworm 1035,3,20000,14000,Mob009-4::OnSilkworm +009-4.gat,107,88,19,28 monster Cave Snake 1021,5,20000,14000,Mob009-4::OnCaveSnake +009-4.gat,119,45,5,3 monster Silkworm 1035,3,20000,14000,Mob009-4::OnSilkworm +009-4.gat,103,28,6,4 monster Cave Snake 1021,3,20000,14000,Mob009-4::OnCaveSnake +009-4.gat,103,28,6,4 monster Silkworm 1035,2,20000,14000,Mob009-4::OnSilkworm +009-4.gat,36,117,4,4 monster Maggot 1002,3,20000,14000,Mob009-4::OnMaggot +009-4.gat,71,130,4,4 monster Maggot 1002,3,20000,14000,Mob009-4::OnMaggot 009-4.gat,0,0,0 script Mob009-4 -1,{ +OnCaveSnake: + set @mobID, 1021; + callfunc "MobPoints"; + break; +OnMaggot: + set @mobID, 1002; + callfunc "MobPoints"; + break; +OnSilkworm: + set @mobID, 1035; + callfunc "MobPoints"; + break; + end; } diff --git a/npc/009-4/_warps.txt b/npc/009-4/_warps.txt index 64969942..842de637 100644 --- a/npc/009-4/_warps.txt +++ b/npc/009-4/_warps.txt @@ -1,6 +1,46 @@ -// 009-4 warps +// 009-4 Cave Warps -009-4.gat,37,112 warp to 025-1 -1,-1,025-1.gat,1,2 -009-4.gat,72,125 warp to 025-1 -1,-1,025-1.gat,1,2 -009-4.gat,72,136 warp to Cavern -1,-1,025-1.gat,1,2 -009-4.gat,37,123 warp to Cavern -1,-1,025-1.gat,1,2 +// Entrances +009-4.gat,37,112 warp to Outside -1,-1,009-3.gat,162,114 +009-4.gat,37,123 warp to Lair -1,-1,009-4.gat,36,27 + +009-4.gat,72,125 warp to Outside -1,-1,009-3.gat,162,114 +009-4.gat,72,136 warp to Lair -1,-1,009-4.gat,36,27 + +// Caverns +009-4.gat,103,22 warp to Lair -1,-1,009-4.gat,51,46 +009-4.gat,103,76 warp to Lair -1,-1,009-4.gat,51,46 + +//009-3.gat,162,113,0 script #OrumQuestEnter 0,0,0,{ + if (OrumQuest >= 12) goto L_Second_Entrance; + warp "009-4.gat", 37, 113; + close; + +L_Second_Entrance: + warp "009-4.gat", 72, 126; + close; +} +009-4.gat,36,26,0 script #LairExit 0,0,0,{ + if (OrumQuest >= 12) goto L_Second_Entrance; + warp "009-4.gat", 37, 122; + close; + +L_Second_Entrance: + warp "009-4.gat", 72, 135; + close; +} + +009-4.gat,51,47,0 script #CavernEnter 0,0,0,{ + if (OrumQuest >= 14) goto L_Second_Cavern; + if (OrumQuest < 12) goto L_See_Orum; + warp "009-4.gat", 103, 23; + close; + +L_Second_Cavern: + warp "009-4.gat", 103, 77; + close; + +L_See_Orum: + mes "Right as you are entering you hear Orum call out for you.. Perhaps you should see what he wants first.."; + close; +} -- cgit v1.2.3-70-g09d2 From c884add9efd2a76072a0be64c6c84c73dc0bb2bc Mon Sep 17 00:00:00 2001 From: Jessica Tölke Date: Wed, 29 Dec 2010 21:20:39 +0100 Subject: Rescue Cindy quest works, except: rewards, yeti battle, npc sprites --- data/031-1.wlk | Bin 18948 -> 18948 bytes data/031-2.wlk | Bin 0 -> 2504 bytes data/resnametable.txt | 1 + npc/031-1_NivalisPort/_import.txt | 2 + npc/031-1_NivalisPort/angelaOutside.txt | 135 ++++++++++++++++++++++++++++++++ npc/031-1_NivalisPort/house.txt | 18 +++++ npc/031-2_Angelas_House/_import.txt | 5 ++ npc/031-2_Angelas_House/_mobs.txt | 7 ++ npc/031-2_Angelas_House/_warps.txt | 3 + npc/031-2_Angelas_House/angelaHouse.txt | 114 +++++++++++++++++++++++++++ npc/031-2_Angelas_House/cindyHouse.txt | 64 +++++++++++++++ npc/031-3_Cave/_import.txt | 1 + npc/031-3_Cave/cindyCave.txt | 123 +++++++++++++++++++++++++++++ npc/_import.txt | 1 + 14 files changed, 474 insertions(+) create mode 100644 data/031-2.wlk create mode 100644 npc/031-1_NivalisPort/angelaOutside.txt create mode 100644 npc/031-1_NivalisPort/house.txt create mode 100644 npc/031-2_Angelas_House/_import.txt create mode 100644 npc/031-2_Angelas_House/_mobs.txt create mode 100644 npc/031-2_Angelas_House/_warps.txt create mode 100644 npc/031-2_Angelas_House/angelaHouse.txt create mode 100644 npc/031-2_Angelas_House/cindyHouse.txt create mode 100644 npc/031-3_Cave/cindyCave.txt (limited to 'npc') diff --git a/data/031-1.wlk b/data/031-1.wlk index 7ecf1f2c..4341935a 100644 Binary files a/data/031-1.wlk and b/data/031-1.wlk differ diff --git a/data/031-2.wlk b/data/031-2.wlk new file mode 100644 index 00000000..4196520c Binary files /dev/null and b/data/031-2.wlk differ diff --git a/data/resnametable.txt b/data/resnametable.txt index 7d60c6c8..6a1efd92 100644 --- a/data/resnametable.txt +++ b/data/resnametable.txt @@ -66,5 +66,6 @@ 029-3.gat#029-3.wlk# 030-1.gat#030-1.wlk# 031-1.gat#031-1.wlk# +031-2.gat#031-2.wlk# 031-3.gat#031-3.wlk# botcheck.gat#botcheck.wlk# diff --git a/npc/031-1_NivalisPort/_import.txt b/npc/031-1_NivalisPort/_import.txt index 09d29af7..b1e59215 100644 --- a/npc/031-1_NivalisPort/_import.txt +++ b/npc/031-1_NivalisPort/_import.txt @@ -2,3 +2,5 @@ map: 031-1.gat npc: npc/031-1_NivalisPort/_mobs.txt npc: npc/031-1_NivalisPort/_warps.txt npc: npc/031-1_NivalisPort/frozenbeard.txt +npc: npc/031-1_NivalisPort/angelaOutside.txt +npc: npc/031-1_NivalisPort/house.txt diff --git a/npc/031-1_NivalisPort/angelaOutside.txt b/npc/031-1_NivalisPort/angelaOutside.txt new file mode 100644 index 00000000..3c10df46 --- /dev/null +++ b/npc/031-1_NivalisPort/angelaOutside.txt @@ -0,0 +1,135 @@ +// author: Jenalya +// reviewed by: +// state0: Angela is to upset to tell you anything, needs a concentration potion +// state1: got the mission to save Cindy +// state2 and state3: Cindy is saved Angela invites you to visit them for giving a reward +// state greater than 3: Angela invites and asks you to bring present boxes + +//TODO: picture +031-1.gat,79,24,0 script Angela 154, { + + set @Q_Nivalis_state_MASK, NIBBLE_5_MASK; + set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT; + + set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT); + +//TODO: remove DEBUG + mes "This menu is for debugging and will be removed"; + menu + "normal", L_normal, + "reset quest", -; + set @rescue_Cindy, 0; + callsub S_Update_Mask; + +L_normal: +////////////////////////////////// + if (@rescue_Cindy > 3) goto L_Please_Visit_Again; + if (@rescue_Cindy > 1) goto L_Please_Visit; + if (@rescue_Cindy == 1) goto L_Please_Help; + + mes "[Angela]"; + mes "\"Please, I need help! My little daugther!\""; + next; + mes "\"It's terrible, oh my dear child!\""; + next; + + if (countitem("ConcentrationPotion") > 0) goto L_Menu_Potion; + + menu + "\"Please calm down and tell me what happened.\"", L_Whining, + "Leave", -; + close; + +L_Whining: + mes "[Angela]"; +//TODO: add more whining, enough to make it annoying to read it all + mes "\"My poor little daugther, please! Oh no, oh no...\""; + next; + mes "\"We need to do something! My poor little Cindy! My cute little girl!\""; + next; + mes "\"It's so terrible, how could that happen? Please, I need help, it's so terrible.\""; + next; + mes "\"That awful filthy monsters - terrible!\""; + next; + mes "\"Oh Cindy, my little Cindy - oh no...\""; + next; + mes "\"Please help, we need to do something!\""; + next; + mes "\"It's so terrible, my poor cute little Cindy...\""; + next; + mes "\"Oh, when I think, what might happen to her right now!\""; + next; + mes "\"She is crying and sobbing.\""; + next; + mes "\"It seems, she is too upset to tell you anything helpful. If she would just calm down and concentrate a bit...\""; + close; + +L_Menu_Potion: + menu + "\"Please calm down and tell me what happened.\"", L_Whining, + "Give her a concentration potion.", L_Calm_Down, + "Leave", -; + close; + +L_Calm_Down: + if (countitem("ConcentrationPotion") == 0) goto L_No_Potion; + delitem "ConcentrationPotion", 1; + mes "She drinks the concentration potions and calm down."; + mes "[Angela]"; + mes "\"Thank you, this was helpful.\""; + next; + mes "\"My daughter Cindy and me were on our way to Santa, to bring him some presents. Many people here in Nivalis are helping Santa with his business.\""; + next; + mes "\"When we passed the entrance of this cave, a pack of Yetis came out there. It's disturbing, usually, they are very shy.\""; + next; + mes "\"We tried to run away, but there were to many of them. They took my poor little Cindy and all the presents with them.\""; + next; + mes "\"Oh my poor little girl. I'm so worried - what might they do with her? Oh no!\""; + next; + mes "\"You look like an adventurer! Please, can you go in that cave and rescue my little Cindy? I beg you for help!\""; + set @rescue_Cindy, 1; + callsub S_Update_Mask; + close; + +L_No_Potion: + mes "You don't have a concentration potion."; + close; + +L_Please_Help: + mes "[Angela]"; + mes "\"Please rescue my daughter!\""; + close; + +L_Please_Visit: + mes "[Angela]"; + mes "\"Thank you so much for rescueing my beloved Cindy. Please come to visit us in our house at the beach.\""; + next; + mes "\"My husband is an adventurer like you, and I want to give you something he got on his travels to show my gratitude.\""; + close; + +L_Please_Visit_Again: + mes "[Angela]"; + mes "\"Hello! You are welcome to visit us in our house at the beach everytime. Cindy loves to see you!\""; + next; + mes "\"If you have found any present boxes, the Yetis took away, please bring them to our house. Usually, the Yetis are very shy... their behavior is a bit odd.\""; + close; + +S_Update_Mask: + set QUEST_Nivalis_state, + (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK)) + | (@rescue_Cindy << @Q_Nivalis_state_SHIFT); + return; +} + + + + + + + + + + + + + diff --git a/npc/031-1_NivalisPort/house.txt b/npc/031-1_NivalisPort/house.txt new file mode 100644 index 00000000..c81185d3 --- /dev/null +++ b/npc/031-1_NivalisPort/house.txt @@ -0,0 +1,18 @@ +// here is based on the queststatus for the rescue Cindy quest, if the player can enter +// player can enter, if Cindy is already saved and the player has been invited, quest status > 2 +// author: Jenalya + +031-1.gat,95,80,0 script #Door 127,1,1,{ + set @Q_Nivalis_state_MASK, NIBBLE_5_MASK; + set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT; + + set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT); + + if (@rescue_Cindy > 2) goto L_Warp; + mes "The door is locked."; + close; + +L_Warp: + warp "031-2.gat", 23, 28; + end; +} diff --git a/npc/031-2_Angelas_House/_import.txt b/npc/031-2_Angelas_House/_import.txt new file mode 100644 index 00000000..20c36fe2 --- /dev/null +++ b/npc/031-2_Angelas_House/_import.txt @@ -0,0 +1,5 @@ +map: 031-2.gat +npc: npc/031-2_Angelas_House/_mobs.txt +npc: npc/031-2_Angelas_House/_warps.txt +npc: npc/031-2_Angelas_House/cindyHouse.txt +npc: npc/031-2_Angelas_House/angelaHouse.txt diff --git a/npc/031-2_Angelas_House/_mobs.txt b/npc/031-2_Angelas_House/_mobs.txt new file mode 100644 index 00000000..fadd5d5c --- /dev/null +++ b/npc/031-2_Angelas_House/_mobs.txt @@ -0,0 +1,7 @@ +// 031-2 Angela's House mobs + + + +031-2.gat,0,0,0 script Mob031-2 -1,{ + end; +} diff --git a/npc/031-2_Angelas_House/_warps.txt b/npc/031-2_Angelas_House/_warps.txt new file mode 100644 index 00000000..82dfa41c --- /dev/null +++ b/npc/031-2_Angelas_House/_warps.txt @@ -0,0 +1,3 @@ +// 031-2 Angela's House warps + +031-2.gat,23,30 warp door -1,-1,031-1.gat,95,82 diff --git a/npc/031-2_Angelas_House/angelaHouse.txt b/npc/031-2_Angelas_House/angelaHouse.txt new file mode 100644 index 00000000..93ea2228 --- /dev/null +++ b/npc/031-2_Angelas_House/angelaHouse.txt @@ -0,0 +1,114 @@ +// author: Jenalya +// reviewed by: +// state0, 1, 2: you shouldn't be able to come here +// state3: it's your first visit, you can choose a reward +// state4: you can do daily quests with white and yellow presents boxes +// + +//TODO: picture +031-2.gat,24,26,0 script Angela 154, { + + set @Q_Nivalis_state_MASK, NIBBLE_5_MASK; + set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT; + + set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT); + + if (@rescue_Cindy == 4) goto L_Hello_Again; + if (@rescue_Cindy == 3) goto L_Reward; + + mes "..."; + close; + +L_Reward: + mes "[Angela]"; + mes "\"Hello " + strcharinfo(0) + ", thank you again. I'm so glad, Cindy is back home safe.\""; + next; + mes "\"As I told you, my husband is an adventurer. He is at one of his travels, so he couldn't rescue Cindy himself.\""; + next; + mes "\"I want to give you one of his treasures. Beside of all the junk he brings, there are some very valuable things.\""; + next; + mes "\"This item is called the Rock Knife. When you wield it, you feel as robust as a rock.\""; + + getinventorylist; + if (@inventorylist_count == 100) goto L_Full_Inv; + + getitem "RockKnife", 1; + + set @rescue_Cindy, 4; + callsub S_Update_Mask; + + next; + mes "\"I hope, this will be useful for you.\""; + next; + mes "\"I's so glad, Cindy is save now. But there is still another problem. The Yetis took away all the white and yellow present boxes we wanted to bring to Santa!\""; + next; + mes "\"Usually, Yetis are very shy - I wonder why they do that. There is something strange going on.\""; + next; + mes "\"May I ask you for help again? I'll give you a small reward for every 3 boxes of one color you bring me.\""; + close; + +L_Full_Inv: + mes "\"Oh, it seems you carry so much stuff - I will keep it for you until you can take it.\""; + close; + +L_Hello_Again: + mes "[Angela]"; + mes "\"Hello! Good to see you again. Please warm yourself.\""; + next; + menu + "I just wanted to say hello.",-, + "I have some yellow present boxes.",L_Yellow, + "I have some white present boxes.",L_White; + close; + +L_Yellow: + set @dq_level, 70; + set @dq_cost, 32; + set @dq_count, 3; + set @dq_name$, "YellowPresentBox"; + set @dq_friendly_name$, "yellow present box"; + set @dq_money, 5300; + set @dq_exp, 1300; + + callfunc "DailyQuest"; + + next; + + if (@dq_return ==4) mes "\"Santa will be glad to have them back.\""; + close; + +L_White: + set @dq_level, 80; + set @dq_cost, 64; + set @dq_count, 3; + set @dq_name$, "WhitePresentBox"; + set @dq_friendly_name$, "white present box"; + set @dq_money, 10800; + set @dq_exp, 2800; + + callfunc "DailyQuest"; + + next; + + if (@dq_return ==4) mes "\"You are a great help!\""; + close; + +S_Update_Mask: + set QUEST_Nivalis_state, + (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK)) + | (@rescue_Cindy << @Q_Nivalis_state_SHIFT); + return; +} + + + + + + + + + + + + + diff --git a/npc/031-2_Angelas_House/cindyHouse.txt b/npc/031-2_Angelas_House/cindyHouse.txt new file mode 100644 index 00000000..4dc6b595 --- /dev/null +++ b/npc/031-2_Angelas_House/cindyHouse.txt @@ -0,0 +1,64 @@ +// author: Jenalya +// reviewed by: +// state0,1,2: you shouldn't be able to reach this place +// state3 and greater: Cindy is saved, she says one of some random phrases +// + +//TODO: picture +031-2.gat,22,25,0 script Cindy 114, { + + set @Q_Nivalis_state_MASK, NIBBLE_5_MASK; + set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT; + + set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT); + + if (@rescue_Cindy > 2) goto L_Happy_Random; + + mes "..."; + close; + +L_Happy_Random: + getinventorylist; + set @candy, rand(50); + if (@inventorylist_count < 100 && @candy == 42) goto L_Candy; + + setarray @quote_Cindy$, "Thank you so much for rescueing me!", + "My mother made really tasty cookies yesterday. But I already ate them all...", + "I want to go ice skating tomorrow. That will be fun!", + "I wonder, when Daddy will come home next time. He always brings exciting stuff!", + strcharinfo(0) + "! You're my hero!", + "My mother is so upset about the Yetis - they are very very shy usually. You have to be lucky to see one. I wonder, what's wrong with them.", + "When I'm a little older, I want to travel like you do and my father. I want to see every place on the world!", + "Did you ever meet Santa? He's very kind! He always gives me some candy, when we go to see him.", + strcharinfo(0) + ", you are sooo strong! Amazing! But my dad is strong too!"; + set @random, rand(9); + set @quote$, "\"" + @quote_Cindy$[@random] + "\""; + mes "[Cindy]"; + mes @quote$; + close; + +L_Candy: + mes "[Cindy]"; + mes "\"Santa gave me some candy! Please, take that!\""; + getitem "Candy", 1; + close; + +S_Update_Mask: + set QUEST_Nivalis_state, + (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK)) + | (@rescue_Cindy << @Q_Nivalis_state_SHIFT); + return; +} + + + + + + + + + + + + + diff --git a/npc/031-3_Cave/_import.txt b/npc/031-3_Cave/_import.txt index d28ddba7..1f56c50d 100644 --- a/npc/031-3_Cave/_import.txt +++ b/npc/031-3_Cave/_import.txt @@ -2,3 +2,4 @@ map: 031-3.gat npc: npc/031-3_Cave/_mobs.txt npc: npc/031-3_Cave/_warps.txt npc: npc/031-3_Cave/labyrinth.txt +npc: npc/031-3_Cave/cindyCave.txt diff --git a/npc/031-3_Cave/cindyCave.txt b/npc/031-3_Cave/cindyCave.txt new file mode 100644 index 00000000..738868d6 --- /dev/null +++ b/npc/031-3_Cave/cindyCave.txt @@ -0,0 +1,123 @@ +// author: Jenalya +// reviewed by: +// state0: Cindy is totally scared and does nothing helpful +// state1: you are able to open the cage +// state2 and greater: Cindy is saved, she asks you to visit them +// + +//TODO: picture +031-3.gat,122,51,0 script Cindy 114, { + set @KEYS_AMOUNT, 10; + + set @Q_Nivalis_state_MASK, NIBBLE_5_MASK; + set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT; + + set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT); + + if (Sex == 0) set @title$, "Misses"; + if (Sex == 1) set @title$, "Mister"; + + if (@rescue_Cindy >= 3) goto L_Please_Visit; + if (@rescue_Cindy == 2) goto L_Reward; + if (@rescue_Cindy == 1) goto L_Please_Help; + + mes "There is a little girl in a cage. As you come near, she starts to shiver and back off from you as far as she can in that small cage."; + next; + mes "You don't know, what to do."; + close; + +L_Please_Help: + mes "There is a little girl in a cage. As you come near, she starts to shiver and back off from you as far as she can in that small cage."; + next; + menu + "Hello Cindy, I'm here to save you.", - ; + mes "Cindy doesn't look so scared anymore."; + next; + mes "[Cindy]"; + mes "\"Hello, dear " + @title$ + " adventurer. Did my mother send you?\""; + next; + mes "\"It's so cold in here! Can you please open the cage?\""; + next; + mes "\"But be careful, if the Yetis hear you, they will come!\""; + menu + "Try to open the cage", L_Try_Cage, + "Leave", -; + close; + +L_Try_Cage: + if (countitem("TreasureKey") < @KEYS_AMOUNT) goto L_Not_Enough_Keys; + delitem "TreasureKey", @KEYS_AMOUNT; + mes "As you try to open the door of the cage, there is a loudly squeaking noise."; + next; + mes "You get an uncomfortable feeling and Cindy starts to shiver."; + next; + mes "\"Oh no, the Yetis...\""; +//TODO: start the battle and set state2 in case of success + mes "DEBUG: ADD YETIFIGHT HERE, QUEST VARIABLE INCREASED"; + set @rescue_Cindy, 2; + callsub S_Update_Mask; + close; + +L_Reward: + mes "[Cindy]"; + mes "\"You are a hero! All this strong monsters!\""; + next; + mes "\"I've found this thing in the cave - it looks valuable. I want you to have it.\""; + next; + getinventorylist; + if (@inventorylist_count == 100) goto L_Full_Inv; + + set @reward, rand(1); + if (@reward == 1) goto L_Wizard_Hat; + //TODO: set right, when quarterstaff is in item_db + //getitem "QuarterStaff", 1; + mes "DEBUG: GET ACORN INSTEAD OF QUARTERSTAFF"; + getitem "acorn", 1; + goto L_Visit; + +L_Wizard_Hat: + //TODO: set right, when quarterstaff is in item_db + //getitem "WizardHat", 1; + mes "DEBUG: GET ACORN INSTEAD OF WIZARDHAT"; + getitem "acorn", 1; + +L_Visit: + mes "\"Thank you so much, please come to my home. It's the house at the beach.\""; + next; + mes "\"I'm sure, my mother want to thank you as well.\""; + set @rescue_Cindy, 3; + callsub S_Update_Mask; + close; + +L_Please_Visit: + mes "[Cindy]"; + mes "\"Thank you, thank you! You're a hero! Please come home with me to our house at the beach!\""; + close; + +L_Not_Enough_Keys: + mes "You don't have enough keys to open the cage."; + close; + +L_Full_Inv: + mes "\"Oh, it seems you carry so much stuff - I will keep it for you until you can take it.\""; + close; + +S_Update_Mask: + set QUEST_Nivalis_state, + (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK)) + | (@rescue_Cindy << @Q_Nivalis_state_SHIFT); + return; +} + + + + + + + + + + + + + diff --git a/npc/_import.txt b/npc/_import.txt index f94aa9cf..55141677 100644 --- a/npc/_import.txt +++ b/npc/_import.txt @@ -64,5 +64,6 @@ import: npc/029-1_Candor/_import.txt import: npc/029-3_Fight_Cave/_import.txt import: npc/030-1_Snow_field/_import.txt import: npc/031-1_NivalisPort/_import.txt +import: npc/031-2_Angelas_House/_import.txt import: npc/031-3_Cave/_import.txt import: npc/botcheck/_import.txt -- cgit v1.2.3-70-g09d2 From ba51eb01c31f1fa0e23f3a94565973928584d575 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Wed, 29 Dec 2010 21:40:17 +0100 Subject: repair orum and waric again --- npc/009-4/_mobs.txt | 9 --------- 1 file changed, 9 deletions(-) (limited to 'npc') diff --git a/npc/009-4/_mobs.txt b/npc/009-4/_mobs.txt index 5984a97e..b4f88c00 100644 --- a/npc/009-4/_mobs.txt +++ b/npc/009-4/_mobs.txt @@ -1,10 +1,3 @@ -<<<<<<< HEAD -// 009-4 mobs - - - -009-4.gat,0,0,0 script Mob009-4 -1,{ -======= // 009-4 Cave mobs // # see detailed description at orum.txt // Cavern @@ -31,7 +24,5 @@ OnSilkworm: set @mobID, 1035; callfunc "MobPoints"; break; - ->>>>>>> 4b3d76c606ab0edd54628342adbbb7245b21087f end; } -- cgit v1.2.3-70-g09d2 From f8aa82ea38ad1f699bcd8a33bb3b84c08b0791b2 Mon Sep 17 00:00:00 2001 From: Jessica Tölke Date: Thu, 30 Dec 2010 19:45:20 +0100 Subject: Adding Yeti fight in rescue Cindy quest, also some other fixes and debug possibilites setting Yeti stats, needs to be determined, if they are good YETI FIGHT NEEDS TO BE TESTED NOW --- db/mob_db.txt | 2 +- npc/031-1_NivalisPort/angelaOutside.txt | 67 ++++++++++++++++++----- npc/031-1_NivalisPort/house.txt | 2 +- npc/031-3_Cave/cindyCave.txt | 95 +++++++++++++++++++++++++++++++-- 4 files changed, 149 insertions(+), 17 deletions(-) (limited to 'npc') diff --git a/db/mob_db.txt b/db/mob_db.txt index eb29e711..c619b968 100644 --- a/db/mob_db.txt +++ b/db/mob_db.txt @@ -69,4 +69,4 @@ 1069, Scythe, Scythe, 40, 3000, 0, 0, 500, 1, 200, 350, 30, 10, 100, 250, 1, 1, 150, 90, 1, 50, 1, 0, 40, 133, 220, 700, 672, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 1070, BallLightning, Ball Lightning, 40, 50, 0, 0, 10, 1, 5, 10, 40, 65, 1, 200, 1, 1, 1, 1, 1, 50, 1, 0, 47, 133, 110, 1500, 672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 1071, IceElement, Ice Element, 20, 1000, 0, 0, 200, 2, 60, 60, 0, 20, 15, 25, 15, 15, 20, 50, 1, 1, 1, 0, 41, 135, 330, 740, 672, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 20 -1072, Yeti, Yeti, 35, 3000, 0, 0, 300, 2, 50, 150, 40, 0, 70, 5, 20, 15, 5, 15, 1, 1, 1, 0, 61, 135, 400, 1500, 672, 900, 0, 800, 0, 800, 0, 800, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 +1072, Yeti, Yeti, 35,8500, 0, 0, 300, 2,100,400,60,15,60, 5,45, 15,40,32, 1, 1, 1, 0, 61, 135,220, 1500, 672, 900, 0, 800, 0, 800, 0, 800, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 diff --git a/npc/031-1_NivalisPort/angelaOutside.txt b/npc/031-1_NivalisPort/angelaOutside.txt index 3c10df46..7bb02d71 100644 --- a/npc/031-1_NivalisPort/angelaOutside.txt +++ b/npc/031-1_NivalisPort/angelaOutside.txt @@ -13,16 +13,6 @@ set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT); -//TODO: remove DEBUG - mes "This menu is for debugging and will be removed"; - menu - "normal", L_normal, - "reset quest", -; - set @rescue_Cindy, 0; - callsub S_Update_Mask; - -L_normal: -////////////////////////////////// if (@rescue_Cindy > 3) goto L_Please_Visit_Again; if (@rescue_Cindy > 1) goto L_Please_Visit; if (@rescue_Cindy == 1) goto L_Please_Help; @@ -74,7 +64,7 @@ L_Menu_Potion: L_Calm_Down: if (countitem("ConcentrationPotion") == 0) goto L_No_Potion; delitem "ConcentrationPotion", 1; - mes "She drinks the concentration potions and calm down."; + mes "She drinks the concentration potions and calms down."; mes "[Angela]"; mes "\"Thank you, this was helpful.\""; next; @@ -121,11 +111,64 @@ S_Update_Mask: return; } +031-1.gat,80,25,0 script Debug 154, { +//TODO: remove DEBUG + set @Q_Nivalis_state_MASK, NIBBLE_5_MASK; + set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT; + set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT); + + mes "This menu is for debugging and will be removed"; + menu + "close", L_close, + "reset quest", -, + "magic", magic; + set @rescue_Cindy, 0; + callsub S_Update_Mask; + mes "quest variable is now " + @rescue_Cindy; + close; +L_close: + close; - +magic: + // Set up SkillUp function general magic + set @SUP_id, SKILL_MAGIC; + set @SUP_name$, "Magic"; + + set @SUP_xp, 5000; + set @SUP_lvl, 2; + callfunc "SkillUp"; + + // Set up SkillUp function war magic + set @SUP_id, SKILL_MAGIC_WAR; + set @SUP_name$, "War Magic"; + + set @SUP_xp, 5000; + set @SUP_lvl, 2; + callfunc "SkillUp"; + + // Set up SkillUp function life magic + set @SUP_id, SKILL_MAGIC_LIFE; + set @SUP_name$, "Life Magic"; + + set @SUP_xp, 5000; + set @SUP_lvl, 2; + callfunc "SkillUp"; + + mes "Lightning invocation: " + getspellinvocation("lightning-strike"); + mes "Flare-dart invocation: " + getspellinvocation("flare-dart"); + mes "Lesser-heal invocation: " + getspellinvocation("lesser-heal"); + mes "Lay-on-hands invocation: " + getspellinvocation("lay-on-hands"); + close; + +S_Update_Mask: + set QUEST_Nivalis_state, + (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK)) + | (@rescue_Cindy << @Q_Nivalis_state_SHIFT); + return; +} diff --git a/npc/031-1_NivalisPort/house.txt b/npc/031-1_NivalisPort/house.txt index c81185d3..d9714ef5 100644 --- a/npc/031-1_NivalisPort/house.txt +++ b/npc/031-1_NivalisPort/house.txt @@ -9,7 +9,7 @@ set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT); if (@rescue_Cindy > 2) goto L_Warp; - mes "The door is locked."; + message strcharinfo(0), "The door is locked."; close; L_Warp: diff --git a/npc/031-3_Cave/cindyCave.txt b/npc/031-3_Cave/cindyCave.txt index 738868d6..77046422 100644 --- a/npc/031-3_Cave/cindyCave.txt +++ b/npc/031-3_Cave/cindyCave.txt @@ -7,6 +7,8 @@ //TODO: picture 031-3.gat,122,51,0 script Cindy 114, { + if ($@FIGHT_YETI_STATUS != 0) goto L_Yeti; + set @KEYS_AMOUNT, 10; set @Q_Nivalis_state_MASK, NIBBLE_5_MASK; @@ -52,12 +54,33 @@ L_Try_Cage: mes "You get an uncomfortable feeling and Cindy starts to shiver."; next; mes "\"Oh no, the Yetis...\""; + if ($@FIGHT_YETI_STATUS != 0) goto L_Yeti; + + // initialize fight + set $@FIGHT_YETI_STATUS, 1; + set $@FIGHT_YETI_WAVE, 1; + set $@FIGHT_YETI_PLAYER_COUNT, getareausers("031-3.gat", 80, 20, 160, 90); + + startnpctimer; + goto L_Exit; + +//TODO: remove //TODO: start the battle and set state2 in case of success mes "DEBUG: ADD YETIFIGHT HERE, QUEST VARIABLE INCREASED"; set @rescue_Cindy, 2; callsub S_Update_Mask; close; - + +//TODO: why close and end? +L_Exit: + close; + end; + +L_Yeti: + mes "[Cindy]"; + mes "\"Watch out, the Yetis!\""; + close; + L_Reward: mes "[Cindy]"; mes "\"You are a hero! All this strong monsters!\""; @@ -70,8 +93,8 @@ L_Reward: set @reward, rand(1); if (@reward == 1) goto L_Wizard_Hat; //TODO: set right, when quarterstaff is in item_db - //getitem "QuarterStaff", 1; - mes "DEBUG: GET ACORN INSTEAD OF QUARTERSTAFF"; + //getitem "WoodenStaff", 1; + mes "DEBUG: GET ACORN INSTEAD OF WOODENSTAFF"; getitem "acorn", 1; goto L_Visit; @@ -102,6 +125,72 @@ L_Full_Inv: mes "\"Oh, it seems you carry so much stuff - I will keep it for you until you can take it.\""; close; +// Fight logic +OnTimer5000: + setnpctimer 0; + if ($@FIGHT_YETI_STATUS != 0) goto L_CaveLogic; +L_Return_1: + set $@FIGHT_YETI_PLAYER_COUNT, 0; + areatimer "031-3.gat", 80, 20, 160, 90, 10, "Cindy::onTick"; + end; + +L_CaveLogic: + set $@FIGHT_YETI_ROUND_PEN, $@FIGHT_YETI_PLAYER_COUNT; + if ($@FIGHT_YETI_ROUND_PEN > 60) set $@FIGHT_YETI_ROUND_PEN, 60; + if ($@FIGHT_YETI_PLAYER_COUNT <= 0) goto L_CleanUp; + set $@FIGHT_YETI_ROUND_TIMER, $@FIGHT_YETI_ROUND_TIMER + 5; // Advance 5 seconds + if (mobcount("031-3.gat", "Cindy::onPetDeath") <= 0) goto L_NextWave; + if ($@FIGHT_YETI_ROUND_TIMER + $@FIGHT_YETI_ROUND_PEN >= 120) goto L_NextWave; + goto L_Return_1; + +L_NextWave: + set $@FIGHT_YETI_ROUND_TIMER, 0; + + set $@FIGHT_YETI_WAVE, $@FIGHT_YETI_WAVE + 1; + if ($@FIGHT_YETI_WAVE >= 10) goto L_CleanUp; +//TODO: adjust number of yetis spawned + set $@FIGHT_YETI_NUMBER, $@FIGHT_YETI_WAVE + $@FIGHT_YETI_WAVE * $@FIGHT_YETI_PLAYER_COUNT/30; + + set $@YETI_SUMMON, 0; + + areamonster "031-3.gat", 80, 20, 160, 90, "", 1072, $@FIGHT_YETI_NUMBER, "Cindy::onPetDeath"; + goto L_Return_1; + +// Called on each player once every 5 seconds +onTick: + if (isdead(0)) end; + set $@FIGHT_YETI_PLAYER_COUNT, $@FIGHT_YETI_PLAYER_COUNT + 1; + end; + +onPetDeath: + end; + +onInit: + initnpctimer; + stopnpctimer; +L_CleanUp: + areatimer "031-3.gat", 80, 20, 160, 90, 10, "Cindy::onReward"; + set $@FIGHT_YETI_STATUS, 0; + set $@FIGHT_YETI_PLAYER_COUNT, 0; + set $@FIGHT_YETI_WAVE, 1; + set $@FIGHT_YETI_ROUND_TIMER, 0; + killmonster "031-3.gat", "Cindy::onPetDeath"; + stopnpctimer; + setnpctimer 0; + end; + +onReward: + if (isdead(0)) end; +//TODO: determine, if and how many boss points should be added + set BOSS_POINTS, BOSS_POINTS + 100; +//TODO: check, if two messages for the player works + message strcharinfo(0), "You gain 100 Boss Points giving you a total of " + BOSS_POINTS; + set @rescue_Cindy, 2; + callsub S_Update_Mask; + message strcharinfo(0), "Cindy looks relieved and as if she wants to talk with you."; + end; + +///////// S_Update_Mask: set QUEST_Nivalis_state, (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK)) -- cgit v1.2.3-70-g09d2 From b7dc8b21680e24675c61c868608f33ac596f2554 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Thu, 30 Dec 2010 20:00:16 +0100 Subject: removing mobs in 031-2 big cave --- data/031-1.wlk | Bin 18948 -> 18948 bytes npc/031-1_NivalisPort/_import.txt | 2 +- npc/031-3_Cave/_import.txt | 2 +- npc/031-3_Cave/_mobs.txt | 10 +++++++--- 4 files changed, 9 insertions(+), 5 deletions(-) (limited to 'npc') diff --git a/data/031-1.wlk b/data/031-1.wlk index 4341935a..7ecf1f2c 100644 Binary files a/data/031-1.wlk and b/data/031-1.wlk differ diff --git a/npc/031-1_NivalisPort/_import.txt b/npc/031-1_NivalisPort/_import.txt index b1e59215..03490d66 100644 --- a/npc/031-1_NivalisPort/_import.txt +++ b/npc/031-1_NivalisPort/_import.txt @@ -1,6 +1,6 @@ map: 031-1.gat npc: npc/031-1_NivalisPort/_mobs.txt npc: npc/031-1_NivalisPort/_warps.txt -npc: npc/031-1_NivalisPort/frozenbeard.txt npc: npc/031-1_NivalisPort/angelaOutside.txt +npc: npc/031-1_NivalisPort/frozenbeard.txt npc: npc/031-1_NivalisPort/house.txt diff --git a/npc/031-3_Cave/_import.txt b/npc/031-3_Cave/_import.txt index 1f56c50d..44ec9310 100644 --- a/npc/031-3_Cave/_import.txt +++ b/npc/031-3_Cave/_import.txt @@ -1,5 +1,5 @@ map: 031-3.gat npc: npc/031-3_Cave/_mobs.txt npc: npc/031-3_Cave/_warps.txt -npc: npc/031-3_Cave/labyrinth.txt npc: npc/031-3_Cave/cindyCave.txt +npc: npc/031-3_Cave/labyrinth.txt diff --git a/npc/031-3_Cave/_mobs.txt b/npc/031-3_Cave/_mobs.txt index e5c1ec59..f41b1984 100644 --- a/npc/031-3_Cave/_mobs.txt +++ b/npc/031-3_Cave/_mobs.txt @@ -9,8 +9,7 @@ 031-3.gat,99,271,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 031-3.gat,281,58,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 031-3.gat,0,0,0,0 monster Bat 1017,100,100000,30000,Mob031-3::On1017 -031-3.gat,48,48,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 -031-3.gat,122,50,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 +031-3.gat,37,47,61,62 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 031-3.gat,117,140,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 031-3.gat,212,142,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 031-3.gat,211,276,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 @@ -18,7 +17,6 @@ 031-3.gat,231,213,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 031-3.gat,261,265,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 031-3.gat,280,56,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 -031-3.gat,121,57,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 031-3.gat,120,143,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 031-3.gat,218,215,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 031-3.gat,285,216,66,59 monster Santa Slime 1015,5,100000,30000,Mob031-3::On1015 @@ -30,6 +28,12 @@ 031-3.gat,132,160,10,13 monster yeti 1072,3,100000,30000,Mob031-3::On1072 031-3.gat,228,37,10,13 monster yeti 1072,3,100000,30000,Mob031-3::On1072 031-3.gat,44,73,33,11 monster yeti 1072,1,100000,30000,Mob031-3::On1072 +031-3.gat,37,277,66,59 monster Bat 1017,10,100000,30000,Mob031-3::On1017 +031-3.gat,85,176,154,95 monster Bat 1017,10,100000,30000,Mob031-3::On1017 +031-3.gat,121,279,66,59 monster Bat 1017,10,100000,30000,Mob031-3::On1017 +031-3.gat,242,245,144,131 monster Bat 1017,10,100000,30000,Mob031-3::On1017 +031-3.gat,242,87,144,131 monster Bat 1017,10,100000,30000,Mob031-3::On1017 +031-3.gat,40,50,66,59 monster Bat 1017,10,100000,30000,Mob031-3::On1017 031-3.gat,0,0,0 script Mob031-3 -1,{ -- cgit v1.2.3-70-g09d2 From b05725073e101b2e18224407d4d5624971471724 Mon Sep 17 00:00:00 2001 From: Jessica Tölke Date: Thu, 30 Dec 2010 20:52:09 +0100 Subject: removing bats over the whole map from 031-3 --- npc/031-3_Cave/_mobs.txt | 1 - 1 file changed, 1 deletion(-) (limited to 'npc') diff --git a/npc/031-3_Cave/_mobs.txt b/npc/031-3_Cave/_mobs.txt index e5c1ec59..670c2857 100644 --- a/npc/031-3_Cave/_mobs.txt +++ b/npc/031-3_Cave/_mobs.txt @@ -8,7 +8,6 @@ 031-3.gat,284,222,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 031-3.gat,99,271,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 031-3.gat,281,58,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 -031-3.gat,0,0,0,0 monster Bat 1017,100,100000,30000,Mob031-3::On1017 031-3.gat,48,48,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 031-3.gat,122,50,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 031-3.gat,117,140,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 -- cgit v1.2.3-70-g09d2 From 8fbae2c5efa71fa0efd332a4cf71204c32236b78 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Thu, 30 Dec 2010 21:21:31 +0100 Subject: improving the debug npc --- npc/031-1_NivalisPort/angelaOutside.txt | 59 +++++++++++++++++++-------------- 1 file changed, 34 insertions(+), 25 deletions(-) (limited to 'npc') diff --git a/npc/031-1_NivalisPort/angelaOutside.txt b/npc/031-1_NivalisPort/angelaOutside.txt index 7bb02d71..c6088ad3 100644 --- a/npc/031-1_NivalisPort/angelaOutside.txt +++ b/npc/031-1_NivalisPort/angelaOutside.txt @@ -1,9 +1,9 @@ // author: Jenalya -// reviewed by: +// reviewed by: // state0: Angela is to upset to tell you anything, needs a concentration potion // state1: got the mission to save Cindy // state2 and state3: Cindy is saved Angela invites you to visit them for giving a reward -// state greater than 3: Angela invites and asks you to bring present boxes +// state greater than 3: Angela invites and asks you to bring present boxes //TODO: picture 031-1.gat,79,24,0 script Angela 154, { @@ -13,7 +13,7 @@ set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT); - if (@rescue_Cindy > 3) goto L_Please_Visit_Again; + if (@rescue_Cindy > 3) goto L_Please_Visit_Again; if (@rescue_Cindy > 1) goto L_Please_Visit; if (@rescue_Cindy == 1) goto L_Please_Help; @@ -24,13 +24,13 @@ next; if (countitem("ConcentrationPotion") > 0) goto L_Menu_Potion; - + menu "\"Please calm down and tell me what happened.\"", L_Whining, "Leave", -; - close; + close; -L_Whining: +L_Whining: mes "[Angela]"; //TODO: add more whining, enough to make it annoying to read it all mes "\"My poor little daugther, please! Oh no, oh no...\""; @@ -53,13 +53,13 @@ L_Whining: next; mes "\"It seems, she is too upset to tell you anything helpful. If she would just calm down and concentrate a bit...\""; close; - -L_Menu_Potion: + +L_Menu_Potion: menu "\"Please calm down and tell me what happened.\"", L_Whining, - "Give her a concentration potion.", L_Calm_Down, + "Give her a concentration potion.", L_Calm_Down, "Leave", -; - close; + close; L_Calm_Down: if (countitem("ConcentrationPotion") == 0) goto L_No_Potion; @@ -69,18 +69,18 @@ L_Calm_Down: mes "\"Thank you, this was helpful.\""; next; mes "\"My daughter Cindy and me were on our way to Santa, to bring him some presents. Many people here in Nivalis are helping Santa with his business.\""; - next; + next; mes "\"When we passed the entrance of this cave, a pack of Yetis came out there. It's disturbing, usually, they are very shy.\""; - next; + next; mes "\"We tried to run away, but there were to many of them. They took my poor little Cindy and all the presents with them.\""; - next; + next; mes "\"Oh my poor little girl. I'm so worried - what might they do with her? Oh no!\""; - next; - mes "\"You look like an adventurer! Please, can you go in that cave and rescue my little Cindy? I beg you for help!\""; + next; + mes "\"You look like an adventurer! Please, can you go in that cave and rescue my little Cindy? I beg you for help!\""; set @rescue_Cindy, 1; callsub S_Update_Mask; close; - + L_No_Potion: mes "You don't have a concentration potion."; close; @@ -89,21 +89,21 @@ L_Please_Help: mes "[Angela]"; mes "\"Please rescue my daughter!\""; close; - -L_Please_Visit: + +L_Please_Visit: mes "[Angela]"; mes "\"Thank you so much for rescueing my beloved Cindy. Please come to visit us in our house at the beach.\""; next; mes "\"My husband is an adventurer like you, and I want to give you something he got on his travels to show my gratitude.\""; close; - + L_Please_Visit_Again: mes "[Angela]"; mes "\"Hello! You are welcome to visit us in our house at the beach everytime. Cindy loves to see you!\""; next; mes "\"If you have found any present boxes, the Yetis took away, please bring them to our house. Usually, the Yetis are very shy... their behavior is a bit odd.\""; close; - + S_Update_Mask: set QUEST_Nivalis_state, (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK)) @@ -119,9 +119,9 @@ S_Update_Mask: set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT; set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT); - + mes "This menu is for debugging and will be removed"; - menu + menu "close", L_close, "reset quest", -, "magic", magic; @@ -140,7 +140,7 @@ magic: set @SUP_xp, 5000; set @SUP_lvl, 2; callfunc "SkillUp"; - + // Set up SkillUp function war magic set @SUP_id, SKILL_MAGIC_WAR; set @SUP_name$, "War Magic"; @@ -148,7 +148,7 @@ magic: set @SUP_xp, 5000; set @SUP_lvl, 2; callfunc "SkillUp"; - + // Set up SkillUp function life magic set @SUP_id, SKILL_MAGIC_LIFE; set @SUP_name$, "Life Magic"; @@ -157,12 +157,21 @@ magic: set @SUP_lvl, 2; callfunc "SkillUp"; + // Set up SkillUp function life magic + set @SUP_id, SKILL_MAGIC_NATURE; + set @SUP_name$, "Nature Magic"; + + set @SUP_xp, 5000; + set @SUP_lvl, 2; + callfunc "SkillUp"; + mes "Lightning invocation: " + getspellinvocation("lightning-strike"); mes "Flare-dart invocation: " + getspellinvocation("flare-dart"); mes "Lesser-heal invocation: " + getspellinvocation("lesser-heal"); mes "Lay-on-hands invocation: " + getspellinvocation("lay-on-hands"); + mes "protect: " + getspellinvocation("protect"); close; - + S_Update_Mask: set QUEST_Nivalis_state, (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK)) -- cgit v1.2.3-70-g09d2 From d21d470338b6ad5f6d9d540cb61212a4c3bfb064 Mon Sep 17 00:00:00 2001 From: Jessica Tölke Date: Fri, 31 Dec 2010 01:20:51 +0100 Subject: Rescue Cindy quest: - reward fix in Cindy - blocking the warp of the fight cave during battle - changing yeti stats for next test --- db/mob_db.txt | 2 +- npc/031-3_Cave/cindyCave.txt | 9 +++++---- npc/031-3_Cave/labyrinth.txt | 8 ++++++++ 3 files changed, 14 insertions(+), 5 deletions(-) (limited to 'npc') diff --git a/db/mob_db.txt b/db/mob_db.txt index c619b968..6f4884fb 100644 --- a/db/mob_db.txt +++ b/db/mob_db.txt @@ -69,4 +69,4 @@ 1069, Scythe, Scythe, 40, 3000, 0, 0, 500, 1, 200, 350, 30, 10, 100, 250, 1, 1, 150, 90, 1, 50, 1, 0, 40, 133, 220, 700, 672, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 1070, BallLightning, Ball Lightning, 40, 50, 0, 0, 10, 1, 5, 10, 40, 65, 1, 200, 1, 1, 1, 1, 1, 50, 1, 0, 47, 133, 110, 1500, 672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 1071, IceElement, Ice Element, 20, 1000, 0, 0, 200, 2, 60, 60, 0, 20, 15, 25, 15, 15, 20, 50, 1, 1, 1, 0, 41, 135, 330, 740, 672, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 20 -1072, Yeti, Yeti, 35,8500, 0, 0, 300, 2,100,400,60,15,60, 5,45, 15,40,32, 1, 1, 1, 0, 61, 135,220, 1500, 672, 900, 0, 800, 0, 800, 0, 800, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 +1072, Yeti, Yeti, 35,8500, 0, 0, 300, 2,100,400,60,15,60, 5,45, 15,45,32, 1, 1, 1, 0, 61, 135,220, 1500, 672, 900, 0, 800, 0, 800, 0, 800, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 diff --git a/npc/031-3_Cave/cindyCave.txt b/npc/031-3_Cave/cindyCave.txt index 77046422..03bb0bde 100644 --- a/npc/031-3_Cave/cindyCave.txt +++ b/npc/031-3_Cave/cindyCave.txt @@ -90,7 +90,7 @@ L_Reward: getinventorylist; if (@inventorylist_count == 100) goto L_Full_Inv; - set @reward, rand(1); + set @reward, rand(2); if (@reward == 1) goto L_Wizard_Hat; //TODO: set right, when quarterstaff is in item_db //getitem "WoodenStaff", 1; @@ -100,8 +100,8 @@ L_Reward: L_Wizard_Hat: //TODO: set right, when quarterstaff is in item_db - //getitem "WizardHat", 1; - mes "DEBUG: GET ACORN INSTEAD OF WIZARDHAT"; + //getitem "BugLeg", 1; + mes "DEBUG: GET BUGLEG INSTEAD OF WIZARDHAT"; getitem "acorn", 1; L_Visit: @@ -183,11 +183,12 @@ onReward: if (isdead(0)) end; //TODO: determine, if and how many boss points should be added set BOSS_POINTS, BOSS_POINTS + 100; -//TODO: check, if two messages for the player works message strcharinfo(0), "You gain 100 Boss Points giving you a total of " + BOSS_POINTS; + if (@rescue_Cindy < 1) goto L_No_Progress; set @rescue_Cindy, 2; callsub S_Update_Mask; message strcharinfo(0), "Cindy looks relieved and as if she wants to talk with you."; +L_No_Progress: end; ///////// diff --git a/npc/031-3_Cave/labyrinth.txt b/npc/031-3_Cave/labyrinth.txt index 89a0623a..a73085e3 100755 --- a/npc/031-3_Cave/labyrinth.txt +++ b/npc/031-3_Cave/labyrinth.txt @@ -264,10 +264,18 @@ } 031-3.gat,120,81,0 script #ChristmasBarrier 127,1,1,{ + if ($@FIGHT_YETI_STATUS == 1) goto L_Block; warp "031-3.gat", 46, 27; + end; +L_Block: + message strcharinfo(0), "Some force seems to be blocking you from exiting."; end; } 031-3.gat,46,24,0 script #ChristmasBarrier 127,1,1,{ +if ($@FIGHT_YETI_STATUS == 1) goto L_Blocked; warp "031-3.gat", 120, 79; + end; +L_Blocked: + message strcharinfo(0), "Some force seems to be blocking you from entering."; end; } -- cgit v1.2.3-70-g09d2 From c13e2933778fbff7d61061041ac38e1f1f5d4fa9 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Fri, 31 Dec 2010 01:31:10 +0100 Subject: updating wlk files of 31-3: resize cave of cindys fight --- data/031-1.wlk | Bin 18948 -> 18948 bytes data/031-3.wlk | Bin 102404 -> 102404 bytes npc/031-2_Angelas_House/_import.txt | 2 +- npc/031-3_Cave/_mobs.txt | 1 + 4 files changed, 2 insertions(+), 1 deletion(-) (limited to 'npc') diff --git a/data/031-1.wlk b/data/031-1.wlk index 7ecf1f2c..4341935a 100644 Binary files a/data/031-1.wlk and b/data/031-1.wlk differ diff --git a/data/031-3.wlk b/data/031-3.wlk index f2dcc2dd..ae0279fa 100644 Binary files a/data/031-3.wlk and b/data/031-3.wlk differ diff --git a/npc/031-2_Angelas_House/_import.txt b/npc/031-2_Angelas_House/_import.txt index 20c36fe2..05585ce4 100644 --- a/npc/031-2_Angelas_House/_import.txt +++ b/npc/031-2_Angelas_House/_import.txt @@ -1,5 +1,5 @@ map: 031-2.gat npc: npc/031-2_Angelas_House/_mobs.txt npc: npc/031-2_Angelas_House/_warps.txt -npc: npc/031-2_Angelas_House/cindyHouse.txt npc: npc/031-2_Angelas_House/angelaHouse.txt +npc: npc/031-2_Angelas_House/cindyHouse.txt diff --git a/npc/031-3_Cave/_mobs.txt b/npc/031-3_Cave/_mobs.txt index 8060e451..d82ae5ed 100644 --- a/npc/031-3_Cave/_mobs.txt +++ b/npc/031-3_Cave/_mobs.txt @@ -8,6 +8,7 @@ 031-3.gat,284,222,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 031-3.gat,99,271,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 031-3.gat,281,58,52,75 monster Moggun 1061,5,100000,30000,Mob031-3::On1061 +031-3.gat,37,47,61,62 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 031-3.gat,117,140,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 031-3.gat,212,142,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 031-3.gat,211,276,83,61 monster Ice Goblin 1058,5,100000,30000,Mob031-3::On1058 -- cgit v1.2.3-70-g09d2 From b5f686bb063f7c3e69614b1e822e0912ee8f0802 Mon Sep 17 00:00:00 2001 From: Jessica Tölke Date: Fri, 31 Dec 2010 15:51:33 +0100 Subject: rescue cindy quest: modified yeti battle and increased dex of yeti for next test --- db/mob_db.txt | 2 +- npc/031-3_Cave/cindyCave.txt | 15 ++++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) (limited to 'npc') diff --git a/db/mob_db.txt b/db/mob_db.txt index 6f4884fb..3ad539e0 100644 --- a/db/mob_db.txt +++ b/db/mob_db.txt @@ -69,4 +69,4 @@ 1069, Scythe, Scythe, 40, 3000, 0, 0, 500, 1, 200, 350, 30, 10, 100, 250, 1, 1, 150, 90, 1, 50, 1, 0, 40, 133, 220, 700, 672, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 1070, BallLightning, Ball Lightning, 40, 50, 0, 0, 10, 1, 5, 10, 40, 65, 1, 200, 1, 1, 1, 1, 1, 50, 1, 0, 47, 133, 110, 1500, 672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0 1071, IceElement, Ice Element, 20, 1000, 0, 0, 200, 2, 60, 60, 0, 20, 15, 25, 15, 15, 20, 50, 1, 1, 1, 0, 41, 135, 330, 740, 672, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 20 -1072, Yeti, Yeti, 35,8500, 0, 0, 300, 2,100,400,60,15,60, 5,45, 15,45,32, 1, 1, 1, 0, 61, 135,220, 1500, 672, 900, 0, 800, 0, 800, 0, 800, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 +1072, Yeti, Yeti, 35,8500, 0, 0, 300, 2,100,400,60,15,60, 5,45, 15,55,32, 1, 1, 1, 0, 61, 135,220, 1500, 672, 900, 0, 800, 0, 800, 0, 800, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30 diff --git a/npc/031-3_Cave/cindyCave.txt b/npc/031-3_Cave/cindyCave.txt index 03bb0bde..f87000aa 100644 --- a/npc/031-3_Cave/cindyCave.txt +++ b/npc/031-3_Cave/cindyCave.txt @@ -59,6 +59,7 @@ L_Try_Cage: // initialize fight set $@FIGHT_YETI_STATUS, 1; set $@FIGHT_YETI_WAVE, 1; + set $@YETI_COUNT, 0; set $@FIGHT_YETI_PLAYER_COUNT, getareausers("031-3.gat", 80, 20, 160, 90); startnpctimer; @@ -71,10 +72,8 @@ L_Try_Cage: callsub S_Update_Mask; close; -//TODO: why close and end? L_Exit: close; - end; L_Yeti: mes "[Cindy]"; @@ -125,7 +124,7 @@ L_Full_Inv: mes "\"Oh, it seems you carry so much stuff - I will keep it for you until you can take it.\""; close; -// Fight logic +// Fight logic attached to npc OnTimer5000: setnpctimer 0; if ($@FIGHT_YETI_STATUS != 0) goto L_CaveLogic; @@ -147,11 +146,12 @@ L_NextWave: set $@FIGHT_YETI_ROUND_TIMER, 0; set $@FIGHT_YETI_WAVE, $@FIGHT_YETI_WAVE + 1; - if ($@FIGHT_YETI_WAVE >= 10) goto L_CleanUp; + if ($@FIGHT_YETI_WAVE > 10 && $@YETI_COUNT == 0) goto L_CleanUp; + if ($@FIGHT_YETI_WAVE > 10) goto L_Return_1; //TODO: adjust number of yetis spawned - set $@FIGHT_YETI_NUMBER, $@FIGHT_YETI_WAVE + $@FIGHT_YETI_WAVE * $@FIGHT_YETI_PLAYER_COUNT/30; - - set $@YETI_SUMMON, 0; +//TODO: use yeti count here + set $@FIGHT_YETI_NUMBER, $@FIGHT_YETI_WAVE + $@FIGHT_YETI_WAVE * $@FIGHT_YETI_PLAYER_COUNT/10; + set $@YETI_COUNT, $@YETI_COUNT + $@FIGHT_YETI_NUMBER; areamonster "031-3.gat", 80, 20, 160, 90, "", 1072, $@FIGHT_YETI_NUMBER, "Cindy::onPetDeath"; goto L_Return_1; @@ -163,6 +163,7 @@ onTick: end; onPetDeath: + set $@YETI_COUNT, $@YETI_COUNT - 1; end; onInit: -- cgit v1.2.3-70-g09d2 From 5f1a59561d869afb7e159497654478b7dace68aa Mon Sep 17 00:00:00 2001 From: Jessica Tölke Date: Sat, 1 Jan 2011 18:07:26 +0100 Subject: Rescue Cindy: Changing numer of yetis spawned and added some Debug messages --- npc/031-3_Cave/cindyCave.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'npc') diff --git a/npc/031-3_Cave/cindyCave.txt b/npc/031-3_Cave/cindyCave.txt index f87000aa..080e5ea9 100644 --- a/npc/031-3_Cave/cindyCave.txt +++ b/npc/031-3_Cave/cindyCave.txt @@ -148,12 +148,13 @@ L_NextWave: set $@FIGHT_YETI_WAVE, $@FIGHT_YETI_WAVE + 1; if ($@FIGHT_YETI_WAVE > 10 && $@YETI_COUNT == 0) goto L_CleanUp; if ($@FIGHT_YETI_WAVE > 10) goto L_Return_1; -//TODO: adjust number of yetis spawned +//TODO: adjust number of yetis spawned, maybe yeti wave * 2/3 and player count /12 //TODO: use yeti count here - set $@FIGHT_YETI_NUMBER, $@FIGHT_YETI_WAVE + $@FIGHT_YETI_WAVE * $@FIGHT_YETI_PLAYER_COUNT/10; + set $@FIGHT_YETI_NUMBER, ($@FIGHT_YETI_WAVE * 2 / 3) + ($@FIGHT_YETI_WAVE * $@FIGHT_YETI_PLAYER_COUNT/12); set $@YETI_COUNT, $@YETI_COUNT + $@FIGHT_YETI_NUMBER; areamonster "031-3.gat", 80, 20, 160, 90, "", 1072, $@FIGHT_YETI_NUMBER, "Cindy::onPetDeath"; + mapannounce "031-3.gat", "WAVE: " + $@FIGHT_YETI_WAVE + " NUMBER OF YETIS SPAWNED: " + $@FIGHT_YETI_NUMBER + "TOTAL YETIS: " + $@YETI_COUNT, 0; goto L_Return_1; // Called on each player once every 5 seconds -- cgit v1.2.3-70-g09d2 From b077cee9fee04e16fb3a8fe6e19f7c8a041787b3 Mon Sep 17 00:00:00 2001 From: Jessica Tölke Date: Sat, 1 Jan 2011 22:08:07 +0100 Subject: Cindy quest: Changing number of Yetis spawned --- npc/031-3_Cave/cindyCave.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'npc') diff --git a/npc/031-3_Cave/cindyCave.txt b/npc/031-3_Cave/cindyCave.txt index 080e5ea9..25e14b8d 100644 --- a/npc/031-3_Cave/cindyCave.txt +++ b/npc/031-3_Cave/cindyCave.txt @@ -148,9 +148,9 @@ L_NextWave: set $@FIGHT_YETI_WAVE, $@FIGHT_YETI_WAVE + 1; if ($@FIGHT_YETI_WAVE > 10 && $@YETI_COUNT == 0) goto L_CleanUp; if ($@FIGHT_YETI_WAVE > 10) goto L_Return_1; -//TODO: adjust number of yetis spawned, maybe yeti wave * 2/3 and player count /12 +//TODO: adjust number of yetis spawned //TODO: use yeti count here - set $@FIGHT_YETI_NUMBER, ($@FIGHT_YETI_WAVE * 2 / 3) + ($@FIGHT_YETI_WAVE * $@FIGHT_YETI_PLAYER_COUNT/12); + set $@FIGHT_YETI_NUMBER, (30 + (2 * $@FIGHT_YETI_WAVE) + (4 * $@FIGHT_YETI_PLAYER_COUNT))/5; set $@YETI_COUNT, $@YETI_COUNT + $@FIGHT_YETI_NUMBER; areamonster "031-3.gat", 80, 20, 160, 90, "", 1072, $@FIGHT_YETI_NUMBER, "Cindy::onPetDeath"; -- cgit v1.2.3-70-g09d2 From bbd8a5ccebe393033ba778582ee311225f3d32b7 Mon Sep 17 00:00:00 2001 From: Jessica Tölke Date: Sat, 1 Jan 2011 23:14:37 +0100 Subject: cindy, changing yeti battle again --- npc/031-3_Cave/cindyCave.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'npc') diff --git a/npc/031-3_Cave/cindyCave.txt b/npc/031-3_Cave/cindyCave.txt index 25e14b8d..5c1e91b7 100644 --- a/npc/031-3_Cave/cindyCave.txt +++ b/npc/031-3_Cave/cindyCave.txt @@ -58,7 +58,7 @@ L_Try_Cage: // initialize fight set $@FIGHT_YETI_STATUS, 1; - set $@FIGHT_YETI_WAVE, 1; + set $@FIGHT_YETI_WAVE, 0; set $@YETI_COUNT, 0; set $@FIGHT_YETI_PLAYER_COUNT, getareausers("031-3.gat", 80, 20, 160, 90); @@ -150,7 +150,7 @@ L_NextWave: if ($@FIGHT_YETI_WAVE > 10) goto L_Return_1; //TODO: adjust number of yetis spawned //TODO: use yeti count here - set $@FIGHT_YETI_NUMBER, (30 + (2 * $@FIGHT_YETI_WAVE) + (4 * $@FIGHT_YETI_PLAYER_COUNT))/5; + set $@FIGHT_YETI_NUMBER, (1 + (1 * $@FIGHT_YETI_WAVE) + (2 * $@FIGHT_YETI_PLAYER_COUNT))/4; set $@YETI_COUNT, $@YETI_COUNT + $@FIGHT_YETI_NUMBER; areamonster "031-3.gat", 80, 20, 160, 90, "", 1072, $@FIGHT_YETI_NUMBER, "Cindy::onPetDeath"; -- cgit v1.2.3-70-g09d2 From f2a8241a24862b2c8206a7143481d30c8dacf98a Mon Sep 17 00:00:00 2001 From: Jessica Tölke Date: Sun, 2 Jan 2011 11:52:05 +0100 Subject: cindy quest: setting a minimum level to start the yeti battle and some minor fixes --- npc/031-1_NivalisPort/angelaOutside.txt | 1 - npc/031-2_Angelas_House/angelaHouse.txt | 2 +- npc/031-3_Cave/cindyCave.txt | 13 ++++++++----- 3 files changed, 9 insertions(+), 7 deletions(-) (limited to 'npc') diff --git a/npc/031-1_NivalisPort/angelaOutside.txt b/npc/031-1_NivalisPort/angelaOutside.txt index c6088ad3..b10bb5f9 100644 --- a/npc/031-1_NivalisPort/angelaOutside.txt +++ b/npc/031-1_NivalisPort/angelaOutside.txt @@ -32,7 +32,6 @@ L_Whining: mes "[Angela]"; -//TODO: add more whining, enough to make it annoying to read it all mes "\"My poor little daugther, please! Oh no, oh no...\""; next; mes "\"We need to do something! My poor little Cindy! My cute little girl!\""; diff --git a/npc/031-2_Angelas_House/angelaHouse.txt b/npc/031-2_Angelas_House/angelaHouse.txt index 93ea2228..5ec66a83 100644 --- a/npc/031-2_Angelas_House/angelaHouse.txt +++ b/npc/031-2_Angelas_House/angelaHouse.txt @@ -5,7 +5,7 @@ // state4: you can do daily quests with white and yellow presents boxes // -//TODO: picture +//TODO: coordinates and picture 031-2.gat,24,26,0 script Angela 154, { set @Q_Nivalis_state_MASK, NIBBLE_5_MASK; diff --git a/npc/031-3_Cave/cindyCave.txt b/npc/031-3_Cave/cindyCave.txt index 5c1e91b7..029ea00d 100644 --- a/npc/031-3_Cave/cindyCave.txt +++ b/npc/031-3_Cave/cindyCave.txt @@ -47,6 +47,7 @@ L_Please_Help: close; L_Try_Cage: + if (baselevel < 65) goto L_To_Weak; if (countitem("TreasureKey") < @KEYS_AMOUNT) goto L_Not_Enough_Keys; delitem "TreasureKey", @KEYS_AMOUNT; mes "As you try to open the door of the cage, there is a loudly squeaking noise."; @@ -66,7 +67,6 @@ L_Try_Cage: goto L_Exit; //TODO: remove -//TODO: start the battle and set state2 in case of success mes "DEBUG: ADD YETIFIGHT HERE, QUEST VARIABLE INCREASED"; set @rescue_Cindy, 2; callsub S_Update_Mask; @@ -115,6 +115,10 @@ L_Please_Visit: mes "[Cindy]"; mes "\"Thank you, thank you! You're a hero! Please come home with me to our house at the beach!\""; close; + +L_To_Weak: + mes "You try to open the cage, but it's stuck. It seems, you're too weak!"; + close; L_Not_Enough_Keys: mes "You don't have enough keys to open the cage."; @@ -149,12 +153,11 @@ L_NextWave: if ($@FIGHT_YETI_WAVE > 10 && $@YETI_COUNT == 0) goto L_CleanUp; if ($@FIGHT_YETI_WAVE > 10) goto L_Return_1; //TODO: adjust number of yetis spawned -//TODO: use yeti count here set $@FIGHT_YETI_NUMBER, (1 + (1 * $@FIGHT_YETI_WAVE) + (2 * $@FIGHT_YETI_PLAYER_COUNT))/4; set $@YETI_COUNT, $@YETI_COUNT + $@FIGHT_YETI_NUMBER; areamonster "031-3.gat", 80, 20, 160, 90, "", 1072, $@FIGHT_YETI_NUMBER, "Cindy::onPetDeath"; - mapannounce "031-3.gat", "WAVE: " + $@FIGHT_YETI_WAVE + " NUMBER OF YETIS SPAWNED: " + $@FIGHT_YETI_NUMBER + "TOTAL YETIS: " + $@YETI_COUNT, 0; +// mapannounce "031-3.gat", "WAVE: " + $@FIGHT_YETI_WAVE + " NUMBER OF YETIS SPAWNED: " + $@FIGHT_YETI_NUMBER + " TOTAL YETIS: " + $@YETI_COUNT, 0; goto L_Return_1; // Called on each player once every 5 seconds @@ -184,8 +187,8 @@ L_CleanUp: onReward: if (isdead(0)) end; //TODO: determine, if and how many boss points should be added - set BOSS_POINTS, BOSS_POINTS + 100; - message strcharinfo(0), "You gain 100 Boss Points giving you a total of " + BOSS_POINTS; + set BOSS_POINTS, BOSS_POINTS + 10; + message strcharinfo(0), "You gain 10 Boss Points giving you a total of " + BOSS_POINTS; if (@rescue_Cindy < 1) goto L_No_Progress; set @rescue_Cindy, 2; callsub S_Update_Mask; -- cgit v1.2.3-70-g09d2 From 1d4add86fd5182a0501cda01da154921843ff9a2 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Sat, 4 Dec 2010 17:30:14 +0100 Subject: ishi improved Ishi now checks your inventory before giving you items! (if there is space in the inventory) The option to get all items was added as well. Coal was added to the list as well. --- npc/001-1_Tulimshar/rewards_master.txt | 84 +++++++++++++++++++++++++++------- 1 file changed, 68 insertions(+), 16 deletions(-) (limited to 'npc') diff --git a/npc/001-1_Tulimshar/rewards_master.txt b/npc/001-1_Tulimshar/rewards_master.txt index 571fe1c8..bd55b0ae 100644 --- a/npc/001-1_Tulimshar/rewards_master.txt +++ b/npc/001-1_Tulimshar/rewards_master.txt @@ -5,16 +5,16 @@ if (tvis == 0) set tvis, 1; if (Mobpt < tvis) goto L_NotEnough; - setarray @Items$, "AppleCake", "Arrow", "Beer", "Boots", "BugLeg", "CactusDrink", "CactusPotion", "Cake", "Candy", "CasinoCoins", "CherryCake", "ChickenLeg", "ChocolateBar", "ChocolateCake", "CottonBoots", "CottonCloth", "CottonShirt", "CottonShorts", "FancyHat", "GreenApple", "HardSpike", "IronOre", "Lifestone", "LightBlueDye", "MaggotSlime", "Milk", "Orange", "OrangeCake", "OrangeCupcake", "PinkPetal", "PileOfAsh", "PinkAntenna", "PoltergeistPowder", "RawLog", "RedApple", "RedDye", "ScorpionStinger", "SerfHat", "SmallHealingPotion", "SmallMushroom", "SnakeSkin", "SpectrePowder", "Steak", "TinyHealingPotion", "WhiteCake", "WhiteFur", "WispPowder", "YellowDye"; + setarray @Items$, "AppleCake", "Arrow", "Beer", "Boots", "BugLeg", "CactusDrink", "CactusPotion", "Cake", "Candy", "CasinoCoins", "CherryCake", "ChickenLeg", "ChocolateBar", "ChocolateCake", "CottonBoots", "CottonCloth", "CottonShirt", "CottonShorts", "FancyHat", "GreenApple", "HardSpike", "IronOre", "Lifestone", "LightBlueDye", "MaggotSlime", "Milk", "Orange", "OrangeCake", "OrangeCupcake", "PinkPetal", "PileOfAsh", "PinkAntenna", "PoltergeistPowder", "RawLog", "RedApple", "RedDye", "ScorpionStinger", "SerfHat", "SmallHealingPotion", "SmallMushroom", "SnakeSkin", "SpectrePowder", "Steak", "TinyHealingPotion", "WhiteCake", "WhiteFur", "WispPowder", "YellowDye", "Coal"; mes "[Ishi the Rewards Master]"; mes "\"Welcome! I see you have " + Mobpt + " Monster Points. Would you like to exchange some of those for items?\""; next; - + set @i, 0; setarray @Menu$, "", "", "", "", "", "", "", "", "", "", ""; callsub SUB_prep_menu; - + menu @Menu$[0], -, @Menu$[1], -, @@ -26,20 +26,24 @@ @Menu$[7], -, @Menu$[8], -, @Menu$[9], -, - @Menu$[10], -; + @Menu$[10], -, + @Menu$[11], -; + // this is for the last entry "No thanks": if (@menu > @i) close; - + // this is for the "Give all" entry: + if (@menu == @i) goto L_Give_all; + set @req, @menu; set @rec, 0; - + L_Item_Loop: if (@rec == @req || Mobpt < tvis) goto L_Item_Done; - + callsub SUB_give_item; set @rec, @rec + 1; goto L_Item_Loop; - + L_Item_Done: if (@rec < @req) mes "It looks like your Monster Points were over estimated."; close; @@ -54,6 +58,34 @@ L_NotEnough: mes "\"You don't have enough Monster Points for a reward. You'll need to kill some more monsters first.\""; close; + + +L_Give_all: + // we need to count how many loop iterations are done there, + // since the server complains about more than 250 (70 according to Jaxad0127) + // gotos without interrupting next statement. + set @gotocounter, 50; + +L_Give_all_loop: + set @gotocounter, @gotocounter - 1; + if (@gotocounter < 1) goto L_Give_all_next; + set @itemgiveerror, 0; + callsub SUB_give_item; + if (@itemgiveerror != 0) goto L_Give_all_done; + goto L_Give_all_loop; + +L_Give_all_next: + next; + mes "[Ishi the Rewards Master]"; + mes "\"You have brought lots of items now. You have still " + Mobpt + " monster points. Shall we continue?\""; + menu + "yes", L_Give_all, + "no", L_Give_all_done; + close; + +L_Give_all_done: + close; + ////////////////////////////////////////////////// // Subroutines ////////////////////////////////////////////////// @@ -61,29 +93,49 @@ L_NotEnough: SUB_prep_menu: set @pts, Mobpt; set @dif, tvis; - + L_Menu_Loop: - if (@pts < @dif || @i == 10) goto L_Menu_Done; - + if (@pts < @dif || @i == 10) goto L_Menu_Check; + set @Menu$[@i], @i + 1; - + set @i, @i + 1; set @pts, @pts - @dif; set @dif, @dif + 1; - + goto L_Menu_Loop; + +L_Menu_Check: + // if we are able to give 10, we can enable the option to give all we can have + if (@i != 10) goto L_Menu_Done; + set @Menu$[@i], "Please give me as many as I deserve!"; + set @i, @i + 1; + L_Menu_Done: set @Menu$[@i], "No thanks"; return; SUB_give_item: + set @itemgiveerror, 0; + getinventorylist; + if (@inventorylist_count == 100) goto SUB_give_noinv; + if (Mobpt < tvis) goto SUB_give_nomobpts; set Mobpt, Mobpt - tvis; set tvis, tvis + 1; set @item$, @Items$[rand(getarraysize(@Items$))]; - + getitem @item$, 1; - + mes "You received one " + getitemname(@item$) + "!"; - + return; + +SUB_give_noinv: + mes "Your inventory is full!"; + set @itemgiveerror, 1; + return; + +SUB_give_nomobpts: + mes "It looks like your Monster Points were over estimated."; + set @itemgiveerror, 1; return; } -- cgit v1.2.3-70-g09d2 From 57d118b5594ae95b5298e640fce46a2a641c67e4 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Wed, 27 Oct 2010 22:08:10 +0200 Subject: adding gwendolyn the archer teacher, located south west of hurnscald she will teach you the Hawks eye skill. This improves your skills with a bow. --- npc/016-1_Woodland/_import.txt | 1 + npc/016-1_Woodland/gwendolyn.txt | 554 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 555 insertions(+) create mode 100644 npc/016-1_Woodland/gwendolyn.txt (limited to 'npc') diff --git a/npc/016-1_Woodland/_import.txt b/npc/016-1_Woodland/_import.txt index 6d6c7bc9..29ac9eff 100644 --- a/npc/016-1_Woodland/_import.txt +++ b/npc/016-1_Woodland/_import.txt @@ -2,3 +2,4 @@ map: 016-1.gat npc: npc/016-1_Woodland/_mobs.txt npc: npc/016-1_Woodland/_warps.txt npc: npc/016-1_Woodland/monsters.txt +npc: npc/016-1_Woodland/gwendolyn.txt diff --git a/npc/016-1_Woodland/gwendolyn.txt b/npc/016-1_Woodland/gwendolyn.txt new file mode 100644 index 00000000..8c6728da --- /dev/null +++ b/npc/016-1_Woodland/gwendolyn.txt @@ -0,0 +1,554 @@ +//################################################################################# +//# +//# This script is for gaining the skill "Hawk's Eye" +//# +//# Needed: Forest Bow Quest +//# +//# Quest1: Proving Dexterity +//# Needed: 10 cave snake eggs, 10 snake eggs, 10 mountain snake eggs, 10 grass snake eggs +//# Reward: 10000 Exp +//# Quest2: Hitting the Target +//# Needed: win the minigame and hit the target depending on the wind, dex and agi +//# Reward: Skill Hawk's Eye +//# +//# Variables used: @QUEST_Forestbow_state, nibble 6 +//# +//# This nibble will have these values: +//# 0, state0: never talked to Gwendolyn +//# 1, state1: talked with her, but not a student yet +//# 2, state2: student, but no bow (from alan of course) +//# 3, state3: heard first lesson, she is waiting for the snake eggs +//# 4, state4: quest done, but too young, or having the ability for skills not learned +//# 5, state5: you are ready to do the targeting minigame +//# 6, state6: you did the minigame +//################################################################################# + +016-1.gat,33,45,0 script Gwendolyn 182, { + // schoolfee in gp + set @SCHOOLFEE, 25000; + // how many eggs do you need of each kind? + set @EGGS_AMOUNT, 10; + // experience for eggs + set @QUEST_EGG_EXP, 10000; + // The needed level for the minigame: + set @BASELEVEL_GAME, 50; + // experience gained for hitting the bullseye: + set @QUEST_HAWK_EXP, 10000; + + set @Q_hawkseye_MASK, NIBBLE_6_MASK; + set @Q_hawkseye_SHIFT, NIBBLE_6_SHIFT; + + set @Q_hawkseye, (QUEST_Forestbow_state & @Q_hawkseye_MASK) >> @Q_hawkseye_SHIFT; + + set @Q_forestbow_MASK, NIBBLE_0_MASK; + set @Q_forestbow_SHIFT, NIBBLE_0_SHIFT; + + set @FORESTBOW, ((QUEST_Forestbow_state) & @Q_forestbow_MASK) >> @Q_forestbow_SHIFT; + + if (@Q_hawkseye == 6) goto state6; + if (@Q_hawkseye == 5) goto state5; + if (@Q_hawkseye == 4) goto state4; + if (@Q_hawkseye == 3) goto state3; + if (@Q_hawkseye == 2) goto state2; + if (@Q_hawkseye == 1) goto state1; + +state0: + mes "[Gwendolyn Bowmaker]"; + mes "\"Hello, and welcome to my reopened School of Archery. My name is Gwendolyn Bowmaker; I'm the granddaughter of the famous Gwendolyn Bowmaker.\""; + next; + mes "\"As you surely know, she was the greatest archer this world had ever seen and opened this School of Archery together with her husband Simon Bowmaker. He was able to make the most well-balanced and the finest bows.\""; + next; + mes "\"I am now back from my training journey and want to continue with my family's tradition, to teach the Way of Archery.\""; + next; + mes "\"Are you interested in becoming a student of Archery?\""; + next; + menu + "I want to become an archer!", -, + "I'm not interested right now.", no_student; +fee: + mes "[Gwendolyn Bowmaker]"; + mes "\"Wonderful! The school's fee is " + @SCHOOLFEE + ".\""; + next; + menu + "That's a lot, but I think it will be worth it.", -, + "I'm not sure I want to spend that much.", no_student; + + if (zeny < @SCHOOLFEE) goto no_money; + + set zeny, zeny - @SCHOOLFEE; + set @Q_hawkseye, 2; + callsub S_Update_Var; + + mes "[Gwendolyn Bowmaker]"; + mes "\"The first thing you need is, obviously, a bow. You should not use any you come across, but a high quality one. I think it would be best to go to Alan in Hurnscald. He is my cousin, and knows how to make Forest Bows of exquisite quality. \""; + + if (countitem("ForestBow") < 1) close; + next; + menu + "I already have a Forest Bow.", -; + +state2: + mes "[Gwendolyn Bowmaker]"; + mes "\"Let me see your bow.\""; + next; + + if (countitem("ForestBow") < 1) goto no_bow; + + if (@FORESTBOW < 5) goto bow_bought; + + set @Q_hawkseye, 3; + callsub S_Update_Var; + mes "[Gwendolyn Bowmaker]"; + mes "\"Very well, this looks fine. It is time for your first lesson. \""; + next; + +lesson: + mes "[Gwendolyn Bowmaker]"; + mes "\"The advantage of fighting with a ranged weapon is that you can stay out of the enemy's range. So there is no need to spend training on your resistibility.\""; + next; + mes "\"But remember: this makes you much more vulnerable, so watch your step and don't stumble into your enemy's attack.\""; + next; + mes "\"Also your strength doesn't matter much. You might be able to shoot a little harder, but not so much as to make it important.\""; + next; + mes "\"The most important thing to improve is your dexterity. When you use a bow, it is your dexterity that determines if you are able to hit your enemy where it hurts most.\""; + next; + mes "\"Also worth mentioning is how to improve your ability to shoot fast. You need to be agile to grab a new arrow from your quiver and aim for the next shot before your enemy has recoverd from your last.\""; + next; + +state3: + mes "[Gwendolyn Bowmaker]"; + mes "\"To demonstrate that you understood what I'm trying to teach you, you should go and fight against some snakes. To prove me your results, bring me ten each of cave snake eggs, snake eggs, mountain snake eggs and grass snake eggs.\""; + next; + + menu + "Can you please repeat your lesson?", lesson, + "I will go and hunt some snakes.", quit, + "I have what you want.", -; + + if (countitem("CaveSnakeEgg") < @EGGS_AMOUNT ||countitem("SnakeEgg") < @EGGS_AMOUNT ||countitem("MountainSnakeEgg") < @EGGS_AMOUNT ||countitem("GrassSnakeEgg") < @EGGS_AMOUNT) goto not_enough_eggs; + + delitem "CaveSnakeEgg", @EGGS_AMOUNT; + delitem "SnakeEgg", @EGGS_AMOUNT; + delitem "MountainSnakeEgg", @EGGS_AMOUNT; + delitem "GrassSnakeEgg", @EGGS_AMOUNT; + + getexp @QUEST_EGG_EXP, 0; + + set @Q_hawkseye, 4; + callsub S_Update_Var; + + mes "[Gwendolyn Bowmaker]"; + mes "\"Very well. That will make a great meal.\""; + next; + +state4: + // TODO + // check if skills are enabled, if not, goto not_ready + if (baselevel < @BASELEVEL_GAME) goto not_ready; + mes "Gwendolyn takes an analyzing look at you. Then she noods."; + next; + + set @Q_hawkseye, 5; + callsub S_Update_Var; + mes "[Gwendolyn Bowmaker]"; + mes "\"Ok. You have made a great progress. I think you are ready for further tasks.\""; + next; + +game_explain: + mes "[Gwendolyn Bowmaker]"; + mes "\"As you might have noticed, it depends on many circumstances if your arrow finds its target. Your shot may be too powerful or too weak, so the arrow goes far beyond your target or hits the ground before it reaches its destination.\""; + next; + mes "\"The greater the distance to your target is, the more important is the strength and direction of the wind. Even if you are exploring a cave, there might be air flow caused by the corners in the cave.\""; + next; + mes "\"Ok, you can see that target over there? I will tell you how strong the wind blows and from which direction. Then you will try to hit the target by moving right or left and decide how powerful you want to shoot.\""; + next; + +state5: + // needed for the minigame: + set @wdX, 0; // wind direction x-coordinate, rand + set @wdY, 0; // wind direction y-coordinate, rand + // set @wp, 0; // windpower + set @spX, 0; // start position x-coordinate, player decision + // set @spY, 0; // start position y-coordinate, const + set @sp, 0; // shotpower, player decision + //set @targetX, 0; // target position, const + //set @targetY, 20; // target position, const + set @pointX, 0; // point the player hits, x-coordinate + set @pointY, 0; // point the player hits, y-coordinate + set @wdIndex, 0; + // + mes "[Gwendolyn Bowmaker]"; + mes "\"Show me what you can!\""; + next; + + menu + "Can you please explain the task again?", game_explain, + "I'm ready, let's start!", -, + "I'm sorry, I will come back later.", quit; + +game: + if (countitem("ForestBow") < 1) goto no_bow; + if (countitem("Arrow") < 1) goto no_arrows; + delitem "Arrow", 1; + mes "You go to the training field and stand exactly on the same level with the target. The target is located about 43 feet north of you.You take one arrow and look at Gwendolyn."; + next; + + // possibility for wdX and wdY to become zero is reduced, so windless status is less often + set @wdX, rand(9) - 4; + if (@wdX != 2 && @wdX !=-2) set @wdX, rand(9) - 4; + if (@wdX == 0) set @wdX, rand(9) - 4; + + set @wdY, rand(9) - 4; + if (@wdY != 2 && @wdY !=-2) set @wdY, rand(9) - 4; + if (@wdY == 0) set @wdY, rand(9) - 4; + + // wind direction array, where the wind blows to: + // 123 + // 456 + // 789 + //here is where the wind comes from, that's why it is the opposite. + setarray @wd$,"error1, please report", "southeast", "south", "southwest", "east", "error2, please report", "west", "northeast", "north", "northwest" ; + set @paramX, @wdX; + set @paramY, @wdY; + callsub S_getDirection; + set @wdIndex, @returnIndex; + + set @wp_sq, (@wdX * @wdX) + (@wdY * @wdY); + +//TODO: remove +//mes "wdX:"+@wdX+" wdY:"+@wdY+" wp_sq:"+@wp_sq+" wdIndex:"+@wdIndex; + + if (@wp_sq == 0) goto wp0; + if (@wp_sq < 3) goto wp1; + if (@wp_sq < 9) goto wp2; + if (@wp_sq < 19) goto wp3; + goto wp4; + + +wp0: + mes "[Gwendolyn Bowmaker]"; + mes "\"You're lucky. It is windless now.\""; + next; + goto choose_start_pos; +wp1: + mes "[Gwendolyn Bowmaker]"; + mes "\"There is a slight breeze coming from "+ @wd$[@wdIndex] + ".\""; + next; + goto choose_start_pos; +wp2: + mes "[Gwendolyn Bowmaker]"; + mes "\"The wind is blowing from "+ @wd$[@wdIndex] + ".\""; + next; + goto choose_start_pos; +wp3: + mes "[Gwendolyn Bowmaker]"; + mes "\"Right now, there is a strong wind blowing from " + @wd$[@wdIndex] + ".\""; + next; + goto choose_start_pos; +wp4: + mes "[Gwendolyn Bowmaker]"; + mes "\"Here we have a squall from "+ @wd$[@wdIndex] + ".\""; + next; + goto choose_start_pos; + +choose_start_pos: + mes "Do you want to go to the left, the right or stay where you are?"; + next; + + menu + "I want to move left.", step_left, + "I go right.", step_right, + "I stay.", step_no, + "I will try it later.", quit; + +step_no: + set @spX, -1; + mes "You stay where you are.."; + next; + goto choose_shotpower; + +step_left: + mes "How many steps?"; + next; + menu + "1", step_left1, + "2", step_left2, + "3", step_left3, + "4", step_left4; +step_left1: + set @spX, -1; + mes "You take one step to the left."; + next; + goto choose_shotpower; +step_left2: + set @spX, -2; + mes "You take two steps to the left."; + next; + goto choose_shotpower; +step_left3: + set @spX, -3; + mes "You take three steps to the left."; + next; + goto choose_shotpower; +step_left4: + set @spX, -4; + mes "You take four steps to the left."; + next; + goto choose_shotpower; + +step_right: + mes "How many steps?"; + next; + menu + "1", step_right1, + "2", step_right2, + "3", step_right3, + "4", step_right4; +step_right1: + set @spX, 1; + mes "You take one step to the right."; + next; + goto choose_shotpower; +step_right2: + set @spX, 2; + mes "You take two steps to the right."; + next; + goto choose_shotpower; +step_right3: + set @spX, 3; + mes "You take three steps to the right."; + next; + goto choose_shotpower; +step_right4: + set @spX, 4; + mes "You take four steps to the right."; + next; + goto choose_shotpower; + +choose_shotpower: + mes "How powerfully do you want to shoot?"; + next; + + menu + "very weak shot", -, + "rather weak shot", -, + "weak shot", -, + "somewhat weak shot", -, + "medium shot", -, + "somewhat powerful shot", -, + "powerful shot", -, + "rather powerful shot", -, + "very powerful shot", -; + + // we have 9 menu entries, so scale @menu, which is in range 1-9, to a scale in -4 to +4 + set @sp, @menu - 5; + // calculate where you hit. You range is in [-8, 8] in X and Y as well + set @pointX, @wdX + @spX; + set @pointY, @wdY + @sp; + +//TODO: remove +//mes "pointX:"+@pointX+" pointY:"+@pointY+" spX:"+@spX+" sp:"+@sp; + + if( @pointX==0 && @pointY==0 ) goto target_hit; + + //set @targethit to these numbers: + //1,2,3 for left above, above, right above, + //4,5,6 for left, hit, right + //7,8,9 for lower left, below, lower right; + setarray @target_direction$, "error3, please report", "left above", "above", "right above","left","error4, please report","right","lower left","below","lower right"; + + set @paramX , @pointX; + set @paramY , @pointY; + callsub S_getDirection; + set @targethit, @returnIndex; + + //now check how close + //get the distance squared: + // so it is in range 0 - 64: + // 0 is hit + // < 5 is very close + // <17 is close + // rest is a quite fucking shot + set @target_dist_sq, (@pointX * @pointX) + (@pointY*@pointY); + + if (@target_dist_sq < 5) goto target_veryclose; + if (@target_dist_sq < 17) goto target_close; + + //here are bad shots: + mes "[Gwendolyn Bowmaker]"; + mes "\"D'oh, what a terrible shot!\""; + next; + mes "\"Do you even know what a bow is?\""; + next; + mes "\"That was far "+@target_direction$[@targethit]+".\""; + next; + goto game; + +target_close: + mes "[Gwendolyn Bowmaker]"; + mes "\"That was "+@target_direction$[@targethit]+".\""; + next; + mes "\"I suggest some training.\""; + next; + goto game; + +target_veryclose: + mes "[Gwendolyn Bowmaker]"; + mes "\"That was quite close. Impressive!\""; + next; + mes "\"It was a little "+@target_direction$[@targethit]+".\""; + next; + mes "\"But you did not hit... have another try.\""; + next; + //like a coin toss: 2 possibilites, the same chance for both: + //if(0 == rand(2)) goto game; + mes "\"Hurry up, before the wind changes.\""; + next; + goto choose_start_pos; + +target_hit: + mes "[Gwendolyn Bowmaker]"; + mes "\"Wonderful! That was great! Directly hit the bull's eye!\""; + next; + mes "\"Seems like you did it!\""; + next; + mes "\"Let me inspect it...\" She walks to the target."; + next; + if( rand(500) > (2*readparam(bDex) + readparam(bAgi))) goto target_nohit; + set @Q_hawkseye, 6; + callsub S_Update_Var; + + setskill AC_OWL, 1; + getexp @QUEST_HAWK_EXP, 0; + + mes "\"You proved that you are worthy to call yourself a graduate of the School of Archery.\""; + next; + mes "\"But remember, there is always something new to learn. And you should not let your training down in order to keep and improve your abilities.\""; + close; + +target_nohit: + mes "\"Ohh! Half a fingerbreadth aside.\""; + next; + mes "\"That is quite impressive, but you can perform better with more training.\""; + next; + goto game; + +state6: + mes "[Gwendolyn Bowmaker]"; + mes "\"You really have a reason to be proud.\""; + //close; + //TODO: uncomment close! + mes "here is an uncommented close; for testing purpose, you can try once more :-D"; + +state1: + mes "[Gwendoly Bowmaker]"; + mes "\"Welcome back. Did you decide to follow the Way of Archery?\""; + next; + menu + "I want to become an archer!", fee, + "I am not interested", -; + +no_student: + mes "\"That's a pity. Well, if you change your mind, come back any time.\""; + set @Q_hawkseye, 1; + callsub S_Update_Var; + close; + +no_money: + mes "\"I am sorry, but it seems, that you don't have enough money. Come back, when you have reorganized your finances.\""; + set @Q_hawkseye, 1; + callsub S_Update_Var; + close; + +no_bow: + mes "\"As an archer, you should carry your bow always with you. Go and get it.\""; + close; + +bow_bought: + mes "\"You just bought it? You won't learn anything from that. To understand the nature of this bow, you have to collect the needed material by yourself. Only this way you will get a feeling of what it means to use such a weapon. \""; + next; + mes "\"The best thing would be to let you make the bow by yourself. But I guess, that would go to far. And it would take ages to get a high quality bow.\""; + next; + mes "\"Ok, go to Alan and come back with a bow made out of the logs you collected.\""; + close; + +not_enough_eggs: + mes "\"Maybe I should also give you a lesson in how to count? You haven't enough.\""; + close; + +not_ready: + mes "\"I am pleased about your progrees, but you are not ready for the next step yet. Go and do some more training, before you come back. Remember also: It is wise to speak with people you meet on your journey, there is always something new to learn.\""; + close; + +no_arrows: + mes "Gwendolyn sighs and shake her head."; + next; + mes "\"Another lecture: Take always enough arrows with you. Go and come back, when you are equipped adequately.\""; + close; + +quit: + close; + +S_Update_Var: + set QUEST_Forestbow_state, + (QUEST_Forestbow_state & ~(@Q_hawkseye_MASK) + | (@Q_hawkseye << @Q_hawkseye_SHIFT)); + return; + +S_getDirection: + // get @paramX @paramY as parameters + // returns an index where these parameters are in relation to origin + // 123 + // 456 whereas 5 is the origin. (3,6,9 there is paramX>0); (1,2,3 there is paramY>0) + // 789 + //first check the quadrants and after check more precisely + if(@paramX>0 && @paramY>0) set @returnIndex, 3; + if(@paramX>0 && @paramY<0) set @returnIndex, 9; + if(@paramX<0 && @paramY>0) set @returnIndex, 1; + if(@paramX<0 && @paramY<0) set @returnIndex, 7; + + //straight left + if ( (@paramX < 0) && (@paramY >= @paramX/2) && (-@paramY >= @paramX/2) ) set @returnIndex, 4; + + //straight right + if ( (@paramX > 0) && (@paramY <= @paramX/2) && (-@paramY <= @paramX/2) ) set @returnIndex, 6; + + //straight above + if ( (@paramY > 0) && (@paramX <= @paramY/2) && (-@paramX <= @paramY/2) ) set @returnIndex, 2; + + //straight below + if ( (@paramY < 0) && (@paramX >= @paramY/2) && (-@paramX >= @paramY/2) ) set @returnIndex, 8; + + //check the origin, because the origin is found by the "straight" lines as well. (should not, but is.. maybe a bug?) + if( @paramX==0 && @paramY==0 ) set @returnIndex, 5; + return; + +//TODO: remove: +testoutput: + set @paramX ,-4; +loopouter: + set @paramY ,-4; +loopinner: +callsub S_getDirection; +mes " "+@paramX+" / "+@paramY+" = "+@returnIndex; +set @paramY, @paramY+1; +if(@paramY<5)goto loopinner; +next; +set @paramX, @paramX+1; +if(@paramX<5)goto loopouter; +return; +} + +//////////////////////////////////// +// rand(X) returns a random number uniformly distributed between in range [0; X-1] +// +// A=rand(2) => (0,1) 50% for 0 50% for 1 +// B=rand(2) => (0,1) 50% for 0 50% for 1 +// C=rand(2) => (0,1) 50% for 0 50% for 1 +// D=rand(2) => (0,1) 50% for 0 50% for 1 +// +// A+B => 0+0, 1+0, 0+1, 1+1 => [0,1,2] 25% for 0 50 % for 1 25 % for 2 +// +// rand(3) => [0,1,2] 33% for 0 33% for 1 33% for 2 + + -- cgit v1.2.3-70-g09d2 From 0543913f56d02049d475e93b12827aa5de4a92ec Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Wed, 27 Oct 2010 22:08:34 +0200 Subject: anti-poisonskill by the the nurse in hurnscald The nurse will teach you an anti-poison spell in hurnscald. She will also heal players below lvl 25 now (raised from previously 10) This has no effect (there are always enough people in town, who can heal you anyway) --- npc/009-2_Hurnscald/nurse.txt | 507 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 468 insertions(+), 39 deletions(-) (limited to 'npc') diff --git a/npc/009-2_Hurnscald/nurse.txt b/npc/009-2_Hurnscald/nurse.txt index 9fd759c8..8d6f1ee9 100644 --- a/npc/009-2_Hurnscald/nurse.txt +++ b/npc/009-2_Hurnscald/nurse.txt @@ -1,48 +1,477 @@ -// Nurse - -// heals player below level 10 for free and tells players about the doctor on the 3rd floor. -009-2.gat,147,65,0 script Nurse 119,{ - mes "[Nurse]"; - mes "\"Can I help you?\""; - next; - - if (Inspector == 1) - menu - "Oooh, these wounds! They hurts so much!", L_Heal, - "I don't feel so well, I might be sick.", L_Doctor, - "Have you seen anything out of the ordinary?", L_NohMask, - "No, I'm fine.", -; - if (Inspector != 1) - menu - "Oooh, these wounds! They hurts so much!", L_Heal, - "I don't feel so well, I might be sick.", L_Doctor, - "No, I'm fine.", -; - mes "[Nurse]"; - mes "\"Then I would ask you to leave. There are people who really need our help.\""; - close; + //###################################################################################### +//# Nurse +//# AUTHORS: Jenalya and Pjotr Orial +//# REVIEWED BY: +//# heals player below level 20 for free and tells players about the doctor on the 3rd floor. +//# +//# gives the resist-poison skill, used global (!) variable: "$NPC_NURSE", split up in 4 bytes: +//# byte0 (bit 0-7) = healing_needed, byte1 (bit 8-15) = venum_needed, byte2 (bit 16-23) = stabilizer_needed +//# byte3 (bit 24-31) still unused +//# used player-variable: QUEST_Forestbow, nibble7 +//# states: +//# 0 if skills are available, she tells you about her plans of doing the antidote, +//# need black scorpion stingers and grass snake tongues +//# 1 waits for ingredients: black scorpion stingers and grass snake tongues +//# 2 waits for ingredients: acorns, apples, orange, healing potion, when these ingreds are there, +//# she mixes the stuff (modify global variable!) +//# 3 you can start the minigame, 3 tries remaining +//# 4 you can start the minigame, 2 tries remaining +//# 5 you can start the minigame, 1 try remaining +//# 6 not enough stuff remaining, jump to state 1 +//# 7 yay! you made it! + + +//###################################################################################### +009-2.gat,147,65,0 script Nurse 119, { + set @GSNAKET_AMOUNT, 5; + set @BSCORPIONST_AMOUNT, 10; + set @QUEST1_EXP, 5000; + set @ACORNS_AMOUNT, 10; + set @GREENAPPLE_AMOUNT, 5; + set @REDAPPLE_AMOUNT, 5; + set @ORANGE_AMOUNT, 5; + set @HEALING_AMOUNT, 3; + set @QUEST2_EXP, 10000; + set @ANTIDOTE_EXP, 10000; + + set @Q_poison_MASK, NIBBLE_7_MASK; + set @Q_poison_SHIFT, NIBBLE_7_SHIFT; + set @Q_poison, (QUEST_Forestbow_state & @Q_poison_MASK) >> @Q_poison_SHIFT; + + if (@Q_poison == 7) goto state7; + if (@Q_poison == 6) goto state6; + if (@Q_poison == 5) goto state5; + if (@Q_poison == 4) goto state4; + if (@Q_poison == 3) goto state3; + if (@Q_poison == 2) goto state2; + if (@Q_poison == 1) goto state1; + if (getskilllv(SKILL_POOL)) goto state0; + +L_Usual: + mes "[Nurse]"; + mes "\"How can I help you?\""; + next; + + if (Inspector == 1) + menu + "Oooh, these wounds! They hurts so much!", L_Heal, + "I don't feel so well, I might be sick.", L_Doctor, + "Have you seen anything out of the ordinary?", L_NohMask, + "No, I'm fine.", -; + if (Inspector != 1) + menu + "Oooh, these wounds! They hurts so much!", L_Heal, + "I don't feel so well, I might be sick.", L_Doctor, + "No, I'm fine.", -; + mes "[Nurse]"; + mes "\"Then I would ask you to leave. There are people who really need our help.\""; + close; L_Doctor: - mes "[Nurse]"; - mes "\"Then you should better see the doctor. He is usually in his office on the 3rd floor.\""; - close; + mes "[Nurse]"; + mes "\"Then you should better see the doctor. He is usually in his office on the 3rd floor.\""; + close; L_Heal: - if (baselevel > 10) goto L_NoHeal; - mes "[Nurse]"; - mes "\"Here, let me heal you.\""; - next; - heal 10000, 10000; - close; + if (baselevel > 20) goto L_NoHeal; + mes "[Nurse]"; + mes "\"Here, let me heal you.\""; + next; + heal 10000, 10000; + close; L_NoHeal: - mes "[Nurse]"; - mes "\"I'm sorry but I'm here only to help young people."; - mes "Your level is already higher than 10."; - mes "You can get some rest in the inn near here.\""; - close; + mes "[Nurse]"; + mes "\"I'm sorry but I'm here only to help young people."; + mes "Your level is already higher than 20."; + mes "You can get some rest in the inn near here.\""; + close; L_NohMask: - mes "[Nurse]"; - mes "\"I'm to busy here to observe the town.\""; - close; + mes "[Nurse]"; + mes "\"I'm to busy here to observe the town.\""; + close; + +state0: + mes "[Nurse]"; + mes "\"Welcome! You really look like a competent person. Maybe you can help to deal with a problem we have.\""; + next; + mes "\"We recently had some accidents in the mines. It seems, that the creatures in the mines become more aggressive.\""; + next; + mes "\"Unfortunaly, some of them are poisonous and it is very difficult for us to help the miners.\""; + next; + mes "\"For this reason, I want to do some research on this subject, to create an anitdote. But I need help to get some ingredients, someone who is able to deal with the dangerous creatures in the mines.\""; + next; + menu + "I will do what I can. What do you need?", L_, + "I'm really sorry, but I don't think, I can help you.", -; + + mes "\"That is disagreeable to hear. Maybe i can find another person to take this task.\""; + next; + goto L_Usual; + + set @Q_poison, 1; + callsub S_Update_Var; + + mes "\"That's great! First, I need some parts of the creatures, that cause the poison.\""; + next; +L_ExplainAgain1: + mes "\"Please bring me five tongues of grass snakes and ten stingers of black scorpions.\""; + close; + +state1: + mes "[Nurse]"; + mes "\"You are back, wonderful! Did you get, what we need for the antidote?\""; + next; + menu + "Actually, I have another question.", L_Usual, + "Sorry, I forgot. What shall I bring you?", L_ExplainAgain1, + "I have what you asked for.", -, + "I'm still working on that.", quit; + + if (countitem("GrassSnakeTongue") < @GSNAKET_AMOUNT || countitem("BlackScorpionStinger") < @BSCORPIONST_AMOUNT) goto L_NotEnough; + delitem "GrassSnakeTongue", @GSNAKET_AMOUNT; + delitem "BlackScorpionStinger", @BSCORPIONST_AMOUNT; + getexp @QUEST1_EXP, 0; + + set @Q_poison, 2; + callsub S_Update_Var; + + mes "[Nurse]"; + mes "\"Very good. Now I have to extract the poison from this, it will take some time.\""; + next; + mes "\"But there are some other things we will need in any case. It would be courteous, if you could get them meanwhile.\""; + next; +L_ExplainAgain2: + mes "\"Please bring me ten acorns, five red apples and five green apples, also five oranges. And we need some small healing potions. They will be useful to hold off the baneful effects. I guess, three of them will be enough.\""; + close; + +state2: + mes "You look at the nurse, who seems to be really tired with shadows under her eyes. When she regocnize you, she smiles."; + mes "[Nurse]"; + mes "\"I managed to extract the poisonous components. We should be able to create an anitidote, if you have anything else we need.\""; + next; + menu + "Actually, I have another question.", L_Usual, + "I have a bad memory. Can you tell me again, what we need?", L_ExplainAgain2, + "I managed to get everything we need.", -, + "I will go and get it.", quit; + + if (countitem("Acorn") < @ACORNS_AMOUNT || countitem("GreenApple") < @GREENAPPLE_AMOUNT || countitem("RedApple") < @REDAPPLE_AMOUNT || countitem("Orange") < @ORANGE_AMOUNT || countitem("SmallHealingPotion") < @HEALING_AMOUNT) goto L_NotEnough; + delitem "Acorn", @ACORNS_AMOUNT; + delitem "GreenApple", @GREENAPPLE_AMOUNT; + delitem "RedApple", @REDAPPLE_AMOUNT; + delitem "Orange", @ORANGE_AMOUNT; + delitem "SmallHealingPotion", @HEALING_AMOUNT; + getexp @QUEST2_EXP, 0; + + set @Q_poison, 3; + callsub S_Update_Var; + +L_Chemistry: + callsub L_Shuffle_Need; + mes "The nurse takes the ingredients you brought and starts to squeeze the fruits and to crush the acorns. Then she put the fruit juices in some complicated looking chemical device."; + next; + mes "After some minutes, it is blubbering and steaming and some liquidity is dropping in a pot under the device."; + next; + mes "Then she takes the acorn flour and the liquidity and goes to a place back in the room, where she does something you don't see."; + next; + mes "After just a few moments, she comes back with a smiling face, holding two different bottles in her hand."; + next; + mes "[Nurse]"; + mes "\"That was easy compared to the things to be done with the stingers and snake tongues.\""; + next; + mes "Then her facial expression gets more serious."; + next; + mes "\"When we try to find the right mixture for the antidote, we need to test it.\""; + next; + mes "\"For that purpose, I will poison you. Then you drink the antidote to see, if it works.\""; + next; + mes "\"If we make a mistake, this might be exhausting and painful, so you should rest a while and prepare yourself.\""; + next; + mes "\"Come back, when you feel ready for that task.\""; + close; + +state3: + mes "[Nurse]"; + mes "\"Hello my friend. You feel prepared to test the antidote?\""; + next; + menu + "Actually, I have another question.", L_Usual, + "Yes, let us begin.",-; + +L_Exp_Game: + mes "[Nurse]"; + mes "\"Listen carefully! I will explain, what you need to do.\""; + next; + mes "\"I have here two different distillate. One is the venom extract, the other one a stabilizer.\""; + next; + mes "\"We also have the healing potion.\""; + next; + mes "\"The problem is, that i can only guess the concentration of the venom and the stabilizer. My equipment isn't good enough to determine it precise.\""; + next; + mes "\"You need to find the right amount of each ingredient. I will tell you, what I can know with my analysis methods.\""; + next; + mes "\"Shall we start? \""; + next; + menu + "Please explain it again.", L_Exp_Game, + "Allright", -; + +L_Game: + set @Q_poison, @Q_poison + 1; + callsub S_Update_Var; + // healing, venom, stabilizer + callsub L_Load_Need; + //descriptions + set @desc_length, 6; + setarray @desc$,"very little","only a little", "little","much", "a lot", "very much", "a huge amount"; + + set @divisor, @count / @desc_length; + set @hlIndex, (@hl_need-@offset) /@divisor; + set @vnIndex, (@hl_need-@offset) /@divisor; + set @stIndex, (@hl_need-@offset) /@divisor; + + mes "\"I guess you need " + @desc$[@hlIndex] + " of the healing potion.\""; + mes "\"I guess you need " + @desc$[@vnIndex] + " of the venom extracts.\""; + mes "\"I guess you need " + @desc$[@stIndex] + " of the stabilizer.\""; + + if(hlNeed/vnNeed > 1 ) mes "\"I see that the healing potions are needed at least " + hlNeed/vnNeed + "times as much as the venom potion. \""; + if(vnNeed/hlNeed > 1 ) mes "\"I see that the venom extracts are needed at least " + vnNeed/hlNeed + "times as much as the healing potion.\""; + + + //the same for vn<->st + + //the same for vn<->hl + + set @max, @count+@offset-1; + set @min, @offset; + mes "\"My scale goes up to" + @max + ". I suggest to put at least " + @min +" drops on the scale.\""; + mes "\"How many drops of the healing potion should we use?\""; + input @hlPut; + mes "\"How many drops of the venom extract potion should we use? \""; + input @vnPut; + mes "\"How many drops of the stabilizer potion should we use? \""; + input @stPut; + + mes "The nurse puts the potions together according to your instructions. Then she takes a spoon and stirs it."; + next; + mes "You take the glass and look suspiciously at the liquid, which has changed to an odd colour."; + next; + mes "[Nurse]"; + mes "\"Allright, now i will inject the venom into you, then you should drink the antidote immidiatly. Are you ready?\""; + next; + mes "You take a deep breath and nod."; + next; + mes "The nurse take a scary looking syringe out of a drawer and swabs your arm with disinfection dabber."; + next; + mes "Then she stings the syringe in your vein and pushs it down. After a few seconds, your heart starts pounding quicker and you began to sweat all over your body"; + next; + mes "[Nurse]"; + mes "\"Drink the antidote!\""; + next; + mes "You lift the glass to you lips and drink it all at once"; + + if ( (@hlPut > @hlNeed) && (@vnPut > @vnNeed) ) goto m_hl_m_vn; + if ( (@hlPut > @hlNeed) && (@vnPut <= @vnNeed) ) goto m_hl_l_vn; + if ( (@hlPut <= @hlNeed) && (@vnPut > @vnNeed) ) goto l_hl_m_vn; + if ( (@hlPut < @hlNeed) && (@vnPut < @vnNeed) ) goto l_hl_l_vn; + set @hl_vn_ok, 1; + goto check_st; + + +m_hl_m_vn: + //poison for 3 minutes + sc_start SC_Poison,180000,0; + mes "You began to feel really dizzy. And you feel so light - you can't help yourself and burst out with laughter. What a strange feeling!"; + next; + mes "The nurse looks at you with a really worried look in her face. As you open your mouth to tell her, that you feel allright, the content of your stomache finds its way out through your throat and on the floor."; + next; + "The feeling of happieness disappears, but you seems to be still poisoned."; + goto check_st; + +m_hl_l_vn: + //poison for 1 minute + sc_start SC_Poison,60000,0; + mes "You feel the pain of the poison weaken. This seems promising. The thought, you might have been succesful makes you feel enormously happy."; + next; + mes "But a few seconds later, you wonder, what the reason for your happiness was."; + next; + mes "Anyway, what are you doing here? Actually, where are you?"; + next; + mes "You don't care, you feel so great. You start to giggle and laugh uncontrollable. What a wonderful feeling. "; + next; + mes "Suddenly, the world has some really strange colors. As you watch this women in front of you chaning her color from dark green to a light purple, you become really tired."; + next; + mes "You lay down on the floor and fall asleep."; + next; + mes "As you open your eyes again, the nurse shines in your face with a lamp and pulls your eyelids open. Then she nodds."; + next; + mes "/"Very well, you are sober again./""; + next; + + goto check_st; + +l_hl_m_vn: + // first poison for 10 minutes, player will die anyway + sc_start SC_Poison,600000,0; + mes "You feel a sting in your stomach and your heart starts pounding loudly."; + next; + mes "The room is getting dark." + next; + mes "...and darker..." + next; + mes "......." + // bye bye player! + heal -Hp, 0; + // close instead of telling how much stabilizer is needed + close; + // goto check_st; + +l_hl_l_vn: + //poison for 1 minute + sc_start SC_Poison, 60000,0; + mes "The antidote seems to have no effect." + goto check_st; + +check_st: + if ( (@stPut < @stNeed) ) goto l_st; + if ( (@stPut > @stNeed) ) goto m_st; + if (@hl_vn_ok == 1) goto allcorrect; + + mes "[Nurse]"; + mes "\"The amount of the stabilizer seems alright, but we have to think again about the other ingredients.\""; + next; + goto notallcorrect; + +l_st: + mes "[Nurse]"; + mes "\"It seems, as if we took not enough of the stabilizer, the antidote would loose its effect after some time.\""; + next; + goto notallcorrect; +m_st: + mes "[Nurse]"; + mes "\"It seems, as if we took too much of the stabilizer. The antidote would turn into venom again after some time.\""; + next; + goto notallcorrect; + +allcorrect: + mes "[Nurse]"; + mes "\"Wonderfull! You made it! Now i will be able to help all the people, who get poisoned in the mines!\"" + next; + mes "[Nurse]"; + mes "\"Thank you so much! Oh, and it seems, as if you have gained the skill to resist posion someway. This is great.\""; + next; + mes "[Nurse]"; + mes "\"You should talk to someone, who can help you to focus on your skills.\""; + next; + getexp @ANTIDOTE, 0; + setskill TMW_POISON_RESISTANCE, 1; + +notallcorrect: + mes "[Nurse]"; + mes "\"It didn't work. You are a really brave person. Now you should rest and recover. I hope, you won't give up now. Please come back later, so we can try it again.\""; + next; + + close; +state4: + mes "The nurse has a worried look in her face."; + mes "[Nurse]"; + mes "\"Hello. I hope you recovered well?\""; + next; + mes "\"There is enough of the distillates left to have another try.\""; + next; + mes "\"Oh no, with all that trouble, I forgot to label your distillate.\""; + next; + mes "She holds up two ampullas."; + next; + mes "\"I hope, this one are yours. I'm sorry.\""; + next; + mes "\"If you feel ok, we could try it again.\""; + next; + + menu + "I still feel a bit dizzy, so I don't want to do it now.", L_Usual, + "I'm ok. We can try, but please explain again.", L_Exp_Game, + "Let's start right now.", L_Game; + + state5: + mes "The nurse looks at you pitiful."; + mes "[Nurse]"; + mes "\"Hello. I'm really sorry for causing you so much pain.\""; + next; + mes "\"But if we can suceed, you are a hero! I will be able to help a lot of people.\""; + next; + mes "\"Next time you might remember me to label the distillates right. I am sorry that it screwed up again.\""; + next; + mes "\"There is enough stuff left for one last try.\""; + next; + mes "\"If we don't get it this time, you will have to get new ingredients.\""; + next; + mes "\"Do you want to have another try?\""; + next; + + menu + "I still feel a bit dizzy, so I don't want to do it now.", L_Usual, + "I'm ok. We can try, but please explain again.", L_Exp_Game, + "Let's start right now.", L_Game; + +state6: + mes "The nurse looks at you pitiful."; + mes "[Nurse]"; + mes "\"There is not enough stuff left for another try.\""; + next; + mes "\"We should try again, right?\""; + set @Q_poison, 1; + callsub S_Update_Var; + + goto L_ExplainAgain1; + + +state7: // geschafft + mes "[Nurse]"; + mes "\"Thanks a lot, you can call yourself a true hero now!\""; + next; + mes "\"I am able to help the poisoned miners quite well now.\""; + next; + goto L_Usual; + +L_NotEnough: + mes "[Nurse]"; + mes "\"This must be a missunderstanding. You don't have all the things I asked you for.\""; + if (@Q_poison == 1) goto L_ExplainAgain1; + if (@Q_poison == 2) goto L_ExplainAgain2; + // the following close *should* never be reached, but who knows, whoever will mess this script up! + close; + +quit: + close; + +S_Update_Var: + set QUEST_Forestbow_state, + (QUEST_Forestbow_state & ~(@Q_poison_MASK) + | (@Q_poison << @Q_poison_SHIFT)); + return; + +L_Shuffle_Need: + set @count, 24; + set @offset, 1; + set @hlNeed, @offset + rand(@count); + set @vnNeed, @offset + rand(@count); + set @stNeed, @offset + rand(@count); + + set $NPC_NURSE, + ($NPC_NURSE & ~(BYTE_0_MASK | BYTE_1_MASK | BYTE_2_MASK) + | (@hlNeed << BYTE_0_SHIFT) + | (@vnNeed << BYTE_1_SHIFT) + | (@stNeed << BYTE_2_SHIFT)); + return; + +L_Load_Need: + set @hlNeed, ($NPC_NURSE & BYTE_0_MASK) >> BYTE_0_SHIFT; + set @vnNeed, ($NPC_NURSE & BYTE_1_MASK) >> BYTE_1_SHIFT; + set @stNeed, ($NPC_NURSE & BYTE_2_MASK) >> BYTE_2_SHIFT; + return; } + + -- cgit v1.2.3-70-g09d2 From 3b2578da3d7be6724312de452ba9ae51911fb07c Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Sun, 14 Nov 2010 19:09:45 +0100 Subject: gwendolin and nurse fully done, luca uncommented and corrected. now 2 skills are completely working. luca needs another rework to focus on skills. --- npc/001-1_Tulimshar/luca.txt | 291 ++++++++++++++++++++------------------- npc/009-2_Hurnscald/nurse.txt | 150 +++++++++++++------- npc/016-1_Woodland/gwendolyn.txt | 28 +--- 3 files changed, 246 insertions(+), 223 deletions(-) (limited to 'npc') diff --git a/npc/001-1_Tulimshar/luca.txt b/npc/001-1_Tulimshar/luca.txt index bc048e65..0a12545f 100644 --- a/npc/001-1_Tulimshar/luca.txt +++ b/npc/001-1_Tulimshar/luca.txt @@ -2,11 +2,11 @@ 001-1.gat,108,55,0 script Luca 102,{ -// if (BaseLevel >= 45) -// goto L_teach_soon; + if (BaseLevel >= 35) + goto L_teach; -// if (BaseLevel >= 50) -// goto L_teach; + if (BaseLevel >= 25) + goto L_teach_soon; mes "[Luca the Hunter]"; mes "\"Ouch! It hurts, this wound I got from battle.\""; @@ -15,10 +15,10 @@ L_Exp: mes "[Luca the Hunter]"; - mes "\"I was just coming back from a long journey. I ran into a group of scorpions and started fighting them for experience.\""; - next; + mes "\"I was just coming back from a long journey. I ran into a group of scorpions and started fighting them for experience.\""; + next; mes "[Luca the Hunter]"; - mes "\"Then, out of a cave came a BLACK one! I had NEVER seen it before!\""; + mes "\"Then, out of a cave came a BLACK one! I had NEVER seen it before!\""; next; mes "[Luca the Hunter]"; mes "\"Luckily i had a camera with me! Here's a picture of it... Let me find it, I put it in my pocket somewhere...\""; @@ -35,32 +35,32 @@ L_Nev: L_teach_soon: mes "[Luca the Hunter]"; - mes "\"You've grown quite a bit stronger since I first saw you, strolling around town like that! You know, if you train a little more, maybe we can help each other out a little?\""; - close; + mes "\"You've grown quite a bit stronger since I first saw you, strolling around town like that! You know, if you train a little more, maybe we can help each other out a little?\""; + close; L_teach: if (getskilllv(SKILL_POOL)) goto L_teachmore; mes "[Luca the Hunter]"; - mes "\"Hey there! You've become quite the adventurer, haven't you? I think it's time that someone taught you some basic skills.\""; - next; + mes "\"Hey there! You've become quite the adventurer, haven't you? I think it's time that someone taught you some basic skills.\""; + next; mes "[Luca the Hunter]"; mes "\"If you want, I can help with that!\""; - next; - menu + next; + menu "Sure, that sounds fun!", -, "I'm not interested.", L_Nev; mes "[Luca the Hunter]"; - mes "\"All right! It's not all that easy, though. First you have to learn how to focus. That's because you can learn many skills, but you can't focus on all of them all the time.\""; - next; + mes "\"All right! It's not all that easy, though. First you have to learn how to focus. That's because you can learn many skills, but you can't focus on all of them all the time.\""; + next; mes "[Luca the Hunter]"; - mes "\"When you can do that, you can learn some real skills, and when you know them, you can come back to me to tell me which ones you want to focus on. Deal?\""; - next; + mes "\"When you can do that, you can learn some real skills, and when you know them, you can come back to me to tell me which ones you want to focus on. Deal?\""; + next; - menu + menu "Yeah!", L_teach0_follow, "Certainly!", L_teach0_follow, "Wait... what do you mean?", -, @@ -71,182 +71,183 @@ L_teach: L_teach0_follow: mes "[Luca the Hunter]"; - mes "\"Great! Now, before I can give you that skill, I have to make sure that those stories about you are all true and that you really are experienced enough.\""; - next; + mes "\"Great! Now, before I can give you that skill, I have to make sure that those stories about you are all true and that you really are experienced enough.\""; + next; mes "[Luca the Hunter]"; - mes "\"So I'm going to ask you some easy questions.\""; - next; + mes "\"So I'm going to ask you some easy questions.\""; + next; mes "[Luca the Hunter]"; - mes "\"First, who is the man who guards the entrance to the old Tulimshar underground arena?\""; - next; - input @anser$; - if (@answer$ != "Phaet" && @answer$ != "phaet") - goto L_wronganser; + mes "\"First, who is the man who guards the entrance to the old Tulimshar underground arena?\""; + next; + input @answer$; + if (@answer$ != "Phaet" && @answer$ != "phaet") + goto L_wronganswer; mes "[Luca the Hunter]"; - mes "\"Good. Next, what's the name of the pipe-smoker who lives on top of Lore Mountain and makes leathery goods there?\""; - next; - input @anser$; - if (@answer$ != "Pachua" && @answer$ != "pachua") - goto L_wronganser; + mes "\"Good. Next, what's the name of the pipe-smoker who lives on top of Lore Mountain and makes leathery goods there?\""; + next; + input @answer$; + if (@answer$ != "Pachua" && @answer$ != "pachua") + goto L_wronganswer; mes "[Luca the Hunter]"; - mes "\"Great! One more: Who was the adventurer who built Dimond's Cove for Dimond?\""; - next; - input @anser$; - if (@answer$ != "Merlin" && @answer$ != "merlin") - goto L_wronganser; + mes "\"Great! One more: Who was the adventurer who built Dimond's Cove for Dimond?\""; + next; + input @answer$; + if (@answer$ != "Merlin" && @answer$ != "merlin") + goto L_wronganswer; mes "[Luca the Hunter]"; - mes "Luca laughs in excitement."; - mes "\"All right! You're the real thing, my friend!\""; - next; + mes "Luca laughs in excitement."; + mes "\"All right! You're the real thing, my friend!\""; + next; mes "[Luca the Hunter]"; - mes "\"Now stand over there. This should only take a second...\""; - mes "He takes of a pendant he is wearing and holds it up."; - next; + mes "\"Now stand over there. This should only take a second...\""; + mes "He takes of a pendant he is wearing and holds it up."; + next; mes "[Luca the Hunter]"; - mes "\"See that fang at the end of the chain? Keep staring at it at it.\""; - next; + mes "\"See that fang at the end of the chain? Keep staring at it at it.\""; + next; mes "[Luca the Hunter]"; - mes "He starts swinging the pendant back and forth."; - mes "\"And whatever you do, don't blink. Don't look away, and don't blink.\""; - next; + mes "He starts swinging the pendant back and forth."; + mes "\"And whatever you do, don't blink. Don't look away, and don't blink.\""; + next; mes "[Luca the Hunter]"; - mes "The world slows down around you as you focus on the pendant going back..."; - next; + mes "The world slows down around you as you focus on the pendant going back..."; + next; - mes "and forth..."; - next; + mes "and forth..."; + next; - mes "and back..."; - next; + mes "and back..."; + next; - mes "and forth..."; - next; + mes "and forth..."; + next; - mes "and back..."; - next; + mes "and back..."; + next; - mes "and..."; - next; + mes "and..."; + next; - mes "You feel relaxed."; - next; + mes "You feel relaxed."; + next; mes "[Luca the Hunter]"; - mes "\"... still there?\""; - mes "You hear the sound of fingers snapping. Why would someone do that on such a calm day?"; - next; + mes "\"... still there?\""; + mes "You hear the sound of fingers snapping. Why would someone do that on such a calm day?"; + next; mes "[Luca the Hunter]"; - mes "\"Oh, good... I think it worked. Nice job!\""; - mes "He grins."; - mes "[You gain 10,000 experience points]"; - mes "[You learned Skill Focus]"; - setskill SKILL_POOL, 1; - getexp 10000, 0; - next; + mes "\"Oh, good... I think it worked. Nice job!\""; + mes "He grins."; + mes "[You gain 10,000 experience points]"; + mes "[You learned Skill Focus]"; + setskill SKILL_POOL, 1; + getexp 10000, 0; + next; - goto L_teachmore2; + goto L_teachmore2; -L_wronganser: + L_wronganswer: mes "[Luca the Hunter]"; - mes "\"No, that was wrong. I suppose you're not as experienced as I thought you'd be.\""; - close; + mes "\"No, that was wrong. I suppose you're not as experienced as I thought you'd be.\""; + close; S_explain: - mes "[Luca the Hunter]"; - mes "\"Alright, what do you want to know?\""; - next; + mes "[Luca the Hunter]"; + mes "\"Alright, what do you want to know?\""; + next; S_explain_loop: menu - "What's skill focus?", L_explain_focus, - "What skills are there?", L_explain_skills, - "How do skills work?", L_explain_work, - "Thanks, I think I got it!", -; + "What's skill focus?", L_explain_focus, + "What skills are there?", L_explain_skills, + "How do skills work?", L_explain_work, + "Thanks, I think I got it!", -; return; L_explain_focus: - mes "[Luca the Hunter]"; - mes "\"Well, you can learn many, many skills. But you can't really use all of them at once, not even old Aulsbels' head is big enough for that! So you have to focus.\""; - next; - mes "[Luca the Hunter]"; - mes "\"But you can change that focus whenever you want. It works like this: You come to me, you tell me what you want to focus on, and we do exercises until it's stuck in your head.\""; - next; - mes "[Luca the Hunter]"; - mes "\"If there's not enough space in your head, you'll first have to stop thinking about some other thing. There's an exercise I learned to do that, so when you talk to me you can just let me know what you want to forget.\""; - next; - mes "[Luca the Hunter]"; - if (getskilllv(SKILL_POOL) == 0) - mes "\"Right now you can't focus on anything yet, so I'll first have to teach you a simple skill to keep your focus.\""; - if (getskilllv(SKILL_POOL) == 1) - mes "\"Right now you can only focus on one thing at a time. So if you want to change, you have to forget whatever else you've focused on.\""; - if (getskilllv(SKILL_POOL) > 1) - mes "\"You can focus on " + getskilllv(SKILL_POOL) + " skills right now.\""; - next; - mes "[Luca the Hunter]"; - mes "\"You can come back to me to focus or unfocus whenever you want, I'm here all day.\""; - next; - goto S_explain_loop; + mes "[Luca the Hunter]"; + mes "\"Well, you can learn many, many skills. But you can't really use all of them at once, not even old Aulsbels' head is big enough for that! So you have to focus.\""; + next; + mes "[Luca the Hunter]"; + mes "\"But you can change that focus whenever you want. It works like this: You come to me, you tell me what you want to focus on, and we do exercises until it's stuck in your head.\""; + next; + mes "[Luca the Hunter]"; + mes "\"If there's not enough space in your head, you'll first have to stop thinking about some other thing. There's an exercise I learned to do that, so when you talk to me you can just let me know what you want to forget.\""; + next; + mes "[Luca the Hunter]"; + if (getskilllv(SKILL_POOL) == 0) + mes "\"Right now you can't focus on anything yet, so I'll first have to teach you a simple skill to keep your focus.\""; + if (getskilllv(SKILL_POOL) == 1) + mes "\"Right now you can only focus on one thing at a time. So if you want to change, you have to forget whatever else you've focused on.\""; + if (getskilllv(SKILL_POOL) > 1) + mes "\"You can focus on " + getskilllv(SKILL_POOL) + " skills right now.\""; + next; + mes "[Luca the Hunter]"; + mes "\"You can come back to me to focus or unfocus whenever you want, I'm here all day.\""; + next; + goto S_explain_loop; L_explain_skills: - mes "[Luca the Hunter]"; - mes "\"Well, I don't really know... lots, I think. I can teach you brawling, which is good when you've run out of arrows or don't have a weapon around.\""; - next; - mes "[Luca the Hunter]"; - mes "\"But there's other skills around. Some mages need special skills to concentrate, so ask around in that crowd, if that's your thing.\""; - next; - mes "[Luca the Hunter]"; - mes "\"I've also heard that there is someone in Hurnscald who can help you make your body more resistant against some things. But body and mind belong together, so you probably have to focus for that, too.\""; - next; - mes "[Luca the Hunter]"; - mes "\"Other than that, just ask around! There have to be some people who can teach you something...\""; - next; - goto S_explain_loop; + mes "[Luca the Hunter]"; + mes "\"Well, I don't really know... lots, I think. I can teach you brawling, which is good when you've run out of arrows or don't have a weapon around.\""; + next; + mes "[Luca the Hunter]"; + mes "\"But there's other skills around. Some mages need special skills to concentrate, so ask around in that crowd, if that's your thing.\""; + next; + mes "[Luca the Hunter]"; + mes "\"I've also heard that there is someone in Hurnscald who can help you make your body more resistant against some things. But body and mind belong together, so you probably have to focus for that, too.\""; + next; + mes "[Luca the Hunter]"; + mes "\"Other than that, just ask around! There have to be some people who can teach you something...\""; + next; + goto S_explain_loop; L_explain_work: - mes "[Luca the Hunter]"; - mes "\"Well, skills allow you to be better in some things, or just to do what you couldn't do without them. When you've learned a skill and are focussing on it, then it affects what you do.\""; - next; - mes "[Luca the Hunter]"; - mes "\"Now, when you start out with a skill, you won't be very good at it yet. But if you keep practicing you'll learn how to get better.\""; - next; - mes "[Luca the Hunter]"; - mes "\"My old teacher always called that getting `skill points' and that you can see them with [F5], whoever that is.\""; - next; - mes "[Luca the Hunter]"; - mes "\"She also said that with this [F5] thing you can get better at those skills, and that it costs you as many skill points as the level you want to go to.\""; - next; - mes "[Luca the Hunter]"; - mes "\"She always would have one cactus poition too many... but she was an amazing teacher.\""; - mes "He nods emphatically."; - next; - goto S_explain_loop; + mes "[Luca the Hunter]"; + mes "\"Well, skills allow you to be better in some things, or just to do what you couldn't do without them. When you've learned a skill and are focussing on it, then it affects what you do.\""; + next; + mes "[Luca the Hunter]"; + mes "\"Now, when you start out with a skill, you won't be very good at it yet. But if you keep practicing you'll learn how to get better.\""; + next; + mes "[Luca the Hunter]"; + mes "\"My old teacher always called that getting `skill points' and that you can see them with [F5], whoever that is.\""; + next; + //TODO: + //mes "[Luca the Hunter]"; + //mes "\"She also said that with this [F5] thing you can get better at those skills, and that it costs you as many skill points as the level you want to go to.\""; + //next; + mes "[Luca the Hunter]"; + mes "\"She always would have one cactus poition too many... but she was an amazing teacher.\""; + mes "He nods emphatically."; + next; + goto S_explain_loop; L_teachmore: - mes "[Luca the Hunter]"; - mes "\"Good to see you again!\""; - next; + mes "[Luca the Hunter]"; + mes "\"Good to see you again!\""; + next; L_teachmore2: - menu - "I would like to focus.", L_focus, - "I would like to unfocus.", L_unfocus, - "Can you teach me a skill?", L_teach_brawling, - "Can you explain skills again?", L_teachmore_explain, - "I'm done for now, thanks!"; + menu + "I would like to focus.", L_focus, + "I would like to unfocus.", L_unfocus, + "Can you teach me a skill?", L_teach_brawling, + "Can you explain skills again?", L_teachmore_explain, + "I'm done for now, thanks!",-; close; L_teachmore_explain: callsub S_explain; - goto L_teachmore2; + goto L_teachmore2; L_focus: //FIXME @@ -256,6 +257,6 @@ L_unfocus: L_teach_brawling: //FIXME - close; + close; } diff --git a/npc/009-2_Hurnscald/nurse.txt b/npc/009-2_Hurnscald/nurse.txt index 8d6f1ee9..1cffc5b4 100644 --- a/npc/009-2_Hurnscald/nurse.txt +++ b/npc/009-2_Hurnscald/nurse.txt @@ -10,8 +10,8 @@ //# used player-variable: QUEST_Forestbow, nibble7 //# states: //# 0 if skills are available, she tells you about her plans of doing the antidote, -//# need black scorpion stingers and grass snake tongues -//# 1 waits for ingredients: black scorpion stingers and grass snake tongues +//# need black scorpion stingers and snake tongues +//# 1 waits for ingredients: black scorpion stingers and snake tongues //# 2 waits for ingredients: acorns, apples, orange, healing potion, when these ingreds are there, //# she mixes the stuff (modify global variable!) //# 3 you can start the minigame, 3 tries remaining @@ -22,16 +22,18 @@ //###################################################################################### -009-2.gat,147,65,0 script Nurse 119, { - set @GSNAKET_AMOUNT, 5; +009-2.gat,147,65,0 script Nurse 119, { + set @SNAKET_AMOUNT, 5; set @BSCORPIONST_AMOUNT, 10; - set @QUEST1_EXP, 5000; + // This quest can be done very often: so give less xp + set @QUEST1_EXP, 300; set @ACORNS_AMOUNT, 10; set @GREENAPPLE_AMOUNT, 5; set @REDAPPLE_AMOUNT, 5; set @ORANGE_AMOUNT, 5; set @HEALING_AMOUNT, 3; - set @QUEST2_EXP, 10000; + // This quest can be done very often: so give less xp + set @QUEST2_EXP, 700; set @ANTIDOTE_EXP, 10000; set @Q_poison_MASK, NIBBLE_7_MASK; @@ -45,6 +47,7 @@ if (@Q_poison == 3) goto state3; if (@Q_poison == 2) goto state2; if (@Q_poison == 1) goto state1; + mes "TODO: remove: skill check: " + getskilllv(SKILL_POOL); if (getskilllv(SKILL_POOL)) goto state0; L_Usual: @@ -100,23 +103,24 @@ state0: next; mes "\"Unfortunaly, some of them are poisonous and it is very difficult for us to help the miners.\""; next; - mes "\"For this reason, I want to do some research on this subject, to create an anitdote. But I need help to get some ingredients, someone who is able to deal with the dangerous creatures in the mines.\""; + mes "\"For that reason, I want to do some research on this subject, to create an anitdote. But I need help to get some ingredients, someone who is able to deal with the dangerous creatures in the mines.\""; next; menu - "I will do what I can. What do you need?", L_, + "I will do what I can. What do you need?", L_firstquest, "I'm really sorry, but I don't think, I can help you.", -; - mes "\"That is disagreeable to hear. Maybe i can find another person to take this task.\""; + mes "\"That is disagreeable to hear. Maybe I can find another person to take this task.\""; next; goto L_Usual; +L_firstquest: set @Q_poison, 1; callsub S_Update_Var; mes "\"That's great! First, I need some parts of the creatures, that cause the poison.\""; next; L_ExplainAgain1: - mes "\"Please bring me five tongues of grass snakes and ten stingers of black scorpions.\""; + mes "\"Please bring me five tongues of snakes and ten stingers of black scorpions.\""; close; state1: @@ -129,8 +133,8 @@ state1: "I have what you asked for.", -, "I'm still working on that.", quit; - if (countitem("GrassSnakeTongue") < @GSNAKET_AMOUNT || countitem("BlackScorpionStinger") < @BSCORPIONST_AMOUNT) goto L_NotEnough; - delitem "GrassSnakeTongue", @GSNAKET_AMOUNT; + if (countitem("SnakeTongue") < @SNAKET_AMOUNT || countitem("BlackScorpionStinger") < @BSCORPIONST_AMOUNT) goto L_NotEnough; + delitem "SnakeTongue", @SNAKET_AMOUNT; delitem "BlackScorpionStinger", @BSCORPIONST_AMOUNT; getexp @QUEST1_EXP, 0; @@ -204,20 +208,19 @@ L_Exp_Game: mes "[Nurse]"; mes "\"Listen carefully! I will explain, what you need to do.\""; next; - mes "\"I have here two different distillate. One is the venom extract, the other one a stabilizer.\""; + mes "\"I have here two different distillates. One is the venom extract, the other one a stabilizer.\""; next; mes "\"We also have the healing potion.\""; next; - mes "\"The problem is, that i can only guess the concentration of the venom and the stabilizer. My equipment isn't good enough to determine it precise.\""; + mes "\"The problem is, that I can only guess the concentration of the venom and the stabilizer. My equipment isn't good enough to determine it precise.\""; next; mes "\"You need to find the right amount of each ingredient. I will tell you, what I can know with my analysis methods.\""; next; - mes "\"Shall we start? \""; + mes "\"Shall we start?\""; next; menu "Please explain it again.", L_Exp_Game, - "Allright", -; - + "Alright.", -; L_Game: set @Q_poison, @Q_poison + 1; callsub S_Update_Var; @@ -225,41 +228,65 @@ L_Game: callsub L_Load_Need; //descriptions set @desc_length, 6; + setarray @desc$,"very little","only a little", "little","much", "a lot", "very much", "a huge amount"; - + set @divisor, @count / @desc_length; - set @hlIndex, (@hl_need-@offset) /@divisor; - set @vnIndex, (@hl_need-@offset) /@divisor; - set @stIndex, (@hl_need-@offset) /@divisor; - + + set @hlIndex, (@hlNeed-@offset) /@divisor; + set @vnIndex, (@vnNeed-@offset) /@divisor; + set @stIndex, (@stNeed-@offset) /@divisor; + + //mes "TODO REMOVE: needs" + @hlNeed + " " + @vnNeed + " " + @stNeed; + //mes "TODO REMOVE: @count:" + @count + " @offset: " + @offset + " @desc_length" + @desc_length +" @divisor" +@divisor; + //mes "TODO REMOVE: Indices" + @hlIndex + " " + @vnIndex + " " + @stIndex; + + mes "[Nurse]"; mes "\"I guess you need " + @desc$[@hlIndex] + " of the healing potion.\""; - mes "\"I guess you need " + @desc$[@vnIndex] + " of the venom extracts.\""; - mes "\"I guess you need " + @desc$[@stIndex] + " of the stabilizer.\""; - - if(hlNeed/vnNeed > 1 ) mes "\"I see that the healing potions are needed at least " + hlNeed/vnNeed + "times as much as the venom potion. \""; - if(vnNeed/hlNeed > 1 ) mes "\"I see that the venom extracts are needed at least " + vnNeed/hlNeed + "times as much as the healing potion.\""; - + next; + mes "\"You need " + @desc$[@vnIndex] + " of the venom extracts, I suppose.\""; + next; + mes "\"As far as I can tell you will need " + @desc$[@stIndex] + " of the stabilizer.\""; + next; - //the same for vn<->st - - //the same for vn<->hl + if(@hlNeed/@vnNeed > 1 ) mes "\"I see that the healing potions are needed at least " + @hlNeed/@vnNeed + " times as much as the venom.\""; + if(@vnNeed/@hlNeed > 1 ) mes "\"I see that the venom extracts are needed at least " + @vnNeed/@hlNeed + " times as much as the healing potions.\""; + next; + + if(@stNeed/@vnNeed > 1 ) mes "\"I see that the stabilizer is needed at least " + @stNeed/@vnNeed + " times as much as the venom extracts.\""; + if(@vnNeed/@stNeed > 1 ) mes "\"I see that the venom extracts are needed at least " + @vnNeed/@stNeed + " times as much as the stabilizer.\""; + next; + + if(@stNeed/@hlNeed > 1 ) mes "\"I see that the stabilizer is needed at least " + @stNeed/@hlNeed + " times as much as the healing potions.\""; + if(@hlNeed/@stNeed > 1 ) mes "\"I see that the healing potions are needed at least " + @hlNeed/@stNeed + " times as much as the stabilizer.\""; + next; set @max, @count+@offset-1; set @min, @offset; - mes "\"My scale goes up to" + @max + ". I suggest to put at least " + @min +" drops on the scale.\""; + mes "\"My scale goes up to " + @max + ". I suggest to put at least " + @min +" drops on the scale.\""; + next; + mes "\"How many drops of the healing potion should we use?\""; input @hlPut; + if (@hlPut < @offset) goto L_Game_tooless; + if (@hlPut > @max) goto L_Game_toomuch; + mes "\"How many drops of the venom extract potion should we use? \""; input @vnPut; + if (@vnPut < @offset) goto L_Game_tooless; + if (@vnPut > @max) goto L_Game_toomuch; + mes "\"How many drops of the stabilizer potion should we use? \""; input @stPut; + if (@stPut < @offset) goto L_Game_tooless; + if (@stPut > @max) goto L_Game_toomuch; mes "The nurse puts the potions together according to your instructions. Then she takes a spoon and stirs it."; next; mes "You take the glass and look suspiciously at the liquid, which has changed to an odd colour."; next; mes "[Nurse]"; - mes "\"Allright, now i will inject the venom into you, then you should drink the antidote immidiatly. Are you ready?\""; + mes "\"Allright, now I will inject the venom into you, then you should drink the antidote immidiatly. Are you ready?\""; next; mes "You take a deep breath and nod."; next; @@ -270,29 +297,35 @@ L_Game: mes "[Nurse]"; mes "\"Drink the antidote!\""; next; - mes "You lift the glass to you lips and drink it all at once"; + mes "You lift the glass to your lips and drink it all at once."; + next; if ( (@hlPut > @hlNeed) && (@vnPut > @vnNeed) ) goto m_hl_m_vn; if ( (@hlPut > @hlNeed) && (@vnPut <= @vnNeed) ) goto m_hl_l_vn; if ( (@hlPut <= @hlNeed) && (@vnPut > @vnNeed) ) goto l_hl_m_vn; if ( (@hlPut < @hlNeed) && (@vnPut < @vnNeed) ) goto l_hl_l_vn; + + mes "You feel quite normal."; + mes "[Nurse]"; + mes "\"Oh yes, the concentration of the healing potions and the venom extracts seem to be right.\""; + next; set @hl_vn_ok, 1; goto check_st; m_hl_m_vn: //poison for 3 minutes - sc_start SC_Poison,180000,0; + sc_start sc_poison, 1, 20; mes "You began to feel really dizzy. And you feel so light - you can't help yourself and burst out with laughter. What a strange feeling!"; next; mes "The nurse looks at you with a really worried look in her face. As you open your mouth to tell her, that you feel allright, the content of your stomache finds its way out through your throat and on the floor."; next; - "The feeling of happieness disappears, but you seems to be still poisoned."; + mes "The feeling of happieness disappears, but you seems to be still poisoned."; goto check_st; m_hl_l_vn: //poison for 1 minute - sc_start SC_Poison,60000,0; + sc_start sc_poison, 1, 20; mes "You feel the pain of the poison weaken. This seems promising. The thought, you might have been succesful makes you feel enormously happy."; next; mes "But a few seconds later, you wonder, what the reason for your happiness was."; @@ -307,21 +340,21 @@ m_hl_l_vn: next; mes "As you open your eyes again, the nurse shines in your face with a lamp and pulls your eyelids open. Then she nodds."; next; - mes "/"Very well, you are sober again./""; + mes "\"Very well, you are sober again.\""; next; goto check_st; l_hl_m_vn: // first poison for 10 minutes, player will die anyway - sc_start SC_Poison,600000,0; + sc_start sc_poison, 1, 20; mes "You feel a sting in your stomach and your heart starts pounding loudly."; next; - mes "The room is getting dark." + mes "The room is getting dark."; next; - mes "...and darker..." + mes "...and darker..."; next; - mes "......." + mes "......."; // bye bye player! heal -Hp, 0; // close instead of telling how much stabilizer is needed @@ -330,8 +363,8 @@ l_hl_m_vn: l_hl_l_vn: //poison for 1 minute - sc_start SC_Poison, 60000,0; - mes "The antidote seems to have no effect." + sc_start sc_poison, 1, 20; + mes "The antidote seems to have no effect."; goto check_st; check_st: @@ -356,17 +389,20 @@ m_st: goto notallcorrect; allcorrect: + mes "You feel totally normal again."; + next; mes "[Nurse]"; - mes "\"Wonderfull! You made it! Now i will be able to help all the people, who get poisoned in the mines!\"" + mes "\"Wonderfull! You made it! Now I will be able to help all the people, who get poisoned in the mines!\""; next; - mes "[Nurse]"; mes "\"Thank you so much! Oh, and it seems, as if you have gained the skill to resist posion someway. This is great.\""; next; - mes "[Nurse]"; mes "\"You should talk to someone, who can help you to focus on your skills.\""; next; getexp @ANTIDOTE, 0; setskill TMW_POISON_RESISTANCE, 1; + mes "TODO: set @Q_poison, 7"; + mes "TODO: make close here:"; + //close; notallcorrect: mes "[Nurse]"; @@ -395,14 +431,14 @@ state4: "I'm ok. We can try, but please explain again.", L_Exp_Game, "Let's start right now.", L_Game; - state5: +state5: mes "The nurse looks at you pitiful."; mes "[Nurse]"; mes "\"Hello. I'm really sorry for causing you so much pain.\""; next; mes "\"But if we can suceed, you are a hero! I will be able to help a lot of people.\""; next; - mes "\"Next time you might remember me to label the distillates right. I am sorry that it screwed up again.\""; + mes "\"Next time you might remember me to label the distillates right. I am sorry that it is screwed up again.\""; next; mes "\"There is enough stuff left for one last try.\""; next; @@ -452,10 +488,14 @@ S_Update_Var: (QUEST_Forestbow_state & ~(@Q_poison_MASK) | (@Q_poison << @Q_poison_SHIFT)); return; - -L_Shuffle_Need: + +L_Game_init_vars: set @count, 24; - set @offset, 1; + set @offset, 1; + return; + +L_Shuffle_Need: + callsub L_Game_init_vars; set @hlNeed, @offset + rand(@count); set @vnNeed, @offset + rand(@count); set @stNeed, @offset + rand(@count); @@ -468,10 +508,16 @@ L_Shuffle_Need: return; L_Load_Need: + callsub L_Game_init_vars; set @hlNeed, ($NPC_NURSE & BYTE_0_MASK) >> BYTE_0_SHIFT; set @vnNeed, ($NPC_NURSE & BYTE_1_MASK) >> BYTE_1_SHIFT; set @stNeed, ($NPC_NURSE & BYTE_2_MASK) >> BYTE_2_SHIFT; return; + +L_Game_tooless: + //TODO +L_Game_toomuch: + //TODO } diff --git a/npc/016-1_Woodland/gwendolyn.txt b/npc/016-1_Woodland/gwendolyn.txt index 8c6728da..6fada83a 100644 --- a/npc/016-1_Woodland/gwendolyn.txt +++ b/npc/016-1_Woodland/gwendolyn.txt @@ -142,9 +142,8 @@ state3: next; state4: - // TODO - // check if skills are enabled, if not, goto not_ready if (baselevel < @BASELEVEL_GAME) goto not_ready; + if (!getskilllv(SKILL_POOL)) goto not_ready; mes "Gwendolyn takes an analyzing look at you. Then she noods."; next; @@ -215,9 +214,6 @@ game: set @wp_sq, (@wdX * @wdX) + (@wdY * @wdY); -//TODO: remove -//mes "wdX:"+@wdX+" wdY:"+@wdY+" wp_sq:"+@wp_sq+" wdIndex:"+@wdIndex; - if (@wp_sq == 0) goto wp0; if (@wp_sq < 3) goto wp1; if (@wp_sq < 9) goto wp2; @@ -346,9 +342,6 @@ choose_shotpower: set @pointX, @wdX + @spX; set @pointY, @wdY + @sp; -//TODO: remove -//mes "pointX:"+@pointX+" pointY:"+@pointY+" spX:"+@spX+" sp:"+@sp; - if( @pointX==0 && @pointY==0 ) goto target_hit; //set @targethit to these numbers: @@ -436,9 +429,7 @@ target_nohit: state6: mes "[Gwendolyn Bowmaker]"; mes "\"You really have a reason to be proud.\""; - //close; - //TODO: uncomment close! - mes "here is an uncommented close; for testing purpose, you can try once more :-D"; + close; state1: mes "[Gwendoly Bowmaker]"; @@ -522,21 +513,6 @@ S_getDirection: //check the origin, because the origin is found by the "straight" lines as well. (should not, but is.. maybe a bug?) if( @paramX==0 && @paramY==0 ) set @returnIndex, 5; return; - -//TODO: remove: -testoutput: - set @paramX ,-4; -loopouter: - set @paramY ,-4; -loopinner: -callsub S_getDirection; -mes " "+@paramX+" / "+@paramY+" = "+@returnIndex; -set @paramY, @paramY+1; -if(@paramY<5)goto loopinner; -next; -set @paramX, @paramX+1; -if(@paramX<5)goto loopouter; -return; } //////////////////////////////////// -- cgit v1.2.3-70-g09d2 From ef6ad87712c18faca677618f4bf61573a5b381ba Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Sun, 19 Dec 2010 00:00:54 +0100 Subject: adding the astral soul skill, Sagatha and the Bard can explain Sagatha and the bard can explain a little about the astral soul, but they cannot teach you. --- npc/001-1_Tulimshar/bard.txt | 2 +- npc/013-1_Woodland_hills/sagatha.txt | 16 ++++++++++++- npc/functions/magic.txt | 45 ++++++++++++++++++++++-------------- 3 files changed, 44 insertions(+), 19 deletions(-) (limited to 'npc') diff --git a/npc/001-1_Tulimshar/bard.txt b/npc/001-1_Tulimshar/bard.txt index e7fdd883..9de957e1 100644 --- a/npc/001-1_Tulimshar/bard.txt +++ b/npc/001-1_Tulimshar/bard.txt @@ -52,7 +52,7 @@ L_News: L_Question: callfunc "MagicTalkOptionsSetup"; - set @ignore, 0; + set @ignore, @QQ_ASTRALSOUL; callfunc "MagicTalkMenu"; if (@c == 0) goto L_Main; diff --git a/npc/013-1_Woodland_hills/sagatha.txt b/npc/013-1_Woodland_hills/sagatha.txt index f5e2f606..3f8cb4f8 100644 --- a/npc/013-1_Woodland_hills/sagatha.txt +++ b/npc/013-1_Woodland_hills/sagatha.txt @@ -260,7 +260,7 @@ L_teach: mes "[Sagatha the Witch]"; mes "\"Not yet. You have to ask the mana seed to give you more power.\""; next; - goto L_main; + goto L_main; L_practice: mes "[1000 experience points]"; @@ -347,12 +347,26 @@ L_Question: if (@c == @QQ_AULDSBEL) goto L_Q_auldsbel; if (@c == @QQ_IMP) goto L_Q_imp; if (@c == @QQ_OLDWIZ) goto L_Q_old_wizard; + if (@c == @QQ_ASTRALSOUL)goto L_Q_astralsoul; mes "[Sagatha the Witch]"; mes "\"That doesn't concern you.\""; next; goto L_main; +L_Q_astralsoul: + mes "[Sagatha the Witch]"; + mes "\"Yes, there is a way to improve your magic.\""; + next; + mes "\"Did you ever hear about focusing?\""; + mes "\"It is a mental ability, which improves you at a certain focused skill.\""; + next; + mes "\"Yes, I am focused on nature magic, but I cannot teach focusing. That is another realm of magic. Just a few people can really focus your brain to a specific art of magic.\""; + next; + mes "\"Usually those, who have the ability to help you with the mana seed, will have the ability to help you with the astral soul. These skills are similar."\"; + next; + goto L_main; + L_Q_old_wizard: mes "[Sagatha the Witch]"; mes "\"A kind and wise wizard.\""; diff --git a/npc/functions/magic.txt b/npc/functions/magic.txt index 2bf8ef64..3f9b620b 100644 --- a/npc/functions/magic.txt +++ b/npc/functions/magic.txt @@ -23,12 +23,13 @@ function script MagicGainBasic { function script MagicTalkOptionsSetup { set @QQ_ELANORE, 1; set @QQ_MANASEED, 2; - set @QQ_MANAPOTION, 3; - set @QQ_WYARA, 4; - set @QQ_SAGATHA, 5; - set @QQ_AULDSBEL, 6; - set @QQ_IMP, 7; - set @QQ_OLDWIZ, 8; + set @QQ_MANAPOTION, 4; + set @QQ_WYARA, 8; + set @QQ_SAGATHA, 16; + set @QQ_AULDSBEL, 32; + set @QQ_IMP, 64; + set @QQ_OLDWIZ, 128; + set @QQ_ASTRALSOUL, 256; return; } @@ -40,11 +41,11 @@ function script MagicTalkOptionsSetup { function script MagicTalkMenu { - setarray @choice$, "", "", "", "", "", "", "", "", ""; + setarray @choice$, "", "", "", "", "", "", "", "", "", ""; set @choices_nr, 0; - setarray @choice_idx, 0, 0, 0, 0, 0, 0, 0, 0, 0; + setarray @choice_idx, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0; - if (@ignore == @QQ_ELANORE) + if (@ignore & @QQ_ELANORE) goto L_Q_post_elanore; set @choice$[@choices_nr], "...Elanore the Healer?"; set @choice_idx[@choices_nr], @QQ_ELANORE; @@ -60,7 +61,7 @@ L_Q_post_elanore: set @choices_nr, @choices_nr + 1; L_Q_post_manaseed: - if (@ignore == @QQ_MANAPOTION) + if (@ignore & @QQ_MANAPOTION) goto L_Q_post_manapotion; if (!(MAGIC_FLAGS & MFLAG_KNOWS_MANAPOTION)) goto L_Q_post_manapotion; @@ -69,7 +70,7 @@ L_Q_post_manaseed: set @choices_nr, @choices_nr + 1; L_Q_post_manapotion: - if (@ignore == @QQ_WYARA) + if (@ignore & @QQ_WYARA) goto L_Q_post_wyara; if (!(MAGIC_FLAGS & MFLAG_KNOWS_WYARA)) goto L_Q_post_wyara; @@ -78,7 +79,7 @@ L_Q_post_manapotion: set @choices_nr, @choices_nr + 1; L_Q_post_wyara: - if (@ignore == @QQ_SAGATHA) + if (@ignore & @QQ_SAGATHA) goto L_Q_post_sagatha; if (!(MAGIC_FLAGS & MFLAG_KNOWS_SAGATHA)) goto L_Q_post_sagatha; @@ -87,7 +88,7 @@ L_Q_post_wyara: set @choices_nr, @choices_nr + 1; L_Q_post_sagatha: - if (@ignore == @QQ_AULDSBEL) + if (@ignore & @QQ_AULDSBEL) goto L_Q_post_auldsbel; if (!(MAGIC_FLAGS & MFLAG_KNOWS_AULDSBEL)) goto L_Q_post_auldsbel; @@ -96,7 +97,7 @@ L_Q_post_sagatha: set @choices_nr, @choices_nr + 1; L_Q_post_auldsbel: - if (@ignore == @QQ_OLDWIZ) + if (@ignore & @QQ_OLDWIZ) goto L_Q_post_oldwiz; if (!(MAGIC_FLAGS & MFLAG_KNOWS_OLD_WIZARD)) goto L_Q_post_oldwiz; @@ -105,7 +106,7 @@ L_Q_post_auldsbel: set @choices_nr, @choices_nr + 1; L_Q_post_oldwiz: - if (@ignore == @QQ_IMP) + if (@ignore & @QQ_IMP) goto L_Q_post_imp; if (!(MAGIC_FLAGS & MFLAG_KNOWS_IMP)) goto L_Q_post_imp; @@ -114,6 +115,15 @@ L_Q_post_oldwiz: set @choices_nr, @choices_nr + 1; L_Q_post_imp: + if (@ignore & @QQ_ASTRALSOUL) + goto L_Q_post_astralsoul; + if (!getskillv(SKILL_MAGIC) || !getskillv(SKILL_FOCUS)) + goto L_Q_post_astralsoul; + set @choice$[@choices_nr], "...ways to improve my magic?"; + set @choice_idx[@choices_nr], @QQ_IMP; + set @choices_nr, @choices_nr + 1; +L_Q_post_astralsoul: + set @choice$[@choices_nr], "...never mind."; set @choice_idx[@choices_nr], 0; set @choices_nr, @choices_nr + 1; @@ -126,13 +136,14 @@ L_Q_post_imp: @choice$[5], -, @choice$[6], -, @choice$[7], -, - @choice$[8], -; + @choice$[8], -, + @choice$[9], -; set @menu, @menu - 1; if (@menu >= @choices_nr) set @menu, 0; - + set @c, @choice_idx[@menu]; return @c; } -- cgit v1.2.3-70-g09d2 From ecf569d623a98f5a4cdd5ac4dc5949ff31c35c8a Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Mon, 27 Dec 2010 14:53:39 +0100 Subject: Elanore knows about the astral soul --- npc/001-1_Tulimshar/elanore.txt | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'npc') diff --git a/npc/001-1_Tulimshar/elanore.txt b/npc/001-1_Tulimshar/elanore.txt index 7dea2a32..c7210b91 100644 --- a/npc/001-1_Tulimshar/elanore.txt +++ b/npc/001-1_Tulimshar/elanore.txt @@ -125,7 +125,7 @@ Heal_4: mes "\"Much better, right?!\""; heal 10000,10000; close; - + L_NoHeal: if (MAGIC_FLAGS) goto L_Chat; @@ -135,7 +135,7 @@ L_NoHealMessage: mes "\"I'm sorry but unless you are young and in need, I can't help you, and your level is already higher than ten."; mes "With so many people still injured from the earthquake, I really have no time to help."; mes "You can get some rest in the inn near here.\""; - + close; L_Chat: @@ -454,7 +454,7 @@ L_3_where: mes "\"Kadiya and Omar live relatively close by. See this corner in the inner city wall east of here? Turn past it, then go north. It's the second house.\""; next; goto L_3_menu; - + L_Teach_Explain3_abort: mes "[Elanore the Healer]"; mes "\"I'm sorry, but you lack the magical power to advance.\""; @@ -571,6 +571,7 @@ L_Question: if (@c == @QQ_SAGATHA) goto L_Q_sagatha; if (@c == @QQ_AULDSBEL) goto L_Q_auldsbel; if (@c == @QQ_OLDWIZ) goto L_Q_oldwiz; + if (@c == @QQ_ASTRALSOUL)goto L_Q_astralsoul; mes "[Elanore the Healer]"; mes "Elanore shakes her head."; @@ -578,6 +579,12 @@ L_Question: next; goto L_Main; +L_Q_astralsoul: + mes "[Elanore the Healer]"; + mes "\"The astral soul skill is one of the most important skills for mages. I learned this focus long time ago. Without that skill your magic is quite useless? If the rumors are really true, you can find that skill near a Mana Seed.\""; + next; + goto L_Main; + L_Q_oldwiz: mes "[Elanore the Healer]"; mes "\"He is a kind old man. He stays mostly with his books and his apprentice, though we have chatted a few times.\""; -- cgit v1.2.3-70-g09d2 From 3d667cc6eb0add656ad44ed7309f8530d239e260 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Mon, 27 Dec 2010 14:53:57 +0100 Subject: Auldsbel can teach you astralsoul. But he is a sick money maker, he charges 11,3k GP. --- npc/011-1_Woodland/auldsbel.txt | 64 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 61 insertions(+), 3 deletions(-) (limited to 'npc') diff --git a/npc/011-1_Woodland/auldsbel.txt b/npc/011-1_Woodland/auldsbel.txt index 595c1a9f..8a76ff30 100644 --- a/npc/011-1_Woodland/auldsbel.txt +++ b/npc/011-1_Woodland/auldsbel.txt @@ -20,7 +20,7 @@ set @Q_STATUS_STUDENT4, 8; set @Q_STATUS_STUDENT5, 9; set @Q_STATUS_STUDENT6, 10; - + set @wants_sulphur, (QUEST_MAGIC & (NIBBLE_6_MASK | NIBBLE_7_MASK)) // war quest || (((QUEST_MAGIC2 & NIBBLE_1_MASK) >> NIBBLE_1_SHIFT) >= 4); // Elanore's heal-Kadiya quest @@ -508,12 +508,70 @@ L_question: if (@c == @QQ_SAGATHA) goto L_Q_sagatha; if (@c == @QQ_IMP) goto L_Q_imp; if (@c == @QQ_OLDWIZ) goto L_Q_old_wizard; + if (@c == @QQ_ASTRALSOUL)goto L_Q_astralsoul; mes "[Auldsbel the Wizard]"; mes "\"Let us talk about something else.\""; next; goto L_main_menu; +L_Q_astralsoul: + if (!getskillv(SKILL_ASTRAL_SOUL)) + goto L_Q_astralsoul_L; + next; + mes "[Auldsbel the Wizard]"; + mes "\"Oh that is a really useful focus. It will help you doing magic of all kinds.\""; + next; + mes "\"...uhm...\""; + next; + mes "\"Didn't I teach you the ability to focus on magic, did I?\""; + goto L_main_menu; + +L_Q_astralsoul_L: + mes "[Auldsbel the Wizard]"; + mes "\"Oh that is a really useful focus. It will help you doing magic of all kinds.\""; + next; + mes "\"I can try to teach you this ability.\""; + next; + mes "\"But I will need some very expensive magical substances to focus your brain onto magic.\""; + next; + mes "\"It is about... erm 11300 GP. Do you have so much money?\""; + menu "Here you are", L_Q_astralsoul_L1, + "I will get it.", -; + goto L_main_menu; + +L_Q_astralsoul_L1: + if (zeny < 11300) + goto L_Q_astralsoul_nz; + set zeny, zeny - 11300; + mes "[Auldsbel the Wizard]"; + mes "\"Okay, listen:\""; + next; + mes "\"Some parts of your brain is still unused. These parts will now get the ability to get focused to magic.\""; + next; + mes "\"To do so, think of a magic spell!\""; + next; + mes "Auldsbel mumbles some invocations"; + next; + set @SUP_lvl, 1; + set @SUP_id, SKILL_ASTRAL_SOUL; + set @SUP_name$, "Astral Soul"; + set @SUP_xp, 2500; + callfunc "SkillUp"; + next; + mes "[Auldsbel the Wizard]"; + mes "\"Now go and try to find someone, who can actually activate that focus.\""; + next; + mes "\"You have the powers to focus on magic, but you need to get magic focussed now.\""; + goto L_main_menu; + +L_Q_astralsoul_nz: + mes "[Auldsbel the Wizard]"; + mes "\"When learning powerful stuff, you should try to make not so many jokes.\""; + next; + mes "\"Come back, when you have the money.\""; + goto L_main_menu; + L_Q_old_wizard: mes "[Auldsbel the Wizard]"; mes "\"I'm still not sure what exactly to make of him. At first appearance, he seems like a senile old man, but there can be no doubt that he has-- or at least had, at some point-- a very deep understanding of magic.\""; @@ -955,7 +1013,7 @@ L_learn_spell: mes "\"Oh, actually, make sure to write that down. You should keep track of all spells and spell fragments, really. I always keep a notebook handy, in fact.\""; next; set @Q_main_status, @Q_STATUS_INITIATION; - callsub S_update_var; + callsub S_update_var; goto L_main_menu; LL_repeat_spell: @@ -1219,7 +1277,7 @@ LL_student_4: menu "What was the invocation again?", LL_student_3_repeat, "No, still working on it...", L_main_menu, - "Yes.", -; + "Yes.", -; if (countitem("ConcentrationPotion") < 1) goto LL_student_4_no_potion; -- cgit v1.2.3-70-g09d2 From 1e928158cca01692172158805c949b19843ba41e Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Mon, 27 Dec 2010 15:03:55 +0100 Subject: Wyara also knows the astral soul skill, but you don't expect her to teach you? No, she really can't. She isn't a good mage, is she? --- npc/009-2_Hurnscald/wyara.txt | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'npc') diff --git a/npc/009-2_Hurnscald/wyara.txt b/npc/009-2_Hurnscald/wyara.txt index 256c036c..fc80798c 100644 --- a/npc/009-2_Hurnscald/wyara.txt +++ b/npc/009-2_Hurnscald/wyara.txt @@ -30,7 +30,7 @@ goto L_Magic_purify_once; if (@Q_status == @STATUS_PURIFY_TWICE) goto L_Magic_purify_done; - + mes "[Wyara the witch]"; if (!Sex) mes "\"Greetings, fair traveller! What can I do for you?\""; @@ -71,6 +71,7 @@ L_Question: if (@c == @QQ_AULDSBEL) goto L_Q_auldsbel; if (@c == @QQ_IMP) goto L_Q_imp; if (@c == @QQ_OLDWIZ) goto L_Q_old_wizard; + if (@c == @QQ_ASTRALSOUL)goto L_Q_astralsoul; mes "[Wyara the Witch]"; mes "\"I fear that I can't help you with that.\""; @@ -78,6 +79,15 @@ L_Question: goto L_Main; +L_Q_astralsoul: + mes "[Wyara the Witch]"; + mes "\"The astral soul skill? Yes, I have heard about that. It can be taught by old and wise mages usually.\""; + next; + mes "\"You need lots of practise until you can handle the ability, and even more practises until you have the powers to teach it to someone else.\""; + next; + goto L_Main; + + L_Q_old_wizard: mes "[Wyara the Witch]"; mes "\"I don't know his name, but I do know that he has been living in the mountains since I first came here. He is a master of many schools of magic, I believe.\""; @@ -340,7 +350,7 @@ L_Magic_purify_explained: goto L_Magic_purify_lacking; if (countitem("MaggotSlime") < 20) goto L_Magic_purify_lacking; - + delitem "MauveHerb", 20; delitem "MaggotSlime", 20; getitem "PurificationPotion", 1; @@ -390,7 +400,7 @@ L_Magic_purify_once: goto L_Magic_purify_lacking; if (countitem("MaggotSlime") < 20) goto L_Magic_purify_lacking; - + delitem "MauveHerb", 20; delitem "MaggotSlime", 20; getitem "PurificationPotion", 1; -- cgit v1.2.3-70-g09d2 From d191f6a204a3f2be75a95e3f7d5cc1328aa57fbe Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Mon, 27 Dec 2010 19:51:53 +0100 Subject: unify consts: ability to focus is SKILL_POOL now there were 3 different consts meaning the same. --- db/const.txt | 2 +- db/skill_db.txt | 2 +- npc/functions/magic.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'npc') diff --git a/db/const.txt b/db/const.txt index d15c9200..ab080511 100644 --- a/db/const.txt +++ b/db/const.txt @@ -210,7 +210,7 @@ BYTE_3_MASK 4278190080 BYTE_3_SHIFT 24 // Skill pools -SKILL_FOCUS 339 +SKILL_POOL 339 SKILL_MALLARDS_EYE 45 SKILL_BRAWLING 350 SKILL_LUCKY_COUNTER 351 diff --git a/db/skill_db.txt b/db/skill_db.txt index 7b36e74e..04ddd472 100644 --- a/db/skill_db.txt +++ b/db/skill_db.txt @@ -19,7 +19,7 @@ 190, 1, 6, 4, 0, 0, 0, 100, 1, no, 0, 1, 0, none, 0, no, none, X14 //NPC_POISONATTACK 198, 0, 0, 4, 0, 1, 0, 10, 1, no, 0, 2, 0, magic, 0, no, none, X15 //NPC_SUMMONSLAVE 199, 0, 0, 4, 0, 1, 0, 10, 1, no, 0, 2, 0, none, 0, no, none, X16 //NPC_EMOTION -339 0, 0, 0, 0, 0, 0, 3, 0, no, 0, 0, 0, none, 0, no, none, Skill_Pool //TMW_SKILLPOOL +339 0, 0, 0, 0, 0, 0, 3, 0, no, 0, 0, 0, none, 0, no, none, Skill_Pool //SKILL_POOL 340, 0, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0, no, none, Magic //TMW_MAGIC 341, 0, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0, no, none, Life_Magic //TMW_MAGIC_LIFE 342, 0, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0, no, none, War_Magic //TMW_MAGIC_WAR diff --git a/npc/functions/magic.txt b/npc/functions/magic.txt index 3f9b620b..31baa66c 100644 --- a/npc/functions/magic.txt +++ b/npc/functions/magic.txt @@ -117,7 +117,7 @@ L_Q_post_imp: if (@ignore & @QQ_ASTRALSOUL) goto L_Q_post_astralsoul; - if (!getskillv(SKILL_MAGIC) || !getskillv(SKILL_FOCUS)) + if (!getskillv(SKILL_MAGIC) || !getskillv(SKILL_POOL)) goto L_Q_post_astralsoul; set @choice$[@choices_nr], "...ways to improve my magic?"; set @choice_idx[@choices_nr], @QQ_IMP; -- cgit v1.2.3-70-g09d2 From 99d4c071e4620e1704aa0947018b7c5e90171b02 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Mon, 27 Dec 2010 19:52:58 +0100 Subject: The old wizard teaches you astral soul Yes, he is pleased to share his knowlegde. --- npc/013-2_Magic_house/wizard.txt | 53 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 2 deletions(-) (limited to 'npc') diff --git a/npc/013-2_Magic_house/wizard.txt b/npc/013-2_Magic_house/wizard.txt index e74b15ec..616c5da1 100644 --- a/npc/013-2_Magic_house/wizard.txt +++ b/npc/013-2_Magic_house/wizard.txt @@ -44,10 +44,19 @@ L_new_student: mes "\"Studying is always an excellent use of one's mind! I fear that I can't offer too much assistance to you, however. But if you are interested, I could perhaps teach you a simple spell?\""; next; - menu - "That would be very kind of you!", -, + // check if the player has the knowledge of any skill + if (!getskilllv(SKILL_POOL)) + menu + "That would be very kind of you!", L_teachspell, + "No, but thank you!", nothx; + + if (getskilllv(SKILL_POOL)) + menu + "That would be very kind of you!", L_teachspell, + "Actually I am looking for someone teaching me some more magic skills.", L_astralsoul, "No, but thank you!", nothx; +L_teachspell: mes "[Old Wizard]"; mes "\"This one may not seem too powerful, but it can be quite handy; it's the 'hide' spell. It will shield you from some forms of detection magic.\""; next; @@ -71,6 +80,46 @@ L_new_student: mes "\"I'm not sure if you are experienced enough to cast it yet, though. You may need to first learn astral magic.\""; close; +L_astralsoul: + mes "[Old Wizard]"; + mes "\"Oh yes, there are lots of ways to improve your magic. Skills -some people say mental focus for that- are another way to improve your magic. Of course learning more and more spells is also a need for good mages.\""; + next; + mes "\"I can teach you the ability to focus on magical stuff.\""; + next; + mes "\"To do so, I am in need of a pearl and about 100 acorns.\""; + + menu "Here we go.", -, + "Ok be right back. I'll get them", nothx; + + if (countitem("Pearl") < 1 || countitem("Acorn") < 100) goto L_NotEnough; + delitem "Pearl", 1; + delitem "Acorn", 100; + + mes "[Old Wizard]"; + mes "\"Okay, listen:\""; + next; + mes "\"Some parts of your brain is still unused. These parts will now get the ability to get focused to magic.\""; + next; + mes "\"To do so, think of a magic spell!\""; + next; + mes "The old wizard mumbles some invocations"; + next; + set @SUP_lvl, 1; + set @SUP_id, SKILL_ASTRAL_SOUL; + set @SUP_name$, "Astral Soul"; + set @SUP_xp, 2500; + callfunc "SkillUp"; + mes "\"Now go and try to find someone, who can actually activate that focus.\""; + next; + mes "\"You have the powers to focus on magic, but you need to get magic focussed now.\""; + close; + +L_NotEnough: + mes "[Old Wizard]"; + mes "\"Please learn to count.\""; + next; + mes "\"When you are done with that, come back again.\""; + close; ok: mes "[Old Wizard]"; mes "\"Beware the flying notes though, some of them are really dangerous. I haven't been able to persuade them to get back into their book. And avoid the mirror, it's been acting strange lately.\""; -- cgit v1.2.3-70-g09d2 From 29a65c0d92c10fadff09802a8f044e4b35b9beda Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Mon, 27 Dec 2010 20:33:40 +0100 Subject: remove the last compile errors --- npc/009-2_Hurnscald/nurse.txt | 115 +++++++++++++++++------------------ npc/011-1_Woodland/auldsbel.txt | 2 +- npc/013-1_Woodland_hills/sagatha.txt | 3 +- npc/functions/magic.txt | 4 +- 4 files changed, 63 insertions(+), 61 deletions(-) (limited to 'npc') diff --git a/npc/009-2_Hurnscald/nurse.txt b/npc/009-2_Hurnscald/nurse.txt index 1cffc5b4..8262bf85 100644 --- a/npc/009-2_Hurnscald/nurse.txt +++ b/npc/009-2_Hurnscald/nurse.txt @@ -1,7 +1,7 @@ //###################################################################################### //# Nurse //# AUTHORS: Jenalya and Pjotr Orial -//# REVIEWED BY: +//# REVIEWED BY: //# heals player below level 20 for free and tells players about the doctor on the 3rd floor. //# //# gives the resist-poison skill, used global (!) variable: "$NPC_NURSE", split up in 4 bytes: @@ -9,7 +9,7 @@ //# byte3 (bit 24-31) still unused //# used player-variable: QUEST_Forestbow, nibble7 //# states: -//# 0 if skills are available, she tells you about her plans of doing the antidote, +//# 0 if skills are available, she tells you about her plans of doing the antidote, //# need black scorpion stingers and snake tongues //# 1 waits for ingredients: black scorpion stingers and snake tongues //# 2 waits for ingredients: acorns, apples, orange, healing potion, when these ingreds are there, @@ -26,7 +26,7 @@ set @SNAKET_AMOUNT, 5; set @BSCORPIONST_AMOUNT, 10; // This quest can be done very often: so give less xp - set @QUEST1_EXP, 300; + set @QUEST1_EXP, 300; set @ACORNS_AMOUNT, 10; set @GREENAPPLE_AMOUNT, 5; set @REDAPPLE_AMOUNT, 5; @@ -39,7 +39,7 @@ set @Q_poison_MASK, NIBBLE_7_MASK; set @Q_poison_SHIFT, NIBBLE_7_SHIFT; set @Q_poison, (QUEST_Forestbow_state & @Q_poison_MASK) >> @Q_poison_SHIFT; - + if (@Q_poison == 7) goto state7; if (@Q_poison == 6) goto state6; if (@Q_poison == 5) goto state5; @@ -50,7 +50,7 @@ mes "TODO: remove: skill check: " + getskilllv(SKILL_POOL); if (getskilllv(SKILL_POOL)) goto state0; -L_Usual: +L_Usual: mes "[Nurse]"; mes "\"How can I help you?\""; next; @@ -96,7 +96,7 @@ L_NohMask: close; state0: - mes "[Nurse]"; + mes "[Nurse]"; mes "\"Welcome! You really look like a competent person. Maybe you can help to deal with a problem we have.\""; next; mes "\"We recently had some accidents in the mines. It seems, that the creatures in the mines become more aggressive.\""; @@ -106,9 +106,9 @@ state0: mes "\"For that reason, I want to do some research on this subject, to create an anitdote. But I need help to get some ingredients, someone who is able to deal with the dangerous creatures in the mines.\""; next; menu - "I will do what I can. What do you need?", L_firstquest, + "I will do what I can. What do you need?", L_firstquest, "I'm really sorry, but I don't think, I can help you.", -; - + mes "\"That is disagreeable to hear. Maybe I can find another person to take this task.\""; next; goto L_Usual; @@ -116,13 +116,13 @@ state0: L_firstquest: set @Q_poison, 1; callsub S_Update_Var; - + mes "\"That's great! First, I need some parts of the creatures, that cause the poison.\""; next; L_ExplainAgain1: mes "\"Please bring me five tongues of snakes and ten stingers of black scorpions.\""; close; - + state1: mes "[Nurse]"; mes "\"You are back, wonderful! Did you get, what we need for the antidote?\""; @@ -131,25 +131,25 @@ state1: "Actually, I have another question.", L_Usual, "Sorry, I forgot. What shall I bring you?", L_ExplainAgain1, "I have what you asked for.", -, - "I'm still working on that.", quit; - + "I'm still working on that.", quit; + if (countitem("SnakeTongue") < @SNAKET_AMOUNT || countitem("BlackScorpionStinger") < @BSCORPIONST_AMOUNT) goto L_NotEnough; delitem "SnakeTongue", @SNAKET_AMOUNT; delitem "BlackScorpionStinger", @BSCORPIONST_AMOUNT; getexp @QUEST1_EXP, 0; - + set @Q_poison, 2; callsub S_Update_Var; - + mes "[Nurse]"; mes "\"Very good. Now I have to extract the poison from this, it will take some time.\""; next; mes "\"But there are some other things we will need in any case. It would be courteous, if you could get them meanwhile.\""; next; -L_ExplainAgain2: +L_ExplainAgain2: mes "\"Please bring me ten acorns, five red apples and five green apples, also five oranges. And we need some small healing potions. They will be useful to hold off the baneful effects. I guess, three of them will be enough.\""; close; - + state2: mes "You look at the nurse, who seems to be really tired with shadows under her eyes. When she regocnize you, she smiles."; mes "[Nurse]"; @@ -160,7 +160,7 @@ state2: "I have a bad memory. Can you tell me again, what we need?", L_ExplainAgain2, "I managed to get everything we need.", -, "I will go and get it.", quit; - + if (countitem("Acorn") < @ACORNS_AMOUNT || countitem("GreenApple") < @GREENAPPLE_AMOUNT || countitem("RedApple") < @REDAPPLE_AMOUNT || countitem("Orange") < @ORANGE_AMOUNT || countitem("SmallHealingPotion") < @HEALING_AMOUNT) goto L_NotEnough; delitem "Acorn", @ACORNS_AMOUNT; delitem "GreenApple", @GREENAPPLE_AMOUNT; @@ -168,13 +168,13 @@ state2: delitem "Orange", @ORANGE_AMOUNT; delitem "SmallHealingPotion", @HEALING_AMOUNT; getexp @QUEST2_EXP, 0; - + set @Q_poison, 3; - callsub S_Update_Var; - + callsub S_Update_Var; + L_Chemistry: callsub L_Shuffle_Need; - mes "The nurse takes the ingredients you brought and starts to squeeze the fruits and to crush the acorns. Then she put the fruit juices in some complicated looking chemical device."; + mes "The nurse takes the ingredients you brought and starts to squeeze the fruits and to crush the acorns. Then she put the fruit juices in some complicated looking chemical device."; next; mes "After some minutes, it is blubbering and steaming and some liquidity is dropping in a pot under the device."; next; @@ -191,20 +191,20 @@ L_Chemistry: next; mes "\"For that purpose, I will poison you. Then you drink the antidote to see, if it works.\""; next; - mes "\"If we make a mistake, this might be exhausting and painful, so you should rest a while and prepare yourself.\""; + mes "\"If we make a mistake, this might be exhausting and painful, so you should rest a while and prepare yourself.\""; next; mes "\"Come back, when you feel ready for that task.\""; close; - + state3: mes "[Nurse]"; mes "\"Hello my friend. You feel prepared to test the antidote?\""; next; - menu + menu "Actually, I have another question.", L_Usual, - "Yes, let us begin.",-; - -L_Exp_Game: + "Yes, let us begin.",-; + +L_Exp_Game: mes "[Nurse]"; mes "\"Listen carefully! I will explain, what you need to do.\""; next; @@ -223,7 +223,7 @@ L_Exp_Game: "Alright.", -; L_Game: set @Q_poison, @Q_poison + 1; - callsub S_Update_Var; + callsub S_Update_Var; // healing, venom, stabilizer callsub L_Load_Need; //descriptions @@ -251,16 +251,16 @@ L_Game: if(@hlNeed/@vnNeed > 1 ) mes "\"I see that the healing potions are needed at least " + @hlNeed/@vnNeed + " times as much as the venom.\""; if(@vnNeed/@hlNeed > 1 ) mes "\"I see that the venom extracts are needed at least " + @vnNeed/@hlNeed + " times as much as the healing potions.\""; - next; + next; if(@stNeed/@vnNeed > 1 ) mes "\"I see that the stabilizer is needed at least " + @stNeed/@vnNeed + " times as much as the venom extracts.\""; if(@vnNeed/@stNeed > 1 ) mes "\"I see that the venom extracts are needed at least " + @vnNeed/@stNeed + " times as much as the stabilizer.\""; next; - + if(@stNeed/@hlNeed > 1 ) mes "\"I see that the stabilizer is needed at least " + @stNeed/@hlNeed + " times as much as the healing potions.\""; if(@hlNeed/@stNeed > 1 ) mes "\"I see that the healing potions are needed at least " + @hlNeed/@stNeed + " times as much as the stabilizer.\""; next; - + set @max, @count+@offset-1; set @min, @offset; mes "\"My scale goes up to " + @max + ". I suggest to put at least " + @min +" drops on the scale.\""; @@ -280,7 +280,7 @@ L_Game: input @stPut; if (@stPut < @offset) goto L_Game_tooless; if (@stPut > @max) goto L_Game_toomuch; - + mes "The nurse puts the potions together according to your instructions. Then she takes a spoon and stirs it."; next; mes "You take the glass and look suspiciously at the liquid, which has changed to an odd colour."; @@ -299,7 +299,7 @@ L_Game: next; mes "You lift the glass to your lips and drink it all at once."; next; - + if ( (@hlPut > @hlNeed) && (@vnPut > @vnNeed) ) goto m_hl_m_vn; if ( (@hlPut > @hlNeed) && (@vnPut <= @vnNeed) ) goto m_hl_l_vn; if ( (@hlPut <= @hlNeed) && (@vnPut > @vnNeed) ) goto l_hl_m_vn; @@ -307,12 +307,11 @@ L_Game: mes "You feel quite normal."; mes "[Nurse]"; - mes "\"Oh yes, the concentration of the healing potions and the venom extracts seem to be right.\""; + mes "\"Oh yes, the concentration of the healing potions and the venom extracts seem to be right.\""; next; set @hl_vn_ok, 1; goto check_st; - m_hl_m_vn: //poison for 3 minutes sc_start sc_poison, 1, 20; @@ -322,7 +321,7 @@ m_hl_m_vn: next; mes "The feeling of happieness disappears, but you seems to be still poisoned."; goto check_st; - + m_hl_l_vn: //poison for 1 minute sc_start sc_poison, 1, 20; @@ -339,10 +338,10 @@ m_hl_l_vn: mes "You lay down on the floor and fall asleep."; next; mes "As you open your eyes again, the nurse shines in your face with a lamp and pulls your eyelids open. Then she nodds."; - next; + next; mes "\"Very well, you are sober again.\""; next; - + goto check_st; l_hl_m_vn: @@ -365,7 +364,7 @@ l_hl_l_vn: //poison for 1 minute sc_start sc_poison, 1, 20; mes "The antidote seems to have no effect."; - goto check_st; + goto check_st; check_st: if ( (@stPut < @stNeed) ) goto l_st; @@ -377,7 +376,7 @@ check_st: next; goto notallcorrect; -l_st: +l_st: mes "[Nurse]"; mes "\"It seems, as if we took not enough of the stabilizer, the antidote would loose its effect after some time.\""; next; @@ -387,15 +386,14 @@ m_st: mes "\"It seems, as if we took too much of the stabilizer. The antidote would turn into venom again after some time.\""; next; goto notallcorrect; - allcorrect: mes "You feel totally normal again."; next; mes "[Nurse]"; mes "\"Wonderfull! You made it! Now I will be able to help all the people, who get poisoned in the mines!\""; - next; + next; mes "\"Thank you so much! Oh, and it seems, as if you have gained the skill to resist posion someway. This is great.\""; - next; + next; mes "\"You should talk to someone, who can help you to focus on your skills.\""; next; getexp @ANTIDOTE, 0; @@ -408,9 +406,9 @@ notallcorrect: mes "[Nurse]"; mes "\"It didn't work. You are a really brave person. Now you should rest and recover. I hope, you won't give up now. Please come back later, so we can try it again.\""; next; - + close; -state4: +state4: mes "The nurse has a worried look in her face."; mes "[Nurse]"; mes "\"Hello. I hope you recovered well?\""; @@ -425,13 +423,13 @@ state4: next; mes "\"If you feel ok, we could try it again.\""; next; - + menu "I still feel a bit dizzy, so I don't want to do it now.", L_Usual, "I'm ok. We can try, but please explain again.", L_Exp_Game, "Let's start right now.", L_Game; - -state5: + +state5: mes "The nurse looks at you pitiful."; mes "[Nurse]"; mes "\"Hello. I'm really sorry for causing you so much pain.\""; @@ -446,12 +444,12 @@ state5: next; mes "\"Do you want to have another try?\""; next; - + menu "I still feel a bit dizzy, so I don't want to do it now.", L_Usual, "I'm ok. We can try, but please explain again.", L_Exp_Game, "Let's start right now.", L_Game; - + state6: mes "The nurse looks at you pitiful."; mes "[Nurse]"; @@ -460,11 +458,10 @@ state6: mes "\"We should try again, right?\""; set @Q_poison, 1; callsub S_Update_Var; - - goto L_ExplainAgain1; + goto L_ExplainAgain1; -state7: // geschafft +state7: // geschafft mes "[Nurse]"; mes "\"Thanks a lot, you can call yourself a true hero now!\""; next; @@ -479,7 +476,7 @@ L_NotEnough: if (@Q_poison == 2) goto L_ExplainAgain2; // the following close *should* never be reached, but who knows, whoever will mess this script up! close; - + quit: close; @@ -491,7 +488,7 @@ S_Update_Var: L_Game_init_vars: set @count, 24; - set @offset, 1; + set @offset, 1; return; L_Shuffle_Need: @@ -499,14 +496,14 @@ L_Shuffle_Need: set @hlNeed, @offset + rand(@count); set @vnNeed, @offset + rand(@count); set @stNeed, @offset + rand(@count); - + set $NPC_NURSE, ($NPC_NURSE & ~(BYTE_0_MASK | BYTE_1_MASK | BYTE_2_MASK) | (@hlNeed << BYTE_0_SHIFT) | (@vnNeed << BYTE_1_SHIFT) | (@stNeed << BYTE_2_SHIFT)); return; - + L_Load_Need: callsub L_Game_init_vars; set @hlNeed, ($NPC_NURSE & BYTE_0_MASK) >> BYTE_0_SHIFT; @@ -516,8 +513,10 @@ L_Load_Need: L_Game_tooless: //TODO + mes ""; L_Game_toomuch: - //TODO + //TODO + mes ""; } diff --git a/npc/011-1_Woodland/auldsbel.txt b/npc/011-1_Woodland/auldsbel.txt index 8a76ff30..0b2174f1 100644 --- a/npc/011-1_Woodland/auldsbel.txt +++ b/npc/011-1_Woodland/auldsbel.txt @@ -516,7 +516,7 @@ L_question: goto L_main_menu; L_Q_astralsoul: - if (!getskillv(SKILL_ASTRAL_SOUL)) + if (!getskilllv(SKILL_ASTRAL_SOUL)) goto L_Q_astralsoul_L; next; mes "[Auldsbel the Wizard]"; diff --git a/npc/013-1_Woodland_hills/sagatha.txt b/npc/013-1_Woodland_hills/sagatha.txt index 3f8cb4f8..372cd20a 100644 --- a/npc/013-1_Woodland_hills/sagatha.txt +++ b/npc/013-1_Woodland_hills/sagatha.txt @@ -359,11 +359,12 @@ L_Q_astralsoul: mes "\"Yes, there is a way to improve your magic.\""; next; mes "\"Did you ever hear about focusing?\""; + next; mes "\"It is a mental ability, which improves you at a certain focused skill.\""; next; mes "\"Yes, I am focused on nature magic, but I cannot teach focusing. That is another realm of magic. Just a few people can really focus your brain to a specific art of magic.\""; next; - mes "\"Usually those, who have the ability to help you with the mana seed, will have the ability to help you with the astral soul. These skills are similar."\"; + mes "\"Usually those, who have the ability to help you with the mana seed, will have the ability to help you with the astral soul. These skills are similar.\""; next; goto L_main; diff --git a/npc/functions/magic.txt b/npc/functions/magic.txt index 31baa66c..4dadb2a9 100644 --- a/npc/functions/magic.txt +++ b/npc/functions/magic.txt @@ -117,7 +117,9 @@ L_Q_post_imp: if (@ignore & @QQ_ASTRALSOUL) goto L_Q_post_astralsoul; - if (!getskillv(SKILL_MAGIC) || !getskillv(SKILL_POOL)) + if (!(getskilllv(SKILL_MAGIC))) + goto L_Q_post_astralsoul; + if (!(getskilllv(SKILL_POOL))) goto L_Q_post_astralsoul; set @choice$[@choices_nr], "...ways to improve my magic?"; set @choice_idx[@choices_nr], @QQ_IMP; -- cgit v1.2.3-70-g09d2 From 3de6ef52cf7ba3bcfe8c908e38a69f4463bfc190 Mon Sep 17 00:00:00 2001 From: Jessica Tölke Date: Mon, 27 Dec 2010 21:30:11 +0100 Subject: some minor changes in sagatha and elanore --- npc/001-1_Tulimshar/elanore.txt | 2 +- npc/013-1_Woodland_hills/sagatha.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'npc') diff --git a/npc/001-1_Tulimshar/elanore.txt b/npc/001-1_Tulimshar/elanore.txt index c7210b91..22f3611e 100644 --- a/npc/001-1_Tulimshar/elanore.txt +++ b/npc/001-1_Tulimshar/elanore.txt @@ -581,7 +581,7 @@ L_Question: L_Q_astralsoul: mes "[Elanore the Healer]"; - mes "\"The astral soul skill is one of the most important skills for mages. I learned this focus long time ago. Without that skill your magic is quite useless? If the rumors are really true, you can find that skill near a Mana Seed.\""; + mes "\"The astral soul skill is one of the most important skills for mages. I learned this focus long time ago. Without that skill your magic is quite useless, isn't it? If the rumors are really true, there is an experienced mage in the Woodlands around Hurnscald.\""; next; goto L_Main; diff --git a/npc/013-1_Woodland_hills/sagatha.txt b/npc/013-1_Woodland_hills/sagatha.txt index 372cd20a..84df4fe6 100644 --- a/npc/013-1_Woodland_hills/sagatha.txt +++ b/npc/013-1_Woodland_hills/sagatha.txt @@ -364,7 +364,7 @@ L_Q_astralsoul: next; mes "\"Yes, I am focused on nature magic, but I cannot teach focusing. That is another realm of magic. Just a few people can really focus your brain to a specific art of magic.\""; next; - mes "\"Usually those, who have the ability to help you with the mana seed, will have the ability to help you with the astral soul. These skills are similar.\""; + mes "\"Maybe you should ask some other people experienced in magic.\""; next; goto L_main; -- cgit v1.2.3-70-g09d2 From c26b3a95f257260a2147537f79b3ffdc342d5138 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Tue, 28 Dec 2010 21:30:13 +0100 Subject: luca can focus and unfocus now --- db/const.txt | 2 ++ npc/001-1_Tulimshar/luca.txt | 80 ++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 79 insertions(+), 3 deletions(-) (limited to 'npc') diff --git a/db/const.txt b/db/const.txt index ab080511..981031ed 100644 --- a/db/const.txt +++ b/db/const.txt @@ -247,6 +247,8 @@ MFLAG_KNOWS_OLD_WIZARD 8192 // Knows Bjorn's old wizard MFLAG_MADE_CONC_POTION 16384 // Made a concentration potion with T15 and/or T16 MFLAG_ELANORE_OMAR 32768 // Told Omar about Elanore's involvement +MFLAG_KNOWS_UNFOCUS_RECIPE 65536 // Luca told me about how to unfocus + DOCK_tulimshar 1 DOCK_hurnscald 2 DOCK_candor 3 diff --git a/npc/001-1_Tulimshar/luca.txt b/npc/001-1_Tulimshar/luca.txt index 0a12545f..b37e2123 100644 --- a/npc/001-1_Tulimshar/luca.txt +++ b/npc/001-1_Tulimshar/luca.txt @@ -250,13 +250,87 @@ L_teachmore_explain: goto L_teachmore2; L_focus: -//FIXME + getpoolskilllist; + set @skilllist_id[@skilllist_count], 0; + set @skilllist_name$[@skilllist_count], "Nevermind"; + menu + @skilllist_name$[0], -, + @skilllist_name$[1], -, + @skilllist_name$[2], -, + @skilllist_name$[3], -, + @skilllist_name$[4], -, + @skilllist_name$[5], -, + @skilllist_name$[6], -, + @skilllist_name$[7], -; + + set @menu, @menu - 1; + if (@skilllist_id[@menu] == 0) + goto L_teachmore2; + + poolskill @skilllist_id[@menu]; + goto L_teachmore2; L_unfocus: -//FIXME + if (countitem("DementiaPotion") > 0) + goto L_unfocus_menu; + + if (MAGIG_FLAGS & MFLAG_KNOWS_UNFOCUS_RECIPE) + goto L_nopotion; + + set MAGIG_FLAGS, MAGIG_FLAGS | MFLAG_HEARD_OF_UNFOCUS_RECIPE; + mes "[Luca the Hunter]"; + mes "\"Unfocussing is one of the harder parts though, because it is sunk in. You see?\""; + next; + mes "\"So to remove that mental focus we will need a special potion.\""; + next; + mes "\"Maybe you should consult some very skilled alchemists.\""; + next; + mes "\"Ah yes, of course you will need a recipe. Although the alchemist usually knows it.\""; + next; + mes "\"The potion is called grimace of dementia. So the alchemist will know for sure.\""; + set MAGIC_FLAGS, MAGIC_FLAGS | MFLAG_KNOWS_UNFOCUS_RECIPE; + menu + "Ok, I will get a grimace of dementia potion", -, + "Alright, be right back!", -; + close; + +L_nopotion: + mes "[Luca the Hunter]"; + mes "\"Hey, You really need that dementia potion for unfocussing.\""; + next; + mes "\"Come back, when you found a suitable alchemist, who can mix such a potion.\""; + next; + goto L_teachmore2; + +L_unfocus_menu: + mes "[Luca the Hunter]"; + mes "\"Ahh, I see you have a dementia potion.\""; + next; + mes "\"What focus would you like to unfocus?\""; + + getactivatedpoolskilllist; + + set @skilllist_id[@skilllist_count], 0; + set @skilllist_name$[@skilllist_count], "Nevermind"; + menu + @skilllist_name$[0], -, + @skilllist_name$[1], -, + @skilllist_name$[2], -, + @skilllist_name$[3], -, + @skilllist_name$[4], -, + @skilllist_name$[5], -, + @skilllist_name$[6], -, + @skilllist_name$[7], -; + + set @menu, @menu - 1; + if (@skilllist_id[@menu] == 0) + goto L_teachmore2; + + unpoolskill @skilllist_id[@menu]; + close; L_teach_brawling: -//FIXME +//TODO close; } -- cgit v1.2.3-70-g09d2 From 6c7dbd1fb03fcd18dd33a3c8852084e677d4d278 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Sat, 1 Jan 2011 14:38:42 +0100 Subject: caul can brew dementia potion for you --- db/item_db.txt | 2 + npc/018-2_Woodland_mining_camp/caul.txt | 337 ++++++++++++++++++++++++++++++-- 2 files changed, 328 insertions(+), 11 deletions(-) (limited to 'npc') diff --git a/db/item_db.txt b/db/item_db.txt index c84abba3..d4514719 100644 --- a/db/item_db.txt +++ b/db/item_db.txt @@ -574,3 +574,5 @@ 4025, YetiClaw, Yeti Claw, 3, 150, 75, 1, , , , , , , , , , , {}, {} 4026, IceCube, Ice Cube, 3, 200, 100, 1, , , , , , , , , , , {}, {} 4027, YetiMask, Yeti Mask, 5, 6000, 3000, 10, , 4, , -10, 0, 2, 256, , 0, 0, {}, {} +4028, DementiaPotion, Dementia Potion, 3, 20, 10, 10, , , , , , 2, , , 0, , {}, {} + diff --git a/npc/018-2_Woodland_mining_camp/caul.txt b/npc/018-2_Woodland_mining_camp/caul.txt index cd166796..c0b84544 100644 --- a/npc/018-2_Woodland_mining_camp/caul.txt +++ b/npc/018-2_Woodland_mining_camp/caul.txt @@ -35,10 +35,11 @@ set @C_monster_oil, 20; set @C_mopox_cure, 21; set @C_nohmask, 22; - set @C_bye, 23; + set @C_dementiapotion, 23; + set @C_bye, 24; - setarray @choice$, "One", "Five", "Ten", "Fifty", "", "", "", ""; - setarray @choice_idx, 1, 5, 10, 50, 0, 0, 0, 0; + setarray @choice$, "One", "Five", "Ten", "Fifty", "", "", "", "", ""; + setarray @choice_idx, 1, 5, 10, 50, 0, 0, 0, 0, 0; set @choices_nr, 4; @@ -69,6 +70,15 @@ L_M_no_mopox_cure: L_M_no_inspector: + if (!(MAGIC_FLAGS & MFLAG_KNOWS_UNFOCUS_RECIPE)) + goto L_M_no_dempo; + + set @choice_idx[@choices_nr], @C_dementiapotion; + set @choice$[@choices_nr], "I would like to brew Dementia Potion"; + set @choices_nr, @choices_nr + 1; + +L_M_no_dempo: + set @choice_idx[@choices_nr], @C_bye; set @choice$[@choices_nr], "Never mind"; set @choices_nr, @choices_nr + 1; @@ -91,6 +101,8 @@ L_M_no_inspector: goto L_mopox_cure_start; if (@choice == @C_nohmask) goto L_NohMask; + if (@choice == @C_dementiapotion) + goto L_DemPotion; if (@choice == @C_bye) goto L_close; @@ -121,12 +133,12 @@ L_CraftLoop: if (@throw >= 5) set @result, 2; if (@throw >= 15) set @result, 3; if (@throw >= 35) set @result, 4; - + if (@result == 1) set @result1, @result1 + 1; if (@result == 2) set @result2, @result2 + 1; if (@result == 3) set @result3, @result3 + 1; if (@result == 4) set @result4, @result4 + 1; - + set @a, @a - 1; if (@a > 0) goto L_CraftLoop; @@ -259,7 +271,7 @@ L_monster_oil_start_brew: "blue", "purple", "green", - "gray"; + "gray"; set @intensity, 1; setarray @intensities$, @@ -691,6 +703,314 @@ L_mopox_cure_win: L_mopox_cure_win_quick: close; +L_DemPotion: + mes "[Caul]"; + mes "\"Ok, you do know this potion is one of the most dangerous potions brewed? My cauldron is empty, you can try it yourself.\""; + next; + mes "Caul goes three steps away and watches your actions carefully."; + menu + "Please explain me what you know about that potion.", L_explain_dempo, + "Ok, I will start brewing.", L_brew_dempo_init, + "Nevermind", -; + close; +L_explain_dempo: + mes "[Caul]"; + mes "\"Hrrm. I have heard of that potion. I hope I can remember all the stuff needed.\""; + next; + mes "\"Basically this potion is a balancing between death and life. You see a balance between knowlegde and forgetting.\""; + next; + mes "\"So to get it balanced, we need ingredients for both sides.\""; + next; + mes "\"For the death and forgetting side we can use bones. Although bones do not work good. Best results we would get with a diseased heart of zombies. Of course we can use undead ears and skulls as well.\""; + next; + mes "\"For the life side we can use fresh mauve herbs. But life stones would be even better. Roots will do as well. Although these must be really fresh to show effect.\""; + next; + mes "\"Brewing such a powerful potion is dangerous. That is why you will need to do it yourself. I will try to assist you as best as I can.\""; + next; + mes "\"I don't know exactly, but there is a slight chance of exploding all time.\""; + next; + mes "\"The color of the mixture will give you a quite good impression what you need to do.\""; + mes "\"And to get that potion working, we need to stabilize it with a pearl at the end\""; + next; + mes "\"Ah yes the color will be in a range of really dark black to bright shining white. In between it is grey in different nuances.\""; + mes "\"When it is calm grey, the finalisation with a pearl will work best, so I have heard.\""; + next; + goto L_DemPotion; + +L_brew_dempo_init: + if ((countitem("BottleOfWater") == 0) || (countitem("Bone") == 0) || (countitem("Lifestone") == 0) || (countitem("Pearl") == 0)) + goto L_dempo_noinit; + delitem "BottleOfWater", 1; + delitem "Bone", 1; + delitem "Lifestone", 1; + + set @finish_dempo, 0; + // color can be either black or white at the beginning. + // with a slight randomness in there. + set @dempo_color, rand(10); + if (rand(2)==0) + set @dempo_color, @dempo_color + 90 ; + mes "To start with that potion you put in the cauldron a bone, a bottle of water and a lifestone."; + next; + goto L_brew_dempo; + +L_dempo_noinit: + mes "[Caul]"; + mes "\"Hrrm. Usually you start that potion with a bone, a bottle of water and a lifestone.\""; + mes "\"I'd propose you do it exactly that way. You see maybe it would even work with a skull and a healing potion, but since we don't know, and I don't want to repair my cauldron again, please don't try other solutions.\""; + next; + mes "\"Please use only this way to start the recipe: a bone, a bottle of water and a lifestone. In this order!\""; + mes "\"Ah, and of course you will need at least one pearl with you. This pearl is needed to finalize the potion.\""; + close; + +L_brew_dempo: + callsub L_check_explosion; + + callsub L_calc_dempo_color; + mes "After a little while of cooking you see its color turning into " + @dempo_color_S$+ "."; + next; + + setarray @choice_idx, 0,0,0,0,0,0,0,0,0,0,0; + setarray @choice$, "","","","","","","","","","",""; + + set @C_root, 12; + set @C_mauve, 13; + set @C_lifestone, 14; + set @C_diseasedheart, 15; + set @C_bone, 16; + set @C_skull, 17; + set @C_undeadear, 18; + set @C_pearl, 19; + set @C_nevermind, 20; + + // counter of avalable answers + set @choices_nr, 0; + + if (countitem("Root") == 0) goto L_noroots; + set @choice_idx[@choices_nr], @C_root; + set @choice$[@choices_nr], "Add a root"; + set @choices_nr, @choices_nr + 1; +L_noroots: + if (countitem("MauveHerb") == 0) goto L_nomauve; + set @choice_idx[@choices_nr], @C_mauve; + set @choice$[@choices_nr], "Add a mauve herb"; + set @choices_nr, @choices_nr + 1; +L_nomauve: + if (countitem("Lifestone") == 0) goto L_nolifestone; + set @choice_idx[@choices_nr], @C_lifestone; + set @choice$[@choices_nr], "Add a lifestone"; + set @choices_nr, @choices_nr + 1; +L_nolifestone: + if (countitem("DiseasedHeart") == 0) goto L_noheart; + set @choice_idx[@choices_nr], @C_diseasedheart; + set @choice$[@choices_nr], "Add a diseased heart"; + set @choices_nr, @choices_nr + 1; +L_noheart: + if (countitem("Bone") == 0) goto L_nobone; + set @choice_idx[@choices_nr], @C_bone; + set @choice$[@choices_nr], "Add a bone"; + set @choices_nr, @choices_nr + 1; +L_nobone: + if (countitem("DiseasedHeart") == 0) goto L_noskull; + set @choice_idx[@choices_nr], @C_skull; + set @choice$[@choices_nr], "Add a skull"; + set @choices_nr, @choices_nr + 1; +L_noskull: + if (countitem("UndeadEar") == 0) goto L_noear; + set @choice_idx[@choices_nr], @C_undeadear; + set @choice$[@choices_nr], "Add an undead ear"; + set @choices_nr, @choices_nr + 1; +L_noear: + if (countitem("Pearl") == 0) goto L_nopearl; + set @choice_idx[@choices_nr], @C_pearl; + set @choice$[@choices_nr], "Finalize with a pearl."; + set @choices_nr, @choices_nr + 1; +L_nopearl: + set @choice_idx[@choices_nr], @C_nevermind; + set @choice$[@choices_nr], "Nevermind and leave"; + + menu + @choice$[0],-, + @choice$[1],-, + @choice$[2],-, + @choice$[3],-, + @choice$[4],-, + @choice$[5],-, + @choice$[6],-, + @choice$[7],-, + @choice$[8],-, + @choice$[9],-, + @choice$[10],-; + + set @menu, @menu - 1; + if (@choice_idx[@menu] == 0) + goto L_brew_dempo; + if ((countitem("Root") != 0) && (@choice_idx[@menu] == @C_root)) + goto L_useroot; + if ((countitem("MauveHerb") != 0) && (@choice_idx[@menu] == @C_mauve)) + goto L_usemauve; + if ((countitem("Lifestone") != 0) && (@choice_idx[@menu] == @C_lifestone)) + goto L_uselifestone; + if ((countitem("DiseasedHeart") != 0) && (@choice_idx[@menu] == @C_diseasedheart)) + goto L_usediseasedheart; + if ((countitem("Bone") != 0) && (@choice_idx[@menu] == @C_bone)) + goto L_usebone; + if ((countitem("Skull") != 0) && (@choice_idx[@menu] == @C_skull)) + goto L_useskull; + if ((countitem("UndeadEar") != 0) && (@choice_idx[@menu] == @C_undeadear)) + goto L_useear; + if ((countitem("Pearl") != 0) && (@choice_idx[@menu] == @C_pearl)) + goto L_usepearl; + if ((@choice_idx[@menu] == @C_nevermind)) + goto L_ask_quit; + + // fallthrough only when player remove the items while in menu, trying to cheat + // the potion will be lost then + mes "\"Do not try to betray me. Come back when you have a better morale.\""; + close; + +L_useroot: + delitem "Root", 1; + set @dempo_color, @dempo_color + 9 + rand(9); + goto L_brew_dempo; + +L_usemauve: + delitem "MauveHerb", 1; + set @dempo_color, @dempo_color + 1 + rand(2); + goto L_brew_dempo; + +L_uselifestone: + delitem "Lifestone", 1; + set @dempo_color, @dempo_color + 3 + rand(4); + goto L_brew_dempo; + +L_usediseasedheart: + delitem "DiseasedHeart", 1; + set @dempo_color, @dempo_color - 35 - rand(25); + goto L_brew_dempo; + +L_usebone: + delitem "Bone", 1; + set @dempo_color, @dempo_color - 3 - rand(3); + goto L_brew_dempo; + +L_useskull: + delitem "Skull", 1; + set @dempo_color, @dempo_color - 9 - rand(9); + goto L_brew_dempo; + +L_useear: + delitem "UndeadEar", 1; + set @dempo_color, @dempo_color - 15 - rand(13); + goto L_brew_dempo; + +L_usepearl: + delitem "Pearl", 1; + //ending it is a little dangerous as well, + // stay calm, when it smashes your fine tuned well done potion. + set @finish_dempo, 1; + callsub L_check_explosion; + // ok now you really did it. Here is your potion: + getitem "DementiaPotion",1; + + mes "[Caul]"; + mes "\"The potion is now ready. It seems as if it worked fine.\""; + next; + mes "\"Ok here is a flask of that potion. I'll care for the rest.\""; + mes "\"I mean it is a very dangerous fluid.\""; + next; + mes "\"See you later, alligator!\""; + close; + +L_ask_quit: + mes "[Caul]"; + mes "\"The potion is not ready. You can't just leave now!\""; + menu + "Please throw away that stupid potion, I'm in a hurry!", -, + "Oh you are right, let me finish it.", L_brew_dempo; + close; + +L_check_explosion: + // set to range [-50 50]; + set @prob, @dempo_color - 50; + + set @prob, ((@prob * @prob) / 80) + 4; + if (@finish_dempo == 0) + goto L_check_exp_nof; + + // square again, so you must be in the middle to get it work there; + // and multiply with 3 so there is definitly no chance to get it directly after starting + set @prob, (@prob * @prob) * 2; +L_check_exp_nof: + + //TODO remove next message: + mes "check explosion: + " +@prob +" / 1000"; + + // in about 95% of the cases anything is fine, so return. + if (rand(1000) > @prob) return; + // in some cases it is not: + // kabooom! + close2; + heal -(Hp/2), 0; + misceffect 5; + misceffect 16; + heal -Hp, 0; + end; + +L_calc_dempo_color: + // @dempo_color_S$ is set in here: + + //really dark black 0-11 + if (@dempo_color < 12) + set @dempo_color_S$, "really dark black"; + + //dark black 12-23 + if ((@dempo_color > 11) && (@dempo_color < 24)) + set @dempo_color_S$, "dark black"; + + //black 24-34 + if ((@dempo_color > 23) && (@dempo_color < 35)) + set @dempo_color_S$, "black"; + + //dark grey with little dark spots 35-41 + if ((@dempo_color > 34) && (@dempo_color < 42)) + set @dempo_color_S$, "dark grey with little dark spots"; + + //dark grey 42-47 + if ((@dempo_color > 41) && (@dempo_color < 48)) + set @dempo_color_S$, "dark grey"; + + //calm grey 48-52 + if ((@dempo_color > 47) && (@dempo_color < 53)) + set @dempo_color_S$, "calm grey"; + + //light grey 53-58 + if ((@dempo_color > 52) && (@dempo_color < 59)) + set @dempo_color_S$, "light grey"; + + //light grey with little light spots 59-65 + if ((@dempo_color > 58) && (@dempo_color < 66)) + set @dempo_color_S$, "light grey with little light spots"; + + //white 66-76 + if ((@dempo_color > 65) && (@dempo_color < 77)) + set @dempo_color_S$, "white"; + + //shining white 77-88 + if ((@dempo_color > 76) && (@dempo_color < 89)) + set @dempo_color_S$, "shining white"; + + //bright shining white 77-100 + if (@dempo_color > 88) + set @dempo_color_S$, "bright shining white"; + + return; + +L_NohMask: + mes "[Caul]"; + mes "\"I'm sorry, but I didn't. I'm staying in town. Try asking one of the miners.\""; + close; + L_close: close; @@ -699,9 +1019,4 @@ S_Update_Var: (QUEST_Forestbow_state & ~(@Q_MASK) | (@Q_status << @Q_SHIFT)); return; - -L_NohMask: - mes "[Caul]"; - mes "\"I'm sorry, but I didn't. I'm staying in town. Try asking one of the miners.\""; - close; } -- cgit v1.2.3-70-g09d2 From 630c8f6e73f509efcae5bf3274619ceb65cabeb2 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Sat, 1 Jan 2011 17:16:42 +0100 Subject: bug fix in scripting language you should not write if(!getskilllv(FOO)) please write if(!(getskilllv(FOO))) instead. gwendolin only: fix to the right const. (there is a difference in const_db and in skill_db) --- npc/011-1_Woodland/auldsbel.txt | 2 +- npc/013-2_Magic_house/wizard.txt | 2 +- npc/016-1_Woodland/gwendolyn.txt | 14 +++++++------- 3 files changed, 9 insertions(+), 9 deletions(-) (limited to 'npc') diff --git a/npc/011-1_Woodland/auldsbel.txt b/npc/011-1_Woodland/auldsbel.txt index 0b2174f1..1c6487c0 100644 --- a/npc/011-1_Woodland/auldsbel.txt +++ b/npc/011-1_Woodland/auldsbel.txt @@ -516,7 +516,7 @@ L_question: goto L_main_menu; L_Q_astralsoul: - if (!getskilllv(SKILL_ASTRAL_SOUL)) + if (!(getskilllv(SKILL_ASTRAL_SOUL))) goto L_Q_astralsoul_L; next; mes "[Auldsbel the Wizard]"; diff --git a/npc/013-2_Magic_house/wizard.txt b/npc/013-2_Magic_house/wizard.txt index 616c5da1..f3964cc0 100644 --- a/npc/013-2_Magic_house/wizard.txt +++ b/npc/013-2_Magic_house/wizard.txt @@ -45,7 +45,7 @@ L_new_student: next; // check if the player has the knowledge of any skill - if (!getskilllv(SKILL_POOL)) + if (!(getskilllv(SKILL_POOL))) menu "That would be very kind of you!", L_teachspell, "No, but thank you!", nothx; diff --git a/npc/016-1_Woodland/gwendolyn.txt b/npc/016-1_Woodland/gwendolyn.txt index 6fada83a..c81fefd1 100644 --- a/npc/016-1_Woodland/gwendolyn.txt +++ b/npc/016-1_Woodland/gwendolyn.txt @@ -9,14 +9,14 @@ //# Reward: 10000 Exp //# Quest2: Hitting the Target //# Needed: win the minigame and hit the target depending on the wind, dex and agi -//# Reward: Skill Hawk's Eye +//# Reward: Skill Hawk's Eye //# //# Variables used: @QUEST_Forestbow_state, nibble 6 //# //# This nibble will have these values: //# 0, state0: never talked to Gwendolyn //# 1, state1: talked with her, but not a student yet -//# 2, state2: student, but no bow (from alan of course) +//# 2, state2: student, but no bow (from alan of course) //# 3, state3: heard first lesson, she is waiting for the snake eggs //# 4, state4: quest done, but too young, or having the ability for skills not learned //# 5, state5: you are ready to do the targeting minigame @@ -143,7 +143,7 @@ state3: state4: if (baselevel < @BASELEVEL_GAME) goto not_ready; - if (!getskilllv(SKILL_POOL)) goto not_ready; + if (!(getskilllv(SKILL_POOL))) goto not_ready; mes "Gwendolyn takes an analyzing look at you. Then she noods."; next; @@ -220,7 +220,7 @@ game: if (@wp_sq < 19) goto wp3; goto wp4; - + wp0: mes "[Gwendolyn Bowmaker]"; mes "\"You're lucky. It is windless now.\""; @@ -411,7 +411,7 @@ target_hit: set @Q_hawkseye, 6; callsub S_Update_Var; - setskill AC_OWL, 1; + setskill SKILL_MALLARDS_EYE, 1; getexp @QUEST_HAWK_EXP, 0; mes "\"You proved that you are worthy to call yourself a graduate of the School of Archery.\""; @@ -491,7 +491,7 @@ S_getDirection: // returns an index where these parameters are in relation to origin // 123 // 456 whereas 5 is the origin. (3,6,9 there is paramX>0); (1,2,3 there is paramY>0) - // 789 + // 789 //first check the quadrants and after check more precisely if(@paramX>0 && @paramY>0) set @returnIndex, 3; if(@paramX>0 && @paramY<0) set @returnIndex, 9; @@ -511,7 +511,7 @@ S_getDirection: if ( (@paramY < 0) && (@paramX >= @paramY/2) && (-@paramX >= @paramY/2) ) set @returnIndex, 8; //check the origin, because the origin is found by the "straight" lines as well. (should not, but is.. maybe a bug?) - if( @paramX==0 && @paramY==0 ) set @returnIndex, 5; + if( @paramX==0 && @paramY==0 ) set @returnIndex, 5; return; } -- cgit v1.2.3-70-g09d2 From c2da0b33fdf6138e7441b25f46714705832fc524 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Sat, 1 Jan 2011 17:18:49 +0100 Subject: Nurse fully done, no todos in there --- npc/009-2_Hurnscald/nurse.txt | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) (limited to 'npc') diff --git a/npc/009-2_Hurnscald/nurse.txt b/npc/009-2_Hurnscald/nurse.txt index 8262bf85..f4d5df40 100644 --- a/npc/009-2_Hurnscald/nurse.txt +++ b/npc/009-2_Hurnscald/nurse.txt @@ -47,7 +47,6 @@ if (@Q_poison == 3) goto state3; if (@Q_poison == 2) goto state2; if (@Q_poison == 1) goto state1; - mes "TODO: remove: skill check: " + getskilllv(SKILL_POOL); if (getskilllv(SKILL_POOL)) goto state0; L_Usual: @@ -237,10 +236,6 @@ L_Game: set @vnIndex, (@vnNeed-@offset) /@divisor; set @stIndex, (@stNeed-@offset) /@divisor; - //mes "TODO REMOVE: needs" + @hlNeed + " " + @vnNeed + " " + @stNeed; - //mes "TODO REMOVE: @count:" + @count + " @offset: " + @offset + " @desc_length" + @desc_length +" @divisor" +@divisor; - //mes "TODO REMOVE: Indices" + @hlIndex + " " + @vnIndex + " " + @stIndex; - mes "[Nurse]"; mes "\"I guess you need " + @desc$[@hlIndex] + " of the healing potion.\""; next; @@ -251,16 +246,17 @@ L_Game: if(@hlNeed/@vnNeed > 1 ) mes "\"I see that the healing potions are needed at least " + @hlNeed/@vnNeed + " times as much as the venom.\""; if(@vnNeed/@hlNeed > 1 ) mes "\"I see that the venom extracts are needed at least " + @vnNeed/@hlNeed + " times as much as the healing potions.\""; - next; + if ( (@hlNeed/@vnNeed > 1 ) || (@vnNeed/@hlNeed > 1 )) next; if(@stNeed/@vnNeed > 1 ) mes "\"I see that the stabilizer is needed at least " + @stNeed/@vnNeed + " times as much as the venom extracts.\""; if(@vnNeed/@stNeed > 1 ) mes "\"I see that the venom extracts are needed at least " + @vnNeed/@stNeed + " times as much as the stabilizer.\""; - next; + if ((@vnNeed/@stNeed > 1 ) || (@stNeed/@vnNeed > 1 )) next; if(@stNeed/@hlNeed > 1 ) mes "\"I see that the stabilizer is needed at least " + @stNeed/@hlNeed + " times as much as the healing potions.\""; if(@hlNeed/@stNeed > 1 ) mes "\"I see that the healing potions are needed at least " + @hlNeed/@stNeed + " times as much as the stabilizer.\""; - next; + if ((@hlNeed/@stNeed > 1 ) || (@stNeed/@hlNeed > 1 )) next; +L_choosePut: set @max, @count+@offset-1; set @min, @offset; mes "\"My scale goes up to " + @max + ". I suggest to put at least " + @min +" drops on the scale.\""; @@ -292,7 +288,7 @@ L_Game: next; mes "The nurse take a scary looking syringe out of a drawer and swabs your arm with disinfection dabber."; next; - mes "Then she stings the syringe in your vein and pushs it down. After a few seconds, your heart starts pounding quicker and you began to sweat all over your body"; + mes "Then she stings the syringe in your vein and pushs it down. After a few seconds, your heart starts pounding quicker and you began to sweat all over your body."; next; mes "[Nurse]"; mes "\"Drink the antidote!\""; @@ -398,9 +394,9 @@ allcorrect: next; getexp @ANTIDOTE, 0; setskill TMW_POISON_RESISTANCE, 1; - mes "TODO: set @Q_poison, 7"; - mes "TODO: make close here:"; - //close; + set @Q_poison, 7; + callsub S_Update_Var; + close; notallcorrect: mes "[Nurse]"; @@ -512,11 +508,14 @@ L_Load_Need: return; L_Game_tooless: - //TODO - mes ""; + mes "[Nurse]"; + mes "\"That is nothing! So you need to put in there at least a small amount."; + goto L_choosePut; + L_Game_toomuch: - //TODO - mes ""; + mes "[Nurse]"; + mes "\"This would be way too much for my scale. I don't want to break it.\""; + goto L_choosePut; } -- cgit v1.2.3-70-g09d2 From d44de15950ffe4cf587d0ae80753b2f2da4586a8 Mon Sep 17 00:00:00 2001 From: toni Date: Sun, 2 Jan 2011 11:26:32 -0200 Subject: Add Speed Skill Teacher Miriam. Author: toni --- npc/006-1_Desert_mountains/_import.txt | 1 + npc/006-1_Desert_mountains/miriam.txt | 141 +++++++++++++++++++++++++++++++++ npc/006-1_Desert_mountains/pachua.txt | 10 ++- npc/functions/clear_vars.txt | 5 ++ 4 files changed, 156 insertions(+), 1 deletion(-) create mode 100644 npc/006-1_Desert_mountains/miriam.txt (limited to 'npc') diff --git a/npc/006-1_Desert_mountains/_import.txt b/npc/006-1_Desert_mountains/_import.txt index 4b1bddea..724fb642 100644 --- a/npc/006-1_Desert_mountains/_import.txt +++ b/npc/006-1_Desert_mountains/_import.txt @@ -2,4 +2,5 @@ map: 006-1.gat npc: npc/006-1_Desert_mountains/_mobs.txt npc: npc/006-1_Desert_mountains/_warps.txt npc: npc/006-1_Desert_mountains/mika.txt +npc: npc/006-1_Desert_mountains/miriam.txt npc: npc/006-1_Desert_mountains/pachua.txt diff --git a/npc/006-1_Desert_mountains/miriam.txt b/npc/006-1_Desert_mountains/miriam.txt new file mode 100644 index 00000000..0e937535 --- /dev/null +++ b/npc/006-1_Desert_mountains/miriam.txt @@ -0,0 +1,141 @@ +// NPC place is provisory +006-1.gat,74,95,0 script Miriam 175,{ + + if (getskilllv(SKILL_SPEED)) goto L_fast; + if (getequipid(equip_torso) < 0) goto L_naked; + if (QUEST_MIRIAM_run != 0) goto L_checktime; + if (QUEST_MIRIAM_start != 0) goto L_wasting; + +L_teach: + mes "[Miriam]"; + mes "\"Hey, what is your problem? Why were you running like that? Are you hurt? Why so slow? I have seen slimes way faster than this!\""; + next; + menu + "What? Slow down! One question per time...", -, + "It seems like you need a rest.", L_rest; + + set @agi, readparam(bAgi); + set @torso$, getitemname(getequipid(equip_torso)); + set @weight, MaxWeight/Weight; + if (@weight < 3) L_heavyweight; + if (@agi < 90) goto L_slow; + if (countitem("SteelShield") > 0 || countitem("WarlordHelmet") > 0 || countitem("CrusadeHelmet") > 0 || countitem("WarlordPlate") > 0 || countitem("KnightsHelmet") > 0 || countitem("InfantryHelmet") > 0 || countitem("ChainmailShirt") > 0) goto L_heavymetal; + goto L_offer; + +L_heavyweight: + mes "[Miriam]"; + mes "\"Wow... Why do you carry so many things with you? You must be carrying more than one third of your own weight! I can't understand it... \""; + close; + +L_heavymetal: + mes "[Miriam]"; + mes "\"Hmm... I see... Another lazy slow warrior wasting his strenght carrying kilos of metal clothes... You people are very popular these days... \""; + next; + mes "\"Why no one sees the great advantages of a beautiful, flexible, lightweight armor nowadays? \""; + close; + +L_slow: + mes "[Miriam]"; + mes "Oh, wait, wait... " +@agi+ " Agility? Are you serious? What do you do with all your Character points? Put them all to 'Strenght'? Really... I dont even want to know... \""; + close; + +L_offer: + mes "[Miriam]"; + mes "\"Hmm! Even though you move like a snail, you look great on these clothes! They look very confortable too... And it seems like you are not carrying too much weight.\""; + next; + if (!(getskilllv(SKILL_POOL))) goto L_noskill; + menu + "Yes, I really like this " +@torso$+ ".",-; + next; + mes "[Miriam]"; + mes "\"I see. I like the way you distributed your Character Points... " +@agi+ " points to Agility! You really know how to prepare yourself to a good fight!\""; + next; + mes "\"Well... I do not do this very often, but you really have a potential to be a good fighter and moving the way you do will not help! \""; + next; + mes "\"So, if you pass a small test I can teach you a skill! It will be very useful for you, since it can increase your running speed.\""; + next; + menu + "I'm in! What kind of test is it?",-, + "I dont think I need more speed right now",L_giveup; + next; + mes "[Miriam]"; + mes "\"Great! The test is simple. You need to run as fast as you can from the place where I am sitting to the mountains and talk to Pachua, the chief. When you get there and talk to Pachua, he will send a special smoke signal to me, so I can know how much time it took for you to go there.\""; + next; + mes "\"If you make it in a good time, I will teach you the special speeding skill, if not, you can always try again. So, are you ready?\""; + next; + menu + "Yes, let's do it!",-, + "No, I need to stretch my muscles first!",L_stretch; + + close2; + message strcharinfo(0), "Miriam quickly grabs your arm and pull you to the place where she is sitting."; + // Warp the player to the place where the NPC is defined, so he can't cheat. + warp "006-1.gat",75,101; + npctalk "Run " +strcharinfo(0)+ ", run!"; + set QUEST_MIRIAM_start, gettimetick(1); + end; + +L_naked: + mes "[Miriam]"; + mes "\"Hmmm?! Please put on some clothes before talking to me.\""; + close; + +L_rest: + mes "[Miriam]"; + mes "\"I don't need to rest. In fact, it seems like you need some serious workout sessions to improve your physical skills!\""; + close; + +L_noskill: + mes "[Miriam]"; + mes "\"For a person like you, I could even teach a useful skill! Too bad you don't have the basic abillities to learn it...\""; + close; + +L_giveup: + mes "[Miriam]"; + mes "\"Oh, that is bad... But if you change your mind, come back!\""; + close; + +L_stretch: + mes "[Miriam]"; + mes "\"Ok. Good idea... Stretching exercises can increase your flexibility and even prevent injuries!\""; + close; + +L_wasting: + mes "[Miriam]"; + mes "\"Don't waste your time talking to me! RUN and talk to Pachua!\""; + close; + +L_checktime: + if (QUEST_MIRIAM_run > 60) goto L_tryagain; + if (QUEST_MIRIAM_run <= 60) goto L_goodjob; + +L_tryagain: + mes "[Miriam]"; + mes "\"You needed " + QUEST_MIRIAM_run + " seconds to reach Pachua. It is not enough.\""; + set QUEST_MIRIAM_run, 0; + close; + +L_goodjob: + mes "[Miriam]"; + mes "\"Great job! You needed " + QUEST_MIRIAM_run + " seconds to reach Pachua. Very impressive for a person like you.\""; + next; + mes "\"Now I need you to relax. Do NOT move. This teaching process can be painful sometimes.\""; + next; + mes "Miriam stares into your eyes and starts to scream some strange words very close to your ears."; + next; + mes "You feel dizzy and as soon as you move your head and look to the ground, Miriam pushes you hard, sending you meters away from her."; + close2; +// warp player a few tiles back - Write it when the NPC place is defined + set QUEST_MIRIAM_run, 0; + message strcharinfo(0), "[You gain 2500 experience points]"; + message strcharinfo(0), "[You learned Speed Skill]"; + setskill SKILL_SPEED, 1; + getexp 2500, 0; + close; + +L_fast: + mes "[Miriam]"; + mes "\"I hope you make a good use of your new skill... Take care!\""; + close; + +} diff --git a/npc/006-1_Desert_mountains/pachua.txt b/npc/006-1_Desert_mountains/pachua.txt index f4d2a653..b59de60d 100644 --- a/npc/006-1_Desert_mountains/pachua.txt +++ b/npc/006-1_Desert_mountains/pachua.txt @@ -4,10 +4,12 @@ set @wants_leather_patch, QUEST_Forestbow_state & NIBBLE_4_MASK; + if (QUEST_MIRIAM_start != 0) goto L_smoke; + mes "[Chief Pachua]"; mes "\"How!\""; next; - + if (getequipid(equip_head) == 643 || getequipid(equip_head) == 644) goto L_WearingCowboy; if (getequipid(equip_legs) == 642) goto L_WearingChaps; @@ -195,4 +197,10 @@ L_TooMany: mes "[Chief Pachua]"; mes "\"You don't have room for a leather patch. Come back later.\""; close; + +L_smoke: + message strcharinfo(0), "Parua quickly inhales from his pipe and releases a ring of smoke towards the sky!"; + set QUEST_MIRIAM_run, gettimetick(1) - QUEST_MIRIAM_start; + set QUEST_MIRIAM_start, 0; + end; } diff --git a/npc/functions/clear_vars.txt b/npc/functions/clear_vars.txt index ae83968f..a4c24ae5 100644 --- a/npc/functions/clear_vars.txt +++ b/npc/functions/clear_vars.txt @@ -94,6 +94,11 @@ function script ClearVariables { set Xmas2010, 0; set Golbenez_Inn_Cost, 0; + // these two vars are only used for time measurement. + // so it won't be needed after your run through the deserts. + set QUEST_MIRIAM_run, 0; + set QUEST_MIRIAM_start, 0; + if (#BankAccount < 0) goto FixBank; return; -- cgit v1.2.3-70-g09d2 From cd2325a40b2a3b38fa48c63f9e0935b3e361b542 Mon Sep 17 00:00:00 2001 From: Jessica Tölke Date: Sun, 2 Jan 2011 15:06:10 +0100 Subject: luca: teaches now the skill brawling --- npc/001-1_Tulimshar/luca.txt | 98 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 89 insertions(+), 9 deletions(-) (limited to 'npc') diff --git a/npc/001-1_Tulimshar/luca.txt b/npc/001-1_Tulimshar/luca.txt index b37e2123..f019cd7c 100644 --- a/npc/001-1_Tulimshar/luca.txt +++ b/npc/001-1_Tulimshar/luca.txt @@ -2,6 +2,8 @@ 001-1.gat,108,55,0 script Luca 102,{ + set @EXP_BRAWLING, 2000; + if (BaseLevel >= 35) goto L_teach; @@ -237,20 +239,71 @@ L_teachmore: next; L_teachmore2: + setarray @choices, 0,0,0,0,0; + setarray @choice$, "", "", "", "", ""; + set @choice_nr, 0; + + set @C_focus, 1; + set @C_unfocus, 2; + set @C_teachbrawling, 3; + set @C_teachnothing, 4; + set @C_explainagain, 5; + set @C_nvm, 6; + + getactivatedpoolskilllist; + if (!((getskilllv(SKILL_POOL) - @skilllist_count) > 0)) goto L_teachmore2_nof; + getunactivatedpoolskilllist; + if (@skilllist_count == 0) goto L_teachmore2_nof; + set @choices[@choice_nr], @C_focus; + set @choice$[@choice_nr], "I would like to focus."; + set @choice_nr, @choice_nr + 1; +L_teachmore2_nof: + + getactivatedpoolskilllist; + if (@skilllist_count == 0) goto L_teachmore2_nounf; + set @choices[@choice_nr], @C_unfocus; + set @choice$[@choice_nr], "I would like to unfocus."; + set @choice_nr, @choice_nr + 1; +L_teachmore2_nounf: + + if (!(getskilllv(SKILL_BRAWLING))) + set @choices[@choice_nr], @C_teachbrawling; + if (getskilllv(SKILL_BRAWLING)) + set @choices[@choice_nr], @C_teachnothing; + set @choice$[@choice_nr], "Can you teach me a skill?"; + set @choice_nr, @choice_nr + 1; + + set @choices[@choice_nr], @C_explainagain; + set @choice$[@choice_nr], "Can you explain skills again?"; + set @choice_nr, @choice_nr + 1; + + set @choices[@choice_nr], @C_nvm; + set @choice$[@choice_nr], "I'm done for now, thanks!"; + set @choice_nr, @choice_nr + 1; + menu - "I would like to focus.", L_focus, - "I would like to unfocus.", L_unfocus, - "Can you teach me a skill?", L_teach_brawling, - "Can you explain skills again?", L_teachmore_explain, - "I'm done for now, thanks!",-; - close; + @choice$[0],-, + @choice$[1],-, + @choice$[2],-, + @choice$[3],-, + @choice$[4],-; + + set @menu, @menu - 1; + if (@choices[@menu] == 0) close; + if (@choices[@menu] == @C_focus) goto L_focus; + if (@choices[@menu] == @C_unfocus) goto L_unfocus; + if (@choices[@menu] == @C_teachbrawling) goto L_teach_brawling; + if (@choices[@menu] == @C_teachnothing) goto L_teach_nothing; + if (@choices[@menu] == @C_explainagain) goto L_teachmore_explain; + if (@choices[@menu] == @C_nvm) close; + close; L_teachmore_explain: callsub S_explain; goto L_teachmore2; L_focus: - getpoolskilllist; + getunactivatedpoolskilllist; set @skilllist_id[@skilllist_count], 0; set @skilllist_name$[@skilllist_count], "Nevermind"; menu @@ -277,7 +330,6 @@ L_unfocus: if (MAGIG_FLAGS & MFLAG_KNOWS_UNFOCUS_RECIPE) goto L_nopotion; - set MAGIG_FLAGS, MAGIG_FLAGS | MFLAG_HEARD_OF_UNFOCUS_RECIPE; mes "[Luca the Hunter]"; mes "\"Unfocussing is one of the harder parts though, because it is sunk in. You see?\""; next; @@ -308,6 +360,9 @@ L_unfocus_menu: next; mes "\"What focus would you like to unfocus?\""; + if (countitem("DementiaPotion") == 0) goto L_nopotion; + delitem "DementiaPotion", 1; + getactivatedpoolskilllist; set @skilllist_id[@skilllist_count], 0; @@ -330,7 +385,32 @@ L_unfocus_menu: close; L_teach_brawling: -//TODO + mes "[Luca the Hunter]"; + mes "\"Well, yes, I can teach you brawling. It's a nice thing, if you have nothing left but your hands to defend yourself.\""; + next; + mes "He is laughing."; + mes "\"And is handy, if some sapling starts getting naughty.\""; + next; + mes "He rises his hand in front of his face and clenches his fists."; + mes "\"Ok, let's go! Hold your hands like this.\""; + next; + mes "......."; + next; + mes "Some bruises later."; + mes "\"Great! I think, you got it.\""; + next; + set @SUP_id, SKILL_BRAWLING; + set @SUP_lvl, 1; + set @SUP_name$, "Brawling"; + set @SUP_xp, @EXP_BRAWLING; + callfunc "SkillUp"; close; +L_teach_nothing: + mes "[Luca the Hunter]"; + mes "\"I was able to teach you brawling. For other professions you should visit someone else.\""; + next; + mes "\"You see, I am an adventurer. Everybody has his tricks. But you really should visit someone, who is a teacher, not an adventurer now.\""; + next; + goto L_teachmore2; } -- cgit v1.2.3-70-g09d2 From 2f3127f3996d9b401b2f6cf680b511a6f2525e9d Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Mon, 3 Jan 2011 01:51:52 +0100 Subject: fixed missing goto --- npc/006-1_Desert_mountains/miriam.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'npc') diff --git a/npc/006-1_Desert_mountains/miriam.txt b/npc/006-1_Desert_mountains/miriam.txt index 0e937535..e119e0f9 100644 --- a/npc/006-1_Desert_mountains/miriam.txt +++ b/npc/006-1_Desert_mountains/miriam.txt @@ -17,7 +17,7 @@ L_teach: set @agi, readparam(bAgi); set @torso$, getitemname(getequipid(equip_torso)); set @weight, MaxWeight/Weight; - if (@weight < 3) L_heavyweight; + if (@weight < 3) goto L_heavyweight; if (@agi < 90) goto L_slow; if (countitem("SteelShield") > 0 || countitem("WarlordHelmet") > 0 || countitem("CrusadeHelmet") > 0 || countitem("WarlordPlate") > 0 || countitem("KnightsHelmet") > 0 || countitem("InfantryHelmet") > 0 || countitem("ChainmailShirt") > 0) goto L_heavymetal; goto L_offer; -- cgit v1.2.3-70-g09d2 From 2f0982dbc2c2c9df46af6376d607d1c63f02a2c8 Mon Sep 17 00:00:00 2001 From: Jessica Tölke Date: Mon, 3 Jan 2011 19:34:16 +0100 Subject: setting reward from cindy, adding debug pssibility in angela --- npc/031-1_NivalisPort/angelaOutside.txt | 8 ++++++++ npc/031-3_Cave/cindyCave.txt | 29 ++++++++++------------------- 2 files changed, 18 insertions(+), 19 deletions(-) (limited to 'npc') diff --git a/npc/031-1_NivalisPort/angelaOutside.txt b/npc/031-1_NivalisPort/angelaOutside.txt index b10bb5f9..ae5b6bfa 100644 --- a/npc/031-1_NivalisPort/angelaOutside.txt +++ b/npc/031-1_NivalisPort/angelaOutside.txt @@ -123,11 +123,19 @@ S_Update_Mask: menu "close", L_close, "reset quest", -, + "skip yeti battle", yeti, "magic", magic; set @rescue_Cindy, 0; callsub S_Update_Mask; mes "quest variable is now " + @rescue_Cindy; close; + +yeti: + set @rescue_Cindy, 2; + callsub S_Update_Mask; + mes "quest variable is now " + @rescue_Cindy; + close; + L_close: close; diff --git a/npc/031-3_Cave/cindyCave.txt b/npc/031-3_Cave/cindyCave.txt index 029ea00d..131db3c8 100644 --- a/npc/031-3_Cave/cindyCave.txt +++ b/npc/031-3_Cave/cindyCave.txt @@ -66,12 +66,6 @@ L_Try_Cage: startnpctimer; goto L_Exit; -//TODO: remove - mes "DEBUG: ADD YETIFIGHT HERE, QUEST VARIABLE INCREASED"; - set @rescue_Cindy, 2; - callsub S_Update_Mask; - close; - L_Exit: close; @@ -89,26 +83,24 @@ L_Reward: getinventorylist; if (@inventorylist_count == 100) goto L_Full_Inv; - set @reward, rand(2); - if (@reward == 1) goto L_Wizard_Hat; - //TODO: set right, when quarterstaff is in item_db - //getitem "WoodenStaff", 1; - mes "DEBUG: GET ACORN INSTEAD OF WOODENSTAFF"; - getitem "acorn", 1; + set @reward, rand(15); + if (@reward < 10) goto L_Wizard_Hat; + getitem "WoodenStaff", 1; + set @rescue_Cindy, 3; + callsub S_Update_Mask; goto L_Visit; L_Wizard_Hat: - //TODO: set right, when quarterstaff is in item_db - //getitem "BugLeg", 1; - mes "DEBUG: GET BUGLEG INSTEAD OF WIZARDHAT"; - getitem "acorn", 1; + // get a wizard hat in one of the ten colors - no white + setarray @wizardhats[0], 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209; + getitem @wizardhats[@reward], 1; + set @rescue_Cindy, 3; + callsub S_Update_Mask; L_Visit: mes "\"Thank you so much, please come to my home. It's the house at the beach.\""; next; mes "\"I'm sure, my mother want to thank you as well.\""; - set @rescue_Cindy, 3; - callsub S_Update_Mask; close; L_Please_Visit: @@ -152,7 +144,6 @@ L_NextWave: set $@FIGHT_YETI_WAVE, $@FIGHT_YETI_WAVE + 1; if ($@FIGHT_YETI_WAVE > 10 && $@YETI_COUNT == 0) goto L_CleanUp; if ($@FIGHT_YETI_WAVE > 10) goto L_Return_1; -//TODO: adjust number of yetis spawned set $@FIGHT_YETI_NUMBER, (1 + (1 * $@FIGHT_YETI_WAVE) + (2 * $@FIGHT_YETI_PLAYER_COUNT))/4; set $@YETI_COUNT, $@YETI_COUNT + $@FIGHT_YETI_NUMBER; -- cgit v1.2.3-70-g09d2 From 9b262cd983c37405c3d20a508bf1d0f78c53345f Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Mon, 3 Jan 2011 20:48:08 +0100 Subject: setting miriam to a new map 032-1 That map is reachable when you go west of pachua through that little cave. --- data/006-1.wlk | Bin 22504 -> 22504 bytes data/032-1.wlk | Bin 0 -> 10004 bytes data/032-3.wlk | Bin 0 -> 16004 bytes data/resnametable.txt | 3 + npc/006-1_Desert_mountains/_import.txt | 1 - npc/006-1_Desert_mountains/_warps.txt | 1 + npc/006-1_Desert_mountains/miriam.txt | 141 -------------------------------- npc/016-1_Woodland/_import.txt | 2 +- npc/032-1_Outback/_import.txt | 4 + npc/032-1_Outback/_mobs.txt | 7 ++ npc/032-1_Outback/_warps.txt | 3 + npc/032-1_Outback/miriam.txt | 142 +++++++++++++++++++++++++++++++++ npc/032-3_Cave/_import.txt | 3 + npc/032-3_Cave/_mobs.txt | 7 ++ npc/032-3_Cave/_warps.txt | 4 + npc/_import.txt | 2 + 16 files changed, 177 insertions(+), 143 deletions(-) create mode 100644 data/032-1.wlk create mode 100644 data/032-3.wlk delete mode 100644 npc/006-1_Desert_mountains/miriam.txt create mode 100644 npc/032-1_Outback/_import.txt create mode 100644 npc/032-1_Outback/_mobs.txt create mode 100644 npc/032-1_Outback/_warps.txt create mode 100644 npc/032-1_Outback/miriam.txt create mode 100644 npc/032-3_Cave/_import.txt create mode 100644 npc/032-3_Cave/_mobs.txt create mode 100644 npc/032-3_Cave/_warps.txt (limited to 'npc') diff --git a/data/006-1.wlk b/data/006-1.wlk index 49ddb542..680b6096 100644 Binary files a/data/006-1.wlk and b/data/006-1.wlk differ diff --git a/data/032-1.wlk b/data/032-1.wlk new file mode 100644 index 00000000..007631fd Binary files /dev/null and b/data/032-1.wlk differ diff --git a/data/032-3.wlk b/data/032-3.wlk new file mode 100644 index 00000000..235ddaa1 Binary files /dev/null and b/data/032-3.wlk differ diff --git a/data/resnametable.txt b/data/resnametable.txt index 6a1efd92..cd3404e8 100644 --- a/data/resnametable.txt +++ b/data/resnametable.txt @@ -68,4 +68,7 @@ 031-1.gat#031-1.wlk# 031-2.gat#031-2.wlk# 031-3.gat#031-3.wlk# +032-1.gat#032-1.wlk# +032-3.gat#032-3.wlk# + botcheck.gat#botcheck.wlk# diff --git a/npc/006-1_Desert_mountains/_import.txt b/npc/006-1_Desert_mountains/_import.txt index 724fb642..4b1bddea 100644 --- a/npc/006-1_Desert_mountains/_import.txt +++ b/npc/006-1_Desert_mountains/_import.txt @@ -2,5 +2,4 @@ map: 006-1.gat npc: npc/006-1_Desert_mountains/_mobs.txt npc: npc/006-1_Desert_mountains/_warps.txt npc: npc/006-1_Desert_mountains/mika.txt -npc: npc/006-1_Desert_mountains/miriam.txt npc: npc/006-1_Desert_mountains/pachua.txt diff --git a/npc/006-1_Desert_mountains/_warps.txt b/npc/006-1_Desert_mountains/_warps.txt index 823e937e..32d267e7 100644 --- a/npc/006-1_Desert_mountains/_warps.txt +++ b/npc/006-1_Desert_mountains/_warps.txt @@ -32,3 +32,4 @@ 006-1.gat,38,121 warp ToCave -1,-1,006-3.gat,38,122 006-1.gat,74,90 warp ToCave -1,-1,006-3.gat,74,91 006-1.gat,51,90 warp ToCave -1,-1,006-3.gat,51,91 +006-1.gat,30,123 warp ToCave -1,-1,032-3.gat,128,31 diff --git a/npc/006-1_Desert_mountains/miriam.txt b/npc/006-1_Desert_mountains/miriam.txt deleted file mode 100644 index e119e0f9..00000000 --- a/npc/006-1_Desert_mountains/miriam.txt +++ /dev/null @@ -1,141 +0,0 @@ -// NPC place is provisory -006-1.gat,74,95,0 script Miriam 175,{ - - if (getskilllv(SKILL_SPEED)) goto L_fast; - if (getequipid(equip_torso) < 0) goto L_naked; - if (QUEST_MIRIAM_run != 0) goto L_checktime; - if (QUEST_MIRIAM_start != 0) goto L_wasting; - -L_teach: - mes "[Miriam]"; - mes "\"Hey, what is your problem? Why were you running like that? Are you hurt? Why so slow? I have seen slimes way faster than this!\""; - next; - menu - "What? Slow down! One question per time...", -, - "It seems like you need a rest.", L_rest; - - set @agi, readparam(bAgi); - set @torso$, getitemname(getequipid(equip_torso)); - set @weight, MaxWeight/Weight; - if (@weight < 3) goto L_heavyweight; - if (@agi < 90) goto L_slow; - if (countitem("SteelShield") > 0 || countitem("WarlordHelmet") > 0 || countitem("CrusadeHelmet") > 0 || countitem("WarlordPlate") > 0 || countitem("KnightsHelmet") > 0 || countitem("InfantryHelmet") > 0 || countitem("ChainmailShirt") > 0) goto L_heavymetal; - goto L_offer; - -L_heavyweight: - mes "[Miriam]"; - mes "\"Wow... Why do you carry so many things with you? You must be carrying more than one third of your own weight! I can't understand it... \""; - close; - -L_heavymetal: - mes "[Miriam]"; - mes "\"Hmm... I see... Another lazy slow warrior wasting his strenght carrying kilos of metal clothes... You people are very popular these days... \""; - next; - mes "\"Why no one sees the great advantages of a beautiful, flexible, lightweight armor nowadays? \""; - close; - -L_slow: - mes "[Miriam]"; - mes "Oh, wait, wait... " +@agi+ " Agility? Are you serious? What do you do with all your Character points? Put them all to 'Strenght'? Really... I dont even want to know... \""; - close; - -L_offer: - mes "[Miriam]"; - mes "\"Hmm! Even though you move like a snail, you look great on these clothes! They look very confortable too... And it seems like you are not carrying too much weight.\""; - next; - if (!(getskilllv(SKILL_POOL))) goto L_noskill; - menu - "Yes, I really like this " +@torso$+ ".",-; - next; - mes "[Miriam]"; - mes "\"I see. I like the way you distributed your Character Points... " +@agi+ " points to Agility! You really know how to prepare yourself to a good fight!\""; - next; - mes "\"Well... I do not do this very often, but you really have a potential to be a good fighter and moving the way you do will not help! \""; - next; - mes "\"So, if you pass a small test I can teach you a skill! It will be very useful for you, since it can increase your running speed.\""; - next; - menu - "I'm in! What kind of test is it?",-, - "I dont think I need more speed right now",L_giveup; - next; - mes "[Miriam]"; - mes "\"Great! The test is simple. You need to run as fast as you can from the place where I am sitting to the mountains and talk to Pachua, the chief. When you get there and talk to Pachua, he will send a special smoke signal to me, so I can know how much time it took for you to go there.\""; - next; - mes "\"If you make it in a good time, I will teach you the special speeding skill, if not, you can always try again. So, are you ready?\""; - next; - menu - "Yes, let's do it!",-, - "No, I need to stretch my muscles first!",L_stretch; - - close2; - message strcharinfo(0), "Miriam quickly grabs your arm and pull you to the place where she is sitting."; - // Warp the player to the place where the NPC is defined, so he can't cheat. - warp "006-1.gat",75,101; - npctalk "Run " +strcharinfo(0)+ ", run!"; - set QUEST_MIRIAM_start, gettimetick(1); - end; - -L_naked: - mes "[Miriam]"; - mes "\"Hmmm?! Please put on some clothes before talking to me.\""; - close; - -L_rest: - mes "[Miriam]"; - mes "\"I don't need to rest. In fact, it seems like you need some serious workout sessions to improve your physical skills!\""; - close; - -L_noskill: - mes "[Miriam]"; - mes "\"For a person like you, I could even teach a useful skill! Too bad you don't have the basic abillities to learn it...\""; - close; - -L_giveup: - mes "[Miriam]"; - mes "\"Oh, that is bad... But if you change your mind, come back!\""; - close; - -L_stretch: - mes "[Miriam]"; - mes "\"Ok. Good idea... Stretching exercises can increase your flexibility and even prevent injuries!\""; - close; - -L_wasting: - mes "[Miriam]"; - mes "\"Don't waste your time talking to me! RUN and talk to Pachua!\""; - close; - -L_checktime: - if (QUEST_MIRIAM_run > 60) goto L_tryagain; - if (QUEST_MIRIAM_run <= 60) goto L_goodjob; - -L_tryagain: - mes "[Miriam]"; - mes "\"You needed " + QUEST_MIRIAM_run + " seconds to reach Pachua. It is not enough.\""; - set QUEST_MIRIAM_run, 0; - close; - -L_goodjob: - mes "[Miriam]"; - mes "\"Great job! You needed " + QUEST_MIRIAM_run + " seconds to reach Pachua. Very impressive for a person like you.\""; - next; - mes "\"Now I need you to relax. Do NOT move. This teaching process can be painful sometimes.\""; - next; - mes "Miriam stares into your eyes and starts to scream some strange words very close to your ears."; - next; - mes "You feel dizzy and as soon as you move your head and look to the ground, Miriam pushes you hard, sending you meters away from her."; - close2; -// warp player a few tiles back - Write it when the NPC place is defined - set QUEST_MIRIAM_run, 0; - message strcharinfo(0), "[You gain 2500 experience points]"; - message strcharinfo(0), "[You learned Speed Skill]"; - setskill SKILL_SPEED, 1; - getexp 2500, 0; - close; - -L_fast: - mes "[Miriam]"; - mes "\"I hope you make a good use of your new skill... Take care!\""; - close; - -} diff --git a/npc/016-1_Woodland/_import.txt b/npc/016-1_Woodland/_import.txt index 29ac9eff..cab6a4ac 100644 --- a/npc/016-1_Woodland/_import.txt +++ b/npc/016-1_Woodland/_import.txt @@ -1,5 +1,5 @@ map: 016-1.gat npc: npc/016-1_Woodland/_mobs.txt npc: npc/016-1_Woodland/_warps.txt -npc: npc/016-1_Woodland/monsters.txt npc: npc/016-1_Woodland/gwendolyn.txt +npc: npc/016-1_Woodland/monsters.txt diff --git a/npc/032-1_Outback/_import.txt b/npc/032-1_Outback/_import.txt new file mode 100644 index 00000000..ee0758e4 --- /dev/null +++ b/npc/032-1_Outback/_import.txt @@ -0,0 +1,4 @@ +map: 032-1.gat +npc: npc/032-1_Outback/_mobs.txt +npc: npc/032-1_Outback/_warps.txt +npc: npc/032-1_Outback/miriam.txt diff --git a/npc/032-1_Outback/_mobs.txt b/npc/032-1_Outback/_mobs.txt new file mode 100644 index 00000000..e24c0fde --- /dev/null +++ b/npc/032-1_Outback/_mobs.txt @@ -0,0 +1,7 @@ +// 032-1 Outback mobs + + + +032-1.gat,0,0,0 script Mob032-1 -1,{ + end; +} diff --git a/npc/032-1_Outback/_warps.txt b/npc/032-1_Outback/_warps.txt new file mode 100644 index 00000000..254b8738 --- /dev/null +++ b/npc/032-1_Outback/_warps.txt @@ -0,0 +1,3 @@ +// 032-1 Outback warps + +032-1.gat,64,52 warp ToCave -1,-1,031-3.gat,56,59 diff --git a/npc/032-1_Outback/miriam.txt b/npc/032-1_Outback/miriam.txt new file mode 100644 index 00000000..d42d904e --- /dev/null +++ b/npc/032-1_Outback/miriam.txt @@ -0,0 +1,142 @@ +// NPC place is provisory +032-1.gat,55,20,0 script Miriam 175,{ + + if (getskilllv(SKILL_SPEED)) goto L_fast; + if (getequipid(equip_torso) < 0) goto L_naked; + if (QUEST_MIRIAM_run != 0) goto L_checktime; + if (QUEST_MIRIAM_start != 0) goto L_wasting; + +L_teach: + mes "[Miriam]"; + mes "\"Hey, what is your problem? Why were you running like that? Are you hurt? Why so slow? I have seen slimes way faster than this!\""; + next; + menu + "What? Slow down! One question per time...", -, + "It seems like you need a rest.", L_rest; + + set @agi, readparam(bAgi); + set @torso$, getitemname(getequipid(equip_torso)); + set @weight, MaxWeight/Weight; + if (@weight < 3) goto L_heavyweight; + if (@agi < 90) goto L_slow; + if (countitem("SteelShield") > 0 || countitem("WarlordHelmet") > 0 || countitem("CrusadeHelmet") > 0 || countitem("WarlordPlate") > 0 || countitem("KnightsHelmet") > 0 || countitem("InfantryHelmet") > 0 || countitem("ChainmailShirt") > 0) goto L_heavymetal; + goto L_offer; + +L_heavyweight: + mes "[Miriam]"; + mes "\"Wow... Why do you carry so many things with you? You must be carrying more than one third of your own weight! I can't understand it... \""; + close; + +L_heavymetal: + mes "[Miriam]"; + mes "\"Hmm... I see... Another lazy slow warrior wasting his strenght carrying kilos of metal clothes... You people are very popular these days... \""; + next; + mes "\"Why no one sees the great advantages of a beautiful, flexible, lightweight armor nowadays? \""; + close; + +L_slow: + mes "[Miriam]"; + mes "Oh, wait, wait... " +@agi+ " Agility? Are you serious? What do you do with all your Character points? Put them all to 'Strenght'? Really... I dont even want to know... \""; + close; + +L_offer: + mes "[Miriam]"; + mes "\"Hmm! Even though you move like a snail, you look great on these clothes! They look very confortable too... And it seems like you are not carrying too much weight.\""; + next; + if (!(getskilllv(SKILL_POOL))) goto L_noskill; + menu + "Yes, I really like this " +@torso$+ ".",-; + next; + mes "[Miriam]"; + mes "\"I see. I like the way you distributed your Character Points... " +@agi+ " points to Agility! You really know how to prepare yourself to a good fight!\""; + next; + mes "\"Well... I do not do this very often, but you really have a potential to be a good fighter and moving the way you do will not help! \""; + next; + mes "\"So, if you pass a small test I can teach you a skill! It will be very useful for you, since it can increase your running speed.\""; + next; + menu + "I'm in! What kind of test is it?",-, + "I dont think I need more speed right now",L_giveup; + next; + mes "[Miriam]"; + mes "\"Great! The test is simple. You need to run as fast as you can from the place where I am sitting to the mountains and talk to Pachua, the chief. When you get there and talk to Pachua, he will send a special smoke signal to me, so I can know how much time it took for you to go there.\""; + next; + mes "\"If you make it in a good time, I will teach you the special speeding skill, if not, you can always try again. So, are you ready?\""; + next; + menu + "Yes, let's do it!",-, + "No, I need to stretch my muscles first!",L_stretch; + + close2; + message strcharinfo(0), "Miriam quickly grabs your arm and pull you to the place where she is sitting."; + // Warp the player to the place where the NPC is defined, so he can't cheat. + warp "032-1.gat",55,21; + npctalk "Run " +strcharinfo(0)+ ", run!"; + set QUEST_MIRIAM_start, gettimetick(1); + end; + +L_naked: + mes "[Miriam]"; + mes "\"Hmmm?! Please put on some clothes before talking to me.\""; + close; + +L_rest: + mes "[Miriam]"; + mes "\"I don't need to rest. In fact, it seems like you need some serious workout sessions to improve your physical skills!\""; + close; + +L_noskill: + mes "[Miriam]"; + mes "\"For a person like you, I could even teach a useful skill! Too bad you don't have the basic abillities to learn it...\""; + close; + +L_giveup: + mes "[Miriam]"; + mes "\"Oh, that is bad... But if you change your mind, come back!\""; + close; + +L_stretch: + mes "[Miriam]"; + mes "\"Ok. Good idea... Stretching exercises can increase your flexibility and even prevent injuries!\""; + close; + +L_wasting: + mes "[Miriam]"; + mes "\"Don't waste your time talking to me! RUN and talk to Pachua!\""; + close; + +L_checktime: + if (QUEST_MIRIAM_run > 60) goto L_tryagain; + if (QUEST_MIRIAM_run <= 60) goto L_goodjob; + +L_tryagain: + mes "[Miriam]"; + mes "\"You needed " + QUEST_MIRIAM_run + " seconds to reach Pachua. It is not enough.\""; + set QUEST_MIRIAM_run, 0; + close; + +L_goodjob: + mes "[Miriam]"; + mes "\"Great job! You needed " + QUEST_MIRIAM_run + " seconds to reach Pachua. Very impressive for a person like you.\""; + next; + mes "\"Now I need you to relax. Do NOT move. This teaching process can be painful sometimes.\""; + next; + mes "Miriam stares into your eyes and starts to scream some strange words very close to your ears."; + next; + mes "You feel dizzy and as soon as you move your head and look to the ground, Miriam pushes you hard, sending you meters away from her."; + close2; +// warp player a few tiles back - Write it when the NPC place is defined + warp "032-1.gat",55,22; + set QUEST_MIRIAM_run, 0; + message strcharinfo(0), "[You gain 2500 experience points]"; + message strcharinfo(0), "[You learned Speed Skill]"; + setskill SKILL_SPEED, 1; + getexp 2500, 0; + close; + +L_fast: + mes "[Miriam]"; + mes "\"I hope you make a good use of your new skill... Take care!\""; + close; + +} diff --git a/npc/032-3_Cave/_import.txt b/npc/032-3_Cave/_import.txt new file mode 100644 index 00000000..de6feea0 --- /dev/null +++ b/npc/032-3_Cave/_import.txt @@ -0,0 +1,3 @@ +map: 032-3.gat +npc: npc/032-3_Cave/_mobs.txt +npc: npc/032-3_Cave/_warps.txt diff --git a/npc/032-3_Cave/_mobs.txt b/npc/032-3_Cave/_mobs.txt new file mode 100644 index 00000000..ea5bb75a --- /dev/null +++ b/npc/032-3_Cave/_mobs.txt @@ -0,0 +1,7 @@ +// 032-3 Cave mobs + + + +032-3.gat,0,0,0 script Mob032-3 -1,{ + end; +} diff --git a/npc/032-3_Cave/_warps.txt b/npc/032-3_Cave/_warps.txt new file mode 100644 index 00000000..d27b4bc2 --- /dev/null +++ b/npc/032-3_Cave/_warps.txt @@ -0,0 +1,4 @@ +// 032-3 Cave warps + +032-3.gat,128,33 warp ToDesert -1,-1,006-1.gat,30,124 +032-3.gat,56,61 warp toDesert -1,-1,032-1.gat,64,53 diff --git a/npc/_import.txt b/npc/_import.txt index 55141677..990c5315 100644 --- a/npc/_import.txt +++ b/npc/_import.txt @@ -66,4 +66,6 @@ import: npc/030-1_Snow_field/_import.txt import: npc/031-1_NivalisPort/_import.txt import: npc/031-2_Angelas_House/_import.txt import: npc/031-3_Cave/_import.txt +import: npc/032-1_Outback/_import.txt +import: npc/032-3_Cave/_import.txt import: npc/botcheck/_import.txt -- cgit v1.2.3-70-g09d2 From a4ca21bbd9ae3f3a1f3cad5267cf6c70daea5d84 Mon Sep 17 00:00:00 2001 From: Stefan Beller Date: Mon, 3 Jan 2011 21:21:34 +0100 Subject: fixes in miriam --- npc/032-1_Outback/_warps.txt | 2 +- npc/032-1_Outback/miriam.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'npc') diff --git a/npc/032-1_Outback/_warps.txt b/npc/032-1_Outback/_warps.txt index 254b8738..ca0183a2 100644 --- a/npc/032-1_Outback/_warps.txt +++ b/npc/032-1_Outback/_warps.txt @@ -1,3 +1,3 @@ // 032-1 Outback warps -032-1.gat,64,52 warp ToCave -1,-1,031-3.gat,56,59 +032-1.gat,64,52 warp ToCave -1,-1,032-3.gat,56,59 diff --git a/npc/032-1_Outback/miriam.txt b/npc/032-1_Outback/miriam.txt index d42d904e..5f67bea4 100644 --- a/npc/032-1_Outback/miriam.txt +++ b/npc/032-1_Outback/miriam.txt @@ -41,7 +41,7 @@ L_slow: L_offer: mes "[Miriam]"; - mes "\"Hmm! Even though you move like a snail, you look great on these clothes! They look very confortable too... And it seems like you are not carrying too much weight.\""; + mes "\"Hmm! Even though you move like a snail, you look great on these clothes! They look very comfortable too... And it seems like you are not carrying too much weight.\""; next; if (!(getskilllv(SKILL_POOL))) goto L_noskill; menu -- cgit v1.2.3-70-g09d2 From 1e1e26e1255a487a14ca99c60c3ab51ad3988f9b Mon Sep 17 00:00:00 2001 From: Wombat Date: Mon, 3 Jan 2011 15:54:46 -0500 Subject: mob points for some monsters, some dialog fix for baktar (now active) mob points for all monsters in mob_db.txt afaik. dialog fix for baktar, who is now active on the map. --- npc/020-2_Nivalis/baktar.txt | 10 +++++----- npc/functions/mob_points.txt | 10 ++++++++++ 2 files changed, 15 insertions(+), 5 deletions(-) (limited to 'npc') diff --git a/npc/020-2_Nivalis/baktar.txt b/npc/020-2_Nivalis/baktar.txt index 644afddc..410e4c33 100755 --- a/npc/020-2_Nivalis/baktar.txt +++ b/npc/020-2_Nivalis/baktar.txt @@ -31,7 +31,7 @@ //# bit 0 knows the name/location of the opponent //# bit 1 killed the ugly opponent //#========================= -//020-2.gat,70,61,0 script Baktar 191,{ +020-2.gat,70,61,0 script Baktar 191,{ set @npcname$, "[Baktar]"; set @Q_MASK, BYTE_0_MASK; @@ -96,13 +96,13 @@ L_KnowAlready: mes @npcname$; - mes "\"So, you have a new item?\""; + mes "\"I love Tulimshar's stuff. I'm collecting souvenirs from Tulimshar to help remind me of all the great times I had there. If you give me an interesting item from the area, I'll give you a nice reward. So, you have a new item?\""; goto L_startitem; close; L_exotic: mes @npcname$; - mes "\"I said that because I love Tulimshar's stuff ... if you give me an interesting item maybe I can give you a nice reward. But I don't need lots of stuff, I need only one example of each item.\""; + mes "\"I said that because I love Tulimshar's stuff...I'm collecting souvenirs from Tulimshar to help remind me of all the great times I had there. If you give me an interesting item maybe I can give you a nice reward. But I don't need a lot, I just need one of each item.\""; menu "I have some items on me maybe you'll like them ", L_startitem, "Don't touch my stuff!", -, "I'll get them. Bye.", -; @@ -246,12 +246,12 @@ close; L_Noitem: mes @npcname$; - mes "\"Where is your item?\""; + mes "\"Well, if you happen to get items from Tulimshar, see me first before you sell anything.\""; close; L_havealready: mes @npcname$; - mes "\"Well, I already have one of those.\""; + mes "\"I already collected what you can offer me.\""; close; S_Update_Var: diff --git a/npc/functions/mob_points.txt b/npc/functions/mob_points.txt index 768b874d..8c53e36f 100644 --- a/npc/functions/mob_points.txt +++ b/npc/functions/mob_points.txt @@ -64,6 +64,16 @@ function script MobPoints { 36, // Giant Cave Maggot 40, // Moggun 100, // Terranite + 10, // Pumpkin + 10, // Bandit + 20, // Bandit Lord + 50, // Vampire Bat + 100, // The Lost + 200, // Reaper + 20, // Scythe + 20, // Ball Lightning + 30, // Ice Element + 40, // Yeti // Add more here 0; // END -- cgit v1.2.3-70-g09d2