summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorJoseph Botosh <rumly111@gmail.com>2015-08-23 00:52:30 +0300
committerJoseph Botosh <rumly111@gmail.com>2015-08-26 00:50:34 +0300
commit19459f204040ce070f77086a8349af117bf081c5 (patch)
treecf485e9ac8303d7692d87f03c4ad3aea41f0e156 /npc
parent7bdfbe681e9748d658bd554526352face086331c (diff)
downloadserverdata-19459f204040ce070f77086a8349af117bf081c5.tar.gz
serverdata-19459f204040ce070f77086a8349af117bf081c5.tar.bz2
serverdata-19459f204040ce070f77086a8349af117bf081c5.tar.xz
serverdata-19459f204040ce070f77086a8349af117bf081c5.zip
Katja quest
Diffstat (limited to 'npc')
-rw-r--r--npc/001-1/_import.txt1
-rw-r--r--npc/001-1/katja.txt112
-rw-r--r--npc/001-1/trees.txt236
3 files changed, 339 insertions, 10 deletions
diff --git a/npc/001-1/_import.txt b/npc/001-1/_import.txt
index ac82acba..69685a36 100644
--- a/npc/001-1/_import.txt
+++ b/npc/001-1/_import.txt
@@ -23,3 +23,4 @@ npc: npc/001-1/taree.txt
npc: npc/001-1/treeleaf.txt
npc: npc/001-1/trozz.txt
npc: npc/001-1/xilaxa.txt
+npc: npc/001-1/trees.txt
diff --git a/npc/001-1/katja.txt b/npc/001-1/katja.txt
index bd422140..aad2641e 100644
--- a/npc/001-1/katja.txt
+++ b/npc/001-1/katja.txt
@@ -1,32 +1,124 @@
// Evol scripts.
-// Author:
+// Authors:
// Reid
+// Travolta
// Description:
// Little girl playing around the hill on top of the port.
+// She wants you to find her brother.
+// 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
001-1,164,44,0 script Katja#001-1 NPC_RAIJIN_GIRL,{
+
+ function QuestReminder {
+ setcam 5920, 960;
+ mesq l("Remember, you have to find my brother on the hill to the east from here");
+ next;
+ mesq l("He is probably hiding on one of the trees. Go close to each tree and look up, otherwise you won't notice him.");
+ next;
+ restorecam;
+ }
+
+ .@q = getq(ArtisQuests_LazyBrother);
mesn;
mesq l("Hey");
next;
- mesq l("You look funny, do you want to play with me?");
-
- switch (select("Of course!:What game do you want to play?:I don't have much time right now."))
+ switch(.@q)
{
+ case 0:
+ mesq l("You look nice, do you want to help me?");
+ break;
case 1:
+ mesq l("Hi, how is it going?");
+ next;
+ select l("Remind me, what should I do?");
+ mes "";
+ mesn;
+ QuestReminder;
+ close;
+ case 2:
+ mesq l("I still didn't find my brother...");
+ close;
+ case 3:
+ mesq l("Did you find my brother?");
+ next;
+ select(l("Yes, and he promised to be home soon"));
+ mes "";
+ mesn;
+ mesq l("Oh thank you so much!");
+ next;
+ mesq l("Please take this lollypop for your help. Mum sais they are bad for my teeth anyway (FIXME)");
+ setq ArtisQuests_LazyBrother, 4;
+ getitem 509, 1;
+ getexp 500, 0;
+ close;
+ case 4:
+ mesq l("Thank you again for your help!");
+ close;
+ }
+ next;
+ switch (select(l("Of course!"),
+ l("What kind of help do you need?"),
+ l("I don't have much time right now.")))
+ {
+ case 1:
+ mes "";
+ mesn;
+ mesq l("Great!");
+ next;
+ // emote *epic*
break;
case 2:
-
+ mes "";
+ mesn;
break;
case 3:
-
- break;
+ mes "";
+ mesn;
+ mesq l("Okay, I'll be here, if you change your mind.");
+ close;
}
- goto L_Close;
+L_Story:
+ mesq l("Mommy sent me to find my brother Bobo.");
+ next;
+ mesq l("He said he is going to climb the highest hill in Artis, which is not far from here.");
+ next;
+ mesq l("Our mommy doesn't allow us to go there, because it's dangerous. But he doesn't listen!");
+ next;
+ mesq l("Can you please go there and find him? He is probably hiding on one of those trees, like always.");
+ next;
+ mesq l("Because of the dense foliage on the trees you need to go close to them not to miss him.");
+ next;
-L_Close:
- close;
+ switch (select(l("I will find him, don't worry!"),
+ l("Highest hill in Artis, you say? Sounds dangerous, I might fall off.")))
+ {
+ case 1:
+ mes "";
+ mesn;
+ mesq l("Thank you!");
+ mes "";
+ QuestReminder;
+ setq ArtisQuests_LazyBrother, 1;
+ LazyBrother_TreesLeft = 15;
+ close;
+ case 2:
+ mes "";
+ mesn;
+ mesq l("Awwww, what will I do now?");
+ close;
+ }
OnInit:
setnpcsex G_FEMALE;
diff --git a/npc/001-1/trees.txt b/npc/001-1/trees.txt
new file mode 100644
index 00000000..e375f071
--- /dev/null
+++ b/npc/001-1/trees.txt
@@ -0,0 +1,236 @@
+// 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, apparently 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 beautiful view from here!");
+ next;
+ select(l("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 homework.");
+ 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 so.");
+ next;
+ switch (select(l("A small lie isn't a lie, 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_NO_SPRITE,{
+ LazyBrotherTreeFunc(1);
+ end;
+OnInit:
+ setnpcsex G_OTHER;
+ setnpcdistance 1;
+ end;
+}
+
+001-1,177,29,0 script #AtrilTree2 NPC_NO_SPRITE,{
+ LazyBrotherTreeFunc(2);
+ end;
+OnInit:
+ setnpcsex G_OTHER;
+ setnpcdistance 1;
+ end;
+}
+
+001-1,183,28,0 script #AtrilTree3 NPC_NO_SPRITE,{
+ LazyBrotherTreeFunc(3);
+ end;
+OnInit:
+ setnpcsex G_OTHER;
+ setnpcdistance 1;
+ end;
+}
+
+001-1,182,25,0 script #AtrilTree4 NPC_NO_SPRITE,{
+ LazyBrotherTreeFunc(4);
+ end;
+OnInit:
+ setnpcsex G_OTHER;
+ setnpcdistance 1;
+ end;
+}
+
+001-1,187,26,0 script #AtrilTree5 NPC_NO_SPRITE,{
+ LazyBrotherTreeFunc(5);
+ end;
+OnInit:
+ setnpcsex G_OTHER;
+ setnpcdistance 1;
+ end;
+}
+
+001-1,189,28,0 script #AtrilTree6 NPC_NO_SPRITE,{
+ LazyBrotherTreeFunc(6);
+ end;
+OnInit:
+ setnpcsex G_OTHER;
+ setnpcdistance 1;
+ end;
+}
+
+001-1,184,30,0 script #AtrilTree7 NPC_NO_SPRITE,{
+ LazyBrotherTreeFunc(7);
+ end;
+OnInit:
+ setnpcsex G_OTHER;
+ setnpcdistance 1;
+ end;
+}
+
+001-1,189,31,0 script #AtrilTree8 NPC_NO_SPRITE,{
+ LazyBrotherTreeFunc(8);
+ end;
+OnInit:
+ setnpcsex G_OTHER;
+ setnpcdistance 1;
+ end;
+}
+
+001-1,191,30,0 script #AtrilTree9 NPC_NO_SPRITE,{
+ LazyBrotherTreeFunc(9);
+ end;
+OnInit:
+ setnpcsex G_OTHER;
+ setnpcdistance 1;
+ end;
+}
+
+001-1,191,33,0 script #AtrilTree10 NPC_NO_SPRITE,{
+ LazyBrotherTreeFunc(10);
+ end;
+OnInit:
+ setnpcsex G_OTHER;
+ setnpcdistance 1;
+ end;
+}
+
+001-1,187,34,0 script #AtrilTree11 NPC_NO_SPRITE,{
+ LazyBrotherTreeFunc(11);
+ end;
+OnInit:
+ setnpcsex G_OTHER;
+ setnpcdistance 1;
+ end;
+}
+
+001-1,185,35,0 script #AtrilTree12 NPC_NO_SPRITE,{
+ LazyBrotherTreeFunc(12);
+ end;
+OnInit:
+ setnpcsex G_OTHER;
+ setnpcdistance 1;
+ end;
+}
+
+001-1,182,34,0 script #AtrilTree13 NPC_NO_SPRITE,{
+ LazyBrotherTreeFunc(13);
+ end;
+OnInit:
+ setnpcsex G_OTHER;
+ setnpcdistance 1;
+ end;
+}
+
+001-1,180,33,0 script #AtrilTree14 NPC_NO_SPRITE,{
+ LazyBrotherTreeFunc(14);
+ end;
+OnInit:
+ setnpcsex G_OTHER;
+ setnpcdistance 1;
+ end;
+}
+
+001-1,181,32,0 script #AtrilTree15 NPC_NO_SPRITE,{
+ LazyBrotherTreeFunc(15);
+ end;
+OnInit:
+ setnpcsex G_OTHER;
+ setnpcdistance 1;
+ end;
+}