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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
029-2,105,57,0 script MorganDebug NPC355,{
mes "[Morgan Debug]";
mes "Reset?";
menu
"Yes.", L_Reset,
"No.", L_End;
L_Reset:
QL_MORGAN = 0;
mes "Reset!";
goto L_End;
L_End:
end;
OnInit:
if (!debug)
disablenpc "MorganDebug";
end;
}
029-2,101,57,0 script Morgan#_M NPC355,{
callfunc "PCtoNPCRange";
if(@npc_check) end;
if (readparam(bInt) >= 5)
goto L_Learn;
goto L_NotMagic;
L_Learn:
if (QL_MORGAN == 0)
goto L_NotSeen;
if (QL_MORGAN == 1)
goto L_Seen;
if (QL_MORGAN == 2)
goto L_Started;
if (QL_MORGAN == 3)
goto L_CastOnce;
if (QL_MORGAN == 4)
goto L_LearningDone;
goto L_close;
L_NotSeen:
QL_MORGAN = 1;
mes "[Morgan]";
mes "\"Welcome to the magic school of Candor\"";
mes "\"My name is Morgan, I'm Head of Wizardry.\"";
mes "\"You appear to have the markings to use magic.\"";
mes "\"Granted you are still to young to cast spells.\"";
mes "\"But we can teach you to use simple magic devices.\"";
mes "\"Would you like to learn some apprentice skills?\"";
menu
"Yes.", L_Start,
"Maybe later", L_close;
L_Seen:
mes "[Morgan]";
mes "\"Have you returned to learn some magic?\"";
menu
"Yes.", L_Start,
"Maybe later", L_close;
L_NotMagic:
mes "[Morgan]";
mes "\"Hrmm you don't appear to posses enough magical talent to teach.\"";
goto L_close;
L_Start:
mesn;
mesq l("Great, lets begin your first lesson.");
next;
mesn;
mesq l("This is a wand, there are many like it but this one is now yours.");
getitem Wand, 1;
learnskill SKILL_CONFRINGO;
QL_MORGAN = 2;
next;
mesn;
mesq l("Various wands and staffs are found throughout the land with many different strengths and weaknesses.");
next;
mesq l("To use the wand you need to have it equipped and speak the incantation to let it tap into your mana.");
next;
mesn;
mesq l("As the power of your magic grows so will the spells you can cast.");
mesq l("Lets start with a basic wand attack: %s.", b("confringo"));
next;
mesn;
mesq l("Equip the wand and lets try out that spell.");
mesc l("To cast a spell open the skill window, select the spell you wish to use, and press the %s button.", b(l("Use")));
next;
mesn;
mesq l("It might be a good idea to drag the spell to the shortcut window, so you can target and attack using your keyboard instead of mouse.");
next;
mesn;
mesq l("Speak to me again once you've cast the spell.");
goto L_close;
L_Started:
mes "[Morgan]";
mes "\"Lets start with a basic wand attack. " + b("confringo") + "\"";
mes "\"Equip the wand and lets try out that spell.\"";
mes "\"To cast a spell open the chat window, type the invocation and press enter.\"";
mes "\"Speak to me again once you've cast the spell.\"";
goto L_close;
L_CastOnce:
mes "[Morgan]";
mes "\"Ok, good job! Looks like you have good mana flow.\"";
mes "\"Onto the next lesson. Now that you have " + b("confringo") + " cast,\"";
mes "\"Each time you attack the wand will convert a bit of you mana into a magic bolt.\"";
mes "\"After so many attacks, you will need to recast the invocation to stay attuned to the wand.\"";
mes "\"(Logging out will also cancel any spell effects currently active in-game.).\"";
next;
mes "\"I've taught you all I can for now. You should visit the Mana Seed north west of Hurnscald.\"";
QL_MORGAN = 4;
goto L_close;
L_LearningDone:
mes "[Morgan]";
mes "\"" + b("confringo") + " is a basic wand attack.\"";
mes "\"A Wand must be equipped to use the spell.\"";
mes "\"To cast a spell open the chat window, type the invocation and press enter.\"";
mes "\"I've taught you all I can for now. You should visit the Mana Seed north west of Hurnscald.\"";
learnskill SKILL_CONFRINGO;
goto L_close;
L_close:
close;
}
029-2,113,59,0 script Zitoni NPC103,{
shop .name$;
goodbye;
close;
OnInit:
tradertype(NST_ZENY);
sellitem CactusDrink;
sellitem CactusPotion;
sellitem TinyManaElixir, 50;
sellitem SmallManaElixir, 100;
.distance = 5;
end;
}
|