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
|
-- Handle Eru Iluvatar magic school
ERU_SEE = add_spell
{
["name"] = "See the Music",
["school"] = {SCHOOL_ERU},
["level"] = 1,
["mana"] = 1,
["mana_max"] = 50,
["fail"] = 20,
-- Uses piety to cast
["piety"] = TRUE,
["stat"] = A_WIS,
-- Unnafected by blindness
["blind"] = FALSE,
["random"] = SKILL_SPIRITUALITY,
["spell"] = function()
local obvious
obvious = set_tim_invis(randint(20) + 10 + get_level(ERU_SEE, 100))
if get_level(ERU_SEE) >= 30 then
wiz_lite_extra()
obvious = TRUE
elseif get_level(ERU_SEE) >= 10 then
map_area()
obvious = TRUE
end
if get_level(ERU_SEE) >= 20 then
obvious = is_obvious(set_blind(0), obvious)
end
return obvious
end,
["info"] = function()
return "dur "..(10 + get_level(ERU_SEE, 100)).."+d20"
end,
["desc"] = {
"Allows you to 'see' the Great Music from which the world",
"originates, allowing you to see unseen things",
"At level 10 it allows you to see your surroundings",
"At level 20 it allows you to cure blindness",
"At level 30 it allows you to fully see all the level"
}
}
ERU_LISTEN = add_spell
{
["name"] = "Listen to the Music",
["school"] = {SCHOOL_ERU},
["level"] = 7,
["mana"] = 15,
["mana_max"] = 200,
["fail"] = 25,
-- Uses piety to cast
["piety"] = TRUE,
["stat"] = A_WIS,
["random"] = SKILL_SPIRITUALITY,
["spell"] = function()
if get_level(ERU_LISTEN) >= 30 then
ident_all()
identify_pack()
return TRUE
elseif get_level(ERU_LISTEN) >= 14 then
identify_pack()
return TRUE
else
return ident_spell()
end
end,
["info"] = function()
return ""
end,
["desc"] = {
"Allows you to listen to the Great Music from which the world",
"originates, allowing you to understand the meaning of things",
"At level 14 it allows you to identify all your pack",
"At level 30 it allows you to identify all items on the level",
}
}
ERU_UNDERSTAND = add_spell
{
["name"] = "Know the Music",
["school"] = {SCHOOL_ERU},
["level"] = 30,
["mana"] = 200,
["mana_max"] = 600,
["fail"] = 50,
-- Uses piety to cast
["piety"] = TRUE,
["stat"] = A_WIS,
["random"] = SKILL_SPIRITUALITY,
["spell"] = function()
if get_level(ERU_UNDERSTAND) >= 10 then
identify_pack_fully()
return TRUE
else
return identify_fully()
end
end,
["info"] = function()
return ""
end,
["desc"] = {
"Allows you to understand the Great Music from which the world",
"originates, allowing you to know the full abilities of things",
"At level 10 it allows you to *identify* all your pack",
}
}
ERU_PROT = add_spell
{
["name"] = "Lay of Protection",
["school"] = {SCHOOL_ERU},
["level"] = 35,
["mana"] = 400,
["mana_max"] = 400,
["fail"] = 80,
-- Uses piety to cast
["piety"] = TRUE,
["stat"] = A_WIS,
["random"] = SKILL_SPIRITUALITY,
["spell"] = function()
return fire_ball(GF_MAKE_GLYPH, 0, 1, 1 + get_level(ERU_PROT, 2, 0))
end,
["info"] = function()
return "rad "..(1 + get_level(ERU_PROT, 2, 0))
end,
["desc"] = {
"Creates a circle of safety around you",
}
}
|