diff options
author | Jesusaves <cpntb1@ymail.com> | 2022-10-23 21:44:22 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2022-10-23 21:44:22 -0300 |
commit | a7c45a192268da2601cef47a4cdba987ae2327ca (patch) | |
tree | c5fb5b97db109fe7106496dd96498c475881046b /npc/002-3 | |
download | serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.gz serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.bz2 serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.xz serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.zip |
Initial commit (Moubootaur Legends fork)
Diffstat (limited to 'npc/002-3')
-rw-r--r-- | npc/002-3/_import.txt | 8 | ||||
-rw-r--r-- | npc/002-3/_mobs.txt | 3 | ||||
-rw-r--r-- | npc/002-3/doors.txt | 83 | ||||
-rw-r--r-- | npc/002-3/elmo.txt | 163 | ||||
-rw-r--r-- | npc/002-3/mapflags.txt | 1 | ||||
-rw-r--r-- | npc/002-3/nard.txt | 407 | ||||
-rw-r--r-- | npc/002-3/note.txt | 51 |
7 files changed, 716 insertions, 0 deletions
diff --git a/npc/002-3/_import.txt b/npc/002-3/_import.txt new file mode 100644 index 0000000..6d7316f --- /dev/null +++ b/npc/002-3/_import.txt @@ -0,0 +1,8 @@ +// Map 002-3: First Deck +// 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/_mobs.txt b/npc/002-3/_mobs.txt new file mode 100644 index 0000000..9e5e45b --- /dev/null +++ b/npc/002-3/_mobs.txt @@ -0,0 +1,3 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 002-3: First Deck mobs +002-3,35,28,4,2 monster Piou 1002,1,30000,20000,PiouSpwn::OnFakeKill diff --git a/npc/002-3/doors.txt b/npc/002-3/doors.txt new file mode 100644 index 0000000..e762b11 --- /dev/null +++ b/npc/002-3/doors.txt @@ -0,0 +1,83 @@ +// TMW2 Scripts. +// Author: +// Jesusalva +// Description: +// Nard's ship Doors NPCs. + +002-3,30,28,0 script AreaNPC#doors4 NPC_HIDDEN,0,0,{ + +OnTouch: + if (!getq(General_Narrator) && getq(ShipQuests_Julia) < 3) { + showavatar NPC_NARD; + setcamnpc "Nard"; + mesn l("Nard"); + mesq l("Where do you think you are going, without talking to me first?"); + next; + mesc l("Talk to Nard to unlock the door."); + next; + restorecam; + close; + } + if (getvaultid() && !(##02_MLQUEST & MLP_ML_NARD)) { + mesc l("Alright. A new world. What mysteries await for me behind that wooden door?"); + next; + mesc l("Visiting a new world is always exciting. Actually, the opportunity of taking a new life in a new universe isn't that bad either."); + next; + mesc l("That's why we must stop... THEM... at any costs. I don't know what they're plotting, but it is not in this world inhabitants best interests... nor any other world."); + next; + mesc l("Anyway... Let's see how this world works!"); + next; + ##02_MLQUEST = ##02_MLQUEST | MLP_ML_NARD; + closeclientdialog; + } + + if (LOCATION$ == "Candor") { + warp "005-1", 49, 117; + close; + } + + if (LOCATION$ == "Artis") { + warp "029-0", 203, 85; + close; + } + + if (LOCATION$ == "Tulim") { + if ($@MK_SCENE == MK_SIEGE_TULIM && BaseLevel < 30) { + showavatar NPC_NARD; + setcamnpc "Nard"; + mesn l("Nard"); + mesc l("The Monster Army is currently sieging Tulimshar. There are hundreds of dangerous monsters out there right now."), 1; + next; + mesn l("Nard"); + mesc l("I would advise you to remain here in the ship, they should leave in a few minutes, but I will not force you."), 1; + next; + mesn l("Nard"); + mesc l("Just beware that if you leave, you might get killed really quickly. No death penalty, though."), 1; + next; + mesc l("Leave the ship? The town have no death penalty and is under a global event."), 1; + if (askyesno() == ASK_NO) + close; + // Boost their evade and HP so they don't get instantly KO'ed (5 min) + sc_start SC_INCFLEE, 300000, 200; + sc_start SC_INCMHP, 300000, 1000; + heal 1000, 0; + dispbottom l("Queen Of Dragons: It is dangerous to go out alone, I'll raise your evasion and life!"); // QoD = “Demure”. + } + warp "003-1", 81, 68; + close; + } + Exception("Script error: 002-3 door"); + close; + + +} + +002-3,42,25,0 script AreaNPC#002-3d NPC_HIDDEN,0,0,{ + +OnTouch: + if (LOCATION$ == "") + warp "002-1", 72, 29; + else + warp "002-1@"+LOCATION$, 72, 29; + close; +} diff --git a/npc/002-3/elmo.txt b/npc/002-3/elmo.txt new file mode 100644 index 0000000..03a5f8c --- /dev/null +++ b/npc/002-3/elmo.txt @@ -0,0 +1,163 @@ +// 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 +// TODO: allows smart noobs (<15) get EXP Bonus (20%) + +002-3,32,24,0 script Elmo NPC_ELMO,{ + function ExpBoost; + showavatar NPC_ELMO; // this is handled by avatars.xml + + // Core functions + if (BaseLevel < 20) + ExpBoost(); + + if (getq(ShipQuests_Julia) < 3) goto L_NotYet; + if (getq(CandorQuest_Sailors) == 2) goto L_Party; + if (LOCATION$ == "Candor" && rand(1,7) != 5) goto L_Candor; + + // TODO: NPC looking at task schedule and stuff + mesn; + if (rand(1,2) == 1) + mesq l("Ah, @@ seems to be behind the @@ schedule again...", any("Juliet", "Billy Bons", "Chef Gado", "Dan", "Devis", "Peter"), any(l("cleaning"), l("stocking"))); + else + mesq l("Uhm, @@ seems to have finished their scheduled tasks again... If they were so diligent in cleaning and stocking, though...", any("Nard", "Elmo", "Juliet", "Chef Gado", "Dan", "Peter")); + + close; + +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 might have overheard some of them."); + if (reputation("Candor") >= 100) mes l("...Although that's unlikely, I admit."); + 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."); + + // Nylo Quest + .@q=getq(CandorQuest_Marggo); + if (.@q < 1) + mes l("- The farmer Nylo, who loves beer and money, seems to be having troubles with his crops."); + + // Ship Quests + .@q1=getq(ShipQuests_Dan); + .@q2=getq(ShipQuests_ChefGado); + .@q3=getq(ShipQuests_Peter); + if (.@q1 < 3 || .@q2 < 2 || .@q3 < 7) + 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; + +function ExpBoost { + mesn; + mesq l("Hey there, @@! I see you are still a noob!", strcharinfo(0)); + next; + mesn; + mesq l("Well, I'll give you a hour of EXP RATE UP! How cool is that? Enjoy!"); + mesc l("This boost can be used until level 20."), 9; + next; + // Get the average level of top players to calculate EXP Boost + // Level 100 ("max") = 25% EXP BOOST (max) + // Current (2019-04-27) top is 80/80/75, meaning a 19% EXP Boost. + // New rules which give 2x exp boost + // Current (2019-08-31) top is 85/84/83, meaning a 42% EXP/DROP Boost. + .@BONUS=NewcomerEXPDROPUP(); + specialeffect FX_SPECIAL, SELF, getcharid(3); + mesc l("EXP Gain raised in @@% for one hour!", .@BONUS), 2; + return; +} + +OnInit: + .sex = G_MALE; + .distance = 5; + end; +} diff --git a/npc/002-3/mapflags.txt b/npc/002-3/mapflags.txt new file mode 100644 index 0000000..e274aa7 --- /dev/null +++ b/npc/002-3/mapflags.txt @@ -0,0 +1 @@ +002-3 mapflag nosave 000-1,22,22 diff --git a/npc/002-3/nard.txt b/npc/002-3/nard.txt new file mode 100644 index 0000000..56a6274 --- /dev/null +++ b/npc/002-3/nard.txt @@ -0,0 +1,407 @@ +// 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); + +L_Checker: + if (.@narrator) goto L_Travel; + if (getq(ShipQuests_Julia) >= 3) goto L_NotYet; + if (debug) goto L_TestServer; + // 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; + 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; + + select + lg("I feel ok."), + l("Who's this Juliet?"), + lg("I'm a bit sick..."); + mes ""; + switch (@menu) { + case 1: + mesn; + mesq l("Good to know."); + next; + break; + case 2: + mesn; + mesq lg("You have an awful case of amnesia. She is the nurse and shipkeeper of this ship, and took care of you when you were unconscious."); + next; + break; + case 3: + mesn; + mesq l("Well, you'll need to get used to. Being seasick is annoying, so you might want to leave the ship as soon as possible."); + next; + break; + } + +L_Main: + mesn; + mesq l("We have made a stop at a little island, before making it on to the port of Tulimshar."); + next; + mesn; + mesq l("Ship travels are not free. Also, I have a few friends on the Island, and I would like you to check out on them."); + next; + showavatar NPC_ELMO; + setcamnpc instance_npcname("Elmo"); + mesn l("Elmo"); + mesq l("I, Elmo, captain's deputy, will help you to make the maximum possible money in Candor!"); + mesc l("Elmo has given you an EXP UP and DROP UP Boost until level 20!"), 2; + mesc l("It also expires after two hours. In such case, talk to him again!"), 2; + // Actually, why don't we apply it right now...? + .@BONUS=NewcomerEXPDROPUP(); + specialeffect FX_SPECIAL, SELF, getcharid(3); + mesc l("EXP Gain raised in @@% for one hour!", .@BONUS), 2; + next; + showavatar NPC_NARD; + setcamnpc; + mesn; + mesq l("After that, we're going to Tulimshar. Tulim is the most important city on the world, and the Alliance have an office there."); + next; + mesn; + mesq l("The Alliance can help you in finding out about who you are, why you are here, or from where you came from. So, about the tasks I want completed."); + LOCATION$ = "Candor"; + setq ShipQuests_Julia, 3; + // Event handling + if ($EVENT$ == "Event") + getitem MercCard_EH, 1; + // Welcome handling + if (!#REG_DATE) { + $@WELCOME_TIMER=gettimetick(2)+900; // 15 minutes + kamibroadcast("Hey, look, I've rescued \""+strcharinfo(0)+"\" from the sea! Who will @welcome them?!", "Nard"); + #REG_DATE=gettimetick(2); + } + next; + .@price=800; + mesc b(l(".:: Main Quest 1-3 ::.")), 3; + msObjective(getq(CandorQuest_HAS) >= 4, l("* Help Ayasha to take care of the kids.")); + msObjective(getq(CandorQuest_Trainer) >= 12, l("* Get trained by Valon, in the big house.")); + msObjective(getq(CandorQuest_Barrel) >= 4, l("* Ask Zegas, the mayoress, if she needs help.")); + msObjective(Zeny >= .@price, l("* Collect @@/@@ GP", Zeny, .@price)); + +L_Referral: + // Welcome handling + if (!#REG_DATE) { + $@WELCOME_TIMER=gettimetick(2)+600; // 10 minutes + kamibroadcast("Hey, look, I've rescued \""+strcharinfo(0)+"\" from the sea! Who will @welcome them?!", "Nard"); + #REG_DATE=gettimetick(2); + } + // 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 down here!"), 3; + next; + mesc l("If this is not the case, just click on \"Send\"."), 3; + .@ref$=""; + do + { + input .@ref$; + //debugmes "Player invite: "+.@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_NeedHelp: + 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_NotYet; + +L_CandorIsland: + mes ""; + mesn; + mesq l("I come here frequently to trade. It is not deserted nor boring."); + next; + mesq l("This is ##BCandor Island##b. A very small rich community lives here."); + next; + mesq l("If they were any bigger, monsters would come and kill everyone."); + next; + goto L_NotYet; + +L_NotYet: + .@price=800; + mesc b(l(".:: Main Quest 1-1 ::.")), 3; + msObjective(getq(CandorQuest_HAS) >= 4, l("* Help Ayasha to take care of the kids.")); + msObjective(getq(CandorQuest_Trainer) >= 12, l("* Get trained by Valon, in the big house.")); + msObjective(getq(CandorQuest_Barrel) >= 4, l("* Ask Zegas, the mayoress, if she needs help.")); + msObjective(Zeny >= .@price, l("* Collect @@/@@ GP", Zeny, .@price)); + mes ""; + select + rif(Zeny >= .@price, l("I've brought the money you've asked for.")), + rif(#REFERRAL_PROG == 0 && $REFERRAL_ENABLED && BaseLevel <= 10, + l("I forgot to say earlier, but indeed, I was invited by someone!")), + l("Captain, why have you brought me to a deserted boring island?!"), + l("I don't want to help your \"friends\", bring me to somewhere useful!"), + l("Please excuse me, captain."); + + mes ""; + if (@menu == 2) + goto L_Referral; + if (@menu == 3) + goto L_CandorIsland; + if (@menu == 4) + goto L_NeedHelp; + if (@menu == 5) + close; + + mesn; + if (TUTORIAL && (getq(CandorQuest_HAS) < 4 || + getq(CandorQuest_Barrel) < 4 || + getq(CandorQuest_Trainer) < 12)) { + mesq l("You didn't help all my friends yet, and without trainment, I can't send you to such dangerous place as Tulimshar."); + mesc l("NOTE: It is possible to play the game as a crafter/merchant/fisherman, avoiding to kill as much as possible. However, it is not possible to play the game with a total kill count of zero."); + close; + } + // If you did less than 50% Candor quests, please be warned. + if (reputation("Candor") < 50) { + mesc l("WARNING: You have done less than 50% of Candor Quests!"), 1; + mesc l("It may be expensive to return here. Are you sure?"), 1; + next; + if (askyesno() == ASK_NO) + close; + } + if (Zeny >= .@price) { + inventoryplace TulimMap, 1; + mesq l("Ten, fifty, thousand... Yep, this is the amount I've asked for."); + next; + getvaultexp(10); + setq General_Narrator, 1; + // Double sure + setq ShipQuests_Julia, 3; + Zeny = Zeny-.@price; + EnterTown("Tulim"); + getitem TulimMap, 1; + mesq l("Set sail! We're going to Tulimshar!"); + next; + PC_DEST$="Tulim"; + addtimer nard_time(PC_DEST$)+800, .name$+"::OnNardStage"; + addtimer nard_time(PC_DEST$), "#NardShip::OnEvent"; + @timer_navio_running = 1; + warp "002-5", 39, 26; + closeclientdialog; + end; + } else { + mesq l("You still haven't completed your tasks."); + mes ""; + mesc l("You still need @@ GP for the trip to Tulimshar.", (.@price-Zeny)); + } + close; + +L_Travel: + // Current nard_reputation() value for 100% discount: 15 + .@price=800; + .@price-=min(780, nard_reputation()*54); + + 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 (ST_TIER == 8) + mesc l("What are you doing? Go talk to @@ and bring me a @@!", b("Elanore"), getitemlink(Lifestone)); + + if (Zeny >= .@price || ((ST_TIER == 7 || ST_TIER == 9) && gettimetick(2) < QUEST_ELEVARTEMPO)) { + menu + rif(Zeny >= .@price && LOCATION$ != "Candor", l("To Candor Island.")), L_TCandor, + rif(Zeny >= .@price && LOCATION$ != "Tulim", l("To Tulimshar.")), L_TTulim, + rif(Zeny >= .@price && LOCATION$ != "Artis" && $FIRESOFSTEAM && getq(General_Narrator) >= 20, l("To Artis.")), L_TArtis, + 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_TArtis: + Zeny=Zeny-.@price; + PC_DEST$="Artis"; + @timer_navio_running = 1; + + mes ""; + mesn; + mesq l("Artis, right? So Andrei Sakar summoned you?"); + next; + mesq l("Hahaha, good luck out there, my friend!"); + 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; + +OnNardStage: + showavatar NPC_NARD; // this is handled by avatars.xml + mesn; + mesq l("Welcome to Tulimshar, @@!", strcharinfo(0)); + mesc l("Nard gives you a map of the city so you don't get lost."); + next; + if (GSET_SOULMENHIR_MANUAL) { + 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; + } else { + mesn; + mesq l("If you die, you'll appear near Tulimshar's Soul Menhir, which is the nearest Menhir to you. You can use @@ if you ever want to change this behavior.", b("@ucp")); + 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!"); + tutmes l("PROTIP: Every quest you complete in a location, will make ship travels to and from them cheaper!"), "Protip", false; + next; + addtimer 2500, "Inac::OnShout"; + closeclientdialog; + close; + +L_TestServer: + mesc l("THIS IS MOUBOOTAUR LEGENDS TEST SERVER."), 1; + mesc l("Progress on this server may be %s.", b(l("lost forever"))), 1; + mes ""; + mesc l("Unless you know what you are doing, please go to Main Server instead."), 1; + mesc l("Main server is: %s", b("server.moubootaurlegends.org")), 2; + mes ""; + mesf "@@help://test-server|%s@@", l("more information about test server ->"); + next; + goto L_Main; + +L_Close: + close; + +OnInit: + .sex = G_MALE; + .distance = 5; + end; +} diff --git a/npc/002-3/note.txt b/npc/002-3/note.txt new file mode 100644 index 0000000..32cdf4d --- /dev/null +++ b/npc/002-3/note.txt @@ -0,0 +1,51 @@ +// TMW-2 Script. +// Evol scripts. +// Authors: +// gumi +// Qwerty Dragon +// Reid +// WildX +// Jesusalva +// Description: +// A small note presenting the rules and game-world release notes of TMW-2. + +002-3,40,25,0 script Note#johanne NPC_PAPER_NOTE,{ + narrator S_LAST_NEXT, + l("The La Johanne always have interesting notes."); + + do { + select + l("Read the News."), + l("Read the Rules."), + rif($EVENT$ != "", l("Event Information")), + l("Leave."); + + switch (@menu) { + case 1: + GameNews(); + break; + case 2: + GameRules(8 | 4); + break; + case 3: + EventHelp(); + break; + + } + } while (@menu != 4); + + + narrator S_NO_NPC_NAME, + l("Following these lines are some other writings on this paper."), + l("Do not give your password to anybody! Keep it secret and try not to use the same one anywhere else in the future. - Juliet"), + l("People from the press always know what is happening in the world. Talk to them to learn about the latest news! - Jerican from the Press"), + l("I love you, Silvia! - Swezanne"), + (!rand2(50) ? ("\"Come meager fire, and devastate spot!\" "+l("-- Grandmaster")) : ""), + l("Other things are written but are not legible anymore."); + + close; + +OnInit: + .distance = 2; + end; +} |