blob: 056058faa42b880e89594b5bc2accbc618fa7085 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
function script SoulMenhir {
mesn l("Soul Menhir");
mes l("(A mystical aura surrounds this stone. You feel mysteriously attracted to it. Something tells you to touch it. What do you do?)");
select
l("Touch it."),
l("Leave it alone."),
rif(!countitem(HitchhikersTowel), l("I lost my towel..."));
mes "";
if (@menu == 1) goto L_Bind;
if (@menu == 3) goto L_Towel;
return;
L_Towel:
if (TowelLastUsed > (gettimetick(2) - 1800))
goto L_DontPanic;
TowelLastUsed = gettimetick(2);
mesn l("Soul Menhir");
mes "(You touch the mysterious stone. Somehow it feels hard and soft at the same time.)";
getitembound HitchhikersTowel, 1, 4;
goto L_Return;
L_Bind:
if (Menhir_Activated == 1)
goto L_Shortversion;
mesn l("Soul Menhir");
mes "(You touch the mysterious stone. Somehow it feels warm and cold at the same time.)";
mes "(Suddenly a strange sensation flows through you. It feels like your soul leaves your body and becomes one with the stone.)";
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.)";
Menhir_Activated = 1;
goto L_Save;
L_Shortversion:
mesn l("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.)";
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:
@n = rand(getarraysize(@Xs));
@x = @Xs[@n];
@y = @Ys[@n];
goto L_Do_Save;
L_Return:
return;
}
|