// 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(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 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;
}