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 145 146 147 148 149 150 151 152
|
-- handle the nature school
GROWTREE = add_spell
{
["name"] = "Grow Trees",
["school"] = {SCHOOL_NATURE, SCHOOL_TEMPORAL},
["level"] = 6,
["mana"] = 6,
["mana_max"] = 30,
["fail"] = 35,
["inertia"] = { 5, 50 },
["spell"] = function()
grow_trees(2 + get_level(GROWTREE, 7))
return TRUE
end,
["info"] = function()
return "rad "..(2 + get_level(GROWTREE, 7))
end,
["desc"] = {
"Makes trees grow extremely quickly around you",
}
}
HEALING = add_spell
{
["name"] = "Healing",
["school"] = {SCHOOL_NATURE},
["level"] = 10,
["mana"] = 15,
["mana_max"] = 50,
["fail"] = 45,
["stick"] =
{
["charge"] = { 2, 3 },
[TV_STAFF] =
{
["rarity"] = 90,
["base_level"] = { 1, 5 },
["max_level"] = { 20, 40 },
},
},
["spell"] = function()
return hp_player(player.mhp * (15 + get_level(HEALING, 35)) / 100)
end,
["info"] = function()
return "heal "..(15 + get_level(HEALING, 35)).."% = "..(player.mhp * (15 + get_level(HEALING, 35)) / 100).."hp"
end,
["desc"] = {
"Heals a percent of hitpoints",
}
}
RECOVERY = add_spell
{
["name"] = "Recovery",
["school"] = {SCHOOL_NATURE},
["level"] = 15,
["mana"] = 10,
["mana_max"] = 25,
["fail"] = 60,
["stick"] =
{
["charge"] = { 5, 10 },
[TV_STAFF] =
{
["rarity"] = 50,
["base_level"] = { 1, 5 },
["max_level"] = { 10, 30 },
},
},
["inertia"] = { 2, 100 },
["spell"] = function()
local obvious
obvious = set_poisoned(player.poisoned / 2)
if get_level(RECOVERY, 50) >= 5 then
obvious = is_obvious(set_poisoned(0), obvious)
obvious = is_obvious(set_cut(0), obvious)
end
if get_level(RECOVERY, 50) >= 10 then
obvious = is_obvious(do_res_stat(A_STR, TRUE), obvious)
obvious = is_obvious(do_res_stat(A_CON, TRUE), obvious)
obvious = is_obvious(do_res_stat(A_DEX, TRUE), obvious)
obvious = is_obvious(do_res_stat(A_WIS, TRUE), obvious)
obvious = is_obvious(do_res_stat(A_INT, TRUE), obvious)
obvious = is_obvious(do_res_stat(A_CHR, TRUE), obvious)
end
if get_level(RECOVERY, 50) >= 15 then
obvious = is_obvious(restore_level(), obvious)
end
return obvious
end,
["info"] = function()
return ""
end,
["desc"] = {
"Reduces the length of time that you are poisoned",
"At level 5 it cures poison and cuts",
"At level 10 it restores drained stats",
"At level 15 it restores lost experience"
}
}
REGENERATION = add_spell
{
["name"] = "Regeneration",
["school"] = {SCHOOL_NATURE},
["level"] = 20,
["mana"] = 30,
["mana_max"] = 55,
["fail"] = 70,
["inertia"] = { 4, 40 },
["spell"] = function()
if player.tim_regen == 0 then return set_tim_regen(randint(10) + 5 + get_level(REGENERATION, 50), 300 + get_level(REGENERATION, 700)) end
end,
["info"] = function()
return "dur "..(5 + get_level(REGENERATION, 50)).."+d10 power "..(300 + get_level(REGENERATION, 700))
end,
["desc"] = {
"Increases your body's regeneration rate",
}
}
SUMMONANNIMAL = add_spell
{
["name"] = "Summon Animal",
["school"] = {SCHOOL_NATURE},
["level"] = 25,
["mana"] = 25,
["mana_max"] = 50,
["fail"] = 90,
["stick"] =
{
["charge"] = { 1, 3 },
[TV_WAND] =
{
["rarity"] = 85,
["base_level"] = { 1, 5 },
["max_level"] = { 15, 45 },
},
},
["spell"] = function()
summon_specific_level = 25 + get_level(SUMMONANNIMAL, 50)
return summon_monster(player.py, player.px, dun_level, TRUE, SUMMON_ANIMAL)
end,
["info"] = function()
return "level "..(25 + get_level(SUMMONANNIMAL, 50))
end,
["desc"] = {
"Summons a leveled animal to your aid",
}
}
|