diff options
Diffstat (limited to 'lib/mods/theme/scpt/s_mandos.lua')
-rw-r--r-- | lib/mods/theme/scpt/s_mandos.lua | 186 |
1 files changed, 0 insertions, 186 deletions
diff --git a/lib/mods/theme/scpt/s_mandos.lua b/lib/mods/theme/scpt/s_mandos.lua deleted file mode 100644 index cc7e346a..00000000 --- a/lib/mods/theme/scpt/s_mandos.lua +++ /dev/null @@ -1,186 +0,0 @@ --- Spells for the school of Mandos - -BOOK_MANDOS = 66 - --- precognition timer for high-level spell [from T-Plus by Ingeborg S. Norden] - -add_loadsave("tim_precognition",0) - -function set_precognition(v) - local notice = FALSE - if (v < 0) then v = 0 end - if (v > 10000) then v = 10000 end - - -- Check if the state will change - if (v > 0) and (tim_precognition == 0) then - msg_print("You feel able to predict the future.") - notice = TRUE - elseif (v == 0) and (tim_precognition > 0) then - msg_print("You feel less able to predict the future.") - notice = TRUE - end - - -- set the new value - tim_precognition = v - - if (notice == TRUE) then - player.update = bor(player.update, PU_BONUS) - disturb(0,0) - end - return notice -end - --- related hooks - -add_hooks{ - [HOOK_CALC_BONUS] = function() - if (tim_precognition > 0) then - --player.precognition = TRUE - apply_flags(0, 0, 0, TR4_PRECOGNITION, 0, 0, 0, 0, 0, 0, 0) - end - end, - - [HOOK_PROCESS_WORLD] = function() - if (tim_precognition > 0) then - set_precognition(tim_precognition - 1) - end - end, -} - --- "Tears of Luthien" based on Holy Word from T-Plus -MANDOS_TEARS_LUTHIEN = add_spell -{ - ["name"] = "Tears of Luthien", - ["school"] = {SCHOOL_MANDOS}, - ["level"] = 5, - ["mana"] = 10, - ["mana_max"] = 100, - ["fail"] = 25, - ["piety"] = TRUE, - ["stat"] = A_WIS, - ["random"] = SKILL_SPIRITUALITY, - ["spell"] = function() - local level = get_level(MANDOS_TEARS_LUTHIEN, 30) - local obvious = hp_player(10 * level) - obvious = is_obvious (set_stun(0), obvious) - obvious = is_obvious (set_cut(0), obvious) - obvious = is_obvious (set_afraid(0), obvious) - return obvious - end, - ["info"] = function() - local level = get_level(MANDOS_TEARS_LUTHIEN, 30) - return "heals "..(10 * level) - end, - ["desc"] = { - "Calls upon the spirit of Luthien to ask Mandos for healing and succour." - } -} - --- "Spirit of the Feanturi" based on Restore Mind from T-Plus -MANDOS_SPIRIT_FEANTURI = add_spell { - ["name"] = "Feanturi", - ["school"] = {SCHOOL_MANDOS}, - ["level"] = 10, - ["mana"] = 40, - ["mana_max"] = 200, - ["fail"] = 50, - -- Uses piety to cast - ["piety"] = TRUE, - ["stat"] = A_WIS, - ["random"] = SKILL_SPIRITUALITY, - ["spell"] = function() - local level = get_level(MANDOS_SPIRIT_FEANTURI, 50) - local obvious - obvious = set_afraid(0) - obvious = is_obvious(set_confused(0), obvious) - - if level >= 20 then - obvious = is_obvious(do_res_stat(A_WIS, TRUE), obvious) - obvious = is_obvious(do_res_stat(A_INT, TRUE), obvious) - end - - if level >= 30 then - obvious = is_obvious(set_image(0), obvious) - obvious = is_obvious(heal_insanity(player.msane * level / 100), obvious) - end - - return obvious - end, - - ["info"] = function() - local level = get_level(MANDOS_SPIRIT_FEANTURI, 50) - if level >= 20 then - return "heals "..level.."%" - else - return "" - end - end, - ["desc"] = { - "Channels the power of Mandos to cure fear and confusion.", - "At level 20 it restores lost INT and WIS", - "At level 30 it cures hallucinations and restores a percentage of lost sanity" - } -} - --- "Tale of Doom" based on Foretell from T-Plus -MANDOS_TALE_DOOM = add_spell -{ - ["name"] = "Tale of Doom", - ["school"] = {SCHOOL_MANDOS}, - ["level"] = 25, - ["mana"] = 60, - ["mana_max"] = 300, - ["stat"] = A_WIS, - ["fail"] = 75, - -- Uses piety to cast - ["piety"] = TRUE, - ["stat"] = A_WIS, - ["random"] = SKILL_SPIRITUALITY, - ["spell"] = function() - return set_precognition(5 + get_level(MANDOS_TALE_DOOM,10)) - end, - ["info"] = function() - return "dur "..(5 + get_level(MANDOS_TALE_DOOM,10)) - end, - ["desc"] = { - "Allows you to predict the future for a short time." - } -} - --- "Call to the Halls" based on Call Blessed Soul from T-Plus -MANDOS_CALL_HALLS= add_spell - -{ - ["name"] = "Call to the Halls", - ["school"] = {SCHOOL_MANDOS}, - ["level"] = 30, - ["mana"] = 80, - ["mana_max"] = 400, - ["fail"] = 95, - ["piety"] = TRUE, - ["stat"] = A_WIS, - ["random"] = SKILL_SPIRITUALITY, - ["spell"] = function() - local y, x, m_idx - local summons = - { - test_monster_name("Experienced spirit"), - test_monster_name("Wise spirit"), - } - y, x = find_position(player.py, player.px) - m_idx = place_monster_one(y, x, summons[rand_range(1, 2)], 0, FALSE, MSTATUS_FRIEND) - if m_idx ~= 0 then - monster_set_level(m_idx, 20 + get_level(MANDOS_CALL_HALLS, 70, 0)) - return TRUE - end - end, - - ["info"] = function() - return "level "..(get_level(MANDOS_CALL_HALLS, 70)) - end, - ["desc"] = { - "Summons a leveled spirit from the Halls of Mandos", - "to fight for you." - - } -}
\ No newline at end of file |