Browse Source

* Initial implementation of Malangdo Culvert instance and related quests. A huge thanks to Metamorphic for gathering some of the dialogue!
* Updated Renewal mob_db and mob_skill_db with Malangdo entries. (credits: Lemongrass)
* Created a 'force drop' flag (4) for map_addflooritem and applied it appropriately. (credits: lighta, follow-up r17274)
* Fixed KG_KAGEMUSYA active duration. (bugreport:7567)

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

euphyy 12 years ago
parent
commit
0b94fb3d2e

+ 26 - 26
db/re/mob_db.txt

@@ -1300,32 +1300,32 @@
 2173,I_G_HORN_SCARABA2,Gold Two-Horn Scaraba,Gold Two-Horn Scaraba,134,235600,0,0,0,1,1380,1590,150,38,1,118,72,145,134,51,10,12,0,4,22,0x37B5,150,76,384,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
 2173,I_G_HORN_SCARABA2,Gold Two-Horn Scaraba,Gold Two-Horn Scaraba,134,235600,0,0,0,1,1380,1590,150,38,1,118,72,145,134,51,10,12,0,4,22,0x37B5,150,76,384,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
 
 
 // Malangdo Island
 // Malangdo Island
-2174,MD_VADON,Deep Sea Vadon,Deep Sea Vadon,95,120000,0,1500,1500,1,710,1384,154,21,1,63,84,60,99,45,10,12,0,5,21,0x37B5,300,1632,432,540,0,0,0,0,0,0,0,991,40,960,9000,910,3000,2313,5,943,100,757,40,717,50,0,0,0,0,4049,1
-2175,MD_MARSE,Deep Sea Marse,Deep Sea Marse,95,120000,0,1500,1500,1,740,1456,58,218,1,51,75,30,99,30,10,12,0,5,41,0x37B5,300,1956,756,528,0,0,0,0,0,0,0,1024,9000,962,3000,717,200,720,10,995,12,1007,5,514,300,0,0,0,0,4095,1
-2176,MD_CRAB,Deep Sea Crab,Deep Sea Crab,95,120000,0,1500,1500,1,600,1176,136,15,54,42,72,21,84,45,7,12,0,5,21,0x37B5,200,992,792,360,0,0,0,0,0,0,0,964,5500,960,1500,7049,700,1001,13,0,0,0,0,757,37,0,0,0,0,4153,1
-2177,MD_CORNUTUS,Deep Sea Cornutus,Deep Sea Cornutus,100,160000,0,1500,1500,1,715,1392,342,48,1,81,135,48,51,45,10,12,0,5,21,0x37B5,200,1248,48,480,0,0,0,0,0,0,0,991,45,961,5500,911,800,757,53,2106,5,943,1000,717,100,0,0,0,0,4061,1
-2178,MD_SHELLFISH,Deep Sea Shellfish,Deep Sea Shellfish,100,160000,0,1500,1500,1,740,1408,43,215,1,33,144,75,78,30,10,12,0,5,21,0x37B5,200,864,864,384,0,0,0,0,0,0,0,965,5500,966,1000,7049,500,1056,1000,1001,10,0,0,757,18,0,0,0,0,4273,1
-2179,MD_KUKRE,Deep Sea Kukre,Deep Sea Kukre,100,160000,0,1500,1500,1,595,1160,123,33,1,90,66,60,96,60,10,12,0,5,21,0x37B5,150,1776,576,288,0,0,0,0,0,0,0,991,30,955,5500,910,400,528,500,507,650,928,450,623,20,0,0,0,0,4027,1
-2180,MD_STROUF,Deep Sea Strouf,Deep Sea Strouf,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x83,400,1872,672,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
-2181,MD_SWORD_FISH,Deep Sea Sword Fish,Deep Sea Sword Fish,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x83,400,1872,672,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
-2182,MD_MARC,Deep Sea Marc,Deep Sea Marc,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x83,400,1872,672,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
-2183,MD_ANOLIAN,Deep Sea Anolian,Deep Sea Anolian,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x83,400,1872,672,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
-2184,MD_OBEAUNE,Deep Sea Obeaune,Deep Sea Obeaune,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x83,400,1872,672,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
-2185,MD_KAPHA,Deep Sea Kapha,Deep Sea Kapha,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x83,400,1872,672,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
-2186,COELACANTH_N_E,Coelacanth,Coelacanth,100,2200000,0,0,0,1,7,10,130,65,1,1,1,1,6,30,10,12,2,5,41,0x37B5,400,1872,672,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
-2187,COELACANTH_N_A,Dark Coelacanth,Dark Coelacanth,100,2200000,0,0,0,1,7,10,130,65,1,1,1,1,6,30,10,12,2,5,41,0x37B5,400,1872,672,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,4527,1
-2188,COELACANTH_N_M,Weird Coelacanth,Weird Coelacanth,100,2200000,0,0,0,1,7,10,130,65,1,1,1,1,6,30,10,12,2,5,41,0x37B5,400,1872,672,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,4526,1
-2189,COELACANTH_H_M,Mutant Coelacanth,Mutant Coelacanth,140,2200000,0,0,0,1,7,10,130,65,1,1,1,1,6,30,10,12,2,5,41,0x37B5,400,1872,672,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,4528,1
-2190,COELACANTH_H_A,Violent Coelacanth,Violent Coelacanth,140,2200000,0,0,0,1,7,10,130,65,1,1,1,1,6,30,10,12,2,5,41,0x37B5,400,1872,672,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,4529,1
-2191,MD_SEAWEED,Seaweed,Seaweed,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x83,400,1872,672,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
-2192,MD_OCTOPUS,Octopus,Octopus,90,6000,0,4000,2000,1,778,1167,154,21,100,100,100,100,100,100,10,12,0,5,41,0x3795,150,768,768,576,0,0,0,0,0,0,0,1024,3000,962,3000,12615,10,0,0,0,0,0,0,0,0,0,0,0,0,4533,1
-2193,MD_OCTOPUS_LEG,Octopus Leg,Octopus Leg,90,500000,0,4000,2000,1,778,1167,154,21,100,100,100,100,100,100,10,12,0,5,41,0x1A4,400,768,768,576,0,0,0,0,0,0,0,12613,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-2194,MD_GIANT_OCTOPUS,Giant Octupus,Giant Octopus,95,500000,0,40000,20000,2,1900,2850,154,21,100,50,50,150,150,50,10,12,2,5,41,0x37B5,400,768,768,576,0,0,0,0,0,0,0,12615,7000,12615,3000,12614,3000,12617,1000,12642,1000,12623,500,0,0,0,0,0,0,4534,1
-2195,MD_G_KUKRE,Kukre,Kukre,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x83,400,1872,672,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
-2196,MD_G_STROUF,Strouf,Strouf,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x83,400,1872,672,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
-2197,RED_ERUMA,Red Eruma,Red Eruma,91,9900,0,1909,1909,1,620,930,102,102,1,75,40,40,75,30,10,12,1,5,41,0x89,150,768,768,576,0,0,0,0,0,0,0,6426,7000,965,4000,966,4000,1056,2000,757,200,756,50,603,10,0,0,0,0,4531,1
-2198,KING_DRAMOH,King Dramoh,King Dramoh,117,28800,0,3350,1300,1,1320,1848,480,22,100,70,30,50,100,70,10,12,2,5,41,0x37B5,120,432,432,360,0,0,0,0,0,0,0,960,7000,943,3000,7938,500,995,100,6256,100,1523,1,13035,1,0,0,0,0,4524,1
-2199,SIORAVA,Siorava,Siorava,87,6500,0,1200,1200,1,450,675,20,40,1,30,25,55,60,30,10,12,0,0,21,0x83,200,1872,672,480,0,0,0,0,0,0,0,958,7000,7071,3000,7005,1000,932,1000,12624,500,1202,10,13034,1,0,0,0,0,4530,1
+2174,MD_VADON,Ancient Crustacean,Deep Sea Vadon,95,120000,1,750,750,1,778,1003,154,21,145,91,138,60,113,45,10,12,0,5,21,0x33B5,300,1632,432,540,0,0,0,0,0,0,0,991,20,960,4500,910,1500,2313,3,943,50,757,20,0,0,12615,2,0,0,0,0
+2175,MD_MARSE,Deepsea Marse,Deep Sea Marse,95,120000,1,750,750,1,500,1320,58,218,133,37,85,156,133,60,10,12,0,5,41,0x33B5,300,1956,756,528,0,0,0,0,0,0,0,1024,4500,962,1500,0,0,720,5,995,6,1007,3,514,150,12615,2,0,0,0,0
+2176,MD_CRAB,Deepsea Crab,Deep Sea Crab,95,120000,1,750,750,1,696,930,136,15,122,54,84,37,98,65,7,12,0,5,21,0x33B5,200,992,792,360,0,0,0,0,0,0,0,964,2750,960,750,7049,350,1001,7,0,0,0,0,757,19,12615,2,0,0,0,0
+2177,MD_CORNUTUS,Deepsea Cornutus,Deep Sea Cornutus,100,160000,1,750,750,1,1129,1366,342,48,122,87,135,66,137,75,10,12,0,5,21,0x33B5,200,1248,48,480,0,0,0,0,0,0,0,991,23,961,2750,911,400,757,27,2106,3,943,500,0,0,12615,3,0,0,0,0
+2178,MD_SHELLFISH,Deepsea Shellfish,Deep Sea Shellfish,100,160000,1,750,750,1,720,1842,43,215,72,31,68,225,166,60,10,12,0,5,41,0x33B5,200,864,864,384,0,0,0,0,0,0,0,965,2750,966,500,7049,250,1056,500,1001,5,0,0,757,9,12615,2,0,0,0,0
+2179,MD_KUKRE,Ancient Kukre,Deep Sea Kukre,100,160000,1,750,750,1,975,1093,123,33,125,80,112,60,102,30,10,12,0,4,21,0x33B5,150,1776,576,288,0,0,0,0,0,0,0,991,15,955,2750,910,200,528,250,0,0,928,225,623,10,12615,2,0,0,0,0
+2180,MD_STROUF,Ancient Sea Lord,Deep Sea Strouf,145,400000,1,1000,1000,1,1200,4700,67,221,149,126,81,252,183,66,10,12,2,5,61,0x33B5,150,1872,672,384,0,0,0,0,0,0,0,951,2668,756,58,0,0,1461,1,949,1500,720,10,956,750,12614,3,0,0,0,0
+2181,MD_SWORD_FISH,Ancient Sword Fish,Deep Sea Sword Fish,145,400000,1,1000,1000,1,1849,2084,255,17,155,156,115,85,194,65,10,12,2,5,41,0x33B5,200,1968,768,384,0,0,0,0,0,0,0,995,5,963,4500,756,17,2257,1,757,25,0,0,956,300,12614,3,0,0,0,0
+2182,MD_MARC,Ancient Seahorse,Deep Sea Marc,145,400000,1,1000,1000,1,1423,1754,255,51,150,145,221,83,148,66,10,12,1,5,41,0x33B5,150,1272,72,480,0,0,0,0,0,0,0,995,9,956,4500,756,48,951,500,720,5,0,0,509,350,12612,3,0,0,0,0
+2183,MD_ANOLIAN,Mutant Anolian,Deep Sea Anolian,151,700000,1,1100,1100,1,2122,2434,268,22,177,188,205,126,198,61,10,12,1,5,41,0x33B5,190,900,500,864,0,0,0,0,0,0,0,7003,2425,1754,1000,0,0,10019,5,16003,3,2625,1,984,67,12614,3,0,0,0,0
+2184,MD_OBEAUNE,Deepsea Mermaid,Deep Sea Obeaune,151,700000,1,1100,1100,1,1502,5347,68,326,166,87,101,233,196,55,10,12,1,6,61,0x33B5,200,1872,672,288,0,0,0,0,0,0,0,995,7,950,4500,0,0,2326,5,720,5,951,250,748,15,12614,3,0,0,0,0
+2185,MD_KAPHA,Transform Kapha,Deep Sea Kapha,151,700000,1,1100,1100,1,2590,2846,261,58,167,209,128,61,191,20,10,12,1,6,41,0x33B5,165,2012,1728,672,0,0,0,0,0,0,0,7149,3250,7053,1750,0,0,521,1150,708,1,1915,5,13008,3,12612,3,0,0,0,0
+2186,COELACANTH_N_E,Coelacanth,Coelacanth,100,1200000,1,200000,200000,1,1290,2580,280,280,160,160,160,160,160,160,10,12,2,5,41,0x37B5,165,864,864,432,0,0,0,0,0,0,0,12617,5000,12614,2000,12615,2000,12623,700,12614,2000,12615,2000,12615,2000,12615,2000,0,0,0,0
+2187,COELACANTH_N_A,Dark Coelacanth,Gloomy Coelacanth,100,2200000,1,500000,500000,1,1890,3780,280,280,160,160,160,160,160,160,10,12,2,5,41,0x37B5,165,864,864,432,0,0,0,0,0,0,0,12617,5000,12614,5000,12615,5000,12623,750,12614,5000,12615,5000,12615,5000,12615,5000,0,0,4527,1
+2188,COELACANTH_N_M,Grotesque Coelacanth,Weird Coelacanth,100,2200000,1,500000,500000,1,1890,3780,280,280,160,160,160,160,160,160,10,12,2,5,41,0x37B5,165,864,864,432,0,0,0,0,0,0,0,12617,5000,12614,5000,12615,5000,12623,5000,12614,5000,12615,5000,12615,5000,12615,5000,0,0,4526,1
+2189,COELACANTH_H_M,Mutant Coelacanth,Mutant Coelacanth,155,5200000,1,1500000,1500000,1,5500,11000,280,280,260,260,260,260,260,260,10,12,2,5,41,0x37B5,165,864,864,432,0,0,0,0,0,0,0,12617,7000,6423,7000,12612,5000,12623,5000,12614,5000,12615,5000,12615,5000,12615,5000,0,0,4528,1
+2190,COELACANTH_H_A,Ferocious Coelacanth,Violent Coelacanth,155,5200000,1,1500000,1500000,1,5500,11000,280,280,260,260,260,260,260,260,10,12,2,5,41,0x37B5,165,864,864,432,0,0,0,0,0,0,0,12617,7000,6423,5000,12612,5000,12623,5000,12614,5000,12615,5000,12615,5000,12615,5000,0,0,4529,1
+2191,MD_SEAWEED,Seaweed,Seaweed,100,100000,1,0,0,1,1,2,1,1,1,1,1,1,1,1,0,0,0,5,21,0x1E4,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
+2192,MD_OCTOPUS,Small Octopus,Octopus,90,6000,1,2000,1000,1,778,1003,154,21,145,91,138,60,113,45,10,12,0,5,41,0x33B5,300,576,2160,504,0,0,0,0,0,0,0,1024,2500,962,2500,0,0,0,0,0,0,0,0,0,0,12615,1,0,0,4533,1
+2193,MD_OCTOPUS_LEG,Octupus Leg,Octopus Leg,90,500000,1,2000,1000,1,778,1003,154,21,145,91,138,60,113,45,10,12,0,5,41,0x1A4,300,432,720,360,0,0,0,0,0,0,0,1024,4500,962,2500,938,2500,0,0,0,0,0,0,0,0,12615,1,0,0,0,0
+2194,MD_GIANT_OCTOPUS,Giant Octopus,Giant Octopus,95,500000,1,20000,10000,1,1900,3100,154,21,145,91,138,60,113,45,10,12,2,5,41,0x37B5,300,576,1584,360,0,0,0,0,0,0,0,12618,1500,12614,500,12623,250,12531,1500,0,0,0,0,12615,2000,12615,2000,0,0,4534,1
+2195,MD_G_KUKRE,Ancient Kukre,Kukre,100,160000,1,0,0,1,975,1093,123,33,125,80,112,60,102,30,10,12,0,4,21,0x3395,150,1776,576,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
+2196,MD_G_STROUF,Ancient Sea Lord,Strouf,145,400000,1,0,0,1,1200,4700,67,221,149,126,81,252,183,66,10,12,2,5,61,0x33B5,150,1872,672,384,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
+2197,RED_ERUMA,Red Eruma,Red Eruma,91,9900,1,954,954,1,620,910,102,102,77,90,88,21,99,21,10,12,1,5,41,0x1089,140,768,1224,432,0,0,0,0,0,0,0,965,2500,966,1000,1056,1500,757,50,756,50,603,10,6426,700,0,0,0,0,4531,1
+2198,KING_DRAMOH,King Kray,King Dramoh,117,28800,0,3350,1300,1,1320,1650,480,22,119,44,150,89,130,44,10,12,2,5,41,0x37B5,140,576,720,720,0,0,0,0,0,0,0,6256,50,960,2500,943,2500,1523,25,7938,100,995,25,991,25,0,0,0,0,4524,1
+2199,SIORAVA,Siorava,Siorava,87,6500,1,600,600,1,450,660,20,40,10,40,66,70,67,10,10,12,0,0,21,0x83,250,1536,1296,576,0,0,0,0,0,0,0,12624,700,7005,500,932,500,958,500,7071,500,13034,1,1202,1,0,0,0,0,4530,1
 
 
 // Izlude Dungeon F6
 // Izlude Dungeon F6
 //2200,J_TAINI,Taini,Taini,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x83,400,1872,672,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
 //2200,J_TAINI,Taini,Taini,1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x83,400,1872,672,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

+ 293 - 57
db/re/mob_skill_db.txt

@@ -6767,64 +6767,300 @@
 2173,Gold Two-Horn Scaraba@NPC_STONESKIN,attack,675,3,10000,0,30000,yes,self,always,0,,,,,,,
 2173,Gold Two-Horn Scaraba@NPC_STONESKIN,attack,675,3,10000,0,30000,yes,self,always,0,,,,,,,
 
 
 // Malangdo Island
 // Malangdo Island
-2174,Vadon@NPC_STUNATTACK,attack,179,2,500,1500,5000,no,target,always,0,,,,,,6,
-2174,Vadon@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,,
-2174,Vadon@CR_AUTOGUARD,chase,249,2,2000,0,300000,yes,self,longrangeattacked,,,,,,,,
-2174,Vadon@CR_AUTOGUARD,attack,249,2,500,0,300000,yes,self,always,0,,,,,,,
-2174,Vadon@MG_FROSTDIVER,chase,15,9,2000,500,5000,no,target,always,0,,,,,,,
-2174,Vadon@MG_FROSTDIVER,attack,15,9,2000,500,5000,no,target,always,0,,,,,,,
-2175,Marse@NPC_BLINDATTACK,attack,177,5,2000,0,5000,yes,target,always,0,,,,,,6,
-2175,Marse@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,0,1,,,,,,
-2175,Marse@NPC_EMOTION,chase,197,1,200,0,5000,yes,self,always,0,19,0x91,,,,,
-2175,Marse@NPC_WATERATTACK,attack,184,3,500,500,5000,no,target,always,0,,,,,,6,
-2175,Marse@MG_FROSTDIVER,chase,15,9,2000,500,5000,no,target,always,0,,,,,,,
-2175,Marse@MG_FROSTDIVER,attack,15,9,2000,500,5000,no,target,always,0,,,,,,,
-2176,Crab@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,,
-2176,Crab@MG_FROSTDIVER,chase,15,9,2000,500,5000,no,target,always,0,,,,,,,
-2176,Crab@MG_FROSTDIVER,attack,15,9,2000,500,5000,no,target,always,0,,,,,,,
-2177,Cornutus@NPC_KEEPING,attack,201,1,2000,0,5000,yes,self,myhpltmaxrate,30,,,,,,9,
-2177,Cornutus@NPC_WATERATTACK,attack,184,2,500,500,5000,no,target,always,0,,,,,,6,
-2177,Cornutus@CR_AUTOGUARD,chase,249,2,2000,0,300000,yes,self,longrangeattacked,,,,,,,,
-2177,Cornutus@CR_AUTOGUARD,attack,249,2,500,0,300000,yes,self,always,0,,,,,,,
-2177,Cornutus@MG_THUNDERSTORM,chase,21,9,2000,500,5000,no,target,always,0,,,,,,,
-2177,Cornutus@MG_THUNDERSTORM,attack,21,9,2000,500,5000,no,target,always,0,,,,,,,
-2178,Shellfish@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,,
-2178,Shellfish@MG_THUNDERSTORM,chase,21,9,2000,500,5000,no,target,always,0,,,,,,,
-2178,Shellfish@MG_THUNDERSTORM,attack,21,9,2000,500,5000,no,target,always,0,,,,,,,
-2179,Kukre@NPC_EMOTION,loot,197,1,2000,0,5000,yes,self,always,0,0,,,,,,
-2179,Kukre@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,,
-2179,Kukre@MG_THUNDERSTORM,chase,21,9,2000,500,5000,no,target,always,0,,,,,,,
-2179,Kukre@MG_THUNDERSTORM,attack,21,9,2000,500,5000,no,target,always,0,,,,,,,
-2193,Octupus Leg@NPC_CRITICALWOUND,attack,673,3,2000,0,30000,yes,target,always,0,,,,,,,
-2193,Octupus Leg@NPC_WIDEBLEEDING,idle,665,5,5000,500,30000,no,self,always,0,,,,,,,
-2193,Octupus Leg@NPC_WIDEBLEEDING,chase,665,5,5000,500,30000,no,self,always,0,,,,,,,
-2193,Octupus Leg@NPC_WIDEBLEEDING,attack,665,5,5000,500,30000,no,self,always,0,,,,,,,
-2193,Octupus Leg@NPC_WIDEFREEZE,idle,664,5,10000,1000,30000,no,self,always,0,,,,,,32,
-2193,Octupus Leg@NPC_WIDEFREEZE,chase,664,5,10000,1000,30000,no,self,always,0,,,,,,32,
-2193,Octupus Leg@NPC_WIDEFREEZE,attack,664,5,10000,1000,30000,no,self,always,0,,,,,,32,
-2193,Octupus Leg@WZ_STORMGUST,chase,89,3,10000,1000,30000,no,target,always,0,,,,,,,
-2193,Octupus Leg@WZ_STORMGUST,attack,89,3,10000,1000,30000,no,target,always,0,,,,,,,
-2193,Octupus Leg@WZ_WATERBALL,chase,86,3,10000,500,5000,no,target,always,0,,,,,,,
-2193,Octupus Leg@WZ_WATERBALL,attack,86,3,10000,500,5000,no,target,always,0,,,,,,,
-2194,Giant Octupus@NPC_DRAGONFEAR,chase,659,5,10000,0,20000,no,self,myhpltmaxrate,50,,,,,,,
-2194,Giant Octupus@NPC_DRAGONFEAR,attack,659,5,10000,0,20000,no,self,myhpltmaxrate,50,,,,,,,
-2194,Giant Octupus@NPC_WIDEBLEEDING,idle,665,5,5000,500,20000,no,self,always,0,,,,,,,
-2194,Giant Octupus@NPC_WIDEBLEEDING,chase,665,5,5000,500,20000,no,self,always,0,,,,,,,
-2194,Giant Octupus@NPC_WIDEBLEEDING,attack,665,5,5000,500,20000,no,self,always,0,,,,,,,
-2194,Giant Octupus@NPC_WIDEFREEZE,idle,664,5,10000,1000,20000,no,self,always,0,,,,,,32,
-2194,Giant Octupus@NPC_WIDEFREEZE,chase,664,5,10000,1000,20000,no,self,always,0,,,,,,32,
-2194,Giant Octupus@NPC_WIDEFREEZE,attack,664,5,10000,1000,20000,no,self,always,0,,,,,,32,
-2194,Giant Octupus@WZ_STORMGUST,chase,89,10,10000,1000,20000,no,target,always,0,,,,,,,
-2194,Giant Octupus@WZ_STORMGUST,attack,89,10,10000,1000,20000,no,target,always,0,,,,,,,
-2194,Giant Octupus@WZ_WATERBALL,chase,86,10,10000,500,5000,no,target,always,0,,,,,,,
-2194,Giant Octupus@WZ_WATERBALL,attack,86,10,10000,500,5000,no,target,always,0,,,,,,,
+2174,Deep Sea Vadon@ST_FULLSTRIP,attack,476,5,1000,0,5000,yes,target,always,0,,,,,,6,
+2174,Deep Sea Vadon@NPC_STUNATTACK,attack,179,2,500,1500,5000,no,target,always,0,,,,,,6,
+2174,Deep Sea Vadon@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,,
+2174,Deep Sea Vadon@CR_AUTOGUARD,chase,249,2,2000,0,300000,yes,target,longrangeattacked,,,,,,,,
+2174,Deep Sea Vadon@CR_AUTOGUARD,attack,249,2,500,0,300000,yes,self,always,0,,,,,,,
+2175,Deep Sea Marse@NPC_EMOTION,chase,197,1,200,0,5000,yes,self,always,0,19,0x91,,,,,
+2175,Deep Sea Marse@NPC_WATERATTACK,attack,184,3,500,500,5000,no,target,always,0,,,,,,6,
+2175,Deep Sea Marse@WZ_WATERBALL,attack,86,4,500,1500,5000,yes,target,always,0,,,,,,,
+2175,Deep Sea Marse@NPC_STOP,attack,342,1,200,0,600000,yes,target,always,0,,,,,,3,
+2175,Deep Sea Marse@AL_HEAL,attack,28,5,10000,500,5000,yes,friend,friendhpltmaxrate,70,,,,,,0,
+2175,Deep Sea Marse@AL_HEAL,attack,28,5,10000,500,5000,yes,self,myhpltmaxrate,60,,,,,,0,
+2176,Deep Sea Crab@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,,
+2176,Deep Sea Crab@MG_FROSTDIVER,chase,15,9,2000,500,5000,no,target,always,0,,,,,,,
+2176,Deep Sea Crab@MG_FROSTDIVER,attack,15,9,2000,500,5000,no,target,always,0,,,,,,,
+2177,Deep Sea Cornutus@NPC_KEEPING,attack,201,1,2000,0,5000,yes,self,myhpltmaxrate,30,,,,,,9,
+2177,Deep Sea Cornutus@NPC_WATERATTACK,attack,184,2,500,500,5000,no,target,always,0,,,,,,6,
+2177,Deep Sea Cornutus@CR_AUTOGUARD,attack,249,2,500,0,300000,yes,self,always,0,,,,,,,
+2177,Deep Sea Cornutus@CR_AUTOGUARD,chase,249,2,2000,0,300000,yes,target,longrangeattacked,,,,,,,,
+2177,Deep Sea Cornutus@MG_THUNDERSTORM,chase,21,9,2000,500,5000,no,target,always,0,,,,,,,
+2177,Deep Sea Cornutus@MG_THUNDERSTORM,attack,21,9,2000,500,5000,no,target,always,0,,,,,,,
+2178,Deep Sea Shellfish@WZ_WATERBALL,attack,86,4,500,1500,5000,yes,target,always,0,,,,,,,
+2178,Deep Sea Shellfish@MG_FROSTDIVER,chase,15,9,3000,500,5000,yes,target,always,0,,,,,,,
+2178,Deep Sea Shellfish@NPC_STUNATTACK,attack,179,3,500,1000,5000,no,target,always,0,,,,,,6,
+2178,Deep Sea Shellfish@MG_LIGHTNINGBOLT,chase,20,5,200,1500,5000,yes,target,always,0,,,,,,12,
+2178,Deep Sea Shellfish@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,,
+2179,Deep Sea Kukre@ST_FULLSTRIP,attack,476,5,1000,0,5000,yes,target,always,0,,,,,,6,
+2179,Deep Sea Kukre@WZ_WATERBALL,attack,86,4,500,1500,5000,yes,target,always,0,,,,,,,
+2179,Deep Sea Kukre@NPC_EMOTION,loot,197,1,2000,0,5000,yes,self,always,0,0,,,,,,
+2179,Deep Sea Kukre@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,,
+2180,Deep Sea Strouf@MG_FROSTDIVER,attack,15,9,1000,1000,5000,yes,target,always,0,,,,,,,
+2180,Deep Sea Strouf@MG_FROSTDIVER,chase,15,9,1000,1000,5000,yes,target,always,0,,,,,,,
+2180,Deep Sea Strouf@MG_LIGHTNINGBOLT,attack,20,3,500,1500,5000,yes,target,always,0,,,,,,,
+2180,Deep Sea Strouf@MG_LIGHTNINGBOLT,chase,20,3,500,1500,5000,yes,target,always,0,,,,,,,
+2180,Deep Sea Strouf@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,0,32,,,,,,
+2180,Deep Sea Strouf@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,,
+2180,Deep Sea Strouf@WZ_WATERBALL,attack,86,3,500,1500,5000,yes,target,always,0,,,,,,6,
+2180,Deep Sea Strouf@MG_FROSTDIVER,angry,15,9,1000,1000,5000,yes,target,always,0,,,,,,,
+2180,Deep Sea Strouf@MG_FROSTDIVER,follow,15,9,1000,1000,5000,yes,target,always,0,,,,,,,
+2180,Deep Sea Strouf@MG_LIGHTNINGBOLT,angry,20,3,500,1500,5000,yes,target,always,0,,,,,,,
+2180,Deep Sea Strouf@MG_LIGHTNINGBOLT,follow,20,3,500,1500,5000,yes,target,always,0,,,,,,,
+2180,Deep Sea Strouf@NPC_WATERATTACK,angry,184,1,2000,0,5000,yes,target,always,0,,,,,,,
+2180,Deep Sea Strouf@NPC_BLEEDING,attack,660,3,2000,0,3000,yes,target,always,0,,,,,,32,
+2180,Deep Sea Strouf@NPC_STOP,attack,342,1,200,0,600000,yes,target,always,0,,,,,,3,
+2180,Deep Sea Strouf@AL_HEAL,attack,28,7,10000,500,5000,yes,friend,friendhpltmaxrate,70,,,,,,0,
+2180,Deep Sea Strouf@AL_HEAL,attack,28,7,10000,500,5000,yes,self,myhpltmaxrate,60,,,,,,0,
+2180,Deep Sea Strouf@WZ_FROSTNOVA,chase,88,7,3000,1000,10000,no,self,always,0,,,,,,,
+2181,Deep Sea Sword Fish@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,,
+2181,Deep Sea Sword Fish@WZ_WATERBALL,attack,86,3,500,1500,5000,yes,target,always,0,,,,,,,
+2181,Deep Sea Sword Fish@WZ_WATERBALL,chase,86,3,500,1500,5000,yes,target,always,0,,,,,,,
+2181,Deep Sea Sword Fish@NPC_WATERATTACK,angry,184,1,2000,0,5000,yes,target,always,0,,,,,,,
+2181,Deep Sea Sword Fish@WZ_WATERBALL,angry,86,3,500,1500,5000,yes,target,always,0,,,,,,,
+2181,Deep Sea Sword Fish@WZ_WATERBALL,follow,86,3,500,1500,5000,yes,target,always,0,,,,,,,
+2181,Deep Sea Sword Fish@NPC_CRITICALWOUND,attack,673,5,200,0,5000,yes,target,always,0,,,,,,,
+2181,Deep Sea Sword Fish@NPC_SLEEPATTACK,attack,182,5,500,0,5000,yes,target,always,0,,,,,,7,
+2182,Deep Sea Marc@NPC_EMOTION,chase,197,1,200,0,5000,yes,self,always,0,19,0x81,,,,,
+2182,Deep Sea Marc@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,0,9,0x3885,,,,,
+2182,Deep Sea Marc@NPC_STUNATTACK,attack,179,2,500,1500,5000,no,target,always,0,,,,,,6,
+2182,Deep Sea Marc@NPC_WATERATTACK,attack,184,2,500,500,5000,no,target,always,0,,,,,,6,
+2182,Deep Sea Marc@NPC_EMOTION,follow,197,1,200,0,5000,yes,self,always,0,19,0x81,,,,,
+2182,Deep Sea Marc@NPC_STUNATTACK,angry,179,2,500,1500,5000,no,target,always,0,,,,,,6,
+2182,Deep Sea Marc@NPC_WATERATTACK,angry,184,2,500,500,5000,no,target,always,0,,,,,,6,
+2182,Deep Sea Marc@WZ_WATERBALL,attack,86,4,500,1500,5000,yes,target,always,0,,,,,,,
+2182,Deep Sea Marc@NPC_EVILLAND,attack,670,10,10000,0,15000,yes,target,myhpltmaxrate,50,,,,,,,
+2182,Deep Sea Marc@NPC_BLEEDING,attack,660,3,2000,0,3000,yes,target,always,0,,,,,,32,
+2182,Deep Sea Marc@NPC_CRITICALWOUND,attack,673,5,200,0,5000,yes,target,always,0,,,,,,,
+2183,Deep Sea Anolian@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,0,22,,,,,,
+2183,Deep Sea Anolian@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,,
+2183,Deep Sea Anolian@SM_BASH,attack,5,5,500,800,5000,no,target,always,0,,,,,,2,
+2183,Deep Sea Anolian@NPC_EMOTION,chase,197,1,200,0,5000,yes,self,always,0,19,0x81,,,,,
+2183,Deep Sea Anolian@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,0,2,0x3695,,,,,
+2183,Deep Sea Anolian@AS_SONICBLOW,attack,136,10,500,800,5000,no,target,always,0,,,,,,,
+2183,Deep Sea Anolian@NPC_CRITICALWOUND,attack,673,2,200,0,5000,yes,target,always,0,,,,,,,
+2184,Deep Sea Obeaune@NPC_EMOTION,chase,197,1,200,0,5000,yes,self,always,0,19,0x81,,,,,
+2184,Deep Sea Obeaune@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,0,2,0x3095,,,,,
+2184,Deep Sea Obeaune@NPC_WATERATTACK,attack,184,3,500,500,5000,no,target,always,0,,,,,,6,
+2184,Deep Sea Obeaune@PR_LEXDIVINA,attack,76,5,500,1000,5000,yes,target,always,0,,,,,,2,
+2184,Deep Sea Obeaune@PR_LEXDIVINA,chase,76,5,500,1000,5000,yes,target,always,0,,,,,,2,
+2184,Deep Sea Obeaune@NPC_STOP,attack,342,1,100,0,600000,yes,target,always,0,,,,,,3,
+2184,Deep Sea Obeaune@ST_FULLSTRIP,attack,476,5,1000,0,5000,yes,target,always,0,,,,,,6,
+2184,Deep Sea Obeaune@WZ_WATERBALL,attack,86,4,500,1500,5000,yes,target,always,0,,,,,,,
+2185,Deep Sea Kapha@NPC_BLOODDRAIN,attack,199,1,500,0,5000,yes,target,always,0,,,,,,2,
+2185,Deep Sea Kapha@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,0,20,,,,,,
+2185,Deep Sea Kapha@NPC_WATERATTACK,attack,184,3,500,500,5000,yes,target,always,0,,,,,,6,
+2185,Deep Sea Kapha@WZ_WATERBALL,chase,86,3,500,1500,5000,yes,target,always,0,,,,,,16,
+2185,Deep Sea Kapha@NPC_BLOODDRAIN,angry,199,1,500,0,5000,yes,target,always,0,,,,,,2,
+2185,Deep Sea Kapha@NPC_WATERATTACK,angry,184,3,500,500,5000,yes,target,always,0,,,,,,6,
+2185,Deep Sea Kapha@WZ_WATERBALL,follow,86,3,500,1500,5000,yes,target,always,0,,,,,,16,
+2185,Deep Sea Kapha@ST_FULLSTRIP,attack,476,5,1000,0,5000,yes,target,always,0,,,,,,6,
+2185,Deep Sea Kapha@NPC_PIERCINGATT,attack,158,3,1000,0,5000,yes,target,always,0,,,,,,,
+2185,Deep Sea Kapha@MC_MAMMONITE,attack,42,5,500,800,5000,no,target,always,0,,,,,,8,
+2186,Coelacanth@AL_DECAGI,chase,30,48,2000,0,60000,no,target,always,0,,,,,,29,
+2186,Coelacanth@NPC_ARMORBRAKE,attack,344,10,2000,0,60000,no,target,always,0,,,,,,,
+2186,Coelacanth@BS_MAXIMIZE,attack,114,1,500,0,5000,no,self,always,0,,,,,,,
+2186,Coelacanth@BS_MAXIMIZE,chase,114,1,500,0,5000,no,self,always,0,,,,,,,
+2186,Coelacanth@NPC_AGIUP,attack,350,10,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6,
+2186,Coelacanth@NPC_CRITICALWOUND,attack,673,1,200,0,5000,yes,target,always,0,,,,,,,
+2186,Coelacanth@NPC_WIDEBLEEDING,chase,665,1,10000,500,100000,no,self,always,0,,,,,,,
+2186,Coelacanth@NPC_WIDEBLEEDING,attack,665,1,10000,500,100000,no,self,always,0,,,,,,,
+2186,Coelacanth@NPC_GUIDEDATTACK,attack,172,5,500,0,20000,no,target,always,0,,,,,,,
+2186,Coelacanth@NPC_GUIDEDATTACK,chase,172,5,500,0,20000,no,target,always,0,,,,,,,
+2186,Coelacanth@NPC_WATERATTACK,attack,184,5,2000,0,5000,no,target,always,0,,,,,,29,
+2186,Coelacanth@NPC_WATERATTACK,chase,184,5,2000,0,5000,no,target,always,0,,,,,,29,
+2186,Coelacanth@WZ_WATERBALL,attack,86,10,2000,500,5000,no,target,always,0,,,,,,0,
+2186,Coelacanth@WZ_WATERBALL,chase,86,10,2000,500,5000,no,target,always,0,,,,,,0,
+2186,Coelacanth@MG_FROSTDIVER,attack,15,10,3000,1000,10000,no,target,always,0,,,,,,,
+2186,Coelacanth@MG_FROSTDIVER,chase,15,10,3000,1000,10000,no,target,always,0,,,,,,,
+2186,Coelacanth@WZ_FROSTNOVA,chase,88,10,3000,1000,10000,no,self,always,0,,,,,,,
+2186,Coelacanth@WZ_FROSTNOVA,attack,88,10,3000,1000,10000,no,self,always,0,,,,,,,
+2187,Dark Coelacanth@AL_DECAGI,chase,30,48,2000,0,60000,no,target,always,0,,,,,,29,
+2187,Dark Coelacanth@NPC_ARMORBRAKE,attack,344,10,2000,0,60000,no,target,always,0,,,,,,,
+2187,Dark Coelacanth@BS_MAXIMIZE,attack,114,1,500,0,5000,no,self,always,0,,,,,,,
+2187,Dark Coelacanth@BS_MAXIMIZE,chase,114,1,500,0,5000,no,self,always,0,,,,,,,
+2187,Dark Coelacanth@NPC_AGIUP,attack,350,10,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6,
+2187,Dark Coelacanth@NPC_CALLSLAVE,attack,352,1,10000,0,30000,yes,self,always,0,,,,,,,
+2187,Dark Coelacanth@NPC_CALLSLAVE,idle,352,1,10000,0,30000,yes,self,always,0,,,,,,,
+2187,Dark Coelacanth@NPC_SUMMONSLAVE,attack,196,1,10000,700,10000,no,self,slavele,3,2195,,,,,,
+2187,Dark Coelacanth@NPC_SUMMONSLAVE,attack,196,1,10000,700,10000,no,self,slavele,3,2195,,,,,,
+2187,Dark Coelacanth@NPC_CRITICALWOUND,attack,673,3,200,0,5000,yes,target,always,0,,,,,,,
+2187,Dark Coelacanth@NPC_WIDEBLEEDING,chase,665,3,10000,500,100000,no,self,always,0,,,,,,,
+2187,Dark Coelacanth@NPC_WIDEBLEEDING,attack,665,3,10000,500,100000,no,self,always,0,,,,,,,
+2187,Dark Coelacanth@NPC_GUIDEDATTACK,attack,172,5,500,0,20000,no,target,always,0,,,,,,,
+2187,Dark Coelacanth@NPC_GUIDEDATTACK,chase,172,5,500,0,20000,no,target,always,0,,,,,,,
+2187,Dark Coelacanth@NPC_WATERATTACK,attack,184,5,2000,0,5000,no,target,always,0,,,,,,29,
+2187,Dark Coelacanth@NPC_WATERATTACK,chase,184,5,2000,0,5000,no,target,always,0,,,,,,29,
+2187,Dark Coelacanth@WZ_WATERBALL,attack,86,10,2000,500,5000,no,target,always,0,,,,,,0,
+2187,Dark Coelacanth@WZ_WATERBALL,chase,86,10,2000,500,5000,no,target,always,0,,,,,,0,
+2187,Dark Coelacanth@MG_FROSTDIVER,attack,15,10,3000,1000,10000,no,target,always,0,,,,,,,
+2187,Dark Coelacanth@MG_FROSTDIVER,chase,15,10,3000,1000,10000,no,target,always,0,,,,,,,
+2187,Dark Coelacanth@HW_GANBANTEIN,attack,483,1,10000,500,7000,no,target,always,0,,,,,,,
+2187,Dark Coelacanth@WZ_JUPITEL,attack,84,28,3000,1000,10000,no,target,always,0,,,,,,,
+2187,Dark Coelacanth@WZ_JUPITEL,chase,84,28,3000,1000,10000,no,target,always,0,,,,,,,
+2187,Dark Coelacanth@WZ_FROSTNOVA,chase,88,10,3000,1000,10000,no,self,always,0,,,,,,,
+2187,Dark Coelacanth@WZ_FROSTNOVA,attack,88,10,3000,1000,10000,no,self,always,0,,,,,,,
+2188,Weird Coelacanth@AL_DECAGI,chase,30,48,2000,0,60000,no,target,always,0,,,,,,29,
+2188,Weird Coelacanth@NPC_ARMORBRAKE,attack,344,10,2000,0,60000,no,target,always,0,,,,,,,
+2188,Weird Coelacanth@BS_MAXIMIZE,attack,114,1,500,0,5000,no,self,always,0,,,,,,,
+2188,Weird Coelacanth@BS_MAXIMIZE,chase,114,1,500,0,5000,no,self,always,0,,,,,,,
+2188,Weird Coelacanth@NPC_AGIUP,attack,350,10,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6,
+2188,Weird Coelacanth@NPC_CALLSLAVE,attack,352,1,10000,0,30000,yes,self,always,0,,,,,,,
+2188,Weird Coelacanth@NPC_CALLSLAVE,idle,352,1,10000,0,30000,yes,self,always,0,,,,,,,
+2188,Weird Coelacanth@NPC_SUMMONSLAVE,attack,196,1,10000,700,10000,no,self,slavele,3,2195,,,,,,
+2188,Weird Coelacanth@NPC_SUMMONSLAVE,attack,196,1,10000,700,10000,no,self,slavele,3,2195,,,,,,
+2188,Weird Coelacanth@NPC_CRITICALWOUND,attack,673,3,200,0,5000,yes,target,always,0,,,,,,,
+2188,Weird Coelacanth@NPC_WIDEBLEEDING,chase,665,3,10000,500,100000,no,self,always,0,,,,,,,
+2188,Weird Coelacanth@NPC_WIDEBLEEDING,attack,665,3,10000,500,100000,no,self,always,0,,,,,,,
+2188,Weird Coelacanth@NPC_GUIDEDATTACK,attack,172,5,500,0,20000,no,target,always,0,,,,,,,
+2188,Weird Coelacanth@NPC_GUIDEDATTACK,chase,172,5,500,0,20000,no,target,always,0,,,,,,,
+2188,Weird Coelacanth@NPC_WATERATTACK,attack,184,5,2000,0,5000,no,target,always,0,,,,,,29,
+2188,Weird Coelacanth@NPC_WATERATTACK,chase,184,5,2000,0,5000,no,target,always,0,,,,,,29,
+2188,Weird Coelacanth@WZ_WATERBALL,attack,86,10,2000,500,5000,no,target,always,0,,,,,,0,
+2188,Weird Coelacanth@WZ_WATERBALL,chase,86,10,2000,500,5000,no,target,always,0,,,,,,0,
+2188,Weird Coelacanth@MG_FROSTDIVER,attack,15,10,3000,1000,10000,no,target,always,0,,,,,,,
+2188,Weird Coelacanth@MG_FROSTDIVER,chase,15,10,3000,1000,10000,no,target,always,0,,,,,,,
+2188,Weird Coelacanth@HW_GANBANTEIN,attack,483,1,10000,500,7000,no,target,always,0,,,,,,,
+2188,Weird Coelacanth@WZ_JUPITEL,attack,84,28,3000,1000,10000,no,target,always,0,,,,,,,
+2188,Weird Coelacanth@WZ_JUPITEL,chase,84,28,3000,1000,10000,no,target,always,0,,,,,,,
+2188,Weird Coelacanth@WZ_FROSTNOVA,chase,88,10,3000,1000,10000,no,self,always,0,,,,,,,
+2188,Weird Coelacanth@WZ_FROSTNOVA,attack,88,10,3000,1000,10000,no,self,always,0,,,,,,,
+2189,Mutant Coelacanth@NPC_WATERATTACK,attack,184,10,1000,500,5000,no,target,always,0,,,,,,,
+2189,Mutant Coelacanth@NPC_RANDOMATTACK,attack,183,8,1000,500,5000,no,target,always,0,,,,,,,
+2189,Mutant Coelacanth@NPC_CALLSLAVE,attack,352,1,10000,0,30000,yes,self,always,0,,,,,,,
+2189,Mutant Coelacanth@NPC_CALLSLAVE,idle,352,1,10000,0,30000,yes,self,always,0,,,,,,,
+2189,Mutant Coelacanth@NPC_SUMMONSLAVE,attack,196,1,10000,700,10000,no,self,slavele,3,2196,,,,,,
+2189,Mutant Coelacanth@NPC_SUMMONSLAVE,attack,196,1,10000,700,10000,no,self,slavele,3,2196,,,,,,
+2189,Mutant Coelacanth@BS_MAXIMIZE,attack,114,1,500,0,5000,no,self,always,0,,,,,,,
+2189,Mutant Coelacanth@BS_MAXIMIZE,chase,114,1,500,0,5000,no,self,always,0,,,,,,,
+2189,Mutant Coelacanth@NPC_WIDEFREEZE,chase,664,5,10000,0,30000,yes,self,myhpltmaxrate,80,,,,,,32,
+2189,Mutant Coelacanth@NPC_WIDEFREEZE,attack,664,5,10000,0,30000,yes,self,myhpltmaxrate,80,,,,,,32,
+2189,Mutant Coelacanth@NPC_WIDEBLEEDING,chase,665,3,10000,500,100000,no,self,always,0,,,,,,,
+2189,Mutant Coelacanth@NPC_WIDEBLEEDING,attack,665,3,10000,500,100000,no,self,always,0,,,,,,,
+2189,Mutant Coelacanth@NPC_GUIDEDATTACK,attack,172,5,500,0,20000,no,target,always,0,,,,,,,
+2189,Mutant Coelacanth@NPC_GUIDEDATTACK,chase,172,5,500,0,20000,no,target,always,0,,,,,,,
+2189,Mutant Coelacanth@NPC_CRITICALWOUND,attack,673,4,200,0,5000,yes,target,always,0,,,,,,,
+2189,Mutant Coelacanth@SA_DISPELL,attack,289,5,10000,0,15000,yes,target,always,0,,,,,,,
+2189,Mutant Coelacanth@SA_DISPELL,chase,289,5,10000,0,15000,yes,target,always,0,,,,,,,
+2189,Mutant Coelacanth@NPC_ARMORBRAKE,attack,344,10,2000,0,5000,yes,target,always,0,,,,,,29,
+2189,Mutant Coelacanth@MG_FROSTDIVER,idle,15,10,5000,1000,7000,no,target,always,0,,,,,,,
+2189,Mutant Coelacanth@MG_FROSTDIVER,chase,15,10,5000,1000,7000,no,target,always,0,,,,,,,
+2189,Mutant Coelacanth@WZ_WATERBALL,chase,86,10,5000,0,20000,yes,target,always,0,,,,,,,
+2189,Mutant Coelacanth@WZ_WATERBALL,attack,86,10,5000,0,20000,yes,target,always,0,,,,,,,
+2189,Mutant Coelacanth@MG_FROSTDIVER,attack,15,10,3000,1000,10000,no,target,always,0,,,,,,,
+2189,Mutant Coelacanth@MG_FROSTDIVER,chase,15,10,3000,1000,10000,no,target,always,0,,,,,,,
+2189,Mutant Coelacanth@HW_GANBANTEIN,attack,483,1,10000,500,7000,no,target,always,0,,,,,,,
+2189,Mutant Coelacanth@WZ_JUPITEL,attack,84,28,3000,1000,10000,no,target,always,0,,,,,,,
+2189,Mutant Coelacanth@WZ_JUPITEL,chase,84,28,3000,1000,10000,no,target,always,0,,,,,,,
+2189,Mutant Coelacanth@WZ_FROSTNOVA,chase,88,10,3000,1000,10000,no,self,always,0,,,,,,,
+2189,Mutant Coelacanth@WZ_FROSTNOVA,attack,88,10,3000,1000,10000,no,self,always,0,,,,,,,
+2189,Mutant Coelacanth@NPC_POWERUP,attack,349,5,2000,0,100000,yes,self,always,0,,,,,,,
+2189,Mutant Coelacanth@NPC_POWERUP,attack,349,5,10000,0,25000,yes,self,myhpltmaxrate,20,,,,,,,
+2189,Mutant Coelacanth@NPC_AGIUP,attack,350,5,2000,0,100000,yes,self,always,0,,,,,,,
+2189,Mutant Coelacanth@NPC_AGIUP,attack,350,5,10000,0,25000,yes,self,myhpltmaxrate,30,,,,,,,
+2189,Mutant Coelacanth@AL_HEAL,idle,28,11,10000,0,10000,yes,self,myhpltmaxrate,50,,,,,,,
+2190,Violent Coelacanth@NPC_WATERATTACK,attack,184,10,1000,500,5000,no,target,always,0,,,,,,,
+2190,Violent Coelacanth@NPC_RANDOMATTACK,attack,183,8,1000,500,5000,no,target,always,0,,,,,,,
+2190,Violent Coelacanth@NPC_CALLSLAVE,attack,352,1,10000,0,30000,yes,self,always,0,,,,,,,
+2190,Violent Coelacanth@NPC_CALLSLAVE,idle,352,1,10000,0,30000,yes,self,always,0,,,,,,,
+2190,Violent Coelacanth@NPC_SUMMONSLAVE,attack,196,1,10000,700,10000,no,self,slavele,3,2196,,,,,,
+2190,Violent Coelacanth@NPC_SUMMONSLAVE,attack,196,1,10000,700,10000,no,self,slavele,3,2196,,,,,,
+2190,Violent Coelacanth@BS_MAXIMIZE,attack,114,1,500,0,5000,no,self,always,0,,,,,,,
+2190,Violent Coelacanth@BS_MAXIMIZE,chase,114,1,500,0,5000,no,self,always,0,,,,,,,
+2190,Violent Coelacanth@NPC_WIDEFREEZE,chase,664,5,10000,0,30000,yes,self,myhpltmaxrate,80,,,,,,32,
+2190,Violent Coelacanth@NPC_WIDEFREEZE,attack,664,5,10000,0,30000,yes,self,myhpltmaxrate,80,,,,,,32,
+2190,Violent Coelacanth@NPC_WIDEBLEEDING,chase,665,3,10000,500,100000,no,self,always,0,,,,,,,
+2190,Violent Coelacanth@NPC_WIDEBLEEDING,attack,665,3,10000,500,100000,no,self,always,0,,,,,,,
+2190,Violent Coelacanth@NPC_GUIDEDATTACK,attack,172,5,500,0,20000,no,target,always,0,,,,,,,
+2190,Violent Coelacanth@NPC_GUIDEDATTACK,chase,172,5,500,0,20000,no,target,always,0,,,,,,,
+2190,Violent Coelacanth@NPC_CRITICALWOUND,attack,673,4,200,0,5000,yes,target,always,0,,,,,,,
+2190,Violent Coelacanth@SA_DISPELL,attack,289,5,10000,0,15000,yes,target,always,0,,,,,,,
+2190,Violent Coelacanth@SA_DISPELL,chase,289,5,10000,0,15000,yes,target,always,0,,,,,,,
+2190,Violent Coelacanth@NPC_ARMORBRAKE,attack,344,10,2000,0,5000,yes,target,always,0,,,,,,29,
+2190,Violent Coelacanth@MG_FROSTDIVER,idle,15,10,5000,1000,7000,no,target,always,0,,,,,,,
+2190,Violent Coelacanth@MG_FROSTDIVER,chase,15,10,5000,1000,7000,no,target,always,0,,,,,,,
+2190,Violent Coelacanth@WZ_WATERBALL,chase,86,10,5000,0,20000,yes,target,always,0,,,,,,,
+2190,Violent Coelacanth@WZ_WATERBALL,attack,86,10,5000,0,20000,yes,target,always,0,,,,,,,
+2190,Violent Coelacanth@MG_FROSTDIVER,attack,15,10,3000,1000,10000,no,target,always,0,,,,,,,
+2190,Violent Coelacanth@MG_FROSTDIVER,chase,15,10,3000,1000,10000,no,target,always,0,,,,,,,
+2190,Violent Coelacanth@HW_GANBANTEIN,attack,483,1,10000,500,7000,no,target,always,0,,,,,,,
+2190,Violent Coelacanth@WZ_JUPITEL,attack,84,28,3000,1000,10000,no,target,always,0,,,,,,,
+2190,Violent Coelacanth@WZ_JUPITEL,chase,84,28,3000,1000,10000,no,target,always,0,,,,,,,
+2190,Violent Coelacanth@WZ_FROSTNOVA,chase,88,10,3000,1000,10000,no,self,always,0,,,,,,,
+2190,Violent Coelacanth@WZ_FROSTNOVA,attack,88,10,3000,1000,10000,no,self,always,0,,,,,,,
+2190,Violent Coelacanth@NPC_POWERUP,attack,349,5,2000,0,100000,yes,self,always,0,,,,,,,
+2190,Violent Coelacanth@NPC_POWERUP,attack,349,5,10000,0,25000,yes,self,myhpltmaxrate,20,,,,,,,
+2190,Violent Coelacanth@NPC_AGIUP,attack,350,5,2000,0,100000,yes,self,always,0,,,,,,,
+2190,Violent Coelacanth@NPC_AGIUP,attack,350,5,10000,0,25000,yes,self,myhpltmaxrate,30,,,,,,,
+2190,Violent Coelacanth@AL_HEAL,idle,28,11,10000,0,10000,yes,self,myhpltmaxrate,50,,,,,,,
+2191,Seaweed@NPC_INVINCIBLE,idle,685,1,10000,0,60000,no,self,always,0,,,,,,,
+2191,Seaweed@AL_HEAL,attack,28,9,10000,500,5000,yes,friend,friendhpltmaxrate,60,,,,,,3,
+2193,Octupus Leg@NPC_WIDESILENCE,chase,663,1,10000,1000,20000,no,self,always,0,,,,,,32,
+2193,Octupus Leg@NPC_WIDESILENCE,attack,663,1,10000,700,25000,yes,self,always,0,,,,,,,
+2193,Octupus Leg@NPC_WIDEFREEZE,chase,664,1,10000,1000,20000,yes,self,always,0,,,,,,36,
+2193,Octupus Leg@NPC_WIDEFREEZE,attack,664,1,10000,1000,20000,yes,self,always,0,,,,,,36,
+2193,Octupus Leg@NPC_WIDESLEEP,chase,668,1,10000,700,25000,yes,self,always,0,,,,,,,
+2193,Octupus Leg@NPC_WIDESLEEP,attack,668,1,10000,700,25000,yes,self,always,0,,,,,,,
+2193,Octupus Leg@NPC_WIDEBLEEDING,chase,665,1,10000,500,100000,no,self,always,0,,,,,,,
+2193,Octupus Leg@NPC_WIDEBLEEDING,attack,665,1,10000,500,100000,no,self,always,0,,,,,,,
+2193,Octupus Leg@NPC_WIDESOULDRAIN,chase,680,1,1000,500,5000,no,self,always,0,,,,,,42,
+2193,Octupus Leg@NPC_WIDESOULDRAIN,attack,680,1,1000,500,5000,no,self,always,0,,,,,,42,
+2193,Octupus Leg@NPC_WIDECURSE,chase,677,1,500,800,5000,no,self,always,0,,,,,,,
+2193,Octupus Leg@NPC_WIDECURSE,attack,677,1,500,800,5000,no,self,always,0,,,,,,,
+2193,Octupus Leg@NPC_WIDESTUN,chase,678,1,10000,1300,180000,yes,self,always,0,,,,,,,
+2193,Octupus Leg@NPC_WIDESTUN,attack,678,1,10000,1300,180000,yes,self,always,0,,,,,,,
+2194,Giant Octopus@NPC_WIDESILENCE,chase,663,1,10000,1000,20000,no,self,always,0,,,,,,32,
+2194,Giant Octopus@NPC_WIDESILENCE,attack,663,1,10000,700,25000,yes,self,always,0,,,,,,,
+2194,Giant Octopus@NPC_WIDEFREEZE,chase,664,1,10000,1000,20000,yes,self,always,0,,,,,,36,
+2194,Giant Octopus@NPC_WIDEFREEZE,attack,664,1,10000,1000,20000,yes,self,always,0,,,,,,36,
+2194,Giant Octopus@NPC_WIDESLEEP,chase,668,1,10000,700,25000,yes,self,always,0,,,,,,,
+2194,Giant Octopus@NPC_WIDESLEEP,attack,668,1,10000,700,25000,yes,self,always,0,,,,,,,
+2194,Giant Octopus@NPC_WIDEBLEEDING,chase,665,1,10000,500,100000,no,self,always,0,,,,,,,
+2194,Giant Octopus@NPC_WIDEBLEEDING,attack,665,1,10000,500,100000,no,self,always,0,,,,,,,
+2194,Giant Octopus@NPC_WIDESOULDRAIN,chase,680,1,1000,500,5000,no,self,always,0,,,,,,42,
+2194,Giant Octopus@NPC_WIDESOULDRAIN,attack,680,1,1000,500,5000,no,self,always,0,,,,,,42,
+2194,Giant Octopus@WZ_WATERBALL,attack,86,10,10000,500,25000,no,target,always,0,,,,,,0,
+2194,Giant Octopus@WZ_WATERBALL,chase,86,10,10000,500,25000,no,target,always,0,,,,,,0,
+2194,Giant Octopus@NPC_WIDECURSE,chase,677,1,500,800,5000,no,self,always,0,,,,,,,
+2194,Giant Octopus@NPC_WIDECURSE,attack,677,1,500,800,5000,no,self,always,0,,,,,,,
+2194,Giant Octopus@NPC_WIDESTUN,chase,678,1,10000,1300,180000,yes,self,always,0,,,,,,,
+2194,Giant Octopus@NPC_WIDESTUN,attack,678,1,10000,1300,180000,yes,self,always,0,,,,,,,
+2194,Giant Octopus@NPC_WATERATTACK,attack,184,5,2000,0,5000,no,target,always,0,,,,,,29,
+2194,Giant Octopus@NPC_WATERATTACK,chase,184,5,2000,0,5000,no,target,always,0,,,,,,29,
+2194,Giant Octopus@NPC_WATERATTACK,chase,184,5,2000,0,5000,no,target,always,0,,,,,,29,
+2194,Giant Octopus@MG_FROSTDIVER,attack,15,10,3000,1000,10000,no,target,always,0,,,,,,,
+2194,Giant Octopus@MG_FROSTDIVER,chase,15,10,3000,1000,10000,no,target,always,0,,,,,,,
+2194,Giant Octopus@WZ_FROSTNOVA,chase,88,10,3000,1000,10000,no,self,always,0,,,,,,,
+2194,Giant Octopus@WZ_FROSTNOVA,attack,88,10,3000,1000,10000,no,self,always,0,,,,,,,
+2194,Giant Octopus@NPC_PULSESTRIKE,attack,661,5,2000,0,30000,yes,self,always,0,,,,,,32,
+2194,Giant Octopus@HW_GANBANTEIN,attack,483,1,2000,0,5000,yes,target,always,0,,,,,,,
+2194,Giant Octopus@NPC_EARTHQUAKE,attack,653,5,10000,1000,25000,no,self,myhpltmaxrate,20,,,,,,,
+2194,Giant Octopus@NPC_HELLJUDGEMENT,chase,662,2,2000,500,5000,no,self,always,0,,,,,,,
+2194,Giant Octopus@NPC_HELLJUDGEMENT,attack,662,2,2000,500,5000,no,self,always,0,,,,,,,
+2195,Deep Sea Kukre@NPC_EMOTION,loot,197,1,2000,0,5000,yes,self,always,0,0,,,,,,
+2195,Deep Sea Kukre@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,,
+2195,Deep Sea Kukre@ST_FULLSTRIP,attack,476,5,1000,0,5000,yes,target,always,0,,,,,,6,
+2195,Deep Sea Kukre@WZ_WATERBALL,attack,86,4,500,1500,5000,yes,target,always,0,,,,,,,
+2196,Deep Sea Strouf@MG_FROSTDIVER,attack,15,9,1000,1000,5000,yes,target,always,0,,,,,,,
+2196,Deep Sea Strouf@MG_FROSTDIVER,chase,15,9,1000,1000,5000,yes,target,always,0,,,,,,,
+2196,Deep Sea Strouf@MG_LIGHTNINGBOLT,attack,20,3,500,1500,5000,yes,target,always,0,,,,,,,
+2196,Deep Sea Strouf@MG_LIGHTNINGBOLT,chase,20,3,500,1500,5000,yes,target,always,0,,,,,,,
+2196,Deep Sea Strouf@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,0,32,,,,,,
+2196,Deep Sea Strouf@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,,
+2196,Deep Sea Strouf@WZ_WATERBALL,attack,86,3,500,1500,5000,yes,target,always,0,,,,,,6,
+2196,Deep Sea Strouf@MG_FROSTDIVER,angry,15,9,1000,1000,5000,yes,target,always,0,,,,,,,
+2196,Deep Sea Strouf@MG_FROSTDIVER,follow,15,9,1000,1000,5000,yes,target,always,0,,,,,,,
+2196,Deep Sea Strouf@NPC_WATERATTACK,angry,184,1,2000,0,5000,yes,target,always,0,,,,,,,
+2196,Deep Sea Strouf@NPC_BLEEDING,attack,660,3,2000,0,3000,yes,target,always,0,,,,,,32,
+2196,Deep Sea Strouf@NPC_STOP,attack,342,1,200,0,600000,yes,target,always,0,,,,,,3,
+2196,Deep Sea Strouf@AL_HEAL,attack,28,7,10000,500,5000,yes,friend,friendhpltmaxrate,70,,,,,,0,
+2196,Deep Sea Strouf@AL_HEAL,attack,28,7,10000,500,5000,yes,self,myhpltmaxrate,60,,,,,,0,
+2196,Deep Sea Strouf@WZ_FROSTNOVA,chase,88,7,3000,1000,10000,no,self,always,0,,,,,,,
 2197,Red Eruma@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,,
 2197,Red Eruma@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,,
