summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/000-0-0/chest.txt12
-rw-r--r--npc/000-0-0/sailors.txt201
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";