mirror of
https://git.minetest.land/VoxeLibre/VoxeLibre.git
synced 2024-11-22 10:31:06 +01:00
Update to allow poison damage with armor.
This commit is contained in:
parent
16d9ee47b6
commit
3be2ff1977
2 changed files with 10 additions and 6 deletions
|
@ -192,7 +192,7 @@ end
|
|||
|
||||
armor.update_armor = function(self, player)
|
||||
-- Legacy support: Called when armor levels are changed
|
||||
-- Other mods can hook on to this function, see hud mod for example
|
||||
-- Other mods can hook on to this function, see hud mod for example
|
||||
end
|
||||
|
||||
armor.get_armor_points = function(self, player)
|
||||
|
@ -429,7 +429,7 @@ minetest.register_on_joinplayer(function(player)
|
|||
for i=1, 6 do
|
||||
local stack = player_inv:get_stack("armor", i)
|
||||
armor_inv:set_stack("armor", i, stack)
|
||||
end
|
||||
end
|
||||
armor.def[name] = {
|
||||
count = 0,
|
||||
level = 0,
|
||||
|
@ -499,6 +499,10 @@ minetest.register_on_player_hpchange(function(player, hp_change, reason)
|
|||
return hp_change
|
||||
end
|
||||
|
||||
if reason.type == "poison" and reason.from == "potion" then
|
||||
return hp_change
|
||||
end
|
||||
|
||||
local heal_max = 0
|
||||
local items = 0
|
||||
local armor_damage = math.max(1, math.floor(math.abs(hp_change)/4))
|
||||
|
|
|
@ -51,7 +51,7 @@ minetest.register_globalstep(function(dtime)
|
|||
if player._cmi_is_mob then
|
||||
player.health = math.max(player.health - 1, 1)
|
||||
else
|
||||
player:set_hp( math.max(player:get_hp() - 1, 1), { type = "punch", from = "potion" })
|
||||
player:set_hp( math.max(player:get_hp() - 1, 1), { type = "poison", from = "potion" })
|
||||
end
|
||||
|
||||
is_poisoned[player].hit_timer = 0
|
||||
|
@ -81,7 +81,7 @@ minetest.register_globalstep(function(dtime)
|
|||
if player:get_pos() then mcl_potions._add_spawner(player, "#A52BB2") end
|
||||
|
||||
if is_regenerating[player].heal_timer >= is_regenerating[player].step then
|
||||
player:set_hp(math.min(player:get_properties().hp_max or 20, player:get_hp() + 1))
|
||||
player:set_hp(math.min(player:get_properties().hp_max or 20, player:get_hp() + 1), { type = "regeneration", from = "potion" })
|
||||
is_regenerating[player].heal_timer = 0
|
||||
end
|
||||
|
||||
|
@ -467,7 +467,7 @@ function mcl_potions.healing_func(player, hp)
|
|||
if obj and obj._cmi_is_mob then
|
||||
obj.health = math.max(obj.health + hp, obj.hp_max)
|
||||
else
|
||||
player:set_hp(math.min(player:get_hp() + hp, player:get_properties().hp_max))
|
||||
player:set_hp(math.min(player:get_hp() + hp, player:get_properties().hp_max), { type = "healing", from = "potion" })
|
||||
end
|
||||
|
||||
else
|
||||
|
@ -475,7 +475,7 @@ function mcl_potions.healing_func(player, hp)
|
|||
if obj and obj._cmi_is_mob then
|
||||
obj.health = obj.health + hp
|
||||
else
|
||||
player:set_hp(player:get_hp() + hp, { type = "punch", from = "potion" })
|
||||
player:set_hp(player:get_hp() + hp, { type = "harming", from = "potion" })
|
||||
end
|
||||
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue