diff --git a/db/pre-re/skill_castnodex_db.txt b/db/pre-re/skill_castnodex_db.txt index 66b7723869..3c5e9166ea 100644 --- a/db/pre-re/skill_castnodex_db.txt +++ b/db/pre-re/skill_castnodex_db.txt @@ -35,9 +35,11 @@ 498,1 //AM_TWILIGHT3 512,3 //GS_TRACKING 1014,1 //PR_REDEMPTIO + 2534,7,7 //RETURN_TO_ELDICASTES 2536,7,7 //ALL_GUARDIAN_RECALL -//2537,0,7 //ALL_ODINS_POWER +2537,0,7 //ALL_ODINS_POWER + 10010,3 //GD_BATTLEORDER 10011,3 //GD_REGENERATION 10012,6 //GD_RESTORE diff --git a/db/pre-re/skill_db.txt b/db/pre-re/skill_db.txt index a17fa1e9bc..8bcb5e57df 100644 --- a/db/pre-re/skill_db.txt +++ b/db/pre-re/skill_db.txt @@ -1013,11 +1013,11 @@ 2498,11,6,1,0,0,0,1,1,no,0,0,0,weapon,0, GN_SLINGITEM_RANGEMELEEATK,Sling Item Attack // Episode 13.3 -//2533,0,0,4,0,0x1,0,1,0,no,0,0,0,none,0, ALL_ODINS_RECALL,Odin's Recall +2533,0,6,4,0,0x1,0,1,1,yes,0,0,0,none,0, ALL_ODINS_RECALL,Odin's Recall 2534,0,0,4,0,0x1,0,1,0,no,0,0,0,none,0, RETURN_TO_ELDICASTES,Return To Eldicastes 2535,0,0,4,0,0x1,0,1,0,no,0,0x1,0,none,0, ALL_BUYING_STORE,Open Buying Store 2536,0,0,4,0,0x1,0,1,0,no,0,0,0,none,0, ALL_GUARDIAN_RECALL,Guardian's Recall -//2537,9,6,16,0,0x1,0,2,1,yes,0,0,0,magic,0, ALL_ODINS_POWER,Odin's Power +2537,9,6,16,0,0x1,0,2,1,yes,0,0,0,none,0, ALL_ODINS_POWER,Odin's Power //2538,0,0,0,0,0,0,??,0,no,0,0,0,none,0, BEER_BOTTLE_CAP,Beer Bottle Cap //2539,0,0,0,0,0,0,??,0,no,0,0,0,none,0, NPC_ASSASSINCROSS,Assassin Cross of Sunset 2 //2540,0,0,0,0,0,0,??,0,no,0,0,0,none,0, NPC_DISSONANCE,Dissonance 2 diff --git a/db/pre-re/skill_require_db.txt b/db/pre-re/skill_require_db.txt index 1e870b5c3b..a0a5e7dd94 100644 --- a/db/pre-re/skill_require_db.txt +++ b/db/pre-re/skill_require_db.txt @@ -779,11 +779,11 @@ 2497,0,0,12,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GN_S_PHARMACY#Special Pharmacy# 2498,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GN_SLINGITEM_RANGEMELEEATK#Sling Item Attack# -//2533,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_ODINS_RECALL#Odin's Recall# +2533,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_ODINS_RECALL#Odin's Recall# 2534,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RETURN_TO_ELDICASTES#Return To Eldicastes# 2535,0,0,1,0,0,0,99,0,0,none,0,6377,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store 2536,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_GUARDIAN_RECALL#Guardian's Recall# -//2537,0,0,70:100,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_ODINS_POWER#Odin's Power# +2537,0,0,70:100,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_ODINS_POWER#Odin's Power# //2538,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //BEER_BOTTLE_CAP#Beer Bottle Cap# diff --git a/db/quest_db.txt b/db/quest_db.txt index 075a617357..1cac0ca481 100644 --- a/db/quest_db.txt +++ b/db/quest_db.txt @@ -65,6 +65,24 @@ 1191,0,0,0,0,0,0,0,"Get Rid of Bakonawa" 1192,0,0,0,0,0,0,0,"Get Rid of Bakonawa" 1193,0,0,0,0,0,0,0,"Get Rid of Bakonawa" + +// Find Professor Worm's Memory +1214,0,0,0,0,0,0,0,"Getting back Professor Worm's memory" +1215,0,0,0,0,0,0,0,"Getting back Professor Worm's memory" +1216,0,0,0,0,0,0,0,"Getting back Professor Worm's memory" +1217,0,0,0,0,0,0,0,"Getting back Professor Worm's memory" +1218,0,0,0,0,0,0,0,"Getting back Professor Worm's memory" +1219,0,0,0,0,0,0,0,"Getting back Professor Worm's memory" +1220,0,0,0,0,0,0,0,"Getting back Professor Worm's memory" +1221,0,0,0,0,0,0,0,"Getting back Professor Worm's memory" +1222,0,0,0,0,0,0,0,"Getting back Professor Worm's memory" +1223,0,0,0,0,0,0,0,"Getting back Professor Worm's memory" +1224,0,0,0,0,0,0,0,"Getting back Professor Worm's memory" +1225,0,2367,15,0,0,0,0,"Getting back Professor Worm's memory" +1226,0,0,0,0,0,0,0,"Getting back Professor Worm's memory" +1227,0,0,0,0,0,0,0,"Getting back Professor Worm's memory" +1228,0,0,0,0,0,0,0,"Getting back Professor Worm's memory" + 2000,0,0,0,0,0,0,0,"Job Change to Blacksmith" 2001,0,0,0,0,0,0,0,"Job Change to Blacksmith" 2002,0,0,0,0,0,0,0,"Job Change to Blacksmith" @@ -509,6 +527,19 @@ 4229,0,0,0,0,0,0,0,"Devil in the Cave" +4254,0,0,0,0,0,0,0,"Fairy with a stomache" +4255,0,0,0,0,0,0,0,"Revenge!" +4256,0,0,0,0,0,0,0,"An accomplice?" +4257,0,0,0,0,0,0,0,"Conspiracy" +4258,0,0,0,0,0,0,0,"Eirinn" +4259,0,0,0,0,0,0,0,"Bourbon" +4260,0,0,0,0,0,0,0,"Bee" +4261,0,0,0,0,0,0,0,"Counterattack (1)" +4262,0,0,0,0,0,0,0,"Counterattack (2)" +4263,0,0,0,0,0,0,0,"Counteroffensive (1)" +4264,0,0,0,0,0,0,0,"Counteroffensive (2)" +4265,0,0,0,0,0,0,0,"Bookshelf use" + 5000,0,0,0,0,0,0,0,"The Crow of the Fate - 7" // Researcher's Quest @@ -1063,6 +1094,55 @@ 7409,0,0,0,0,0,0,0,"Cannot Meet Eyes with Him!" 7410,0,0,0,0,0,0,0,"Teach Another Lesson Tomorrow!" +// Eclage +7411,0,0,0,0,0,0,0,"The traveler, Fome's story" +7412,0,0,0,0,0,0,0,"The traveler, Litrip's story" +7413,0,0,0,0,0,0,0,"The traveler, Chiba's story" +7414,0,0,0,0,0,0,0,"Eclage guard's message" +7415,0,0,0,0,0,0,0,"Laphine's Chief of Staff" +7416,600,0,0,0,0,0,0,"Waiting to meet" +7417,0,0,0,0,0,0,0,"Kardui's request" +7418,0,0,0,0,0,0,0,"For Eclage 1" +7419,0,0,0,0,0,0,0,"For Eclage 2" +7420,0,0,0,0,0,0,0,"For Eclage 3" +7421,0,0,0,0,0,0,0,"That's enough" +7422,0,0,0,0,0,0,0,"Kardui's gift" +7423,0,0,0,0,0,0,0,"A rumor about the King 1" +7424,0,0,0,0,0,0,0,"A rumor about the King 2" +7425,0,0,0,0,0,0,0,"A rumor about the King 3" +7426,0,0,0,0,0,0,0,"A rumor about the King 4" +7427,0,0,0,0,0,0,0,"At times like this, face it straight on!" +7428,0,0,0,0,0,0,0,"Yai of the wild" +7429,0,0,0,0,0,0,0,"Wild recent trend!" +7430,0,0,0,0,0,0,0,"Deliveryman that runs through space" +7431,0,0,0,0,0,0,0,"A mailman never rests!" +7432,0,0,0,0,0,0,0,"The troublemakers in the land of blooming flowers" +7433,0,0,0,0,0,0,0,"Need constant guidance" + +// Twins and Scholar of Magics +7434,0,0,0,0,0,0,0,"Kardui's big brother" +7435,0,0,0,0,0,0,0,"Time for reading the letter" +7436,0,0,0,0,0,0,0,"Avant the Scholar of Magics" +7437,0,0,0,0,0,0,0,"Shenime's favor" +7438,0,0,0,0,0,0,0,"Secret sponsorship" +7439,0,0,0,0,0,0,0,"The scholar of magics sponsored by Shenime" +7440,0,0,0,0,0,0,0,"Minuel's witness" +7441,0,0,0,0,0,0,0,"Mail is here!" +7442,0,0,0,0,0,0,0,"The identity of the scholar of magics" +7443,0,0,0,0,0,0,0,"Interfere with the research!" +7444,0,0,0,0,0,0,0,"What Avant was researching" + +// Orb +7445,0,0,0,0,0,0,0,"Avant's back" +7446,0,0,0,0,0,0,0,"Unfruitful conversation" +7447,0,0,0,0,0,0,0,"Dilemma surrounding the Orb" +7448,0,0,0,0,0,0,0,"Something's not right" +7449,0,0,0,0,0,0,0,"Temptation toward the Orb" +7450,0,0,0,0,0,0,0,"Orb's lighting room" +7451,0,0,0,0,0,0,0,"Betrayal" +7452,0,0,0,0,0,0,0,"Find the chief of staff!" +7453,0,0,0,0,0,0,0,"The last of the chief of staff" + 8000,0,0,0,0,0,0,0,"Quitting Job Change" 8001,0,0,0,0,0,0,0,"Job Change to Assassin" 8002,0,0,0,0,0,0,0,"Job Change to Assassin" @@ -1392,6 +1472,44 @@ 9223,0,0,0,0,0,0,0,"Will there be Peace at the Hospital?" 9224,0,0,0,0,0,0,0,"Explore Hospital 2F" +9225,0,0,0,0,0,0,0,"Mystery Robbery Incident 1" +9226,0,0,0,0,0,0,0,"Mystery Robbery Incident 2" +9227,0,0,0,0,0,0,0,"Mystery Robbery Incident 3" +9228,0,0,0,0,0,0,0,"Mystery Robbery Incident 4" +9229,0,0,0,0,0,0,0,"Mystery Robbery Incident 5" +9230,0,0,0,0,0,0,0,"Mystery Robbery Incident 6" +9231,0,0,0,0,0,0,0,"Mystery Robbery Incident 7" +9232,0,0,0,0,0,0,0,"Mystery Robbery Incident 8" +9233,0,0,0,0,0,0,0,"Mystery Robbery Incident 9" +9234,0,0,0,0,0,0,0,"Mystery Robbery Incident 10" +9235,0,0,0,0,0,0,0,"Mystery Robbery Incident 11" +9236,0,0,0,0,0,0,0,"Mystery Robbery Incident 12" +9237,0,0,0,0,0,0,0,"Mystery Robbery Incident 13" +9238,0,0,0,0,0,0,0,"Mystery Robbery Incident 14" +9239,0,0,0,0,0,0,0,"Mystery Robbery Incident 15" +9240,0,0,0,0,0,0,0,"Luen's statement notes" +9241,0,0,0,0,0,0,0,"Luen's statement notes" +9242,0,0,0,0,0,0,0,"Luen's statement notes" +9243,0,0,0,0,0,0,0,"Luen's statement notes" +9244,0,0,0,0,0,0,0,"Dames's statement notes" +9245,0,0,0,0,0,0,0,"Dames's statement notes" +9246,0,0,0,0,0,0,0,"Dames's statement notes" +9247,0,0,0,0,0,0,0,"Dames's statement notes" +9248,0,0,0,0,0,0,0,"Rosa's statement notes" +9249,0,0,0,0,0,0,0,"Rosa's statement notes" +9250,0,0,0,0,0,0,0,"Rosa's statement notes" +9251,0,0,0,0,0,0,0,"Rosa's statement notes" +9252,0,0,0,0,0,0,0,"Observing Poppy" +9253,0,0,0,0,0,0,0,"Examining a messy bookshelf" +9254,0,0,0,0,0,0,0,"Examining a damaged book" +9255,0,0,0,0,0,0,0,"Examining a container for soda cans" +9256,0,0,0,0,0,0,0,"Examining a messed up table" +9257,0,0,0,0,0,0,0,"Examining a foreign object" +9258,0,0,0,0,0,0,0,"Field examination results" +9259,0,0,0,0,0,0,0,"Confirming Cruyan's statements" +9260,0,0,0,0,0,0,0,"Survey investigation notes" +9262,0,0,0,0,0,0,0,"Mystery Robbery Incident 16" + 10000,0,0,0,0,0,0,0,"To the Prontera Royal Court" 10001,0,0,0,0,0,0,0,"Qualification Test" 10002,0,0,0,0,0,0,0,"Qualification Review" @@ -1782,6 +1900,35 @@ 11308,0,0,0,0,0,0,0,"Nurse at Port Malaya-25" 11309,0,0,0,0,0,0,0,"Nurse at Port Malaya-26" +11310,0,0,0,0,0,0,0,"Eclage's Entrance" +11311,0,0,0,0,0,0,0,"Eclage's Entrance" +11312,0,0,0,0,0,0,0,"Goliath" +11313,0,0,0,0,0,0,0,"Goliath" +11314,0,0,0,0,0,0,0,"Goliath" +11315,0,0,0,0,0,0,0,"And time keeps on flowing" +11316,0,0,0,0,0,0,0,"And time keeps on flowing" +11317,0,0,0,0,0,0,0,"And time keeps on flowing" +11318,0,0,0,0,0,0,0,"And time keeps on flowing" +11319,0,0,0,0,0,0,0,"And time keeps on flowing" +11320,0,0,0,0,0,0,0,"And time keeps on flowing" +11321,0,0,0,0,0,0,0,"And time keeps on flowing" +11322,0,0,0,0,0,0,0,"And time keeps on flowing" +11323,0,0,0,0,0,0,0,"And time keeps on flowing" +11324,0,0,0,0,0,0,0,"And time keeps on flowing" +11325,0,0,0,0,0,0,0,"The chicken or the egg" +11326,0,0,0,0,0,0,0,"The chicken or the egg" +11327,0,0,0,0,0,0,0,"The chicken or the egg" +11328,0,0,0,0,0,0,0,"The chicken or the egg" +11329,0,0,0,0,0,0,0,"The chicken or the egg" +11330,0,0,0,0,0,0,0,"The chicken or the egg" +11331,0,0,0,0,0,0,0,"The chicken or the egg" +11332,0,0,0,0,0,0,0,"The chicken or the egg" +11333,0,0,0,0,0,0,0,"Red seed and green seed" +11334,0,0,0,0,0,0,0,"Red seed and green seed" +11335,0,0,0,0,0,0,0,"Dreaming boy" +11336,0,0,0,0,0,0,0,"Dreaming boy" +11337,0,0,0,0,0,0,0,"Dreaming boy" + 12000,0,0,0,0,0,0,0,"An old friend" 12001,0,0,0,0,0,0,0,"Digotz, Maku's old friend" 12002,0,0,0,0,0,0,0,"Messenger of Friendship" @@ -2052,6 +2199,68 @@ 12278,0,0,0,0,0,0,0,"Towards Bakonawa Lake..." 12279,0,0,0,0,0,0,0,"Get Rid of Bakonawa" +12280,0,0,0,0,0,0,0,"A suspicious prisoner" +12281,0,0,0,0,0,0,0,"An unwanted favor" +12282,0,0,0,0,0,0,0,"Gossip king Clever" +12283,0,0,0,0,0,0,0,"The rift researcher" +12284,0,0,0,0,0,0,0,"A cat merchant's source of information" +12285,0,0,0,0,0,0,0,"A way to calm down a cat" +12286,0,0,0,0,0,0,0,"Information traded for some canned foods" +12287,0,0,0,0,0,0,0,"A weird experience" +12288,0,0,0,0,0,0,0,"A successful experience" +12289,0,0,0,0,0,0,0,"Another visitation" +12290,0,0,0,0,0,0,0,"Clever's historical documents" +12291,0,0,0,0,0,0,0,"Hidden historical documents (?)" +12292,0,0,0,0,0,0,0,"The unknown ones" +12293,0,0,0,0,0,0,0,"Figures in history" +12294,0,0,0,0,0,0,0,"Tour of Eclage" +12295,0,0,0,0,0,0,0,"Error" +12296,0,0,0,0,0,0,0,"Fun times with the reactor" +12297,0,0,0,0,0,0,0,"Encountering Etran" +12298,0,0,0,0,0,0,0,"Two wishes" +12299,0,0,0,0,0,0,0,"Revisiting Robert" +12300,0,0,0,0,0,0,0,"Revisiting Etran" +12301,0,0,0,0,0,0,0,"Two remaining friends" + +13050,0,0,0,0,0,0,0,"The Laphine that loves the land" +13051,0,0,0,0,0,0,0,"The singing Laphine" +13052,0,0,0,0,0,0,0,"The watering Laphine" +13053,0,0,0,0,0,0,0,"The dancing Laphine" +13054,0,0,0,0,0,0,0,"The smiling Laphine" +13055,0,0,0,0,0,0,0,"See if all the adventurers are safe" +13056,0,0,0,0,0,0,0,"Reporter Rossi" +13057,0,0,0,0,0,0,0,"Adventurer Euncheong" +13058,0,0,0,0,0,0,0,"Troublemaker New Oz" +13059,86400,0,0,0,0,0,0,"End of project" +13060,86400,0,0,0,0,0,0,"Safety confirmation complete!" +13061,0,0,0,0,0,0,0,"Food support" +13062,86400,0,0,0,0,0,0,"Food support - complete" +13063,0,0,0,0,0,0,0,"Dusting off" +13064,86400,0,0,0,0,0,0,"Dusting off - complete" +13065,0,0,0,0,0,0,0,"Collecting a souvenir" +13066,86400,0,0,0,0,0,0,"This is enough for souvenirs" + +14118,0,0,0,0,0,0,0,"Wuhari's concern" +14119,0,0,0,0,0,0,0,"Test of patience" +14120,0,0,0,0,0,0,0,"Test of patience 2" +14121,0,0,0,0,0,0,0,"Test of patience 3" +14122,0,0,0,0,0,0,0,"Time for two" +14123,0,0,0,0,0,0,0,"Wuharu's favor" +14125,0,0,0,0,0,0,0,"Surveying the area" +14126,0,0,0,0,0,0,0,"Searching for Ms. Goatie" +14127,0,0,0,0,0,0,0,"Searching for Ms. Goatie's husband" +14128,0,0,0,0,0,0,0,"Obtaining the research report" +14131,0,0,0,0,0,0,0,"Analysis time" +14133,0,0,0,0,0,0,0,"Another favor" +14134,0,0,0,0,0,0,0,"Sharp Ms. Goatie" +14135,0,0,0,0,0,0,0,"Searching for Mr. Pompe" +14136,0,0,0,0,0,0,0,"A terrible scene in the field" +14137,0,0,0,0,0,0,0,"An interesting proposition" +14138,0,0,0,0,0,0,0,"The big corpse" +14139,0,0,0,0,0,0,0,"To Wuhuru" +14140,0,0,0,0,0,0,0,"To Wuhari" +14141,0,0,0,0,0,0,0,"Ingredients for research" + 16000,0,0,0,0,0,0,0,"Metz Brayde's Notice" 16001,0,0,0,0,0,0,0,"First examination" 16002,0,0,0,0,0,0,0,"Fetching Items for Arian -1" diff --git a/db/re/item_combo_db.txt b/db/re/item_combo_db.txt index ab8e0ac429..b3e9e35a9d 100644 --- a/db/re/item_combo_db.txt +++ b/db/re/item_combo_db.txt @@ -155,10 +155,10 @@ 2779:2780:5577,{ bonus bMatkRate,10; bonus bInt,5; bonus2 bSubRace,RC_Angel,10; } 2966:2968,{ bonus bAtkRate,4; bonus bMatkRate,4; } 2966:2969,{ bonus bAtkRate,4; bonus bMatkRate,4; } -2966:13092,{ if(getequipid(EQI_HAND_R)==13092) set .@part,EQI_HAND_R; else set .@part,EQI_HAND_L; bonus bBaseAtk,10*getequiprefinerycnt(.@part); } +2966:13092,{ bonus bBaseAtk,10*getequiprefinerycnt( (getequipid(EQI_HAND_R) == 13092) ? EQI_HAND_R : EQI_HAND_L ); } 2967:2968,{ bonus bAtkRate,4; bonus bMatkRate,4; } 2967:2969,{ bonus bAtkRate,4; bonus bMatkRate,4; } -2968:13092,{ if(getequipid(EQI_HAND_R)==13092) set .@part,EQI_HAND_R; else set .@part,EQI_HAND_L; bonus bMatk,10*getequiprefinerycnt(.@part); } +2968:13092,{ bonus bMatk,10*getequiprefinerycnt( (getequipid(EQI_HAND_R) == 13092) ? EQI_HAND_R : EQI_HAND_L ); } 4001:4197,{ bonus bFlee,18; } 4006:4266,{ bonus bFlee,18; } 4009:4179,{ bonus bFlee,18; } diff --git a/db/re/item_db.txt b/db/re/item_db.txt index 1ba3921331..4da0ea9789 100644 --- a/db/re/item_db.txt +++ b/db/re/item_db.txt @@ -6239,7 +6239,7 @@ 13076,Raksasa_Dagger,Nachal Sword,4,40000,,600,120:100,,1,1,0x02000000,7,2,2,3,110,1,1,{ bonus bInt,3; },{},{} //13077, 13078,Mikatsuki,Mikacheuki,4,40000,,600,50:120,,1,1,0x02000000,7,2,2,4,100,1,1,{},{},{} -13079,Metal_Dagger,Metal Dagger,4,20,,0,55,0,,1,0x02021040,7,2,2,3,1,1,1,{} +13079,Metal_Dagger,Metal Dagger,4,20,,0,55,0,,1,0x02021040,7,2,2,3,1,1,1,{},{},{} // 13092,RWC_Memory_Knife,RWC Memory Knife,4,1000,500,650,50,0,1,1,0x02800075,15,2,2,3,1,1,1,{ bonus bBaseAtk,20*(getrefine()/3); bonus bMatk,20*(getrefine()/3); bonus4 bAutoSpell,"BS_WEAPONPERFECT",1,50,0; if(getrefine()>=9) set .@i,1; if(getrefine()>=6){ set .@rate,5*(.@i+1); bonus2 bAddRace,RC_Boss,.@rate; bonus2 bAddRace,RC_NonBoss,.@rate; bonus2 bMagicAddRace,RC_Boss,.@rate; bonus2 bMagicAddRace,RC_NonBoss,.@rate; } },{},{} // Revolvers diff --git a/db/re/skill_cast_db.txt b/db/re/skill_cast_db.txt index 2b23e775f4..b56158ab6c 100644 --- a/db/re/skill_cast_db.txt +++ b/db/re/skill_cast_db.txt @@ -1690,6 +1690,19 @@ 3029,0,0,0,10000:15000:20000:25000:30000,0,0,-1 //========================================== +//===== Eclage Skills ====================== +//-- ECL_SNOWFLIP +3031,0,0,0,0,0,5000,0 +//-- ECL_PEONYMAMY +3032,0,0,0,0,0,5000,0 +//-- ECL_SADAGUI +3033,0,0,0,0,0,5000,0 +//-- ECL_SEQUOIADUST +3034,0,0,0,0,0,5000,0 +//-- ECLAGE_RECALL +3035,3000,0,0,0,0,300000,0 +//========================================== + //===== Homunculus Skills ================== //-- HLIF_HEAL 8001,0,2000,0,0,0,0,-1 diff --git a/db/re/skill_castnodex_db.txt b/db/re/skill_castnodex_db.txt index 66b7723869..c01f0c4336 100644 --- a/db/re/skill_castnodex_db.txt +++ b/db/re/skill_castnodex_db.txt @@ -35,9 +35,12 @@ 498,1 //AM_TWILIGHT3 512,3 //GS_TRACKING 1014,1 //PR_REDEMPTIO + 2534,7,7 //RETURN_TO_ELDICASTES 2536,7,7 //ALL_GUARDIAN_RECALL -//2537,0,7 //ALL_ODINS_POWER +2537,0,7 //ALL_ODINS_POWER +3035,7,7 //ECLAGE_RECALL + 10010,3 //GD_BATTLEORDER 10011,3 //GD_REGENERATION 10012,6 //GD_RESTORE diff --git a/db/re/skill_db.txt b/db/re/skill_db.txt index a13824416f..a515f79121 100644 --- a/db/re/skill_db.txt +++ b/db/re/skill_db.txt @@ -1025,11 +1025,11 @@ 2498,11,6,1,0,0,0,1,1,no,0,0,0,weapon,0, GN_SLINGITEM_RANGEMELEEATK,Sling Item Attack // Episode 13.3 -//2533,0,0,4,0,0x1,0,1,0,no,0,0,0,none,0, ALL_ODINS_RECALL,Odin's Recall +2533,0,6,4,0,0x1,0,1,1,yes,0,0,0,none,0, ALL_ODINS_RECALL,Odin's Recall 2534,0,0,4,0,0x1,0,1,0,no,0,0,0,none,0, RETURN_TO_ELDICASTES,Return To Eldicastes 2535,0,0,4,0,0x1,0,1,0,no,0,0x1,0,none,0, ALL_BUYING_STORE,Open Buying Store 2536,0,0,4,0,0x1,0,1,0,no,0,0,0,none,0, ALL_GUARDIAN_RECALL,Guardian's Recall -2537,9,6,16,0,0x1,0,2,1,yes,0,0,0,magic,0, ALL_ODINS_POWER,Odin's Power +2537,9,6,16,0,0x1,0,2,1,yes,0,0,0,none,0, ALL_ODINS_POWER,Odin's Power //2538,0,0,0,0,0,0,??,0,no,0,0,0,none,0, BEER_BOTTLE_CAP,Beer Bottle Cap //2539,0,6,4,0,0x1,0,10,1,no,0,0x2,0,none,0, NPC_ASSASSINCROSS,Assassin Cross of Sunset 2 //2540,0,6,4,0,0x1,0,5,1,no,0,0x2,0,none,0, NPC_DISSONANCE,Dissonance 2 diff --git a/db/re/skill_require_db.txt b/db/re/skill_require_db.txt index b115f097dc..fa7e8bb942 100644 --- a/db/re/skill_require_db.txt +++ b/db/re/skill_require_db.txt @@ -787,11 +787,11 @@ 2498,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GN_SLINGITEM_RANGEMELEEATK#Sling Item Attack# -//2533,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_ODINS_RECALL#Odin's Recall# +2533,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_ODINS_RECALL#Odin's Recall# 2534,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RETURN_TO_ELDICASTES#Return To Eldicastes# 2535,0,0,1,0,0,0,99,0,0,none,0,6377,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store 2536,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_GUARDIAN_RECALL#Guardian's Recall# -//2537,0,0,70:100,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_ODINS_POWER#Odin's Power# +2537,0,0,70:100,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_ODINS_POWER#Odin's Power# //2538,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //BEER_BOTTLE_CAP#Beer Bottle Cap# diff --git a/npc/custom/healer.txt b/npc/custom/healer.txt index 595c28baa3..11c3b26941 100644 --- a/npc/custom/healer.txt +++ b/npc/custom/healer.txt @@ -73,7 +73,7 @@ yuno,164,45,4 duplicate(Healer) Healer#yuno 909 brasilis,194,221,6 duplicate(Healer) Healer#bra 909 dewata,195,187,4 duplicate(Healer) Healer#dew 909 dicastes01,201,194,4 duplicate(Healer) Healer#dic 909 -eclage,105,35,4 duplicate(Healer) Healer#ecl 909 +ecl_in01,45,60,4 duplicate(Healer) Healer#ecl 909 malangdo,132,114,6 duplicate(Healer) Healer#mal 909 malaya,205,205,6 duplicate(Healer) Healer#ma 909 mora,55,152,4 duplicate(Healer) Healer#mora 909 diff --git a/npc/custom/warper.txt b/npc/custom/warper.txt index d595747b6e..3dac40901c 100644 --- a/npc/custom/warper.txt +++ b/npc/custom/warper.txt @@ -132,7 +132,7 @@ T7: Go("comodo",209,143); T8: Restrict("RE"); Go("dewata",200,180); T9: Restrict("RE"); - Go("eclage",110,39); + Go("ecl_in01",48,53); T10: Go("einbech",63,35); T11: Go("einbroch",64,200); T12: Restrict("RE"); @@ -491,7 +491,7 @@ yuno,162,47,4 duplicate(Warper) Warper#yuno 811 brasilis,201,222,4 duplicate(Warper) Warper#bra 811 dewata,204,186,6 duplicate(Warper) Warper#dew 811 dicastes01,194,194,6 duplicate(Warper) Warper#dic 811 -eclage,107,37,4 duplicate(Warper) Warper#ecl 811 +ecl_in01,51,60,4 duplicate(Warper) Warper#ecl 811 malangdo,134,117,6 duplicate(Warper) Warper#mal 811 malaya,210,205,4 duplicate(Warper) Warper#ma 811 mora,57,152,4 duplicate(Warper) Warper#mora 811 diff --git a/npc/re/cities/eclage.txt b/npc/re/cities/eclage.txt new file mode 100644 index 0000000000..7bb8d7942c --- /dev/null +++ b/npc/re/cities/eclage.txt @@ -0,0 +1,487 @@ +//===== rAthena Script ======================================= +//= Eclage Town +//===== By: ================================================== +//= Euphy +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Eclage Town Script +//===== Additional Comments: ================================= +//= 1.0 Nearly complete iRO town NPCs. [Euphy] +//============================================================ + +// Generic Eclage NPCs - Set 1 +//============================================================ +ecl_fild01,92,316,4 script Tourist#ep14_2f2 545,{ + mes "[Tourist]"; + mes "I can't believe I have to wait this long......"; + mes "When is it going to be my turn?"; + emotion e_sob; + close; +} + +ecl_fild01,106,312,4 script Tourist#ep14_2f3 525,{ + mes "[Tourist]"; + mes "I'm actually done with my documentation, but I'm just sticking around to appreciate all of these flowers."; + emotion e_lv2; + next; + mes "[Tourist]"; + mes "I'm just getting through the night with my sleeping bag!"; + mes "It's alright as long as you can withstand the security guard's annoyance with you."; + close; +} + +ecl_fild01,108,320,6 script Tourist#ep14_2f4 941,{ + mes "[Tourist]"; + mes "I wonder how beautiful of a city Eclage would be."; + mes "It just makes my heart beat thinking about it."; + emotion e_lv; + close; +} + +ecl_fild01,105,320,2 script Tourist#ep14_2f5 436,{ + mes "[Tourist]"; + mes "No, I'm not a visitor. I'm an Eclage citizen!"; + emotion e_an; + next; + mes "[Tourist]"; + mes "I can't believe I can't even enter because of all these tourists!"; + emotion e_omg; + close; +} + +ecl_fild01,103,319,4 script Tourist#ep14_2f6 900,{ + mes "[Tourist]"; + mes "I hear their acorns are delicious without a hint of bitterness."; + next; + mes "[Tourist]"; + mes "You could probably make the world's best acorn jello."; + emotion e_omg; + close; +} + +ecl_fild01,110,316,2 script Tourist#ep14_2f7 896,{ + mes "[Tourist]"; + mes "It's important to keep your belongings light when traveling."; + next; + mes "[Tourist]"; + mes "It's going to increase as you go along anyways."; + next; + mes "[Tourist]"; + mes "Perhaps you could consider it as the weight of life?"; + emotion 38,0; + close; +} + +ecl_fild01,92,318,4 script Tourist#ep14_2f8 517,{ + mes "[Tourist]"; + mes "Cool cool."; + close; +} + +ecl_fild01,93,318,2 script Tourist#ep14_2f9 107,{ + mes "[Tourist]"; + mes "Snorrrreee....Erhem...."; + next; + mes "[Tourist]"; + mes "Err.... No....."; + mes "Curry.... Curry rice.... Snorrreeeee"; + emotion e_hlp; + close; +} + +ecl_fild01,94,313,4 script Tourist#ep14_2f10 715,{ + mes "[Tourist]"; + mes "Oh! Are you also from Midgard?"; + next; + mes "[Tourist]"; + mes "It's encouraging to see so many Midgard people nowadays."; + emotion e_com; + close; +} + +ecl_fild01,101,320,4 script Tourist#ep14_2f11 522,{ + mes "[Tourist]"; + mes "Ow.... My legs..."; + mes "You're saying I have to wait after all this traveling through Bifrost?!"; + emotion e_an; + close; +} + +ecl_fild01,88,315,4 script Tourist#ep14_2f12 957,{ + mes "[Tourist]"; + mes "Ahh..."; + mes "Why are there so many people...?"; + next; + mes "[Tourist]"; + mes "I want to be alone......Sniff!"; + emotion e_otl; + close; +} + +// Generic Eclage NPCs - Set 2 +//============================================================ +ecl_fild01,183,190,4 script Catering#eclbig 447,{ + mes "[Catering]"; + mes "Wahahaha! How do you do!"; + mes "It's perfect weather for a picnic, no?"; + next; + emotion e_wah; + mes "[Catering]"; + mes "You say it's hard to pack for a picnic?"; + next; + emotion e_no1; + mes "[Catering]"; + mes "Don't you worry!"; + next; + emotion e_gasp; + mes "[Catering]"; + mes "This is a specialty combining acorns with 7 different kinds and 7 different levels of flavor collected by squirrels of Eclage!"; + next; + emotion e_cash; + mes "[Catering]"; + mes "This specialty to-go box is only 2,999 coins!!!"; + next; + emotion e_omg; + mes "[Catering]"; + mes "Such a remarkable price!"; + next; + emotion e_lv; + mes "[Catering]"; + mes "If you order now, we also give you a disposable fork that feels like new even with a hundred uses!"; + close; +} + +ecl_fild01,134,109,4 script Warao#eclbig 446,{ + mes "[Warao]"; + mes "Ah~ I'm so hungry. What should I eat today?"; + next; + mes "[Warao]"; + mes "Come to think of it, I wonder how this foreigner will taste?"; + next; + emotion e_gg; + mes "[Warao]"; + mes "Hey hey, you know I'm kidding, right?"; + close; +} + +ecl_fild01,70,285,4 script Giranni#eclbig 611,{ + mes "[Giranni]"; + mes "I wonder where he went. It should be around here..."; + close; +} + +eclage,106,61,4 script Markoza#eclbig 444,{ + mes "[Markoza]"; + mes "I also want to visit foreign lands."; + next; + mes "[Markoza]"; + mes "But would foreigners leave me be when I am this adorable?"; + next; + emotion e_pif; + mes "[Markoza]"; + mes "Man, wherever I go, my cuteness just complicates everything..."; + close; +} + +eclage,101,130,5 script Wutapoa#eclbig 435,{ + mes "[Wutapoa]"; + mes "I recently moved out of my parent's place!"; + mes "I am so glad I finally have my own Yai!"; + next; + mes "[Wutapoa]"; + mes "I'm going to make it the most decorative, beautiful Yai in Eclage!"; + next; + emotion e_heh; + mes "[Wutapoa]"; + mes "Yay, woohoo!!!"; + close; +} + +eclage,200,272,4 script Masione#eclbig 437,{ + mes "[Masione]"; + mes "Whoa! Hey!"; + mes "Would you please stop appearing out of nowhere?"; + emotion e_omg; + next; + mes "[Masione]"; + mes "I'm a fragile, sensitive being!"; + close; +} + +ecl_in01,55,25,3 script Mijani#eclbig 520,{ + mes "[Mijani]"; + mes "You are not from around here?"; + mes "Welcome."; + next; + mes "[Mijani]"; + mes "Of course, as long as you don't disrupt Eclage."; + close; +} + +ecl_in01,38,37,4 script A kneeling boy#eclbig 441,{ + mes "[A kneeling boy]"; + mes "Why am I kneeling like this?"; + next; + mes "[A kneeling boy]"; + mes "At first, it was because it was comfortable. Now it's because I can't stretch my legs out anymore."; + next; + emotion e_sob; + mes "[A kneeling boy]"; + mes "I try to stretch them out, and my legs are all asleep!!"; + mes "Does that mean I have to fly around with my legs flexed like this?"; + close; +} + +ecl_in02,168,41,2 script Pambo#eclbig 438,{ + mes "[Pambo]"; + mes "Do you like things that twinkle?"; + next; + emotion e_lv2; + mes "[Pambo]"; + mes "I love them so much!"; + next; + mes "[Pambo]"; + mes "Twinkle twinkle~ Twinkle twinkle~"; + next; + mes "[Pambo]"; + mes "Twinkle twinkle~ Twinkle twinkle~"; + mes "Sparkle sparkle~ Sparkle sparkle~"; + next; + mes "[Pambo]"; + mes "Twinkle twinkle~ Twinkle twinkle~"; + mes "Sparkle sparkle~ Sparkle sparkle~"; + mes "Mmhahah~ Hahaha~ Hehehe~"; + mes "Heh heh heh~ Huhuhe~ Hoho~"; + mes "Kehehe~ Halala~ Fufu~"; + next; + emotion e_sob; + mes "[Pambo]"; + mes "But there's nothing twinkling here..."; + close; +} + +ecl_in01,41,103,1 script A blushing girl#eclbig 439,{ + mes "[A blushing girl]"; + mes "Do you see this balcony up top?"; + mes "Mayor Jun appears there everytime there is an important occasion!"; + next; + emotion e_lv2; + mes "[A blushing girl]"; + mes "He's so handome!! Ahhh~"; + close; +} + +ecl_in01,53,92,4 script Lafiki#eclbig 444,{ + mes "[Lafiki]"; + mes "My fashion sense today is excellent as usual. Heh-"; + next; + emotion e_lv2; + mes "[Lafiki]"; + mes "Hello~ My beautiful body~"; + mes "Every strand of hair is so beautiful!"; + next; + mes "[Dandy]"; + mes "Yes, it's definitely your garbage fashion sense that wreaks of trash as usual."; + emotion e_gg,0,"Dandy#eclbig"; + close; +} + +ecl_in01,54,91,2 script Dandy#eclbig 443,{ + mes "[Dandy]"; + mes "Take a look at me! How's this? Am I not so fabulous?"; + next; + mes "[Dandy]"; + mes "A Laphine can freely change in between different clothes, but not any Laphine looks this great!"; + next; + mes "[Lafiki]"; + mes "What nonsensical nonsense are you saying? No matter who looks at it, this region's best looker is me!"; + emotion e_pif,0,"Lafiki#eclbig"; + close; +} + +ecl_in01,52,102,4 script Choir Conductor#eclbig 442,{ + mes "[Choir conductor]"; + mes "We are Eclage's Tree Wing Choir~"; + mes "We bring you heavenly harmonies~"; + next; + mes "[Choir conductor]"; + mes "Hello foreigner, we'll give you a taste of our harmony~"; + next; + emotion e_ho; + mes "[Choir]"; + mes "Aaa~"; + next; + emotion e_ho,0,"Choir member#eclbig01"; + mes "[Choir]"; + mes "Aaa~~"; + mes "Aaa~"; + next; + emotion e_ho,0,"Choir member#eclbig02"; + mes "[Choir]"; + mes "Aaa~~~"; + mes "Aaa~~"; + mes "Aaa~"; + next; + emotion e_ho,0,"Choir member#eclbig03"; + mes "[Choir]"; + mes "Aaa~~~~"; + mes "Aaa~~~"; + mes "Aaa~~"; + mes "Aaa~"; + next; + emotion e_ho,0,"Choir member#eclbig04"; + mes "[Choir]"; + mes "Aaa~~~~~"; + mes "Aaa~~~~"; + mes "Aaa~~~"; + mes "Aaa~~"; + mes "Aaa~"; + next; + emotion e_ho,0,"Choir member#eclbig05"; + mes "[Choir]"; + mes "Aaa~~~~~~"; + mes "Aaa~~~~~"; + mes "Aaa~~~~"; + mes "Aaa~~~"; + mes "Aaa~~"; + mes "Aaa~"; + next; + emotion e_ho; + emotion e_ho,0,"Choir member#eclbig01"; + emotion e_ho,0,"Choir member#eclbig02"; + emotion e_ho,0,"Choir member#eclbig03"; + emotion e_ho,0,"Choir member#eclbig04"; + emotion e_ho,0,"Choir member#eclbig05"; + mes "[Choir]"; + mes "Uhhurukukuruhuuhhurukukuruhuuh"; + mes "Try to feel this~ The melody that flows~"; + next; + mes "[Choir conductor]"; + mes "How is it!! Our harmony!!"; + close; +} + +ecl_in01,51,103,4 script Choir member#eclbig01 442,{ + mes "[Choir member]"; + mes "Aaa~"; + emotion e_ho; + close; +} +ecl_in01,53,103,4 duplicate(Choir member#eclbig01) Choir member#eclbig02 442 +ecl_in01,50,104,4 duplicate(Choir member#eclbig01) Choir member#eclbig03 442 +ecl_in01,52,104,4 duplicate(Choir member#eclbig01) Choir member#eclbig04 442 +ecl_in01,54,104,4 duplicate(Choir member#eclbig01) Choir member#eclbig05 442 + +// Generic Eclage NPCs - Set 3 +//============================================================ +ecl_fild01,190,93,4 script Fili#1 617,{ + mes "[Fili]"; + mes "Looking at this beautiful field, the song sings itself~"; + emotion e_ho; + close; +} + +ecl_fild01,83,263,4 script Watering Laphine#1 444,{ + mes "[Watering Laphine]"; + mes "I think the earth is running dry."; + close; +} + +ecl_fild01,163,196,4 script Dancing Laphine#1 438,{ + mes "[Dancing Laphine]"; + mes "It's important to warm up like this before you start dancing. One, two, three, four...."; + close; +} + +// Eclage Prison & Clinic +//============================================================ +ecl_in01,8,71,4 script Eclage Guard#pri_inn 447,{ + mes "[Eclage Guard]"; + mes "This path will take you to the lower parts of Eclage. You'll find a prison and a clinic there."; + close; +} + +ecl_in02,96,22,2 script Sign#prison_inn 835,{ + mes "[North] Prison"; + mes "[West] Clinic"; + close; +} + +ecl_in02,164,56,2 script Receptionist#Laphine 437,{ + mes "[Receptionist]"; + mes "Welcome to Eclage Clinic."; + next; + switch(select("Save Location:Rest:Finish the conversation")) { + case 1: + mes "[Receptionist]"; + mes "Clinic has been set as your save point. Be careful though~"; + savepoint "ecl_in02",162,49; + close; + case 2: + mes "[Receptionist]"; + mes "Restore your mind and body at our clinic. It's filled with Eclage's clean energy."; + mes "We charge 1 Splendide Coin normally, but we offer a special discount for travelers. Your total is 5,000 zeny."; + next; + switch(select("Pay with Splendide Coin:Pay with Zeny:Forget it")) { + case 1: + if (countitem(6081) == 0) { + mes "[Receptionist]"; + mes "It seems like you don't have enough coins. Would you check your account again, please?"; + close; + } + delitem 6081,1; //Splendide_Coin + break; + case 2: + if (Zeny < 5000) { + mes "[Receptionist]"; + mes "It seems like you don't have enough zeny. Would you check your account again, please?"; + close; + } + set Zeny, Zeny-5000; + break; + case 3: + close; + } + mes "[Receptionist]"; + mes "Make yourself at home~"; + close2; + percentheal 100,100; + warp "ecl_in02",167,49; + end; + case 3: + close; + } +} + +ecl_in02,137,44,2 script Doctor Laphine#doctor 442,{ + mes "[Injured Laphine]"; + mes "Ooww..."; + mes "Where...am...I?"; + next; + mes "[Doctor]"; + mes "You're at a clinic. Don't worry."; + mes "We stopped the bleeding and casted emergency spells."; + mes "You were bleeding a lot. That was close, you know."; + next; + mes "[Injured Laphine]"; + mes "......"; + mes "What, no, I...I don't feel anything...what's going on?"; + next; + mes "[Doctor]"; + mes "Umm...the arrow damaged your wing pretty badly..."; + next; + mes "[Injured Laphine]"; + mes "...what do you mean??"; + next; + mes "[Doctor]"; + mes "Well...I was going to tell you after you recover, but you should know. You can't decorate the Yai anymore."; + mes "In other words, you injured your wing. The arrow went through the most critical part in the wing."; + next; + mes "[Injured Laphine]"; + mes "What? No way...please...doctor!! No!!"; + close; +} +ecl_in02,135,45,4 duplicate(Doctor Laphine#doctor) Injured Laphine 441 diff --git a/npc/re/guides/guides_eclage.txt b/npc/re/guides/guides_eclage.txt new file mode 100644 index 0000000000..1842a85dd6 --- /dev/null +++ b/npc/re/guides/guides_eclage.txt @@ -0,0 +1,51 @@ +//===== rAthena Script ======================================= +//= Eclage Guides +//===== By: ================================================== +//= Euphy +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Guides for the city of Eclage. +//===== Additional Comments: ================================= +//= 1.0 First version. [Euphy] +//============================================================ + +ecl_in01,48,60,4 script Eclage Guard#obb 447,{ + mes "[Eclage Guard]"; + mes "Welcome, Adventurer. This is the plaza of Eclage, a great and sacred tree. How can I help you?"; + next; + switch(select("Palace:Orb:Store:Prison:Clinic:Residential Area:Finish the conversation")) { + case 1: + mes "[Eclage Guard]"; + mes "Our great king, courageous generals, and scholars are all staying at the palace."; + mes "The palace is located at the top of Eclage. We usually fly there, but I see you don't have wings. Follow the path on your right then. It will lead you to the palace."; + close; + case 2: + mes "[Eclage Guard]"; + mes "The Orb behind me is like a symbol of us Laphines."; + mes "It's filled with great and mysterious power. We always keep an eye on it and guard it carefully."; + close; + case 3: + mes "[Eclage Guard]"; + mes "This is the plaza of Eclage. You'll find everything you need around here."; + close; + case 4: + mes "[Eclage Guard]"; + mes "Prison is a place for criminals. Why would an adventurer like you go there?"; + mes "Well, it's a little suspicious...but I'll tell you the location. Follow the path on your left. They don't let anyone in though."; + close; + case 5: + mes "[Eclage Guard]"; + mes "All your pain and weariness melt away in the arms of nature. Restore your mind and body at Eclage Clinic."; + mes "Follow the path on your left."; + close; + case 6: + mes "[Eclage Guard]"; + mes "Haven't you seen our decorations for Yai? Take a trip outside. You'll see our residential area."; + close; + case 7: + close; + } +} diff --git a/npc/re/merchants/coin_exchange.txt b/npc/re/merchants/coin_exchange.txt index 94949c60d6..b90f4ff956 100644 --- a/npc/re/merchants/coin_exchange.txt +++ b/npc/re/merchants/coin_exchange.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= rAthena Dev Team //===== Current Version: ===================================== -//= 1.1 +//= 1.2 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -12,6 +12,7 @@ //===== Additional Comments: ================================= //= 1.0 First version. [Euphy/Lemongrass] //= 1.1 Added remaining Malangdo traders. [Euphy/Lemongrass] +//= 1.2 Added Eclage traders (not fully complete). [Euphy] //============================================================ // Malangdo @@ -826,3 +827,349 @@ malangdo,150,135,5 script Roving Merchant 495,{ } } +// Eclage +//============================================================ +ecl_in01,66,95,2 script Armor Merchant Naphara 436,{ + mes "[Armor Merchant]"; + mes "Hello, this is Naphara's store, a place of high class goods."; + mes "What would you need?"; + next; + set .@i, select("Str Glove:Int Glove:Agi Glove:Vit Glove:Dex Glove:Luk Glove"); + mes "[Armor Merchant]"; + switch(.@i) { + case 1: // Str Glove + mes "^3131FFStr Glove^000000"; + mes "^3131FFMHP + 100, MSP + 20^000000"; + mes "^3131FFATK+1 increases for every STR+10^000000"; + mes "^3131FFATK +1% added above STR 110^000000"; + set .@item,2917; //Str_Glove + break; + case 2: + mes "^3131FFInt Glove^000000"; + mes "^3131FFMHP + 100, MSP + 20^000000"; + mes "^3131FFMATK+1 increases for every INT+10^000000"; + mes "^3131FFMATK +1% added above INT 110^000000"; + set .@item,2918; //Int_Glove + break; + case 3: + mes "^3131FFAgi Glove^000000"; + mes "^3131FFMHP + 100, MSP + 20^000000"; + mes "^3131FFFLEE+1 increases for every AGI+10^000000"; + mes "^3131FFComplete Flee +1 added above AGI 110^000000"; + set .@item,2919; //Agi_Glove + break; + case 4: + mes "^3131FFVit Glove^000000"; + mes "^3131FFMHP + 100, MSP + 20^000000"; + mes "^3131FFMHP+50 for every VIT+10^000000"; + mes "^3131FFMHP+1% added above VIT 110^000000"; + set .@item,2920; //Vit_Glove + break; + case 5: + mes "^3131FFDex Glove^000000"; + mes "^3131FFMHP + 100, MSP + 20^000000"; + mes "^3131FFHIT+1 increases for every DEX+10^000000"; + mes "^3131FFRanged attack power +1% added above DEX 110^000000"; + set .@item,2921; //Dex_Glove + break; + case 6: + mes "^3131FFLuk Glove^000000"; + mes "^3131FFMHP + 100, MSP + 20^000000"; + mes "^3131FFCRI+1 increases for every LUK+10^000000"; + mes "^3131FFCritical damage +1% added above LUK 110^000000"; + set .@item,2922; //Luk_Glove + break; + } + mes "^3131FFRequired Level: 100^000000"; + mes "^3131FFSlot: 0^000000"; + mes "^3131FFWeight: 10^000000"; + mes "are the characteristic options."; + next; + mes "[Armor Merchant]"; + mes "It costs 10 Splendide Coins."; + mes "Would you like to buy it?"; + next; + if(select("Buy it.:Don't buy it.") == 2) + close; + if (countitem(6081) < 10) { + mes "[Armor Merchant]"; + mes "It seems like you don't have enough coins."; + close; + } + mes "[Armor Merchant]"; + mes "Here you go!"; //custom + delitem 6081,10; //Splendide_Coin + getitem .@item,1; + close; +} + +ecl_in01,64,97,4 script Slot Expert Nattuer#ecl 436,{ + mes "[Slot Expert]"; + mes "I am Slot Expert Nattuer."; + mes "If you bring me an item from my little brother Naphara along with 5 Splendide Coins, I will open up one Slot for you."; + next; + if(select("Activate a Slot.:Forget it.") == 2) + close; + mes "[Slot Expert]"; + mes "Slot activation is an extremely difficult procedure that can fail even with heightened care and the use of a magnifying lens."; + next; + mes "[Slot Expert]"; + mes "Of course, if your heart were as big as that flower-filled land, you wouldn't mind. Right? Should I go for it?"; + next; + if(select("Continue.:Forget it.") == 2) + close; + mes "[Slot Expert]"; + mes "Which item would you like to activate with a Slot?"; + next; + setarray .@noslots[0],2917,2918,2919,2920,2921,2922; + setarray .@slotted[0],2923,2924,2925,2926,2927,2928; + set .@i, select("Str Glove:Int Glove:Ag Glove:Vit Glove:Dex Glove:Luk Glove")-1; + set .@item, .@noslots[.@i]; + set .@new_item, .@slotted[.@i]; + mes "[Slot Expert]"; + mes "Let's confirm for the last time. Is the one you want "+getitemname(.@item)+"?"; + next; + if(select("Yes:No") == 2) { + mes "[Slot Expert]"; + mes "Why don't you talk to me when you know for sure."; + close; + } + if (countitem(.@item) == 0) { + mes "[Slot Expert]"; + mes "You don't have that item. Why don't you talk to me when you know for sure."; + close; + } + if (countitem(6081) < 5) { + mes "[Slot Expert]"; + mes "You don't have enough coins. Why don't you talk to me when you know for sure."; //custom + close; + } + delitem 6081,5; //Splendide_Coin + delitem .@item,1; + //custom to the end + if (rand(100) < 5) { + mes "[Slot Expert]"; + mes "Oh no, it failed! I'm sorry, but I warned you this could happen. Better luck next time."; + close; + } + mes "[Slot Expert]"; + mes "Success! I've activated the slot."; + getitem .@new_item,1; + close; +} + +ecl_in01,67,39,4 script Replication Expert Palt 445,{ + emotion e_lv; + mes "[Paltu]"; + mes "Woohoo- Greetings. What are you looking for? Lots of goods here."; + next; + switch(select("No thanks.:Replication?:I know you got lots up your sleeve!")) { + case 1: + emotion e_an; + mes "[Paltu]"; + mes "Really? Hmm?"; + close; + case 2: + mes "[Paltu]"; + mes "One can say that there's no one better in Eclage than I at utilizing magic resistance."; + next; + mes "[Paltu]"; + mes "I'll give you a good price whatever it is. Just trust me."; + next; + select("Could you do something for me?"); + emotion e_no1; + mes "[Paltu]"; + mes "Hey, I like your attitude."; + next; + mes "[Paltu]"; + mes "Ah- you know the hat you're wearing?"; + next; + emotion e_what; + mes "[Paltu]"; + mes "Don't you have any of those hats lying around in storage that are solid but too ugly to wear? You do, right?"; + next; + select("........."); + emotion e_dots,1; + emotion e_heh; + mes "[Paltu]"; + mes "See! I knew it. I knew it from the first minute."; + next; + mes "[Paltu]"; + mes "If you bring me ^ff0000 50 Splendide Coins and the ingredients^000000, I'll make you a new hat in the same shape but worn as a ^ff0000Costume^000000."; + next; + mes "[Paltu]"; + mes "Hmm, what was it...?"; + mes "I think you adventurers call them ^0571B0Costumes^000000? right?"; + next; + select("Yes~ What do you need?"); + mes "[Paltu]"; + mes "I need 1 ^0571B0hat to replicate^000000 and"; + mes "I need ^E1281E 4 Crystal Mirrors^000000 for magic resistance, ^E1281E 1 Fairy Magic Powder^000000 as the catalyst, and ^E1281E Emerald, Ruby, Sapphire, Topaz, and Zircon, 10 of each^000000, to be used for amplifying the magic power."; + next; + emotion e_no; + mes "[Paltu]"; + mes "There's quite a lot of ingredients, right? Well, I can't do anything about that. Dealing with magic power is not a joke."; + next; + select("Which hats can be replicated?"); + mes "[Paltu]"; + mes "Oh! You're pretty sharp!"; + mes "Almost forgot the most important thing."; + next; + mes "[Paltu]"; + mes "Hats that I can replicate are:"; + mes "^0571B0Frog Hat, Romantic Flower, Magestic Goat, Blush, Valkyrie Helm, Deviruchi Hat, Assassin Mask, Elven Ears, Hahoe Mask, and Boys Cap^000000 a total of 10 types."; + next; + mes "[Paltu]"; + mes "What do you think? I'll make it happen as long as I have the ingredients and the compensation."; + next; + if(select("I'll do it later.:Show me what you got!") == 1) { + emotion e_dots; + mes "[Paltu]"; + mes "What? Are you kidding me? Please tell me you are!"; + close; + } + break; + case 3: + break; + } + mes "[Paltu]"; + mes "Oh wow."; + mes "You made the right call. I thought I was going to starve to death because the Laphines have no interest in pretty hats."; + next; + mes "[Paltu]"; + mes "I'll make it a great deal for you. You really should know I'm giving you a good deal here."; + next; + mes "[Paltu]"; + mes "Is there something you had in mind? Why don't you take a look?"; + next; + setarray .@items[0], + 5447, //Frog_Cap + 2269, //Centimental_Flower + 2256, //Magestic_Goat + 5040, //Blush + 5171, //Valkyrie_Helm + 5038, //Deviruchi_Cap + 5096, //Assassin_Mask_ + 2286, //Elven_Ears + 5176, //Hahoe_Mask + 5016; //Boy's_Cap + setarray .@costumes[0], + 19548, //C_Frog_Cap + 19552, //C_Centimental_Flower + 19549, //C_Magestic_Goat + 19550, //C_Blush + 19546, //C_Valkyrie_Helm + 19547, //C_Deviruchi_Cap + 19553, //C_Assassin_Mask_ + 19551, //C_Elven_Ears + 0, //-- not implemented? -- + 19545; //C_Boys_Cap + if (countitem(6081) >= 50 && countitem(747) >= 4 && countitem(6395) >= 1 && countitem(721) >= 10 && countitem(723) >= 10 && countitem(726) >= 10 && countitem(728) >= 10 && countitem(729) >= 10) + set .@item_check,1; + for(set .@i,0; .@i -1 && checkquest(7412) > -1 && checkquest(7413) > -1) { + cutin "minuel01.bmp",4; + donpcevent "Eclage Guard#tl01::OnEnable"; + mes "[Eclage Guard]"; + mes "Excuse me for a moment."; + mes "Is there anyone from Splendide here?"; + next; + select("I am, but why?"); + mes "[Eclage Guard]"; + mes "Ah, you are?"; + mes "There's someone who wants to see you. Do you have time right now?"; + next; + mes "[Eclage Guard]"; + mes "You don't have to worry. It's nothing suspicious or bad."; + mes "We just wanted to ask you about Splendide, so please spare your time for us."; + next; + mes "[Eclage Guard]"; + mes "I'll guide you if it's okay."; + next; + switch(select("Sure. Let's go.:I don't have time for it right now...")) { + case 1: //missing + break; + case 2: + mes "[Eclage Guard]"; + mes "Oh, is that right?"; + mes "That's too bad."; + mes "But if you have some time later, please pay us a visit."; + next; + break; + } + mes "[Eclage Guard]"; + mes "I'll be at the east side of the plaze near the gate."; + mes "Please, find me there."; + mes "I'll be looking forward to seeing you."; + erasequest 7411; + erasequest 7412; + erasequest 7413; + setquest 7414; + set ep14_2_tl,1; + donpcevent "Eclage Guard#tl01::OnDisable"; + close2; + cutin "minuel01.bmp",255; + end; + } + return; +} + +ecl_in01,32,52,4 script Traveler Fome#tl01 515,3,3,{ + if (ep14_2_tl == 0) { + if (checkquest(7411) == -1) { + mes "[Fome]"; + mes "Come here and have a talk with us."; + mes "My name is Fome and I'm from the central region of Alpheim."; + mes "You are..."; + next; + mes "[Fome]"; + mes "Wait, let me guess!"; + mes "You're a member of the famous Midgard expedition, right?!"; + next; + select("Yes.:How did he know?"); + mes "[Fome]"; + mes "Well, it's simple."; + mes "There's no one who looks like you or dresses like you around Eclage."; + next; + mes "[Fome]"; + mes "I heard the ways to Bifrost are blocked by a strange rift and soon, travelers who came here through the Hazy Forest started to appear."; + next; + mes "[Fome]"; + mes "They are humans who came from Midgard passing through Jotunheim!"; + mes "Seriously...I'm glad I came to Eclage."; + mes "I didn't expect to meet a person from Midgard!"; + next; + mes "[Fome]"; + mes "Eclage is crowded with travelers, and until recently, most of them were from Alpheim."; + mes "It's nice to see you. I was about to talk to you just now."; + next; + switch(select("Why is Eclage popular among travelers?:What is the main attraction of Eclage?")) { + case 1: + case 2: //missing + mes "[Fome]"; + mes "Why does this place have so many travelers...?"; + mes "First of all, I think it's due to the fact that you're able to communicate freely here since Eclage is with Bifrost."; + next; + mes "[Fome]"; + mes "Thanks to Bifrost's will, everyone is able to communicate with no problem here just like you and I right now."; + next; + mes "[Fome]"; + mes "Second, it's because Eclage is the end and the gateway of Alpheim."; + mes "It's the only way to get to Jotunheim."; + next; + mes "[Fome]"; + mes "A great number of travelers who admire the unknown world come to Eclage."; + mes "Also, they want to see Bifrost, which connects Jotunheim and Alpheim, with their own eyes."; + next; + mes "[Fome]"; + mes "Moreover, the biggest reason why Eclage is so crowded recently is...!!!"; + next; + select("It is...?!"); + emotion e_loud; + mes "[Fome]"; + mes "A new Mayor Jun was born!"; + next; + select("Whosa whatsits?"); + mes "[Fome]"; + mes "No, no, Mayor Jun. It's a Laphine name."; + mes "It's a...right, it means a 'king.'"; + mes "The King is born!"; + next; + mes "[Fome]"; + mes "Although he is pretty old, he became a king."; + mes "As the king of Laphines, he is so beautiful."; + next; + select("When was that?"); + mes "[Fome]"; + mes "Mm? Maybe 10 years ago?"; + mes "5 years ago? Or 15? Anyway, it's less than 100 years."; + next; + break; + } + setquest 7411; + callfunc "F_Eclage_Traveler"; + mes "This traveler named Fome is going on forever about the king of Laphines."; + mes "It seems as if she doesn't care about others and is sinking into her own world, so it's hard to understand what she's talking about."; + mes "Let's talk to other travelers."; + close; + } else { + mes "[Fome]"; + mes "Oh my, did I talk too much?"; + mes "But you're really lucky."; + mes "If you tell them that you're here to congratulate on the birth of new Mayor Jun, you'll surely meet the great Kardui."; + next; + mes "[Fome]"; + mes "Ah...how beautiful."; + mes "I heard some bad rumors but I don't believe in them at all~"; + next; + mes "[Fome]"; + mes "Ha, I almost went too far again."; + mes "Did you talk to Litrip and York?"; + next; + mes "[Fome]"; + mes "When it comes to Bifrost Tower, which is the most popular tourist attraction, Litrip knows the best!"; + close; + } + } else if (ep14_2_tl == 1) { + mes "[Fome]"; + mes "An Eclage Guard was looking for you just a minute ago, right?"; + mes "I think he said he'll be waiting for you at the east gate. Don't you have to go?"; + next; + mes "[Fome]"; + mes "Since he was very polite and all, I'm sure it's something good."; + mes "Sure. The Laphines in Eclage are very generous to travelers."; + close; + } else { + mes "[Fome]"; + mes "You seem very busy."; + mes "I heard so much about you from here and there."; + mes "I see that you're friends with Laphines already."; + close; + } +OnTouch: + if (ep14_2_tl == 0 && checkquest(7411) == -1 && checkquest(7412) == -1 && checkquest(7413) == -1) { + mes "A group of travelers of Alpheim are having a conversation."; + emotion e_loud; + next; + if(select("Avoid them.:Join the group.") == 1) { + mes "They don't seem to care that much."; + close; + } + mes "When you approach, they stop talking for a second and make a seat for you."; + mes "Start a conversation."; + close; + } + end; +} + +ecl_in01,32,51,6 script Traveler Litrip#tl02 513,{ + if (ep14_2_tl == 0) { + if (checkquest(7412) == -1) { + mes "[Litrip]"; + mes "Oh, look at this strange traveler."; + mes "Come here. My name is Litrip."; + next; + mes "[Litrip]"; + mes "You're from Mora?"; + mes "You must have seen Bifrost Tower on the way then?"; + next; + switch(select("I saw it from the outside.:I've gone inside the tower.")) { + case 1: + mes "[Litrip]"; + mes "Really? That's too bad."; + mes "Well, but it's good to play it safe since there are frightful monsters inside the tower."; + mes "It's certainly better than losing your life by being rash."; + next; + break; + case 2: + mes "[Litrip]"; + mes "I see. Wasn't it pretty crazy?"; + mes "Once upon a time, It used to be a very nice observatory."; + next; + mes "[Litrip]"; + mes "Although it's occupied by horrible monsters now."; + mes "Seeing that you went into the tower and came out unharmed, I can tell you're pretty skilled."; + next; + break; + } + mes "[Litrip]"; + mes "There's a rumor that a suspicious alchemist resides on top of the tower."; + mes "No one knows why, but I heard he's been there for a good while."; + next; + mes "[Litrip]"; + mes "If that alchemist is still alive, he could be a living history himself since the tower, the alchemist, and Bifrost have existed even before Eclage was founded."; + next; + mes "[Litrip]"; + mes "A good number of people still challenge themselves to find the mysterious legend of Bifrost but so far, none of them succeeded."; + next; + select("What about Laphines?"); + mes "[Litrip]"; + mes "Hmm, Laphines?"; + mes "For some reason, they're not interested in Bifrost Tower at all."; + mes "I think they perceive it just as a natural object."; + next; + mes "[Litrip]"; + mes "They're actually more than capable of solving the mystery if they wanted to but I feel like they're just respecting the existence of Bifrost Tower."; + next; + mes "[Litrip]"; + mes "However, they don't necessarily stop people from going into the tower, either. So I'm thinking maybe they're just not aware of it."; + mes "If you're curious, go challenge yourself and solve the mystery of the tower."; + next; + setquest 7412; + callfunc "F_Eclage_Traveler"; + mes "[Litrip]"; + mes "If you ever happen to solve the mystery of Bifrost Tower, let me be the first one to know about it."; + mes "You're strong enough to explore the tower."; + mes "I only got to the first floor. Haha."; + next; + mes "[Litrip]"; + mes "Have you talked to other friends?"; + mes "Isn't information the most important thing to a traveler?"; + close; + } else { + mes "[Litrip]"; + mes "It's not fun listening to my story only."; + mes "You should go talk to Fome and Chiba, too."; + next; + mes "[Litrip]"; + mes "And Let me know if you ever solve the mystery of Bifrost Tower."; + mes "I'll be looking forward to hearing from you, hahaha."; + close; + } + } else if (ep14_2_tl == 1) { + mes "[Litrip]"; + mes "It seems like Laphines have some official affairs to do with you."; + mes "Didn't they tell you to come to the east gate?"; + mes "You should go."; + close; + } else { + mes "[Litrip]"; + mes "Since the last time I saw you talking to the guard, I hear your name here and there."; + mes "Is it something important? You've become pretty famous here."; + close; + } +} + +ecl_in01,35,51,2 script Traveler Chiba#tl03 514,{ + if (ep14_2_tl == 0) { + if (checkquest(7413) == -1) { + mes "[Chiba]"; + mes "You're human from Midgard."; + mes "I'm Chiba."; + mes "As you can see, I'm a traveler just like you."; + next; + mes "[Chiba]"; + mes "I think local area information is the most important when traveling."; + mes "You think so, too?"; + next; + mes "[Chiba]"; + mes "I heard there's a way to avoid a rift that is blocking Jotunheim..."; + mes "Do people really travel through Hazy Forest?"; + next; + switch(select("Yes.:By magic!")) { + case 1: + mes "[Chiba]"; + mes "So it is."; + mes "That's how strong humans are, I guess."; + mes "When I was Mora, I heard there are many missing men in Hazy Forest..."; + next; + break; + case 2: + mes "[Chiba]"; + mes "Indeed... people who get to Mora first use magic to help others travel?"; + mes "That's brilliant."; + next; + break; + } + mes "[Chiba]"; + mes "Anyway it's true that there are active interactions thanks to you people."; + mes "I should be grateful for that."; + next; + mes "[Chiba]"; + mes "Do you want to know something more interesting?"; + mes "Everyone in Alpheim knows about it, but I'm sure you people have never heard about it."; + next; + mes "[Chiba]"; + mes "Among Laphines, have you seen the taller ones with especially bright skin and gorgeous wings?"; + next; + mes "[Chiba]"; + mes "They're the 'Donas.' By the way, normal-looking Laphines are called 'Papang' in their language."; + mes "It sounds like some kind of a snack, but well, we should respect them."; + next; + mes "[Chiba]"; + mes "The reason Donas are taller and gorgeous is because they're all candidates for Mayor."; + mes "That is, they all have a chance of becoming the king."; + next; + mes "[Chiba]"; + mes "We're not talking about upper class or lower class here. They are classified according to their job."; + mes "It might not be important, but it's good to know about it as a foreigner."; + next; + mes "[Chiba]"; + mes "Anyway, Donas have strong magical powers and they live longer. But since there are not many of them most of them are assigned to important positions."; + next; + mes "[Chiba]"; + mes "The throne of the king of Laphines seems to be inherited by blood, but it isn't in reality."; + mes "Mayor Jun is known to emerge among the Donas but it's just exactly that."; + next; + mes "[Chiba]"; + mes "He literally just emerges without any kind of a formal inheritance process."; + mes "Isn't it pretty interesting?"; + next; + setquest 7413; + callfunc "F_Eclage_Traveler"; + mes "[Chiba]"; + mes "Try talking to the other travelers."; //custom + close; + } else { + mes "[Chiba]"; + mes "Try talking to the other travelers."; //custom + close; + } + } else if (ep14_2_tl == 1) { + mes "[Chiba]"; + mes "Wasn't there an Eclage Guard looking for you just now?"; + mes "You'd better respect Laphines as much as possible in order to avoid any discord."; + mes "It's the basis of traveling."; + close; + } else { + mes "[Chiba]"; + mes "So, you weren't a mere traveler after all."; + close; + } +} + +ecl_in01,82,70,2 script Eclage Guard#tl02 447,{ + if (ep14_2_tl == 0) { + mes "[Eclage Guard]"; + mes "Welcome to Eclage."; //custom + close; + } else if (ep14_2_tl == 1) { + cutin "minuel02.bmp",2; + mes "[Eclage Guard]"; + mes "Oh, you are here!"; + mes "May I escort take you to the one who wants to meet you?"; + next; + switch(select("Sure. Let's go.:I don't have time for it right now...")) { + case 1: + mes "[Eclage Guard]"; + mes "Please follow me then."; + erasequest 7414; + setquest 7415; + set ep14_2_tl,2; + close2; + warp "ecl_in03",244,89; + cutin "minuel02.bmp",255; + end; + case 2: + mes "[Eclage Guard]"; + mes "Ah...is that right?"; + mes "I'll wait then."; + next; + mes "[Eclage Guard]"; + mes "Don't worry about me."; + mes "I'll just wait here as long as it takes."; + mes "Well, it's my job. Don't worry."; + close2; + cutin "minuel02.bmp",255; + end; + } + } else if (ep14_2_tl == 2) { + cutin "minuel01.bmp",2; + mes "[Eclage Guard]"; + mes "I thought you sill had something to do."; + mes "May I guide you?"; + next; + switch(select("Yes, please.:No, it's okay.")) { + case 1: + mes "[Eclage Guard]"; + mes "Please follow me then."; + close2; + warp "ecl_in03",244,89; + cutin "minuel02.bmp",255; + end; + case 2: + mes "[Eclage Guard]"; + mes "Is that right?"; + mes "I see. Come find me whenever you need it."; + close2; + cutin "minuel02.bmp",255; + end; + } + } else if (ep14_2_tl == 3) { + cutin "minuel01.bmp",2; + mes "[Eclage Guard]"; + mes "I see you pretty often."; + mes "I was notified in advance that the Chief of Staff requested for an audience."; + next; + if (checkquest(7416,PLAYTIME) < 2) { + mes "[Eclage Guard]"; + mes "But I'm afraid it's too early."; + mes "I think you have to wait for a while."; + close2; + cutin "minuel02.bmp",255; + end; + } + mes "[Eclage Guard]"; + mes "I see you pretty often."; + mes "I was notified in advance that the Chief of Staff requested for an audience."; + next; + mes "[Eclage Guard]"; + mes "Since it's about time, should I lead you in now?"; + next; + switch(select("Yes, please.:I'll come back later.")) { + case 1: + mes "[Eclage Guard]"; + mes "Follow me, please."; + set ep14_2_tl,4; + close2; + warp "ecl_in03",58,72; + cutin "minuel02.bmp",255; + end; + case 2: + mes "[Eclage Guard]"; + mes "Do as you wish although Mayor Jun might be upset if you keep him waiting for too long."; + close2; + cutin "minuel02.bmp",255; + end; + } + } else if (ep14_2_tl == 4) { + cutin "minuel01.bmp",2; + mes "[Eclage Guard]"; + mes "May I escort you to the audience chamber?"; + next; + switch(select("Yes, please.:No, it's okay.")) { + case 1: + mes "[Eclage Guard]"; + mes "Follow me, please."; + close2; + warp "ecl_in03",58,72; + cutin "minuel02.bmp",255; + end; + case 2: + mes "[Eclage Guard]"; + mes "Thank you."; + mes "I thought you were using me for teleportation since you're here so often."; + close2; + cutin "minuel02.bmp",255; + end; + } + } else if (ep14_2_tl == 5) { + if (checkquest(7418) == -1) { + cutin "minuel01.bmp",2; + mes "[Eclage Guard]"; + mes "Eh, good to see you again."; + mes "We should have introduced ourselves earlier if we knew we would run into each other so often like this."; + next; + mes "[Minuel]"; + mes "I'm Minuel."; + mes "It's such a common name. I don't even know what it means."; + mes "I think my parents just gave me a name that is easy on the ear."; + next; + mes "[Minuel]"; + mes "Come to think of it, I heard the news."; + mes "You've decided to work in Eclage..."; + next; + switch(select("It's just a rumor.:Do they have a job for me?")) { + case 1: + mes "[Minuel]"; + mes "Eh? Really?"; + mes "That's too bad. There was a suitable job for you."; + mes "Well, I understand."; + close2; + cutin "minuel02.bmp",255; + end; + case 2: + mes "[Minuel]"; + mes "Actually I don't have any time for myself since I have to be here all the time."; + mes "Not only I, but most Laphines who are in this business are faced with that position, too."; + next; + mes "[Minuel]"; + mes "So, we don't have any time to decorate our Yai."; + mes "Of course we could buy the materials. But just like any other consumers, we would like to gather them on our own."; + next; + mes "[Minuel]"; + mes "Since you're free to go anywhere,"; + mes "could you gather some decorations for Yai?"; + next; + switch(select("Sure.:No.")) { + case 1: + mes "[Minuel]"; + mes "Thank you."; + mes "You need to find"; + mes "5 Horns of Hillslion, 5 Magical Powers, and 5 Horse's Hooves each."; + next; + mes "[Minuel]"; + mes "I would like to decorate it with unpolished beauty."; + mes "You can get the materials by hunting the monsters near Splendide, where I'm not supoosed to go."; + next; + mes "[Minuel]"; + mes "I've heard some rumors about Hillslions, and they seem to appear in Sapha's areas."; + mes "Their horns, Mystic Horns of Cornuses that live in the grasslands and something called Horse's Hooves."; + next; + mes "[Minuel]"; + mes "I'm sure you would know more about those hooves than I do."; + mes "I'll be counting on you!"; + setquest 7418; + close2; + cutin "minuel02.bmp",255; + end; + case 2: + mes "[Minuel]"; + mes "Ha, do you really think so?"; + mes "You will be coming here again."; + mes "Soon, in the near future. Hehehe~"; + close2; + cutin "minuel02.bmp",255; + end; + } + } + } + mes "[Minuel]"; + mes "I asked you for 5 Horns of Hillslion, 5 Mystic Horns, and 5 Horse's Hooves."; + mes "You'll be able to get Mystic Horns by catching Cornuses near Splendide."; + close; + } +} + +ecl_in03,245,93,2 script Chief of Staff#tl01 435,{ + if (ep14_2_tl < 2) { + mes "[Chief of Staff]"; + mes "Sorry, but no unauthorized entry is allowed here."; + close; + } else if (ep14_2_tl == 2) { + mes "[Chief of Staff]"; + mes "Welcome to Eclage."; + mes "I ordered them to lead you here."; + next; + mes "[Shenime]"; + mes "I'm in charge of the military supplies that are sent to the outpost of Splendide."; + mes "My name is Shenime."; + next; + mes "[Shenime]"; + mes "Our supplies sent to Mora Village..."; + mes "oww...I'm sorry. I've been having this headache recently..."; + next; + mes "[Shenime]"; + mes "Anyway, I've heard that there are people"; + mes "who deliver our supplies to Splendide through Hazy Forest."; + next; + mes "[Shenime]"; + mes "It's so good to see you in person."; + mes "People who are clever enough are already trying hard to build relationships with Eclage."; + next; + select("So, I'm not the first one?"); + mes "[Shenime]"; + mes "Yes, you're not...oww..."; + mes "But it doesn't matter."; + mes "You humans are already doing so much for Splendide and us."; + next; + mes "[Shenime]"; + mes "Oh, the reason I'm frowning is because of this headache."; + mes "Don't get me wrong."; + mes "Um...anyway, to go on with my story..."; + next; + mes "[Shenime]"; + mes "We are supposed to welcome you."; + mes "Should I get to the point now? I mean, the reason why I wanted to meet you."; + next; + mes "[Shenime]"; + mes "As you know already, we're disconnected from Splendide due to the accident in Bifrost."; + mes "And for us Laphines, it's hard to go against the will of the forest and Bifrost."; + next; + mes "[Shenime]"; + mes "I'm sure every fairy in Alpheim feels the same, too."; + mes "Anyway, I want to know what's going on in Splendide and Jotunheim nowadays."; + next; + mes "[Shenime]"; + mes "I heard the battle against Manuk has recently calmed down to the point of a truce..."; + mes "and it could have been that they didn't get supplies in time."; + next; + mes "You've answered Shenime's serious questions and describe the situation as far as you could remember."; + next; + select("Now that I think about it..."); + mes "[Shenime]"; + mes "What is it?"; + mes "What you've told me is going to be very helpful."; + mes "Is there anything else you would like to talk about?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I was told that Sapha made Yggdrasil Tree sick,"; + mes "and your side started a war in order to protect the tree..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "...but what I know is a little bit different from that."; + mes "Apparently, the cause of the war seems to be the damage given to Yggdrasil Tree caused by Sapha's excessive mining, but..."; + next; + mes "[Shenime]"; + mes "Wait, stop there."; + next; + select("What's the matter?"); + mes "[Shenime]"; + mes "This war is like a holy war for us."; + mes "It's a war that we carry on upon our honor and dignity."; + next; + mes "[Shenime]"; + mes "So whatever the truth you know is,"; + mes "if you're not going to hold responsibility for the backlash it might bring,"; + mes "don't say anything at all."; + next; + select("Why are you trying to hide the truth..."); + mes "[Shenime]"; + mes "This is a matter between Yggdrasil the world-ash and its protector."; + mes "Mayor Jun should be the one listening to your story, not me."; + next; + select("What?"); + mes "[Shenime]"; + mes "My work is done here."; + mes "What I'm saying is that I'm not the one to clear up your question."; + mes "I'll arrange a meeting with Mayor Jun for you."; + next; + mes "In the middle of the conversation, Shenime stopped talking and frowned as if he was having a headache again."; + mes "After massaging his head for a while, he looked much better and continued to go on."; + next; + mes "[Shenime]"; + mes "Promise me that you will not tell anyone"; + mes "about the truth that you believe."; + next; + if(select("No!:Yes, I promise.") == 1) { + mes "[Shenime]"; + mes "You put me on the spot."; + mes "I don't want you to be the cause of friction."; + next; + mes "[Shenime]"; + mes "Can't you just keep it to yourself before discussing the matter with Mayor Jun?"; + next; + switch(select("No, I can't!:Fine, I won't tell anyone.")) { + case 1: + mes "[Shenime]"; + mes "Oh well..."; + mes "It's your loss..."; + close; + case 2: + mes "[Shenime]"; + mes "I see that you've made up your mind."; + next; + break; + } + } + mes "[Shenime]"; + mes "I'll arrange a meeting to let Mayor Jun get to know you."; + mes "You need to wait a little bit. Please bear with us."; + next; + mes "[Shenime]"; + mes "I'll notify the guard that brought you here."; + mes "Go find the guard after some time."; + mes "He will guide you."; + next; + mes "[Shenime]"; + mes "Until then, I hope you have a good time."; + mes "I'll send you to the plaza."; + mes "By the way, the guard who is going to lead you will be at the east gate. Don't forget the time."; + erasequest 7415; + setquest 7416; + set ep14_2_tl,3; + close2; + warp "ecl_in01",47,28; + end; + } else if (ep14_2_tl == 3) { + if (checkquest(7416,PLAYTIME) < 2) { + mes "[Shenime]"; + mes "You need to wait a little longer to see Mayor Jun."; + mes "He is pretty busy, so please bear with us."; + close; + } + mes "[Shenime]"; + mes "There's another guard who was supposed to be guiding you..."; + mes "I can't go anywhere right now."; + next; + mes "[Shenime]"; + mes "There's a guard at the east side of the plaza near the gate."; + mes "I notified him already, so just ask him to guide you."; + close; + } else if (ep14_2_tl == 4) { + mes "[Shenime]"; + mes "Did you tell Mayor Jun about what you think?"; + mes "He should be the one to decide."; + next; + mes "[Shenime]"; + mes "It seems like you haven't even met him yet. Ask the guard to guide you."; + close; + } else if (ep14_2_tl == 5) { + mes "[Shenime]"; + mes "I've heard about you."; + mes "You've decided to work for Eclage?"; + next; + mes "[Shenime]"; + mes "At the starting point of Bifrost, there should be a messenger stamping his feet."; + next; + mes "[Shenime]"; + mes "It's a messenger that we sent in an effort to contact Splendide regularly,"; + mes "but I think it's still difficult to do so."; + next; + mes "[Shenime]"; + mes "If you could help us with that, wouldn't other Laphines think better of you?"; + close; + } +} + +ecl_in03,41,90,2 script Mayor Jun Kardui#tl01 624,{ + if (ep14_2_tl < 4) { + mes "[Kardui]"; + mes "Mmm..."; + mes "I don't know who you are, but could you wait until I call you?"; + mes "I'll have to meet you some day, but now is not the right time."; + cutin "kardui01.bmp",1; + close2; + cutin "kardui01.bmp",255; + end; + } else if (ep14_2_tl == 4) { + mes "[Kardui]"; + mes "Welcome to Eclage, stranger."; + mes "...this was a popular way of greeting each other, but I guess it's not fun anymore."; + cutin "kardui01.bmp",1; + next; + mes "[Kardui]"; + mes "Anyway, you who came from a long way away"; + mes "and reconized by the guardian."; + mes "There is a truth that you would like to tell me?"; + next; + mes "[Kardui]"; + mes "If that's the case, you will be very busy from now on."; + next; + select("What do you mean?"); + mes "[Kardui]"; + mes "You have to do a lot of work in order to convince me, the elders, and many other Laphines."; + next; + mes "[Kardui]"; + mes "Of couse I could trust everything you say,"; + mes "but will other Laphines accept a Mayor Jun who is swayed by a word of a foreigner?"; + next; + cutin "kardui03.bmp",1; + mes "[Kardui]"; + mes "Especially when that Mayor Jun is me. Ah..."; + next; + cutin "kardui01.bmp",1; + mes "[Kardui]"; + mes "Don't you understand?"; + mes "Here, in Eclage, You have to get more recognition from Laphines."; + next; + if(select("Do I have to make a contribution?:It's about Yggdrasil!") == 1) { + mes "[Kardui]"; + mes "See, you understood it right."; + next; + select("It's about Yggdrasil!"); + } + cutin "kardui04.bmp",1; + mes "[Kardui]"; + mes "Um."; + mes "I know."; + next; + mes "[Kardui]"; + mes "You don't have to make a face."; + mes "No matter what I look like to you, I am the history and the spirit of Laphines, and also the protector of Yggdrasil."; + next; + mes "[Kardui]"; + mes "Do you think I, who inherited the will of Yggdrasil, don't know anything?"; + mes "I don't blame you since it is ignorance."; + next; + mes "[Kardui]"; + mes "The war of Jotunheim will soon be over."; + mes "And it will happen not by constraint, but as a result of mutual agreement."; + next; + cutin "kardui01.bmp",1; + mes "[Kardui]"; + mes "So, stranger,"; + mes "don't worry about it and do you want to work with me for Eclage?"; + next; + select("Then why do you make war and disregard the truth?"); + cutin "kardui02.bmp",1; + mes "[Kardui]"; + mes "Hmm..."; + mes "I'll tell you when we get closer to each other."; + mes "I'm not obligated to talk about this important subject with a person I just met."; + next; + cutin "kardui01.bmp",1; + mes "[Kardui]"; + mes "For now, I will tell the administrative ruler, the elders, and all the guards"; + mes "about you,"; + mes "and you will enjoy all the rights in Eclage as a person who works for the king."; + next; + select("Just hire a worker then!"); + mes "[Kardui]"; + mes "It's a part of building relationships with me, the king of a race. You don't like it?"; + mes "If that's the case, I guess there's no friendship between the two of us."; + next; + select("What do you mean 'the two of us'?"); + mes "[Kardui]"; + mes "Us?"; + mes "Umm..."; + mes "Friends who share their secrets from now on?"; + next; + mes "[Kardui]"; + mes "...Haha...wasn't it funny?"; + mes "What's up with that face."; + mes "Anyway, I allow you to visit anytime."; + next; + cutin "kardui04.bmp",1; + mes "[Kardui]"; + mes "However, if you don't meet my expectation, you won't get anything."; + mes "I'll be looking forward to seeing you, stranger who will be my friend."; + erasequest 7416; + setquest 7417; + set ep14_2_tl,5; + close2; + cutin "kardui01.bmp",255; + end; + } else if (ep14_2_tl == 5) { + mes "[Kardui]"; + mes "Now, you who work for the king!"; + mes "Work your fingers to the bone for me!"; + next; + cutin "kardui04.bmp",1; + mes "[Kardui]"; + mes "...It's a joke."; + mes "I truly want you to become an important figure in Eclage."; + mes "Even if you don't, I want you to be recognized as a harmless person who gives benefit to Eclage."; + next; + mes "[Kardui]"; + mes "It's going to be tough, but think of it as having insurance."; + mes "Some day, a person who remembers your name will be a great help to you."; + close2; + cutin "kardui01.bmp",255; + end; + } +} + +ecl_in01,31,49,6 script Eclage Guard#tl01 447,{ + mes "[Eclage Guard]"; + mes "Oh, I should hurry and go back to where I was."; + mes "Excuse me."; + close; +OnInit: +OnDisable: + disablenpc "Eclage Guard#tl01"; + end; +OnEnable: + enablenpc "Eclage Guard#tl01"; + end; +} + +ecl_fild01,205,86,4 script Eclage Messenger Roy#tl 461,{ + if (ep14_2_tl < 5) { + mes "[Roy]"; + mes "I can make it to Mora Village."; + mes "But how can I go through Hazy Forest? All alone?"; + mes "...Ah... I'm just feeling sorry for myself, so just continue on your way."; + close; + } else { + if (checkquest(7419) == -1) { + mes "[Roy]"; + mes "It's hard."; + mes "It really is hard."; + mes "The more I think about it, I feel like Shenime has a nasty temper."; + emotion e_gasp; + next; + mes "[Roy]"; + mes "You, who appeared in this time of crisis."; + mes "You, who went through Hazy Forest Maze... Are you the guidance of god? Or a blessing from god?"; + next; + mes "[Roy]"; + mes "I guess I have no other choice."; + mes "They say Laphines are nothing without their pride, but since I value my life over pride,"; + mes "can I ask you a favor?"; + next; + switch(select("What is it?:No.")) { + case 1: + mes "[Roy]"; + mes "It's something difficult for Laphines, but for humans, it's very easy."; + mes "That is, brining the news from Splendide!"; + next; + mes "[Roy]"; + mes "I should take care of it but..."; + mes "my magical powers are not all that great."; + next; + mes "[Roy]"; + mes "...well, you don't need to know the details!"; + mes "You just need to collect mails from the contact officer in Splendide."; + next; + mes "[Roy]"; + mes "There's nothing confidential, so you can do it, too."; + mes "Bringing one mail. I'm sure it's easy for you."; + next; + switch(select("Leave it to me!:I don't want to.")) { + case 1: + mes "[Roy]"; + mes "Good!"; + mes "Go to Splendide and meet the contact officer!"; + mes "Collect mails that are not confidential and could be a love letter to someone!"; + mes "and bring them to me, please."; + setquest 7419; + next; + mes "[Roy]"; + mes "Isn't that easy?"; + mes "I'll be standing here and waiting for you to bring me that mail."; + close; + case 2: + mes "[Roy]"; + mes "What? You're saying no after making me talk all this time?"; + mes "....Well, things happen."; + mes "But you'll come back. So I'm not worried."; + next; + mes "[Roy]"; + mes "Hehe. I knew it."; + mes "From the moment they picked me for this job,"; + mes "everything is in 'the big invisible hand!!'"; + close; + } + case 2: + mes "[Roy]"; + mes "Ah..."; + mes "It took you less than a second to say no, how clear is that."; + mes "Now, I'll erase the memory of this very moment!"; + next; + mes "[Roy]"; + mes "So that I could ask you again with a renewed mind."; + mes "Ahahahah...ha...hahha..hahaa.."; + close; + } + } + mes "[Roy]"; + mes "Let me explain again."; + mes "Go to Splendide and meet the contact officer!"; + mes "Collect mails that are not confidential and could be a love letter to someone!"; + mes "and bring them to me, please."; + close; + } +} + +eclage,112,40,4 script Eclage Guard Leo#tl 461,{ + if (ep14_2_tl < 5) { + mes "[Leo]"; + mes "Welcome to Eclage, the capital of Laphines and a gateway to Alpheim."; + mes "I hope you enjoy your trip."; + close; + } else { + if (checkquest(7420) == -1) { + mes "[Leo]"; + mes "Hi, how are you?"; + emotion e_gasp; + next; + mes "[Leo]"; + mes "How are you, really!"; + next; + mes "[Leo]"; + mes "....."; + next; + switch(select("Does he want something?:It's a strange fairy!")) { + case 1: + mes "[Leo]"; + mes "Mayor Jun told us"; + mes "that you would do anything for Laphines and Eclage."; + next; + mes "[Leo]"; + mes "In order to take care of the urgent matter..."; + next; + switch(select("No, I refuse!:What do you want me to do?")) { + case 1: + mes "[Leo]"; + mes "Although you have all the rights to say no, this is what I get..."; + mes "I understand."; + close; + case 2: + mes "[Leo]"; + mes "It's nothing more than a request for Pinguicula's pickled fruits and Luciola's honey jam,"; + mes "which are specialties of Splendide..."; + next; + mes "[Leo]"; + mes "I know it's something personal...but Hazy Forest is such a huge obstacle..."; + mes "so I couldn't help but..."; + next; + select("You said it's something urgent!!!"); + mes "[Leo]"; + mes "I feel like I might die if I don't eat them!!!"; + mes "What's more urgent than this?!!?!?"; + next; + mes "[Leo]"; + mes "You visit Splendide pretty often anyway!"; + mes "On your way back, just carry one under your arm, another in your hand, please~"; + mes "I won't ask you anything like this ever again!"; + next; + mes "[Leo]"; + mes "So...is that yes?"; + mes "I need 3 jars of Pinguicula's pickled fruits and another 3 jars of Luciola's honey jam~"; + mes "They are sold inside the base of Splendide."; + setquest 7420; + next; + mes "[Leo]"; + mes "You might need Splendide Coins to buy pickled fruits and honey jam."; + mes "You could earn those coins if you work in Splendide, so...hehe.........."; + next; + mes "[Leo]"; + mes "Helping out in Splendide is eventually helping Eclage, too."; + mes "Now, go for it!"; + close; + } + case 2: + mes "[Leo]"; + mes "Oh...no. I'm not a weird Laphine."; + mes "You got me wrong. It's a misunderstanding..."; + close; + } + } + mes "[Leo]"; + mes "I need 3 jars of Pinguicula's pickled fruits and another 3 jars of Luciola's honey jam~"; + mes "They are specialties of the base of Splendide."; + mes "I'll be counting on you!"; + close; + } +} + +ecl_in03,245,54,2 script Working Laphine 439,{ //Laphine on official duty#tl01 + mes "[Working Laphine]"; + mes "This is the office area designated for official business."; + mes "You're not supposed to be here."; + close; +} + +ecl_in03,244,57,4 script Resting Laphine#tl01 440,{ + mes "Two Laphines from the upper class are talking about something."; + mes "One of them seems to be working and very annoyed."; + mes "As if they were aware of my stare, they waved me away with a show of irritation."; + close; +} + +ecl_in02,98,32,2 script Eclage Guard#tl1b 461,{ + mes "[Eclage Guard]"; + mes "This the prison where we put criminals."; + mes "No outsiders can enter."; + close; +} + +eclage,274,294,4 script Conversing Laphine 436,{ //Laphines in a conversation#tl02 + mes "A female Laphine and a male Laphine are talking about something."; + mes "But they stopped talking as soon as they saw me."; + mes "I think I've interrupted the conversation."; + close; +} + +eclage,275,294,2 script Eclage Resident#tl02 445,{ + mes "[Male Laphine]"; + mes "You're visiting Eclage?"; + mes "I hope you have a good time here."; + close; +} + +eclage,307,237,0 script Normal Yai#tllb 844,{ + mes "This is a Laphine's Yai."; + mes "The door is locked shut."; + cutin "avn_labo.bmp",4; + close2; + cutin "avn_labo.bmp",255; + end; +} + +// Unknown +//============================================================ +ecl_fild01,173,95,4 script Diary Frog No. 30#worm 614,{ + mes "[Diary Frog No. 30]"; + mes "As you can see, I am a broken Diary Frog."; + mes "Professor Worm threw me out really hard all the way out here."; + mes "I didn't even do anything wrong!"; + close; +} + +eclage,156,56,0 script Residence Entrance 844,{} diff --git a/npc/re/scripts_athena.conf b/npc/re/scripts_athena.conf index 17385551cb..3eafd842e5 100644 --- a/npc/re/scripts_athena.conf +++ b/npc/re/scripts_athena.conf @@ -10,6 +10,7 @@ npc: npc/re/cities/alberta.txt npc: npc/re/cities/brasilis.txt npc: npc/re/cities/dewata.txt npc: npc/re/cities/dicastes.txt +npc: npc/re/cities/eclage.txt npc: npc/re/cities/izlude.txt npc: npc/re/cities/jawaii.txt npc: npc/re/cities/malangdo.txt @@ -25,6 +26,7 @@ npc: npc/re/guides/guides_brasilis.txt npc: npc/re/guides/guides_comodo.txt npc: npc/re/guides/guides_dewata.txt npc: npc/re/guides/guides_dicastes.txt +npc: npc/re/guides/guides_eclage.txt npc: npc/re/guides/guides_einbroch.txt npc: npc/re/guides/guides_geffen.txt npc: npc/re/guides/guides_gonryun.txt @@ -98,6 +100,7 @@ npc: npc/re/quests/quests_13_1.txt npc: npc/re/quests/quests_brasilis.txt npc: npc/re/quests/quests_dewata.txt npc: npc/re/quests/quests_dicastes.txt +npc: npc/re/quests/quests_eclage.txt npc: npc/re/quests/quests_izlude.txt npc: npc/re/quests/quests_lighthalzen.txt npc: npc/re/quests/quests_malangdo.txt diff --git a/npc/re/warps/cities/eclage.txt b/npc/re/warps/cities/eclage.txt index c67bf202f7..02c2685ef8 100644 --- a/npc/re/warps/cities/eclage.txt +++ b/npc/re/warps/cities/eclage.txt @@ -3,19 +3,20 @@ //===== By: ================================================== //= Chilly //===== Current Version: ===================================== -//= 1.0 +//= 1.0a //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Warp Points for Eclage //===== Additional Comments: ================================= //= 1.0 First Version. +//= 1.0a Disabled quest warp. [Euphy] //============================================================ // Town Warps bif_fild02,292,351,0 warp eclage_field0001 1,1,ecl_fild01,205,74 ecl_fild01,207,72,0 warp eclage_field0002 1,1,bif_fild02,294,349 -ecl_fild01,97,320,0 warp eclage_field0003 1,1,eclage,100,28 +//ecl_fild01,97,320,0 warp eclage_field0003 1,1,eclage,100,28 eclage,98,26,0 warp eclage_field0004 1,1,ecl_fild01,97,317 eclage,299,309,0 warp eclage_field0005 1,1,ecl_in01,47,11 ecl_in01,47,8,0 warp eclage_field0006 1,1,eclage,297,307 diff --git a/sql-files/item_db_re.sql b/sql-files/item_db_re.sql index 25fcd9eda4..329f73d5ab 100644 --- a/sql-files/item_db_re.sql +++ b/sql-files/item_db_re.sql @@ -6265,7 +6265,7 @@ REPLACE INTO `item_db_re` VALUES (13075,'Kurenai','Kurenai',4,5000,NULL,700,'130 REPLACE INTO `item_db_re` VALUES (13076,'Raksasa_Dagger','Nachal Sword',4,40000,NULL,600,'120:100',NULL,1,1,0x02000000,7,2,2,3,'110',1,1,'bonus bInt,3;',NULL,NULL); #13077, REPLACE INTO `item_db_re` VALUES (13078,'Mikatsuki','Mikacheuki',4,40000,NULL,600,'50:120',NULL,1,1,0x02000000,7,2,2,4,'100',1,1,NULL,NULL,NULL); -13079,Metal_Dagger,Metal Dagger,4,20,,0,55,0,,1,0x02021040,7,2,2,3,1,1,1,{} +REPLACE INTO `item_db_re` VALUES (13079,'Metal_Dagger','Metal Dagger',4,20,NULL,0,'55',0,NULL,1,0x02021040,7,2,2,3,'1',1,1,NULL,NULL,NULL); # REPLACE INTO `item_db_re` VALUES (13092,'RWC_Memory_Knife','RWC Memory Knife',4,1000,500,650,'50',0,1,1,0x02800075,15,2,2,3,'1',1,1,'bonus bBaseAtk,20*(getrefine()/3); bonus bMatk,20*(getrefine()/3); bonus4 bAutoSpell,"BS_WEAPONPERFECT",1,50,0; if(getrefine()>=9) set .@i,1; if(getrefine()>=6){ set .@rate,5*(.@i+1); bonus2 bAddRace,RC_Boss,.@rate; bonus2 bAddRace,RC_NonBoss,.@rate; bonus2 bMagicAddRace,RC_Boss,.@rate; bonus2 bMagicAddRace,RC_NonBoss,.@rate; }',NULL,NULL); # Revolvers diff --git a/src/common/mmo.h b/src/common/mmo.h index 33e156fbe6..5beb5dc0ec 100644 --- a/src/common/mmo.h +++ b/src/common/mmo.h @@ -100,7 +100,7 @@ #define MAX_GUILDSKILL 15 // increased max guild skills because of new skills [Sara-chan] #define MAX_GUILDLEVEL 50 #define MAX_GUARDIANS 8 //Local max per castle. [Skotlex] -#define MAX_QUEST_DB 2500 //Max quests that the server will load +#define MAX_QUEST_DB 2700 //Max quests that the server will load #define MAX_QUEST_OBJECTIVES 3 //Max quest objectives for a quest // for produce diff --git a/src/map/skill.c b/src/map/skill.c index 496603ab83..603f5cfa57 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -553,6 +553,7 @@ int skillnotok (uint16 skill_id, struct map_session_data *sd) case AL_WARP: case RETURN_TO_ELDICASTES: case ALL_GUARDIAN_RECALL: + case ECLAGE_RECALL: if(map[m].flag.nowarp) { clif_skill_teleportmessage(sd,0); return 1; @@ -561,6 +562,7 @@ int skillnotok (uint16 skill_id, struct map_session_data *sd) case AL_TELEPORT: case SC_FATALMENACE: case SC_DIMENSIONDOOR: + case ALL_ODINS_RECALL: if(map[m].flag.noteleport) { clif_skill_teleportmessage(sd,0); return 1; @@ -5475,6 +5477,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui case SR_GENTLETOUCH_ENERGYGAIN: case GN_CARTBOOST: case KO_MEIKYOUSISUI: + case ALL_ODINS_POWER: clif_skill_nodamage(src,bl,skill_id,skill_lv, sc_start(src,bl,type,100,skill_lv,skill_get_time(skill_id,skill_lv))); break; @@ -6233,6 +6236,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui break; case AL_TELEPORT: + case ALL_ODINS_RECALL: if(sd) { if (map[bl->m].flag.noteleport && skill_lv <= 2) { @@ -6255,7 +6259,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui } clif_skill_nodamage(src,bl,skill_id,skill_lv,1); - if( skill_lv == 1 ) + if( skill_lv == 1 && skill_id != ALL_ODINS_RECALL ) clif_skill_warppoint(sd,skill_id,skill_lv, (unsigned short)-1,0,0,0); else clif_skill_warppoint(sd,skill_id,skill_lv, (unsigned short)-1,sd->status.save_point.map,0,0); @@ -8761,26 +8765,32 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui } break; - case RETURN_TO_ELDICASTES: case ALL_GUARDIAN_RECALL: + case ECLAGE_RECALL: if( sd ) { short x, y; // Destiny position. unsigned short mapindex; - if( skill_id == RETURN_TO_ELDICASTES) + if ( skill_id == RETURN_TO_ELDICASTES ) { x = 198; y = 187; mapindex = mapindex_name2id(MAP_DICASTES); } - else + else if ( skill_id == ALL_GUARDIAN_RECALL ) { x = 44; y = 151; mapindex = mapindex_name2id(MAP_MORA); } + else if ( skill_id == ECLAGE_RECALL ) + { + x = 47; + y = 31; + mapindex = mapindex_name2id("ecl_in01"); + } if(!mapindex) { //Given map not found? @@ -8792,6 +8802,41 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui } break; + case ECL_SNOWFLIP: + case ECL_PEONYMAMY: + case ECL_SADAGUI: + case ECL_SEQUOIADUST: + if ( skill_id == ECL_SNOWFLIP ) + { + status_change_end(bl, SC_SLEEP, INVALID_TIMER); + status_change_end(bl, SC_BLEEDING, INVALID_TIMER); + status_change_end(bl, SC_BURNING, INVALID_TIMER); + status_change_end(bl, SC_DEEPSLEEP, INVALID_TIMER); + } + else if ( skill_id == ECL_PEONYMAMY ) + { + status_change_end(bl, SC_FREEZE, INVALID_TIMER); + status_change_end(bl, SC_FREEZING, INVALID_TIMER); + status_change_end(bl, SC_CRYSTALIZE, INVALID_TIMER); + } + else if ( skill_id == ECL_SADAGUI ) + { + status_change_end(bl, SC_STUN, INVALID_TIMER); + status_change_end(bl, SC_CONFUSION, INVALID_TIMER); + status_change_end(bl, SC_HALLUCINATION, INVALID_TIMER); + status_change_end(bl, SC_FEAR, INVALID_TIMER); + } + else if ( skill_id == ECL_SEQUOIADUST ) + { + status_change_end(bl, SC_STONE, INVALID_TIMER); + status_change_end(bl, SC_POISON, INVALID_TIMER); + status_change_end(bl, SC_CURSE, INVALID_TIMER); + status_change_end(bl, SC_BLIND, INVALID_TIMER); + status_change_end(bl, SC_ORCISH, INVALID_TIMER); + } + clif_skill_nodamage(src,bl,skill_id,skill_lv,1); + break; + case GM_SANDMAN: if( tsc ) { if( tsc->opt1 == OPT1_SLEEP ) @@ -10577,9 +10622,10 @@ int skill_castend_map (struct map_session_data *sd, uint16 skill_id, const char switch(skill_id) { case AL_TELEPORT: + case ALL_ODINS_RECALL: if(strcmp(map,"Random")==0) pc_randomwarp(sd,CLR_TELEPORT); - else if (sd->menuskill_val > 1) //Need lv2 to be able to warp here. + else if (sd->menuskill_val > 1 || skill_id == ALL_ODINS_RECALL) //Need lv2 to be able to warp here. pc_setpos(sd,sd->status.save_point.map,sd->status.save_point.x,sd->status.save_point.y,CLR_TELEPORT); break; diff --git a/src/map/status.c b/src/map/status.c index 835e6870df..f8a6ee35ad 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -1574,6 +1574,7 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, uin return 0; break; case AL_TELEPORT: + case ALL_ODINS_POWER: //Should fail when used on top of Land Protector [Skotlex] if (src && map_getcell(src->m, src->x, src->y, CELL_CHKLANDPROTECTOR) && !(status->mode&MD_BOSS)