summaryrefslogtreecommitdiff
path: root/npc/002-3
diff options
context:
space:
mode:
Diffstat (limited to 'npc/002-3')
-rw-r--r--npc/002-3/_import.txt2
-rw-r--r--npc/002-3/doors.txt25
-rw-r--r--npc/002-3/elmo.txt127
-rw-r--r--npc/002-3/nard.txt319
4 files changed, 452 insertions, 21 deletions
diff --git a/npc/002-3/_import.txt b/npc/002-3/_import.txt
index 3421a5c5e..6d7316fad 100644
--- a/npc/002-3/_import.txt
+++ b/npc/002-3/_import.txt
@@ -2,5 +2,7 @@
// This file is generated automatically. All manually added changes will be removed when running the Converter.
"npc/002-3/_mobs.txt",
"npc/002-3/doors.txt",
+"npc/002-3/elmo.txt",
"npc/002-3/mapflags.txt",
+"npc/002-3/nard.txt",
"npc/002-3/note.txt",
diff --git a/npc/002-3/doors.txt b/npc/002-3/doors.txt
index abf9c892a..79d95c2b9 100644
--- a/npc/002-3/doors.txt
+++ b/npc/002-3/doors.txt
@@ -8,13 +8,11 @@
OnTouch:
if (getq(ShipQuests_Julia) < 3) {
- setcamnpc "Julia";
- mesn "Julia";
- mesq l("The captain has locked the door, you should go see him.");
+ setcamnpc "Nard";
+ mesn l("Nard");
+ mesq l("Where do you think you are going, without talking to me first?");
next;
-
- mesn "Narrator";
- mesc l("Captain Nard is in the room to your right.");
+ mesc l("Talk to Nard to unlock the door.");
next;
restorecam;
close;
@@ -34,21 +32,6 @@ OnTouch:
}
-002-3,44,28,0 script AreaNPC#doors5 NPC_HIDDEN,0,0,{
-
-OnTouch:
- .@julia = getq(ShipQuests_Julia);
- if (.@julia >= 2) goto L_Warp;
- close;
-
-L_Warp:
- if (LOCATION$ == "")
- warp "002-4", 20, 27;
- else
- warp "002-4@"+LOCATION$, 20, 27;
- close;
-}
-
002-3,42,25,0 script AreaNPC#002-3d NPC_HIDDEN,0,0,{
OnTouch:
diff --git a/npc/002-3/elmo.txt b/npc/002-3/elmo.txt
new file mode 100644
index 000000000..fcd20608e
--- /dev/null
+++ b/npc/002-3/elmo.txt
@@ -0,0 +1,127 @@
+// TMW2 Script.
+// Authors:
+// Jesusalva
+// Description:
+// Elmo's second dialog. He is Nard's deputy and second-in-command.
+// Elmo was created in Evol by Qwerty Dragon and Reid
+
+002-3,32,24,0 script Elmo NPC_ELMO,{
+ showavatar NPC_ELMO; // this is handled by avatars.xml
+
+ if (getq(ShipQuests_Julia) < 3) goto L_NotYet;
+ if (getq(CandorQuest_Sailors) == 2) goto L_Party;
+ if (LOCATION$ == "Candor") goto L_Candor;
+
+
+ sailortalk;
+ end; // double-sure
+
+L_NotYet:
+ mesn;
+ mes l("I'm not the Captain, Nard is.");
+ mes l("You should talk to him instead.");
+ close;
+
+L_Candor:
+ mesn;
+ if (getq(General_Narrator) < 1) mes l("\"Hey, have you already got the money necessary for the travel?");
+ if (getq(General_Narrator) < 1) mes l("If you haven't, maybe there are a few things you can do besides selling items.\"");
+ if (getq(General_Narrator) >= 1) mesq l("Maybe there are things in Candor which still require your attention? I overheard some of them.");
+ next;
+
+ mes "";
+
+ // Valon Quest
+ .@q=getq(CandorQuest_Trainer);
+ if (.@q < 1) {
+ mesc 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.");
+ mes l("The Soul Menhir will attach your soul, so when you die, you'll appear where you last touched it.");
+ close;
+ } else if (.@q < 12) {
+ mes l("- Inside the big house is someone who can train you. All experience is handy!");
+ }
+
+ // Barrel Quest
+ .@q=getq(CandorQuest_Barrel);
+ if (.@q < 4)
+ mes l("- I think you can help the storehouse for some quick cash.");
+
+ // Kids Quest
+ .@q=getq(CandorQuest_HAS);
+ if (.@q < 4)
+ mes l("- You can always play with kids. Not very profitable, though.");
+
+ // Sailors Quest
+ .@q=getq(CandorQuest_Sailors);
+ if (.@q < 3)
+ mes l("- Some of our crew are missing. They're probably wasting their time at beach.");
+
+ // Vincent Quest
+ .@q=getq(CandorQuest_Vincent);
+ if (.@q < 2)
+ mes l("- I overheard rumors about a festival. Maybe someone needs help with their figurine?");
+
+ // Tolchi Quest
+ .@q=getq(CandorQuest_Tolchi);
+ if (.@q < 2)
+ mes l("- The weapon master, Tolchi, could use your help. But she will most likely force you to visit Tulimshar in the end.");
+
+ // Maya Quest
+ .@q=getq(CandorQuest_Maya);
+ if (.@q < 4)
+ mes l("- There is a woman walking on the island, called Maya. Once she realises you're willing to help, she'll start paying well.");
+
+ // Rosen Quest
+ .@q=getq(CandorQuest_Rosen);
+ if (.@q < 3)
+ mes l("- The weapon seller, Rosen, wanted to help new players to improve their equipment.");
+
+ // Ship Quests
+ .@q1=getq(ShipQuests_Dan);
+ .@q2=getq(ShipQuests_ChefGado);
+ .@q3=getq(ShipQuests_Peter);
+ if (.@q1 < 3 || .@q2 < 2 || .@q3 != 5)
+ mes l("- Some sailors within this ship may need your help: Chef Gado, Dan, Peter... help them all and collect rewards!");
+
+ // Report in an abstract way to the player how good they are at getting travel
+ // discounts, and how much work is left to do. Some points are easy/required to get (eg. Dan, Peter, HAS, etc.)
+ next;
+ closeclientdialog;
+ .@n=nard_reputation();
+ if (.@n >= 15)
+ npctalk3 l("Nard is truly amazed at you. I am impressed, too.");
+ else if (.@n >= 13)
+ npctalk3 l("Nard is amazed at you.");
+ else if (.@n >= 11)
+ npctalk3 l("Nard is very impressed, you're really a hard worker. Congrats!");
+ else if (.@n >= 9)
+ npctalk3 l("Nard is impressed, you're a hard worker.");
+ else if (.@n >= 7)
+ npctalk3 l("Nard noticed your hard work.");
+ else if (.@n >= 5)
+ npctalk3 l("Nard likes people who work hard. Work harder!");
+ else if (.@n >= 3)
+ npctalk3 l("You really should do some tasks to impress our captain.");
+ else
+ npctalk3 l("Nard doesn't like people who gets money without working for it.");
+
+ end;
+
+L_Party:
+ mesn;
+ mesq l("What? A party?");
+ next;
+ setq CandorQuest_Sailors, 3;
+ getexp 25, 0;
+ Zeny = (Zeny + 1000);
+ mesq l("Alright, I'll show up later. Thanks for calling me. Here's 1000 GP for your efforts."); // With this, the final cost is 50 GP
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/002-3/nard.txt b/npc/002-3/nard.txt
new file mode 100644
index 000000000..b37495104
--- /dev/null
+++ b/npc/002-3/nard.txt
@@ -0,0 +1,319 @@
+// TMW2 scripts.
+// Authors:
+// Qwerty Dragon
+// Reid
+// Jesusalva
+// Description:
+// Captain Nard dialogs.
+// Nard is a fair merchant ship's captain.
+// Original Nard's from Evol by Qwerty Dragon and Reid
+
+002-3,36,25,0 script Nard NPC_NARD,{
+ showavatar NPC_NARD; // this is handled by avatars.xml
+
+ .@narrator = getq(General_Narrator);
+ .@price=1200;
+
+L_Checker:
+ if (.@narrator) goto L_Travel;
+ if (getq(ShipQuests_Julia) >= 3) goto L_NotYet;
+ // Introduction
+ mesn;
+ mesq l("Hello.");
+ next;
+ mesq l("Let me introduce myself, I am Nard, captain of this ship.");
+ next;
+ mesq lg("I am pleased to see that you have woken up and are active. Elmo came here to tell me this good news!");
+ next;
+ mesn;
+ mesq l("Hehehe, he is a bit nervous, please forgive him, it is not everyday we have a new member in the crew!");
+ next;
+ mesq l("So, how do you feel? I see that Juliet did a marvellous job! You look like you're in good health now.");
+ next;
+
+L_Menu:
+ menu
+ lg("I feel ok."), L_Ok,
+ l("Who's this Juliet?"), L_Juliet,
+ lg("I'm a bit sick..."), -;
+
+ mes "";
+ mesn;
+ mesq l("Oh, I was going to ask you if you wanted to help the crew search for some food and explore the island out there.");
+ next;
+
+L_MenuQuest:
+ menu
+ l("What do you need?"), -,
+ l("Is there a reward?"), L_NeedHead,
+ l("Wait, you never came here before?"), L_CandorIsland;
+
+ mes "";
+ mesn;
+ mesq l("Ship travels are not free. See if you can gather some money, and I'll bring you to Tulimshar!");
+ next;
+ showavatar NPC_ELMO;
+ setcamnpc "Elmo";
+ mesn l("Elmo");
+ mesq l("I, Elmo, captain's deputy, will help you to make the maximum possible money in Candor!");
+ next;
+ showavatar NPC_NARD;
+ mesn;
+ mesq l("Why we're going Tulimshar, you may ask? Because well, believe me, if you want to find out anything, the best place to ask around is Tulim!");
+ LOCATION$ = "Candor";
+ setq ShipQuests_Julia, 3;
+
+ // Referral program
+ if (#REFERRAL_PROG == 0 && $REFERRAL_ENABLED) {
+ next;
+ clear;
+ showavatar NPC_LOF_RICH;
+ mesc l("But before, a message from our developers!"), 3;
+ next;
+ mesn l("TMW2 Staff");
+ mesc l("Hello, and welcome to TMW2: Moubootaur Legends!"), 3;
+ next;
+ mesn l("TMW2 Staff");
+ mesc l("Did you came here by someone advise? If yes, write their name here!"), 3;
+ mesc l("If this is not the case, just click on \"Send\"."), 3;
+ .@ref$="";
+ do
+ {
+ input .@ref$;
+ debugmes "Hercules is bugged: "+.@ref$;
+ mes "";
+ if (.@ref$ != "") {
+ .@ref=gf_accid(strip(.@ref$));
+ if (.@ref > 0) {
+ if (.@ref == getcharid(3)) {
+ mesn l("TMW2 Staff");
+ mesc l("Hahah, silly, that's yourself!"), 3;
+ mesc l("Try again!"), 3;
+ next;
+ .@ref$="";
+ } else {
+ #REFERRAL_PROG=.@ref;
+ getitembound FriendGift, 1, 1;
+ mesn l("TMW2 Staff");
+ mesc l("Well, welcome to the game! If you have any doubt, shout on #world for help!"), 3;
+ mesc l("Your friend also sent you a gift - open it when you get level 5!"), 3;
+ next;
+ }
+ } else {
+ mesn l("TMW2 Staff");
+ mesc l("Oops, there is nobody known as @@ on this game.", .@ref$), 3;
+ mesc l("Could you try again? There could be a typo!"), 3;
+ next;
+ .@ref$="";
+ }
+ } else {
+ .@ref$="None";
+ mesn l("TMW2 Staff");
+ mesc l("I see. Well, welcome to the game! If you have any doubt, shout on #world for help!"), 3;
+ next;
+ }
+ } while (.@ref$ == "");
+ showavatar NPC_NARD;
+ }
+
+ close;
+
+
+L_NeedHead:
+ mes "";
+ mesn;
+ mesq l("You're pretty much stranded on this forsaken island if you don't help me!");
+ next;
+ mesq l("Also, I believe hard work always pay off.");
+ next;
+ goto L_MenuQuest;
+
+L_Ok:
+ mes "";
+ mesn;
+ mesq l("Good to know.");
+ next;
+ mesq l("We have made a stop at a little island, before making it on to the port of Tulimshar.");
+ next;
+ mesq l("It would be good for you to do some exercise, the ship isn't big enough for that.");
+ next;
+
+ goto L_SpecialTask;
+
+L_Juliet:
+ mes "";
+ mesn;
+ mesq l("You have an awful case of amnesia.");
+ next;
+ mesq l("She is the nurse and shipkeeper of this ship.");
+ next;
+ mesq lg("But most important, she is the one who took care of you when you were unconscious.");
+ next;
+
+L_SpecialTask:
+ mesq l("I know that you are just starting to feel better, but I'd like you to explore the island we're currently at.");
+ next;
+
+ goto L_MenuQuest;
+
+L_CandorIsland:
+ mes "";
+ mesn;
+ mesq l("I never said that. I come here frequently to trade. It is you who should explore the island.");
+ next;
+ mesq l("This is ##BCandor Island##b. A very small community lives here.");
+ next;
+ mesq l("If they were any bigger, monsters would come and kill everyone.");
+ next;
+
+ goto L_MenuQuest;
+
+L_NotYet:
+ mesn;
+ menu
+ l("I've brought the money you've asked for."),-,
+ l("Please excuse me, captain."), L_Close;
+
+ mes "";
+ if (Zeny >= .@price) {
+ mesq l("Ten, fifty, thousand... Yep, this is the amount I've asked for.");
+ next;
+ setq General_Narrator, 1;
+ mesq l("Set sail! We're going to Tulimshar!");
+ next;
+ showavatar;
+ setcam 0, 0;
+ mesc l("Some time later...");
+ next;
+ restorecam;
+ showavatar NPC_NARD; // this is handled by avatars.xml
+ mesn;
+ mesq l("Welcome to Tulimshar, @@!", strcharinfo(0));
+ next;
+ Zeny = Zeny-.@price;
+ LOCATION$="Tulim";
+ mesn;
+ mesq l("You can explore the city as you want, but if I were you, I would ##Btouch the Soul Menhir##b, north of here, to don't respawn at Candor.");
+ next;
+ mesn;
+ mesq l("Other than that, you can explore the city as you want, but as you had a memory loss, You should visit the townhall.");
+ next;
+ mesn;
+ mesq l("When you get out of the ship, it is the first building you'll see. Talk to ##BLua##b, she is an alliance representative.");
+ next;
+ mesn;
+ mesq l("The Alliance have records of everyone. And if you need another trip, talk to me!");
+
+ } else {
+ mesq l("You still haven't completed your tasks.");
+ next;
+ mesq l("You still need @@ GP for the trip to Tulimshar.", (.@price-Zeny));
+ }
+ close;
+
+L_Travel:
+ if (nard_reputation() >= 15)
+ .@price-=1150;
+ else if (nard_reputation() >= 13)
+ .@price-=1000;
+ else if (nard_reputation() >= 11)
+ .@price-=750;
+ else if (nard_reputation() >= 9)
+ .@price-=600;
+ else if (nard_reputation() >= 7)
+ .@price-=350;
+ else if (nard_reputation() >= 5)
+ .@price-=200;
+ mesn;
+ mesq l("Hi @@.", strcharinfo(0));
+ next;
+ mesq l("You are currently at @@.", LOCATION$);
+ mes "";
+ mes l("A ship travel will cost you @@ GP.", .@price);
+
+ if (Zeny >= .@price) {
+ menu
+ rif(LOCATION$ != "Candor", l("To Candor Island.")), L_TCandor,
+ rif(LOCATION$ != "Tulim", l("To Tulimshar.")), L_TTulim,
+ rif(ST_TIER == 7 && gettimetick(2) < QUEST_ELEVARTEMPO ,l("Help me, I need Jesusaves Grimorie!")), L_Tier2,
+ rif(ST_TIER == 9 && countitem(Lifestone) && gettimetick(2) < QUEST_ELEVARTEMPO ,l("Help me, I need Jesusaves Grimorie!")), L_Tier2Ok,
+ l("No, I'll save my money."), -;
+ } else {
+ mes l("You still need @@ GP to afford it.", (.@price-Zeny));
+ }
+
+ close;
+
+L_TCandor:
+ Zeny=Zeny-.@price;
+ PC_DEST$="Candor";
+
+ mes "";
+ mesn;
+ mesq l("Candor Island, then? Yes, that is a pretty island, right?");
+ next;
+ mesq l("I was planning to go there soon, anyway. All aboard!");
+ close2;
+ addtimer nard_time(PC_DEST$), "#NardShip::OnEvent";
+ @timer_navio_running = 1;
+ warp "002-5", 39, 26;
+ end;
+
+L_TTulim:
+ Zeny=Zeny-.@price;
+ PC_DEST$="Tulim";
+ @timer_navio_running = 1;
+
+ mes "";
+ mesn;
+ mesq l("Tulimshar, right? The oldest human city-state!");
+ next;
+ mesq l("I was planning to go there soon, anyway. All aboard!");
+ close2;
+ addtimer nard_time(PC_DEST$), "#NardShip::OnEvent";
+ @timer_navio_running = 1;
+ warp "002-5", 39, 26;
+ end;
+
+L_Tier2:
+ mes "";
+ mesn;
+ mesq l("WHAT?! ARE YOU OUT OF MIND?!?!");
+ next;
+ mesn;
+ if (nard_reputation() < 8) {
+ mesq l("THAT GRIMORIE IS A SUPER DUPER MEGA UPER RARE BOOK, I CANNOT GIVE IT TO ANYBODY ASKING ME ABOUT!!");
+ next;
+ mesn;
+ mesq l("GET OUT OF HERE, YOUR NOBODY!");
+ close;
+ }
+ mesq l("That is a rare, precious book, which writes itself!");
+ next;
+ mesn;
+ mesq l("I cannot just give it to you for nothing. Run to Elanore and fetch me a @@. You need to make a new one, an old one I won't accept.", getitemlink(Lifestone));
+ ST_TIER=8;
+ close;
+
+L_Tier2Ok:
+ mes "";
+ mesn;
+ mesc l("*tut*");
+ next;
+ inventoryplace JesusalvaGrimorium, 1;
+ delitem Lifestone, 1;
+ getitem "JesusalvaGrimorium", 1;
+ getexp 200, 0;
+ ST_TIER=10;
+ mesn;
+ mesq l("Here, take it. If the mana goes out of your body, I'll have your class master to return the book to me.");
+ close;
+
+L_Close:
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}