Explorar o código

* 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 %!s(int64=12) %!d(string=hai) anos
pai
achega
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
 
 // 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
 //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,,,,,,,
 
 // 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,,,,,,,
-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,,,,,,,
 
 // Izlude Dungeon F6

+ 1 - 1
db/re/skill_cast_db.txt

@@ -1681,7 +1681,7 @@
 //-- KG_KYOMU
 3024,0,0,0,10000:15000:20000:25000:30000,0,0,-1
 //-- 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
 3026,0,0,0,60000:75000:90000:105000:120000,0,0,-1
 //-- 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.
 
     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;
-    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.
 
     mes "[Woman]";
-    mes "I will warp you now";
+    mes "I will warp you now.";
     close2;
     warp "place",50,50;
     end;
@@ -1367,7 +1367,7 @@ picked.
 And like 'menu', the selected option is consistent with grouped 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.
 
 ---------------------------------------
@@ -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 
 @speed GM command, 200 is the slowest possible speed while 0 is the fastest 
 possible (instant motion). 100 is the default character walking speed.
+
 '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.
 
 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 
 unnerving.
 
@@ -6289,7 +6292,7 @@ Example:
 
 // This will move Bugga from to the coordinates 100,20 (if those coordinates are legit).
 	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
 
 // ------------------------ Instances ---------------------------
+npc: npc/re/instances/MalangdoCulvert.txt
 npc: npc/re/instances/OctopusCave.txt
 
 // ---------------- 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);
 
 # 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
 #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))) {
 		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
  * @m, @x, @y mapid,x,y
  * @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)
 {
@@ -1429,7 +1429,7 @@ int map_addflooritem(struct item *item_data,int amount,int16 m,int16 x,int16 y,i
 
 	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
 
 	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) {
 		map_addflooritem(&ditem->item_data,ditem->item_data.amount,
 			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 = ditem->next;
 		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.
 	if(!sd->status.pet_id || sd->pd->pet.intimate <= 0 || sd->pd->pet.incuvate)
 		return 1;
-	
+
 	egg_id = itemdb_exists(sd->pd->petDB->EggID);
 	if (egg_id) {
 		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) {
 		map_addflooritem(&ditem->item_data,ditem->item_data.amount,
 			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 = ditem->next;
 		ers_free(item_drop_ers, ditem_prev);

+ 1 - 1
src/map/script.c

@@ -6663,7 +6663,7 @@ BUILDIN_FUNC(makeitem)
 		else
 			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;

+ 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.identify = 1;
 					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);
 			}
@@ -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)) )
 								{
 									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)) )
 						{
 							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));
 					item_tmp.nameid = group->item_id?group->item_id:ITEMID_TRAP;
 					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);
 			}