summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2018-06-23 11:08:04 -0300
committerJesusaves <cpntb1@ymail.com>2018-06-23 11:08:04 -0300
commit06aafc9a2a8213040aa33cc2c2a819d1be6f874b (patch)
treefcd4f364ed6506339ef5437c633f36e9fc9a184f
parentf2fe58ad450eaaf07824eff20739557a0485636d (diff)
downloadserverdata-06aafc9a2a8213040aa33cc2c2a819d1be6f874b.tar.gz
serverdata-06aafc9a2a8213040aa33cc2c2a819d1be6f874b.tar.bz2
serverdata-06aafc9a2a8213040aa33cc2c2a819d1be6f874b.tar.xz
serverdata-06aafc9a2a8213040aa33cc2c2a819d1be6f874b.zip
Break every imaginable pipeline. I'm waiting it to fail.
-rw-r--r--npc/001-1/eventmaster.txt4
-rw-r--r--npc/001-7/celestia_bossfight.txt20
-rw-r--r--npc/001-8/hub.txt2
-rw-r--r--npc/002-1/alige.txt6
-rw-r--r--npc/002-4/elmo.txt2
-rw-r--r--npc/002-4/nard.txt2
-rw-r--r--npc/003-1-1/yetiking.txt6
-rw-r--r--npc/003-1/constableperry.txt2
-rw-r--r--npc/003-1/hasan.txt2
-rw-r--r--npc/003-1/oldwell.txt4
-rw-r--r--npc/003-1/sewer.txt4
-rw-r--r--npc/003-1/tinris.txt2
-rw-r--r--npc/003-1/well.txt28
-rw-r--r--npc/003-10/quirino.txt30
-rw-r--r--npc/003-10/slots.txt20
-rw-r--r--npc/003-4/sorfina.txt8
-rw-r--r--npc/004-1/anwar.txt4
-rw-r--r--npc/004-1/elanore.txt2
-rw-r--r--npc/005-2-1/note.txt2
-rw-r--r--npc/005-6/zitoni.txt4
-rw-r--r--npc/007-1/caelum.txt10
-rw-r--r--npc/007-1/pylon.txt2
-rw-r--r--npc/007-1/zarkor.txt16
-rw-r--r--npc/009-1/fisherman.txt6
-rw-r--r--npc/012-1/guards.txt24
-rw-r--r--npc/012-1/gwendolyn.txt34
-rw-r--r--npc/012-1/hinnak.txt4
-rw-r--r--npc/012-1/jack.txt6
-rw-r--r--npc/012-1/terezin.txt2
-rw-r--r--npc/012-7/celestia.txt22
-rw-r--r--npc/014-2/note.txt2
-rw-r--r--npc/014-3/fountain.txt20
-rw-r--r--npc/014-3/oscar.txt2
-rw-r--r--npc/016-1/doors.txt2
-rw-r--r--npc/commands/event.txt12
-rw-r--r--npc/functions/class.txt30
-rw-r--r--npc/functions/clientversion.txt26
-rw-r--r--npc/functions/main.txt13
-rw-r--r--npc/functions/news.txt94
-rw-r--r--npc/soren-2/main.txt4
-rw-r--r--npc/soren/main.txt18
41 files changed, 256 insertions, 247 deletions
diff --git a/npc/001-1/eventmaster.txt b/npc/001-1/eventmaster.txt
index 1959c62e6..8bbf2d0e0 100644
--- a/npc/001-1/eventmaster.txt
+++ b/npc/001-1/eventmaster.txt
@@ -600,8 +600,8 @@ L_Agr:
L_EventOnly:
- mes col("WARNING: Spawn these monsters with moderation!", 1);
- mes col("Some of them have FORBIDDEN DROPS, which will be DELETED when their event starts!", 1);
+ mescol l("WARNING: Spawn these monsters with moderation!"), 1);
+ mescol l("Some of them have FORBIDDEN DROPS, which will be DELETED when their event starts!"), 1);
mes "";
select
"Abort", // 1
diff --git a/npc/001-7/celestia_bossfight.txt b/npc/001-7/celestia_bossfight.txt
index 32009be0c..548d70950 100644
--- a/npc/001-7/celestia_bossfight.txt
+++ b/npc/001-7/celestia_bossfight.txt
@@ -22,7 +22,7 @@
end;
L_GoHome:
- mes col("Go home now?", 9);
+ mes col(l("Go home now?"), 9);
if (askyesno() == ASK_YES)
warp "003-1-1", 94, 22;
closedialog;
@@ -38,17 +38,17 @@ L_Survivor:
Karma=Karma+1;
getexp 0, 200;
getitem SilverGift, 1;
- mes col("CONGRATULATIONS! You are the first player to finish Yeti King quest!!", 2);
- mes col("You just gained a Karma point, a Silver Gift, and 200 Job Exp for your bravery!", 2);
+ mes col(l("CONGRATULATIONS! You are the first player to finish Yeti King quest!!"), 2);
+ mes col(l("You just gained a Karma point, a Silver Gift, and 200 Job Exp for your bravery!"), 2);
next;
}
- mesn col("The Yeti King", 3);
+ mesn col(l("The Yeti King"), 3);
mesq l("Good job, kid. You've survived both the Cave Of Trials and Soren's Village.");
next;
- mesn col("The Yeti King", 3);
+ mesn col(l("The Yeti King"), 3);
mesq l("That was only to prove you're strong enough on yourself to do whatever you want to do. You have friends.");
next;
- mesn col("The Yeti King", 3);
+ mesn col(l("The Yeti King"), 3);
mesq l("In this world, your friends are your strength. You deserve a reward for the victory, please choose whatever you want.");
select
l("I want a gemstone or ore"),
@@ -76,10 +76,10 @@ L_Survivor:
break;
}
compareandsetq HurnscaldQuest_Celestia, 5, 6;
- mesn col("The Yeti King", 3);
+ mesn col(l("The Yeti King"), 3);
mesq l("Here kid. Frostia, the elf town, is somewhere near here, but I'm not sure if you can reach it from here.");
next;
- mesn col("The Yeti King", 3);
+ mesn col(l("The Yeti King"), 3);
mesq l("I can warp you home now.");
mes "";
select
@@ -94,10 +94,10 @@ L_Survivor:
break;
case 2:
compareandsetq HurnscaldQuest_Celestia, 6, 7;
- mesn col("The Yeti King", 3);
+ mesn col(l("The Yeti King"), 3);
mesq l("Foolish kids, do you think violence is the answer to everything?!");
next;
- mesn col("The Yeti King", 3);
+ mesn col(l("The Yeti King"), 3);
mesq l("I give you five minutes to defeat me. Witness my wrath!");
setnpcdisplay .name$, NPC_NO_SPRITE;
npctalk l("*Roaaaaaar!*");
diff --git a/npc/001-8/hub.txt b/npc/001-8/hub.txt
index d0ec0e680..05dc2f5f2 100644
--- a/npc/001-8/hub.txt
+++ b/npc/001-8/hub.txt
@@ -173,7 +173,7 @@ OnBegin:
setpcblock(PCBLOCK_ATTACK|PCBLOCK_SKILL|PCBLOCK_ITEM|PCBLOCK_MOVE|PCBLOCK_COMMANDS, false);
specialeffect(60, AREA, getcharid(3));
specialeffect(11, AREA, getcharid(3));
- dispbottom col("Run! Event started!", 1);
+ dispbottom col(l("Run! Event started!"), 1);
initnpctimer; // Restart the timer to fix any desync.
end;
diff --git a/npc/002-1/alige.txt b/npc/002-1/alige.txt
index 45e0bbfcb..a0d94442b 100644
--- a/npc/002-1/alige.txt
+++ b/npc/002-1/alige.txt
@@ -28,7 +28,7 @@
l("Did you said reward?!"), L_GoGo;
L_Weak:
- mes col("You thought there was someone here. It must have been your imagination.", 9);
+ mesc l("You thought there was someone here. It must have been your imagination.");
close;
L_Revolt:
@@ -49,7 +49,7 @@ L_GoGo:
// Stowaway hidden in a ship's hole. Contrabandist. Trade potions, dyes,
// food, water, and money for a hat.
mesn;
- mes col("Alige hands you an old paper patch.",9);
+ mesc l("Alige hands you an old paper patch.");
next;
mesn l("Old Paper Patch");
mes l("* @@/30 @@", countitem(CactusPotion), getitemlink(CactusPotion));
@@ -104,7 +104,7 @@ L_Return:
L_Remember:
mes "";
- mes col("Alige hands you an old paper patch.",9);
+ mesc l("Alige hands you an old paper patch.");
next;
mesn l("Old Paper Patch");
mes l("* @@/30 @@", countitem(CactusPotion), getitemlink(CactusPotion));
diff --git a/npc/002-4/elmo.txt b/npc/002-4/elmo.txt
index aa8149147..285c54741 100644
--- a/npc/002-4/elmo.txt
+++ b/npc/002-4/elmo.txt
@@ -27,7 +27,7 @@ L_Candor:
// Valon Quest
.@q=getq(CandorQuest_Trainer);
if (.@q < 1) {
- mes col("##BFirst and foremost, you should talk to Trainer, inside the big house.##b", 1);
+ mes col(l("##BFirst and foremost, you should talk to Trainer, inside the big house.##b"), 1);
mes l("Besides being able to train you, he is a walking encyclopedia - Ask him anything you are unsure about!");
next;
mes l("To find him, just leave the ship and turn left. You should also touch the Soul Menhir when you leave this ship.");
diff --git a/npc/002-4/nard.txt b/npc/002-4/nard.txt
index a33e37e49..e4b35a441 100644
--- a/npc/002-4/nard.txt
+++ b/npc/002-4/nard.txt
@@ -248,7 +248,7 @@ L_Tier2:
L_Tier2Ok:
mes "";
mesn;
- mes col("*tut*", 9);
+ mes col(l("*tut*"), 9);
next;
inventoryplace JesusalvaGrimorium, 1;
delitem Lifestone, 1;
diff --git a/npc/003-1-1/yetiking.txt b/npc/003-1-1/yetiking.txt
index 303f1857d..17c9d870f 100644
--- a/npc/003-1-1/yetiking.txt
+++ b/npc/003-1-1/yetiking.txt
@@ -129,9 +129,9 @@ OnWarper:
@YetiKing_Challenger=0;
}
- mes col("Warp to the Cave Of Trials?", 9);
- mes col("There is no EXP penalty, but you cannot go back without either completing the cave, or dying.", 9);
- mes col("If you die, you'll need to start over everything again!",9);
+ mesc l("Warp to the Cave Of Trials?");
+ mesc l("There is no EXP penalty, but you cannot go back without either completing the cave, or dying.");
+ mesc l("If you die, you'll need to start over everything again!");
if (askyesno() == ASK_YES) {
setq HurnscaldQuest_Celestia, 2; // This is a fix
warp "001-6", 27, 180;
diff --git a/npc/003-1/constableperry.txt b/npc/003-1/constableperry.txt
index 5e9b3eefb..0317e9393 100644
--- a/npc/003-1/constableperry.txt
+++ b/npc/003-1/constableperry.txt
@@ -14,7 +14,7 @@
mesq l("Yes, I am a mouboo. Why? Can't a mouboo be a law and order enforcer?!");
next;
mesq l("Anyway, you can check our [@@https://gitlab.com/TMW2/Docs/wikis/home|Wiki@@] to find awesome stuff!");
- mes col("(To see the rules, use ##B@rules##b.)", 9);
+ mes col(l("(To see the rules, use ##B@rules##b.)"), 9);
next;
mesq l("You can even join the project there. Contributors are greatly appreciated! %%N");
close;
diff --git a/npc/003-1/hasan.txt b/npc/003-1/hasan.txt
index 6882dcc59..901d1aa74 100644
--- a/npc/003-1/hasan.txt
+++ b/npc/003-1/hasan.txt
@@ -56,7 +56,7 @@ L_Print:
mes "";
mesn;
mesq l("Let me analyze that.");
- mes col("Hasan takes your print screen and analyzes it.",9);
+ mes col(l("Hasan takes your print screen and analyzes it."),9);
next;
mesn;
mesq l("Photoshopped. Definitely. Good luck convincing somebody with that! %%a");
diff --git a/npc/003-1/oldwell.txt b/npc/003-1/oldwell.txt
index 59042b3dc..74ae1ab48 100644
--- a/npc/003-1/oldwell.txt
+++ b/npc/003-1/oldwell.txt
@@ -7,7 +7,7 @@
003-1,53,144,0 script Old Well#003-1 NPC_NO_SPRITE,{
- mes l("##9You found an old well with a bucket on it! It's time to fill plenty of @@!", getitemlink(EmptyBottle));
+ mes col(l("You found an old well with a bucket on it! It's time to fill plenty of @@!", getitemlink(EmptyBottle)), 9);
input .@count;
if (.@count == 0)
@@ -25,7 +25,7 @@
close;
L_NotEnoughBottles:
- mes col("You don't have that many empty bottles!", 9);
+ mes col(l("You don't have that many empty bottles!"), 9);
close;
diff --git a/npc/003-1/sewer.txt b/npc/003-1/sewer.txt
index 269c56a01..dbaf8a1ac 100644
--- a/npc/003-1/sewer.txt
+++ b/npc/003-1/sewer.txt
@@ -9,7 +9,7 @@
if (getq(TulimsharQuest_Sewers) == 0) end;
if (BaseLevel < 25) end;
- mes col("Descend into Tulimshar sewers?", 9);
+ mes col(l("Descend into Tulimshar sewers?"), 9);
if (askyesno() == ASK_YES) {
closedialog;
warp "003-1-1", 57, 100;
@@ -23,7 +23,7 @@
if (getq(TulimsharQuest_Sewers) == 0) end;
if (BaseLevel < 25) end;
- mes col("Descend into Tulimshar sewers?", 9);
+ mes col(l("Descend into Tulimshar sewers?"), 9);
if (askyesno() == ASK_YES) {
closedialog;
warp "003-1-1", 143, 128;
diff --git a/npc/003-1/tinris.txt b/npc/003-1/tinris.txt
index d233c3378..c19f199ef 100644
--- a/npc/003-1/tinris.txt
+++ b/npc/003-1/tinris.txt
@@ -21,7 +21,7 @@
// Placeholder dialog
if (.@q == 5)
- mes col("I still have Anwar's fertilizer with me.", 9);
+ mes col(l("I still have Anwar's fertilizer with me."), 9);
mesn;
mesq l("We elves have greater affinity for magic than humans.");
next;
diff --git a/npc/003-1/well.txt b/npc/003-1/well.txt
index e268cc1a4..c6168759d 100644
--- a/npc/003-1/well.txt
+++ b/npc/003-1/well.txt
@@ -5,21 +5,21 @@
003-1,45,80,0 script Well#003-1 NPC_NO_SPRITE,{
if (countitem(Bucket) < 0) {
- mes col("This well is too deep and you don't have a bucket.", 9);
+ mes col(l("This well is too deep and you don't have a bucket."), 9);
} else {
- mes col("Hey you have a bucket! Too bad there are, you know, HOLES on it, so you can see.", 9);
- mes col("That's exactly why you can't use it to get water. Silly.", 9);
+ mes col(l("Hey you have a bucket! Too bad there are, you know, HOLES on it, so you can see."), 9);
+ mes col(l("That's exactly why you can't use it to get water. Silly."), 9);
}
if (!Zeny)
close;
next;
- mes col("Throw a coin?", 9);
+ mes col(l("Throw a coin?"), 9);
if (askyesno() != ASK_YES)
close;
mes "";
Zeny=Zeny-1;
- mes col("You throw a coin on the well.", 9);
+ mes col(l("You throw a coin on the well."), 9);
next;
.@n=rand(0, 10000);
@@ -31,37 +31,37 @@
mes l("##9Hey wait... Your coin turned on a @@!", getitemlink(CasinoCoins));
} else if (.@n <= 100) {
Zeny=Zeny+2;
- mes col("Hey wait... You found 2 GP!", 9);
+ mes col(l("Hey wait... You found 2 GP!"), 9);
} else if (.@n <= 250) {
percentheal 100, 100;
- mes col("Hey wait... You're enveloped by a bright light and fully healed!", 9);
+ mes col(l("Hey wait... You're enveloped by a bright light and fully healed!"), 9);
} else if (.@n <= 300) {
getexp rand(1,BaseLevel), rand(1,BaseLevel);
- mes col("Hey wait... You're enveloped by a bright light and gain experience!", 9);
+ mes col(l("Hey wait... You're enveloped by a bright light and gain experience!"), 9);
} else if (.@n > 9900) {
- mes col("Hey wait... A monster!! Run for your life!!", 9);
+ mes col(l("Hey wait... A monster!! Run for your life!!"), 9);
getmapxy(.@m$, .@x, .@y, 0);
.@mobGID = monster(.@m$, .@x, .@y, "Croc", Croc, 1);
unitattack(.@mobGID, getcharid(CHAR_ID_ACCOUNT)); // Order the summoned monster to engage!!
} else if (.@n > 9850) {
- mes col("Hey wait... A monster!! Run for your life!!", 9);
+ mes col(l("Hey wait... A monster!! Run for your life!!"), 9);
getmapxy(.@m$, .@x, .@y, 0);
.@mobGID = monster(.@m$, .@x, .@y, "Blub", Blub, 1);
unitattack(.@mobGID, getcharid(CHAR_ID_ACCOUNT)); // Order the summoned monster to engage!!
} else if (.@n > 9800) {
- mes col("Hey wait... A monster!! Run for your life!!", 9);
+ mes col(l("Hey wait... A monster!! Run for your life!!"), 9);
getmapxy(.@m$, .@x, .@y, 0);
.@mobGID = monster(.@m$, .@x, .@y, "Red Scorpion", RedScorpion, 1);
unitattack(.@mobGID, getcharid(CHAR_ID_ACCOUNT)); // Order the summoned monster to engage!!
} else if (.@n > 9700) {
- mes col("Hey wait... A monster!! Run for your life!!", 9);
+ mes col(l("Hey wait... A monster!! Run for your life!!"), 9);
getmapxy(.@m$, .@x, .@y, 0);
.@mobGID = monster(.@m$, .@x, .@y, "Bat", Bat, 1);
unitattack(.@mobGID, getcharid(CHAR_ID_ACCOUNT)); // Order the summoned monster to engage!!
} else {
- mes col("Nothing happens.", 9);
+ mes col(l("Nothing happens."), 9);
next;
- mes col("What did you expected, anyway?", 9);
+ mes col(l("What did you expected, anyway?"), 9);
}
close;
diff --git a/npc/003-10/quirino.txt b/npc/003-10/quirino.txt
index a1d02ac5c..8179bd228 100644
--- a/npc/003-10/quirino.txt
+++ b/npc/003-10/quirino.txt
@@ -43,18 +43,18 @@ L_Register:
}
L_Info:
- mesn col("Hungry Quirin Arena Rules", 3);
- mes col("1- You must not be carrying anything with you.", 9);
- mes col("2- You must not use a cart. If you do, YOU WILL BE SEVERELY PENALIZED.", 9);
- mes col("3- All items from the Arena are from the Arena. You won't carry any of them back with you.", 9);
- mes col("4- Experience and Gold earned during this event can be kept.", 9);
+ mesn col(l("Hungry Quirin Arena Rules"), 3);
+ mesc l("1- You must not be carrying anything with you.");
+ mesc l("2- You must not use a cart. If you do, YOU WILL BE SEVERELY PENALIZED.");
+ mesc l("3- All items from the Arena are from the Arena. You won't carry any of them back with you.");
+ mesc l("4- Experience and Gold earned during this event can be kept.");
next;
- mesn col("Hungry Quirin Arena Information", 3);
- mes col("1- Survive. If you die, you will gain nothing. And people want to kill you.", 9);
- mes col("2- Take everything you can find. You'll be warped without equip or healing items! Kill monsters to get some stuff too!", 9);
- mes col("3- Trust nobody. There can be only one winner, and it must be you.", 9);
- mes col("4- Take Care. Wildlife can kill you too. There can be traps.", 9);
- mes col("5- Trust yourself. You will lose the moment you enter in panic. This arena is not for the weak-willed!", 9);
+ mesn col(l("Hungry Quirin Arena Information"), 3);
+ mesc l("1- Survive. If you die, you will gain nothing. And people want to kill you.");
+ mesc l("2- Take everything you can find. You'll be warped without equip or healing items! Kill monsters to get some stuff too!");
+ mesc l("3- Trust nobody. There can be only one winner, and it must be you.");
+ mesc l("4- Take Care. Wildlife can kill you too. There can be traps.");
+ mesc l("5- Trust yourself. You will lose the moment you enter in panic. This arena is not for the weak-willed!");
next;
goto L_Register;
@@ -84,16 +84,16 @@ L_Full:
L_Hub:
mesn;
- mes col("Welcome to HUNGRY QUIRIN ARENA mangment panel.", 9);
- mes col("Current Event: "+$EVENT$,9);
- mes col("Event stage: "+$@EQ_STATUS, 9);
+ mesc l("Welcome to HUNGRY QUIRIN ARENA mangment panel.");
+ mesc l("Current Event: "+$EVENT$);
+ mesc l("Event stage: "+$@EQ_STATUS);
mes l("Current player count: @@/5 must be online.", getusers(1));
mes l("Current arena player count: @@ on map. (Min. 3 to begin event)", getmapusers("001-8"));
// Open event? Minimum 5 connections or GM_OVERRIDE flag.
if ($EVENT$ == "" && (getusers(1) >= 5 || $@GM_OVERRIDE)) {
next;
- mes col("Activate event?", 1);
+ mescol l("Activate event?", 1);
if (askyesno() == ASK_YES) {
$EVENT$="Hunger";
setcells "001-8", 41, 58, 41, 43, 5, "qhubN";
diff --git a/npc/003-10/slots.txt b/npc/003-10/slots.txt
index 517dea01c..fdb0076fc 100644
--- a/npc/003-10/slots.txt
+++ b/npc/003-10/slots.txt
@@ -36,8 +36,8 @@
L_Menu:
mesn;
- mes col("Spin three symbols, and jackpot great rewards!", 9);
- mes col("Just one coin for spin.", 9);
+ mesc l("Spin three symbols, and jackpot great rewards!");
+ mesc l("Just one coin for spin.");
next;
menu
rif(countitem(CasinoCoins) >= 1, l("Spin!")), L_Spin,
@@ -47,16 +47,16 @@ L_Menu:
L_Info:
mes "";
- mes col("Prizes:", 9);
+ mesc l("Prizes:");
mes l("##9 777: @@.", getitemlink(Monocle));
- mes col("Three equal: 30 coins.", 9);
- mes col("Two equal: 1 coin.", 9);
+ mesc l("Three equal: 30 coins.");
+ mesc l("Two equal: 1 coin.");
next;
goto L_Menu;
L_Spin:
- mes col("Spinning...", 9);
+ mesc l("Spinning...");
next;
delitem CasinoCoins, 1;
.@a=rand(1,7);
@@ -69,15 +69,15 @@ L_Spin:
mesn;
if (.@a == .@b && .@a == .@c && .@a == 7) {
getitem Monocle, 1;
- mes col("Jackpot! You got the Monocle!", 3);
+ mescol l("Jackpot! You got the Monocle!", 3);
} else if (.@a == .@b && .@a == .@c) {
getitem CasinoCoins, 30;
- mes col("Congrats! You got thirty coins!", 3);
+ mescol l("Congrats! You got thirty coins!", 3);
} else if (.@a == .@b || .@a == .@c || .@b == .@c) {
getitem CasinoCoins, 1;
- mes col("Lucky! You got a coin!", 3);
+ mescol l("Lucky! You got a coin!", 3);
} else {
- mes col("It wasn't this time...", 3);
+ mescol l("It wasn't this time...", 3);
}
next;
goto L_Menu;
diff --git a/npc/003-4/sorfina.txt b/npc/003-4/sorfina.txt
index d7f40d76d..bed4e5c8e 100644
--- a/npc/003-4/sorfina.txt
+++ b/npc/003-4/sorfina.txt
@@ -29,18 +29,18 @@ L_Trouble:
next;
mesn;
mesq l("Oh, he has been a little rascal since his father died.");
- mes col("*cries*", 9);
+ mes col(l("*cries*"), 9);
next;
mesn;
mesq l("You see, after a monster attack... My husband went to the desert, to check how things were...");
- mes col("*cries*", 9);
+ mes col(l("*cries*"), 9);
next;
mesn;
mesq l("He never touched the Soul Menhir... He died... For real...");
- mes col("*cries*", 9);
+ mes col(l("*cries*"), 9);
next;
mesn;
- mes col("Sorfina recomposes herself.", 9);
+ mes col(l("Sorfina recomposes herself."), 9);
mesq l("There is a rare kind of scorpion, the Murderer Scorpion. Very dangerous.");
setq TulimsharQuest_Hasan, 3, -1;
next;
diff --git a/npc/004-1/anwar.txt b/npc/004-1/anwar.txt
index 7f9b83b5f..7658d9b87 100644
--- a/npc/004-1/anwar.txt
+++ b/npc/004-1/anwar.txt
@@ -65,13 +65,13 @@ L_TryIt:
// Fail chances are 100% - 12% per attempt
if (rand(0,100) < 100-(.@q2*12)) {
setq1 TulimsharQuest_AnwarField, 6;
- mes col("Nothing happens.", 9);
+ mes col(l("Nothing happens."), 9);
next;
mesn;
mesq l("Uh... Something should happen, right? Can you get another one?");
} else {
setq1 TulimsharQuest_AnwarField, 7;
- mes col("Evil worms crawl from earth and starts devoring the plants!", 9);
+ mes col(l("Evil worms crawl from earth and starts devoring the plants!"), 9);
next;
mesn;
mesq l("Uh... That should not happen, right? RIGHT?");
diff --git a/npc/004-1/elanore.txt b/npc/004-1/elanore.txt
index 1fec424c9..75aedefa6 100644
--- a/npc/004-1/elanore.txt
+++ b/npc/004-1/elanore.txt
@@ -53,7 +53,7 @@ L_Trade:
// Second tier stuff
if (ST_TIER == 8) {
if (gettimetick(2) > QUEST_ELEVARTEMPO) {
- mes col(".:: Second Tier Quest - Timed Out ::.", 1);
+ mes col(l(".:: Second Tier Quest - Timed Out ::."), 1);
} else {
getexp 44, 0;
ST_TIER=9;
diff --git a/npc/005-2-1/note.txt b/npc/005-2-1/note.txt
index d90247693..554e25a0f 100644
--- a/npc/005-2-1/note.txt
+++ b/npc/005-2-1/note.txt
@@ -5,7 +5,7 @@
// A small note
005-2-1,41,33,0 script Note#saxsocave NPC_PAPER_NOTE,{
- mes col("I leave this basement that start to be too dangerous!", 9);
+ mesc l("I leave this basement that start to be too dangerous!");
close;
OnInit:
diff --git a/npc/005-6/zitoni.txt b/npc/005-6/zitoni.txt
index 4be094682..28f5ba158 100644
--- a/npc/005-6/zitoni.txt
+++ b/npc/005-6/zitoni.txt
@@ -206,7 +206,7 @@ L_DarkInv_Ever:
mesn;
mesq l("I don't know who sent you to me, but this is a flat and big NO!");
next;
- mes col("Zitoni won't cooperate with you. Perhaps you should ask to Zarkor about that.", 9);
+ mesc l("Zitoni won't cooperate with you. Perhaps you should ask to Zarkor about that.");
setq TulimsharQuest_DarkInvocator, 2;
close;
@@ -215,7 +215,7 @@ L_DarkInv_Mush:
mesq l("Ah... A @@. The sturdiest from all mushroom, and very, very rare.", getitemlink(DarkDesertMushroom));
next;
mesn;
- mes col("Zitoni seems to be lost on deep thought.", 9);
+ mesc l("Zitoni seems to be lost on deep thought.");
next;
mesn;
mesq l("Ah... Well, ok. I'll do the powder for you, but you still need to bring me the material.");
diff --git a/npc/007-1/caelum.txt b/npc/007-1/caelum.txt
index 05996b42d..a4060652d 100644
--- a/npc/007-1/caelum.txt
+++ b/npc/007-1/caelum.txt
@@ -115,15 +115,15 @@ L_Lying:
mesn;
mesq l("No no no, that's wrong.");
next;
- mes col("The miner goes to count your stuff again.", 9);
+ mesc l("The miner goes to count your stuff again.");
next;
- mes col("And again.", 9);
+ mesc l("And again.");
next;
- mes col("And again, and again.", 9);
+ mesc l("And again, and again.");
next;
- mes col("And again, and again, again.", 9);
+ mesc l("And again, and again, again.");
next;
- mes col("You wonder, maybe he entered on an infinite loop? Hellooo, anybody home?", 9);
+ mesc l("You wonder, maybe he entered on an infinite loop? Hellooo, anybody home?");
next;
mesn;
mesq l("No no no, you don't have everything I've asked for!");
diff --git a/npc/007-1/pylon.txt b/npc/007-1/pylon.txt
index 7a3bccb41..f514a4d7c 100644
--- a/npc/007-1/pylon.txt
+++ b/npc/007-1/pylon.txt
@@ -63,7 +63,7 @@ L_Question:
next;
mesq l("With one gem you can expect to get 1 to 3 powders!");
next;
- mes col("We must blame Saulc!", 9);
+ mesc l("We must blame Saulc!");
next;
mesq lg("By the way would you like to transform your gem?");
next;
diff --git a/npc/007-1/zarkor.txt b/npc/007-1/zarkor.txt
index 082595325..e29ae57b2 100644
--- a/npc/007-1/zarkor.txt
+++ b/npc/007-1/zarkor.txt
@@ -36,7 +36,7 @@
break;
case 5:
mesn "Saulc, the Bug Master";
- mesq col("What, are we really letting you do something so insane as summoning the Monster King?! Blame Saulc!!", 9);
+ mesq col("What, are we really letting you do something so insane as summoning the Monster King?! Blame Saulc!!");
next;
mesn "Zarkor, the Dark Summoner";
mesq l("You didn't lit every torch yet! Hurry up!!");
@@ -154,11 +154,11 @@ L_Quest:
L_Ritual:
percentheal 100, 0;
specialeffect(56);
- mes col("Zarkor spills many fluids on the lake, with much concentration.", 9);
+ mesc l("Zarkor spills many fluids on the lake, with much concentration.");
next;
specialeffect(56);
mesn "Zarkor, the Dark Summoner";
- mes col("Zarkor starts a weird chant.", 9);
+ mesc l("Zarkor starts a weird chant.");
next;
specialeffect(52);
killmonster("007-1", "Zarkor::OnMonster");
@@ -166,23 +166,23 @@ L_Ritual:
mesq l("MONSTER KING, APPEAR TO ME!");
next;
mesn "MONSTER KING";
- mes col("...Foolish human... Do you really think I will attend your summon?", 1);
+ mescol l("...Foolish human... Do you really think I will attend your summon?"), 1;
next;
mesn "Zarkor, the Dark Summoner";
mesq l("But... But! Where are you?! That summon ritual is equivalent to GM magic!");
next;
mesn "MONSTER KING";
- mes col("And who do you think that created GM Magic in first place, inexperienced kid?", 1);
+ mescol l("And who do you think that created GM Magic in first place, inexperienced kid?"), 1;
next;
mesn "Zarkor, the Dark Summoner";
mesq l("You... You killed my father during Nivalis siege! I'll make you pay for that!!");
next;
mesn "MONSTER KING";
- mes col("You humans are so greedy... Just like me. I have more important things to do, other than waste time with you.", 1);
+ mescol l("You humans are so greedy... Just like me. I have more important things to do, other than waste time with you."), 1;
next;
mesn "MONSTER KING";
- mes col("Zarkor, fell a small taste of my power. That is nothing. If you can't handle that, you're not even near my lowest lieutenant.", 1);
- mes col("And you got help from a kid, Zarkor? Lucky is that kid, that I don't time to deal with them. Farewell.", 1);
+ mescol l("Zarkor, fell a small taste of my power. That is nothing. If you can't handle that, you're not even near my lowest lieutenant."), 1;
+ mescol l("And you got help from a kid, Zarkor? Lucky is that kid, that I don't have time to deal with them. Farewell."), 1;
next;
specialeffect(312);
mesn "Zarkor, the Dark Summoner";
diff --git a/npc/009-1/fisherman.txt b/npc/009-1/fisherman.txt
index 523b0994c..a47191db8 100644
--- a/npc/009-1/fisherman.txt
+++ b/npc/009-1/fisherman.txt
@@ -126,13 +126,13 @@ L_Finish:
getexp 800, 0; // 10% of max exp
mes "";
mesn;
- mes col("With a knife, the fisherman makes the roots as thin as he can. You wonder if he knows what he is doing.", 9);
+ mesc l("With a knife, the fisherman makes the roots as thin as he can. You wonder if he knows what he is doing.");
next;
mesn;
- mes col("Once the roots are of a desired thickness, he ties them to make a string, and applies an oil on it.", 9);
+ mesc l("Once the roots are of a desired thickness, he ties them to make a string, and applies an oil on it.");
next;
mesn;
- mes col("After waiting for the oil to dry, he hands you the string.", 9);
+ mesc l("After waiting for the oil to dry, he hands you the string.");
mesq l("Here, thanks to the oil, this string is very sturdy. You better not keep it on your inventory. Good luck!");
close;
diff --git a/npc/012-1/guards.txt b/npc/012-1/guards.txt
index 97e3f531e..1ba911112 100644
--- a/npc/012-1/guards.txt
+++ b/npc/012-1/guards.txt
@@ -19,7 +19,7 @@
close;
L_Admus:
- mes col("Protip: Use @hide to don't interfer.", 9);
+ mes col(l("Protip: Use @hide to don't interfer."), 9);
mes l("Determine Team Size (If everyone is ready and stdby at Tulimshar, use: @@. Minimum 2 players.)", getusers(1)-1);
input $@BG1_SIZE;
if ($@BG1_SIZE < 2) close;
@@ -272,21 +272,21 @@ OnInit:
mesq l("As soon that Saulc GM get back, we can start.");
close;
}
- mes col("Hurnscald Liberation Day special event", 3);
+ mes col(l("Hurnscald Liberation Day special event"), 3);
mes "";
- mes col("The objective of this event is to ##Bslay the Monster Admiral##b.",9);
- mes col("If you die, you ##Bwon't##b be able to rejoin, but you won't suffer the penalty.",9);
+ mes col(l("The objective of this event is to ##Bslay the Monster Admiral##b."), 9);
+ mes col(l("If you die, you ##Bwon't##b be able to rejoin, but you won't suffer the penalty."), 9);
next;
- mes col("If all players there die, Hurnscald WON'T BE LIBERATED.",9);
- mes col("This basically means that it'll be another day without it.", 9);
- mes col("Also, the more players survive, the better rewards will be given.", 9);
+ mes col(l("If all players there die, Hurnscald WON'T BE LIBERATED."), 9);
+ mes col(l("This basically means that it'll be another day without it."), 9);
+ mes col(l("Also, the more players survive, the better rewards will be given."), 9);
next;
- mes col("Right click on this NPC to join the Hurnscald Alliance.", 3);
- mes col("The number of players must be precise, meaning if someone doesn't joins,", 9);
- mes col("the event won't start and HURNSCALD WON'T BE LIBERATED.", 9);
+ mes col(l("Right click on this NPC to join the Hurnscald Alliance."), 3);
+ mes col(l("The number of players must be precise, meaning if someone doesn't joins,"), 9);
+ mes col(l("the event won't start and HURNSCALD WON'T BE LIBERATED."), 9);
next;
- mes col("Once you join the Alliance, you won't be able to talk with people outside it.", 9);
- mes col("Additionaly, all your movement will be restricted until either you're warped or log out.", 9);
+ mes col(l("Once you join the Alliance, you won't be able to talk with people outside it."), 9);
+ mes col(l("Additionaly, all your movement will be restricted until either you're warped or log out."), 9);
close;
OnSet:
diff --git a/npc/012-1/gwendolyn.txt b/npc/012-1/gwendolyn.txt
index 5bd8c2a96..4ec3b0ff3 100644
--- a/npc/012-1/gwendolyn.txt
+++ b/npc/012-1/gwendolyn.txt
@@ -139,7 +139,7 @@ L_State4:
goto L_NotReady;
if (!MAGIC_LVL)
goto L_NotReady;
- mes col("Gwendolyn takes an analyzing look at you. Then she nods.", 9);
+ mes col(l("Gwendolyn takes an analyzing look at you. Then she nods."), 9);
next;
setq HurnscaldQuest_HarkEye, 5;
mesn l("Gwendolyn Bowmaker");
@@ -187,7 +187,7 @@ L_Game:
if (countitem(TrainingArrow) < 1)
goto L_Arrows;
delitem TrainingArrow, 1;
- mes col("You go to the training field and stand exactly on the same level with the target. The target is located about 13 meters north of you. You take one arrow and look at Gwendolyn.", 9);
+ mes col(l("You go to the training field and stand exactly on the same level with the target. The target is located about 13 meters north of you. You take one arrow and look at Gwendolyn."), 9);
next;
// possibility for wdX and wdY to become zero is reduced, so windless status is less often
@@ -259,7 +259,7 @@ L_wp4:
goto L_Start;
L_Start:
- mes col("Do you want to go to the left, the right or stay where you are?", 9);
+ mes col(l("Do you want to go to the left, the right or stay where you are?"), 9);
next;
menu
l("I want to move left."),L_Left,
@@ -269,12 +269,12 @@ L_Start:
L_Stay:
.@spX = 0;
- mes col("You stay where you are..", 9);
+ mes col(l("You stay where you are.."), 9);
next;
goto L_Power;
L_Left:
- mes col("How many steps?", 9);
+ mes col(l("How many steps?"), 9);
next;
menu
"1",L_Left1,
@@ -284,30 +284,30 @@ L_Left:
L_Left1:
.@spX = -1;
- mes col("You take one step to the left.",9);
+ mes col(l("You take one step to the left."), 9);
next;
goto L_Power;
L_Left2:
.@spX = -2;
- mes col("You take two steps to the left.",9);
+ mes col(l("You take two steps to the left."), 9);
next;
goto L_Power;
L_Left3:
.@spX = -3;
- mes col("You take three steps to the left.",9);
+ mes col(l("You take three steps to the left."), 9);
next;
goto L_Power;
L_Left4:
.@spX = -4;
- mes col("You take four steps to the left.",9);
+ mes col(l("You take four steps to the left."), 9);
next;
goto L_Power;
L_Right:
- mes col("How many steps?",9);
+ mes col(l("How many steps?"), 9);
next;
menu
"1",L_Right1,
@@ -317,31 +317,31 @@ L_Right:
L_Right1:
.@spX = 1;
- mes col("You take one step to the right.",9);
+ mes col(l("You take one step to the right."), 9);
next;
goto L_Power;
L_Right2:
.@spX = 2;
- mes col("You take two steps to the right.",9);
+ mes col(l("You take two steps to the right."), 9);
next;
goto L_Power;
L_Right3:
.@spX = 3;
- mes col("You take three steps to the right.",9);
+ mes col(l("You take three steps to the right."), 9);
next;
goto L_Power;
L_Right4:
.@spX = 4;
- mes col("You take four steps to the right.",9);
+ mes col(l("You take four steps to the right."), 9);
next;
goto L_Power;
L_Power:
mes "";
- mes col("How powerfully do you want to shoot?",9);
+ mes col(l("How powerfully do you want to shoot?"), 9);
next;
select
l("very weak shot"),
@@ -437,7 +437,7 @@ L_Success:
mesq l("Maybe you did it, after all!");
next;
mesq l("Let me inspect it...");
- mes col("She walks to the target.",9);
+ mes col(l("She walks to the target."), 9);
next;
if( rand(400) > (2*readparam(bDex) + readparam(bAgi)))
goto L_Miss;
@@ -520,7 +520,7 @@ L_NotReady:
goto L_Close;
L_Arrows:
- mes col("Gwendolyn sighs and shake her head.", 9);
+ mes col(l("Gwendolyn sighs and shake her head."), 9);
next;
mesn l("Gwendolyn Bowmaker");
mesq l("Another lecture: Take always enough arrows with you. Go and come back when you are equipped adequately.");
diff --git a/npc/012-1/hinnak.txt b/npc/012-1/hinnak.txt
index 73ba4e483..9e866c3b8 100644
--- a/npc/012-1/hinnak.txt
+++ b/npc/012-1/hinnak.txt
@@ -21,7 +21,7 @@ L_Start:
mesq l("I hate you Pinkies, and I hate the Monster King too, for bringing forth these plagues!!");
next;
mesn strcharinfo(0);
- mes col("The farmer seems mad and in need of help. Will you help him?", 9);
+ mes col(l("The farmer seems mad and in need of help. Will you help him?"), 9);
if (askyesno() != ASK_YES) {
mesq l("Sorry, I have to go.");
close;
@@ -51,7 +51,7 @@ L_Slow:
mesn;
mesq l("But you're too slow to catch any of them. Sorry.");
next;
- mes col("Raise agility to do this quest.", 9);
+ mes col(l("Raise agility to do this quest."), 9);
close;
L_Weak:
diff --git a/npc/012-1/jack.txt b/npc/012-1/jack.txt
index 96d2674ae..549669b20 100644
--- a/npc/012-1/jack.txt
+++ b/npc/012-1/jack.txt
@@ -102,12 +102,12 @@ L_Loop:
if (@menu == 2)
close;
- mes col("Jack bends the log over his knee.", 9);
+ mes col(l("Jack bends the log over his knee."), 9);
delitem RawLog, 1;
.@success=rand(6,26)-.@k; // You will never need more than 20 logs nor less than 5 logs
if (.@success == 1) {
- mes col("The wood bends a little, but doesn't breaks.", 9);
+ mes col(l("The wood bends a little, but doesn't breaks."), 9);
getexp 295, 100; // 10% of max exp
setq2 HurscaldQuest_ForestBow, 99;
next;
@@ -115,7 +115,7 @@ L_Loop:
mesq lg("That's the right wood, my son. Here, I'll wrap it so you don't accidentaly lose it. Good luck with your quest!");
close;
} else {
- mes col("However, the log breaks with a loud crack.", 9);
+ mes col(l("However, the log breaks with a loud crack."), 9);
Zeny=Zeny+10;
getexp 5, 1;
setq2 HurscaldQuest_ForestBow, .@k+1;
diff --git a/npc/012-1/terezin.txt b/npc/012-1/terezin.txt
index 5669854a4..f467955d6 100644
--- a/npc/012-1/terezin.txt
+++ b/npc/012-1/terezin.txt
@@ -38,7 +38,7 @@ L_PinkieHat:
close;
next;
mesn strcharinfo(0);
- mes col("Give the Antenna to her?", 9);
+ mes col(l("Give the Antenna to her?"), 9);
if (askyesno() != ASK_YES) {
mesq l("I'll seek one for you.");
close;
diff --git a/npc/012-7/celestia.txt b/npc/012-7/celestia.txt
index f66fac79e..bd279dd51 100644
--- a/npc/012-7/celestia.txt
+++ b/npc/012-7/celestia.txt
@@ -15,7 +15,7 @@
mesn;
mesq lg("Hello, darling. I was thinking in doing a tea party.");
if (.@q1)
- mes col("You notice that even if she tries to calm down everyone and serve tea, she's pretty distressed with the Monster King herself.", 9);
+ mesc l("You notice that even if she tries to calm down everyone and serve tea, she's pretty distressed with the Monster King herself.");
next;
mesn strcharinfo(0);
menu
@@ -55,7 +55,7 @@ L_Crown:
L_MainQuest:
mes "";
mesn;
- mes col("Celestia eyes sparkles.", 9);
+ mesc l("Celestia eyes sparkles.");
mesq l("Someone who have clear priorities appeared! I'm glad!");
next;
mesn;
@@ -82,7 +82,7 @@ L_MainQuestCore:
mesn;
mesq l("Don't go alone, though! He would not listen to me, it is not you alone he'll pay attention.");
next;
- mes col("Accept quest?", 9);
+ mesc l("Accept quest?");
if (askyesno() == ASK_YES) {
setq HurnscaldQuest_Celestia, 1;
@YetiKing_Challenger=0;
@@ -189,11 +189,11 @@ L_TeaParty:
mesn;
mesq l("Wonderful, I am happy to have you over. Lets get things started with some puerh tea.");
next;
- mes col("Celestia hands you a cup filled with some type of tea that is unlike anything you have seen before.", 9);
- mes col("It has a very dark color and an unusual aroma reminiscent of a moist forest.", 9);
+ mesc l("Celestia hands you a cup filled with some type of tea that is unlike anything you have seen before.");
+ mesc l("It has a very dark color and an unusual aroma reminiscent of a moist forest.");
next;
- mes col("For a moment you wonder if Celestia might have gotten confused and tossed in a handful of forest dirt into the teapot.", 9);
- mes col("You ponder whether or not it would be wise to drink it.", 9);
+ mesc l("For a moment you wonder if Celestia might have gotten confused and tossed in a handful of forest dirt into the teapot.");
+ mesc l("You ponder whether or not it would be wise to drink it.");
menu
l("Uh are you sure this is fit to drink?"), L_QuestionTea,
l("(Drink the tea, hoping for the best)"), L_DrinkTea;
@@ -204,18 +204,18 @@ L_DrinkTea:
percentheal 0, 15;
@tmp_teatime=gettimetick(2)+140;
}
- mes col("To your pleasant surprise the tea is actually quite good.", 9);
+ mesc l("To your pleasant surprise the tea is actually quite good.");
next;
- mes col("Despite its initial dubious fragrance, the tea comes off as very smooth and mellow with a bit of natural sweetness and a touch of an earthy forest like flavour, but in a very good way.", 9);
+ mesc l("Despite its initial dubious fragrance, the tea comes off as very smooth and mellow with a bit of natural sweetness and a touch of an earthy forest like flavour, but in a very good way.");
next;
- mes col("Clearly an exotic tea, with a refined flavor fit for a refined woman such as Celestia.", 9);
+ mesc l("Clearly an exotic tea, with a refined flavor fit for a refined woman such as Celestia.");
close;
L_QuestionTea:
mesq l("Yes, did you really think I was some kind of monster that would try to poison you in my own house?");
mes l("##a(it would be way too messy anyway)##0");
next;
- mes col("Celestia then picks up the cup of tea and drinks it in front of you to demonstrate that it is not only harmless but also quite delectable.", 9);
+ mesc l("Celestia then picks up the cup of tea and drinks it in front of you to demonstrate that it is not only harmless but also quite delectable.");
close;
// end: Gumi Script
diff --git a/npc/014-2/note.txt b/npc/014-2/note.txt
index 4b7e0f375..276429572 100644
--- a/npc/014-2/note.txt
+++ b/npc/014-2/note.txt
@@ -5,7 +5,7 @@
// A temporary note
014-2,48,20,0 script Note#014-2tmp NPC_NO_SPRITE,{
- mes col("Path closed due recent Monster King attack!", 9);
+ mesc l("Path closed due recent Monster King attack!");
close;
OnInit:
diff --git a/npc/014-3/fountain.txt b/npc/014-3/fountain.txt
index 702afc1d0..ddd6951f4 100644
--- a/npc/014-3/fountain.txt
+++ b/npc/014-3/fountain.txt
@@ -9,8 +9,8 @@
014-3,151,117,0 script Fountain#Hurns NPC_NO_SPRITE,{
if (ST_TIER == 5 && gettimetick(2) < QUEST_ELEVARTEMPO) goto L_Tier2;
- mes col("There is fresh water here. I could use it to fill a bottle.", 9);
- mes col("But I probably should not do it. It might be poisoned!", 9);
+ mes col(l("There is fresh water here. I could use it to fill a bottle."), 9);
+ mes col(l("But I probably should not do it. It might be poisoned!"), 9);
close;
// TODO FIXME: We don't have a "Magic" water, and we might add
@@ -50,7 +50,7 @@ L_NotEnoughMoney:
L_Tier2:
if (readparam(bInt) < 10) goto L_Dumb;
mesn;
- mes col("WHAT ARE YOU GOING TO DO?", 9);
+ mes col(l("WHAT ARE YOU GOING TO DO?"), 9);
next;
select
l("Do nothing"), // 1
@@ -74,12 +74,12 @@ L_Tier2:
goto L_Failed;
if (@menu == 9)
- mes col("Whatever you're blaming Saulc about, this one time, he is innocent.", 9);
- mes col("Nothing happens.", 9);
+ mes col(l("Whatever you're blaming Saulc about, this one time, he is innocent."), 9);
+ mes col(l("Nothing happens."), 9);
close;
L_Fail2:
- mes col("Your low intelligence prevents anything from happening with you.", 9);
+ mes col(l("Your low intelligence prevents anything from happening with you."), 9);
mes "";
L_Failed:
@@ -92,17 +92,17 @@ L_Dumb:
mesn strcharinfo(0);
mesq l("Hello there pretty fountain, what about granting me magic?");
next;
- mes col("Unsurprisingly, nothing happens.", 9);
+ mes col(l("Unsurprisingly, nothing happens."), 9);
close;
L_Tier2Ok:
- mes col("You pour the whole potion on the fountain.", 9);
+ mes col(l("You pour the whole potion on the fountain."), 9);
next;
if (readparam(bInt) < 20) goto L_Fail2;
- mes col("You hear birds singing! That is what you had to do!", 9);
+ mes col(l("You hear birds singing! That is what you had to do!"), 9);
next;
if (readparam(bInt) < 30) goto L_Fail2;
- mes col("Your body starts to glow. You're not sure why, the fountain did that!", 9);
+ mes col(l("Your body starts to glow. You're not sure why, the fountain did that!"), 9);
next;
if (readparam(bInt) < 40) goto L_Fail2;
mesn;
diff --git a/npc/014-3/oscar.txt b/npc/014-3/oscar.txt
index 2a1943889..96340073c 100644
--- a/npc/014-3/oscar.txt
+++ b/npc/014-3/oscar.txt
@@ -43,7 +43,7 @@ L_Slow:
mesn;
mesq l("But you're too slow. Sorry.");
next;
- mes col("Raise agility to do this quest.", 9);
+ mes col(l("Raise agility to do this quest."), 9);
close;
L_Weak:
diff --git a/npc/016-1/doors.txt b/npc/016-1/doors.txt
index 271e5fb64..778c03377 100644
--- a/npc/016-1/doors.txt
+++ b/npc/016-1/doors.txt
@@ -17,7 +17,7 @@ OnTouch:
warp "003-1", 119, 25;
close;
}
- mes col("Oh noes! The door is locked!! Quick! Call a GM!!!", 1);
+ mes col(l("Oh noes! The door is locked!! Quick! Call a GM!!!"), 1);
close;
}
diff --git a/npc/commands/event.txt b/npc/commands/event.txt
index c3d21b329..ba28a0891 100644
--- a/npc/commands/event.txt
+++ b/npc/commands/event.txt
@@ -19,13 +19,13 @@ function script GlobalEventMenu {
function rateManagement {
clear;
mes l("To get the current rate:");
- mes col(" @exprate", 7);
+ mescol l(" @exprate", 7);
next;
mes l("To set the exp rate:");
- mes col(" @exprate ##Brate##b hours", 7);
+ mescol l(" @exprate ##Brate##b hours", 7);
next;
mes l("To reset back to normal:");
- mes col(" @exprate default", 7); // note to translators: any non-numerical value will reset so "default" is safe to translate
+ mescol l(" @exprate default", 7); // note to translators: any non-numerical value will reset so "default" is safe to translate
next;
return;
}
@@ -33,13 +33,13 @@ function script GlobalEventMenu {
function dropManagement {
clear;
mes l("To get the current rate:");
- mes col(" @rates", 7);
+ mescol l(" @rates", 7);
next;
mes l("To set the drop rate:");
- mes col(" @droprate ##Brate##b hours", 7);
+ mescol l(" @droprate ##Brate##b hours", 7);
next;
mes l("To reset back to normal:");
- mes col(" @droprate default", 7); // note to translators: any non-numerical value will reset so "default" is safe to translate
+ mescol l(" @droprate default", 7); // note to translators: any non-numerical value will reset so "default" is safe to translate
next;
return;
}
diff --git a/npc/functions/class.txt b/npc/functions/class.txt
index 588b9dd3f..b4d1466e3 100644
--- a/npc/functions/class.txt
+++ b/npc/functions/class.txt
@@ -160,11 +160,11 @@ L_T2_Fail:
delitem SunnyCrystal, 1;
} else {
mesn;
- mes col("WARNING. YOU ARE CHEATING THE SUNNY CRYSTAL QUEST.", 1);
+ mes col(l("WARNING. YOU ARE CHEATING THE SUNNY CRYSTAL QUEST."), 1);
next;
mesn;
- mes col("YOU WILL BE PENALIZED WITH 60% OF HEALTH.", 1);
- mes col("IF YOU DIE, YOU'LL SUFFER THE EXP PENALTY.", 1);
+ mes col(l("YOU WILL BE PENALIZED WITH 60% OF HEALTH."), 1);
+ mes col(l("IF YOU DIE, YOU'LL SUFFER THE EXP PENALTY."), 1);
percentheal -60, -100;
close;
}
@@ -175,18 +175,18 @@ L_T2_Fail:
delitem JesusalvaGrimorium, 1;
} else {
mesn;
- mes col("WARNING. YOU ARE CHEATING THE GRIMORIE QUEST.", 1);
+ mes col(l("WARNING. YOU ARE CHEATING THE GRIMORIE QUEST."), 1);
next;
mesn;
- mes col("YOU WILL BE PENALIZED WITH 70% OF HEALTH.", 1);
- mes col("IF YOU DIE, YOU'LL SUFFER THE EXP PENALTY.", 1);
+ mes col(l("YOU WILL BE PENALIZED WITH 70% OF HEALTH."), 1);
+ mes col(l("IF YOU DIE, YOU'LL SUFFER THE EXP PENALTY."), 1);
percentheal -70, -100;
close;
}
}
- mes col(".:: Mission Failed ::.", 1);
- mes col("You ran out of time.", 1);
+ mes col(l(".:: Mission Failed ::."), 1);
+ mes col(l("You ran out of time."), 1);
mes "";
mes l("You should have gotten here @@.", FuzzyTime(QUEST_ELEVARTEMPO,0,2));
ST_TIER=1;
@@ -203,7 +203,7 @@ L_T2_S0:
if (getskilllv(.@CLASS) == 1 && MAGIC_LVL >= 2 && ST_TIER == 6) goto L_T2_S6;
if (getskilllv(.@CLASS) == 1 && MAGIC_LVL >= 2 && ST_TIER <= 9) goto L_T2_S7;
if (getskilllv(.@CLASS) == 1 && MAGIC_LVL >= 2 && ST_TIER == 10) goto L_T2_Final;
- mes col("Error, error, L_T2_S0 General Error, REPORT ME", 9);
+ mes col(l("Error, error, L_T2_S0 General Error, REPORT ME"), 9);
close;
L_T2_S1:
@@ -241,10 +241,10 @@ L_T2_S1:
set QUEST_ELEVARTEMPO, gettimetick(2) + (60 * 35);
getexp 400, 0;
mesn;
- mes col("The class master mix the powder with the slime inside the bottle, and makes some weird mixture.", 9);
+ mes col(l("The class master mix the powder with the slime inside the bottle, and makes some weird mixture."), 9);
next;
mesn;
- mes col("He pours something on it, you're not sure what. He then utters some magic words.", 9);
+ mes col(l("He pours something on it, you're not sure what. He then utters some magic words."), 9);
next;
// Reset timer, this is the place where it should really happen.
set QUEST_ELEVARTEMPO, gettimetick(2) + (60 * 35);
@@ -275,7 +275,7 @@ L_T2_S3:
mesq l("Good, you did it!");
next;
mesn;
- mes col("*chants more words, while the crystal hovers the potion*", 9);
+ mes col(l("*chants more words, while the crystal hovers the potion*"), 9);
next;
L_T2_S4:
@@ -303,7 +303,7 @@ L_T2_S4:
getexp .@r*3, 0;
//getitem MagicPotion, 1;
- mes col("You quickly give him the herbs, and he skillfully mix them on a potion.", 9);
+ mes col(l("You quickly give him the herbs, and he skillfully mix them on a potion."), 9);
next;
// You'll get a random amount of time, based on spent herbs
// Usually, 10~73 sec, being 73 sec = 1m13s
@@ -340,8 +340,8 @@ L_T2_Final:
skill(SM_PROVOKE, 1, 0);
addtoskill(.@CLASS,2,0);
getexp 40000, 0; // Yes, 40k experience points. Waw.
- mes col(".:: Congratulations! ::.", 2);
- mes col("You advanced your tier!", 2);
+ mes col(l(".:: Congratulations! ::."), 2);
+ mes col(l("You advanced your tier!"), 2);
next;
mesn;
mesq l("Keep the Grimorie with you. It's the proof you are now Tier 2. The book shall guide your advances!");
diff --git a/npc/functions/clientversion.txt b/npc/functions/clientversion.txt
index 041e9e8ce..6b49a15e2 100644
--- a/npc/functions/clientversion.txt
+++ b/npc/functions/clientversion.txt
@@ -18,8 +18,8 @@ function script checkclientversion {
UPDATE=gettimetick(2);
Lang=0;
mesn "Jesus Saves";
- mes col("Oh, noes! Due lack of translators, some languages were removed from this project.", 9);
- mes col("You might have been affected. Please, select your desired language.", 9);
+ mes col(l("Oh, noes! Due lack of translators, some languages were removed from this project."), 9);
+ mes col(l("You might have been affected. Please, select your desired language."), 9);
asklanguage(LANG_IN_SHIP);
if (!#ADD_LVL)
close;
@@ -27,19 +27,19 @@ function script checkclientversion {
// #ADD_LVL means the user have to right to get some levels. This is a sketch. The code might be deleted.
if (#ADD_LVL) {
mesn "Jesus Saves";
- mes col("Oh - Welcome to TMW2: Moubootaur Legends!", 3);
+ mes col(l("Oh - Welcome to TMW2: Moubootaur Legends!"), 3);
next;
mesn "Jesus Saves";
- mes col("Please, fell at home. You can use ##B#world##b channel to speak to everyone on Discord, IRC and ingame.", 3);
+ mes col(l("Please, fell at home. You can use ##B#world##b channel to speak to everyone on Discord, IRC and ingame."), 3);
next;
mesn "Jesus Saves";
- mes col("Our mission statement is to bring fun to all players. You'll get some levels automatically. We advise you to join a guild.", 3);
+ mes col(l("Our mission statement is to bring fun to all players. You'll get some levels automatically. We advise you to join a guild."), 3);
next;
mesn "Jesus Saves";
- mes col("If you have any trouble or doubt, don't hesit to call us. There are some cooperative quests, and more of them are being added.", 3);
+ mes col(l("If you have any trouble or doubt, don't hesit to call us. There are some cooperative quests, and more of them are being added."), 3);
next;
mesn "Jesus Saves";
- mes col("Anyway, ##Bwelcome##b, and have fun! If you need anything, we are a keypress from distance!", 3);
+ mes col(l("Anyway, ##Bwelcome##b, and have fun! If you need anything, we are a keypress from distance!"), 3);
atcommand "@blvl "+#ADD_LVL;
#ADD_LVL=0;
// TODO: Use @super debug functions and force player to join a guild. We will need the guild ID, though.
@@ -47,7 +47,7 @@ function script checkclientversion {
if (ClientVersion >= 24) close;
next;
mesn "Failsafe Mechanism";
- mes col("Ah... You must update your client first.", 1);
+ mes col(l("Ah... You must update your client first."), 1);
next;
}
if (is_admin() && UPDATE < 1528369855) {
@@ -58,14 +58,14 @@ function script checkclientversion {
if (ClientVersion >= 24) return;
mesn "Narrator";
- mes col("Warning.", 1);
- mes col("Warning.", 1);
- mes col("Warning: You are using an old client.", 9);
+ mes col(l("Warning."), 1);
+ mes col(l("Warning."0, 1);
+ mes col(l("Warning: You are using an old client."), 9);
next;
- mes col("Please install the new client from [@@https://manaplus.org/|https://manaplus.org/@@]", 9);
+ mes col(l("Please install the new client from [@@https://manaplus.org/|https://manaplus.org/@@]"), 9);
next;
if (ClientVersion >= 22) return;
- mes col("You won't be allowed to play this game until you have an updated client.", 9);
+ mes col(l("You won't be allowed to play this game until you have an updated client."), 9);
next;
// Force user to disconnect
atcommand "@kick "+strcharinfo(0);
diff --git a/npc/functions/main.txt b/npc/functions/main.txt
index e4bda0d1a..1a074e6b8 100644
--- a/npc/functions/main.txt
+++ b/npc/functions/main.txt
@@ -69,8 +69,7 @@ function script col {
}
function script adddefaultskills {
- if (getskilllv(NV_BASIC) < 6)
- {
+ if (getskilllv(NV_BASIC) < 6) {
skill NV_BASIC, 6, 0;
}
return;
@@ -81,6 +80,16 @@ function script addremovemapmask {
return;
}
+function script mescol {
+ mes col(getarg(0),getarg(1));
+ return;
+}
+
+function script mesc {
+ mes col(getarg(0),9);
+ return;
+}
+
// Function to show narrator text. Accepts string args.
// If first arg is a number N, then it represents bit flags.
// Bit flags :
diff --git a/npc/functions/news.txt b/npc/functions/news.txt
index 1a9f06b4c..eecd4f56c 100644
--- a/npc/functions/news.txt
+++ b/npc/functions/news.txt
@@ -10,99 +10,99 @@ function script GameNews {
case 0:
case 20180531:
mes "";
- mes col("Release 4.0 - Quest Giver's Handbook", 9);
+ mesc l("Release 4.0 - Quest Giver's Handbook");
next;
mes "";
- mes col("With renewed confidence about the outcome of the war, various people left their houses.", 9);
- mes col("However, the Monster King laid siege to Hurnscald. His power increased greatly, and ships are not capable of even approaching the city.", 9);
- mes col("This caused a mana disturbance, and healing items are working better now, affecting every sector of economy.", 9);
+ mesc l("With renewed confidence about the outcome of the war, various people left their houses.");
+ mesc l("However, the Monster King laid siege to Hurnscald. His power increased greatly, and ships are not capable of even approaching the city.");
+ mesc l("This caused a mana disturbance, and healing items are working better now, affecting every sector of economy.");
next;
- mes col("Tulimshar miners are having troubles with monsters. They are offering rewards to whoever helps them.", 9);
- mes col("And speaking in reward, guards are looking for someone contrabanding goods from Artis. Do not help them!", 9);
+ mesc l("Tulimshar miners are having troubles with monsters. They are offering rewards to whoever helps them.");
+ mesc l("And speaking in reward, guards are looking for someone contrabanding goods from Artis. Do not help them!");
next;
- mes col("Tulimshar Guards bought a Slot Machine to play, but that was done unofficialy.", 9);
- mes col("There are rumors of a grand prize to whoever gets lucky on that machine.", 9);
+ mesc l("Tulimshar Guards bought a Slot Machine to play, but that was done unofficialy.");
+ mesc l("There are rumors of a grand prize to whoever gets lucky on that machine.");
next;
- mes col("Tulimshar Jewerly is once again open. Cyndala and Tamiloc rented a shop south of Tulimshar.", 9);
- mes col("The Tulimshar Forge is also dealing with more complex materials, and not just Iron.", 9);
+ mesc l("Tulimshar Jewerly is once again open. Cyndala and Tamiloc rented a shop south of Tulimshar.");
+ mesc l("The Tulimshar Forge is also dealing with more complex materials, and not just Iron.");
next;
- mes col("Nard's ship is not capable to do Tulimshar<->Candor route instantly anymore: His magic sail broke.", 9);
- mes col("Ishi also rewrote his rewards table. More items for lower prices!", 9);
+ mesc l("Nard's ship is not capable to do Tulimshar<->Candor route instantly anymore: His magic sail broke.");
+ mesc l("Ishi also rewrote his rewards table. More items for lower prices!");
next;
- mes col("Zitoni announces he can now craft really good potions to improve attack speed and damage!", 9);
- mes col("Saulc and Cherry married in Halinarzo, and stayed like this for perhaps 20 seconds, before Cherry asked for divorce.", 9);
- mes col("After paying the divorce fee, she said: \"Blame Saulc for this one.\"", 9);
+ mesc l("Zitoni announces he can now craft really good potions to improve attack speed and damage!");
+ mesc l("Saulc and Cherry married in Halinarzo, and stayed like this for perhaps 20 seconds, before Cherry asked for divorce.");
+ mesc l("After paying the divorce fee, she said: \"Blame Saulc for this one.\"");
next;
- mes col("The Alliance announces a great new way to keep adventurers killing monsters.", 9);
- mes col("The Grand Hunter quest is available with Aidan. It's an experiment by the High Council,", 9);
- mes col("and may change later without notice.", 9);
+ mesc l("The Alliance announces a great new way to keep adventurers killing monsters.");
+ mesc l("The Grand Hunter quest is available with Aidan. It's an experiment by the High Council,");
+ mesc l("and may change later without notice.");
next;
- mes col("Some adventurer broke what was previously thought as maximum level, and is now level 45!", 9);
- mes col("Somebody else also got huge stats bonuses because reached the unbelievable job level 25.", 9);
+ mesc l("Some adventurer broke what was previously thought as maximum level, and is now level 45!");
+ mesc l("Somebody else also got huge stats bonuses because reached the unbelievable job level 25.");
next;
- mes col("The Alliance High Council informs that Super Players and above are capable to try ##B @toevent ##b for free event warps.", 9);
- mes col("This was caused because changes on the Mana Bridge. They hope that for next release, everyone will be able to use these magic words, instead of needing to talk to the Soul Menhir.", 9);
+ mesc l("The Alliance High Council informs that Super Players and above are capable to try ##B @toevent ##b for free event warps.");
+ mesc l("This was caused because changes on the Mana Bridge. They hope that for next release, everyone will be able to use these magic words, instead of needing to talk to the Soul Menhir.");
next;
break;
case 20180408:
mes "";
- mes col("Release 3.0 - In The Dreams", 9);
+ mesc l("Release 3.0 - In The Dreams");
next;
mes "";
- mes col("There were trees blocking the path to Halinarzo? Why nobody told that to Tulimshar Council?!", 9);
- mes col("These trees were cut and travellers can once again travel to Halin.", 9);
+ mesc l("There were trees blocking the path to Halinarzo? Why nobody told that to Tulimshar Council?!");
+ mesc l("These trees were cut and travellers can once again travel to Halin.");
next;
- mes col("Estard finished arranging sufficient paperwork so adventurers can create their own guilds.", 9);
- mes col("This somehow affected the whole economy.", 9);
+ mesc l("Estard finished arranging sufficient paperwork so adventurers can create their own guilds.");
+ mesc l("This somehow affected the whole economy.");
next;
- mes col("Some adventurer broke what was previously thought as maximum level, and is now level 40!", 9);
+ mesc l("Some adventurer broke what was previously thought as maximum level, and is now level 40!");
mes l("##9Was that not sufficient, this someone acquired MAGIC and is now under @@'s group.", (rand(0,1) ? "Colin" : "Luca"));
next;
- mes col("The Magic Council finished the reform on their guest hall.", 9);
- mes col("Soren, the architect responsible for it, is very happy with the new design.", 9);
+ mesc l("The Magic Council finished the reform on their guest hall.");
+ mesc l("Soren, the architect responsible for it, is very happy with the new design.");
next;
- mes col("Tulimshar Guardhouse's door was struck, but the guards managed to get it open again.", 9);
- mes col("Access is restricted to guards, as usual.", 9);
+ mesc l("Tulimshar Guardhouse's door was struck, but the guards managed to get it open again.");
+ mesc l("Access is restricted to guards, as usual.");
next;
break;
case 20180323:
mes "";
- mes col("Release 2.2 - There Are No Pipelines", 9);
+ mesc l("Release 2.2 - There Are No Pipelines");
next;
mes "";
- mes col("Unfortunately, Tulimshar guards are dying in the sun. Maybe you could provide them with Water?", 9);
+ mesc l("Unfortunately, Tulimshar guards are dying in the sun. Maybe you could provide them with Water?");
next;
- mes col("The NPC responsible for buying raw gemstones from other NPCs has recovered since the last siege.", 9);
- mes col("Therefore, raw gemstones prices are once again on the rise.", 9);
+ mesc l("The NPC responsible for buying raw gemstones from other NPCs has recovered since the last siege.");
+ mesc l("Therefore, raw gemstones prices are once again on the rise.");
next;
- mes col("Someone adventurer broke what was previously thought as maximum level, and is now level 31!", 9);
+ mesc l("Someone adventurer broke what was previously thought as maximum level, and is now level 31!");
next;
- mes col("The Magic Council lift Statues in honor of some people. But its guest hall is in reform!", 9);
+ mesc l("The Magic Council lift Statues in honor of some people. But its guest hall is in reform!");
next;
- mes col("Easter will soon start!", 9);
+ mesc l("Easter will soon start!");
next;
break;
case 20180316:
- mes col("Release 2.1 - Free Lunch For Those Who Work Hard!", 9);
+ mesc l("Release 2.1 - Free Lunch For Those Who Work Hard!");
next;
mes "";
- mes col("Money to leave Candor is easier, as various persons there need help.", 9);
+ mesc l("Money to leave Candor is easier, as various persons there need help.");
next;
- mes col("Nard and Elmo changed the way they talk to newcomers, to be more clear about what they expect.", 9);
+ mesc l("Nard and Elmo changed the way they talk to newcomers, to be more clear about what they expect.");
next;
- mes col("Hard workers get an extra work level. This means a +1 VIT bonus is possible!", 9);
+ mesc l("Hard workers get an extra work level. This means a +1 VIT bonus is possible!");
next;
- mes col("Some NPCs are [@@https://transifex.com/akaras/saulc-tmw-fork|learning new languages@@].", 9);
+ mesc l("Some NPCs are [@@https://transifex.com/akaras/saulc-tmw-fork|learning new languages@@].");
next;
break;
default:
break;
}
- mes col("We want to thank everyone who did this release possible.", 9);
+ mesc l("We want to thank everyone who did this release possible.");
mes "";
- mes col("Shall you have any inquiry, do not hesit to [@@mailto:admin@tmw2.org|send us an email@@]##b.", 9);
- mes col("You can also read the [@@news|server news@@], or even [@@https://tmw2.org/news|older entries@@].", 9);
+ mesc l("Shall you have any inquiry, do not hesit to [@@mailto:admin@tmw2.org|send us an email@@]##b.");
+ mesc l("You can also read the [@@news|server news@@], or even [@@https://tmw2.org/news|older entries@@].");
next;
return;
}
diff --git a/npc/soren-2/main.txt b/npc/soren-2/main.txt
index 19e856526..fac996238 100644
--- a/npc/soren-2/main.txt
+++ b/npc/soren-2/main.txt
@@ -154,12 +154,12 @@ OnSanctum:
// Handle maximum overtime you can do here: 10 cycles, or 3m20s ~ 6m40s
if (@sorensanctum == 8) {
specialeffect(28);
- dispbottom col("WARNING: Do not spend unecessary time on Soren's House, you'll be disconnected!", 1);
+ dispbottom col(l("WARNING: Do not spend unecessary time on Soren's House, you'll be disconnected!"), 1);
percentheal -5, -20;
}
if (@sorensanctum == 9) {
specialeffect(28);
- dispbottom col("FINAL WARNING: Do not spend unecessary time on Soren's House, you'll be disconnected!!", 1);
+ dispbottom col(l("FINAL WARNING: Do not spend unecessary time on Soren's House, you'll be disconnected!!"), 1);
percentheal -20, -100;
}
if (@sorensanctum >= 10) {
diff --git a/npc/soren/main.txt b/npc/soren/main.txt
index f72a756b9..2824a4046 100644
--- a/npc/soren/main.txt
+++ b/npc/soren/main.txt
@@ -42,12 +42,12 @@ OnTouch:
end;
} else {
mesn l("Soren's House Tutorial");
- mes col("There's a strong magic barrier. We need to disarm it in order to enter there.", 9);
- mes col("There are three singularities on this island. If I disarm more than one, I'll have a penalty.", 9);
- mes col("I should have full mana before attempting to disarm one.", 9);
- mes col("Also, if I move away from the singularity during disarm process, it'll be lost.", 9);
- mes col("The singularities keep arming themselves up again, so I have roughly five minutes between first disarm and entering here.", 9);
- mes col("We should split our team, and have someone to protect our backs. Otherwise, we might not do it.", 9);
+ mes col(l("There's a strong magic barrier. We need to disarm it in order to enter there."), 9);
+ mes col(l("There are three singularities on this island. If I disarm more than one, I'll have a penalty."), 9);
+ mes col(l("I should have full mana before attempting to disarm one."), 9);
+ mes col(l("Also, if I move away from the singularity during disarm process, it'll be lost."), 9);
+ mes col(l("The singularities keep arming themselves up again, so I have roughly five minutes between first disarm and entering here."), 9);
+ mes col(l("We should split our team, and have someone to protect our backs. Otherwise, we might not do it."), 9);
// Protip: stock Elixir Of Life if you need to do this quest with less than 3 team members
close;
}
@@ -70,7 +70,7 @@ soren,105,92,0 script Soren's Fountain NPC_NO_SPRITE,{
}
// Main menu
- mes col("Attempt to disarm the singularity?", 9);
+ mes col(l("Attempt to disarm the singularity?"), 9);
if (askyesno() == ASK_YES) {
if (.casterId == getcharid(3))
@soren_penalty=@soren_penalty+rand(8, 12);
@@ -218,7 +218,7 @@ soren,104,143,0 script Soren's Lake NPC_NO_SPRITE,{
}
// Main menu
- mes col("Attempt to disarm the singularity?", 9);
+ mes col(l("Attempt to disarm the singularity?"), 9);
if (askyesno() == ASK_YES) {
if (.casterId == getcharid(3))
@soren_penalty=@soren_penalty+rand(8, 12);
@@ -363,7 +363,7 @@ soren,107,37,0 script Soren's Gizmo NPC_NO_SPRITE,{
}
// Main menu
- mes col("Attempt to disarm the singularity?", 9);
+ mes col(l("Attempt to disarm the singularity?"), 9);
if (askyesno() == ASK_YES) {
if (.casterId == getcharid(3))
@soren_penalty=@soren_penalty+rand(8, 12);