summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKisuka <Kisuka@54d463be-8e91-2dee-dedb-b68131a5f0ec>2011-02-19 00:09:56 +0000
committerKisuka <Kisuka@54d463be-8e91-2dee-dedb-b68131a5f0ec>2011-02-19 00:09:56 +0000
commit6a3dd115ac3d67fcf09646a829acbfa7768e2fa5 (patch)
tree3267bc22dde60572ce41ddc26e2174de33a8049f
parentf1a6d574ac8217f9fcdf6efc92e71ee1b451310d (diff)
downloadhercules-6a3dd115ac3d67fcf09646a829acbfa7768e2fa5.tar.gz
hercules-6a3dd115ac3d67fcf09646a829acbfa7768e2fa5.tar.bz2
hercules-6a3dd115ac3d67fcf09646a829acbfa7768e2fa5.tar.xz
hercules-6a3dd115ac3d67fcf09646a829acbfa7768e2fa5.zip
- Fixed typo on rogue_skills.txt (bugreport:4768)
- Fixed issue on icecream.txt (bugreport:4752) - Added missing prize on comodo_gambling.txt (bugreport:4748) - Rescripted the iRO event scripts. - Updated the Read Me. - Added 2009 Novice Training Grounds. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14711 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--db/item_db.txt12
-rw-r--r--db/item_trade.txt8
-rw-r--r--db/quest_db.txt12
-rw-r--r--npc/events/MemorialDay_2008.txt230
-rw-r--r--npc/events/StPatrick_2008.txt180
-rw-r--r--npc/events/christmas_2008.txt650
-rw-r--r--npc/events/halloween_2008.txt73
-rw-r--r--npc/events/valentinesday_2009.txt362
-rw-r--r--npc/jobs/novice/novice_new.txt2299
-rw-r--r--npc/merchants/icecream.txt5
-rw-r--r--npc/other/comodo_gambling.txt2
-rw-r--r--npc/quests/skills/rogue_skills.txt4
-rw-r--r--readme.html387
-rw-r--r--readme/changelog.html136
-rw-r--r--readme/commands.html32
-rw-r--r--readme/faq-content.html33
-rw-r--r--readme/faq.html182
-rw-r--r--readme/features.html159
-rw-r--r--readme/gmcommands.html139
-rw-r--r--readme/images/banner.gifbin27814 -> 0 bytes
-rw-r--r--readme/images/bg.gifbin1402 -> 3121 bytes
-rw-r--r--readme/images/btmborder.gifbin755 -> 0 bytes
-rw-r--r--readme/images/btmborderbg.gifbin567 -> 0 bytes
-rw-r--r--readme/images/chara.gifbin213372 -> 0 bytes
-rw-r--r--readme/images/clown.pngbin0 -> 590954 bytes
-rw-r--r--readme/images/leftbg.gifbin1260 -> 0 bytes
-rw-r--r--readme/images/leftborder.gifbin729 -> 0 bytes
-rw-r--r--readme/images/logo.gifbin26250 -> 0 bytes
-rw-r--r--readme/images/logobtm.gifbin912 -> 0 bytes
-rw-r--r--readme/images/rightbg.gifbin1253 -> 0 bytes
-rw-r--r--readme/images/rightborder.gifbin730 -> 0 bytes
-rw-r--r--readme/images/textbg.gifbin617 -> 0 bytes
-rw-r--r--readme/npcfeatures.html262
-rw-r--r--readme/readme.css227
-rw-r--r--readme/resources.html217
-rw-r--r--readme/scripting.html69
-rw-r--r--readme/setup.html206
-rw-r--r--readme/style.css80
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">
- &copy; Content Copyright 2005 eAthena Development Team/Evera<br>
- &copy; 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">
- &copy; Content Copyright 2005 eAthena Development Team/Evera<br>
- &copy; 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 &lt;-- 100 = 1x drop rate, 1000 = 10x drop rate, etc<br />
+ item_rate_common_boss: 100 &lt;--- drop rate for bosses<br />
+ item_drop_common_min: 1 &lt;--- minimal drop rate<br />
+ item_drop_common_max: 10000 &lt;--- 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">
- &copy; Content Copyright 2005 eAthena Development Team/Evera<br>
- &copy; 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">
- &copy; Content Copyright 2005 eAthena Development Team/Evera<br>
- &copy; 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">
- &copy; Content Copyright 2005 eAthena Development Team/Evera<br>
- &copy; 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
deleted file mode 100644
index b11ea7dd9..000000000
--- a/readme/images/banner.gif
+++ /dev/null
Binary files differ
diff --git a/readme/images/bg.gif b/readme/images/bg.gif
index 20b046176..6c8c92c3b 100644
--- a/readme/images/bg.gif
+++ b/readme/images/bg.gif
Binary files differ
diff --git a/readme/images/btmborder.gif b/readme/images/btmborder.gif
deleted file mode 100644
index 116e49bb3..000000000
--- a/readme/images/btmborder.gif
+++ /dev/null
Binary files differ
diff --git a/readme/images/btmborderbg.gif b/readme/images/btmborderbg.gif
deleted file mode 100644
index 82a27195f..000000000
--- a/readme/images/btmborderbg.gif
+++ /dev/null
Binary files differ
diff --git a/readme/images/chara.gif b/readme/images/chara.gif
deleted file mode 100644
index 13b118a7a..000000000
--- a/readme/images/chara.gif
+++ /dev/null
Binary files differ
diff --git a/readme/images/clown.png b/readme/images/clown.png
new file mode 100644
index 000000000..55de4ba60
--- /dev/null
+++ b/readme/images/clown.png
Binary files differ
diff --git a/readme/images/leftbg.gif b/readme/images/leftbg.gif
deleted file mode 100644
index 0d4322919..000000000
--- a/readme/images/leftbg.gif
+++ /dev/null
Binary files differ
diff --git a/readme/images/leftborder.gif b/readme/images/leftborder.gif
deleted file mode 100644
index c139a9a5f..000000000
--- a/readme/images/leftborder.gif
+++ /dev/null
Binary files differ
diff --git a/readme/images/logo.gif b/readme/images/logo.gif
deleted file mode 100644
index 4f01126ec..000000000
--- a/readme/images/logo.gif
+++ /dev/null
Binary files differ
diff --git a/readme/images/logobtm.gif b/readme/images/logobtm.gif
deleted file mode 100644
index a80f6bc67..000000000
--- a/readme/images/logobtm.gif
+++ /dev/null
Binary files differ
diff --git a/readme/images/rightbg.gif b/readme/images/rightbg.gif
deleted file mode 100644
index bd5825593..000000000
--- a/readme/images/rightbg.gif
+++ /dev/null
Binary files differ
diff --git a/readme/images/rightborder.gif b/readme/images/rightborder.gif
deleted file mode 100644
index 88e27d304..000000000
--- a/readme/images/rightborder.gif
+++ /dev/null
Binary files differ
diff --git a/readme/images/textbg.gif b/readme/images/textbg.gif
deleted file mode 100644
index a092b75c1..000000000
--- a/readme/images/textbg.gif
+++ /dev/null
Binary files differ
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>&nbsp;Alberta - 100%</li></ul>
- <ul><li>&nbsp;Al de Baran - 100%</li></ul>
- <ul><li>&nbsp;Amatsu - 100%</li></ul>
- <ul><li>&nbsp;Ayothaya - 75%</li></ul>
- <ul><li>&nbsp;Comodo - 100%</li></ul>
- <ul><li>&nbsp;Einbech - 90%</li></ul>
- <ul><li>&nbsp;Einbroch - 75%</li></ul>
- <ul><li>&nbsp;Geffen - 100%</li></ul>
- <ul><li>&nbsp;Gonryun - 60%</li></ul>
- <ul><li>&nbsp;Izlude - 100%</li></ul>
- <ul><li>&nbsp;Louyang - 75%</li></ul>
- <ul><li>&nbsp;Lutie - 100%</li></ul>
- <ul><li>&nbsp;Morocc - 100%</li></ul>
- <ul><li>&nbsp;Niflheim - 100%</li></ul>
- <ul><li>&nbsp;Payon(New Maps) - 99%</li></ul>
- <ul><li>&nbsp;Prontera - 100%</li></ul>
- <ul><li>&nbsp;Umbala - 100%</li></ul>
-
- <li><strong>Job Quests</strong> (16/33)</li>
- <ul><li>&nbsp;Novice Class (2/2)</li></ul>
- <ul><ul><li>&nbsp;Novice - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Super Novice - 100%</li></ul></ul>
- <ul><li>&nbsp;1-1 Class (6/6)</li></ul>
- <ul><ul><li>&nbsp;Swordman - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Mage - 100%</li></ul></ul>
-
-
- <ul><ul><li>&nbsp;Archer - 100%</li></ul></ul>
-
- <ul><ul><li>&nbsp;Acolyte - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Merchant - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Thief - 100%</li></ul></ul>
- <ul><li>&nbsp;2-1 Class (6/6)</li></ul>
- <ul><ul><li>&nbsp;Knight - 100%</li></ul></ul>
-
- <ul><ul><li>&nbsp;Priest - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Wizard - 100%</li></ul></ul>
-
- <ul><ul><li>&nbsp;Blacksmith - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Hunter - 100%</li></ul></ul>
-
- <ul><ul><li>&nbsp;Assassin - 100%</li></ul></ul>
-
- <ul><li>&nbsp;2-2 Class (2/7)</li></ul>
- <ul><ul><li>&nbsp;Crusader - 0%</li></ul></ul>
- <ul><ul><li>&nbsp;Monk - 0% (Soon)</li></ul></ul>
- <ul><ul><li>&nbsp;Sage - 0% (Soon)</li></ul></ul>
- <ul><ul><li>&nbsp;Rogue - 100%</li></ul></ul>
-
- <ul><ul><li>&nbsp;Alchemist - 100%</li></ul></ul>
-
- <ul><ul><li>&nbsp;Bard - 0%</li></ul></ul>
- <ul><ul><li>&nbsp;Dancer - 100%</li></ul></ul>
-
- <ul><li>&nbsp;2-1-1 Class (0/6)</li></ul>
- <ul><li>&nbsp;2-2-1 Class (0/6)</li></ul>
- <li><strong>Kafras</strong> - 100%</li>
-
- <li><strong>Guides</strong> - 100%</li>
-
- <li>&nbsp;<strong>War Of Emperium</strong> (4/5)</li>
- <ul><li>&nbsp;Prontera - 100%</li></ul>
- <ul><li>&nbsp;Geffen - 100%</li></ul>
-
- <ul><li>&nbsp;Payon - 100%</li></ul>
- <ul><li>&nbsp;Al De Baran - 100%</li></ul>
-
- <ul><li>&nbsp;Novice - 0%</li></ul>
- <li><strong>Quests</strong> (24/25)</li>
-
- <ul><li>&nbsp;Skill Quests (7/7)</li></ul>
-
- <ul><ul><li>&nbsp;Novice - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Swordman - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Mage - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Archer - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Acolyte - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Merchant - 100%</li></ul></ul>
-
- <ul><ul><li>&nbsp;Thief - 100%</li></ul></ul>
-
- <ul><li>Town Quests (9/10)</li></ul>
- <ul><ul><li>&nbsp;Prontera - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Morocc - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Geffen - 100%</li></ul></ul>
-
- <ul><ul><li>&nbsp;Izlude - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Alberta - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Al De Baran - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Yuno - 100%</li></ul></ul>
-
- <ul><ul><li>&nbsp;Lutie - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Comodo - 100%</li></ul></ul>
-
- <ul><ul><li>&nbsp;Payon - 20%</li></ul></ul>
- <ul><li>Other Quests (9/9)</li></ul>
- <ul><ul><li>&nbsp;Dye - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;MrSmile - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Juice Making - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Doomed Swords - 100%</li></ul></ul>
-
- <ul><ul><li>&nbsp;Bongun Taming - 100%</li></ul></ul>
-
- <ul><ul><li>&nbsp;Munak Taming - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Tamking - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Bongun Sword - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;The lvl 4 Weapon Quest - 100%</li></ul></ul>
- <ul><li>Other (7/10)</li></ul>
- <ul><ul><li>&nbsp;Card Remover - 100%</li></ul></ul>
-
- <ul><ul><li>&nbsp;PvP (old) - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Time Arena - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Bank - 100%</li></ul></ul>
-
- <ul><ul><li>&nbsp;Wedding - 80%</li></ul></ul>
-
- <ul><ul><li>&nbsp;Valkyrie - 10%</li></ul></ul>
-
- <ul><ul><li>&nbsp;Gefenia - 10%</li></ul></ul>
- <ul><ul><li>&nbsp;Heal Npc - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Warp Npc - 100%</li></ul></ul>
- <ul><ul><li>&nbsp;Jobchange - 100%</li></ul></ul>
- </ul>
-
- </td>
- </tr>
- <tr>
- <td colspan="3">
- &copy; Content Copyright 2005 eAthena Development Team/Evera<br>
- &copy; 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">
- &copy; Content Copyright 2005 eAthena Development Team/Evera<br>
- &copy; 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 />
+ &nbsp;&nbsp;&nbsp;mes "[NPC Name]";<br>
+ &nbsp;&nbsp;&nbsp;mes "Hello World";<br>
+ &nbsp;&nbsp;&nbsp;close;<br>
+ }
+ </p>
+ <p>
+ <strong>Common Script Commands:</strong>
+ <ul>
+ <li><strong>mes</strong><br>
+ usage: mes &quot;&lt;message&gt;&quot;;<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 &quot;Close&quot; button in an NPC's dialog window.
+ </li>
+ <li><strong>next</strong><br>
+ usage: next;<br>
+ info: displays a &quot;Next&quot; button in an NPC's dialog window.</li>
+ <li><strong>getitem</strong><br>
+ usage: getitem &lt;item id&gt;,&lt;amount&gt;;<br>
+ info: gives the player an item.
+ </li>
+ <li><strong>delitem</strong><br>
+ usage: delitem &lt;item id&gt;,&lt;amount&gt;;<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">
- &copy; Content Copyright 2005 eAthena Development Team/Evera<br>
- &copy; 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