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
|
-- SYSTEM FILE
--
-- Lua player funtions
--
-- Gods
function deity(i)
return deity_info[1 + i]
end
-------- skill stuff ---------
-- Easy skill access
function skill(i)
return s_info[i + 1]
end
-- Sart a lasting spell
function player.start_lasting_spell(spl)
player.music_extra = -spl
end
-- stat mods
function player.modify_stat(stat, inc)
player.stat_add[1 + stat] = player.stat_add[1 + stat] + inc
end
-- powers mods
function player.add_power(pow)
player.powers[1 + pow] = TRUE
end
-- easier inventory access
function player.inventory(i)
return player.inventory_real[i + 1]
end
-- modify mana
-- returns TRUE if there is a pb
function increase_mana(amt)
player.csp = player.csp + amt
player.redraw = bor(player.redraw, PR_MANA)
if (player.csp < 0) then
player.csp = 0
return TRUE
end
if (player.csp > player.msp) then
player.csp = player.msp
end
return FALSE
end
-- Return the coordinates of the player whether in wild or not
function player.get_wild_coord()
if player.wild_mode == TRUE then
return player.py, player.px
else
return player.wilderness_y, player.wilderness_x
end
end
-- Create a new power
__power_fct = {}
function add_power(p)
local i
assert(p.name, "No power name!")
assert(p.desc, "No power desc!")
assert(p.desc_get, "No power desc get!")
assert(p.desc_lose, "No power desc lose!")
assert(p.stat, "No power stat!")
assert(p.level, "No power level!")
assert(p.cost, "No power cost!")
assert(p.fail, "No power fail!")
assert(p.power, "No power power!")
i = add_new_power(p.name, p.desc, p.desc_get, p.desc_lose, p.level, p.cost, p.stat, p.fail)
__power_fct[i] = p.power
return i
end
function __power_fct_activate(power)
if __power_fct[power] then
__power_fct[power]()
return TRUE
else
return FALSE
end
end
-- Register in the hook list
add_hook_script(HOOK_ACTIVATE_POWER, "__power_fct_activate", "__power_fct_activate")
--- Mkeys
-- Create a new power
__mkey_fct = {}
function add_mkey(p)
local i
assert(p.mkey, "No mkey mkey!")
assert(p.fct, "No mkeey fct!")
__mkey_fct[p.mkey] = p.fct
end
function __mkey_fct_activate(power)
if __mkey_fct[power] then
__mkey_fct[power]()
return TRUE
else
return FALSE
end
end
-- Register in the hook list
add_hook_script(HOOK_MKEY, "__mkey_fct_activate", "__mkey_fct_activate")
-- Subraces
function subrace(racem)
return race_mod_info[racem + 1]
end
function subrace_add_power(subrace, power)
for i = 1, 4 do
if subrace.powers[i] == -1 then
subrace.powers[i] = power
return not nil
end
end
return nil
end
|