Fix global variable references and exit mob_step if missing pos

This commit is contained in:
ancientmarinerdev 2023-05-18 12:52:27 +01:00
parent 08cbd95a5e
commit 10a3d06360
4 changed files with 7 additions and 7 deletions

View File

@ -308,7 +308,7 @@ local function dir_to_pitch(dir)
return -math.atan2(-dir.y, xz)
end
local function who_are_you_looking_at (self)
local function who_are_you_looking_at (self, dtime)
local pos = self.object:get_pos()
local stop_look_at_player_chance = math.random(833/self.curiosity)
@ -361,7 +361,7 @@ function mob_class:check_head_swivel(dtime)
if not self.head_swivel or type(self.head_swivel) ~= "string" then return end
who_are_you_looking_at (self)
who_are_you_looking_at (self, dtime)
local final_rotation = vector.zero()
local oldp,oldr = self.object:get_bone_position(self.head_swivel)

View File

@ -823,7 +823,7 @@ end
function mob_class:step_damage (dtime, pos)
if not self.fire_resistant then
mcl_burning.tick(self.object, dtime, self)
if not self.object:get_pos() then return end -- mcl_burning.tick may remove object immediately
if not self.object:get_pos() then return true end -- mcl_burning.tick may remove object immediately
if self:check_for_death("fire", {type = "fire"}) then
return true

View File

@ -63,7 +63,7 @@ local function barrel_open(pos, node, clicker)
minetest.swap_node(pos, { name = "mcl_barrels:barrel_open", param2 = node.param2 })
open_barrels[playername] = pos
minetest.sound_play({name="mcl_barrels_default_barrel_open", pos=node_pos, gain=0.5, max_hear_distance=16}, true)
minetest.sound_play({name="mcl_barrels_default_barrel_open", pos=pos, gain=0.5, max_hear_distance=16}, true)
end
local function close_forms(pos)
@ -81,7 +81,7 @@ local function update_after_close(pos)
if not node then return end
if node.name == "mcl_barrels:barrel_open" then
minetest.swap_node(pos, {name = "mcl_barrels:barrel_closed", param2 = node.param2})
minetest.sound_play({name="mcl_barrels_default_barrel_close", pos=node_pos, gain=0.5, max_hear_distance=16}, true)
minetest.sound_play({name="mcl_barrels_default_barrel_close", pos=pos, gain=0.5, max_hear_distance=16}, true)
end
end

View File

@ -335,7 +335,7 @@ local function set_water_palette(minp,maxp,data2,area,biomemap,nodes)
return lvm_used
end
local function set_seagrass_param2(minp,maxp,data2,area,biomemap,nodes)
local function set_seagrass_param2(minp,maxp,data2,area,nodes)
local aream = VoxelArea:new({MinEdge={x=minp.x, y=0, z=minp.z}, MaxEdge={x=maxp.x, y=0, z=maxp.z}})
local nodes = minetest.find_nodes_in_area(minp, maxp, nodes)
for n=1, #nodes do
@ -440,7 +440,7 @@ local function block_fixes_seagrass(vm, data, data2, emin, emax, area, minp, max
local pr = PseudoRandom(blockseed)
if minp.y <= mcl_vars.mg_overworld_max and maxp.y >= mcl_vars.mg_overworld_min then
-- Set param2 of seagrass to 3.
lvm_used = set_seagrass_param2(minp,maxp,data2,area,biomemap,{"group:seagrass"})
lvm_used = set_seagrass_param2(minp, maxp, data2, area, {"group:seagrass"})
end
return lvm_used
end