summaryrefslogtreecommitdiff
path: root/npc/001-1/trees.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/001-1/trees.txt')
-rw-r--r--npc/001-1/trees.txt235
1 files changed, 235 insertions, 0 deletions
diff --git a/npc/001-1/trees.txt b/npc/001-1/trees.txt
new file mode 100644
index 000000000..cba42f8ff
--- /dev/null
+++ b/npc/001-1/trees.txt
@@ -0,0 +1,235 @@
+// Evol scripts.
+// Author:
+// Travolta
+// Description:
+// Invisible tree NPCs for "Lazy Brother" quest
+// Variables:
+// AtrilQuests_LazyBrother = 19 -- quest var
+// LazyBrother_TreesLeft = 15 -- how many trees left to search
+// LazyBrother_TreeSearched[15] -- whether given tree was searched
+// LazyBrother_TreeWithBrother -- the number of tree where he's hiding
+// Quest states:
+// 0 - quest not started
+// 1 - Katja asked help, searching the trees
+// 2 - Bobo is found, "bad" ending
+// 3 - player decided to tell Katja where her brother is
+// 4 - "good" ending, player helped Katja
+
+function script LazyBrotherTreeFunc {
+ .@q = getq(ArtisQuests_LazyBrother);
+ if (.@q == 0 || .@q >= 2)
+ return;
+ .@TreeNum = getarg(0);
+ if (LazyBrother_TreeWithBrother == .@TreeNum)
+ goto L_FoundHim;
+ if (LazyBrother_TreeWithBrother > 0)
+ {
+ mes l("You search the tree but don't find anybody.");
+ close2;
+ return;
+ }
+ if (LazyBrother_TreeSearched[.@TreeNum] == 1)
+ {
+ mes l("You already looked here.");
+ close2;
+ return;
+ }
+ else
+ {
+ LazyBrother_TreeSearched[.@TreeNum] = 1;
+ }
+ .@found = rand(1, LazyBrother_TreesLeft--);
+ if (.@found == 1)
+ {
+ mes l("You found him!");
+ LazyBrother_TreeWithBrother = .@TreeNum;
+ next;
+ }
+ else
+ {
+ mes l("You search the tree but don't find anybody.");
+ close2;
+ return;
+ }
+
+L_FoundHim:
+ mes l("You notice a young boy sitting on one of the highest branches of the tree.");
+ next;
+ mes l("He is eating an apple, thoroughly enjoying it.");
+ next;
+ select(l("Hey there, are you Bobo, Katja's brother?"));
+ mes "";
+ mesn "Bobo";
+ mesq l("Yes, it's me. It's such a fine view from here!");
+ next;
+ select(lg("Your sister sent me to find you. Your mother is worried."));
+ mes "";
+ mesn "Bobo";
+ mesq l("Oh, nooooo... If I go home now, my mum will give me chores.");
+ next;
+ mesq l("But if you tell my sister, that you didn't find me, I can stay here all day, eating apples and enjoying the view.");
+ next;
+ mesq l("I will give you my pocket money if you do.");
+ next;
+ switch (select(l("A small lie is really just a fib, and I could really use some cash..."),
+ l("I will not lie to a little girl! And your mother needs your help.")))
+ {
+ case 1:
+ mes "";
+ mesn "Bobo";
+ mesq l("Here you go.");
+ next;
+ mesn "Narrator";
+ mes l("Somehow you don't feel good about your deed.");
+ // Karma -= 2;
+ setq ArtisQuests_LazyBrother, 2;
+ Zeny += 100;
+ getexp 500, 0;
+ break;
+ case 2:
+ mes "";
+ mesn "Bobo";
+ mesq l("Okay... Tell my sister I'll go home soon.");
+ setq ArtisQuests_LazyBrother, 3;
+ break;
+ }
+ LazyBrother_TreesLeft = 0;
+ LazyBrother_TreeWithBrother = 0;
+ cleararray LazyBrother_TreeSearched,0,15;
+ close;
+}
+
+001-1,179,30,0 script #AtrilTree1 NPC_KATJA_TREE,{
+ LazyBrotherTreeFunc(1);
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+001-1,177,29,0 script #AtrilTree2 NPC_KATJA_TREE,{
+ LazyBrotherTreeFunc(2);
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+001-1,183,28,0 script #AtrilTree3 NPC_KATJA_TREE,{
+ LazyBrotherTreeFunc(3);
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+001-1,182,25,0 script #AtrilTree4 NPC_KATJA_TREE,{
+ LazyBrotherTreeFunc(4);
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+001-1,187,26,0 script #AtrilTree5 NPC_KATJA_TREE,{
+ LazyBrotherTreeFunc(5);
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+001-1,189,28,0 script #AtrilTree6 NPC_KATJA_TREE,{
+ LazyBrotherTreeFunc(6);
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+001-1,184,30,0 script #AtrilTree7 NPC_KATJA_TREE,{
+ LazyBrotherTreeFunc(7);
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+001-1,189,31,0 script #AtrilTree8 NPC_KATJA_TREE,{
+ LazyBrotherTreeFunc(8);
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+001-1,191,30,0 script #AtrilTree9 NPC_KATJA_TREE,{
+ LazyBrotherTreeFunc(9);
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+001-1,191,33,0 script #AtrilTree10 NPC_KATJA_TREE,{
+ LazyBrotherTreeFunc(10);
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+001-1,187,34,0 script #AtrilTree11 NPC_KATJA_TREE,{
+ LazyBrotherTreeFunc(11);
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+001-1,185,35,0 script #AtrilTree12 NPC_KATJA_TREE,{
+ LazyBrotherTreeFunc(12);
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+001-1,182,34,0 script #AtrilTree13 NPC_KATJA_TREE,{
+ LazyBrotherTreeFunc(13);
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+001-1,180,33,0 script #AtrilTree14 NPC_KATJA_TREE,{
+ LazyBrotherTreeFunc(14);
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+001-1,181,32,0 script #AtrilTree15 NPC_KATJA_TREE,{
+ LazyBrotherTreeFunc(15);
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}