Initial commit
This commit is contained in:
193
devtools/create_ultima/files/ultima6/scripts/se/init.lua
Normal file
193
devtools/create_ultima/files/ultima6/scripts/se/init.lua
Normal file
@@ -0,0 +1,193 @@
|
||||
local lua_file = nil
|
||||
|
||||
--load common functions
|
||||
lua_file = nuvie_load("common/common.lua"); lua_file();
|
||||
|
||||
function dbg(msg_string)
|
||||
--io.stderr:write(msg_string)
|
||||
end
|
||||
|
||||
function load_game()
|
||||
end
|
||||
|
||||
function save_game()
|
||||
end
|
||||
|
||||
local g_tile_to_object_map = {
|
||||
-- Trees
|
||||
[50] = 5000, [51] = 5000, [64] = 5000, [65] = 5000, [66] = 5000,
|
||||
[67] = 5000, [68] = 5000, [69] = 5000, [70] = 5000, [71] = 5000,
|
||||
[72] = 5000, [192] = 5000, [193] = 5000, [194] = 5000, [195] = 5000,
|
||||
[198] = 5000, [179] = 5000, [180] = 5000, [130] = 5000,
|
||||
-- Oven Fire
|
||||
[16] = 5001, [17] = 5001, [18] = 5001, [19] = 5001, [20] = 5001,
|
||||
[21] = 5001, [22] = 5001, [23] = 5001, [24] = 5001, [25] = 5001,
|
||||
[26] = 5001, [27] = 5001, [170] = 5001, [171] = 5001,
|
||||
-- Yucca Plant
|
||||
[52] = 5002,
|
||||
}
|
||||
|
||||
function get_tile_to_object_mapping(tile_num)
|
||||
return g_tile_to_object_map[tile_num]
|
||||
end
|
||||
|
||||
local g_is_object_a_tile = {
|
||||
[5000] = true, [5001] = true, [5002] = true
|
||||
}
|
||||
|
||||
function is_tile_object(obj_num)
|
||||
if g_is_object_a_tile[obj_num] ~= nil then
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
local g_container_obj_tbl = {
|
||||
[59] = 1, [60] = 1, [97] = 1,
|
||||
[182] = 1, [183] = 1, [184] = 1
|
||||
}
|
||||
|
||||
function is_container_obj(obj_num)
|
||||
if g_container_obj_tbl[obj_num] ~= nil then
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function search(obj)
|
||||
if obj.on_map == false then
|
||||
return
|
||||
end
|
||||
|
||||
local found_obj = false
|
||||
local child
|
||||
local first_loop = true
|
||||
local prev_obj = nil
|
||||
for child in container_objs(obj) do
|
||||
if prev_obj ~= nil then
|
||||
printfl("SEARCH_NEXT_OBJ", prev_obj.look_string)
|
||||
Obj.moveToMap(prev_obj, obj.x, obj.y, obj.z)
|
||||
end
|
||||
|
||||
if first_loop == true then
|
||||
found_obj = true
|
||||
printfl("SEARCHING_HERE_YOU_FIND", child.look_string)
|
||||
Obj.moveToMap(child, obj.x, obj.y, obj.z)
|
||||
else
|
||||
prev_obj = child
|
||||
end
|
||||
|
||||
script_wait(50)
|
||||
first_loop = false
|
||||
end
|
||||
|
||||
if prev_obj ~= nil then
|
||||
printfl("SEARCH_LAST_OBJ", prev_obj.look_string)
|
||||
Obj.moveToMap(prev_obj, obj.x, obj.y, obj.z)
|
||||
end
|
||||
|
||||
if found_obj == false then
|
||||
printl("SEARCHING_HERE_YOU_FIND_NOTHING")
|
||||
else
|
||||
print(".\n")
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
--tile_num, readied location
|
||||
local g_readiable_objs_tbl = {
|
||||
-- 0 = head
|
||||
-- 1 = neck
|
||||
[630] = 1, --tooth necklace
|
||||
[631] = 1, --jade necklace
|
||||
[696] = 1, --lei
|
||||
-- 3 = 1 handed
|
||||
[512] = 3, --spear of shamap
|
||||
[541] = 3, --black staff
|
||||
[545] = 3, --club
|
||||
[546] = 3, --obsidian knife
|
||||
[547] = 3, --spear
|
||||
[548] = 3, --throwing axe
|
||||
[549] = 3, --axe
|
||||
[550] = 3, --rock hammer
|
||||
[554] = 3, --obsidian sword
|
||||
[558] = 3, --atl atl
|
||||
[560] = 3, --boomerang
|
||||
[565] = 3, --knife
|
||||
[574] = 3, --scissors
|
||||
[677] = 3, --metal hammer
|
||||
[700] = 3, --grenade
|
||||
[701] = 3, --lit grenade
|
||||
[900] = 3, --torch
|
||||
[901] = 3, --lit torch
|
||||
[1028] = 3, --device
|
||||
[1029] = 3, --activated device
|
||||
-- 2 = torso
|
||||
[518] = 2, --cloth armor
|
||||
[519] = 2, --leather armour
|
||||
[520] = 2, --bark armor
|
||||
-- 3 = shield hand
|
||||
[513] = 3, --shield of krukk
|
||||
[524] = 3, --bark shield
|
||||
[525] = 3, --leather shield
|
||||
[526] = 3, --stegosaurus shield
|
||||
[606] = 3, --kotl shield
|
||||
-- 7 = feet
|
||||
-- 4 = two handed - FIXME: guns (561, 571, 572) can't be equipped by natives
|
||||
[552] = 4, --bow
|
||||
[553] = 4, --blowgun
|
||||
[553] = 4, --two handed hammer
|
||||
[561] = 4, --modern rifle
|
||||
[571] = 4, --bamboo flintlock
|
||||
[572] = 4, --loaded bamboo flintlock
|
||||
[640] = 4, --fire extinguisher
|
||||
[676] = 4, --fire axe
|
||||
[689] = 4, --bamboo pole
|
||||
[692] = 4, --digging stick
|
||||
[904] = 4, --fishing pole
|
||||
-- 9 = finger
|
||||
[600] = 9, --ring (not equipable in original)
|
||||
}
|
||||
|
||||
function obj_is_readiable(obj)
|
||||
if g_readiable_objs_tbl[obj.tile_num] ~= nil then
|
||||
return true
|
||||
end
|
||||
|
||||
return false
|
||||
end
|
||||
|
||||
function obj_get_readiable_location(obj)
|
||||
if g_readiable_objs_tbl[obj.tile_num] ~= nil then
|
||||
return g_readiable_objs_tbl[obj.tile_num]
|
||||
end
|
||||
|
||||
return -1
|
||||
end
|
||||
|
||||
function create_object_needs_quan(obj_n)
|
||||
-- obj.stackable is already checked
|
||||
return false
|
||||
end
|
||||
|
||||
function talk_to_obj(obj)
|
||||
printl("NOTHING")
|
||||
return false
|
||||
end
|
||||
|
||||
--load actor functions
|
||||
local actor_load = nuvie_load("se/actor.lua");
|
||||
if type(actor_load) == "function" then
|
||||
actor_load()
|
||||
else
|
||||
if type(actor_load) == "string" then
|
||||
--io.stderr:write(actor_load);
|
||||
end
|
||||
end
|
||||
|
||||
look_init = nuvie_load("se/look.lua"); look_init();
|
||||
|
||||
-- init usecode
|
||||
usecode_init = nuvie_load("se/usecode.lua"); usecode_init();
|
||||
|
||||
player_init = nuvie_load("se/player.lua"); player_init();
|
||||
Reference in New Issue
Block a user