From d97af20d1ac71ba79e6bcfd46b1753dc6737d266 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Wed, 11 Apr 2012 21:10:40 +0200 Subject: Lua: Move "Air" school spell functions to C --- lib/scpt/s_air.lua | 65 ++++++++++-------------------------------------------- 1 file changed, 12 insertions(+), 53 deletions(-) (limited to 'lib/scpt/s_air.lua') diff --git a/lib/scpt/s_air.lua b/lib/scpt/s_air.lua index afd1f584..7b585317 100644 --- a/lib/scpt/s_air.lua +++ b/lib/scpt/s_air.lua @@ -18,19 +18,8 @@ NOXIOUSCLOUD = add_spell ["max_level"] = { 25, 50 }, }, }, - ["spell"] = function() - local ret, dir, type - - ret, dir = get_aim_dir() - if ret == FALSE then return end - if get_level(NOXIOUSCLOUD, 50) >= 30 then type = GF_UNBREATH - else type = GF_POIS end - fire_cloud(type, dir, 7 + get_level(NOXIOUSCLOUD, 150), 3, 5 + get_level(NOXIOUSCLOUD, 40)) - return TRUE - end, - ["info"] = function() - return "dam "..(7 + get_level(NOXIOUSCLOUD, 150)).." rad 3 dur "..(5 + get_level(NOXIOUSCLOUD, 40)) - end, + ["spell"] = function() return air_noxious_cloud() end, + ["info"] = function() return air_noxious_cloud_info() end, ["desc"] = { "Creates a cloud of poison", "The cloud will persist for some turns, damaging all monsters passing by", @@ -57,17 +46,8 @@ AIRWINGS = add_spell }, }, ["inertia"] = { 1, 10 }, - ["spell"] = function() - if get_level(AIRWINGS, 50) >= 16 then - if player.tim_fly == 0 then return set_tim_fly(randint(10) + 5 + get_level(AIRWINGS, 25)) end - else - if player.tim_ffall == 0 then return set_tim_ffall(randint(10) + 5 + get_level(AIRWINGS, 25)) end - end - return FALSE - end, - ["info"] = function() - return "dur "..(5 + get_level(AIRWINGS, 25)).."+d10" - end, + ["spell"] = function() return air_wings_of_winds() end, + ["info"] = function() return air_wings_of_winds_info() end, ["desc"] = { "Grants the power of levitation", "At level 16 it grants the power of controlled flight" @@ -83,12 +63,8 @@ INVISIBILITY = add_spell ["mana_max"] = 20, ["fail"] = 50, ["inertia"] = { 1, 30 }, - ["spell"] = function() - if player.tim_invisible == 0 then return set_invis(randint(20) + 15 + get_level(INVISIBILITY, 50), 20 + get_level(INVISIBILITY, 50)) end - end, - ["info"] = function() - return "dur "..(15 + get_level(INVISIBILITY, 50)).."+d20 power "..(20 + get_level(INVISIBILITY, 50)) - end, + ["spell"] = function() return air_invisibility() end, + ["info"] = function() return air_invisibility_info() end, ["desc"] = { "Grants invisibility" } @@ -113,15 +89,8 @@ POISONBLOOD = add_spell }, }, ["inertia"] = { 1, 35 }, - ["spell"] = function() - local obvious = nil - if player.oppose_pois == 0 then obvious = set_oppose_pois(randint(30) + 25 + get_level(POISONBLOOD, 25)) end - if (player.tim_poison == 0) and (get_level(POISONBLOOD, 50) >= 15) then obvious = is_obvious(set_poison(randint(30) + 25 + get_level(POISONBLOOD, 25)), obvious) end - return obvious - end, - ["info"] = function() - return "dur "..(25 + get_level(POISONBLOOD, 25)).."+d30" - end, + ["spell"] = function() return air_poison_blood() end, + ["info"] = function() return air_poison_blood_info() end, ["desc"] = { "Grants resist poison", "At level 15 it provides poison branding to wielded weapon" @@ -147,13 +116,8 @@ THUNDERSTORM = add_spell }, }, ["inertia"] = { 2, 15 }, - ["spell"] = function() - if player.tim_thunder == 0 then return set_tim_thunder(randint(10) + 10 + get_level(THUNDERSTORM, 25), 5 + get_level(THUNDERSTORM, 10), 10 + get_level(THUNDERSTORM, 25)) end - return FALSE - end, - ["info"] = function() - return "dam "..(5 + get_level(THUNDERSTORM, 10)).."d"..(10 + get_level(THUNDERSTORM, 25)).." dur "..(10 + get_level(THUNDERSTORM, 25)).."+d10" - end, + ["spell"] = function() return air_thunderstorm() end, + ["info"] = function() return air_thunderstorm_info() end, ["desc"] = { "Charges up the air around you with electricity", "Each turn it will throw a thunder bolt at a random monster in sight", @@ -180,13 +144,8 @@ STERILIZE = add_spell ["max_level"] = { 20, 50 }, }, }, - ["spell"] = function() - set_no_breeders((30) + 20 + get_level(STERILIZE, 70)) - return TRUE - end, - ["info"] = function() - return "dur "..(20 + get_level(STERILIZE, 70)).."+d30" - end, + ["spell"] = function() return air_sterilize() end, + ["info"] = function() return air_sterilize_info() end, ["desc"] = { "Prevents explosive breeding for a while." } -- cgit v1.2.3 From d98a999477698bb0a304c4995df44f2b7ef5389d Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Tue, 29 May 2012 06:25:07 +0200 Subject: Lua: Convert all the spell metadata to C code (Yay automated translation!) --- lib/scpt/s_air.lua | 152 ----------------------------------------------------- 1 file changed, 152 deletions(-) delete mode 100644 lib/scpt/s_air.lua (limited to 'lib/scpt/s_air.lua') diff --git a/lib/scpt/s_air.lua b/lib/scpt/s_air.lua deleted file mode 100644 index 7b585317..00000000 --- a/lib/scpt/s_air.lua +++ /dev/null @@ -1,152 +0,0 @@ --- handle the air school - -NOXIOUSCLOUD = add_spell -{ - ["name"] = "Noxious Cloud", - ["school"] = {SCHOOL_AIR}, - ["level"] = 3, - ["mana"] = 3, - ["mana_max"] = 30, - ["fail"] = 20, - ["stick"] = - { - ["charge"] = { 5, 7 }, - [TV_WAND] = - { - ["rarity"] = 15, - ["base_level"] = { 1, 15 }, - ["max_level"] = { 25, 50 }, - }, - }, - ["spell"] = function() return air_noxious_cloud() end, - ["info"] = function() return air_noxious_cloud_info() end, - ["desc"] = { - "Creates a cloud of poison", - "The cloud will persist for some turns, damaging all monsters passing by", - "At spell level 30 it turns into a thick gas attacking all living beings" - } -} - -AIRWINGS = add_spell -{ - ["name"] = "Wings of Winds", - ["school"] = {SCHOOL_AIR, SCHOOL_CONVEYANCE}, - ["level"] = 22, - ["mana"] = 30, - ["mana_max"] = 40, - ["fail"] = 60, - ["stick"] = - { - ["charge"] = { 7, 5 }, - [TV_STAFF] = - { - ["rarity"] = 27, - ["base_level"] = { 1, 10 }, - ["max_level"] = { 20, 50 }, - }, - }, - ["inertia"] = { 1, 10 }, - ["spell"] = function() return air_wings_of_winds() end, - ["info"] = function() return air_wings_of_winds_info() end, - ["desc"] = { - "Grants the power of levitation", - "At level 16 it grants the power of controlled flight" - } -} - -INVISIBILITY = add_spell -{ - ["name"] = "Invisibility", - ["school"] = {SCHOOL_AIR}, - ["level"] = 16, - ["mana"] = 10, - ["mana_max"] = 20, - ["fail"] = 50, - ["inertia"] = { 1, 30 }, - ["spell"] = function() return air_invisibility() end, - ["info"] = function() return air_invisibility_info() end, - ["desc"] = { - "Grants invisibility" - } -} - -POISONBLOOD = add_spell -{ - ["name"] = "Poison Blood", - ["school"] = {SCHOOL_AIR}, - ["level"] = 12, - ["mana"] = 10, - ["mana_max"] = 20, - ["fail"] = 30, - ["stick"] = - { - ["charge"] = { 10, 15 }, - [TV_WAND] = - { - ["rarity"] = 45, - ["base_level"] = { 1, 25 }, - ["max_level"] = { 35, 50 }, - }, - }, - ["inertia"] = { 1, 35 }, - ["spell"] = function() return air_poison_blood() end, - ["info"] = function() return air_poison_blood_info() end, - ["desc"] = { - "Grants resist poison", - "At level 15 it provides poison branding to wielded weapon" - } -} - -THUNDERSTORM = add_spell -{ - ["name"] = "Thunderstorm", - ["school"] = {SCHOOL_AIR, SCHOOL_NATURE}, - ["level"] = 25, - ["mana"] = 40, - ["mana_max"] = 60, - ["fail"] = 60, - ["stick"] = - { - ["charge"] = { 5, 5 }, - [TV_WAND] = - { - ["rarity"] = 85, - ["base_level"] = { 1, 5 }, - ["max_level"] = { 25, 50 }, - }, - }, - ["inertia"] = { 2, 15 }, - ["spell"] = function() return air_thunderstorm() end, - ["info"] = function() return air_thunderstorm_info() end, - ["desc"] = { - "Charges up the air around you with electricity", - "Each turn it will throw a thunder bolt at a random monster in sight", - "The thunder does 3 types of damage, one third of lightning", - "one third of sound and one third of light" - } -} - -STERILIZE = add_spell -{ - ["name"] = "Sterilize", - ["school"] = {SCHOOL_AIR}, - ["level"] = 20, - ["mana"] = 10, - ["mana_max"] = 100, - ["fail"] = 50, - ["stick"] = - { - ["charge"] = { 7, 5 }, - [TV_STAFF] = - { - ["rarity"] = 20, - ["base_level"] = { 1, 10 }, - ["max_level"] = { 20, 50 }, - }, - }, - ["spell"] = function() return air_sterilize() end, - ["info"] = function() return air_sterilize_info() end, - ["desc"] = { - "Prevents explosive breeding for a while." - } -} -- cgit v1.2.3