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
|
// TMW2 script.
// Author:
// Saulc
// Jesusalva
// Description:
// Colin, of Destructive Magic Class.
003-0,58,29,0 script Colin NPC_PLAYER,{
if (!MAGIC_LVL) goto L_NoMagic;
mes l(".:: Destructive Magic Class ::.");
mesc l("Specialized in destructive, magical skills.");
next;
mesn;
do {
mesc l("You have @@ magic skill points available.", sk_points());
next;
mesc l("Fireball - Basic AoE (Area Of Effect) Skill");
mesc l("Holy Light - Standard Holy Magical Attack");
mesc l("Magic Strike - Standard Magical Attack");
mesc l("Napalm Beat - Spammable AoE Skill");
mesc l("Frost Diver - Attempt to freeze an enemy, dealing damage");
mesc l("Fire Walk - Creates a trail of fire, harming any pursuer");
mesc l("Frost Nova - Freeze everything in a range");
mesc l("Note: You can exchange 1 @@ for 3 @@", getitemlink(GemPowder), getitemlink(Quill)), 1;
menuint
l("Fireball"), MG_FIREBALL,
l("Holy Light"), AL_HOLYLIGHT,
l("Magic Strike"), MG_SOULSTRIKE,
l("Napalm Beat"), MG_NAPALMBEAT,
l("Frost Diver"), MG_FROSTDIVER,
l("Fire Walk"), SO_FIREWALK,
l("Frost Nova"), WZ_FROSTNOVA,
rif(countitem(GemPowder), l("Exchange Gempowder for Quill")), -1,
l("Cancel"), 0;
mes "";
switch (@menuret) {
case -1:
inventoryplace Quill, 3;
delitem GemPowder, 1;
getitem Quill, 3;
break;
case MG_FIREBALL:
if (!mlearn(MG_FIREBALL, 5, 1, Quill, 1))
mesc l("You do not meet all requisites for this skill."), 1;
break;
case AL_HOLYLIGHT:
if (!mlearn(AL_HOLYLIGHT, 1, 1, Quill, 1))
mesc l("You do not meet all requisites for this skill."), 1;
break;
case MG_SOULSTRIKE:
if (!mlearn(MG_SOULSTRIKE, 10, 1, Quill, 1))
mesc l("You do not meet all requisites for this skill."), 1;
break;
case MG_NAPALMBEAT:
if (!mlearn(MG_NAPALMBEAT, 5, 2, Quill, 1))
mesc l("You do not meet all requisites for this skill."), 1;
break;
case MG_FROSTDIVER:
if (!mlearn(MG_FROSTDIVER, 7, 2, Quill, 1))
mesc l("You do not meet all requisites for this skill."), 1;
break;
case SO_FIREWALK:
if (!mlearn(SO_FIREWALK, 2, 2, Lockpicks, 1))
mesc l("You do not meet all requisites for this skill."), 1;
break;
case WZ_FROSTNOVA:
if (!mlearn(WZ_FROSTNOVA, 4, 3, Quill, 1))
mesc l("You do not meet all requisites for this skill."), 1;
break;
default:
if (@menuret)
Exception("ERROR skill not implemented", RB_DEFAULT|RB_SPEECH);
else
closeclientdialog;
break;
}
} while (@menuret);
close;
L_NoMagic:
next;
mesn;
mesq l("Your lack of magical power is critical. I dare say, you might never in your life get access to a Mana Stone.");
next;
mesn;
mesq l("Besides the Magic Council, Andrei Sakar have his own Mana Stone, but I doubt he would train the likes of you, or share his Mana Stone.");
next;
mesn;
mesq l("Perhaps, in the city, someone knows rumors about Mana Stones and can teach you. Other than that, you're on your own.");
close;
OnInit:
.@npcId = getnpcid(.name$);
setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
setunitdata(.@npcId, UDT_HEADMIDDLE, SorcererRobe);
setunitdata(.@npcId, UDT_HEADBOTTOM, JeansShorts);
setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
setunitdata(.@npcId, UDT_HAIRSTYLE, 21);
setunitdata(.@npcId, UDT_HAIRCOLOR, 20);
.sex = G_MALE;
.distance = 5;
end;
}
|