-2198,King Dramoh@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,,
-2198,King Dramoh@NPC_BLEEDING,chase,660,1,500,0,10000,no,target,always,0,,,,,,,
-2198,King Dramoh@NPC_BLEEDING,attack,660,1,500,0,10000,no,target,always,0,,,,,,,
-2198,King Dramoh@NPC_STOP,attack,342,1,2000,500,15000,no,target,always,0,,,,,,2,
-2198,King Dramoh@NPC_STUNATTACK,chase,179,3,2000,1500,5000,no,target,always,0,,,,,,,
-2198,King Dramoh@NPC_STUNATTACK,attack,179,3,2000,1500,5000,no,target,always,0,,,,,,,
+2198,King Dramoh@SM_ENDURE,chase,8,1,5000,0,10000,yes,target,longrangeattacked,,,,,,,6,
+2198,King Dramoh@NPC_DEFENDER,attack,205,1,500,0,5000,yes,target,longrangeattacked,,,,,,,36,
+2198,King Dramoh@NPC_STOP,attack,342,1,500,0,30000,yes,target,always,0,,,,,,38,
+2198,King Dramoh@NPC_STUNATTACK,attack,179,4,500,1500,5000,no,target,always,0,,,,,,,
 2199,Siorava@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,,
 2199,Siorava@NPC_WATERATTACK,attack,184,1,2000,0,5000,yes,target,always,0,,,,,,,
 
 
 // Izlude Dungeon F6
 // Izlude Dungeon F6

