add armor specs to rainbow armor, add technic armor mod, add redef mod, add technic recycle mod
This commit is contained in:
parent
00106c85c6
commit
c1e648877d
138 changed files with 1321 additions and 4 deletions
142
mods/technic_armor/init.lua
Normal file
142
mods/technic_armor/init.lua
Normal file
|
@ -0,0 +1,142 @@
|
|||
|
||||
-- Use 3d_armor translator to take advantage of existing translations for armor parts
|
||||
local S = minetest.get_translator("3d_armor")
|
||||
|
||||
local materials = {}
|
||||
|
||||
if minetest.get_modpath("technic_worldgen") then
|
||||
materials.lead = {
|
||||
name = S("Lead"),
|
||||
craft_item = "technic:lead_ingot",
|
||||
armor = 1.6,
|
||||
heal = 0,
|
||||
use = 500,
|
||||
radiation = 88
|
||||
}
|
||||
materials.brass = {
|
||||
name = S("Brass"),
|
||||
craft_item = "technic:brass_ingot",
|
||||
armor = 1.8,
|
||||
heal = 0,
|
||||
use = 650,
|
||||
radiation = 43
|
||||
}
|
||||
materials.cast = {
|
||||
name = S("Cast Iron"),
|
||||
craft_item = "technic:cast_iron_ingot",
|
||||
armor = 2.5,
|
||||
heal = 8,
|
||||
use = 200,
|
||||
radiation = 40
|
||||
}
|
||||
materials.carbon = {
|
||||
name = S("Carbon Steel"),
|
||||
craft_item = "technic:carbon_steel_ingot",
|
||||
armor = 2.7,
|
||||
heal = 10,
|
||||
use = 100,
|
||||
radiation = 40
|
||||
}
|
||||
materials.stainless = {
|
||||
name = S("Stainless Steel"),
|
||||
craft_item = "technic:stainless_steel_ingot",
|
||||
armor = 2.7,
|
||||
heal = 10,
|
||||
use = 75,
|
||||
radiation = 40
|
||||
}
|
||||
end
|
||||
|
||||
if minetest.get_modpath("moreores") then
|
||||
materials.silver = {
|
||||
name = S("Silver"),
|
||||
craft_item = "moreores:silver_ingot",
|
||||
armor = 1.8,
|
||||
heal = 6,
|
||||
use = 650,
|
||||
radiation = 53
|
||||
}
|
||||
end
|
||||
|
||||
if minetest.get_modpath("default") then
|
||||
materials.tin = {
|
||||
name = S("Tin"),
|
||||
craft_item = "default:tin_ingot",
|
||||
armor = 1.6,
|
||||
heal = 0,
|
||||
use = 750,
|
||||
radiation = 37
|
||||
}
|
||||
end
|
||||
|
||||
local parts = {
|
||||
helmet = {
|
||||
name = S("Helmet"),
|
||||
place = "head",
|
||||
level = 5,
|
||||
radlevel = 0.10,
|
||||
craft = {{1, 1, 1}, {1, 0, 1}}
|
||||
},
|
||||
chestplate = {
|
||||
name = S("Chestplate"),
|
||||
place = "torso",
|
||||
level = 8,
|
||||
radlevel = 0.35,
|
||||
craft = {{1, 0, 1}, {1, 1, 1}, {1, 1, 1}}
|
||||
},
|
||||
leggings = {
|
||||
name = S("Leggings"),
|
||||
place = "legs",
|
||||
level = 7,
|
||||
radlevel = 0.15,
|
||||
craft = {{1, 1, 1}, {1, 0, 1}, {1, 0, 1}}
|
||||
},
|
||||
boots = {
|
||||
name = S("Boots"),
|
||||
place = "feet",
|
||||
level = 4,
|
||||
radlevel = 0.10,
|
||||
craft = {{1, 0, 1}, {1, 0, 1}}
|
||||
}
|
||||
}
|
||||
|
||||
if minetest.get_modpath("shields") then
|
||||
parts.shield = {
|
||||
name = S("Shield"),
|
||||
place = "shield",
|
||||
level = 5,
|
||||
radlevel = 0.00,
|
||||
craft = {{1, 1, 1}, {1, 1, 1}, {0, 1, 0}}
|
||||
}
|
||||
end
|
||||
|
||||
local function make_recipe(template, material)
|
||||
local recipe = {}
|
||||
for i, row in ipairs(template) do
|
||||
recipe[i] = {}
|
||||
for j, item in ipairs(row) do
|
||||
recipe[i][j] = item == 0 and "" or material
|
||||
end
|
||||
end
|
||||
return recipe
|
||||
end
|
||||
|
||||
for material, m in pairs(materials) do
|
||||
for part, p in pairs(parts) do
|
||||
local name = "technic_armor:"..part.."_"..material
|
||||
armor:register_armor(name, {
|
||||
description = S("@1 @2", m.name, p.name),
|
||||
inventory_image = "technic_armor_inv_"..part.."_"..material..".png",
|
||||
groups = {
|
||||
["armor_"..p.place] = math.floor(p.level * m.armor),
|
||||
armor_heal = m.heal,
|
||||
armor_use = m.use,
|
||||
armor_radiation = math.floor(p.radlevel * m.radiation)
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = name,
|
||||
recipe = make_recipe(p.craft, m.craft_item),
|
||||
})
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue