EinsDreiDreiSieben/mods/tt_armor/init.lua

70 lines
1.7 KiB
Lua

local S = minetest.get_translator(minetest.get_current_modname())
local function physics_recalculation(value)
local new_value = math.floor(value * 100)
if new_value > 0 then
new_value = "+" .. new_value
end
return new_value
end
tt.register_snippet(function(itemstring)
local def = minetest.registered_items[itemstring]
local desc
local armor_heal = def.groups.armor_heal
local armor_use = def.groups.armor_use
local armor_fire = def.groups.armor_fire
local armor_water = def.groups.armor_water
local armor_feather = def.groups.armor_feather
local physics_speed = def.groups.physics_speed
local physics_gravity = def.groups.physics_gravity
local physics_jump = def.groups.physics_jump
if def.armor_groups then
desc = S("Armor")
if armor_heal then
desc = desc .. "\n" .. S("Protection: @1%", math.floor(armor_heal))
end
if armor_use then
desc = desc .. "\n" .. S("Strength: @1", math.floor(65535 / armor_use))
end
if armor_fire then
desc = desc .. "\n" .. S("Fire: @1", armor_fire)
end
if armor_water then
desc = desc .. "\n" .. S("Water protection")
end
if armor_feather then
desc = desc .. "\n" .. S("Fall protection")
end
if physics_speed then
desc = desc .. "\n" .. S("Speed: @1%", physics_recalculation(physics_speed))
end
if physics_gravity then
desc = desc .. "\n" .. S("Gravity: @1%", physics_recalculation(physics_gravity))
end
if physics_jump then
desc = desc .. "\n" .. S("Jump: @1%", physics_recalculation(physics_jump))
end
if def.damage_groups then
desc = desc .. "\n" .. S("Protected groups:")
for key, value in pairs(def.damage_groups) do
desc = desc .. "\n- " .. key ..": " .. value
end
end
end
return desc
end)