diff --git a/3d_armor/armor.lua b/3d_armor/armor.lua new file mode 100644 index 0000000..7207325 --- /dev/null +++ b/3d_armor/armor.lua @@ -0,0 +1,157 @@ +local time = 0 +local update_time = tonumber(minetest.setting_get("3d_armor_update_time")) +if not update_time then + update_time = 1 + minetest.setting_set("3d_armor_update_time", tostring(update_time)) +end + +armor = { + player_hp = {}, +} + +armor.set_player_armor = function(self, player) + if not player then + return + end + local name = player:get_player_name() + local player_inv = player:get_inventory() + local armor_texture = uniskins.default_texture + local armor_level = 0 + local textures = {} + for _,v in ipairs({"head", "torso", "legs", "feet"}) do + local stack = player_inv:get_stack("armor_"..v, 1) + local level = stack:get_definition().groups["armor_"..v] + if level then + local item = stack:get_name() + table.insert(textures, item:gsub("%:", "_")..".png") + armor_level = armor_level + level + end + end + if table.getn(textures) > 0 then + armor_texture = table.concat(textures, "^") + end + local armor_groups = {fleshy=100} + if armor_level > 0 then + armor_groups.level = math.floor(armor_level / 20) + armor_groups.fleshy = 100 - armor_level + end + player:set_armor_groups(armor_groups) + uniskins.armor[name] = armor_texture + uniskins:update_player_visuals(player) +end + +armor.update_armor = function(self, player) + if not player then + return + end + local name = player:get_player_name() + local hp = player:get_hp() or 0 + if hp == 0 or hp == self.player_hp[name] then + return + end + if self.player_hp[name] > hp then + local player_inv = player:get_inventory() + local armor_inv = minetest.get_inventory({type="detached", name=name.."_armor"}) + if not armor_inv then + return + end + local heal_max = 0 + for _,v in ipairs({"head", "torso", "legs", "feet"}) do + local stack = armor_inv:get_stack("armor_"..v, 1) + if stack:get_count() > 0 then + local use = stack:get_definition().groups["armor_use"] or 0 + local heal = stack:get_definition().groups["armor_heal"] or 0 + local item = stack:get_name() + stack:add_wear(use) + armor_inv:set_stack("armor_"..v, 1, stack) + player_inv:set_stack("armor_"..v, 1, stack) + if stack:get_count() == 0 then + local desc = minetest.registered_items[item].description + if desc then + minetest.chat_send_player(name, "Your "..desc.." got destroyed!") + end + self:set_player_armor(player) + end + heal_max = heal_max + heal + end + end + if heal_max > math.random(100) then + player:set_hp(self.player_hp[name]) + return + end + end + self.player_hp[name] = hp +end + +-- Register Callbacks + +minetest.register_on_player_receive_fields(function(player, formname, fields) + local name = player:get_player_name() + if fields.armor then + inventory_plus.set_inventory_formspec(player, "size[8,8.5]" + .."button[0,0;2,0.5;main;Back]" + .."list[current_player;main;0,4.5;8,4;]" + .."list[detached:"..name.."_armor;armor_head;3,0;1,1;]" + .."list[detached:"..name.."_armor;armor_torso;3,1;1,1;]" + .."list[detached:"..name.."_armor;armor_legs;3,2;1,1;]" + .."list[detached:"..name.."_armor;armor_feet;3,3;1,1;]") + return + end + for field, _ in pairs(fields) do + if string.sub(field,0,string.len("skins_set_")) == "skins_set_" then + minetest.after(0, function(player) + uniskins.skin[name] = skins.skins[name]..".png" + uniskins:update_player_visuals(player) + end, player) + end + end +end) + +minetest.register_on_joinplayer(function(player) + inventory_plus.register_button(player,"armor", "Armor") + local player_inv = player:get_inventory() + local name = player:get_player_name() + local armor_inv = minetest.create_detached_inventory(name.."_armor",{ + on_put = function(inv, listname, index, stack, player) + player:get_inventory():set_stack(listname, index, stack) + armor:set_player_armor(player) + end, + on_take = function(inv, listname, index, stack, player) + player:get_inventory():set_stack(listname, index, nil) + armor:set_player_armor(player) + end, + allow_put = function(inv, listname, index, stack, player) + if inv:is_empty(listname) then + return 1 + end + return 0 + end, + allow_take = function(inv, listname, index, stack, player) + return stack:get_count() + end, + allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) + return 0 + end, + }) + for _,v in ipairs({"head", "torso", "legs", "feet"}) do + local list = "armor_"..v + player_inv:set_size(list, 1) + armor_inv:set_size(list, 1) + armor_inv:set_stack(list, 1, player_inv:get_stack(list, 1)) + end + armor.player_hp[name] = 0 + minetest.after(0, function(player) + armor:set_player_armor(player) + end, player) +end) + +minetest.register_globalstep(function(dtime) + time = time + dtime + if time > update_time then + for _,player in ipairs(minetest.get_connected_players()) do + armor:update_armor(player) + end + time = 0 + end +end) + diff --git a/3d_armor/armor_api.lua b/3d_armor/armor_api.lua deleted file mode 100644 index 0ba4494..0000000 --- a/3d_armor/armor_api.lua +++ /dev/null @@ -1,91 +0,0 @@ - -armor_api = { - player_hp = {}, -} - -armor_api.get_armor_textures = function(self, player) - if not player then - return - end - local name = player:get_player_name() - local textures = {} - local player_inv = player:get_inventory() - for _,v in ipairs({"head", "torso", "legs"}) do - local stack = player_inv:get_stack("armor_"..v, 1) - if stack:get_definition().groups["armor_"..v] then - local item = stack:get_name() - textures[v] = item:gsub("%:", "_")..".png" - end - end - local stack = player_inv:get_stack("armor_shield", 1) - if stack:get_definition().groups["armor_shield"] then - local item = stack:get_name() - textures["shield"] = minetest.registered_items[item].inventory_image - end - return textures -end - -armor_api.set_player_armor = function(self, player) - if not player then - return - end - local name = player:get_player_name() - local player_inv = player:get_inventory() - local armor_level = 0 - for _,v in ipairs({"head", "torso", "legs", "shield"}) do - local stack = player_inv:get_stack("armor_"..v, 1) - local armor = stack:get_definition().groups["armor_"..v] or 0 - armor_level = armor_level + armor - end - local armor_groups = {fleshy=100} - if armor_level > 0 then - armor_groups.level = math.floor(armor_level / 20) - armor_groups.fleshy = 100 - armor_level - end - player:set_armor_groups(armor_groups) - uniskins:update_player_visuals(player) -end - -armor_api.update_armor = function(self, player) - if not player then - return - end - local name = player:get_player_name() - local hp = player:get_hp() - if hp == nil or hp == 0 or hp == self.player_hp[name] then - return - end - if self.player_hp[name] > hp then - local player_inv = player:get_inventory() - local armor_inv = minetest.get_inventory({type="detached", name=name.."_outfit"}) - if armor_inv == nil then - return - end - local heal_max = 0 - for _,v in ipairs({"head", "torso", "legs", "shield"}) do - local stack = armor_inv:get_stack("armor_"..v, 1) - if stack:get_count() > 0 then - local use = stack:get_definition().groups["armor_use"] or 0 - local heal = stack:get_definition().groups["armor_heal"] or 0 - local item = stack:get_name() - stack:add_wear(use) - armor_inv:set_stack("armor_"..v, 1, stack) - player_inv:set_stack("armor_"..v, 1, stack) - if stack:get_count() == 0 then - local desc = minetest.registered_items[item].description - if desc then - minetest.chat_send_player(name, "Your "..desc.." got destroyed!") - end - self:set_player_armor(player) - end - heal_max = heal_max + heal - end - end - if heal_max > math.random(100) then - player:set_hp(self.player_hp[name]) - return - end - end - self.player_hp[name] = hp -end - diff --git a/3d_armor/crafting_guide.txt b/3d_armor/crafting_guide.txt index 17bf250..eb2df13 100644 --- a/3d_armor/crafting_guide.txt +++ b/3d_armor/crafting_guide.txt @@ -43,32 +43,16 @@ Leggings: [3d_armor:leggings_steel] X = [default:steel_ingot] [3d_armor:leggings_bronze] X = [default:bronze_ingot] -Shields: +Boots: +---+---+---+ -| X | X | X | +| X | | X | +---+---+---+ -| X | X | X | -+---+---+---+ -| | X | | +| X | | X | +---+---+---+ -[3d_armor:shield_wood] X = [default:wood] -[3d_armor:shield_steel] X = [default:steel_ingot] -[3d_armor:shield_bronze] X = [default:bronze_ingot +[3d_armor:boots_wood] X = [default:wood] +[3d_armor:boots_steel] X = [default:steel_ingot] +[3d_armor:boots_bronze] X = [default:bronze_ingot -Enhanced Wooden Shield: - -SI = [default:steel_ingot] -WS = [3d_armor:shield_wood] - -+----+ -| SI | -+----+ -| WS | -+----+ -| SI | -+----+ - -[3d_armor:shield_enhanced_wood] diff --git a/3d_armor/init.lua b/3d_armor/init.lua index 61d93fd..93561f0 100644 --- a/3d_armor/init.lua +++ b/3d_armor/init.lua @@ -1,108 +1,124 @@ -dofile(minetest.get_modpath(minetest.get_current_modname()).."/armor_api.lua") - -local time = 0 -local update_time = tonumber(minetest.setting_get("3d_armor_update_time")) -if not update_time then - update_time = 1 - minetest.setting_set("3d_armor_update_time", tostring(update_time)) -end +dofile(minetest.get_modpath(minetest.get_current_modname()).."/armor.lua") -- Regisiter Head Armor minetest.register_tool("3d_armor:helmet_wood", { description = "Wood Helmet", inventory_image = "3d_armor_inv_helmet_wood.png", - groups = {armor_head=5, armor_heal=0, armor_use=1000}, + groups = {armor_head=5, armor_heal=0, armor_use=2000}, wear = 0, }) minetest.register_tool("3d_armor:helmet_steel", { description = "Steel Helmet", inventory_image = "3d_armor_inv_helmet_steel.png", - groups = {armor_head=10, armor_heal=5, armor_use=250}, + groups = {armor_head=10, armor_heal=0, armor_use=500}, wear = 0, }) minetest.register_tool("3d_armor:helmet_bronze", { description = "Bronze Helmet", inventory_image = "3d_armor_inv_helmet_bronze.png", - groups = {armor_head=15, armor_heal=10, armor_use=100}, + groups = {armor_head=10, armor_heal=6, armor_use=250}, wear = 0, }) +minetest.register_tool("3d_armor:helmet_diamond", { + description = "Diamond Helmet", + inventory_image = "3d_armor_inv_helmet_diamond.png", + groups = {armor_head=15, armor_heal=12, armor_use=100}, + wear = 0, +}) + + -- Regisiter Torso Armor minetest.register_tool("3d_armor:chestplate_wood", { description = "Wood Chestplate", inventory_image = "3d_armor_inv_chestplate_wood.png", - groups = {armor_torso=10, armor_heal=0, armor_use=1000}, + groups = {armor_torso=10, armor_heal=0, armor_use=2000}, wear = 0, }) minetest.register_tool("3d_armor:chestplate_steel", { description = "Steel Chestplate", inventory_image = "3d_armor_inv_chestplate_steel.png", - groups = {armor_torso=15, armor_heal=5, armor_use=250}, + groups = {armor_torso=15, armor_heal=0, armor_use=500}, wear = 0, }) minetest.register_tool("3d_armor:chestplate_bronze", { description = "Bronze Chestplate", inventory_image = "3d_armor_inv_chestplate_bronze.png", - groups = {armor_torso=25, armor_heal=10, armor_use=100}, + groups = {armor_torso=15, armor_heal=6, armor_use=250}, wear = 0, }) +minetest.register_tool("3d_armor:chestplate_diamond", { + description = "Diamond Chestplate", + inventory_image = "3d_armor_inv_chestplate_diamond.png", + groups = {armor_torso=20, armor_heal=12, armor_use=100}, + wear = 0, +}) + + -- Regisiter Leg Armor minetest.register_tool("3d_armor:leggings_wood", { description = "Wood Leggings", inventory_image = "3d_armor_inv_leggings_wood.png", - groups = {armor_legs=5, armor_heal=0, armor_use=1000}, + groups = {armor_legs=5, armor_heal=0, armor_use=2000}, wear = 0, }) minetest.register_tool("3d_armor:leggings_steel", { description = "Steel Leggings", inventory_image = "3d_armor_inv_leggings_steel.png", - groups = {armor_legs=10, armor_heal=5, armor_use=250}, + groups = {armor_legs=15, armor_heal=0, armor_use=500}, wear = 0, }) minetest.register_tool("3d_armor:leggings_bronze", { description = "Bronze Leggings", inventory_image = "3d_armor_inv_leggings_bronze.png", - groups = {armor_legs=15, armor_heal=10, armor_use=100}, + groups = {armor_legs=15, armor_heal=6, armor_use=250}, wear = 0, }) --- Regisiter Shields - -minetest.register_tool("3d_armor:shield_wood", { - description = "Wooden Shield", - inventory_image = "3d_armor_inv_shield_wood.png", - groups = {armor_shield=10, armor_heal=0, armor_use=1000}, +minetest.register_tool("3d_armor:leggings_diamond", { + description = "Diamond Leggings", + inventory_image = "3d_armor_inv_leggings_diamond.png", + groups = {armor_legs=20, armor_heal=12, armor_use=100}, wear = 0, }) -minetest.register_tool("3d_armor:shield_enhanced_wood", { - description = "Enhanced Wooden Shield", - inventory_image = "3d_armor_inv_shield_enhanced_wood.png", - groups = {armor_shield=15, armor_heal=5, armor_use=500}, +-- Regisiter Boots + +minetest.register_tool("3d_armor:boots_wood", { + description = "Wood Boots", + inventory_image = "3d_armor_inv_boots_wood.png", + groups = {armor_feet=5, armor_heal=0, armor_use=2000}, wear = 0, }) -minetest.register_tool("3d_armor:shield_steel", { - description = "Steel Shield", - inventory_image = "3d_armor_inv_shield_steel.png", - groups = {armor_shield=20, armor_heal=5, armor_use=250}, +minetest.register_tool("3d_armor:boots_steel", { + description = "Steel Boots", + inventory_image = "3d_armor_inv_boots_steel.png", + groups = {armor_feet=10, armor_heal=0, armor_use=500}, wear = 0, }) -minetest.register_tool("3d_armor:shield_bronze", { - description = "Bronze Shield", - inventory_image = "3d_armor_inv_shield_bronze.png", - groups = {armor_shield=25, armor_heal=10, armor_use=100}, +minetest.register_tool("3d_armor:boots_bronze", { + description = "Bronze Boots", + inventory_image = "3d_armor_inv_boots_bronze.png", + groups = {armor_feet=10, armor_heal=6, armor_use=250}, + wear = 0, +}) + +minetest.register_tool("3d_armor:boots_diamond", { + description = "Diamond Boots", + inventory_image = "3d_armor_inv_boots_diamond.png", + groups = {armor_feet=15, armor_heal=12, armor_use=100}, wear = 0, }) @@ -112,6 +128,7 @@ local craft_ingreds = { wood = "default:wood", steel = "default:steel_ingot", bronze = "default:bronze_ingot", + diamond = "default:diamond", } for k, v in pairs(craft_ingreds) do @@ -140,92 +157,12 @@ for k, v in pairs(craft_ingreds) do }, }) minetest.register_craft({ - output = "3d_armor:shield_"..k, + output = "3d_armor:boots_"..k, recipe = { - {v, v, v}, - {v, v, v}, - {"", v, ""}, + {v, "", v}, + {v, "", v}, }, }) end -minetest.register_craft({ - output = "3d_armor:shield_enhanced_wood", - recipe = { - {"default:steel_ingot"}, - {"3d_armor:shield_wood"}, - {"default:steel_ingot"}, - }, -}) - --- Register Callbacks - -minetest.register_on_player_receive_fields(function(player, formname, fields) - local name = player:get_player_name() - if fields.outfit then - inventory_plus.set_inventory_formspec(player, "size[8,7.5]" - .."button[0,0;2,0.5;main;Back]" - .."list[current_player;main;0,3.5;8,4;]" - .."list[detached:"..name.."_outfit;armor_head;3,0;1,1;]" - .."list[detached:"..name.."_outfit;armor_torso;3,1;1,1;]" - .."list[detached:"..name.."_outfit;armor_legs;3,2;1,1;]" - .."list[detached:"..name.."_outfit;armor_shield;4,1;1,1;]") - return - end - for field, _ in pairs(fields) do - if string.sub(field,0,string.len("skins_set_")) == "skins_set_" then - minetest.after(0, function(player) - armor_api:set_player_armor(player) - end, player) - end - end -end) - -minetest.register_on_joinplayer(function(player) - inventory_plus.register_button(player,"outfit", "Outfit") - local player_inv = player:get_inventory() - local name = player:get_player_name() - local armor_inv = minetest.create_detached_inventory(name.."_outfit",{ - on_put = function(inv, listname, index, stack, player) - player:get_inventory():set_stack(listname, index, stack) - armor_api:set_player_armor(player) - end, - on_take = function(inv, listname, index, stack, player) - player:get_inventory():set_stack(listname, index, nil) - armor_api:set_player_armor(player) - end, - allow_put = function(inv, listname, index, stack, player) - if inv:is_empty(listname) then - return 1 - end - return 0 - end, - allow_take = function(inv, listname, index, stack, player) - return stack:get_count() - end, - allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) - return 0 - end, - }) - for _,v in ipairs({"head", "torso", "legs", "shield"}) do - local armor = "armor_"..v - player_inv:set_size(armor, 1) - armor_inv:set_size(armor, 1) - armor_inv:set_stack(armor, 1, player_inv:get_stack(armor, 1)) - end - armor_api.player_hp[name] = 0 - minetest.after(0, function(player) - armor_api:set_player_armor(player) - end, player) -end) - -minetest.register_globalstep(function(dtime) - time = time + dtime - if time > update_time then - for _,player in ipairs(minetest.get_connected_players()) do - armor_api:update_armor(player) - end - time = 0 - end -end) diff --git a/3d_armor/textures/3d_armor_boots_bronze.png b/3d_armor/textures/3d_armor_boots_bronze.png new file mode 100644 index 0000000..1b09421 Binary files /dev/null and b/3d_armor/textures/3d_armor_boots_bronze.png differ diff --git a/3d_armor/textures/3d_armor_boots_diamond.png b/3d_armor/textures/3d_armor_boots_diamond.png new file mode 100644 index 0000000..ccd696c Binary files /dev/null and b/3d_armor/textures/3d_armor_boots_diamond.png differ diff --git a/3d_armor/textures/3d_armor_boots_steel.png b/3d_armor/textures/3d_armor_boots_steel.png new file mode 100644 index 0000000..51752c2 Binary files /dev/null and b/3d_armor/textures/3d_armor_boots_steel.png differ diff --git a/3d_armor/textures/3d_armor_boots_wood.png b/3d_armor/textures/3d_armor_boots_wood.png new file mode 100644 index 0000000..1fbe616 Binary files /dev/null and b/3d_armor/textures/3d_armor_boots_wood.png differ diff --git a/3d_armor/textures/3d_armor_chestplate_bronze.png b/3d_armor/textures/3d_armor_chestplate_bronze.png index 0ac8324..b4fbf2d 100644 Binary files a/3d_armor/textures/3d_armor_chestplate_bronze.png and b/3d_armor/textures/3d_armor_chestplate_bronze.png differ diff --git a/3d_armor/textures/3d_armor_chestplate_diamond.png b/3d_armor/textures/3d_armor_chestplate_diamond.png new file mode 100644 index 0000000..ce959c5 Binary files /dev/null and b/3d_armor/textures/3d_armor_chestplate_diamond.png differ diff --git a/3d_armor/textures/3d_armor_chestplate_steel.png b/3d_armor/textures/3d_armor_chestplate_steel.png index b5f960f..8d7d5aa 100644 Binary files a/3d_armor/textures/3d_armor_chestplate_steel.png and b/3d_armor/textures/3d_armor_chestplate_steel.png differ diff --git a/3d_armor/textures/3d_armor_chestplate_wood.png b/3d_armor/textures/3d_armor_chestplate_wood.png index 4ea1b64..2e38314 100644 Binary files a/3d_armor/textures/3d_armor_chestplate_wood.png and b/3d_armor/textures/3d_armor_chestplate_wood.png differ diff --git a/3d_armor/textures/3d_armor_helmet_bronze.png b/3d_armor/textures/3d_armor_helmet_bronze.png index 8c945da..04a32f7 100644 Binary files a/3d_armor/textures/3d_armor_helmet_bronze.png and b/3d_armor/textures/3d_armor_helmet_bronze.png differ diff --git a/3d_armor/textures/3d_armor_helmet_diamond.png b/3d_armor/textures/3d_armor_helmet_diamond.png new file mode 100644 index 0000000..de9ae22 Binary files /dev/null and b/3d_armor/textures/3d_armor_helmet_diamond.png differ diff --git a/3d_armor/textures/3d_armor_helmet_steel.png b/3d_armor/textures/3d_armor_helmet_steel.png index d242815..f092ead 100644 Binary files a/3d_armor/textures/3d_armor_helmet_steel.png and b/3d_armor/textures/3d_armor_helmet_steel.png differ diff --git a/3d_armor/textures/3d_armor_helmet_wood.png b/3d_armor/textures/3d_armor_helmet_wood.png index eadf2bd..9faac93 100644 Binary files a/3d_armor/textures/3d_armor_helmet_wood.png and b/3d_armor/textures/3d_armor_helmet_wood.png differ diff --git a/3d_armor/textures/3d_armor_inv_boots_bronze.png b/3d_armor/textures/3d_armor_inv_boots_bronze.png new file mode 100644 index 0000000..795903c Binary files /dev/null and b/3d_armor/textures/3d_armor_inv_boots_bronze.png differ diff --git a/3d_armor/textures/3d_armor_inv_boots_diamond.png b/3d_armor/textures/3d_armor_inv_boots_diamond.png new file mode 100644 index 0000000..87e3443 Binary files /dev/null and b/3d_armor/textures/3d_armor_inv_boots_diamond.png differ diff --git a/3d_armor/textures/3d_armor_inv_boots_steel.png b/3d_armor/textures/3d_armor_inv_boots_steel.png new file mode 100644 index 0000000..2d13249 Binary files /dev/null and b/3d_armor/textures/3d_armor_inv_boots_steel.png differ diff --git a/3d_armor/textures/3d_armor_inv_boots_wood.png b/3d_armor/textures/3d_armor_inv_boots_wood.png new file mode 100644 index 0000000..6e18501 Binary files /dev/null and b/3d_armor/textures/3d_armor_inv_boots_wood.png differ diff --git a/3d_armor/textures/3d_armor_inv_chestplate_diamond.png b/3d_armor/textures/3d_armor_inv_chestplate_diamond.png new file mode 100644 index 0000000..cfb71e1 Binary files /dev/null and b/3d_armor/textures/3d_armor_inv_chestplate_diamond.png differ diff --git a/3d_armor/textures/3d_armor_inv_helmet_diamond.png b/3d_armor/textures/3d_armor_inv_helmet_diamond.png new file mode 100644 index 0000000..d05d1de Binary files /dev/null and b/3d_armor/textures/3d_armor_inv_helmet_diamond.png differ diff --git a/3d_armor/textures/3d_armor_inv_helmet_steel.png b/3d_armor/textures/3d_armor_inv_helmet_steel.png index 9664962..a420b23 100644 Binary files a/3d_armor/textures/3d_armor_inv_helmet_steel.png and b/3d_armor/textures/3d_armor_inv_helmet_steel.png differ diff --git a/3d_armor/textures/3d_armor_inv_leggings_bronze.png b/3d_armor/textures/3d_armor_inv_leggings_bronze.png index 142356e..8930538 100644 Binary files a/3d_armor/textures/3d_armor_inv_leggings_bronze.png and b/3d_armor/textures/3d_armor_inv_leggings_bronze.png differ diff --git a/3d_armor/textures/3d_armor_inv_leggings_diamond.png b/3d_armor/textures/3d_armor_inv_leggings_diamond.png new file mode 100644 index 0000000..88d7d33 Binary files /dev/null and b/3d_armor/textures/3d_armor_inv_leggings_diamond.png differ diff --git a/3d_armor/textures/3d_armor_inv_leggings_steel.png b/3d_armor/textures/3d_armor_inv_leggings_steel.png index 4098953..95eb156 100644 Binary files a/3d_armor/textures/3d_armor_inv_leggings_steel.png and b/3d_armor/textures/3d_armor_inv_leggings_steel.png differ diff --git a/3d_armor/textures/3d_armor_inv_leggings_wood.png b/3d_armor/textures/3d_armor_inv_leggings_wood.png index 5102644..f0082bb 100644 Binary files a/3d_armor/textures/3d_armor_inv_leggings_wood.png and b/3d_armor/textures/3d_armor_inv_leggings_wood.png differ diff --git a/3d_armor/textures/3d_armor_inv_shield_bronze.png b/3d_armor/textures/3d_armor_inv_shield_bronze.png deleted file mode 100644 index 11fb508..0000000 Binary files a/3d_armor/textures/3d_armor_inv_shield_bronze.png and /dev/null differ diff --git a/3d_armor/textures/3d_armor_inv_shield_enhanced_wood.png b/3d_armor/textures/3d_armor_inv_shield_enhanced_wood.png deleted file mode 100644 index d28bbf8..0000000 Binary files a/3d_armor/textures/3d_armor_inv_shield_enhanced_wood.png and /dev/null differ diff --git a/3d_armor/textures/3d_armor_inv_shield_steel.png b/3d_armor/textures/3d_armor_inv_shield_steel.png deleted file mode 100644 index ce8d593..0000000 Binary files a/3d_armor/textures/3d_armor_inv_shield_steel.png and /dev/null differ diff --git a/3d_armor/textures/3d_armor_inv_shield_wood.png b/3d_armor/textures/3d_armor_inv_shield_wood.png deleted file mode 100644 index 38a9b54..0000000 Binary files a/3d_armor/textures/3d_armor_inv_shield_wood.png and /dev/null differ diff --git a/3d_armor/textures/3d_armor_leggings_bronze.png b/3d_armor/textures/3d_armor_leggings_bronze.png index 2c0235f..1adabde 100644 Binary files a/3d_armor/textures/3d_armor_leggings_bronze.png and b/3d_armor/textures/3d_armor_leggings_bronze.png differ diff --git a/3d_armor/textures/3d_armor_leggings_diamond.png b/3d_armor/textures/3d_armor_leggings_diamond.png new file mode 100644 index 0000000..e406989 Binary files /dev/null and b/3d_armor/textures/3d_armor_leggings_diamond.png differ diff --git a/3d_armor/textures/3d_armor_leggings_steel.png b/3d_armor/textures/3d_armor_leggings_steel.png index 1b0402a..717d9c3 100644 Binary files a/3d_armor/textures/3d_armor_leggings_steel.png and b/3d_armor/textures/3d_armor_leggings_steel.png differ diff --git a/3d_armor/textures/3d_armor_leggings_wood.png b/3d_armor/textures/3d_armor_leggings_wood.png index 02e6e9d..2c5b5a6 100644 Binary files a/3d_armor/textures/3d_armor_leggings_wood.png and b/3d_armor/textures/3d_armor_leggings_wood.png differ diff --git a/3d_armor/textures/inventory_plus_outfit.png b/3d_armor/textures/inventory_plus_outfit.png deleted file mode 100644 index 11fb508..0000000 Binary files a/3d_armor/textures/inventory_plus_outfit.png and /dev/null differ diff --git a/more_armor/README.txt b/more_armor/README.txt deleted file mode 100644 index 2067603..0000000 --- a/more_armor/README.txt +++ /dev/null @@ -1,6 +0,0 @@ -[mod] Moreores Armor [more_armor] -======================================== - -depends: default, 3d_armor - -Adds Bronze and Mithril armor sets, upgrades moreores weapons. diff --git a/more_armor/crafting_guide.txt b/more_armor/crafting_guide.txt deleted file mode 100644 index ff2598c..0000000 --- a/more_armor/crafting_guide.txt +++ /dev/null @@ -1,46 +0,0 @@ -more_armor -- Crafting Guide ----------------------------- - -M = Mithril Ingot [moreores:mithril_ingot] - -Mithril Helmet: [more_armor:helmet_mithril] - -+---+---+---+ -| M | M | M | -+---+---+---+ -| M | | M | -+---+---+---+ -| | | | -+---+---+---+ - -Mithril Chestplate: [more_armor:chestplate_mithril] - -+---+---+---+ -| M | | M | -+---+---+---+ -| M | M | M | -+---+---+---+ -| M | M | M | -+---+---+---+ - -Mithril Leggings: [more_armor:leggings_mithril] - -+---+---+---+ -| M | M | M | -+---+---+---+ -| M | | M | -+---+---+---+ -| M | | M | -+---+---+---+ - -Mithril Shield: [more_armor:shield_mithril] - -+---+---+---+ -| M | M | M | -+---+---+---+ -| M | M | M | -+---+---+---+ -| | M | | -+---+---+---+ - - diff --git a/more_armor/depends.txt b/more_armor/depends.txt deleted file mode 100644 index 585cc7a..0000000 --- a/more_armor/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -3d_armor diff --git a/more_armor/init.lua b/more_armor/init.lua deleted file mode 100644 index 895127a..0000000 --- a/more_armor/init.lua +++ /dev/null @@ -1,89 +0,0 @@ - --- Override moreores weapons (make them more powerful) - -minetest.register_tool(":moreores:sword_mithril", { - description = "Mithril Sword", - inventory_image = "moreores_tool_mithrilsword.png", - tool_capabilities = { - full_punch_interval = 0.8, - max_drop_level=1, - groupcaps={ - fleshy={times={[0]=0.65, [1]=0.50, [2]=0.40, [3]=0.30}, uses=50, maxlevel=3}, - snappy={times={[2]=0.80, [3]=0.40}, uses=100, maxlevel=1}, - choppy={times={[3]=0.90}, uses=50, maxlevel=0} - } - } -}) - --- Regisiter Head Armor - -minetest.register_tool("more_armor:helmet_mithril", { - description = "Mithril Helmet", - inventory_image = "more_armor_inv_helmet_mithril.png", - groups = {armor_head=15, armor_heal=15, armor_use=50}, - wear = 0, -}) - -minetest.register_craft({ - output = "more_armor:helmet_mithril", - recipe = { - {"moreores:mithril_ingot", "moreores:mithril_ingot", "moreores:mithril_ingot"}, - {"moreores:mithril_ingot", "", "moreores:mithril_ingot"}, - {"", "", ""}, - }, -}) - --- Regisiter Torso Armor - -minetest.register_tool("more_armor:chestplate_mithril", { - description = "Mithril Chestplate", - inventory_image = "more_armor_inv_chestplate_mithril.png", - groups = {armor_torso=25, armor_heal=15, armor_use=50}, - wear = 0, -}) - -minetest.register_craft({ - output = "more_armor:chestplate_mithril", - recipe = { - {"moreores:mithril_ingot", "", "moreores:mithril_ingot"}, - {"moreores:mithril_ingot", "moreores:mithril_ingot", "moreores:mithril_ingot"}, - {"moreores:mithril_ingot", "moreores:mithril_ingot", "moreores:mithril_ingot"}, - }, -}) - --- Regisiter Leg Armor - -minetest.register_tool("more_armor:leggings_mithril", { - description = "Mithril Leggings", - inventory_image = "more_armor_inv_leggings_mithril.png", - groups = {armor_legs=20, armor_heal=15, armor_use=50}, - wear = 0, -}) - -minetest.register_craft({ - output = "more_armor:leggings_mithril", - recipe = { - {"moreores:mithril_ingot", "moreores:mithril_ingot", "moreores:mithril_ingot"}, - {"moreores:mithril_ingot", "", "moreores:mithril_ingot"}, - {"moreores:mithril_ingot", "", "moreores:mithril_ingot"}, - }, -}) - --- Regisiter Shields - -minetest.register_tool("more_armor:shield_mithril", { - description = "Mithril Shield", - inventory_image = "more_armor_inv_shield_mithril.png", - groups = {armor_shield=25, armor_heal=15, armor_use=50}, - wear = 0, -}) - -minetest.register_craft({ - output = "more_armor:shield_mithril", - recipe = { - {"moreores:mithril_ingot", "moreores:mithril_ingot", "moreores:mithril_ingot"}, - {"moreores:mithril_ingot", "moreores:mithril_ingot", "moreores:mithril_ingot"}, - {"", "moreores:mithril_ingot", ""}, - }, -}) - diff --git a/more_armor/textures/more_armor_chestplate_mithril.png b/more_armor/textures/more_armor_chestplate_mithril.png deleted file mode 100644 index cedf0d9..0000000 Binary files a/more_armor/textures/more_armor_chestplate_mithril.png and /dev/null differ diff --git a/more_armor/textures/more_armor_helmet_mithril.png b/more_armor/textures/more_armor_helmet_mithril.png deleted file mode 100644 index 7f18076..0000000 Binary files a/more_armor/textures/more_armor_helmet_mithril.png and /dev/null differ diff --git a/more_armor/textures/more_armor_inv_chestplate_mithril.png b/more_armor/textures/more_armor_inv_chestplate_mithril.png deleted file mode 100644 index 367e442..0000000 Binary files a/more_armor/textures/more_armor_inv_chestplate_mithril.png and /dev/null differ diff --git a/more_armor/textures/more_armor_inv_helmet_mithril.png b/more_armor/textures/more_armor_inv_helmet_mithril.png deleted file mode 100644 index edb8fef..0000000 Binary files a/more_armor/textures/more_armor_inv_helmet_mithril.png and /dev/null differ diff --git a/more_armor/textures/more_armor_inv_leggings_mithril.png b/more_armor/textures/more_armor_inv_leggings_mithril.png deleted file mode 100644 index c75cd7c..0000000 Binary files a/more_armor/textures/more_armor_inv_leggings_mithril.png and /dev/null differ diff --git a/more_armor/textures/more_armor_inv_shield_mithril.png b/more_armor/textures/more_armor_inv_shield_mithril.png deleted file mode 100644 index 7c1d7d3..0000000 Binary files a/more_armor/textures/more_armor_inv_shield_mithril.png and /dev/null differ diff --git a/more_armor/textures/more_armor_leggings_mithril.png b/more_armor/textures/more_armor_leggings_mithril.png deleted file mode 100644 index 3728278..0000000 Binary files a/more_armor/textures/more_armor_leggings_mithril.png and /dev/null differ diff --git a/unified_skins/init.lua b/unified_skins/init.lua index dcce122..d6a1f5f 100644 --- a/unified_skins/init.lua +++ b/unified_skins/init.lua @@ -1,70 +1,51 @@ uniskins = { - skins = {}, - default_character_skin = "character.png", + skin = {}, + armor = {}, + wielditem = {}, + default_skin = "character.png", + default_texture = nil } -uniskins.get_player_skin = function(self, name) - if minetest.get_modpath("skins") then - local skin = skins.skins[name] - if skin then - if skins.get_type(skin) == skins.type.MODEL then - return skin..".png" - end - end - end - if self.skins[name] then - return self.skins[name] - end - return self.default_character_skin -end - uniskins.update_player_visuals = function(self, player) if not player then return end local name = player:get_player_name() - local texture = self:get_player_skin(name) - local has_wieldview = minetest.get_modpath("wieldview") - if has_wieldview then - texture = "wieldview_character_bg.png^[combine:64x64:0,32="..texture - local wielded_item_texture = wieldview:get_wielded_item_texture(player) - if wielded_item_texture then - texture = texture.."^[combine:64x64:0,0="..wielded_item_texture - end + local texture = "uniskins_trans.png" + if self.wielditem[name] then + texture = texture.."^[combine:64x64:0,0="..self.wielditem[name] end - if minetest.get_modpath("3d_armor") then - local textures = armor_api:get_armor_textures(player) - for _,v in ipairs({"head", "torso", "legs"}) do - if textures[v] then - texture = texture.."^" - if has_wieldview then - texture = texture.."[combine:64x64:0,32=" - end - texture = texture..textures[v] - end - end - if has_wieldview and textures["shield"] then - texture = texture.."^[combine:64x64:16,0="..textures["shield"] - end + if self.skin[name] then + texture = texture.."^[combine:64x64:0,32="..self.skin[name] + end + if self.armor[name] then + texture = texture.."^[combine:64x64:0,0="..self.armor[name] end player:set_properties({ visual = "mesh", + mesh = "uniskins_character.x", textures = {texture}, visual_size = {x=1, y=1}, }) end minetest.register_on_joinplayer(function(player) - if not minetest.get_modpath("player_textures") then - return - end local name = player:get_player_name() - local filename = minetest.get_modpath("player_textures").."/textures/player_"..name - local f = io.open(filename..".png") - if f then - f:close() - uniskins.skins[name] = "player_"..player:get_player_name()..".png" + uniskins.skin[name] = uniskins.default_skin + if minetest.get_modpath("player_textures") then + local filename = minetest.get_modpath("player_textures").."/textures/player_"..name + local f = io.open(filename..".png") + if f then + f:close() + uniskins.skin[name] = "player_"..name..".png" + end + end + if minetest.get_modpath("skins") then + local skin = skins.skins[name] + if skin and skins.get_type(skin) == skins.type.MODEL then + uniskins.skin[name] = skin..".png" + end end end) diff --git a/unified_skins/models/uniskins_character.blend b/unified_skins/models/uniskins_character.blend new file mode 100644 index 0000000..970f0b2 Binary files /dev/null and b/unified_skins/models/uniskins_character.blend differ diff --git a/wieldview/models/wieldview_character.x b/unified_skins/models/uniskins_character.x similarity index 90% rename from wieldview/models/wieldview_character.x rename to unified_skins/models/uniskins_character.x index 8d1a958..42ffdec 100644 --- a/wieldview/models/wieldview_character.x +++ b/unified_skins/models/uniskins_character.x @@ -86,23 +86,7 @@ Frame Root { 0.000000, 0.000000, 0.000000, 1.000000;; } Mesh { //Mesh Mesh - 184; - 3.000500;-2.351679; 7.793017;, - 3.000500; 2.602503;12.738325;, - 3.000500; 7.547810; 7.784142;, - 3.000500; 2.593627; 2.838834;, - 2.999500; 2.593628; 2.838832;, - 2.999500; 7.547811; 7.784141;, - 2.999500; 2.602505;12.738323;, - 2.999500;-2.351679; 7.793017;, - -5.646776;-2.769130; 3.306160;, - -5.646777;-2.769132;11.306160;, - -2.649660; 4.648232;11.306160;, - -2.649659; 4.648234; 3.306160;, - -2.650586; 4.648610; 3.306160;, - -2.650586; 4.648609;11.306160;, - -5.647703;-2.768754;11.306160;, - -5.647703;-2.768755; 3.306160;, + 368; -2.000000;-1.000000;13.500000;, 2.000000;-1.000000;13.500000;, 2.000000;-1.000000; 6.750000;, @@ -231,10 +215,6 @@ Frame Root { 2.000000;-1.000000; 0.000000;, 2.000000; 1.000000; 0.000000;, 0.000000; 1.000000; 0.000000;, - 2.000000;-1.000000;13.500000;, - 2.000000;-1.000000; 6.750000;, - 2.000000; 1.000000; 6.750000;, - 2.000000; 1.000000;13.500000;, -4.000000; 1.000000; 6.750000;, -4.000000;-1.000000; 6.750000;, -2.000000;-1.000000; 6.750000;, @@ -270,8 +250,212 @@ Frame Root { 2.200000; 2.200000;17.700001;, 2.200000; 2.200000;13.300000;, 2.200000;-2.200000;13.300000;, - 2.200000;-2.200000;17.700001;; - 46; + 2.200000;-2.200000;17.700001;, + 2.200000; 1.200000;13.700000;, + 2.200000; 1.200000; 6.600000;, + 2.200000;-1.200000; 6.600000;, + 2.200000;-1.200000;13.700000;, + 2.200000; 1.200000;13.700000;, + 2.200000;-1.200000;13.700000;, + -2.200000;-1.200000;13.700000;, + -2.200000; 1.200000;13.700000;, + 2.200000;-1.200000; 6.600000;, + 2.200000; 1.200000; 6.600000;, + -2.200000; 1.200000; 6.600000;, + -2.200000;-1.200000; 6.600000;, + -2.200000; 1.200000; 6.600000;, + 2.200000; 1.200000; 6.600000;, + 2.200000; 1.200000;13.700000;, + -2.200000; 1.200000;13.700000;, + -2.200000; 1.200000;13.700000;, + -2.200000;-1.200000;13.700000;, + -2.200000;-1.200000; 6.600000;, + -2.200000; 1.200000; 6.600000;, + -2.200000;-1.200000;13.700000;, + 2.200000;-1.200000;13.700000;, + 2.200000;-1.200000; 6.600000;, + -2.200000;-1.200000; 6.600000;, + 2.300000; 2.300000;17.799999;, + 2.300000; 2.300000;13.200000;, + 2.300000;-2.300000;13.200000;, + 2.300000;-2.300000;17.799999;, + 2.300000; 2.300000;17.799999;, + 2.300000;-2.300000;17.799999;, + -2.300000;-2.300000;17.799999;, + -2.300000; 2.300000;17.799999;, + -2.300000; 2.300000;13.200000;, + -2.300000;-2.300000;13.200000;, + 2.300000;-2.300000;13.200000;, + 2.300000; 2.300000;13.200000;, + -2.300000; 2.300000;13.200000;, + 2.300000; 2.300000;13.200000;, + 2.300000; 2.300000;17.799999;, + -2.300000; 2.300000;17.799999;, + -2.300000;-2.300000;13.200000;, + -2.300000; 2.300000;13.200000;, + -2.300000; 2.300000;17.799999;, + -2.300000;-2.300000;17.799999;, + 2.300000;-2.300000;13.200000;, + -2.300000;-2.300000;13.200000;, + -2.300000;-2.300000;17.799999;, + 2.300000;-2.300000;17.799999;, + -4.200000; 1.200000; 6.500000;, + -4.200000;-1.200000; 6.500000;, + -1.800000;-1.200000; 6.500000;, + -1.800000; 1.200000; 6.500000;, + -1.800000; 1.300000;13.800000;, + -1.800000;-1.300000;13.800000;, + -4.200000;-1.300000;13.800000;, + -4.200000; 1.300000;13.800000;, + -4.200000;-1.200000; 6.500000;, + -4.200000; 1.200000; 6.500000;, + -4.200000; 1.300000;13.800000;, + -4.200000;-1.300000;13.800000;, + -4.200000; 1.200000; 6.500000;, + -1.800000; 1.200000; 6.500000;, + -1.800000; 1.300000;13.800000;, + -4.200000; 1.300000;13.800000;, + -1.800000; 1.200000; 6.500000;, + -1.800000;-1.200000; 6.500000;, + -1.800000;-1.300000;13.800000;, + -1.800000; 1.300000;13.800000;, + -1.800000;-1.200000; 6.500000;, + -4.200000;-1.200000; 6.500000;, + -4.200000;-1.300000;13.800000;, + -1.800000;-1.300000;13.800000;, + 4.200000;-1.200000;13.800000;, + 4.200000;-1.200000; 6.500000;, + 1.800000;-1.200000; 6.500000;, + 1.800000;-1.200000;13.800000;, + 1.800000;-1.200000;13.800000;, + 1.800000;-1.200000; 6.500000;, + 1.800000; 1.200000; 6.500000;, + 1.800000; 1.200000;13.800000;, + 1.800000; 1.200000;13.800000;, + 1.800000; 1.200000; 6.500000;, + 4.200000; 1.200000; 6.500000;, + 4.200000; 1.200000;13.800000;, + 4.200000; 1.200000;13.800000;, + 4.200000; 1.200000; 6.500000;, + 4.200000;-1.200000; 6.500000;, + 4.200000;-1.200000;13.800000;, + 4.200000;-1.200000;13.800000;, + 1.800000;-1.200000;13.800000;, + 1.800000; 1.200000;13.800000;, + 4.200000; 1.200000;13.800000;, + 1.800000;-1.200000; 6.500000;, + 4.200000;-1.200000; 6.500000;, + 4.200000; 1.200000; 6.500000;, + 1.800000; 1.200000; 6.500000;, + 2.200000;-1.200000; 6.900000;, + -0.200000;-1.200000; 6.900000;, + -0.200000; 1.200000; 6.900000;, + 2.200000; 1.200000; 6.900000;, + -0.200000;-1.200000;-0.100000;, + 2.200000;-1.200000;-0.100000;, + 2.200000; 1.200000;-0.100000;, + -0.200000; 1.200000;-0.100000;, + 2.200000; 1.200000; 6.900000;, + 2.200000; 1.200000;-0.100000;, + 2.200000;-1.200000;-0.100000;, + 2.200000;-1.200000; 6.900000;, + 2.200000;-1.200000; 6.900000;, + 2.200000;-1.200000;-0.100000;, + -0.200000;-1.200000;-0.100000;, + -0.200000;-1.200000; 6.900000;, + -0.200000; 1.200000; 6.900000;, + -0.200000; 1.200000;-0.100000;, + 2.200000; 1.200000;-0.100000;, + 2.200000; 1.200000; 6.900000;, + -0.200000;-1.200000; 6.900000;, + -0.200000;-1.200000;-0.100000;, + -0.200000; 1.200000;-0.100000;, + -0.200000; 1.200000; 6.900000;, + 0.200000; 1.200000; 6.900000;, + 0.200000;-1.200000; 6.900000;, + -2.200000;-1.200000; 6.900000;, + -2.200000; 1.200000; 6.900000;, + 0.200000; 1.200000;-0.100000;, + 0.200000;-1.200000;-0.100000;, + 0.200000;-1.200000; 6.900000;, + 0.200000; 1.200000; 6.900000;, + -2.200000; 1.200000;-0.100000;, + 0.200000; 1.200000;-0.100000;, + 0.200000; 1.200000; 6.900000;, + -2.200000; 1.200000; 6.900000;, + 0.200000;-1.200000;-0.100000;, + -2.200000;-1.200000;-0.100000;, + -2.200000;-1.200000; 6.900000;, + 0.200000;-1.200000; 6.900000;, + -2.200000;-1.200000;-0.100000;, + -2.200000; 1.200000;-0.100000;, + -2.200000; 1.200000; 6.900000;, + -2.200000;-1.200000; 6.900000;, + -2.200000; 1.200000;-0.100000;, + -2.200000;-1.200000;-0.100000;, + 0.200000;-1.200000;-0.100000;, + 0.200000; 1.200000;-0.100000;, + 2.999500; 2.963148; 3.007597;, + 2.999500; 7.101951; 7.133971;, + 2.999500; 2.970563;11.267752;, + 2.999500;-1.168240; 7.141378;, + 3.000500;-1.168240; 7.141378;, + 3.000500; 2.970562;11.267752;, + 3.000500; 7.101950; 7.133972;, + 3.000500; 2.963147; 3.007598;, + -2.400000; 1.403362;-0.200000;, + -2.400000;-1.403362;-0.200000;, + 0.400000;-1.403362;-0.200000;, + 0.400000; 1.403362;-0.200000;, + -2.400000;-1.403362;-0.200000;, + -2.400000; 1.403362;-0.200000;, + -2.400000; 1.403362; 3.000000;, + -2.400000;-1.403362; 3.000000;, + 0.400000;-1.403362;-0.200000;, + -2.400000;-1.403362;-0.200000;, + -2.400000;-1.403362; 3.000000;, + 0.400000;-1.403362; 3.000000;, + -2.400000; 1.403362;-0.200000;, + 0.400000; 1.403362;-0.200000;, + 0.400000; 1.403362; 3.000000;, + -2.400000; 1.403362; 3.000000;, + 0.400000; 1.403362;-0.200000;, + 0.400000;-1.403362;-0.200000;, + 0.400000;-1.403362; 3.000000;, + 0.400000; 1.403362; 3.000000;, + 0.400000; 1.403362; 3.000000;, + 0.400000;-1.403362; 3.000000;, + -2.400000;-1.403362; 3.000000;, + -2.400000; 1.403362; 3.000000;, + -0.400000;-1.400000; 3.000000;, + -0.400000;-1.400000;-0.200000;, + -0.400000; 1.400000;-0.200000;, + -0.400000; 1.400000; 3.000000;, + -0.400000; 1.400000; 3.000000;, + -0.400000; 1.400000;-0.200000;, + 2.400000; 1.400000;-0.200000;, + 2.400000; 1.400000; 3.000000;, + 2.400000;-1.400000; 3.000000;, + 2.400000;-1.400000;-0.200000;, + -0.400000;-1.400000;-0.200000;, + -0.400000;-1.400000; 3.000000;, + 2.400000; 1.400000; 3.000000;, + 2.400000; 1.400000;-0.200000;, + 2.400000;-1.400000;-0.200000;, + 2.400000;-1.400000; 3.000000;, + -0.400000;-1.400000;-0.200000;, + 2.400000;-1.400000;-0.200000;, + 2.400000; 1.400000;-0.200000;, + -0.400000; 1.400000;-0.200000;, + 2.400000;-1.400000; 3.000000;, + -0.400000;-1.400000; 3.000000;, + -0.400000; 1.400000; 3.000000;, + 2.400000; 1.400000; 3.000000;, + 2.000000;-1.000000;13.500000;, + 2.000000;-1.000000; 6.750000;, + 2.000000; 1.000000; 6.750000;, + 2.000000; 1.000000;13.500000;; + 92; 4;0;1;2;3;, 4;4;5;6;7;, 4;8;9;10;11;, @@ -317,25 +501,55 @@ Frame Root { 4;168;169;170;171;, 4;172;173;174;175;, 4;176;177;178;179;, - 4;180;181;182;183;; + 4;180;181;182;183;, + 4;184;185;186;187;, + 4;188;189;190;191;, + 4;192;193;194;195;, + 4;196;197;198;199;, + 4;200;201;202;203;, + 4;204;205;206;207;, + 4;208;209;210;211;, + 4;212;213;214;215;, + 4;216;217;218;219;, + 4;220;221;222;223;, + 4;224;225;226;227;, + 4;228;229;230;231;, + 4;232;233;234;235;, + 4;236;237;238;239;, + 4;240;241;242;243;, + 4;244;245;246;247;, + 4;248;249;250;251;, + 4;252;253;254;255;, + 4;256;257;258;259;, + 4;260;261;262;263;, + 4;264;265;266;267;, + 4;268;269;270;271;, + 4;272;273;274;275;, + 4;276;277;278;279;, + 4;280;281;282;283;, + 4;284;285;286;287;, + 4;288;289;290;291;, + 4;292;293;294;295;, + 4;296;297;298;299;, + 4;300;301;302;303;, + 4;304;305;306;307;, + 4;308;309;310;311;, + 4;312;313;314;315;, + 4;316;317;318;319;, + 4;320;321;322;323;, + 4;324;325;326;327;, + 4;328;329;330;331;, + 4;332;333;334;335;, + 4;336;337;338;339;, + 4;340;341;342;343;, + 4;344;345;346;347;, + 4;348;349;350;351;, + 4;352;353;354;355;, + 4;356;357;358;359;, + 4;360;361;362;363;, + 4;364;365;366;367;; MeshNormals { //Mesh Normals - 184; - 1.000000; 0.000000; 0.000000;, - 1.000000; 0.000000; 0.000000;, - 1.000000; 0.000000; 0.000000;, - 1.000000; 0.000000; 0.000000;, - -1.000000; 0.000000; 0.000000;, - -1.000000; 0.000000; 0.000000;, - -1.000000; 0.000000; 0.000000;, - -1.000000; 0.000000; 0.000000;, - 0.927171;-0.374640;-0.000000;, - 0.927171;-0.374640;-0.000000;, - 0.927171;-0.374640;-0.000000;, - 0.927171;-0.374640;-0.000000;, - -0.927171; 0.374640; 0.000000;, - -0.927171; 0.374640; 0.000000;, - -0.927171; 0.374640; 0.000000;, - -0.927171; 0.374640; 0.000000;, + 368; -0.000000;-1.000000; 0.000000;, -0.000000;-1.000000; 0.000000;, -0.000000;-1.000000; 0.000000;, @@ -464,10 +678,6 @@ Frame Root { 0.000000; 0.000000;-1.000000;, 0.000000; 0.000000;-1.000000;, 0.000000; 0.000000;-1.000000;, - -1.000000; 0.000000; 0.000000;, - -1.000000; 0.000000; 0.000000;, - -1.000000; 0.000000; 0.000000;, - -1.000000; 0.000000; 0.000000;, 0.000000; 0.000000;-1.000000;, 0.000000; 0.000000;-1.000000;, 0.000000; 0.000000;-1.000000;, @@ -503,8 +713,212 @@ Frame Root { 1.000000; 0.000000; 0.000000;, 1.000000; 0.000000; 0.000000;, 1.000000; 0.000000; 0.000000;, - 1.000000; 0.000000; 0.000000;; - 46; + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + -0.000000; 0.000000;-1.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + -1.000000; 0.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 0.000000;-1.000000;-0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 0.999906;-0.013697;, + 0.000000; 0.999906;-0.013697;, + 0.000000; 0.999906;-0.013697;, + 0.000000; 0.999906;-0.013697;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 0.000000;-0.999906;-0.013697;, + 0.000000;-0.999906;-0.013697;, + 0.000000;-0.999906;-0.013697;, + 0.000000;-0.999906;-0.013697;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000;-1.000000; 0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 0.000000; 1.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 1.000000; 0.000000;-0.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + 0.000000; 0.000000; 1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000; 1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + -0.000000;-1.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 1.000000; 0.000000; 0.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000; 0.000000;-1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + 0.000000;-0.000000; 1.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;, + -1.000000; 0.000000; 0.000000;; + 92; 4;0;1;2;3;, 4;4;5;6;7;, 4;8;9;10;11;, @@ -550,11 +964,103 @@ Frame Root { 4;168;169;170;171;, 4;172;173;174;175;, 4;176;177;178;179;, - 4;180;181;182;183;; + 4;180;181;182;183;, + 4;184;185;186;187;, + 4;188;189;190;191;, + 4;192;193;194;195;, + 4;196;197;198;199;, + 4;200;201;202;203;, + 4;204;205;206;207;, + 4;208;209;210;211;, + 4;212;213;214;215;, + 4;216;217;218;219;, + 4;220;221;222;223;, + 4;224;225;226;227;, + 4;228;229;230;231;, + 4;232;233;234;235;, + 4;236;237;238;239;, + 4;240;241;242;243;, + 4;244;245;246;247;, + 4;248;249;250;251;, + 4;252;253;254;255;, + 4;256;257;258;259;, + 4;260;261;262;263;, + 4;264;265;266;267;, + 4;268;269;270;271;, + 4;272;273;274;275;, + 4;276;277;278;279;, + 4;280;281;282;283;, + 4;284;285;286;287;, + 4;288;289;290;291;, + 4;292;293;294;295;, + 4;296;297;298;299;, + 4;300;301;302;303;, + 4;304;305;306;307;, + 4;308;309;310;311;, + 4;312;313;314;315;, + 4;316;317;318;319;, + 4;320;321;322;323;, + 4;324;325;326;327;, + 4;328;329;330;331;, + 4;332;333;334;335;, + 4;336;337;338;339;, + 4;340;341;342;343;, + 4;344;345;346;347;, + 4;348;349;350;351;, + 4;352;353;354;355;, + 4;356;357;358;359;, + 4;360;361;362;363;, + 4;364;365;366;367;; } //End of Mesh Normals MeshMaterialList { //Mesh Material List 1; - 46; + 92; + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, 0, 0, 0, @@ -609,23 +1115,7 @@ Frame Root { } } //End of Mesh Material List MeshTextureCoords { //Mesh UV Coordinates - 184; - 0.000000; 0.250000;, - 0.000000; 0.000000;, - 0.250000; 0.000000;, - 0.250000; 0.250000;, - 0.250000; 0.250000;, - 0.250000; 0.000000;, - 0.000000; 0.000000;, - -0.000000; 0.250000;, - 0.500000; 0.250000;, - 0.500000; 0.000000;, - 0.250000; 0.000000;, - 0.250000; 0.250000;, - 0.250000; 0.250000;, - 0.250000; 0.000000;, - 0.500000; 0.000000;, - 0.500000; 0.250000;, + 368; 0.500000; 0.812500;, 0.625000; 0.812500;, 0.625000; 1.000000;, @@ -755,10 +1245,6 @@ Frame Root { 0.125000; 0.812500;, 0.187500; 0.812500;, 0.812500; 0.812500;, - 0.812500; 1.000000;, - 0.750000; 1.000000;, - 0.750000; 0.812500;, - 0.812500; 0.812500;, 0.812500; 0.750000;, 0.750000; 0.750000;, 0.750000; 0.812500;, @@ -793,7 +1279,211 @@ Frame Root { 0.625000; 0.625000;, 0.625000; 0.750000;, 0.500000; 0.750000;, - 0.500000; 0.625000;; + 0.500000; 0.625000;, + 0.312500; 0.312500;, + 0.312500; 0.500000;, + 0.250000; 0.500000;, + 0.250000; 0.312500;, + 0.312500; 0.312500;, + 0.312500; 0.250000;, + 0.437500; 0.250000;, + 0.437500; 0.312500;, + 0.562500; 0.250000;, + 0.562500; 0.312500;, + 0.437500; 0.312500;, + 0.437500; 0.250000;, + 0.437500; 0.500000;, + 0.312500; 0.500000;, + 0.312500; 0.312500;, + 0.437500; 0.312500;, + 0.437500; 0.312500;, + 0.500000; 0.312500;, + 0.500000; 0.500000;, + 0.437500; 0.500000;, + 0.500000; 0.312500;, + 0.625000; 0.312500;, + 0.625000; 0.500000;, + 0.500000; 0.500000;, + 0.625000; 0.125000;, + 0.625000; 0.250000;, + 0.500000; 0.250000;, + 0.500000; 0.125000;, + 0.625000; 0.125000;, + 0.625000; 0.000000;, + 0.750000; 0.000000;, + 0.750000; 0.125000;, + 0.750000; 0.125000;, + 0.750000; 0.000000;, + 0.875000; 0.000000;, + 0.875000; 0.125000;, + 0.750000; 0.250000;, + 0.625000; 0.250000;, + 0.625000; 0.125000;, + 0.750000; 0.125000;, + 0.875000; 0.250000;, + 0.750000; 0.250000;, + 0.750000; 0.125000;, + 0.875000; 0.125000;, + 1.000000; 0.250000;, + 0.875000; 0.250000;, + 0.875000; 0.125000;, + 1.000000; 0.125000;, + 0.812500; 0.312500;, + 0.812500; 0.250000;, + 0.750000; 0.250000;, + 0.750000; 0.312500;, + 0.750000; 0.312500;, + 0.750000; 0.250000;, + 0.687500; 0.250000;, + 0.687500; 0.312500;, + 0.687500; 0.500000;, + 0.625000; 0.500000;, + 0.625000; 0.312500;, + 0.687500; 0.312500;, + 0.687500; 0.500000;, + 0.750000; 0.500000;, + 0.750000; 0.312500;, + 0.687500; 0.312500;, + 0.750000; 0.500000;, + 0.812500; 0.500000;, + 0.812500; 0.312500;, + 0.750000; 0.312500;, + 0.812500; 0.500000;, + 0.875000; 0.500000;, + 0.875000; 0.312500;, + 0.812500; 0.312500;, + 0.875000; 0.312500;, + 0.875000; 0.500000;, + 0.812500; 0.500000;, + 0.812500; 0.312500;, + 0.812500; 0.312500;, + 0.812500; 0.500000;, + 0.750000; 0.500000;, + 0.750000; 0.312500;, + 0.750000; 0.312500;, + 0.750000; 0.500000;, + 0.687500; 0.500000;, + 0.687500; 0.312500;, + 0.625000; 0.312500;, + 0.625000; 0.500000;, + 0.687500; 0.500000;, + 0.687500; 0.312500;, + 0.687500; 0.250000;, + 0.750000; 0.250000;, + 0.750000; 0.312500;, + 0.687500; 0.312500;, + 0.750000; 0.250000;, + 0.812500; 0.250000;, + 0.812500; 0.312500;, + 0.750000; 0.312500;, + 0.125000; 0.250000;, + 0.062500; 0.250000;, + 0.062500; 0.312500;, + 0.125000; 0.312500;, + 0.187500; 0.250000;, + 0.125000; 0.250000;, + 0.125000; 0.312500;, + 0.187500; 0.312500;, + 0.062500; 0.312500;, + 0.062500; 0.500000;, + 0.000000; 0.500000;, + 0.000000; 0.312500;, + 0.187500; 0.312500;, + 0.187500; 0.500000;, + 0.250000; 0.500000;, + 0.250000; 0.312500;, + 0.062500; 0.312500;, + 0.062500; 0.500000;, + 0.125000; 0.500000;, + 0.125000; 0.312500;, + 0.125000; 0.312500;, + 0.125000; 0.500000;, + 0.187500; 0.500000;, + 0.187500; 0.312500;, + 0.062500; 0.312500;, + 0.062500; 0.250000;, + 0.125000; 0.250000;, + 0.125000; 0.312500;, + 0.187500; 0.500000;, + 0.125000; 0.500000;, + 0.125000; 0.312500;, + 0.187500; 0.312500;, + 0.125000; 0.500000;, + 0.062500; 0.500000;, + 0.062500; 0.312500;, + 0.125000; 0.312500;, + 0.250000; 0.500000;, + 0.187500; 0.500000;, + 0.187500; 0.312500;, + 0.250000; 0.312500;, + 0.000000; 0.500000;, + 0.062500; 0.500000;, + 0.062500; 0.312500;, + 0.000000; 0.312500;, + 0.125000; 0.312500;, + 0.125000; 0.250000;, + 0.187500; 0.250000;, + 0.187500; 0.312500;, + 0.000000; 0.000000;, + 0.250000; 0.000000;, + 0.250000; 0.250000;, + 0.000000; 0.250000;, + 0.000000; 0.250000;, + 0.250000; 0.250000;, + 0.250000; 0.000000;, + 0.000000; 0.000000;, + 0.375000; 0.062500;, + 0.375000; 0.000000;, + 0.437500; 0.000000;, + 0.437500; 0.062500;, + 0.250000; 0.171875;, + 0.312500; 0.171875;, + 0.312500; 0.062500;, + 0.250000; 0.062500;, + 0.500000; 0.171875;, + 0.437500; 0.171875;, + 0.437500; 0.062500;, + 0.500000; 0.062500;, + 0.375000; 0.171875;, + 0.312500; 0.171875;, + 0.312500; 0.062500;, + 0.375000; 0.062500;, + 0.437500; 0.171875;, + 0.375000; 0.171875;, + 0.375000; 0.062500;, + 0.437500; 0.062500;, + 0.312500; 0.062500;, + 0.312500; 0.000000;, + 0.375000; 0.000000;, + 0.375000; 0.062500;, + 0.375000; 0.062500;, + 0.375000; 0.171875;, + 0.437500; 0.171875;, + 0.437500; 0.062500;, + 0.312500; 0.062500;, + 0.312500; 0.171875;, + 0.375000; 0.171875;, + 0.375000; 0.062500;, + 0.437500; 0.062500;, + 0.437500; 0.171875;, + 0.500000; 0.171875;, + 0.500000; 0.062500;, + 0.312500; 0.062500;, + 0.312500; 0.171875;, + 0.250000; 0.171875;, + 0.250000; 0.062500;, + 0.437500; 0.000000;, + 0.375000; 0.000000;, + 0.375000; 0.062500;, + 0.437500; 0.062500;, + 0.375000; 0.000000;, + 0.312500; 0.000000;, + 0.312500; 0.062500;, + 0.375000; 0.062500;, + 0.812500; 0.812500;, + 0.812500; 1.000000;, + 0.750000; 1.000000;, + 0.750000; 0.812500;; } //End of Mesh UV Coordinates XSkinMeshHeader { 2; @@ -801,154 +1491,24 @@ Frame Root { 6; } SkinWeights { - "Armature_Body"; - 24; - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, + "Armature_Leg_Left"; + 72; 32, 33, 34, 35, - 108, - 109, - 110, - 111; - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000; - 1.000000, 0.000000, 0.000000, 0.000000, - 0.000000, 0.000000,-1.000000, 0.000000, - 0.000000, 1.000000, 0.000000, 0.000000, - 0.000000,-6.750000,-0.000001, 1.000000;; - } //End of Armature_Body Skin Weights - SkinWeights { - "Armature_Arm_Right"; - 35; - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 128, - 129, - 130, - 131, - 136, - 137, - 138, - 139, - 144, - 145, - 146, - 147, - 152, - 153, - 154, - 155, - 165, - 168, - 172; - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 0.072682, - 0.072682, - 0.072682; - 0.989214, 0.143940, 0.027164, 0.000000, - -0.027450,-0.000000, 0.999623, 0.000000, - 0.143886,-0.989587, 0.003951, 0.000000, - -3.920884,13.071540,-0.107668, 1.000000;; - } //End of Armature_Arm_Right Skin Weights - SkinWeights { - "Armature_Leg_Left"; - 24; - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 76, - 77, - 78, - 79, + 36, + 37, + 38, + 39, + 60, + 61, + 62, + 63, + 68, + 69, + 70, + 71, 84, 85, 86, @@ -957,10 +1517,102 @@ Frame Root { 101, 102, 103, - 116, - 117, - 118, - 119; + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, 1.000000, 1.000000, 1.000000, @@ -991,8 +1643,16 @@ Frame Root { 1.000000, 6.750000,-0.000001, 1.000000;; } //End of Armature_Leg_Left Skin Weights SkinWeights { - "Armature_Arm_Left"; - 32; + "Armature_Body"; + 48; + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, 8, 9, 10, @@ -1001,6 +1661,94 @@ Frame Root { 13, 14, 15, + 16, + 17, + 18, + 19, + 92, + 93, + 94, + 95, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000; + 1.000000, 0.000000, 0.000000, 0.000000, + 0.000000, 0.000000,-1.000000, 0.000000, + 0.000000, 1.000000, 0.000000, 0.000000, + 0.000000,-6.750000,-0.000001, 1.000000;; + } //End of Armature_Body Skin Weights + SkinWeights { + "Armature_Head"; + 72; 40, 41, 42, @@ -1009,22 +1757,214 @@ Frame Root { 45, 46, 47, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 132, - 133, - 134, - 135, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 96, + 97, + 98, + 99, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, 148, 149, 150, - 151; + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 0.927318, + 1.000000, + 1.000000, + 0.927318, + 1.000000, + 1.000000, + 1.000000, + 0.927318, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 0.927318, + 1.000000, + 1.000000, + 1.000000, + 0.927318, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 0.927318, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000; + -1.000000, 0.000000,-0.000000, 0.000000, + -0.000000,-0.000000, 1.000000, 0.000000, + 0.000000, 1.000000, 0.000000, 0.000000, + -0.000000,-13.500000,-0.000002, 1.000000;; + } //End of Armature_Head Skin Weights + SkinWeights { + "Armature_Arm_Left"; + 48; + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 116, + 117, + 118, + 119, + 128, + 129, + 130, + 131, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, 1.000000, 1.000000, 1.000000, @@ -1062,33 +2002,261 @@ Frame Root { -0.143886,-0.989587, 0.003951, 0.000000, 3.920884,13.071540,-0.107668, 1.000000;; } //End of Armature_Arm_Left Skin Weights + SkinWeights { + "Armature_Arm_Right"; + 62; + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 112, + 113, + 114, + 115, + 120, + 121, + 122, + 123, + 132, + 133, + 134, + 135, + 145, + 148, + 152, + 196, + 200, + 205, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 364, + 365, + 366, + 367; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 0.072682, + 0.072682, + 0.072682, + 0.072682, + 0.072682, + 0.072682, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000; + 0.989214, 0.143940, 0.027164, 0.000000, + -0.027450,-0.000000, 0.999623, 0.000000, + 0.143886,-0.989587, 0.003951, 0.000000, + -3.920884,13.071540,-0.107668, 1.000000;; + } //End of Armature_Arm_Right Skin Weights SkinWeights { "Armature_Leg_Right"; - 24; - 36, - 37, - 38, - 39, + 72; + 20, + 21, + 22, + 23, + 64, + 65, + 66, + 67, 80, 81, 82, 83, - 96, - 97, - 98, - 99, - 104, - 105, - 106, - 107, - 140, - 141, - 142, - 143, - 156, - 157, - 158, - 159; + 88, + 89, + 90, + 91, + 124, + 125, + 126, + 127, + 136, + 137, + 138, + 139, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363; + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, 1.000000, 1.000000, 1.000000, @@ -1118,110 +2286,6 @@ Frame Root { -0.000000,-1.000000, 0.000000, 0.000000, -1.000000, 6.750000,-0.000001, 1.000000;; } //End of Armature_Leg_Right Skin Weights - SkinWeights { - "Armature_Head"; - 48; - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 112, - 113, - 114, - 115, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183; - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 0.927318, - 1.000000, - 1.000000, - 0.927318, - 1.000000, - 1.000000, - 1.000000, - 0.927318, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000, - 1.000000; - -1.000000, 0.000000,-0.000000, 0.000000, - -0.000000,-0.000000, 1.000000, 0.000000, - 0.000000, 1.000000, 0.000000, 0.000000, - -0.000000,-13.500000,-0.000002, 1.000000;; - } //End of Armature_Head Skin Weights } //End of Mesh Mesh } //End of Player } //End of Armature diff --git a/wieldview/textures/wieldview_character_bg.png b/unified_skins/textures/uniskins_trans.png similarity index 100% rename from wieldview/textures/wieldview_character_bg.png rename to unified_skins/textures/uniskins_trans.png diff --git a/wieldview/init.lua b/wieldview/init.lua index 2c8e87f..dcde368 100644 --- a/wieldview/init.lua +++ b/wieldview/init.lua @@ -6,29 +6,21 @@ if not update_time then end wieldview = { - wielded_items = {}, + wielded_item = {}, } -wieldview.get_wielded_item_texture = function(self, player) - if not player then - return nil - end - local stack = player:get_wielded_item() - local item = stack:get_name() - if not item then - return nil - end - if not minetest.registered_items[item] then - return nil - end - local texture = minetest.registered_items[item].inventory_image - if texture == "" then - if not minetest.registered_items[item].tiles then - return nil +wieldview.get_item_texture = function(self, item) + if item ~= "" then + if minetest.registered_items[item] then + if minetest.registered_items[item].inventory_image ~= "" then + return minetest.registered_items[item].inventory_image + end + if minetest.registered_items[item].tiles then + return minetest.registered_items[item].tiles[1] + end end - texture = minetest.registered_items[item].tiles[1] end - return texture + return uniskins.default_texture end wieldview.update_wielded_item = function(self, player) @@ -41,25 +33,21 @@ wieldview.update_wielded_item = function(self, player) if not item then return end - if self.wielded_items[name] then - if self.wielded_items[name] == item then + if self.wielded_item[name] then + if self.wielded_item[name] == item then return end + uniskins.wielditem[name] = self:get_item_texture(item) uniskins:update_player_visuals(player) end - self.wielded_items[name] = item + self.wielded_item[name] = item end minetest.register_on_joinplayer(function(player) - local texture = uniskins:get_player_skin(name) - player:set_properties({ - visual = "mesh", - mesh = "wieldview_character.x", - textures = {texture}, - visual_size = {x=1, y=1}, - }) + local name = player:get_player_name() + wieldview.wielded_item[name] = "" minetest.after(0, function(player) - uniskins:update_player_visuals(player) + wieldview:update_wielded_item(player) end, player) end) diff --git a/wieldview/models/wieldview_character.blend b/wieldview/models/wieldview_character.blend deleted file mode 100644 index 251ca71..0000000 Binary files a/wieldview/models/wieldview_character.blend and /dev/null differ diff --git a/wieldview/models/wieldview_character_tmp.png b/wieldview/models/wieldview_character_tmp.png deleted file mode 100644 index 5946eb5..0000000 Binary files a/wieldview/models/wieldview_character_tmp.png and /dev/null differ