fixed legendary items + added copper sword
This commit is contained in:
parent
21c64d1d47
commit
9b76936448
@ -888,7 +888,6 @@ minetest.register_node("default:quartz", {
|
||||
|
||||
-- rail
|
||||
|
||||
|
||||
minetest.register_node("default:rail", {
|
||||
description = "Rail",
|
||||
drawtype = "raillike",
|
||||
|
@ -1,32 +1,40 @@
|
||||
legendary_items = {}
|
||||
legendary_items.rare_weapons = {}
|
||||
legendary_items.register_rare_weapon = function(name, forlevel, def)
|
||||
legendary_items.register_rare_weapon = function(name, level, def)
|
||||
if not def.damage then
|
||||
if def.damage_m and def.damage_d then
|
||||
def.damage = math.floor(skills.get_dmg(level)*def.damage_m-def.damage_d)
|
||||
end
|
||||
end
|
||||
|
||||
table.insert(legendary_items.rare_weapons, name)
|
||||
minetest.register_tool(":legendary_items:"..name, {
|
||||
description = def.description.."\n For Level: ".. tostring(forlevel).. "\n Damage: " .. tostring(def.damage+skills.get_dmg(forlevel)) .. "\n Rare Item",
|
||||
description = def.description.."\n Level: ".. tostring(level).. "\n Damage: " .. def.damage .. "\n Skill: " .. tostring(def.skill) .. "\n Rare Item",
|
||||
inventory_image = def.inventory_image,
|
||||
wield_scale = def.wield_scale,
|
||||
tool_capabilities = {
|
||||
max_drop_level=3,
|
||||
damage_groups = {fleshy=def.damage+skills.get_dmg(forlevel)},
|
||||
damage_groups = {fleshy=def.damage+skills.get_dmg(level)},
|
||||
},
|
||||
skill = def.skill,
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
if user == nil then return end
|
||||
if pointed_thing.type == "object" then
|
||||
if xp.player_levels[user:get_player_name()] and xp.player_levels[user:get_player_name()] > forlevel-1 then
|
||||
if skills.lvls[user:get_player_name()] and skills.lvls[user:get_player_name()][def.skill] > level - 1 then
|
||||
pointed_thing.ref:punch(user, 10,minetest.registered_tools[itemstack:get_name()].tool_capabilities)
|
||||
itemstack:add_wear(300)
|
||||
print("[info]" .. user:get_player_name() .. " is fighting!")
|
||||
else
|
||||
cmsg.push_message_player(user, "[info] You have to be level "..tostring(forlevel).. " to use this weapon!")
|
||||
end
|
||||
cmsg.push_message_player(user, "[info] You have to be " .. def.skill .. " level ".. tostring(level) .. " to use this weapon!")
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
table.insert(def.materials, "default:ruby")
|
||||
blueprint.register_blueprint(name, {
|
||||
description = def.description .. "\n For Level: ".. tostring(forlevel).. "\n Damage: " .. tostring(def.damage+skills.get_dmg(forlevel)) .. "\n Rare Item",
|
||||
description = def.description .. "\n Level: ".. tostring(level).. "\n Damage: " .. tostring(def.damage+skills.get_dmg(level)) .. "\n Rare Item",
|
||||
materials = def.materials,
|
||||
out = "legendary_items:"..name,
|
||||
color = "yellow"
|
||||
@ -39,7 +47,9 @@ legendary_items.register_rare_weapon("old_hammer", 3, {
|
||||
description = "Old Hammer",
|
||||
inventory_image = "legendary_items_old_hammer.png",
|
||||
wield_scale = {x = 2, y = 2, z =1},
|
||||
damage = 3,
|
||||
damage_m = 1.0,
|
||||
damage_d = -2,
|
||||
skill = "warrior",
|
||||
materials = {"default:stick", "default:stone"},
|
||||
})
|
||||
|
||||
@ -47,7 +57,9 @@ legendary_items.register_rare_weapon("old_hammer_lvl_5", 5, {
|
||||
description = "Old Hammer",
|
||||
inventory_image = "legendary_items_old_hammer.png",
|
||||
wield_scale = {x = 2, y = 2, z =1},
|
||||
damage = 5,
|
||||
damage_m = 1.0,
|
||||
damage_d = -3,
|
||||
skill = "warrior",
|
||||
materials = {"default:stick", "default:stone", "default:stone"},
|
||||
})
|
||||
|
||||
@ -55,7 +67,9 @@ legendary_items.register_rare_weapon("old_hammer_lvl_30", 30, {
|
||||
description = "Old Hammer",
|
||||
inventory_image = "legendary_items_old_hammer.png",
|
||||
wield_scale = {x = 2, y = 2, z =1},
|
||||
damage = 7,
|
||||
damage_m = 1.0,
|
||||
damage_d = -7,
|
||||
skill = "warrior",
|
||||
materials = {"default:stick", "default:stone", "default:stone"},
|
||||
})
|
||||
|
||||
@ -63,7 +77,9 @@ legendary_items.register_rare_weapon("old_hammer_lvl_60", 60, {
|
||||
description = "Old Hammer",
|
||||
inventory_image = "legendary_items_old_hammer.png",
|
||||
wield_scale = {x = 2, y = 2, z =1},
|
||||
damage = 11,
|
||||
damage_m = 1.0,
|
||||
damage_d = -15,
|
||||
skill = "warrior",
|
||||
materials = {"default:stick", "default:stone", "default:stone"},
|
||||
})
|
||||
|
||||
@ -71,7 +87,9 @@ legendary_items.register_rare_weapon("old_hammer_lvl_100", 100, {
|
||||
description = "Old Hammer",
|
||||
inventory_image = "legendary_items_old_hammer.png",
|
||||
wield_scale = {x = 2, y = 2, z =1},
|
||||
damage = 17,
|
||||
damage_m = 1.0,
|
||||
damage_d = -20,
|
||||
skill = "warrior",
|
||||
materials = {"default:stick", "default:stone", "default:stone"},
|
||||
})
|
||||
|
||||
@ -80,7 +98,9 @@ legendary_items.register_rare_weapon("old_battle_axe", 3, {
|
||||
description = "Old Battle Axe",
|
||||
inventory_image = "legendary_items_old_battle_axe.png",
|
||||
wield_scale = {x = 1.2, y = 1.2, z =1},
|
||||
damage = 3,
|
||||
damage_m = 1.0,
|
||||
damage_d = -2,
|
||||
skill = "warrior",
|
||||
materials = {"default:stick", "default:stone", "default:stone"},
|
||||
})
|
||||
|
||||
@ -88,7 +108,9 @@ legendary_items.register_rare_weapon("old_battle_axe_lvl_10", 10, {
|
||||
description = "Old Battle Axe",
|
||||
inventory_image = "legendary_items_old_battle_axe.png",
|
||||
wield_scale = {x = 1.2, y = 1.2, z =1},
|
||||
damage = 7,
|
||||
damage_m = 1.0,
|
||||
damage_d = -4,
|
||||
skill = "warrior",
|
||||
materials = {"default:stick", "default:stone", "default:stone"},
|
||||
})
|
||||
|
||||
@ -96,7 +118,9 @@ legendary_items.register_rare_weapon("old_battle_axe_lvl_14", 14, {
|
||||
description = "Old Battle Axe",
|
||||
inventory_image = "legendary_items_old_battle_axe.png",
|
||||
wield_scale = {x = 1.2, y = 1.2, z =1},
|
||||
damage = 7,
|
||||
damage_m = 1.0,
|
||||
damage_d = -6,
|
||||
skill = "warrior",
|
||||
materials = {"default:stick", "default:stone", "default:stone"},
|
||||
})
|
||||
|
||||
@ -104,89 +128,18 @@ legendary_items.register_rare_weapon("sugar_sword_lvl_2", 2, {
|
||||
description = "Sugar Sword",
|
||||
inventory_image = "legendary_items_sugar_sword.png",
|
||||
wield_scale = {x = 1.2, y = 1.2, z =1},
|
||||
damage = 2,
|
||||
damage_m = 1.0,
|
||||
damage_d = -3,
|
||||
skill = "warrior",
|
||||
materials = {"default:stick", "farming:sugar"},
|
||||
})
|
||||
|
||||
legendary_items.register_rare_weapon("sugar_sword_lvl_50", 50, {
|
||||
legendary_items.register_rare_weapon("sugar_sword_lvl_17", 17, {
|
||||
description = "Sugar Sword",
|
||||
inventory_image = "legendary_items_sugar_sword.png",
|
||||
wield_scale = {x = 1.2, y = 1.2, z =1},
|
||||
damage = 7,
|
||||
damage_m = 1.0,
|
||||
damage_d = -5,
|
||||
skill = "warrior",
|
||||
materials = {"default:stick", "farming:sugar"},
|
||||
})
|
||||
|
||||
-- super rare
|
||||
|
||||
minetest.register_craftitem("legendary_items:paper", {
|
||||
description = "The Legendary Paper",
|
||||
inventory_image = "legendary_items_paper.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("legendary_items:paper_green", {
|
||||
description = "Green Paper (rare)",
|
||||
inventory_image = "legendary_items_paper_green.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("legendary_items:teleporting", {
|
||||
description = "Stick of Teleporting",
|
||||
inventory_image = "legendary_items_tp.png",
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
if not placer or not placer:is_player() then
|
||||
return
|
||||
end
|
||||
placer:setpos(pointed_thing.above)
|
||||
minetest.add_particlespawner({
|
||||
amount = 50,
|
||||
time = 1,
|
||||
minpos = {x=pointed_thing.above.x, y=pointed_thing.above.y, z=pointed_thing.above.z},
|
||||
maxpos = {x=pointed_thing.above.x, y=pointed_thing.above.y, z=pointed_thing.above.z},
|
||||
minvel = {x=-2, y=-2, z=-2},
|
||||
maxvel = {x=2, y=4, z=2},
|
||||
minacc = {x=-2, y=-2, z=-2},
|
||||
maxacc = {x=2, y=4, z=2},
|
||||
minexptime = 1,
|
||||
maxexptime = 1,
|
||||
minsize = 1,
|
||||
maxsize = 1,
|
||||
collisiondetection = false,
|
||||
vertical = false,
|
||||
texture = "heart.png",
|
||||
})
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_tool("legendary_items:sword", {
|
||||
description = "The Legendary Sword",
|
||||
inventory_image = "legendary_items_sword.png",
|
||||
wield_scale = {x = 2, y=2, z = 1},
|
||||
tool_capabilities = {
|
||||
max_drop_level=3,
|
||||
damage_groups = {fleshy=50},
|
||||
},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
if not placer or not placer:is_player() then
|
||||
return
|
||||
end
|
||||
placer:set_hp(placer:get_hp()+8)
|
||||
minetest.add_particlespawner({
|
||||
amount = 50,
|
||||
time = 1,
|
||||
minpos = {x=pointed_thing.above.x, y=pointed_thing.above.y, z=pointed_thing.above.z},
|
||||
maxpos = {x=pointed_thing.above.x, y=pointed_thing.above.y, z=pointed_thing.above.z},
|
||||
minvel = {x=-2, y=-2, z=-2},
|
||||
maxvel = {x=2, y=4, z=2},
|
||||
minacc = {x=-2, y=-2, z=-2},
|
||||
maxacc = {x=2, y=4, z=2},
|
||||
minexptime = 1,
|
||||
maxexptime = 1,
|
||||
minsize = 1,
|
||||
maxsize = 1,
|
||||
collisiondetection = false,
|
||||
vertical = false,
|
||||
texture = "heart.png",
|
||||
})
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
|
@ -53,6 +53,7 @@ function skills.register_weapon(name, fromLevel, levels, def)
|
||||
def.damage = math.floor(skills.get_dmg(fromLevel)*def.damage_m-def.damage_d)
|
||||
end
|
||||
end
|
||||
|
||||
for i = fromLevel, levels, 1 do
|
||||
minetest.register_tool("skills:"..name .. "_lvl_" .. tostring(i), {
|
||||
description = def.description.."\n Level: ".. tostring(i).. "\n Damage: " .. tostring(def.damage+ i-fromLevel) .." \n Skill: " .. def.skill,
|
||||
@ -77,11 +78,13 @@ function skills.register_weapon(name, fromLevel, levels, def)
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "skills:"..name .. "_lvl_" .. tostring(i),
|
||||
recipe = {"skills:"..name .. "_lvl_" .. tostring(i), "skills:"..name .. "_lvl_" ..tostring(i)},
|
||||
type = "toolrepair",
|
||||
})
|
||||
|
||||
if i < levels then
|
||||
minetest.register_craft({
|
||||
output = "skills:"..name .. "_lvl_" .. tostring(i+1),
|
||||
@ -91,6 +94,7 @@ function skills.register_weapon(name, fromLevel, levels, def)
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
if def.recipe then
|
||||
minetest.register_craft({
|
||||
output = "skills:"..name .. "_lvl_" .. tostring(fromLevel),
|
||||
@ -289,7 +293,7 @@ skills.register_tool("shield", 5, 5, {
|
||||
wield_scale = {x = 2, y=2, z = 1},
|
||||
skill = "warrior",
|
||||
on_use = function(itemstack, user, pointed_thing, level)
|
||||
user:set_armor_groups({friendly = 0})
|
||||
user:set_armor_groups({friendly = 30})
|
||||
user:set_physics_override({
|
||||
speed = 0.3,
|
||||
})
|
||||
@ -308,7 +312,7 @@ skills.register_tool("shield", 5, 5, {
|
||||
end
|
||||
})
|
||||
|
||||
skills.register_weapon("sword",20, 30, {
|
||||
skills.register_weapon("sword", 10, 20, {
|
||||
description = "Sword",
|
||||
inventory_image = "skills_sword.png",
|
||||
wield_scale = {x = 1.5, y=1.5, z = 1},
|
||||
@ -322,8 +326,22 @@ skills.register_weapon("sword",20, 30, {
|
||||
}
|
||||
})
|
||||
|
||||
skills.register_weapon("sword_copper", 17, 30, {
|
||||
description = "Copper Sword",
|
||||
inventory_image = "skills_sword_copper.png",
|
||||
wield_scale = {x = 1.5, y=1.5, z = 1},
|
||||
damage_m = 1.0,
|
||||
damage_d = -1,
|
||||
skill = "warrior",
|
||||
recipe = {
|
||||
{"", "default:blade", ""},
|
||||
{"", "default:string_strong", ""},
|
||||
{"", "furnace:copper_rod", ""},
|
||||
}
|
||||
})
|
||||
|
||||
skills.register_tool("bow", 1, 30, {
|
||||
description = "Bow",
|
||||
description = "Wooden Bow",
|
||||
inventory_image = "skills_bow.png",
|
||||
wield_image = "skills_bow_wield.png",
|
||||
wield_scale = {x = 2.5, y=2.5, z = 1},
|
||||
|
BIN
mods/skills/textures/skills_sword_copper.png
Normal file
BIN
mods/skills/textures/skills_sword_copper.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 282 B |
Loading…
x
Reference in New Issue
Block a user