332 lines
9.8 KiB
Lua
332 lines
9.8 KiB
Lua
--
|
|
-- Jeweled tool defs
|
|
--
|
|
|
|
local S = minetest.get_translator("jewels")
|
|
|
|
-- Automatic jeweling on specific tools
|
|
|
|
-- Adjectives:
|
|
-- * Swift: lower dig speed
|
|
-- * Harming: more damage
|
|
-- * Durable: more uses
|
|
-- * Ranged: higher range
|
|
|
|
local tool_types = {
|
|
pick = {
|
|
steel = {
|
|
digspeed = {
|
|
description = S("Swift Jewel Steel Pickaxe"),
|
|
digspeed = -0.1,
|
|
},
|
|
damage = {
|
|
description = S("Harming Jewel Steel Pickaxe"),
|
|
overlay = "jewels_jeweled_pick_damage.png",
|
|
fleshy = 1,
|
|
},
|
|
uses = {
|
|
description = S("Durable Jewel Steel Pickaxe"),
|
|
uses = 3,
|
|
},
|
|
},
|
|
carbon_steel = {
|
|
digspeed = {
|
|
description = S("Swift Jewel Carbon Steel Pickaxe"),
|
|
digspeed = -0.13,
|
|
},
|
|
damage = {
|
|
description = S("Harming Jewel Carbon Steel Pickaxe"),
|
|
overlay = "jewels_jeweled_pick_damage.png",
|
|
fleshy = 2,
|
|
},
|
|
uses = {
|
|
description = S("Durable Jewel Carbon Steel Pickaxe"),
|
|
uses = 5,
|
|
},
|
|
},
|
|
bronze = {
|
|
digspeed = {
|
|
description = S("Swift Jewel Bronze Pickaxe"),
|
|
digspeed = -0.14,
|
|
},
|
|
damage = {
|
|
description = S("Harming Jewel Bronze Pickaxe"),
|
|
overlay = "jewels_jeweled_pick_damage.png",
|
|
fleshy = 3,
|
|
},
|
|
uses = {
|
|
description = S("Durable Jewel Bronze Pickaxe"),
|
|
uses = 6,
|
|
},
|
|
},
|
|
},
|
|
shovel = {
|
|
steel = {
|
|
digspeed = {
|
|
description = S("Swift Jewel Steel Shovel"),
|
|
digspeed = -0.1,
|
|
},
|
|
damage = {
|
|
description = S("Harming Jewel Steel Shovel"),
|
|
overlay = "jewels_jeweled_shovel_damage.png",
|
|
fleshy = 1,
|
|
},
|
|
uses = {
|
|
description = S("Durable Jewel Steel Shovel"),
|
|
uses = 3,
|
|
},
|
|
},
|
|
carbon_steel = {
|
|
digspeed = {
|
|
description = S("Swift Jewel Carbon Steel Shovel"),
|
|
digspeed = -0.13,
|
|
},
|
|
damage = {
|
|
description = S("Harming Jewel Carbon Steel Shovel"),
|
|
overlay = "jewels_jeweled_shovel_damage.png",
|
|
fleshy = 2,
|
|
},
|
|
uses = {
|
|
description = S("Durable Jewel Carbon Steel Shovel"),
|
|
uses = 5,
|
|
},
|
|
},
|
|
bronze = {
|
|
digspeed = {
|
|
description = S("Swift Jewel Bronze Shovel"),
|
|
digspeed = -0.14,
|
|
},
|
|
damage = {
|
|
description = S("Harming Jewel Bronze Shovel"),
|
|
overlay = "jewels_jeweled_shovel_damage.png",
|
|
fleshy = 3,
|
|
},
|
|
uses = {
|
|
description = S("Durable Jewel Bronze Shovel"),
|
|
uses = 6,
|
|
},
|
|
},
|
|
},
|
|
axe = {
|
|
steel = {
|
|
digspeed = {
|
|
description = S("Swift Jewel Steel Axe"),
|
|
digspeed = -0.1,
|
|
},
|
|
damage = {
|
|
description = S("Harming Jewel Steel Axe"),
|
|
overlay = "jewels_jeweled_axe_damage.png",
|
|
fleshy = 2,
|
|
},
|
|
uses = {
|
|
description = S("Durable Jewel Steel Axe"),
|
|
uses = 3,
|
|
},
|
|
},
|
|
carbon_steel = {
|
|
digspeed = {
|
|
description = S("Swift Jewel Carbon Steel Axe"),
|
|
digspeed = -0.13,
|
|
},
|
|
damage = {
|
|
description = S("Harming Jewel Carbon Steel Axe"),
|
|
overlay = "jewels_jeweled_axe_damage.png",
|
|
fleshy = 3,
|
|
},
|
|
uses = {
|
|
description = S("Durable Jewel Carbon Steel Axe"),
|
|
uses = 5,
|
|
},
|
|
},
|
|
bronze = {
|
|
digspeed = {
|
|
description = S("Swift Jewel Bronze Axe"),
|
|
digspeed = -0.14,
|
|
},
|
|
damage = {
|
|
description = S("Harming Jewel Bronze Axe"),
|
|
overlay = "jewels_jeweled_axe_damage.png",
|
|
fleshy = 4,
|
|
},
|
|
uses = {
|
|
description = S("Durable Jewel Bronze Axe"),
|
|
uses = 6,
|
|
},
|
|
},
|
|
},
|
|
spear = {
|
|
steel = {
|
|
reach = {
|
|
overlay = "jewels_jeweled_spear_reach.png",
|
|
overlay_wield = "jewels_jeweled_spear_reach.png^[transformR90",
|
|
description = S("Extended Jewel Steel Spear"),
|
|
range = 1,
|
|
},
|
|
damage = {
|
|
overlay = "jewels_jeweled_spear_damage.png",
|
|
overlay_wield = "jewels_jeweled_spear_damage.png^[transformR90",
|
|
description = S("Harming Jewel Steel Spear"),
|
|
fleshy = 3,
|
|
},
|
|
uses = {
|
|
overlay = "jewels_jeweled_handle_uses.png",
|
|
overlay_wield = "jewels_jeweled_handle_uses.png^[transformR90",
|
|
description = S("Durable Jewel Steel Spear"),
|
|
uses = 3,
|
|
},
|
|
},
|
|
carbon_steel = {
|
|
reach = {
|
|
description = S("Extended Jewel Carbon Steel Spear"),
|
|
overlay = "jewels_jeweled_spear_reach.png",
|
|
overlay_wield = "jewels_jeweled_spear_reach.png^[transformR90",
|
|
range = 2,
|
|
},
|
|
damage = {
|
|
description = S("Harming Jewel Carbon Steel Spear"),
|
|
overlay = "jewels_jeweled_spear_damage.png",
|
|
overlay_wield = "jewels_jeweled_spear_damage.png^[transformR90",
|
|
fleshy = 4,
|
|
},
|
|
uses = {
|
|
description = S("Durable Jewel Carbon Steel Spear"),
|
|
overlay = "jewels_jeweled_handle_uses.png",
|
|
overlay_wield = "jewels_jeweled_handle_uses.png^[transformR90",
|
|
uses = 5,
|
|
},
|
|
},
|
|
bronze = {
|
|
reach = {
|
|
description = S("Extended Jewel Bronze Spear"),
|
|
overlay = "jewels_jeweled_spear_reach.png",
|
|
overlay_wield = "jewels_jeweled_spear_reach.png^[transformR90",
|
|
range = 2,
|
|
},
|
|
damage = {
|
|
description = S("Harming Jewel Bronze Spear"),
|
|
overlay = "jewels_jeweled_spear_damage.png",
|
|
overlay_wield = "jewels_jeweled_spear_damage.png^[transformR90",
|
|
fleshy = 5,
|
|
},
|
|
uses = {
|
|
description = S("Durable Jewel Bronze Spear"),
|
|
overlay = "jewels_jeweled_handle_uses.png",
|
|
overlay_wield = "jewels_jeweled_handle_uses.png^[transformR90",
|
|
uses = 6,
|
|
},
|
|
},
|
|
},
|
|
shears = {
|
|
steel = {
|
|
digspeed = {
|
|
overlay = "jewels_jeweled_shears_digspeed.png",
|
|
overlay_wield = "jewels_jeweled_shears_digspeed.png^[transformR90",
|
|
description = S("Swift Jewel Steel Shears"),
|
|
digspeed = -0.1,
|
|
},
|
|
uses = {
|
|
overlay = "jewels_jeweled_shears_uses.png",
|
|
overlay_wield = "jewels_jeweled_shears_uses.png^[transformR90",
|
|
description = S("Durable Jewel Steel Shears"),
|
|
uses = 3,
|
|
},
|
|
},
|
|
carbon_steel = {
|
|
digspeed = {
|
|
overlay = "jewels_jeweled_shears_digspeed.png",
|
|
overlay_wield = "jewels_jeweled_shears_digspeed.png^[transformR90",
|
|
description = S("Swift Jewel Carbon Steel Shears"),
|
|
digspeed = -0.13,
|
|
},
|
|
uses = {
|
|
overlay = "jewels_jeweled_shears_uses.png",
|
|
overlay_wield = "jewels_jeweled_shears_uses.png^[transformR90",
|
|
description = S("Durable Jewel Carbon Steel Shears"),
|
|
uses = 5,
|
|
},
|
|
},
|
|
bronze = {
|
|
digspeed = {
|
|
overlay = "jewels_jeweled_shears_digspeed.png",
|
|
overlay_wield = "jewels_jeweled_shears_digspeed.png^[transformR90",
|
|
description = S("Swift Jewel Bronze Shears"),
|
|
digspeed = -0.14,
|
|
},
|
|
uses = {
|
|
overlay = "jewels_jeweled_shears_uses.png",
|
|
overlay_wield = "jewels_jeweled_shears_uses.png^[transformR90",
|
|
description = S("Durable Jewel Bronze Shears"),
|
|
uses = 6,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
|
|
for tool_name, tool_def in pairs(tool_types) do
|
|
for material_name, material_def in pairs(tool_def) do
|
|
for jewel_name, jewel_def in pairs(material_def) do
|
|
local description = jewel_def.description
|
|
local overlay = jewel_def.overlay
|
|
local overlay_wield = jewel_def.overlay_wield
|
|
jewel_def.description = nil
|
|
jewel_def.overlay = nil
|
|
jewel_def.overlay_wield = nil
|
|
if not overlay then
|
|
if jewel_name == "damage" then
|
|
overlay = "jewels_jeweled_handle_damage.png"
|
|
elseif jewel_name == "uses" then
|
|
overlay = "jewels_jeweled_handle_uses.png"
|
|
end
|
|
end
|
|
jewels.register_jewel(
|
|
"default:" .. tool_name .. "_" .. material_name,
|
|
"jewels:" .. tool_name .. "_" .. material_name .. "_" .. jewel_name,
|
|
{
|
|
stats = jewel_def,
|
|
description = description,
|
|
overlay = overlay,
|
|
overlay_wield = overlay_wield,
|
|
}
|
|
)
|
|
end
|
|
end
|
|
end
|
|
|
|
-- Broadswords
|
|
|
|
jewels.register_jewel(
|
|
"default:broadsword",
|
|
"jewels:broadsword_jeweled_pommel",
|
|
{
|
|
description = S("Pommel Jewel Broadsword"),
|
|
overlay = "jewels_jeweled_pommel.png",
|
|
stats = {
|
|
fleshy = 2,
|
|
}
|
|
})
|
|
|
|
jewels.register_jewel(
|
|
"jewels:broadsword_jeweled_pommel",
|
|
"jewels:broadsword_jeweled_pommel_and_guard",
|
|
{
|
|
description = S("Pommel&Guard Jewel Broadsword"),
|
|
overlay = "jewels_jeweled_guard.png",
|
|
stats = {
|
|
range = 1,
|
|
}
|
|
})
|
|
|
|
jewels.register_jewel(
|
|
"jewels:broadsword_jeweled_pommel_and_guard",
|
|
"jewels:serrated_broadsword",
|
|
{
|
|
description = S("Serrated Jewel Broadsword"),
|
|
overlay = "jewels_jeweled_blade.png",
|
|
stats = {
|
|
fleshy = 2,
|
|
range = 1,
|
|
}
|
|
})
|
|
|
|
default.log("jewels", "loaded")
|