forked from MineClone5/MineClone5
Allow damage to armor players with poison
This commit is contained in:
parent
16d9ee47b6
commit
5baa1b0275
|
@ -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.other == "poison" 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 = "punch", other = "poison"})
|
||||
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 = "set_hp", other = "regeneration" })
|
||||
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 = "set_hp", other = "healing" })
|
||||
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 = "punch", other = "harming" })
|
||||
end
|
||||
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue