summaryrefslogtreecommitdiff
path: root/npc/000-2-3/nard.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/000-2-3/nard.txt')
-rw-r--r--npc/000-2-3/nard.txt341
1 files changed, 341 insertions, 0 deletions
diff --git a/npc/000-2-3/nard.txt b/npc/000-2-3/nard.txt
new file mode 100644
index 00000000..05630e05
--- /dev/null
+++ b/npc/000-2-3/nard.txt
@@ -0,0 +1,341 @@
+// Evol scripts.
+// Authors:
+// Qwerty Dragon
+// Reid
+// Description:
+// Captain Nard dialogs.
+// Nard does the introduction with a small quest.
+// This quest is meant to teach the player how to use a weapon,and to bring food to the ship.
+// 4 bits array:
+// ShipQuests
+// Variable:
+// 0 ShipQuests_Nard
+// 1 ShipQuests_Gugli
+// 2 ShipQuests_ChefGado
+// Values:
+// 00 Introduction of the boxes and Nard. This is displayed when the player never spoke to Nard or his box.
+// 01 Nard spoke and gave access to the outdoor of the ship.
+// 02 Completed the Gugli quest.
+// 03 ChefGado Quest accepted.
+// 04 ChefGado Quest completed and "Introduction" chapter finalized.
+// 05 Reward taken from the box.
+// 06 Intro finished
+// 10 Never talked with Gugli.
+// 11 Gugli gives you the task.
+// 12 Gave all of the boxes to Gugli.
+
+000-2-3,25,26,0 script Nard NPC_NARD,{
+ .@nard = getq(ShipQuests_Nard);
+ .@gugli = getq(ShipQuests_Gugli);
+ .@gado = getq(ShipQuests_ChefGado);
+
+L_Checker:
+ if (.@gado > 3 && .@nard == 3) goto L_ChefQuestComplete;
+ if (.@nard == 2) goto L_ChefQuestStart;
+ if (.@nard == 3) goto L_ChefQuestGiven;
+ if (.@nard == 4) goto L_Reward;
+ if (.@nard > 5) goto L_GoBackArtis;
+ if (.@nard > 4) goto L_Already;
+ if (.@gugli == 2) goto L_Done;
+ if (.@nard == 1) goto L_NotYet;
+
+ mesn;
+ mesq l("Hello.");
+ next;
+ mesq l("Let me introduce myself, I am Nard, captain of this ship.");
+ next;
+ mesq l("I am pleased to see that you have woken up and are active. Elmo came here to tell me this good news!");
+ next;
+
+ setcamnpc "Elmo";
+ mesn "Elmo";
+ mesq l("Oh... Err, yes I did, or, well, good day to you!");
+ next;
+ restorecam;
+
+ 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 Julia did a marvelous job! You look like you're in good health now.");
+ next;
+
+L_Menu:
+ menu
+ l("I feel ok."), L_Ok,
+ rif(islegacyaccount(), l("I only want to reach Artis, can we skip this?")), L_Skip,
+ l("Who's this Julia?"), L_Julia,
+ l("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_DrasilIsland;
+
+ mes "";
+ mesn;
+ mesq l("Oh! I like that sort of answer!");
+ next;
+ mesq l("We can use a helping hand on the island.");
+ next;
+
+ goto L_NeedContent;
+
+L_NeedHead:
+ mes "";
+ mesn;
+ mesq l("Of course there is a reward for your task.");
+ next;
+ mesq l("Hard work always pays off!");
+ next;
+ mesq l("What? It's not good enough?");
+ next;
+
+L_NeedContent:
+ mesq l("Our crew is like a family, and if you agree to help us, I would like to invite you to join our family!");
+ next;
+ mesq l("Hmm, I'll also give you one of these hats from the box near you, but only after you complete your task!");
+ next;
+ mesq l("Here, take this key, it opens all the doors on this ship.");
+ next;
+ mesq l("Now go outside and talk to Gugli, he'll tell you what we need.");
+ next;
+
+ inventoryplace JohanneKey, 1;
+
+ setq ShipQuests_Nard, 1;
+ getitem JohanneKey, 1;
+
+ close;
+
+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 Artis.");
+ 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_Julia:
+ 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 l("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 to give you a special task.");
+ next;
+
+ goto L_MenuQuest;
+
+L_DrasilIsland:
+ mes "";
+ mesn;
+ mesq l("To be honest, no, never.");
+ next;
+ mesq l("But discovering new territories is probably the best thing that can happen to sailors, don't you think?");
+ next;
+ mesq l("I'm really excited, this place reminds me of an ancient mythical tree, you might know what I'm talking about...");
+ emotion E_WINK;
+ next;
+ mesq l("As captain of this ship, I officially name this newly discovered land the ##BDrasil Island##b!");
+ next;
+ mesq l("Now, lets get back to business.");
+ next;
+
+ goto L_NeedContent;
+
+L_NotYet:
+ mesn;
+ mesq l("You still haven't completed your tasks.");
+ close;
+
+L_Done:
+ mesn;
+ mesq l("Hi @@.", strcharinfo(0));
+ next;
+ mesq l("Elmo and Gugli told me that you did all of the tasks outside, congrats!");
+
+ setq ShipQuests_Nard, 2;
+ next;
+ goto L_ChefQuestRedir;
+
+L_ChefQuestStart:
+ mesn;
+ mesq l("Elmo told me you are now considered family and are numbered among us in our activities on the island. I do so very much appreciate the efforts you did down there.");
+ next;
+
+L_ChefQuestRedir:
+ mesq l("Unfortunately, we still need help from you. This time it will be a delicate task, here onboard.");
+ next;
+ mesq l("Elmo brought reports to me about some frictions between my old and new lieutenants. You probably already met Julia and Chef Gado.");
+ next;
+ mesq l("They are each valued individuals and I need them both. In the past, I probably made my share of mistakes. I regret good management is so difficult. I was wondering if you could investigate and... Sort out this situation.");
+ next;
+
+ select
+ l("Of the two of them, who has 'good' on their side?");
+
+ mes "";
+ mesq l("I do not want to go pointing my finger at someone. I want to be honorable and fair, and I sense the same quality in you, so I put my trust in you. I am sure you will be able to judge and solve this troubling situation.");
+
+ setq ShipQuests_Nard, 3;
+
+ close;
+
+L_ChefQuestGiven:
+ mesn;
+ mesq l("It seems you still have some work to do.");
+
+ close;
+
+L_ChefQuestComplete:
+ mesn;
+ mesq l("Congratulations!");
+ next;
+ mesq l("You are now officially part of my crew! Thanks again for your help.");
+ next;
+ mesq l("Take your reward from the box next to my desk!");
+ next;
+
+ select
+ l("I will take it! Thank you captain!");
+
+ setq ShipQuests_Nard, 4;
+ getexp 50, 0;
+
+// Need to add a skill for the crew at this line.
+ mes "";
+
+L_Skip:
+ mesn;
+ mesq l("Oh noes! I can't believe it!");
+ next;
+ mesn;
+ mesq l("Well, I can bring you straight to Artis, but...");
+ next;
+ mesn;
+ mesc l("\"You will forsake items, quests and experience from the tuto-- %s from my whole crew and whatnot.\"", "##9"+l("*cough cough*")+"##1"), 1;
+ next;
+ mesn;
+ mesq l("Oh, and it is not only that.");
+ next;
+ mesn;
+ mesc l("\"This decision cannot be reverted. Which means you may have extreme difficulty and end up losing this char!\""), 1;
+ next;
+ mesn;
+ mesq l("And if that still wasn't enough to make you change your mind...");
+ next;
+ mesn;
+ mesc l("\"Deleting this char may (read: will) destroy the Legacy data associated to it!!\""), 1;
+ mesc l("i.e. Deleting the rEvolt char will delete the Legacy char associated to it. This includes levels and items."); // -- TRANSLATORS: i.e. = id est
+ next;
+ mesn;
+ mesq l("Are you absolutely, totally, certainly, completely sure, that you want a free, effortless ride to Artis, as weak and poorly equipped as you currently are?");
+ next;
+ mesc l("This decision cannot be reverted. Think with attention!"), 1;
+ select
+ l("Actually, lets do the tutorial."),
+ l("Lemme do Drasil Island!"),
+ l("YES, BRING ME TO ARTIS."),
+ l("I changed my mind.");
+ mes "";
+ if (@menu == 3) {
+ // Skip Drasil
+ setq ShipQuests_Julia, 2;
+ setq ShipQuests_Arpan, 3;
+ setq ShipQuests_Alige, 3;
+ setq ShipQuests_Peter, 15;
+ setq ShipQuests_Nard, 5; // NOTE: Completes the Beta
+ setq ShipQuests_Knife, 1;
+ setq ShipQuests_ArpanMoney, 3;
+ setq ShipQuests_Door, 1;
+ setq ShipQuests_Couwan, 2;
+ setq ShipQuests_TreasureChest, 1;
+ setq ShipQuests_Ale, 1;
+ setq ShipQuests_Astapolos, 1;
+ setq ShipQuests_Gulukan, 1;
+ setq ShipQuests_Jalad, 1;
+ setq ShipQuests_QMuller, 1;
+ setq ShipQuests_Tibbo, 1;
+ setq ShipQuests_Gugli, 2;
+ // Give Gado and Julia equal chances of winnning
+ setq ShipQuests_ChefGado, any(4,4,5,6);
+ // Automatically advance
+ mesc l("All Ship and Drasil Island Quests were auto-completed."), 1;
+ next;
+ goto L_Already;
+ }
+ mesn;
+ mesq l("Good! I was going to ask you if you wanted to help the crew search for some food and explore the island out there.");
+ next;
+ goto L_MenuQuest;
+
+L_Already:
+ speech
+ l("I recommend you to take a nap on the inferior level, we will soon leave this place.");
+
+ close;
+
+L_GoBackArtis:
+ checkclientversion;
+ speech S_LAST_NEXT,
+ l("Enough of this island?"),
+ l("Where would you like to go now?");
+ switch (select(l("Let's go to Artis."),
+ l("Tell me, where are we right now?"),
+ l("I would like to stay here a bit more.")))
+ {
+ case 1:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Let's set sail then!");
+
+ savepoint "001-2-22", 50, 38;
+ if (!getmapxy(.@map$, .@x, .@y, 0))
+ {
+ warp "001-2-24", .@x, .@y;
+ }
+ else
+ {
+ warp "001-2-24", 22, 27;
+ }
+
+ closeclientdialog;
+ close;
+
+ case 2:
+ closeclientdialog;
+ npctalk3 l("This is Drasil Island, I named it after an ancient mythical tree.");
+ close;
+
+ case 3:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Ok I stay here with my paperwork if you need my help.");
+
+ closeclientdialog;
+ close;
+ }
+
+L_Reward:
+ mesn;
+ mesq l("Hey! There's a reward for you in the box next to me!");
+
+ close;
+
+OnInit:
+ .distance = 5;
+ end;
+}