Browse Source

* Implemented Buwaya Cave instance.
* Implemented Bakonawa Lake instance.
* Monsters can now spawn on unwalkable cells, as required by the new instances. (credits: Akinari)
* Implemented 2012 RWC Enchants script, disabled by default.
* Reverted change to Mora Enchants from r17387, as the additional items are only present on iRO. (credits: Ziu)
* Fixed some errors from recent updates.
* Applied eol-style:native property to newly added files.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17397 54d463be-8e91-2dee-dedb-b68131a5f0ec

euphyy 12 years ago
parent
commit
f488861298

+ 0 - 0
db/pre-re/exp.txt → db/pre-re/job_exp.txt


+ 2 - 1
db/pre-re/job_maxhpsp_db.txt

@@ -1,6 +1,7 @@
 //MaxHP & MaxSP tables format:
 //MaxHP & MaxSP tables format:
-//Max Level,Class list,Type,Max value for Lv 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99
+//Start Level,Max Level,Class list,Type,Max value for Lv 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99
 //Type (0 - MaxHP; 1 - MaxSP) 
 //Type (0 - MaxHP; 1 - MaxSP) 
+
 //===================================
 //===================================
 // Pre-Renewal MaxHP & MaxSP Database
 // Pre-Renewal MaxHP & MaxSP Database
 //===================================
 //===================================

+ 34 - 34
db/quest_db.txt

@@ -552,38 +552,38 @@
 4197,10800,0,0,0,0,0,0,"Octopus"
 4197,10800,0,0,0,0,0,0,"Octopus"
 
 
 // Paradise Cooldowns
 // Paradise Cooldowns
-4198,10800,,0,0,0,0,0,0,"86-90 Mission Board Timer"
-4199,10800,,0,0,0,0,0,0,"86-90 Mission Board Timer"
-4200,10800,,0,0,0,0,0,0,"86-90 Mission Board Timer"
-4201,10800,,0,0,0,0,0,0,"86-90 Mission Board Timer"
-4202,10800,,0,0,0,0,0,0,"86-90 Mission Board Timer"
-4203,10800,,0,0,0,0,0,0,"86-90 Mission Board Timer"
-4204,10800,,0,0,0,0,0,0,"86-90 Mission Board Timer"
-4205,10800,,0,0,0,0,0,0,"86-90 Mission Board Timer"
-4206,10800,,0,0,0,0,0,0,"86-90 Mission Board Timer"
-4207,10800,,0,0,0,0,0,0,"86-90 Mission Board Timer"
-4208,10800,,0,0,0,0,0,0,"86-90 Mission Board Timer"
-4209,10800,,0,0,0,0,0,0,"86-90 Mission Board Timer"
-4210,10800,,0,0,0,0,0,0,"86-90 Mission Board Timer"
-4211,10800,,0,0,0,0,0,0,"86-90 Mission Board Timer"
-4212,10800,,0,0,0,0,0,0,"91-99 Mission Board Timer"
-4213,10800,,0,0,0,0,0,0,"91-99 Mission Board Timer"
-4214,10800,,0,0,0,0,0,0,"91-99 Mission Board Timer"
-4215,10800,,0,0,0,0,0,0,"91-99 Mission Board Timer"
-4216,10800,,0,0,0,0,0,0,"91-99 Mission Board Timer"
-4217,10800,,0,0,0,0,0,0,"91-99 Mission Board Timer"
-4218,10800,,0,0,0,0,0,0,"91-99 Mission Board Timer"
-4219,10800,,0,0,0,0,0,0,"91-99 Mission Board Timer"
-4220,10800,,0,0,0,0,0,0,"91-99 Mission Board Timer"
-4221,10800,,0,0,0,0,0,0,"91-99 Mission Board Timer"
-4222,10800,,0,0,0,0,0,0,"91-99 Mission Board Timer"
-4223,10800,,0,0,0,0,0,0,"91-99 Mission Board Timer"
-4224,10800,,0,0,0,0,0,0,"91-99 Mission Board Timer"
-4225,10800,,0,0,0,0,0,0,"91-99 Mission Board Timer"
-4226,10800,,0,0,0,0,0,0,"91-99 Mission Board Timer"
-4227,10800,,0,0,0,0,0,0,"91-99 Mission Board Timer"
-
-4229,0,0,0,0,0,0,0,"Devil in the Cave"
+4198,10800,0,0,0,0,0,0,"86-90 Mission Board Timer"
+4199,10800,0,0,0,0,0,0,"86-90 Mission Board Timer"
+4200,10800,0,0,0,0,0,0,"86-90 Mission Board Timer"
+4201,10800,0,0,0,0,0,0,"86-90 Mission Board Timer"
+4202,10800,0,0,0,0,0,0,"86-90 Mission Board Timer"
+4203,10800,0,0,0,0,0,0,"86-90 Mission Board Timer"
+4204,10800,0,0,0,0,0,0,"86-90 Mission Board Timer"
+4205,10800,0,0,0,0,0,0,"86-90 Mission Board Timer"
+4206,10800,0,0,0,0,0,0,"86-90 Mission Board Timer"
+4207,10800,0,0,0,0,0,0,"86-90 Mission Board Timer"
+4208,10800,0,0,0,0,0,0,"86-90 Mission Board Timer"
+4209,10800,0,0,0,0,0,0,"86-90 Mission Board Timer"
+4210,10800,0,0,0,0,0,0,"86-90 Mission Board Timer"
+4211,10800,0,0,0,0,0,0,"86-90 Mission Board Timer"
+4212,10800,0,0,0,0,0,0,"91-99 Mission Board Timer"
+4213,10800,0,0,0,0,0,0,"91-99 Mission Board Timer"
+4214,10800,0,0,0,0,0,0,"91-99 Mission Board Timer"
+4215,10800,0,0,0,0,0,0,"91-99 Mission Board Timer"
+4216,10800,0,0,0,0,0,0,"91-99 Mission Board Timer"
+4217,10800,0,0,0,0,0,0,"91-99 Mission Board Timer"
+4218,10800,0,0,0,0,0,0,"91-99 Mission Board Timer"
+4219,10800,0,0,0,0,0,0,"91-99 Mission Board Timer"
+4220,10800,0,0,0,0,0,0,"91-99 Mission Board Timer"
+4221,10800,0,0,0,0,0,0,"91-99 Mission Board Timer"
+4222,10800,0,0,0,0,0,0,"91-99 Mission Board Timer"
+4223,10800,0,0,0,0,0,0,"91-99 Mission Board Timer"
+4224,10800,0,0,0,0,0,0,"91-99 Mission Board Timer"
+4225,10800,0,0,0,0,0,0,"91-99 Mission Board Timer"
+4226,10800,0,0,0,0,0,0,"91-99 Mission Board Timer"
+4227,10800,0,0,0,0,0,0,"91-99 Mission Board Timer"
+
+4229,86400,0,0,0,0,0,0,"Devil in the Cave"
 
 
 4254,0,0,0,0,0,0,0,"Fairy with a stomache"
 4254,0,0,0,0,0,0,0,"Fairy with a stomache"
 4255,0,0,0,0,0,0,0,"Revenge!"
 4255,0,0,0,0,0,0,0,"Revenge!"
@@ -2262,8 +2262,8 @@
 12273,579600,0,0,0,0,0,0,"In progress general culvert weekly service"
 12273,579600,0,0,0,0,0,0,"In progress general culvert weekly service"
 12274,579600,0,0,0,0,0,0,"In progress hard culvert weekly service"
 12274,579600,0,0,0,0,0,0,"In progress hard culvert weekly service"
 
 
-12278,0,0,0,0,0,0,0,"Towards Bakonawa Lake..."
-12279,0,0,0,0,0,0,0,"Get Rid of Bakonawa"
+12278,604800,0,0,0,0,0,0,"Towards Bakonawa Lake..."
+12279,0,2322,1,0,0,0,0,"Get Rid of Bakonawa"
 
 
 12280,0,0,0,0,0,0,0,"A suspicious prisoner"
 12280,0,0,0,0,0,0,0,"A suspicious prisoner"
 12281,0,0,0,0,0,0,0,"An unwanted favor"
 12281,0,0,0,0,0,0,0,"An unwanted favor"

File diff suppressed because it is too large
+ 0 - 9
db/re/exp.txt


+ 2 - 2
db/re/instance_db.txt

@@ -11,7 +11,7 @@
 5,Culvert,3600,1@pump,63,98,1@pump,2@pump
 5,Culvert,3600,1@pump,63,98,1@pump,2@pump
 6,Octopus Cave,3600,1@cash,199,99,1@cash
 6,Octopus Cave,3600,1@cash,199,99,1@cash
 7,Bangungot Hospital 2F,3600,1@ma_h,40,157,1@ma_h
 7,Bangungot Hospital 2F,3600,1@ma_h,40,157,1@ma_h
-8,Buwaya Cave,3600,1@ma_c,31,56,1@ma_c
-9,Bakonawa Lake,7200,1@ma_b,77,52,1@ma_b
+8,Buwaya Cave,3600,1@ma_c,35,57,1@ma_c
+9,Bakonawa Lake,7200,1@ma_b,64,51,1@ma_b
 //10,Wolfchev's Laboratory,14400,1@lhz,45,148,1@lhz
 //10,Wolfchev's Laboratory,14400,1@lhz,45,148,1@lhz
 //11,Old Glast Heim,3600,1@gl_k,150,20,1@gl_k,2@gl_k
 //11,Old Glast Heim,3600,1@gl_k,150,20,1@gl_k,2@gl_k

+ 1 - 1
db/re/job_maxhpsp_db.txt

@@ -1,5 +1,5 @@
 //MaxHP & MaxSP tables format:
 //MaxHP & MaxSP tables format:
-//Startlvl,Max Level,Class list,Type,Max value for Lv 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99
+//Start Level,Max Level,Class list,Type,Max value for Lv 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99
 //Type (0 - MaxHP; 1 - MaxSP)
 //Type (0 - MaxHP; 1 - MaxSP)
 
 
 //===============================
 //===============================

+ 5 - 5
db/re/mob_db.txt

@@ -1468,15 +1468,15 @@
 2326,M_GALAPAGO,Galapago,Galapago,45,7513,201,0,0,1,760,155,70,40,30,28,29,18,30,16,10,12,0,2,22,0x37B5,165,1430,1080,1080,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2326,M_GALAPAGO,Galapago,Galapago,45,7513,201,0,0,1,760,155,70,40,30,28,29,18,30,16,10,12,0,2,22,0x37B5,165,1430,1080,1080,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2327,BANGUNGOT_3,Bangungot,Bangungot,115,250,1,0,0,1,2561,1504,411,95,151,192,110,112,251,57,10,12,1,6,47,0x30F5,2000,0,0,0,0,0,0,0,0,0,0,6517,2000,6524,50,6499,2000,2491,1000,2169,100,6499,10000,0,0,0,0,0,0,0,0
 2327,BANGUNGOT_3,Bangungot,Bangungot,115,250,1,0,0,1,2561,1504,411,95,151,192,110,112,251,57,10,12,1,6,47,0x30F5,2000,0,0,0,0,0,0,0,0,0,0,6517,2000,6524,50,6499,2000,2491,1000,2169,100,6499,10000,0,0,0,0,0,0,0,0
 2328,MA_DRUM,Drum,Drum,1,200,0,0,0,1,1,1,100,99,0,0,0,0,0,0,10,12,0,0,20,0x40,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2328,MA_DRUM,Drum,Drum,1,200,0,0,0,1,1,1,100,99,0,0,0,0,0,0,10,12,0,0,20,0x40,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-2329,BUWAYA_EGG,Buwaya Egg,Buwaya Egg,100,10000,1,0,0,0,1,1,90,90,1,1,1,1,1,1,10,12,0,0,60,0x0,2000,1001,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-2330,BUWAYA_SLAVE,Buwaya Slave,Buwaya Slave,135,20145,1,0,0,1,2413,2041,105,71,151,120,110,102,143,61,10,12,0,3,22,0x3795,200,576,960,504,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-2331,MA_SEAW,Seaweed,Seaweed,100,10,1,0,0,1,1,1,1,1,1,1,1,1,1,1,10,12,0,5,21,0x40,2000,384,720,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+2329,BUWAYA_EGG,Buwaya's Egg,Buwaya's Egg,100,10000,1,0,0,0,1,1,90,90,1,1,1,1,1,1,10,12,0,0,60,0x0,2000,1001,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+2330,BUWAYA_SLAVE,Buwaya's Slave,Buwaya's Slave,135,20145,1,0,0,1,2413,2041,105,71,151,120,110,102,143,61,10,12,0,3,22,0x3795,200,576,960,504,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+2331,MA_SEAW,Seaweed,Seaweed,100,10,1,0,0,1,1,1,1,1,1,1,1,1,1,1,10,12,0,5,21,0x1C4,2000,384,720,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2332,BUWAYA_GHOST,Fake Buwaya,Fake Buwaya,138,30000,1,0,0,1,1280,1252,481,78,201,248,174,112,371,57,10,12,0,3,81,0x37B5,100,1424,576,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2332,BUWAYA_GHOST,Fake Buwaya,Fake Buwaya,138,30000,1,0,0,1,1280,1252,481,78,201,248,174,112,371,57,10,12,0,3,81,0x37B5,100,1424,576,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2333,BUWAYA_WEAK,Buwaya's Weakness,Buwaya's Weakness,138,20,1,0,0,1,0,1,100,78,0,0,0,0,0,0,10,12,0,3,81,0x60,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2333,BUWAYA_WEAK,Buwaya's Weakness,Buwaya's Weakness,138,20,1,0,0,1,0,1,100,78,0,0,0,0,0,0,10,12,0,3,81,0x60,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2334,G_WAKWAK,Wakwak,Wakwak,145,194830,1,0,0,1,1544,3171,24,104,101,154,104,184,151,71,10,12,0,6,47,0x83,100,424,576,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2334,G_WAKWAK,Wakwak,Wakwak,145,194830,1,0,0,1,1544,3171,24,104,101,154,104,184,151,71,10,12,0,6,47,0x83,100,424,576,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2335,MA_TREASURE,Treasure Chest,Treasure Chest,140,5,0,0,0,1,0,0,100,0,0,0,0,0,1199,0,10,12,0,0,26,0x120,0,0,0,0,0,0,0,0,0,0,0,6516,2000,6524,50,6499,2000,15051,1000,2169,100,969,2000,6499,10000,0,0,0,0,0,0
 2335,MA_TREASURE,Treasure Chest,Treasure Chest,140,5,0,0,0,1,0,0,100,0,0,0,0,0,1199,0,10,12,0,0,26,0x120,0,0,0,0,0,0,0,0,0,0,0,6516,2000,6524,50,6499,2000,15051,1000,2169,100,969,2000,6499,10000,0,0,0,0,0,0
 2336,DOMOVOI,Domovoi,Domovoi,38,898,1,135,152,1,63,11,40,0,20,11,34,20,19,10,10,12,0,2,22,0x83,200,800,1200,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2336,DOMOVOI,Domovoi,Domovoi,38,898,1,135,152,1,63,11,40,0,20,11,34,20,19,10,10,12,0,2,22,0x83,200,800,1200,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-2337,HIDDEN_MOB,Hidden Mob,Hidden Mob,151,10000,200,0,0,7,0,1000,200,10,200,200,200,200,200,200,12,12,0,4,88,0x40,2000,0,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+2337,HIDDEN_MOB,Hidden Mob,Hidden Mob,151,10000,200,0,0,7,0,1000,200,10,200,200,200,200,200,200,12,12,0,4,88,0x1C4,2000,0,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2338,MD_MANANANGGAL,Bangungot Manananggal,Bangungot Manananggal,107,204511,1,0,0,1,801,103,64,31,75,85,45,71,75,46,10,12,1,6,47,0x3795,100,280,720,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2338,MD_MANANANGGAL,Bangungot Manananggal,Bangungot Manananggal,107,204511,1,0,0,1,801,103,64,31,75,85,45,71,75,46,10,12,1,6,47,0x3795,100,280,720,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2339,MD_MANGKUKULAM,Bangungot Mangkukulam,Bangungot Mangkukulam,110,102154,1,0,0,1,582,196,89,75,35,71,31,82,64,52,10,12,1,6,40,0x3795,150,1664,336,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2339,MD_MANGKUKULAM,Bangungot Mangkukulam,Bangungot Mangkukulam,110,102154,1,0,0,1,582,196,89,75,35,71,31,82,64,52,10,12,1,6,40,0x3795,150,1664,336,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2340,MD_TIYANAK,Tiyanak,Tiyanak,105,50211,1,0,0,1,457,251,76,21,41,58,41,51,72,47,10,12,0,6,47,0x3795,100,496,504,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2340,MD_TIYANAK,Tiyanak,Tiyanak,105,50211,1,0,0,1,457,251,76,21,41,58,41,51,72,47,10,12,0,6,47,0x3795,100,496,504,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@@ -1484,7 +1484,7 @@
 
 
 // Additional Mercenary Monsters
 // Additional Mercenary Monsters
 2342,MER_DIABOLIC,Diabolic,Diabolic,83,9815,234,0,0,2,1100,200,60,60,85,90,71,43,85,105,10,12,0,6,47,0x37B5,150,1080,780,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2342,MER_DIABOLIC,Diabolic,Diabolic,83,9815,234,0,0,2,1100,200,60,60,85,90,71,43,85,105,10,12,0,6,47,0x37B5,150,1080,780,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-2343,HIDDEN_MOB_W,Hidden Mob,Hidden Mob,151,10000,200,0,0,7,0,1000,200,10,200,200,200,200,200,200,12,12,0,4,88,0x40,2000,0,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+2343,HIDDEN_MOB_W,Hidden Mob,Hidden Mob,151,10000,200,0,0,7,0,1000,200,10,200,200,200,200,200,200,12,12,0,4,88,0x1C4,2000,0,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2344,MER_WISH_MAIDEN,Wish Maiden,Wish Maiden,83,9815,234,0,0,2,1100,200,60,60,85,90,71,43,85,105,10,12,0,6,47,0x83,150,1080,780,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2344,MER_WISH_MAIDEN,Wish Maiden,Wish Maiden,83,9815,234,0,0,2,1100,200,60,60,85,90,71,43,85,105,10,12,0,6,47,0x83,150,1080,780,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2345,MER_ZHERLTHSH,Zherlthsh,Zealotus,83,9815,234,0,0,2,1100,200,60,60,85,90,71,43,85,105,10,12,0,6,47,0x37B5,150,1080,780,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2345,MER_ZHERLTHSH,Zherlthsh,Zealotus,83,9815,234,0,0,2,1100,200,60,60,85,90,71,43,85,105,10,12,0,6,47,0x37B5,150,1080,780,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2346,MER_KTULLANUX,Ktullanux,Ktullanux,83,9815,234,0,0,2,1100,200,60,60,85,90,71,43,85,105,10,12,0,6,47,0x37B5,150,1080,780,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 2346,MER_KTULLANUX,Ktullanux,Ktullanux,83,9815,234,0,0,2,1100,200,60,60,85,90,71,43,85,105,10,12,0,6,47,0x37B5,150,1080,780,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

+ 66 - 30
db/re/mob_skill_db.txt

@@ -7882,24 +7882,67 @@
 2317,Bangungot@WZ_METEOR,chase,83,11,5000,500,20000,no,target,always,0,,,,,,,
 2317,Bangungot@WZ_METEOR,chase,83,11,5000,500,20000,no,target,always,0,,,,,,,
 2317,Bangungot@WZ_METEOR,attack,83,11,2000,500,20000,no,target,always,0,,,,,,,
 2317,Bangungot@WZ_METEOR,attack,83,11,2000,500,20000,no,target,always,0,,,,,,,
 2317,Bangungot@NPC_ALLHEAL,idle,687,1,10000,30000,30000,yes,self,myhpltmaxrate,60,,,,,,,
 2317,Bangungot@NPC_ALLHEAL,idle,687,1,10000,30000,30000,yes,self,myhpltmaxrate,60,,,,,,,
-2318,Bangungot@NPC_ALLHEAL,idle,687,1,10000,2000,10000,no,self,always,0,,,,,,,
-2319,Buwaya@CR_REFLECTSHIELD,idle,252,5,10000,0,300000,yes,self,always,0,,,,,,,
-2319,Buwaya@CR_REFLECTSHIELD,chase,252,5,10000,0,300000,yes,self,always,0,,,,,,32,
+2318,Bangungot@NPC_ALLHEAL,idle,687,1,3000,2000,5000,no,self,always,0,,,,,,,
+2318,Bangungot@NPC_ALLHEAL,attack,687,1,3000,2000,5000,no,self,always,0,,,,,,,
+2319,Buwaya@NPC_DRAGONFEAR,chase,659,5,10000,0,30000,no,self,always,0,,,,,,6,
+2319,Buwaya@NPC_DRAGONFEAR,attack,659,5,2000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32,
+2319,Buwaya@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,0,,,,,,,
+2319,Buwaya@NPC_ICEBREATH,attack,655,5,500,800,5000,no,target,always,0,,,,,,32,
+2319,Buwaya@NPC_DARKBREATH,attack,202,5,500,800,5000,no,target,always,0,,,,,,36,
+2319,Buwaya@NPC_POWERUP,attack,349,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,36,
+2319,Buwaya@NPC_ARMORBRAKE,attack,344,10,2000,0,5000,yes,target,always,0,,,,,,29,
+2319,Buwaya@NPC_WEAPONBRAKER,attack,343,10,500,0,30000,yes,target,always,0,,,,,,,
 2319,Buwaya@CR_REFLECTSHIELD,attack,252,5,10000,0,300000,yes,self,always,0,,,,,,32,
 2319,Buwaya@CR_REFLECTSHIELD,attack,252,5,10000,0,300000,yes,self,always,0,,,,,,32,
-2319,Buwaya@WZ_METEOR,attack,83,11,2000,500,2000,no,target,always,0,,,,,,,
-2319,Buwaya@WZ_METEOR,chase,83,11,2000,500,2000,no,target,always,0,,,,,,,
-2319,Buwaya@WZ_VERMILION,chase,85,20,2000,500,2000,no,target,always,0,,,,,,,
-2319,Buwaya@WZ_VERMILION,attack,85,20,2000,500,2000,no,target,always,0,,,,,,,
-2319,Buwaya@WZ_STORMGUST,chase,89,10,2000,500,2000,no,target,always,0,,,,,,,
+2319,Buwaya@CR_REFLECTSHIELD,chase,252,5,10000,0,300000,yes,self,always,0,,,,,,32,
 2319,Buwaya@WZ_STORMGUST,attack,89,10,2000,500,2000,no,target,always,0,,,,,,,
 2319,Buwaya@WZ_STORMGUST,attack,89,10,2000,500,2000,no,target,always,0,,,,,,,
-2320,Bakonawa@WZ_STORMGUST,attack,89,10,10000,500,10000,no,target,always,0,,,,,,,
-2320,Bakonawa@WZ_VERMILION,attack,85,20,10000,500,10000,no,target,always,0,,,,,,,
-2320,Bakonawa@WZ_METEOR,idle,83,11,10000,0,0,yes,randomtarget,longrangeattacked,,,,,,,9,
-2320,Bakonawa@WZ_METEOR,idle,83,11,10000,0,0,yes,randomtarget,casttargeted,,,,,,,9,
-2320,Bakonawa@WZ_METEOR,attack,83,11,10000,0,1000,yes,target,always,0,,,,,,,
+2319,Buwaya@WZ_STORMGUST,chase,89,10,2000,500,2000,no,target,always,0,,,,,,,
+2319,Buwaya@WZ_VERMILION,attack,85,20,2000,500,2000,no,target,always,0,,,,,,,
+2319,Buwaya@WZ_VERMILION,chase,85,20,2000,500,2000,no,target,always,0,,,,,,,
+2319,Buwaya@WZ_WATERBALL,chase,86,10,5000,500,1000,no,target,always,0,,,,,,,
+2319,Buwaya@SM_PROVOKE,attack,6,10,10000,0,30000,yes,target,always,0,,,,,,6,
+2319,Buwaya@WZ_JUPITEL,attack,84,10,10000,0,5000,yes,target,attackpcge,2,,,,,,,
+2319,Buwaya@AL_HEAL,idle,28,11,10000,0,5000,yes,self,myhpltmaxrate,30,,,,,,47,
+2319,Buwaya@AL_HEAL,attack,28,11,10000,0,5000,yes,self,myhpltmaxrate,30,,,,,,47,
+2319,Buwaya@AL_HEAL,chase,28,11,10000,0,5000,yes,self,myhpltmaxrate,30,,,,,,47,
+2319,Buwaya@NPC_CRITICALWOUND,attack,673,3,2000,0,60000,yes,target,always,0,,,,,,,
+2320,Bakonawa@AL_HEAL,idle,28,11,10000,0,5000,yes,self,myhpltmaxrate,30,,,,,,47,
+2320,Bakonawa@AL_HEAL,attack,28,11,10000,0,5000,yes,self,myhpltmaxrate,30,,,,,,47,
+2320,Bakonawa@AL_HEAL,chase,28,11,10000,0,5000,yes,self,myhpltmaxrate,30,,,,,,47,
+2320,Bakonawa@NPC_RANDOMATTACK,attack,183,5,500,500,5000,no,target,always,0,,,,,,6,
+2320,Bakonawa@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,0,,,,,,,
+2320,Bakonawa@NPC_COMBOATTACK,attack,171,2,500,700,5000,no,target,always,0,,,,,,,
+2320,Bakonawa@AS_SONICBLOW,attack,136,10,2000,800,5000,no,target,always,0,,,,,,,
+2320,Bakonawa@NPC_DARKBREATH,attack,202,4,500,800,5000,no,target,always,0,,,,,,32,
+2320,Bakonawa@NPC_POWERUP,attack,349,3,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,36,
+2320,Bakonawa@WZ_METEOR,attack,83,11,2000,1000,30000,no,target,always,0,,,,,,,
+2320,Bakonawa@NPC_BLEEDING,attack,660,2,2000,0,30000,yes,target,always,0,,,,,,32,
+2320,Bakonawa@NPC_CRITICALWOUND,attack,673,3,500,0,5000,yes,target,always,0,,,,,,,
+2322,Bakonawa@AL_HEAL,idle,28,11,10000,0,5000,yes,self,myhpltmaxrate,30,,,,,,47,
+2322,Bakonawa@AL_HEAL,attack,28,11,10000,0,5000,yes,self,myhpltmaxrate,30,,,,,,47,
+2322,Bakonawa@AL_HEAL,chase,28,11,10000,0,5000,yes,self,myhpltmaxrate,30,,,,,,47,
+2322,Bakonawa@NPC_DRAGONFEAR,chase,659,5,10000,0,30000,no,self,always,0,,,,,,6,
+2322,Bakonawa@NPC_DRAGONFEAR,attack,659,5,2000,1000,20000,no,self,myhpltmaxrate,80,,,,,,32,
+2322,Bakonawa@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,0,,,,,,,
+2322,Bakonawa@NPC_ICEBREATH,attack,655,5,500,800,5000,no,target,always,0,,,,,,32,
+2322,Bakonawa@NPC_DARKBREATH,attack,202,5,500,800,5000,no,target,always,0,,,,,,36,
+2322,Bakonawa@NPC_POWERUP,attack,349,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,36,
+2322,Bakonawa@NPC_ARMORBRAKE,attack,344,10,2000,0,5000,yes,target,always,0,,,,,,29,
+2322,Bakonawa@NPC_WEAPONBRAKER,attack,343,10,500,0,30000,yes,target,always,0,,,,,,,
+2322,Bakonawa@CR_REFLECTSHIELD,attack,252,5,10000,0,300000,yes,self,always,0,,,,,,32,
+2322,Bakonawa@NPC_RANDOMATTACK,attack,183,5,500,500,5000,no,target,always,0,,,,,,6,
+2322,Bakonawa@WZ_STORMGUST,attack,89,10,2000,500,2000,no,target,always,0,,,,,,,
+2322,Bakonawa@WZ_STORMGUST,chase,89,10,2000,500,2000,no,target,always,0,,,,,,,
+2322,Bakonawa@WZ_VERMILION,attack,85,20,2000,500,2000,no,target,always,0,,,,,,,
+2322,Bakonawa@WZ_VERMILION,chase,85,20,2000,500,2000,no,target,always,0,,,,,,,
+2322,Bakonawa@WZ_WATERBALL,chase,86,10,5000,500,1000,no,target,always,0,,,,,,,
+2322,Bakonawa@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,0,,,,,,,
+2322,Bakonawa@NPC_COMBOATTACK,attack,171,2,500,700,5000,no,target,always,0,,,,,,,
+2322,Bakonawa@AS_SONICBLOW,attack,136,10,2000,800,5000,no,target,always,0,,,,,,,
+2322,Bakonawa@WZ_METEOR,attack,83,11,2000,1000,30000,no,target,always,0,,,,,,,
+2322,Bakonawa@NPC_BLEEDING,attack,660,2,2000,0,30000,yes,target,always,0,,,,,,32,
+2322,Bakonawa@NPC_CRITICALWOUND,attack,673,3,500,0,5000,yes,target,always,0,,,,,,,
 //
 //
-2329,Buwaya Egg@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,0,19,,,,,,
-2329,Buwaya Egg@NPC_METAMORPHOSIS,idle,193,1,1000,2000,5000,no,self,always,0,2330,,,,,,
+2329,Buwaya Egg@NPC_METAMORPHOSIS,idle,193,1,2000,2000,5000,no,self,always,0,2330,,,,,,
 2330,Buwaya Slave@NPC_EMOTION,chase,197,1,2000,0,5000,yes,self,always,0,32,,,,,,
 2330,Buwaya Slave@NPC_EMOTION,chase,197,1,2000,0,5000,yes,self,always,0,32,,,,,,
 2330,Buwaya Slave@SM_PROVOKE,chase,6,10,2000,600,5000,no,target,always,0,,,,,,44,
 2330,Buwaya Slave@SM_PROVOKE,chase,6,10,2000,600,5000,no,target,always,0,,,,,,44,
 2330,Buwaya Slave@TF_THROWSTONE,chase,152,1,2000,0,5000,no,target,always,0,,,,,,,
 2330,Buwaya Slave@TF_THROWSTONE,chase,152,1,2000,0,5000,no,target,always,0,,,,,,,
@@ -7907,21 +7950,11 @@
 2330,Buwaya Slave@NPC_COMBOATTACK,attack,171,2,500,700,5000,no,target,always,0,,,,,,,
 2330,Buwaya Slave@NPC_COMBOATTACK,attack,171,2,500,700,5000,no,target,always,0,,,,,,,
 2330,Buwaya Slave@NPC_PIERCINGATT,attack,158,5,500,0,5000,no,target,always,0,,,,,,,
 2330,Buwaya Slave@NPC_PIERCINGATT,attack,158,5,500,0,5000,no,target,always,0,,,,,,,
 2330,Buwaya Slave@NPC_FIREBREATH,attack,654,3,500,1000,5000,no,target,always,0,,,,,,,
 2330,Buwaya Slave@NPC_FIREBREATH,attack,654,3,500,1000,5000,no,target,always,0,,,,,,,
-2331,Seaweed@AL_DECAGI,chase,30,10,10000,500,5000,no,target,always,0,,,,,,29,
-2331,Seaweed@AL_HEAL,idle,28,5,10000,500,5000,no,friend,always,0,,,,,,,
-2331,Seaweed@AL_HEAL,chase,28,5,10000,500,5000,no,friend,always,0,,,,,,,
-2331,Seaweed@AL_HEAL,attack,28,5,10000,500,5000,no,friend,always,0,,,,,,,
-2332,Fake Buwaya@CR_REFLECTSHIELD,idle,252,5,10000,0,300000,yes,self,always,0,,,,,,,
-2332,Fake Buwaya@CR_REFLECTSHIELD,chase,252,5,10000,0,300000,yes,self,always,0,,,,,,32,
-2332,Fake Buwaya@CR_REFLECTSHIELD,attack,252,5,10000,0,300000,yes,self,always,0,,,,,,32,
-2332,Fake Buwaya@NPC_DRAGONFEAR,chase,659,5,10000,0,30000,no,self,always,0,,,,,,,
-2332,Fake Buwaya@NPC_DRAGONFEAR,attack,659,5,10000,0,30000,no,self,always,0,,,,,,,
-2332,Fake Buwaya@WZ_METEOR,attack,83,11,2000,500,2000,no,target,always,0,,,,,,,
-2332,Fake Buwaya@WZ_METEOR,chase,83,11,2000,500,2000,no,target,always,0,,,,,,,
-2332,Fake Buwaya@WZ_VERMILION,chase,85,20,2000,500,2000,no,target,always,0,,,,,,,
-2332,Fake Buwaya@WZ_VERMILION,attack,85,20,2000,500,2000,no,target,always,0,,,,,,,
-2332,Fake Buwaya@WZ_STORMGUST,chase,89,10,2000,500,2000,no,target,always,0,,,,,,,
-2332,Fake Buwaya@WZ_STORMGUST,attack,89,10,2000,500,2000,no,target,always,0,,,,,,,
+2331,Seaweed@AL_DECAGI,idle,30,1,10000,1000,5000,no,target,always,0,,,,,,29,
+2331,Seaweed@AL_HEAL,idle,28,9,10000,500,5000,yes,friend,friendhpltmaxrate,100,,,,,,2,
+2337,Hidden Mob@NPC_INVISIBLE,idle,353,1,10000,0,30000,no,self,always,0,,,,,,,
+2337,Hidden Mob@NPC_INVISIBLE,attack,353,1,10000,0,30000,no,self,always,0,,,,,,,
+2337,Hidden Mob@WZ_METEOR,attack,83,5,10000,0,1000,no,target,always,0,,,,,,,
 2338,Bangungot Manananggal@NPC_BLOODDRAIN,chase,199,1,2000,0,5000,yes,randomtarget,myhpltmaxrate,50,,,,,,3,
 2338,Bangungot Manananggal@NPC_BLOODDRAIN,chase,199,1,2000,0,5000,yes,randomtarget,myhpltmaxrate,50,,,,,,3,
 2338,Bangungot Manananggal@NPC_BLOODDRAIN,attack,199,1,2000,0,5000,yes,randomtarget,myhpltmaxrate,50,,,,,,3,
 2338,Bangungot Manananggal@NPC_BLOODDRAIN,attack,199,1,2000,0,5000,yes,randomtarget,myhpltmaxrate,50,,,,,,3,
 2338,Bangungot Manananggal@NPC_COMBOATTACK,chase,171,5,1000,0,5000,yes,target,always,0,,,,,,7,
 2338,Bangungot Manananggal@NPC_COMBOATTACK,chase,171,5,1000,0,5000,yes,target,always,0,,,,,,7,
@@ -7930,6 +7963,9 @@
 2339,Bangungot Mangkukulam@NPC_DARKTHUNDER,attack,341,3,1000,500,5000,yes,target,always,0,,,,,,29,
 2339,Bangungot Mangkukulam@NPC_DARKTHUNDER,attack,341,3,1000,500,5000,yes,target,always,0,,,,,,29,
 2339,Bangungot Mangkukulam@NPC_DARKSTRIKE,chase,340,9,1000,500,5000,yes,target,always,0,,,,,,,
 2339,Bangungot Mangkukulam@NPC_DARKSTRIKE,chase,340,9,1000,500,5000,yes,target,always,0,,,,,,,
 2339,Bangungot Mangkukulam@NPC_DARKSTRIKE,attack,340,9,1000,500,5000,yes,target,always,0,,,,,,,
 2339,Bangungot Mangkukulam@NPC_DARKSTRIKE,attack,340,9,1000,500,5000,yes,target,always,0,,,,,,,
+2343,Hidden Mob@NPC_INVISIBLE,idle,353,1,10000,0,30000,no,self,always,0,,,,,,,
+2343,Hidden Mob@NPC_INVISIBLE,attack,353,1,10000,0,30000,no,self,always,0,,,,,,,
+2343,Hidden Mob@WZ_STORMGUST,attack,89,5,10000,0,1000,no,target,always,0,,,,,,,
 
 
 // Nightmare Pyramids (currently placeholders)
 // Nightmare Pyramids (currently placeholders)
 2362,Nightmare Amon Ra@NPC_BLOODDRAIN,idle,199,1,2000,0,5000,yes,randomtarget,always,0,,,,,,29,
 2362,Nightmare Amon Ra@NPC_BLOODDRAIN,idle,199,1,2000,0,5000,yes,randomtarget,always,0,,,,,,29,

+ 6 - 0
doc/script_commands.txt

@@ -883,6 +883,12 @@ RID with 'attachrid' (see below).
 The above also applies to, the last three labels, the only difference is that
 The above also applies to, the last three labels, the only difference is that
 these labels are used exclusively for WoE SE, and are called independently.
 these labels are used exclusively for WoE SE, and are called independently.
 
 
+OnInstanceInit:
+
+This label will be executed when an instance is created and initialized through
+the 'instance_create' command. It will run again if @reloadscript is used while
+an instance is in progress.
+
 OnTouch:
 OnTouch:
 
 
 This label will be executed if a trigger area is defined for the NPC object it's 
 This label will be executed if a trigger area is defined for the NPC object it's 

+ 1 - 1
npc/custom/quests/quest_shop.txt

@@ -146,7 +146,7 @@ OnBuyItem:
 				delitem .@q[.@i],.@q[.@i+1]*.@q[1];
 				delitem .@q[.@i],.@q[.@i+1]*.@q[1];
 			getitem .@q[0],.@q[2];
 			getitem .@q[0],.@q[2];
 			if (.Announce) announce strcharinfo(0)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):A_An(getitemname(.@q[0])))+"!",0;
 			if (.Announce) announce strcharinfo(0)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):A_An(getitemname(.@q[0])))+"!",0;
-			specialeffect2 699;
+			specialeffect2 EF_FLOWERLEAF;
 			close;
 			close;
 		case 2:
 		case 2:
 			setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), getlook(LOOK_ROBE), 1;
 			setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), getlook(LOOK_ROBE), 1;

+ 328 - 0
npc/events/RWC_2012.txt

@@ -0,0 +1,328 @@
+//===== rAthena Script ======================================= 
+//= RWC 2012 Enchants
+//===== By: ================================================== 
+//= Euphy
+//===== Current Version: ===================================== 
+//= 1.0
+//===== Compatible With: ===================================== 
+//= rAthena SVN
+//===== Description: ========================================= 
+//= [Official Conversion]
+//= Adds slots and enchantments to 2012 RWC Memory accessories.
+//===== Additional Comments: ================================= 
+//= 1.0 First Version. [Euphy]
+//============================================================ 
+
+prontera,147,61,3	script	Driller#pron	87,{
+	disable_items;
+	if (checkweight(1201,1) == 0) {
+		mes "You're carrying too many items in your inventory. Visit Kafra storage and try again.";
+		close;
+	}
+	if (MaxWeight - Weight < 10000) {
+		mes "You cannot proceed because you're overweight.";
+		close;
+	}
+	set .@part, EQI_ACC_L;
+	if (!getequipisequiped(.@part)) {
+		mes "[Driller]";
+		mes "My job is to drill a card slot into RWC Memorial accessories.";
+		next;
+		mes "[Driller]";
+		mes "I'm sorry but you don't have any item equipped on your right accessory position.";
+		close;
+	}
+	mes "[Driller]";
+	mes "My job is to drill a card slot into RWC Memorial accessories. Moreover, I only treat ^ff0000pure items^000000, or those which have not been enchanted.";
+	next;
+	set .@equip_id, getequipid(.@part);
+	if (.@equip_id != 2966 && .@equip_id != 2968) {
+		mes "[Driller]";
+		mes "However, I can see that the accessory you are wearing on the right side cannot be treated. Please equip a RWC Memorial accessory.";
+		close;
+	}
+	mes "[Driller]";
+	mes "You should also know that making a card slot it extremely dangerous. ^ff0000Chances to succeed are about 50%.^000000 Do you wish to proceed?";
+	next;
+	if(select("Cancel:Let's go!") == 1) {
+		mes "[Driller]";
+		mes "See ya then.";
+		close;
+	}
+	if (.@equip_id == 2966) {
+		set .@slotted, 2967; //RWC_2012_Ring_
+		set .@name$,"RWC 2012 Memorial Ring";
+		set .@str$,"ring";
+	} else if (.@equip_id == 2968) {
+		set .@slotted, 2969; //RWC_2012_Pendant_
+		set .@name$,"RWC 2012 Memorial Pendant";
+		set .@str$,"pendant";
+	} else {
+		mes "[Driller]";
+		mes "I can't identify the accessory item you're wearing on your right hand. I can't work on it.";
+		close;
+	}
+	if (getequipcardid(.@part,3) > 0) {
+		mes "[Driller]";
+		mes "This item has already been enchanted. I can't work on this as it is against the rules.";
+		close;
+	}
+	delequip .@part;
+	if (rand(1,10) > 5) {
+		getitem .@slotted,1;
+		specialeffect2 EF_REPAIRWEAPON;
+		mes "[Driller]";
+		mes "Yay! Success! Your "+.@name$+" now has a card slot. Check it out!";
+		close;
+	} else {
+		specialeffect2 EF_LORD;
+		mes "[Driller]";
+		mes "Awww... Damn weak "+.@str$+"... It broke during the procedure. I'm sorry.";
+		close;
+	}
+}
+
+prontera,147,59,3	script	Goldberg#pron	878,{
+	disable_items;
+	if (checkweight(1201,1) == 0) {
+		mes "You are carrying too many items. Come back after you have organized your inventory.";
+		close;
+	}
+	if (MaxWeight - Weight < 10000) {
+		mes "You cannot proceed because you're overweight.";
+		close;
+	}
+	mes "[Goldberg]";
+	mes "Hello! I am in charge of enchanting RWC Memorial accessories with some mystic powers.";
+	next;
+	set .@part, EQI_ACC_L;
+	if (!getequipisequiped(.@part)) {
+		mes "[Goldberg]";
+		mes "I'm sorry but you don't have any item equipped on your right accessory position.";
+		close;
+	}
+	set .@equip_id, getequipid(.@part);
+	if (.@equip_id < 2966 || .@equip_id > 2969) {
+		mes "[Goldberg]";
+		mes "However, I can see that the accessory you are wearing is not something I can work on. Please equip a RWC Memorial accessory.";
+		close;
+	}
+	set .@select, select("Sorry, not interested.:Please, empower my accessory.:Remove the Enchant.")-1;
+	if (.@select == 0) {
+		mes "[Goldberg]";
+		mes "Alright, then, see you next time...";
+		close;
+	}
+	set .@equip_refine, getequiprefinerycnt(.@part);
+	setarray .@equip_card[0], getequipcardid(.@part,0),getequipcardid(.@part,1),getequipcardid(.@part,2),getequipcardid(.@part,3);
+	if (.@select == 1) {
+		switch(getequipid(.@part)) {
+		case 2966:
+			setarray .@option[0],2,2,4,4;
+			break;
+		case 2967:
+			setarray .@option[0],0,2,4,4;
+			break;
+		case 2968:
+			setarray .@option[0],1,1,3,3;
+			break;
+		case 2969:
+			setarray .@option[0],0,1,3,3;
+			break;
+		default:
+			mes "[Goldberg]";
+			mes "I'm sorry, but I cannot work on the accessory you are currently wearing.";
+			mes "If you have equipped your RWC Memorial accessory on the left side, try to swap it to the right side.";
+			close;
+		}
+		for(set .@i,3; .@i>=0; set .@i,.@i-1) {
+			if (.@equip_card[.@i] == 0) {
+				set .@slot, .@i;
+				set .@op_type, .@option[.@i];
+				break;
+			}
+		}
+		switch(.@op_type) {
+		case 4:
+			mes "[Goldberg]";
+			mes "Which enchantment would you like to infuse?";
+			next;
+			setarray .@enchant_select[0],1,2,3,4;
+			set .@i, select("Cancel:Fighting Spirit:ATK (%):Max HP:HP")-2;
+			break;
+		case 3:
+			setarray .@enchant_select[0],5,6,7;
+			set .@i, select("Cancel:Spell:MATK (%):SP")-2;
+			break;
+		case 2:
+			mes "[Goldberg]";
+			mes "^ff0000Be careful! There is about a 25% chance that the enchantment will fail. If this happens, the item will be destroyed.^000000 Which enchantment would you like to infuse?";
+			next;
+			setarray .@enchant_select[0],8,9,10,11,12,13,14;
+			set .@i, select("Cancel:STR:AGI:VIT:INT:DEX:LUK:SP")-2;
+			break;
+		case 1:
+			mes "[Goldberg]";
+			mes "^ff0000There is about a 25% chance that the enchantment will fail. If this happens, the item will be destroyed.^000000 Which enchantment would you like to infuse?";
+			next;
+			setarray .@enchant_select[0],8,9,10,11,12,13,15,16;
+			set .@i, select("Cancel:STR:AGI:VIT:INT:DEX:LUK:MHP:HP")-2;
+			break;
+		case 0:
+			mes "[Goldberg]";
+			mes "Your accessory has received so many enchantments that I can hardly work on it anymore.";
+			close;
+		}
+		if (.@i == -1) {
+			mes "[Goldberg]";
+			mes "Alright, then, see you next time.";
+			close;
+		}
+		mes "[Goldberg]";
+		mes "The power of the enchantment will be randomly chosen. ^ff0000Once infused, the enchantment cannot be removed.^000000 Shall we continue?";
+		next;
+		if(select("No, please stop.:Yes, please proceed.") == 1) {
+			mes "[Goldberg]";
+			mes "Alright, then, see you next time...";
+			close;
+		}
+		set .@enchant_type, .@enchant_select[.@i];
+		if (!getequipisequiped(.@part)) {
+			mes "[Goldberg]";
+			mes "Do not take off your equipment while I'm working, okay?";
+			close;
+		}
+		switch(.@enchant_type) {
+		case 1:
+			setarray .@enc[0],4811,4810,4809; //Fighting_Spirit1,Fighting_Spirit2,Fighting_Spirit3
+			break;
+		case 2:
+			setarray .@enc[0],4819,4766,4767; //Atk1,Atk2,Atk3
+			break;
+		case 3:
+			setarray .@enc[0],4861,4862,4867; //MHP1,MHP2,MHP3
+			break;
+		case 4:
+			setarray .@enc[0],4795,4796,4797; //HP100,HP200,HP300
+			break;
+		case 5:
+			setarray .@enc[0],4760,4761,4806; //Matk1,Matk2,Matk3
+			break;
+		case 6:
+			setarray .@enc[0],4815,4814,4813; //Spell1,Spell2,Spell3
+			break;
+		case 7:
+			setarray .@enc[0],4870,4800,4871; //SP25,SP50,SP75
+			break;
+		case 8:
+			setarray .@enc[0],4700,4701,4702; //Strength1,Strength2,Strength3
+			break;
+		case 9:
+			setarray .@enc[0],4730,4731,4732; //Agility1,Agility2,Agility3
+			break;
+		case 10:
+			setarray .@enc[0],4740,4741,4742; //Vitality1,Vitality2,Vitality3
+			break;
+		case 11:
+			setarray .@enc[0],4710,4711,4712; //Inteligence1,Inteligence2,Inteligence3
+			break;
+		case 12:
+			setarray .@enc[0],4720,4721,4722; //Dexterity1,Dexterity2,Dexterity3
+			break;
+		case 13:
+			setarray .@enc[0],4750,4751,4752; //Luck1,Luck2,Luck3
+			break;
+		case 14:
+			setarray .@enc[0],4870,4800,4871; //SP25,SP50,SP75
+			break;
+		case 15:
+			setarray .@enc[0],4861,4862,4867; //MHP1,MHP2,MHP3
+			break;
+		case 16:
+			setarray .@enc[0],4795,4796,4797; //HP100,HP200,HP300
+			break;
+		default:
+			mes "[Goldberg]";
+			mes "We have got a problem, let me check it up.";
+			close;
+		}
+
+		if (.@enchant_type < 8)
+			set .@i, rand(1,300); // 0% break chance.
+		else
+			set .@i, rand(1,400); // 25% break chance.
+
+		     if (.@i < 151) set .@enchant, .@enc[0];
+		else if (.@i < 251) set .@enchant, .@enc[1];
+		else if (.@i < 301) set .@enchant, .@enc[2];
+		else set .@enchant,9;
+
+		set .@equip_card[.@slot], .@enchant;
+		if (.@slot == 2 && .@enchant == 0) {
+			set .@equip_card[3],0;
+		} else if (.@slot == 1 && .@enchant == 0) {
+			set .@equip_card[2],0;
+			set .@equip_card[3],0;
+		} else if (.@slot == 0 && .@enchant == 0) {
+			set .@equip_card[1],0;
+			set .@equip_card[2],0;
+			set .@equip_card[3],0;
+		}
+
+		delequip .@part;
+		if (.@enchant == 9) {
+			mes "[Goldberg]";
+			mes "Oh gosh!";
+ 			mes "The item was not strong enough to bear the enchantment and thus got destroyed. I am sorry.";
+			specialeffect2 EF_LORD;
+			close;
+		}
+		if (.@enchant == 0) { // Should never happen.
+			mes "[Goldberg]";
+			mes "Oh... It looks like there was an instability of some sort between all the powers infused. This caused all the enchantments to vanish. It is a shame, but please try again!";
+		} else {
+			mes "[Goldberg]";
+			mes "Great!";
+			mes "The enchantment is a success! It will be applied in socket No.^990000"+(.@slot+1)+"^000000.";
+			specialeffect2 EF_REPAIRWEAPON;
+		}
+
+//		GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
+		getitem2 .@equip_id,1,1,.@equip_refine,0,.@equip_card[0],.@equip_card[1],.@equip_card[2],.@equip_card[3];
+
+		close;
+	} else if (.@select == 2) {
+		mes "[Goldberg]";
+		mes "I will just initialize the enchant option without doing anything to the slotted card. You wanna continue?";
+		next;
+		if(select("I will stop.:Yep, sure, go on.") == 1) {
+			mes "[Goldberg]";
+			mes "Come back if you change your mind.";
+			close;
+		}
+		if (countitem(6665) == 0) {
+			mes "[Goldberg]";
+			mes "I'm sorry. But you don't have the RWC Initialization coupon. Can you check your inventory?";
+			close;
+		}
+		if (.@equip_card[3] == 0) {
+			mes "[Goldberg]";
+			mes "Hm... this equipment is clean. I cannot initialize it if there's nothing! Check it again.";
+			close;
+		}
+		specialeffect2 EF_REPAIRWEAPON;
+		mes "[Goldberg]";
+		mes "The enchant option in your item will be initialized.";
+		delitem 6665,1; //RWC_Inicializer
+		delequip .@part;
+	
+//		GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
+		for(set .@i,0; .@i<4; set .@i,.@i+1) {
+			if (.@equip_card[.@i] >= 4700) // Armor Enchant System
+				set .@equip_card[.@i],0;
+		}
+		getitem2 .@equip_id,1,1,.@equip_refine,0,.@equip_card[0],.@equip_card[1],.@equip_card[2],.@equip_card[3];
+		
+		close;
+	}
+}

+ 6 - 11
npc/guild/agit_controller.txt

@@ -1,5 +1,5 @@
 //===== rAthena Script =======================================
 //===== rAthena Script =======================================
-//= War of Emperium - WoE Auto-Start
+//= War of Emperium - Auto-Start
 //===== By: ==================================================
 //===== By: ==================================================
 //= kalen (1.0)
 //= kalen (1.0)
 //= 1.1 by Akaru and ho|yAnge|
 //= 1.1 by Akaru and ho|yAnge|
@@ -8,19 +8,16 @@
 //===== Compatible With: =====================================
 //===== Compatible With: =====================================
 //= rAthena SVN; RO Episode 4+
 //= rAthena SVN; RO Episode 4+
 //===== Description: =========================================
 //===== Description: =========================================
-//= Auto Start for War of Emperium
-//=============================================
-//= gettime(3): Gets hour (24 hour time)
-//= gettime(4): Gets day of week 1=Monday, 2=Tuesday,
-//= 3=Wednesday, 4=Thursday, etc.
+//= Auto-start for War of Emperium FE.
+//= For instructions, see doc/woe_time_explanation.txt.
 //===== Additional Comments: =================================
 //===== Additional Comments: =================================
 //= v1.1a changed OnInit to OnAgitInit.[kobra_k88]
 //= v1.1a changed OnInit to OnAgitInit.[kobra_k88]
 //= v1.2 added gettime checks. removed $AgitStarted var.[kobra_k88]
 //= v1.2 added gettime checks. removed $AgitStarted var.[kobra_k88]
 //= v1.3 Moved treasure spawn time here.[kobra_k88]
 //= v1.3 Moved treasure spawn time here.[kobra_k88]
 //= v1.3a Implemented Shadowlady's idea to allow for different
 //= v1.3a Implemented Shadowlady's idea to allow for different
-//= start/stop times on different days.[kobra_k88]
+//=       start/stop times on different days.[kobra_k88]
 //= 1.4 Fixed treasure chests spawn! We had to unroll some loops
 //= 1.4 Fixed treasure chests spawn! We had to unroll some loops
-//= Now they appear in castles from 00:01 to 00:24. [Lupus]
+//=     Now they appear in castles from 00:01 to 00:24. [Lupus]
 //= 1.5 Fixed WOE end messages on non-WOE days, by Avaj
 //= 1.5 Fixed WOE end messages on non-WOE days, by Avaj
 //= 1.5a missing tabs [KarLaeda]
 //= 1.5a missing tabs [KarLaeda]
 //= 1.6 Corrected multiple "WoE has begun" announces [ultramage]
 //= 1.6 Corrected multiple "WoE has begun" announces [ultramage]
@@ -32,9 +29,7 @@
 //=	Removed treasure spawning function calls. (No longer needed)
 //=	Removed treasure spawning function calls. (No longer needed)
 //= 2.0 Added WoE Battle Log support for broadcasts. [L0ne_W0lf]
 //= 2.0 Added WoE Battle Log support for broadcasts. [L0ne_W0lf]
 //============================================================
 //============================================================
-//| To know how to set up WoE times, go to doc\woe_time_explanation.txt
-// WoE Start/Stop times
-//======================================
+
 -	script	Agit_Event	-1,{
 -	script	Agit_Event	-1,{
 	end;
 	end;
 
 

+ 2 - 8
npc/guild2/agit_start_se.txt

@@ -7,18 +7,12 @@
 //===== Compatible With: =====================================
 //===== Compatible With: =====================================
 //= rAthena SVN; RO Episode 11.3
 //= rAthena SVN; RO Episode 11.3
 //===== Description: =========================================
 //===== Description: =========================================
-//= Auto Start for War of Emperium
-//= To know how to set up WoE times, go to doc\woe_time_explanation.txt
-//=============================================
-//= gettime(3): Gets hour (24 hour time)
-//= gettime(4): Gets day of week 1=Monday, 2=Tuesday,
-//= 3=Wednesday, 4=Thursday, etc.
+//= Auto-start for War of Emperium SE.
+//= For instructions, see doc/woe_time_explanation.txt.
 //===== Additional Comments: =================================
 //===== Additional Comments: =================================
 //= 1.0 Copy/Paste of the original setter.
 //= 1.0 Copy/Paste of the original setter.
 //============================================================
 //============================================================
 
 
-// WoE Start/Stop times
-//============================================================
 -	script	Agit2_Event	-1,{
 -	script	Agit2_Event	-1,{
 	end;
 	end;
 
 

+ 529 - 0
npc/re/instances/BakonawaLake.txt

@@ -0,0 +1,529 @@
+//===== rAthena Script ======================================= 
+//= Bakonawa Lake
+//===== By: ================================================== 
+//= Euphy
+//===== Current Version: ===================================== 
+//= 1.0
+//===== Compatible With: ===================================== 
+//= rAthena SVN
+//===== Description: ========================================= 
+//= [Official Conversion]
+//= Defeat Bakonawa before he eats the moon.
+//===== Additional Comments: ================================= 
+//= 1.0 First version. [Euphy]
+//============================================================ 
+
+ma_scene01,174,179,4	script	Taho	541,{
+	disable_items;
+	if (checkweight(1201,1) == 0) {
+		mes "You are carrying too many items. Come back after taking off some of them.";
+		close;
+	}
+	if (MaxWeight - Weight < 10000) {
+		mes "You are carrying too much weight. Come back after reducing the weight.";
+		close;
+	}
+	if (BaseLevel < 140) {
+		mes "[Taho]";
+		mes "Hey. This is too dangerous a place for you. You cannot keep yourself safe. Get out of here and go to the village right now!";
+		close;
+	}
+	if (malaya_bakona1 < 7 && malaya_bakona2 < 15) {
+		mes "[Taho]";
+		mes "We are gonna be killed all by that Bakonawa. Ah, we must slay him but unfortunately we are not prepared.";
+		close;
+	}
+
+	set .@party_id,getcharid(1);
+	set .@md_name$, "Bakonawa Lake";
+
+	set .@baku_time, checkquest(12278,PLAYTIME);
+	if (.@baku_time == -1) {
+		if (checkquest(12279) == -1) setquest 12279;
+	}
+	if (!.@party_id) {
+		mes "[Taho]";
+		mes "Isn't there any company who can go with you? Or even if you wanna go alone, come after organizing a party.";
+		close;
+	}
+	if (.@baku_time == -1) {
+		if (getcharid(0) == getpartyleader(.@party_id,2)) {
+			mes "[Taho]";
+			mes "Are you the leader of the Bakonawa slayers? The road is not well so we have to go down the cliff with a rope, is that OK?";
+			next;
+			set .@i, select("Please weave a rope.:Now I will go down.:Cancel.");
+		} else {
+			mes "[Taho]";
+			mes "You came for slaying Bakonawa. The leader of your party has to help me weaving the rope for going down.";
+			next;
+			set .@i, select(":Now I will go down.:Cancel.");
+		}
+		switch(.@i) {
+		case 1:
+			if (instance_create(.@md_name$) < 0) {
+				mes "[Taho]";
+				mes "Oh, the rope got dropped. I have to make a new one.";
+				close;
+			}
+			mes "[Taho]";
+			mes "Now I'm weaving, so you can go down when I'm done.";
+			close;
+		case 2:
+			switch(instance_enter(.@md_name$)) {
+			case 3:
+				mes "[Taho]";
+				mes "An unknown error occured.";
+				close;
+			case 2:
+				mes "[Taho]";
+				mes "The rope hasn't been weaved yet. Wait a little.";
+				close;
+			case 1:
+				mes "[Taho]";
+				mes "Civilians cannot enter.";
+				close;
+			case 0:
+				mapannounce "ma_scene01","A party memeber, "+strcharinfo(0)+" of the party "+getpartyname(.@party_id)+" is entering the dungeon, "+.@md_name$+".",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+				setquest 12278;
+				//warp "1@ma_b",64,51;
+				close;
+			}
+		case 3:
+			close;
+		}
+	} else if (.@baku_time == 0 || .@baku_time == 1) {
+		mes "[Taho]";
+		mes "The rope used for getting to the Lake is already broken. We are now cleaning up the surroundings so come back after some time.";
+		close;
+	} else if (.@baku_time == 2) {
+		mes "[Taho]";
+		mes "It's all cleaned up around here. Now you can go down again after getting a rope.";
+		erasequest 12278;
+		close;
+	}
+}
+
+1@ma_b,62,52,4	script	Taho#nf	541,{
+	mes "[Taho]";
+	mes "Heehee, I could join the Bakonawa hunt, but I'd rather hide behind that rock and cheer you guys on.";
+	next;
+	mes "[Taho]";
+	mes "Bakonawa becomes invincible at some point. When that time comes, listen to my guides carefully. Just trust me and all will be good.";
+	next;
+	if (getcharid(0) == getpartyleader(getcharid(1),2)) {
+		mes "[Taho]";
+		mes "Now I will make Bakonawa spring out from the lake.";
+		next;
+		switch(select("Hold on! I'm not ready yet!:Let's do it!")) {
+		case 1:
+			mes "[Taho]";
+			mes "Oh... alright... tell me when you are ready.";
+			close;
+		case 2:
+			mes "[Taho]";
+			mes "Then I will drop a drop of Albopal to this lake.";
+			next;
+			mes "[Taho]";
+			mes "Once Bakonawa tastes this, he will surface...";
+			donpcevent instance_npcname("#Bakonawan1")+"::OnStart";
+			disablenpc instance_npcname("Taho#nf");
+			close;
+		}
+	} else {
+		mes "[Taho]";
+		mes "I am dropping the Alpopal to make Bakonawa mad. Bakonawa can be a good source of protein once we get him.";
+		close;
+	}
+}
+
+1@ma_b,36,111,4	script	#Bakonawan1	844,{
+	end;
+OnInstanceInit:
+	disablenpc instance_npcname("#Bakonawan1");
+	end;
+OnStart:
+	enablenpc instance_npcname("#Bakonawan1");
+	set .@map$, instance_mapname("1@ma_b");
+	mapannounce .@map$,"Taho: I can see him there on the surface! ATTACK!!!",bc_map,"0x00ffff"; //FW_NORMAL 15 0 0
+	monster .@map$,78,81,"Bakonawa",2320,1,instance_npcname("#Bakonawan1")+"::OnMyMobDead"; //original: (78,83)
+	initnpctimer;
+	end;
+OnFail:
+	killmonster instance_mapname("1@ma_b"),instance_npcname("#Bakonawan1")+"::OnMyMobDead";
+	end;
+OnMyMobDead:
+	set .@map$, instance_mapname("1@ma_b");
+	if (mobcount(.@map$,instance_npcname("#Bakonawan1")+"::OnMyMobDead") < 1) {
+		donpcevent instance_npcname("#BakonawaDeadn1")+"::OnStart";
+		killmonster .@map$,instance_npcname("#Bakonawan1")+"::OnMyMobDead";
+		stopnpctimer;
+		disablenpc instance_npcname("#Bakonawan1");
+	}
+	end;
+OnTimer1000:	callsub OnAnnounce,"10 minutes";
+OnTimer60000:	callsub OnAnnounce,"9 minutes";
+OnTimer120000:	callsub OnAnnounce,"8 minutes";
+OnTimer180000:	callsub OnAnnounce,"7 minutes";
+OnTimer240000:	callsub OnAnnounce,"6 minutes";
+OnTimer300000:	callsub OnAnnounce,"5 minutes";
+OnTimer360000:	callsub OnAnnounce,"4 minutes";
+OnTimer420000:	callsub OnAnnounce,"3 minutes";
+OnTimer480000:	callsub OnAnnounce,"2 minutes";
+OnTimer540000:	callsub OnAnnounce,"1 minute";
+OnTimer570000:
+	mapannounce instance_mapname("1@ma_b"),"Time Limit: 30 seconds",bc_map,"0xff4400"; //FW_NORMAL 18 0 0
+	donpcevent instance_npcname("#SummonPuppetsn1")+"::OnStart";
+	end;
+OnTimer600000:
+	set .@map$, instance_mapname("1@ma_b");
+	mapannounce .@map$,"Bakonawa has escaped deep into the lake.",bc_map,"0xffff00"; //FW_NORMAL 20 0 0
+	donpcevent instance_npcname("Taho#Fail")+"::OnStart";
+	donpcevent instance_npcname("#Bakonawan1")+"::OnFail";
+	killmonster .@map$,instance_npcname("#Bakonawan1")+"::OnMyMobDead";
+	stopnpctimer;
+	disablenpc instance_npcname("#Bakonawan1");
+	end;
+OnAnnounce:
+	mapannounce instance_mapname("1@ma_b"),"Time Limit: "+getarg(0),bc_map,"0xff4400"; //FW_NORMAL 15 0 0
+	donpcevent instance_npcname("#SummonPuppetsn1")+"::OnStart";
+	end;
+}
+
+1@ma_b,78,81,0	script	#SummonPuppetsn1	139,4,5,{
+	end;
+OnInstanceInit:
+	disablenpc instance_npcname("#SummonPuppetsn1");
+	end;
+OnStart:
+	stopnpctimer;
+	enablenpc instance_npcname("#SummonPuppetsn1");
+	initnpctimer;
+	end;
+OnTouch:
+	stopnpctimer;
+	disablenpc instance_npcname("#SummonPuppetsn1");
+	end;
+OnTimer5000:
+	setarray .@x[0],79,71,60,61,57,89,95,96,99;
+	setarray .@y[0],71,72,80,90,99,73,82,90,99;
+	set .@map$, instance_mapname("1@ma_b");
+	for(set .@i,0; .@i<9; set .@i,.@i+1) {
+		set .@rand, rand(1,10);
+		if (.@rand > 7)
+			monster .@map$,.@x[.@i],.@y[.@i],"Bakonawa's Will",2337,1,instance_npcname("#SummonPuppetsn1")+"::OnMyMobDead";
+		else if (.@rand < 4)
+			monster .@map$,.@x[.@i],.@y[.@i],"Bakonawa's Will",2343,1,instance_npcname("#SummonPuppetsn1")+"::OnMyMobDead";
+	}
+	end;
+OnTimer50000:
+	killmonster instance_mapname("1@ma_b"),instance_npcname("#SummonPuppetsn1")+"::OnMyMobDead";
+	stopnpctimer;
+	disablenpc instance_npcname("#SummonPuppetsn1");
+	end;
+OnMyMobDead:
+	end;
+}
+
+1@ma_b,1,5,4	script	#BakonawaDeadn1	844,{
+	end;
+OnInstanceInit:
+	disablenpc instance_npcname("#BakonawaDeadn1");
+	end;
+OnStart:
+	enablenpc instance_npcname("#BakonawaDeadn1");
+	initnpctimer;
+	end;
+OnTimer100:
+	mapannounce instance_mapname("1@ma_b"),"Taho: Good! Bakonawa is hidden under water. He will now try to swallow the moon.",bc_map,"0x00ffff"; //FW_NORMAL 15 0 0
+	end;
+OnTimer5000:
+	mapannounce instance_mapname("1@ma_b"),"Taho: We must make loud noises with caldron and gong so he can never concentrate on the moon!",bc_map,"0x00ffff"; //FW_NORMAL 15 0 0
+	end;
+OnTimer10000:
+	mapannounce instance_mapname("1@ma_b"),"Taho: Do not engage on him even if he come above the surface. Just make loud noises!",bc_map,"0x00ffff"; //FW_NORMAL 15 0 0
+	end;
+OnTimer15000:
+	mapannounce instance_mapname("1@ma_b"),"Mission - Destroy 2 caldrons and 2 gongs on left and right sides of the lake.",bc_map,"0xff3300"; //FW_NORMAL 15 0 0
+	donpcevent instance_npcname("#Bakonawan2")+"::OnStart";
+	stopnpctimer;
+	disablenpc instance_npcname("#BakonawaDeadn1");
+	end;
+}
+
+1@ma_b,36,111,4	script	#Bakonawan2	844,{
+	end;
+OnInstanceInit:
+	disablenpc instance_npcname("#Bakonawan2");
+	end;
+OnStart:
+	enablenpc instance_npcname("#Bakonawan2");
+	set .@label$, instance_npcname("#Bakonawan2")+"::OnMyMobDead";
+	set .@map$, instance_mapname("1@ma_b");
+	monster .@map$,95,98,"Caldron",2328,1,.@label$;
+	monster .@map$,60,98,"Caldron",2328,1,.@label$;
+	monster .@map$,97,104,"Gong",2328,1,.@label$;
+	monster .@map$,58,104,"Gong",2328,1,.@label$;
+	donpcevent instance_npcname("#Bakonawan2-1")+"::OnStart";
+	initnpctimer;
+	end;
+OnMyMobDead:
+	set .@map$, instance_mapname("1@ma_b");
+	set .@mob_dead_num, mobcount(.@map$,instance_npcname("#Bakonawan2")+"::OnMyMobDead");
+	if (.@mob_dead_num < 1) {
+		donpcevent instance_npcname("#Bakonawan2-1")+"::OnEnd";
+		stopnpctimer;
+		disablenpc instance_npcname("#Bakonawan2");
+	} else
+		mapannounce .@map$,"Taho: Good! "+.@mob_dead_num+" left to go!",bc_map,"0x00ffff"; //FW_NORMAL 15 0 0
+	 end;
+OnTimer1000:	callsub OnAnnounce,"5 minutes",15,1;
+OnTimer60000:	callsub OnAnnounce,"4 minutes",15,1;
+OnTimer120000:	callsub OnAnnounce,"3 minutes",15,1;
+OnTimer180000:	callsub OnAnnounce,"2 minutes",15,1;
+OnTimer240000:	callsub OnAnnounce,"1 minute",15,1;
+OnTimer270000:	callsub OnAnnounce,"30 seconds",15,0;
+OnTimer280000:	callsub OnAnnounce,"20 seconds",15,0;
+OnTimer290000:	callsub OnAnnounce,"10 seconds",15,0;
+OnTimer295000:	callsub OnAnnounce,"5 seconds",16,0;
+OnTimer296000:	callsub OnAnnounce,"4 seconds",17,0;
+OnTimer297000:	callsub OnAnnounce,"3 seconds",18,0;
+OnTimer298000:	callsub OnAnnounce,"2 seconds",19,0;
+OnTimer299000:	callsub OnAnnounce,"1 second",20,0;
+OnTimer300000:
+	set .@map$, instance_mapname("1@ma_b");
+	mapannounce .@map$,"Bakonawa has escaped deep into the lake.",bc_map,"0xffff00"; //FW_NORMAL 20 0 0
+	donpcevent instance_npcname("Taho#Fail")+"::OnStart";
+	donpcevent instance_npcname("#Bakonawan2-1")+"::OnFail";
+	killmonster .@map$,instance_npcname("#Bakonawan2")+"::OnMyMobDead";
+	stopnpctimer;
+	disablenpc instance_npcname("#Bakonawan2");
+	end;
+OnAnnounce:
+	mapannounce instance_mapname("1@ma_b"),"Time Limit: "+getarg(0),bc_map,"0xff4400"; //FW_NORMAL getarg(1) 0 0
+	if (getarg(2)) donpcevent instance_npcname("#SummonPuppetsn1")+"::OnStart";
+	end;
+}
+
+1@ma_b,36,111,4	script	#Bakonawan2-1	844,{
+	end;
+OnInstanceInit:
+	disablenpc instance_npcname("#Bakonawan2-1");
+	end;
+OnStart:
+	enablenpc instance_npcname("#Bakonawan2-1");
+	monster instance_mapname("1@ma_b"),78,81,"Enraged Bakonawa",2321,1,instance_npcname("#Bakonawan2-1")+"::OnMyMobDead"; //original: (78,93)
+	end;
+OnFail:
+	killmonster instance_mapname("1@ma_b"),instance_npcname("#Bakonawan2-1")+"::OnMyMobDead";
+	end;
+OnEnd:
+	enablenpc instance_npcname("#Bakonawan2-1");
+	killmonster instance_mapname("1@ma_b"),instance_npcname("#Bakonawan2-1")+"::OnMyMobDead";
+	initnpctimer;
+	end;
+OnTimer1000:
+	mapannounce instance_mapname("1@ma_b"),"Taho: He is back into the lake again. Is it over?",bc_map,"0x00ffff"; //FW_NORMAL 15 0 0
+	end;
+OnTimer5000:
+	mapannounce instance_mapname("1@ma_b"),"Taho: UHM! Something is moving up rapidly under the water! Ba... Bakonawa is coming!!",bc_map,"0x00ffff"; //FW_NORMAL 15 0 0
+	end;
+OnTimer10000:
+	mapannounce instance_mapname("1@ma_b"),"Mission - Eliminate Bakonawa who became more fierce.",bc_map,"0xff3300"; //FW_NORMAL 15 0 0
+	donpcevent instance_npcname("#Bakonawan3")+"::OnStart";
+	stopnpctimer;
+	disablenpc instance_npcname("#Bakonawan2-1");
+	end;
+OnMyMobDead:
+	end;
+}
+
+1@ma_b,36,111,4	script	#Bakonawan3	844,{
+	end;
+OnInstanceInit:
+	disablenpc instance_npcname("#Bakonawan3");
+	end;
+OnStart:
+	enablenpc instance_npcname("#Bakonawan3");
+	initnpctimer;
+	monster instance_mapname("1@ma_b"),78,81,"Enraged Bakonawa",2322,1,instance_npcname("#Bakonawan3")+"::OnMyMobDead"; //original: (78,83)
+	donpcevent instance_npcname("#Bakonawan3-1")+"::OnStart";
+	end;
+OnMyMobDead:
+	set .@map$, instance_mapname("1@ma_b");
+	set .@mob_dead_num, mobcount(.@map$,instance_npcname("#Bakonawan3")+"::OnMyMobDead");
+	if (.@mob_dead_num < 1) {
+		mapannounce .@map$,"Taho: We got him! I can see he has threw up something that looks like a box.",bc_map,"0x00ffff"; //FW_NORMAL 15 0 0
+		donpcevent instance_npcname("Taho#Completed")+"::OnStart";
+		donpcevent instance_npcname("#Bakonawan3-1")+"::OnEnd";
+		killmonster .@map$,instance_npcname("#Bakonawan3")+"::OnMyMobDead";
+		stopnpctimer;
+		disablenpc instance_npcname("#Bakonawan3");
+	}
+	end;
+OnTimer1000:
+	callsub OnAnnounce,"10 minutes",15,1;
+	end;
+OnTimer60000:
+OnTimer120000:
+OnTimer180000:
+OnTimer240000:
+	donpcevent "#SummonPuppetsn1::OnStart";
+	end;
+OnTimer300000:	callsub OnAnnounce,"5 minutes",15,1;
+OnTimer360000:	callsub OnAnnounce,"4 minutes",15,1;
+OnTimer420000:	callsub OnAnnounce,"3 minutes",15,1;
+OnTimer480000:	callsub OnAnnounce,"2 minutes",15,1;
+OnTimer540000:	callsub OnAnnounce,"1 minute",15,1;
+OnTimer570000:	callsub OnAnnounce,"30 seconds",15,0;
+OnTimer580000:	callsub OnAnnounce,"20 seconds",15,0;
+OnTimer590000:	callsub OnAnnounce,"10 seconds",15,0;
+OnTimer595000:	callsub OnAnnounce,"5 seconds",16,0;
+OnTimer596000:	callsub OnAnnounce,"4 seconds",17,0;
+OnTimer597000:	callsub OnAnnounce,"3 seconds",18,0;
+OnTimer598000:	callsub OnAnnounce,"2 seconds",19,0;
+OnTimer599000:	callsub OnAnnounce,"1 second",20,0;
+OnTimer600000:
+	set .@map$, instance_mapname("1@ma_b");
+	mapannounce .@map$,"Bakonawa has escaped deep into the lake.",bc_map,"0xffff00"; //FW_NORMAL 20 0 0
+	donpcevent instance_npcname("Taho#Fail")+"::OnStart";
+	killmonster .@map$,instance_npcname("#Bakonawan3")+"::OnMyMobDead";
+	stopnpctimer;
+	disablenpc instance_npcname("#Bakonawan3");
+	end;
+OnAnnounce:
+	mapannounce instance_mapname("1@ma_b"),"Time Limit: "+getarg(0),bc_map,"0xff4400"; //FW_NORMAL getarg(1) 0 0
+	if (getarg(2)) donpcevent instance_npcname("#SummonPuppetsn1")+"::OnStart";
+	end;
+}
+
+1@ma_b,36,111,4	script	#Bakonawan3-1	844,{
+	end;
+OnInstanceInit:
+	disablenpc instance_npcname("#Bakonawan3-1");
+	end;
+OnStart:
+	initnpctimer;
+	end;
+OnEnd:
+	killmonster instance_mapname("1@ma_b"),instance_npcname("#Bakonawan3-1")+"::OnMyMobDead";
+	//showdigit 0;
+	stopnpctimer;
+	end;
+OnMyMobDead:
+	showdigit mobcount(instance_mapname("1@ma_b"),instance_npcname("#Bakonawan3-1")+"::OnMyMobDead");
+	end;
+OnTimer120000:	callsub OnMobSpawn,10;
+OnTimer180000:	callsub OnMobSpawn,15;
+OnTimer240000:	callsub OnMobSpawn,20;
+//OnTimer300000:	callsub OnMobSpawn,25;
+OnTimer300000:	callsub OnMobSpawn,30;
+OnTimer360000:	callsub OnMobSpawn,35;
+OnTimer420000:	callsub OnMobSpawn,40;
+OnTimer480000:	callsub OnMobSpawn,45;
+OnTimer540000:	callsub OnMobSpawn,50;
+OnTimer600000:
+	killmonster instance_mapname("1@ma_b"),instance_npcname("#Bakonawan3-1")+"::OnMyMobDead";
+	stopnpctimer;
+	end;
+OnMobSpawn:
+	set .@label$, instance_npcname("#Bakonawan3-1")+"::OnMyMobDead";
+	set .@map$, instance_mapname("1@ma_b");
+	killmonster .@map$,.@label$;
+	set .@mob_dead_num, mobcount(.@map$,.@label$);
+	if (.@mob_dead_num < 50) {
+		set .@mob_rg, 50 - .@mob_dead_num;
+		if (.@mob_rg > getarg(0))
+			set .@mob_rg, getarg(0);
+		while(1) {
+			areamonster .@map$,74,74,82,74,"Bakonawa's Puppet",2334,1,.@label$;
+			set .@mob_dead_num, mobcount(.@map$,.@label$);
+			if (.@mob_dead_num >= .@mob_rg) {
+				break;
+			}
+		}
+	}
+	end;
+}
+
+1@ma_b,62,52,4	script	Taho#Completed	541,{
+	disable_items;
+	if (checkweight(1201,1) == 0) {
+		mes "It seems you are carrying too many different kinds of items. Please try again after reducing it.";
+		close;
+	}
+	if (MaxWeight - Weight < 10000) {
+		mes "It seems you are already carrying items of too much weight. Please try again after reducing the weight.";
+		close;
+              }
+	if (checkquest(12279,HUNTING) == 2) {
+		erasequest 12279;
+		mes "[Taho]";
+		mes "This was found from Bakonawa's corpse. It would be better if you take this.";
+//		if (IsPremiumPcCafe == 10)
+//			getitem 6499,7; //Ancient_Grudge
+//		else
+			getitem 6499,5; //Ancient_Grudge
+		getexp 0,100000;
+		next;
+	}
+	mes "[Taho]";
+	mes "We better hurry and get out of this place. This place is still dangerous even without Bakonawa...";
+	next;
+	mes "[Taho]";
+	mes "Then let's use to the rope to go up!";
+	close2;
+	warp "ma_scene01",175,176;
+	end;
+OnInstanceInit:
+	disablenpc instance_npcname("Taho#Completed");
+	end;
+OnStart:
+	enablenpc instance_npcname("Taho#Completed");
+	initnpctimer;
+	end;
+OnTimer1000:
+	monster instance_mapname("1@ma_b"),78,74,"Bakonawa Treasure Box",2335,1;
+	end;
+OnTimer10000:
+	mapannounce instance_mapname("1@ma_b"),"Taho: After opening the treasure box, please visit me at the top of the hill. I've got something to give to you.",bc_map,"0x00ffff"; //FW_NORMAL 15 0 0
+	stopnpctimer;
+	end;
+}
+
+1@ma_b,62,52,4	script	Taho#Fail	541,{
+	mes "[Taho]";
+	mes "HMM. We almost got him but he is one fast creature...";
+	next;
+	if (getcharid(0) == getpartyleader(getcharid(1),2)) {
+		mes "[Taho]";
+		mes "Are we going to try again?";
+		next;
+		switch(select("Hold on a sec!:Of couse! We cannot stand back now!")) {
+		case 1:
+			mes "[Taho]";
+			mes "AWW... I almost brought him out.";
+			close;
+		case 2:
+			mes "[Taho]";
+			mes "Then I will use Albopal once again to the lake.";
+			next;
+			mes "[Taho]";
+			mes "We are about to see Bakonawa with intenser anger...";
+			disablenpc instance_npcname("Taho#Fail");
+			donpcevent instance_npcname("#Bakonawan1")+"::OnStart";
+			close;
+		}
+		close;
+	} else {
+		mes "[Taho]";
+		mes "I am dropping Albopal like I did a while ago. I hope it pisses him off...";
+		close;
+	}
+
+OnInstanceInit:
+	disablenpc instance_npcname("Taho#Fail");
+	end;
+OnStart:
+	enablenpc instance_npcname("Taho#Fail");
+	end;
+}

+ 457 - 0
npc/re/instances/BuwayaCave.txt

@@ -0,0 +1,457 @@
+//===== rAthena Script ======================================= 
+//= Buwaya Cave
+//===== By: ================================================== 
+//= Euphy
+//===== Current Version: ===================================== 
+//= 1.0
+//===== Compatible With: ===================================== 
+//= rAthena SVN
+//===== Description: ========================================= 
+//= [Official Conversion]
+//= Defeat Buwaya in his cave.
+//===== Additional Comments: ================================= 
+//= 1.0 First version. [Euphy]
+//============================================================ 
+
+ma_fild02,312,317,5	script	Guard#buwaya_cave	570,{
+	if (BaseLevel < 130) {
+		mes "[Guard]";
+		mes "People under ^ff0000level 130^000000";
+		mes "cannot enter this place.";
+		mes "This place is dangerous. Please go back.";
+		close;
+	}
+
+	set .@party_id,getcharid(1);
+	set .@md_name$,"Buwaya Cave";
+
+	if (!.@party_id) {
+		mes "[Guard]";
+		mes "Buwaya is dangerous.";
+		mes "Please come back after you form a";
+		mes "team with other people.";
+		close;
+	}
+	if (getcharid(0) == getpartyleader(.@party_id,2)) {
+		mes "[Guard]";
+		mes "This place is dangerous. Please go back.";
+		mes "If you dont have any business here, please go back.";
+		next;
+		while(1) {
+			switch(select("Why is it so dangerous?:I'm here to hunt down Buwaya.:End conversation.")) {
+			case 1:
+				mes "[Guard]";
+				mes "Recently, there has been a case";
+				mes "where villagers have disappeared.";
+				mes "After investigating the tracks, ";
+				mes "we found out the giant monster Buwaya";
+				mes "was responsible.";
+				next;
+				mes "[Guard]";
+				mes "Soldiers and mercenaries have been dispatched to ";
+				mes "hunt down Buwaya, but were never";
+				mes "completely successful.";
+				next;
+				mes "[Guard]";
+				mes "Buwaya is still kidnapping";
+				mes "the villagers to this day.";
+				mes "Please gather some people to get rid of Buwaya.";
+				next;
+				break;
+			case 2:
+				set .@playtime, checkquest(4229,PLAYTIME);
+				if (.@playtime == -1) {
+					// fall through
+				} else if (.@playtime == 0 || .@playtime == 1) {
+					mes "[Guard]";
+					mes "Buwaya is still hiding.";
+					mes "Even if you enter now, Buwaya will not come out. ";
+					mes "Please come back later.";
+					close;
+				} else {
+					erasequest 4229;
+					// fall through
+				}
+				if (instance_create(.@md_name$) < 0) {
+					mes "[Guard]";
+					mes "Party name is... "+getpartyname(.@party_id)+".";;
+					mes "Party leader is... "+strcharinfo(0);
+					mes "^0000ff"+.@md_name$+"^000000 cannot be opened now.";
+					mes "Please try a moment later.";
+					close;
+				}
+				mes "[Guard]";
+				mes "I will open up the tunnel to ^0000ff"+.@md_name$+"^000000.";
+				mes "I wish you good luck.";
+				close;
+			case 3:
+				mes "[Guard]";
+				mes "This place is dangerous. You cannot enter.";
+				close;
+			}
+		}
+	} else {
+		mes "[Guard]";
+		mes "Let me talk with the party leader.";
+		mes "Please call forth the leader.";
+		close;
+	}
+}
+
+ma_fild02,315,323,0	script	Cave Entrance#buwaya	45,2,2,{
+	end;
+OnTouch:
+	if (BaseLevel < 130) {
+		mes "[Guard]";
+		mes "People under ^ff0000level 130^000000";
+		mes "cannot enter this place.";
+		mes "This place is dangerous. Please go back.";
+		close;
+	}
+	set .@playtime, checkquest(4229,PLAYTIME);
+	if (.@playtime == -1) {
+		// fall through
+	} else if (.@playtime == 0 || .@playtime == 1) {
+		mes "[Guard]";
+		mes "Buwaya is still hiding.";
+		mes "Even if you enter now, Buwaya will not come out.";
+		mes "Please come back later.";
+		close;
+	} else {
+		erasequest 4229;
+		// fall through
+	}
+	switch(select("Enter.:Turn back.")) {
+	case 1:
+		switch(instance_enter("Buwaya Cave")) {
+		case 3:
+			mes "[Guard]";
+			mes "Oh, now is not a good time.";
+			mes "Please try again a moment later.";
+			close;
+		case 2:
+		case 1:
+			mes "[Guard]";
+			mes "This place is dangerous. Please do not enter.";
+			close;
+		case 0:
+			mapannounce "ma_fild02",getpartyname(getcharid(1))+" party's "+strcharinfo(0)+" member began hunting Buwaya in Buwaya Cave.",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+			setquest 4229;
+			//warp "1@ma_c",35,57;
+			end;
+		default:
+			mes "- Could not enter due to an unidentified force. -";
+			close;
+		}
+	case 2:
+		mes "[Guard]";
+		mes "You must value your life.";
+		mes "It is better to think carefully before you act.";
+		close;
+	}
+}
+
+1@ma_c,33,112,0	script	#damage	139,7,7,{
+	end;
+OnInstanceInit:
+	initnpctimer;
+	disablenpc instance_npcname("#damage");
+	end;
+OnTimer1000:
+	enablenpc instance_npcname("#damage");
+	specialeffect EF_POISONHIT;
+	end;
+OnTimer2000:
+	stopnpctimer;
+	initnpctimer;
+	disablenpc instance_npcname("#damage");
+	end;
+OnTouch:
+	percentheal -10,-10;
+	sc_start SC_BLEEDING,60000,0;
+	sc_start SC_POISON,60000,0;
+	end;
+}
+
+1@ma_c,29,110,5	script	Kidnapped People#1	575,{
+	mes "[Kidnapped Residents]";
+	mes "Buwaya was running around,";
+	mes "and new people got caught.";
+	mes "We will be stuck in here for the rest of our lives.";
+	next;
+	switch(select("Get me outta here!!:Ca...can't escape?")) {
+	case 1:
+		mes "[Kidnapped Residents]";
+		mes "We don't have enough power to destroy it but Buwaya has a weakness.";
+		mes "Look at the wall over there.";
+		mes "If you knock there, Buywaya will feel pain and spit you out.";
+		donpcevent instance_npcname("#box_mob_call")+"::OnEnable";
+		close2;
+		disablenpc instance_npcname("Kidnapped People#1");
+		end;
+	case 2:
+		mes "[Kidnapped People]";
+		mes "Somthing is wrong here...";
+		mes "Have you experienced this before?";
+		close;
+	}
+	end;
+OnInstanceInit:
+	disablenpc instance_npcname("Kidnapped People#1");
+	end;
+OnEnable:
+	enablenpc instance_npcname("Kidnapped People#1");
+	donpcevent instance_npcname("#box_mob_call")+"::OnDisable";
+	end;
+}
+
+1@ma_c,36,110,5	script	Kidnapped People#2	574,{
+	mes "[Kidnapped Residents]";
+	mes "Ahaa! I wish I had a little more power...";
+	mes "I know its weakness...";
+	next;
+	switch(select("Tell me.:Do you really know?")) {
+	case 1:
+		mes "[Kidnapped Residents]";
+		mes "Are you sure you can do it...?";
+		mes "Ok, listen carefully,";
+		mes "its weakness is...";
+		next;
+		mes "[Kidnapped Residents]";
+		mes "...behind us on the walls.";
+		sc_start SC_ATKPOTION,60000,45;
+		sc_start SC_MATKPOTION,60000,45;
+		disablenpc instance_npcname("Kidnapped People#2");
+		close;
+	case 2:
+		mes "[Kidnapped Residents]";
+		mes "WHAT?!";
+		mes "Are you ignoring me";
+		mes "because I'm captured in here?";
+		close;
+	}
+	end;
+OnInstanceInit:
+	disablenpc instance_npcname("Kidnapped People#2");
+	end;
+OnEnable:
+	enablenpc instance_npcname("Kidnapped People#2");
+	end;
+}
+
+1@ma_c,3,3,0	script	#box_mob_call	139,1,1,{
+	end;
+OnInstanceInit:
+	setcell instance_mapname("1@ma_c"),30,118,35,118,cell_shootable,1; //custom
+	disablenpc instance_npcname("#box_mob_call");
+	end;
+OnEnable:
+	enablenpc instance_npcname("#box_mob_call");
+	set .@label$, instance_npcname("#box_mob_call")+"::OnMyMobDead";
+	set .@map$, instance_mapname("1@ma_c");
+	monster .@map$,30,118,"Buwaya's Weakness",2333,1,.@label$;
+	monster .@map$,35,118,"Buwaya's Weakness",2333,1,.@label$;
+	end;
+OnDisable:
+	killmonster instance_mapname("1@ma_c"),instance_npcname("#box_mob_call")+"::OnMyMobDead";
+	disablenpc instance_npcname("#box_mob_call");
+	end;
+OnMyMobDead:
+	if (mobcount(instance_mapname("1@ma_c"),instance_npcname("#box_mob_call")+"::OnMyMobDead") < 1)
+		donpcevent instance_npcname("#box_out")+"::OnEnable";
+	end;
+}
+
+1@ma_c,38,118,0	script	#box_out	45,2,2,{
+OnInstanceInit:
+OnDisable:
+	disablenpc instance_npcname("#box_out");
+	end;
+OnEnable:
+	enablenpc instance_npcname("#box_out");
+	end;
+OnTouch:
+	set .@x, rand(1,20) + 97;
+	set .@y, rand(1,20) + 74;
+	warp instance_mapname("1@ma_c"),.@x,.@y;
+	end;
+}
+
+1@ma_c,97,74,0	script	#box_call	139,50,50,{
+	end;
+OnInstanceInit:
+	disablenpc instance_npcname("#box_call");
+	initnpctimer;
+	end;
+OnTimer30000:
+	mapannounce instance_mapname("1@ma_c"),"Buwaya : I will put you in my treasure box!",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+	// Should execute OnTimer33000, but client doesn't render the effect fast enough.
+	for(set .@i,1; .@i<=9; set .@i,.@i+1)
+		donpcevent instance_npcname("#yunobi"+.@i)+"::OnEnable";
+	end;
+OnTimer33000:
+	donpcevent instance_npcname("#box_out")+"::OnDisable";
+	donpcevent instance_npcname("#box_mob_call")+"::OnDisable";
+	donpcevent instance_npcname("Kidnapped People#1")+"::OnEnable";
+	donpcevent instance_npcname("Kidnapped People#2")+"::OnEnable";
+	end;
+OnTimer34000:
+	enablenpc instance_npcname("#box_call");
+	end;
+OnTimer35000:
+	stopnpctimer;
+	initnpctimer;
+	disablenpc instance_npcname("#box_call");
+	end;
+OnTouch:
+	specialeffect2 EF_GUIDEDATTACK;
+	warp instance_mapname("1@ma_c"),33,112;
+	end;
+OnDisable:
+	stopnpctimer;
+	disablenpc instance_npcname("#box_call");
+	end;
+}
+
+1@ma_c,97,74,0	script	#yunobi1	139,{
+	end;
+OnInstanceInit:
+	hideonnpc instance_npcname(strnpcinfo(0));
+	end;
+OnEnable:
+	specialeffect EF_MAPPILLAR2;
+	end;
+}
+1@ma_c,97,94,0	duplicate(#yunobi1)	#yunobi2	139
+1@ma_c,117,94,0	duplicate(#yunobi1)	#yunobi3	139
+1@ma_c,117,74,0	duplicate(#yunobi1)	#yunobi4	139
+1@ma_c,117,54,0	duplicate(#yunobi1)	#yunobi5	139
+1@ma_c,97,54,0	duplicate(#yunobi1)	#yunobi6	139
+1@ma_c,77,54,0	duplicate(#yunobi1)	#yunobi7	139
+1@ma_c,77,74,0	duplicate(#yunobi1)	#yunobi8	139
+1@ma_c,77,94,0	duplicate(#yunobi1)	#yunobi9	139
+
+1@ma_c,1,1,0	script	#bunshin	139,{
+	end;
+OnInstanceInit:
+	initnpctimer;
+	end;
+OnTimer58000:
+	mapannounce instance_mapname("1@ma_c"),"Buwaya : I had enough with this, let's go till the end!",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+	end;
+OnTimer61000:
+	mapannounce instance_mapname("1@ma_c"),"Buwaya : This is!",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+	end;
+OnTimer62000:
+	mapannounce instance_mapname("1@ma_c"),"Buwaya : This is...MY!",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+	end;
+OnTimer63000:
+	mapannounce instance_mapname("1@ma_c"),"Buwaya : This is...MY...Deadly!",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+	end;
+OnTimer64000:
+	mapannounce instance_mapname("1@ma_c"),"Buwaya : This is...MY...Deadly... ATTACK!",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+	end;
+OnTimer65000:
+	set .@label$, instance_npcname("#bunshin")+"::OnMyMobDead";
+	set .@map$, instance_mapname("1@ma_c");
+	areamonster .@map$,112,89,122,99,"Buwaya",2332,1,.@label$;
+	areamonster .@map$,112,49,122,59,"Buwaya",2332,1,.@label$;
+	areamonster .@map$,72,49,82,59,"Buwaya",2332,1,.@label$;
+	areamonster .@map$,72,89,82,99,"Buwaya",2332,1,.@label$;
+	end;
+OnTimer66000:
+	mapannounce instance_mapname("1@ma_c"),"Buwaya : Are you scared?",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+	end;
+OnTimer105000:
+	killmonster instance_mapname("1@ma_c"),instance_npcname("#bunshin")+"::OnMyMobDead";
+	stopnpctimer;
+	initnpctimer;
+	end;
+OnMyMobDead:
+	if (mobcount(instance_mapname("1@ma_c"),instance_npcname("#bunshin")+"::OnMyMobDead") < 1) {
+		stopnpctimer;
+		initnpctimer;
+	}
+	end;
+OnDisable:
+	stopnpctimer;
+	killmonster instance_mapname("1@ma_c"),instance_npcname("#bunshin")+"::OnMyMobDead";
+	disablenpc instance_npcname("#bunshin");
+	end;
+}
+
+1@ma_c,2,2,0	script	#buwaya_con	139,{
+	end;
+OnInstanceInit:
+	areamonster instance_mapname("1@ma_c"),90,67,104,81,"Buwaya",2319,1,instance_npcname("#buwaya_con")+"::OnMyMobDead";
+	end;
+OnMyMobDead:
+	set .@map$, instance_mapname("1@ma_c");
+	if (mobcount(.@map$,instance_npcname("#buwaya_con")+"::OnMyMobDead") < 1) {
+		donpcevent instance_npcname("#box_call")+"::OnDisable";
+		donpcevent instance_npcname("#bunshin")+"::OnDisable";
+		donpcevent instance_npcname("#exit_mob")+"::OnDisable";
+		donpcevent instance_npcname("#cave_out")+"::OnEnable";
+		mapannounce .@map$,"Guard : You did great work. Please hurry up and escape to the way you came in!",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+	}
+	end;
+}
+
+1@ma_c,3,3,0	script	#exit_mob	139,{
+	end;
+OnInstanceInit:
+	initnpctimer;
+	end;
+OnTimer60000:
+	set .@label$, instance_npcname("#exit_mob")+"::OnMyMobDead";
+	set .@map$, instance_mapname("1@ma_c");
+	if (mobcount(.@map$,.@label$) < 30)
+		set .@amount,10;
+	else
+		set .@amount,1;
+	areamonster .@map$,43,58,47,60,"Water Plant",2331,.@amount,.@label$;
+	areamonster .@map$,43,58,47,60,"Egg",2329,.@amount,.@label$;
+	stopnpctimer;
+	initnpctimer;
+	end;
+OnDisable:
+	stopnpctimer;
+	killmonster instance_mapname("1@ma_c"),instance_npcname("#exit_mob")+"::OnMyMobDead";
+	disablenpc instance_npcname("#exit_mob");
+	end;
+}
+
+1@ma_c,28,57,0	script	#cave_out	45,2,2,{
+OnInstanceInit:
+	disablenpc instance_npcname("#cave_out");
+	end;
+OnEnable:
+	enablenpc instance_npcname("#cave_out");
+	end;
+OnTouch:
+	mes "Would like to go out?";
+	next;
+	if(select("Yes!:No, I will stay.") == 1)
+		warp "ma_fild02",315,315;
+	close;
+}
+
+1@ma_c,1,1,0	script	#buwaya_spawn_mobs	-1,{
+OnInstanceInit:
+	set .@map$, instance_mapname("1@ma_c");
+	areamonster .@map$,73,81,93,101,"Seaweed",2331,18;
+	areamonster .@map$,110,97,116,103,"Seaweed",2331,8;
+	areamonster .@map$,59,63,63,67,"Seaweed",2331,8;
+	areamonster .@map$,73,55,77,59,"Seaweed",2331,4;
+	areamonster .@map$,103,69,107,73,"Seaweed",2331,4;
+	areamonster .@map$,108,45,122,63,"Seaweed",2331,15;
+	areamonster .@map$,73,81,93,101,"Buwaya's Egg",2329,10;
+	areamonster .@map$,110,97,116,103,"Buwaya's Egg",2329,8;
+	areamonster .@map$,59,63,63,67,"Buwaya's Egg",2329,4;
+	areamonster .@map$,73,55,77,59,"Buwaya's Egg",2329,3;
+	areamonster .@map$,103,69,107,73,"Buwaya's Egg",2329,3;
+	areamonster .@map$,108,45,122,63,"Buwaya's Egg",2329,15;
+	monster .@map$,0,0,"Seaweed",2331,5;
+	monster .@map$,0,0,"Buwaya's Slave",2330,5;
+	end;
+}

+ 7 - 8
npc/re/merchants/enchan_mora.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //===== By: ================================================== 
 //= Euphy
 //= Euphy
 //===== Current Version: ===================================== 
 //===== Current Version: ===================================== 
-//= 1.1b
+//= 1.1a
 //===== Compatible With: ===================================== 
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //= rAthena SVN
 //===== Description: ========================================= 
 //===== Description: ========================================= 
@@ -14,7 +14,6 @@
 //= 1.0 First Version. [Euphy]
 //= 1.0 First Version. [Euphy]
 //= 1.1 Optimized. [Euphy]
 //= 1.1 Optimized. [Euphy]
 //= 1.1a Bug fixes. [Lemongrass]
 //= 1.1a Bug fixes. [Lemongrass]
-//= 1.1b Added missing items to Guardian of Power. [Euphy]
 //============================================================ 
 //============================================================ 
 
 
 // Arch Bishop Enchants :: coin_arc
 // Arch Bishop Enchants :: coin_arc
@@ -566,16 +565,16 @@ mora,152,97,5	script	Guardian of Power#pa082	515,{
 	next;
 	next;
 	switch(.@job) {
 	switch(.@job) {
 	case 0: // Rune Knight
 	case 0: // Rune Knight
-		setarray .@items[0],2475,2476,2574,2575,15036,15037,2883,2884;
-		set .@i, select("Cancel:Ur's Greaves (Shoes):Peuz's Greaves (Shoes):Ur's Manteau (Garment):Peuz's Manteau (Garment):Ur's Plate (Armor):Peuz Plate (Armor):Ur's Seal (Accessory):Peuz's Seal (Accessory)")-2;
+		setarray .@items[0],2475,2476,2574,2575;
+		set .@i, select("Cancel:Ur's Greaves (Shoes):Peuz's Greaves (Shoes):Ur's Manteau (Garment):Peuz's Manteau (Garment)")-2;
 		break;
 		break;
 	case 1: // Guillotine Cross
 	case 1: // Guillotine Cross
-		setarray .@items[0],2477,2478,2577,2578,15038,15039,2886,2887;
-		set .@i, select("Cancel:Sapha Shoes (Shoes):Nab Shoes (Shoes):Sapha Hood (Garment):Nab Hood (Garment):Sapha's Cloth (Armor):Nab's Cloth (Armor):Sapha Ring (Accessory):Nab Ring (Accessory)")-2;
+		setarray .@items[0],2477,2478,2577,2578;
+		set .@i, select("Cancel:Sapha Shoes (Shoes):Nab Shoes (Shoes):Sapha Hood (Garment):Nab Hood (Garment)")-2;
 		break;
 		break;
 	case 2: // Ranger
 	case 2: // Ranger
-		setarray .@items[0],2479,2480,2580,2581,15042,15043,2890,2891;
-		set .@i, select("Cancel:White Wing Boots (Shoes):Black Wing Boots (Shoes):White Wing Manteau (Garment):Black Wing Manteau (Garment):White Wing Suit (Armor):Black Wing Suit (Armor):White Wing Brooch (Accessory):Black Wing Brooch (Accessory)")-2;
+		setarray .@items[0],2479,2480,2580,2581;
+		set .@i, select("Cancel:White Wing Boots (Shoes):Black Wing Boots (Shoes):White Wing Manteau (Garment):Black Wing Manteau (Garment)")-2;
 		break;
 		break;
 	}
 	}
 	if (.@i == -1) {
 	if (.@i == -1) {

+ 2 - 0
npc/re/scripts_athena.conf

@@ -48,6 +48,8 @@ npc: npc/re/guides/guides_umbala.txt
 npc: npc/re/guides/guides_veins.txt
 npc: npc/re/guides/guides_veins.txt
 
 
 // ------------------------ Instances ---------------------------
 // ------------------------ Instances ---------------------------
+npc: npc/re/instances/BakonawaLake.txt
+npc: npc/re/instances/BuwayaCave.txt
 npc: npc/re/instances/HazyForest.txt
 npc: npc/re/instances/HazyForest.txt
 npc: npc/re/instances/MalangdoCulvert.txt
 npc: npc/re/instances/MalangdoCulvert.txt
 npc: npc/re/instances/OctopusCave.txt
 npc: npc/re/instances/OctopusCave.txt

+ 2 - 0
npc/scripts_athena.conf

@@ -95,6 +95,8 @@ npc: npc/events/god_se_festival.txt
 //npc: npc/events/idul_fitri.txt
 //npc: npc/events/idul_fitri.txt
 // - Official Lunar New Year (2008) Event (iRO)
 // - Official Lunar New Year (2008) Event (iRO)
 //npc: npc/events/lunar_2008.txt
 //npc: npc/events/lunar_2008.txt
+// - Official RWC (2012) Enchants Event
+//npc: npc/events/RWC_2012.txt
 // - Official Memorial Day (2009) Event (iRO)
 // - Official Memorial Day (2009) Event (iRO)
 //npc: npc/events/MemorialDay_2008.txt
 //npc: npc/events/MemorialDay_2008.txt
 // - Official St. Patrick's Day (2008) Event (iRO)
 // - Official St. Patrick's Day (2008) Event (iRO)

+ 5 - 5
sql-files/mob_db_re.sql

@@ -1534,15 +1534,15 @@ REPLACE INTO `mob_db` VALUES (2325,'M_BAPHOMET_','Baphomet','Baphomet',57,7510,2
 REPLACE INTO `mob_db` VALUES (2326,'M_GALAPAGO','Galapago','Galapago',45,7513,201,0,0,1,760,155,70,40,30,28,29,18,30,16,10,12,0,2,22,0x37B5,165,1430,1080,1080,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2326,'M_GALAPAGO','Galapago','Galapago',45,7513,201,0,0,1,760,155,70,40,30,28,29,18,30,16,10,12,0,2,22,0x37B5,165,1430,1080,1080,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2327,'BANGUNGOT_3','Bangungot','Bangungot',115,250,1,0,0,1,2561,1504,411,95,151,192,110,112,251,57,10,12,1,6,47,0x30F5,2000,0,0,0,0,0,0,0,0,0,0,6517,2000,6524,50,6499,2000,2491,1000,2169,100,6499,10000,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2327,'BANGUNGOT_3','Bangungot','Bangungot',115,250,1,0,0,1,2561,1504,411,95,151,192,110,112,251,57,10,12,1,6,47,0x30F5,2000,0,0,0,0,0,0,0,0,0,0,6517,2000,6524,50,6499,2000,2491,1000,2169,100,6499,10000,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2328,'MA_DRUM','Drum','Drum',1,200,0,0,0,1,1,1,100,99,0,0,0,0,0,0,10,12,0,0,20,0x40,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2328,'MA_DRUM','Drum','Drum',1,200,0,0,0,1,1,1,100,99,0,0,0,0,0,0,10,12,0,0,20,0x40,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
-REPLACE INTO `mob_db` VALUES (2329,'BUWAYA_EGG','Buwaya Egg','Buwaya Egg',100,10000,1,0,0,0,1,1,90,90,1,1,1,1,1,1,10,12,0,0,60,0x0,2000,1001,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
-REPLACE INTO `mob_db` VALUES (2330,'BUWAYA_SLAVE','Buwaya Slave','Buwaya Slave',135,20145,1,0,0,1,2413,2041,105,71,151,120,110,102,143,61,10,12,0,3,22,0x3795,200,576,960,504,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
-REPLACE INTO `mob_db` VALUES (2331,'MA_SEAW','Seaweed','Seaweed',100,10,1,0,0,1,1,1,1,1,1,1,1,1,1,1,10,12,0,5,21,0x40,2000,384,720,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
+REPLACE INTO `mob_db` VALUES (2329,'BUWAYA_EGG','Buwaya\'s Egg','Buwaya\'s Egg',100,10000,1,0,0,0,1,1,90,90,1,1,1,1,1,1,10,12,0,0,60,0x0,2000,1001,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
+REPLACE INTO `mob_db` VALUES (2330,'BUWAYA_SLAVE','Buwaya\'s Slave','Buwaya\'s Slave',135,20145,1,0,0,1,2413,2041,105,71,151,120,110,102,143,61,10,12,0,3,22,0x3795,200,576,960,504,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
+REPLACE INTO `mob_db` VALUES (2331,'MA_SEAW','Seaweed','Seaweed',100,10,1,0,0,1,1,1,1,1,1,1,1,1,1,1,10,12,0,5,21,0x1C4,2000,384,720,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2332,'BUWAYA_GHOST','Fake Buwaya','Fake Buwaya',138,30000,1,0,0,1,1280,1252,481,78,201,248,174,112,371,57,10,12,0,3,81,0x37B5,100,1424,576,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2332,'BUWAYA_GHOST','Fake Buwaya','Fake Buwaya',138,30000,1,0,0,1,1280,1252,481,78,201,248,174,112,371,57,10,12,0,3,81,0x37B5,100,1424,576,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2333,'BUWAYA_WEAK','Buwaya\'s Weakness','Buwaya\'s Weakness',138,20,1,0,0,1,0,1,100,78,0,0,0,0,0,0,10,12,0,3,81,0x60,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2333,'BUWAYA_WEAK','Buwaya\'s Weakness','Buwaya\'s Weakness',138,20,1,0,0,1,0,1,100,78,0,0,0,0,0,0,10,12,0,3,81,0x60,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2334,'G_WAKWAK','Wakwak','Wakwak',145,194830,1,0,0,1,1544,3171,24,104,101,154,104,184,151,71,10,12,0,6,47,0x83,100,424,576,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2334,'G_WAKWAK','Wakwak','Wakwak',145,194830,1,0,0,1,1544,3171,24,104,101,154,104,184,151,71,10,12,0,6,47,0x83,100,424,576,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2335,'MA_TREASURE','Treasure Chest','Treasure Chest',140,5,0,0,0,1,0,0,100,0,0,0,0,0,1199,0,10,12,0,0,26,0x120,0,0,0,0,0,0,0,0,0,0,0,6516,2000,6524,50,6499,2000,15051,1000,2169,100,969,2000,6499,10000,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2335,'MA_TREASURE','Treasure Chest','Treasure Chest',140,5,0,0,0,1,0,0,100,0,0,0,0,0,1199,0,10,12,0,0,26,0x120,0,0,0,0,0,0,0,0,0,0,0,6516,2000,6524,50,6499,2000,15051,1000,2169,100,969,2000,6499,10000,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2336,'DOMOVOI','Domovoi','Domovoi',38,898,1,135,152,1,63,11,40,0,20,11,34,20,19,10,10,12,0,2,22,0x83,200,800,1200,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2336,'DOMOVOI','Domovoi','Domovoi',38,898,1,135,152,1,63,11,40,0,20,11,34,20,19,10,10,12,0,2,22,0x83,200,800,1200,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
-REPLACE INTO `mob_db` VALUES (2337,'HIDDEN_MOB','Hidden Mob','Hidden Mob',151,10000,200,0,0,7,0,1000,200,10,200,200,200,200,200,200,12,12,0,4,88,0x40,2000,0,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
+REPLACE INTO `mob_db` VALUES (2337,'HIDDEN_MOB','Hidden Mob','Hidden Mob',151,10000,200,0,0,7,0,1000,200,10,200,200,200,200,200,200,12,12,0,4,88,0x1C4,2000,0,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2338,'MD_MANANANGGAL','Bangungot Manananggal','Bangungot Manananggal',107,204511,1,0,0,1,801,103,64,31,75,85,45,71,75,46,10,12,1,6,47,0x3795,100,280,720,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2338,'MD_MANANANGGAL','Bangungot Manananggal','Bangungot Manananggal',107,204511,1,0,0,1,801,103,64,31,75,85,45,71,75,46,10,12,1,6,47,0x3795,100,280,720,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2339,'MD_MANGKUKULAM','Bangungot Mangkukulam','Bangungot Mangkukulam',110,102154,1,0,0,1,582,196,89,75,35,71,31,82,64,52,10,12,1,6,40,0x3795,150,1664,336,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2339,'MD_MANGKUKULAM','Bangungot Mangkukulam','Bangungot Mangkukulam',110,102154,1,0,0,1,582,196,89,75,35,71,31,82,64,52,10,12,1,6,40,0x3795,150,1664,336,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2340,'MD_TIYANAK','Tiyanak','Tiyanak',105,50211,1,0,0,1,457,251,76,21,41,58,41,51,72,47,10,12,0,6,47,0x3795,100,496,504,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2340,'MD_TIYANAK','Tiyanak','Tiyanak',105,50211,1,0,0,1,457,251,76,21,41,58,41,51,72,47,10,12,0,6,47,0x3795,100,496,504,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
@@ -1550,7 +1550,7 @@ REPLACE INTO `mob_db` VALUES (2341,'RWC_BOSS2011','RWC Boss','RWC Boss',141,3205
 
 
 # Additional Mercenary Monsters
 # Additional Mercenary Monsters
 REPLACE INTO `mob_db` VALUES (2342,'MER_DIABOLIC','Diabolic','Diabolic',83,9815,234,0,0,2,1100,200,60,60,85,90,71,43,85,105,10,12,0,6,47,0x37B5,150,1080,780,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2342,'MER_DIABOLIC','Diabolic','Diabolic',83,9815,234,0,0,2,1100,200,60,60,85,90,71,43,85,105,10,12,0,6,47,0x37B5,150,1080,780,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
-REPLACE INTO `mob_db` VALUES (2343,'HIDDEN_MOB_W','Hidden Mob','Hidden Mob',151,10000,200,0,0,7,0,1000,200,10,200,200,200,200,200,200,12,12,0,4,88,0x40,2000,0,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
+REPLACE INTO `mob_db` VALUES (2343,'HIDDEN_MOB_W','Hidden Mob','Hidden Mob',151,10000,200,0,0,7,0,1000,200,10,200,200,200,200,200,200,12,12,0,4,88,0x1C4,2000,0,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2344,'MER_WISH_MAIDEN','Wish Maiden','Wish Maiden',83,9815,234,0,0,2,1100,200,60,60,85,90,71,43,85,105,10,12,0,6,47,0x83,150,1080,780,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2344,'MER_WISH_MAIDEN','Wish Maiden','Wish Maiden',83,9815,234,0,0,2,1100,200,60,60,85,90,71,43,85,105,10,12,0,6,47,0x83,150,1080,780,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2345,'MER_ZHERLTHSH','Zherlthsh','Zealotus',83,9815,234,0,0,2,1100,200,60,60,85,90,71,43,85,105,10,12,0,6,47,0x37B5,150,1080,780,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2345,'MER_ZHERLTHSH','Zherlthsh','Zealotus',83,9815,234,0,0,2,1100,200,60,60,85,90,71,43,85,105,10,12,0,6,47,0x37B5,150,1080,780,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2346,'MER_KTULLANUX','Ktullanux','Ktullanux',83,9815,234,0,0,2,1100,200,60,60,85,90,71,43,85,105,10,12,0,6,47,0x37B5,150,1080,780,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
 REPLACE INTO `mob_db` VALUES (2346,'MER_KTULLANUX','Ktullanux','Ktullanux',83,9815,234,0,0,2,1100,200,60,60,85,90,71,43,85,105,10,12,0,6,47,0x37B5,150,1080,780,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);

+ 66 - 30
sql-files/mob_skill_db_re.sql

@@ -7909,24 +7909,67 @@ REPLACE INTO `mob_skill_db` VALUES (2317,'Bangungot@WZ_VERMILION','attack',85,20
 REPLACE INTO `mob_skill_db` VALUES (2317,'Bangungot@WZ_METEOR','chase',83,11,5000,500,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db` VALUES (2317,'Bangungot@WZ_METEOR','chase',83,11,5000,500,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db` VALUES (2317,'Bangungot@WZ_METEOR','attack',83,11,2000,500,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db` VALUES (2317,'Bangungot@WZ_METEOR','attack',83,11,2000,500,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db` VALUES (2317,'Bangungot@NPC_ALLHEAL','idle',687,1,10000,30000,30000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db` VALUES (2317,'Bangungot@NPC_ALLHEAL','idle',687,1,10000,30000,30000,'yes','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2318,'Bangungot@NPC_ALLHEAL','idle',687,1,10000,2000,10000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@CR_REFLECTSHIELD','idle',252,5,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@CR_REFLECTSHIELD','chase',252,5,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2318,'Bangungot@NPC_ALLHEAL','idle',687,1,3000,2000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2318,'Bangungot@NPC_ALLHEAL','attack',687,1,3000,2000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@NPC_DRAGONFEAR','chase',659,5,10000,0,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@NPC_DRAGONFEAR','attack',659,5,2000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@NPC_ICEBREATH','attack',655,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@NPC_DARKBREATH','attack',202,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@NPC_WEAPONBRAKER','attack',343,10,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@CR_REFLECTSHIELD','attack',252,5,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
 REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@CR_REFLECTSHIELD','attack',252,5,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@WZ_METEOR','attack',83,11,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@WZ_METEOR','chase',83,11,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@WZ_VERMILION','chase',85,20,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@WZ_VERMILION','attack',85,20,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@WZ_STORMGUST','chase',89,10,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@CR_REFLECTSHIELD','chase',252,5,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
 REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@WZ_STORMGUST','attack',89,10,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@WZ_STORMGUST','attack',89,10,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2320,'Bakonawa@WZ_STORMGUST','attack',89,10,10000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2320,'Bakonawa@WZ_VERMILION','attack',85,20,10000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2320,'Bakonawa@WZ_METEOR','idle',83,11,10000,0,0,'yes','randomtarget','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2320,'Bakonawa@WZ_METEOR','idle',83,11,10000,0,0,'yes','randomtarget','casttargeted',NULL,NULL,NULL,NULL,NULL,NULL,'9',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2320,'Bakonawa@WZ_METEOR','attack',83,11,10000,0,1000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@WZ_STORMGUST','chase',89,10,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@WZ_VERMILION','attack',85,20,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@WZ_VERMILION','chase',85,20,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@WZ_WATERBALL','chase',86,10,5000,500,1000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@SM_PROVOKE','attack',6,10,10000,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@WZ_JUPITEL','attack',84,10,10000,0,5000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@AL_HEAL','attack',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@AL_HEAL','chase',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2319,'Buwaya@NPC_CRITICALWOUND','attack',673,3,2000,0,60000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2320,'Bakonawa@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2320,'Bakonawa@AL_HEAL','attack',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2320,'Bakonawa@AL_HEAL','chase',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2320,'Bakonawa@NPC_RANDOMATTACK','attack',183,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2320,'Bakonawa@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2320,'Bakonawa@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2320,'Bakonawa@AS_SONICBLOW','attack',136,10,2000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2320,'Bakonawa@NPC_DARKBREATH','attack',202,4,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2320,'Bakonawa@NPC_POWERUP','attack',349,3,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2320,'Bakonawa@WZ_METEOR','attack',83,11,2000,1000,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2320,'Bakonawa@NPC_BLEEDING','attack',660,2,2000,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2320,'Bakonawa@NPC_CRITICALWOUND','attack',673,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@AL_HEAL','idle',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@AL_HEAL','attack',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@AL_HEAL','chase',28,11,10000,0,5000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'47',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@NPC_DRAGONFEAR','chase',659,5,10000,0,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@NPC_DRAGONFEAR','attack',659,5,2000,1000,20000,'no','self','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@NPC_ICEBREATH','attack',655,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@NPC_DARKBREATH','attack',202,5,500,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@NPC_POWERUP','attack',349,5,10000,0,30000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,'36',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@NPC_ARMORBRAKE','attack',344,10,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@NPC_WEAPONBRAKER','attack',343,10,500,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@CR_REFLECTSHIELD','attack',252,5,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@NPC_RANDOMATTACK','attack',183,5,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'6',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@WZ_STORMGUST','attack',89,10,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@WZ_STORMGUST','chase',89,10,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@WZ_VERMILION','attack',85,20,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@WZ_VERMILION','chase',85,20,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@WZ_WATERBALL','chase',86,10,5000,500,1000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@NPC_CRITICALSLASH','attack',170,1,500,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@AS_SONICBLOW','attack',136,10,2000,800,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@WZ_METEOR','attack',83,11,2000,1000,30000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@NPC_BLEEDING','attack',660,2,2000,0,30000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@NPC_CRITICALWOUND','attack',673,3,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 #
 #
-REPLACE INTO `mob_skill_db` VALUES (2329,'Buwaya Egg@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always','0',19,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2329,'Buwaya Egg@NPC_METAMORPHOSIS','idle',193,1,1000,2000,5000,'no','self','always','0',2330,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2329,'Buwaya Egg@NPC_METAMORPHOSIS','idle',193,1,2000,2000,5000,'no','self','always','0',2330,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db` VALUES (2330,'Buwaya Slave@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',32,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db` VALUES (2330,'Buwaya Slave@NPC_EMOTION','chase',197,1,2000,0,5000,'yes','self','always','0',32,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db` VALUES (2330,'Buwaya Slave@SM_PROVOKE','chase',6,10,2000,600,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'44',NULL);
 REPLACE INTO `mob_skill_db` VALUES (2330,'Buwaya Slave@SM_PROVOKE','chase',6,10,2000,600,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'44',NULL);
 REPLACE INTO `mob_skill_db` VALUES (2330,'Buwaya Slave@TF_THROWSTONE','chase',152,1,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db` VALUES (2330,'Buwaya Slave@TF_THROWSTONE','chase',152,1,2000,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -7934,21 +7977,11 @@ REPLACE INTO `mob_skill_db` VALUES (2330,'Buwaya Slave@NPC_GROUNDATTACK','attack
 REPLACE INTO `mob_skill_db` VALUES (2330,'Buwaya Slave@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db` VALUES (2330,'Buwaya Slave@NPC_COMBOATTACK','attack',171,2,500,700,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db` VALUES (2330,'Buwaya Slave@NPC_PIERCINGATT','attack',158,5,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db` VALUES (2330,'Buwaya Slave@NPC_PIERCINGATT','attack',158,5,500,0,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db` VALUES (2330,'Buwaya Slave@NPC_FIREBREATH','attack',654,3,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db` VALUES (2330,'Buwaya Slave@NPC_FIREBREATH','attack',654,3,500,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2331,'Seaweed@AL_DECAGI','chase',30,10,10000,500,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2331,'Seaweed@AL_HEAL','idle',28,5,10000,500,5000,'no','friend','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2331,'Seaweed@AL_HEAL','chase',28,5,10000,500,5000,'no','friend','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2331,'Seaweed@AL_HEAL','attack',28,5,10000,500,5000,'no','friend','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2332,'Fake Buwaya@CR_REFLECTSHIELD','idle',252,5,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2332,'Fake Buwaya@CR_REFLECTSHIELD','chase',252,5,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2332,'Fake Buwaya@CR_REFLECTSHIELD','attack',252,5,10000,0,300000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,'32',NULL);
-REPLACE INTO `mob_skill_db` VALUES (2332,'Fake Buwaya@NPC_DRAGONFEAR','chase',659,5,10000,0,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2332,'Fake Buwaya@NPC_DRAGONFEAR','attack',659,5,10000,0,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2332,'Fake Buwaya@WZ_METEOR','attack',83,11,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2332,'Fake Buwaya@WZ_METEOR','chase',83,11,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2332,'Fake Buwaya@WZ_VERMILION','chase',85,20,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2332,'Fake Buwaya@WZ_VERMILION','attack',85,20,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2332,'Fake Buwaya@WZ_STORMGUST','chase',89,10,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-REPLACE INTO `mob_skill_db` VALUES (2332,'Fake Buwaya@WZ_STORMGUST','attack',89,10,2000,500,2000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2331,'Seaweed@AL_DECAGI','idle',30,1,10000,1000,5000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2331,'Seaweed@AL_HEAL','idle',28,9,10000,500,5000,'yes','friend','friendhpltmaxrate','100',NULL,NULL,NULL,NULL,NULL,'2',NULL);
+REPLACE INTO `mob_skill_db` VALUES (2337,'Hidden Mob@NPC_INVISIBLE','idle',353,1,10000,0,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2337,'Hidden Mob@NPC_INVISIBLE','attack',353,1,10000,0,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2337,'Hidden Mob@WZ_METEOR','attack',83,5,10000,0,1000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db` VALUES (2338,'Bangungot Manananggal@NPC_BLOODDRAIN','chase',199,1,2000,0,5000,'yes','randomtarget','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
 REPLACE INTO `mob_skill_db` VALUES (2338,'Bangungot Manananggal@NPC_BLOODDRAIN','chase',199,1,2000,0,5000,'yes','randomtarget','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
 REPLACE INTO `mob_skill_db` VALUES (2338,'Bangungot Manananggal@NPC_BLOODDRAIN','attack',199,1,2000,0,5000,'yes','randomtarget','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
 REPLACE INTO `mob_skill_db` VALUES (2338,'Bangungot Manananggal@NPC_BLOODDRAIN','attack',199,1,2000,0,5000,'yes','randomtarget','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,'3',NULL);
 REPLACE INTO `mob_skill_db` VALUES (2338,'Bangungot Manananggal@NPC_COMBOATTACK','chase',171,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
 REPLACE INTO `mob_skill_db` VALUES (2338,'Bangungot Manananggal@NPC_COMBOATTACK','chase',171,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'7',NULL);
@@ -7957,6 +7990,9 @@ REPLACE INTO `mob_skill_db` VALUES (2339,'Bangungot Mangkukulam@NPC_DARKTHUNDER'
 REPLACE INTO `mob_skill_db` VALUES (2339,'Bangungot Mangkukulam@NPC_DARKTHUNDER','attack',341,3,1000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
 REPLACE INTO `mob_skill_db` VALUES (2339,'Bangungot Mangkukulam@NPC_DARKTHUNDER','attack',341,3,1000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
 REPLACE INTO `mob_skill_db` VALUES (2339,'Bangungot Mangkukulam@NPC_DARKSTRIKE','chase',340,9,1000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db` VALUES (2339,'Bangungot Mangkukulam@NPC_DARKSTRIKE','chase',340,9,1000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db` VALUES (2339,'Bangungot Mangkukulam@NPC_DARKSTRIKE','attack',340,9,1000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 REPLACE INTO `mob_skill_db` VALUES (2339,'Bangungot Mangkukulam@NPC_DARKSTRIKE','attack',340,9,1000,500,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2343,'Hidden Mob@NPC_INVISIBLE','idle',353,1,10000,0,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2343,'Hidden Mob@NPC_INVISIBLE','attack',353,1,10000,0,30000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+REPLACE INTO `mob_skill_db` VALUES (2343,'Hidden Mob@WZ_STORMGUST','attack',89,5,10000,0,1000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 
 
 # Nightmare Pyramids (currently placeholders)
 # Nightmare Pyramids (currently placeholders)
 REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@NPC_BLOODDRAIN','idle',199,1,2000,0,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
 REPLACE INTO `mob_skill_db` VALUES (2362,'Nightmare Amon Ra@NPC_BLOODDRAIN','idle',199,1,2000,0,5000,'yes','randomtarget','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);

+ 1 - 1
src/map/mob.c

@@ -447,7 +447,7 @@ struct mob_data *mob_once_spawn_sub(struct block_list *bl, int16 m, int16 x, int
 		map_search_freecell(bl, m, &x, &y, 1, 1, 0);
 		map_search_freecell(bl, m, &x, &y, 1, 1, 0);
 
 
 	// if none found, pick random position on map
 	// if none found, pick random position on map
-	if (x <= 0 || y <= 0 || map_getcell(m,x,y,CELL_CHKNOREACH))
+	if (x <= 0 || x >= map[m].xs || y <= 0 || y >= map[m].ys)
 		map_search_freecell(NULL, m, &x, &y, -1, -1, 1);
 		map_search_freecell(NULL, m, &x, &y, -1, -1, 1);
 
 
 	data.x = x;
 	data.x = x;

+ 11 - 11
src/map/pc.c

@@ -9711,21 +9711,21 @@ static bool pc_readdb_job_maxhpsp(char* fields[], int columns, int current)
 
 
 	startlvl = atoi(fields[0]);
 	startlvl = atoi(fields[0]);
 	if(startlvl > MAX_LEVEL || startlvl<1){
 	if(startlvl > MAX_LEVEL || startlvl<1){
-		ShowError("pc_readdb_job_maxhpsp: Invalid startlvl %d specified.\n", startlvl);
+		ShowError("pc_readdb_job_maxhpsp: Invalid start level %d specified.\n", startlvl);
 		return false;
 		return false;
 	}
 	}
 	maxlvl = atoi(fields[1]);
 	maxlvl = atoi(fields[1]);
 	if(maxlvl > MAX_LEVEL || maxlvl<1){
 	if(maxlvl > MAX_LEVEL || maxlvl<1){
-		ShowError("pc_readdb_job_maxhpsp: Invalid maxlevel %d specified.\n", maxlvl);
+		ShowError("pc_readdb_job_maxhpsp: Invalid max level %d specified.\n", maxlvl);
 		return false;
 		return false;
 	}
 	}
 	if((maxlvl-startlvl+1+4) != columns){ //nb values = (maxlvl-startlvl)+1-index1stvalue
 	if((maxlvl-startlvl+1+4) != columns){ //nb values = (maxlvl-startlvl)+1-index1stvalue
-		ShowError("pc_readdb_job_maxhpsp: Number of colums=%d defined is too low for startlevel=%d,maxlevel=%d\n",columns,startlvl,maxlvl);
+		ShowError("pc_readdb_job_maxhpsp: Number of columns %d defined is too low for start level %d, max level %d.\n",columns,startlvl,maxlvl);
 		return false;
 		return false;
 	}
 	}
 	type = atoi(fields[3]);
 	type = atoi(fields[3]);
 	if(type < 0 || type > 1){
 	if(type < 0 || type > 1){
-		ShowError("pc_readdb_job_maxhpsp: Invalid type %d specified, only [0;1] is valid.\n", type);
+		ShowError("pc_readdb_job_maxhpsp: Invalid type %d specified.\n", type);
 		return false;
 		return false;
 	}
 	}
 	job_count = pc_split_atoi(fields[2],jobs,':',CLASS_COUNT);
 	job_count = pc_split_atoi(fields[2],jobs,':',CLASS_COUNT);
@@ -9751,13 +9751,13 @@ static bool pc_readdb_job_maxhpsp(char* fields[], int columns, int current)
 					level++; // This tells us when we didn't use the database so we know what field to grab
 					level++; // This tells us when we didn't use the database so we know what field to grab
 				}
 				}
 				if(oldval > val && i > startlvl && i <= maxlvl) // Let's not warn about the formula table giving us a higher value, only DB
 				if(oldval > val && i > startlvl && i <= maxlvl) // Let's not warn about the formula table giving us a higher value, only DB
-					ShowWarning("Warn, HP value is lower than previous one for (job=%d,oldval=%d,val=%d,lvl=%d hp_factor=%d,hp_multiplicator=%d,k=%d)\n",
+					ShowWarning("pc_readdb_job_maxhpsp: HP value is lower than previous level (job=%d,oldval=%d,val=%d,lvl=%d hp_factor=%d,hp_multiplicator=%d,k=%d).\n",
 						job_id,oldval,val,i+1,job_info[idx].hp_factor,job_info[idx].hp_multiplicator,k);
 						job_id,oldval,val,i+1,job_info[idx].hp_factor,job_info[idx].hp_multiplicator,k);
 				val = min(INT_MAX,val);
 				val = min(INT_MAX,val);
 				job_info[idx].hp_table[i] = val;
 				job_info[idx].hp_table[i] = val;
 				oldval = val;
 				oldval = val;
 			}
 			}
-	//		ShowInfo("Have readen hp table for job=%d\n{",job_id);
+	//		ShowInfo("Finished reading HP table for job %d.\n{",job_id);
 	//		for(i=0; i<=MAX_LEVEL; i++ )
 	//		for(i=0; i<=MAX_LEVEL; i++ )
 	//			printf("%d,",job_info[idx].hp_table[i]);
 	//			printf("%d,",job_info[idx].hp_table[i]);
 	//		printf("\n}\n");
 	//		printf("\n}\n");
@@ -9773,13 +9773,13 @@ static bool pc_readdb_job_maxhpsp(char* fields[], int columns, int current)
 					level++; // This tells us when we didn't use the database so we know what field to grab
 					level++; // This tells us when we didn't use the database so we know what field to grab
 				}
 				}
 				if(oldval > val && i > startlvl && i <= maxlvl) // Let's not warn about the formula table giving us a higher value, only DB
 				if(oldval > val && i > startlvl && i <= maxlvl) // Let's not warn about the formula table giving us a higher value, only DB
-					ShowWarning("Warn, SP value is lower than previous one for (job=%d,oldval=%d,val=%d,lvl=%d,sp_factor=%d)\n",
+					ShowWarning("pc_readdb_job_maxhpsp: SP value is lower than previous level (job=%d,oldval=%d,val=%d,lvl=%d,sp_factor=%d).\n",
 						job_id,oldval,val,i+1,job_info[idx].sp_factor);
 						job_id,oldval,val,i+1,job_info[idx].sp_factor);
 				val = min(INT_MAX,val);
 				val = min(INT_MAX,val);
 				job_info[idx].sp_table[i] = val;
 				job_info[idx].sp_table[i] = val;
 				oldval = val;
 				oldval = val;
 			}
 			}
-	//		ShowInfo("Have readen sp table for job=%d\n{",job_id);
+	//		ShowInfo("Finished reading SP table for job %d.\n{",job_id);
 	//		for(i=0; i<MAX_LEVEL; i++ )
 	//		for(i=0; i<MAX_LEVEL; i++ )
 	//			printf("%d,",job_info[idx].sp_table[i]);
 	//			printf("%d,",job_info[idx].sp_table[i]);
 	//		printf("\n}\n");
 	//		printf("\n}\n");
@@ -9788,7 +9788,7 @@ static bool pc_readdb_job_maxhpsp(char* fields[], int columns, int current)
 	return true;
 	return true;
 }
 }
 
 
-//Reading job_maxhpsp.txt line
+//Reading job_exp.txt line
 //Max Level,Class list,Type (0 - Base Exp; 1 - Job Exp),Exp/lvl...
 //Max Level,Class list,Type (0 - Base Exp; 1 - Job Exp),Exp/lvl...
 static bool pc_readdb_job_exp(char* fields[], int columns, int current)
 static bool pc_readdb_job_exp(char* fields[], int columns, int current)
 {
 {
@@ -9802,12 +9802,12 @@ static bool pc_readdb_job_exp(char* fields[], int columns, int current)
 		return false;
 		return false;
 	}
 	}
 	if((maxlvl+3) > columns){ //nb values = (maxlvl-startlvl)+1-index1stvalue
 	if((maxlvl+3) > columns){ //nb values = (maxlvl-startlvl)+1-index1stvalue
-		ShowError("pc_readdb_job_exp: Number of colums=%d defined is too low for maxlevel=%d\n",columns,maxlvl);
+		ShowError("pc_readdb_job_exp: Number of columns %d defined is too low for max level %d.\n",columns,maxlvl);
 		return false;
 		return false;
 	}
 	}
 	type = atoi(fields[2]);
 	type = atoi(fields[2]);
 	if(type < 0 || type > 1){
 	if(type < 0 || type > 1){
-		ShowError("pc_readdb_job_exp: Invalid type %d specified, only [0;1] is valid.\n", type);
+		ShowError("pc_readdb_job_exp: Invalid type %d specified.\n", type);
 		return false;
 		return false;
 	}
 	}
 	job_count = pc_split_atoi(fields[1],jobs,':',CLASS_COUNT);
 	job_count = pc_split_atoi(fields[1],jobs,':',CLASS_COUNT);

Some files were not shown because too many files changed in this diff