summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/re/instances/MalangdoCulvert.txt1287
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