summaryrefslogtreecommitdiff
path: root/world
diff options
context:
space:
mode:
Diffstat (limited to 'world')
-rw-r--r--world/map/db/const-mapflags.txt2
-rw-r--r--world/map/npc/002-1/itka.txt2
-rw-r--r--world/map/npc/006-1/miriam.txt2
-rw-r--r--world/map/npc/007-1/witch.txt26
-rw-r--r--world/map/npc/009-7/debug.txt6
-rw-r--r--world/map/npc/009-7/rouge.txt14
-rw-r--r--world/map/npc/010-2/band.txt2
-rw-r--r--world/map/npc/011-1/oscar.txt14
-rw-r--r--world/map/npc/011-6/crastur.txt2
-rw-r--r--world/map/npc/017-9/npcs.txt1
-rw-r--r--world/map/npc/025-1/rossy.txt26
-rw-r--r--world/map/npc/029-2/mapflags.txt1
-rw-r--r--world/map/npc/029-2/sorfina.txt28
-rw-r--r--world/map/npc/029-2/tanisha.txt14
-rw-r--r--world/map/npc/029-3/parua.txt6
-rw-r--r--world/map/npc/030-4/mana_battery.txt2
-rw-r--r--world/map/npc/031-4/cindyCave.txt2
-rw-r--r--world/map/npc/033-1/kimarr.txt30
-rw-r--r--world/map/npc/048-2/helperAccused.txt21
-rw-r--r--world/map/npc/051-1/desert.txt4
-rw-r--r--world/map/npc/051-3/ambush.txt8
-rw-r--r--world/map/npc/052-2/lobby.txt32
-rw-r--r--world/map/npc/052-2/partyroom.txt8
-rw-r--r--world/map/npc/056-2/barrier.txt4
-rw-r--r--world/map/npc/functions/superdebug.txt4
-rw-r--r--world/map/npc/items/warpTowels.txt2
26 files changed, 146 insertions, 117 deletions
diff --git a/world/map/db/const-mapflags.txt b/world/map/db/const-mapflags.txt
index 94b1710a..486ab375 100644
--- a/world/map/db/const-mapflags.txt
+++ b/world/map/db/const-mapflags.txt
@@ -22,7 +22,7 @@ MF_PVP_NOCALCRANK 25
MF_NOWARP 13
MF_NOWARPTO 26
MF_NOPVP 14
-//MF_NOICEWALL 15
+MF_MASK 15
MF_SNOW 16
MF_FOG 17
MF_SAKURA 18
diff --git a/world/map/npc/002-1/itka.txt b/world/map/npc/002-1/itka.txt
index 54c4a572..3cc8457f 100644
--- a/world/map/npc/002-1/itka.txt
+++ b/world/map/npc/002-1/itka.txt
@@ -10,7 +10,7 @@
close;
OnTimer300000:
- npctalk "Come to The Wizard's Rest!";
+ npctalk strnpcinfo(0), "Come to The Wizard's Rest!";
setnpctimer 0;
end;
diff --git a/world/map/npc/006-1/miriam.txt b/world/map/npc/006-1/miriam.txt
index edcb5b63..5f474784 100644
--- a/world/map/npc/006-1/miriam.txt
+++ b/world/map/npc/006-1/miriam.txt
@@ -239,7 +239,7 @@ L_LetsDoThis:
message strcharinfo(0), "Miriam quickly grabs your arm and pull you to the place where she is sitting.";
// Warp the player to the place where the NPC is defined, so he can't cheat.
warp "032-1",55,21;
- npctalk "Run " +strcharinfo(0)+ ", run!";
+ npctalk strnpcinfo(0), "Run " +strcharinfo(0)+ ", run!";
set QUEST_MIRIAM, 5;
set QUEST_MIRIAM_start, gettimetick(2);
set QUEST_MIRIAM_cheat, 0;
diff --git a/world/map/npc/007-1/witch.txt b/world/map/npc/007-1/witch.txt
index e8eb1ffc..b8cb3850 100644
--- a/world/map/npc/007-1/witch.txt
+++ b/world/map/npc/007-1/witch.txt
@@ -551,18 +551,18 @@ L_ReactToPlayersReturn:
end;
L_SurprisedByHeroWin:
- npctalk "(How is it possible... " + $@ILLIA_HERO$ + " survived...)";
+ npctalk strnpcinfo(0), "(How is it possible... " + $@ILLIA_HERO$ + " survived...)";
emotion EMOTE_SURPRISE;
goto L_EndQuest;
L_Disappoint:
- npctalk "Oh no... It seems " + $@ILLIA_HERO$ + " did not make it... Who will save my sister now?";
+ npctalk strnpcinfo(0), "Oh no... It seems " + $@ILLIA_HERO$ + " did not make it... Who will save my sister now?";
emotion EMOTE_SAD;
goto L_EndQuest;
L_PlayerGaveUp:
close2;
- npctalk "Well... It seems you can't do it " + $@ILLIA_HERO$ + ". I knew it as soon as I saw you!";
+ npctalk strnpcinfo(0), "Well... It seems you can't do it " + $@ILLIA_HERO$ + ". I knew it as soon as I saw you!";
emotion EMOTE_UPSET;
goto L_EndQuest;
@@ -608,30 +608,30 @@ OnTimer3000:
OnTimer2500:
if ($@ILLIA_STATUS != 3)
end;
- npctalk $@ILLIA_HERO$ + ", " + $@ILLIA_HELPER1$ + ", " + $@ILLIA_HELPER2$ + ", " + $@ILLIA_HELPER3$ + ", listen!";
+ npctalk strnpcinfo(0), $@ILLIA_HERO$ + ", " + $@ILLIA_HELPER1$ + ", " + $@ILLIA_HELPER2$ + ", " + $@ILLIA_HELPER3$ + ", listen!";
end;
OnTimer7500:
if ($@ILLIA_STATUS != 3)
end;
- npctalk "I will teleport the 4 of you in a forest that isn't far from the waterfall.";
+ npctalk strnpcinfo(0), "I will teleport the 4 of you in a forest that isn't far from the waterfall.";
end;
OnTimer14000:
if ($@ILLIA_STATUS != 3)
end;
- npctalk "Each of you takes one of these rings. They will allow you to come back here when needed.";
+ npctalk strnpcinfo(0), "Each of you takes one of these rings. They will allow you to come back here when needed.";
end;
OnTimer24000:
if ($@ILLIA_STATUS != 3)
end;
if ($Illia_Luvia_Harvest < 10)
- npctalk "Do your best and save my sister!";
+ npctalk strnpcinfo(0), "Do your best and save my sister!";
if ($Illia_Luvia_Harvest >= 10 && $Illia_Luvia_Harvest < 35)
- npctalk "This will be quite dangerous, but do your best and save my sister!";
+ npctalk strnpcinfo(0), "This will be quite dangerous, but do your best and save my sister!";
if ($Illia_Luvia_Harvest >= 35)
- npctalk "This will be awfully dangerous, but do your best and save my sister!";
+ npctalk strnpcinfo(0), "This will be awfully dangerous, but do your best and save my sister!";
end;
OnTimer34000:
@@ -643,7 +643,7 @@ OnTimer34000:
areatimer "007-1", 66, 73, 92, 88, 3500, "Valia::OnWarpHelper1";
areatimer "007-1", 66, 73, 92, 88, 4000, "Valia::OnWarpHelper2";
areatimer "007-1", 66, 73, 92, 88, 4500, "Valia::OnWarpHelper3";
- npctalk "Spiralis Major!";
+ npctalk strnpcinfo(0), "Spiralis Major!";
misceffect FX_BLUE_MAGIC_CAST;
end;
@@ -662,19 +662,19 @@ OnTimer150000:
if ($@ILLIA_STATUS != 1)
end;
set $@ILLIA_STATUS, 2;
- npctalk $@ILLIA_HERO$ + ", I am ready to cast the teleport spell. You and your comrades should not wait any longer!";
+ npctalk strnpcinfo(0), $@ILLIA_HERO$ + ", I am ready to cast the teleport spell. You and your comrades should not wait any longer!";
end;
OnTimer280000:
if ($@ILLIA_STATUS != 2)
end;
- npctalk "Hurry up " + $@ILLIA_HERO$ + ", I am losing patience.";
+ npctalk strnpcinfo(0), "Hurry up " + $@ILLIA_HERO$ + ", I am losing patience.";
end;
OnTimer300000:
if ($@ILLIA_STATUS != 2)
end;
- npctalk $@ILLIA_HERO$ + ", you and your missing comrades made me lose a precious time! Out of my sight!";
+ npctalk strnpcinfo(0), $@ILLIA_HERO$ + ", you and your missing comrades made me lose a precious time! Out of my sight!";
emotion EMOTE_UPSET;
if (attachrid($@ILLIA_HERO_ID))
goto L_KillHero;
diff --git a/world/map/npc/009-7/debug.txt b/world/map/npc/009-7/debug.txt
index 94735b3e..997d64f1 100644
--- a/world/map/npc/009-7/debug.txt
+++ b/world/map/npc/009-7/debug.txt
@@ -153,14 +153,14 @@ OnInit:
// debug messages below
OnKillerNotInDuel:
- npctalk "WARNING: The victim was not killed by its adversary. Aborting duel...";
+ npctalk strnpcinfo(0), "WARNING: The victim was not killed by its adversary. Aborting duel...";
end;
OnVictimNotInDuel:
- npctalk "WARNING: The victim is not part of the duel";
+ npctalk strnpcinfo(0), "WARNING: The victim is not part of the duel";
end;
OnVictimInDuelNoDuel:
- npctalk "WARNING: The victim is part of the duel but no duel is ongoing at the moment.";
+ npctalk strnpcinfo(0), "WARNING: The victim is part of the duel but no duel is ongoing at the moment.";
end;
}
diff --git a/world/map/npc/009-7/rouge.txt b/world/map/npc/009-7/rouge.txt
index 4ce3be8e..7660683e 100644
--- a/world/map/npc/009-7/rouge.txt
+++ b/world/map/npc/009-7/rouge.txt
@@ -102,30 +102,30 @@ L_End:
//announcements below
OnAnnounceNext:
- npctalk "##0The next battle ("+ $@Duel_Queue_ID[0] +") is ##1" + $@Duel_Queue_Red$[0] + "##0 vs. ##3" + $@Duel_Queue_Blue$[0] + "##0.The battle will start in "+ $@Duel_TimeBeforeWarp +" seconds.";
+ npctalk strnpcinfo(0), "##0The next battle ("+ $@Duel_Queue_ID[0] +") is ##1" + $@Duel_Queue_Red$[0] + "##0 vs. ##3" + $@Duel_Queue_Blue$[0] + "##0.The battle will start in "+ $@Duel_TimeBeforeWarp +" seconds.";
end;
OnAnnounceIntrusion:
- npctalk "Intrusion detected. Annihilation in progress... Done.";
+ npctalk strnpcinfo(0), "Intrusion detected. Annihilation in progress... Done.";
end;
OnAnnounceTimeOut:
- npctalk "Time limit reached! Both player lose!";
+ npctalk strnpcinfo(0), "Time limit reached! Both player lose!";
end;
OnAnnounceRedWins:
- npctalk $@Duel_Queue_Red$[0] + " wins the duel against "+ $@Duel_Queue_Blue$[0] +"!";
+ npctalk strnpcinfo(0), $@Duel_Queue_Red$[0] + " wins the duel against "+ $@Duel_Queue_Blue$[0] +"!";
end;
OnAnnounceRedForfeit:
- npctalk $@Duel_Queue_Red$[0] + " wins by forfeit!";
+ npctalk strnpcinfo(0), $@Duel_Queue_Red$[0] + " wins by forfeit!";
end;
OnAnnounceBlueWins:
- npctalk $@Duel_Queue_Blue$[0] + " wins the duel against "+ $@Duel_Queue_Red$[0] +"!";
+ npctalk strnpcinfo(0), $@Duel_Queue_Blue$[0] + " wins the duel against "+ $@Duel_Queue_Red$[0] +"!";
end;
OnAnnounceBlueForfeit:
- npctalk $@Duel_Queue_Blue$[0] + " wins by forfeit!";
+ npctalk strnpcinfo(0), $@Duel_Queue_Blue$[0] + " wins by forfeit!";
end;
}
diff --git a/world/map/npc/010-2/band.txt b/world/map/npc/010-2/band.txt
index cabc31bc..f1e0632f 100644
--- a/world/map/npc/010-2/band.txt
+++ b/world/map/npc/010-2/band.txt
@@ -18,7 +18,7 @@
}
function|script|DimondBand
{
- npctalk $@SongLyrics$[$@LyricSpot];
+ npctalk strnpcinfo(0), $@SongLyrics$[$@LyricSpot];
set $@LyricSpot, ($@LyricSpot + 1);
if (getarraysize($@SongLyrics$) <= $@LyricSpot)
set $@LyricSpot, 0;
diff --git a/world/map/npc/011-1/oscar.txt b/world/map/npc/011-1/oscar.txt
index 7240f2d0..ad088eff 100644
--- a/world/map/npc/011-1/oscar.txt
+++ b/world/map/npc/011-1/oscar.txt
@@ -340,7 +340,7 @@ L_TimerFunction:
goto L_AllPumpkinsDead;
// A quick "cheer up"
if ($@HalloweenQuest_PumpkinsTimer == 300)
- npctalk "Hurry up " + $@HalloweenQuest_PumpkinHunter$ + "! My farm is being ruined!";
+ npctalk strnpcinfo(0), "Hurry up " + $@HalloweenQuest_PumpkinHunter$ + "! My farm is being ruined!";
// 7 mins max
if ($@HalloweenQuest_PumpkinsTimer > 420)
goto L_PumpkinsRuined;
@@ -365,7 +365,7 @@ OnTimer6000:
if ($@HalloweenQuest_PumpkinsState != 0)
end;
emotion EMOTE_AFRAID;
- npctalk "Oh no, these pumpkins look strange and infested with bugs! Help me get rid of them " + $@HalloweenQuest_PumpkinHunter$ + "!";
+ npctalk strnpcinfo(0), "Oh no, these pumpkins look strange and infested with bugs! Help me get rid of them " + $@HalloweenQuest_PumpkinHunter$ + "!";
set $@HalloweenQuest_PumpkinsState, 1;
setnpctimer 0;
end;
@@ -411,7 +411,7 @@ L_KillBadHunter:
end;
L_PumpkinsRuined:
- npctalk "No! " + $@HalloweenQuest_PumpkinHunter$ + " how could you let that happen? All my farm is a mess now! All my trees are infested with bugs!";
+ npctalk strnpcinfo(0), "No! " + $@HalloweenQuest_PumpkinHunter$ + " how could you let that happen? All my farm is a mess now! All my trees are infested with bugs!";
goto L_Fail;
L_AllPumpkinsDead:
@@ -428,15 +428,15 @@ S_CheckPlayer:
return;
L_PlayerOff:
- npctalk "What? Where is " + $@HalloweenQuest_PumpkinHunter$ + "? Someone, help me!";
+ npctalk strnpcinfo(0), "What? Where is " + $@HalloweenQuest_PumpkinHunter$ + "? Someone, help me!";
goto L_Fail;
L_PlayerLeft:
- npctalk "What the!! " + $@HalloweenQuest_PumpkinHunter$ + " left me alone with all this! Someone, help me!";
+ npctalk strnpcinfo(0), "What the!! " + $@HalloweenQuest_PumpkinHunter$ + " left me alone with all this! Someone, help me!";
goto L_Fail;
L_PlayerDead:
- npctalk "Oh no I can't believe it! " + $@HalloweenQuest_PumpkinHunter$ + " just died! Someone, help me!";
+ npctalk strnpcinfo(0), "Oh no I can't believe it! " + $@HalloweenQuest_PumpkinHunter$ + " just died! Someone, help me!";
goto L_Fail;
L_Fail:
@@ -453,7 +453,7 @@ L_Success:
goto L_PlayerOff;
set Quest_Halloween, 6;
emotion EMOTE_GRIN;
- npctalk "Hurray, " + $@HalloweenQuest_PumpkinHunter$ + " you did it! Thank you thank you! Come here!";
+ npctalk strnpcinfo(0), "Hurray, " + $@HalloweenQuest_PumpkinHunter$ + " you did it! Thank you thank you! Come here!";
goto L_Clean;
L_Clean:
diff --git a/world/map/npc/011-6/crastur.txt b/world/map/npc/011-6/crastur.txt
index bef9f0a7..52298863 100644
--- a/world/map/npc/011-6/crastur.txt
+++ b/world/map/npc/011-6/crastur.txt
@@ -150,7 +150,7 @@ L_Regular:
"\"Ugh, no. I have to leave now. Bye.\"", L_Close;
L_Insult:
- npctalk "Crastur : Die " + strcharinfo(0) + "!";
+ npctalk strnpcinfo(0), "Crastur : Die " + strcharinfo(0) + "!";
heal -10000, 0;
emotion EMOTE_VICIOUS;
mes "[Crastur]";
diff --git a/world/map/npc/017-9/npcs.txt b/world/map/npc/017-9/npcs.txt
index c9f9aedb..b14428c5 100644
--- a/world/map/npc/017-9/npcs.txt
+++ b/world/map/npc/017-9/npcs.txt
@@ -40,6 +40,7 @@
017-9,30,28,0|script|Numa|393
{
+ set @from_npc, 1;
callfunc "SuperDebug";
end;
}
diff --git a/world/map/npc/025-1/rossy.txt b/world/map/npc/025-1/rossy.txt
index bc51559e..139781b7 100644
--- a/world/map/npc/025-1/rossy.txt
+++ b/world/map/npc/025-1/rossy.txt
@@ -41,7 +41,7 @@
close;
next;
menu
- "Hey, hey... Why are you crying? Are you hurt?", L_Next,
+ "Hey there.... Why are you crying? Are you hurt?", L_Next,
"Sorry kid, I don't have time to play with children.", L_No;
L_Next:
@@ -51,20 +51,20 @@ L_Next:
mes "But we were lucky, because the snail is really slow and we ran away from it. Julia ran to the left and I ran to the right. The snail got pretty confused, because we are identical twins. The problem is that I dropped the basket full of fruits on the ground and that evil snail ate them all! And now I can't find Julia to help me collect more fruits.\"";
next;
menu
- "Did you say Julia? I talked to you mother. She is very worried about you.", L_SheWorried;
+ "Did you say \"Julia?\" I talked to your mother; she's very worried about you!", L_SheWorried;
L_SheWorried:
mes "[Rossy]";
- mes "\"Really? But she let us play in the woods. There is no reason to be worried. Unless...\"";
+ mes "\"Really? But she let us play in the woods. There's no reason to be worried – unless....\"";
next;
mes "Rossy suddenly gets a strange look on her face, mumbling something about Julia.";
next;
mes "[Rossy]";
- mes "\"Could you do me a favor? Please, tell my mother we are alright. There is.. uh... there is no reason to worry about us.\"";
+ mes "\"Could you do me a favor? Please, tell my mother that we're alright. There's ... well ... there's no reason to worry about us.\"";
next;
menu
- "Ok, if you say so.", L_SaySo,
- "Sorry, I have no time for this.", L_No;
+ "Very well, if you say so....", L_SaySo,
+ "Sorry, but I really don't have time for this.", L_No;
L_SaySo:
mes "[Rossy]";
@@ -100,14 +100,14 @@ L_HaveSomeCherries:
mes "[Rossy]";
set Rossy_Quest, 4;
getexp @Cherry_EXP, 0;
- mes "\"I can't believe it, you got them all! Please give them to my mother. Tell her it is a gift from me and Julia and there is no reason to worry about us.\"";
+ mes "\"I can't believe it! You got all the cherries needed! Please give them to my mother. Tell her that it is a gift from me and Julia and that there's no reason to worry about us.\"";
next;
mes "Rossy mumbles to herself.";
mes "[Rossy]";
- mes "\"I hope...\"";
+ mes "\"I hope....\"";
next;
mes "[Rossy]";
- mes "\"Oh, after you give the cherries to my mother, please come back here. If you have some free time, of course.\"";
+ mes "\"Oh, and after you give the cherries to my mother, please come back here. Err, if you have some free time, of course.\"";
close;
L_Cherry_Done:
@@ -117,7 +117,7 @@ L_Cherry_Done:
L_Let:
mes "[Rossy]";
- mes "\"Hello "+ strcharinfo(0) +", nice to see you again. Hey, what are you hiding behind your back? Is that a... letter?\"";
+ mes "\"Hello "+ strcharinfo(0) +", nice to see you again. Hey, what are you hiding behind your back? Is that a ... letter?\"";
next;
menu
"Your mother asked me to hand you this letter. She told me it was from your teacher.", L_Let2,
@@ -190,7 +190,7 @@ L_Donet:
L_DavidPotion:
mes "[Rossy]";
- mes "\"Yay! Phew... That was close, I almost forgot about my exam. Please, tell my mother about it. I am sure she will be proud of me.\"";
+ mes "\"YPhew! That was close: I almost forgot about my exam. Please, tell my mother about my success for me. I'm sure she'll be pleased.\"";
close;
L_RG:
@@ -256,7 +256,7 @@ L_Julia:
L_End:
mes "[Rossy]";
- mes "\"Oh no, Julia... Why would you go to that scary place? Have you seen her yet?\"";
+ mes "\"Oh no! Julia ... why would you go to that scary place? ... Have you seen her yet?\"";
menu
"She'll be back soon, trust me. I saved her.", L_Found,
"I didn't see her yet, sorry.", L_No;
@@ -267,7 +267,7 @@ L_Found:
set Rossy_Quest, 18;
if (Rossy_Quest == 18)
set Rossy_Quest, 19;
- mes "\"Oh "+ strcharinfo(0) +", thank you very much! Take this, you deserve it!\"";
+ mes "\"Oh, "+ strcharinfo(0) +", thank you very much! Take this, you deserve it!\"";
next;
mes "Rossy hands you a huge bag full of coins.";
getexp @Finish_EXP, 0;
diff --git a/world/map/npc/029-2/mapflags.txt b/world/map/npc/029-2/mapflags.txt
index 1de2d675..09b62b45 100644
--- a/world/map/npc/029-2/mapflags.txt
+++ b/world/map/npc/029-2/mapflags.txt
@@ -1,2 +1,3 @@
029-2|mapflag|nosave|029-2,22,24
029-2|mapflag|resave|029-2,22,24
+029-2|mapflag|mask|1
diff --git a/world/map/npc/029-2/sorfina.txt b/world/map/npc/029-2/sorfina.txt
index f083396c..6af2912e 100644
--- a/world/map/npc/029-2/sorfina.txt
+++ b/world/map/npc/029-2/sorfina.txt
@@ -55,6 +55,11 @@ L_Tut:
L_Carpet:
mes "[Sorfina]";
mes "\"Try to take a few steps and walk to that carpet over there.";
+ next;
+ npcaction 2, "#Carpet";
+ mapmask getmask() | 4;
+ next;
+ npcaction 3;
mes "Press [###keyMoveUp;] to move up, press [###keyMoveDown;] to move down, ";
mes "press [###keyMoveLeft;] to move left, press [###keyMoveRight;] to move right ";
mes " or click on the place you want to go to.\"";
@@ -63,8 +68,14 @@ L_Carpet:
L_Dresser:
mes "[Sorfina]";
+ mes "\"You should get dressed now.\"";
+ next;
+ npcaction 2, "Dresser#tutorial";
+ mapmask getmask() | 32;
mes "\"In that dresser there are some clothes you can wear.\"";
mes "\"To interact with things in your environment or talk to NPCs you can either click on it or press [###keyTargetNPC;] to focus and [###keyTalk;] to talk/activate.\"";
+ next;
+ npcaction 3;
mes "\"Now get the clothes out of the dresser.\"";
goto L_Close;
@@ -94,6 +105,7 @@ L_Clothes:
mes "She digs in her pocket for a moment.";
mes "\"And here is some money for you. Don't spend it all in one place.";
mes "Now go help Tanisha downstairs.\"";
+ mapmask getmask() | 8;
set Zeny, Zeny + 30;
set QL_BEGIN, 4;
goto L_Close;
@@ -253,15 +265,20 @@ OnTouch:
goto L_Start;
}
-029-2,33,27,0|script|#Carpet|32767,1,1
+029-2,33,27,0|script|#Carpet|127,1,1
{
if (QL_BEGIN != 1)
end;
+ mapmask getmask();
mes "[Sorfina]";
mes "\"You should get dressed now.\"";
+ next;
+ npcaction 2, "Dresser#tutorial";
+ mapmask getmask() | 16;
mes "\"In that dresser there are some clothes you can wear.\"";
mes "\"To interact with things in your environment or talk to NPCs you can either click on it or press N to focus and T to talk/activate.\"";
next;
+ npcaction 3;
mes "\"Now get the clothes out of the dresser.\"";
set QL_BEGIN, 2;
close;
@@ -284,6 +301,7 @@ L_Walk:
close;
L_Shirt:
+ mapmask getmask();
mes "You take a simple Cotton Shirt and some very worn-out Ragged Shorts out of the dresser.";
getitem "CottonShirt", 1;
getitem "RaggedShorts", 1;
@@ -308,11 +326,13 @@ L_CloseDis:
{
if (QL_BEGIN < 4)
goto L_Block;
+ mapmask getmask();
warp "029-2", 112, 85;
end;
L_Block:
- message strcharinfo(0), "Sorfina: Wait a moment! You're not ready to leave.";
+ message strcharinfo(0), "##3Sorfina : ##BWait a moment! ##bYou're not ready to leave.";
+ // FIXME: this should be changed to npctalk with strcharinfo(0) once we increase the view area
end;
}
029-2,23,24,0|script|#GameRules1|32767,0,1
@@ -342,7 +362,7 @@ L_Block:
goto L_Close;
L_KnockBack:
- message strcharinfo(0), "Please Accept the Game rules";
+ message strcharinfo(0), "##1Server : ##BPlease Accept the Game rules";
warp "029-2", 22, 24;
goto L_Close;
@@ -356,7 +376,7 @@ L_Close:
goto L_Close;
L_KnockBack:
- message strcharinfo(0), "Please Accept the Game rules";
+ message strcharinfo(0), "##1Server : ##BPlease Accept the Game rules";
warp "029-2", 22, 24;
goto L_Close;
diff --git a/world/map/npc/029-2/tanisha.txt b/world/map/npc/029-2/tanisha.txt
index 0a594410..d69195a5 100644
--- a/world/map/npc/029-2/tanisha.txt
+++ b/world/map/npc/029-2/tanisha.txt
@@ -95,6 +95,7 @@ L_Stats:
mes "\"And it seems you became stronger and more experienced.";
mes "That means you got some status points which you can use to increase your abilities.\"";
mes "\"Press [###keyWindowStatus;] or click the Status button in the bar at the upper right to see your status window. There you can distribute your points on six different properties.\"";
+ mapmask getmask() | 2;
next;
goto L_StatsRe;
@@ -211,7 +212,7 @@ L_Next2:
goto L_Fight_Again;
L_Fighting:
- message strcharinfo(0), "Tanisha: I believe in you!";
+ npctalk strnpcinfo(0), "##3I believe in you!", strcharinfo(0);
end;
OnTimer1000:
@@ -238,16 +239,16 @@ OnTick:
if (Hp > 20)
end;
heal MaxHp, 0;
- message strcharinfo(0), "Tanisha: You're doing good!";
+ npctalk strnpcinfo(0), "##3You're doing good!", strcharinfo(0);
end;
OnMaggotDeath:
if (@Maggot_Kills == 1)
- message strcharinfo(0), "Tanisha: Aaahhhh... another one! It will crawl up your legs!";
+ npctalk strnpcinfo(0), "##3Aaahhhh... another one! It will crawl up your legs!", strcharinfo(0);
if (@Maggot_Kills == 2)
- message strcharinfo(0), "Tanisha: Ohh... Irrhk... Eeeeww... They just appear from nowhere!";
+ npctalk strnpcinfo(0), "##3Ohh... Irrhk... Eeeeww... They just appear from nowhere!", strcharinfo(0);
if (@Maggot_Kills == 3)
- message strcharinfo(0), "Tanisha: Yuck... I think I am getting sick.";
+ npctalk strnpcinfo(0), "##3Yuck... I think I am getting sick.", strcharinfo(0);
if (isin("029-2", 98, 84, 106, 89))
set @Maggot_Kills, @Maggot_Kills + 1;
if (@Maggot_Kills < 5)
@@ -279,10 +280,11 @@ OnTouch:
goto L_Block;
L_Warp:
+ mapmask getmask();
warp "029-1", 32, 100;
end;
L_Block:
- message strcharinfo(0), "Tanisha: Please come here. I'd like some help!";
+ npctalk "Tanisha", "##3##BPlease come here. ##bI'd like some help!", strcharinfo(0);
end;
}
diff --git a/world/map/npc/029-3/parua.txt b/world/map/npc/029-3/parua.txt
index 1ac59e0a..5ebcc4d7 100644
--- a/world/map/npc/029-3/parua.txt
+++ b/world/map/npc/029-3/parua.txt
@@ -49,7 +49,7 @@ L_Paying:
L_StartFight:
if (getmapusers("029-3") < 5)
goto L_NotEnoughPlayers;
- npctalk "Let the battle begin!";
+ npctalk strnpcinfo(0), "Let the battle begin!";
set $@FIGHT_CAVE_STATUS, 1;
set $@FIGHT_CAVE_LEVEL, 1;
set $@FIGHT_CAVE_PLAYER_COUNT, getmapusers("029-3");
@@ -357,7 +357,7 @@ OnInit:
goto L_CleanUp;
L_CleanUp:
- npctalk "Game Over";
+ npctalk strnpcinfo(0), "Game Over";
set $@candor_npctalk$, "The dungeon is now ready for its next victims.";
donpcevent "#CandorAnnouncer::OnCommandTalk";
areatimer "029-3", 20, 20, 70, 60, 10, "Parua::OnReward";
@@ -373,7 +373,7 @@ L_CleanUp:
end;
L_CleanUp_Announcement:
- npctalk $@SPONSOR$ + " lost the money invested in the fight, since there are less than 5 players in the cave";
+ npctalk strnpcinfo(0), $@SPONSOR$ + " lost the money invested in the fight, since there are less than 5 players in the cave";
set $@SPONSOR$, "";
set $@ANNOUNCE_TIME, 0;
set $@FIGHT_CAVE_STATUS, 0;
diff --git a/world/map/npc/030-4/mana_battery.txt b/world/map/npc/030-4/mana_battery.txt
index 9a198c21..aea601c5 100644
--- a/world/map/npc/030-4/mana_battery.txt
+++ b/world/map/npc/030-4/mana_battery.txt
@@ -123,7 +123,7 @@ L_Start:
next;
mes "it seems like this will not turn out as planned, Look this Guard of Honour is going crazy!";
next;
- npctalk "The Guards are out of control!";
+ npctalk strnpcinfo(0), "The Guards are out of control!";
if ($@XmasBattleStatus)
goto L_BattleAlreadyStarted;
set $@XmasBattleStatus, @xmas_battle_status;
diff --git a/world/map/npc/031-4/cindyCave.txt b/world/map/npc/031-4/cindyCave.txt
index 68bb3f05..377a6b06 100644
--- a/world/map/npc/031-4/cindyCave.txt
+++ b/world/map/npc/031-4/cindyCave.txt
@@ -53,7 +53,7 @@ L_Try_Cage:
mes "You get an uncomfortable feeling and Cindy starts to shiver.";
if ($@FIGHT_YETI_STATUS != 0)
goto L_Yeti;
- npctalk "Oh no, the Yetis...";
+ npctalk strnpcinfo(0), "Oh no, the Yetis...";
// initialize fight
set $@FIGHT_YETI_STATUS, 1;
diff --git a/world/map/npc/033-1/kimarr.txt b/world/map/npc/033-1/kimarr.txt
index e1c26251..6650198f 100644
--- a/world/map/npc/033-1/kimarr.txt
+++ b/world/map/npc/033-1/kimarr.txt
@@ -36,7 +36,7 @@
{
set @halloween_npc_id, $@halloween_npc_kimarr;
callfunc "TrickOrTreat";
-
+
if ($@Fluffy_FighterID == getcharid(3))
goto L_Attention;
@@ -101,7 +101,7 @@ L_Ask:
"Maybe later.",L_Close;
L_AlreadyGotReward:
- npctalk strcharinfo(0) + " killed " + $@Fluffy_Kills + " Fluffies and has once again proven to be a good hunter.";
+ npctalk strnpcinfo(0), strcharinfo(0) + " killed " + $@Fluffy_Kills + " Fluffies and has once again proven to be a good hunter.";
message strcharinfo(0), "Kimarr: Once again you prove your worth as a hunter! You killed " + $@Fluffy_Kills + " Fluffies.";
callsub S_Clean;
goto L_Close;
@@ -112,7 +112,7 @@ L_Reward1:
if (@state >= 2)
goto L_AlreadyGotReward;
- npctalk "Hooray! " + strcharinfo(0) + " killed " + $@Fluffy_Kills + " Fluffies and is now a worthy hunter.";
+ npctalk strnpcinfo(0), "Hooray! " + strcharinfo(0) + " killed " + $@Fluffy_Kills + " Fluffies and is now a worthy hunter.";
// as far as I can tell, this fails because it won't resume from the "next"
// when the script is executed via the "OnFluffyDeath" callback
@@ -199,19 +199,19 @@ L_Action:
areatimer "033-1", 79, 28, 88, 42, 10, "Kimarr::OnTooMany";
if ($@Fluffy_Time == 180)
- npctalk strcharinfo(0) + ", you have 3 minutes.";
+ npctalk strnpcinfo(0), strcharinfo(0) + ", you have 3 minutes.";
if ($@Fluffy_Time == 120)
- npctalk "You have 2 minutes left.";
+ npctalk strnpcinfo(0), "You have 2 minutes left.";
if ($@Fluffy_Time == 60)
- npctalk "You have 1 minute left.";
+ npctalk strnpcinfo(0), "You have 1 minute left.";
if ($@Fluffy_Time == 30)
- npctalk "You have 30 seconds left.";
+ npctalk strnpcinfo(0), "You have 30 seconds left.";
if ($@Fluffy_Time == 15)
- npctalk "You have 15 seconds left.";
+ npctalk strnpcinfo(0), "You have 15 seconds left.";
if ($@Fluffy_Time == 10)
- npctalk "You have 10 seconds left.";
+ npctalk strnpcinfo(0), "You have 10 seconds left.";
if ($@Fluffy_Time == 5)
- npctalk "You have 5 seconds left.";
+ npctalk strnpcinfo(0), "You have 5 seconds left.";
set $@Fluffy_Time, $@Fluffy_Time - 1;
if ($@Fluffy_Time < 0)
goto L_TimeOver;
@@ -222,21 +222,21 @@ L_ContinueTimer:
end;
L_GotOut:
- npctalk "What a strange thing... " + $@Fluffy_Fighter$ + " just disappeared!";
+ npctalk strnpcinfo(0), "What a strange thing... " + $@Fluffy_Fighter$ + " just disappeared!";
callsub S_Clean;
end;
OnTooMany:
if (getcharid(3) == $@Fluffy_FighterID)
end;
- npctalk "Hey " + strcharinfo(0) + "! What are you doing there? This hunt is for " + $@Fluffy_Fighter$ + " alone!";
+ npctalk strnpcinfo(0), "Hey " + strcharinfo(0) + "! What are you doing there? This hunt is for " + $@Fluffy_Fighter$ + " alone!";
warp "033-1", 77, 34;
end;
L_Died:
warp "033-1", 77, 34;
message strcharinfo(0), "You are dead.";
- npctalk "Oh no! " + $@Fluffy_Fighter$ + " got overwhelmed!";
+ npctalk strnpcinfo(0), "Oh no! " + $@Fluffy_Fighter$ + " got overwhelmed!";
callsub S_Clean;
end;
@@ -329,7 +329,7 @@ L_Punish:
if (@MobID == 1072)
areamonster "033-1", 79, 29, 88, 42, "", 1072, 1, "Kimarr::OnYetiDeath";
- npctalk strcharinfo(0) + "! This hunt is for " + $@Fluffy_Fighter$ + " alone!";
+ npctalk strnpcinfo(0), strcharinfo(0) + "! This hunt is for " + $@Fluffy_Fighter$ + " alone!";
heal -Hp, 0;
set @MobID, 0;
end;
@@ -407,7 +407,7 @@ L_FinallyInsertMe:
goto L_Reward1;
L_NotGoodEnough:
- npctalk "What a disappointment, " + strcharinfo(0) + " hunted only " + $@Fluffy_Kills + " Fluffies.";
+ npctalk strnpcinfo(0), "What a disappointment, " + strcharinfo(0) + " hunted only " + $@Fluffy_Kills + " Fluffies.";
message strcharinfo(0), "Kimarr: What a disappointment, you hunted only " + $@Fluffy_Kills + " Fluffies.";
callsub S_Clean;
end;
diff --git a/world/map/npc/048-2/helperAccused.txt b/world/map/npc/048-2/helperAccused.txt
index 96bc6827..95607656 100644
--- a/world/map/npc/048-2/helperAccused.txt
+++ b/world/map/npc/048-2/helperAccused.txt
@@ -2,11 +2,11 @@
// author: Jenalya
// see bluesageConfig for detailed quest description
// Peetu is the person who caused the accident
-// involved investigation subquest
+// involved investigation sub-quest
048-2,25,135,0|script|Peetu|130
{
- if (QL_BSAGE_INVESTIGATE >= 12 && QL_BSAGE_INVESTIGATE < 13) goto L_Thank;
+ if (QL_BSAGE_INVESTIGATE == 12) goto L_Thank;
if (QL_BSAGE_INVESTIGATE > 4 && QL_BSAGE_INVESTIGATE < 13) goto L_Investigate;
if (QL_BSAGE_INVESTIGATE > 1 && QL_BSAGE_INVESTIGATE < 13) goto L_Query;
if (QL_BSAGE_INVESTIGATE == 1) goto L_Help;
@@ -19,7 +19,7 @@
next;
mes "He startles as he notices you.";
mes "[Peetu]";
- mes "\"Oh, hello. What are you doing here? Ahm, visitors usually don't come up here. I mean, I don't mean to be rude, of course. I'm just surprised to see you here.\"";
+ mes "\"Oh, hello. What are you doing here? Uh ... visitors usually don't come up here. I mean, I don't mean to be rude, of course. I'm just surprised to see you here.\"";
menu
"I'm just having a look around.",L_Close,
"Sorry, I didn't mean to bother you.",L_Close,
@@ -27,7 +27,7 @@
L_Next:
mes "[Peetu]";
- mes "\"I would! But I'm ... under preliminary suspension.\"";
+ mes "\"I would, but I'm ... under preliminary suspension.\"";
mes "He looks close to tears.";
next;
mes "[Peetu]";
@@ -50,8 +50,8 @@ L_More:
L_Less:
mes "[Peetu]";
- mes "\"Well... but... I mean... I don't know... ";
- mes "I have an idea! Would you... ahm, would you talk to Chief Oskari for me? And ask him what he plans to do about me? I... I just don't feel capable of doing that myself right now. I'll try to pull myself together in the meanwhile.\"";
+ mes "\"Well ... but ... I mean ... I don't know ... ";
+ mes "I have an idea! Would you ... uhm ... would you talk to Chief Oskari for me? And ask him what he plans to do about me? I... I just don't feel capable of doing that myself right now. I'll try to pull myself together in the meanwhile.\"";
set QL_BSAGE_INVESTIGATE, 1;
goto L_Close;
@@ -78,8 +78,8 @@ L_Continue:
L_TextWall:
mes "[Peetu]";
- mes "\"Well, ok, sure. So, as you know we're doing some research on the nature of slimes, their connection to minerals and gemstones, their breeding behaviour, and, well, ahm, doing some magical experiments to analyze their reactions to different kinds of magic.";
- mes "These experiments caused some ... mutations, and the Blue and White Slimes developed some behaviour different from the slimes of other colors, making them more dangerous.\"";
+ mes "\"Well, ok, sure. So, as you know we're doing some research on the nature of slimes, their connection to minerals and gemstones, their breeding behavior, and well ... uh ... doing some magical experiments to analyze their reactions to different kinds of magic.";
+ mes "These experiments caused some ... mutations, and the Blue and White Slimes developed some behavior different from the slimes of other colors, making them more dangerous.\"";
next;
mes "\"This is the reason they have to be magically sealed away for the night, since we didn't want them to get out in the wilderness... Oh, I can only imagine what damage they do to the environment!\"";
mes "He sighs.";
@@ -87,13 +87,13 @@ L_TextWall:
mes "\"However, the sealing involves several steps. I usually start to prepare it while the helpers are still working on their research and experiments. That way, when they're done, they can just come and place the slimes under the seal.";
mes "I take the ingredients for the spell from the shelves, mix them together and cast the spell shortly before the other helpers finish their daily work.\"";
next;
- mes "\"You can think of the seal as something like a magical cage. This is a simplified explanation, of course. It's rather advanced magic, a modified version of a shield spell, rather focused on the components that reduce the targets ability to move and... Oh, I seem to be losing you. Nevermind.";
+ mes "\"You can think of the seal as something like a magical cage. This is a simplified explanation, of course. It's rather advanced magic, a modified version of a shield spell, rather focused on the components that reduce the targets ability to move and... Oh, I seem to be losing you. Never mind then.";
mes "Anyway, I create and open the 'cage', then I wait for all the helpers to drop in the slimes and close it when all are in. When it is closed, I additionally cast a guarding spell to prevent unauthorized access.\"";
next;
mes "\"That night when the slimes escaped, I did all of this as usual. Everything seemed alright after I cast the guarding spell, so I went to bed. But I woke up in the middle of the night because I felt the spells... oh, it's hard to describe... it seems the spell which defines the magical cage started to... inflate itself. That caused the guarding spells to vanish, since they're intended to protect against threats from the outside, not the inside.";
mes "While expanding, the cage went thinner and thinner until it just... faded out of existence!\"";
next;
- mes "\"This left all the slimes free in the workshop, right next to the library. Of course I hurried there as fast as I could, yelling to wake up everyone, but that caused so much confusion that we fell over each other in the corridor and when we finally reached the librabry, the slimes were already spread all over the room, eating the books and dripping out of the windows.\"";
+ mes "\"This left all the slimes free in the workshop, right next to the library. Of course I hurried there as fast as I could, yelling to wake up everyone, but that caused so much confusion that we fell over each other in the corridor and when we finally reached the library, the slimes were already spread all over the room, eating the books and dripping out of the windows.\"";
next;
mes "\"We tried to block the windows to prevent them escaping, but as most of the helpers aren't experienced in fighting and only some of us have a higher magical education, the slimes are rather dangerous for most of them.";
mes "We weren't able to get the situation under control until most of the slimes had escaped.\"";
@@ -125,6 +125,7 @@ L_ReallyMore:
mes "I mean, this is alarming news, but I'm so glad that this isn't my fault and that he feels I deserve to keep my job.\"";
next;
mes "\"It isn't much, but please take these Silk Gloves. We use those when we have to protect our hands, but still need to perform magic.\"";
+ set QL_BSAGE_INVESTIGATE, 12;
getitem "SilkGloves", 1;
goto L_Close;
diff --git a/world/map/npc/051-1/desert.txt b/world/map/npc/051-1/desert.txt
index 02289bf4..73dc7c9a 100644
--- a/world/map/npc/051-1/desert.txt
+++ b/world/map/npc/051-1/desert.txt
@@ -36,7 +36,7 @@
"No", L_Close;
OnTimer1000:
- npctalk "Youuuuuuu... Bring me souls... " + $@illia_num_sealed_souls + " fresh souls... Nooooow. And you shall paaass.";
+ npctalk strnpcinfo(0), "Youuuuuuu... Bring me souls... " + $@illia_num_sealed_souls + " fresh souls... Nooooow. And you shall paaass.";
end;
OnTimer4750:
@@ -44,7 +44,7 @@ OnTimer4750:
end;
OnTimer6500:
- npctalk "Nooooo... Do not let these things take them from youuuuuu!";
+ npctalk strnpcinfo(0), "Nooooo... Do not let these things take them from youuuuuu!";
stopnpctimer;
setnpctimer 0;
end;
diff --git a/world/map/npc/051-3/ambush.txt b/world/map/npc/051-3/ambush.txt
index 305423ca..da12b306 100644
--- a/world/map/npc/051-3/ambush.txt
+++ b/world/map/npc/051-3/ambush.txt
@@ -150,11 +150,11 @@ OnCommandTalk:
end;
OnTimer100:
- npctalk "Did you think you could sneak in our den without a problem?";
+ npctalk strnpcinfo(0), "Did you think you could sneak in our den without a problem?";
end;
OnTimer3600:
- npctalk "Drop your weapons, and come with us!";
+ npctalk strnpcinfo(0), "Drop your weapons, and come with us!";
stopnpctimer;
setnpctimer 0;
end;
@@ -170,11 +170,11 @@ OnCommandTalk:
end;
OnTimer1500:
- npctalk "W00t! More slaves!";
+ npctalk strnpcinfo(0), "W00t! More slaves!";
end;
OnTimer5500:
- npctalk "Ahaha, that was easy! Ok, knock them out!";
+ npctalk strnpcinfo(0), "Ahaha, that was easy! Ok, knock them out!";
stopnpctimer;
setnpctimer 0;
end;
diff --git a/world/map/npc/052-2/lobby.txt b/world/map/npc/052-2/lobby.txt
index a8a2dfa2..efc0a20a 100644
--- a/world/map/npc/052-2/lobby.txt
+++ b/world/map/npc/052-2/lobby.txt
@@ -154,7 +154,7 @@ L_Continue:
end;
OnCommandTalk:
- npctalk $@illia_lobby_voices$[$@illia_lobby_voices_index];
+ npctalk strnpcinfo(0), $@illia_lobby_voices$[$@illia_lobby_voices_index];
end;
}
@@ -189,50 +189,50 @@ L_TalkToHero:
OnTimer1500:
if ($@illia_level_5_progress != 4)
end;
- npctalk "Yes " + $@ILLIA_HERO$ + ", I am Luvia.";
+ npctalk strnpcinfo(0), "Yes " + $@ILLIA_HERO$ + ", I am Luvia.";
end;
OnTimer4500:
if ($@illia_level_5_progress != 4)
end;
- npctalk "How nice of all of you to have come to save me!";
+ npctalk strnpcinfo(0), "How nice of all of you to have come to save me!";
end;
OnTimer7500:
if ($@illia_level_5_progress != 4)
end;
- npctalk "But I fear...";
+ npctalk strnpcinfo(0), "But I fear...";
end;
OnTimer10500:
if ($@illia_level_5_progress != 4)
end;
- npctalk "... that you are mistaken about who has to be saved!";
+ npctalk strnpcinfo(0), "... that you are mistaken about who has to be saved!";
end;
OnTimer13500:
if ($@illia_level_5_progress != 4)
end;
- npctalk "Don't make these faces...";
+ npctalk strnpcinfo(0), "Don't make these faces...";
end;
OnTimer16500:
if ($@illia_level_5_progress != 4)
end;
- npctalk "Valia is just helping me by sending new soldiers for my personal army!";
+ npctalk strnpcinfo(0), "Valia is just helping me by sending new soldiers for my personal army!";
end;
OnTimer21500:
if ($@illia_level_5_progress != 4)
end;
- npctalk "So, if I may... Let's see what you are made of!";
+ npctalk strnpcinfo(0), "So, if I may... Let's see what you are made of!";
end;
// Monster invokes timers
OnTimer24500:
if ($@illia_level_5_progress != 4)
end;
- npctalk "Demonotis!";
+ npctalk strnpcinfo(0), "Demonotis!";
misceffect FX_EVIL_SUMMON;
callsub S_GetHeroRect;
areamonster "052-2", $@illia_lobby_x1, $@illia_lobby_y1, $@illia_lobby_x2, $@illia_lobby_y2, "", 1101, 20 + 16 - 480/(30+$Illia_Luvia_Harvest), "Luvia?::OnDSDeath";
@@ -242,7 +242,7 @@ OnTimer24500:
OnTimer44000:
if ($@illia_level_5_progress != 4)
end;
- npctalk "Demonotis!";
+ npctalk strnpcinfo(0), "Demonotis!";
misceffect FX_EVIL_SUMMON;
callsub S_GetHeroRect;
areamonster "052-2", $@illia_lobby_x1, $@illia_lobby_y1, $@illia_lobby_x2, $@illia_lobby_y2, "", 1101, 28 + 16 - 480/(30+$Illia_Luvia_Harvest), "Luvia?::OnDSDeath";
@@ -252,7 +252,7 @@ OnTimer44000:
OnTimer77000:
if ($@illia_level_5_progress != 4)
end;
- npctalk "Demonotis!";
+ npctalk strnpcinfo(0), "Demonotis!";
misceffect FX_EVIL_SUMMON;
callsub S_GetHeroRect;
areamonster "052-2", $@illia_lobby_x1, $@illia_lobby_y1, $@illia_lobby_x2, $@illia_lobby_y2, "", 1101, 42 + 16 - 480/(30+$Illia_Luvia_Harvest), "Luvia?::OnDSDeath";
@@ -266,25 +266,25 @@ OnTimer77000:
OnTimer6500:
if ($@illia_level_5_progress != 6)
end;
- npctalk "Okay. You have some skill.";
+ npctalk strnpcinfo(0), "Okay. You have some skill.";
end;
OnTimer10000:
if ($@illia_level_5_progress != 6)
end;
- npctalk "But that was only the beginning!";
+ npctalk strnpcinfo(0), "But that was only the beginning!";
end;
OnTimer13000:
if ($@illia_level_5_progress != 6)
end;
- npctalk "I'll leave you in the good hands of your predecessors. Farewell!";
+ npctalk strnpcinfo(0), "I'll leave you in the good hands of your predecessors. Farewell!";
end;
OnTimer18500:
if ($@illia_level_5_progress != 6)
end;
- npctalk "Demonotis Major!";
+ npctalk strnpcinfo(0), "Demonotis Major!";
misceffect FX_EVIL_SUMMON;
misceffect FX_MAGIC_DARK_EXPLOSION;
callsub S_GetHeroRect;
@@ -309,7 +309,7 @@ OnTimer2000:
setnpctimer 0;
// Mock players randomly (more or less once every 40 secs) and if still enough mobs running after them
if ($@illia_level_5_progress == 5 && rand(20) == 0 && (mobcount("052-2", "Luvia?::OnDSDeath") > 20))
- npctalk "Ahaha! Run... Run!";
+ npctalk strnpcinfo(0), "Ahaha! Run... Run!";
if ($@illia_level_5_progress == 5 && (mobcount("052-2", "Luvia?::OnDSDeath") < 0))
goto L_AllWavesClear;
if ($@illia_level_5_progress == 7 && (mobcount("052-2", "Luvia?::OnWGDeath") < 0))
diff --git a/world/map/npc/052-2/partyroom.txt b/world/map/npc/052-2/partyroom.txt
index a602704e..02d7a7ac 100644
--- a/world/map/npc/052-2/partyroom.txt
+++ b/world/map/npc/052-2/partyroom.txt
@@ -63,19 +63,19 @@ L_ShouldNotBeHere:
end;
OnTimer1000:
- npctalk "Oh well, who thought you would survive so far?";
+ npctalk strnpcinfo(0), "Oh well, who thought you would survive so far?";
end;
OnTimer5000:
- npctalk "All this way, for nothing, only to die from my hands...";
+ npctalk strnpcinfo(0), "All this way, for nothing, only to die from my hands...";
end;
OnTimer10000:
- npctalk "Don't worry, you will continue to live, for my sake.";
+ npctalk strnpcinfo(0), "Don't worry, you will continue to live, for my sake.";
end;
OnTimer15000:
- npctalk "One piece of advice: get prepared!";
+ npctalk strnpcinfo(0), "One piece of advice: get prepared!";
stopnpctimer;
setnpctimer 0;
donpcevent "#LuviaDaemon::OnCommandInvoke";
diff --git a/world/map/npc/056-2/barrier.txt b/world/map/npc/056-2/barrier.txt
index a607ded7..956dc630 100644
--- a/world/map/npc/056-2/barrier.txt
+++ b/world/map/npc/056-2/barrier.txt
@@ -8,11 +8,11 @@
end;
L_Block:
- message strcharinfo(0), "I cannot enter... That old man really made sure I cannot bother him agin.";
+ message strcharinfo(0), "I can't enter.... That old man really made sure that I wouldn't be able to bother him again anytime soon.";
end;
L_Weak:
- message strcharinfo(0), "I cannot enter. The magic is too strong. Maybe I should train some more.";
+ message strcharinfo(0), "I can't enter because this magic field is too strong. Maybe I should train some more....";
end;
}
diff --git a/world/map/npc/functions/superdebug.txt b/world/map/npc/functions/superdebug.txt
index b9f067de..5654dd4c 100644
--- a/world/map/npc/functions/superdebug.txt
+++ b/world/map/npc/functions/superdebug.txt
@@ -3,9 +3,13 @@
function|script|SuperDebug
{
+ if(@from_npc) goto L_Main;
+ npcaction 6, 12;
+ title "Numa";
goto L_Main;
L_Main:
+ set @from_npc, 0;
mes "[Numa]";
mes "How may I help you?";
next;
diff --git a/world/map/npc/items/warpTowels.txt b/world/map/npc/items/warpTowels.txt
index 8e9ef4ac..dd8bc71e 100644
--- a/world/map/npc/items/warpTowels.txt
+++ b/world/map/npc/items/warpTowels.txt
@@ -6,7 +6,7 @@ function|script|WarpTowel
goto L_DontPanic;
if (isin("botcheck",25,27,51,47))
goto L_Prison;
- if (getmapflag(getmap(), MF_NOSAVE) || isin("009-7",$@fightclub_x1,$@fightclub_y1,$@fightclub_x2,$@fightclub_y2))
+ if (getmapflag(getmap(), MF_NOSAVE) || getmapflag(getmap(), MF_NOTELEPORT) || getmapflag(getmap(), MF_NOWARP) || isin("009-7",$@fightclub_x1,$@fightclub_y1,$@fightclub_x2,$@fightclub_y2))
goto L_Forbid;
callfunc "MultiWarpTowel";