+ 1 - 1
db/re/skill_cast_db.txt

@@ -1681,7 +1681,7 @@
 //-- KG_KYOMU
 //-- KG_KYOMU
 3024,0,0,0,10000:15000:20000:25000:30000,0,0,-1
 3024,0,0,0,10000:15000:20000:25000:30000,0,0,-1
 //-- KG_KAGEMUSYA
 //-- KG_KAGEMUSYA
-3025,0,0,0,60000:90000:120000:15000:180000,0,0,-1
+3025,0,0,0,60000:90000:120000:150000:180000,0,0,-1
 //-- OB_ZANGETSU
 //-- OB_ZANGETSU
 3026,0,0,0,60000:75000:90000:105000:120000,0,0,-1
 3026,0,0,0,60000:75000:90000:105000:120000,0,0,-1
 //-- OB_OBOROGENSOU
 //-- OB_OBOROGENSOU

+ 10 - 7
doc/script_commands.txt

@@ -1064,9 +1064,9 @@ of the ways to end a speech from an NPC. Once the button is clicked, the NPC
 script execution will end, and the message box will disappear.
 script execution will end, and the message box will disappear.
 
 
     mes "[Woman]";
     mes "[Woman]";
-    mes "I am finished talking to you, click the close button";
+    mes "I am finished talking to you. Click the close button.;
     close;
     close;
-    mes "This command will not run at all, cause the script has ended.";
+    mes "This command will not run at all, since the script has ended.";
 
 
 ---------------------------------------
 ---------------------------------------
 
 
@@ -1080,7 +1080,7 @@ the message box will have closed, the script execution will not stop, and comman
 make it stop in some other manner.
 make it stop in some other manner.
 
 
     mes "[Woman]";
     mes "[Woman]";
-    mes "I will warp you now";
+    mes "I will warp you now.";
     close2;
     close2;
     warp "place",50,50;
     warp "place",50,50;
     end;
     end;
@@ -1367,7 +1367,7 @@ picked.
 And like 'menu', the selected option is consistent with grouped options 
 And like 'menu', the selected option is consistent with grouped options 
 and empty options.
 and empty options.
 
 
-prompt works almost the same as select, except that when a character clicks
+'prompt' works almost the same as select, except that when a character clicks
 the Cancel button, this function will return 255 instead.
 the Cancel button, this function will return 255 instead.
 
 
 ---------------------------------------
 ---------------------------------------
@@ -6260,12 +6260,15 @@ an NPC move randomly around the map.
 'npcspeed' will set the NPCs walking speed to a specified value. As in the 
 'npcspeed' will set the NPCs walking speed to a specified value. As in the 
 @speed GM command, 200 is the slowest possible speed while 0 is the fastest 
 @speed GM command, 200 is the slowest possible speed while 0 is the fastest 
 possible (instant motion). 100 is the default character walking speed.
 possible (instant motion). 100 is the default character walking speed.
+
 'npcwalkto' will start the NPC sprite moving towards the specified coordinates 
 'npcwalkto' will start the NPC sprite moving towards the specified coordinates 
-on the same map as it is currently on.
+on the same map it is currently on. The script proceeds immediately after the
+NPC begins moving.
+
 'npcstop' will stop the motion.
 'npcstop' will stop the motion.
 
 
 While in transit, the NPC will be clickable, but invoking it will cause it to 
 While in transit, the NPC will be clickable, but invoking it will cause it to 
-stop motion, which will make it's coordinates different from what the client 
+stop moving, which will make its coordinates different from what the client 
 computed based on the speed and motion coordinates. The effect is rather 
 computed based on the speed and motion coordinates. The effect is rather 
 unnerving.
 unnerving.
 
 
@@ -6289,7 +6292,7 @@ Example:
 
 
 // This will move Bugga from to the coordinates 100,20 (if those coordinates are legit).
 // This will move Bugga from to the coordinates 100,20 (if those coordinates are legit).
 	moveNPC "Bugga",100,20;
 	moveNPC "Bugga",100,20;
-	
+
 ---------------------------------------
 ---------------------------------------
 
 
 =====================
 =====================

+ 1083 - 0
npc/re/instances/MalangdoCulvert.txt

