diff options
-rw-r--r-- | npc/re/instances/MalangdoCulvert.txt | 1287 |
1 files changed, 675 insertions, 612 deletions
diff --git a/npc/re/instances/MalangdoCulvert.txt b/npc/re/instances/MalangdoCulvert.txt index e954c9b15..2e51f0fd5 100644 --- a/npc/re/instances/MalangdoCulvert.txt +++ b/npc/re/instances/MalangdoCulvert.txt @@ -37,245 +37,261 @@ //== Quest NPCs ============================================ mal_in01,172,28,2 script Albo#mal 4_CAT_SAILOR5,{ - if (checkweight(Knife,1) == 0) { - mes "You have too many kinds of objects. Try to continue after reducing those objects."; - close; + if (checkweight(Knife, 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; + 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; + 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"; - .@menu$ = "Why are doing this job?:"; + 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")); + .@menu$ = _("Why are doing this job?:"); for(.@i = 0; .@i<4; ++.@i) { - if (questprogress(.@quests[.@i],PLAYTIME)) { + if (questprogress(.@quests[.@i], PLAYTIME)) { .@status[.@i] = 2; - .@menu$ += "^aaaaaa- There is no new task -^000000:"; + .@menu$ += _("^aaaaaa- There is no new task -^000000:"); } else if (.@i%2 && BaseLevel < 140) { .@status[.@i] = 0; - .@menu$ += "^aaaaaaCan't take this job because level is too low^000000:"; + .@menu$ += _("^aaaaaaCan't take this job because level is too low^000000:"); } else { .@status[.@i] = 1; .@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; - .@i = select(.@menu$)-1; + 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(); + .@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; + 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]) { + 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; + 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; + 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) { + 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"; + 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"; + 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"; + 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"; + 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; + 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>; +// 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)) { + setquest(getarg(1)); + setquest(getarg(2)); + mes("[Albo]"); + mes("Today, the heroes of Culvert!"); + mesf("We raise our voices and set a date for the extermination of ^0000ff%s^000000!", getarg(3)); + 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!"; + 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!"; + 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!"; + 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; + next(); + mesf("You received a request for the Extermination of ^005500%s^000000. If you need more details, please check the quest window.", getarg(3)); + close(); } mal_in01,172,26,2 script Madeca#mal 4_CAT_SAILOR1,{ - if (checkweight(Knife,1) == 0) { - mes "You have too many kinds of objects. Try to continue after reducing those objects."; - close; + if (checkweight(Knife, 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; + 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("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; - .@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; + 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(); + .@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'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; + mes("[Madeca]"); + mes("I can't give you compensation for an expired request, so let me check if any of yours have expired."); + next(); specialeffect(EF_SPHERE, AREA, playerattached()); - progressbar "0xFFFF00",3; + progressbar(sprintf("0x%x", C_YELLOW), 3); specialeffect(EF_STEAL, AREA, playerattached()); - switch(.@i) { + switch (.@i) { case 1: // General Culvert Daily Service - if (questprogress(12271,PLAYTIME) == 2) - callsub L_EraseQuest,12255,12256,12257,12258,12259,12260,12271; - else { + if (questprogress(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,"Deep Sea Vadon",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; + callsub(L_CheckQuest, 12255, _("Deep Sea Crab"), Bgrade_Coin, 2); + callsub(L_CheckQuest, 12256, _("Deep Sea Marse"), Bgrade_Coin, 2); + callsub(L_CheckQuest, 12257, _("Deep Sea Vadon"), Bgrade_Coin, 2); + callsub(L_CheckQuest, 12258, _("Deep Sea Shellfish"), Bgrade_Coin, 2); + callsub(L_CheckQuest, 12259, _("Deep Sea Kukre"), Bgrade_Coin, 2); + callsub(L_CheckQuest, 12260, _("Deep Sea Cornutus"), Bgrade_Coin, 2); } break; case 2: // Hard Culvert Daily Service - if (questprogress(12272,PLAYTIME) == 2) - callsub L_EraseQuest,12261,12262,12263,12264,12265,12266,12272; - else { + if (questprogress(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; + callsub(L_CheckQuest, 12261, _("Deep Sea Marc"), Agrade_Coin, 1); + callsub(L_CheckQuest, 12262, _("Deep Sea Sword Fish"), Agrade_Coin, 1); + callsub(L_CheckQuest, 12263, _("Deep Sea Strouf"), Agrade_Coin, 1); + callsub(L_CheckQuest, 12264, _("Deep Sea Anolian"), Agrade_Coin, 1); + callsub(L_CheckQuest, 12265, _("Deep Sea Obeaune"), Agrade_Coin, 1); + callsub(L_CheckQuest, 12266, _("Deep Sea Kapha"), Agrade_Coin, 1); } break; case 3: // General Culvert Weekly Service - if (questprogress(12273,PLAYTIME) == 2) - callsub L_EraseQuest,12267,12268,12273; - else { + if (questprogress(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; + callsub(L_CheckQuest, 12267, _("Weird Coelacanth"), Anger_Seagod, 1); + callsub(L_CheckQuest, 12268, _("Gloomy Coelacanth"), Anger_Seagod, 1); } break; case 4: // Hard Culvert Weekly Service - if (questprogress(12274,PLAYTIME) == 2) - callsub L_EraseQuest,12269,12270,12274; - else { + if (questprogress(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; + callsub(L_CheckQuest, 12269, _("Violent Coelacanth"), Anger_Seagod, 5); + callsub(L_CheckQuest, 12270, _("Mutant Coelacanth"), Anger_Seagod, 5); } break; default: - mes "[Madeca]"; - mes "Something is wrong. Please check this again!"; - close; + mes("[Madeca]"); + mes("Something is wrong. Please check this again!"); + close(); } - mes "[Madeca]"; - mes "I don't see any completed mission!"; - close; + mes("[Madeca]"); + mes("I don't see any completed mission!"); + close(); L_EraseQuest: for(.@j = 0; .@j<getargcount(); ++.@j) { if (questprogress(getarg(.@j))) - erasequest getarg(.@j); + erasequest(getarg(.@j)); } - mes "[Madeca]"; - mes "Um, I'm sorry. You exceeded the time limit, so I can't give you any payment."; - close; + 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>; +// callsub(L_CheckQuest, <quest ID>, <monster>, <reward item ID>, <reward item amount>); L_CheckQuest: - if (questprogress(getarg(0),HUNTING) == 2) { - mes "[Madeca]"; - mes "You've punished ^0000ff"+getarg(1)+"^000000!"; - mes "Here's your pay!"; - erasequest getarg(0); + if (questprogress(getarg(0), HUNTING) == 2) { + mes("[Madeca]"); + mesf("You've punished ^0000ff%s^000000!", getarg(1)); + mes("Here's your pay!"); + erasequest(getarg(0)); specialeffect(EF_STEAL, AREA, playerattached()); - getitem getarg(2),getarg(3); - close; + getitem(getarg(2), getarg(3)); + close(); } return; } @@ -283,248 +299,249 @@ L_CheckQuest: //== Instance Creation ===================================== mal_in01,160,34,4 script Missing, the Cleaner 4_CAT_SAILOR2,{ 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; + 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("(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; + 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; + 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("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; + 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; + 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!"; + 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!"); in_canal_n = 1; - close; + close(); } if (countitem(Ptotection_Seagod) == 0) { - mes "[Missing, the Cleaner]"; - mes "You don't look like you have Seagod Protection. I can't open door at the moment!"; - close; + mes("[Missing, the Cleaner]"); + mes("You don't look like you have Seagod Protection. I can't open door at the moment!"); + close(); } .@party_id = getcharid(CHAR_ID_PARTY); - .@md_name$ = "Culvert"; + .@md_name$ = _("Culvert"); if (!.@party_id) { - 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; + 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(); } - .@playtime = questprogress(12254,PLAYTIME); + .@playtime = questprogress(12254, PLAYTIME); if (!.@playtime) { - if (getcharid(CHAR_ID_CHAR) == 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.")) { + if (getcharid(CHAR_ID_CHAR) == 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; + mes("[Missing, the Cleaner]"); + mes("What a rookie."); + close(); case 2: - .@instance = instance_create(.@md_name$,.@party_id); + .@instance = instance_create(.@md_name$, .@party_id); if (.@instance < 0) { - mes "Party name: "+getpartyname(.@party_id); - mes "Party leader: "+strcharinfo(PC_NAME); - mes "^0000ff"+.@md_name$+"^000000 - Reservation Failed!"; - close; + mesf("Party name: %s", getpartyname(.@party_id)); + mesf("Party leader: %s", strcharinfo(PC_NAME)); + mesf("^0000ff%s^000000 - Reservation Failed!", .@md_name$); + close(); } - if (instance_attachmap("1@pump",.@instance) == "" || instance_attachmap("2@pump",.@instance) == "") { - mes "^0000ff"+.@md_name$+"^000000 - Reservation Failed!"; + if (instance_attachmap("1@pump", .@instance) == "" || instance_attachmap("2@pump", .@instance) == "") { + mesf("^0000ff%s^000000 - Reservation Failed!", .@md_name$); instance_destroy(.@instance); - close; + close(); } - instance_set_timeout 3600,300,.@instance; + instance_set_timeout(3600, 300, .@instance); instance_init(.@instance); - mes "^3333FF"+.@md_name$+"^000000 - Reserving"; - mes "After making the reservation, you"; - mes "have to select Enter the Culvert."; - close; + mesf("^3333FF%s^000000 - Reserving", .@md_name$); + mes("After making the reservation, you"); + mes("have to select Enter the Culvert."); + close(); case 3: - callsub L_Enter,0; + callsub(L_Enter, 0); } } - if(select("Enter Culvert", "Cancel") == 2) + if (select("Enter Culvert", "Cancel") == 2) end; - callsub L_Enter,1; + callsub(L_Enter, 1); } else if (.@playtime == 1) { - mes "You can enter the Culvert if the gate is open."; - next; - if(select("Enter Culvert", "Cancel") == 2) - close; - callsub L_Enter,0; + mes("You can enter the Culvert if the gate is open."); + next(); + if (select("Enter Culvert", "Cancel") == 2) + close(); + callsub(L_Enter, 0); } else if (.@playtime == 2) { - mes "^0000ffThe gate to the Culvert is open again.^000000"; - erasequest 12254; - close; + mes("^0000ffThe gate to the Culvert is open again.^000000"); + erasequest(12254); + close(); } end; L_Enter: if (has_instance("1@pump") == "") { - if (questprogress(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; + if (questprogress(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; + 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(PC_NAME)+" of the party "+getpartyname(.@party_id)+" is entering the Culvert.",bc_map,"0x00ff99"; - if (!questprogress(12254)) setquest 12254; - warp "1@pump",63,98; + mapannounce("mal_in01", sprintf(_$("%s of the party %s is entering the Culvert."), strcharinfo(PC_NAME), getpartyname(.@party_id)), bc_map, C_SPRINGGREEN); + if (!questprogress(12254)) + setquest(12254); + warp("1@pump", 63, 98); end; } //== Instance: Common Scripts ============================== 1@pump,63,100,4 script Missing, the Cleaner#0 4_CAT_SAILOR2,{ - if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY),2)) { - mes "[Missing, the Cleaner]"; - mes "I am trying to have a conversation with your leader now. Please don't disturb and wait!"; - close; + if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 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")) { + 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; + 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(); } 'party_id = getcharid(CHAR_ID_PARTY); - mapannounce instance_mapname("1@pump"),"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"); - enablenpc instance_npcname("Missing, the Cleaner#n"); - close; + mapannounce(instance_mapname("1@pump"), _("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")); + enablenpc(instance_npcname("Missing, the Cleaner#n")); + 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("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; + 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(); } 'party_id = getcharid(CHAR_ID_PARTY); - mapannounce instance_mapname("1@pump"),"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"); - enablenpc instance_npcname("Culvert Entrance#i"); - close; + mapannounce(instance_mapname("1@pump"), _("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")); + enablenpc(instance_npcname("Culvert Entrance#i")); + close(); case 3: - mes "[Missing, the Cleaner]"; - mes "I told you not to play with me~!"; - close; + mes("[Missing, the Cleaner]"); + mes("I told you not to play with me~!"); + close(); } end; } @@ -532,134 +549,134 @@ L_Enter: 1@pump,84,105,0 script Culvert Entrance#i WARPNPC,3,3,{ end; OnInstanceInit: - disablenpc instance_npcname("Culvert Entrance#i"); + disablenpc(instance_npcname("Culvert Entrance#i")); end; OnTouch: if (BaseLevel >= 140) - warp instance_mapname("2@pump"),38,88; + warp(instance_mapname("2@pump"), 38, 88); else - warp instance_mapname("1@pump"),74,105; + warp(instance_mapname("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("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(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY),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("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(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 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!")) { + 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; + 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!"; + mes("[Missing, the Cleaner]"); + mes("OK! Now it begins!"); return; } } //== Instance: Normal Mode ================================= 1@pump,84,105,4 script Missing, the Cleaner#nf 4_CAT_SAILOR2,{ - 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(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY),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("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(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 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!")) { + 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; + 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!"; - .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN),0); - enablenpc instance_npcname("Missing, the Cleaner#"+.@i$); - donpcevent instance_npcname("Missing, the Cleaner#"+.@i$)+"::OnStart"; - disablenpc instance_npcname("Culvert Entrance#"+.@i$); - disablenpc instance_npcname("Missing, the Cleaner#"+.@i$+"o"); - donpcevent instance_npcname("Monster Hole#"+.@i$)+"::OnClear"; - disablenpc instance_npcname(strnpcinfo(NPC_NAME)); - close; + mes("[Missing, the Cleaner]"); + mes("Ok! Let's start now!"); + .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN), 0); + enablenpc(instance_npcname("Missing, the Cleaner#"+.@i$)); + donpcevent(instance_npcname("Missing, the Cleaner#"+.@i$)+"::OnStart"); + disablenpc(instance_npcname("Culvert Entrance#"+.@i$)); + disablenpc(instance_npcname("Missing, the Cleaner#"+.@i$+"o")); + donpcevent(instance_npcname("Monster Hole#"+.@i$)+"::OnClear"); + disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); + close(); } - close; + close(); OnInstanceInit: - disablenpc instance_npcname(strnpcinfo(NPC_NAME)); + disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); end; } 1@pump,84,105,4 script Missing, the Cleaner#n 4_CAT_SAILOR2,{ - callfunc "F_mal_missing"; - donpcevent instance_npcname("Missing, the Cleaner#n")+"::OnStart"; - close; + callfunc("F_mal_missing"); + donpcevent(instance_npcname("Missing, the Cleaner#n")+"::OnStart"); + close(); OnInstanceInit: - disablenpc instance_npcname("Missing, the Cleaner#n"); + disablenpc(instance_npcname("Missing, the Cleaner#n")); end; OnStart: - killmonster instance_mapname("1@pump"),instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead"; - disablenpc instance_npcname("Missing, the Cleaner#n"); - initnpctimer; + killmonster(instance_mapname("1@pump"), instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead"); + disablenpc(instance_npcname("Missing, the Cleaner#n")); + initnpctimer(); end; OnAddSeaweed: .@map$ = instance_mapname("1@pump"); - areamonster .@map$,55,99,61,105,"Contaminated Seaweed",2191,1,instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead"; - .@mob_dead_num = mobcount(.@map$,instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead"); + areamonster(.@map$, 55, 99, 61, 105, _("Contaminated Seaweed"), MD_SEAWEED, 1, instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead"); + .@mob_dead_num = mobcount(.@map$, instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead"); if (.@mob_dead_num >= 6) - donpcevent instance_npcname("Missing, the Cleaner#n")+"::OnFail"; + donpcevent(instance_npcname("Missing, the Cleaner#n")+"::OnFail"); else - mapannounce .@map$,"Contaminated Seaweed: "+.@mob_dead_num+" stem",bc_map,"0xff3333",FW_NORMAL,20; + mapannounce(.@map$, sprintf(_$("Contaminated Seaweed: %s stem"), .@mob_dead_num), bc_map, "0xff3333", FW_NORMAL, 20); end; OnMyMobDead: end; OnFail: - stopnpctimer; - donpcevent instance_npcname("Monster Hole#n")+"::OnClear"; + stopnpctimer(); + donpcevent(instance_npcname("Monster Hole#n")+"::OnClear"); .@map$ = instance_mapname("1@pump"); - killmonster .@map$,instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead"; - enablenpc instance_npcname("Missing, the Cleaner#nf"); - mapannounce .@map$,"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"); + killmonster(.@map$, instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead"); + enablenpc(instance_npcname("Missing, the Cleaner#nf")); + mapannounce(.@map$, _("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")); end; OnTimer100: - mapannounce instance_mapname("1@pump"),"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; + mapannounce(instance_mapname("1@pump"), _("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: - mapannounce instance_mapname("1@pump"),"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")+"::OnSpawn"; + mapannounce(instance_mapname("1@pump"), _("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")+"::OnSpawn"); end; OnTimer45000: OnTimer95000: @@ -670,12 +687,12 @@ OnTimer295000: OnTimer345000: OnTimer395000: OnTimer445000: - mapannounce instance_mapname("1@pump"),"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; + mapannounce(instance_mapname("1@pump"), _("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")+"::OnSpawn"; + donpcevent(instance_npcname("Monster Hole#n")+"::OnSpawn"); end; OnTimer200000: OnTimer250000: @@ -683,103 +700,116 @@ OnTimer300000: OnTimer350000: OnTimer400000: OnTimer450000: - .@mob_dead_num = mobcount(instance_mapname("1@pump"),instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead"); + .@mob_dead_num = mobcount(instance_mapname("1@pump"), instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead"); if (.@mob_dead_num >= 6) - donpcevent instance_npcname("Missing, the Cleaner#n")+"::OnFail"; + donpcevent(instance_npcname("Missing, the Cleaner#n")+"::OnFail"); else - donpcevent instance_npcname("Monster Hole#n")+"::OnSpawn"; + donpcevent(instance_npcname("Monster Hole#n")+"::OnSpawn"); end; OnTimer515000: .@map$ = instance_mapname("1@pump"); - .@mob_dead_num = mobcount(.@map$,instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead"); - mapannounce .@map$,"Contaminated Seaweed: "+.@mob_dead_num+" stem. Missing will come and inspect the results of the cleaning soon.",bc_map,"0xff3333",FW_NORMAL,20; + .@mob_dead_num = mobcount(.@map$, instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead"); + mapannounce(.@map$, sprintf(_$("Contaminated Seaweed: %s stem. Missing will come and inspect the results of the cleaning soon."), .@mob_dead_num), bc_map, "0xff3333", FW_NORMAL, 20); end; OnTimer520000: - stopnpctimer; - .@mob_dead_num = mobcount(instance_mapname("1@pump"),instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead"); + stopnpctimer(); + .@mob_dead_num = mobcount(instance_mapname("1@pump"), instance_npcname("Missing, the Cleaner#n")+"::OnMyMobDead"); if (.@mob_dead_num >= 6) - donpcevent instance_npcname("Missing, the Cleaner#n")+"::OnFail"; + donpcevent(instance_npcname("Missing, the Cleaner#n")+"::OnFail"); else - donpcevent instance_npcname("Boss Creation#n")+"::OnEnable"; + donpcevent(instance_npcname("Boss Creation#n")+"::OnEnable"); end; } 1@pump,1,1,4 script Monster Hole#n FAKE_NPC,{ end; OnSpawn: - .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN),0); + .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN), 0); if (.@i$ == "n") .@n = 6; else if (.@i$ == "h") .@n = 10; - donpcevent instance_npcname("#Culvert_"+.@i$+rand(1,.@n))+"::OnEnable"; + donpcevent(instance_npcname("#Culvert_"+.@i$+rand(1, .@n))+"::OnEnable"); end; OnClear: - .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN),0); + .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN), 0); if (.@i$ == "n") .@n = 6; else if (.@i$ == "h") .@n = 10; - for(.@i = 1; .@i<=.@n; ++.@i) - donpcevent instance_npcname("#Culvert_"+.@i$+.@n)+"::OnClear"; + for(.@i = 1; .@i <= .@n; ++.@i) + donpcevent(instance_npcname("#Culvert_"+.@i$+.@n)+"::OnClear"); end; } 1@pump,36,111,4 script #Culvert_n1 CLEAR_NPC,14,14,{ //temporary workaround for ALL_SAMEMAP - progressbar "0xFFFF00",10; - stopnpctimer; - disablenpc instance_npcname(strnpcinfo(NPC_NAME)); + progressbar(sprintf("0x%x", C_YELLOW), 10); + stopnpctimer(); + disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); end; OnInstanceInit: - disablenpc instance_npcname(strnpcinfo(NPC_NAME)); + disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); end; OnEnable: - enablenpc instance_npcname(strnpcinfo(NPC_NAME)); + enablenpc(instance_npcname(strnpcinfo(NPC_NAME))); .@label$ = instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead"; .@map$ = instance_mapname("1@pump"); - .@index = atoi(charat(strnpcinfo(NPC_NAME_HIDDEN),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; + .@index = atoi(charat(strnpcinfo(NPC_NAME_HIDDEN), 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 .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Abysmal Crab",2176,rand(1,3),.@label$; - areamonster .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Abysmal Marse",2175,rand(1,3),.@label$; - areamonster .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Ancient Vadon",2174,rand(1,3),.@label$; - areamonster .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Abysmal Shellfish",2178,rand(1,3),.@label$; - areamonster .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Ancient Kukre",2179,rand(1,3),.@label$; - areamonster .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Abysmal Cornutus",2177,rand(1,3),.@label$; - specialeffect EF_MAPPILLAR2,ALL_SAMEMAP; //currently broken + areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Abysmal Crab"), MD_CRAB, rand(1, 3), .@label$); + areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Abysmal Marse"), MD_MARSE, rand(1, 3), .@label$); + areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Ancient Vadon"), MD_VADON, rand(1, 3), .@label$); + areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Abysmal Shellfish"), MD_SHELLFISH, rand(1, 3), .@label$); + areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Ancient Kukre"), MD_KUKRE, rand(1, 3), .@label$); + areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Abysmal Cornutus"), MD_CORNUTUS, rand(1, 3), .@label$); + specialeffect(EF_MAPPILLAR2, ALL_SAMEMAP); //currently broken getmapxy(.@map$, .@x, .@y, UNITTYPE_NPC); - getpartymember 'party_id,2; - copyarray .@partymemberaid[0],$@partymemberaid[0],$@partymembercount; + getpartymember('party_id, 2); + copyarray(.@partymemberaid[0], $@partymemberaid[0], $@partymembercount); for(.@i = 0; .@i<$@partymembercount; ++.@i) { if (attachrid(.@partymemberaid[.@i])) { if (strcharinfo(PC_MAP) == .@map$) - viewpoint 0,.@x,.@y,.@index,0xFFFF00; - detachrid; + viewpoint(0, .@x, .@y, .@index, C_YELLOW); + detachrid(); } } - initnpctimer; + initnpctimer(); end; OnMyMobDead: end; OnClear: - stopnpctimer; - killmonster instance_mapname("1@pump"),instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead"; + stopnpctimer(); + killmonster(instance_mapname("1@pump"), instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead"); end; OnTimer49500: //OnTimer50000 clashes with the timer in "Missing, the Cleaner#h". - donpcevent instance_npcname("Missing, the Cleaner#n")+"::OnAddSeaweed"; - donpcevent instance_npcname(strnpcinfo(NPC_NAME))+"::OnClear"; - disablenpc instance_npcname(strnpcinfo(NPC_NAME)); + donpcevent(instance_npcname("Missing, the Cleaner#n")+"::OnAddSeaweed"); + donpcevent(instance_npcname(strnpcinfo(NPC_NAME))+"::OnClear"); + disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); end; OnTouch: - specialeffect EF_MAPPILLAR2; + specialeffect(EF_MAPPILLAR2); end; } + 1@pump,68,124,4 duplicate(#Culvert_n1) #Culvert_n2 CLEAR_NPC,14,14 1@pump,80,114,4 duplicate(#Culvert_n1) #Culvert_n3 CLEAR_NPC,14,14 1@pump,40,80,4 duplicate(#Culvert_n1) #Culvert_n4 CLEAR_NPC,14,14 @@ -789,126 +819,139 @@ OnTouch: 1@pump,1,1,4 script Boss Creation#n FAKE_NPC,{ end; OnInstanceInit: - disablenpc instance_npcname(strnpcinfo(NPC_NAME)); + disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); end; OnEnable: - enablenpc instance_npcname(strnpcinfo(NPC_NAME)); - initnpctimer; + enablenpc(instance_npcname(strnpcinfo(NPC_NAME))); + initnpctimer(); end; OnTimer100: - .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN),0); + .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN), 0); if (.@i$ == "n") - mapannounce instance_mapname("1@pump"),"Hmm! That wasn't so bad!",bc_map,"0xff88ff",FW_NORMAL,15; + mapannounce(instance_mapname("1@pump"), _("Hmm! That wasn't so bad!"), bc_map, "0xff88ff", FW_NORMAL, 15); else if (.@i$ == "h") - mapannounce instance_mapname("2@pump"),"Hmm! You guys are pretty good!!",bc_map,"0xff88ff",FW_NORMAL,15; + mapannounce(instance_mapname("2@pump"), _("Hmm! You guys are pretty good!!"), bc_map, "0xff88ff", FW_NORMAL, 15); end; OnTimer5000: - mapannounce strnpcinfo(NPC_MAP),"Let's pack up and go... WHAT!!?",bc_map,"0xff88ff",FW_NORMAL,15; + mapannounce(strnpcinfo(NPC_MAP), _("Let's pack up and go... WHAT!!?"), bc_map, "0xff88ff", FW_NORMAL, 15); end; OnTimer10000: - mapannounce strnpcinfo(NPC_MAP),"I sense something strange!! Don't loosen up-- prepare for a fight!!",bc_map,"0xff88ff",FW_NORMAL,15; + mapannounce(strnpcinfo(NPC_MAP), _("I sense something strange!! Don't loosen up-- prepare for a fight!!"), bc_map, "0xff88ff", FW_NORMAL, 15); end; OnTimer20000: - stopnpctimer; - .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN),0); + stopnpctimer(); + .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN), 0); .@label$ = instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead"; - if (rand(1,100) > 50) { + if (rand(1, 100) > 50) { if (.@i$ == "n") - monster instance_mapname("1@pump"),0,0,"Weird Coelacanth",2188,1,.@label$; + monster(instance_mapname("1@pump"), 0, 0, _("Weird Coelacanth"), COELACANTH_N_M, 1, .@label$); else if (.@i$ == "h") - monster instance_mapname("2@pump"),0,0,"Mutant Coelacanth",2189,1,.@label$; - mapannounce strnpcinfo(NPC_MAP),"Something big inside the abyss appears with a huge noise.",bc_map,"0x00ffcc",FW_NORMAL,15; + monster(instance_mapname("2@pump"), 0, 0, _("Mutant Coelacanth"), COELACANTH_H_M, 1, .@label$); + mapannounce(strnpcinfo(NPC_MAP), _("Something big inside the abyss appears with a huge noise."), bc_map, "0x00ffcc", FW_NORMAL, 15); } else { if (.@i$ == "n") - monster instance_mapname("1@pump"),0,0,"Gloomy Coelacanth",2187,1,.@label$; + monster(instance_mapname("1@pump"), 0, 0, _("Gloomy Coelacanth"), COELACANTH_N_A, 1, .@label$); else if (.@i$ == "h") - monster instance_mapname("2@pump"),0,0,"Violent Coelacanth",2190,1,.@label$; - mapannounce strnpcinfo(NPC_MAP),"Something savage inside the abyss appears with a huge noise.",bc_map,"0x00ffcc",FW_NORMAL,15; + monster(instance_mapname("2@pump"), 0, 0, _("Violent Coelacanth"), COELACANTH_H_A, 1, .@label$); + mapannounce(strnpcinfo(NPC_MAP), _("Something savage inside the abyss appears with a huge noise."), bc_map, "0x00ffcc", FW_NORMAL, 15); } end; OnMyMobDead: - if (mobcount(strnpcinfo(NPC_MAP),instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead") < 1) { - mapannounce strnpcinfo(NPC_MAP),"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; - .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN),0); + if (mobcount(strnpcinfo(NPC_MAP), instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead") < 1) { + mapannounce(strnpcinfo(NPC_MAP), _("You've destroyed all monsters in the culverts. There are trophies lying on the ground, please look for them."), bc_map, C_YELLOW, FW_NORMAL, 15); + .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN), 0); .@map$ = strnpcinfo(NPC_MAP); - enablenpc instance_npcname("Culvert Entrance#"+.@i$); - enablenpc instance_npcname("Missing, the Cleaner#"+.@i$+"o"); + enablenpc(instance_npcname("Culvert Entrance#"+.@i$)); + enablenpc(instance_npcname("Missing, the Cleaner#"+.@i$+"o")); if (.@i$ == "n") { - for(.@i = 0; .@i<10; ++.@i) { - .@j = rand(1,6401); - if (.@j < 5001) .@item = 12636; //Malang_Sp_Can - else if (.@j < 5501) .@item = 12615; //Low_Coin_Pocket - else if (.@j < 6001) .@item = 12621; //Egrade_Pocket - else if (.@j < 6201) .@item = 12620; //Dgrade_Pocket - else if (.@j < 6401) .@item = 12623; //High_Weapon_Box - else continue; - makeitem .@item,1,.@map$,rand(40,77),rand(87,120); + for(.@i = 0; .@i < 10; ++.@i) { + .@j = rand(1, 6401); + if (.@j < 5001) + .@item = Malang_Sp_Can; + else if (.@j < 5501) + .@item = Low_Coin_Pocket; + else if (.@j < 6001) + .@item = Egrade_Pocket; + else if (.@j < 6201) + .@item = Dgrade_Pocket; + else if (.@j < 6401) + .@item = High_Weapon_Box; + else + continue; + makeitem(.@item, 1, .@map$, rand(40, 77), rand(87, 120)); } } else if (.@i$ == "h") { - for(.@i = 0; .@i<10; ++.@i) { - .@j = rand(1,5001); - if (.@j < 2001) .@item = 12615; //Low_Coin_Pocket - else if (.@j < 3001) .@item = 12621; //Egrade_Pocket - else if (.@j < 4001) .@item = 12620; //Dgrade_Pocket - else if (.@j < 4501) .@item = 12619; //Cgrade_Pocket - else if (.@j < 5001) .@item = 12623; //High_Weapon_Box - else continue; - makeitem .@item,1,.@map$,rand(40,77),rand(87,120); + for(.@i = 0; .@i < 10; ++.@i) { + .@j = rand(1, 5001); + if (.@j < 2001) + .@item = Low_Coin_Pocket; + else if (.@j < 3001) + .@item = Egrade_Pocket; + else if (.@j < 4001) + .@item = Dgrade_Pocket; + else if (.@j < 4501) + .@item = Cgrade_Pocket; + else if (.@j < 5001) + .@item = High_Weapon_Box; + else + continue; + makeitem(.@item, 1, .@map$, rand(40, 77), rand(87, 120)); } } - } else - mapannounce strnpcinfo(NPC_MAP),"There are still monsters alive.",bc_map,"0x00ff99",FW_NORMAL,20; + } else { + mapannounce(strnpcinfo(NPC_MAP), _("There are still monsters alive."), bc_map, C_SPRINGGREEN, FW_NORMAL, 20); + } end; } 1@pump,84,105,4 script Missing, the Cleaner#no 4_CAT_SAILOR2,{ - .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN),0); + .@i$ = charat(strnpcinfo(NPC_NAME_HIDDEN), 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; + 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("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; + 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(NPC_NAME)); + disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); end; } 1@pump,32,100,0 script Culvert Entrance#n WARPNPC,3,3,{ end; OnInstanceInit: - disablenpc instance_npcname(strnpcinfo(NPC_NAME)); + disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); end; OnTouch: - warp "mal_in01",161,32; + 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 FAKE_NPC,{ OnInstanceInit: - monster strnpcinfo(NPC_MAP),0,0,"Hydra",1068,20; + monster(strnpcinfo(NPC_MAP), 0, 0, _("Hydra"), HYDRA, 20); end; } @@ -916,40 +959,40 @@ OnInstanceInit: 2@pump,39,88,4 duplicate(Missing, the Cleaner#nf) Missing, the Cleaner#hf 4_CAT_SAILOR2 2@pump,39,88,4 script Missing, the Cleaner#h 4_CAT_SAILOR2,{ - callfunc "F_mal_missing"; - donpcevent instance_npcname("Missing, the Cleaner#h")+"::OnStart"; - close; + callfunc("F_mal_missing"); + donpcevent(instance_npcname("Missing, the Cleaner#h")+"::OnStart"); + close(); OnStart: - killmonster instance_mapname("2@pump"),instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead"; - disablenpc instance_npcname("Missing, the Cleaner#h"); - initnpctimer; + killmonster(instance_mapname("2@pump"), instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead"); + disablenpc(instance_npcname("Missing, the Cleaner#h")); + initnpctimer(); end; OnAddSeaweed: .@map$ = instance_mapname("2@pump"); - areamonster .@map$,75,78,85,88,"Contaminated Seaweed",2191,1,instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead"; - .@mob_dead_num = mobcount(.@map$,instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead"); + areamonster(.@map$, 75, 78, 85, 88, _("Contaminated Seaweed"), MD_SEAWEED, 1, instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead"); + .@mob_dead_num = mobcount(.@map$, instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead"); if (.@mob_dead_num >= 6) - donpcevent instance_npcname("Missing, the Cleaner#h")+"::OnFail"; + donpcevent(instance_npcname("Missing, the Cleaner#h")+"::OnFail"); else - mapannounce .@map$,"Proliferous Contaminated Seaweed: "+.@mob_dead_num+" stem",bc_map,"0xff3333",FW_NORMAL,20; + mapannounce(.@map$, sprintf(_$("Proliferous Contaminated Seaweed: %s stem"), .@mob_dead_num), bc_map, "0xff3333", FW_NORMAL, 20); end; OnMyMobDead: end; OnFail: - stopnpctimer; - donpcevent instance_npcname("Monster Hole#h")+"::OnClear"; + stopnpctimer(); + donpcevent(instance_npcname("Monster Hole#h")+"::OnClear"); .@map$ = instance_mapname("2@pump"); - killmonster .@map$, instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead"; - enablenpc instance_npcname("Missing, the Cleaner#hf"); - mapannounce .@map$,"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"); + killmonster(.@map$, instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead"); + enablenpc(instance_npcname("Missing, the Cleaner#hf")); + mapannounce(.@map$, _("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")); end; OnTimer100: - mapannounce instance_mapname("2@pump"),"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; + mapannounce(instance_mapname("2@pump"), _("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: - mapannounce instance_mapname("2@pump"),"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")+"::OnSpawn"; + mapannounce(instance_mapname("2@pump"), _("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")+"::OnSpawn"); end; OnTimer35000: OnTimer75000: @@ -960,12 +1003,12 @@ OnTimer235000: OnTimer275000: OnTimer315000: OnTimer355000: - mapannounce instance_mapname("2@pump"),"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; + mapannounce(instance_mapname("2@pump"), _("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")+"::OnSpawn"; + donpcevent(instance_npcname("Monster Hole#h")+"::OnSpawn"); end; OnTimer160000: OnTimer200000: @@ -973,72 +1016,92 @@ OnTimer240000: OnTimer280000: OnTimer320000: OnTimer360000: - .@mob_dead_num = mobcount(instance_mapname("2@pump"),instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead"); + .@mob_dead_num = mobcount(instance_mapname("2@pump"), instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead"); if (.@mob_dead_num >= 6) - donpcevent instance_npcname("Missing, the Cleaner#h")+"::OnFail"; + donpcevent(instance_npcname("Missing, the Cleaner#h")+"::OnFail"); else - donpcevent instance_npcname("Monster Hole#h")+"::OnSpawn"; + donpcevent(instance_npcname("Monster Hole#h")+"::OnSpawn"); end; OnTimer420000: - mapannounce instance_mapname("2@pump"),"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; + mapannounce(instance_mapname("2@pump"), _("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; - .@mob_dead_num = mobcount(instance_mapname("2@pump"),instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead"); + stopnpctimer(); + .@mob_dead_num = mobcount(instance_mapname("2@pump"), instance_npcname("Missing, the Cleaner#h")+"::OnMyMobDead"); if (.@mob_dead_num >= 6) - donpcevent instance_npcname("Missing, the Cleaner#h")+"::OnFail"; + donpcevent(instance_npcname("Missing, the Cleaner#h")+"::OnFail"); else - donpcevent instance_npcname("Boss Creation#h")+"::OnEnable"; + donpcevent(instance_npcname("Boss Creation#h")+"::OnEnable"); end; } 2@pump,53,114,4 script #Culvert_h1 CLEAR_NPC,14,14,{ //temporary workaround for ALL_SAMEMAP - progressbar "0xFFFF00",15; - stopnpctimer; - disablenpc instance_npcname(strnpcinfo(NPC_NAME)); + progressbar(sprintf("0x%x", C_YELLOW), 15); + stopnpctimer(); + disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); end; OnInstanceInit: - disablenpc instance_npcname(strnpcinfo(NPC_NAME)); + disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); end; OnEnable: - enablenpc instance_npcname(strnpcinfo(NPC_NAME)); + enablenpc(instance_npcname(strnpcinfo(NPC_NAME))); .@label$ = instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead"; .@map$ = instance_mapname("2@pump"); - .@index = atoi(substr(strnpcinfo(NPC_NAME_HIDDEN),9,getstrlen(strnpcinfo(NPC_NAME_HIDDEN))-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; + .@index = atoi(substr(strnpcinfo(NPC_NAME_HIDDEN), 9, getstrlen(strnpcinfo(NPC_NAME_HIDDEN))-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 .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Ancient Marc",2182,rand(2,3),.@label$; - areamonster .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Ancient Sword Fish",2181,rand(2,3),.@label$; - areamonster .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Ancient Strouf",2180,rand(2,3),.@label$; - areamonster .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Mutant Anolian",2183,rand(2,3),.@label$; - areamonster .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Abysmal Obeaune",2184,rand(2,3),.@label$; - areamonster .@map$,.@c[0],.@c[1],.@c[2],.@c[3],"Metamorphous Kapha",2185,rand(2,3),.@label$; - specialeffect EF_MAPPILLAR2,ALL_SAMEMAP; //currently broken - initnpctimer; + areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Ancient Marc"), MD_MARC, rand(2, 3), .@label$); + areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Ancient Sword Fish"), MD_SWORD_FISH, rand(2, 3), .@label$); + areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Ancient Strouf"), MD_STROUF, rand(2, 3), .@label$); + areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Mutant Anolian"), MD_ANOLIAN, rand(2, 3), .@label$); + areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Abysmal Obeaune"), MD_OBEAUNE, rand(2, 3), .@label$); + areamonster(.@map$, .@c[0], .@c[1], .@c[2], .@c[3], _("Metamorphous Kapha"), MD_KAPHA, rand(2, 3), .@label$); + specialeffect(EF_MAPPILLAR2, ALL_SAMEMAP); //currently broken + initnpctimer(); end; OnMyMobDead: end; OnClear: - stopnpctimer; - killmonster instance_mapname("2@pump"),instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead"; + stopnpctimer(); + killmonster(instance_mapname("2@pump"), instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead"); end; OnTimer39500: //OnTimer40000 clashes with the timer in "Missing, the Cleaner#h". - donpcevent instance_npcname("Missing, the Cleaner#h")+"::OnAddSeaweed"; - donpcevent instance_npcname(strnpcinfo(NPC_NAME))+"::OnClear"; - disablenpc instance_npcname(strnpcinfo(NPC_NAME)); + donpcevent(instance_npcname("Missing, the Cleaner#h")+"::OnAddSeaweed"); + donpcevent(instance_npcname(strnpcinfo(NPC_NAME))+"::OnClear"); + disablenpc(instance_npcname(strnpcinfo(NPC_NAME))); end; OnTouch: - specialeffect EF_MAPPILLAR2; + specialeffect(EF_MAPPILLAR2); end; } 2@pump,79,109,4 duplicate(#Culvert_h1) #Culvert_h2 CLEAR_NPC,14,14 |