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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
// TMW2 Script
// Author:
// Jesusalva
// Description:
// The last Mana Stone in the whole world, which is not owned by the Magic Council
// or the Monster King.
// It actually hates (or rather, fears) everybody, and is not always willing to
// talk with people. May hide itself within the walls during these occasions.
// It may not hate some very specific things which are lore-related.
//
// Notes: During sieges, Monster King and Human Council apparitions, it may hide
// itself.
//
// Variables:
// $MANA_BINT => Base Intelligence for Mana Stone
// $MANA_BLVL => Base Level for Mana Stone
// $MANA_JLVL => Base Job Level for Mana Stone
// .int => Int Increment
// .lvl => Lvl Increment
// .jlvl => Jlv Increment
011-1,0,0,0 script Mana Stone NPC_MANA_STONE,{
if (BaseLevel < $MANA_BLVL) goto L_NotWorthy;
mesn;
mes l("The mighty Mana Stone does not reacts against you.");
mes l("Although this particular one seems to hate everyone and everything, it recognizes your strength.");
mes l("If you fell ready, perhaps you should touch it?");
mes "";
menu
l("Touch it!"), L_Level,
l("Take it!"), L_NotWorthy2,
l("Break it!"), L_NotWorthy2,
l("Leave it alone!"), -;
close;
L_NotWorthy2:
if (is_gm()) movenpc .name$, 20+rand(150), 20+rand(150);
if (is_gm()) close;
npctalk3 l("You are not worthy!");
percentheal -20, -50;
if (!MAGIC_LVL)
dispbottom l("I should train my intelligence, have full MP, and don't neglect even Job Level.");
end;
L_Level:
// See functions/util.txt for *mstone() details
if (mstone(0)) goto L_LevelUp;
if (mstone(1)) goto L_LevelUp;
if (mstone(2)) goto L_LevelUp;
if (mstone(3)) goto L_LevelUp;
if (mstone(4)) goto L_LevelUp;
if (mstone(5)) goto L_LevelUp;
if (mstone(6)) goto L_LevelUp;
if (MAGIC_LVL >= 7) npctalk3 l("You already got all power I could grant you!");
if (is_gm()) percentheal -20, -50;
if (MAGIC_LVL >= 7 || is_gm()) close;
L_NotWorthy:
if (readparam(Sp) != readparam(MaxSp))
dispbottom l("I must have full MP to touch it... Which I don't.");
else
dispbottom l("I should train my intelligence, and level up, both my base as my Job Level.");
npctalk3 l("You are not worthy!");
percentheal min(-10, -70+BaseLevel), min(-10, -100+BaseLevel);
end;
L_LevelUp:
mes "";
mes l("A great rush of mana flows though you.");
if (!MAGIC_LVL) mes l("Magic Power is granted to you, but you die from it.");
if (MAGIC_LVL) mes l("More Magic Power is granted to you, but you die from it.");
MAGIC_LVL = MAGIC_LVL+1;
sk_lvup(AL_DP);
// No penalty for death provoked by Mana Stone, see npc/001-8/hub.txt for more info
@deathpenalty_realvalue=readparam(BaseExp);
@deathpenalty_realvaljob=readparam(JobExp);
@deathpenalty_override=1;
percentheal -100, -100;
close;
OnInit:
movenpc .name$, 20+rand(150), 20+rand(150);
.sex = G_OTHER;
.distance = 6;
end;
OnClock0030:
OnClock0120:
OnClock0210:
OnClock0300:
OnClock0450:
OnClock0540:
OnClock0630:
OnClock0720:
OnClock0810:
OnClock0900:
OnClock1050:
OnClock1140:
OnClock1230:
OnClock1320:
OnClock1410:
OnClock1500:
OnClock1650:
OnClock1740:
OnClock1830:
OnClock1920:
OnClock2010:
OnClock2100:
OnClock2250:
OnClock2340:
npctalk "Those who are worthy, may get my magic. For the others, death awaits!";
movenpc .name$, 20+rand(150), 20+rand(150);
end;
}
|