Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
9198fefb82 | |||
b025878853 | |||
4245fe355f | |||
8fe61c0bb6 | |||
|
89cf7a85db | ||
|
36e3e42745 | ||
|
4c1898d50a |
358
init.lua
Normal file
@ -0,0 +1,358 @@
|
||||
armor.config.material_reinforcedleather = true
|
||||
armor.config.material_hardenedleather = true
|
||||
armor.config.material_blackmithril = true
|
||||
|
||||
armor.materials.reinforcedleather = "3d_armor:reinforcedleather"
|
||||
armor.materials.hardenedleather = "3d_armor:hardenedleather"
|
||||
armor.materials.blackmithril = "3d_armor:blackmithril_ingot"
|
||||
|
||||
local S = minetest.get_translator("3d_armor_classes")
|
||||
|
||||
-- Load Configuration
|
||||
|
||||
for name, config in pairs(armor.config) do
|
||||
local setting = minetest.settings:get("armor_"..name)
|
||||
if type(config) == "number" then
|
||||
setting = tonumber(setting)
|
||||
elseif type(config) == "boolean" then
|
||||
setting = minetest.settings:get_bool("armor_"..name)
|
||||
end
|
||||
if setting ~= nil then
|
||||
armor.config[name] = setting
|
||||
end
|
||||
end
|
||||
for material, _ in pairs(armor.materials) do
|
||||
local key = "material_"..material
|
||||
if armor.config[key] == false then
|
||||
armor.materials[material] = nil
|
||||
end
|
||||
end
|
||||
|
||||
-- Function to change max stamina if hbsprint is present
|
||||
local mod_hbsprint = minetest.get_modpath("hbsprint") ~= nil
|
||||
local function change_stamina_max(player, value)
|
||||
if mod_hbsprint then
|
||||
local new_max = value + hb.get_hudtable("stamina").hudstate[player:get_player_name()].max
|
||||
local val = player:get_meta():get_float("hbsprint:stamina")
|
||||
if val > new_max then
|
||||
player:get_meta():set_float("hbsprint:stamina", new_max)
|
||||
hb.change_hudbar(player, "stamina", new_max, new_max)
|
||||
elseif val <= new_max then
|
||||
hb.unhide_hudbar(player, "stamina")
|
||||
hb.change_hudbar(player, "stamina", nil, new_max)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local mod_hb = minetest.get_modpath("hudbars") ~= nil
|
||||
local function change_hp_max(player, value)
|
||||
local hp_max = player:get_properties().hp_max
|
||||
local hp = player:get_hp()
|
||||
local new_max = hp_max + value
|
||||
if hp > new_max then
|
||||
player:set_hp(new_max, {type="set_hp", from="mod"})
|
||||
if mod_hb then
|
||||
hb.change_hudbar(player, "health", new_max, new_max)
|
||||
end
|
||||
end
|
||||
player:set_properties({hp_max = new_max})
|
||||
end
|
||||
|
||||
-- Reinforced Leather
|
||||
minetest.register_craftitem(":3d_armor:reinforcedleather", {
|
||||
description = S("Reinforced Leather"),
|
||||
inventory_image = "3d_armor_reinforcedleather.png",
|
||||
stack_max = 99,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "3d_armor:reinforcedleather",
|
||||
recipe = {
|
||||
{"default:mithril_ingot","technic:brass_ingot",""},
|
||||
{"darkage:chain", "mobs:minotaur_eye",""},
|
||||
{"", "", ""}
|
||||
}
|
||||
})
|
||||
|
||||
if armor.materials.reinforcedleather then
|
||||
-- Register helmets :
|
||||
armor:register_armor(":3d_armor:helmet_reinforcedleather", {
|
||||
description = S("Reinforced Leather Helmet (@1)", S("Hunter")),
|
||||
inventory_image = "3d_armor_inv_helmet_reinforcedleather.png",
|
||||
groups = {armor_head=1, armor_use=40, physics_speed=0.02, physics_gravity=-0.02},
|
||||
armor_groups = {fleshy=6},
|
||||
damage_groups = {cracky=2, snappy=1, choppy=1, level=2},
|
||||
on_equip = function(player, index, stack)
|
||||
change_stamina_max(player, 2)
|
||||
end,
|
||||
on_unequip = function(player, index, stack)
|
||||
change_stamina_max(player, -2)
|
||||
end,
|
||||
})
|
||||
|
||||
-- Register chestplates :
|
||||
armor:register_armor(":3d_armor:chestplate_reinforcedleather", {
|
||||
description = S("Reinforced Leather Chestplate (@1)", S("Hunter")),
|
||||
inventory_image = "3d_armor_inv_chestplate_reinforcedleather.png",
|
||||
groups = {armor_torso = 1, armor_use = 40, physics_speed=0.08, physics_gravity=-0.08},
|
||||
armor_groups = {fleshy=11},
|
||||
damage_groups = {cracky=2, snappy=1, choppy=1, level=2},
|
||||
on_equip = function(player, index, stack)
|
||||
change_stamina_max(player, 8)
|
||||
end,
|
||||
on_unequip = function(player, index, stack)
|
||||
change_stamina_max(player, -8)
|
||||
end,
|
||||
|
||||
})
|
||||
|
||||
-- Register leggings :
|
||||
armor:register_armor(":3d_armor:leggings_reinforcedleather", {
|
||||
description = S("Reinforced Leather Leggings (@1)", S("Hunter")),
|
||||
inventory_image = "3d_armor_inv_leggings_reinforcedleather.png",
|
||||
groups = {armor_legs = 1, armor_use = 40, physics_speed=0.06, physics_gravity=-0.06},
|
||||
armor_groups = {fleshy=11},
|
||||
damage_groups = {cracky=2, snappy=1, choppy=1, level=2},
|
||||
on_equip = function(player, index, stack)
|
||||
change_stamina_max(player, 6)
|
||||
end,
|
||||
on_unequip = function(player, index, stack)
|
||||
change_stamina_max(player, -6)
|
||||
end,
|
||||
})
|
||||
|
||||
-- Register boots :
|
||||
armor:register_armor(":3d_armor:boots_reinforcedleather", {
|
||||
description = S("Reinforced Leather Boots (@1)", S("Hunter")),
|
||||
inventory_image = "3d_armor_inv_boots_reinforcedleather.png",
|
||||
groups = {armor_feet = 1, armor_use = 40, physics_speed=0.02, physics_gravity=-0.02},
|
||||
armor_groups = {fleshy=6},
|
||||
damage_groups = {cracky=2, snappy=1, choppy=1, level=3},
|
||||
on_equip = function(player, index, stack)
|
||||
change_stamina_max(player, 2)
|
||||
end,
|
||||
on_unequip = function(player, index, stack)
|
||||
change_stamina_max(player, -2)
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
-- Hardened Leather
|
||||
minetest.register_craftitem(":3d_armor:hardenedleather", {
|
||||
description = S("Hardened Leather"),
|
||||
inventory_image = "3d_armor_hardenedleather.png",
|
||||
stack_max = 99,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "3d_armor:hardenedleather",
|
||||
recipe = {
|
||||
{"default:steel_ingot","mobs:leather", "default:bronze_ingot"},
|
||||
{"mobs:leather", "mobs:leather", "mobs:leather"},
|
||||
{"default:bronze_ingot", "mobs:leather", "default:steel_ingot"}
|
||||
}
|
||||
})
|
||||
|
||||
if armor.materials.hardenedleather then
|
||||
-- Register helmets :
|
||||
armor:register_armor(":3d_armor:helmet_hardenedleather", {
|
||||
description = S("Hardened Leather Helmet (@1)", S("Hunter")),
|
||||
inventory_image = "3d_armor_inv_helmet_hardenedleather.png",
|
||||
groups = {armor_head = 1, armor_use = 250, physics_speed=0.01, physics_gravity=-0.01},
|
||||
armor_groups = {fleshy=5},
|
||||
damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2},
|
||||
on_equip = function(player, index, stack)
|
||||
change_stamina_max(player, 1)
|
||||
end,
|
||||
on_unequip = function(player, index, stack)
|
||||
change_stamina_max(player, -1)
|
||||
end,
|
||||
})
|
||||
|
||||
-- Register chestplates :
|
||||
armor:register_armor(":3d_armor:chestplate_hardenedleather", {
|
||||
description = S("Hardened Leather Chestplate (@1)", S("Hunter")),
|
||||
inventory_image = "3d_armor_inv_chestplate_hardenedleather.png",
|
||||
groups = {armor_torso = 1, armor_use = 250, physics_speed=0.04, physics_gravity=-0.04},
|
||||
armor_groups = {fleshy=8},
|
||||
damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2},
|
||||
on_equip = function(player, index, stack)
|
||||
change_stamina_max(player, 4)
|
||||
end,
|
||||
on_unequip = function(player, index, stack)
|
||||
change_stamina_max(player, -4)
|
||||
end,
|
||||
})
|
||||
|
||||
-- Register leggings :
|
||||
armor:register_armor(":3d_armor:leggings_hardenedleather", {
|
||||
description = S("Hardened Leather Leggings (@1)", S("Hunter")),
|
||||
inventory_image = "3d_armor_inv_leggings_hardenedleather.png",
|
||||
groups = {armor_legs = 1, armor_use = 250, physics_speed=0.03, physics_gravity=-0.03},
|
||||
armor_groups = {fleshy=8},
|
||||
damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2},
|
||||
on_equip = function(player, index, stack)
|
||||
change_stamina_max(player, 3)
|
||||
end,
|
||||
on_unequip = function(player, index, stack)
|
||||
change_stamina_max(player, -3)
|
||||
end,
|
||||
})
|
||||
|
||||
-- Register boots :
|
||||
armor:register_armor(":3d_armor:boots_hardenedleather", {
|
||||
description = S("Hardened Leather Boots (@1)", S("Hunter")),
|
||||
inventory_image = "3d_armor_inv_boots_hardenedleather.png",
|
||||
groups = {armor_feet = 1, armor_use = 250, physics_speed=0.01, physics_gravity=-0.01},
|
||||
armor_groups = {fleshy=5},
|
||||
damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2},
|
||||
on_equip = function(player, index, stack)
|
||||
change_stamina_max(player, 1)
|
||||
end,
|
||||
on_unequip = function(player, index, stack)
|
||||
change_stamina_max(player, -1)
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
-- Black Mithril
|
||||
minetest.register_craftitem(":3d_armor:blackmithril_ingot", {
|
||||
description = S("Black Mithril Ingot"),
|
||||
inventory_image = "3d_armor_blackmithril_ingot.png",
|
||||
stack_max = 99,
|
||||
groups = {ingot = 1}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "3d_armor:blackmithril_ingot",
|
||||
recipe = {
|
||||
{"default:mithril_ingot", "mobs:dungeon_master_blood", ""},
|
||||
{"mobs:dungeon_master_diamond", "default:obsidian", ""},
|
||||
{"", "", ""}
|
||||
}
|
||||
})
|
||||
|
||||
if armor.materials.blackmithril then
|
||||
-- Register helmets :
|
||||
armor:register_armor(":3d_armor:helmet_blackmithril", {
|
||||
description = S("Black Mithril Helmet (@1)", S("Warrior")),
|
||||
inventory_image = "3d_armor_inv_helmet_blackmithril.png",
|
||||
groups = {armor_head = 1, armor_heal = 15, armor_use = 40},
|
||||
armor_groups = {fleshy=16},
|
||||
damage_groups = {cracky=2, snappy=1, level=3},
|
||||
on_equip = function(player, index, stack)
|
||||
change_hp_max(player, 1)
|
||||
end,
|
||||
on_unequip = function(player, index, stack)
|
||||
change_hp_max(player, -1)
|
||||
end,
|
||||
})
|
||||
|
||||
-- Register chestplates :
|
||||
armor:register_armor(":3d_armor:chestplate_blackmithril", {
|
||||
description = S("Black Mithril Chestplate (@1)", S("Warrior")),
|
||||
inventory_image = "3d_armor_inv_chestplate_blackmithril.png",
|
||||
groups = {armor_torso = 1, armor_heal = 15, armor_use = 40},
|
||||
armor_groups = {fleshy=22},
|
||||
damage_groups = {cracky=2, snappy=1, level=3},
|
||||
on_equip = function(player, index, stack)
|
||||
change_hp_max(player, 5)
|
||||
end,
|
||||
on_unequip = function(player, index, stack)
|
||||
change_hp_max(player, -5)
|
||||
end,
|
||||
})
|
||||
|
||||
-- Register leggings :
|
||||
armor:register_armor(":3d_armor:leggings_blackmithril", {
|
||||
description = S("Black Mithril Leggings (@1)", S("Warrior")),
|
||||
inventory_image = "3d_armor_inv_leggings_blackmithril.png",
|
||||
groups = {armor_legs = 1, armor_heal = 15, armor_use = 40},
|
||||
armor_groups = {fleshy=22},
|
||||
damage_groups = {cracky=2, snappy=1, level=3},
|
||||
on_equip = function(player, index, stack)
|
||||
change_hp_max(player, 3)
|
||||
end,
|
||||
on_unequip = function(player, index, stack)
|
||||
change_hp_max(player, -3)
|
||||
end,
|
||||
})
|
||||
|
||||
-- Register boots :
|
||||
armor:register_armor(":3d_armor:boots_blackmithril", {
|
||||
description = S("Black Mithril Boots (@1)", S("Warrior")),
|
||||
inventory_image = "3d_armor_inv_boots_blackmithril.png",
|
||||
groups = {armor_feet = 1, armor_heal = 15, armor_use = 40},
|
||||
armor_groups = {fleshy=16},
|
||||
damage_groups = {cracky=2, snappy=1, level=3},
|
||||
on_equip = function(player, index, stack)
|
||||
change_hp_max(player, 1)
|
||||
end,
|
||||
on_unequip = function(player, index, stack)
|
||||
change_hp_max(player, -1)
|
||||
end,
|
||||
})
|
||||
|
||||
-- Register shield :
|
||||
armor:register_armor(":shields:shield_blackmithril", {
|
||||
description = S("Black Mithril Shield (@1)", S("Warrior")),
|
||||
inventory_image = "shields_inv_shield_black_mithril_warrior.png",
|
||||
groups = {armor_shield=15, armor_heal=0, armor_use=50},
|
||||
armor_groups = {fleshy=16},
|
||||
damage_groups = {cracky=2, snappy=1, level=3},
|
||||
reciprocate_damage = true,
|
||||
on_equip = function(player, index, stack)
|
||||
change_hp_max(player, 5)
|
||||
end,
|
||||
on_unequip = function(player, index, stack)
|
||||
change_hp_max(player, -5)
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
for k, v in pairs(armor.materials) do
|
||||
if k == "blackmithril" then
|
||||
minetest.register_craft({
|
||||
output = "shields:shield_"..k,
|
||||
recipe = {
|
||||
{v, v, v},
|
||||
{v, v, v},
|
||||
{"", v, ""},
|
||||
},
|
||||
})
|
||||
end
|
||||
minetest.register_craft({
|
||||
output = "3d_armor:helmet_"..k,
|
||||
recipe = {
|
||||
{v, v, v},
|
||||
{v, "", v},
|
||||
{"", "", ""},
|
||||
},
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = "3d_armor:chestplate_"..k,
|
||||
recipe = {
|
||||
{v, "", v},
|
||||
{v, v, v},
|
||||
{v, v, v},
|
||||
},
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = "3d_armor:leggings_"..k,
|
||||
recipe = {
|
||||
{v, v, v},
|
||||
{v, "", v},
|
||||
{v, "", v},
|
||||
},
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = "3d_armor:boots_"..k,
|
||||
recipe = {
|
||||
{v, "", v},
|
||||
{v, "", v},
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
minetest.log("action", "[3d_armor_classes] loaded.")
|
20
locale/3d_armor_classes.fr.tr
Normal file
@ -0,0 +1,20 @@
|
||||
# textdomain: 3d_armor_classes
|
||||
|
||||
Hunter=Chasseur
|
||||
Warrior=Guerrier
|
||||
Reinforced Leather=Cuir renforcé
|
||||
Reinforced Leather Helmet (@1)=Casque en cuir renforcé (@1)
|
||||
Reinforced Leather Chestplate (@1)=Plastron en cuir renforcé (@1)
|
||||
Reinforced Leather Leggings (@1)=Jambières en cuir renforcé (@1)
|
||||
Reinforced Leather Boots (@1)=Bottes en cuir renforcé (@1)
|
||||
Hardened Leather=Cuir durci
|
||||
Hardened Leather Helmet (@1)=Casque en cuir durci (@1)
|
||||
Hardened Leather Chestplate (@1)=Plastron en cuir durci (@1)
|
||||
Hardened Leather Leggings (@1)=Jambières en cuir durci (@1)
|
||||
Hardened Leather Boots (@1)=Bottes en cuir durci (@1)
|
||||
Black Mithril Ingot=Lingot de mithril noir
|
||||
Black Mithril Helmet (@1)=Casque en mithril noir (@1)
|
||||
Black Mithril Chestplate (@1)=Plastron en mithril noir (@1)
|
||||
Black Mithril Leggings (@1)=Jambières en mithril noir (@1)
|
||||
Black Mithril Boots (@1)=Bottes en mithril noir (@1)
|
||||
Black Mithril Shield (@1)=Bouclier en mithril noir (@1)
|
20
locale/template.txt
Normal file
@ -0,0 +1,20 @@
|
||||
# textdomain: 3d_armor_classes
|
||||
|
||||
Hunter=
|
||||
Warrior=
|
||||
Reinforced Leather=
|
||||
Reinforced Leather Helmet (@1)=
|
||||
Reinforced Leather Chestplate (@1)=
|
||||
Reinforced Leather Leggings (@1)=
|
||||
Reinforced Leather Boots (@1)=
|
||||
Hardened Leather=
|
||||
Hardened Leather Helmet (@1)=
|
||||
Hardened Leather Chestplate (@1)=
|
||||
Hardened Leather Leggings (@1)=
|
||||
Hardened Leather Boots (@1)=
|
||||
Black Mithril Ingot=
|
||||
Black Mithril Helmet (@1)=
|
||||
Black Mithril Chestplate (@1)=
|
||||
Black Mithril Leggings (@1)=
|
||||
Black Mithril Boots (@1)=
|
||||
Black Mithril Shield (@1)=
|
3
mod.conf
Normal file
@ -0,0 +1,3 @@
|
||||
name = 3d_armor_classes
|
||||
depends = 3d_armor,shields
|
||||
optional_depends = hudbars,hbsprint
|
BIN
textures/3d_armor_blackmithril_ingot.png
Normal file
After Width: | Height: | Size: 255 B |
BIN
textures/3d_armor_boots_blackmithril.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
textures/3d_armor_boots_blackmithril_preview.png
Normal file
After Width: | Height: | Size: 653 B |
BIN
textures/3d_armor_boots_hardenedleather.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
textures/3d_armor_boots_hardenedleather_preview.png
Executable file
After Width: | Height: | Size: 461 B |
BIN
textures/3d_armor_boots_reinforcedleather.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
textures/3d_armor_boots_reinforcedleather_preview.png
Executable file
After Width: | Height: | Size: 764 B |
BIN
textures/3d_armor_chestplate_blackmithril.png
Normal file
After Width: | Height: | Size: 9.8 KiB |
BIN
textures/3d_armor_chestplate_blackmithril_preview.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
textures/3d_armor_chestplate_hardenedleather.png
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
textures/3d_armor_chestplate_hardenedleather_preview.png
Executable file
After Width: | Height: | Size: 1.9 KiB |
BIN
textures/3d_armor_chestplate_reinforcedleather.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
textures/3d_armor_chestplate_reinforcedleather_preview.png
Executable file
After Width: | Height: | Size: 2.4 KiB |
BIN
textures/3d_armor_hardenedleather.png
Executable file
After Width: | Height: | Size: 184 B |
BIN
textures/3d_armor_helmet_blackmithril.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
textures/3d_armor_helmet_blackmithril_preview.png
Normal file
After Width: | Height: | Size: 862 B |
BIN
textures/3d_armor_helmet_hardenedleather.png
Normal file
After Width: | Height: | Size: 304 B |
BIN
textures/3d_armor_helmet_hardenedleather_preview.png
Executable file
After Width: | Height: | Size: 243 B |
BIN
textures/3d_armor_helmet_reinforcedleather.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
textures/3d_armor_helmet_reinforcedleather_preview.png
Executable file
After Width: | Height: | Size: 603 B |
BIN
textures/3d_armor_inv_boots_blackmithril.png
Executable file
After Width: | Height: | Size: 2.2 KiB |
BIN
textures/3d_armor_inv_boots_hardenedleather.png
Executable file
After Width: | Height: | Size: 773 B |
BIN
textures/3d_armor_inv_boots_reinforcedleather.png
Normal file
After Width: | Height: | Size: 706 B |
BIN
textures/3d_armor_inv_chestplate_blackmithril.png
Executable file
After Width: | Height: | Size: 3.4 KiB |
BIN
textures/3d_armor_inv_chestplate_hardenedleather.png
Executable file
After Width: | Height: | Size: 1.3 KiB |
BIN
textures/3d_armor_inv_chestplate_reinforcedleather.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
textures/3d_armor_inv_helmet_blackmithril.png
Executable file
After Width: | Height: | Size: 2.4 KiB |
BIN
textures/3d_armor_inv_helmet_hardenedleather.png
Executable file
After Width: | Height: | Size: 171 B |
BIN
textures/3d_armor_inv_helmet_reinforcedleather.png
Normal file
After Width: | Height: | Size: 328 B |
BIN
textures/3d_armor_inv_leggings_blackmithril.png
Executable file
After Width: | Height: | Size: 2.6 KiB |
BIN
textures/3d_armor_inv_leggings_hardenedleather.png
Executable file
After Width: | Height: | Size: 1.4 KiB |
BIN
textures/3d_armor_inv_leggings_reinforcedleather.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
textures/3d_armor_leggings_blackmithril.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
textures/3d_armor_leggings_blackmithril_preview.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
textures/3d_armor_leggings_hardenedleather.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
textures/3d_armor_leggings_hardenedleather_preview.png
Executable file
After Width: | Height: | Size: 2.0 KiB |
BIN
textures/3d_armor_leggings_reinforcedleather.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
textures/3d_armor_leggings_reinforcedleather_preview.png
Executable file
After Width: | Height: | Size: 1.4 KiB |
BIN
textures/3d_armor_reinforcedleather.png
Executable file
After Width: | Height: | Size: 214 B |
BIN
textures/shields_inv_shield_black_mithril_warrior.png
Normal file
After Width: | Height: | Size: 918 B |
BIN
textures/shields_shield_blackmithril.png
Executable file
After Width: | Height: | Size: 904 B |
BIN
textures/shields_shield_blackmithril_preview.png
Normal file
After Width: | Height: | Size: 6.2 KiB |