forked from VoxeLibre/VoxeLibre
master #5
|
@ -69,7 +69,7 @@ function mcl_loot.get_loot(loot_definitions, pr)
|
||||||
local wear_min = math.floor(item.wear_min / 10)
|
local wear_min = math.floor(item.wear_min / 10)
|
||||||
local wear_max = math.floor(item.wear_max / 10)
|
local wear_max = math.floor(item.wear_max / 10)
|
||||||
local wear = pr:next(wear_min, wear_max) * 10
|
local wear = pr:next(wear_min, wear_max) * 10
|
||||||
|
|
||||||
if not item.amount_min and not item.amount_max then
|
if not item.amount_min and not item.amount_max then
|
||||||
itemstring = itemstring .. " 1"
|
itemstring = itemstring .. " 1"
|
||||||
end
|
end
|
||||||
|
|
|
@ -664,7 +664,7 @@ local item_drop = function(self, cooked, looting_level)
|
||||||
local dropdef = self.drops[n]
|
local dropdef = self.drops[n]
|
||||||
local chance = 1 / dropdef.chance
|
local chance = 1 / dropdef.chance
|
||||||
local looting_type = dropdef.looting
|
local looting_type = dropdef.looting
|
||||||
|
|
||||||
if looting_level > 0 then
|
if looting_level > 0 then
|
||||||
local chance_function = dropdef.looting_chance_function
|
local chance_function = dropdef.looting_chance_function
|
||||||
if chance_function then
|
if chance_function then
|
||||||
|
@ -673,7 +673,7 @@ local item_drop = function(self, cooked, looting_level)
|
||||||
chance = chance + (dropdef.looting_factor or 0.01) * looting_level
|
chance = chance + (dropdef.looting_factor or 0.01) * looting_level
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local num = 0
|
local num = 0
|
||||||
local do_common_looting = (looting_level > 0 and looting_type == "common")
|
local do_common_looting = (looting_level > 0 and looting_type == "common")
|
||||||
if random() < chance then
|
if random() < chance then
|
||||||
|
@ -681,11 +681,11 @@ local item_drop = function(self, cooked, looting_level)
|
||||||
elseif not dropdef.looting_ignore_chance then
|
elseif not dropdef.looting_ignore_chance then
|
||||||
do_common_looting = false
|
do_common_looting = false
|
||||||
end
|
end
|
||||||
|
|
||||||
if do_common_looting then
|
if do_common_looting then
|
||||||
num = num + math.floor(math.random(0, looting_level) + 0.5)
|
num = num + math.floor(math.random(0, looting_level) + 0.5)
|
||||||
end
|
end
|
||||||
|
|
||||||
if num > 0 then
|
if num > 0 then
|
||||||
item = dropdef.name
|
item = dropdef.name
|
||||||
|
|
||||||
|
@ -2962,7 +2962,7 @@ local mob_punch = function(self, hitter, tflp, tool_capabilities, dir)
|
||||||
* tmp * ((armor[group] or 0) / 100.0)
|
* tmp * ((armor[group] or 0) / 100.0)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if weapon then
|
if weapon then
|
||||||
local fire_aspect_level = mcl_enchanting.get_enchantment(weapon, "fire_aspect")
|
local fire_aspect_level = mcl_enchanting.get_enchantment(weapon, "fire_aspect")
|
||||||
if fire_aspect_level > 0 then
|
if fire_aspect_level > 0 then
|
||||||
|
@ -3379,11 +3379,11 @@ end
|
||||||
|
|
||||||
-- main mob function
|
-- main mob function
|
||||||
local mob_step = function(self, dtime)
|
local mob_step = function(self, dtime)
|
||||||
|
|
||||||
if not self.fire_resistant then
|
if not self.fire_resistant then
|
||||||
mcl_burning.tick(self.object, dtime)
|
mcl_burning.tick(self.object, dtime)
|
||||||
end
|
end
|
||||||
|
|
||||||
if use_cmi then
|
if use_cmi then
|
||||||
cmi.notify_step(self.object, dtime)
|
cmi.notify_step(self.object, dtime)
|
||||||
end
|
end
|
||||||
|
|
|
@ -170,7 +170,7 @@ local professions = {
|
||||||
{ E1, { "mcl_core:glass", 3, 5 } },
|
{ E1, { "mcl_core:glass", 3, 5 } },
|
||||||
{ { "mcl_core:emerald", 5, 64 }, { "mcl_enchanting:book_enchanted", 1 ,1 }},
|
{ { "mcl_core:emerald", 5, 64 }, { "mcl_enchanting:book_enchanted", 1 ,1 }},
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
{ { "mcl_core:emerald", 5, 64 }, { "mcl_enchanting:book_enchanted", 1 ,1 }},
|
{ { "mcl_core:emerald", 5, 64 }, { "mcl_enchanting:book_enchanted", 1 ,1 }},
|
||||||
},
|
},
|
||||||
|
@ -402,7 +402,7 @@ local init_trades = function(self, inv)
|
||||||
local wanted1_count = math.random(trade[1][2], trade[1][3])
|
local wanted1_count = math.random(trade[1][2], trade[1][3])
|
||||||
local offered_item = trade[2][1]
|
local offered_item = trade[2][1]
|
||||||
local offered_count = math.random(trade[2][2], trade[2][3])
|
local offered_count = math.random(trade[2][2], trade[2][3])
|
||||||
|
|
||||||
local offered_stack = ItemStack({name = offered_item, count = offered_count})
|
local offered_stack = ItemStack({name = offered_item, count = offered_count})
|
||||||
if mcl_enchanting.is_enchanted(offered_item) then
|
if mcl_enchanting.is_enchanted(offered_item) then
|
||||||
if mcl_enchanting.is_book(offered_item) then
|
if mcl_enchanting.is_book(offered_item) then
|
||||||
|
@ -411,7 +411,7 @@ local init_trades = function(self, inv)
|
||||||
mcl_enchanting.enchant_randomly(offered_stack, math.random(5, 19), false, false, true)
|
mcl_enchanting.enchant_randomly(offered_stack, math.random(5, 19), false, false, true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local wanted = { wanted1_item .. " " ..wanted1_count }
|
local wanted = { wanted1_item .. " " ..wanted1_count }
|
||||||
if trade[1][4] then
|
if trade[1][4] then
|
||||||
local wanted2_item = trade[1][4]
|
local wanted2_item = trade[1][4]
|
||||||
|
@ -499,7 +499,7 @@ local function show_trade_formspec(playername, trader, tradenum)
|
||||||
local wanted1 = inv:get_stack("wanted", 1)
|
local wanted1 = inv:get_stack("wanted", 1)
|
||||||
local wanted2 = inv:get_stack("wanted", 2)
|
local wanted2 = inv:get_stack("wanted", 2)
|
||||||
local offered = inv:get_stack("offered", 1)
|
local offered = inv:get_stack("offered", 1)
|
||||||
|
|
||||||
local w2_formspec = ""
|
local w2_formspec = ""
|
||||||
if not wanted2:is_empty() then
|
if not wanted2:is_empty() then
|
||||||
w2_formspec = "item_image[3,1;1,1;"..wanted2:to_string().."]"
|
w2_formspec = "item_image[3,1;1,1;"..wanted2:to_string().."]"
|
||||||
|
|
|
@ -183,7 +183,7 @@ minetest.register_on_joinplayer(function(player)
|
||||||
number = 0x80FF20,
|
number = 0x80FF20,
|
||||||
offset = {x = 0, y = -(48 + 24 + 24)},
|
offset = {x = 0, y = -(48 + 24 + 24)},
|
||||||
z_index = 12,
|
z_index = 12,
|
||||||
})
|
})
|
||||||
end)
|
end)
|
||||||
|
|
||||||
function mcl_experience.xp_to_level(xp)
|
function mcl_experience.xp_to_level(xp)
|
||||||
|
|
|
@ -353,7 +353,7 @@ function minetest.calculate_knockback(player, hitter, time_from_last_punch, tool
|
||||||
return knockback
|
return knockback
|
||||||
end
|
end
|
||||||
|
|
||||||
-- implemented in mcl_mobs and mobs_mc
|
-- implemented in mcl_mobs and mobs_mc
|
||||||
mcl_enchanting.enchantments.looting = {
|
mcl_enchanting.enchantments.looting = {
|
||||||
name = S("Looting"),
|
name = S("Looting"),
|
||||||
max_level = 3,
|
max_level = 3,
|
||||||
|
|
|
@ -543,7 +543,7 @@ function mcl_enchanting.on_inventory_action(player, action, inventory, inventory
|
||||||
if stack:get_name() == "mcl_dye:blue" then
|
if stack:get_name() == "mcl_dye:blue" then
|
||||||
result_list = "enchanting_lapis"
|
result_list = "enchanting_lapis"
|
||||||
stack:add_item(inventory:get_stack("enchanting_lapis", 1))
|
stack:add_item(inventory:get_stack("enchanting_lapis", 1))
|
||||||
else
|
else
|
||||||
result_list = "enchanting_item"
|
result_list = "enchanting_item"
|
||||||
end
|
end
|
||||||
inventory:set_stack(result_list, 1, stack)
|
inventory:set_stack(result_list, 1, stack)
|
||||||
|
|
|
@ -79,7 +79,7 @@ local function drop_xp(pos)
|
||||||
meta:set_int("xp", 0)
|
meta:set_int("xp", 0)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Node callback functions that are the same for active and inactive furnace
|
-- Node callback functions that are the same for active and inactive furnace
|
||||||
|
@ -357,7 +357,7 @@ local function furnace_node_timer(pos, elapsed)
|
||||||
|
|
||||||
srclist = inv:get_list("src")
|
srclist = inv:get_list("src")
|
||||||
src_time = 0
|
src_time = 0
|
||||||
|
|
||||||
meta:set_int("xp", meta:get_int("xp") + 1) -- ToDo give each recipe an idividial XP count
|
meta:set_int("xp", meta:get_int("xp") + 1) -- ToDo give each recipe an idividial XP count
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -491,7 +491,7 @@ minetest.register_node("mcl_furnaces:furnace", {
|
||||||
furnace_reset_delta_time(pos)
|
furnace_reset_delta_time(pos)
|
||||||
-- start timer function, it will helpful if player clears dst slot
|
-- start timer function, it will helpful if player clears dst slot
|
||||||
minetest.get_node_timer(pos):start(1.0)
|
minetest.get_node_timer(pos):start(1.0)
|
||||||
|
|
||||||
if listname == "dst" then
|
if listname == "dst" then
|
||||||
drop_xp(pos)
|
drop_xp(pos)
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue