From 31f7e91e3051699c6845ecdd629bb2cab6fcd664 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Mon, 14 Jan 2019 15:21:42 -0200 Subject: Tutorial Island, and the redesign --- npc/000-0-0/chest.txt | 12 +-- npc/000-0-0/sailors.txt | 201 +++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 187 insertions(+), 26 deletions(-) diff --git a/npc/000-0-0/chest.txt b/npc/000-0-0/chest.txt index 8c332c844..2674400ac 100644 --- a/npc/000-0-0/chest.txt +++ b/npc/000-0-0/chest.txt @@ -17,16 +17,14 @@ .@questState = getq(ShipQuests_Arpan); - if (.@questState == 0) - { + if (.@questState == 0) { npctalk3 l("You should talk to Magic Arpan first."); end; } if (.busy == false) { - if (.@questState <= 1) - { + if (.@questState == 1) { inventoryplace CreasedShirt, 2; setq1 ShipQuests_Arpan, 2; getitem CreasedShirt, 1; @@ -48,15 +46,13 @@ OnTimer220: OnTimer500: .busy = false; // unlock - if (.dir == 0) - { + if (.dir == 0) { stopnpctimer; // stop here if the chest is closed } end; OnUnTouch: - if (getareausers(.x - 2, .y - 4, .x + 2, .y + 6) > 0 || .dir == 0) - { + if (getareausers(.x - 2, .y - 4, .x + 2, .y + 6) > 0 || .dir == 0) { end; } OnTimer30000: diff --git a/npc/000-0-0/sailors.txt b/npc/000-0-0/sailors.txt index fbef0f3c3..704a1374b 100644 --- a/npc/000-0-0/sailors.txt +++ b/npc/000-0-0/sailors.txt @@ -1,18 +1,22 @@ // TMW2 Script -// Modified by Jesusalva -// Evol scripts. // Authors: -// Ablu -// Qwerty Dragon // Jesusalva // Description: -// Introduction scene where two sailors talk about how the player was found on his raft. -// Elmo will handle dialogs between both NPCs. Modified for TMW2 by Jesusalva -// Translation -// FR translated -000-0-0,29,45,0 script Elmo#sailors NPC_ELMO,{ +// Tutorial -OnTalk: +000-0-0,29,35,0 script Elmo#sailors NPC_ELMO,{ + .@q = getq(ShipQuests_Arpan); + if (.@q == 0) goto L_Step0; + if (.@q == 1) goto L_Step1; + if (.@q == 2) goto L_Step2; + if (.@q == 3) goto L_Step3; + if (.@q == 4) goto L_Step4; + if (.@q == 5) goto L_Step5; + + goto L_Ready; + +// Tutorial not accepted +L_Step0: deltimer("Elmo#sailors::OnSlow"); setcamnpc; showavatar NPC_ELMO; @@ -29,28 +33,189 @@ OnTalk: next; goto L_Skip; } + savepoint "000-0-0", 30, 37; + setq1 ShipQuests_Arpan, 1; - // TODO +// Tutorial accepted +L_Step1: + showavatar NPC_MAGIC_ARPAN; + mesn l("Magic Arpan"); + mesq l("Let's start with something simple, yeye."); + next; + mesn l("Magic Arpan"); + mesq l("You can move using @@ or, at your choice, by clicking where you want to go.", b(l("arrow keys"))); + next; + setcamnpc "Chest#002-1"; + mesn l("Magic Arpan"); + mesq l("On mobile, the DPAD is at your left. Do you see the chest to my right?"); + next; + setcamnpc; + mesn l("Magic Arpan"); + mesq l("Go and talk to it."); + close; + +// Clothes taken +L_Step2: + showavatar NPC_MAGIC_ARPAN; + mesn l("Magic Arpan"); + mesq l("Yeye, very good, you took the clothes."); + next; +L_Step2Skip: + mesn l("Magic Arpan"); + mesq l("Equipping them is easy, you must open your inventory with @@ or clicking in @@, on the top right.", b(l("F3")), b(l("INV"))); + next; + mesn l("Magic Arpan"); + mesq l("Most of it should be pretty intuitive, but be sure to press @@ on the bottom-left of inventory screen.", b(l("Equip"))); + next; + mesn l("Magic Arpan"); + mesq l("Come talk to me once you manage to equip the shirt and the shorts!"); + setq1 ShipQuests_Arpan, 3; + close; + +// Clothes Check +L_Step3: + if (getequipid(equip_torso) < 0 || getequipid(equip_legs) < 0) + goto L_Step2Skip; + setcamnpc; + showavatar NPC_ELMO; + mesn "Elmo"; + mesq l("You learn fast, good job. These clothes aren't a mighty armor, but they'll help."); + next; + mesn "Elmo"; + mesq l("Let's jump straight to action, shall we? I'll spawn a mighty @@ to fight you!", getmonsterlink(Dummy)); + next; + mesn "Elmo"; + mesq l("On a computer, you can press @@ to attack it. On mobile, that would be the big button with the number 1.", b(l("Ctrl"))); + next; + mesn "Elmo"; + mesq l("Another way to attack it is clicking on it. Now, there are some things you must know before fighting this dangerous creature!"); + next; showavatar NPC_MAGIC_ARPAN; - mesn "Magic Arpan"; - mesq "bug report me tuto:89012"; + mesn l("Magic Arpan"); + mesq l("Yayaya, by pressing @@ or clicking in @@, you'll open your char status window!", b(l("F2")), b(l("STA"))); + next; + mesn l("Magic Arpan"); + mesq l("You should allocate some attributes to it. You need @@, @@ and @@, on this order of importance.", b(l("Agility")), b(l("Dexterity")), b(l("Strength"))); // b(l("")), + next; + mesn l("Magic Arpan"); + mesq l("Once you allocate status points, you can fight it! Good luck, @@!", strcharinfo(0)); + mesc l("WARNING: NO EXPERIENCE WILL BE CARRIED OVER FROM THIS FIGHT."), 1; + percentheal 100,100; + + // This is not really reliable, of course >.< + .@mct=mobcount("000-0-0", "Elmo#sailors::OnStep4"); + .@x=38; .@y=43; + .@x+=.@mct; + freeloop(true); + while (.@x > 43) { + .@x-=5; .@y+=1; + } + freeloop(false); + + if (.@y <= 47) + monster "000-0-0", 43, 44, l("@@ Dummy", strcharinfo(0)), Dummy, 1, "Elmo#sailors::OnStep4"; + setq1 ShipQuests_Arpan, 4; + close; - showavatar; - mesn "Narrator"; - mesc l("It seems like you're finally safe. You shut your eyes and fall asleep."); - mesc l("(Protip: Use ##Barrow keys##b to walk around once you wake up.)"); +L_Step4: + percentheal 100,100; + mesn "Elmo"; + mesq l("Did something happen?"); + mesc l("This is a menu, click on the option and then on send. You can use arrow keys if you prefer."); + mes ""; + select + l(">.< \"The Dummy is a real killer!\""), + l("T.T \"Someone else killed my Dummy!\""), + l("'.' \"I forgot how to allocate status!\""), + l("-.- \"I forgot how to fight!\""), + l("^.^ \"Nothing is wrong, don't worry!\""); + + mes ""; + switch (@menu) { + case 1: + mesn "Elmo"; + mesq l("Well, you clearly don't have a weapon. So, let me explain some quick."); + next; + mesn "Elmo"; + mesq l("Don't be afraid of death. Of course, in most places, dying will reduce your Experience."); + next; + mesn "Elmo"; + mesq l("But you don't have any experience at the moment, so what do you have to lose?"); + next; + mesn "Elmo"; + mesq l("Try killing it, and if it kills you, just come back from death to continue killing it."); + mes l("What I want to say is: Kill non-stop!"); + next; + mesc l("Actually, the Dummy don't fight back. Are you afraid?"); + break; + case 2: + .@mct=mobcount("000-0-0", "Elmo#sailors::OnStep4"); + if (.@mct) { + mesn "Elmo"; + mesq l("It was just south of the island. Try walking around a bit?"); + } else { + npctalk l("Hey, this Dummy is to @@ kill.", strcharinfo(0)); + monster "000-0-0", 43, 44, l("@@ Dummy", strcharinfo(0)), Dummy, 1, "Elmo#sailors::OnStep4"; + } + break; + case 3: + showavatar NPC_MAGIC_ARPAN; + mesn l("Magic Arpan"); + mesq l("Yayaya, by pressing @@ or clicking in @@, you'll open your char status window!", b(l("F2")), b(l("STA"))); + next; + mesn l("Magic Arpan"); + mesq l("You should allocate some attributes to it. You need @@, @@ and @@, on this order of importance.", b(l("Agility")), b(l("Dexterity")), b(l("Strength"))); // b(l("")), + break; + case 4: + mesn "Elmo"; + mesq l("On a computer, you can press @@ to attack it. On mobile, that would be the big button with the number 1.", b(l("Ctrl"))); + next; + mesn "Elmo"; + mesq l("Another way to attack it is clicking on it."); + break; + } + close; + +OnStep4: + dispbottom l("You free the world from an evil Dummy."); + setq1 ShipQuests_Arpan, 5; + end; + +L_Step5: + showavatar NPC_MAGIC_ARPAN; + mesn l("Magic Arpan"); + mesq l("Yayaya, good job! You can collect loot by pressing @@.", b("Z")); + next; + mesn l("Magic Arpan"); + mes l("I like to talk! If yeye likes too, you can press @@ to open chat box!", b(l("Enter"))); + mes l("On mobile, you would click on the @@ icon!", b(l("keyboard"))); + next; + mesn l("Magic Arpan"); + mesq l("The @@ tab allows yeye to talk on Discord, too! Yayaya, fancy, uh?", b("#world")); next; + mesn l("Magic Arpan"); + mesq l("Yeye can press @@ to sit, which will allow you to heal faster.", b("s")); + next; + showavatar NPC_ELMO; + mesn "Elmo"; + mesq l("You're ready. Let's head back to the ship before the sun sets, shall we?"); + next; + goto L_Ready; L_Skip: + setq1 ShipQuests_Arpan, 5; getitem CreasedShirt, 1; getitem CreasedShorts, 1; equip(CreasedShirt); equip(CreasedShorts); L_Ready: + //clearitem(); // The dummy don't drop anything :> + resetlvl(2); restorecam; - adddefaultskills; setq General_Narrator, 0; + adddefaultskills; + getitem PiouLegs, 1; // Tutorial Reward percentheal 100,100; addtimer(45000,"Magic Arpan::OnSlow"); LOCATION$ = "Candor"; -- cgit v1.2.3-60-g2f50