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 143 144
|
-- Handle Manwe Sulimo magic school
MANWE_SHIELD = add_spell
{
["name"] = "Wind Shield",
["school"] = {SCHOOL_MANWE},
["level"] = 10,
["mana"] = 100,
["mana_max"] = 500,
["fail"] = 30,
-- Uses piety to cast
["piety"] = TRUE,
["stat"] = A_WIS,
["random"] = SKILL_SPIRITUALITY,
["spell"] = function()
local dur = get_level(MANWE_SHIELD, 50) + 10 + randint(20)
local obvious
obvious = set_protevil(dur)
if get_level(MANWE_SHIELD) >= 10 then
local type
type = 0
if get_level(MANWE_SHIELD) >= 20 then
type = SHIELD_COUNTER
end
obvious = is_obvious(set_shield(dur, get_level(MANWE_SHIELD, 30), type, 1 + get_level(MANWE_SHIELD, 2), 1 + get_level(MANWE_SHIELD, 6)), obvious)
end
return obvious
end,
["info"] = function()
local desc = "dur "..(get_level(MANWE_SHIELD, 50) + 10).."+d20"
if get_level(MANWE_SHIELD) >= 10 then
desc = desc.." AC "..(get_level(MANWE_SHIELD, 30))
end
if get_level(MANWE_SHIELD) >= 20 then
desc = desc.." dam "..(1 + get_level(MANWE_SHIELD, 2)).."d"..(1 + get_level(MANWE_SHIELD, 6))
end
return desc
end,
["desc"] = {
"It surrounds you with a shield of wind that deflects blows from evil monsters",
"At level 10 it increases your armour rating",
"At level 20 it retaliates against monsters that melee you",
}
}
MANWE_AVATAR = add_spell
{
["name"] = "Avatar",
["school"] = {SCHOOL_MANWE},
["level"] = 35,
["mana"] = 1000,
["mana_max"] = 1000,
["fail"] = 80,
-- Uses piety to cast
["piety"] = TRUE,
["stat"] = A_WIS,
["random"] = SKILL_SPIRITUALITY,
["spell"] = function()
return set_mimic(get_level(MANWE_AVATAR, 20) + randint(10), resolve_mimic_name("Maia"), player.lev)
end,
["info"] = function()
return "dur "..(get_level(MANWE_AVATAR, 20)).."+d10"
end,
["desc"] = {
"It turns you into a full grown Maia",
}
}
MANWE_BLESS = add_spell
{
["name"] = "Manwe's Blessing",
["school"] = {SCHOOL_MANWE},
["level"] = 1,
["mana"] = 10,
["mana_max"] = 100,
["fail"] = 20,
-- Uses piety to cast
["piety"] = TRUE,
["stat"] = A_WIS,
["random"] = SKILL_SPIRITUALITY,
["spell"] = function()
local dur = get_level(MANWE_BLESS, 70) + 30 + randint(40)
local obvious
obvious = set_blessed(dur)
obvious = is_obvious(set_afraid(0), obvious)
obvious = is_obvious(set_lite(0), obvious)
if get_level(MANWE_BLESS) >= 10 then
obvious = is_obvious(set_hero(dur), obvious)
end
if get_level(MANWE_BLESS) >= 20 then
obvious = is_obvious(set_shero(dur), obvious)
end
if get_level(MANWE_BLESS) >= 30 then
obvious = is_obvious(set_holy(dur), obvious)
end
return obvious
end,
["info"] = function()
return "dur "..(get_level(MANWE_BLESS, 70) + 30).."+d40"
end,
["desc"] = {
"Manwe's Blessing removes your fears, blesses you and surrounds you with",
"holy light",
"At level 10 it also grants heroism",
"At level 20 it also grants super heroism",
"At level 30 it also grants holy luck and life protection",
}
}
MANWE_CALL = add_spell
{
["name"] = "Manwe's Call",
["school"] = {SCHOOL_MANWE},
["level"] = 20,
["mana"] = 200,
["mana_max"] = 500,
["fail"] = 40,
-- Uses piety to cast
["piety"] = TRUE,
["stat"] = A_WIS,
["random"] = SKILL_SPIRITUALITY,
["spell"] = function()
local y, x, m_idx
y, x = find_position(player.py, player.px)
m_idx = place_monster_one(y, x, test_monster_name("Great eagle"), 0, FALSE, MSTATUS_FRIEND)
if m_idx ~= 0 then
monster_set_level(m_idx, 20 + get_level(MANWE_CALL, 70, 0))
return TRUE
end
end,
["info"] = function()
return "level "..(get_level(MANWE_CALL, 70) + 20)
end,
["desc"] = {
"Manwe's Call summons a Great Eagle to help you battle the forces",
"of Morgoth"
}
}
|