diff options
-rw-r--r-- | db/const.txt | 2 | ||||
-rw-r--r-- | npc/022-1_Tulimshar/_import.txt | 1 | ||||
-rw-r--r-- | npc/041-1/_import.txt | 1 | ||||
-rw-r--r-- | npc/042-1/hasan.txt | 30 | ||||
-rw-r--r-- | npc/042-1/kaan.txt | 6 | ||||
-rw-r--r-- | npc/042-1/valon.txt | 19 | ||||
-rw-r--r-- | npc/042-2/sorfina.txt | 15 | ||||
-rw-r--r-- | npc/042-2/tanisha.txt | 6 |
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) |