@@ -0,0 +1,1083 @@
+//===== rAthena Script ======================================= 
+//= Malangdo Culvert
+//===== By: ================================================== 
+//= Euphy
+//===== Current Version: ===================================== 
+//= 1.0
+//===== Compatible With: ===================================== 
+//= rAthena SVN
+//===== Description: ========================================= 
+//= [Official Conversion]
+//= Clean the culverts and defeat the Coelacanth.
+//= Daily and weekly quests are available.
+//= Contains a normal mode and hard mode.
+//===== Additional Comments: ================================= 
+//= 1.0 First version. [Euphy]
+//=     Letters "n" and "h" in NPC names indicate difficulty.
+//============================================================ 
+
+// Quest NPCs
+//============================================================
+mal_in01,172,28,2	script	Albo#mal	561,{
+	if (checkweight(1201,1) == 0) {
+		mes "You have too many kinds of objects. Try to continue after reducing those objects.";
+		close;
+	}
+	if (MaxWeight - Weight < 1000) {
+		mes "You have too many heavy objects. Try to continue after reducing your weight.";
+		close;
+	}
+	if (BaseLevel < 90) {
+		mes "[Albo]";
+		mes "Who are you?";
+		mes "We don't need a weaking!!";
+		close;
+	}
+	setarray .@quests[0],12271,12272,12273,12274;
+	setarray .@names$[0],
+		"General Culvert Daily Service","^990000Hard Culvert Daily Service^000000",
+		"General Culvert Weekly Service","^990000Hard Culvert Weekly Service^000000";
+	set .@menu$,"Why are doing this job?:";
+	for(set .@i,0; .@i<4; set .@i,.@i+1) {
+		if (checkquest(.@quests[.@i],PLAYTIME) > -1) {
+			set .@status[.@i],2;
+			set .@menu$, .@menu$+"^aaaaaa- There is no new task -^000000:";
+		} else if (.@i%2 && BaseLevel < 140) {
+			set .@status[.@i],0;
+			set .@menu$, .@menu$+"^aaaaaaCan't take this job because level is too low^000000:";
+		} else {
+			set .@status[.@i],1;
+			set .@menu$, .@menu$+.@names$[.@i]+":";
+		}
+	}
+	mes "[Albo]";
+	mes "We crossed the sea!";
+	mes "We are great heroes of Culvert! We do not forgive the seafood that aims at Culvert!";
+	next;
+	set .@i, select(.@menu$)-1;
+	if (.@i == 0) {
+		mes "[Albo]";
+		mes "We used to be the henchmen of Mr. Missing! We almost became guards of such a historic site.";
+		next;
+		mes "[Albo]";
+		mes "However, when sea water flooded all precious the resources, my dream... all my dreams melted away...";
+		next;
+		mes "[Albo]";
+		mes "We do not forgive the seafood that invaded our territory. I'll eat them with spicy paste!!!";
+		next;
+		mes "^0000ffAlbo's voice shakes with anger. He smacked his lips when he mentioned spicy paste.^000000";
+		close;
+	}
+	switch(.@status[.@i-1]) {
+	case 0:
+		mes "[Albo]";
+		mes "That task is really hard for you, so I can't tell you about it. Why don't you find another one?";
+		close;
+	case 1:
+		break;
+	case 2:
+		mes "[Albo]";
+		mes "I'm sorry. There is no new task yet! If I find any work, I'll tell you so!";
+		close;
+	}
+	switch(.@i) {
+	case 1: // General Culvert Daily Service
+		switch(rand(1,6)) {
+			case 1: callsub L_GiveQuest,.@i,12255,12271,"Deep Sea Crab";
+			case 2: callsub L_GiveQuest,.@i,12256,12271,"Deep Sea Marse";
+			case 3: callsub L_GiveQuest,.@i,12257,12271,"Deep Sea Vadon";
+			case 4: callsub L_GiveQuest,.@i,12258,12271,"Deep Sea Shellfish";
+			case 5: callsub L_GiveQuest,.@i,12259,12271,"Deep Sea Kukre";
+			case 6: callsub L_GiveQuest,.@i,12260,12271,"Deep Sea Cornutus";
+		}
+	case 2: // Hard Culvert Daily Service
+		switch(rand(1,6)) {
+			case 1: callsub L_GiveQuest,.@i,12261,12272,"Deep Sea Marc";
+			case 2: callsub L_GiveQuest,.@i,12262,12272,"Deep Sea Sword Fish";
+			case 3: callsub L_GiveQuest,.@i,12263,12272,"Deep Sea Strouf";
+			case 4: callsub L_GiveQuest,.@i,12264,12272,"Deep Sea Anolian";
+			case 5: callsub L_GiveQuest,.@i,12265,12272,"Deep Sea Obeanue";
+			case 6: callsub L_GiveQuest,.@i,12266,12272,"Deep Sea Kapha";
+		}
+	case 3: // General Culvert Weekly Service
+		switch(rand(1,2)) {
+			case 1: callsub L_GiveQuest,.@i,12267,12273,"Weird Coelacanth";
+			case 2: callsub L_GiveQuest,.@i,12268,12273,"Gloomy Coelacanth";
+		}
+	case 4: // Hard Culvert Weekly Service
+		switch(rand(1,2)) {
+			case 1: callsub L_GiveQuest,.@i,12269,12274,"Violent Coelacanth";
+			case 2: callsub L_GiveQuest,.@i,12270,12274,"Mutant Coelacanth";
+		}
+	default:
+		mes "[Albo]";
+		mes "Uh!? Where is the task? Let me find that quickly. You must speak with Madeca!";
+		close;
+	}
+	end;
+
+// callsub L_GiveQuest,.@i,<quest 1>,<quest 2>,<monster>;
+L_GiveQuest:
+	setquest getarg(1);
+	setquest getarg(2);
+	mes "[Albo]";
+	mes "Today, the heroes of Culvert!";
+	mes "We raise our voices and set a date for the extermination of ^0000ff"+getarg(3)+"^000000!";
+	next;
+	mes "[Albo]";
+	switch(getarg(0)) {
+	case 1:
+	case 2:
+		mes "Come on, heroes! Don't be afraid of them! Just go on, since it's a one-day mission!";
+		break;
+	case 3:
+		mes "I'll give you one week to finish this job! Terminate all of them in Culvert Dungeon, Normal Mode!";
+		break;
+	case 4:
+		mes "I'll give you one week to finish this job! Terminate all of them in Culvert Dungeon, Hard Mode!";
+		break;
+	}
+	next;
+	mes "You received a request for the Extermination of ^005500"+getarg(3)+"^000000. If you need more details, please check the quest window.";
+	close;
+}
+
+mal_in01,172,26,2	script	Madeca#mal	544,{
+	if (checkweight(1201,1) == 0) {
+		mes "You have too many kinds of objects. Try to continue after reducing those objects.";
+		close;
+	}
+	if (MaxWeight - Weight < 1000) {
+		mes "You have too many heavy objects. Try to continue after reducing your weight.";
+		close;
+	}
+	if (BaseLevel < 90) {
+		mes "[Madeca]";
+		mes "Karrrrrrr!!";
+		mes "Let's have some bad seafood that can be boiled or grilled!";
+		next;
+		mes "[Madeca]";
+		mes "Who are you? You are such a totterer. Even seaweed could kill you!";
+		close;
+	}
+	mes "[Madeca]";
+	mes "Oh?";
+	mes "You're the one who took care of my big brother Albo's request. It was a hard job!";
+	next;
+	set .@i, select("What are you doing here?:General Culvert Daily Service Compensation:Hard Culvert Daily Service Compensation:General Culvert Weekly Service Compensation:Hard Culvert Weekly Service Compensation")-1;
+	if (.@i == 0) {
+		mes "[Madeca]";
+		mes "I'm here to help my big brother Albo!";
+		next;
+		mes "[Madeca]";
+		mes "We provide precious materials to humans who make sludge out of the bad seafood in the Culverts!";
+		next;
+		mes "[Madeca]";
+		mes "We provide A~B Grade Coins as compensation for daily service, and the precious Sea God's Wrath as compensation for weekly service.";
+		next;
+		mes "[Madeca]";
+		mes "If you take care of big brother Albo's request, I will see you very often. So, let's stay close!";
+		close;
+	}
+	mes "[Madeca]";
+	mes "I can't give you compensation for an expired request, so let me check if any of yours have expired.";
+	next;
+	specialeffect2 EF_SPHERE;
+	progressbar "0xFFFF00",3;
+	specialeffect2 EF_STEAL;
+	switch(.@i) {
+	case 1: // General Culvert Daily Service
+		if (checkquest(12271,PLAYTIME) == 2)
+			callsub L_EraseQuest,12255,12256,12257,12258,12259,12260,12271;
+		else {
+			// Reward: 2x B Grade Coin
+			callsub L_CheckQuest,12255,"Deep Sea Crab",6419,2;
+			callsub L_CheckQuest,12256,"Deep Sea Marse",6419,2;
+			callsub L_CheckQuest,12257,"Ancient Crustacean",6419,2;
+			callsub L_CheckQuest,12258,"Deep Sea Shellfish",6419,2;
+			callsub L_CheckQuest,12259,"Deep Sea Kukre",6419,2;
+			callsub L_CheckQuest,12260,"Deep Sea Cornutus",6419,2;
+		}
+		break;
+	case 2: // Hard Culvert Daily Service
+		if (checkquest(12272,PLAYTIME) == 2)
+			callsub L_EraseQuest,12261,12262,12263,12264,12265,12266,12272;
+		else {
+			// Reward: 1x A Grade Coin
+			callsub L_CheckQuest,12261,"Deep Sea Marc",6418,1;
+			callsub L_CheckQuest,12262,"Deep Sea Sword Fish",6418,1;
+			callsub L_CheckQuest,12263,"Deep Sea Strouf",6418,1;
+			callsub L_CheckQuest,12264,"Deep Sea Anolian",6418,1;
+			callsub L_CheckQuest,12265,"Deep Sea Obeaune",6418,1;
+			callsub L_CheckQuest,12266,"Deep Sea Kapha",6418,1;
+		}
+		break;
+	case 3: // General Culvert Weekly Service
+		if (checkquest(12273,PLAYTIME) == 2)
+			callsub L_EraseQuest,12267,12268,12273;
+		else {
+			// Reward: 1x Sea God's Wrath
+			callsub L_CheckQuest,12267,"Weird Coelacanth",6423,1;
+			callsub L_CheckQuest,12268,"Gloomy Coelacanth",6423,1;
+		}
+		break;
+	case 4: // Hard Culvert Weekly Service
+		if (checkquest(12274,PLAYTIME) == 2)
+			callsub L_EraseQuest,12269,12270,12274;
+		else {
+			// Reward: 5x Sea God's Wrath
+			callsub L_CheckQuest,12269,"Violent Coelacanth",6423,5;
+			callsub L_CheckQuest,12270,"Mutant Coelacanth",6423,5;
+		}
+		break;
+	default:
+		mes "[Madeca]";
+		mes "Something is wrong. Please check this again!";
+		close;
+	}
+	mes "[Madeca]";
+	mes "I don't see any completed mission!";
+	close;
+
+L_EraseQuest:
+	for(set .@j,0; .@j<getargcount(); set .@j,.@j+1) {
+		if (checkquest(getarg(.@j)) > -1)
+			erasequest getarg(.@j);
+	}
+	mes "[Madeca]";
+	mes "Um, I'm sorry. You exceeded the time limit, so I can't give you any payment.";
+	close;
+
+// callsub L_CheckQuest,<quest ID>,<monster>,<reward item ID>,<reward item amount>;
+L_CheckQuest:
+	if (checkquest(getarg(0),HUNTING) == 2) {
+		mes "[Madeca]";
+		mes "You've punished ^0000ff"+getarg(1)+"^000000!";
+		mes "Here's your pay!";
+		erasequest getarg(0);
+		specialeffect2 EF_STEAL;
+		getitem getarg(2),getarg(3);
+		close;
+	}
+	return;
+}
+
+// Instance Creation
+//============================================================
+mal_in01,160,34,4	script	Missing, the Cleaner	545,{
+	if (BaseLevel < 90) {
+		mes "[Missing, the Cleaner]";
+		mes "Are you talking to me?!";
+		next;
+		mes "[Missing, the Cleaner]";
+		mes "I'm not sure what made you come here but you can't enter!";
+		mes "Tomas' orders...";
+		next;
+		mes "^770099You must be Base level 90 to enter.^000000";
+		close;
+	}
+	if (in_canal_n == 0) {
+		mes "[Missing, the Cleaner]";
+		mes "(trembling)";
+		next;
+		mes "^660066This cat looks like it's in bad shape. It is slightly trembling.^000000";
+		next;
+		if(select("Pet the cat:Are you ok?") == 1) {
+			mes "[Missing, the Cleaner]";
+			mes "Are you talking to me?!";
+			next;
+			mes "^660066A trembling cat is looking up at you.^000000";
+			close;
+		}
+		mes "[Missing, the Cleaner]";
+		mes "Achoo!";
+		next;
+		mes "[Missing, the Cleaner]";
+		mes "We have had many issues during the";
+		mes "cleaning of the culverts. But a";
+		mes "cat's gotta do it...";
+		next;
+		select("What culvert are you cleaning?");
+		mes "[Missing, the Cleaner]";
+		mes "It might look unfamiliar for an";
+		mes "outsider, but actually this place";
+		mes "is made to keep souvenirs and";
+		mes "luxurious things.";
+		next;
+		mes "[Missing, the Cleaner]";
+		mes "After there was a big trembling on";
+		mes "this island, things started leaking";
+		mes "around here. So that's why I became";
+		mes "a cleaner here, though I used";
+		mes "to be a manager.";
+		next;
+		mes "^660066The cat looks like it's been crying...^000000";
+		next;
+		mes "[Missing, the Cleaner]";
+		mes "There is a culvert along this way";
+		mes "to the basement. There are many bad";
+		mes "guys who hurt me. I am tired of";
+		mes "fighting with them so many times a";
+		mes "day!";
+		next;
+		mes "[Missing, the Cleaner]";
+		mes "Ohh! You touched my fur!";
+		mes "My fur is falling out... it's all";
+		mes "those guys' fault~";
+		next;
+		mes "^660066You just now notice that the cat's fur is missing in some places.^000000";
+		next;
+		select("Why don't you just quit!");
+		mes "[Missing, the Cleaner]";
+		mes "I still have to make a living, don't I?";
+		next;
+		mes "[Missing, the Cleaner]";
+		mes "Sometimes I can get a lucky box,";
+		mes "or even better, I can get cans...";
+		next;
+		if(select("Okay, cheers!:I will help if possible...") == 1) {
+			mes "[Missing, the Cleaner]";
+			mes "Thank you. I am going back to pour the water!";
+			close;
+		}
+		mes "[Missing, the Cleaner]";
+		mes "(turns down his voice)";
+		mes "If you really want to help, come closer!";
+		next;
+		select("(get in closer)");
+		mes "[Missing, the Cleaner]";
+		mes "Not everyone can be an assistant";
+		mes "here. But I can't help choosing";
+		mes "anyone at the moment...";
+		next;
+		mes "[Missing, the Cleaner]";
+		mes "If you want to go down here, let me get this code.";
+		next;
+		mes "^660066The cat scribbles a memo for code to you.^000000";
+		next;
+		select("Open the memo.");
+		mes "^660000Aragam insulted me.^000000";
+		next;
+		mes "[Missing, the Cleaner]";
+		mes "You must be here with friends";
+		mes "because you can't go in alone! And";
+		mes "the password code will be from the";
+		mes "party leader!";
+		next;
+		mes "[Missing, the Cleaner]";
+		mes "What is also important is you must";
+		mes "have a Seagod Protection with you.";
+		next;
+		mes "[Missing, the Cleaner]";
+		mes "Don't forget! I will not open the";
+		mes "door if you do not have Seagod Protection!";
+		set in_canal_n,1;
+		close;
+	}
+	if (countitem(6436) == 0) {
+		mes "[Missing, the Cleaner]";
+		mes "You don't look like you have Seagod Protection. I can't open door at the moment!";
+		close;
+	}
+	set .@party_id,getcharid(1);
+	set .@md_name$,"Culvert";
+	if (!instance_check_party(.@party_id,2)) {
+		mes "^0000ffYou have to organize a party of";
+		mes "more than 1 member or be a member";
+		mes "of the party and come back.^000000";
+		close;
+	}
+	set .@playtime, checkquest(12254,PLAYTIME);
+	if (.@playtime == -1) {
+		if (getcharid(0) == getpartyleader(.@party_id,2)) {
+			mes "[Missing, the Cleaner]";
+			mes "Ummm? What's up? Tell me the password if you're the leader!";
+			next;
+			switch(select("No... nothing.:Aragam insulted me.:Enter the Culvert.")) {
+			case 1:
+				mes "[Missing, the Cleaner]";
+				mes "What a rookie.";
+				close;
+			case 2:
+				set .@instance, instance_create(.@md_name$,.@party_id);
+				if (.@instance < 0) {
+					mes "Party name: "+getpartyname(.@party_id);
+					mes "Party leader: "+strcharinfo(0);
+					mes "^0000ff"+.@md_name$+"^000000 - Reservation Failed!";
+					close;
+				}
+				if (instance_attachmap("1@pump",.@instance) == "" || instance_attachmap("2@pump",.@instance) == "") {
+					mes "^0000ff"+.@md_name$+"^000000 - Reservation Failed!";
+					instance_destroy(.@instance);
+					close;
+				}
+				instance_attach(.@instance);
+				instance_set_timeout 3600,300,.@instance;
+				instance_init(.@instance);
+
+				// Common Scripts
+				donpcevent instance_npcname("Missing, the Cleaner#0", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("Culvert Entrance#i", instance_id())+"::OnInstanceInit";
+
+				// Normal Mode
+				donpcevent instance_npcname("Missing, the Cleaner#nf", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("Missing, the Cleaner#n", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("Monster Hole#n", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("#Culvert_n1", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("#Culvert_n2", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("#Culvert_n3", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("#Culvert_n4", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("#Culvert_n5", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("#Culvert_n6", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("Boss Creation#n", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("Missing, the Cleaner#no", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("Culvert Entrance#n", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("Hydra#n", instance_id())+"::OnInstanceInit";
+
+				// Hard Mode
+				donpcevent instance_npcname("Missing, the Cleaner#hf", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("Missing, the Cleaner#h", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("Monster Hole#h", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("#Culvert_h1", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("#Culvert_h2", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("#Culvert_h3", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("#Culvert_h4", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("#Culvert_h5", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("#Culvert_h6", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("#Culvert_h7", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("#Culvert_h8", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("#Culvert_h9", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("#Culvert_h10", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("Boss Creation#h", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("Missing, the Cleaner#ho", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("Culvert Entrance#h", instance_id())+"::OnInstanceInit";
+				donpcevent instance_npcname("Hydra#h", instance_id())+"::OnInstanceInit";
+
+				mes "^3333FF"+.@md_name$+"^000000 - Reserving";
+				mes "After making the reservation, you";
+				mes "have to select Enter the Culvert.";
+				close;
+			case 3:
+				goto L_Enter;
+			}
+		} else {
+			if(select("Enter Culvert:Cancel") == 2)
+				close;
+			goto L_Enter;
+		}
+	} else if (.@playtime == 0 || .@playtime == 1) {
+		mes "You can enter the Culvert if the gate is open.";
+		next;
+		if(select("Enter Culvert:Cancel") == 2)
+			close;
+		goto L_Enter;
+	} else if (.@playtime == 2) {
+		mes "^0000ffThe gate to the Culvert is open again.^000000";
+		erasequest 12254;
+		close;
+	}
+	end;
+L_Enter:
+	// TODO: Add official MD_Enter cases.
+	if (has_instance("1@pump") == "") {
+		if (checkquest(12254,PLAYTIME) == 0 || checkquest(12254,PLAYTIME) == 1) {
+			mes "The gate to the Culvert is still closed.";
+			mes "You must wait until you are able to enter or find a party leader who can create the instance.";
+			close;
+		}
+		mes "The memorial dungeon Culvert does not exist.";
+		mes "The party leader has not reserved entrance to the dungeon yet.";
+		close;
+	}
+	mapannounce "mal_in01", strcharinfo(0)+" of the party "+getpartyname(.@party_id)+" is entering the Culvert.",bc_map,"0x00ff99";
+	if (checkquest(12254) == -1) setquest 12254;
+	warp "1@pump",63,98;
+	close;
+}
+
+// Instance: Common Scripts
+//============================================================
+1@pump,63,100,4	script	Missing, the Cleaner#0	545,{
+	if (getcharid(0) != getpartyleader(getcharid(1),2)) {
+		mes "[Missing, the Cleaner]";
+		mes "I am trying to have a conversation with your leader now. Please don't disturb and wait!";
+		close;
+	}
+	mes "[Missing, the Cleaner]";
+	mes "This is the underground culvert where you will clean with your friends!";
+	next;
+	mes "[Missing, the Cleaner]";
+	mes "I'll open the door first. By the way, do you know how to fight?";
+	next;
+	switch(select("I'm pretty good at delivering bread.:I know how to fight.:^ffffffGive me the diamond.^000000")) {
+	case 1:
+		mes "[Missing, the Cleaner]";
+		mes "Ok then, I'll let you clean the culverts here as usual! I will prepare at the right-hand corner, please follow me!";
+		next;
+		if(select("Wait! I changed my mind!:As you wish~") == 1) {
+			mes "[Missing, the Cleaner]";
+			mes "Huh? Not ready yet? Talk to me again when you're ready.";
+			close;
+		}
+		set 'party_id,getcharid(1);
+		instance_announce 0,"Missing: Move toward the 3 o'clock direction and wait for my next order!",bc_map,"0xff88ff",FW_NORMAL,15;
+		disablenpc instance_npcname("Missing, the Cleaner#0", instance_id());
+		enablenpc instance_npcname("Missing, the Cleaner#n", instance_id());
+		close;
+	case 2:
+		if (BaseLevel < 140) {
+			mes "[Missing, the Cleaner]";
+			mes "Hmmm... Missing thinks you're weak! Tell me the truth!!";
+			close;
+		}
+		mes "[Missing, the Cleaner]";
+		mes "Huh? You have some fighting skills? Well, then, there is one place I wasn't able to clean... why don't you go there?!";
+		next;
+		mes "[Missing, the Cleaner]";
+		mes "I must tell you that it's been such a long~~ time since we've cleaned that place, so anyone under level 140 cannot even enter! Are you sure you still want to go?";
+		next;
+		if(select("Wait! I changed my mind!:Sure, I'm prepared already~") == 1) {
+			mes "[Missing, the Cleaner]";
+			mes "Hmm? Talk to me again when you're ready.";
+			close;
+		}
+		set 'party_id,getcharid(1);
+		instance_announce 0,"Missing: I'll go in first, so follow me! I'll open up a gate at the 3 o'clock direction!",bc_map,"0xff88ff",FW_NORMAL,15;
+		disablenpc instance_npcname("Missing, the Cleaner#0", instance_id());
+		enablenpc instance_npcname("Culvert Entrance#i", instance_id());
+		close;
+	case 3:
+		mes "[Missing, the Cleaner]";
+		mes "I told you not to play with me~!";
+		close;
+	}
+	end;
+OnInstanceInit:
+	enablenpc instance_npcname("Missing, the Cleaner#0", instance_id());
+	end;
+}
+
+1@pump,84,105,0	script	Culvert Entrance#i	45,3,3,{
+	end;
+OnInstanceInit:
+	disablenpc instance_npcname("Culvert Entrance#i", instance_id());
+	end;
+OnTouch:
+	if (BaseLevel >= 140)
+		warp "2@pump",38,88;
+	else
+		warp "1@pump",74,105;
+	end;
+}
+
+function	script	F_mal_missing	{
+	mes "[Missing, the Cleaner]";
+	mes "I will tell you how to clean shortly. Can you see the culverts around you?";
+	next;
+	if(select("What culverts??:Yes, I see them.") == 1) {
+		mes "[Missing, the Cleaner]";
+		mes "Huh? Is this your first time seeing culverts? You'll see many buried machines in the ground. You may look around and come back!";
+		close;
+	}
+	mes "[Missing, the Cleaner]";
+	mes "That's right! Those culverts are very important! We must clean the culverts to prevent seaweed from blocking them. This is what we, cleaners, do!";
+	next;
+	mes "[Missing, the Cleaner]";
+	mes "Watch out! Some monsters will be after you while you're cleaning the culverts! But do not yield to them!";
+	next;
+	mes "[Missing, the Cleaner]";
+	mes "And... NEVER let 6 seaweeds stack! Up to 5 is acceptable! If there are 6, I'll drag you out of here!!";
+	next;
+	mes "[Missing, the Cleaner]";
+	mes "I don't care if you get help from your friends or not. I want you to clean up all culverts! Don't forget! I will watch you and give you instructions. Just do what I said!!";
+	next;
+	if (getcharid(0) != getpartyleader(getcharid(1),2)) {
+		mes "[Missing, the Cleaner]";
+		mes "Once your leader finishes preparing, it will begin, so get your hearts ready for it!!";
+		close;
+	}
+	mes "[Missing, the Cleaner]";
+	mes "So, are you ready to clean now?";
+	next;
+	switch(select("Wait! Not yet!:Let's start!")) {
+	case 1:
+		mes "[Missing, the Cleaner]";
+		mes "Huh? Not ready yet? Then talk to me when you're ready.";
+		close;
+	case 2:
+		mes "[Missing, the Cleaner]";
+		mes "OK! Now it begins!";
+		return;
+	}
+}
+
+// Instance: Normal Mode
+//============================================================
+1@pump,84,105,4	script	Missing, the Cleaner#nf	545,{
+	mes "[Missing, the Cleaner]";
+	mes "I have the cleaning job for 40 years and I've never seen such a terrible team!!";
+	next;
+	mes "[Missing, the Cleaner]";
+	mes "I see seaweed everywhere because you're wiggling! All the culverts will be blocked with seaweed!";
+	next;
+	if (getcharid(0) != getpartyleader(getcharid(1),2)) {
+		mes "[Missing, the Cleaner]";
+		mes "Once your leader finishes preparing, settlement will be decided so get your hearts ready for it!!";
+		close;
+	}
+	mes "[Missing, the Cleaner]";
+	mes "If you got some guts to challenge again, I'll give you another chance! What's your choice going to be!?";
+	next;
+	switch(select("Wait! Not yet!:Okay, let's start again!")) {
+	case 1:
+		mes "[Missing, the Cleaner]";
+		mes "You're still slow! Talk to me again whenever your're ready.";
+		close;
+	case 2:
+		mes "[Missing, the Cleaner]";
+		mes "Ok! Let's start now!";
+		set .@i$, charat(strnpcinfo(2),0);
+		enablenpc instance_npcname("Missing, the Cleaner#"+.@i$, instance_id());
+		donpcevent instance_npcname("Missing, the Cleaner#"+.@i$, instance_id())+"::OnStart";
+		disablenpc instance_npcname("Culvert Entrance#"+.@i$, instance_id());
+		disablenpc instance_npcname("Missing, the Cleaner#"+.@i$+"o", instance_id());
+		donpcevent instance_npcname("Monster Hole#"+.@i$, instance_id())+"::OnClear";
+		disablenpc instance_npcname(strnpcinfo(0), instance_id());
+		close;
+	}
+	close;
+OnInstanceInit:
+	disablenpc instance_npcname(strnpcinfo(0), instance_id());
+	end;
+}
+
+1@pump,84,105,4	script	Missing, the Cleaner#n	545,{
+	callfunc "F_mal_missing";
+	donpcevent instance_npcname("Missing, the Cleaner#n", instance_id())+"::OnStart";
+	close;
+OnInstanceInit:
+	disablenpc instance_npcname("Missing, the Cleaner#n", instance_id());
+	end;
+OnStart:
+	killmonster "1@pump",instance_npcname("Missing, the Cleaner#n", instance_id())+"::OnMyMobDead";
+	disablenpc instance_npcname("Missing, the Cleaner#n", instance_id());
+	initnpctimer;
+	end;
+OnAddSeaweed:
+	areamonster "1@pump",55,99,61,105,"Contaminated Seaweed",2191,1,instance_npcname("Missing, the Cleaner#n", instance_id())+"::OnMyMobDead";
+	set .@mob_dead_num, mobcount("1@pump",instance_npcname("Missing, the Cleaner#n", instance_id())+"::OnMyMobDead");
+	if (.@mob_dead_num >= 6)
+		donpcevent instance_npcname("Missing, the Cleaner#n", instance_id())+"::OnFail";
+	else
+		instance_announce 0,"Contaminated Seaweed: "+.@mob_dead_num+" stem",bc_map,"0xff3333",FW_NORMAL,20;
+	end;
+OnMyMobDead:
+	end;
+OnFail:
+	stopnpctimer;
+	donpcevent instance_npcname("Monster Hole#n", instance_id())+"::OnClear";
+	killmonster "1@pump",instance_npcname("Missing, the Cleaner#n", instance_id())+"::OnMyMobDead";
+	enablenpc instance_npcname("Missing, the Cleaner#nf", instance_id());
+	instance_announce 0,"What is this!! Seaweed is all over the culverts! You're done with cleaning! Get out!!",bc_map,"0xff88ff",FW_NORMAL,15;
+	disablenpc instance_npcname("Missing, the Cleaner#n", instance_id());
+	end;
+OnTimer100:
+	instance_announce 0,"First culvert will be opened in 5 sec. Cleaner can find the opened drain and click to start cleaning.",bc_map,"0x00ffcc",FW_NORMAL,15;
+	end;
+OnTimer5500:
+	instance_announce 0,"The one who's in charge of cleaning the culvert cannot move or be attacked until the casting is over.",bc_map,"0x00ffcc",FW_NORMAL,15;
+	donpcevent instance_npcname("Monster Hole#n", instance_id())+"::OnSpawn";
+	end;
+OnTimer45000:
+OnTimer95000:
+OnTimer145000:
+OnTimer195000:
+OnTimer245000:
+OnTimer295000:
+OnTimer345000:
+OnTimer395000:
+OnTimer445000:
+	instance_announce 0,"Next culvert will be opened in 5 sec. Please hurry up and find the position of the next culvert.",bc_map,"0x00ffcc",FW_NORMAL,15;
+	end;
+OnTimer50000:
+OnTimer100000:
+OnTimer150000:
+	donpcevent instance_npcname("Monster Hole#n", instance_id())+"::OnSpawn";
+	end;
+OnTimer200000:
+OnTimer250000:
+OnTimer300000:
+OnTimer350000:
+OnTimer400000:
+OnTimer450000:
+	set .@mob_dead_num, mobcount("1@pump",instance_npcname("Missing, the Cleaner#n", instance_id())+"::OnMyMobDead");
+	if (.@mob_dead_num >= 6)
+		donpcevent instance_npcname("Missing, the Cleaner#n", instance_id())+"::OnFail";
+	else
+		donpcevent instance_npcname("Monster Hole#n", instance_id())+"::OnSpawn";
+	end;
+OnTimer515000:
+	set .@mob_dead_num, mobcount("1@pump",instance_npcname("Missing, the Cleaner#n", instance_id())+"::OnMyMobDead");
+	instance_announce 0,"Contaminated Seaweed: "+.@mob_dead_num+" stem. Missing will come and inspect the results of the cleaning soon.",bc_map,"0xff3333",FW_NORMAL,20;
+	end;
+OnTimer520000:
+	stopnpctimer;
+	set .@mob_dead_num, mobcount("1@pump",instance_npcname("Missing, the Cleaner#n", instance_id())+"::OnMyMobDead");
+	if (.@mob_dead_num >= 6)
+		donpcevent instance_npcname("Missing, the Cleaner#n", instance_id())+"::OnFail";
+	else
+		donpcevent instance_npcname("Boss Creation#n", instance_id())+"::OnEnable";
+	end;
+}
+
+1@pump,1,1,4	script	Monster Hole#n	-1,{
+	end;
+OnInstanceInit:
+	enablenpc instance_npcname(strnpcinfo(0), instance_id());
+	end;
+OnSpawn:
+	set .@i$, charat(strnpcinfo(2),0);
+	if (.@i$ == "n")
+		set .@n,6;
+	else if (.@i$ == "h")
+		set .@n,10;
+	donpcevent instance_npcname("#Culvert_"+.@i$+rand(1,.@n), instance_id())+"::OnEnable";
+	end;
+OnClear:
+	set .@i$, charat(strnpcinfo(2),0);
+	if (.@i$ == "n")
+		set .@n,6;
+	else if (.@i$ == "h")
+		set .@n,10;
+	for(set .@i,1; .@i<=.@n; set .@i,.@i+1)
+		donpcevent instance_npcname("#Culvert_"+.@i$+.@n, instance_id())+"::OnClear";
+	end;
+}
+
+1@pump,36,111,4	script	#Culvert_n1	844,{
+	progressbar "0xFFFF00",10;
+	stopnpctimer;
+	disablenpc instance_npcname(strnpcinfo(0), instance_id());
+	end;
+OnInstanceInit:
+	disablenpc instance_npcname(strnpcinfo(0), instance_id());
+	end;
+OnEnable:
+	enablenpc instance_npcname(strnpcinfo(0), instance_id());
+	set .@label$, instance_npcname(strnpcinfo(0), instance_id())+"::OnMyMobDead";
+	set .@index, atoi(charat(strnpcinfo(2),9));
+	switch(.@index) {
+		case 1: setarray .@c[0],32,107,40,115; break;
+		case 2: setarray .@c[0],64,120,72,128; break;
+		case 3: setarray .@c[0],76,110,84,118; break;
+		case 4: setarray .@c[0],36,76,44,84; break;
+		case 5: setarray .@c[0],71,76,79,84; break;
+		case 6: setarray .@c[0],54,97,62,105; break;
+	}
+	areamonster "1@pump",.@c[0],.@c[1],.@c[2],.@c[3],"Abysmal Crab",2176,rand(1,3),.@label$;
+	areamonster "1@pump",.@c[0],.@c[1],.@c[2],.@c[3],"Abysmal Marse",2175,rand(1,3),.@label$;
+	areamonster "1@pump",.@c[0],.@c[1],.@c[2],.@c[3],"Ancient Vadon",2174,rand(1,3),.@label$;
+	areamonster "1@pump",.@c[0],.@c[1],.@c[2],.@c[3],"Abysmal Shellfish",2178,rand(1,3),.@label$;
+	areamonster "1@pump",.@c[0],.@c[1],.@c[2],.@c[3],"Ancient Kukre",2179,rand(1,3),.@label$;
+	areamonster "1@pump",.@c[0],.@c[1],.@c[2],.@c[3],"Abysmal Cornutus",2177,rand(1,3),.@label$;
+	specialeffect EF_MAPPILLAR2,ALL_SAMEMAP; //currently broken
+	getmapxy(.@map$,.@x,.@y,1);
+	getpartymember 'party_id,2;
+	copyarray .@partymemberaid[0],$@partymemberaid[0],$@partymembercount;
+	for(set .@i,0; .@i<$@partymembercount; set .@i,.@i+1) {
+		if (attachrid(.@partymemberaid[.@i])) {
+			if (strcharinfo(3) == .@map$)
+				viewpoint 0,.@x,.@y,.@index,0xFFFF00;
+			detachrid;
+		}
+	}
+	initnpctimer;
+	end;
+OnMyMobDead:
+	end;
+OnClear:
+	stopnpctimer;
+	killmonster "1@pump",instance_npcname(strnpcinfo(0), instance_id())+"::OnMyMobDead";
+	end;
+OnTimer49500:	//OnTimer50000 clashes with the timer in "Missing, the Cleaner#h".
+	donpcevent instance_npcname("Missing, the Cleaner#n", instance_id())+"::OnAddSeaweed";
+	donpcevent instance_npcname(strnpcinfo(0), instance_id())+"::OnClear";
+	disablenpc instance_npcname(strnpcinfo(0), instance_id());
+	end;
+}
+1@pump,68,124,4	duplicate(#Culvert_n1)	#Culvert_n2	844
+1@pump,80,114,4	duplicate(#Culvert_n1)	#Culvert_n3	844
+1@pump,40,80,4	duplicate(#Culvert_n1)	#Culvert_n4	844
+1@pump,75,80,4	duplicate(#Culvert_n1)	#Culvert_n5	844
+1@pump,58,101,4	duplicate(#Culvert_n1)	#Culvert_n6	844
+
+1@pump,1,1,4	script	Boss Creation#n	-1,{
+	end;
+OnInstanceInit:
+	disablenpc instance_npcname(strnpcinfo(0), instance_id());
+	end;
+OnEnable:
+	enablenpc instance_npcname(strnpcinfo(0), instance_id());
+	initnpctimer;
+	end;
+OnTimer100:
+	set .@i$, charat(strnpcinfo(2),0);
+	if (.@i$ == "n")
+		instance_announce 0,"Hmm! That wasn't so bad!",bc_map,"0xff88ff",FW_NORMAL,15;
+	else if (.@i$ == "h")
+		instance_announce 0,"Hmm! You guys are pretty good!!",bc_map,"0xff88ff",FW_NORMAL,15;
+	end;
+OnTimer5000:
+	instance_announce 0,"Let's pack up and go... WHAT!!?",bc_map,"0xff88ff",FW_NORMAL,15;
+	end;
+OnTimer10000:
+	instance_announce 0,"I sense something strange!! Don't loosen up-- prepare for a fight!!",bc_map,"0xff88ff",FW_NORMAL,15;
+	end;
+OnTimer20000:
+	stopnpctimer;
+	set .@i$, charat(strnpcinfo(2),0);
+	set .@label$, instance_npcname(strnpcinfo(0), instance_id())+"::OnMyMobDead";
+	if (rand(1,100) > 50) {
+		if (.@i$ == "n")
+			monster "1@pump",0,0,"Weird Coelacanth",2188,1,.@label$;
+		else if (.@i$ == "h")
+			monster "2@pump",0,0,"Mutant Coelacanth",2189,1,.@label$;
+		instance_announce 0,"Something big inside the abyss appears with a huge noise.",bc_map,"0x00ffcc",FW_NORMAL,15;
+	} else {
+		if (.@i$ == "n")
+			monster "1@pump",0,0,"Gloomy Coelacanth",2187,1,.@label$;
+		else if (.@i$ == "h")
+			monster "2@pump",0,0,"Violent Coelacanth",2190,1,.@label$;
+		instance_announce 0,"Something savage inside the abyss appears with a huge noise.",bc_map,"0x00ffcc",FW_NORMAL,15;
+	}
+	end;
+OnMyMobDead:
+	if (mobcount(strnpcinfo(4),instance_npcname(strnpcinfo(0), instance_id())+"::OnMyMobDead") < 1) {
+		instance_announce 0,"You've destroyed all monsters in the culverts. There are trophies lying on the ground, please look for them.",bc_map,"0xffff00",FW_NORMAL,15;
+		set .@i$, charat(strnpcinfo(2),0);
+		set .@map$, strnpcinfo(4);
+		enablenpc instance_npcname("Culvert Entrance#"+.@i$, instance_id());
+		enablenpc instance_npcname("Missing, the Cleaner#"+.@i$+"o", instance_id());
+		if (.@i$ == "n") {
+			for(set .@i,0; .@i<10; set .@i,.@i+1) {
+				set .@j, rand(1,6401);
+				     if (.@j < 5001) set .@item,12636; //Malang_Sp_Can
+				else if (.@j < 5501) set .@item,12615; //Low_Coin_Pocket
+				else if (.@j < 6001) set .@item,12621; //Egrade_Pocket
+				else if (.@j < 6201) set .@item,12620; //Dgrade_Pocket
+				else if (.@j < 6401) set .@item,12623; //High_Weapon_Box
+				else continue;
+				makeitem .@item,1,.@map$,rand(40,77),rand(87,120);
+			}
+		} else if (.@i$ == "h") {
+			for(set .@i,0; .@i<10; set .@i,.@i+1) {
+				set .@j, rand(1,5001);
+				     if (.@j < 2001) set .@item,12615; //Low_Coin_Pocket
+				else if (.@j < 3001) set .@item,12621; //Egrade_Pocket
+				else if (.@j < 4001) set .@item,12620; //Dgrade_Pocket
+				else if (.@j < 4501) set .@item,12619; //Cgrade_Pocket
+				else if (.@j < 5001) set .@item,12623; //High_Weapon_Box
+				else continue;
+				makeitem .@item,1,.@map$,rand(40,77),rand(87,120);
+			}
+		}
+	} else
+		instance_announce 0,"There are still monsters alive.",bc_map,"0x00ff99",FW_NORMAL,20;
+	end;
+}
+
+1@pump,84,105,4	script	Missing, the Cleaner#no	545,{
+	set .@i$, charat(strnpcinfo(2),0);
+	if (.@i$ == "n") {
+		mes "[Missing, the Cleaner]";
+		mes "I was very surprised!!";
+		next;
+		mes "[Missing, the Cleaner]";
+		mes "That funny-looking fish seems to be one of Coelacanths living around here. This is my first time seeing one coming here alone!";
+		next;
+		mes "[Missing, the Cleaner]";
+		mes "I'll clean up the remains. Go pack and leave! Enterance is located on the other side, look for it!";
+		next;
+	} else if (.@i$ == "h") {
+		mes "[Missing, the Cleaner]";
+		mes "You've destroyed an immense monster!";
+		next;
+		mes "[Missing, the Cleaner]";
+		mes "The one you destroyed was among the variety of Coelacanths. Others have tried to destroy them but failed.";
+		next;
+		mes "[Missing, the Cleaner]";
+		mes "I'll clean up the remains. You go ahead to get trophies and leave!";
+		next;
+	}
+	mes "[Missing, the Cleaner]";
+	mes "One more thing! DO NOT TALK to ANYONE about what you've seen here today!!";
+	next;
+	mes "[Missing, the Cleaner]";
+	mes "If Tomas closes this down, we will lose our jobs!";
+	close;
+OnInstanceInit:
+	disablenpc instance_npcname(strnpcinfo(0), instance_id());
+	end;
+}
+
+1@pump,32,100,0	script	Culvert Entrance#n	45,3,3,{
+	end;
+OnInstanceInit:
+	disablenpc instance_npcname(strnpcinfo(0), instance_id());
+	end;
+OnTouch:
+	warp "mal_in01",161,32;
+	end;
+}
+
+//MD_Putmob "1@pump" 0 0 0 0 20 HYDRA 0 0 2
+1@pump,1,1,4	script	Hydra#n	-1,{
+OnInstanceInit:
+	monster strnpcinfo(4),0,0,"Hydra",1068,20;
+	end;
+}
+
+// Instance: Hard Mode
+//============================================================
+2@pump,39,88,4	duplicate(Missing, the Cleaner#nf)	Missing, the Cleaner#hf	545
+
+2@pump,39,88,4	script	Missing, the Cleaner#h	545,{
+	callfunc "F_mal_missing";
+	donpcevent instance_npcname("Missing, the Cleaner#h", instance_id())+"::OnStart";
+	close;
+OnInstanceInit:
+	enablenpc instance_npcname("Missing, the Cleaner#h", instance_id());
+	end;
+OnStart:
+	killmonster "2@pump",instance_npcname("Missing, the Cleaner#h", instance_id())+"::OnMyMobDead";
+	disablenpc instance_npcname("Missing, the Cleaner#h", instance_id());
+	initnpctimer;
+	end;
+OnAddSeaweed:
+	areamonster "2@pump",75,78,85,88,"Contaminated Seaweed",2191,1,instance_npcname("Missing, the Cleaner#h", instance_id())+"::OnMyMobDead";
+	set .@mob_dead_num, mobcount("2@pump",instance_npcname("Missing, the Cleaner#h", instance_id())+"::OnMyMobDead");
+	if (.@mob_dead_num >= 6)
+		donpcevent instance_npcname("Missing, the Cleaner#h", instance_id())+"::OnFail";
+	else
+		instance_announce 0,"Proliferous Contaminated Seaweed: "+.@mob_dead_num+" stem",bc_map,"0xff3333",FW_NORMAL,20;
+	end;
+OnMyMobDead:
+	end;
+OnFail:
+	stopnpctimer;
+	donpcevent instance_npcname("Monster Hole#h", instance_id())+"::OnClear";
+	killmonster "2@pump",instance_npcname("Missing, the Cleaner#h", instance_id())+"::OnMyMobDead";
+	enablenpc instance_npcname("Missing, the Cleaner#hf", instance_id());
+	instance_announce 0,"What is this!! Seaweed is all over the culverts! You're done with cleaning! Get out!!",bc_map,"0xff88ff",FW_NORMAL,15;
+	disablenpc instance_npcname("Missing, the Cleaner#h", instance_id());
+	end;
+OnTimer100:
+	instance_announce 0,"First culvert will be opened in 5 sec. Cleaner can find the opened drain and click to start cleaning.",bc_map,"0x00ffcc",FW_NORMAL,15;
+	end;
+OnTimer5500:
+	instance_announce 0,"The one who's in charge of cleaning the culvert cannot move or be attacked until the casting is over.",bc_map,"0x00ffcc",FW_NORMAL,15;
+	donpcevent instance_npcname("Monster Hole#h", instance_id())+"::OnSpawn";
+	end;
+OnTimer35000:
+OnTimer75000:
+OnTimer115000:
+OnTimer155000:
+OnTimer195000:
+OnTimer235000:
+OnTimer275000:
+OnTimer315000:
+OnTimer355000:
+	instance_announce 0,"Next culvert will be opened in 5 sec. Please hurry up and find the position of the next culvert.",bc_map,"0x00ffcc",FW_NORMAL,15;
+	end;
+OnTimer40000:
+OnTimer80000:
+OnTimer120000:
+	donpcevent instance_npcname("Monster Hole#h", instance_id())+"::OnSpawn";
+	end;
+OnTimer160000:
+OnTimer200000:
+OnTimer240000:
+OnTimer280000:
+OnTimer320000:
+OnTimer360000:
+	set .@mob_dead_num, mobcount("2@pump",instance_npcname("Missing, the Cleaner#h", instance_id())+"::OnMyMobDead");
+	if (.@mob_dead_num >= 6)
+		donpcevent instance_npcname("Missing, the Cleaner#h", instance_id())+"::OnFail";
+	else
+		donpcevent instance_npcname("Monster Hole#h", instance_id())+"::OnSpawn";
+	end;
+OnTimer420000:
+	instance_announce 0,"It seems Missing will come and inspect the results of the cleaning soon. Shall we clean up the mess around here?",bc_map,"0xff3333",FW_NORMAL,20;
+	end;
+OnTimer425000:
+	stopnpctimer;
+	set .@mob_dead_num, mobcount("2@pump",instance_npcname("Missing, the Cleaner#h", instance_id())+"::OnMyMobDead");
+	if (.@mob_dead_num >= 6)
+		donpcevent instance_npcname("Missing, the Cleaner#h", instance_id())+"::OnFail";
+	else
+		donpcevent instance_npcname("Boss Creation#h", instance_id())+"::OnEnable";
+	end;
+}
+
+2@pump,53,114,4	script	#Culvert_h1	844,{
+	progressbar "0xFFFF00",15;
+	stopnpctimer;
+	disablenpc instance_npcname(strnpcinfo(0), instance_id());
+	end;
+OnInstanceInit:
+	disablenpc instance_npcname(strnpcinfo(0), instance_id());
+	end;
+OnEnable:
+	enablenpc instance_npcname(strnpcinfo(0), instance_id());
+	set .@label$, instance_npcname(strnpcinfo(0), instance_id())+"::OnMyMobDead";
+	set .@index, atoi(substr(strnpcinfo(2),9,getstrlen(strnpcinfo(2))-1));
+	switch(.@index) {
+		case 1: setarray .@c[0],49,110,57,118; break;
+		case 2: setarray .@c[0],75,105,83,113; break;
+		case 3: setarray .@c[0],110,110,118,118; break;
+		case 4: setarray .@c[0],94,94,102,102; break;
+		case 5: setarray .@c[0],58,92,66,100; break;
+		case 6: setarray .@c[0],53,66,61,74; break;
+		case 7: setarray .@c[0],43,45,51,53; break;
+		case 8: setarray .@c[0],77,59,85,67; break;
+		case 9: setarray .@c[0],96,70,104,78; break;
+		case 10: setarray .@c[0],111,46,119,54; break;
+	}
+	areamonster "2@pump",.@c[0],.@c[1],.@c[2],.@c[3],"Ancient Marc",2182,rand(2,3),.@label$;
+	areamonster "2@pump",.@c[0],.@c[1],.@c[2],.@c[3],"Ancient Sword Fish",2181,rand(2,3),.@label$;
+	areamonster "2@pump",.@c[0],.@c[1],.@c[2],.@c[3],"Ancient Strouf",2180,rand(2,3),.@label$;
+	areamonster "2@pump",.@c[0],.@c[1],.@c[2],.@c[3],"Mutant Anolian",2183,rand(2,3),.@label$;
+	areamonster "2@pump",.@c[0],.@c[1],.@c[2],.@c[3],"Abysmal Obeaune",2184,rand(2,3),.@label$;
+	areamonster "2@pump",.@c[0],.@c[1],.@c[2],.@c[3],"Metamorphous Kapha",2185,rand(2,3),.@label$;
+	specialeffect EF_MAPPILLAR2,ALL_SAMEMAP; //currently broken
+	initnpctimer;
+	end;
+OnMyMobDead:
+	end;
+OnClear:
+	stopnpctimer;
+	killmonster "2@pump",instance_npcname(strnpcinfo(0), instance_id())+"::OnMyMobDead";
+	end;
+OnTimer39500:	//OnTimer40000 clashes with the timer in "Missing, the Cleaner#h".
+	donpcevent instance_npcname("Missing, the Cleaner#h", instance_id())+"::OnAddSeaweed";
+	donpcevent instance_npcname(strnpcinfo(0), instance_id())+"::OnClear";
+	disablenpc instance_npcname(strnpcinfo(0), instance_id());
+	end;
+}
+2@pump,79,109,4	duplicate(#Culvert_h1)	#Culvert_h2	844
+2@pump,114,114,4	duplicate(#Culvert_h1)	#Culvert_h3	844
+2@pump,98,98,4	duplicate(#Culvert_h1)	#Culvert_h4	844
+2@pump,62,96,4	duplicate(#Culvert_h1)	#Culvert_h5	844
+2@pump,57,70,4	duplicate(#Culvert_h1)	#Culvert_h6	844
+2@pump,47,49,4	duplicate(#Culvert_h1)	#Culvert_h7	844
+2@pump,81,63,4	duplicate(#Culvert_h1)	#Culvert_h8	844
+2@pump,100,74,4	duplicate(#Culvert_h1)	#Culvert_h9	844
+2@pump,115,50,4	duplicate(#Culvert_h1)	#Culvert_h10	844
+
+2@pump,1,1,4	duplicate(Monster Hole#n)	Monster Hole#h	-1
+2@pump,1,1,4	duplicate(Boss Creation#n)	Boss Creation#h	-1
+2@pump,39,88,4	duplicate(Missing, the Cleaner#no)	Missing, the Cleaner#ho	545
+2@pump,38,100,0	duplicate(Culvert Entrance#n)	Culvert Entrance#h	45,3,3
+
+//MD_Putmob "2@pump" 0 0 0 0 20 HYDRA 0 0 2
+2@pump,1,1,4	duplicate(Hydra#n)	Hydra#h	-1

+ 1 - 0
npc/re/scripts_athena.conf

@@ -43,6 +43,7 @@ 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/MalangdoCulvert.txt
 npc: npc/re/instances/OctopusCave.txt
 npc: npc/re/instances/OctopusCave.txt
 
 
 // ---------------- Kafras & Cool Event Corp. -------------------
 // ---------------- Kafras & Cool Event Corp. -------------------

+ 26 - 26
sql-files/mob_db_re.sql

@@ -1366,32 +1366,32 @@ REPLACE INTO `mob_db` VALUES (2172,'I_G_HORN_SCARABA','Gold One-Horn Scaraba','G
 REPLACE INTO `mob_db` VALUES (2173,'I_G_HORN_SCARABA2','Gold Two-Horn Scaraba','Gold Two-Horn Scaraba',134,235600,0,0,0,1,1380,1590,150,38,1,118,72,145,134,51,10,12,0,4,22,0x37B5,150,76,384,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 (2173,'I_G_HORN_SCARABA2','Gold Two-Horn Scaraba','Gold Two-Horn Scaraba',134,235600,0,0,0,1,1380,1590,150,38,1,118,72,145,134,51,10,12,0,4,22,0x37B5,150,76,384,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);
 
 
 # Malangdo Island
 # Malangdo Island
-REPLACE INTO `mob_db` VALUES (2174,'MD_VADON','Deep Sea Vadon','Deep Sea Vadon',95,120000,0,1500,1500,1,710,1384,154,21,1,63,84,60,99,45,10,12,0,5,21,0x37B5,300,1632,432,540,0,0,0,0,0,0,0,991,40,960,9000,910,3000,2313,5,943,100,757,40,717,50,0,0,0,0,4049,1);
-REPLACE INTO `mob_db` VALUES (2175,'MD_MARSE','Deep Sea Marse','Deep Sea Marse',95,120000,0,1500,1500,1,740,1456,58,218,1,51,75,30,99,30,10,12,0,5,41,0x37B5,300,1956,756,528,0,0,0,0,0,0,0,1024,9000,962,3000,717,200,720,10,995,12,1007,5,514,300,0,0,0,0,4095,1);
-REPLACE INTO `mob_db` VALUES (2176,'MD_CRAB','Deep Sea Crab','Deep Sea Crab',95,120000,0,1500,1500,1,600,1176,136,15,54,42,72,21,84,45,7,12,0,5,21,0x37B5,200,992,792,360,0,0,0,0,0,0,0,964,5500,960,1500,7049,700,1001,13,0,0,0,0,757,37,0,0,0,0,4153,1);
-REPLACE INTO `mob_db` VALUES (2177,'MD_CORNUTUS','Deep Sea Cornutus','Deep Sea Cornutus',100,160000,0,1500,1500,1,715,1392,342,48,1,81,135,48,51,45,10,12,0,5,21,0x37B5,200,1248,48,480,0,0,0,0,0,0,0,991,45,961,5500,911,800,757,53,2106,5,943,1000,717,100,0,0,0,0,4061,1);
-REPLACE INTO `mob_db` VALUES (2178,'MD_SHELLFISH','Deep Sea Shellfish','Deep Sea Shellfish',100,160000,0,1500,1500,1,740,1408,43,215,1,33,144,75,78,30,10,12,0,5,21,0x37B5,200,864,864,384,0,0,0,0,0,0,0,965,5500,966,1000,7049,500,1056,1000,1001,10,0,0,757,18,0,0,0,0,4273,1);
-REPLACE INTO `mob_db` VALUES (2179,'MD_KUKRE','Deep Sea Kukre','Deep Sea Kukre',100,160000,0,1500,1500,1,595,1160,123,33,1,90,66,60,96,60,10,12,0,5,21,0x37B5,150,1776,576,288,0,0,0,0,0,0,0,991,30,955,5500,910,400,528,500,507,650,928,450,623,20,0,0,0,0,4027,1);
-REPLACE INTO `mob_db` VALUES (2180,'MD_STROUF','Deep Sea Strouf','Deep Sea Strouf',1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x83,400,1872,672,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 (2181,'MD_SWORD_FISH','Deep Sea Sword Fish','Deep Sea Sword Fish',1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x83,400,1872,672,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 (2182,'MD_MARC','Deep Sea Marc','Deep Sea Marc',1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x83,400,1872,672,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 (2183,'MD_ANOLIAN','Deep Sea Anolian','Deep Sea Anolian',1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x83,400,1872,672,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 (2184,'MD_OBEAUNE','Deep Sea Obeaune','Deep Sea Obeaune',1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x83,400,1872,672,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 (2185,'MD_KAPHA','Deep Sea Kapha','Deep Sea Kapha',1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x83,400,1872,672,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 (2186,'COELACANTH_N_E','Coelacanth','Coelacanth',100,2200000,0,0,0,1,7,10,130,65,1,1,1,1,6,30,10,12,2,5,41,0x37B5,400,1872,672,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 (2187,'COELACANTH_N_A','Dark Coelacanth','Dark Coelacanth',100,2200000,0,0,0,1,7,10,130,65,1,1,1,1,6,30,10,12,2,5,41,0x37B5,400,1872,672,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,4527,1);
-REPLACE INTO `mob_db` VALUES (2188,'COELACANTH_N_M','Weird Coelacanth','Weird Coelacanth',100,2200000,0,0,0,1,7,10,130,65,1,1,1,1,6,30,10,12,2,5,41,0x37B5,400,1872,672,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,4526,1);
-REPLACE INTO `mob_db` VALUES (2189,'COELACANTH_H_M','Mutant Coelacanth','Mutant Coelacanth',140,2200000,0,0,0,1,7,10,130,65,1,1,1,1,6,30,10,12,2,5,41,0x37B5,400,1872,672,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,4528,1);
-REPLACE INTO `mob_db` VALUES (2190,'COELACANTH_H_A','Violent Coelacanth','Violent Coelacanth',140,2200000,0,0,0,1,7,10,130,65,1,1,1,1,6,30,10,12,2,5,41,0x37B5,400,1872,672,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,4529,1);
-REPLACE INTO `mob_db` VALUES (2191,'MD_SEAWEED','Seaweed','Seaweed',1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x83,400,1872,672,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 (2192,'MD_OCTOPUS','Octopus','Octopus',90,6000,0,4000,2000,1,778,1167,154,21,100,100,100,100,100,100,10,12,0,5,41,0x3795,150,768,768,576,0,0,0,0,0,0,0,1024,3000,962,3000,12615,10,0,0,0,0,0,0,0,0,0,0,0,0,4533,1);
-REPLACE INTO `mob_db` VALUES (2193,'MD_OCTOPUS_LEG','Octopus Leg','Octopus Leg',90,500000,0,4000,2000,1,778,1167,154,21,100,100,100,100,100,100,10,12,0,5,41,0x1A4,400,768,768,576,0,0,0,0,0,0,0,12613,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
-REPLACE INTO `mob_db` VALUES (2194,'MD_GIANT_OCTOPUS','Giant Octupus','Giant Octopus',95,500000,0,40000,20000,2,1900,2850,154,21,100,50,50,150,150,50,10,12,2,5,41,0x37B5,400,768,768,576,0,0,0,0,0,0,0,12615,7000,12615,3000,12614,3000,12617,1000,12642,1000,12623,500,0,0,0,0,0,0,4534,1);
-REPLACE INTO `mob_db` VALUES (2195,'MD_G_KUKRE','Kukre','Kukre',1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x83,400,1872,672,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 (2196,'MD_G_STROUF','Strouf','Strouf',1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x83,400,1872,672,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 (2197,'RED_ERUMA','Red Eruma','Red Eruma',91,9900,0,1909,1909,1,620,930,102,102,1,75,40,40,75,30,10,12,1,5,41,0x89,150,768,768,576,0,0,0,0,0,0,0,6426,7000,965,4000,966,4000,1056,2000,757,200,756,50,603,10,0,0,0,0,4531,1);
-REPLACE INTO `mob_db` VALUES (2198,'KING_DRAMOH','King Dramoh','King Dramoh',117,28800,0,3350,1300,1,1320,1848,480,22,100,70,30,50,100,70,10,12,2,5,41,0x37B5,120,432,432,360,0,0,0,0,0,0,0,960,7000,943,3000,7938,500,995,100,6256,100,1523,1,13035,1,0,0,0,0,4524,1);
-REPLACE INTO `mob_db` VALUES (2199,'SIORAVA','Siorava','Siorava',87,6500,0,1200,1200,1,450,675,20,40,1,30,25,55,60,30,10,12,0,0,21,0x83,200,1872,672,480,0,0,0,0,0,0,0,958,7000,7071,3000,7005,1000,932,1000,12624,500,1202,10,13034,1,0,0,0,0,4530,1);
+REPLACE INTO `mob_db` VALUES (2174,'MD_VADON','Ancient Crustacean','Deep Sea Vadon',95,120000,1,750,750,1,778,1003,154,21,145,91,138,60,113,45,10,12,0,5,21,0x33B5,300,1632,432,540,0,0,0,0,0,0,0,991,20,960,4500,910,1500,2313,3,943,50,757,20,0,0,12615,2,0,0,0,0);
+REPLACE INTO `mob_db` VALUES (2175,'MD_MARSE','Deepsea Marse','Deep Sea Marse',95,120000,1,750,750,1,500,1320,58,218,133,37,85,156,133,60,10,12,0,5,41,0x33B5,300,1956,756,528,0,0,0,0,0,0,0,1024,4500,962,1500,0,0,720,5,995,6,1007,3,514,150,12615,2,0,0,0,0);
+REPLACE INTO `mob_db` VALUES (2176,'MD_CRAB','Deepsea Crab','Deep Sea Crab',95,120000,1,750,750,1,696,930,136,15,122,54,84,37,98,65,7,12,0,5,21,0x33B5,200,992,792,360,0,0,0,0,0,0,0,964,2750,960,750,7049,350,1001,7,0,0,0,0,757,19,12615,2,0,0,0,0);
+REPLACE INTO `mob_db` VALUES (2177,'MD_CORNUTUS','Deepsea Cornutus','Deep Sea Cornutus',100,160000,1,750,750,1,1129,1366,342,48,122,87,135,66,137,75,10,12,0,5,21,0x33B5,200,1248,48,480,0,0,0,0,0,0,0,991,23,961,2750,911,400,757,27,2106,3,943,500,0,0,12615,3,0,0,0,0);
+REPLACE INTO `mob_db` VALUES (2178,'MD_SHELLFISH','Deepsea Shellfish','Deep Sea Shellfish',100,160000,1,750,750,1,720,1842,43,215,72,31,68,225,166,60,10,12,0,5,41,0x33B5,200,864,864,384,0,0,0,0,0,0,0,965,2750,966,500,7049,250,1056,500,1001,5,0,0,757,9,12615,2,0,0,0,0);
+REPLACE INTO `mob_db` VALUES (2179,'MD_KUKRE','Ancient Kukre','Deep Sea Kukre',100,160000,1,750,750,1,975,1093,123,33,125,80,112,60,102,30,10,12,0,4,21,0x33B5,150,1776,576,288,0,0,0,0,0,0,0,991,15,955,2750,910,200,528,250,0,0,928,225,623,10,12615,2,0,0,0,0);
+REPLACE INTO `mob_db` VALUES (2180,'MD_STROUF','Ancient Sea Lord','Deep Sea Strouf',145,400000,1,1000,1000,1,1200,4700,67,221,149,126,81,252,183,66,10,12,2,5,61,0x33B5,150,1872,672,384,0,0,0,0,0,0,0,951,2668,756,58,0,0,1461,1,949,1500,720,10,956,750,12614,3,0,0,0,0);
+REPLACE INTO `mob_db` VALUES (2181,'MD_SWORD_FISH','Ancient Sword Fish','Deep Sea Sword Fish',145,400000,1,1000,1000,1,1849,2084,255,17,155,156,115,85,194,65,10,12,2,5,41,0x33B5,200,1968,768,384,0,0,0,0,0,0,0,995,5,963,4500,756,17,2257,1,757,25,0,0,956,300,12614,3,0,0,0,0);
+REPLACE INTO `mob_db` VALUES (2182,'MD_MARC','Ancient Seahorse','Deep Sea Marc',145,400000,1,1000,1000,1,1423,1754,255,51,150,145,221,83,148,66,10,12,1,5,41,0x33B5,150,1272,72,480,0,0,0,0,0,0,0,995,9,956,4500,756,48,951,500,720,5,0,0,509,350,12612,3,0,0,0,0);
+REPLACE INTO `mob_db` VALUES (2183,'MD_ANOLIAN','Mutant Anolian','Deep Sea Anolian',151,700000,1,1100,1100,1,2122,2434,268,22,177,188,205,126,198,61,10,12,1,5,41,0x33B5,190,900,500,864,0,0,0,0,0,0,0,7003,2425,1754,1000,0,0,10019,5,16003,3,2625,1,984,67,12614,3,0,0,0,0);
+REPLACE INTO `mob_db` VALUES (2184,'MD_OBEAUNE','Deepsea Mermaid','Deep Sea Obeaune',151,700000,1,1100,1100,1,1502,5347,68,326,166,87,101,233,196,55,10,12,1,6,61,0x33B5,200,1872,672,288,0,0,0,0,0,0,0,995,7,950,4500,0,0,2326,5,720,5,951,250,748,15,12614,3,0,0,0,0);
+REPLACE INTO `mob_db` VALUES (2185,'MD_KAPHA','Transform Kapha','Deep Sea Kapha',151,700000,1,1100,1100,1,2590,2846,261,58,167,209,128,61,191,20,10,12,1,6,41,0x33B5,165,2012,1728,672,0,0,0,0,0,0,0,7149,3250,7053,1750,0,0,521,1150,708,1,1915,5,13008,3,12612,3,0,0,0,0);
+REPLACE INTO `mob_db` VALUES (2186,'COELACANTH_N_E','Coelacanth','Coelacanth',100,1200000,1,200000,200000,1,1290,2580,280,280,160,160,160,160,160,160,10,12,2,5,41,0x37B5,165,864,864,432,0,0,0,0,0,0,0,12617,5000,12614,2000,12615,2000,12623,700,12614,2000,12615,2000,12615,2000,12615,2000,0,0,0,0);
+REPLACE INTO `mob_db` VALUES (2187,'COELACANTH_N_A','Dark Coelacanth','Gloomy Coelacanth',100,2200000,1,500000,500000,1,1890,3780,280,280,160,160,160,160,160,160,10,12,2,5,41,0x37B5,165,864,864,432,0,0,0,0,0,0,0,12617,5000,12614,5000,12615,5000,12623,750,12614,5000,12615,5000,12615,5000,12615,5000,0,0,4527,1);
+REPLACE INTO `mob_db` VALUES (2188,'COELACANTH_N_M','Grotesque Coelacanth','Weird Coelacanth',100,2200000,1,500000,500000,1,1890,3780,280,280,160,160,160,160,160,160,10,12,2,5,41,0x37B5,165,864,864,432,0,0,0,0,0,0,0,12617,5000,12614,5000,12615,5000,12623,5000,12614,5000,12615,5000,12615,5000,12615,5000,0,0,4526,1);
+REPLACE INTO `mob_db` VALUES (2189,'COELACANTH_H_M','Mutant Coelacanth','Mutant Coelacanth',155,5200000,1,1500000,1500000,1,5500,11000,280,280,260,260,260,260,260,260,10,12,2,5,41,0x37B5,165,864,864,432,0,0,0,0,0,0,0,12617,7000,6423,7000,12612,5000,12623,5000,12614,5000,12615,5000,12615,5000,12615,5000,0,0,4528,1);
+REPLACE INTO `mob_db` VALUES (2190,'COELACANTH_H_A','Ferocious Coelacanth','Violent Coelacanth',155,5200000,1,1500000,1500000,1,5500,11000,280,280,260,260,260,260,260,260,10,12,2,5,41,0x37B5,165,864,864,432,0,0,0,0,0,0,0,12617,7000,6423,5000,12612,5000,12623,5000,12614,5000,12615,5000,12615,5000,12615,5000,0,0,4529,1);
+REPLACE INTO `mob_db` VALUES (2191,'MD_SEAWEED','Seaweed','Seaweed',100,100000,1,0,0,1,1,2,1,1,1,1,1,1,1,1,0,0,0,5,21,0x1E4,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 (2192,'MD_OCTOPUS','Small Octopus','Octopus',90,6000,1,2000,1000,1,778,1003,154,21,145,91,138,60,113,45,10,12,0,5,41,0x33B5,300,576,2160,504,0,0,0,0,0,0,0,1024,2500,962,2500,0,0,0,0,0,0,0,0,0,0,12615,1,0,0,4533,1);
+REPLACE INTO `mob_db` VALUES (2193,'MD_OCTOPUS_LEG','Octupus Leg','Octopus Leg',90,500000,1,2000,1000,1,778,1003,154,21,145,91,138,60,113,45,10,12,0,5,41,0x1A4,300,432,720,360,0,0,0,0,0,0,0,1024,4500,962,2500,938,2500,0,0,0,0,0,0,0,0,12615,1,0,0,0,0);
+REPLACE INTO `mob_db` VALUES (2194,'MD_GIANT_OCTOPUS','Giant Octopus','Giant Octopus',95,500000,1,20000,10000,1,1900,3100,154,21,145,91,138,60,113,45,10,12,2,5,41,0x37B5,300,576,1584,360,0,0,0,0,0,0,0,12618,1500,12614,500,12623,250,12531,1500,0,0,0,0,12615,2000,12615,2000,0,0,4534,1);
+REPLACE INTO `mob_db` VALUES (2195,'MD_G_KUKRE','Ancient Kukre','Kukre',100,160000,1,0,0,1,975,1093,123,33,125,80,112,60,102,30,10,12,0,4,21,0x3395,150,1776,576,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 (2196,'MD_G_STROUF','Ancient Sea Lord','Strouf',145,400000,1,0,0,1,1200,4700,67,221,149,126,81,252,183,66,10,12,2,5,61,0x33B5,150,1872,672,384,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 (2197,'RED_ERUMA','Red Eruma','Red Eruma',91,9900,1,954,954,1,620,910,102,102,77,90,88,21,99,21,10,12,1,5,41,0x1089,140,768,1224,432,0,0,0,0,0,0,0,965,2500,966,1000,1056,1500,757,50,756,50,603,10,6426,700,0,0,0,0,4531,1);
+REPLACE INTO `mob_db` VALUES (2198,'KING_DRAMOH','King Kray','King Dramoh',117,28800,0,3350,1300,1,1320,1650,480,22,119,44,150,89,130,44,10,12,2,5,41,0x37B5,140,576,720,720,0,0,0,0,0,0,0,6256,50,960,2500,943,2500,1523,25,7938,100,995,25,991,25,0,0,0,0,4524,1);
+REPLACE INTO `mob_db` VALUES (2199,'SIORAVA','Siorava','Siorava',87,6500,1,600,600,1,450,660,20,40,10,40,66,70,67,10,10,12,0,0,21,0x83,250,1536,1296,576,0,0,0,0,0,0,0,12624,700,7005,500,932,500,958,500,7071,500,13034,1,1202,1,0,0,0,0,4530,1);
 
 
 # Izlude Dungeon F6
 # Izlude Dungeon F6
 #REPLACE INTO `mob_db` VALUES (2200,'J_TAINI','Taini','Taini',1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x83,400,1872,672,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 (2200,'J_TAINI','Taini','Taini',1,50,0,0,0,1,7,10,0,5,1,1,1,1,6,30,10,12,1,3,21,0x83,400,1872,672,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);

+ 1 - 1
src/map/atcommand.c

@@ -5510,7 +5510,7 @@ void getring (struct map_session_data* sd)
 
 
 	if((flag = pc_additem(sd,&item_tmp,1,LOG_TYPE_COMMAND))) {
 	if((flag = pc_additem(sd,&item_tmp,1,LOG_TYPE_COMMAND))) {
 		clif_additem(sd,0,0,flag);
 		clif_additem(sd,0,0,flag);
-		map_addflooritem(&item_tmp,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0);
+		map_addflooritem(&item_tmp,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,4);
 	}
 	}
 }
 }
 
 

+ 2 - 2
src/map/map.c

@@ -1420,7 +1420,7 @@ int map_search_freecell(struct block_list *src, int16 m, int16 *x,int16 *y, int1
  * @amount quantity
  * @amount quantity
  * @m, @x, @y mapid,x,y
  * @m, @x, @y mapid,x,y
  * @first_charid, @second_charid, @third_charid, looting priority
  * @first_charid, @second_charid, @third_charid, looting priority
- * @flag: &1 MVP item. &2 do stacking check.
+ * @flag: &1 MVP item. &2 do stacking check. &4 bypass droppable check.
  *------------------------------------------*/
  *------------------------------------------*/
 int map_addflooritem(struct item *item_data,int amount,int16 m,int16 x,int16 y,int first_charid,int second_charid,int third_charid,int flags)
 int map_addflooritem(struct item *item_data,int amount,int16 m,int16 x,int16 y,int first_charid,int second_charid,int third_charid,int flags)
 {
 {
@@ -1429,7 +1429,7 @@ int map_addflooritem(struct item *item_data,int amount,int16 m,int16 x,int16 y,i
 
 
 	nullpo_ret(item_data);
 	nullpo_ret(item_data);
 
 
-	if(battle_config.item_onfloor && (itemdb_traderight(item_data->nameid)&1) )
+	if(!(flags&4) && battle_config.item_onfloor && (itemdb_traderight(item_data->nameid)&1) )
 		return 0; //can't be dropped
 		return 0; //can't be dropped
 
 
 	if(!map_searchrandfreecell(m,&x,&y,flags&2?1:0))
 	if(!map_searchrandfreecell(m,&x,&y,flags&2?1:0))

+ 1 - 1
src/map/mob.c

@@ -1823,7 +1823,7 @@ static int mob_delay_item_drop(int tid, unsigned int tick, int id, intptr_t data
 	while (ditem) {
 	while (ditem) {
 		map_addflooritem(&ditem->item_data,ditem->item_data.amount,
 		map_addflooritem(&ditem->item_data,ditem->item_data.amount,
 			list->m,list->x,list->y,
 			list->m,list->x,list->y,
-			list->first_charid,list->second_charid,list->third_charid,0);
+			list->first_charid,list->second_charid,list->third_charid,4);
 		ditem_prev = ditem;
 		ditem_prev = ditem;
 		ditem = ditem->next;
 		ditem = ditem->next;
 		ers_free(item_drop_ers, ditem_prev);
 		ers_free(item_drop_ers, ditem_prev);

+ 2 - 2
src/map/pet.c

@@ -591,7 +591,7 @@ int pet_menu(struct map_session_data *sd,int menunum)
 	//You lost the pet already.
 	//You lost the pet already.
 	if(!sd->status.pet_id || sd->pd->pet.intimate <= 0 || sd->pd->pet.incuvate)
 	if(!sd->status.pet_id || sd->pd->pet.intimate <= 0 || sd->pd->pet.incuvate)
 		return 1;
 		return 1;
-	
+
 	egg_id = itemdb_exists(sd->pd->petDB->EggID);
 	egg_id = itemdb_exists(sd->pd->petDB->EggID);
 	if (egg_id) {
 	if (egg_id) {
 		if ((egg_id->flag.trade_restriction&0x01) && !pc_inventoryblank(sd)) {
 		if ((egg_id->flag.trade_restriction&0x01) && !pc_inventoryblank(sd)) {
@@ -992,7 +992,7 @@ static int pet_delay_item_drop(int tid, unsigned int tick, int id, intptr_t data
 	while (ditem) {
 	while (ditem) {
 		map_addflooritem(&ditem->item_data,ditem->item_data.amount,
 		map_addflooritem(&ditem->item_data,ditem->item_data.amount,
 			list->m,list->x,list->y,
 			list->m,list->x,list->y,
-			list->first_charid,list->second_charid,list->third_charid,0);
+			list->first_charid,list->second_charid,list->third_charid,4);
 		ditem_prev = ditem;
 		ditem_prev = ditem;
 		ditem = ditem->next;
 		ditem = ditem->next;
 		ers_free(item_drop_ers, ditem_prev);
 		ers_free(item_drop_ers, ditem_prev);

+ 1 - 1
src/map/script.c

@@ -6663,7 +6663,7 @@ BUILDIN_FUNC(makeitem)
 		else
 		else
 			item_tmp.identify=itemdb_isidentified(nameid);
 			item_tmp.identify=itemdb_isidentified(nameid);
 
 
-		map_addflooritem(&item_tmp,amount,m,x,y,0,0,0,0);
+		map_addflooritem(&item_tmp,amount,m,x,y,0,0,0,4);
 	}
 	}
 
 
 	return 0;
 	return 0;

+ 4 - 4
src/map/skill.c

@@ -4495,7 +4495,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
 					item_tmp.nameid = sg->item_id?sg->item_id:ITEMID_TRAP;
 					item_tmp.nameid = sg->item_id?sg->item_id:ITEMID_TRAP;
 					item_tmp.identify = 1;
 					item_tmp.identify = 1;
 					if( item_tmp.nameid )
 					if( item_tmp.nameid )
-						map_addflooritem(&item_tmp,1,bl->m,bl->x,bl->y,0,0,0,0);
+						map_addflooritem(&item_tmp,1,bl->m,bl->x,bl->y,0,0,0,4);
 				}
 				}
 				skill_delunit(su);
 				skill_delunit(su);
 			}
 			}
@@ -6967,7 +6967,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
 								if( item_tmp.nameid && (flag=pc_additem(sd,&item_tmp,skill_db[su->group->skill_id].amount[i],LOG_TYPE_OTHER)) )
 								if( item_tmp.nameid && (flag=pc_additem(sd,&item_tmp,skill_db[su->group->skill_id].amount[i],LOG_TYPE_OTHER)) )
 								{
 								{
 									clif_additem(sd,0,0,flag);
 									clif_additem(sd,0,0,flag);
-									map_addflooritem(&item_tmp,skill_db[su->group->skill_id].amount[i],sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0);
+									map_addflooritem(&item_tmp,skill_db[su->group->skill_id].amount[i],sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,4);
 								}
 								}
 							}
 							}
 						}
 						}
@@ -6981,7 +6981,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
 						if( item_tmp.nameid && (flag=pc_additem(sd,&item_tmp,1,LOG_TYPE_OTHER)) )
 						if( item_tmp.nameid && (flag=pc_additem(sd,&item_tmp,1,LOG_TYPE_OTHER)) )
 						{
 						{
 							clif_additem(sd,0,0,flag);
 							clif_additem(sd,0,0,flag);
-							map_addflooritem(&item_tmp,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0);
+							map_addflooritem(&item_tmp,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,4);
 						}
 						}
 					}
 					}
 				}
 				}
@@ -15685,7 +15685,7 @@ static int skill_unit_timer_sub(DBKey key, DBData *data, va_list ap)
 					memset(&item_tmp,0,sizeof(item_tmp));
 					memset(&item_tmp,0,sizeof(item_tmp));
 					item_tmp.nameid = group->item_id?group->item_id:ITEMID_TRAP;
 					item_tmp.nameid = group->item_id?group->item_id:ITEMID_TRAP;
 					item_tmp.identify = 1;
 					item_tmp.identify = 1;
-					map_addflooritem(&item_tmp,1,bl->m,bl->x,bl->y,0,0,0,0);
+					map_addflooritem(&item_tmp,1,bl->m,bl->x,bl->y,0,0,0,4);
 				}
 				}
 				skill_delunit(unit);
 				skill_delunit(unit);
 			}
 			}