diff options
Diffstat (limited to 'lib/scpt/s_udun.lua')
-rw-r--r-- | lib/scpt/s_udun.lua | 180 |
1 files changed, 0 insertions, 180 deletions
diff --git a/lib/scpt/s_udun.lua b/lib/scpt/s_udun.lua deleted file mode 100644 index c4266239..00000000 --- a/lib/scpt/s_udun.lua +++ /dev/null @@ -1,180 +0,0 @@ --- handle the udun school - -DRAIN = add_spell -{ - ["name"] = "Drain", - ["school"] = {SCHOOL_UDUN, SCHOOL_MANA}, - ["level"] = 1, - ["mana"] = 0, - ["mana_max"] = 0, - ["fail"] = 20, - ["spell"] = function() - local ret, item, obj, o_name, add - - -- Ask for an item - ret, item = get_item("What item to drain?", "You have nothing you can drain", USE_INVEN, - function (obj) - if (obj.tval == TV_WAND) or (obj.tval == TV_ROD_MAIN) or (obj.tval == TV_STAFF) then - return TRUE - end - return FALSE - end - ) - - if ret == TRUE then - -- get the item - obj = get_object(item) - - add = 0 - if (obj.tval == TV_STAFF) or (obj.tval == TV_WAND) then - local kind = get_kind(obj) - - add = kind.level * obj.pval * obj.number - - -- Destroy it! - inven_item_increase(item, -99) - inven_item_describe(item) - inven_item_optimize(item) - end - if obj.tval == TV_ROD_MAIN then - add = obj.timeout - obj.timeout = 0; - - --Combine / Reorder the pack (later) - player.notice = bor(player.notice, PN_COMBINE, PN_REORDER) - player.window = bor(player.window, PW_INVEN, PW_EQUIP, PW_PLAYER) - end - increase_mana(add) - end - return TRUE - end, - ["info"] = function() - return "" - end, - ["desc"] = { - "Drains the mana contained in wands, staves and rods to increase yours", - } -} - -GENOCIDE = add_spell -{ - ["name"] = "Genocide", - ["school"] = {SCHOOL_UDUN, SCHOOL_NATURE}, - ["level"] = 25, - ["mana"] = 50, - ["mana_max"] = 50, - ["fail"] = 90, - ["stick"] = - { - ["charge"] = { 2, 2 }, - [TV_STAFF] = - { - ["rarity"] = 85, - ["base_level"] = { 1, 1 }, - ["max_level"] = { 5, 15 }, - }, - }, - ["spell"] = function() - local type - - type = 0 - if get_level(GENOCIDE) >= 10 then type = 1 end - if type == 0 then - genocide(TRUE) - return TRUE - else - if get_check("Genocide all monsters near you? ") == TRUE then - mass_genocide(TRUE) - else - genocide(TRUE) - end - return TRUE - end - end, - ["info"] = function() - return "" - end, - ["desc"] = { - "Genocides all monsters of a race on the level", - "At level 10 it can genocide all monsters near you" - } -} - -WRAITHFORM = add_spell -{ - ["name"] = "Wraithform", - ["school"] = {SCHOOL_UDUN, SCHOOL_CONVEYANCE}, - ["level"] = 30, - ["mana"] = 20, - ["mana_max"] = 40, - ["fail"] = 95, - ["inertia"] = { 4, 30 }, - ["spell"] = function() - return set_shadow(randint(30) + 20 + get_level(WRAITHFORM, 40)) - end, - ["info"] = function() - return "dur "..(20 + get_level(WRAITHFORM, 40)).."+d30" - end, - ["desc"] = { - "Turns you into an immaterial being", - } -} - -FLAMEOFUDUN = add_spell -{ - ["name"] = "Flame of Udun", - ["school"] = {SCHOOL_UDUN, SCHOOL_FIRE}, - ["level"] = 35, - ["mana"] = 70, - ["mana_max"] = 100, - ["fail"] = 95, - ["inertia"] = { 7, 15 }, - ["spell"] = function() - return set_mimic(randint(15) + 5 + get_level(FLAMEOFUDUN, 30), resolve_mimic_name("Balrog"), get_level(FLAMEOFUDUN)) - end, - ["info"] = function() - return "dur "..(5 + get_level(FLAMEOFUDUN, 30)).."+d15" - end, - ["desc"] = { - "Turns you into a powerful Balrog", - } -} - - --- Return the number of Udun/Melkor spells in a given book -function udun_in_book(sval, pval) - local i, y, index, sch, s - - i = 0 - - -- Hack if the book is 255 it is a random book - if sval == 255 then - school_book[sval] = {pval} - end - -- Parse all spells - for index, s in school_book[sval] do - for index, sch in __spell_school[s] do - if sch == SCHOOL_UDUN then i = i + 1 end - if sch == SCHOOL_MELKOR then i = i + 1 end - end - end - return i -end - --- Return the total level of spells -function levels_in_book(sval, pval) - local i, y, index, sch, s - - i = 0 - - -- Hack if the book is 255 it is a random book - if sval == 255 then - school_book[sval] = {pval} - end - - -- Parse all spells - for index, s in school_book[sval] do - i = i + __tmp_spells[s].level - end - return i -end |