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",
}
}
|