blob: e047e928b351842ecaa9346bba9e8de7a687a205 (
plain) (
tree)
|
|
function|script|SoulMenhir
{
mes "[Soul Menhir]";
mes "(A mystical aura surrounds this stone. You feel mysteriously attracted to it. Something tells you to touch it. What do you do?)";
next;
menu
"Touch it.", L_Bind,
"Leave it alone.", L_Return,
"I lost my towel...", L_Towel;
L_Towel:
if (TowelLastUsed > (gettimetick(2) - 1800))
goto L_DontPanic;
callfunc "MultiWarpTowel";
set TowelLastUsed, gettimetick(2);
mes "[Soul Menhir]";
mes "(You touch the mysterious stone. Somehow it feels hard and soft at the same time.)";
next;
getitem "HitchhikersTowel", 1;
goto L_Return;
L_Bind:
if (Menhir_Activated == 1)
goto L_Shortversion;
mes "[Soul Menhir]";
mes "(You touch the mysterious stone. Somehow it feels warm and cold at the same time.)";
next;
mes "[Soul Menhir]";
mes "(Suddenly a strange sensation flows through you. It feels like your soul leaves your body and becomes one with the stone.)";
next;
mes "[Soul Menhir]";
mes "(As suddenly as the feeling started it stops. The strange attraction is away from one moment to the next and the menhir feels like just an ordinary stone.)";
next;
set Menhir_Activated, 1;
goto L_Save;
L_Shortversion:
mes "[Soul Menhir]";
mes "(A strange sensation flows through you. It feels like your soul leaves your body and becomes one with the stone. As suddenly as the feeling started it stops.)";
next;
goto L_Save;
L_Save:
if (@x == 0 && @y == 0)
goto L_FindPoint;
goto L_Do_Save;
L_DontPanic:
message strcharinfo(0), "(A strange barrier keeps you from touching the stone at this time.)";
goto L_Return;
L_Do_Save:
savepoint @map$, @x, @y;
goto L_Return;
L_FindPoint:
set @n, rand(getarraysize(@Xs));
set @x, @Xs[@n];
set @y, @Ys[@n];
goto L_Do_Save;
L_Return:
return;
}
|