diff options
author | Bardur Arantsson <bardur@scientician.net> | 2010-01-08 20:28:34 +0100 |
---|---|---|
committer | Bardur Arantsson <bardur@scientician.net> | 2010-01-08 23:46:06 +0100 |
commit | 6aa48afdd57d03314fdf4be6c9da911c32277c84 (patch) | |
tree | 2dc401f9aae2dc6736d2fc3811c8f8099d3eabe6 /lib/core/objects.lua |
Import tome-2.3.5.
Diffstat (limited to 'lib/core/objects.lua')
-rw-r--r-- | lib/core/objects.lua | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/lib/core/objects.lua b/lib/core/objects.lua new file mode 100644 index 00000000..97320b82 --- /dev/null +++ b/lib/core/objects.lua @@ -0,0 +1,45 @@ +-- SYSTEM FILE +-- +-- Lua object funtions +-- + +function create_object(tval, sval) + local obj = new_object() + object_prep(obj, lookup_kind(tval, sval)) + return (obj) +end + +function set_item_tester(tester) + if tolua.type(tester) == "number" then + lua_set_item_tester(tester, "") + end + if tolua.type(tester) == "string" then + lua_set_item_tester(0, tester) + end + if tolua.type(tester) == "function" then + __get_item_hook_default = tester + lua_set_item_tester(0, "__get_item_hook_default") + end +end + +function create_artifact(a_idx) + local obj + local tval, sval + + tval = a_info[a_idx + 1].tval + sval = a_info[a_idx + 1].sval + obj = create_object(tval, sval) + obj.name1 = a_idx + apply_magic(obj, -1, TRUE, TRUE, TRUE) + + return (obj) +end + +function get_kind(obj) + return k_info[obj.k_idx + 1] +end + +function get_item(ask, deny, flags, mask) + set_item_tester(mask) + return get_item_aux(0, ask, deny, flags) +end |