// Evol scripts.
// Author:
// Toams
// Description:
// helper scripts for rowboat usage
// Notes:
// Curious Hole bypass the cutscenes
// calling the Rowboat
001-1,200,60,0 script Curious Hole NPC_NO_SPRITE,{
.@q = getq(General_Narrator);
mesc l("You see a curious hole behind some rocks.");
next;
mesn strcharinfo(0);
mesq l("Hey, anyone there?");
next;
mesc l("...");
next;
if (.@q < 2)
{
mesc l("Altough you can't get rid of the feeling someone is listening on the other side, you don't get any replies.");
close;
}
else
{
narrator(S_LAST_BLANK_LINE | S_LAST_NEXT,
l("Suddenly you remember the strange phrase Mona overheard Sophialla saying"),
l("Maybe you should try this phrase?"));
if (askyesno() == ASK_YES)
{
mesn strcharinfo(0);
mesc l("Sagratha is great.");
next;
if (getvariableofnpc(.caller, "#Rowboat")) {
// Can you use it, or is it in grace time?
if (getvariableofnpc(.clocks, "#Rowboat") > gettimetick(2)) {
mesn;
mesq l("Please be patient. Someone else is using the rowboat right now.");
close;
}
// Rowboat already there, so change owner
mesn;
mesq l("Hello, a rowboat is already on the beach. You can use it.");
set(getvariableofnpc(.caller, "#Rowboat"), getcharid(3));
set(getvariableofnpc(.clocks, "#Rowboat"), gettimetick(2)+15);
close;
}
// Rowboat is at hideout, send it to you
speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
l("Hello, a rowboat is on his way to the beach. Please wait for a while for it to arrive.");
set(getvariableofnpc(.caller, "#Rowboat"), getcharid(3));
set(getvariableofnpc(.clocks, "#Rowboat"), gettimetick(2)+30);
doevent("#Rowboat::OnMoveToBeach");
close;
}
else
close;
}
OnInit:
.distance = 1;
}
// UNUSED
//unmounting the rowboat at eastern beach
001-1,202,62,0 script unmountrowboateast NPC_HIDDEN,1,1,{
function UnMount {
narrator(S_LAST_BLANK_LINE | S_LAST_NEXT,
l("Do you want to leave the boat?"));
if (askyesno() == ASK_YES)
{
slide_or_warp("001-1", 199, 62);
setmount 0;
close;
}
}
OnTouch:
UnMount;
end;
OnInit:
.bodytype = BODYTYPE_1;
.distance = 1;
}
//unmounting the rowboat at southern beach
001-1,68,143,0 script unmountrowboatsouth NPC_HIDDEN,1,1,{
function UnMount {
narrator(S_LAST_BLANK_LINE | S_LAST_NEXT,
l("Do you want to leave the boat?"));
if (askyesno() == ASK_YES)
{
slide_or_warp("001-1", 68, 138);
setmount 0;
close;
}
}
OnTouch:
UnMount;
end;
OnInit:
.bodytype = BODYTYPE_1;
.distance = 1;
}
//unmounting the rowboat at western beach
001-1,25,101,0 script unmountrowboatwest NPC_HIDDEN,1,1,{
function UnMount {
narrator(S_LAST_BLANK_LINE | S_LAST_NEXT,
l("Do you want to leave the boat?"));
if (askyesno() == ASK_YES)
{
slide_or_warp("001-1", 27, 101);
setmount 0;
close;
}
}
OnTouch:
UnMount;
end;
OnInit:
.bodytype = BODYTYPE_1;
.distance = 1;
}
function script ForcedUnmount {
setmount 0;
return;
}