// 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 lg("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 lg("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, 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_DrasilIsland; mes ""; mesn; mesq l("Oh! I like that sort of answer!"); next; mesq lg("We need manpower on the island... Oh forgive me, women are also welcome, of course.", "We need manpower 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 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 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 lg("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: .bodytype = BODYTYPE_3; .distance = 5; end; }