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
119
120
121
122
123
124
125
126
127
|
013-2.gat,66,39,0|script|Old Wizard#_W|116,
{
set @has_magic, getskilllv(SKILL_MAGIC);
set MAGIC_FLAGS, MAGIC_FLAGS | MFLAG_KNOWS_OLD_WIZARD;
mes "[Old Wizard]";
mes "\"Welcome, dear wanderer! Come into my humble home. Take a rest, eat and drink.\"";
next;
menu
"Thanks, that's very kind of you!", L_Thanks,
"Can you teach me magic?", L_TeachRude,
"Oh, shut up!", L_ShutUp;
L_TeachRude:
mes "[Old Wizard]";
mes "\"I certainly could, but I already have an apprentice.\"";
goto L_Close;
L_ShutUp:
mes "[Old Wizard]";
mes "\"That attitude isn't going to get you very far, my dear.\"";
goto L_Close;
L_Thanks:
mes "[Old Wizard]";
mes "\"Behind this door, my apprentice will serve you.\"";
next;
if (@has_magic)
menu
"Alright.", L_Agree,
"I am studying magic, can you help?", L_NewStudent,
"Your apprentice? ... No thanks.", L_Decline;
menu
"Alright.", L_Agree,
"Your apprentice? ... No thanks.", L_Decline;
L_Decline:
mes "[Old Wizard]";
mes "\"Goodbye, then!\"";
goto L_Close;
L_NewStudent:
mes "[Old Wizard]";
mes "\"Studying is always an excellent use of one's mind! I fear that I can't offer too much assistance to you, however. But if you are interested, I could perhaps teach you a simple spell?\"";
next;
// check if the player has the knowledge of any skill
if (getskilllv(SKILL_POOL))
menu
"That would be very kind of you!", L_TeachSpell,
"Actually I am looking for someone teaching me some more magic skills.", L_AstralSoul,
"No, but thank you!", L_Decline;
menu
"That would be very kind of you!", L_TeachSpell,
"No, but thank you!", L_Decline;
L_TeachSpell:
mes "[Old Wizard]";
mes "\"This one may not seem too powerful, but it can be quite handy; it's the 'hide' spell. It will shield you from some forms of detection magic.\"";
next;
mes "[Old Wizard]";
mes "\"Put a piece of cotton cloth on your head, and speak out '" + getspellinvocation("hide") + "', loudly and clearly. The protection lasts quite long, but you may have to renew it on occasion.\"";
next;
mes "[Old Wizard]";
mes "\"You can also cast it on others, of course. Just speak their name after you pronounce the invocation.\"";
next;
mes "[Old Wizard]";
mes "\"You may find it useful for getting a little peace and quiet at times, but it can also get in the way of friends trying to find you, so use it with care.\"";
next;
if (getskilllv(SKILL_MAGIC_ASTRAL) >= 2)
goto L_Close;
mes "[Old Wizard]";
mes "\"I'm not sure if you are experienced enough to cast it yet, though. You may need to first learn astral magic.\"";
goto L_Close;
L_AstralSoul:
mes "[Old Wizard]";
mes "\"Oh yes, there are lots of ways to improve your magic. Skills -some people say mental focus for that- are another way to improve your magic. Of course learning more and more spells is also a need for good mages.\"";
next;
mes "\"I can teach you the ability to focus on magical stuff.\"";
next;
mes "\"To do so, I am in need of a pearl and about 100 acorns.\"";
menu
"Here we go.", L_Next,
"Ok be right back. I'll get them", L_Decline;
L_Next:
if (countitem("Pearl") < 1 || countitem("Acorn") < 100) goto L_NotEnough;
delitem "Pearl", 1;
delitem "Acorn", 100;
mes "[Old Wizard]";
mes "\"Okay, listen:\"";
next;
mes "\"Some parts of your brain is still unused. These parts will now get the ability to get focused to magic.\"";
next;
mes "\"To do so, think of a magic spell!\"";
next;
mes "The old wizard mumbles some invocations";
next;
set @SUP_lvl, 1;
set @SUP_id, SKILL_ASTRAL_SOUL;
set @SUP_name$, "Astral Soul";
set @SUP_xp, 2500;
callfunc "SkillUp";
mes "\"Now go and try to find someone who can actually activate that focus.\"";
next;
mes "\"You have the powers to focus on magic, but you need to get magic focused now.\"";
goto L_Close;
L_NotEnough:
mes "[Old Wizard]";
mes "\"Please learn to count.\"";
next;
mes "\"When you are done with that, come back again.\"";
goto L_Close;
L_Agree:
mes "[Old Wizard]";
mes "\"Beware the flying notes though, some of them are really dangerous. I haven't been able to persuade them to get back into their book. And avoid the mirror, it's been acting strange lately.\"";
next;
mes "\"Oh, and please don't take my apprentice too seriously. He still has a lot to learn.\"";
goto L_Close;
L_Close:
set @has_magic, 0;
close;
}
|