// Evol functions.
// Author:
// Reid
// Description:
// Various scripts used in walking mouboo NPCs.
function script moubootalk {
switch (rand(4))
{
case 0:
npctalkonce(l("Moooooo!"));
break;
case 1:
npctalkonce(l("Moo!"));
break;
case 2:
npctalkonce(l("Moooooooooooo!"));
break;
case 3:
npctalkonce(l("Moooo!"));
break;
}
return;
}
function script mouboocheckxy {
setarray .nearnpc$[0], "Mouboo#Artis0",
"Mouboo#Artis1",
"Mouboo#Artis2",
"Mouboo#Artis3",
"Taree";
for (.@size = 0; .@size < getarraysize(.nearnpc$); .@size++)
{
if (strcmp(.name$, .nearnpc$[.@size]) == 0)
{
continue;
}
.@npc_x = getvariableofnpc(.x, .nearnpc$[.@size]);
.@npc_y = getvariableofnpc(.y, .nearnpc$[.@size]);
if (.@npc_x == .x && .@npc_y == .y)
{
return 1;
}
}
return 0;
}
function script moubootimer {
if (mouboocheckxy() && !isunitwalking())
{
movetonextpoint;
}
else if (rand(0,6) == 5)
{
if (!isunitwalking())
{
movetonextpoint;
}
}
initnpctimer;
end;
}
function script mouboograph {
initmovegraph "down_pos", 66, 79, 75, 86,
"left_pos", 66, 79, 75, 86,
"up_pos", 66, 79, 75, 86,
"right_pos", 66, 79, 75, 86;
setmovegraphcmd "down_pos", "left_pos", 1, "dir 2",
"down_pos", "up_pos", 1, "dir 4",
"down_pos", "right_pos", 1, "dir 6",
"left_pos", "down_pos", 1, "dir 0",
"left_pos", "up_pos", 1, "dir 4",
"left_pos", "right_pos", 1, "dir 6",
"up_pos", "down_pos", 1, "dir 0",
"up_pos", "left_pos", 1, "dir 2",
"up_pos", "right_pos", 1, "dir 6",
"right_pos", "down_pos", 1, "dir 0",
"right_pos", "left_pos", 1, "dir 2",
"right_pos", "up_pos", 1, "dir 4";
firstmove "wait 2", "down_pos";
initnpctimer;
end;
}