Check mobs are not touching nodes in group:puts_out_fire BEFORE burninating. Should fix the remaining flashing (see #3655).

This commit is contained in:
seventeenthShulker 2024-06-15 22:51:09 +01:00 committed by teknomunk
parent 533650fdcf
commit 1e04bf06a0

@ -653,8 +653,11 @@ function mob_class:do_env_damage()
local _, dim = mcl_worlds.y_to_layer(pos.y) local _, dim = mcl_worlds.y_to_layer(pos.y)
if (self.sunlight_damage ~= 0 or self.ignited_by_sunlight) and (sunlight or 0) >= minetest.LIGHT_MAX and dim == "overworld" then if (self.sunlight_damage ~= 0 or self.ignited_by_sunlight) and (sunlight or 0) >= minetest.LIGHT_MAX and dim == "overworld" then
if self.armor_list and not self.armor_list.helmet or not self.armor_list or self.armor_list and self.armor_list.helmet and self.armor_list.helmet == "" then if self.armor_list and not self.armor_list.helmet or not self.armor_list or self.armor_list and self.armor_list.helmet and self.armor_list.helmet == "" then
if (self.ignited_by_sunlight and not mcl_weather.rain.raining) then if (self.ignited_by_sunlight and (not mcl_weather.rain.raining or not mcl_weather.has_rain(pos))) then
mcl_burning.set_on_fire(self.object, 10) if (#mcl_burning.get_touching_nodes(self.object, "group:puts_out_fire", self) == 0) then
minetest.log("owow")
mcl_burning.set_on_fire(self.object, 10)
end
else else
self:deal_light_damage(pos, self.sunlight_damage) self:deal_light_damage(pos, self.sunlight_damage)
return true return true