From 681bf25505ab9df8e183003635d05b757ffa72b8 Mon Sep 17 00:00:00 2001 From: Brandon Date: Fri, 20 Dec 2013 23:52:15 -0600 Subject: [PATCH 1/3] add physics overrides to armor --- 3d_armor/armor.lua | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/3d_armor/armor.lua b/3d_armor/armor.lua index 23f627d..c5a8ec6 100644 --- a/3d_armor/armor.lua +++ b/3d_armor/armor.lua @@ -8,6 +8,7 @@ end armor = { player_hp = {}, elements = {"head", "torso", "legs", "feet"}, + physics = {"jump","speed","gravity"}, formspec = "size[8,8.5]button[0,0;2,0.5;main;Back]" .."list[current_player;main;0,4.5;8,4;]" .."list[detached:player_name_armor;armor_head;3,0;1,1;]" @@ -51,6 +52,8 @@ armor.set_player_armor = function(self, player) local items = 0 local textures = {} local elements = {} + local has_physics = false + local physics_o = {speed=1,gravity=1,jump=1} for i, v in ipairs(self.elements) do local stack = player_inv:get_stack("armor_"..v, 1) local level = stack:get_definition().groups["armor_"..v] @@ -62,7 +65,18 @@ armor.set_player_armor = function(self, player) state = state + stack:get_wear() items = items + 1 end + + for kk,vv in ipairs(self.physics) do + local o_value = stack:get_definition().groups["physics_"..vv] + if ( o_value ~= nil ) then + physics_o[vv] = physics_o[vv] + o_value + end + end + end + + player:set_physics_override(physics_o) + if minetest.get_modpath("shields") then armor_level = armor_level * 0.9 end @@ -230,7 +244,7 @@ minetest.register_on_joinplayer(function(player) armor.textures[name].skin = "player_"..name..".png" end end - minetest.after(0, function(player) + minetest.after(10, function(player) armor:set_player_armor(player) end, player) end) From a07a00c117a34d2ad5ccba6dea904857f91d813a Mon Sep 17 00:00:00 2001 From: Brandon Date: Fri, 20 Dec 2013 23:56:50 -0600 Subject: [PATCH 2/3] remove unused variable --- 3d_armor/armor.lua | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/3d_armor/armor.lua b/3d_armor/armor.lua index c5a8ec6..9676984 100644 --- a/3d_armor/armor.lua +++ b/3d_armor/armor.lua @@ -51,8 +51,7 @@ armor.set_player_armor = function(self, player) local state = 0 local items = 0 local textures = {} - local elements = {} - local has_physics = false + local elements = {} local physics_o = {speed=1,gravity=1,jump=1} for i, v in ipairs(self.elements) do local stack = player_inv:get_stack("armor_"..v, 1) From 55e2b69a0822b60c2142ff93f7489b5f5e8931fc Mon Sep 17 00:00:00 2001 From: Brandon Date: Sun, 22 Dec 2013 19:51:46 -0600 Subject: [PATCH 3/3] change delay back to 0 --- 3d_armor/armor.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/3d_armor/armor.lua b/3d_armor/armor.lua index 9676984..6c35686 100644 --- a/3d_armor/armor.lua +++ b/3d_armor/armor.lua @@ -243,7 +243,7 @@ minetest.register_on_joinplayer(function(player) armor.textures[name].skin = "player_"..name..".png" end end - minetest.after(10, function(player) + minetest.after(1, function(player) armor:set_player_armor(player) end, player) end)