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
|
--dofile("./class_definitions.lua")
package.path = package.path .. ";./lua/?.lua" --Windows/Linux
package.path = package.path .. ";/usr/share/games/cataclysm-dda/lua/?.lua" --Linux(via make install)
package.path = package.path .. ";/storage/emulated/0/Android/data/com.cleverraven.cataclysmdda/files/lua/?.lua" --Android
package.path = package.path .. ";/storage/sdcard/Android/data/com.cleverraven.cataclysmdda/files/lua/?.lua" --Android (SD Card)
package.path = package.path .. ";/storage/sdcard0/Android/data/com.cleverraven.cataclysmdda/files/lua/?.lua" --Android (SD Card 0)
package.path = package.path .. ";/storage/sdcard1/Android/data/com.cleverraven.cataclysmdda/files/lua/?.lua" --Android (SD Card 1)
log = require("log")
log.init("./config/lua-log.log")
outdated_metatable = {
__index = function(userdata, key)
error("Attempt to access outdated gamedata.")
end,
__newindex = function(table, key, value)
error("Attempt to access outdated gamedata.")
end
}
-- table containing our mods
mods = { }
function mod_callback(callback_name, ...)
rval = nil
for modname, mod_instance in pairs(mods) do
if type(mod_instance[callback_name]) == "function" then
rval = mod_instance[callback_name](...)
end
end
return rval
end
function resolve_name(name)
local a = _G
for key in string.gmatch(name, "([^%.]+)(%.?)") do
if a[key] then
a = a[key]
else
return nil
end
end
return a
end
function function_exists(name)
return type(resolve_name(name)) == 'function'
end
function table_length(name)
local length = 0
if (name ~= nil) then
for _ in pairs(name) do
length = length + 1
end
end
return length
end
-- Constructs `time_duration` with given `int` value (which is number of turns).
function TURNS(turns)
if( function_exists( "game.get_time_duration" ) ) then
return game.get_time_duration( turns )
else
return nil
end
end
function MINUTES(turns)
if( function_exists( "game.get_time_duration" ) ) then
return game.get_time_duration( turns * 10 )
else
return nil
end
end
function HOURS(turns)
if( function_exists( "game.get_time_duration" ) ) then
return game.get_time_duration( turns * 10 * 60 )
else
return nil
end
end
function DAYS(turns)
if( function_exists( "game.get_time_duration" ) ) then
return game.get_time_duration( turns * 10 * 60 * 24 )
else
return nil
end
end
|