Browse Source

Update/moro vol npcs (#3002)

Updated npcs from ep 14.3 (official conversion)
* Adjusted permanent monster random spawn: xy are now optional
* TO DO: update questinfo to display the icon when the variable condition are met

Thanks to all the contributors !
Special thanks to https://www.divine-pride.net/ !
Atemo 6 years ago
parent
commit
0b18fe4bed

+ 2 - 2
db/re/item_db.txt

@@ -4732,13 +4732,13 @@
 6705,Warrior_Certificate,Warrior Certificate,3,10,,0,,,,,,,,,,,,,{},{},{}
 6705,Warrior_Certificate,Warrior Certificate,3,10,,0,,,,,,,,,,,,,{},{},{}
 6706,Guardian_Flowers,Guardian Flowers,3,10,,0,,,,,,,,,,,,,{},{},{}
 6706,Guardian_Flowers,Guardian Flowers,3,10,,0,,,,,,,,,,,,,{},{},{}
 6707,Jeremy_Beauty_Coupon,Jeremy Beauty Coupon,3,10,,10,,,,,,,,,,,,,{},{},{}
 6707,Jeremy_Beauty_Coupon,Jeremy Beauty Coupon,3,10,,10,,,,,,,,,,,,,{},{},{}
-6708,Magic_Crystal,Magic Crystal,3,10,,,,,,,,,,,,,,,{},{},{}
+6708,Mana_crystal,Mana Crystal,3,10,,,,,,,,,,,,,,,{},{},{}
 6709,Crisp_Silk,Crisp Silk,3,10,,0,,,,,,,,,,,,,{},{},{}
 6709,Crisp_Silk,Crisp Silk,3,10,,0,,,,,,,,,,,,,{},{},{}
 6710,Tied_Snake,Tied Snake,3,10,,0,,,,,,,,,,,,,{},{},{}
 6710,Tied_Snake,Tied Snake,3,10,,0,,,,,,,,,,,,,{},{},{}
 6712,Lovely_Stick,Lovely Stick,3,0,,0,,,,,,,,,,,,,{},{},{}
 6712,Lovely_Stick,Lovely Stick,3,0,,0,,,,,,,,,,,,,{},{},{}
 6713,Heart_of_Soul,Heart of Soul,3,0,,0,,,,,,,,,,,,,{},{},{}
 6713,Heart_of_Soul,Heart of Soul,3,0,,0,,,,,,,,,,,,,{},{},{}
 6714,Sheenas_Soul,Sheena's Soul,3,20,,0,,,,,,,,,,,,,{},{},{}
 6714,Sheenas_Soul,Sheena's Soul,3,20,,0,,,,,,,,,,,,,{},{},{}
-6715,Gods_Soul_Piece,God's Soul Piece,3,20,,0,,,,,,,,,,,,,{},{},{}
+6715,P_Of_Evil_Soul,Darklord Soulpiece,3,20,,0,,,,,,,,,,,,,{},{},{}
 6716,Cri_Stone,Critical Stone(Upper),6,10,,100,,,,,,,,,,,,,{ bonus bCritical,1; },{},{}
 6716,Cri_Stone,Critical Stone(Upper),6,10,,100,,,,,,,,,,,,,{ bonus bCritical,1; },{},{}
 6717,MHPStone_Middle,Fitness Stone(Middle),6,10,,100,,,,,,,,,,,,,{ bonus bMaxHP,50; },{},{}
 6717,MHPStone_Middle,Fitness Stone(Middle),6,10,,100,,,,,,,,,,,,,{ bonus bMaxHP,50; },{},{}
 6718,MSPStone_Bottom,Magical Stone(Lower),6,10,,100,,,,,,,,,,,,,{ bonus bMaxSP,10; },{},{}
 6718,MSPStone_Bottom,Magical Stone(Lower),6,10,,100,,,,,,,,,,,,,{ bonus bMaxSP,10; },{},{}

+ 4 - 3
db/re/item_trade.txt

@@ -702,7 +702,7 @@
 6389,499,100	// Puddle_R_Sample
 6389,499,100	// Puddle_R_Sample
 6390,499,100	// Small_Pocket
 6390,499,100	// Small_Pocket
 6391,499,100	// Splendid_Supply_Kit
 6391,499,100	// Splendid_Supply_Kit
-6392,499,100	// Bradium_Box
+6392,507,100	// Bradium_Box
 6396,475,100	// Auger_Of_Spirit
 6396,475,100	// Auger_Of_Spirit
 6397,507,100	// PR_Team_Ticket
 6397,507,100	// PR_Team_Ticket
 6398,507,100	// Develop_Team_Ticket
 6398,507,100	// Develop_Team_Ticket
@@ -815,12 +815,12 @@
 6704,499,100	// Warrior_Anger
 6704,499,100	// Warrior_Anger
 6705,499,100	// Warrior_Certificate
 6705,499,100	// Warrior_Certificate
 6706,499,100	// Guardian_Flowers
 6706,499,100	// Guardian_Flowers
-6708,499,100	// Magic_Crystal
+6708,499,100	// Mana_crystal
 6709,499,100	// Crisp_Silk
 6709,499,100	// Crisp_Silk
 6710,499,100	// Tied_Snake
 6710,499,100	// Tied_Snake
 6713,499,100	// Heart_of_Soul
 6713,499,100	// Heart_of_Soul
 6714,499,100	// Sheenas_Soul
 6714,499,100	// Sheenas_Soul
-6715,467,100	// Gods_Soul_Piece
+6715,467,100	// P_Of_Evil_Soul
 6720,507,100	// Status_Reset_Coupon
 6720,507,100	// Status_Reset_Coupon
 6721,507,100	// Status_Reset_Coupon_
 6721,507,100	// Status_Reset_Coupon_
 6722,499,100	// Delicious_Clam_Flesh
 6722,499,100	// Delicious_Clam_Flesh
@@ -3769,6 +3769,7 @@
 22556,24,100	// Luxury_Chocolate
 22556,24,100	// Luxury_Chocolate
 22557,24,100	// Masterpieces_of_Artisan_Chocolate
 22557,24,100	// Masterpieces_of_Artisan_Chocolate
 22566,48,100	// Last_Years_Frost
 22566,48,100	// Last_Years_Frost
+22567,384,100	// Squad_Prize
 22569,499,100	// Gift_New_start
 22569,499,100	// Gift_New_start
 22589,499,100	// Savage_Ora_Ora
 22589,499,100	// Savage_Ora_Ora
 22590,499,100	// Grand_Peco_Ora_Ora
 22590,499,100	// Grand_Peco_Ora_Ora

+ 10 - 10
db/re/mob_db.txt

@@ -2196,9 +2196,9 @@
 //3036,MUTANT_VERIT,Mutant Verit,Mutant Verit,17,234,0,58,43,1,38,15,20,3,15,8,17,0,15,0,10,12,1,1,29,0x0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3036,MUTANT_VERIT,Mutant Verit,Mutant Verit,17,234,0,58,43,1,38,15,20,3,15,8,17,0,15,0,10,12,1,1,29,0x0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3037,MUTANT_LUDE,Mutant Lude,Mutant Lude,17,234,0,58,43,1,38,15,20,3,15,8,17,0,15,0,10,12,1,1,29,0x0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3037,MUTANT_LUDE,Mutant Lude,Mutant Lude,17,234,0,58,43,1,38,15,20,3,15,8,17,0,15,0,10,12,1,1,29,0x0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 3038,HIDDEN_MOB7,Hidden Mob 7,Monster 7,151,10000,1,0,0,1,2000,0,200,100,100,100,100,100,100,100,12,12,0,0,88,0x6370004,2000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 3038,HIDDEN_MOB7,Hidden Mob 7,Monster 7,151,10000,1,0,0,1,2000,0,200,100,100,100,100,100,100,100,12,12,0,0,88,0x6370004,2000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-//3039,B_MOROCC_1,B Morocc 1,B Morocc 1,149,8000000,1,2855,1811,1,1901,145,199,35,126,91,63,61,114,37,0,0,2,8,27,0x0,110,576,480,432,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-//3040,B_MOROCC_2,B Morocc 2,B Morocc 2,149,6400000,1,3311,2101,1,1625,159,92,5,121,86,71,65,113,44,10,12,1,6,67,0x2000000,150,576,648,300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-//3041,B_MOROCC_4,B Morocc 4,B Morocc 4,149,7700000,1,2995,2230,1,1235,599,109,54,114,88,62,97,164,43,0,0,1,6,61,0x2000000,150,1536,648,300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+3039,B_MOROCC_1,Blazing Morocc Reincarnation,Blazing Morocc Reincarnation,149,8000000,1,2855,1811,1,1901,145,199,35,126,91,63,61,114,37,0,0,2,8,27,0x0,110,576,480,432,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+3040,B_MOROCC_2,Distorted Morocc Reincarnation,Distorted Morocc Reincarnation,149,6400000,1,3311,2101,1,1625,159,92,5,121,86,71,65,113,44,10,12,1,6,67,0x2000000,150,576,648,300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+3041,B_MOROCC_4,Freezing Morocc Reincarnation,Freezing Morocc Reincarnation,149,7700000,1,2995,2230,1,1235,599,109,54,114,88,62,97,164,43,0,0,1,6,61,0x2000000,150,1536,648,300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3042,WATERMELON_17
 //3042,WATERMELON_17
 //3043,WATERMELON_18
 //3043,WATERMELON_18
 //3044,WATERMELON_19
 //3044,WATERMELON_19
@@ -2218,7 +2218,7 @@
 //3058,WATERMELON_33
 //3058,WATERMELON_33
 //3059,EIGHT_DIVISION,Eight Division,Eight Division,1,10,0,0,0,0,2,0,160,5,1,1,1,1,999,1,10,12,1,3,21,0x0,300,0,480,0,0,0,0,0,0,0,0,6710,2000,511,100,521,10,926,100,937,100,954,10,520,10,0,0,0,0,0,0
 //3059,EIGHT_DIVISION,Eight Division,Eight Division,1,10,0,0,0,0,2,0,160,5,1,1,1,1,999,1,10,12,1,3,21,0x0,300,0,480,0,0,0,0,0,0,0,0,6710,2000,511,100,521,10,926,100,937,100,954,10,520,10,0,0,0,0,0,0
 //3060,E_QUESTION_OCTOPUS,Question Octopus,Question Octopus,10,20,1,0,0,2,13,8,160,0,1,1,1,50,100,100,10,12,2,5,41,0x1F0000,300,1632,432,540,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3060,E_QUESTION_OCTOPUS,Question Octopus,Question Octopus,10,20,1,0,0,2,13,8,160,0,1,1,1,50,100,100,10,12,2,5,41,0x1F0000,300,1632,432,540,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-//3061,E_ANGRY_MIMIC,Angry Mimic,Angry Mimic,1,30,0,0,0,1,1,1,100,99,0,0,0,0,0,0,10,12,1,0,20,0x170000,100,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+3061,E_ANGRY_MIMIC,Angry Mimic,Angry Mimic,1,30,0,0,0,1,1,1,100,99,0,0,0,0,0,0,10,12,1,0,20,0x170000,100,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3062,GIANT_DEVIRUCHI,Giant Deviruchi,Giant Deviruchi,93,8912,0,1083,1083,1,477,191,72,16,61,49,30,85,119,5,10,12,0,6,27,0x2000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3062,GIANT_DEVIRUCHI,Giant Deviruchi,Giant Deviruchi,93,8912,0,1083,1083,1,477,191,72,16,61,49,30,85,119,5,10,12,0,6,27,0x2000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3063,DEVIRUCHI_W,Deviruchi W,Deviruchi W,93,8912,0,1083,1083,1,477,191,72,16,61,49,30,85,119,5,10,12,0,6,27,0x2000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3063,DEVIRUCHI_W,Deviruchi W,Deviruchi W,93,8912,0,1083,1083,1,477,191,72,16,61,49,30,85,119,5,10,12,0,6,27,0x2000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3064,GIANT_DEVIRUCHI_W,Giant Deviruchi W,Giant Deviruchi W,93,8912,0,1083,1083,1,477,191,72,16,61,49,30,85,119,5,10,12,0,6,27,0x2000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3064,GIANT_DEVIRUCHI_W,Giant Deviruchi W,Giant Deviruchi W,93,8912,0,1083,1083,1,477,191,72,16,61,49,30,85,119,5,10,12,0,6,27,0x2000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@@ -2248,19 +2248,19 @@
 //3088,MM_BRINARANEA_BABY,Mm Brinaranea Baby,Mm Brinaranea Baby,155,155600,1,0,1,1,1,1,80,200,16,26,30,115,79,5,10,12,2,0,20,0x0,300,1000,1000,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3088,MM_BRINARANEA_BABY,Mm Brinaranea Baby,Mm Brinaranea Baby,155,155600,1,0,1,1,1,1,80,200,16,26,30,115,79,5,10,12,2,0,20,0x0,300,1000,1000,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3089,MM_LOCO_KASA,Mm Loco Kasa,Mm Loco Kasa,155,185000,1,0,0,1,3266,666,30,30,88,44,88,21,95,44,10,12,2,6,47,0x2000000,200,1500,600,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3089,MM_LOCO_KASA,Mm Loco Kasa,Mm Loco Kasa,155,185000,1,0,0,1,3266,666,30,30,88,44,88,21,95,44,10,12,2,6,47,0x2000000,200,1500,600,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3090,MM_LOCO_SALAMANDER,Mm Loco Salamander,Mm Loco Salamander,155,217650,1,0,0,1,2678,1257,121,36,60,103,45,35,172,15,10,12,1,6,47,0x2000000,200,1000,500,600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3090,MM_LOCO_SALAMANDER,Mm Loco Salamander,Mm Loco Salamander,155,217650,1,0,0,1,2678,1257,121,36,60,103,45,35,172,15,10,12,1,6,47,0x2000000,200,1000,500,600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-//3091,MM_BRINARANEA,Mm Brinaranea,Mm Brinaranea,165,81650000,1,0,0,3,8255,197,264,177,135,135,12,72,220,91,10,12,2,6,61,0x6280000,200,1020,500,768,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-//3092,MM_MUSPELLSKOLL,Mm Muspellskoll,Mm Muspellskoll,165,55620000,1,0,0,3,9672,98,211,140,202,119,6,45,275,71,10,12,2,6,63,0x6280000,200,608,408,336,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+3091,MM_BRINARANEA,Brinaranea,Brinaranea,165,81650000,1,0,0,3,8255,197,264,177,135,135,12,72,220,91,10,12,2,6,61,0x6280000,200,1020,500,768,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+3092,MM_MUSPELLSKOLL,Muspellskoll,Muspellskoll,165,55620000,1,0,0,3,9672,98,211,140,202,119,6,45,275,71,10,12,2,6,63,0x6280000,200,608,408,336,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3093,MM_BRINARANEA_CORE,Mm Brinaranea Core,Mm Brinaranea Core,160,300,1,0,0,0,1,1,1,1,1,1,1,1,1,1,10,12,0,6,21,0x2170000,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3093,MM_BRINARANEA_CORE,Mm Brinaranea Core,Mm Brinaranea Core,160,300,1,0,0,0,1,1,1,1,1,1,1,1,1,1,10,12,0,6,21,0x2170000,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3094,MM_MUSPELLSKOLL_CORE,Mm Muspellskoll Core,Mm Muspellskoll Core,160,300,1,0,0,0,1,1,1,1,1,1,1,1,1,1,10,12,0,6,23,0x2170000,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3094,MM_MUSPELLSKOLL_CORE,Mm Muspellskoll Core,Mm Muspellskoll Core,160,300,1,0,0,0,1,1,1,1,1,1,1,1,1,1,10,12,0,6,23,0x2170000,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3095,MM_GOD_SHADOW,Mm God Shadow,Mm God Shadow,1,100000000,1,0,0,0,2,1,1,1,1,1,1,1,1,1,10,12,0,6,23,0x2170000,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3095,MM_GOD_SHADOW,Mm God Shadow,Mm God Shadow,1,100000000,1,0,0,0,2,1,1,1,1,1,1,1,1,1,10,12,0,6,23,0x2170000,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3096,MM_MOROCC_KID,Mm Morocc Kid,Mm Morocc Kid,175,80000000,1,0,0,3,4980,209,158,134,90,122,7,87,287,36,10,12,0,6,66,0x6280000,200,1000,460,350,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3096,MM_MOROCC_KID,Mm Morocc Kid,Mm Morocc Kid,175,80000000,1,0,0,3,4980,209,158,134,90,122,7,87,287,36,10,12,0,6,66,0x6280000,200,1000,460,350,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-//3097,MM_MOROCC_ADT,Mm Morocc Adt,Mm Morocc Adt,175,120000000,1,0,0,3,5523,175,203,155,122,103,12,106,269,51,10,12,1,6,47,0x6280000,200,750,510,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+3097,MM_MOROCC_ADT,Despair God Morocc,Despair God Morocc,175,120000000,1,0,0,3,5523,175,203,155,122,103,12,106,269,51,10,12,1,6,47,0x6280000,200,750,510,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3098,MM_MOROCC_ORIGIN,Mm Morocc Origin,Mm Morocc Origin,160,3258000,1,0,0,3,6177,40,351,212,195,35,5,36,355,7,10,12,2,6,87,0x6280000,350,2000,750,750,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3098,MM_MOROCC_ORIGIN,Mm Morocc Origin,Mm Morocc Origin,160,3258000,1,0,0,3,6177,40,351,212,195,35,5,36,355,7,10,12,2,6,87,0x6280000,350,2000,750,750,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3099,MM_MOROCC_REST,Mm Morocc Rest,Mm Morocc Rest,160,1450000,1,0,0,3,2963,67,112,98,110,98,13,48,271,9,10,12,2,6,87,0x6280000,200,500,510,350,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3099,MM_MOROCC_REST,Mm Morocc Rest,Mm Morocc Rest,160,1450000,1,0,0,3,2963,67,112,98,110,98,13,48,271,9,10,12,2,6,87,0x6280000,200,500,510,350,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3100,MM_MANA_BLACK,Mm Mana Black,Mm Mana Black,1,30,0,0,0,0,1,1,1,1,1,1,1,1,1,1,10,12,0,0,20,0x170000,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3100,MM_MANA_BLACK,Mm Mana Black,Mm Mana Black,1,30,0,0,0,0,1,1,1,1,1,1,1,1,1,1,10,12,0,0,20,0x170000,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-//3101,MM_MANA_WHITE,Mm Mana White,Mm Mana White,1,30,0,0,0,0,1,1,1,1,1,1,1,1,1,1,10,12,0,0,20,0x170000,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-//3102,MM_MANA_RED,Mm Mana Red,Mm Mana Red,1,30,0,0,0,0,1,1,1,1,1,1,1,1,1,1,10,12,0,0,20,0x170000,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-//3103,MM_MANA_YELLOW,Mm Mana Yellow,Mm Mana Yellow,1,30,0,0,0,0,1,1,1,1,1,1,1,1,1,1,10,12,0,0,20,0x170000,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+3101,MM_MANA_WHITE,Mana White,Mana White,1,30,0,0,0,0,1,1,1,1,1,1,1,1,1,1,10,12,0,0,20,0x170000,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+3102,MM_MANA_RED,Mana of Life,Mana of Life,1,30,0,0,0,0,1,1,1,1,1,1,1,1,1,1,10,12,0,0,20,0x170000,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+3103,MM_MANA_YELLOW,Mana of Earth,Mana of Earth,1,30,0,0,0,0,1,1,1,1,1,1,1,1,1,1,10,12,0,0,20,0x170000,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3104,MM_MANA_BLUE,Mm Mana Blue,Mm Mana Blue,1,30,0,0,0,0,1,1,1,1,1,1,1,1,1,1,10,12,0,0,20,0x170000,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3104,MM_MANA_BLUE,Mm Mana Blue,Mm Mana Blue,1,30,0,0,0,0,1,1,1,1,1,1,1,1,1,1,10,12,0,0,20,0x170000,2000,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3105,MM_GB_MOROCC_1,Mm Gb Morocc 1,Mm Gb Morocc 1,149,5000000,1,0,0,1,1901,145,199,35,126,91,63,61,114,37,10,12,2,8,43,0x6200000,110,576,480,432,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3105,MM_GB_MOROCC_1,Mm Gb Morocc 1,Mm Gb Morocc 1,149,5000000,1,0,0,1,1901,145,199,35,126,91,63,61,114,37,10,12,2,8,43,0x6200000,110,576,480,432,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3106,MM_GB_MOROCC_4,Mm Gb Morocc 4,Mm Gb Morocc 4,149,5000000,1,0,0,1,1235,599,109,54,114,88,62,97,164,43,10,12,1,6,68,0x6200000,150,1536,648,300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
 //3106,MM_GB_MOROCC_4,Mm Gb Morocc 4,Mm Gb Morocc 4,149,5000000,1,0,0,1,1235,599,109,54,114,88,62,97,164,43,10,12,1,6,68,0x6200000,150,1536,648,300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

+ 19 - 0
db/re/quest_db.txt

@@ -1592,6 +1592,25 @@
 7563,72000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Standby for Kafragaten Challenge 1"
 7563,72000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Standby for Kafragaten Challenge 1"
 7564,72000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Standby for Kafragaten Challenge 2"
 7564,72000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Standby for Kafragaten Challenge 2"
 
 
+// Episode 14.3
+7578,0,3061,1,0,0,0,0,3061,6392,10000,0,0,0,0,0,0,"Rampaging Box"
+7579,0,3061,10,0,0,0,0,3061,6392,10000,0,0,0,0,0,0,"Collecting Bradiums"
+7580,82800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Collecting Every Day"
+7581,0,3039,1,3040,1,3041,1,0,0,0,0,0,0,0,0,0,"Eliminating Risks"
+7582,82800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Daily Cleaning"
+7583,0,0,0,0,0,0,0,3039,6708,10000,3040,6708,10000,3041,6708,10000,"Collecting Mana"
+7584,82800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Unending Battle"
+
+// Episode 14.3 part 2 - End of morocc
+7593,0,3097,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Demon God Subjugation"
+7594,0,3091,1,3092,1,0,0,0,0,0,0,0,0,0,0,0,"Frost Spider and Fire Wolf"
+7595,0,3101,3,3102,3,3103,3,0,0,0,0,0,0,0,0,0,"Wandering Orb Magic"
+// 7596,0,0,0,0,0,0,0,3105,6713,10000,3106,6714,10000,0,0,0,"Qualifications of the Guests"
+7597,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Fall of the False God"
+7598,82800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Caged God"
+7599,82800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Unending Hunt"
+7600,82800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Promising Tomorrow"
+
 // Episode 15.1 Verus City
 // Episode 15.1 Verus City
 7606,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Phantasmagorika Excavator Recruitment"
 7606,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Phantasmagorika Excavator Recruitment"
 7607,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Eden Group Leader"
 7607,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Eden Group Leader"

+ 3 - 3
doc/script_commands.txt

@@ -132,7 +132,7 @@ and 'doc/mapflags.txt'.
 
 
 ** Create a permanent monster spawn:
 ** Create a permanent monster spawn:
 
 
-<map name>,<x>,<y>{,<xs>{,<ys>}}%TAB%monster%TAB%<monster name>{,<monster level>}%TAB%<mob id>,<amount>{,<delay1>{,<delay2>{,<event>{,<mob size>{,<mob ai>}}}}}
+<map name>{,<x>{,<y>{,<xs>{,<ys>}}}}%TAB%monster%TAB%<monster name>{,<monster level>}%TAB%<mob id>,<amount>{,<delay1>{,<delay2>{,<event>{,<mob size>{,<mob ai>}}}}}
 
 
 Map name is the name of the map the monsters will spawn on. x,y are the
 Map name is the name of the map the monsters will spawn on. x,y are the
 coordinates where the mob should spawn. If xs and ys are non-zero, they
 coordinates where the mob should spawn. If xs and ys are non-zero, they
@@ -7075,8 +7075,8 @@ This command kicks the given character from the waiting room attached to the giv
 *getwaitingroomusers "<NPC object name>";
 *getwaitingroomusers "<NPC object name>";
 
 
 This command get all the characters in the waiting room of the given NPC and stores
 This command get all the characters in the waiting room of the given NPC and stores
-their gids in the array .@waitingroom_users[]. Also, stores the the number of characters
-in the variable .@waitingroom_usercount
+their gids in the array .@waitingroom_users[]. Also, stores the number of characters
+in the variable .@waitingroom_usercount.
 
 
 ---------------------------------------
 ---------------------------------------
 
 

+ 23 - 0
npc/re/mobs/dungeons/moro_vol.txt

@@ -0,0 +1,23 @@
+//===== rAthena Script =======================================
+//= Flame Basin Monster Spawn Script
+//===== Description: =========================================
+//= Spawns monsters on Flame Basin.
+//===== Additional Comments: =================================
+//= 1.0 First version. [Capuche]
+//============================================================
+
+moro_vol	monster	Angry Mimic	3061,5
+moro_vol	monster	Fire Pit	3026,10
+moro_vol	monster	Sonia	3028,30
+moro_vol	monster	Incarnation of Morocc	1918,15
+moro_vol	monster	Incarnation of Morocc	1919,15
+moro_vol	monster	Incarnation of Morocc	1920,15
+moro_vol	monster	Incarnation of Morocc	1921,15
+moro_vol	monster	Fire Condor	3020,30
+moro_vol	monster	Fire Sandman	3021,30
+moro_vol	monster	Fire Frilldora	3022,30
+moro_vol	monster	Fire Golem	3023,30
+moro_vol	monster	Fire Bug	3027,10
+moro_vol	monster	Blazing Morocc Reincarnation	3039,1
+moro_vol	monster	Distorted Morocc Reincarnation	3040,1
+moro_vol	monster	Freezing Morocc Reincarnation	3041,1

+ 2087 - 0
npc/re/quests/quests_14_3_bis.txt

@@ -0,0 +1,2087 @@
+//===== rAthena Script =======================================
+//= Flame Basin Quests
+//===== Description: =========================================
+//= [Official Conversion]
+//= Quests NPCs from Flame Basin
+//===== Changelogs: ==========================================
+//= 1.0 First version. Thanks to Dia from https://www.divine-pride.net/ ! [Capuche]
+//============================================================
+
+moro_vol,94,110,5	script	Guardian Nidhogg#143nyd01	4_F_NYDHOG,{
+	mes "[Nidhogg]";
+	if (ep4_3_mockill == 0) {
+		mes "Soon we'll face a decisive war.";
+		mes "I'll do my best to fulfill my duty as the Guardian.";
+		cutin "ep14_nyd04.bmp",2;
+		next;
+		mes "[Nidhogg]";
+		mes "I'm preparing a gift for you to make up for my past transgressions against you.";
+		close3;
+	}
+	if ($ep143_3_expbuff == 1) {
+		mes "I hope you'll like my gift. Yggdrasil's blessing doesn't last forever, ";
+		mes "but it'll last at least long enough to aid you and your party in battle.";
+		cutin "ep14_nyd04.bmp",2;
+		close3;
+	}
+	if (ep4_3_mockill == 1 && countitem(6715) > 0) {
+		mes "Oh, it's a shard of his soul.";
+		mes "He's destined to endlessly roam the world that he's created in his mind.";
+		mes "Vengeance is meted out, but the results aren't as satisfying as I thought.";
+		cutin "ep14_nyd01.bmp",2;
+		next;
+		mes "[Nidhogg]";
+		mes "May I have this Soul Shard?";
+		mes "In exchange, I'll give you and your party";
+		mes "the biggest gift I can give.";
+		cutin "ep14_nyd03.bmp",2;
+		next;
+		if (select( "Give the Soul Shard.", "Decline." ) == 2) {
+			mes "[Nidhogg]";
+			mes "Watch out for the Demon God's negative influence on you.";
+			cutin "ep14_nyd04.bmp",2;
+			close3;
+		}
+		if ($ep143_3_expbuff == 1) {
+			mes "[Nidhogg]";
+			mes "Oh, you already received Yggdrasil's blessing.";
+			mes "I'll take a rain check on this.";
+			cutin "ep14_nyd01.bmp",2;
+			close3;
+		}
+		cutin "ep14_nyd04.bmp",2;
+		mes "[Nidhogg]";
+		mes "Thank you.";
+		mes "May Yggdrasil bless you.";
+		delitem 6715,1;// P_Of_Evil_Soul
+		$ep143_3_expbuff = 1;
+		$ep143_3_exptime = 0;
+		ep4_3_mockill = 2;
+		announce "Nidhogg: May Yggdrasil bless the Demon God slayers " + strcharinfo(0) + " and others.", bc_all, "0xFF0000";
+		donpcevent "Loki#1432loki01::OnEventOn";
+		next;
+		mes "^4d4dffGood job taking out Demon God Morocc. The server EXP rate has increased by 10% for about 1 hour.^000000";
+		close3;
+	}
+	mes "I don't understand this;";
+	mes "I badly wanted to get rid of him from this world,";
+	mes "yet I feel like I'm empty on the inside.";
+	cutin "ep14_nyd02.bmp",2;
+	next;
+	mes "[Nidhogg]";
+	mes "This must be";
+	mes "how people feel when they've lost their jobs overnight.";
+	cutin "ep14_nyd01.bmp",2;
+	next;
+	mes "[Nidhogg]";
+	mes "At least I've saved enough money";
+	mes "to go without a job for a while.";
+	cutin "ep14_nyd04.bmp",2;
+	close3;
+
+OnEventOn:
+	if ($ep143_3_expbuff == 1) {
+		initnpctimer;
+		setbattleflag( "quest_exp_rate", getbattleflag("quest_exp_rate") + 10 );
+		setbattleflag( "base_exp_rate", getbattleflag("base_exp_rate") + 10 );
+		setbattleflag( "job_exp_rate", getbattleflag("job_exp_rate") + 10 );
+	}
+	end;
+OnTimer60000:
+	if ($ep143_3_exptime < 60) {
+		$ep143_3_exptime++;
+		initnpctimer;
+	}
+	else
+		donpcevent "Guardian Nidhogg#143nyd01::OnStop";
+	end;
+OnStop:
+	stopnpctimer;
+	if ($ep143_3_expbuff == 1) {
+		$ep143_3_expbuff = 0;
+		$ep143_3_exptime = 0;
+		setbattleflag( "quest_exp_rate", getbattleflag("quest_exp_rate") - 10 );
+		setbattleflag( "base_exp_rate", getbattleflag("base_exp_rate") - 10 );
+		setbattleflag( "job_exp_rate", getbattleflag("job_exp_rate") - 10 );
+	}
+	end;
+OnInit:
+	if ($ep143_3_expbuff == 1)
+		initnpctimer;
+	end;
+OnInterIfInitOnce:
+	if ($ep143_3_expbuff == 1)
+		donpcevent "Guardian Nidhogg#143nyd01::OnEventOn";
+	end;
+}
+
+moro_vol,97,110,3	script	Loki#1432loki01	4_M_ROKI2,{
+	cutin "ep14_roki01.bmp",2;
+	mes "[Loki]";
+	mes "Things haven't even started off yet;";
+	mes "they will only when his true colors are revealed.";
+	close3;
+
+OnEventOn:
+	initnpctimer;
+	end;
+OnTimer5000:
+	announce "For defeating Morocc, you have been rewarded with an extra 10% Server EXP reward for 1 hour.", bc_all, "0xFF0000";
+	end;
+OnTimer11500:
+	announce " ", bc_all, "0xFF0000";
+	end;
+OnTimer12000:
+	donpcevent "Guardian Nidhogg#143nyd01::OnEventOn";
+	stopnpctimer;
+	end;
+}
+
+moro_vol,98,107,3	script	Magic Scholar#143avt01	4_M_FAIRYAVANT,{
+	if (checkweight(1304,3) == 0) {
+		mes "You are carrying too many items to proceed with the quest.";
+		mes "Please make some room in your inventory.";
+		close;
+	}
+	cutin "avant01.bmp",1;
+	if (ep14_2_mylord < 33) {
+		mes "[Magic Scholar]";
+		mes "Stop bothering me.";
+		mes "If you're here to donate your body for my experiment, then you can stay.";
+		mes "Or scram!";
+		close3;
+	}
+	if (ep14_2_mylord == 33) {
+		mes "[Avant]";
+		mes "What brings you, rookie?";
+		mes "Did you come to laugh at my misery, like everyone else?";
+		next;
+		select( "Why are you here?", "Are you sorry for what you've done?" );
+		mes "[Avant]";
+		mes "*Snort*";
+		mes "This is a matter of pride.";
+		mes "I admit that my action sent my kinsmen in harm's way.";
+		next;
+		cutin "avant02.bmp",1;
+		mes "[Avant]";
+		mes "I want to say that I'm doing this to make up for what I did,";
+		mes "like everyone wants to believe. *Smirk*";
+		next;
+		mes "[Avant]";
+		mes "But if I'm honest with myself,";
+		mes "I'm doing this to get back at Shnaim and Morocc for using me like a tool.";
+		next;
+		mes "[Avant]";
+		mes "I'm planning to be the last one standing after everything goes down.";
+		ep14_2_mylord = 34;
+		close3;
+	}
+	if (BaseLevel < 140) {
+		mes "[Avant]";
+		mes "I've got no use for weaklings.";
+		mes "Come back when you become stronger.";
+		close3;
+	}
+	switch( checkquest(7584,PLAYTIME) ) {
+	case -1:
+		if (isbegin_quest(7583) == 1) {// Collecting Mana
+			if (countitem(6708) > 2) {
+				mes "[Avant]";
+				mes "Not bad, rookie.";
+				mes "Let me take the Mana Crystallines.";
+				mes "Good job.";
+				delitem 6708, countitem(6708);// Mana_crystal
+				erasequest 7583;// Collecting Mana
+				setquest 7584;// Unending Battle
+				getexp 350000,350000;
+				close3;
+			}
+			mes "[Avant]";
+			mes "Greenhorn, if you defeat those strong Demons, you'll find some mana crystallines.";
+			mes "I want you to bring them to me,";
+			mes "at least three at a time. Got it?";
+			close3;
+		}
+		if (checkquest(7581,HUNTING) == 0 || checkquest(7581,HUNTING) == 1) {
+			mes "[Avant]";
+			mes "Hey, rookie.";
+			mes "Do you see those massive goons?";
+			mes "If you hunt those Distorted,";
+			next;
+			mes "[Avant]";
+			mes "Blazing, and Freezing Reincarnations, you'll find some mana crystallines.";
+			mes "Part of mana stolen from the orb, the crystallines are what";
+			mes "make those Demon runts so strong.";
+			next;
+			mes "[Avant]";
+			mes "I want you to";
+			mes "get rid of them and bring me Mana Crystallines.";
+			mes "Don't try to keep them from me: they're not useful for you.";
+			next;
+			mes "[Avant]";
+			mes "Three Reincarnations, thus three Mana Crystallines.";
+			mes "Bring them at least for Kardui of Eclage.";
+			setquest 7583;// Collecting Mana
+			close3;
+		}
+		mes "[Avant]";
+		mes "Hm, I didn't know such a small amount of mana could produce";
+		mes "such great power.";
+		mes "Dirty Demons.";
+		close3;
+	case 0:
+	case 1:
+		mes "[Avant]";
+		mes "I hope you'll come back for the next subjugation.";
+		close3;
+	case 2:
+		mes "[Avant]";
+		mes "Soon the Human Alliance will send out a Demon subjugation party. Come by before you leave.";
+		mes "You want to collect the mana, don't you?";
+		erasequest 7584;
+		close3;
+	}
+	end;
+
+OnInit:
+	questinfo 7583, QTYPE_QUEST2;
+	setquestinfo_req 7583,7581,1;
+	setquestinfo_req 7583,7584,0;
+	setquestinfo_level 7583,140,175;
+	// 3759 is probably ep14_2_mylord
+	// SetQuestItem 7583 3759 33 "<"
+	end;
+}
+
+moro_vol,95,108,7	script	Hishieh#143hisie01	4_M_FARIY_HISIE,{
+	cutin "hisie01.bmp",0;
+	mes "[Hishieh]";
+	if (ep14_2_mylord < 15) {
+		mes "Are you from the Human Alliance?";
+		mes "I don't remember asking for your assistance, yet.";
+		next;
+		mes "[Hishieh]";
+		mes "If something were to happen, I'd send word to your commander-in-chief, Hibba Agip.";
+		close3;
+	}
+	if (ep14_2_mylord < 33) {
+		mes "Can we really learn the truth about the Demon God in this place?";
+		mes "It's filled with creatures I've never seen.";
+		next;
+		mes "[Hishieh]";
+		mes "Creepy...";
+		close3;
+	}
+	if (ep14_2_mylord == 33) {
+		mes "The instigator of all the bad things is really hiding out in here, huh?";
+		mes "How exciting!";
+		next;
+		mes "[Hishieh]";
+		mes "Oh, why am I here?";
+		mes "I came on Kar's behalf.";
+		mes "He can't leave Eclage while supplying it with mana that the orb can't.";
+		next;
+		mes "[Hishieh]";
+		mes "Our priorities lie with Yggdrasil and her Guardian.";
+		mes "Plus, we really can't afford to lose the newborn Mayor.";
+		next;
+		cutin "hisie04.bmp",0;
+		mes "[Hishieh]";
+		mes "I was able to persuade the Elders to let me command the army,";
+		mes "but I'm still a commander in name only.";
+		next;
+		select("What happened to Avant?");
+		cutin "hisie02.bmp",0;
+		mes "[Hishieh]";
+		mes "Hm...";
+		mes "We're using his knowledge.";
+		mes "We could have killed him, but that would've been too easy.";
+		next;
+		mes "[Hishieh]";
+		mes "It's a kind of revenge I guess, huh.";
+		mes "After all, his only transgression is that he loves his science too much.";
+		next;
+		mes "[Hishieh]";
+		mes "Even the Elders acknowledged his talent and decided to save his life.";
+		mes "Above all...";
+		next;
+		mes "[Hishieh]";
+		mes "(Lowering his voice)";
+		mes "No one else knows the orb's mana has been stolen.";
+		mes "As far as others know, Avant's only responsible for me and Kar.";
+		next;
+		mes "[Hishieh]";
+		mes "Avant's over there. You can ask him questions if you'd like.";
+		mes "Hah hah. ";
+		close3;
+	}
+	switch( checkquest(7600,PLAYTIME) ) {
+	case -1:
+		switch( checkquest(7595,HUNTING) ) {
+		case -1:
+			if (isbegin_quest(7593) == 1) {
+				mes "The Temple of the Demon God, huh? Okay, well if you find stray mana from the orb in there, could you take care of it?";
+				mes "I don't know what kind of shape the mana is taking at the moment, but you won't mistake it for anything else.";
+				next;
+				mes "[Hishieh]";
+				mes "If you find stray mana from the orb, then please hit and disperse it.";
+				mes "It'll find its way back to Yggdrasil and the orb.";
+				mes "Can you do that for us?";
+				next;
+				if (select( "Gladly.", "Sorry." ) == 2) {
+					cutin "hisie02.bmp",0;
+					mes "[Hishieh]";
+					mes "No worries.";
+					mes "I'll ask someone else.";
+					mes "We're good.";
+					close3;
+				}
+				mes "[Hishieh]";
+				mes "I owe you so much,";
+				mes "I don't know how to repay you.";
+				mes "Thank you.";
+				next;
+				mes "[Hishieh]";
+				mes "Please release 3 Brilliant Manas, 3 Life Manas, and 3 Earth Manas.";
+				mes "I'll be counting on you.";
+				mes "Come back safely, you hear?";
+				setquest 7595;// Wandering Orb Magic
+				close3;
+			}
+			mes "Avant knows about the orb's mana better than anyone else.";
+			mes "Even Kar and I can barely stand Avant, but he really needs your help.";
+			next;
+			mes "[Hishieh]";
+			mes "This isn't just about collecting the orb's mana, but also has to do with the Demon God.";
+			mes "Most of my kinsmen don't know yet the orb's core mana has been stolen.";
+			next;
+			cutin "hisie02.bmp",0;
+			mes "[Hishieh]";
+			mes "And I want to keep it that way.";
+			mes "Please help us.";
+			mes "Kar and I really need you.";
+			close3;
+		case 0:
+		case 1:
+			mes "All you have to do is just hit and disperse the moving globes of mana in the Temple of the Demon God.";
+			mes "Then the mana will be returned to Yggdrasil.";
+			next;
+			mes "[Hishieh]";
+			mes "If you find solidified, immobile mana, just absorb them";
+			mes "by touching it.";
+			next;
+			mes "[Hishieh]";
+			mes "It's no longer useful for us, but this is for you";
+			mes "to fight the Demons.";
+			close3;
+		case 2:
+			cutin "hisie04.bmp",0;
+			mes "Good job!";
+			mes "I've felt the mana returning.";
+			mes "You did great. Kar will be excited!";
+			next;
+			cutin "hisie01.bmp",0;
+			mes "[Hishieh]";
+			mes "This isn't much, but I want you to have it.";
+			mes "Hope you'll like it.";
+			mes "A substantial amount of mana has been leaked out of the orb.";
+			next;
+			mes "[Hishieh]";
+			mes "If you're planning to reenter the Temple of the Demon God, then please look for more mana globes.";
+			mes "You should go rest for now.";
+			erasequest 7595;// Wandering Orb Magic
+			setquest 7600;// Promising Tomorrow
+			getitem 22567,1;// Squad_Prize
+			getexp 1000000,500000;
+			close3;
+		}
+	case 0:
+	case 1:
+		mes "Not all the stray globes of mana from the orb have been retrieved,";
+		mes "though we're making progress.";
+		mes "I'll appreciate if you can come back tomorrow and help us again.";
+		close3;
+	case 2:
+		erasequest 7600;// Promising Tomorrow
+		mes "If you're planning to reenter the Temple of the Demon God, then I'd like to ask you a favor.";
+		mes "Yes, it's the same thing I asked you before:";
+		mes "return the mana.";
+		next;
+		mes "[Hishieh]";
+		mes "Talk to me again if you want to help us.";
+		close3;
+	}
+	end;
+
+OnInit:
+	questinfo 7595, QTYPE_QUEST2;
+	setquestinfo_req 7595,7593,1;
+	setquestinfo_req 7595,7600,0;
+	setquestinfo_level 7595,160,175;
+	// 3759 = [ep14_2_mylord]
+	// SetQuestItem 7595 3759 33 "<"
+	end;
+}
+
+moro_vol,108,88,5	script	Commander Hibba Agip#14301	4_M_REDSWORD,{
+	cutin "ep13_captin_edq.bmp",2;
+	mes "[Hibba Agip]";
+	if (ep14_3_mors01 == 0 || BaseLevel < 160) {
+		mes "This place is bizarre beyond comprehension.";
+		mes "Morocc is here somewhere.";
+		next;
+		mes "[Hibba Agip]";
+		mes "This definitely looks abysmal enough for someone like him to hang around.";
+		mes "Those must have been dragged in from the Morocc Desert, then contaminated by his evil energy.";
+		next;
+		mes "[Hibba Agip]";
+		mes "Sigh...";
+		mes "We have a long and winding load ahead of us.";
+		mes "...";
+		next;
+		mes "[Hibba Agip]";
+		mes "Sigh.";
+		mes "I'll call you when I need you.";
+		mes "Till then, focus on staying alive.";
+		close3;
+	}
+	if (ep4_3_mockill == 0) {
+		if (isbegin_quest(7597) == 1) {
+			mes "Ah, our hero is back!";
+			mes "Mwah hah hah, finally we've reached the end of our expedition!";
+			mes "Good job!";
+			mes "I thank you on behalf of the entire humankind.";
+			next;
+			mes "[Adjutant Abidal]";
+			mes "You're incredible!";
+			mes "You've saved the world!";
+			mes "After this, I'm going to go back home...";
+			next;
+			mes "[Hiva Agip]";
+			mes "Abidal, enough!";
+			mes "Are you trying to raise a red flag?!";
+			next;
+			mes "[Hiva Agip]";
+			mes "This isn't much, but I want you to have it.";
+			mes "Thank you for your service.";
+			mes "Hah hah.";
+			mes "Finally I can sleep!";
+			next;
+			mes "[Hiva Agip]";
+			mes "Wait, I sense something ominous around you...";
+			mes "Oh gods, what is this?!";
+			mes "Are you trying to have your soul devoured by the Demon God?!";
+			next;
+			mes "[Hiva Agip]";
+			mes "Give it to me, and I'll crystallize it for you.";
+			mes "And I want you to meet that Guardian lady at the Laphine camp.";
+			mes "She might know about this.";
+			ep4_3_mockill = 1;
+			erasequest 7597;// Fall of the False God
+			setquest 7598;// Caged God
+			getitem 22567,1;// Squad_Prize
+			getitem 6715,1;// P_Of_Evil_Soul
+			getexp 1000000,500000;
+			close3;
+		}
+		if (isbegin_quest(7593) == 1) {
+			mes "The Temple of the Demon God is discovered inside the cave in the central hill.";
+			mes "A tree is blocking the entry to the temple.";
+			next;
+			mes "[Hibba Agip]";
+			mes "That purple lady called the Guardian said she'd go there soon.";
+			mes "You should find her.";
+			close3;
+		}
+		mes "Well-met.";
+		mes "I've heard a path has been cleared in that dark cave.";
+		mes "Sometimes I think this condemned basin is alive.";
+		next;
+		mes "[Hibba Agip]";
+		mes "You're smart and capable. I don't have to explain why I'm telling you this, do I?";
+		mes "Don't worry. I've sent out an advance party.";
+		next;
+		mes "[Hibba Agip]";
+		mes "Be joyous, comrade!";
+		mes "It won't be long before our perilous journey is over!";
+		mes "And you'll be the one to end it.";
+		next;
+		mes "[Hibba Agip]";
+		mes "We've decided to call the newly discovered place the Temple of the Demon God.";
+		mes "Actually the first scout named it, and the name stuck.";
+		next;
+		mes "[Hibba Agip]";
+		mes "I'd like to put you on a subjugation mission in the Temple of the Demon God.";
+		mes "This is not an order, but a request;";
+		mes "you decide to take the mission at your own risk.";
+		next;
+		if (select( "I'll do it.", "No." ) == 2) {
+			mes "[Hibba Agip]";
+			mes "I understand";
+			mes "you don't want to risk your life for the world peace.";
+			mes "Enjoy living until the end of the world.";
+			close3;
+		}
+		mes "[Hibba Agip]";
+		mes "I knew I chose the right person for the job.";
+		mes "Loki said the Demon God hadn't fully recovered from";
+		mes "the damage received upon the break of his seal.";
+		next;
+		mes "[Hibba Agip]";
+		mes "He's still licking his wounds,";
+		mes "which gives us a perfect opportunity to get at him.";
+		mes "Good luck.";
+		setquest 7593;// Demon God Subjugation
+		close3;
+	}
+	if (isbegin_quest(7597) == 1) {
+		mes "*Whistle* Good work!";
+		mes "How's the Temple of the Demon God?";
+		mes "Still the same?";
+		next;
+		mes "[Hiva Agip]";
+		mes "Take your reward.";
+		mes "See you again.";
+		erasequest 7597;// Fall of the False God
+		setquest 7598;// Caged God
+		getitem 22567,1;// Squad_Prize
+		getexp 1000000,500000;
+		close3;
+	}
+	switch( checkquest(7598,PLAYTIME) ) {
+	case -1:
+		mes "For the life of me, I can't figure out what's happening.";
+		mes "This place has gone to the dogs since that monster proclaimed that he would replace God.";
+		next;
+		mes "[Hiva Agip]";
+		mes "I'm afraid once warped, dimensions can never be the same.";
+		mes "Could you go back to the Temple of the Demon God once more?";
+		next;
+		if (select( "Sure.", "No." ) == 2) {
+			mes "[Hiva Agip]";
+			mes "I understand.";
+			mes "You've done enough already.";
+			mes "I'll send someone else.";
+			close3;
+		}
+		mes "[Hiva Agip]";
+		mes "The Temple of the Demon God is stuck in a perpetual time loop,";
+		mes "just like all the other Dimensional Cracks.";
+		next;
+		mes "[Hiva Agip]";
+		mes "He tried desperately to escape from this world, but all to no avail.";
+		mes "That world of his is now filled with nothing but hellish memories that repeat themselves over and over.";
+		next;
+		mes "[Hiva Agip]";
+		mes "Good luck exploring the temple. If you see Morocc again, don't hesitate to kill the Demon God again.";
+		mes "He doesn't deserve commiseration.";
+		mes "Godspeed.";
+		if (isbegin_quest(7593) == 0)
+			setquest 7593;// Demon God Subjugation
+		close3;
+	case 0:
+	case 1:
+		mes "Now that we've taken care of the main body, we can take things slow.";
+		mes "Why don't you go rest for now?";
+		mes "Leave the rest to us.";
+		close3;
+	case 2:
+		erasequest 7598;// Caged God
+		mes "I wouldn't believe you had an intense battle yesterday if I didn't already know about it.";
+		mes "Are you ready for another battle?";
+		next;
+		mes "[Hiva Agip]";
+		mes "Let me know when you're ready.";
+		mes "Morocc is gone, yet his temple stands.";
+		mes "It might have something to do with the Dimensional Crack.";
+		next;
+		mes "[Hiva Agip]";
+		mes "Oh, don't worry. I'm not thinking to send you out there.";
+		mes "Hah hah hah!";
+		close3;
+	}
+	end;
+
+OnInit:
+	questinfo 7593, QTYPE_QUEST2;
+	setquestinfo_req 7593,7597,0;
+	setquestinfo_req 7593,7598,0;
+	setquestinfo_level 7593,160,175;
+	// 3789 = [ep4_3_mockill]
+	// SetQuestItem 7593 3789 0 "<"
+
+	questinfo 7598, QTYPE_QUEST2;
+	setquestinfo_req 7598,7593,0;
+	setquestinfo_req 7598,7597,1;
+	end;
+}
+
+moro_vol,110,90,3	script	Adjutant Abidal#14302	4_M_SAGE_C,{
+	switch( checkquest(7599,PLAYTIME) ) {
+	case -1:
+		switch( checkquest(7594,HUNTING) ) {
+		case -1:
+			if (isbegin_quest(7593) == 1) {
+				mes "[Abidal]";
+				mes "Are you on the quest to subjugate the Temple of the Demon God?";
+				mes "Then please do me a favor.";
+				mes "Our scouts have reported on the presence of a Frost Spider and a Fire Wolf that have tasted the Frost of Genesis.";
+				next;
+				mes "[Abidal]";
+				mes "They're just as evil as their master Morocc.";
+				mes "Please exterminate the Frost Spider and Fire Wolf.";
+				next;
+				if (select( "Accept.", "Decline." ) == 2) {
+					mes "[Abidal]";
+					mes "Are you afraid you can't handle them?";
+					mes "I understand.";
+					mes "They're formidable enemies.";
+					close;
+				}
+				mes "[Abidal]";
+				mes "Thank you.";
+				mes "The Fire Spider is called Brinaranea; the Fire Wolf, Muspellskoll.";
+				mes "Please exterminate those creatures of the Demon God.";
+				mes "Good luck.";
+				setquest 7594;// Frost Spider and Fire Wolf
+				close;
+			}
+			mes "[Abidal]";
+			mes "Did you come to help us subjugate the Demon God?";
+			mes "Please be careful; the environment of this place keeps changing without any warning.";
+			close;
+		case 0:
+		case 1:
+			mes "[Abidal]";
+			mes "According to my intel, the Demon God has several henchmen.";
+			mes "I'd like you to eliminate the biggest threat among them.";
+			next;
+			mes "[Abidal]";
+			mes "It won't be easy, but I have faith in you.";
+			mes "The future of Midgard rests on your shoulders.";
+			close;
+		case 2:
+			mes "[Abidal]";
+			mes "You did it!";
+			mes "I knew you would!";
+			mes "Congratulations!";
+			next;
+			mes "[Abidal]";
+			mes "But I'm afraid this is not over yet.";
+			mes "I have this nagging sense of misgiving.";
+			mes "I'm sorry. Maybe I'm thinking irrationally.";
+			next;
+			mes "[Abidal]";
+			mes "I've prepared a small token of appreciation for you.";
+			mes "I'm sorry this is the best I can do.";
+			mes "Thank you for your hard work.";
+			erasequest 7594;// Frost Spider and Fire Wolf
+			setquest 7599;// Unending Hunt
+			getitem 22567,1;// Squad_Prize
+			close;
+		}
+	case 0:
+	case 1:
+		mes "[Abidal]";
+		mes "You did great. You should go rest.";
+		close;
+	case 2:
+		erasequest 7599;// Unending Hunt
+		mes "[Abidal]";
+		mes "Are you well rested?";
+		mes "You look like you are.";
+		mes "That's great because we're worried about the Temple of the Demon God. We can't seem to close it.";
+		next;
+		mes "[Abidal]";
+		mes "I might ask you again to exterminate Frost Spiders and Fire Wolves.";
+		mes "Why wouldn't the Temple of the Demon God disappear?";
+		close;
+	}
+	end;
+
+OnInit:
+	questinfo 7594, QTYPE_QUEST2;
+	setquestinfo_req 7594,7593,1;
+	setquestinfo_req 7594,7599,0;
+	setquestinfo_level 7594,160,175;
+	end;
+}
+
+moro_vol,111,87,1	script	 Instructor Igrid#14303	4_M_CRU,{
+	if (BaseLevel < 140) {
+		mes "[Instructor Igrid]";
+		mes "You.";
+		mes "(Shaking her head) You won't do.";
+		mes "You're too weak to fight these Demons.";
+		mes "Go back and train some more.";
+		close;
+	}
+	switch( checkquest(7582,PLAYTIME) ) {
+	case -1:
+		switch( checkquest(7581,HUNTING) ) {
+		case -1:
+			mes "[Instructor Igrid]";
+			mes "Hey, well-met.";
+			mes "I need your help.";
+			mes "Some of those Demons pouring out of the Flaming Basin are a real pain in the neck.";
+			next;
+			mes "[Instructor Igrid]";
+			mes "Morocc Reincarnations have invaded here just as well, and some of them are noticeably strong.";
+			mes "I want you to get rid of them.";
+			next;
+			if (select( "Why me?", "Sure." ) == 1) {
+				mes "[Instructor Igrid]";
+				mes "Um, this is unexpected.";
+				mes "I thought you came to protect the peace and prosperity of Midgard. Did you not?";
+				next;
+				mes "[Instructor Igrid]";
+				mes "Maybe I gave you too much credit.";
+				mes "All right, I'll ask someone else.";
+				mes "I'm really disappointed in you.";
+				close;
+			}
+			mes "[Instructor Igrid]";
+			mes "You don't disappoint me.";
+			mes "Listen, in the center of the basin is a high hill.";
+			mes "In four directions from the center roams a strong Demon.";
+			next;
+			mes "[Instructor Igrid]";
+			mes "They look just like those Reincarnations that attacked Morocc City,";
+			mes "but bigger and stronger.";
+			next;
+			mes "[Instructor Igrid]";
+			mes "For the smooth operation of the subjugation mission,";
+			mes "please ^4d4dffeliminate Distorted Morocc Reincarnation, Blazing Morocc Reincarnation, and Freezing Morocc Reincarnation.^000000";
+			mes "I'll be counting on you.";
+			setquest 7581;// Eliminating Risks
+			close;
+		case 0:
+		case 1:
+			mes "[Instructor Igrid]";
+			mes "Please ^4d4dffeliminate Distorted Morocc Reincarnation, Blazing Morocc Reincarnation, and Freezing Morocc Reincarnation.^000000";
+			mes "You can find them stationed in four directions from the center of the basin.";
+			close;
+		case 2:
+			mes "[Instructor Igrid]";
+			mes "You really took out those strong Demons.";
+			mes "That should be enough to break the spirit of the rest.";
+			mes "Good job.";
+			next;
+			mes "[Instructor Igrid]";
+			mes "I hope you'll come back to help me again.";
+			mes "Let's go back home together, yeah?";
+			erasequest 7581;// Eliminating Risks
+			setquest 7582;// Daily Cleaning
+			getexp 1000000,800000;
+			close;
+		}
+	case 0:
+	case 1:
+		mes "[Instructor Igrid]";
+		mes "You.";
+		mes "Do you mean those giant reincarnations?";
+		mes "I've assigned some more adventurers to take care of them.";
+		next;
+		mes "[Instructor Igrid]";
+		mes "You should rest for the day. Come back to hunt tomorrow.";
+		close;
+	case 2:
+		mes "[Instructor Igrid]";
+		mes "It's almost time for a Demon hunt.";
+		mes "Aren't you excited? Because I am! Hah hah!";
+		erasequest 7582;// Daily Cleaning
+		close;
+	}
+	end;
+
+OnInit:
+	questinfo 7581, QTYPE_QUEST2, 0;
+	setquestinfo_req 7581,7582,0;
+	setquestinfo_level 7581,140,175;
+	end;
+}
+
+moro_vol,136,84,3	script	Jeruth Hesranta#ep143	4_MAN_JERUTOO,{
+	if (checkweight(1304,3) == 0) {
+		mes "You are carrying too many items to proceed with the quest.";
+		mes "Please make some room in your inventory.";
+		close;
+	}
+	cutin "ep13_heslanta.bmp",2;
+	mes "[Jeruth Hesranta]";
+	if (ep13_3_secret < 22) {
+		mes "I'm Hesranta, commander of the Sappha army.";
+		mes "It's my honor to fight beside you Humans.";
+		close3;
+	}
+	if (ep13_3_secret < 24) {// custom translation
+		mes "I didn't expect to see you here!";
+		mes "... although a lot of things happened, I'm still waiting for you to complete the first thing I asked!";
+		next;
+		mes "[Jeruth Hesranta]";
+		mes "Please come back to help me!";
+		close3;
+	}
+	if (ep13_3_secret == 24) {
+		mes "Long time, no see.";
+		mes "Do you remember me?";
+		mes "We had an important discussion together back in Diel.";
+		next;
+		select("Why are you here?");
+		mes "[Jeruth Hesranta]";
+		mes "I persuaded the Elders to let me bring an army here.";
+		mes "As you suspected, Ahat isn't a Sappha.";
+		next;
+		mes "[Jeruth Hesranta]";
+		mes "Only I'm aware of that knowledge at the moment.";
+		mes "Everyone else has pretty much forgotten he ever existed.";
+		next;
+		mes "[Jeruth Hesranta]";
+		mes "My undying suspicion about him kept me safe from Ahat's hypnosis.";
+		mes "He used the unspeakable talent to disappear.";
+		next;
+		mes "[Jeruth Hesranta]";
+		mes "After he disappeared, I persuaded the Elders that we must join the subjugation of the Demon God.";
+		mes "Other Sapphas were against me, for the safety of our kind,";
+		next;
+		mes "[Jeruth Hesranta]";
+		mes "but it's in our nature to help our friends at all costs.";
+		mes "So I've brought our bravest Gartens to the battlefield.";
+		next;
+		mes "[Jeruth Hesranta]";
+		mes "Long story short,";
+		mes "you no longer have to work for Ahat.";
+		mes "If you need the Contribution Certificate, do me a favor later and I'll give you one.";
+		next;
+		mes "[Jeruth Hesranta]";
+		mes "You know Chesher, don't you?";
+		mes "When it comes to him,";
+		mes "I can't trust anyone else.";
+		next;
+		mes "[Jeruth Hesranta]";
+		mes "I want to collect information about him first before I proceed with my plan.";
+		mes "Please stay safe until I talk to you again.";
+		ep13_3_secret = 25;
+		ep13_3_ahtdayq = 0;
+		if (isbegin_quest(7200) > 0)
+			erasequest 7200;// Cheshire's call
+		if (isbegin_quest(7201) > 0)
+			erasequest 7201;// Removing traces
+		getitem 6304,1;// Sapa_Feat_Cert
+		delitem 6305, countitem(6305);	// Frozen_Skin_Piece
+		delitem 6306, countitem(6306);	// Solid_Bloodstain
+		delitem 6307, countitem(6307);	// Suspicious_Magic_Stone
+		close3;
+	}
+	if (ep13_3_secret == 25) {
+		if (BaseLevel < 140) {// custom translation
+			mes "Do you remember that we talked about Chesher?";
+			mes "He's a sensitive issue, so I can't talk to other Sapphas about him.";
+			next;
+			mes "[Jeruth Hesranta]";
+			mes "But... it does not seem to please you,";
+			mes "go back and train some more.";
+			close3;
+		}
+		mes "Do you remember that we talked about Chesher?";
+		mes "He's a sensitive issue, so I can't talk to other Sapphas about him.";
+		mes "And I was thinking...";
+		next;
+		mes "[Jeruth Hesranta]";
+		mes "Maybe you could help me confirm my suspicion.";
+		next;
+		select("What suspicion?");
+		mes "[Jeruth Hesranta]";
+		mes "There are some things that don't seem to belong to this Flaming Basin.";
+		mes "They're boxes of some kind.";
+		next;
+		mes "[Jeruth Hesranta]";
+		mes "Animated by the Demon God's evil energy, those boxes are running amok about the basin.";
+		mes "Now I'm concerned...";
+		next;
+		select("You're concerned?");
+		mes "[Jeruth Hesranta]";
+		mes "They're the spitting images of Bradium Boxes in Dicastes.";
+		mes "Could you exterminate them and help me determine their identity?";
+		next;
+		mes "[Jeruth Hesranta]";
+		mes "They really could be the Bradium Boxes that Chesher stole from Dicastes.";
+		mes "If so, I can use the boxes to replenish my army.";
+		next;
+		select("And retrieve the stolen Bradiums as well.");
+		mes "[Jeruth Hesranta]";
+		mes "Correct. My army isn't getting much support, since this expedition has been solely my idea.";
+		mes "It's just wishful thinking; we won't know until we have the boxes.";
+		next;
+		mes "[Jeruth Hesranta]";
+		mes "For now please hunt one box and let me know what you find from it.";
+		mes "I'll be waiting.";
+		setquest 7578;// Rampaging Box
+		ep13_3_secret = 26;
+		close3;
+	}
+	if (ep13_3_secret == 26) {
+		if (checkquest(7578,HUNTING) != 2) {
+			cutin "ep13_heslanta.bmp",2;
+			mes "[Jeruth Hesranta]";
+			mes "Just hunt 1 ^4d4dffRampaging Box^000000 and bring me what you find inside it.";
+			if (isbegin_quest(7578) == 0)
+				setquest 7578;
+			close3;
+		}
+		if (countitem(6392) < 1) {// Bradium_Box
+			mes "I see that you've subjugated a Rampaging Box,";
+			mes "but my real objective was to check its contents.";
+			mes "^4d4dffPlease exterminate a box and bring me the item you've found from it.^000000";
+			close3;
+		}
+		mes "I was right.";
+		mes "It's amazing how such an animate object can move on its own.";
+		mes "It must be enchanted, don't you think?";
+		next;
+		mes "[Jeruth Hesranta]";
+		mes "This confirms my suspicion:";
+		mes "those boxes in the Flaming Basin are Bradium Boxes from El Dicastes.";
+		next;
+		mes "[Jeruth Hesranta]";
+		mes "I don't want to impose on your kindness, but I hope you'll continue to hunt these boxes.";
+		mes "You're the only one I can trust with this, at least for now.";
+		mes "Gartens are brave, but they'll want to understand why Bradium Boxes are found in this place.";
+		next;
+		mes "[Jeruth Hesranta]";
+		mes "Then I'll have to tell them everything,";
+		mes "starting with Ahat, and that most Sapphas have forgotten about him will make things really complicated.";
+		next;
+		select("When do I start?");
+		mes "[Jeruth Hesranta]";
+		mes "How about now?";
+		mes "^4d4dffPlease hunt those Rampaging Boxes and collect 10 Bradium Boxes.^000000";
+		delitem 6392,1;// Bradium_Box
+		completequest 7578;// Rampaging Box
+		setquest 7579;// Collecting Bradiums
+		ep13_3_secret = 27;
+		getexp 300000,300000;
+		close3;
+	}
+	switch( checkquest(7580,PLAYTIME) ) {
+	case -1:
+		switch( checkquest(7579,HUNTING) ) {
+		case 0:
+			cutin "ep13_heslanta.bmp",2;
+			mes "[Jeruth Hesranta]";
+			mes "Welcome back.";
+			mes "Are you ready for the day?";
+			break;
+		case 1:
+			cutin "ep13_heslanta.bmp",2;
+			mes "[Jeruth Hesranta]";
+			mes "Rampaging Boxes themselves aren't threatening, but they're surrounded by dangerous monsters. Please be careful.";
+			next;
+			mes "[Jeruth Hesranta]";
+			mes "Happy hunting!";
+			close3;
+		case 2:
+			if (countitem(6392) < 10) {
+				mes "It's amazing how those ore-filled boxes are moving on their own.";
+				mes "Maybe that's how the Demon God is recruiting his soldiers.";
+				close3;
+			}
+			cutin "ep13_heslanta.bmp",2;
+			mes "[Jeruth Hesranta]";
+			mes "Good job.";
+			mes "I can't thank you enough.";
+			mes "Let me take all the Bradium Boxes.";
+			next;
+			mes "[Jeruth Hesranta]";
+			mes "I can feel other people's eyes on us. Hah hah.";
+			mes "See you again.";
+			delitem 6392, countitem(6392);// Bradium_Box
+			erasequest 7579;// Collecting Bradiums
+			setquest 7580;// Collecting Every Day
+			getexp 800000,800000;
+			getitem 6304,1;// Sapa_Feat_Cert
+			close3;
+		}
+		break;
+	case 0:
+	case 1:
+		mes "Hah hah, we're not in a hurry at the moment.";
+		mes "I wonder if Chesher knows we're stealing back his Bradium Boxes.";
+		next;
+		mes "[Jeruth Hesranta]";
+		mes "What should I feed the poor cat later?";
+		mes "Oh, keep up the good work collecting Bradium Boxes.";
+		break;
+	case 2:
+		cutin "ep13_heslanta.bmp",2;
+		mes "[Jeruth Hesranta]";
+		mes "It's time to collect Bradium Boxes.";
+		erasequest 7580;// Collecting Every Day
+		break;
+	}
+	next;
+	if (select( "I'll get on with it.", "I'll come back later." ) == 2) {
+		mes "[Jeruth Hesranta]";
+		mes "No problem.";
+		mes "Come back whenever you can.";
+		next;
+		mes "[Jeruth Hesranta]";
+		mes "I'm sorry that";
+		mes "I can't stop asking you for favors.";
+		close3;
+	}
+	mes "[Jeruth Hesranta]";
+	mes "That's the spirit!";
+	mes "hunt Rampaging Boxes and collect Bradiums.";
+	setquest 7579;// Collecting Bradiums
+	close3;
+
+OnInit:
+/* officially disabled
+	questinfo 1, QTYPE_QUEST2;
+	setquestinfo_level 1,140,160;
+	SetQuestItem 1 3650 24
+*/
+
+	questinfo 7579, QTYPE_QUEST2;
+	setquestinfo_req 7579,7580,0;
+	setquestinfo_level 7579,140,160;
+	// 3650 = [ep13_3_secret]
+	// SetQuestItem 7579 3650 26 "<"
+	end;
+}
+
+// Others
+function	script	kick_mob	{
+	sleep2 1000;
+	npctalk getarg(0);
+	specialeffect EF_METEORSTORM;
+	sleep2 getarg(1);
+	unitwarp 0,"moro_vol",165,165;
+	return;
+}
+
+moro_vol,88,107,5	script	Magic Scholar Dophe#143vol01	4_F_FAIRYKID5,{
+ 	mes "[Dophe]";
+ 	mes "A Human, I see.";
+ 	mes "Looking at you, I can't help but muse on our situation.";
+ 	mes "You and I are having conversation.";
+ 	next;
+ 	mes "[Dophe]";
+ 	mes "This so-called Dimensional Crack, where the Demon God has taken up residence, falls into Bifrost's jurisdiction.";
+ 	next;
+	mes "[Dophe]";
+	mes "He and us are like two sides of the coin, or above and below the waterline.";
+	next;
+	mes "[Dophe]";
+	mes "He and us aren't exactly running parallel to each other, but maybe standing in a universe parallel to each other's.";
+	next;
+	mes "[Dophe]";
+	mes "...";
+	next;
+	mes "[Dophe]";
+	mes "My point is:";
+	mes "he could be under our nose, and we're unable to see him.";
+	mes "If his lair is located somewhere in Bifrost's territory,";
+	next;
+	mes "[Dophe]";
+	mes "the only possible scenario for us is";
+	mes "obliteration.";
+	close;
+}
+
+moro_vol,87,104,5	script	Magic Scholar Konpana#143vol02	4_M_FAIRYKID5,{
+	mes "[Konpana]";
+	mes "This place is nothing like I've imagined.";
+	mes "No grassy field or forest, really?";
+	close;
+}
+
+moro_vol,88,102,6	script	Magic Scholar Makia#143vol03	4_M_FAIRYKID3,{
+	mes "[Makia]";
+	mes "This place is overrun with strange creatures.";
+	mes "Everywhere is burning with fire, yet the air isn't suffocating.";
+	mes "Amazing.";
+	close;
+}
+
+moro_vol,104,109,0	script	Combat Laphine#sol01	4_M_FAIRYSOLDIER,{ end; }
+moro_vol,106,109,0	duplicate(Combat Laphine#sol01)	Combat Laphine#sol02	4_M_FAIRYSOLDIER
+moro_vol,108,109,0	duplicate(Combat Laphine#sol01)	Combat Laphine#sol03	4_M_FAIRYSOLDIER
+moro_vol,104,107,0	duplicate(Combat Laphine#sol01)	Combat Laphine#sol04	4_M_FAIRYSOLDIER
+moro_vol,106,107,0	duplicate(Combat Laphine#sol01)	Combat Laphine#sol05	4_M_FAIRYSOLDIER
+moro_vol,108,107,0	duplicate(Combat Laphine#sol01)	Combat Laphine#sol06	4_M_FAIRYSOLDIER
+moro_vol,104,105,0	duplicate(Combat Laphine#sol01)	Combat Laphine#sol07	4_M_FAIRYSOLDIER
+moro_vol,106,105,0	duplicate(Combat Laphine#sol01)	Combat Laphine#sol08	4_M_FAIRYSOLDIER
+moro_vol,108,105,0	duplicate(Combat Laphine#sol01)	Combat Laphine#sol09	4_M_FAIRYSOLDIER
+
+moro_vol,106,111,3	script	Battle Commander#sol10	4_M_FAIRYSOLDIER,3,3,{
+	mes "[Commander Laphine]";
+	mes "We're in the process of regrouping for the upcoming battle.";
+	mes "Please don't bother us.";
+	close;
+
+OnTouch:
+	if (getvariableofnpc(.is_enabled,"#soltalk01") == 0)
+		donpcevent "#soltalk01::OnEventOn";
+	end;
+}
+
+moro_vol,2,2,0	script	#soltalk01	CLEAR_NPC,{
+	end;
+OnEventOn:
+	.is_enabled = 1;
+	enablenpc "#soltalk01";
+	sleep 3000;
+	npctalk "Commander: Soldiers, finally it's time to put your training to use!", "Battle Commander#sol10";
+	sleep 3000;
+	npctalk "Commander: WE ARE!", "Battle Commander#sol10";
+	sleep 2000;
+	npctalk "WE ARE!", "Combat Laphine#sol01";
+	npctalk "WE ARE!", "Combat Laphine#sol02";
+	npctalk "WE ARE!", "Combat Laphine#sol03";
+	sleep 1500;
+	npctalk "THE PROUD!", "Combat Laphine#sol04";
+	npctalk "THE PROUD!", "Combat Laphine#sol05";
+	npctalk "THE PROUD!", "Combat Laphine#sol06";
+	sleep 1500;
+	npctalk "LAPHNES!", "Combat Laphine#sol07";
+	npctalk "LAPHNES!", "Combat Laphine#sol08";
+	npctalk "LAPHNES!", "Combat Laphine#sol09";
+	sleep 3000;
+	npctalk "Commander: We fight evil!", "Battle Commander#sol10";
+	sleep 2000;
+	npctalk "Fight evil!", "Combat Laphine#sol01";
+	npctalk "Fight evil!", "Combat Laphine#sol02";
+	npctalk "Fight evil!", "Combat Laphine#sol03";
+	npctalk "Fight evil!", "Combat Laphine#sol04";
+	npctalk "Fight evil!", "Combat Laphine#sol05";
+	npctalk "Fight evil!", "Combat Laphine#sol06";
+	npctalk "Fight evil!", "Combat Laphine#sol07";
+	npctalk "Fight evil!", "Combat Laphine#sol08";
+	npctalk "Fight evil!", "Combat Laphine#sol09";
+	sleep 17000;
+	disablenpc "#soltalk01";
+	.is_enabled = 0;
+	end;
+
+OnInit:
+	disablenpc "#soltalk01";
+	end;
+}
+
+moro_vol,101,102,0	script	Laphine Magician#wsol01	4_F_FAIRY2,{
+	.@ttemp = rand(1,5);
+	if (.@ttemp == 1)
+		npctalk "...Freeze them all! Freeze!";
+	else if (.@ttemp == 2)
+		npctalk "(Exhaling through his mouth)";
+	else if (.@ttemp == 3)
+		npctalk "...";
+	else if (.@ttemp == 4)
+		npctalk "...";
+	else
+		npctalk "The Guardian is watching. I can't make any mistakes.";
+	end;
+}
+
+moro_vol,103,102,0	script	Laphine Magician#wsol02	4_F_MORAFINE1,{
+	if (rand(1,5) == 5)
+		npctalk "Shush.";
+	else
+		npctalk "...";
+	end;
+}
+
+moro_vol,105,102,0	script	Laphine Magician#wsol03	4_M_FAIRYKID5,{
+	.@ttemp = rand(1,5);
+	if (.@ttemp == 1)
+		npctalk "Those Humans behind us are bothering me.";
+	else if (.@ttemp == 2)
+		npctalk "I shouldn't have volunteered to come here. I miss my yai...";
+	else if (.@ttemp == 3)
+		npctalk "...";
+	else if (.@ttemp == 4)
+		npctalk "How long do we have to wait?";
+	else
+		npctalk "Sigh.";
+	end;
+}
+
+moro_vol,107,102,0	script	Laphine Magician#wsol04	4_F_FAIRYKID5,{
+	.@ttemp = rand(1,5);
+	if (.@ttemp == 1)
+		npctalk "I'm nervous.";
+	else if (.@ttemp == 2)
+		npctalk "The Sapphas aren't enemies... The Sapphas aren't enemies... Argh, but I want to beat them senseless!";
+	else if (.@ttemp == 3)
+		npctalk "...";
+	else if (.@ttemp == 4)
+		npctalk "...";
+	else
+		npctalk "I'm trying to remember to fire the moment I see the enemy.";
+	end;
+}
+
+moro_vol,109,102,0	script	Laphine Magician#wsol05	4_M_FAIRYKID5,{
+	.@ttemp = rand(1,5);
+	if (.@ttemp == 1)
+		npctalk "I'm trying to remember to fire the moment I see the enemy.";
+	else if (.@ttemp == 2)
+		npctalk "I like tension--it keeps me on edge. Heh heh.";
+	else if (.@ttemp == 3)
+		npctalk "...";
+	else if (.@ttemp == 4)
+		npctalk "...";
+	else
+		npctalk "I'm nervous.";
+	end;
+}
+
+moro_vol,93,128,1	script	Combat Laphine#line01	4_M_FAIRYSOLDIER2,2,3,{
+	.@ttemp = rand(1,5);
+	if (.@ttemp == 1)
+		npctalk "Yeah, yeah~";
+	else if (.@ttemp == 2)
+		npctalk "Watch out!";
+	else if (.@ttemp == 3)
+		npctalk "*Yawn*";
+	else if (.@ttemp == 4)
+		npctalk "Please be careful.";
+	else
+		npctalk "Back off--it's dangerous!";
+	end;
+
+OnTouchNPC:
+	.@hidden_name$ = strnpcinfo(2);
+	if (.@hidden_name$ == "line01")      kick_mob( "Enemy in sight!",2000 );
+	else if (.@hidden_name$ == "line03") kick_mob( "G-get away!",2000 );
+	else if (.@hidden_name$ == "line05") kick_mob( "Don't you dare!",2000 );
+	else if (.@hidden_name$ == "line07") kick_mob( "Enemy in sight!",2000 );
+	end;
+}
+
+moro_vol,96,130,1	duplicate(Combat Laphine#line01)	Combat Laphine#line02	4_M_FAIRYSOLDIER2
+moro_vol,99,131,1	duplicate(Combat Laphine#line01)	Combat Laphine#line03	4_M_FAIRYSOLDIER2,2,3
+moro_vol,102,132,7	duplicate(Combat Laphine#line01)	Combat Laphine#line04	4_M_FAIRYSOLDIER
+moro_vol,105,132,7	duplicate(Combat Laphine#line01)	Combat Laphine#line05	4_F_FAIRYSOLDIER,2,3
+moro_vol,108,131,7	duplicate(Combat Laphine#line01)	Combat Laphine#line06	4_M_FAIRYSOLDIER2
+moro_vol,111,129,7	duplicate(Combat Laphine#line01)	Combat Laphine#line07	4_M_FAIRYSOLDIER,2,3
+
+moro_vol,85,117,1	script	Combat Laphine#line11	4_F_FAIRYSOLDIER,2,2,{
+	.@ttemp = rand(1,5);
+	if (.@ttemp == 1)
+		npctalk "Yeah, yeah~";
+	else if (.@ttemp == 2)
+		npctalk "Watch out!";
+	else if (.@ttemp == 3)
+		npctalk "You're in a war zone. Don't let your guard down.";
+	else if (.@ttemp == 4)
+		npctalk "Please be careful.";
+	else
+		npctalk "I'm worried for the guys at the front lines.";
+	end;
+
+OnTouchNPC:
+	.@hidden_name$ = strnpcinfo(2);
+	if (.@hidden_name$ == "line11")      kick_mob( "You've come this far, huh?",2000 );
+	else if (.@hidden_name$ == "line13") kick_mob( "Enemy in sight!",2000 );
+	else if (.@hidden_name$ == "line15") kick_mob( "I'll wipe the floor with you!",2000 );
+	else if (.@hidden_name$ == "line17") kick_mob( "Yaap-!",2000 );
+	else if (.@hidden_name$ == "line19") kick_mob( "Enemy in sight!",2000 );
+	end;
+}
+
+moro_vol,89,118,1	duplicate(Combat Laphine#line11)	Combat Laphine#line12	4_M_FAIRYSOLDIER
+moro_vol,92,119,7	duplicate(Combat Laphine#line11)	Combat Laphine#line13	4_M_FAIRYSOLDIER,2,2
+moro_vol,96,119,7	duplicate(Combat Laphine#line11)	Combat Laphine#line14	4_M_FAIRYSOLDIER2
+moro_vol,100,117,7	duplicate(Combat Laphine#line11)	Combat Laphine#line15	4_M_FAIRYSOLDIER,2,2
+moro_vol,107,118,7	duplicate(Combat Laphine#line11)	Combat Laphine#line17	4_F_FAIRYSOLDIER,2,2
+moro_vol,114,114,7	duplicate(Combat Laphine#line11)	Combat Laphine#line19	4_M_FAIRYSOLDIER2,2,2
+
+moro_vol,103,118,1	script	Combat Laphine#line16	4_F_FAIRYSOLDIER,{
+	.@ttemp = rand(1,5);
+	if (.@ttemp == 1)
+		npctalk "The Sapphas had better not flank us.";
+	else if (.@ttemp == 2)
+		npctalk "Watch out!";
+	else if (.@ttemp == 3)
+		npctalk "You're in a war zone. Don't let your guard down.";
+	else if (.@ttemp == 4)
+		npctalk "Please be careful.";
+	else
+		npctalk "I'm worried for the guys at the front lines.";
+	end;
+}
+
+moro_vol,110,117,7	duplicate(Combat Laphine#line16)	Combat Laphine#line18	4_M_FAIRYSOLDIER2
+
+moro_vol,104,86,3	script	Ryoson#14304	4_M_ALCHE_A,{
+	mes "[Ryoson]";
+	mes "Of course I'm nervous. You don't have to ask me that.";
+	mes "Why the Administrative Officer put me in charge of the knights is beyond me.";
+	next;
+	mes "[Ryoson]";
+	mes "They're not knights-in-training, or even apprentice knights. They're freaking Rune Knights.";
+	mes "Ah, I'm too inexperienced and powerless to do anything with them.";
+	next;
+	mes "[Ryoson]";
+	mes "At least my safety is guaranteed so long as the three knights are with me.";
+	mes "I hope.";
+	close;
+}
+
+moro_vol,101,87,5	script	Rune-Midgarts Knight#mid01	4_M_KNIGHT_BLACK,{
+	.@ttemp = rand(1,5);
+	if (.@ttemp == 1)
+		npctalk "...";
+	else if (.@ttemp == 2)
+		npctalk "Too quiet.";
+	else if (.@ttemp == 3)
+		npctalk "I really need to let off some steam.";
+	else if (.@ttemp == 4)
+		npctalk "Grr...";
+	else
+		npctalk "...";
+	end;
+}
+
+moro_vol,101,85,5	script	Rune-Midgarts Knight#mid02	4_M_KNIGHT_GOLD,{
+	.@ttemp = rand(1,5);
+	if (.@ttemp == 1)
+		npctalk "I'm here to protect important personnel.";
+	else if (.@ttemp == 2)
+		npctalk "Ryoson, don't panic--fear spreads like wildfire.";
+	else if (.@ttemp == 3)
+		npctalk "I really hope I can accomplish my mission.";
+	else if (.@ttemp == 4)
+		npctalk "Sigh.";
+	else
+		npctalk "So far, so good.";
+	end;
+}
+
+moro_vol,103,83,1	script	Rune-Midgarts Knight#mid03	4_M_KNIGHT_SILVER,{
+	.@ttemp = rand(1,5);
+	if (.@ttemp == 1)
+		npctalk "Ryoson, no one's going to bite ya. Don't be so afraid.";
+	else if (.@ttemp == 2)
+		npctalk "Fighting the Demon God is like every knight's wet dream has come true.";
+	else if (.@ttemp == 3)
+		npctalk "Hmm...";
+	else if (.@ttemp == 4)
+		npctalk "Tension in the battlefield always thrills me.";
+	else
+		npctalk "...";
+	end;
+}
+
+moro_vol,110,83,3	script	Hugh#14305	4_M_LGTGUARD,{
+	mes "[Hugh]";
+	mes "We're here at last.";
+	mes "At first, I couldn't believe all those rumors about the Demon God's hideout and stronghold.";
+	next;
+	mes "[Hugh]";
+	mes "As things stand, I have no hope of going back to the mainland any time soon.";
+	next;
+	mes "[Hugh]";
+	mes "Gosh, I'm tired of those guys.";
+	mes "I'd better find the Demon God quickly.";
+	next;
+	mes "[Hugh]";
+	mes "Have I thought about losing?";
+	mes "I have, but I try not to.";
+	mes "I'll never going to win if I let myself believe I'll lose.";
+	next;
+	mes "[Hugh]";
+	mes "We Schwarzwaldians are born to win.";
+	close;
+}
+
+moro_vol,108,81,7	script	Schwarzwald Elite#sch01	4_M_EIN_SOLDIER,{
+	.@ttemp = rand(1,5);
+	if (.@ttemp == 1)
+		npctalk "For the glory of Schwarzwald!";
+	else if (.@ttemp == 2)
+		npctalk "I thought Einbroch had bad air, and this place is no better.";
+	else if (.@ttemp == 3)
+		npctalk "...";
+	else if (.@ttemp == 4)
+		npctalk "We're going to win!";
+	else
+		npctalk "...";
+	end;
+}
+
+moro_vol,111,80,1	script	Schwarzwald Elite#sch02	4_M_EIN_SOLDIER,{
+	.@ttemp = rand(1,5);
+	if (.@ttemp == 1)
+		npctalk "For the glory of Schwarzwald!";
+	else if (.@ttemp == 2)
+		npctalk "For Midgard!";
+	else if (.@ttemp == 3)
+		npctalk "...";
+	else if (.@ttemp == 4)
+		npctalk "We're going to win!";
+	else
+		npctalk "...";
+	end;
+}
+
+moro_vol,113,81,3	script	Schwarzwald Elite#sch03	4_M_EIN_SOLDIER,{
+	.@ttemp = rand(1,5);
+	if (.@ttemp == 1)
+		npctalk "Sigh.";
+	else if (.@ttemp == 2)
+		npctalk "Which one would you prefer: fighting the Demon God or standing watch in Einbroch?";
+	else if (.@ttemp == 3)
+		npctalk "My eyes are suddenly misty... I'd better chin up... *Inhale*";
+	else if (.@ttemp == 4)
+		npctalk "We're going to win, though.";
+	else
+		npctalk "I wish I trained harder.";
+	end;
+}
+
+
+moro_vol,118,86,5	script	Henjinne#14306	4_M_RACHMAN1,{
+	mes "[Henjinne]";
+	mes "This place is much more exciting than I imagined!";
+	mes "Where's the Demon God anyway?";
+	next;
+	mes "[Henjinne]";
+	mes "Neither hide nor hair of him is to be seen.";
+	mes "Mwah hah hah!";
+	close;
+}
+
+moro_vol,116,84,7	script	Arunafeltz Crusader#aru01	4_M_TRAINEE,{
+	.@ttemp = rand(1,5);
+	if (.@ttemp == 1)
+		npctalk "Everything is Her will.";
+	else if (.@ttemp == 2)
+		npctalk "Having to coexist with heretics...";
+	else if (.@ttemp == 3)
+		npctalk "I've never seen so many different groups of heretics congregating in one place.";
+	else if (.@ttemp == 4)
+		npctalk "May the Goddess bless you.";
+	else
+		npctalk "...";
+	end;
+}
+
+moro_vol,118,83,7	script	Arunafeltz Crusader#aru02	4_F_MASK,{
+	.@ttemp = rand(1,5);
+	if (.@ttemp == 1)
+		npctalk "Everything is Her will.";
+	else if (.@ttemp == 2)
+		npctalk "Having to coexist with heretics...";
+	else if (.@ttemp == 3)
+		npctalk "I've never seen so many different groups of heretics congregating in one place.";
+	else if (.@ttemp == 4)
+		npctalk "May the Goddess bless you.";
+	else
+		npctalk "...";
+	end;
+}
+
+moro_vol,121,84,1	script	Arunafeltz Crusader#aru03	4_F_TRAINEE,{
+	.@ttemp = rand(1,5);
+	if (.@ttemp == 1)
+		npctalk "Goddess is watching over us.";
+	else if (.@ttemp == 2)
+		npctalk "May the Goddess bless you.";
+	else if (.@ttemp == 3)
+		npctalk "Everything is Her will.";
+	else if (.@ttemp == 4)
+		npctalk "Having to coexist with heretics...";
+	else
+		npctalk "...";
+	end;
+}
+
+moro_vol,119,106,3	script	Instructor Jakken#h_sol01	4_M_YOUNGKNIGHT,3,3,{
+	mes "[Instructor Jakken]";
+	mes "When I volunteered for the Ash-Bakum Expedition, I knew this day would come.";
+	next;
+	mes "[Instructor Jakken]";
+	mes "I'm ready.";
+	mes "I'm going to fight to the death for the peace of the Midgard Continent.";
+	next;
+	mes "[Instructor Jakken]";
+	mes "But I'm nervous all the same.";
+	mes "I really need to work on my emotional control. I don't want to scare anyone else.";
+	close;
+
+OnTouch:
+	if (getvariableofnpc(.is_enabled,"#soltalk02") == 0)
+		donpcevent "#soltalk02::OnEventOn";
+	end;
+}
+
+moro_vol,2,3,0	script	#soltalk02	CLEAR_NPC,{
+	end;
+OnEventOn:
+	.is_enabled = 1;
+	enablenpc "#soltalk02";
+	sleep 3000;
+	npctalk "Jakken: Soldiers, we're from different countries, but we've gathered here for one goal!", "Instructor Jakken#h_sol01";
+	sleep 3000;
+	npctalk "Jakken: Let's show the enemy the power of our union!", "Instructor Jakken#h_sol01";
+	sleep 2000;
+	npctalk "Jakken: Commence your march to glory!", "Instructor Jakken#h_sol01";
+	sleep 1500;
+	npctalk "At dawn~", "Midgard Alliance Soldier#h_sol02";
+	npctalk "I had a dream~", "Midgard Alliance Soldier#h_sol03";
+	npctalk "Of my home~", "Midgard Alliance Soldier#h_sol04";
+	sleep 3000;
+	npctalk "I put on my jacket~", "Midgard Alliance Soldier#h_sol05";
+	npctalk "Put on my helm~", "Midgard Alliance Soldier#h_sol06";
+	npctalk "Getting ready for a new day~", "Midgard Alliance Soldier#h_sol07";
+	sleep 3000;
+	npctalk "I'm ready~", "Midgard Alliance Soldier#h_sol08";
+	npctalk "I wear my sword~", "Midgard Alliance Soldier#h_sol09";
+	npctalk "Step out under the morning sun~", "Midgard Alliance Soldier#h_sol10";
+	sleep 3000;
+	npctalk "I look up~", "Midgard Alliance Soldier#h_sol11";
+	npctalk "I look up~", "Midgard Alliance Soldier#h_sol12";
+	npctalk "Look forward~", "Midgard Alliance Soldier#h_sol13";
+	sleep 3000;
+	npctalk "Water's pure~", "Midgard Alliance Soldier#h_sol02";
+	npctalk "Mountains are green~", "Midgard Alliance Soldier#h_sol03";
+	npctalk "For my home~", "Midgard Alliance Soldier#h_sol04";
+	sleep 3000;
+	npctalk "I won't stop~", "Midgard Alliance Soldier#h_sol05";
+	npctalk "Until I defeat", "Midgard Alliance Soldier#h_sol06";
+	npctalk "The Demon God!", "Midgard Alliance Soldier#h_sol07";
+	sleep 3000;
+	npctalk "I won't stop~", "Midgard Alliance Soldier#h_sol08";
+	npctalk "Until I defeat", "Midgard Alliance Soldier#h_sol09";
+	npctalk "The Demon God!", "Midgard Alliance Soldier#h_sol10";
+	sleep 3000;
+	npctalk "Waaaah-!", "Midgard Alliance Soldier#h_sol11";
+	npctalk "Haaaaah-!", "Midgard Alliance Soldier#h_sol12";
+	npctalk "Haaaaah-!", "Midgard Alliance Soldier#h_sol13";
+	sleep 18000;
+	disablenpc "#soltalk02";
+	.is_enabled = 0;
+	end;
+
+OnInit:
+	disablenpc "#soltalk02";
+	end;
+}
+
+moro_vol,117,104,1	duplicate(Combat Laphine#sol01)	Midgard Alliance Soldier#h_sol02	4_M_MOC_SOLDIER
+moro_vol,117,102,1	duplicate(Combat Laphine#sol01)	Midgard Alliance Soldier#h_sol05	4_M_MOC_SOLDIER
+moro_vol,117,100,1	duplicate(Combat Laphine#sol01)	Midgard Alliance Soldier#h_sol08	4_M_MOC_SOLDIER
+moro_vol,117,98,1	duplicate(Combat Laphine#sol01)	Midgard Alliance Soldier#h_sol11	4_M_MOC_SOLDIER
+moro_vol,119,104,1	duplicate(Combat Laphine#sol01)	Midgard Alliance Soldier#h_sol03	4_M_EIN_SOLDIER
+moro_vol,119,102,1	duplicate(Combat Laphine#sol01)	Midgard Alliance Soldier#h_sol06	4_M_EIN_SOLDIER
+moro_vol,119,100,1	duplicate(Combat Laphine#sol01)	Midgard Alliance Soldier#h_sol09	4_M_LGTGUARD
+moro_vol,119,98,1	duplicate(Combat Laphine#sol01)	Midgard Alliance Soldier#h_sol12	4_M_LGTGUARD
+moro_vol,121,104,1	duplicate(Combat Laphine#sol01)	Midgard Alliance Soldier#h_sol04	4_M_RASWORD
+moro_vol,121,102,1	duplicate(Combat Laphine#sol01)	Midgard Alliance Soldier#h_sol07	4_M_RASWORD
+moro_vol,121,100,1	duplicate(Combat Laphine#sol01)	Midgard Alliance Soldier#h_sol10	4_DST_SOLDIER
+moro_vol,121,98,1	duplicate(Combat Laphine#sol01)	Midgard Alliance Soldier#h_sol13	4_DST_SOLDIER
+
+moro_vol,105,97,3	script	Expedition Assassin#ass01	4_M_ACROSS,{
+	mes "[Expedition Assassin]";
+	mes "A new mission will be announced soon.";
+	mes "Our objective is to locate the Demon God.";
+	next;
+	mes "[Expedition Assassin]";
+	mes "Let me check the intel our predecessors have left for us.";
+	next;
+	mes "[Expedition Assassin]";
+	mes "...";
+	mes "It's rude to eavesdrop on others, even if they're your colleagues.";
+	close;
+}
+
+moro_vol,103,96,5	script	Expedition Assassin#ass02	4_F_ACROSS,{
+	mes "[Expedition Assassin]";
+	mes "This area... Well,";
+	mes "I'll check it out later.";
+	next;
+	mes "[Expedition Assassin]";
+	mes "Sigh.";
+	mes "Can't you see we're having a meeting? Please leave.";
+	close;
+}
+
+moro_vol,105,95,1	script	Expedition Assassin#ass03	4_TOWER_15,{
+	mes "[Expedition Assassin]";
+	mes "... ";
+	mes "Well, I'm at the bottom of the food chain.";
+	mes "I just watch what my seniors do.";
+	mes "That's all.";
+	close;
+}
+
+moro_vol,114,128,1	script	Continental Guard#line01	4_M_MOCASS1,2,2,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "It is dangerous past this point. Please move back.";
+	else if (.@ttemp == 2)
+		npctalk "All clear.";
+	else
+		npctalk "Please be careful.";
+	end;
+
+OnTouchNPC:
+	kick_mob( "Don't you dare!",1000 );
+	end;
+}
+
+moro_vol,119,130,1	duplicate(Continental Guard#line01)	Continental Guard#line02	4_M_MOCASS2
+moro_vol,122,130,7	duplicate(Continental Guard#line01)	Continental Guard#line03	4_M_MOCASS1,2,2
+moro_vol,125,129,7	duplicate(Continental Guard#line01)	Continental Guard#line04	4_M_MOCASS1
+moro_vol,127,127,7	duplicate(Continental Guard#line01)	Continental Guard#line05	4_M_MOCASS2
+
+moro_vol,135,123,1	script	Midgard Alliance Soldier#line21	4_M_MONK,2,2,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "Those Continentals are damn good fighters.";
+	else if (.@ttemp == 2)
+		npctalk "Those Arunafeltz knuckleheads, why don't they come forward?";
+	else
+		npctalk "I can take down any of you!";
+	end;
+
+OnTouchNPC:
+	kick_mob( "Don't you dare!",1000 );
+	end;
+}
+
+moro_vol,139,124,1	script	Midgard Alliance Soldier#line22	4_F_CRU,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "...";
+	else if (.@ttemp == 2)
+		npctalk "Please be careful.";
+	else
+		npctalk "They don't stop coming.";
+	end;
+}
+
+moro_vol,143,124,1	script	Midgard Alliance Soldier#line23	4_M_JOB_WIZARD,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "The Guardians are making things easier, but...";
+	else if (.@ttemp == 2)
+		npctalk "Step back.";
+	else
+		npctalk "Sigh...";
+	end;
+}
+
+moro_vol,147,124,7	script	Midgard Alliance Soldier#line24	4_M_MOC_SOLDIER,2,2,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "...";
+	else if (.@ttemp == 2)
+		npctalk "Please be careful.";
+	else
+		npctalk "Please step back.";
+	end;
+
+OnTouchNPC:
+	kick_mob( "Enemy in sight!",1000 );
+	end;
+}
+
+moro_vol,150,121,7	script	Midgard Alliance Soldier#line25	4_M_MOC_SOLDIER,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "Wh-where's the next relief?!";
+	else if (.@ttemp == 2)
+		npctalk "Why are we the only ones on the front line?";
+	else
+		npctalk "D-don't come closer!";
+	end;
+}
+
+moro_vol,151,119,7	script	Midgard Alliance Soldier#line26	4_M_EIN_SOLDIER,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "Stop acting like a hero and move back!";
+	else if (.@ttemp == 2)
+		npctalk "I'm always on guard duty wherever I go.";
+	else
+		npctalk "I can get through the night. I must.";
+	end;
+}
+
+moro_vol,153,116,7	script	Midgard Alliance Soldier#line27	4_M_EIN_SOLDIER,2,2,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "...";
+	else if (.@ttemp == 2)
+		npctalk "They don't stop coming.";
+	else
+		npctalk "Please be careful.";
+	end;
+
+OnTouchNPC:
+	kick_mob( "Begone!",1000 );
+	end;
+}
+
+moro_vol,118,115,1	script	Midgard Alliance Soldier#line31	4_M_JOB_WIZARD,2,2,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "I think I've chosen the wrong team...";
+	else if (.@ttemp == 2)
+		npctalk "I'm tired of hearing them yelling heretics.";
+	else
+		npctalk "Ugh, how did I get myself into this mess?";
+	end;
+
+OnTouchNPC:
+	kick_mob( "SCRAM!",1000 );
+	end;
+}
+
+moro_vol,121,115,1	script	Midgard Alliance Soldier#line32	4_M_EIN_SOLDIER,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "...Loud.";
+	else if (.@ttemp == 2)
+		npctalk "The front lines are most dangerous.";
+	else
+		npctalk "Sigh...";
+	end;
+}
+
+moro_vol,124,116,1	script	Midgard Alliance Soldier#line33	4_M_EIN_SOLDIER,2,2,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "All clear.";
+	else if (.@ttemp == 2)
+		npctalk "I'll protect this defense line.";
+	else
+		npctalk "Watch out!";
+	end;
+
+OnTouchNPC:
+	kick_mob( "Begone!",1000 );
+	end;
+}
+
+moro_vol,128,116,1	script	Midgard Alliance Soldier#line34	4_M_EIN_SOLDIER,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "I wasn't napping!";
+	else if (.@ttemp == 2)
+		npctalk "...Yeah, yeah... Everything's clear, sir!";
+	else
+		npctalk "Yeah, yeah, of course.";
+	end;
+}
+
+moro_vol,131,115,7	script	Midgard Alliance Soldier#line35	4_M_RASWORD,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "I can't believe I'm fighting beside heretics.";
+	else if (.@ttemp == 2)
+		npctalk "...";
+	else
+		npctalk "May the Goddess bless you.";
+	end;
+}
+
+moro_vol,133,113,7	script	Midgard Alliance Soldier#line36	4_DST_SOLDIER,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "*Yawn* Where's the next relief?";
+	else if (.@ttemp == 2)
+		npctalk "Hey, stop loitering. You're going to get yourself killed.";
+	else
+		npctalk "...This is tiring.";
+	end;
+}
+
+moro_vol,136,111,7	script	Midgard Alliance Soldier#line37	4_M_RASWORD,2,2,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "Please step back.";
+	else if (.@ttemp == 2)
+		npctalk "Our defense line is intact.";
+	else
+		npctalk "Please be careful.";
+	end;
+
+OnTouchNPC:
+	kick_mob( "Enemy in sight!",1000 );
+	end;
+}
+
+moro_vol,138,108,7	script	Midgard Alliance Soldier#line38	4_DST_SOLDIER,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "May the Goddess bless you.";
+	else if (.@ttemp == 2)
+		npctalk "Keep your eyes forward! Everything's clear!";
+	else
+		npctalk "All clear!";
+	end;
+}
+
+moro_vol,134,83,5	script	Jeruth Vehanus#ep143	4_MAN_JERUTOO,{
+	mes "[Vehanus]";
+	mes "You came here, too.";
+	mes "You can communicate with me without the ring, I see.";
+	next;
+	mes "[Vehanus]";
+	mes "Now I wonder how far Bifrost's grace reaches.";
+	mes "Maybe I should use this opportunity to get to know the Laphines.";
+	next;
+	mes "[Vehanus]";
+	mes "I admire Hesranta's bravery.";
+	mes "He's come to the battlefield, willing to ally with our enemy Laphines.";
+	next;
+	mes "[Vehanus]";
+	mes "I really hope we won't have to fight Laphines in here.";
+	close;
+}
+
+moro_vol,138,84,3	script	Adjutant Tiera#ep143	4_MAN_NITT,{
+	mes "[Tiera]";
+	mes "The Jeruths and Nits in Dicastes Diel may have acquiesced Hesranta's plea,";
+	next;
+	mes "[Tiera]";
+	mes "but I'm completely with him on this.";
+	mes "Our enemies are our friends in the face of a common enemy: Demon God.";
+	next;
+	mes "[Tiera]";
+	mes "We can be cowards and let others fight the fight for us, sure,";
+	mes "but what if they lose? We'll go down with them, and that'll be on us.";
+	next;
+	mes "[Tiera]";
+	mes "The same goes for you, Humans.";
+	mes "We fight this fight to win.";
+	close;
+}
+
+moro_vol,134,87,1	script	Advance Captain Avaranc#ep143	4_MAN_GALTUN,{
+	mes "[Avaranche]";
+	mes "My unit consists of the best of the best Gartens.";
+	mes "Human warrior,";
+	mes "I've waited for this day to fight beside you.";
+	next;
+	mes "[Avaranche]";
+	mes "I swear on my life that I won't stop fighting until the Demon God is defeated!";
+	close;
+}
+
+moro_vol,131,86,1	script	Dicastes Garten#gal01	4_MAN_GALTUN1,{
+	mes "[Dicastes Garten]";
+	mes "When can we fight?";
+	mes "When?";
+	next;
+	mes "[Dicastes Garten]";
+	mes "I can't believe I have to fight alongside those accursed Laphines.";
+	mes "I still remember what they did to us in the last battle.";
+	close;
+}
+
+moro_vol,138,87,7	script	Dicastes Garten#gal02	4_MAN_GALTUN1,{
+	mes "[Dicastes Garten]";
+	mes "My duty is to protect Jeruth Hesranta.";
+	mes "You'd better step back,";
+	mes "or I'll consider you my enemy.";
+	close;
+}
+
+moro_vol,140,97,1	duplicate(Combat Laphine#sol01)	Dicastes Elite#gal11	4_MAN_GALTUN1
+moro_vol,143,97,1	duplicate(Combat Laphine#sol01)	Dicastes Elite#gal12	4_MAN_GALTUN1
+moro_vol,146,97,1	duplicate(Combat Laphine#sol01)	Dicastes Elite#gal13	4_MAN_GALTUN1
+moro_vol,140,94,1	duplicate(Combat Laphine#sol01)	Dicastes Elite#gal14	4_MAN_GALTUN
+moro_vol,143,94,1	duplicate(Combat Laphine#sol01)	Dicastes Elite#gal15	4_MAN_GALTUN
+moro_vol,146,94,1	duplicate(Combat Laphine#sol01)	Dicastes Elite#gal16	4_MAN_GALTUN
+
+moro_vol,150,86,1	duplicate(Combat Laphine#sol01)	Dicastes Elite#gal21	4_MAN_GALTUN1
+moro_vol,153,86,1	duplicate(Combat Laphine#sol01)	Dicastes Elite#gal22	4_MAN_GALTUN1
+moro_vol,156,86,1	duplicate(Combat Laphine#sol01)	Dicastes Elite#gal23	4_MAN_GALTUN1
+moro_vol,150,83,1	duplicate(Combat Laphine#sol01)	Dicastes Elite#gal24	4_MAN_GALTUN
+moro_vol,153,83,1	duplicate(Combat Laphine#sol01)	Dicastes Elite#gal25	4_MAN_GALTUN
+moro_vol,156,83,1	duplicate(Combat Laphine#sol01)	Dicastes Elite#gal26	4_MAN_GALTUN
+
+moro_vol,139,104,1	script	Manuk Defender#line01	4_MAN_GALTUN1,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "Hm!";
+	else if (.@ttemp == 2)
+		npctalk "All clear.";
+	else
+		npctalk "Back off, Humanling!";
+	end;
+
+OnTouchNPC:
+	kick_mob( "Enemy in sight!",1000 );
+	end;
+}
+
+moro_vol,143,106,1	duplicate(Manuk Defender#line01)	Manuk Defender#line02	4_MAN_GALTUN1,2,2
+
+moro_vol,147,108,1	script	Manuk Defender#line03	4_MAN_GALTUN1,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "Do you hear some bugs buzzing?";
+	else if (.@ttemp == 2)
+		npctalk "All clear.";
+	else
+		npctalk "...";
+	end;
+}
+
+moro_vol,152,109,1	script	Manuk Defender#line04	4_MAN_GALTUN1,2,2,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "Hm!";
+	else if (.@ttemp == 2)
+		npctalk "All clear.";
+	else
+		npctalk "Back off, Humanling!";
+	end;
+
+OnTouchNPC:
+	kick_mob( "Not a chance!",1000 );
+	end;
+}
+
+moro_vol,156,110,1	script	Manuk Defender#line05	4_MAN_GALTUN1,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "Don't compare us to those winged jerks!";
+	else if (.@ttemp == 2)
+		npctalk "All clear.";
+	else
+		npctalk "Why does it have to be the Laphines?";
+	end;
+}
+
+moro_vol,160,110,7	script	Manuk Defender#line06	4_MAN_GALTUN1,2,2,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "Hm!";
+	else if (.@ttemp == 2)
+		npctalk "All clear.";
+	else
+		npctalk "Back off, Humanling!";
+	end;
+
+OnTouchNPC:
+	kick_mob( "*Snort*",1000 );
+	end;
+}
+
+moro_vol,164,109,7	script	Manuk Defender#line07	4_MAN_GALTUN1,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "Hm!";
+	else if (.@ttemp == 2)
+		npctalk "All clear.";
+	else
+		npctalk "We're superior to the Laphines.";
+	end;
+}
+
+moro_vol,167,107,7	script	Manuk Defender#line08	4_MAN_GALTUN1,2,2,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "Hm!";
+	else if (.@ttemp == 2)
+		npctalk "All clear.";
+	else
+		npctalk "Back off, Humanling!";
+	end;
+
+OnTouchNPC:
+	kick_mob( "Are you an enemy?",1000 );
+	end;
+}
+
+moro_vol,169,104,7	script	Manuk Defender#line09	4_MAN_GALTUN1,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "Hm!";
+	else if (.@ttemp == 2)
+		npctalk "Too loud.";
+	else
+		npctalk "Back off, Humanling!";
+	end;
+}
+
+moro_vol,171,100,5	script	Manuk Defender#line10	4_MAN_GALTUN1,2,2,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "Hm!";
+	else if (.@ttemp == 2)
+		npctalk "All clear.";
+	else
+		npctalk "Back off, Humanling!";
+	end;
+
+OnTouchNPC:
+	kick_mob( "Don't underestimate us!",1000 );
+	end;
+}
+
+moro_vol,172,95,5	script	Manuk Defender#line11	4_MAN_GALTUN1,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "Hm!";
+	else if (.@ttemp == 2)
+		npctalk "All clear.";
+	else
+		npctalk "We Gartens never retreat!";
+	end;
+}
+
+moro_vol,173,89,5	script	Manuk Defender#line12	4_MAN_GALTUN1,2,2,{
+	.@ttemp = rand(1,3);
+	if (.@ttemp == 1)
+		npctalk "Hm!";
+	else if (.@ttemp == 2)
+		npctalk "All clear.";
+	else
+		npctalk "Back off, Humanling!";
+	end;
+
+OnTouchNPC:
+	kick_mob( "Not a chance!",1000 );
+	end;
+}
+
+//-- GM NPC
+moro_vol,5,1,3	script	#timemaster	CLEAR_NPC,{
+	if (callfunc("F_GM_NPC",1854,0,0,9999) < 1)
+		end;
+	mes "Current server experience status: " + $ep143_3_expbuff;
+	mes "Currently elapsed: " + $ep143_3_exptime;
+	mes "What do you want to do?";
+	next;
+	switch( select( "Adjust the timer", "Pause timer", "Restart timer", "Initialization" ) ) {
+	case 1:
+		mes "Please enter the timer.";
+		next;
+		input .@input,0,9999;
+		mes "Time is set to " + .@input;
+		$ep143_3_exptime = .@input;
+		close;
+	case 2:
+		mes "Timer in pause.";
+		stopnpctimer "Guardian Nidhogg#143nyd01";
+		close;
+	case 3:
+		mes "Restart the clock.";
+		initnpctimer "Guardian Nidhogg#143nyd01";
+		close;
+	case 4:
+		mes "Clock initialized.";
+		donpcevent "Guardian Nidhogg#143nyd01::OnStop";
+		close;
+	}
+}

+ 1 - 0
npc/re/scripts_athena.conf

@@ -173,6 +173,7 @@ npc: npc/re/quests/ninja_quests.txt
 npc: npc/re/quests/pile_bunker.txt
 npc: npc/re/quests/pile_bunker.txt
 npc: npc/re/quests/quests_13_1.txt
 npc: npc/re/quests/quests_13_1.txt
 npc: npc/re/quests/quests_14_3.txt
 npc: npc/re/quests/quests_14_3.txt
+npc: npc/re/quests/quests_14_3_bis.txt
 npc: npc/re/quests/quests_15_1.txt
 npc: npc/re/quests/quests_15_1.txt
 npc: npc/re/quests/quests_15_2.txt
 npc: npc/re/quests/quests_15_2.txt
 npc: npc/re/quests/quests_16_1.txt
 npc: npc/re/quests/quests_16_1.txt

+ 1 - 0
npc/re/scripts_monsters.conf

@@ -42,6 +42,7 @@ npc: npc/re/mobs/dungeons/mag_dun.txt
 npc: npc/re/mobs/dungeons/mal_dun.txt
 npc: npc/re/mobs/dungeons/mal_dun.txt
 npc: npc/re/mobs/dungeons/mjo_dun.txt
 npc: npc/re/mobs/dungeons/mjo_dun.txt
 npc: npc/re/mobs/dungeons/moc_pryd.txt
 npc: npc/re/mobs/dungeons/moc_pryd.txt
+npc: npc/re/mobs/dungeons/moro_vol.txt
 npc: npc/re/mobs/dungeons/mosk_dun.txt
 npc: npc/re/mobs/dungeons/mosk_dun.txt
 npc: npc/re/mobs/dungeons/nyd_dun.txt
 npc: npc/re/mobs/dungeons/nyd_dun.txt
 npc: npc/re/mobs/dungeons/odin.txt
 npc: npc/re/mobs/dungeons/odin.txt

+ 3 - 3
src/map/npc.cpp

@@ -3814,7 +3814,7 @@ void npc_parse_mob2(struct spawn_data* mob)
 static const char* npc_parse_mob(char* w1, char* w2, char* w3, char* w4, const char* start, const char* buffer, const char* filepath)
 static const char* npc_parse_mob(char* w1, char* w2, char* w3, char* w4, const char* start, const char* buffer, const char* filepath)
 {
 {
 	int num, mob_id, mob_lv = -1, size = -1, w1count;
 	int num, mob_id, mob_lv = -1, size = -1, w1count;
-	short m,x,y,xs = -1, ys = -1;
+	short m, x = 0, y = 0, xs = -1, ys = -1;
 	char mapname[MAP_NAME_LENGTH_EXT], mobname[NAME_LENGTH];
 	char mapname[MAP_NAME_LENGTH_EXT], mobname[NAME_LENGTH];
 	struct spawn_data mob, *data;
 	struct spawn_data mob, *data;
 	int ai = AI_NONE; // mob_ai
 	int ai = AI_NONE; // mob_ai
@@ -3823,10 +3823,10 @@ static const char* npc_parse_mob(char* w1, char* w2, char* w3, char* w4, const c
 
 
 	mob.state.boss = !strcmpi(w2,"boss_monster");
 	mob.state.boss = !strcmpi(w2,"boss_monster");
 
 
-	// w1=<map name>,<x>,<y>{,<xs>{,<ys>}}
+	// w1=<map name>{,<x>,<y>,<xs>{,<ys>}}
 	// w3=<mob name>{,<mob level>}
 	// w3=<mob name>{,<mob level>}
 	// w4=<mob id>,<amount>{,<delay1>{,<delay2>{,<event>{,<mob size>{,<mob ai>}}}}}
 	// w4=<mob id>,<amount>{,<delay1>{,<delay2>{,<event>{,<mob size>{,<mob ai>}}}}}
-	if( ( w1count = sscanf(w1, "%15[^,],%6hd,%6hd,%6hd,%6hd", mapname, &x, &y, &xs, &ys) ) < 3
+	if( ( w1count = sscanf(w1, "%15[^,],%6hd,%6hd,%6hd,%6hd", mapname, &x, &y, &xs, &ys) ) < 1
 	||	sscanf(w3, "%23[^,],%11d", mobname, &mob_lv) < 1
 	||	sscanf(w3, "%23[^,],%11d", mobname, &mob_lv) < 1
 	||	sscanf(w4, "%11d,%11d,%11u,%11u,%77[^,],%11d,%11d[^\t\r\n]", &mob_id, &num, &mob.delay1, &mob.delay2, mob.eventname, &size, &ai) < 2 )
 	||	sscanf(w4, "%11d,%11d,%11u,%11u,%77[^,],%11d,%11d[^\t\r\n]", &mob_id, &num, &mob.delay1, &mob.delay2, mob.eventname, &size, &ai) < 2 )
 	{
 	{