summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/const.txt2
-rw-r--r--npc/022-1_Tulimshar/_import.txt1
-rw-r--r--npc/041-1/_import.txt1
-rw-r--r--npc/042-1/hasan.txt30
-rw-r--r--npc/042-1/kaan.txt6
-rw-r--r--npc/042-1/valon.txt19
-rw-r--r--npc/042-2/sorfina.txt15
-rw-r--r--npc/042-2/tanisha.txt6
8 files changed, 70 insertions, 10 deletions
diff --git a/db/const.txt b/db/const.txt
index 53ad97bd..30d988ee 100644
--- a/db/const.txt
+++ b/db/const.txt
@@ -255,7 +255,7 @@ FLAG_HAS_BOWLER_BURNSDAY 1 // every year's poem at burns day, shannon gives you
FLAG_OPENED_UNDERGROUND 2 // this flag is a replacement for variable Open_Underground_Palace_Barrier, which was used only as bool
FLAG_GOT_NAEM_GLOVES 4 // this replaces Naem_Quest_Done, which was used as a bool variable
FLAG_GOT_GRADUATIONCAP 8 // this is a bit which was to be found in Tut_var second bit
-
+FLAG_TUTORIAL_DONE 128 // player completed tutorial (or entered the tutorial area from outside after it was added)
DOCK_tulimshar 1
DOCK_hurnscald 2
DOCK_candor 3
diff --git a/npc/022-1_Tulimshar/_import.txt b/npc/022-1_Tulimshar/_import.txt
index f04f9443..8f72cbc0 100644
--- a/npc/022-1_Tulimshar/_import.txt
+++ b/npc/022-1_Tulimshar/_import.txt
@@ -6,3 +6,4 @@ npc: npc/022-1_Tulimshar/dock.txt
npc: npc/022-1_Tulimshar/elanore.txt
npc: npc/022-1_Tulimshar/ferry_master.txt
npc: npc/022-1_Tulimshar/mapflags.txt
+npc: npc/022-1_Tulimshar/tutorial.txt
diff --git a/npc/041-1/_import.txt b/npc/041-1/_import.txt
index ddd49583..736f2859 100644
--- a/npc/041-1/_import.txt
+++ b/npc/041-1/_import.txt
@@ -2,3 +2,4 @@
map: 041-1.gat
npc: npc/041-1/_mobs.txt
npc: npc/041-1/_warps.txt
+npc: npc/041-1/tutorial.txt
diff --git a/npc/042-1/hasan.txt b/npc/042-1/hasan.txt
index 21364a44..63acf2c0 100644
--- a/npc/042-1/hasan.txt
+++ b/npc/042-1/hasan.txt
@@ -4,6 +4,7 @@
if ($scorp) goto L_Fear;
+ if (FLAGS & FLAG_TUTORIAL_DONE) goto L_Tut_Done;
if (hasan == 4) goto L_Thank;
if (hasan == 3) goto L_Trick;
if (hasan > 0) goto L_Toll;
@@ -54,7 +55,11 @@ L_Pay:
mes "He grins gloatingly.";
mes "[Hasan]";
mes "\"Very well. You may pass.\"";
- //TODO: set variables
+ set hasan, 0;
+ set kaan, 0;
+ set sorfina, 0;
+ set tanisha, 0;
+ set FLAGS, FLAGS | FLAG_TUTORIAL_DONE;
close;
L_Cheat:
@@ -86,7 +91,11 @@ L_Thank:
mes "\"I tell you something: Cool persons are allowed to pass for free.";
mes "And you can have this.\"";
getitem "SharpKnife", 1;
- //TODO: clear all vars and set flag
+ set hasan, 0;
+ set kaan, 0;
+ set sorfina, 0;
+ set tanisha, 0;
+ set FLAGS, FLAGS | FLAG_TUTORIAL_DONE;
close;
L_Fear:
@@ -95,6 +104,14 @@ L_Fear:
mes "He seems close to tears.";
close;
+L_Tut_Done:
+ mes "[Hasan]";
+ if (baselevel >= 40)
+ mes "\"Welcome to the suburbs of Tulimshar. I wonder what an experienced adventurer like you is doing here.\"";
+ if (baselevel < 40)
+ mes "\"Bah, nothing interesting is happening here.\"";
+ close;
+
onScorpionDeath:
set $scorp, 0;
if (hasan != 3)
@@ -105,10 +122,15 @@ onScorpionDeath:
}
042-1.gat,117,76,0 script #barrier 127,2,2{
- //TODO: check variable
+ if (FLAGS & FLAG_TUTORIAL_DONE)
+ goto L_Tut;
warp "042-1.gat", 110, 73;
if ($scorp)
message strcharinfo(0), "Hasan: \"Please help me!\"";
- message strcharinfo(0), "Hasan: \"Stop!\"";
+ if (!$scorp)
+ message strcharinfo(0), "Hasan: \"Stop!\"";
+ end;
+L_Tut:
+ warp "022-1.gat", 23, 38;
end;
}
diff --git a/npc/042-1/kaan.txt b/npc/042-1/kaan.txt
index 4aec521d..19d05ea8 100644
--- a/npc/042-1/kaan.txt
+++ b/npc/042-1/kaan.txt
@@ -1,5 +1,6 @@
042-1.gat,105,72,0 script Kaan 160,{
+ if (FLAGS & FLAG_TUTORIAL_DONE) goto L_Tut_Done;
if (kaan == 4) goto L_Plan;
if (kaan == 3) goto L_Trick;
if (kaan == 2) goto L_Out;
@@ -115,6 +116,11 @@ L_Plan:
"No, everything's alright.",-;
close;
+L_Tut_Done:
+ mes "[Kaan]";
+ mes "\"Hi there. I hope you enjoy your time in Tulimshar.\"";
+ close;
+
L_Close:
close;
}
diff --git a/npc/042-1/valon.txt b/npc/042-1/valon.txt
index 02e91590..7605ae2b 100644
--- a/npc/042-1/valon.txt
+++ b/npc/042-1/valon.txt
@@ -1,8 +1,10 @@
042-1.gat,17,82,0 script Valon 156,2,1{
+ if (FLAGS & FLAG_TUTORIAL_DONE) goto L_Tut_Done;
+
mes "[Valon]";
- mes "\"Hello!\"";
- mes "\"You're looking for adventures, right?\"";
+ mes "\"Hello!";
+ mes "You're looking for adventures, right?\"";
next;
mes "\"But you shouldn't underestimate this desert, it is dangerous.\"";
next;
@@ -11,10 +13,23 @@
mes "\"If you really want to challenge the desert go to main Tulimshar first to prepare yourself.\"";
close;
+L_Tut_Done:
+ mes "[Valon]";
+ mes "\"Hello!";
+ mes "You're an adventurer, right?\"";
+ next;
+ mes "\"Be careful in the desert.\"";
+ close;
+
OnTouch:
+ if (FLAGS & FLAG_TUTORIAL_DONE)
+ goto L_Tut;
warp "042-1.gat", 17, 78;
mes "[Valon]";
mes "\"The desert is merciless.";
mes "I can't let you leave like this.\"";
close;
+L_Tut:
+ warp "041-1.gat", 33, 8;
+ end;
}
diff --git a/npc/042-2/sorfina.txt b/npc/042-2/sorfina.txt
index ab5dd9f5..67ae1a87 100644
--- a/npc/042-2/sorfina.txt
+++ b/npc/042-2/sorfina.txt
@@ -1,5 +1,6 @@
042-2.gat,28,26,0 script Sorfina 154,{
+ if (FLAGS & FLAG_TUTORIAL_DONE) goto L_Tut_Done;
if (sorfina == 2) goto L_Again;
if (sorfina == 1) goto L_Clothes;
@@ -194,7 +195,16 @@ L_SkipTut:
"Yeah, but thanks for the offer. Bye",-;
mes "[Sorfina]";
mes "\"If you think so. Good luck.\"";
- //TODO:set flag
+ set hasan, 0;
+ set kaan, 0;
+ set sorfina, 0;
+ set tanisha, 0;
+ set FLAGS, FLAGS | FLAG_TUTORIAL_DONE;
+ close;
+
+L_Tut_Done:
+ mes "[Sorfina]";
+ mes "\"Welcome. Please make yourself at home.\"";
close;
L_Close:
@@ -202,8 +212,7 @@ L_Close:
}
042-2.gat,45,31,0 script #DoorOut 127,2,2,{
-//TODO: check also flag for having finished the tutorial
- if (sorfina < 2) goto L_Block;
+ if ((sorfina < 2) && !(FLAGS & FLAG_TUTORIAL_DONE)) goto L_Block;
warp "042-1.gat", 62, 63;
end;
L_Block:
diff --git a/npc/042-2/tanisha.txt b/npc/042-2/tanisha.txt
index 8db46057..9ede30e3 100644
--- a/npc/042-2/tanisha.txt
+++ b/npc/042-2/tanisha.txt
@@ -1,6 +1,7 @@
//TODO: remove knife from beginning items
042-2.gat,37,90,0 script Tanisha 114,{
+ if (FLAGS & FLAG_TUTORIAL_DONE) goto L_Tut_Done;
if (tanisha == 3) goto L_Again;
if (tanisha == 2) goto L_Stats;
if (tanisha == 1) goto L_Maggots;
@@ -156,6 +157,11 @@ L_Blocked:
mes "\"Oh, someone else is already in there. Let's wait a short while.\"";
close;
+L_Tut_Done:
+ mes "[Tanisha]";
+ mes "\"This yucky maggots! They're eating our goods!\"";
+ close;
+
OnTimer1000:
setnpctimer 0;
if (getareausers("042-2.gat", 29, 85, 36, 90) < 1)