diff options
38 files changed, 3239 insertions, 2727 deletions
diff --git a/db/item_db.txt b/db/item_db.txt index 61c7a4adb..e97812060 100644 --- a/db/item_db.txt +++ b/db/item_db.txt @@ -1664,12 +1664,12 @@ //2816,Radar_Ring1,Radar Ring, //2817,Radar_Ring2,Radar Ring, //2818,Radar_Ring3,Radar Ring, -//2819,Swordsman_Manual,Swordsman Manual, -//2820,Thief_Manual,Thief Manual, -//2821,Acolyte_Manual,Acolyte Manual, -//2822,Archer_Manual,Archer Manual, -//2823,Merchant_Manual,Merchant Manual, -//2824,Mage_Manual,Mage Manual, +2819,Swordsman_Manual,Swordsman Manual,5,,,100,,0,,0,0x00000001,7,2,136,,1,0,0,{ bonus bMaxSP,100; skill "SM_BASH",1; skill "SM_PROVOKE",1; skill "SM_MAGNUM",1; },{},{} +2820,Thief_Manual,Thief Manual,5,,,100,,0,,0,0x00000001,7,2,136,,1,0,0,{ bonus bMaxSP,100; skill "TF_DOUBLE",3; skill "TF_STEAL",1; skill "TF_HIDING",1; skill "TF_POISON",1; },{},{} +2821,Acolyte_Manual,Acolyte Manual,5,,,100,,0,,0,0x00000001,7,2,136,,1,0,0,{ bonus bMaxSP,100; skill "AL_HEAL",1; skill "AL_INCAGI",1; skill "AL_BLESSING",1; },{},{} +2822,Archer_Manual,Archer Manual,5,,,100,,0,,0,0x00000001,7,2,136,,1,0,0,{ bonus bMaxSP,100; skill "AC_OWL",1; skill "AC_CONCENTRATION",1; },{},{} +2823,Merchant_Manual,Merchant Manual,5,,,100,,0,,0,0x00000001,7,2,136,,1,0,0,{ bonus bMaxSP,100; skill "MC_DISCOUNT",1; skill "MC_OVERCHARGE",10; skill "MC_IDENTIFY",1; skill "MC_MAMMONITE",1; },{},{} +2824,Mage_Manual,Mage Manual,5,,,100,,0,,0,0x00000001,7,2,136,,1,0,0,{ bonus bMaxSP,100; skill "MG_SRECOVERY",1; skill "MG_COLDBOLT",1; skill "MG_FIREWALL",1; skill "MG_FIREBOLT",1; },{},{} 2825,Shaman_Earrings_,Shaman Earrings,5,0,,100,,0,,0,0xFFFFFFFF,7,2,136,,1,0,0,{ bonus bInt,2; },{},{} 2826,Dark_Knight_Belt_,Dark Knight Belt,5,0,,500,,1,,0,0xFFFFFFFF,7,2,136,,80,0,0,{ bonus bDex,2; bonus bAgi,1; },{},{} 2827,Dark_Knight_Glove_,Dark Knight Glove,5,0,,500,,1,,0,0xFFFFFFFF,7,2,136,,80,0,0,{ autobonus "{ bonus bMaxHPRate,10; }",10,10000,0,"{ specialeffect2 EF_POTION_BERSERK; }"; },{},{} diff --git a/db/item_trade.txt b/db/item_trade.txt index c12e88785..536346dca 100644 --- a/db/item_trade.txt +++ b/db/item_trade.txt @@ -1542,3 +1542,11 @@ //15011,123,100 // Para_Team_Uniform3 //16004,123,100 // P_Mace1 //16005,123,100 // P_Mace2 + +// Novice Training Grounds +2819,123,100 +2820,123,100 +2821,123,100 +2822,123,100 +2823,123,100 +2824,123,100 diff --git a/db/quest_db.txt b/db/quest_db.txt index 0a21acea4..7d9ba0b6c 100644 --- a/db/quest_db.txt +++ b/db/quest_db.txt @@ -440,6 +440,18 @@ 7081,0,0,0,0,0,0,0,"Helping the Laphine Craftsman" 7082,86400,0,0,0,0,0,0,"Helping the Laphine Craftsman" +// Novice Training Grounds +7117,0,0,0,0,0,0,0,"Your first quest!" +7118,0,0,0,0,0,0,0,"Novice Training" +7119,0,0,0,0,0,0,0,"Novice Training" +7120,0,0,0,0,0,0,0,"Novice Training" +7121,0,0,0,0,0,0,0,"Novice Training" +7122,0,1002,1,0,0,0,0,"First battle - Poring Hunt" +7123,0,1049,2,0,0,0,0,"Battle Basics -Swordman" +7124,0,1063,5,0,0,0,0,"Battle Basics -Mage" +7126,0,0,0,0,0,0,0,"Selling items" +7127,0,1010,5,0,0,0,0,"Battle Basics -Thief" + 7128,0,0,0,0,0,0,0,"Training course 'conquest a desert!' -start" 7129,0,1009,10,0,0,0,0,"The training course 'conquer the desert!' - A real battle 1" 7130,0,1107,10,0,0,0,0,"The training course 'conquer the desert!' - A real battle 2" diff --git a/npc/events/MemorialDay_2008.txt b/npc/events/MemorialDay_2008.txt index cbecbdae8..9e67216a7 100644 --- a/npc/events/MemorialDay_2008.txt +++ b/npc/events/MemorialDay_2008.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.1 +//= 1.2 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= @@ -11,6 +11,7 @@ //===== Additional Comments: ================================= //= 1.0 First version. [Kisuka] //= 1.1 Many Many Fixes. [Kisuka] +//= 1.2 Some changes. [Kisuka] //============================================================ // ================== Lauds ====================== @@ -37,16 +38,11 @@ prontera,182,214,4 script Lauds#Memorial 58,{ mes "My what?"; next; mes "[Mad Sago Lauds]"; - mes "How are you supposed to go on your trip"; - mes "without your towel!?"; + mes "How are you supposed to go on your trip without your towel!?"; next; mes "[Mad Sago Lauds]"; - mes "If you think this is just another"; - mes "holiday,"; - mes "I'm not going to waste my breath."; - mes "But if you like to pay a tribute to"; - mes "great soldiers,"; - mes "I will help you ready yourself"; + mes "If you think this is just another holiday, I'm not going to waste my breath."; + mes "But if you like to pay a tribute to great soldiers, I will help you ready yourself."; next; if (select("I guess so...:Are you crazy or something?") == 2) { mes "[Mad Sago Lauds]"; @@ -62,11 +58,8 @@ prontera,182,214,4 script Lauds#Memorial 58,{ mes "Then listen to me carefully."; next; mes "[Mad Sago Lauds]"; - mes "Now before you can pay tribute to"; - mes "the fallen soldiers"; - mes "you must be properly equipped"; - mes "Without your towel you will be"; - mes "lost!"; + mes "Now before you can pay tribute to the fallen soldiers you must be properly equipped."; + mes "Without your towel you will be lost!"; mes "If you bring me the materials, I can make you a towel."; next; mes "[Mad Sago Lauds]"; @@ -79,25 +72,19 @@ prontera,182,214,4 script Lauds#Memorial 58,{ else if(Memorial08 == 1) { if (countitem(1059) < 30 || countitem(914) < 20) { mes "[Mad Sago Lauds]"; - mes "What are these? They aren't"; - mes "enough?!"; - mes "*Sigh* Do I really have to tell you"; - mes "again?!"; + mes "What are these? They aren't enough?!"; + mes "*Sigh* Do I really have to tell you again?!"; mes "Bring me ^FF000030 Fabric and 20 Fluffs^000000."; close; }else{ - mes "***Mad Sago Lauds appears to be"; - mes "muttering to himself***"; + mes "***Mad Sago Lauds appears to be muttering to himself***"; next; mes "[Mad Sago Lauds]"; - mes "So, did you bring the towel"; - mes "materials?"; + mes "So, did you bring the towel materials?"; next; mes "[Mad Sago Lauds]"; - mes "Excellent; you've brought them"; - mes "all."; - mes "Then I shall make you a Towel of"; - mes "Memory as I promised."; + mes "Excellent; you've brought them all."; + mes "Then I shall make you a Towel of Memory as I promised."; mes "Give me a moment."; next; mes "[Mad Sago Lauds]"; @@ -113,40 +100,30 @@ prontera,182,214,4 script Lauds#Memorial 58,{ else if(Memorial08 == 2) { mes "[Mad Sago Lauds]"; - mes "Ah, you have fluffy new towel now"; - mes "I even put your name on it"; + mes "Ah, you have fluffy new towel now I even put your name on it"; next; mes "[Mad Sago Lauds]"; - mes "Say, how do you like to go"; - mes "on a journey to pay a tribute to"; - mes "Memorial Day?"; + mes "Say, how do you like to go on a journey to pay a tribute to Memorial Day?"; next; if (select("Sure.:No, I'm Busy.") == 2) { mes "[Mad Sago Lauds]"; - mes "Don't come crying to me"; - mes "if someone decides to"; - mes "build a highway through"; - mes "your home!"; + mes "Don't come crying to me if someone decides to build a highway through your home!"; close; } mes "[Mad Sago Lauds]"; - mes "Good. By the way, do you even know"; - mes "what the towel is for?"; + mes "Good. By the way, do you even know what the towel is for?"; next; mes "[Mad Sago Lauds]"; - mes "It seems you're just carrying it"; - mes "without understanding its meaning."; - mes "What a shame! You should go speak"; - mes "to ^FF0000Grast in Prontera^000000."; + mes "It seems you're just carrying it without understanding its meaning."; + mes "What a shame! You should go speak to ^FF0000Grast in Prontera^000000."; set Memorial08,3; close; } else if(Memorial08 == 3) { mes "[Mad Sago Lauds]"; - mes "What are you still doing here? I"; - mes "told you to go speak to Grast in"; - mes "Prontera!"; + mes "What are you still doing here?"; + mes "I told you to go speak to Grast in Prontera!"; close; } @@ -163,20 +140,16 @@ prontera,182,214,4 script Lauds#Memorial 58,{ mes "HAHAHAHAHAHA!!!! cough cough"; next; mes "[Mad Sago Lauds]"; - mes "Please give them to me. Thank you"; - mes "for your hard work, by the way."; + mes "Please give them to me. Thank you for your hard work, by the way."; mes "Say, have you learned anything from the journey?"; - mes "Now is to go visit the plaque at 12"; - mes "o'clock direction in Prontera."; + mes "Now is to go visit the plaque at 12 o'clock direction in Prontera."; next; mes "[Mad Sago Lauds]"; - mes "What do you mean you were just"; - mes "there?"; + mes "What do you mean you were just there?"; next; mes "[Mad Sago Lauds]"; - mes "What? Why are you giving me your"; - mes "garbage!"; - mes "Those items are not useful to me at all"; + mes "What? Why are you giving me your garbage!"; + mes "Those items are not useful to me at all."; mes "You should be going to the plaque!"; set Memorial08,8; close; @@ -185,8 +158,7 @@ prontera,182,214,4 script Lauds#Memorial 58,{ else if(Memorial08 == 8) { mes "[Mad Sago Lauds]"; mes "Stop trying to give me your garbage!"; - mes "Go to the plaque at 12 o'clock"; - mes "direction in Prontera for your journey!"; + mes "Go to the plaque at 12 o'clock direction in Prontera for your journey!"; close; } @@ -201,17 +173,12 @@ prontera,182,214,4 script Lauds#Memorial 58,{ else if(.@RandomMsg == 2) { mes "[Mad Sago Lauds]"; mes "Life... is like a grapefruit."; - mes "It's orange and squishy, and has a"; - mes "few pips in it,"; - mes "and some folks have half a one for"; - mes "breakfast."; + mes "It's orange and squishy, and has a few pips in it, and some folks have half a one for breakfast."; close; } else if(.@RandomMsg == 3) { mes "[Mad Sago Lauds]"; - mes "There was a point to this story,"; - mes "but it has temporarily escaped the"; - mes "chronicler's mind."; + mes "There was a point to this story, but it has temporarily escaped the chronicler's mind."; close; } else if(.@RandomMsg == 4) { @@ -221,9 +188,7 @@ prontera,182,214,4 script Lauds#Memorial 58,{ } else if(.@RandomMsg == 5) { mes "[Mad Sago Lauds]"; - mes "It is a mistake to think you can"; - mes "solve any major problems just with"; - mes "potatoes."; + mes "It is a mistake to think you can solve any major problems just with potatoes."; close; } } @@ -254,14 +219,11 @@ prontera,153,286,4 script Memorial Plaque#Memorial 857,{ } L_CleanPlaque: - mes "- You see a message from the cleaned plaque."; + mes "- You see a message from the cleaned plaque.-"; next; - mes "-Although no sculptured marble"; - mes "should rise to their memory,-"; - mes "-nor engraved stone bear record of"; - mes "their deeds,-"; - mes "-yet will their remembrance be as"; - mes "lasting as the land they honored.-"; + mes "-Although no sculptured marble should rise to their memory,-"; + mes "-nor engraved stone bear record of their deeds,-"; + mes "-yet will their remembrance be as lasting as the land they honored.-"; mes "-Daniel Webster-"; if(Memorial08 == 9) { getexp 93750,43750; @@ -269,10 +231,8 @@ prontera,153,286,4 script Memorial Plaque#Memorial 857,{ next; mes "-There's another message.-"; next; - mes "-I may not have gone where I"; - mes "intended to go,-"; - mes "-but I think I have ended up where"; - mes "I needed to be.-"; + mes "-I may not have gone where I intended to go,-"; + mes "-but I think I have ended up where I needed to be.-"; mes "- Douglas Adams.-"; if(Memorial08 == 9) { getexp 93750,43750; @@ -280,12 +240,9 @@ prontera,153,286,4 script Memorial Plaque#Memorial 857,{ next; mes "-This is the last message.-"; next; - mes "-True heroism is remarkably sober,"; - mes "very undramatic.-"; - mes "-It is not the urge to surpass all"; - mes "others at whatever cost,-"; - mes "- but the urge to serve others at"; - mes "whatever cost. -"; + mes "-True heroism is remarkably sober, very undramatic.-"; + mes "-It is not the urge to surpass all others at whatever cost,-"; + mes "- but the urge to serve others at whatever cost. -"; mes "- Arthur Ashe -"; if(Memorial08 == 9) { getexp 93750,43750; @@ -300,33 +257,24 @@ prontera,153,286,4 script Memorial Plaque#Memorial 857,{ prontera,150,270,4 script Grast#Memorial 900,{ if(Memorial08 < 3) { mes "[Grast]"; - mes "Memorial Day is a sad and yet"; - mes "glorious day."; - mes "I wonder how many people remember"; - mes "them..."; + mes "Memorial Day is a sad and yet glorious day."; + mes "I wonder how many people remember them..."; close; } else if(Memorial08 == 3) { mes "[Grast]"; mes "Oh, isn't that a Towel of Memory?"; - mes "I'm so glad to meet someone who"; - mes "understands the meaning of Memorial Day."; + mes "I'm so glad to meet someone who understands the meaning of Memorial Day."; next; mes "[Grast]"; - mes "It is very important to know what"; - mes "we're celebrating today, don't you think?"; + mes "It is very important to know what we're celebrating today, don't you think?"; next; mes "[Grast]"; - mes "If you like to go on a journey to"; - mes "pay a tribute to Memorial Day,"; - mes "you should bring me some materials"; - mes "I ask."; + mes "If you like to go on a journey to pay a tribute to Memorial Day, you should bring me some materials I ask."; next; mes "[Grast]"; - mes "Please bring me ^FF0000one of each Red"; - mes "Potion, Green Potion, Awakening"; - mes "Potion, and Butterfly Wing^000000."; + mes "Please bring me ^FF0000one of each Red Potion, Green Potion, Awakening Potion, and Butterfly Wing^000000."; mes "I'll be waiting for your return."; set Memorial08,4; close; @@ -335,20 +283,14 @@ prontera,150,270,4 script Grast#Memorial 900,{ else if(Memorial08 == 4) { if (countitem(501) < 1 || countitem(506) < 1 || countitem(656) < 1 || countitem(602) < 1) { mes "[Grast]"; - mes "Oops, you haven't brought all"; - mes "materials."; + mes "Oops, you haven't brought all materials."; mes "Please make sure you need to bring me"; - mes " ^FF0000one of each Red Potion, Green"; - mes "Potion, Awakening Potion, and"; - mes "Butteryfly Wing^000000."; + mes "^FF0000one of each Red Potion, Green Potion, Awakening Potion, and Butteryfly Wing^000000."; next; mes "[Grast]"; - mes "You'll have to bring me more"; - mes "materials afterwards."; - mes "If you feel too burdened to gather"; - mes "them all,"; - mes "I can provide you all the"; - mes "materials."; + mes "You'll have to bring me more materials afterwards."; + mes "If you feel too burdened to gather them all,"; + mes "I can provide you all the materials."; next; if (select("I'll gather the rest.:Give me the materials.") == 2) { goto L_GiveUp; @@ -362,9 +304,7 @@ prontera,150,270,4 script Grast#Memorial 900,{ mes "Hmm, you will need some more things still..."; next; mes "[Grast]"; - mes "Please bring me ^FF0000one of each Trap,"; - mes "Yggdrasil Leaf, Blue Gemstone,"; - mes "Crystal Mirror, Meat, and Carrot.^000000"; + mes "Please bring me ^FF0000one of each Trap, Yggdrasil Leaf, Blue Gemstone, Crystal Mirror, Meat, and Carrot.^000000"; mes "I'll be waiting for your return."; set Memorial08,5; close; @@ -376,15 +316,11 @@ prontera,150,270,4 script Grast#Memorial 900,{ mes "[Grast]"; mes "Oops, you haven't brought all materials."; mes "Please make sure you'll have to bring me"; - mes " ^FF0000one of each Trap, Yggdrasil Leaf,"; - mes "Blue Gemstone, Crystal Mirror,"; - mes "Meat, and Carrot^000000."; + mes "^FF0000one of each Trap, Yggdrasil Leaf, Blue Gemstone, Crystal Mirror, Meat, and Carrot^000000."; next; mes "[Grast]"; - mes "You'll have to bring me more"; - mes "materials afterwards."; - mes "If you feel too burdened to gather them all,"; - mes "I can provide you all the materials."; + mes "You'll have to bring me more materials afterwards."; + mes "If you feel too burdened to gather them all, I can provide you all the materials."; next; if (select("I'll gather the rest.:Give me the materials.") == 2) { goto L_GiveUp; @@ -396,9 +332,7 @@ prontera,150,270,4 script Grast#Memorial 900,{ mes "Hmm, I think you need just a little bit more."; next; mes "[Grast]"; - mes "Please bring me ^FF0000one of each Pet"; - mes "Incubator, Firecracker, Poring"; - mes "Doll, and Bouquet^000000."; + mes "Please bring me ^FF0000one of each Pet Incubator, Firecracker, Poring Doll, and Bouquet^000000."; set Memorial08,6; close; } @@ -409,17 +343,14 @@ prontera,150,270,4 script Grast#Memorial 900,{ mes "[Grast]"; mes "Oops, you haven't brought all materials."; mes "Please make sure you need to bring me"; - mes " ^FF0000one of each Pet Incubator,"; - mes "Firecracker, Poring Doll and Bouquet"; + mes "^FF0000one of each Pet Incubator, Firecracker, Poring Doll and Bouquet"; next; mes "[Grast]"; mes "They are the last batch of materials."; - mes "If you feel too burdened to gather them all,"; - mes "I can provide you all the materials."; + mes "If you feel too burdened to gather them all, I can provide you all the materials."; next; mes "[Grast]"; - mes "If I provide you all materials, however,"; - mes "I won't have to thank you for your service."; + mes "If I provide you all materials, however, I won't have to thank you for your service."; mes "It's your call, " + strcharinfo(0) + "."; next; if (select("I'll gather the rest.:Give me the materials.") == 2) { @@ -429,19 +360,15 @@ prontera,150,270,4 script Grast#Memorial 900,{ }else{ mes "[Grast]"; mes "Have you brought the materials I asked?"; - mes "Ah, thank you for your hard work;"; - mes "you've brought all of them."; + mes "Ah, thank you for your hard work you've brought all of them."; next; mes "[Grast]"; - mes "I hope you'll learn a valuable"; - mes "lesson while gathering these materials."; + mes "I hope you'll learn a valuable lesson while gathering these materials."; mes "I like to give you a small gift for your service."; next; mes "[Grast]"; - mes "You see, I have two different gifts"; - mes "in my each hand."; - mes "A best thing would be giving you"; - mes "both of them, but..."; + mes "You see, I have two different gifts in my each hand."; + mes "A best thing would be giving you both of them, but..."; mes "How do you like to test your luck, " + strcharinfo(0) + "?"; next; mes "[Grast]"; @@ -451,8 +378,7 @@ prontera,150,270,4 script Grast#Memorial 900,{ mes "[Grast]"; mes "You've selected my right hand."; mes "Here's the gift for you."; - mes "Now, please bring all these"; - mes "materials to Lauds."; + mes "Now, please bring all these materials to Lauds."; set Memorial08, 7; getitem 617,1; close; @@ -460,8 +386,7 @@ prontera,150,270,4 script Grast#Memorial 900,{ mes "[Grast]"; mes "You've selected my left hand."; mes "Here's the gift for you."; - mes "Now, please bring all these"; - mes "materials to Lauds."; + mes "Now, please bring all these materials to Lauds."; set Memorial08, 7; getitem 12109,1; close; @@ -471,43 +396,32 @@ prontera,150,270,4 script Grast#Memorial 900,{ else if(Memorial08 == 7) { mes "[Grast]"; mes "Have you met Lauds?"; - mes "I hope you'll remember your freedom"; - mes "and happiness"; - mes "are built on thousands of lives"; - mes "sacrificed in war."; + mes "I hope you'll remember your freedom and happiness are built on thousands of lives sacrificed in war."; close; } else if(Memorial08 >= 8) { mes "[Grast]"; - mes "A towel is about the most massively"; - mes "useful thing an adventurer can have."; + mes "A towel is about the most massively useful thing an adventurer can have."; close; } L_GiveUp: mes "[Grast]"; - mes "Oh, I see. I guess you're quite"; - mes "busy nowadays, huh?"; - mes "No problem; I'll give you all the"; - mes "supplies..."; + mes "Oh, I see. I guess you're quite busy nowadays, huh?"; + mes "No problem; I'll give you all the supplies..."; next; mes "[Grast]"; mes "There you go."; - mes "I crushed all the items together"; - mes "into a more compact form for you"; - mes "You can thank me later for that"; - mes "extra service."; + mes "I crushed all the items together into a more compact form for you."; + mes "You can thank me later for that extra service."; mes "Please bring them to Lauds."; set Memorial08,7; getitem 7126,1; next; mes "[Grast]"; - mes "By the way, he had an unfortunate"; - mes "accident, and has kind of lost his"; - mes "mind."; - mes "Please don't be alarmed even if he"; - mes "starts babbling."; + mes "By the way, he had an unfortunate accident, and has kind of lost his mind."; + mes "Please don't be alarmed even if he starts babbling."; close; L_Continue: diff --git a/npc/events/StPatrick_2008.txt b/npc/events/StPatrick_2008.txt index eeaa49dd9..8fac11831 100644 --- a/npc/events/StPatrick_2008.txt +++ b/npc/events/StPatrick_2008.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.4 +//= 1.5 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= @@ -29,6 +29,7 @@ //= Corrected EXP rewards, and some typos. //= 1.3 Corrected random in item function. [L0ne_W0lf] //= 1.4 Replaced effect numerics with constants. [Samuray22] +//= 1.5 Revamped the script. [Kisuka] //============================================================ prt_fild05,170,286,4 script Anxious Leprechaun#8pday 954,{ @@ -37,159 +38,105 @@ prt_fild05,170,286,4 script Anxious Leprechaun#8pday 954,{ mes "Hmm..."; mes "Tis a fine day it be."; mes "If you have a moment to spare."; - mes "Come here to me now,"; - mes "come here and I'll tell ya something."; + mes "Come here to me now, come here and I'll tell ya something."; next; select("Go ahead."); mes "[O'Riley the Leprechaun]"; - mes "These past years I've"; - mes "come to see the world"; - mes "and each time the snakes"; - mes "have stolen me treasure."; + mes "These past years I've come to see the world and each time the snakes have stolen me treasure."; next; select("Oh?"); mes "[O'Riley the Leprechaun]"; - mes "Ye fine folks of this land"; - mes "have been so gracious"; - mes "to recover me treasure again and again."; + mes "Ye fine folks of this land have been so gracious to recover me treasure again and again."; next; mes "[O'Riley the Leprechaun]"; - mes "I've learned me lesson"; - mes "and will never forget how those"; - mes "vile snakes have wronged me."; + mes "I've learned me lesson and will never forget how those vile snakes have wronged me."; next; select("What did you do?"); mes "[O'Riley the Leprechaun]"; - mes "I made a safe place to hide me"; - mes "treasure."; - mes "Hidden in a secret place the treasure"; - mes "would be safe until I returned"; - mes "to the world the following year."; + mes "I made a safe place to hide me treasure."; + mes "Hidden in a secret place the treasure would be safe until I returned to the world the following year."; next; mes "[O'Riley the Leprechaun]"; - mes "This year, I have made me journey"; - mes "to see the outside world once again."; - mes "I traveled to me cache of gold"; - mes "I found it to be safe and"; - mes "undisturbed."; + mes "This year, I have made me journey to see the outside world once again."; + mes "I traveled to me cache of gold I found it to be safe and undisturbed."; next; mes "[O'Riley the Leprechaun]"; - mes "I thought to meself,"; - mes "I am very clever to hide the"; - mes "treasure from the snakes."; + mes "I thought to meself, I am very clever to hide the treasure from the snakes."; mes "Oh, but I was a fool still."; next; select("What happened?"); mes "[O'Riley the Leprechaun]"; mes "My hiding place was too clever."; - mes "I pulled and I heaved and pushed,"; - mes "but the hiding place would not"; - mes "budge."; - mes "So once again, I am without"; - mes "treasure this year."; + mes "I pulled and I heaved and pushed, but the hiding place would not budge."; + mes "So once again, I am without treasure this year."; next; mes "[O'Riley the Leprechaun]"; - mes "I have not even begun brewing"; - mes "me famous green ale on account of"; - mes "this mess."; - mes "I will ask ye, will ya help get me"; - mes "treasure back?"; + mes "I have not even begun brewing me famous green ale on account of this mess."; + mes "I will ask ye, will ya help get me treasure back?"; next; if (select("Sure, I can help you.:I'm too busy.") == 2) { mes "[O'Riley the Leprechaun]"; mes "Aye, I understand."; - mes "Thank you for listening to me"; - mes "tale."; + mes "Thank you for listening to me tale."; close; } mes "[O'Riley the Leprechaun]"; mes "To find my treasure it be true."; - mes "To my treasure I give my secret to"; - mes "you."; + mes "To my treasure I give my secret to you."; next; mes "[O'Riley the Leprechaun]"; - mes "So, listen well and make no"; - mes "omissions."; - mes "Make the journey to the city of"; - mes "magicians."; - mes "Over the bridge and across the"; - mes "water"; - mes "Climb the mountain until north ye"; - mes "can travel no farther."; + mes "So, listen well and make no omissions."; + mes "Make the journey to the city of magicians."; + mes "Over the bridge and across the water"; + mes "Climb the mountain until north ye can travel no farther."; next; mes "[O'Riley the Leprechaun]"; - mes "Passed the stone steps set into the"; - mes "air."; - mes "Hidden in the mountain side,"; - mes "me treasure is there."; + mes "Passed the stone steps set into the air."; + mes "Hidden in the mountain side, me treasure is there."; next; mes "[O'Riley the Leprechaun]"; - mes "Ye must find a way to break it"; - mes "open."; - mes "Ye will need a mighty explosion"; - mes "to free the cache to be sure."; + mes "Ye must find a way to break it open."; + mes "Ye will need a mighty explosion to free the cache to be sure."; next; mes "[O'Riley the Leprechaun]"; mes "Ye might try some Firecrackers."; - mes "Course, Ye would need a great"; - mes "number of them,"; - mes "Ye would need at least ^FF0000200"; - mes "Firecreackers^000000"; + mes "Course, Ye would need a great number of them, Ye would need at least ^FF0000200 Firecreackers^000000"; set StPatrick2008,1; close; } else if (StPatrick2008 == 1) { mes "[O'Riley the Leprechaun]"; mes "Tis a fine day it be."; - mes "Have you found me treasure yet,"; - mes "have you?"; - mes "Me hiding spot is a might hard to"; - mes "crack."; + mes "Have you found me treasure yet, have you?"; + mes "Me hiding spot is a might hard to crack."; next; mes "[O'Riley the Leprechaun]"; mes "Ye might try some Firecrackers."; - mes "Course, Ye would need a great"; - mes "number of them,"; - mes "Ye would need at least ^FF0000200"; - mes "Firecreackers^000000"; + mes "Course, Ye would need a great number of them, Ye would need at least ^FF0000200 Firecreackers^000000"; next; mes "[O'Riley the Leprechaun]"; - mes "I be understanding if you can't get"; - mes "to it"; - mes "to be sure to be sure."; + mes "I be understanding if you can't get to it to be sure to be sure."; close; } else if (StPatrick2008 == 2) { mes "[O'Riley the Leprechaun]"; mes "Oh, welcome back!"; - mes "Thank you for returning me"; - mes "treasure!"; + mes "Thank you for returning me treasure!"; mes "Me gratitude knows no bounds!"; next; mes "[O'Riley the Leprechaun]"; mes "I am so happy,"; - mes "I'll be starting up me brew right"; - mes "away"; + mes "I'll be starting up me brew right away"; next; mes "[O'Riley the Leprechaun]"; - mes "It seems that the snakes have"; - mes "returned this year"; - mes "and are here to steal my treasure"; - mes "again."; + mes "It seems that the snakes have returned this year and are here to steal my treasure again."; next; mes "[O'Riley the Leprechaun]"; - mes "The snakes carry the coins"; - mes "of my kinsmen and must be"; - mes "punished."; - mes "But ye have had a long journey, for"; - mes "which I am"; - mes "very grateful."; + mes "The snakes carry the coins of my kinsmen and must be punished."; + mes "But ye have had a long journey, for which I am very grateful."; next; mes "[O'Riley the Leprechaun]"; - mes "When ye have had a moment to rest"; - mes "ye legs,"; - mes "come talk to me again and we may"; - mes "speak again"; + mes "When ye have had a moment to rest ye legs, come talk to me again and we may speak again"; close2; set StPatrick2008,3; getexp 200000,70000; @@ -202,39 +149,23 @@ prt_fild05,170,286,4 script Anxious Leprechaun#8pday 954,{ next; mes "[O'Riley the Leprechaun]"; mes "Thank you for coming by again."; - mes "The snakes carry the coins of my"; - mes "kindsmen"; - mes "and must be punished."; + mes "The snakes carry the coins of my kindsmen and must be punished."; next; mes "[O'Riley the Leprechaun]"; - mes "I would be so generous to give you"; - mes "some of my famous brew"; - mes "if you would bring me the"; - mes "ill-gotten gains carried"; - mes "by those vile snakes"; + mes "I would be so generous to give you some of my famous brew if you would bring me the ill-gotten gains carried by those vile snakes"; next; - mes "And if you find one of the"; - mes "treasures of my kin"; - mes "please bring me those coins"; - mes "so that the snakes don't get them."; + mes "And if you find one of the treasures of my kin please bring me those coins so that the snakes don't get them."; set StPatrick2008,4; close; } else if (StPatrick2008 == 4) { mes "[O'Riley the Leprechaun]"; - mes "The snakes carry too many of me"; - mes "kinsmen's coin"; - mes "I be passing out pints of me brew"; - mes "as reward for their return."; + mes "The snakes carry too many of me kinsmen's coin I be passing out pints of me brew as reward for their return."; next; mes "[O'Riley the Leprechaun]"; - mes "I'll reward ye with one jug of ale"; - mes "for ^0000FF1 Golden Coins^000000, ^0000FF5 Silver Coins^000000,"; - mes "or ^0000FF10 Bronze Coins^000000."; - mes "It be a fair bounty for the"; - mes "ill-gotten coins."; - mes "So, what kind of coin have ye"; - mes "brought?"; + mes "I'll reward ye with one jug of ale for ^0000FF1 Golden Coins^000000, ^0000FF5 Silver Coins^000000, or ^0000FF10 Bronze Coins^000000."; + mes "It be a fair bounty for the ill-gotten coins."; + mes "So, what kind of coin have ye brought?"; next; switch(select("Bronze Coins:Silver Coins:Gold Coins:Quit.")) { case 1: @@ -263,9 +194,7 @@ prt_fild05,170,286,4 script Anxious Leprechaun#8pday 954,{ close; case 4: mes "[O'Riley the Leprechaun]"; - mes "I'll reward ye with one jug of ale"; - mes "for ^0000FF1 Golden Coins^000000, ^0000FF5 Silver Coins^000000,"; - mes "or ^0000FF10 Bronze Coins^000000."; + mes "I'll reward ye with one jug of ale for ^0000FF1 Golden Coins^000000, ^0000FF5 Silver Coins^000000, or ^0000FF10 Bronze Coins^000000."; close; } } @@ -276,37 +205,30 @@ mjolnir_01,272,363,4 script Rocks#08StPattysDay -1,1,1,{ OnTouch: if (StPatrick2008 < 1) { - mes "- You've found a pile of rocks"; - mes "covered with soil. -"; + mes "- You've found a pile of rocks covered with soil. -"; close; } if (StPatrick2008 == 1) { - mes "- You've found a pile of rocks"; - mes "covered with soil. -"; + mes "- You've found a pile of rocks covered with soil. -"; next; if (countitem(12018) < 200) { mes "The rocks won't budge."; - mes "Maybe O'Riley knows a way to move"; - mes "the rocks."; + mes "Maybe O'Riley knows a way to move the rocks."; close; } else { if (select("Use Firecrackers.:Ignore") == 2) { close; } - mes "You buried 200 Firecrackers"; - mes "under the pile of rocks."; + mes "You buried 200 Firecrackers under the pile of rocks."; mes "You light the fuse."; next; mes "*BOOM!*"; specialeffect2 EF_LORD; next; - mes "After A cloud of dust and smoke has"; - mes "dissipated,"; - mes "You've found a box between the"; - mes "rocks and soil."; - mes "This box must contain O'Riley's"; - mes "valuables."; + mes "After A cloud of dust and smoke has dissipated,"; + mes "You've found a box between the rocks and soil."; + mes "This box must contain O'Riley's valuables."; mes "Let's bring the box to O'Riley."; close2; set StPatrick2008,2; diff --git a/npc/events/christmas_2008.txt b/npc/events/christmas_2008.txt index 99b783a22..a696de501 100644 --- a/npc/events/christmas_2008.txt +++ b/npc/events/christmas_2008.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= @@ -15,33 +15,31 @@ //= Must enable X-mas08 mobs in mob_db2. //===== Additional Comments: ================================= //= 1.0 First version. [Kisuka] +//= 1.1 Fixed some issues, revamped the whole script. [Kisuka] //============================================================ -// ============== Carolling - Music Box ================ +// ============== Caroller - Music Box ================ // ===================================================== -prontera,226,306,4 script Carolling#iROxmas08 79,{ +prontera,226,306,4 script Caroller#iROxmas08 79,{ if (iROxmas08carol < 1 || iROxmas08carol == 3) { if (iROxmas08carol == 3) { - mes "[Carolling]"; - mes "Jingle Bells! Jingle Bells! Jingle"; - mes "all the way!"; - mes "O' what fun it is to ride in a"; - mes "one-horse open sleeeigh, Hey!"; + mes "[Caroller]"; + mes "Jingle Bells! Jingle Bells! Jingle all the way!"; + mes "O' what fun it is to ride in a one-horse open sleeeigh, Hey!"; next; - mes "[Carolling]"; + mes "[Caroller]"; mes "Merry Christmas!"; - mes "Hey! You! What comes to mind when"; - mes "you think about Christmas?"; + mes "Hey! You! What comes to mind when you think about Christmas?"; next; }else{ - mes "[Carolling]"; + mes "[Caroller]"; mes "Jingle Bells! Jingle Bells! Jingle all the way!"; next; - specialeffect 75; - mes "[Carolling]"; + specialeffect EF_GLORIA; + mes "[Caroller]"; mes "O' what fun it is to ride in a one-horse open sleigh!"; next; - mes "[Carolling]"; + mes "[Caroller]"; mes "Merry Christmas!"; if (Sex) { mes "Hey, boy! What comes to mind when"; @@ -54,291 +52,229 @@ prontera,226,306,4 script Carolling#iROxmas08 79,{ switch(select("Santa Claus:Gift Boxes:Carols:Santa Costumes:Fake Santa Antonio")) { case 1: - mes "[Carolling]"; + mes "[Caroller]"; mes "Santa Claus!"; mes "You're so innocent!!"; mes "Ah!"; next; - mes "[Carolling]"; + mes "[Caroller]"; mes "Here's a secret!"; - mes "There's a rumor that Santa Claus"; - mes "lives in a certain village all"; - mes "throughout the year."; + mes "There's a rumor that Santa Claus lives in a certain village all throughout the year."; next; - mes "[Carolling]"; + mes "[Caroller]"; mes "But now!!!"; mes "In this Christmas season!!"; - mes "You guys can meet Santa on either"; - mes "of the five possible villages"; - mes "throughout Rune-Midgerts!"; + mes "You guys can meet Santa on either of the five possible villages throughout Rune-Midgerts!"; next; - mes "[Carolling]"; - mes "If you win over Santa, you can get"; - mes "a gift. Would you go for it?"; + mes "[Caroller]"; + mes "If you win over Santa, you can get a gift. Would you go for it?"; next; emotion 18; - mes "[Carolling]"; - mes "Carolling's hot news! Ha!"; + mes "[Caroller]"; + mes "Caroller's hot news! Ha!"; mes "Isn't that big news?"; close; case 2: - mes "[Carolling]"; + mes "[Caroller]"; mes "Gift boxes?! All right!"; - mes "Isn't it thrilling to open gifts"; - mes "over your head!!"; + mes "Isn't it thrilling to open gifts over your head!!"; next; - mes "[Carolling]"; + mes "[Caroller]"; mes "Anyway, did you know..."; - mes "Some villain, a fake Santa robbed"; - mes "some gifts from the good Santa!"; + mes "Some villain, a fake Santa robbed some gifts from the good Santa!"; next; - mes "[Carolling]"; - mes "Furthermore, he has put bad magic"; - mes "on the gifts so that they become"; - mes "monsters!"; + mes "[Caroller]"; + mes "Furthermore, he has put bad magic on the gifts so that they become monsters!"; next; emotion 18; - mes "[Carolling]"; - mes "Carolling's hot news! Ha!"; + mes "[Caroller]"; + mes "Caroller's hot news! Ha!"; mes "Isn't it amazing?"; close; case 3: if (iROxmas08carol == 3) { - mes "[Carolling]"; + mes "[Caroller]"; mes "Ah, a music box is useful."; next; - mes "[Carolling]"; - mes "Though we can't all play it around"; - mes "the village as we planned, it's"; - mes "cool that you carry it."; + mes "[Caroller]"; + mes "Though we can't all play it around the village as we planned, it's cool that you carry it."; next; - mes "[Carolling]"; - mes "We want to enjoy carols all"; - mes "together... I hope to get Crystal"; - mes "Pieces!"; + mes "[Caroller]"; + mes "We want to enjoy carols all together... I hope to get Crystal Pieces!"; next; - mes "[Carolling]"; - mes "If you can get ^0000FFSinging Crystal"; - mes "Pieces^000000, give them to me please?"; + mes "[Caroller]"; + mes "If you can get ^0000FFSinging Crystal Pieces^000000, give them to me please?"; next; select("Why not? Sure, I can give you some."); if (countitem(6092) < 6) { - mes "[Carolling]"; + mes "[Caroller]"; mes "Yes, please."; next; - mes "[Carolling]"; - mes "If you can get ^0000FFSinging Crystal"; - mes "Pieces^000000, give them to me please?"; + mes "[Caroller]"; + mes "If you can get ^0000FFSinging Crystal Pieces^000000, give them to me please?"; close; }else{ - mes "[Carolling]"; + mes "[Caroller]"; mes "Wow, you have them."; next; - mes "[Carolling]"; - mes "I can bake you a cake,"; - mes "and I can carve your name on the"; - mes "cake, if you want!"; + mes "[Caroller]"; + mes "I can bake you a cake, and I can carve your name on the cake, if you want!"; next; if (select("No, thanks.:Please name it for me.") == 2) { - mes "[Carolling]"; + mes "[Caroller]"; mes "Thank for your help!"; next; - mes "[Carolling]"; - mes "Many people live in the giant"; - mes "world!"; - mes "So many people hope to hear"; - mes "carolling, yet I always lack"; - mes "Crystal pieces."; + mes "[Caroller]"; + mes "Many people live in the giant world!"; + mes "So many people hope to hear Caroller, yet I always lack Crystal pieces."; next; - mes "[Carolling]"; + mes "[Caroller]"; mes "If you can get ^0000FFSinging Crystal Pieces^000000, give them to me please?"; next; emotion 18; delitem 6092,6; getnameditem 12354,"+strcharinfo(0)+"; - mes "[Carolling]"; - mes "Let's care about others around you"; - mes "on this Christmas season!"; + mes "[Caroller]"; + mes "Let's care about others around you on this Christmas season!"; close; }else{ - mes "[Carolling]"; + mes "[Caroller]"; mes "Oh!"; mes "Shyness!"; next; - mes "[Carolling]"; - mes "Anyway, thanks a lot for your"; - mes "help."; + mes "[Caroller]"; + mes "Anyway, thanks a lot for your help."; next; - mes "[Carolling]"; - mes "Many people live in the giant"; - mes "world!"; - mes "So many people hope to hear"; - mes "carolling, yet I always lack"; - mes "Crystal pieces."; + mes "[Caroller]"; + mes "Many people live in the giant world!"; + mes "So many people hope to hear Caroller, yet I always lack Crystal pieces."; next; - mes "[Carolling]"; + mes "[Caroller]"; mes "If you can get ^0000FFSinging Crystal Pieces^000000, give them to me please?"; next; emotion 18; delitem 6092,6; getitem 12354,1; - mes "[Carolling]"; - mes "Let's care about others around you"; - mes "on this Christmas season!"; + mes "[Caroller]"; + mes "Let's care about others around you on this Christmas season!"; close; } } } - mes "[Carolling]"; + mes "[Caroller]"; mes "You know about Christmas!"; mes "Talking about Christmas..."; mes "...it's carols!!!"; mes "I've been waiting for this for when"; mes "Christmas comes around!"; next; - mes "[Carolling]"; - mes "But there's been no caroling here"; - mes "and there like before, so we can't"; - mes "feel the Christmas spirit."; + mes "[Caroller]"; + mes "But there's been no caroling here and there like before, so we can't feel the Christmas spirit."; next; - mes "[Carolling]"; - mes "So, I installed a Singing Crystal"; - mes "in Prontera..."; + mes "[Caroller]"; + mes "So, I installed a Singing Crystal in Prontera..."; next; - mes "[Carolling]"; - mes "but that jerk Antonio broke the"; - mes "crystal!"; + mes "[Caroller]"; + mes "but that jerk Antonio broke the crystal!"; next; - mes "[Carolling]"; - mes "The gift boxes have been changing"; - mes "into monsters since Antonio placed"; - mes "some magic on them, so the monsters"; - mes "ate up the crystal fragments!"; + mes "[Caroller]"; + mes "The gift boxes have been changing into monsters since Antonio placed some magic on them, so the monsters ate up the crystal fragments!"; next; - mes "[Carolling]"; - mes "I am so devastated, since the"; - mes "Singing Crystal has been the hope"; - mes "of many children around the villages."; + mes "[Caroller]"; + mes "I am so devastated, since the Singing Crystal has been the hope of many children around the villages."; next; if (select("There's no other way to carol?:You can hear carols in Lutie.") == 2) { - mes "[Carolling]"; - mes "And just stay there, every"; - mes "Christmas, for your whole life?"; + mes "[Caroller]"; + mes "And just stay there, every Christmas, for your whole life?"; next; mes "["+strcharinfo(0)+"]"; mes "What? What do you mean?"; next; - mes "[Carolling]"; + mes "[Caroller]"; mes "Oh, nevermind."; mes "Ah..."; close; } - mes "[Carolling]"; - mes "Maybe, it's quite hard to make a"; - mes "jukebox for the villages, but a"; - mes "music box might be possible."; + mes "[Caroller]"; + mes "Maybe, it's quite hard to make a jukebox for the villages, but a music box might be possible."; next; - mes "[Carolling]"; - mes "We need the ^0000FFSinging Crystal Pieces^000000"; - mes "that the monsters ate up."; + mes "[Caroller]"; + mes "We need the ^0000FFSinging Crystal Pieces^000000 that the monsters ate up."; next; - mes "[Carolling]"; - mes "Please bring me ^0000FF6 Singing Crystal"; - mes "Pieces^000000, and you will be rewarded"; - mes "with presents!"; + mes "[Caroller]"; + mes "Please bring me ^0000FF6 Singing Crystal Pieces^000000, and you will be rewarded with presents!"; next; - mes "[Carolling]"; + mes "[Caroller]"; mes "Sounds cool, huh!!"; next; select("........................"); - mes "[Carolling]"; - mes "...Why are you staring at me like"; - mes "that?"; + mes "[Caroller]"; + mes "...Why are you staring at me like that?"; next; - mes "[Carolling]"; - mes "You're thinking that we are always"; - mes "getting our plans spoiled, aren't"; - mes "you?"; + mes "[Caroller]"; + mes "You're thinking that we are always getting our plans spoiled, aren't you?"; next; - mes "[Carolling]"; - mes "I know that we are not good at"; - mes "controlling stuff, but our rewards"; - mes "are good, right?"; + mes "[Caroller]"; + mes "I know that we are not good at controlling stuff, but our rewards are good, right?"; next; select("........................"); - mes "[Carolling]"; + mes "[Caroller]"; mes "Hey, we treat you good..."; next; select("........................"); - mes "[Carolling]"; + mes "[Caroller]"; mes "You are so cruel to me!"; mes "Bad! Bad!"; next; - mes "[Carolling]"; - mes "Please, for our children's"; - mes "hope!!!?"; - mes "Please bring me 6 Singing Crystal"; - mes "Pieces from ^0000FFViolent Gift Boxes^000000!"; + mes "[Caroller]"; + mes "Please, for our children's hope!!!?"; + mes "Please bring me 6 Singing Crystal Pieces from ^0000FFViolent Gift Boxes^000000!"; next; emotion 33; - mes "[Carolling]"; - mes "They're definitely as"; - mes "harsh as their name."; + mes "[Caroller]"; + mes "They're definitely as harsh as their name."; mes "Go on please!"; set iROxmas08carol,1; close; case 4: - mes "[Carolling]"; + mes "[Caroller]"; mes "Santa costumes!!"; - mes "You know, the santa costumes that"; - mes "the monsters are wearing now aren't"; - mes "genuine!"; + mes "You know, the santa costumes that the monsters are wearing now aren't genuine!"; next; - mes "[Carolling]"; - mes "The rumor 'round here is, Lutie's"; - mes "designer made these costumes."; + mes "[Caroller]"; + mes "The rumor 'round here is, Lutie's designer made these costumes."; next; - mes "[Carolling]"; - mes "Every year, adventurers challenge"; - mes "to attack Antonio the fake Santa,"; - mes "but there's no way to catch up to"; - mes "him due to his hat and costume!"; + mes "[Caroller]"; + mes "Every year, adventurers challenge to attack Antonio the fake Santa, but there's no way to catch up to him due to his hat and costume!"; next; - mes "[Carolling]"; - mes "Are there some spcial abilities"; - mes "within them?"; - mes "There's still the designer in the"; - mes "Christmas village... How about"; - mes "asking her to make that costume?"; + mes "[Caroller]"; + mes "Are there some spcial abilities within them?"; + mes "There's still the designer in the Christmas village... How about asking her to make that costume?"; next; emotion 18; - mes "[Carolling]"; - mes "Carolling's hot news! Ha!"; + mes "[Caroller]"; + mes "Caroller's hot news! Ha!"; mes "It's hot, huh?"; close; case 5: - mes "[Carolling]"; + mes "[Caroller]"; mes "A-N-T-O-N-I-O!!!"; - mes "As I heard, this Antonio is quite"; - mes "different from before."; + mes "As I heard, this Antonio is quite different from before."; next; - mes "[Carolling]"; - mes "He seems to be quite resolved with"; - mes "himself since he ran away from"; - mes "people before."; + mes "[Caroller]"; + mes "He seems to be quite resolved with himself since he ran away from people before."; next; - mes "[Carolling]"; - mes "And he isn't alone anymore... is"; - mes "what I heard..."; + mes "[Caroller]"; + mes "And he isn't alone anymore... is what I heard..."; next; emotion 18; - mes "[Carolling]"; - mes "Carolling's hot news! Ha!"; + mes "[Caroller]"; + mes "Caroller's hot news! Ha!"; mes "Hotness, right?"; close; } @@ -346,80 +282,64 @@ prontera,226,306,4 script Carolling#iROxmas08 79,{ if (iROxmas08carol == 1) { if (countitem(6092) < 6) { - mes "[Carolling]"; - mes "Maybe, it's quite hard to make a"; - mes "jukebox for the villages, but a"; - mes "music box might be possible."; + mes "[Caroller]"; + mes "Maybe, it's quite hard to make a jukebox for the villages, but a music box might be possible."; next; - mes "[Carolling]"; - mes "We need the ^0000FFSinging Crystal Pieces^000000"; - mes "that the monsters ate up."; + mes "[Caroller]"; + mes "We need the ^0000FFSinging Crystal Pieces^000000 that the monsters ate up."; next; - mes "[Carolling]"; + mes "[Caroller]"; mes "Please bring me ^0000FF6 Singing Crystal Pieces^000000, and you will be rewarded with presents!"; next; - mes "[Carolling]"; - mes "For all of the children of this"; - mes "world!!!"; - mes "Please bring me ^0000FFSinging Crystal"; - mes "Pieces^000000 from ^0000FFViolent Gift Boxes^000000!"; + mes "[Caroller]"; + mes "For all of the children of this world!!!"; + mes "Please bring me ^0000FFSinging Crystal Pieces^000000 from ^0000FFViolent Gift Boxes^000000!"; next; emotion 33; - mes "[Carolling]"; + mes "[Caroller]"; mes "Be careful!"; - mes "They're definitely as"; - mes "harsh as their name."; + mes "They're definitely as harsh as their name."; mes "Take care!!!"; close; }else{ - specialeffect 75; - mes "[Carolling]"; + specialeffect EF_GLORIA; + mes "[Caroller]"; mes "Don't cry, don't cry!"; - mes "Santa won't give you a"; - mes "gift if you're crying."; + mes "Santa won't give you a gift if you're crying."; next; - mes "[Carolling]"; + mes "[Caroller]"; select("I got them!"); - mes "[Carolling]"; + mes "[Caroller]"; mes "Wow, you got them!"; mes "They are so cruel, aren't they?"; mes "I'm happy to see you again."; next; - mes "[Carolling]"; + mes "[Caroller]"; mes "Let's count together!"; mes "... ..."; mes "Six!!"; next; - mes "[Carolling]"; - mes "All right! We can start to make our"; - mes "music box with crystal fragments."; + mes "[Caroller]"; + mes "All right! We can start to make our music box with crystal fragments."; next; - mes "[Carolling]"; - mes "We would amplify the sounds of the"; - mes "crystal fragments to sound through"; - mes "the music box."; + mes "[Caroller]"; + mes "We would amplify the sounds of the crystal fragments to sound through the music box."; next; - mes "[Carolling]"; - mes "You know, a music box that sounds"; - mes "like a jukebox!"; + mes "[Caroller]"; + mes "You know, a music box that sounds like a jukebox!"; next; - mes "[Carolling]"; - mes "It's handy. You can carry it, as"; - mes "well as listen to sweet carols"; - mes "anywhere. Doesn't that sound"; - mes "cool!?"; + mes "[Caroller]"; + mes "It's handy. You can carry it, as well as listen to sweet carols anywhere."; + mes "Doesn't that sound cool!?"; next; - mes "[Carolling]"; - mes "So, we need more of some"; - mes "materials."; - mes "^0000FF10 Wooden Block, 1 Hammer Of"; - mes "Blacksmith, 1 Jubilee, 10 Sticky"; - mes "Mucus, 3-karat Diamond^000000!"; + mes "[Caroller]"; + mes "So, we need more of some materials."; + mes "^0000FF10 Trunk, 1 Hammer Of Blacksmith, 1 Jubilee, 10 Sticky Mucus, 3carat Diamond^000000!"; next; delitem 6092,6; emotion 33; set iROxmas08carol,2; - mes "[Carolling]"; + mes "[Caroller]"; mes "Those are all needed."; mes "Isn't that easy?"; close; @@ -428,86 +348,72 @@ prontera,226,306,4 script Carolling#iROxmas08 79,{ if (iROxmas08carol == 2) { if (countitem(1019) < 10 || countitem(1005) < 1 || countitem(7312) < 1 || countitem(938) < 10 || countitem(732) < 1) { - mes "[Carolling]"; - mes "We can make a music box"; - mes "with Singing Crystal Pieces."; - mes "It's handy, you can hear carols"; - mes "anywhere. Sounds cool?"; + mes "[Caroller]"; + mes "We can make a music box with Singing Crystal Pieces."; + mes "It's handy, you can hear carols anywhere. Sounds cool?"; next; - mes "[Carolling]"; + mes "[Caroller]"; mes "So, we need more of some materials."; - mes "^0000FF10 Wooden Block, 1 Hammer Of"; - mes "Blacksmith, 1 Jubilee, 10 Sticky"; - mes "Mucus, 3-karat Diamond^000000!"; + mes "^0000FF10 Trunk, 1 Hammer Of Blacksmith, 1 Jubilee, 10 Sticky Mucus, 3carat Diamond^000000!"; next; emotion 33; - mes "[Carolling]"; + mes "[Caroller]"; mes "That's all we need."; mes "Isn't that easy?"; close; }else{ - specialeffect 75; - mes "[Carolling]"; + specialeffect EF_GLORIA; + mes "[Caroller]"; mes "Jingle bells, jingle bells,"; mes "jingle all the way!"; mes "O what fun it is to ride, in a"; mes "one... horse... o-pen... sleigh!!!"; next; - mes "[Carolling]"; + mes "[Caroller]"; mes "Wow!"; mes "You came back!"; - mes "Did you bring all the"; - mes "materials?"; + mes "Did you bring all the materials?"; next; - mes "[Carolling]"; + mes "[Caroller]"; mes "Good!"; - mes "No need to hesitate! Let's get"; - mes "started to make our music box."; + mes "No need to hesitate! Let's get started to make our music box."; next; - mes "[Carolling]"; - specialeffect 101; - mes "Blacksmith hammers on wooden"; - mes "block... and we shape the frame."; + mes "[Caroller]"; + specialeffect EF_REPAIRWEAPON; + mes "Blacksmith hammers on trunk... and we shape the frame."; next; - mes "[Carolling]"; + mes "[Caroller]"; //(effect - stones from ground?) - mes "Please use the Singing Crystal"; - mes "Pieces for a column, the Diamond as"; - mes "a prop, and the Sticky Mucus as"; - mes "glue."; + mes "Please use the Singing Crystal Pieces for a column, the Diamond as a prop, and the Sticky Mucus as glue."; next; - mes "[Carolling]"; - specialeffect 1; + mes "[Caroller]"; + specialeffect EF_HIT2; mes "And now..."; mes "we decorate with a Jubilee..."; next; - mes "[Carolling]"; - specialeffect 88; + mes "[Caroller]"; + specialeffect EF_SUFFRAGIUM; mes "The last step...!"; mes "Breating life into it!"; next; - mes "[Carolling]"; + mes "[Caroller]"; mes "It's done now!!!"; next; - mes "[Carolling]"; + mes "[Caroller]"; mes "It's so cool! Isn't it cute!!?!"; next; - mes "[Carolling]"; - mes "You did as I requested, so I will"; - mes "give you gifts, as promised."; + mes "[Caroller]"; + mes "You did as I requested, so I will give you gifts, as promised."; next; - mes "[Carolling]"; + mes "[Caroller]"; mes "One, is this music box."; - mes "Please play this music box all over"; - mes "the villages!"; + mes "Please play this music box all over the villages!"; next; - mes "[Carolling]"; - mes "Another present is a Christmas cake"; - mes "especially shaped like your name!"; - mes "I made this cake shaped like your"; - mes "name!"; + mes "[Caroller]"; + mes "Another present is a Christmas cake especially shaped like your name!"; + mes "I made this cake shaped like your name!"; next; - mes "[Carolling]"; + mes "[Caroller]"; mes "Don't worry, it tastes good."; next; emotion 33; @@ -519,7 +425,7 @@ prontera,226,306,4 script Carolling#iROxmas08 79,{ delitem 938,10; delitem 732,1; set iROxmas08carol,3; - mes "[Carolling]"; + mes "[Caroller]"; mes "Thanks a lot."; mes "Merry Christmas!"; mes "Have a good holiday season!"; @@ -532,22 +438,18 @@ prontera,226,306,4 script Carolling#iROxmas08 79,{ // ===================================================== - script Santa Claus#iROxmas08::08santa 718,{ mes "[Santa Claus]"; - mes "Wow! Were you naughty or nice this"; - mes "year?"; - mes "All right, what comes to your mind"; - mes "when you think about Christmas?"; + mes "Wow! Were you naughty or nice this year?"; + mes "All right, what comes to your mind when you think about Christmas?"; next; switch(select("Carolling:Santa Claus:Gift Boxes:Santa Costume:Not much really...")) { case 1: mes "[Santa Claus]"; mes "Carolling! That's good!"; - mes "A sweet carol always makes"; - mes "Christmas more happy!!!"; + mes "A sweet carol always makes Christmas more happy!!!"; next; mes "[Santa Claus]"; - mes "Yes indeed Carolling spreads Joy"; - mes "throughout the world?"; + mes "Yes indeed Carolling spreads Joy throughout the world?"; close; case 2: @@ -559,75 +461,53 @@ prontera,226,306,4 script Carolling#iROxmas08 79,{ } next; mes "[Santa Claus]"; - mes "But you should be wary of a fake"; - mes "Santa romaing around."; - mes "Have you heard of Antonio, who"; - mes "invades villages every Christmas?"; + mes "But you should be wary of a fake Santa romaing around."; + mes "Have you heard of Antonio, who invades villages every Christmas?"; next; mes "[Santa Claus]"; - mes "He has stolen my gifts, as well as"; - mes "attacked adventurers around Toy and"; - mes "Lutie field."; + mes "He has stolen my gifts, as well as attacked adventurers around Toy and Lutie field."; next; mes "[Santa Claus]"; - mes "A bad Santa ruins us good Santa's"; - mes "reputations!"; - mes "The World Santa Organization is"; - mes "considering this a grave"; - mes "situation."; + mes "A bad Santa ruins us good Santa's reputations!"; + mes "The World Santa Organization is considering this a grave situation."; close; case 3: mes "[Santa Claus]"; mes "A gift box! That sounds good!"; - mes "It's so exciting to open gift boxes"; - mes "when you wake up on Christmas"; - mes "morning!!!"; + mes "It's so exciting to open gift boxes when you wake up on Christmas morning!!!"; next; mes "[Santa Claus]"; - mes "But we have very little gifts now,"; - mes "since Santa Antonio has stolen my"; - mes "gift bag."; + mes "But we have very little gifts now, since Santa Antonio has stolen my gift bag."; next; mes "[Santa Claus]"; - mes "Many adventurers try to catch up"; - mes "to him, but he is not easy to catch."; + mes "Many adventurers try to catch up to him, but he is not easy to catch."; next; mes "[Santa Claus]"; - mes "Anyway let those adventurers try to"; - mes "catch him, I have a small game for"; - mes "you."; + mes "Anyway let those adventurers try to catch him, I have a small game for you."; next; mes "[Santa Claus]"; - mes "I will give you a small gift if you"; - mes "beat me!"; + mes "I will give you a small gift if you beat me!"; next; mes "[Santa Claus]"; - mes "Do you want to play a game with"; - mes "me?"; + mes "Do you want to play a game with me?"; next; if (select("No, thanks.:Yes, I would.") == 1) { mes "[Santa Claus]"; - mes "Aww, don't be afraid. If you've"; - mes "been a little naughty this year I"; - mes "won't stuff your stockings with"; - mes "coal."; + mes "Aww, don't be afraid."; + mes "If you've been a little naughty this year I won't stuff your stockings with coal."; next; mes "[Santa Claus]"; - mes "I will stay here throughout the"; - mes "Christmas season, just visit me"; - mes "when you change your mind."; + mes "I will stay here throughout the Christmas season, just visit me when you change your mind."; close; } if (gettimetick(2) < SantaCardTime) { mes "[Santa Claus]"; - mes "Um... You've played the game"; - mes "recently haven't you?"; + mes "Um... You've played the game recently haven't you?"; next; mes "[Santa Claus]"; mes "You can try the game once a hour."; - mes "Please visit me after the one hour"; - mes "has passed."; + mes "Please visit me after the one hour has passed."; close; } set .@SantaCardTurn,0; @@ -636,40 +516,35 @@ prontera,226,306,4 script Carolling#iROxmas08 79,{ mes "Wow! You're so cool!"; next; mes "[Santa Claus]"; - mes "Let me explain how to play this"; - mes "game."; + mes "Let me explain how to play this game."; next; mes "[Santa Claus]"; - mes "It's quite simple. I will pick one"; - mes "of three cards: Poring Card,"; - mes "Ghostring Card, and Angeling Card."; - mes "Guess which card I pick and"; - mes "you're a winner!"; + mes "It's quite simple."; + mes "I will pick one of three cards: Poring Card, Ghostring Card, and Angeling Card."; + mes "Guess which card I pick and you're a winner!"; next; mes "[Santa Claus]"; - mes "If you guess right 3 times out of"; - mes "5, I will give you a gift."; + mes "If you guess right 3 times out of 5, I will give you a gift."; mes "Let's get started!"; next; while(.@SantaCardTurn != 5) { emotion 56; mes "[Santa Claus]"; - mes "First let me shuffle up these"; - mes "cards... Ok!!!"; + mes "First let me shuffle up these cards... Ok!!!"; next; - specialeffect 0; + specialeffect EF_HIT1; mes "[Santa Claus]"; mes "One!"; next; - specialeffect 1; + specialeffect EF_HIT2; mes "[Santa Claus]"; mes "Two!"; next; - specialeffect 2; + specialeffect EF_HIT3; mes "[Santa Claus]"; mes "Three!"; next; - specialeffect 18; + specialeffect EF_STEAL; mes "[Santa Claus]"; mes "I'm picking up only one!"; next; @@ -725,8 +600,7 @@ prontera,226,306,4 script Carolling#iROxmas08 79,{ cutin "",255; mes "[Santa Claus]"; mes "You're lucky."; - mes "Can you guess the right card the"; - mes "next time around?"; + mes "Can you guess the right card the next time around?"; next; }else{ emotion 0; @@ -739,8 +613,8 @@ prontera,226,306,4 script Carolling#iROxmas08 79,{ } if (.@SantaCardWins < 3) { mes "["+strcharinfo(0)+"]"; - mes "This is just luck. Let me try"; - mes "again!!"; + mes "This is just luck."; + mes "Let me try again!!"; next; mes "[Santa Claus]"; mes "Whenever you want."; @@ -750,9 +624,8 @@ prontera,226,306,4 script Carolling#iROxmas08 79,{ mes "You're so good!"; next; mes "[Santa Claus]"; - mes "Now this gift is for you. Put your"; - mes "hand into the bag and pick only"; - mes "one."; + mes "Now this gift is for you."; + mes "Put your hand into the bag and pick only one."; set .@SantaCardPrize, rand(1,12); next; if (.@SantaCardPrize == 1) { @@ -793,24 +666,19 @@ prontera,226,306,4 script Carolling#iROxmas08 79,{ } set SantaCardTime,gettimetick(2)+3600; mes "[Santa Claus]"; - mes "Good job! Thanks for playing the"; - mes "card game with me! Merry"; - mes "Christmas!"; + mes "Good job! Thanks for playing the card game with me!"; + mes "Merry Christmas!"; close; } case 4: mes "[Santa Claus]"; - mes "Do you mean that ever so"; - mes "fashionable costume for Santa's and"; - mes "youngsters!?!"; - mes "Light-weight, fashionable, and"; - mes "keeps you warm!"; + mes "Do you mean that ever so fashionable costume for Santa's and youngsters!?!"; + mes "Light-weight, fashionable, and keeps you warm!"; next; mes "[Santa Claus]"; - mes "There used to be designer who"; - mes "visited my house to make my Santa"; - mes "costumes. Do you have any ideas?"; + mes "There used to be designer who visited my house to make my Santa costumes."; + mes "Do you have any ideas?"; close; case 5: @@ -835,10 +703,8 @@ prontera,226,306,4 script Carolling#iROxmas08 79,{ mes "..."; next; mes "[Santa Claus]"; - mes "You should open your heart to the"; - mes "spirit of Christmas!"; - mes "Once you do, I know you'll be able"; - mes "to think of something."; + mes "You should open your heart to the spirit of Christmas!"; + mes "Once you do, I know you'll be able to think of something."; close; } } @@ -854,32 +720,25 @@ morocc,158,104,4 duplicate(08santa) Santa Claus#0805 718 // ===================================================== xmas_in,89,92,4 script Louise Kim#iROxmas08 714,{ mes "[Louise Kim]"; - mes "I always thought about how boring"; - mes "Santa Claus is wearing a too boring"; - mes "costume. Too boring!"; + mes "I always thought about how boring Santa Claus is wearing a too boring costume."; + mes "Too boring!"; next; mes "[Louise Kim]"; - mes "I could make a glamorous style for"; - mes "him!"; + mes "I could make a glamorous style for him!"; next; mes "[Louise Kim]"; - mes "I once made a costume for"; - mes "the notorious figure Antonio!"; - mes "The reason catching up to him"; - mes "is so hard, is that his clothes"; - mes "have been given strong power!"; + mes "I once made a costume for the notorious figure Antonio!"; + mes "The reason catching up to him is so hard, is that his clothes have been given strong power!"; mes "I blessed them with good luck!"; next; emotion 3; mes "[Louise Kim]"; mes "Preta Porter!!"; - mes "Which is quite luxurious"; - mes "but sold at good price ~"; + mes "Which is quite luxurious but sold at good price ~"; next; mes "[Louise Kim]"; - mes "Hey loosers! You can share my sense"; - mes "of fashion and wear my look if you"; - mes "run a light mission for me."; + mes "Hey loosers!"; + mes "You can share my sense of fashion and wear my look if you run a light mission for me."; next; mes "[Louise Kim]"; mes "Are you interested?"; @@ -887,15 +746,12 @@ xmas_in,89,92,4 script Louise Kim#iROxmas08 714,{ if (select("Nope.:Yes, please.") == 1) { mes "[Louise Kim]"; mes "Ah!"; - mes "You're silly! You lost your big"; - mes "chance!"; + mes "You're silly! You lost your big chance!"; next; emotion 18; mes "[Louise Kim]"; - mes "Come to me later if you"; - mes "want to get the mission."; - mes "I, Louise Kim, am generous"; - mes "enough to accept you next time."; + mes "Come to me later if you want to get the mission."; + mes "I, Louise Kim, am generous enough to accept you next time."; close; } mes "[Louise Kim]"; @@ -904,13 +760,10 @@ xmas_in,89,92,4 script Louise Kim#iROxmas08 714,{ mes "[Louise Kim]"; mes "Don't worry about this mission."; mes "It's not that difficult."; - mes "I'm only in need of some"; - mes "materials. Things that are"; - mes "beyond my ability..."; + mes "I'm only in need of some materials. Things that are beyond my ability..."; next; mes "[Louise Kim]"; - mes "Anyway, can you bring me some"; - mes "stuff?"; + mes "Anyway, can you bring me some stuff?"; next; if (select("Why not? What do you need?:Sorry, no time.") == 2) { emotion 18; @@ -922,25 +775,18 @@ xmas_in,89,92,4 script Louise Kim#iROxmas08 714,{ } mes "[Louise Kim]"; mes "All right, you're cool!!"; - mes "You need to bring me: ^0000FFCotton Shirt,"; - mes "3 Red Potion, Holy Water, 4 Wrapping"; - mes "Paper, Wrapping Lace^000000.."; + mes "You need to bring me: ^0000FFCotton Shirt, 3 Red Potion, Holy Water, 4 Wrapping Paper, Wrapping Lace^000000."; next; mes "[Louise Kim]"; - mes "If you bring me all that stuff, I"; - mes "can make you a glamorous Santa"; - mes "costume."; + mes "If you bring me all that stuff, I can make you a glamorous Santa costume."; next; if (countitem(2301) < 1 || countitem(501) < 3 || countitem(523) < 1 || countitem(7175) < 4 || countitem(7174) < 1) { mes "[Louise Kim]"; - mes "If you were to bring me all the"; - mes "stuff, I would make you a wonderful"; - mes "costume, for free..."; + mes "If you were to bring me all the stuff, I would make you a wonderful costume, for free..."; next; emotion 3; mes "[Louise Kim]"; - mes "Please see me again if you are"; - mes "interested."; + mes "Please see me again if you are interested."; close; }else{ select("Here you are."); @@ -948,20 +794,18 @@ xmas_in,89,92,4 script Louise Kim#iROxmas08 714,{ mes "[Louise Kim]"; mes "Oh! Good!"; mes "Let's not delay."; - mes "I will show you my limitless"; - mes "ability."; + mes "I will show you my limitless ability."; next; mes "-She pours everything in a pot-"; mes "-even the shirt goes in!-"; mes "-She takes it out with skill-"; mes "-and many blessings she sings.-"; next; - specialeffect 42; + specialeffect EF_BLESSING; emotion 2; mes "[Louise Kim]"; mes "By artist, Louise Kim!"; - mes "All over the world will be blessed"; - mes "tonight!"; + mes "All over the world will be blessed tonight!"; next; mes "-Pour red potion in another pot-"; mes "-then stir all of its parts.-"; @@ -971,20 +815,19 @@ xmas_in,89,92,4 script Louise Kim#iROxmas08 714,{ mes "-String by string-"; mes "-Count your blessings and sing!-"; next; - specialeffect 75; + specialeffect EF_GLORIA; emotion 2; mes "[Louise Kim]"; mes "By artist, Louise Kim!"; - mes "All over the world will be blessed"; - mes "tonight!"; + mes "All over the world will be blessed tonight!"; next; mes "-She is knitting clothes-"; mes "-with a hooked needle-"; mes "-with her great skill.-"; - mes "Spread your blessings,-"; - mes "cheer and goodwill!-"; + mes "-Spread your blessings,-"; + mes "-cheer and goodwill!-"; next; - specialeffect 91; + specialeffect EF_BENEDICTIO; emotion 3; mes "[Louise Kim]"; mes "This is miraculous!"; @@ -995,14 +838,11 @@ xmas_in,89,92,4 script Louise Kim#iROxmas08 714,{ mes "All right! Isn't it wonderful?"; mes "You can call it what you wish."; mes "My fashion is radiant."; - mes "I ain't envious of Designer"; - mes "Pierre."; + mes "I ain't envious of Designer Pierre."; next; emotion 18; mes "[Louise Kim]"; - mes "I am supposed to get paid well,"; - mes "however I will just let it"; - mes "be free, since this is Christmas!"; + mes "I am supposed to get paid well, however I will just let it be free, since this is Christmas!"; next; delitem 2301,1; delitem 501,3; @@ -1011,9 +851,7 @@ xmas_in,89,92,4 script Louise Kim#iROxmas08 714,{ delitem 7174,1; getitem 12132,1; mes "[Louise Kim]"; - mes "Go brag about these wonderful"; - mes "clothes. There wouldn't be"; - mes "any without me, Louise Kim."; + mes "Go brag about these wonderful clothes. There wouldn't be any without me, Louise Kim."; close; } } diff --git a/npc/events/halloween_2008.txt b/npc/events/halloween_2008.txt index 33f54b411..9f467ae09 100644 --- a/npc/events/halloween_2008.txt +++ b/npc/events/halloween_2008.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= @@ -14,6 +14,7 @@ //= You must enable the event monsters in mob_db2. //===== Additional Comments: ================================= //= 1.0 First version. [Kisuka] +//= 1.1 Some small changes. [Kisuka] //============================================================ payon,162,176,4 script Halloween Magician#iRO08 704,{ @@ -21,15 +22,12 @@ payon,162,176,4 script Halloween Magician#iRO08 704,{ if(Hallow08 < 1) { mes "[Halloween Magician]"; mes "Kkkkkkkkk!"; - mes "I have a special event this"; - mes "Halloween that tests your luck and"; - mes "agility."; + mes "I have a special event this Halloween that tests your luck and agility."; mes "Are you interested?"; next; mes "[Halloween Magician]"; mes "Come on! Don't be a wuss!"; - mes "If you collect enough tickets"; - mes "you can get good prizes!"; + mes "If you collect enough tickets you can get good prizes!"; mes "So what do you say?"; next; goto MainMenu; @@ -60,56 +58,40 @@ payon,162,176,4 script Halloween Magician#iRO08 704,{ set Hallow08Kill,0; mes "[Halloween Magician]"; mes "As I promised"; - mes "You can get Halloween tickets"; - mes "for cool items."; + mes "You can get Halloween tickets for cool items."; close; } if(Hallow08 > 0) { mes "[Halloween Magician]"; - mes "Well, do you want to hear the rules"; - mes "again or,"; - mes "just get back to it..."; + mes "Well, do you want to hear the rules again or, just get back to it..."; next; goto MainMenu2; } Rules: mes "[Halloween Magician]"; - mes "This village is like a virtual"; - mes "Payon. There are zombies and ghouls"; - mes "roaming around"; - mes "and three southern exits, but only"; - mes "one works."; + mes "This village is like a virtual Payon."; + mes "There are zombies and ghouls roaming around and three southern exits, but only one works."; mes "That's up to you to find out."; next; mes "[Halloween Magician]"; - mes "You can't use any skills"; - mes "to kill the ghouls or zombies."; + mes "You can't use any skills to kill the ghouls or zombies."; mes "And one more thing..."; mes "you shouldn't forget..."; next; mes "[Halloween Magician]"; - mes "All participants"; - mes "should be wearing nothing."; - mes "Put all belongings in your storage"; - mes "and come back here when your weight"; - mes "is '0'."; + mes "All participants should be wearing nothing."; + mes "Put all belongings in your storage and come back here when your weight is '0'."; next; mes "[Halloween Magician]"; mes "Oh and one more thing!"; - mes "You can't be riding a PecoPeco or"; - mes "have a Cart."; - mes "If you are, then I will remove them"; - mes "before you enter."; + mes "You can't be riding a PecoPeco or have a Cart."; + mes "If you are, then I will remove them before you enter."; mes "Got it?"; next; mes "[Halloween Magician]"; - mes "Remember, there are three exits but"; - mes "only one works randomly,"; - mes "the zombies and ghouls roaming"; - mes "around there can't be killed"; - mes "and you can't be wearing anything."; + mes "Remember, there are three exits but only one works randomly, the zombies and ghouls roaming around there can't be killed and you can't be wearing anything."; next; if (Hallow08 > 0) { mes "[Halloween Magician]"; @@ -128,26 +110,21 @@ payon,162,176,4 script Halloween Magician#iRO08 704,{ if (Weight > 0) { mes "[Halloween Magician]"; mes "Gosh!"; - mes "There's always a black sheep"; - mes "anywhere."; + mes "There's always a black sheep anywhere."; next; mes "[Halloween Magician]"; - mes "You think I wouldn't notice that"; - mes "your weight is above '0'?"; + mes "You think I wouldn't notice that your weight is above '0'?"; mes "You're overweight..."; close; }else{ mes "[Halloween Magician]"; - mes "You seem good to go,"; - mes "and your weight is just right."; + mes "You seem good to go, and your weight is just right."; next; mes "[Halloween Magician]"; - mes "I was quite swamped with my work,"; - mes "so I'm exhausted."; + mes "I was quite swamped with my work, so I'm exhausted."; next; mes "[Halloween Magician]"; - mes "I sometimes forget to send you"; - mes "there..."; + mes "I sometimes forget to send you there..."; next; mes "[Halloween Magician]"; mes "I hope you come back well."; @@ -166,13 +143,11 @@ payon,162,176,4 script Halloween Magician#iRO08 704,{ TicketExchange: mes "[Halloween Magician]"; - mes "You want to exchange tickets for"; - mes "prizes?"; + mes "You want to exchange tickets for prizes?"; mes "Good job! Kkkkkk!"; next; mes "[Halloween Magician]"; - mes "Lemme tell you what items you can"; - mes "exchange for."; + mes "Lemme tell you what items you can exchange for."; next; mes "[Halloween Magician]"; mes "5 tickets for Pumpkin Pie."; @@ -182,8 +157,7 @@ payon,162,176,4 script Halloween Magician#iRO08 704,{ mes "200 tickets for Old Card Album."; next; mes "[Halloween Magician]"; - mes "What would you like to exchange"; - mes "for?"; + mes "What would you like to exchange for?"; next; switch(select("Pumpkin Pie:Pumpkin-Head:Old Blue Box:Old Purple Box:Old Card Album")) { case 1: @@ -248,8 +222,7 @@ payon,162,176,4 script Halloween Magician#iRO08 704,{ mes "[Halloween Magician]"; mes "You don't have enough tickets!"; mes "Can't you even count?"; - mes "Please come here with the right"; - mes "number of tickets."; + mes "Please come here with the right number of tickets."; close; Enough: diff --git a/npc/events/valentinesday_2009.txt b/npc/events/valentinesday_2009.txt index 24eb24e01..a9db606aa 100644 --- a/npc/events/valentinesday_2009.txt +++ b/npc/events/valentinesday_2009.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.2 +//= 1.3 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= @@ -20,6 +20,7 @@ //===== Additional Comments: ================================= //= 1.0 First version. [Kisuka] //= 1.1-1.2 Fixed exploits with unlimited rings and non deleting choco [Lupus] +//= 1.3 Some Changes. [Kisuka] //============================================================ // Marco Bassinio (Chocolate/Chocolate Box maker) @@ -37,17 +38,12 @@ prontera,164,174,4 script Trader#Val09 58,{ case 1: mes "[Marco Bassinio]"; mes "Ahaha, my dear."; - mes "This chocolate is"; - mes "nothing like others."; - mes "Every piece bears the"; - mes "devotion of the person"; - mes "who made it!"; + mes "This chocolate is nothing like others."; + mes "Every piece bears the devotion of the person who made it!"; next; mes "[Marco Bassinio]"; - mes "So, that's why I can't sell"; - mes "more than 5 of them at a time."; - mes "If you really really want more,"; - mes "then talk to me again."; + mes "So, that's why I can't sell more than 5 of them at a time."; + mes "If you really really want more, then talk to me again."; mes "How many do you want anyway?"; next; while(.@input <= 0 || .@input > 5) { @@ -55,29 +51,22 @@ prontera,164,174,4 script Trader#Val09 58,{ if (.@input < 1) { mes "[Marco Bassinio]"; mes "Oh, it's such a shame!"; - mes "I'm sure you'll miss"; - mes "this opportunity and"; - mes "regret you didn't buy it."; + mes "I'm sure you'll miss this opportunity and regret you didn't buy it."; next; mes "[Marco Bassinio]"; - mes "Remember, you can never"; - mes "find this anywhere else!"; - mes "Come back anytime,"; - mes "when you change your mind."; + mes "Remember, you can never find this anywhere else!"; + mes "Come back anytime, when you change your mind."; close; } if (.@input > 5) { mes "[Marco Bassinio]"; mes "Ugh.. Didn't I tell you?"; mes "5 is the maximum!"; - mes "I can't sell more than"; - mes "that to the same person."; + mes "I can't sell more than that to the same person."; next; mes "[Marco Bassinio]"; - mes "And you know it's not"; - mes "like an everyday meal."; - mes "Eating too much is not"; - mes "really good for you."; + mes "And you know it's not like an everyday meal."; + mes "Eating too much is not really good for you."; next; } } @@ -90,60 +79,40 @@ prontera,164,174,4 script Trader#Val09 58,{ set .@price, .@input * 5000; if (Zeny < .@price) { mes "[Marco Bassinio]"; - mes "Looks like you don't have"; - mes "enough zeny with ya."; - mes "Maybe you should borrow"; - mes "some zeny from a friend."; - mes "Cuz, I'm not gonna"; - mes "be here everyday."; + mes "Looks like you don't have enough zeny with ya."; + mes "Maybe you should borrow some zeny from a friend."; + mes "Cuz, I'm not gonna be here everyday."; close; }else{ mes "[Marco Bassinio]"; mes "Good for you!"; mes "It's also perfect as a gift!"; - mes "You know you can't get this"; - mes "kind of chocolate normally."; + mes "You know you can't get this kind of chocolate normally."; next; mes "[Marco Bassinio]"; - mes "If you want more,"; - mes "you should come back."; - mes "Might be a good idea to"; - mes "buy some more while"; - mes "you have a chance...!"; + mes "If you want more, you should come back."; + mes "Might be a good idea to buy some more while you have a chance...!"; set Zeny,Zeny - .@price; getitem 558,.@input; close; } case 2: mes "[Marco Bassinio]"; - mes "If you want to gift-wrap"; - mes "the chocolate, of course,"; - mes "you need chocolate,"; - mes "plus, wrapping paper,"; - mes "wrapping strap and a box."; + mes "If you want to gift-wrap the chocolate, of course, you need chocolate, plus, wrapping paper, wrapping strap and a box."; next; mes "[Marco Bassinio]"; - mes "You also need to pay"; - mes "500 zeny to carve your"; - mes "name on the box."; + mes "You also need to pay 500 zeny to carve your name on the box."; mes "Are you all prepared...?"; next; if(countitem(7175) < 1 || countitem(7174) < 1 || countitem(7948) < 1 || Zeny < 500) { mes "[Marco Bassinio]"; - mes "Hmm.. Looks like you don't"; - mes "have enough materials to"; - mes "decorate the gift box.."; - mes "You can't just put your gift"; - mes "into some plain looking box.."; + mes "Hmm.. Looks like you don't have enough materials to decorate the gift box.."; + mes "You can't just put your gift into some plain looking box.."; mes "Don't you think?"; next; mes "[Marco Bassinio]"; - mes "You need to bring some"; - mes "wrapping paper,"; - mes "wrapping strap, and a box."; - mes "Oh, also bring 500 zeny,"; - mes "and don't forget to bring your"; - mes "true loving heart with you!!"; + mes "You need to bring some wrapping paper, wrapping strap, and a box."; + mes "Oh, also bring 500 zeny, and don't forget to bring your true loving heart with you!!"; close; } if(countitem(558) < 1) { @@ -153,10 +122,7 @@ prontera,164,174,4 script Trader#Val09 58,{ mes "You know I'm not an alchemist or anything."; next; mes "[Marco Bassinio]"; - mes "You're not saying that you"; - mes "want an empty chocolate box"; - mes "without any chocolate in it,"; - mes "am I right?"; + mes "You're not saying that you want an empty chocolate box without any chocolate in it, am I right?"; close; } if (!checkweight(12744,1)) { @@ -167,11 +133,9 @@ prontera,164,174,4 script Trader#Val09 58,{ } mes "[Marco Bassinio]"; mes "Here, look!"; - mes "It's your chocolate box"; - mes "with your name on it."; + mes "It's your chocolate box with your name on it."; mes "Isn't it fabulous?"; - mes "See, your name looks"; - mes "great on the box!"; + mes "See, your name looks great on the box!"; next; delitem 558,1; delitem 7175,1; @@ -186,15 +150,11 @@ prontera,164,174,4 script Trader#Val09 58,{ case 3: mes "[Marco Bassinio]"; mes "Oh, it's such a shame!"; - mes "I'm sure you'll miss"; - mes "this opportunity and"; - mes "regret you didn't buy it."; + mes "I'm sure you'll miss this opportunity and regret you didn't buy it."; next; mes "[Marco Bassinio]"; - mes "Remember, you can never"; - mes "find this anywhere else!"; - mes "Come back anytime,"; - mes "when you change your mind."; + mes "Remember, you can never find this anywhere else!"; + mes "Come back anytime, when you change your mind."; close; } } @@ -203,9 +163,7 @@ prontera,164,174,4 script Trader#Val09 58,{ prontera,147,171,5 script Packs Trader#Val09 58,{ mes "[Packs Trader]"; mes "Hello."; - mes "I am a Packs Trader,"; - mes "I sell paper boxes and"; - mes "supplies for packing presents."; + mes "I am a Packs Trader, I sell paper boxes and supplies for packing presents."; next; while(1) { mes "[Packs Trader]"; @@ -214,18 +172,15 @@ prontera,147,171,5 script Packs Trader#Val09 58,{ switch(select("Packing Paper:Packing Ribbon:Box:Cancel.")) { case 1: mes "[Packs Trader]"; - mes "It's 200 zeny for"; - mes "1 Packing Paper."; + mes "It's 200 zeny for 1 Packing Paper."; mes "How many do you want?"; - mes "You can't buy more"; - mes "than 10 items at once."; + mes "You can't buy more than 10 items at once."; next; input .@input; if (.@input <= 0) { mes "[Packs Trader]"; mes "Nothing to buy."; - mes "Come back when"; - mes "you need something."; + mes "Come back when you need something."; close; } if (.@input > 10) { @@ -250,9 +205,7 @@ prontera,147,171,5 script Packs Trader#Val09 58,{ }else{ mes "[Packs Trader]"; mes "Here they are."; - mes "Hope it makes your"; - mes "Valentine's Day"; - mes "more pleasing!"; + mes "Hope it makes your Valentine's Day more pleasing!"; set Zeny,Zeny-.@price; getitem 7175,.@input; next; @@ -260,18 +213,15 @@ prontera,147,171,5 script Packs Trader#Val09 58,{ } case 2: mes "[Packs Trader]"; - mes "It's 200 zeny for"; - mes "1 Packing Ribbon."; + mes "It's 200 zeny for 1 Packing Ribbon."; mes "How many do you want?"; - mes "You can't buy more"; - mes "than 10 items at once."; + mes "You can't buy more than 10 items at once."; next; input .@input; if (.@input <= 0) { mes "[Packs Trader]"; mes "Nothing to buy."; - mes "Come back when"; - mes "you need something."; + mes "Come back when you need something."; close; } if (.@input > 10) { @@ -296,9 +246,7 @@ prontera,147,171,5 script Packs Trader#Val09 58,{ }else{ mes "[Packs Trader]"; mes "Here they are."; - mes "Hope it makes your"; - mes "Valentine's Day"; - mes "more pleasing!"; + mes "Hope it makes your Valentine's Day more pleasing!"; set Zeny,Zeny-.@price; getitem 7174,.@input; next; @@ -306,18 +254,15 @@ prontera,147,171,5 script Packs Trader#Val09 58,{ } case 3: mes "[Packs Trader]"; - mes "It's 600 zeny for"; - mes "1 Box."; + mes "It's 600 zeny for 1 Box."; mes "How many do you want?"; - mes "You can't buy more"; - mes "than 10 items at once."; + mes "You can't buy more than 10 items at once."; next; input .@input; if (.@input <= 0) { mes "[Packs Trader]"; mes "Nothing to buy."; - mes "Come back when"; - mes "you need something."; + mes "Come back when you need something."; close; } if (.@input > 10) { @@ -342,9 +287,7 @@ prontera,147,171,5 script Packs Trader#Val09 58,{ }else{ mes "[Packs Trader]"; mes "Here they are."; - mes "Hope it makes your"; - mes "Valentine's Day"; - mes "more pleasing!"; + mes "Hope it makes your Valentine's Day more pleasing!"; set Zeny,Zeny-.@price; getitem 7948,.@input; next; @@ -353,8 +296,7 @@ prontera,147,171,5 script Packs Trader#Val09 58,{ case 4: mes "[Packs Trader]"; mes "Goodbye!"; - mes "And enjoy your"; - mes "Valentine's Day."; + mes "And enjoy your Valentine's Day."; close; } } @@ -364,102 +306,66 @@ prontera,147,171,5 script Packs Trader#Val09 58,{ prontera,154,185,5 script Event Ring Maker#Val09 721,{ if (BaseLevel < 75) { mes "[Event Ring Maker]"; - mes "Hello, I only make the"; - mes "Valentine rings to those"; - mes "experienced adventurers"; - mes "Level 75 or above."; + mes "Hello, I only make the Valentine rings to those experienced adventurer Level 75 or above."; next; mes "[Event Ring Maker]"; - mes "You're not fully"; - mes "experienced yet."; - mes "Come back when you're"; - mes "experienced enough to"; - mes "handle the quests."; + mes "You're not fully experienced yet."; + mes "Come back when you're experienced enough to handle the quests."; close; } if (iROval09ring >= 1) { mes "[Event Ring Maker]"; - mes "The box with the ring,"; - mes "carved with your name,"; - mes "is for the one you love."; + mes "The box with the ring, carved with your name, is for the one you love."; next; mes "[Event Ring Maker]"; - mes "As for the rings that you"; - mes "receive from others, they"; - mes "should all be registered"; - mes "with the Vote Manager."; - mes "She is standing near"; - mes "the Prontera Fountain."; + mes "As for the rings that you receive from others, they should all be registered with the Vote Manager."; + mes "She is standing near the Prontera Fountain."; next; mes "[Event Ring Maker]"; - mes "Only the most popular"; - mes "male and female are"; - mes "subjected to getting rewards."; - mes "Be aware, and always"; - mes "try to stay popular!"; + mes "Only the most popular male and female are subjected to getting rewards."; + mes "Be aware, and always try to stay popular!"; close; } mes "[Event Ring Maker]"; mes "Hi, there, how are ya?"; - mes "Come to me if you're"; - mes "interested in the event,"; - mes "'Who's Valentine's Hottest?'"; + mes "Come to me if you're interested in the event, 'Who's Valentine's Hottest?'"; next; mes "[Event Ring Maker]"; - mes "I make the most precious"; - mes "rings that you can give"; - mes "to your sweethearts."; - mes "Those rings are very special"; - mes "because I carve"; - mes "your names on them!"; + mes "I make the most precious rings that you can give to your sweethearts."; + mes "Those rings are very special because I carve your names on them!"; next; mes "[Event Ring Maker]"; mes "Isn't it exciting?"; mes "Isn't it such a brilliant idea?"; - mes "Give these special rings"; - mes "to your sweethearts!"; + mes "Give these special rings to your sweethearts!"; next; mes "[Event Ring Maker]"; - mes "You should hurry 'cuz"; - mes "this event will only"; - mes "last for two weeks."; - mes "Give that special someone"; - mes "a gift of a Valentine's ring."; + mes "You should hurry 'cuz this event will only last for two weeks."; + mes "Give that special someone a gift of a Valentine's ring."; next; mes "[Event Ring Maker]"; - mes "Remember, you can only"; - mes "generate the ring once."; - mes "You also need Wrapping Paper,"; - mes "Wrapping Strap and a Box"; - mes "to make the ring."; + mes "Remember, you can only generate the ring once."; + mes "You also need Wrapping Paper, Wrapping Strap and a Box to make the ring."; next; mes "[Event Ring Maker]"; - mes "So you better be sure"; - mes "of who you give this to."; - mes "By the way,"; - mes "It costs 1,000 zeny."; + mes "So you better be sure of who you give this to."; + mes "By the way, It costs 1,000 zeny."; mes "Would you like to make one?"; next; if(select("Hmm.. I gotta give it a second thought...:Sure.") == 1) { mes "[Event Ring Maker]"; mes "Alrighty!"; - mes "You can't put a rush"; - mes "on such a thing like this."; - mes "Think about what"; - mes "you truly want."; + mes "You can't put a rush on such a thing like this."; + mes "Think about what you truly want."; mes "Just follow your heart!"; close; } if(countitem(7175) < 1 || countitem(7174) < 1 || countitem(7948) < 1 || Zeny < 1000) { mes "[Event Ring Maker]"; - mes "Well, you don't have"; - mes "enough materials"; - mes "to make a gift box."; - mes "Check what you have,"; - mes "and come back later"; - mes "with all the materials."; + mes "Well, you don't have enough materials to make a gift box."; + mes "Check what you have, and come back later with all the materials."; close; } mes "[Event Ring Maker]"; @@ -477,51 +383,33 @@ prontera,154,185,5 script Event Ring Maker#Val09 721,{ getnameditem 12743,strcharinfo(0); } mes "[Event Ring Maker]"; - mes "Here, the most precious"; - mes "ring in the world!"; - mes "Don't forget, you can never"; - mes "make this ring again."; + mes "Here, the most precious ring in the world!"; + mes "Don't forget, you can never make this ring again."; next; mes "[Event Ring Maker]"; - mes "You must pick out the one"; - mes "that you really really love,"; - mes "and give this ring"; - mes "to that person."; + mes "You must pick out the one that you really really love, and give this ring to that person."; next; mes "[Event Ring Maker]"; - mes "Of course, you've got to"; - mes "get rings from others,"; - mes "that's the way you can"; - mes "participate in the voting, right?"; - mes "Challenge yourself to become"; - mes "Valentine's Hottest!"; + mes "Of course, you've got to get rings from others, that's the way you can participate in the voting, right?"; + mes "Challenge yourself to become Valentine's Hottest!"; close; } // Valentine Vote Manager (Registers votes) prontera,157,185,4 script Valentine Vote Manager#v 113,{ mes "[Valentine Vote Manager]"; - mes "Hello, I'm the Valentine's"; - mes "Vote Manager."; - mes "I'm in charge of collecting"; - mes "rings for this event!"; + mes "Hello, I'm the Valentine's Vote Manager."; + mes "I'm in charge of collecting rings for this event!"; next; mes "[Valentine Vote Manager]"; - mes "I register the rings"; - mes "you get from others"; - mes "and I calculate the"; - mes "total number of rings."; + mes "I register the rings you get from others and I calculate the total number of rings."; next; mes "[Valentine Vote Manager]"; - mes "You know what I do besides"; - mes "just counting those rings?"; - mes "I can tell you the adventurer's"; - mes "name who's got the"; - mes "most number of votes."; + mes "You know what I do besides just counting those rings?"; + mes "I can tell you the adventurer's name who's got the most number of votes."; next; mes "[Valentine Vote Manager]"; - mes "Plus, you can also find out how"; - mes "many votes he/she got."; + mes "Plus, you can also find out how many votes he/she got."; next; while (1) { mes "[Valentine Vote Manager]"; @@ -530,15 +418,10 @@ prontera,157,185,4 script Valentine Vote Manager#v 113,{ switch(select("Please register my rings.:Please count my votes.:Nothing, for now.")) { case 1: mes "[Valentine Vote Manager]"; - mes "Please tell me how many"; - mes "rings you want to register."; + mes "Please tell me how many rings you want to register."; next; mes "[Valentine Vote Manager]"; - mes "When you write the"; - mes "number of the rings,"; - mes "the number shouldn't be"; - mes "larger than the number of"; - mes "rings you actually have."; + mes "When you write the number of the rings, the number shouldn't be larger than the number of rings you actually have."; mes "'0', cancels everything."; next; input .@input; @@ -569,8 +452,7 @@ prontera,157,185,4 script Valentine Vote Manager#v 113,{ } mes "[Valentine Vote Manager]"; - mes "I'll take those silver rings,"; - mes "and count the votes for you."; + mes "I'll take those silver rings, and count the votes for you."; mes "Thank you for participating."; delitem 7947,.@input; set Val09Rings,Val09Rings+.@input; @@ -598,8 +480,7 @@ prontera,157,185,4 script Valentine Vote Manager#v 113,{ } mes "[Valentine Vote Manager]"; - mes "I'll take those gold rings,"; - mes "and count the votes for you."; + mes "I'll take those gold rings, and count the votes for you."; mes "Thank you for participating."; delitem 7946,.@input; set Val09Rings,Val09Rings+.@input; @@ -613,8 +494,7 @@ prontera,157,185,4 script Valentine Vote Manager#v 113,{ case 2: mes "[Valentine Vote Manager]"; mes "Let's see..."; - mes "You have registered.."; - mes ".."+Val09Rings+" rings so far."; + mes "You have registered...."+Val09Rings+" rings so far."; mes "and..."; next; mes "[Valentine Vote Manager]"; @@ -629,8 +509,7 @@ prontera,157,185,4 script Valentine Vote Manager#v 113,{ mes "[Valentine Vote Manager]"; mes "Hey, you can be popular too!"; mes "Anyone can... really!"; - mes "Though you have to try a lot"; - mes "harder, but still~ Hahaha!"; + mes "Though you have to try a lot harder, but still~ Hahaha!"; close; } } @@ -640,16 +519,12 @@ prontera,157,185,4 script Valentine Vote Manager#v 113,{ prt_castle,42,35,3 script Dessert Manager#Val09 47,{ if (Sex) { mes "[Charles Orleans]"; - mes "Monsieur~! What brings"; - mes "you to my beautiful atelier?"; + mes "Monsieur~! What brings you to my beautiful atelier?"; mes "What is it that you want?"; - mes "Well, my sparkling eyes"; - mes "get dried and lose their shine"; - mes "if not for the pretty little lady."; + mes "Well, my sparkling eyes get dried and lose their shine if not for the pretty little lady."; next; mes "[Charles Orleans]"; - mes "Please leave me alone unless"; - mes "you have business with me."; + mes "Please leave me alone unless you have business with me."; mes "Haaaa~ I'm a busy person."; mes "Don't bother me...."; mes "Annoying, annoying, annoying~~!"; @@ -658,11 +533,8 @@ prt_castle,42,35,3 script Dessert Manager#Val09 47,{ mes "[Charles Orleans]"; mes "Oh, Mademoiselle!"; - mes "This little trifling space"; - mes "felt like heaven the"; - mes "minute you walked in!"; - mes "Can I help you with"; - mes "anything, if it's alright?"; + mes "This little trifling space felt like heaven the minute you walked in!"; + mes "Can I help you with anything, if it's alright?"; next; if(select("Please, make me some chocolate.:Don't bother. I'm just passing by.") == 2) { mes "[Charles Orleans]"; @@ -680,51 +552,36 @@ prt_castle,42,35,3 script Dessert Manager#Val09 47,{ if(countitem(558) < 3) { mes "[Charles Orleans]"; mes "Ahhh, Mademoiselle."; - mes "I'm not an alchemist,"; - mes "or a magician."; - mes "I don't just make chocolate"; - mes "out of anything."; + mes "I'm not an alchemist, or a magician."; + mes "I don't just make chocolate out of anything."; next; mes "[Charles Orleans]"; - mes "I always think of making"; - mes "chocolate as artistic work."; + mes "I always think of making chocolate as artistic work."; mes "You see, I'm no ordinary cook..."; mes "I make chocolate with feelings.."; mes "messages of loving hearts.."; next; mes "[Charles Orleans]"; mes "I make masterpieces."; - mes "No one can imitate"; - mes "the looks and the taste."; - mes "Yes, it's nothing like"; - mes "ordinary chocolate!"; + mes "No one can imitate the looks and the taste."; + mes "Yes, it's nothing like ordinary chocolate!"; next; mes "[Charles Orleans]"; - mes "I'm afraid I can't make it"; - mes "and prove it to you now."; + mes "I'm afraid I can't make it and prove it to you now."; mes "This is really a shame!"; next; mes "[Charles Orleans]"; - mes "I really want to thank"; - mes "you for visiting me"; - mes "and if you only bring"; - mes "^3152ff3 Chocolates^000000,"; - mes "I'll make you chocolate"; - mes "like you've never seen..."; + mes "I really want to thank you for visiting me and if you only bring ^3152ff3 Chocolates^000000, I'll make you chocolate like you've never seen..."; next; mes "[Charles Orleans]"; mes "never tasted before..."; - mes "Mademoiselle, with your spirit,"; - mes "I'm sure you can bring"; - mes "3 pieces of chocolate."; + mes "Mademoiselle, with your spirit, I'm sure you can bring 3 pieces of chocolate."; mes "I have no doubt at all."; next; mes "[Charles Orleans]"; mes "So... what do you think?"; mes "Can you bring ^3152ff3 Chocolates^000000?"; - mes "I could get them myself,"; - mes "but I'm tied up with so much"; - mes "work as you see right now."; + mes "I could get them myself, but I'm tied up with so much work as you see right now."; next; mes "[Charles Orleans]"; mes "Adios, Mademoiselle....."; @@ -739,28 +596,20 @@ prt_castle,42,35,3 script Dessert Manager#Val09 47,{ } mes "[Charles Orleans]"; mes "Oh, Mademoiselle!"; - mes "I'll make the best chocolate"; - mes "with the pieces you've brought."; - mes "I'm going to put the light of"; - mes "your eyes into this chocolate"; - mes "that no one can resist."; + mes "I'll make the best chocolate with the pieces you've brought."; + mes "I'm going to put the light of your eyes into this chocolate that no one can resist."; next; mes "[Charles Orleans]"; - mes "It'll be stronger than a"; - mes "sweet sweet love potion....."; + mes "It'll be stronger than a sweet sweet love potion....."; next; mes "[Charles Orleans]"; mes "Un, Deux, Trois, Quatre....."; - mes "Just like the ugly duckling that"; - mes "turned to a beautiful swan-"; - mes "Ordinary chocolate pieces are"; - mes "becoming a piece of art!"; + mes "Just like the ugly duckling that turned to a beautiful swan-"; + mes "Ordinary chocolate pieces are becoming a piece of art!"; next; mes "[Charles Orleans]"; mes "They're changing!"; - mes "They're getting warm,"; - mes "softly changing the shape,"; - mes "getting stronger again!"; + mes "They're getting warm, softly changing the shape, getting stronger again!"; mes "Oh, is it a master piece or"; mes "what...!!"; next; @@ -774,10 +623,7 @@ prt_castle,42,35,3 script Dessert Manager#Val09 47,{ next; mes "[Charles Orleans]"; mes "Alright. Mademoiselle,"; - mes "I hope this is just"; - mes "what you wanted,"; - mes "for it bears your"; - mes "beautiful heart inside."; + mes "I hope this is just what you wanted, for it bears your beautiful heart inside."; close; } diff --git a/npc/jobs/novice/novice_new.txt b/npc/jobs/novice/novice_new.txt new file mode 100644 index 000000000..d013ed028 --- /dev/null +++ b/npc/jobs/novice/novice_new.txt @@ -0,0 +1,2299 @@ +//===== eAthena Script =======================================
+//= New Novice Training Grounds
+//===== By: ==================================================
+//= Kisuka
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena SVN
+//===== Description: =========================================
+//= New Novice Training Grounds
+//= [Hand Scripted (No Programs or AEGIS Scripts)]
+//===== Important Note: ======================================
+//= Its recommended that you have Renewal EXP Table!
+//= Lower the 'getexp' rewards if your not using renewal exp table!
+//===== Additional Comments: =================================
+//= 1.0 First version. [Kisuka]
+//============================================================
+
+//============================================================================
+// Sprakki (Start of Novice Training Ground, Outside Castle)
+//============================================================================
+new_1-1,53,114,4 script Sprakki#nv1 90,{
+ if(job_novice_q < 1) {
+ mes "[Sprakki]";
+ mes "Hello there! Welcome to the World of Ragnarok Online. My name is Sprakki and I'm in charge of giving you basic gameplay tips.";
+ mes "Click on the [Next] button or press [Enter] to continue.";
+ next;
+ mes "[Sprakki]";
+ mes "First you need to learn the very basics of controlling your character.";
+ mes "All the basic ^4A4AFFmoves, selection of items, and attacks^000000 use the ^4A4AFFleft click of the mouse^000000.";
+ next;
+ cutin "tutorial01",3;
+ mes "-! Info !-";
+ mes "Click on the ground to move the character.";
+ mes "Attacking monsters and conversations with the people of this world can be done by simply clicking on them.";
+ next;
+ cutin "",255;
+ mes "[Sprakki]";
+ mes "First off, try moving around.";
+ mes "Do you see that wooden bridge to the right?";
+ next;
+ setquest 7117;
+ set job_novice_q,1;
+ mes "[Sprakki]";
+ mes "Walk over that bridge and there's a castle used as the Training Center.";
+ mes "I will be waiting for you inside of that Castle. Please come to the castle by yourself.";
+ next;
+ cutin "tutorial02",3;
+ mes "-! Info !-";
+ mes "You've received a quest from Sprakki.";
+ mes "You can check the contents of the quest in the Quest Info Window.";
+ next;
+ mes "[Sprakki]";
+ mes "I will wait inside the Training Center across the bridge.";
+ next;
+ mes "-! Info !-";
+ mes "You can open the Quest Info Window by pressing the ^4A4AFFALT + U^000000 keys at the same time.";
+ next;
+ cutin "",255;
+ mes "[Sprakki]";
+ mes "Have you checked the Quest Info Window?";
+ mes "I'll be waiting in the castle across the bridge.";
+ close;
+ } else {
+ mes "[Sprakki]";
+ mes "I will be waiting for you across the Bridge to the east.";
+ close;
+ }
+}
+
+//============================================================================
+// Sprakki (Inside Castle)
+//============================================================================
+new_1-2,100,29,4 script Sprakki#nv2 90,{
+ if(job_novice_q < 1) {
+ mes "[Sprakki]";
+ mes "Hello there! Welcome to the World of Ragnarok Online. My name is Sprakki and I'm in charge of giving you basic gameplay tips.";
+ mes "Click on the [Next] button or press [Enter] to continue.";
+ next;
+ mes "[Sprakki]";
+ mes "First you need to learn the very basics of controlling your character.";
+ mes "All the basic ^4A4AFFmoves, selection of items, and attacks^000000 use the ^4A4AFFleft click of the mouse^000000.";
+ next;
+ cutin "tutorial01",3;
+ mes "-! Info !-";
+ mes "Click on the ground to move the character.";
+ mes "Attacking monsters and conversations with the people of this world can be done by simply clicking on them.";
+ next;
+ cutin "",255;
+ setquest 7117;
+ set job_novice_q,1;
+ mes "[Sprakki]";
+ mes "Well then, I will give you a quest to talk to me.";
+ mes "After the conversation is over, talk to me again by left-clicking on me.";
+ next;
+ cutin "tutorial02",3;
+ mes "-! Info !-";
+ mes "You've received a quest from Sprakki.";
+ mes "You can check the contents of the quest in the Quest Info Window by pressing the ^4A4AFFAlt + U^000000 keys at the same time.";
+ next;
+ cutin "",255;
+ mes "[Sprakki]";
+ mes "Have you checked the Quest Info Window?";
+ mes "Well, talk to me again.";
+ close;
+ } else {
+ if(job_novice_q == 1) {
+ getexp 300,0;
+ getexp 300,5;
+ completequest 7117;
+ set job_novice_q,2;
+ mes "[Sprakki]";
+ mes "Great!";
+ mes "Now you know how to move and talk to others, right?";
+ next;
+ }
+ mes "[Sprakki]";
+ mes "The training Center is prepared for novices just like you.";
+ mes "You are going to be trained to get used to the basics of the Game.";
+ next;
+ select("Begin Training.");
+ mes "[Sprakki]";
+ mes "I will guide you to the Novice Training Center.";
+ mes "Inside, Instructor 'Brade' will be waiting to speak to you.";
+ next;
+ setquest 7118;
+ set job_novice_q,3;
+ mes "[Sprakki]";
+ mes "Instructor 'Brade' will help you afterwards.";
+ mes "Please, Go see him.";
+ next;
+ mes "^4A4AFF- You received a quest 'Novice Training Ground-1' from Sprakki.^000000";
+ mes "^4A4AFFPlease check the Quest Info Window.-^000000";
+ close2;
+ savepoint "new_1-2",100,100;
+ warp "new_1-2",100,100;
+ end;
+ }
+}
+
+
+//============================================================================
+// Instructor Brade
+//============================================================================
+new_1-2,100,105,4 script Brade#nv 733,{
+ if(job_novice_q < 3) {
+ mes "[Instructor Brade]";
+ mes "How did you get here?";
+ close2;
+ warp "new_1-1",53,111;
+ end;
+ }
+ else if(job_novice_q == 3) {
+ getexp 300,0;
+ getexp 300,0;
+ getexp 300,10;
+ completequest 7118;
+ set job_novice_q,4;
+ mes "[Instructor Brade]";
+ mes "Great.";
+ mes "You've completed the given quest successfully, so I will reward you with experience points.";
+ next;
+ mes "[Instructor Brade]";
+ mes "Experience Points you've earned from hunting or finishing quests can be checked by tracking the EXP Bar, located at the upper-left side of the display.";
+ next;
+ mes "[Instructor Brade]";
+ mes "Sigh... I will just talk roughly.";
+ mes "...I just can't get used to";
+ mes "'politeness' you know.";
+ mes "Don't look at me like that!";
+ next;
+ mes "[Instructor Brade]";
+ mes "Ok look alive you maggot.";
+ mes "Next up is items and equipment.";
+ next;
+ mes "[Instructor Brade]";
+ mes "First, take these.";
+ mes "These are very basic equipments and recovery potions.";
+ getitem 2352,1; // Novice_Plate
+ getitem 2510,1; // Novice_Hood
+ getitem 2414,1; // Novice_Boots
+ getitem 5055,1; // Novice_Egg_Cap
+ getitem 1243,1; // Novice_Knife
+ getitem 2112,1; // Novice_Guard
+ getitem 569,300; // Novice_Potion
+ setquest 7119;
+ set job_novice_q,5;
+ next;
+ mes "[Instructor Brade]";
+ mes "In the upper left Basic Info Window, press the 'Item' icon to open the Item Window.";
+ mes "The item window has 3 sections...";
+ next;
+ mes "[Instructor Brade]";
+ mes "consumable items, equipment and other items.";
+ mes "If you want to use or equip items, double-click on the item or drag them into the Equipment Window.";
+ next;
+ mes "[Instructor Brade]";
+ mes "You can see detailed info of each item by right-clicking on the item.";
+ mes "Do that and the info will pop-up in a separate window.";
+ next;
+ cutin "tutorial04",3;
+ mes "!- Info -!";
+ mes "Double-click on the item to see the detailed information.";
+ next;
+ mes "!- Info -!";
+ mes "Right-click on other players to show the Community Menu and you can join a party, request trades, etc.";
+ next;
+ cutin "",255;
+ mes "[Instructor Brade]";
+ mes "Why don't you equip the items I gave you earlier?";
+ mes "^4A4AFFDouble-Click^000000 on the item you want to equip. Let us continue after you are done gearing up.";
+ next;
+ cutin "tutorial03",3;
+ mes "!- Info -!";
+ mes "Items can be easily equipped or used by simply clicking on them.";
+ mes "The Hot Key to open the Item Window is Alt + E.";
+ next;
+ mes "!- Info -!";
+ mes "To check on the items that are currently equipped, use the hot key Alt + Q.";
+ mes "Or, drag the item on to the item slot you want the item to be equipped.";
+ next;
+ mes "!- Info -!";
+ mes "Equip all of the equipment given by Instructor Brade.";
+ close2;
+ cutin "",255;
+ end;
+ }
+ else if(job_novice_q == 4) {
+ mes "[Instructor Brade]";
+ mes "Uh... Where were we? Oh right, let's continue.";
+ mes "It's about items and equipments.";
+ next;
+ mes "[Instructor Brade]";
+ mes "Take these.";
+ mes "Basic equipments and recovery potions.";
+ getitem 2352,1; // Novice_Plate
+ getitem 2510,1; // Novice_Hood
+ getitem 2414,1; // Novice_Boots
+ getitem 5055,1; // Novice_Egg_Cap
+ getitem 1243,1; // Novice_Knife
+ getitem 2112,1; // Novice_Guard
+ getitem 569,300; // Novice_Potion
+ setquest 7119;
+ set job_novice_q,5;
+ next;
+ mes "[Instructor Brade]";
+ mes "In the upper left Basic Info Window, press the 'Item' icon to open the Item Window.";
+ mes "The item window is divided into...";
+ next;
+ mes "[Instructor Brade]";
+ mes "3 sections: consumable items, equipment and other items.";
+ mes "If you want to use or equip items, double-click on the item or drag them into the Equipment Window.";
+ next;
+ mes "[Instructor Brade]";
+ mes "You can see detailed info of each item by right-clicking on the item.";
+ mes "Do that and the info will pop-up in a separate window.";
+ next;
+ cutin "tutorial04",3;
+ mes "!- Info -!";
+ mes "Double-click on the item to see the detailed information.";
+ next;
+ mes "!- Info -!";
+ mes "Right-click on other players to show the Community Menu and you can join a party, request trades, etc.";
+ next;
+ cutin "",255;
+ mes "[Instructor Brade]";
+ mes "Why don't you equip the items I gave you earlier?";
+ mes "^4A4AFFDouble-Click^000000 on the item you want to equip. Let us continue after you are done gearing up.";
+ next;
+ cutin "tutorial03",3;
+ mes "!- Info -!";
+ mes "Items can be easily equipped or used by simply clicking on them.";
+ mes "The Hot Key to open the Item Window is Alt + E.";
+ next;
+ mes "!- Info -!";
+ mes "To check on the items that are currently equipped, use the hot key Alt + Q.";
+ mes "Or, drag the item on to the item slot you want the item to be equipped.";
+ next;
+ mes "!- Info -!";
+ mes "Equip all of the equipment given by Instructor Brade.";
+ close2;
+ cutin "",255;
+ end;
+ }
+ else if(job_novice_q == 5 || job_novice_q == 6) {
+ set .@EquipCheck,0;
+ if (getequipisequiped(EQI_SHOES)) { set .@EquipCheck,.@EquipCheck+1; }
+ if (getequipisequiped(EQI_ARMOR)) { set .@EquipCheck,.@EquipCheck+1; }
+ if (getequipisequiped(EQI_GARMET)) { set .@EquipCheck,.@EquipCheck+1; }
+ if (getequipisequiped(EQI_HEAD_TOP)) { set .@EquipCheck,.@EquipCheck+1; }
+ if (getequipisequiped(EQI_HAND_L)) { set .@EquipCheck,.@EquipCheck+1; }
+ if (getequipisequiped(EQI_HAND_R)) { set .@EquipCheck,.@EquipCheck+1; }
+ if(.@EquipCheck >= 4) {
+ if(job_novice_q == 5) {
+ mes "[Instructor Brade]";
+ mes "You are all set.";
+ mes "You are coming along just fine.";
+ getexp 300,0;
+ getexp 300,0;
+ getexp 300,0;
+ getexp 300,15;
+ getitem 12323,50; // N_Fly_Wing
+ getitem 12324,20; // N_Butterfly_Wing
+ completequest 7119;
+ set job_novice_q,6;
+ next;
+ mes "[Instructor Brade]";
+ mes "Here's some Fly Wings and Butterfly Wings as a reward.";
+ mes "You don't need these in the Training Ground, but they will come in handy later.";
+ next;
+ }
+ mes "[Instructor Brade]";
+ mes "Next, are Hot Keys.";
+ mes "Press the ^4A4AFF12 key^000000 on your keyboard.";
+ mes "A box with 9 slots will pop up.";
+ next;
+ mes "[Instructor Brade]";
+ mes "Drag on the right corner of the Hot Key Window and you will be able to see the other pages of the Hot Key.";
+ next;
+ mes "[Instructor Brade]";
+ mes "The F1 to F9 keys are the designated hotkeys.";
+ mes "Just drag a skill or an item onto the Hot Key Window and press a corresponding key to use them right away.";
+ next;
+ cutin "tutorial05",3;
+ mes "!- Info -!";
+ mes "You can register a skill or an item to the Hot Key Window by just dragging them onto the Hot Key Slot.";
+ next;
+ mes "!- Info -!";
+ mes "Registered Skills or Items can be used/equipped by just pressing the corresponding key.";
+ next;
+ mes "!- Info -!";
+ mes "You can customize the Hot Key to use any keys you please as the Hot Key by changing the Shortcut configuration in the options menu.";
+ next;
+ mes "!- Info -!";
+ mes "Register skills and items that you use often so that you can use them easily";
+ next;
+ cutin "",255;
+ mes "[Instructor Brade]";
+ mes "The last part is how to use Skills.";
+ mes "But before that, you need to learn something first.";
+ next;
+ setquest 7120;
+ set job_novice_q,7;
+ mes "[Instructor Brade]";
+ mes "Somewhere in this room, there's someone named ^4A4AFFJinha^000000.";
+ mes "Find Jinha and learn the ^4A4AFF[First Aid]^000000 skill from him.";
+ next;
+ mes "[Instructor Brade]";
+ mes "Your lesson is after that.";
+ mes "Go find Jinha and learn the [First Aid] Skill. Then come back to me.";
+ close;
+ }else{
+ mes "[Instructor Brade]";
+ mes "Try to put on at least 4 of the equipment I gave you.";
+ mes "Put those shoes on, wear those clothes, and arm yourself with that weapon you maggot.";
+ close;
+ }
+ }
+ else if(job_novice_q == 7) {
+ mes "[Instructor Brade]";
+ mes "Somewhere in this room, there's someone named ^4A4AFFJinha^000000.";
+ mes "Find Jinha and learn the ^4A4AFF[First Aid]^000000 skill from him.";
+ close;
+ }
+ else if(job_novice_q == 8) {
+ mes "[Instructor Brade]";
+ mes "Now you've learned the [Firdt Aid] Skill.";
+ mes "Just as I told you before, by registering the First Aid Skill onto the Hot Key Window, you can use the skill fast and easy.";
+ next;
+ mes "[Instructor Brade]";
+ mes "And that's it, that's all I can teach you.";
+ mes "You see that exit to the west?";
+ mes "Move on to the next room and there will be another instructor waiting for you.";
+ next;
+ mes "[Instructor Brade]";
+ mes "We will be seeing each other soon enough.";
+ mes "But for now, go to the room to the west and get more information.";
+ next;
+ mes "[Instructor Brade]";
+ mes "You've come along fine this far.";
+ mes "This is not much, but that this as a reward.";
+ getitem 2393,1; // N_Adventurer's_Suit
+ completequest 7120;
+ set job_novice_q,9;
+ close;
+ }
+ else if(job_novice_q > 8) {
+ mes "[Instructor Brade]";
+ mes "Next step of the Training is done in the room west of here.";
+ mes "If you are lost, I can send you there.";
+ next;
+ if(select("I can get there by myself.:Please, send me to the next room.") == 2) {
+ mes "[Instructor Brade]";
+ mes "Oh well.";
+ mes "I think it's better than seeing you lost and wandering about.";
+ mes "Hahahaha...";
+ close2;
+ warp "new_1-2",41,172;
+ end;
+ }
+ mes "[Instructor Brade]";
+ mes "Good. That's the attitude you must have.";
+ mes "You can't just lean on others to help you.";
+ mes "Now, go ahead.";
+ close;
+ }
+ else {
+ mes "[Instructor Brade]";
+ mes "Why are you still here?";
+ close2;
+ warp "prontera",156,90;
+ end;
+ }
+}
+
+//============================================================================
+// Instructor Jinha
+//============================================================================
+new_1-2,115,120,4 script Jinha#nv 59,{
+ if(job_novice_q < 7) {
+ mes "[Jinha]";
+ mes "What can I help you with?";
+ mes "Hmm? You haven't followed the curriculum correctly.";
+ next;
+ mes "[Jinha]";
+ mes "You have to see Instructor Brade first before me. I will send you to Instructor Brade.";
+ close2;
+ warp "new_1-2",100,100;
+ end;
+ }
+ else if(job_novice_q == 7) {
+ mes "[Jinha]";
+ mes "Hello!";
+ mes "How can I help you?";
+ next;
+ select("I want to learn the use the [First Aid] Skill.");
+ mes "[Jinha]";
+ mes "That's right.";
+ mes "First Aid is the skill used to convert SP into HP when you are in danger.";
+ next;
+ specialeffect2 58;
+ specialeffect2 234;
+ mes "[Jinha]";
+ mes "It's recovery amount is small.";
+ mes "Still, it will help you not to faint from a critical hit.";
+ next;
+ skill 141,1,0; // NV_FIRSTAID
+ set job_novice_q,8;
+ mes "[Jinha]";
+ mes "You can open the Skill Window by pressing the ^4A4AFFskill^000000 button in the Basic Window.";
+ mes "Hot Key is ^4A4AFFALT + S^000000.";
+ mes "Why don't you try the skill?";
+ next;
+ mes "[Jinha]";
+ mes "Good, now you know how to use the First Aid Skill, you have to move on to the next step.";
+ mes "Go back to Instructor Brade and show him what you've learned here.";
+ close;
+ }
+ else if(job_novice_q == 8) {
+ mes "[Jinha]";
+ mes "Didn't you learn the First Aid Skill already?";
+ mes "Have it checked by Instructor Brade.";
+ mes "If you don't know how to get to him, I will send you to him.";
+ next;
+ if(select("I'm good by myself.:Please, send me to him.") == 2) {
+ mes "[Jinha]";
+ mes "I will send you to Instructor Brade.";
+ close2;
+ warp "new_1-2",100,100;
+ end;
+ }
+ mes "[Jinha]";
+ mes "Very Good!";
+ mes "That's the right attitude!";
+ mes "You will be a great adventurer in the future.";
+ close;
+ }
+ else if(job_novice_q > 8) {
+ mes "[Jinha]";
+ mes "What can I do for you?";
+ mes "Next course will be continued in the West Room.";
+ mes "Go on to the west room.";
+ close;
+ }
+ else {
+ mes "[Jinha]";
+ mes "Why are you still here?";
+ close2;
+ warp "prontera",156,90;
+ end;
+ }
+}
+
+//============================================================================
+// People/Services in Ragnarok
+//============================================================================
+// ---------- Chocolat ----------
+new_1-2,32,172,4 script Chocolat#nv 96,{
+ if(job_novice_q < 9) {
+ mes "[Chocolat]";
+ mes "Hmm? Strange.";
+ mes "Let me see that Traniee ID for a sec.";
+ next;
+ mes "[Chocolat]";
+ mes "You were still on the basic course.";
+ mes "You should go back to Instructor Brade or Jinha.";
+ next;
+ mes "[Chocolat]";
+ mes "If you don't know how to find them, I can send you to Instructor Brade, How about it?";
+ next;
+ if(select("I will go myself.:Will you do that for me?") == 2) {
+ mes "[Chocolat]";
+ mes "Sure.";
+ mes "I will see you later.";
+ close2;
+ warp "new_1-2",100,100;
+ end;
+ }
+ mes "[Chocolat]";
+ mes "Sure. Go out to the door to the right.";
+ close;
+ }
+ else if(job_novice_q == 9) {
+ mes "[Chocolat]";
+ mes "I will tell you about the people you will be seeing in Town.";
+ mes "There are many kinds of people in town and some of them will be helpful to know.";
+ next;
+ mes "[Chocolat]";
+ mes "There are a lot of people in town, but among them, these people are the most important to know.";
+ next;
+ mes "[Chocolat]";
+ mes "They are [Kafra] Agents standing right behind me and their rival company the [Cool Event].";
+ mes "When you visit a town for the first time, you should talk to Information [Soldier].";
+ next;
+ mes "[Chocolat]";
+ mes "Well then, let's hear from each of them.";
+ mes "Start by talking to the [Kafra] agent.";
+ setquest 7121;
+ set job_novice_q,10;
+ close;
+ }
+ else if(job_novice_q == 10) {
+ mes "[Chocolat]";
+ mes "Here, talk to these guys standing behind me.";
+ mes "Start with the [Kafra] gal behind me.";
+ close;
+ }
+ else if(job_novice_q == 11) {
+ mes "[Chocolat]";
+ mes "You've learned a lot about Kafra service huh?";
+ mes "From now on, you can use the Kafra Server.";
+ next;
+ mes "[Chocolat]";
+ mes "Next is Kafra's rival, [Cool Event] Staff!";
+ mes "[Cool Event] Staff specialize in events.";
+ mes "Well, why don't you talk to him yourself?";
+ close;
+ }
+ else if(job_novice_q == 12) {
+ mes "[Chocolat]";
+ mes "After [Kafra] and [Cool Event], are the Information [Soldier]s.";
+ mes "They can seem insignificant but they can help you greatly when the time comes.";
+ next;
+ mes "[Chocolat]";
+ mes "I've brought the Information Soldier from the City of Prontera.";
+ mes "Ask him what he actually does in town.";
+ close;
+ }
+ else if(job_novice_q == 13) {
+ mes "[Chocolat]";
+ mes "How was the guide of the Information [Soldier]?";
+ mes "Last is about using [Inn]s.";
+ mes "There's an Inn located in each town.";
+ next;
+ mes "[Chocolat]";
+ mes "You can rest at Inns or Hotels for a small fee.";
+ mes "Your HP and SP will be recovered completely by resting there.";
+ mes "Can't hurt to use one, eh?";
+ next;
+ mes "[Chocolat]";
+ mes "Besides these guys, there's many merchants selling various kind of items, so go check them out.";
+ completequest 7121;
+ getexp 300,0;
+ getexp 300,0;
+ getexp 300,0;
+ getexp 300,0;
+ getexp 300,0;
+ getexp 300,20;
+ getitem 7059,20; // Cargo_Free_Ticket
+ getitem 7060,30; // Warp_Free_Ticket
+ set job_novice_q,14;
+ next;
+ mes "[Chocolat]";
+ mes "You've completed all the quests I gave you.";
+ mes "As the reward, I will give you Free Tickets for Kafra Storage and Teleport Service.";
+ mes "They will come in handy.";
+ next;
+ mes "[Chocolat]";
+ mes "That's all for me.";
+ mes "Now, it's time for real combat!";
+ next;
+ mes "[Chocolat]";
+ mes "Real Combat Training will be given by Instructor Brade. You met him earlier.";
+ mes "I will send you to the Real Combat Training Field.";
+ close2;
+ savepoint "new_1-3",96,21;
+ warp "new_1-3",96,21;
+ end;
+ }
+ else if(job_novice_q > 13) {
+ mes "[Chocolat]";
+ mes "What can I do for you?";
+ next;
+ select("");
+ mes "[Chocolat]";
+ mes "I will send you to the Real Combat Training Field right away.";
+ close2;
+ savepoint "new_1-3",96,21;
+ warp "new_1-3",96,21;
+ end;
+ }
+ else {
+ mes "[Chocolat]";
+ mes "Why are you still here?";
+ close2;
+ warp "prontera",156,90;
+ end;
+ }
+}
+
+
+// ---------- Kafra ----------
+new_1-2,29,176,4 script Kafra#nv 117,{
+ if(job_novice_q < 10) {
+ mes "[Kafra Agent]";
+ mes "Hello.";
+ mes "I don't think it's my turn yet.";
+ mes "Please talk to 'Chocolat' first.";
+ close;
+ }
+ else if(job_novice_q == 10) {
+ mes "[Kafra Agent]";
+ mes "Hello.";
+ mes "I've been dispatched by the Kafra Head Office to help Trainees.";
+ mes "The Kafra Corporation is the world's largest company with a long and distinguished history on the Rune Midgard continent.";
+ mes "It's important for you adventurers to be close with us.";
+ next;
+ mes "[Kafra Agent]";
+ mes "I will inform you about the Kafra Services which you will be using most frequently, [Save], [Storage], and [Teleport] Services.";
+ next;
+ mes "[Kafra Agent]";
+ mes "When you talk to a Kafra Agent and ask for the Save Service, the location of where you will revive, after being defeated in battle, will be changed.";
+ next;
+ mes "[Kafra Agent]";
+ mes "Your Respawn Point is always the last place where you have saved.";
+ mes "Using a Butterfly Wing will return you to the place where you last saved.";
+ mes "This service is free to use, so feel free to use the Save Service anytime you like.";
+ next;
+ mes "[Kafra Agent]";
+ mes "Next is the Storage Service.";
+ mes "You can store and retrieve your items in any town at your convenience.";
+ next;
+ mes "[Kafra Agent]";
+ mes "It's unreasonable to carry all of your items with you when you don't need them right away.";
+ mes "Please use our Storage and keep your items safe and secure.";
+ next;
+ mes "[Kafra Agent]";
+ mes "Our convenient Storage Service is provided to our customers for a small fee which is different from town to town.";
+ mes "However, you must be at least ^4A4AFFBasic Skill Level 6^000000 to use the Storage.";
+ next;
+ mes "[Kafra Agent]";
+ mes "There are 7 different item sections of the Storage into which items are organized: Consumable, Kafra (Item Mall), Armor, Weapons, Ammo, Cards, and Etc items.";
+ next;
+ mes "[Kafra Agent]";
+ mes "There are a maximum of 600 Inventory Slots in Kafra Storage, meaning you can have up to 600 different kinds of total items in Storage.";
+ next;
+ mes "[Kafra Agent]";
+ mes "If you have a Premium Subscription, the maximum Inventory Slots in Kafra Storage is 600!";
+ mes "Remember though, that in the case of Equipment, each item takes up one Inventory Slot.";
+ mes "The maximum number of items that can be placed in Kafra Storage is 30,000.";
+ next;
+ mes "[Kafra Agent]";
+ mes "Storage is shared by everyone character on one account.";
+ mes "Storage Fees can vary for each Town.";
+ mes "So please keep that in mind when you are using our storage service.";
+ next;
+ mes "[Kafra Agent]";
+ mes "We also provide you with a Teleport Service to make your trips easier when you are trying to move a long distance.";
+ next;
+ mes "[Kafra Agent]";
+ mes "With our veteran teleporter's skill, your trip will be safer and more comfortable.";
+ mes "Oh and remember that the places you can teleport to vary from town to town.";
+ next;
+ mes "[Kafra Agent]";
+ mes "This is all for your never ending support. We are working hard to repay our debt to our customers.";
+ next;
+ mes "[Kafra Agent]";
+ mes "Do you want to hear another explanation?";
+ set job_novice_q,11;
+ next;
+ goto L_ServiceMenu;
+ }
+ else {
+ mes "[Kafra Agent]";
+ mes "Kafra Service at your service";
+ mes "What can I do for you?";
+ next;
+ select("About Kafra Service");
+ mes "[Kafra Agent]";
+ mes "I will explain about the Kafra Service.";
+ mes "Which service do you want to be informed about?";
+ next;
+ goto L_ServiceMenu;
+ }
+
+ L_ServiceMenu:
+ while(1) {
+ switch(select("About Save:About Storage:About Teleport:About Cart:No More.")) {
+ case 1:
+ mes "[Kafra Agent]";
+ mes "When you are killed in battle, you can revive in the location you saved with this service.";
+ mes "If you save at a Kafra in a village, you can revive in the village you saved.";
+ next;
+ mes "[Kafra Agent]";
+ mes "Saved location is always where you saved last, and by using a Butterfly Wing, you can teleport directly to your saved point.";
+ mes "So feel free to use this service.";
+ next;
+ break;
+ case 2:
+ mes "[Kafra Agent]";
+ mes "Next is the Storage Service.";
+ mes "You can store and retrieve your items in any town at your convenience.";
+ next;
+ mes "[Kafra Agent]";
+ mes "It's unreasonable to carry all of your items with you when you don't need them right away.";
+ mes "Please use our Storage and keep your items safe and secure.";
+ next;
+ mes "[Kafra Agent]";
+ mes "Our convenient Storage Service is provided to our customers for a small fee which is different from town to town.";
+ mes "However, you must be at least ^4A4AFFBasic Skill Level 6^000000 to use the Storage.";
+ next;
+ mes "[Kafra Agent]";
+ mes "There are 7 different item sections of the Storage into which items are organized: Consumable, Kafra (Item Mall), Armor, Weapons, Ammo, Cards, and Etc items.";
+ next;
+ mes "[Kafra Agent]";
+ mes "There are a maximum of 600 Inventory Slots in Kafra Storage, meaning you can have up to 600 different kinds of total items in Storage.";
+ next;
+ mes "[Kafra Agent]";
+ mes "If you have a Premium Subscription, the maximum Inventory Slots in Kafra Storage is 600!";
+ mes "Remember though, that in the case of Equipment, each item takes up one Inventory Slot.";
+ mes "The maximum number of items that can be placed in Kafra Storage is 30,000.";
+ next;
+ mes "[Kafra Agent]";
+ mes "Storage is shared by everyone character on one account.";
+ mes "Storage Fees can vary for each Town.";
+ mes "So please keep that in mind when you are using our storage service.";
+ next;
+ break;
+ case 3:
+ mes "[Kafra Agent]";
+ mes "We also provide you with a Teleport Service to make your trips easier when you are trying to move a long distance.";
+ next;
+ mes "[Kafra Agent]";
+ mes "With our veteran teleporter's skill, your trip will be safer and more comfortable.";
+ mes "Oh and remember that the places you can teleport to vary from town to town.";
+ next;
+ mes "[Kafra Agent]";
+ mes "This is all for your never ending support. We are working hard to repay our debt to our customers.";
+ next;
+ break;
+ case 4:
+ mes "[Kafra Agent]";
+ mes "The Kafra corporation provides Cart rental services to customers engaged in commercial business.";
+ mes "Originally this cart rental service had been only provided by the merchant guild in Alberta.";
+ next;
+ mes "[Kafra Agent]";
+ mes "However, since we took over this service, our merchant customers have been able to rent carts from almost anywhere.";
+ mes "The cart rental service is available only for job classes engaged in commercial business such as ^4A4AFFMerchants, Blacksmiths, Alchemists, and Super Novices^000000.";
+ next;
+ mes "[Kafra Agent]";
+ mes "Of course you should learn the 'Pushcart' skill beforehand, otherwise you will not be able to rent a cart from us.";
+ mes "The rental fee varies by town, please keep that in mind.";
+ next;
+ break;
+ case 5:
+ mes "[Kafra Agent]";
+ mes "I hope you are satisfied with my explanation about the Kafra Service.";
+ close;
+ }
+ }
+}
+
+// ---------- Cool Event Staff ----------
+new_1-2,33,176,4 script Cool Event Staff#nv 874,{
+ if(job_novice_q < 11) {
+ mes "[Cool Event Staff]";
+ mes "This is not my turn.";
+ mes "You finished talking to Kafra yet?";
+ close;
+ }
+ else if(job_novice_q == 11) {
+ mes "[Cool Event Staff]";
+ mes "Hello.";
+ mes "We are working hard to provide events on Rune Midgard similar to the Kafra service.";
+ next;
+ mes "[Cool Event Staff]";
+ mes "Our staff is here to support you with [storage], [save], and [teleport] services.";
+ next;
+ mes "[Cool Event Staff]";
+ mes "If there's no Kafra around you, we're around to help you.";
+ next;
+ mes "[Cool Event Staff]";
+ mes "We are working hard on a network of Events to make your life better.";
+ mes "I hope that you can meet our staff in Alberta.";
+ next;
+ mes "[Cool Event Staff]";
+ mes "Who knows, we might meet outside of this academy.";
+ next;
+ mes "[Cool Event Staff]";
+ mes "Mostly all of us wear red coats in the places that the Kafra Staff don't work for.";
+ set job_novice_q,12;
+ close;
+ }
+ else {
+ mes "[Cool Event Staff]";
+ mes "Most of our services are similar to those of Kafra.";
+ close;
+ }
+}
+
+// ---------- Soldier ----------
+new_1-2,36,176,4 script Soldier#nv 105,{
+ if(job_novice_q < 12) {
+ mes "[Soldier]";
+ mes "It isn't my turn yet.";
+ mes "Listen to Chocolat.";
+ close;
+ }
+ else if(job_novice_q == 12) {
+ mes "[Soldier]";
+ mes "Soldiers are in each town to guide you to useful places.";
+ mes "Ask us where you want to go and we'll mark your mini maps with a ^4A4AFF+^000000.";
+ mes "Don't hesitate to ask us questions.";
+ next;
+ mes "[Soldier]";
+ mes "We all don't look the same in every town but our roles are the same.";
+ mes "Take note of this whenever you go to a new town.";
+ next;
+ mes "[Soldier]";
+ mes "If you want to go to your first town, you can do so once you have reached Base Level 11 in the training grounds.";
+ set job_novice_q,13;
+ close;
+ }
+ else {
+ mes "[Soldier]";
+ mes "What can I help you with?";
+ mes "Need me to explain what I do again?";
+ next;
+ if(select("Yes, I need an explanation.:Nope") == 2) {
+ mes "[Soldier]";
+ mes "Ok well talk to Chocolat if you're done talking with us.";
+ close;
+ }
+ mes "[Soldier]";
+ mes "Soldiers are in each town to guide you to useful places.";
+ mes "Ask us where you want to go and we'll mark your mini maps with a ^4A4AFF+^000000.";
+ mes "Don't hesitate to ask us questions.";
+ next;
+ mes "[Soldier]";
+ mes "We all don't look the same in every town but our roles are the same.";
+ mes "Take note of this whenever you go to a new town.";
+ next;
+ mes "[Soldier]";
+ mes "If you want to go to your first town, you can do so once you have reached Base Level 11 in the training grounds.";
+ close;
+ }
+}
+
+//============================================================================
+// Instructor Brade (Real Combat Training)
+//============================================================================
+- script Brade#nv::NvBrade 733,{
+ if(job_novice_q < 14) {
+ mes "[Brade]";
+ mes "How did you get here?";
+ close2;
+ warp "new_1-2",100,100;
+ end;
+ }
+ else if(job_novice_q == 14) {
+ mes "[Brade]";
+ mes "Welcome.";
+ mes "Now this is real practice.";
+ mes "We can practive real battle here.";
+ next;
+ mes "[Brade]";
+ mes "As I explained the first time, we can click on the monsters.";
+ mes "One attack per click.";
+ next;
+ mes "[Brade]";
+ mes "For convenience,";
+ mes "^4A4AFFIf you hold down the Ctrl key,^000000";
+ mes "while attacking, you will automatically attack.";
+ next;
+ mes "[Brade]";
+ mes "You can also set this mode before battle by typing ^4A4AFF[ /nc ]^000000.";
+ next;
+ mes "[Brade]";
+ mes "Then, let's go Poring hunting.";
+ mes "Please hunt Poring's on Level 1 of the training grounds.";
+ setquest 7122;
+ set job_novice_q,15;
+ getitem 569,100; // Novice_Potion
+ next;
+ mes "^4A4AFF- You've received a quest from Instructor Brade.^000000";
+ mes "^4A4AFFPlease check the quest information window. -^000000";
+ close;
+ }
+ else if(job_novice_q == 15) {
+ if(checkquest(7122,HUNTING) == 2) {
+ mes "[Brade]";
+ mes "You can see it is not so hard, right?";
+ mes "Nice job.";
+ getitem 13040,1; // N_Cutter
+ getexp 1000,0;
+ getexp 1000,0;
+ getexp 1000,30;
+ completequest 7122;
+ set job_novice_q,16;
+ next;
+ mes "[Brade]";
+ mes "Now all of the courses are almost done.";
+ mes "You are a Novice, and you can't get any jobs yet.";
+ next;
+ mes "[Brade]";
+ mes "If you acquire all of basic skills with Job Level 10, you can change your job.";
+ next;
+ mes "[Brade]";
+ mes "The first job classes are defined into 6 classes.";
+ next;
+ mes "[Brade]";
+ mes "The 6 basic jobs are";
+ mes "Swordman, Thief,";
+ mes "Acolyte, Mage,";
+ mes "Archer and Merchant.";
+ next;
+ mes "[Brade]";
+ mes "Let's experience the basic 6 jobs, Swordman, Thief, Acolyte, Mage, Archer and Merchant and see what those jobs can do.";
+ next;
+ mes "[Brade]";
+ mes "Behind me, there are people dispatched from each of the basic Job Guilds.";
+ mes "These people will give you instruction manuals that allow you to experience some limited skills of each job.";
+ next;
+ mes "[Brade]";
+ mes "Equip a manual of the job which you want to experience, and you will be able to use some basic skills of that corresponding job.";
+ mes "Try those skills and decide which job to choose.";
+ close;
+ }else{
+ mes "[Brade]";
+ mes "Kill enough Porings.";
+ mes "Porings are easy to deal with, so cheer up.";
+ mes "Try again.";
+ percentheal 100,100;
+ skilleffect 28,9999;
+ close;
+ }
+ }
+ else {
+ mes "[Brade]";
+ mes "Have you tried the skills in the Manuals?";
+ mes "If you want to hear information about each job, talk to the people dispatched by the Job Guilds.";
+ next;
+ mes "[Brade]";
+ mes "I think you've learned enough, if you want to learn more, then speak to the Eden Group girl next to the Trainers.";
+ next;
+ mes "[Brade]";
+ mes "Try using the job manuals to find out the characteristics of each job's skills.";
+ mes "I will restore your HP and SP...Keep it up.";
+ percentheal 100,100;
+ skilleffect 28,9999;
+ close;
+ }
+}
+
+new_1-3,96,30,4 duplicate(NvBrade) Brade#nv1 733
+new_2-3,96,30,4 duplicate(NvBrade) Brade#nv2 733
+new_3-3,96,30,4 duplicate(NvBrade) Brade#nv3 733
+new_4-3,96,30,4 duplicate(NvBrade) Brade#nv4 733
+new_5-3,96,30,4 duplicate(NvBrade) Brade#nv5 733
+
+//============================================================================
+// Job Guides (Real Combat Training)
+//============================================================================
+// ---------------------------- Swordman Guide -------------------------------
+- script Swordman Guide#nv::NvSwd 728,{
+ if(job_novice_q < 16) {
+ mes "[Swordman Guildsman]";
+ mes "I won't help you until you finish Brade's intructions.";
+ close;
+ }
+ else if(checkquest(7123,HUNTING) != 2) {
+ mes "[Swordman Guildsman]";
+ mes "Hunt two Picky monsters.";
+ mes "You can find them in the more difficult training grounds by talking to Trainer Brutus.";
+ close2;
+ }
+ else if(checkquest(7123,HUNTING) == 2) {
+ mes "[Swordman Guildsman]";
+ mes "Great.";
+ mes "I think that you're good enough to be a Swordman.";
+ mes "I'll give you some potions as a reward.";
+ completequest 7123;
+ getitem 569,200; // Novice_Potion
+ getexp 1000,0;
+ getexp 1000,0;
+ getexp 1000,0;
+ getexp 1000,0;
+ getexp 1000,100;
+ close2;
+ }
+ mes "[Swordman Guildsman]";
+ mes "Can I help you?";
+ next;
+ switch(select("About Swordman Class.:Job change to Swordman.:Got any quests?:Cancel.")) {
+ case 1:
+ mes "[Swordman Guildsman]";
+ mes "Literally, Swordman means one, who is specialized in wielding swords.";
+ mes "But they can also choose to use spears if they so choose.";
+ next;
+ mes "[Swordman Guildsman]";
+ mes "We possess strong physical strength.";
+ mes "So naturally we can equip heavy armors and weapons.";
+ mes "Most weapon classes, except for bows and rods, are equippable by our class.";
+ next;
+ mes "[Swordman Guildsman]";
+ mes "The only weakness of the Swordman class is that they cannot use magic spells.";
+ mes "But we've compensated for that by using elemental weapons.";
+ next;
+ mes "[Swordman Guildsman]";
+ mes "The merits of being a Swordman is the enormous amount of HP we have.";
+ mes "Most of us can bear the grunt of our enemies' attacks with relative ease.";
+ next;
+ mes "[Swordman Guildsman]";
+ mes "And we are unrivaled when it comes to one-on-one melee combat.";
+ next;
+ mes "[Swordman Guildsman]";
+ mes "Anyone who chooses to be a Swordman will likely play the role of the tank. It is our duty to protect the weak.";
+ next;
+ mes "[Swordman Guildsman]";
+ mes "As a Swordman you can advance to a ^8C2121Knight^000000 or ^8C2121Crusader^000000 class as your 2nd class profession.";
+ mes "And just recently third professions have been discovered.";
+ if(countitem(2819) == 0 && (getequipid(EQI_ACC_L) != 2819 || getequipid(EQI_ACC_R) != 2819)) {
+ next;
+ mes "[Swordman Guildsman]";
+ mes "If you're interested in being a Swordman, I'll offer you this manual.";
+ mes "Do you want to try the skills of a Swordman?";
+ next;
+ if(select("I'll try the Swordman skills.:No Thanks.") == 2) {
+ mes "[Swordman Guildsman]";
+ mes "Hum. Do you think so?";
+ mes "Ok, I agree with you. Choosing a job is very important in our lives.";
+ mes "Just talk to me whenever you want to experience Swordman skills.";
+ close;
+ }
+ mes "[Swordman Guildsman]";
+ mes "Here is the Swordman manual.";
+ mes "I'll just take any manuals from any other classes you have.";
+ next;
+ mes "[Swordman Guildsman]";
+ mes "Here is the Swordman manual.";
+ mes "I'll just take any manuals from any other classes you have.";
+ nude;
+ if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
+ if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
+ if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
+ if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
+ if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ getitem 2819,1; // Swordsman_Manual
+ next;
+ mes "[Swordman Guildsman]";
+ mes "After equipping the Manual, open your Skill menu by pressing ALT+S.";
+ mes "Make sure to minimize your Skill tree by clicking the '-' button on the top right corner of the Skill Tree Window.";
+ }
+ close;
+ case 2:
+ mes "[Swordman Guildsman]";
+ mes "Do you really want to change your job to Swordman?";
+ mes "If you want to be a Swordman, I'll send you to the Swordman Guild immediately.";
+ next;
+ mes "[Swordman Guildsman]";
+ mes "I think you have enough job levels, of course, right?";
+ mes "Do you want to stop your training now and go to the Swordman Guild?";
+ next;
+ if(select("I'll consider it again.:I'll go to the Swordman Guild.") == 2) {
+ mes "[Swordman Guildsman]";
+ mes "I see.";
+ mes "Then I'll end your training process and send you to the Swordman Guild.";
+ close2;
+ if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
+ if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
+ if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
+ if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
+ nude;
+ if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
+ if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
+ if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
+ if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
+ if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
+ if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ savepoint "izlude",93,104;
+ warp "izlude_in",74,167;
+ end;
+ }
+ mes "[Swordman Guildsman]";
+ mes "Please try enough instruction manuals from each job class and consider it carefully.";
+ mes "Of course, you're always welcomed.";
+ close;
+ case 3:
+ if(checkquest(7123,HUNTING) != 2) {
+ mes "[Swordman Guildsman]";
+ mes "Hunt two Picky monsters.";
+ mes "You can find them in the more difficult training grounds by talking to Trainer Brutus.";
+ close;
+ }
+ else if(checkquest(7123) == 2) {
+ mes "[Swordman Guildsman]";
+ mes "I think you finished that quest already, right?";
+ mes "You'll experience more of these quests as you grow as an adventurer in the world.";
+ next;
+ mes "[Swordman Guildsman]";
+ mes "Your training is now complete.";
+ mes "If you choose to become a Swordman I wish you goodluck.";
+ close;
+ }
+ else{
+ mes "[Swordman Guildsman]";
+ mes "You want me to give you a quest?";
+ mes "Umm. Let me see.";
+ mes "Ok! Hunt a couple of Picky monsters around here.";
+ next;
+ mes "^4A4AFFYou received a hunting request from a staff of the Swordman Guild.^000000";
+ mes "^4A4AFFYou can check the contents of the quest from the quest information window.^000000";
+ setquest 7123;
+ next;
+ mes "[Swordman Guildsman]";
+ mes "Use the 'Bash' skill in the Swordman manual.";
+ mes "Open your Skill Tree by pressing ^4A4AFFAlt + S^000000 and minimize the window by pressing the '-' button on the top right corner of the window to see the available Swordman skills.";
+ next;
+ mes "[Swordman Guildsman]";
+ mes "Talk to Trainer Brutus if you want to fight stronger monsters.";
+ mes "I'll wait for you here.";
+ mes "Wish you a good luck.";
+ close;
+ }
+ case 4:
+ mes "[Swordman Guildsman]";
+ mes "If you have any questions about the Swordman class, please ask me.";
+ mes "The Swordman Guild is waiting for novices like you.";
+ close;
+ }
+}
+
+new_1-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv1 728
+new_2-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv2 728
+new_3-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv3 728
+new_4-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv4 728
+new_5-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv5 728
+
+// ---------------------------- Mage Guide ----------------------------------
+- script Mage Guide#nv::NvMag 123,{
+ if(job_novice_q < 16) {
+ mes "[Mage Guide]";
+ mes "You are still in the process of training with Instructor Brade.";
+ close;
+ }
+ else if(checkquest(7124,HUNTING) != 2) {
+ mes "[Mage Guide]";
+ mes "The quest is that you have to hunt Lunatics and bring 5 clovers.";
+ close2;
+ }
+ else if(checkquest(7124,HUNTING) == 2) {
+ mes "[Mage Guide]";
+ mes "You have done an excellent job.";
+ mes "So, did you find any interests about Mages?";
+ mes "Alright. I will give something...";
+ mes "Here are Novice Butterfly Wings, please take them.";
+ completequest 7124;
+ getitem 12324,30; // N_Butterfly_Wing
+ getexp 1000,0;
+ getexp 1000,0;
+ getexp 1000,0;
+ getexp 1000,0;
+ getexp 1000,100;
+ close2;
+ }
+ mes "[Mage Guide]";
+ mes "What can I help you with?";
+ next;
+ switch(select("Tell me about Mages:I want to be a Mage:Give me a Quest:Cancel")) {
+ case 1:
+ mes "[Mage Guide]";
+ mes "Mages are those who can use magic when they need to protect their friends.";
+ mes "Mages can curse enemies using the elements of fire, water, earth and thunder magic.";
+ next;
+ mes "[Mage Guide]";
+ mes "However they cannot equip other weapons but staffs and books.";
+ mes "Because they are too delicate to carry heavy weapons.";
+ next;
+ mes "[Mage Guide]";
+ mes "But they can cover this weakness by their remarkable magic skills.";
+ mes "That is why many people want to become a Mage!";
+ next;
+ mes "[Mage Guide]";
+ mes "Mages have to be in their guild for guild's power and honor.";
+ mes "This is one of the reasons why Mages are popular in any parties and guilds.";
+ mes "Why don't you become a Mage?";
+ next;
+ mes "[Mage Guide]";
+ mes "^8C2121Mages can transform to Wizards or Sages as their second job.^000000";
+ if(countitem(2824) == 0 && (getequipid(EQI_ACC_L) != 2824 || getequipid(EQI_ACC_R) != 2824)) {
+ next;
+ mes "[Mage Guide]";
+ mes "Do you want to register to experience how it is to be a Mage?";
+ mes "Would you like to test Mage skills?";
+ next;
+ if(select("I want to test Mage skills.:I don't want to test it.") == 2) {
+ mes "[Mage Guide]";
+ mes "Hum. Do you think so.";
+ mes "Ok, I agree with you. Choosing a job is very important in our life.";
+ mes "Just talk to me whenever you want to experience Mage skills.";
+ close;
+ }
+ mes "[Mage Guide]";
+ mes "Here is the Mage Manual.";
+ mes "I will take the other job registration forms and manuals from you.";
+ next;
+ mes "[Mage Guide]";
+ mes "Here is the Mage Manual.";
+ mes "I will take the other job registration forms and manuals from you.";
+ nude;
+ if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
+ if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
+ if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
+ if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
+ if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
+ getitem 2824,1; // Mage_Manual
+ next;
+ mes "[Mage Guide]";
+ mes "After equipping the Manual, open your Skill menu by pressing ALT+S.";
+ mes "Make sure to minimize your Skill tree by clicking the '-' button on the top right corner of the Skill Tree Window.";
+ }
+ close;
+ case 2:
+ mes "[Mage Guide]";
+ mes "You want to be a Mage?";
+ mes "Ok, then, I will send you to the Mage Guild union in Geffen right away.";
+ next;
+ mes "[Mage Guide]";
+ mes "Wait, have you checked your Job level?";
+ mes "Do you want to complete your Novice training and go straight to the Mage Guild's union?";
+ next;
+ if(select("I will think about it again.:Yes, complete my training.") == 2) {
+ mes "[Mage Guide]";
+ mes "Welcome!!";
+ mes "I will send you to the Mage Guilds union after you complete your Novice training.";
+ close2;
+ if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
+ if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
+ if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
+ if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
+ nude;
+ if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
+ if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
+ if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
+ if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
+ if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
+ if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ savepoint "geffen",119,37;
+ warp "geffen_in",163,98;
+ end;
+ }
+ mes "[Mage Guide]";
+ mes "Please test what Mage skills are all about before you decide.";
+ mes "We are always welcome to have you!";
+ close;
+ case 3:
+ if(checkquest(7124,HUNTING) != 2) {
+ mes "[Mage Guide]";
+ mes "The quest is that you have to hunt Lunatics and bring 5 clovers.";
+ close;
+ }
+ else if(checkquest(7124) == 2) {
+ mes "[Mage Guide]";
+ mes "You have already completed the quest.";
+ mes "Once you enter the main world, you can get various exciting quests there!";
+ next;
+ mes "[Mage Guide]";
+ mes "This should be enough for your training.";
+ close;
+ }
+ else {
+ mes "[Mage Guide]";
+ mes "Huh? Quest?";
+ mes "Hmm... What would be suited for you...?";
+ mes "Would you like to hunt Lunatics by using Bolt skills?";
+ next;
+ mes "^4A4AFFYou have received a Hunting quest from the Mage Guide.^000000";
+ mes "^4A4AFFYou can get more information about the quest from the quest window.^000000";
+ setquest 7124;
+ next;
+ mes "[Mage Guide]";
+ mes "You are able to use 'Fire Bolt' skill that is shown on the Mage manual.";
+ mes "I will wait for you here.";
+ mes "Good luck!";
+ close;
+ }
+ case 4:
+ mes "[Mage Guide]";
+ mes "If you have any questions about Mages, feel free to ask me.";
+ mes "I think you could be a intelligent Mage...";
+ close;
+ }
+}
+
+new_1-3,101,41,4 duplicate(NvMag) Mage Guide#nv1 123
+new_2-3,101,41,4 duplicate(NvMag) Mage Guide#nv2 123
+new_3-3,101,41,4 duplicate(NvMag) Mage Guide#nv3 123
+new_4-3,101,41,4 duplicate(NvMag) Mage Guide#nv4 123
+new_5-3,101,41,4 duplicate(NvMag) Mage Guide#nv5 123
+
+// ---------------------------- Thief Guide ---------------------------------
+- script Thief Guide#nv::NvThf 118,{
+ if(job_novice_q < 16) {
+ mes "[Thief Guild Member]";
+ mes "You look like you are not done with Instructor Brade's lessons.";
+ close;
+ }
+ else if(checkquest(7127,HUNTING) != 2) {
+ mes "[Thief Guild Member]";
+ mes "Hunt 5 Willows and then come talk to me to finish youe quest.";
+ close2;
+ }
+ else if(checkquest(7127,HUNTING) == 2) {
+ mes "[Thief Guild Member]";
+ mes "You are very strong.";
+ mes "These are not many but let me give you a reward for your effort.";
+ completequest 7127;
+ getitem 12323,50; // N_Fly_Wing
+ getexp 1000,0;
+ getexp 1000,0;
+ getexp 1000,0;
+ getexp 1000,0;
+ getexp 1000,100;
+ close2;
+ }
+ mes "[Thief Guild Member]";
+ mes "How can I help you?";
+ next;
+ switch(select("About the Thief Class.:I want to be a Thief.:Got any Quests?:Cancel.")) {
+ case 1:
+ mes "[Thief Guild Member]";
+ mes "Thieves are experts at using Dagger class weapons.";
+ mes "They strike quickly and easily evade attacks from their enemies.";
+ next;
+ mes "[Thief Guild Member]";
+ mes "Thieves can learn skills that allow them to hide from their enemies or steal items from monsters.";
+ mes "They are also feared for their use of poison, which slowly weakens their enemies.";
+ next;
+ mes "[Thief Guild Member]";
+ mes "In jeopardy, or in the case that thieves do not want to reveal themselves, they can use their skill to hide themselves easily.";
+ next;
+ mes "[Thief Guild Member]";
+ mes "Thieves can change their jobs to ^8C2121Assasins^000000 or ^8C2121Rogues.^000000";
+ if(countitem(2820) == 0 && (getequipid(EQI_ACC_L) != 2820 || getequipid(EQI_ACC_R) != 2820)) {
+ next;
+ mes "[Thief Guild Member]";
+ mes "If you want, I'll give you a Thief skill manual.";
+ mes "Would you like to experience the skills of a Thief?";
+ next;
+ if(select("Yes, I would.:No, I don't.") == 2) {
+ mes "[Thief Guild Member]";
+ mes "Oh, are you sure?";
+ mes "Class selection is very important so please consider it carefully.";
+ mes "If you want to ask about Thieves, please talk to me any time.";
+ close;
+ }
+ mes "[Thief Guild Member]";
+ mes "Here, please take the Thief manual.";
+ mes "I'll just take the other class manuals while I'm at it.";
+ next;
+ mes "[Thief Guild Member]";
+ mes "Here, please take the Thief manual.";
+ mes "I'll just take the other class manuals while I'm at it.";
+ nude;
+ if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
+ if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
+ if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
+ if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
+ if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ getitem 2820,1; // Thief_Manual
+ next;
+ mes "[Thief Guild Member]";
+ mes "Make sure to equip the Skill Manual by double-clicking it in the Inventory Window.";
+ mes "Open your Skill Tree by pressing ^4A4AFFAlt + S^000000 and minimize the window by pressing the '-' button on the top right corner of the window to see the available skills.";
+ }
+ close;
+
+ case 2:
+ mes "[Thief Guild Member]";
+ mes "Do you really want to be a Thief?";
+ mes "If so, I will send you to the Thief Guild immediately.";
+ next;
+ mes "[Thief Guild Member]";
+ mes "You already reached the required job level, didn't you?";
+ mes "Do you want to finish the Novice training and go to the Thief Guild?";
+ next;
+ if(select("Let me consider it again.:Yes, I do.") == 2) {
+ mes "[Thief Guild Member]";
+ mes "Ok, I see.";
+ mes "Welcome. Then your Novice training is totally complete and you will be sent to the Thief Guild immediately.";
+ close2;
+ if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
+ if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
+ if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
+ if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
+ nude;
+ if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
+ if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
+ if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
+ if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
+ if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
+ if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ savepoint "morocc",150,99;
+ warp "moc_ruins",155,44;
+ end;
+ }
+ mes "[Thief Guild Member]";
+ mes "Have you tried all of the class manuals yet?";
+ mes "If you're undecided what job to take on I suggest you try talking to all the Guides first.";
+ close;
+ case 3:
+ if(checkquest(7127,HUNTING) != 2) {
+ mes "[Thief Guild Member]";
+ mes "Hunt 5 Willows and then come talk to me to finish youe quest.";
+ close;
+ }
+ else if(checkquest(7127) == 2) {
+ mes "[Thief Guild Member]";
+ mes "I'm sorry but I don't have any quests to give you right now.";
+ close;
+ }
+ else {
+ mes "[Thief Guild Member]";
+ mes "Quests?";
+ mes "Hmm, what will be good for you?";
+ mes "How about hunting some Willows.";
+ next;
+ mes "[Thief Guild Member]";
+ mes "You can't cheat this so make sure to kill 5 Willows. When you're done come and talk to me again.";
+ mes "If you talk to Trainer Brutus, he can send you to a more difficult training ground where there are Willows to hunt.";
+ next;
+ mes "[Thief Guild Member]";
+ mes "If you equip the Thief manual, you can have the effect of the skill, Double Attack.";
+ mes "Double Attack and Hide are the main skills of the Thief.";
+ setquest 7127;
+ close;
+ }
+ case 4:
+ mes "[Thief Guild Member]";
+ mes "If you have something to ask about the Thief job, feel free to ask me.";
+ close;
+ }
+}
+
+new_1-3,105,41,4 duplicate(NvThf) Thief Guide#nv1 118
+new_2-3,105,41,4 duplicate(NvThf) Thief Guide#nv2 118
+new_3-3,105,41,4 duplicate(NvThf) Thief Guide#nv3 118
+new_4-3,105,41,4 duplicate(NvThf) Thief Guide#nv4 118
+new_5-3,105,41,4 duplicate(NvThf) Thief Guide#nv5 118
+
+// ---------------------------- Merchant Guide ------------------------------
+- script Merchant Guide#nv::NvMer 97,{
+ if(job_novice_q < 16) {
+ mes "[Merchant Guide]";
+ mes "You are still in the process of training with sir Brade.";
+ close;
+ }
+ else if((checkquest(7126) == 0 || checkquest(7126) == 1) && Zeny < 300) {
+ mes "[Merchant Guide]";
+ mes "Zeny is the currency of Rune Midgard.";
+ mes "You can make zeny by selling loot as well as through making smart business decisions.";
+ next;
+ mes "[Merchant Guide]";
+ mes "You can get loot by killing monsters. After hunting monsters, you can sell those loot to make a profit!";
+ mes "What a valuable job it is! Isn't it?";
+ next;
+ mes "[Merchant Guide]";
+ mes "Why don't you try to be a Merchant?";
+ mes "Making money is not easy but it will be a great experience!";
+ close2;
+ }
+ else if((checkquest(7126) == 0 || checkquest(7126) == 1) && Zeny >= 300) {
+ mes "[Merchant Guide]";
+ mes "Excellent!";
+ mes "Zeny is the currency of Rune Midgard.";
+ mes "You can make zeny by selling loot as well as through making smart business decisions.";
+ next;
+ mes "[Merchant Guide]";
+ mes "We can use extremely powerful skills with zeny!";
+ mes "Mammonite! That is our ultimate attack skill!!";
+ mes "We basically paste money on the weapon and then strike the enemy.";
+ mes "Death by Zeny! Nyahahahaha!";
+ next;
+ mes "[Merchant Guide]";
+ mes "By the way, you have done an excellent job. So, I should give you something... What would be good?";
+ mes "Alright! What about Phracon?";
+ mes "Phracon is a metallic element which you can use for refining weapons.";
+ completequest 7126;
+ getitem 1010,7; // Phracon
+ getexp 1000,0;
+ getexp 1000,0;
+ getexp 1000,0;
+ getexp 1000,0;
+ getexp 1000,100;
+ close2;
+ }
+ mes "[Merchant Guide]";
+ mes "What can I help you with?";
+ next;
+ switch(select("Tell me about Merchants:I want to be a Merchant.:Give me a Quest.:Cancel")) {
+ case 1:
+ mes "[Merchant Guide]";
+ mes "Merchant? Simply put, they sell goods and make money.";
+ mes "That's the main focus for any Merchant.";
+ next;
+ mes "[Merchant Guide]";
+ mes "We have special skills for making money.";
+ mes "We can buy goods at a lower price and sell them at a higher price.";
+ next;
+ mes "[Merchant Guide]";
+ mes "Also Merchants can have Carts that we can store lots of items in.";
+ next;
+ mes "[Merchant Guide]";
+ mes "^8C2121Merchants can transform to a Blacksmith or an Alchemist^000000 as their second job.";
+ if(countitem(2823) == 0 && (getequipid(EQI_ACC_L) != 2823 || getequipid(EQI_ACC_R) != 2823)) {
+ next;
+ mes "[Merchant Guide]";
+ mes "Do you wan to see what it's like to be a Merchant?";
+ next;
+ if(select("I want to test Merchant skills.:I don't want to test it.") == 2) {
+ mes "[Merchant Guide]";
+ mes "Hum. Do you think so?";
+ mes "Ok, I agree with you. Choosing a job is very important in our life.";
+ mes "Just talk to me whenever you want to experience Merchant skills.";
+ close;
+ }
+ mes "[Merchant Guide]";
+ mes "Here is the Merchant skill manual.";
+ mes "I will take other job manuals from you while I'm at it.";
+ next;
+ mes "[Merchant Guide]";
+ mes "Here is the Merchant skill manual.";
+ mes "I will take other job manuals from you while I'm at it.";
+ nude;
+ if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
+ if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
+ if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
+ if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
+ if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ getitem 2823,1; // Merchant_Manual
+ next;
+ mes "[Merchant Guide]";
+ mes "Make sure to equip the Skill Manual by double-clicking it in the Inventory Window.";
+ mes "Open your Skill Tree by pressing ^4A4AFFAlt + S^000000 and minimize the window by pressing the '-' button on the top right corner of the window to see the available skills.";
+ }
+ close;
+
+ case 2:
+ mes "[Merchant Guide]";
+ mes "You want to be a Merchant?";
+ mes "Ok, then, I will send you to the Merchant Guild's union right away.";
+ next;
+ mes "[Merchant Guide]";
+ mes "Wait, have you checked your Job level?";
+ mes "Do you want to complete your Novice training and go straight to the Merchant Guild's union?";
+ next;
+ if(select("I will think about it again.:Yes, I want to go to the Merchant Guild's union.") == 2) {
+ mes "[Merchant Guide]";
+ mes "Welcome!!";
+ mes "I will send you to the Merchant Guild's union after you complete your Novice training.";
+ close2;
+ if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
+ if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
+ if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
+ if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
+ nude;
+ if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
+ if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
+ if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
+ if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
+ if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
+ if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ savepoint "alberta",30,232;
+ warp "alberta_in",62,44;
+ end;
+ }
+ mes "[Merchant Guide]";
+ mes "Ok, I hope you consider being a Merchant.";
+ mes "We are always welcome to have you!";
+ close;
+ case 3:
+ if((checkquest(7126) == 0 || checkquest(7126) == 1) && Zeny < 300) {
+ mes "[Merchant Guide]";
+ mes "Zeny is the currency of Rune Midgard.";
+ mes "You can make zeny by selling loot as well as through making smart business decisions.";
+ next;
+ mes "[Merchant Guide]";
+ mes "You can get loot by killing monsters. After hunting monsters, you can sell those loot to make a profit!";
+ mes "What a valuable job it is! Isn't it?";
+ next;
+ mes "[Merchant Guide]";
+ mes "Why don't you try to be a Merchant?";
+ mes "Making money is not easy but it will be a great experience!";
+ close;
+ }
+ else if(checkquest(7126) == 2) {
+ mes "[Merchant Guide]";
+ mes "You have already completed the quest.";
+ mes "Once you enter the main world, you can get various exciting quests there!";
+ next;
+ mes "[Merchant Guide]";
+ mes "I think you're strong enough now to change your job right? Hahahaha don't waste too much time here Novice.";
+ close;
+ }
+ else {
+ mes "[Merchant Guide]";
+ mes "Huh? Quest??";
+ mes "Humm... What would be suited for you...?";
+ mes "Ok, then bring me ^4A4AFF300 zeny^000000 by selling some of your items to the Potato Merchant.";
+ next;
+ mes "[Merchant Guide]";
+ mes "If you equipped the Merchant manual you have the ability to use the 'Overcharge' and 'Discount' skills.";
+ setquest 7126;
+ next;
+ mes "[Merchant Guide]";
+ mes "Good luck!";
+ close;
+ }
+ case 4:
+ mes "[Merchant Guide]";
+ mes "If you have any questions about Merchants, feel free to ask me.";
+ mes "I think you could be a rich Merchant. AhHahaha.";
+ close;
+ }
+}
+
+new_1-3,109,41,4 duplicate(NvMer) Merchant Guide#nv1 97
+new_2-3,109,41,4 duplicate(NvMer) Merchant Guide#nv2 97
+new_3-3,109,41,4 duplicate(NvMer) Merchant Guide#nv3 97
+new_4-3,109,41,4 duplicate(NvMer) Merchant Guide#nv4 97
+new_5-3,109,41,4 duplicate(NvMer) Merchant Guide#nv5 97
+
+// ---------------------------- Archer Guide --------------------------------
+- script Archer Guide#nv::NvArc 727,{
+ if(job_novice_q < 16) {
+ mes "[Archer Guide]";
+ mes "You are still in the process of training with sir Brade.";
+ close;
+ }
+ mes "[Archer Guide]";
+ mes "What can I help you with?";
+ next;
+ switch(select("Tell me about Archers:I want to be an Archer:Cancel")) {
+ case 1:
+ mes "[Archer Guide]";
+ mes "Archers have specialized skills by using a Bow and have a variety of powerful skills.";
+ mes "Archers are good at staying back and picking off their targets.";
+ next;
+ mes "[Archer Guide]";
+ mes "Archers don't have great vitality so they have to keep their distance from enemies.";
+ next;
+ mes "[Archer Guide]";
+ mes "On the other hand, Archers are attentive and have incredibly accurate eyes.";
+ mes "So once they are ready to attack, they can kill enemies before they're even aware of their presence.";
+ next;
+ mes "[Archer Guide]";
+ mes "^8C2121Archers can transform to many second jobs like a Hunter.^000000";
+ mes "^8C2121Besides Hunters, Archers can transform to a Bard, if they are male.^000000";
+ mes "^8C2121They can transform to a Dancer, if they are female.^000000";
+ if(countitem(2822) == 0 && (getequipid(EQI_ACC_L) != 2822 || getequipid(EQI_ACC_R) != 2822)) {
+ next;
+ mes "[Archer Guide]";
+ mes "Do you want to register to test skill experience?";
+ mes "Would you like to test Archer skills?";
+ next;
+ if(select("I want to test Archer skills.:I don't want to test it.") == 2) {
+ mes "[Archer Guide]";
+ mes "Hum. Do you think so.";
+ mes "Ok, I agree with you. Choosing a job is very important in our life.";
+ mes "Just talk to me whenever you want to experience Archer skills.";
+ close;
+ }
+ mes "[Archer Guide]";
+ mes "Here is the Archer manual.";
+ mes "I will take the other job manuals from you while you test the Archer manual out.";
+ next;
+ mes "[Archer Guide]";
+ mes "I will take the other job manuals from you while you test the Archer manual out.";
+ nude;
+ if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
+ if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
+ if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
+ if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
+ if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ getitem 2822,1; // Archer_Manual
+ next;
+ mes "[Archer Guide]";
+ mes "Make sure to equip the Skill Manual by double-clicking it in the Inventory Window.";
+ mes "Open your Skill Tree by pressing ^4A4AFFAlt + S^000000 and minimize the window by pressing the '-' button on the top right corner of the window to see the available skills.";
+ }
+ close;
+ case 2:
+ mes "[Archer Guide]";
+ mes "You want to be an Archer?";
+ mes "Ok, then, I will send you to the Archer Guild right away.";
+ next;
+ mes "[Archer Guide]";
+ mes "Wait, have you checked your Job level?";
+ mes "Do you want to complete the Novice training arena and go to the Archer Guild right now?";
+ next;
+ if(select("I will think about it again.:Yes, I want to go to the Archer Guild's union.") == 2) {
+ mes "[Archer Guide]";
+ mes "Welcome!!";
+ mes "I will send you to the Archer Guild after you complete your Novice training.";
+ close2;
+ if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
+ if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
+ if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
+ if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
+ nude;
+ if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
+ if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
+ if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
+ if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
+ if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
+ if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ savepoint "payon",70,100;
+ warp "payon_in02",64,65;
+ end;
+ }
+ mes "[Archer Guide]";
+ mes "Test out all the jobs if you have to but choose Archer because we're the best.";
+ mes "We are always welcome to have you!";
+ close;
+ case 3:
+ mes "[Archer Guide]";
+ mes "If you have any questions about Archers, feel free to ask me.";
+ mes "I think you could be a strong Archer young Novice.";
+ close;
+ }
+}
+
+new_1-3,113,41,4 duplicate(NvArc) Archer Guide#nv1 727
+new_2-3,113,41,4 duplicate(NvArc) Archer Guide#nv2 727
+new_3-3,113,41,4 duplicate(NvArc) Archer Guide#nv3 727
+new_4-3,113,41,4 duplicate(NvArc) Archer Guide#nv4 727
+new_5-3,113,41,4 duplicate(NvArc) Archer Guide#nv5 727
+
+// ---------------------------- Acolyte Guide -------------------------------
+- script Acolyte Guide#nv::NvAco 95,{
+ if(job_novice_q < 16) {
+ mes "[Prontera Acolyte]";
+ mes "You look like you are not done with Instructor Brade's lessons.";
+ close;
+ }
+ mes "[Prontera Acolyte]";
+ mes "What can I do for you?";
+ next;
+ switch(select("What is an Acolyte?:Job change to Acolyte.Cancel")) {
+ case 1:
+ mes "[Prontera Acolyte]";
+ mes "An Acolyte is someone who worships the goddess Freya sacrificing themselves to help others.";
+ next;
+ mes "[Prontera Acolyte]";
+ mes "Acolytes use supportive skills to make combat easier.";
+ mes "It is essential to have an Acolyte in any successful party.";
+ next;
+ mes "[Prontera Acolyte]";
+ mes "^8C2121As an Acolyte, you can upgrade your future job to Priest or Monk.^000000";
+ next;
+ mes "[Prontera Acolyte]";
+ if(countitem(2821) == 0 && (getequipid(EQI_ACC_L) != 2821 || getequipid(EQI_ACC_R) != 2821)) {
+ next;
+ mes "[Prontera Acolyte]";
+ mes "If you want, I can give you a skill manual to experience what it is like to be an Acolyte.";
+ mes "Would you like to experience the skills of an Acolyte?";
+ next;
+ if(select("Yes, please.:No I'm not interested.") == 2) {
+ mes "[Prontera Acolyte]";
+ mes "Hum. Do you think so.";
+ mes "Ok, I agree with you. Choosing a job is very important in our life.";
+ mes "Just talk to me whenever you want to know about Acolytes.";
+ close;
+ }
+ mes "[Prontera Acolyte]";
+ mes "Here you go, the instruction manual of an Acolyte.";
+ mes "I will take away those other job's manuals while you study this one.";
+ next;
+ mes "[Prontera Acolyte]";
+ mes "Here you go, the instruction manual of an Acolyte.";
+ mes "I will take away those other job's manuals while you study this one.";
+ nude;
+ if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
+ if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
+ if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
+ if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
+ if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ getitem 2821,1; // Acolyte_Manual
+ next;
+ mes "[Prontera Acolyte]";
+ mes "Make sure to equip the Skill Manual by double-clicking it in the Inventory Window.";
+ mes "Open your Skill Tree by pressing ^4A4AFFAlt + S^000000 and minimizing the window by pressing the '-' button on the top right corner of the window to see the available skills.";
+ }
+ close;
+ case 2:
+ mes "[Prontera Acolyte]";
+ mes "Of course, I assume you have enough job levels to become an Acolyte right?";
+ mes "Would you like to quit the Training Process and go to the Cathedral of Prontera?";
+ next;
+ if(select("Let me reconsider.:I will go to the Cathedral.") == 2) {
+ mes "[Prontera Acolyte]";
+ mes "That's great.";
+ mes "Then I will completely end the Training Process and send you to the Cathedral of Prtonera.";
+ close2;
+ if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
+ if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
+ if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
+ if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
+ nude;
+ if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
+ if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
+ if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
+ if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
+ if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
+ if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ savepoint "prontera",117,72;
+ warp "prt_church",172,19;
+ end;
+ }
+ mes "[Prontera Acolyte]";
+ mes "You should try out each job's manuals.";
+ mes "Go through them throughly and decide carefully.";
+ mes "Of course, I will welcome you anytime.";
+ close;
+ case 3:
+ mes "[Prontera Acolyte]";
+ mes "If you have any questions about Acolytes, please ask me anytime.";
+ mes "Ou God, Odin awaits adventurers like you";
+ close;
+ }
+}
+
+new_1-3,117,41,4 duplicate(NvAco) Acolyte Guide#nv1 95
+new_2-3,117,41,4 duplicate(NvAco) Acolyte Guide#nv2 95
+new_3-3,117,41,4 duplicate(NvAco) Acolyte Guide#nv3 95
+new_4-3,117,41,4 duplicate(NvAco) Acolyte Guide#nv4 95
+new_5-3,117,41,4 duplicate(NvAco) Acolyte Guide#nv5 95
+
+// ---------------------------- Bruce (Extended Jobs) -----------------------
+- script Bruce#nv::NvBruce 57,{
+ mes "[Bruce]";
+ mes "Hello?";
+ mes "I'm here to guide you about extra jobs and special classes.";
+ next;
+ mes "[Bruce]";
+ mes "For special classes, there are Taekwon, Ninja, Super Novice, and Gunslinger.";
+ mes "Which job description do you want to hear?";
+ next;
+ while(1) {
+ switch(select("Taekwon:Ninja:Super Novice:Gunslinger:End the conversation.")) {
+ case 1:
+ mes "[Bruce]";
+ mes "It's a job that usually uses a lot of kicking skills.";
+ mes "It belongs to special class and later you can change your job into Taekwon Master which has much stronger attack skills.";
+ next;
+ mes "[Bruce]";
+ mes "There is a secondary class to choose from called Soul Linker which also has strong attacks.";
+ mes "You can decide that later when you get stronger.";
+ next;
+ break;
+ case 2:
+ mes "[Bruce]";
+ mes "Ninja's specialty is rapid movement.";
+ mes "They specialize in using throwing weapons.";
+ next;
+ mes "[Bruce]";
+ mes "Ninjas are kind of a hybrid class that can use various dodge skills with the capability of both physical and magical attacks depending on their preference.";
+ next;
+ break;
+ case 3:
+ mes "[Bruce]";
+ mes "The biggest attraction of the stronger Novice, called Super Novice, is their pull to mediocrity.";
+ mes "They are the proverbial Jack-of-all-Trades but Master of none.";
+ next;
+ mes "[Bruce]";
+ mes "Super Novices can learn most of the 1st job class skills.";
+ mes "If you become a Super Novice, you cannot change your job, which is too bad, but you can grow as a very individual character.";
+ next;
+ break;
+ case 4:
+ mes "[Bruce]";
+ mes "You can job change directly from Novice to a special class which is optimized for a long-distance attack with guns.";
+ next;
+ mes "[Bruce]";
+ mes "Gunslingers use all kinds of guns made in 'Einbroch', the city of steel.";
+ mes "I recommend this for those who want to become powerful sharpshooters.";
+ next;
+ break;
+ case 5:
+ mes "[Bruce]";
+ mes "If you need more information, you can always go to";
+ mes "'iro.ragnarokonline.com'";
+ close;
+ }
+ }
+}
+
+new_1-3,121,41,4 duplicate(NvBruce) Bruce#nv1 57
+new_2-3,121,41,4 duplicate(NvBruce) Bruce#nv2 57
+new_3-3,121,41,4 duplicate(NvBruce) Bruce#nv3 57
+new_4-3,121,41,4 duplicate(NvBruce) Bruce#nv4 57
+new_5-3,121,41,4 duplicate(NvBruce) Bruce#nv5 57
+
+//============================================================================
+// Eden Group Officer (Real Combat Training)
+//============================================================================
+- script Eden Group Officer#nv::NvEdn -1,{
+ if(BaseLevel < 10) {
+ mes "[Eden Group Officer]";
+ mes "Hello, I am a representative of the Eden Group.";
+ mes "We are here to assist adventurers in Rune Midgard.";
+ next;
+ mes "[Eden Group Officer]";
+ mes "We have agents all over the world waiting to send you to our secret headquarters where you can get some useful quests.";
+ next;
+ mes "[Eden Group Officer]";
+ mes "If you take our quests we even give you weapons and equipment so be sure to visit us once you are done with your training.";
+ next;
+ mes "[Eden Group Officer]";
+ mes "Speak to me again once you have reached Base Level 10 and I will send you out of the training grounds.";
+ mes "Have you taken the quests from all of the Guides yet?";
+ close;
+ }else{
+ mes "[Eden Group Officer]";
+ mes "Great! You are ready to take on the challenges of the world.";
+ mes "What would you like to do?";
+ next;
+ switch(select("I want to leave the training grounds:Tell me about the towns.:Cancel")) {
+ case 1:
+ mes "[Eden Group Officer]";
+ mes "Looks like you are ready.";
+ mes "I guess you have made up your mind, huh?";
+ next;
+ mes "[Eden Group Officer]";
+ mes "If you know what job you want to change to, you should ask the ^4A4AFFJob Guides^000000 to send you out of the training grounds.";
+ mes "What town would you like to go to?";
+ next;
+ switch(select("Prontera:Morocc:Payon:Alberta:Geffen:Cancel")) {
+ case 1:
+ mes "[Eden Group Officer]";
+ mes "Prontera, the Capital city of the Rune-Midgarts Kingdom.";
+ mes "Take care and may Freya bless you on your journey.";
+ close2;
+ if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
+ if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
+ if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
+ if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
+ nude;
+ if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
+ if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
+ if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
+ if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
+ if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
+ if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ savepoint "prontera",273,354;
+ warp "prontera",273,354;
+ end;
+ case 2:
+ mes "[Eden Group Officer]";
+ mes "The desert city of Morocc was recently destroyed.";
+ mes "I will send you to the camp where the survivors are.";
+ close2;
+ if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
+ if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
+ if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
+ if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
+ nude;
+ if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
+ if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
+ if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
+ if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
+ if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
+ if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ savepoint "morocc",150,99;
+ warp "moc_ruins",155,44;
+ end;
+ case 3:
+ mes "[Eden Group Officer]";
+ mes "Just north of Payon you'll find the Archer Village.";
+ mes "Good luck on your journeys.";
+ close2;
+ if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
+ if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
+ if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
+ if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
+ nude;
+ if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
+ if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
+ if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
+ if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
+ if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
+ if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ savepoint "payon",70,100;
+ warp "payon",70,100;
+ end;
+ case 4:
+ mes "[Eden Group Officer]";
+ mes "Alberta, the Port City.";
+ mes "It's the main hub of all trades.";
+ mes "If you want to travel to other civilizations, Alberta is the only outlet.";
+ close2;
+ if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
+ if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
+ if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
+ if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
+ nude;
+ if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
+ if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
+ if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
+ if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
+ if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
+ if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ savepoint "alberta",116,57;
+ warp "alberta",116,57;
+ end;
+ case 5:
+ mes "[Eden Group Officer]";
+ mes "Geffen, is known as the Magical City of Rune Midgard.";
+ mes "I will send you near the Fountains.";
+ mes "Goddess Freya bless you.";
+ close2;
+ if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; }
+ if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; }
+ if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; }
+ if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; }
+ nude;
+ if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual
+ if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual
+ if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual
+ if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual
+ if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual
+ if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual
+ savepoint "geffen",120,100;
+ warp "geffen",128,66;
+ end;
+ case 6:
+ mes "[Eden Group Officer]";
+ mes "If you're still not sure what job you want, talk to the Job Guides for more help.";
+ close;
+ }
+ case 2:
+ mes "[Eden Group Officer]";
+ mes "Prontera is the main capital of the Rune-Midgard Kingdom. Here you will find Merchants selling their items and is a favorite gathering point of adventurers.";
+ next;
+ mes "[Eden Group Officer]";
+ mes "The Acolyte Guild is here at the Prontera Church located to the northwest. The Swordman Guild can be found at Izlude, a town just southeast of Prontera.";
+ next;
+ mes "[Eden Group Officer]";
+ mes "Morocc is a city located in the desert that was recently destroyed due to an evil monster named Satan Morroc. The Thief Guild has been working to restore it to it's former glory.";
+ next;
+ mes "[Eden Group Officer]";
+ mes "Payon is where the Archer Guild has made it's home. You can also find the Kafra Shop Employees selling their Item Mall items near the center of this city.";
+ next;
+ mes "[Eden Group Officer]";
+ mes "Alberta is the trading hub of Rune Midgard. The Merchant Guild is located here and the docks have ships that will take you to different island cities.";
+ next;
+ mes "[Eden Group Officer]";
+ mes "Geffen is known as the magical city of Rune Midgard. The Mage Guild is located here and research for new magic is always being conducted at their headquarters.";
+ next;
+ mes "[Eden Group Officer]";
+ mes "If you wish to be sent directly to the Job Guilds, then speak to the Job Guides and tell them that you want to change your job.";
+ close;
+ case 3:
+ close;
+ }
+ }
+
+OnTouch:
+ emotion e_gasp;
+ end;
+}
+
+new_1-3,97,50,4 duplicate(NvEdn) Eden Group Officer#nv1 729,5,5
+new_2-3,97,50,4 duplicate(NvEdn) Eden Group Officer#nv2 729,5,5
+new_3-3,97,50,4 duplicate(NvEdn) Eden Group Officer#nv3 729,5,5
+new_4-3,97,50,4 duplicate(NvEdn) Eden Group Officer#nv4 729,5,5
+new_5-3,97,50,4 duplicate(NvEdn) Eden Group Officer#nv5 729,5,5
+
+//============================================================================
+// Merchant (Real Combat Training)
+//============================================================================
+- shop Merchant#nv::NvPotato 93,516:15
+
+new_1-3,100,50,4 duplicate(NvPotato) Merchant#nv1 93
+new_2-3,100,50,4 duplicate(NvPotato) Merchant#nv2 93
+new_3-3,100,50,4 duplicate(NvPotato) Merchant#nv3 93
+new_4-3,100,50,4 duplicate(NvPotato) Merchant#nv4 93
+new_5-3,100,50,4 duplicate(NvPotato) Merchant#nv5 93
+
+//============================================================================
+// Trainer (Real Combat Training)
+//============================================================================
+- script Level 1 Trainer#nv::NvBrutus 84,{
+ mes "[Trainer Brutus]";
+ mes "These monsters are all weak and easy to kill. But be careful, a lot of them are aggressive and out for blood!";
+ next;
+ mes "[Trainer Brutus]";
+ mes "If you think monsters here are too weak for you, I can send you to another training ground where the monsters are stronger than the ones over here.";
+ next;
+ mes "[Trainer Brutus]";
+ mes "So would you like to try?";
+ next;
+ switch(select("Send me to another Level:What monsters are there?:Cancel")) {
+ case 1:
+ mes "[Trainer Brutus]";
+ mes "I see, then let me guid you to another level. Which level do you want to go to?";
+ next;
+ for(set .@i,1; .@i<=5; set .@i,.@i+1) {
+ if(strnpcinfo(2) == "nv1") {
+ set .@select$,"Send me to Level 2:Send me to Level 3:Send me to Level 4:Send me to Level 5";
+ }
+ if(strnpcinfo(2) == "nv2") {
+ set .@select$,"Send me to Level 1:Send me to Level 3:Send me to Level 4:Send me to Level 5";
+ }
+ if(strnpcinfo(2) == "nv3") {
+ set .@select$,"Send me to Level 1:Send me to Level 2:Send me to Level 4:Send me to Level 5";
+ }
+ if(strnpcinfo(2) == "nv4") {
+ set .@select$,"Send me to Level 1:Send me to Level 2:Send me to Level 3:Send me to Level 5";
+ }
+ if(strnpcinfo(2) == "nv5") {
+ set .@select$,"Send me to Level 1:Send me to Level 2:Send me to Level 3:Send me to Level 4";
+ }
+ }
+ switch(select(""+.@select$+":Cancel")) {
+ case 1:
+ if(strnpcinfo(2) == "nv1") {
+ warp "new_2-3",96,21;
+ }else{
+ warp "new_1-3",96,21;
+ }
+ end;
+ case 2:
+ if(strnpcinfo(2) == "nv1" || strnpcinfo(2) == "nv2") {
+ warp "new_3-3",96,21;
+ }else{
+ warp "new_2-3",96,21;
+ }
+ end;
+ case 3:
+ if(strnpcinfo(2) == "nv4" || strnpcinfo(2) == "nv5") {
+ warp "new_3-3",96,21;
+ }else{
+ warp "new_4-3",96,21;
+ }
+ end;
+ case 4:
+ if(strnpcinfo(2) == "nv5") {
+ warp "new_4-3",96,21;
+ }else{
+ warp "new_5-3",96,21;
+ }
+ end;
+ case 5:
+ close;
+ }
+ case 2:
+ mes "[Trainer Brutus]";
+ mes "You seem eager to fight.";
+ mes "The monster levels increase with each level of the training grounds.";
+ next;
+ mes "[Trainer Brutus]";
+ mes "Level 1 has the weakest monsters.";
+ mes "There you'll find Poring, Drops, Lunatics, Fabres, and Chonchons.";
+ next;
+ mes "[Trainer Brutus]";
+ mes "Level 2 is more challenging.";
+ mes "There you'll find Condors, Pickys, Willows, Fabres, and Roda Frogs.";
+ next;
+ mes "[Trainer Brutus]";
+ mes "Level 3 is pretty much the same as Level 2.";
+ mes "There you'll find Condors, Pickys, Willows, Fabres, and Roda Frogs.";
+ next;
+ mes "[Trainer Brutus]";
+ mes "Level 4 has stronger monsters.";
+ mes "There you'll find Rockers, Spores, and Fabres.";
+ next;
+ mes "[Trainer Brutus]";
+ mes "Level 5 is the same as Level 4.";
+ mes "There you'll find Rockers, Spores, and Fabres.";
+ close;
+ case 3:
+ mes "[Trainer Brutus]";
+ mes "Hmm...?";
+ mes "Are you worried about going to more challenging places? That's understandable, since you're still a new adventurer. Good luck~";
+ close;
+ }
+}
+
+new_1-3,103,50,4 duplicate(NvBrutus) Level 1 Trainer#nv1 84
+new_2-3,103,50,4 duplicate(NvBrutus) Level 2 Trainer#nv2 84
+new_3-3,103,50,4 duplicate(NvBrutus) Level 3 Trainer#nv3 84
+new_4-3,103,50,4 duplicate(NvBrutus) Level 4 Trainer#nv4 84
+new_5-3,103,50,4 duplicate(NvBrutus) Level 5 Trainer#nv5 84
+
+//============================================================================
+// Random Stuff (Guards & Bulletin Board)
+//============================================================================
+new_1-1,66,114,4 script Bulletin Board#nv 111,{
+ mes "^FF0000=================================^000000";
+ mes "^FF0000 ^000000 ^E40CAA[Welcome]^CC0000 to ^FF9000Novice^7FFF00 Training ^00FF00Grounds ^E40CAA[Welcome]^FF0000^000000";
+ mes "^FF0000=================================^000000";
+ close;
+}
+
+new_1-1,144,116,2 script Guard#nv1 105,{
+ mes "[Training Grounds Guard]";
+ mes "Welcome to the Training Grounds.";
+ mes "You are now in the outer court yard. Please go inside the castle to begin your training.";
+ close;
+}
+
+new_1-1,144,107,2 script Guard#nv2 105,{
+ mes "[Training Grounds Guard]";
+ if(rand(2)) {
+ mes "Come in!";
+ mes "I would like o welcome you to the Training Grounds!";
+ next;
+ mes "[Training Grounds Guard]";
+ mes "In here, you can prepare yourself for your future adventures throughout the Ragnarok world!";
+ }
+ else {
+ mes "Go, Novice, go!";
+ mes "Fight, and grow stronger! Look towards a brighter tomorrow!";
+ }
+ close;
+}
+
+new_1-2,161,182,5 script Instructor#nv 92,{
+ mes "[Edwin]";
+ mes "Eh? Why are you still here?";
+ mes "There are no more courses that you need to take.";
+ next;
+ mes "[Edwin]";
+ mes "Well, I will let you out of here.";
+ mes "Go find the instructor, Brade.";
+ close2;
+ warp "new_1-2",100,100;
+ end;
+}
+
+//============================================================================
+// Real Combat Training Mobs
+//============================================================================
+new_1-3,0,0,0,0 monster ChonChon 1011,10,0,0,0
+new_1-3,0,0,0,0 monster Drops 1113,10,0,0,0
+new_1-3,0,0,0,0 monster Fabre 1184,5,0,0,0
+new_1-3,0,0,0,0 monster Lunatic 1063,10,0,0,0
+new_1-3,0,0,0,0 monster Poring 1002,10,0,0,0
+new_2-3,0,0,0,0 monster Condor 1009,10,0,0,0
+new_2-3,0,0,0,0 monster Fabre 1184,5,0,0,0
+new_2-3,0,0,0,0 monster Picky 1050,10,0,0,0
+new_2-3,0,0,0,0 monster Roda Frog 1012,10,0,0,0
+new_2-3,0,0,0,0 monster Willow 1010,10,0,0,0
+new_3-3,0,0,0,0 monster Condor 1009,10,0,0,0
+new_3-3,0,0,0,0 monster Fabre 1184,5,0,0,0
+new_3-3,0,0,0,0 monster Picky 1050,10,0,0,0
+new_3-3,0,0,0,0 monster Roda Frog 1012,10,0,0,0
+new_3-3,0,0,0,0 monster Willow 1010,10,0,0,0
+new_4-3,0,0,0,0 monster Fabre 1184,5,0,0,0
+new_4-3,0,0,0,0 monster Rocker 1052,10,0,0,0
+new_4-3,0,0,0,0 monster Spore 1014,10,0,0,0
+new_4-3,0,0,0,0 monster Thief Bug 1051,10,0,0,0
+new_4-3,0,0,0,0 monster Thief Bug 1053,10,0,0,0
+new_5-3,0,0,0,0 monster Fabre 1184,5,0,0,0
+new_5-3,0,0,0,0 monster Rocker 1052,10,0,0,0
+new_5-3,0,0,0,0 monster Spore 1014,1,0,0,0
+new_5-3,0,0,0,0 monster Thief Bug 1051,1,0,0,0
+new_5-3,0,0,0,0 monster Thief Bug 1053,1,0,0,0
\ No newline at end of file diff --git a/npc/merchants/icecream.txt b/npc/merchants/icecream.txt index ddc5fce03..e6a4deb23 100644 --- a/npc/merchants/icecream.txt +++ b/npc/merchants/icecream.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= KOOK SWU, Kisuka //===== Current Version: ===================================== -//= 1.4 +//= 1.5 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= @@ -13,6 +13,7 @@ //= 1.2 According to the patch, IceCream seller has been removed from Morocc [Lupus] //= 1.3 No more label menu and updated to match AEGIS script. [Kisuka] //= 1.4 Duplicates now spawn from floating NPCs. [L0ne_W0lf] +//= 1.5 Fixed small checkweight issue. [Kisuka] //============================================================ - script Ice Cream Maker::IceCreamer -1,{ @@ -62,7 +63,7 @@ mes "Price is ^3355FF100 Zeny^000000 per ice cream."; close; } - if(checkweight(536,.@amount) == 0) { + if(checkweight(536,.@input) == 0) { mes "[Ice Cream Maker]"; mes "Dear customer,you look like you're carrying a lot."; mes "Ice Cream is fine,"; diff --git a/npc/other/comodo_gambling.txt b/npc/other/comodo_gambling.txt index 155e21031..9f563141f 100644 --- a/npc/other/comodo_gambling.txt +++ b/npc/other/comodo_gambling.txt @@ -21,6 +21,7 @@ //= Added missing emotions and cutins //= 1.1- Updated prizes according to 11.1 NPC [Paradox924X] //= 1.2 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf] +//= 1.3 Added missing item. [Kisuka] //============================================================ comodo,219,160,3 script Kachua 91,{ @@ -169,6 +170,7 @@ comodo,219,160,3 script Kachua 91,{ else if (.@gamble2 == 81) set .@item,1560; // Sage's Diary[2] else if (.@gamble2 == 82) set .@item,1618; // Survivor's Rod[1] else if (.@gamble2 == 83) set .@item,1620; // Survivor's Rod[1] + else if (.@gamble2 > 83 && .@gamble2 < 86) set .@item,1971; // Electric Wire } else if ((.@gamble1 > 0) && (.@gamble1 < 201)) set .@item,1201; // Knife[3] else if ((.@gamble1 > 200) && (.@gamble1 < 301)) set .@item,1101; // Sword[3] diff --git a/npc/quests/skills/rogue_skills.txt b/npc/quests/skills/rogue_skills.txt index 9d417cc1a..6c35b4102 100644 --- a/npc/quests/skills/rogue_skills.txt +++ b/npc/quests/skills/rogue_skills.txt @@ -237,9 +237,9 @@ in_rogue,355,179,0 script Haijara Greg#rogueguild 46,{ mes "[Haijara Greg]"; mes "Hmm... Well, I suppose"; if (Upper == 1) - mes "I can trust a fellow Rogue"; - else mes "I can trust a fellow Stalker"; + else + mes "I can trust a fellow Rogue"; mes "with my predictament. Honor"; mes "among thieves and all that."; mes "Alright. Have you ever heard"; diff --git a/readme.html b/readme.html index 432cdd79d..b133957f6 100644 --- a/readme.html +++ b/readme.html @@ -1,349 +1,40 @@ -<html><head><link rel="stylesheet" type="text/css" href="./readme/readme.css"><title>eAthena - Introduction</title></head> - -<body> -<div id="dleftbg"> -</div> -<div id="drightbg"> -</div> -<div id="canvas" align="center"> -<table cellspacing="0" cellpadding="0" border="0" id="ea" align="center"> - <tr> - <td id="leftborder" valign="top"> - <table cellspacing="0" cellpadding="0" border="0"> - <tr> - <td id="leftborderspacer"> - </td> - </tr> - <tr> - <td valign="top"> - <img src="./readme/images/leftborder.gif"> - </td> - </tr> - </table> - </td> - <td id="middle" valign="top"> - <table cellspacing="0" cellpadding="0" border="0" valign="top"> - <tr> - <td id="logo" valign="top"> - <table class="w800" cellspacing="0" cellpadding="0" border="0"> - <tr> - <td valign="top"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="100%"> - <tr> - <td rowspan="4"> - <img src="./readme/images/chara.gif" width="366" height="274"> - </td> - <td rowspan="4" width="129"> - </td> - <td colspan="2" width="305" height="51" align="right"> - <img src="./readme/images/banner.gif" width="305" height="51"> - </td> - </tr> - <tr> - <td id="title" colspan="2" align="right"> - Introduction - </td> - </tr> - <tr> - <td height="81" colspan="2"> - </td> - </tr> - <tr> - <td class="navi" align="right"> - Introduction<br> - <a href="./readme/changelog.html">Changelog</a><br> - <a href="./readme/features.html">Features</a><br> - <a href="./readme/npcfeatures.html">NPC Features</a> - - </td> - <td class="navi" align="right"> - <a href="./readme/setup.html">Setup</a><br> - <a href="./readme/gmcommands.html">GM Commands</a><br> - <a href="./readme/faq.html">FAQ</a><br> - <a href="./readme/resources.html">Resources</a> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td id="btmborder"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="2"> - <tr> - <td id="leftbtmborder""> - </td> - <td id="midbtmborder""> - <img src="./readme/images/btmborder.gif" width="44" height="2"> - </td> - <td id="rightbtmborder"> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td id="content"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="100%"> - <tr> - <td id="lefttext" valign="top"> -<h1>eAthena SVN series</h1> -eAthena is an open-source Ragnarok Online server emulator. It's written in C, but we are working on a C++ version. Although it is cross-platform, we only officially support Win32 and Linux. -<br> -<br>eAthena is licensed under the GPL, so please give us credit if you use our code. -<br>Our SVN (<a href="http://tortoisesvn.net/downloads.html">You may download TortoiseSVN here to access our SVN</a>) is located at <a href="http://eathena-project.googlecode.com/svn/">http://eathena-project.googlecode.com/svn/</a>. SVN stands for Subversion, which is similar to the commonly used CVS. -<br> -<br>P.S. If you had a hard time loading this readme, please use <a href="http://www.getfirefox.com">Firefox</a>. - - </td> - <td id="midtext"> - </td> - <td id="righttext" valign="top"> -<h1>The eAthena Team</h1> -Here are our current developers. We have had many past developers, and if you come across this, please let us know ^_^.<br> - -<b>Developers</b> -<table class="right"> - <tr> - <td> - Wallex - </td> - <td> - Lupus - </td> - <td> - DracoRPG - </td> - </tr> - <tr> - <td> - MasterOfMuppets - </td> - - <td> - Fredzilla - </td> - <td> - Kayla - </td> - </tr> - <tr> - <td> - Kevin - </td> - <td> - Shinomori - </td> - <td> - Clownphobia(Cuteboi) - </td> - </tr> - <tr> - <td> - LuzZza - </td> - <td> - Evera - </td> - <td> - Nexon - </td> - </tr> - <tr> - <td> - Celest - </td> - <td> - Wizputer - </td> - <td> - Valaris - </td> - </tr> - <tr> - <td> - Lance - </td> - <td> - Komurka - </td> - <td> +<html> + <head> + <title>eAthena | Intro</title> + <link rel="stylesheet" type="text/css" href="./readme/style.css"> + </head> + <body> + <div id="template"> + <div id="header"> + <div class="logo">eAthena<br /><span class="subtitle">- RAGNAROK Online Server Emulator</span></div> + <div class="title">Intro</div> + </div> + <div id="navcontainer"> + <ul id="navlist"> + <li><a href="./readme.html">Intro</a></li> + <li><a href="./readme/setup.html">Setup</a></li> + <li><a href="./readme/faq.html">FAQ</a></li> + <li><a href="./readme/scripting.html">Scripting</a></li> + <li><a href="./readme/commands.html">GM Commands</a></li> + <li><a href="./readme/resources.html">Resources</a></li> + </ul> + </div> + + <div class="body-container"> + <ul> + <li><span class="body-title">What is eAthena?</span><br> + eAthena is a collaborative software development project revolving around the creation of a robust massively multiplayer online role playing game (MMORPG) server package. Written in C, the program is very versatile and provides NPCs, warps and modifications. The project is jointly managed by a group of volunteers located around the world as well as a tremendous community providing QA and support. eAthena is a continuation of the original jAthena project.</li> + </ul> + + <ul> + <li><span class="body-title">Who are the eAthena developers?</span><br> + You can find a list of the currently active eAthena developers at:<br> + <a href="http://code.google.com/p/eathena-project/people/list" target="_new">http://code.google.com/p/eathena-project/people/list</a> + </li> + </ul> + </div> - </td> - </tr> -</table> -<br> -<b>Mods/Admins</b> -<table class="right"> - <tr> - <td> - Massdriller - </td> - <td> - Deviant - </td> - <td> - Delta - </td> - </tr> - <tr> - <td> - Manipulator - </td> - <td> - SantaPoring - </td> - <td> - Davidchak - </td> - </tr> - <tr> - <td> - Valaris - </td><td></td><td></td> - </tr> - <tr> - <td> - </td> - </tr> -</table> -<br> -<b>Ex-Developers and Honorable Mentions</b> -<table class="right"> - <tr> - <td> - RoVeRT - </td> - <td> - AppleGirl - </td> - <td> - Akaru/Hikaru - </td> - </tr> - <tr> - <td> - Darkchild - </td> - <td> - Kalaspuff - </td> - <td> - Ajarn - </td> - </tr> - <tr> - <td> - Fritz - </td> - <td> - Aria - </td> - <td> - Mass Zero - </td> - </tr> - <tr> - <td> - Nana - </td> - <td> - Shinigami - </td> - <td> - Moonsoul - </td> - </tr> - <tr> - <td> - Kobra_k88 - </td> - <td> - Codemaster - </td> - <td> - Davidsiaw - </td> - </tr> - <tr> - <td> - MC_Cameri - </td> - <td> - Spira - </td> - <td> - Lord - </td> - </tr> - <tr> - <td> - Yor - </td> - <td> - Sara-chan - </td> - <td> - Mikage - </td> - </tr> - <tr> - <td> - Ajs15822 - </td> - <td> - Cyberghost - </td> - <td> - Azndragon - </td> - </tr> - <tr> - <td> - Nasedo - </td> - <td> - Sirius - </td> - </tr> -</table> - <br /> - <br /> - </strong> - - </td> - </tr> - <tr> - <td colspan="3"> - © Content Copyright 2005 eAthena Development Team/Evera<br> - © Design Copyright 2005 Evera - </td> - </tr> - </table> - </td> - </tr> - </table> - -</table> - <td id="rightborder" valign="top"> - <table cellspacing="0" cellpadding="0" border="0"> - <tr> - <td id="rightborderspacer"> - </td> - </tr> - <tr> - <td valign="top"> - <img src="./readme/images/rightborder.gif"> - </td> - </tr> - </table> - </td> -</div> - </td> - </tr> - </table> - </td> - - </tr> -</body> -</html> - + <div id="footer">"Read Me" Created & Designed by <a href="http://www.kisuka.com" target="_new">Kisuka</a></div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/readme/changelog.html b/readme/changelog.html deleted file mode 100644 index ced251806..000000000 --- a/readme/changelog.html +++ /dev/null @@ -1,136 +0,0 @@ -<html><head><title>eAthena - Changelog</title><head> - -<link rel="stylesheet" type="text/css" href="./readme.css"> - -<body> -<div id="dleftbg"> -</div> -<div id="drightbg"> -</div> -<div id="canvas" align="center"> -<table cellspacing="0" cellpadding="0" border="0" id="ea" align="center"> - <tr> - <td id="leftborder" valign="top"> - <table cellspacing="0" cellpadding="0" border="0"> - <tr> - <td id="leftborderspacer"> - </td> - </tr> - <tr> - <td valign="top"> - <img src="./images/leftborder.gif"> - </td> - </tr> - </table> - </td> - <td id="middle" valign="top"> - <table cellspacing="0" cellpadding="0" border="0" valign="top"> - <tr> - <td id="logo" valign="top"> - <table class="w800" cellspacing="0" cellpadding="0" border="0"> - <tr> - <td valign="top"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="100%"> - <tr> - <td rowspan="4"> - <img src="./images/chara.gif" width="366" height="274"> - </td> - <td rowspan="4" width="129"> - </td> - <td colspan="2" width="305" height="51" align="right"> - <img src="./images/banner.gif" width="305" height="51"> - </td> - </tr> - <tr> - <td id="title" colspan="2" align="right"> - Changelog - </td> - </tr> - <tr> - <td height="81" colspan="2"> - </td> - </tr> - <tr> - <td class="navi" align="right"> - <a href="../readme.html">Introduction</a><br> - Changelog<br> - <a href="./features.html">Features</a><br> - <a href="./npcfeatures.html">NPC Features</a> - - </td> - <td class="navi" align="right"> - <a href="./setup.html">Setup</a><br> - <a href="./gmcommands.html">GM Commands</a><br> - <a href="./faq.html">FAQ</a><br> - <a href="./resources.html">Resources</a> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td id="btmborder"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="2"> - <tr> - <td id="leftbtmborder""> - </td> - <td id="midbtmborder""> - <img src="./images/btmborder.gif" width="44" height="2"> - </td> - <td id="rightbtmborder"> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td id="content"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="100%"> - <tr> - <td id="lefttext" valign="top"> -<h1>Changelog</h1> -This is our current changelog. Please note this isn't our <i>complete</i> changelog. -<br> - - - </td> - <td id="midtext"> - </td> - <td id="righttext" valign="top"> - <iframe src="../Changelog-Trunk.txt" name="Changelog" title="eAthena SVN Changelog" marginwidth="10" marginheight="10" frameborder="0" height="500" width="100%"></iframe> - - </td> - </tr> - <tr> - <td colspan="3"> - © Content Copyright 2005 eAthena Development Team/Evera<br> - © Design Copyright 2005 Evera - </td> - </tr> - </table> - </td> - </tr> - </table> - </td> - </tr> - </table> - </td> - <td id="rightborder" valign="top"> - <table cellspacing="0" cellpadding="0" border="0"> - <tr> - <td id="rightborderspacer"> - </td> - </tr> - <tr> - <td valign="top"> - <img src="./images/rightborder.gif"> - </td> - </tr> - </table> - </td> - - </tr> - -</table> -</div> - diff --git a/readme/commands.html b/readme/commands.html new file mode 100644 index 000000000..35d8bcf68 --- /dev/null +++ b/readme/commands.html @@ -0,0 +1,32 @@ +<html>
+ <head>
+ <title>eAthena | GM Commands</title>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ </head>
+ <body>
+ <div id="template">
+ <div id="header">
+ <div class="logo">eAthena<br /><span class="subtitle">- RAGNAROK Online Server Emulator</span></div>
+ <div class="title">GM Commands</div>
+ </div>
+ <div id="navcontainer">
+ <ul id="navlist">
+ <li><a href="../readme.html">Intro</a></li>
+ <li><a href="setup.html">Setup</a></li>
+ <li><a href="faq.html">FAQ</a></li>
+ <li><a href="scripting.html">Scripting</a></li>
+ <li><a href="commands.html">GM Commands</a></li>
+ <li><a href="resources.html">Resources</a></li>
+ </ul>
+ </div>
+
+ <div class="body-container">
+ The following are the GM Commands which can be used in-game on an eAthena server.<br /><br />
+ <iframe width="100%" height="35%" src="../conf/help.txt"></iframe><br /><br />
+ <iframe width="100%" height="35%" src="../conf/help2.txt"></iframe>
+ </div>
+
+ <div id="footer">"Read Me" Created & Designed by <a href="http://www.kisuka.com" target="_new">Kisuka</a></div>
+ </div>
+ </body>
+</html>
\ No newline at end of file diff --git a/readme/faq-content.html b/readme/faq-content.html new file mode 100644 index 000000000..9b12c674c --- /dev/null +++ b/readme/faq-content.html @@ -0,0 +1,33 @@ +<html>
+<body>
+<ul>
+ <li><strong>Where can I set the exp rates?</strong><br />
+ - Go to /conf/battle/exp.conf<br />
+ - Find base_exp_rate and job_exp_rate. Change the value there to raise or lower the rates.<br />
+ - 100 = 1x, 1000 = 10x rates, etc<br />
+ <br />
+ </li>
+ <li><strong>Where can I set the item drop rates?</strong><br />
+ - Go to /conf/battle/drops.conf<br />
+ - You can set the drop rates by changing the values:<br />
+ item_rate_common: 100 <-- 100 = 1x drop rate, 1000 = 10x drop rate, etc<br />
+ item_rate_common_boss: 100 <--- drop rate for bosses<br />
+ item_drop_common_min: 1 <--- minimal drop rate<br />
+ item_drop_common_max: 10000 <--- maximum drop rate.<br />
+ (You can set the rates of different items in the same file)<br />
+ <br />
+ </li>
+ <li><strong>I found a bug, where to I report it?</strong><br />
+ If you find a bug in eAthena, report it here: <a href="http://www.eathena.ws/board/index.php?autocom=bugtracker" target="_blank">Bug Tracker</a><br />
+ <br />
+ </li>
+ <li><strong>I'm a well-experienced programmer, can I join the eAthena dev team?</strong><br />
+ Contact <a href="http://www.eathena.ws/board/index.php?showuser=121372" target="_blank">Paradox924X</a><br />
+ <br />
+ </li>
+ <li><strong>My character won't move, and no windows open when I login to the game, what's wrong?</strong><br />
+ Your packet_db_ver is most likely set wrong, change it in /db/packet_db.txt to match your client's packet ver.
+ </li>
+</ul>
+</body>
+</html>
\ No newline at end of file diff --git a/readme/faq.html b/readme/faq.html index 0f533fd76..0c5619830 100644 --- a/readme/faq.html +++ b/readme/faq.html @@ -1,151 +1,31 @@ -<html><head><title>eAthena - FAQ</title><head> - -<link rel="stylesheet" type="text/css" href="./readme.css"> - -<body> -<div id="dleftbg"> -</div> -<div id="drightbg"> -</div> -<div id="canvas" align="center"> -<table cellspacing="0" cellpadding="0" border="0" id="ea" align="center"> - <tr> - <td id="leftborder" valign="top"> - <table cellspacing="0" cellpadding="0" border="0"> - <tr> - <td id="leftborderspacer"> - </td> - </tr> - <tr> - <td valign="top"> - <img src="./images/leftborder.gif"> - </td> - </tr> - </table> - </td> - <td id="middle" valign="top"> - <table cellspacing="0" cellpadding="0" border="0" valign="top"> - <tr> - <td id="logo" valign="top"> - <table class="w800" cellspacing="0" cellpadding="0" border="0"> - <tr> - <td valign="top"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="100%"> - <tr> - <td rowspan="4"> - <img src="./images/chara.gif" width="366" height="274"> - </td> - <td rowspan="4" width="129"> - </td> - <td colspan="2" width="305" height="51" align="right"> - <img src="./images/banner.gif" width="305" height="51"> - </td> - </tr> - <tr> - <td id="title" colspan="2" align="right"> - FAQ - </td> - </tr> - <tr> - <td height="81" colspan="2"> - </td> - </tr> - <tr> - <td class="navi" align="right"> - <a href="../readme.html">Introduction</a><br> - <a href="./changelog.html">Changelog</a><br> - <a href="./features.html">Features</a><br> - <a href="./npcfeatures.html">NPC Features</a> - - </td> - <td class="navi" align="right"> - <a href="./setup.html">Setup</a><br> - <a href="./gmcommands.html">GM Commands</a><br> - FAQ<br> - <a href="./resources.html">Resources</a> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td id="btmborder"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="2"> - <tr> - <td id="leftbtmborder""> - </td> - <td id="midbtmborder""> - <img src="./images/btmborder.gif" width="44" height="2"> - </td> - <td id="rightbtmborder"> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td id="content"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="100%"> - <tr> - <td id="lefttext" valign="top"> -<h1>FAQ</h1> -<b>Q: I get the error message "This application has failed to start because cygwin1.dll was not found. Re-installing the application may fix this problem."</b><br> - A: You're missing the cygwin dlls. Please get the latest dll at: http://www.cygwin.com/snapshot. If you're unsure, asking around in our IRC chatroom will get you around too, but always remember - use common sense and search before asking.<br><br> -<b>Q: My map-server won't load! It appears to be loading things before it dissapeared suddenly! HELP!</b><br> - A: Use command line to load map-server. It should tell you the error. If you're missing a map, update your kRO Sakray or comment the map from map_athena.conf. If you have an errornous NPC, fix it or comment it off. Anything other than that, feel free to ask around<br><br> -<b>Q: My map-server failed to load 'adata.grf'! Where do I find this adata.grf? My map-server won't load without it!</b><br> - A: The error that caused the map-server to not load is not the adata.grf. adata.grf is NOT a requirement for the map-server to load. The error is probably related to something else.<br><br> - </td> - <td id="midtext"> - </td> - <td id="righttext" valign="top"> -<b>Q: All 3 of the servers are loaded, but I am still having problems accessing it! What do I do?</b><br> - A: First, check the IPs in map_athena.conf and char_athena.conf. If those are correct, check the ports to make sure they match. If that's correct too, you probably cannot handle the server load. Lower the monster spawning rate using mob_count in battle_athena.conf and it should be fine.<br><br> -<b>Q: How do I start Guild Wars/War of Emperium??? HELP!!!</b><br> - A: Read the GM Command page for full list of commands that GMs can use, including the command for this.<br><br> -<b>Q: My Ragnarok Online crashed while playing with eAthena! What do I do now?</b><br> - A: Well, if your Ragnarok crashes, it's most probably not anything to do with eAthena. Something is wrong with your Ragnarok installation. Try reinstalling or updating.<br><br> -<b>Q: Is eAthena compatible with mySQL? Can I use mySQL as the DB instead of using text files?</b><br> - A: Yes, eAthena is compatible with mySQL. A tutorial on how to setup this is coming soon.<br><br> -<b>Q: Is eAthena compatible with msSQL? Can I use msSQL as the DB instead of using text files?</b><br> - A: No, eAthena is not compatible with msSQL. You cannot use msSQL with eAthena.<br><br> -<b>Q: I found a bug! Where do I report it?</b><br> - A: Drop the developers a line at the IRC chatroom. Or just post it in the bug report forum. We check them out too. :)<br><br> -<b>Q: I know alot of C and I'm able to help improve eAthena and add new features. How can I join your development team?</b><br> - A: Try talking to one of the current developers in the eAthena channel. - - </td> - </tr> - <tr> - <td colspan="3"> - © Content Copyright 2005 eAthena Development Team/Evera<br> - © Design Copyright 2005 Evera - </td> - </tr> - </table> - </td> - </tr> - </table> - </td> - </tr> - </table> - </td> - <td id="rightborder" valign="top"> - <table cellspacing="0" cellpadding="0" border="0"> - <tr> - <td id="rightborderspacer"> - </td> - </tr> - <tr> - <td valign="top"> - <img src="./images/rightborder.gif"> - </td> - </tr> - </table> - </td> - - </tr> - -</table> -</div> - +<html> + <head> + <title>eAthena | FAQ</title> + <link rel="stylesheet" type="text/css" href="style.css"> + </head> + <body> + <div id="template"> + <div id="header"> + <div class="logo">eAthena<br /><span class="subtitle">- RAGNAROK Online Server Emulator</span></div> + <div class="title">FAQ</div> + </div> + <div id="navcontainer"> + <ul id="navlist"> + <li><a href="../readme.html">Intro</a></li> + <li><a href="setup.html">Setup</a></li> + <li><a href="faq.html">FAQ</a></li> + <li><a href="scripting.html">Scripting</a></li> + <li><a href="commands.html">GM Commands</a></li> + <li><a href="resources.html">Resources</a></li> + </ul> + </div> + + <div class="body-container"> + The following are frequently asked questions regarding eAthena.<br /><br /> + <iframe width="100%" height="75%" src="faq-content.html"></iframe><br /> + </div> + + <div id="footer">"Read Me" Created & Designed by <a href="http://www.kisuka.com" target="_new">Kisuka</a></div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/readme/features.html b/readme/features.html deleted file mode 100644 index 99b183c79..000000000 --- a/readme/features.html +++ /dev/null @@ -1,159 +0,0 @@ -<html><head><title>eAthena - Features</title><head> - -<link rel="stylesheet" type="text/css" href="./readme.css"> - -<body> -<div id="dleftbg"> -</div> -<div id="drightbg"> -</div> -<div id="canvas" align="center"> -<table cellspacing="0" cellpadding="0" border="0" id="ea" align="center"> - <tr> - <td id="leftborder" valign="top"> - <table cellspacing="0" cellpadding="0" border="0"> - <tr> - <td id="leftborderspacer"> - </td> - </tr> - <tr> - <td valign="top"> - <img src="./images/leftborder.gif"> - </td> - </tr> - </table> - </td> - <td id="middle" valign="top"> - <table cellspacing="0" cellpadding="0" border="0" valign="top"> - <tr> - <td id="logo" valign="top"> - <table class="w800" cellspacing="0" cellpadding="0" border="0"> - <tr> - <td valign="top"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="100%"> - <tr> - <td rowspan="4"> - <img src="./images/chara.gif" width="366" height="274"> - </td> - <td rowspan="4" width="129"> - </td> - <td colspan="2" width="305" height="51" align="right"> - <img src="./images/banner.gif" width="305" height="51"> - </td> - </tr> - <tr> - <td id="title" colspan="2" align="right"> - Features - </td> - </tr> - <tr> - <td height="81" colspan="2"> - </td> - </tr> - <tr> - <td class="navi" align="right"> - <a href="../readme.html">Introduction</a><br> - <a href="./changelog.html">Changelog</a><br> - Features<br> - <a href="./npcfeatures.html">NPC Features</a> - - </td> - <td class="navi" align="right"> - <a href="./setup.html">Setup</a><br> - <a href="./gmcommands.html">GM Commands</a><br> - <a href="./faq.html">FAQ</a><br> - <a href="./resources.html">Resources</a> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td id="btmborder"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="2"> - <tr> - <td id="leftbtmborder""> - </td> - <td id="midbtmborder""> - <img src="./images/btmborder.gif" width="44" height="2"> - </td> - <td id="rightbtmborder"> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td id="content"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="100%"> - <tr> - <td id="lefttext" valign="top"> -<h1>Features</h1> -eAthena tries to keep up with kRO (Korean Ragnarok Online, an official server) in terms of features. Many of the features we have -are re-coded versions of official onces. We also have many eAthena exclusive features, such as various NPC commands. We also -have all of the RO server emu goodies, like open-source modification and custom sprites/items. We are currently on <i>feature-lock</i>, -so we will focus mainly on stability for the time being, not new features. - - - </td> - <td id="midtext"> - </td> - <td id="righttext" valign="top"> -<ul> - <li>PVP (Player Vs. Player)</li> - <li>Adoption System</li> - <li>Dynamic monster spawning system</li> - <li>GVG (Guild Vs. Guild)</li> - <li>qPets (Cute Pets)</li> - <li>Monster Skills</li> - <li>2-2 Jobs (Alternate 2nd Jobs)</li> - <li>Super Novice (Alternate 1st Job)</li> - <li>WoE (War of Emperium)</li> - <li>Weddings</li> - <li>Pet equipped mobs</li> - <li>Management of day/night</li> - <li>Mob Disguises</li> - <li>Weather and other special effects</li> - <li>"Rebirth/Transcendent" Classes</li> - <li>Room for custom sprites/items</li> - <li>Open source, allowing for your own personal modifications</li> - <li>Two different storage systems, TXT and SQL</li> - <li>Stability</li> - <li>Many other various features</li> -</ul> - - </td> - </tr> - <tr> - <td colspan="3"> - © Content Copyright 2005 eAthena Development Team/Evera<br> - © Design Copyright 2005 Evera - </td> - </tr> - </table> - </td> - </tr> - </table> - </td> - </tr> - </table> - </td> - <td id="rightborder" valign="top"> - <table cellspacing="0" cellpadding="0" border="0"> - <tr> - <td id="rightborderspacer"> - </td> - </tr> - <tr> - <td valign="top"> - <img src="./images/rightborder.gif"> - </td> - </tr> - </table> - </td> - - </tr> - -</table> -</div> - diff --git a/readme/gmcommands.html b/readme/gmcommands.html deleted file mode 100644 index 255240d00..000000000 --- a/readme/gmcommands.html +++ /dev/null @@ -1,139 +0,0 @@ -<html><head><title>eAthena - GM Commands</title><head> - -<link rel="stylesheet" type="text/css" href="./readme.css"> - -<body> -<div id="dleftbg"> -</div> -<div id="drightbg"> -</div> -<div id="canvas" align="center"> -<table cellspacing="0" cellpadding="0" border="0" id="ea" align="center"> - <tr> - <td id="leftborder" valign="top"> - <table cellspacing="0" cellpadding="0" border="0"> - <tr> - <td id="leftborderspacer"> - </td> - </tr> - <tr> - <td valign="top"> - <img src="./images/leftborder.gif"> - </td> - </tr> - </table> - </td> - <td id="middle" valign="top"> - <table cellspacing="0" cellpadding="0" border="0" valign="top"> - <tr> - <td id="logo" valign="top"> - <table class="w800" cellspacing="0" cellpadding="0" border="0"> - <tr> - <td valign="top"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="100%"> - <tr> - <td rowspan="4"> - <img src="./images/chara.gif" width="366" height="274"> - </td> - <td rowspan="4" width="129"> - </td> - <td colspan="2" width="305" height="51" align="right"> - <img src="./images/banner.gif" width="305" height="51"> - </td> - </tr> - <tr> - <td id="title" colspan="2" align="right"> - GM Commands - </td> - </tr> - <tr> - <td height="81" colspan="2"> - </td> - </tr> - <tr> - <td class="navi" align="right"> - <a href="../readme.html">Introduction</a><br> - <a href="./changelog.html">Changelog</a><br> - <a href="./features.html">Features</a><br> - <a href="./npcfeatures.html">NPC Features</a> - - </td> - <td class="navi" align="right"> - <a href="./setup.html">Setup</a><br> - GM Commands<br> - <a href="./faq.html">FAQ</a><br> - <a href="./resources.html">Resources</a> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td id="btmborder"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="2"> - <tr> - <td id="leftbtmborder""> - </td> - <td id="midbtmborder""> - <img src="./images/btmborder.gif" width="44" height="2"> - </td> - <td id="rightbtmborder"> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td id="content"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="100%"> - <tr> - <td id="lefttext" valign="top"> -<h1>GM Commands</h1> -A GM, or Game Master, on eAthena has access to certain codes to administer the server. A GM is appointed by the server owner, and can not -be gained normally through the game. These commands start with the @ symbol, a well-recognized sign of an Athena server. Many of our current -commands are broken and don't work properly. - </td> - <td id="midtext"> - </td> - <td id="righttext" valign="top"> -<iframe src="../conf/help.txt" name="Help" title="eAthena Gm Commands" marginwidth="10" marginheight="10" frameborder="0" height="500" width="100%"></iframe> - - - - - - </td> - </tr> - <tr> - <td colspan="3"> - © Content Copyright 2005 eAthena Development Team/Evera<br> - © Design Copyright 2005 Evera - </td> - </tr> - </table> - </td> - </tr> - </table> - </td> - </tr> - </table> - </td> - <td id="rightborder" valign="top"> - <table cellspacing="0" cellpadding="0" border="0"> - <tr> - <td id="rightborderspacer"> - </td> - </tr> - <tr> - <td valign="top"> - <img src="./images/rightborder.gif"> - </td> - </tr> - </table> - </td> - - </tr> - -</table> -</div> - diff --git a/readme/images/banner.gif b/readme/images/banner.gif Binary files differdeleted file mode 100644 index b11ea7dd9..000000000 --- a/readme/images/banner.gif +++ /dev/null diff --git a/readme/images/bg.gif b/readme/images/bg.gif Binary files differindex 20b046176..6c8c92c3b 100644 --- a/readme/images/bg.gif +++ b/readme/images/bg.gif diff --git a/readme/images/btmborder.gif b/readme/images/btmborder.gif Binary files differdeleted file mode 100644 index 116e49bb3..000000000 --- a/readme/images/btmborder.gif +++ /dev/null diff --git a/readme/images/btmborderbg.gif b/readme/images/btmborderbg.gif Binary files differdeleted file mode 100644 index 82a27195f..000000000 --- a/readme/images/btmborderbg.gif +++ /dev/null diff --git a/readme/images/chara.gif b/readme/images/chara.gif Binary files differdeleted file mode 100644 index 13b118a7a..000000000 --- a/readme/images/chara.gif +++ /dev/null diff --git a/readme/images/clown.png b/readme/images/clown.png Binary files differnew file mode 100644 index 000000000..55de4ba60 --- /dev/null +++ b/readme/images/clown.png diff --git a/readme/images/leftbg.gif b/readme/images/leftbg.gif Binary files differdeleted file mode 100644 index 0d4322919..000000000 --- a/readme/images/leftbg.gif +++ /dev/null diff --git a/readme/images/leftborder.gif b/readme/images/leftborder.gif Binary files differdeleted file mode 100644 index c139a9a5f..000000000 --- a/readme/images/leftborder.gif +++ /dev/null diff --git a/readme/images/logo.gif b/readme/images/logo.gif Binary files differdeleted file mode 100644 index 4f01126ec..000000000 --- a/readme/images/logo.gif +++ /dev/null diff --git a/readme/images/logobtm.gif b/readme/images/logobtm.gif Binary files differdeleted file mode 100644 index a80f6bc67..000000000 --- a/readme/images/logobtm.gif +++ /dev/null diff --git a/readme/images/rightbg.gif b/readme/images/rightbg.gif Binary files differdeleted file mode 100644 index bd5825593..000000000 --- a/readme/images/rightbg.gif +++ /dev/null diff --git a/readme/images/rightborder.gif b/readme/images/rightborder.gif Binary files differdeleted file mode 100644 index 88e27d304..000000000 --- a/readme/images/rightborder.gif +++ /dev/null diff --git a/readme/images/textbg.gif b/readme/images/textbg.gif Binary files differdeleted file mode 100644 index a092b75c1..000000000 --- a/readme/images/textbg.gif +++ /dev/null diff --git a/readme/npcfeatures.html b/readme/npcfeatures.html deleted file mode 100644 index 67b816b87..000000000 --- a/readme/npcfeatures.html +++ /dev/null @@ -1,262 +0,0 @@ -<html><head><title>eAthena - NPC Features</title><head> - -<link rel="stylesheet" type="text/css" href="./readme.css"> - -<body> -<div id="dleftbg"> -</div> -<div id="drightbg"> -</div> -<div id="canvas" align="center"> -<table cellspacing="0" cellpadding="0" border="0" id="ea" align="center"> - <tr> - <td id="leftborder" valign="top"> - <table cellspacing="0" cellpadding="0" border="0"> - <tr> - <td id="leftborderspacer"> - </td> - </tr> - <tr> - <td valign="top"> - <img src="./images/leftborder.gif"> - </td> - </tr> - </table> - </td> - <td id="middle" valign="top"> - <table cellspacing="0" cellpadding="0" border="0" valign="top"> - <tr> - <td id="logo" valign="top"> - <table class="w800" cellspacing="0" cellpadding="0" border="0"> - <tr> - <td valign="top"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="100%"> - <tr> - <td rowspan="4"> - <img src="./images/chara.gif" width="366" height="274"> - </td> - <td rowspan="4" width="129"> - </td> - <td colspan="2" width="305" height="51" align="right"> - <img src="./images/banner.gif" width="305" height="51"> - </td> - </tr> - <tr> - <td id="title" colspan="2" align="right"> - NPC Features - </td> - </tr> - <tr> - <td height="81" colspan="2"> - </td> - </tr> - <tr> - <td class="navi" align="right"> - <a href="../readme.html">Introduction</a><br> - <a href="./changelog.html">Changelog</a><br> - <a href="./features.html">Features</a><br> - NPC Features - - </td> - <td class="navi" align="right"> - <a href="./setup.html">Setup</a><br> - <a href="./gmcommands.html">GM Commands</a><br> - <a href="./faq.html">FAQ</a><br> - <a href="./resources.html">Resources</a> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td id="btmborder"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="2"> - <tr> - <td id="leftbtmborder""> - </td> - <td id="midbtmborder""> - <img src="./images/btmborder.gif" width="44" height="2"> - </td> - <td id="rightbtmborder"> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td id="content"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="100%"> - <tr> - <td id="lefttext" valign="top"> -<h1>NPC Features</h1> -One of the best aspects of eAthena is the NPC system. As a base, we have most of the official kRO NPC scripts, and if they are in -iRO, we have their correct translations. You can put any of your custom NPCs on top of these, using our extremely easy-to-learn -scripting language. We also have a wide variety of custom NPCs available in /npc/custom/ and for download in the forums to -maximize your players' experiences. - - - </td> - <td id="midtext"> - </td> - <td id="righttext" valign="top"> - <ul> - <li><strong>Town Npcs</strong> (11/17)</li> - <ul><li> Alberta - 100%</li></ul> - <ul><li> Al de Baran - 100%</li></ul> - <ul><li> Amatsu - 100%</li></ul> - <ul><li> Ayothaya - 75%</li></ul> - <ul><li> Comodo - 100%</li></ul> - <ul><li> Einbech - 90%</li></ul> - <ul><li> Einbroch - 75%</li></ul> - <ul><li> Geffen - 100%</li></ul> - <ul><li> Gonryun - 60%</li></ul> - <ul><li> Izlude - 100%</li></ul> - <ul><li> Louyang - 75%</li></ul> - <ul><li> Lutie - 100%</li></ul> - <ul><li> Morocc - 100%</li></ul> - <ul><li> Niflheim - 100%</li></ul> - <ul><li> Payon(New Maps) - 99%</li></ul> - <ul><li> Prontera - 100%</li></ul> - <ul><li> Umbala - 100%</li></ul> - - <li><strong>Job Quests</strong> (16/33)</li> - <ul><li> Novice Class (2/2)</li></ul> - <ul><ul><li> Novice - 100%</li></ul></ul> - <ul><ul><li> Super Novice - 100%</li></ul></ul> - <ul><li> 1-1 Class (6/6)</li></ul> - <ul><ul><li> Swordman - 100%</li></ul></ul> - <ul><ul><li> Mage - 100%</li></ul></ul> - - - <ul><ul><li> Archer - 100%</li></ul></ul> - - <ul><ul><li> Acolyte - 100%</li></ul></ul> - <ul><ul><li> Merchant - 100%</li></ul></ul> - <ul><ul><li> Thief - 100%</li></ul></ul> - <ul><li> 2-1 Class (6/6)</li></ul> - <ul><ul><li> Knight - 100%</li></ul></ul> - - <ul><ul><li> Priest - 100%</li></ul></ul> - <ul><ul><li> Wizard - 100%</li></ul></ul> - - <ul><ul><li> Blacksmith - 100%</li></ul></ul> - <ul><ul><li> Hunter - 100%</li></ul></ul> - - <ul><ul><li> Assassin - 100%</li></ul></ul> - - <ul><li> 2-2 Class (2/7)</li></ul> - <ul><ul><li> Crusader - 0%</li></ul></ul> - <ul><ul><li> Monk - 0% (Soon)</li></ul></ul> - <ul><ul><li> Sage - 0% (Soon)</li></ul></ul> - <ul><ul><li> Rogue - 100%</li></ul></ul> - - <ul><ul><li> Alchemist - 100%</li></ul></ul> - - <ul><ul><li> Bard - 0%</li></ul></ul> - <ul><ul><li> Dancer - 100%</li></ul></ul> - - <ul><li> 2-1-1 Class (0/6)</li></ul> - <ul><li> 2-2-1 Class (0/6)</li></ul> - <li><strong>Kafras</strong> - 100%</li> - - <li><strong>Guides</strong> - 100%</li> - - <li> <strong>War Of Emperium</strong> (4/5)</li> - <ul><li> Prontera - 100%</li></ul> - <ul><li> Geffen - 100%</li></ul> - - <ul><li> Payon - 100%</li></ul> - <ul><li> Al De Baran - 100%</li></ul> - - <ul><li> Novice - 0%</li></ul> - <li><strong>Quests</strong> (24/25)</li> - - <ul><li> Skill Quests (7/7)</li></ul> - - <ul><ul><li> Novice - 100%</li></ul></ul> - <ul><ul><li> Swordman - 100%</li></ul></ul> - <ul><ul><li> Mage - 100%</li></ul></ul> - <ul><ul><li> Archer - 100%</li></ul></ul> - <ul><ul><li> Acolyte - 100%</li></ul></ul> - <ul><ul><li> Merchant - 100%</li></ul></ul> - - <ul><ul><li> Thief - 100%</li></ul></ul> - - <ul><li>Town Quests (9/10)</li></ul> - <ul><ul><li> Prontera - 100%</li></ul></ul> - <ul><ul><li> Morocc - 100%</li></ul></ul> - <ul><ul><li> Geffen - 100%</li></ul></ul> - - <ul><ul><li> Izlude - 100%</li></ul></ul> - <ul><ul><li> Alberta - 100%</li></ul></ul> - <ul><ul><li> Al De Baran - 100%</li></ul></ul> - <ul><ul><li> Yuno - 100%</li></ul></ul> - - <ul><ul><li> Lutie - 100%</li></ul></ul> - <ul><ul><li> Comodo - 100%</li></ul></ul> - - <ul><ul><li> Payon - 20%</li></ul></ul> - <ul><li>Other Quests (9/9)</li></ul> - <ul><ul><li> Dye - 100%</li></ul></ul> - <ul><ul><li> MrSmile - 100%</li></ul></ul> - <ul><ul><li> Juice Making - 100%</li></ul></ul> - <ul><ul><li> Doomed Swords - 100%</li></ul></ul> - - <ul><ul><li> Bongun Taming - 100%</li></ul></ul> - - <ul><ul><li> Munak Taming - 100%</li></ul></ul> - <ul><ul><li> Tamking - 100%</li></ul></ul> - <ul><ul><li> Bongun Sword - 100%</li></ul></ul> - <ul><ul><li> The lvl 4 Weapon Quest - 100%</li></ul></ul> - <ul><li>Other (7/10)</li></ul> - <ul><ul><li> Card Remover - 100%</li></ul></ul> - - <ul><ul><li> PvP (old) - 100%</li></ul></ul> - <ul><ul><li> Time Arena - 100%</li></ul></ul> - <ul><ul><li> Bank - 100%</li></ul></ul> - - <ul><ul><li> Wedding - 80%</li></ul></ul> - - <ul><ul><li> Valkyrie - 10%</li></ul></ul> - - <ul><ul><li> Gefenia - 10%</li></ul></ul> - <ul><ul><li> Heal Npc - 100%</li></ul></ul> - <ul><ul><li> Warp Npc - 100%</li></ul></ul> - <ul><ul><li> Jobchange - 100%</li></ul></ul> - </ul> - - </td> - </tr> - <tr> - <td colspan="3"> - © Content Copyright 2005 eAthena Development Team/Evera<br> - © Design Copyright 2005 Evera - </td> - </tr> - </table> - </td> - </tr> - </table> - </td> - </tr> - </table> - </td> - <td id="rightborder" valign="top"> - <table cellspacing="0" cellpadding="0" border="0"> - <tr> - <td id="rightborderspacer"> - </td> - </tr> - <tr> - <td valign="top"> - <img src="./images/rightborder.gif"> - </td> - </tr> - </table> - </td> - - </tr> - -</table> -</div> - diff --git a/readme/readme.css b/readme/readme.css deleted file mode 100644 index 63742c60c..000000000 --- a/readme/readme.css +++ /dev/null @@ -1,227 +0,0 @@ -/* Go away, Troll */ - -A, -A:link, -A:visited, -A:active, -A:hover { - -color: #000; - -text-decoration: underline; - -background-color : inherit; - -} - - -html { - - margin: 0px; - - padding: 0px; - -} - -body { - - background: url(./images/bg.gif); - - margin: 0px 0px 0px 0px; - - padding: 0px 0px 0px 0px; - - font: 14px Arial, arial; - - color: #000; - -} - -h1 { - - width : 100%; - - height : 40px; - - text-align : bottom; - - font : 30px Arial Black, arial black, helvetica, sans-serif; - -} - -.w800 { - - width: 800px; - -} - -#dleftbg, -#drightbg { - - position: absolute; - - width: 50%; - - overflow: hidden; - - height: 69px; - - z-index: 0; - -} - -#dleftbg { - - top: 66px; - - left: 0px; - - background: url(./images/leftbg.gif); - -} - -#drightbg { - - top: 105px; - - right: 0px; - - background: url(./images/rightbg.gif); - -} - -#canvas { - - position: absolute; - - z-index: 1; - - width: 100%; - - height: 100%; - -} - -#ea { - - height: 100%; - -} - - -#leftborderspacer, -#leftbgspacer { - - height: 66px; - -} - -#rightborderspacer { - - height: 106px; - -} - - -#leftborder, -#rightborder { - - background: #000; - - width: 1px; - -} - -.vspacer { - - - -} - -#middle { - - background: url(./images/textbg.gif); - - width: 800px; - - height: 100%; - -} - -#logo { - - background: url(./images/logo.gif) no-repeat top left; - - height: 100%; - -} - -#title { - - font : 30px Arial Black, arial black, helvetica, sans-serif; - - height: 54px; - -} - -.navi { - - font : 14px Arial Black, arial black, helvetica, sans-serif; - - height: 88px; - -} - -#btmborder { - - background: url(./images/btmborderbg.gif); - - height: 2px; - -} - -.left, -#lefttext, -#leftbtmborder { - - width: 327px; - -} - -#midtext, -#midbtmborder { - - width: 44px; - -} - -.right, -#righttext, -#rightbtmborder { - - width: 429px; - -} - -#content { - - height: 100px; - -} - -#lefttext, -#righttext { - - background: url(./images/textbg.gif); - - height: 100%; - -} - -#midtext { - - background: url(./images/logobtm.gif); - - height: 100%; - -}
\ No newline at end of file diff --git a/readme/resources.html b/readme/resources.html index 7a3f71ee3..87947b80d 100644 --- a/readme/resources.html +++ b/readme/resources.html @@ -1,150 +1,67 @@ -<html><head><title>eAthena - Resources</title><head> - -<link rel="stylesheet" type="text/css" href="./readme.css"> - -<body> -<div id="dleftbg"> -</div> -<div id="drightbg"> -</div> -<div id="canvas" align="center"> -<table cellspacing="0" cellpadding="0" border="0" id="ea" align="center"> - <tr> - <td id="leftborder" valign="top"> - <table cellspacing="0" cellpadding="0" border="0"> - <tr> - <td id="leftborderspacer"> - </td> - </tr> - <tr> - <td valign="top"> - <img src="./images/leftborder.gif"> - </td> - </tr> - </table> - </td> - <td id="middle" valign="top"> - <table cellspacing="0" cellpadding="0" border="0" valign="top"> - <tr> - <td id="logo" valign="top"> - <table class="w800" cellspacing="0" cellpadding="0" border="0"> - <tr> - <td valign="top"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="100%"> - <tr> - <td rowspan="4"> - <img src="./images/chara.gif" width="366" height="274"> - </td> - <td rowspan="4" width="129"> - </td> - <td colspan="2" width="305" height="51" align="right"> - <img src="./images/banner.gif" width="305" height="51"> - </td> - </tr> - <tr> - <td id="title" colspan="2" align="right"> - Resources - </td> - </tr> - <tr> - <td height="81" colspan="2"> - </td> - </tr> - <tr> - <td class="navi" align="right"> - <a href="../readme.html">Introduction</a><br> - <a href="./changelog.html">Changelog</a><br> - <a href="./features.html">Features</a><br> - <a href="./npcfeatures.html">NPC Features</a> - - </td> - <td class="navi" align="right"> - <a href="./setup.html">Setup</a><br> - <a href="./gmcommands.html">GM Commands</a><br> - <a href="./faq.html">FAQ</a><br> - Resources - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td id="btmborder"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="2"> - <tr> - <td id="leftbtmborder""> - </td> - <td id="midbtmborder""> - <img src="./images/btmborder.gif" width="44" height="2"> - </td> - <td id="rightbtmborder"> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td id="content"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="100%"> - <tr> - <td id="lefttext" valign="top"> -<h1>Official Sources</h1> -<b><a href="http://www.eathena.ws">http://www.eathena.ws</a></b> - Our Official Webpage.<br> -<b><a href="http://forum.asb-sakray.net">http://forum.asb-sakray.net</a></b> - Aegis Support Board.<br> -Please take note, you are adviced to search in the forums -first before requesting for help to be made toward you.<br> -<br> -<b>IRC Channel:</b><br> - -<b><a href="irc://irc.deltaanime.net">irc.deltaanime.net</a></b> - #athena (Please make sure to check both forums before coming into - the channel to ask questions, or else we will not only ignore you, - but laugh at you too.) - </td> - <td id="midtext"> - </td> - <td id="righttext" valign="top"> -<h1>Other Sources</h1> -<b><a href="http://kalen.s79.xrea.com/npc/">http://kalen.s79.xrea.com/npc/</a></b> - NPC Factory (Lists NPC/number)<br> -<br> -If you want your site to be featured here, please tell a dev ^_^. - - - </td> - </tr> - <tr> - <td colspan="3"> - © Content Copyright 2005 eAthena Development Team/Evera<br> - © Design Copyright 2005 Evera - </td> - </tr> - </table> - </td> - </tr> - </table> - </td> - </tr> - </table> - </td> - <td id="rightborder" valign="top"> - <table cellspacing="0" cellpadding="0" border="0"> - <tr> - <td id="rightborderspacer"> - </td> - </tr> - <tr> - <td valign="top"> - <img src="./images/rightborder.gif"> - </td> - </tr> - </table> - </td> - - </tr> - -</table> -</div> - +<html> + <head> + <title>eAthena | Resources</title> + <link rel="stylesheet" type="text/css" href="style.css"> + </head> + <body> + <div id="template"> + <div id="header"> + <div class="logo">eAthena<br /><span class="subtitle">- RAGNAROK Online Server Emulator</span></div> + <div class="title">Resources</div> + </div> + <div id="navcontainer"> + <ul id="navlist"> + <li><a href="../readme.html">Intro</a></li> + <li><a href="setup.html">Setup</a></li> + <li><a href="faq.html">FAQ</a></li> + <li><a href="scripting.html">Scripting</a></li> + <li><a href="commands.html">GM Commands</a></li> + <li><a href="resources.html">Resources</a></li> + </ul> + </div> + + <div class="body-container"> + The following are some links to various resources which can be helpful when using eAthena.<br /> + <ul> + <li><a href="http://www.eathena.ws/" target="_new">http://www.eathena.ws/</a><br> + The official eAthena project website. + </li><br> + + <li><a href="http://eathena-project.googlecode.com/svn/" target="_new"> + http://eathena-project.googlecode.com/svn/</a><br> + The official SVN of the eAthena project.</li><br> + + <li><a href="irc://irc.deltaanime.net/#athena" target="_new">irc://irc.deltaanime.net/#athena</a><br> + The official eAthena IRC Channel.</li><br> + + <li><a href="http://forum.asb-sakray.net/" target="_new">http://forum.asb-sakray.net/</a><br> + The official AEGIS Support Board.</li><br> + + <li><a href="http://www.ragnarokonline.com/" target="_new"> + http://www.ragnarokonline.com/</a><br> + The official Ragnarok Online website. + </li><br> + + <li><a href="http://nn.nachtwolke.com/dev/npclist/" target="_new"> + http://nn.nachtwolke.com/dev/npclist/</a><br> + List of Ragnarok Online NPC sprite names and IDs. + </li><br> + + <li><a href="../doc/script_commands.txt" target="_new">Script Commands</a><br> + Documentation of the script commands available in eAthena. + </li><br> + + <li><a href="../doc/effect_list.txt" target="_new">Effect List</a><br> + Documentation of the visual effects available in eAthena. + </li><br> + + <li><a href="../doc/item_bonus.txt" target="_new">Item Bonuses</a><br> + Documentation of the item bonuses available in eAthena. + </li><br> + </ul> + </div> + + <div id="footer">"Read Me" Created & Designed by <a href="http://www.kisuka.com" target="_new">Kisuka</a></div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/readme/scripting.html b/readme/scripting.html new file mode 100644 index 000000000..e01894e65 --- /dev/null +++ b/readme/scripting.html @@ -0,0 +1,69 @@ +<html>
+ <head>
+ <title>eAthena | Scripting</title>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ </head>
+<body>
+ <div id="template">
+ <div id="header">
+ <div class="logo">eAthena<br /><span class="subtitle">- RAGNAROK Online Server Emulator</span></div>
+ <div class="title">Scripting</div>
+ </div>
+ <div id="navcontainer">
+ <ul id="navlist">
+ <li><a href="../readme.html">Intro</a></li>
+ <li><a href="setup.html">Setup</a></li>
+ <li><a href="faq.html">FAQ</a></li>
+ <li><a href="scripting.html">Scripting</a></li>
+ <li><a href="commands.html">GM Commands</a></li>
+ <li><a href="resources.html">Resources</a></li>
+ </ul>
+ </div>
+
+ <div class="body-container">
+ <p>
+ How to create an NPC using eAthena's scripting:<br /><br />
+ <font color="#0000FF">map_name</font>,<font color="#009900">x_cord</font>,<font color="#0CF305">y_cord</font>,<font color="#FF0000">npc_facing_direction</font> <strong>-TAB-</strong> script <strong>-TAB-</strong> <font color="#FF6600">NPC Name</font>#<font color="#FFCC00">HiddenName</font> <strong>-TAB-</strong> <font color="#CC3399">Sprite ID</font>,{<br />
+ mes "[NPC Name]";<br>
+ mes "Hello World";<br>
+ close;<br>
+ }
+ </p>
+ <p>
+ <strong>Common Script Commands:</strong>
+ <ul>
+ <li><strong>mes</strong><br>
+ usage: mes "<message>";<br>
+ info: displays a line of text in an NPC's dialog window.</li>
+ <li><strong>close</strong><br>
+ usage: close;<br>
+ info: displays a "Close" button in an NPC's dialog window.
+ </li>
+ <li><strong>next</strong><br>
+ usage: next;<br>
+ info: displays a "Next" button in an NPC's dialog window.</li>
+ <li><strong>getitem</strong><br>
+ usage: getitem <item id>,<amount>;<br>
+ info: gives the player an item.
+ </li>
+ <li><strong>delitem</strong><br>
+ usage: delitem <item id>,<amount>;<br>
+ info: deletes an item from the player.
+ </li>
+ </ul>
+ <p><strong>Script Command Documentation:</strong><br>
+
+ All the script commands in eAthena can be found <a href="../doc/script_commands.txt" target="_new">here</a>.</p>
+ <p><strong>How to enable your NPC:</strong><br>
+ 1. Save it as a text file in your /npc/custom/ folder.<br>
+ 2. Open /npc/scripts_custom.conf<br>
+ 3. Add the following line:<br>
+ <em>npc: npc/custom/name_of_your_text_file.txt</em><br>
+ 4. Save and close.</p>
+ </p>
+ </div>
+
+ <div id="footer">"Read Me" Created & Designed by <a href="http://www.kisuka.com" target="_new">Kisuka</a></div>
+ </div>
+ </body>
+</html>
\ No newline at end of file diff --git a/readme/setup.html b/readme/setup.html index c4463ef89..7f91852b8 100644 --- a/readme/setup.html +++ b/readme/setup.html @@ -1,144 +1,62 @@ -<html><head><title>eAthena - Setup</title><head> - -<link rel="stylesheet" type="text/css" href="./readme.css"> - -<body> -<div id="dleftbg"> -</div> -<div id="drightbg"> -</div> -<div id="canvas" align="center"> -<table cellspacing="0" cellpadding="0" border="0" id="ea" align="center"> - <tr> - <td id="leftborder" valign="top"> - <table cellspacing="0" cellpadding="0" border="0"> - <tr> - <td id="leftborderspacer"> - </td> - </tr> - <tr> - <td valign="top"> - <img src="./images/leftborder.gif"> - </td> - </tr> - </table> - </td> - <td id="middle" valign="top"> - <table cellspacing="0" cellpadding="0" border="0" valign="top"> - <tr> - <td id="logo" valign="top"> - <table class="w800" cellspacing="0" cellpadding="0" border="0"> - <tr> - <td valign="top"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="100%"> - <tr> - <td rowspan="4"> - <img src="./images/chara.gif" width="366" height="274"> - </td> - <td rowspan="4" width="129"> - </td> - <td colspan="2" width="305" height="51" align="right"> - <img src="./images/banner.gif" width="305" height="51"> - </td> - </tr> - <tr> - <td id="title" colspan="2" align="right"> - Setup - </td> - </tr> - <tr> - <td height="81" colspan="2"> - </td> - </tr> - <tr> - <td class="navi" align="right"> - <a href="../readme.html">Introduction</a><br> - <a href="./changelog.html">Changelog</a><br> - <a href="./features.html">Features</a><br> - <a href="./npcfeatures.html">NPC Features</a> - - </td> - <td class="navi" align="right"> - Setup<br> - <a href="./gmcommands.html">GM Commands</a><br> - <a href="./faq.html">FAQ</a><br> - <a href="./resources.html">Resources</a> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td id="btmborder"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="2"> - <tr> - <td id="leftbtmborder""> - </td> - <td id="midbtmborder""> - <img src="./images/btmborder.gif" width="44" height="2"> - </td> - <td id="rightbtmborder"> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td id="content"> - <table class="w800" cellspacing="0" cellpadding="0" border="0" height="100%"> - <tr> - <td id="lefttext" valign="top"> -<h1>Fresh Install</h1> -It's extremely easy to set up eAthena, just follow these simple steps. -<ol> - <li>Edit motd.txt, grf-files.txt and the .conf files in your /conf/ folder as you see fit</li> - <li>If you want to add a user, edit save/account.txt in the main eAthena directory before starting the server.</li> - <li>Run runserver.bat or runserver-sql.bat (depending on which storage system you're using, or you could run login-server.exe, char-server.exe, and map-server.exe manually)</li> - <li>Give people your IP address (can be found at <a href="http://www.whatismyip.com">http://www.whatismyip.com</a>) to people to add in their sclientinfo.xml</li> - <li>You're done!</li> - </td> - <td id="midtext"> - </td> - <td id="righttext" valign="top"> -<h1>Upgrading</h1> -When you're changing versions of eAthena, it is important to keep your saved files in tact. Locate the files (/save/ in TXT, your SQL databse in SQL) and make a back up. -You also might want to back up any changes you did to eAthena, such as custom sprites/items, open-source changes. -After backing it up, change motd.txt, grf-files.txt, and the .conf files in the /conf/ folder to your old settings. It is -important that you use a fresh eAthena, as it changes in structure and many files will have different formats over time. -Put your backed up files back in, and run eAthena like you normally would. - - </td> - </tr> - <tr> - <td colspan="3"> - © Content Copyright 2005 eAthena Development Team/Evera<br> - © Design Copyright 2005 Evera - </td> - </tr> - </table> - </td> - </tr> - </table> - </td> - </tr> - </table> - </td> - <td id="rightborder" valign="top"> - <table cellspacing="0" cellpadding="0" border="0"> - <tr> - <td id="rightborderspacer"> - </td> - </tr> - <tr> - <td valign="top"> - <img src="./images/rightborder.gif"> - </td> - </tr> - </table> - </td> - - </tr> - -</table> -</div> - +<html> + <head> + <title>eAthena | Setup</title> + <link rel="stylesheet" type="text/css" href="style.css"> + </head> + <body> + <div id="template"> + <div id="header"> + <div class="logo">eAthena<br /><span class="subtitle">- RAGNAROK Online Server Emulator</span></div> + <div class="title">Setup</div> + </div> + <div id="navcontainer"> + <ul id="navlist"> + <li><a href="../readme.html">Intro</a></li> + <li><a href="setup.html">Setup</a></li> + <li><a href="faq.html">FAQ</a></li> + <li><a href="scripting.html">Scripting</a></li> + <li><a href="commands.html">GM Commands</a></li> + <li><a href="resources.html">Resources</a></li> + </ul> + </div> + + <div class="body-container"> + <strong>Character Server:<br></strong> + <ol> + <li>Open /conf/char_athena.conf</li> + <li>Change userid and passwd (s1/p1) to what you want your server's communication details to be.</li> + <li>Change Server_Name to what you want to call your server.</li> + <li>Remove the <strong>//</strong> before login_ip. + <li>Remove the <strong>//</strong> before char_ip and change 127.0.0.1 to your <a href="http://www.whatismyip.com" target="_new">WAN IP</a>. + </ol> + + <strong>Map Server:<br></strong> + <ol> + <li>Open /conf/map_athena.conf</li> + <li>Change userid and passwd to the same thing you set in char_athena.</li> + <li>Remove the <strong>//</strong> before char_ip.</li> + <li>Remove the <strong>//</strong> before map_ip and change 127.0.0.1 to your <a href="http://www.whatismyip.com" target="_new">WAN IP</a>. + </ol> + + <strong>Subnet:<br></strong> + <ol> + <li>Open /conf/subnet_athena.conf</li> + <li>Change 255.0.0.0 to your <strong>"Subnet Mask"</strong>, change the two 127.0.0.1 to your <strong>LAN IP</strong>. + </ol> + + <strong>MySQL Settings:<br></strong> + <ol> + <li>Open /conf/inter_athena.conf</li> + <li>Find the "Global SQL Settings" and change them to your SQL server's settings.</li> + </ol> + + <strong>Message of the Day:<br></strong> + <ol> + <li>Open /conf/motd.txt and edit it to change the in-game MOTD.</li> + </ol> + </div> + + <div id="footer">"Read Me" Created & Designed by <a href="http://www.kisuka.com" target="_new">Kisuka</a></div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/readme/style.css b/readme/style.css new file mode 100644 index 000000000..7a7a3732a --- /dev/null +++ b/readme/style.css @@ -0,0 +1,80 @@ +/* Created by Kisuka */
+/* www.kisuka.com */
+html, body {
+ height: 100%;
+ margin: 0;
+ background-image:url(images/bg.gif);
+}
+body {
+ width: 900px;
+ height: 100%;
+ border-left:thin solid #000;
+ border-right:thin solid #000;
+ margin-left:auto;
+ margin-right:auto;
+ background:#FFF url(images/clown.png) no-repeat fixed right bottom;
+}
+#template { position:relative; min-height:100%; }
+* html #template { height: 100%; }
+#header {
+ height: 60px;
+ border-bottom:thin solid #000;
+}
+.logo {
+ float:left;
+ padding-left:25px;
+ font-size:x-large;
+}
+.title {
+ float:right;
+ padding-right:25px;
+ font-size:xx-large;
+ padding-top:10px;
+}
+.body-title {
+ font-size:x-large;
+}
+.subtitle {
+ font-size:14px;
+ padding-left:10px;
+ font-style:italic;
+}
+.body-container {
+ padding-left:30px;
+ padding-right:30px;
+}
+#navcontainer ul {
+padding-left: 0;
+margin-left: 0;
+margin-top:0;
+background-color: #000;
+color: White;
+float: left;
+width: 100%;
+font-family: arial, helvetica, sans-serif;
+}
+#navcontainer ul li { display: inline; }
+#navcontainer ul li a {
+ padding: 0.2em 1em;
+ background-color: #000;
+ color: White;
+ text-decoration: none;
+ float: left;
+ border-right: 1px solid #fff;
+}
+#navcontainer ul li a:hover {
+ background-color: #666;
+ color: #fff;
+}
+#footer {
+ background-color: #000;
+ width: 100%;
+ color: White;
+ position:absolute;
+ bottom:0;
+ text-align:center;
+ border-top: 1px solid #fff;
+}
+#footer a {
+ color: White;
+}
\ No newline at end of file |