// Author:
// Crazyfefe
// Jesusalva (fixes)
005-1,52,81,0 script Ayasha NPC_HUMAN_FEMALE_NOOB,{
function quest_findAllKids
{
setq CandorQuest_HAS, 1;
speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
l("Good luck!");
close;
}
.@has = getq(CandorQuest_HAS);
if (.@has == 0)
{
speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
l("Hello! Can you help me to find all kids?");
do
{
select
l("Yes!"),
menuaction(l("I can't, sorry."));
switch (@menu)
{
case 1:
quest_findAllKids;
break;
}
} while (@menu != 2);
}
else if (.@has == 1)
{
speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
l("You still haven't found all of them yet.");
close;
}
else if (.@has == 2)
{
speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
l("Thank you, here is your reward.");
narrator("You receive 30 exp.");
getexp 30, 0;
setq CandorQuest_HAS, 3;
close;
}
else
{
speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
l("Thank you for your help.");
close;
}
//closedialog;
//goodbye;
close;
OnInit:
.sex = G_FEMALE;
.distance = 5;
end;
}
function script CheckEnfant {
@kids_count = 0;
@count_tmp = 0;
if (debug)
npctalk3 l("Hello, I am K-@@, of the @@ order.", @kids, $@KidsBits[@kids]);
if (STARTAREA & $@KidsBits[@kids])
goto L_Already;
STARTAREA = STARTAREA | $@KidsBits[@kids];
goto L_Loop;
L_KidsTally:
if (debug)
npctalk3 l("You found @@ out of @@ kids.", @kids_count, @count_tmp);
if (@kids_count == 6)
{
message strcharinfo(0), "That must have been the last kid.";
setq CandorQuest_HAS, 2;
}
speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
l("Oh! You found me. Well played!");
narrator("You receive 5 exp.");
getexp 5,0;
close;
return;
L_Loop:
while (@count_tmp < 6) {
if (STARTAREA & $@KidsBits[@count_tmp])
@kids_count = (@kids_count + 1);
@count_tmp = (@count_tmp + 1);
}
goto L_KidsTally;
L_Already:
mesn;
mesq l("Thanks for playing with us! Can you find my friends?");
close;
return;
}
005-1,69,90,0 script Charda NPC_GUARD1,{
@kids = 0;
if (getq(CandorQuest_HAS) == 1)
{
CheckEnfant();
} else {
mes l("The kid is not paying attention to you.");
close;
}
end;
OnInit:
// This works at same var from KidsBits. We start counting from 10, then.
setarray $@KidsBits, (1 << 10), (1 << 11), (1 << 12), (1 << 13), (1 << 14), (1 << 15);
.sex = G_OTHER;
.distance = 1;
end;
}
005-1,23,84,0 script Faris NPC_GUARD1,{
@kids = 1;
if (getq(CandorQuest_HAS) == 1)
{
CheckEnfant();
} else {
mes l("The kid is not paying attention to you.");
close;
}
end;
OnInit:
.sex = G_MALE;
.distance = 1;
end;
}
005-1,84,21,0 script Ghada NPC_HUMAN_M_ARTIS,{
@kids = 2;
if (getq(CandorQuest_HAS) == 1)
{
CheckEnfant();
} else {
mes l("The kid is not paying attention to you.");
close;
}
end;
OnInit:
.sex = G_MALE;
.distance = 1;
end;
}
005-1,38,58,0 script Latif NPC_HUMAN_M_ARTIS,{
@kids = 3;
if (getq(CandorQuest_HAS) == 1)
{
CheckEnfant();
} else {
mes l("The kid is not paying attention to you.");
close;
}
end;
OnInit:
.sex = G_MALE;
.distance = 1;
end;
}
005-1,18,43,0 script Rasin NPC_HUMAN_M_ARTIS,{
@kids = 4;
if (getq(CandorQuest_HAS) == 1)
{
CheckEnfant();
} else {
mes l("The kid is not paying attention to you.");
close;
}
end;
OnInit:
.sex = G_MALE;
.distance = 1;
end;
}
005-1,38,65,0 script Djinx NPC_GUARD1,{
@kids = 5;
if (getq(CandorQuest_HAS) == 1)
{
CheckEnfant();
} else {
mes l("The kid is not paying attention to you.");
close;
}
end;
OnInit:
.sex = G_MALE;
.distance = 1;
end;
}
005-1,53,81,0 script AyashaDebug NPC_MONA,{
showavatar NPC_MONA; // this is handled by avatars.xml
mesn;
mesq l("Reset?");
next;
menu
l("Yes."), L_Reset,
l("Test"), L_Charda,
l("No."), L_Close;
L_Reset:
setq CandorQuest_HAS, 0;
STARTAREA = STARTAREA &~ (1 << 10);
STARTAREA = STARTAREA &~ (1 << 11);
STARTAREA = STARTAREA &~ (1 << 12);
STARTAREA = STARTAREA &~ (1 << 13);
STARTAREA = STARTAREA &~ (1 << 14);
STARTAREA = STARTAREA &~ (1 << 15);
mes l("Reset!");
goto L_Close;
L_Charda:
STARTAREA = STARTAREA &~ (1 << 10);
mes l("Charda clean!");
goto L_Close;
L_Close:
//showavatar; // Use this to hide the showavatar
close;
// Use @shownpc to enable AyashaDebug
OnInit:
if (!debug)
disablenpc .name$;
end;
}