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
|
-- Handle Tulkas magic school
TULKAS_AIM = add_spell
{
["name"] = "Divine Aim",
["school"] = {SCHOOL_TULKAS},
["level"] = 1,
["mana"] = 30,
["mana_max"] = 500,
["fail"] = 20,
-- Uses piety to cast
["piety"] = TRUE,
["stat"] = A_WIS,
["random"] = SKILL_SPIRITUALITY,
["spell"] = function()
local dur = get_level(TULKAS_AIM, 50) + randint(10)
local obvious
obvious = set_strike(dur)
if get_level(TULKAS_AIM) >= 20 then
obvious = is_obvious(set_tim_deadly(dur), obvious)
end
return obvious
end,
["info"] = function()
return "dur "..(get_level(TULKAS_AIM, 50)).."+d10"
end,
["desc"] = {
"It makes you more accurate in combat",
"At level 20 all your blows are critical hits",
}
}
TULKAS_WAVE = add_spell
{
["name"] = "Wave of Power",
["school"] = {SCHOOL_TULKAS},
["level"] = 20,
["mana"] = 200,
["mana_max"] = 200,
["fail"] = 75,
-- Uses piety to cast
["piety"] = TRUE,
["stat"] = A_WIS,
["random"] = SKILL_SPIRITUALITY,
["spell"] = function()
local ret, dir = get_aim_dir()
if ret == FALSE then return end
return fire_bolt(GF_ATTACK, dir, get_level(TULKAS_WAVE, player.num_blow))
end,
["info"] = function()
return "blows "..(get_level(TULKAS_WAVE, player.num_blow))
end,
["desc"] = {
"It allows you to project a number of melee blows across a distance",
}
}
TULKAS_SPIN = add_spell
{
["name"] = "Whirlwind",
["school"] = {SCHOOL_TULKAS},
["level"] = 10,
["mana"] = 100,
["mana_max"] = 100,
["fail"] = 45,
-- Uses piety to cast
["piety"] = TRUE,
["stat"] = A_WIS,
["random"] = SKILL_SPIRITUALITY,
["spell"] = function()
return fire_ball(GF_ATTACK, 0, 1, 1)
end,
["info"] = function()
return ""
end,
["desc"] = {
"It allows you to spin around and hit all monsters nearby",
}
}
|