From f77ddc50f628d2c9e301aa417d9dc05aaec37ed9 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sun, 30 Dec 2018 22:20:20 -0200 Subject: Move Nard and Elmo to 002-3. Unlink 002-4 from world. --- npc/002-3/_import.txt | 2 + npc/002-3/doors.txt | 25 +--- npc/002-3/elmo.txt | 127 ++++++++++++++++++++ npc/002-3/nard.txt | 319 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 452 insertions(+), 21 deletions(-) create mode 100644 npc/002-3/elmo.txt create mode 100644 npc/002-3/nard.txt (limited to 'npc/002-3') 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; +} -- cgit v1.2.3-60-g2f50