Further mobs spawner adjustments.

master
James Stevenson 2018-12-26 06:55:38 -05:00
parent 7bd0780ca9
commit ede46a4bb4
3 changed files with 11 additions and 11 deletions

View File

@ -2928,7 +2928,7 @@ local mob_step = function(self, dtime)
runaway_from(self)
local stepper = self.stepper or random()
self.stepper = stepper + dtime
if self.stepper < 12 then
if self.stepper < 15 then
return
else
self.stepper = random()

View File

@ -1,7 +1,7 @@
local path = minetest.get_modpath(minetest.get_current_modname())
local stepper = 0
minetest.register_globalstep(function(dtime)
if stepper < 12 then
if stepper < 15 then
stepper = stepper + dtime
return
else

View File

@ -45,7 +45,6 @@ minetest.register_node("mobs:spawner", {
end
end
local mobs = {
"mobs:rat",
"mobs:rat",
"mobs:npc",
}
@ -55,7 +54,7 @@ minetest.register_node("mobs:spawner", {
local protection = minetest.find_node_near(pos, 13,
{"protector:protect", "protector:protect2"}, true)
if not protection and (biome == "underground" or night) and
minetest.get_node_light(pos) < 7 then
minetest.get_node_light(pos) < 9 then
local mobs_to_insert = {
"mobs:dungeon_master",
"mobs:oerkki",
@ -83,17 +82,18 @@ minetest.register_node("mobs:spawner", {
z = pos.z,
}
local p1 = {
x = spawn_pos.x + floor(colbox[1]),
y = spawn_pos.y + floor(colbox[2]),
z = spawn_pos.z + floor(colbox[3]),
x = spawn_pos.x + colbox[1],
y = spawn_pos.y + colbox[2],
z = spawn_pos.z + colbox[3],
}
local p2 = {
x = spawn_pos.x + ceil(colbox[4]),
y = spawn_pos.y + ceil(colbox[5]),
z = spawn_pos.z + ceil(colbox[6]),
x = spawn_pos.x + colbox[4],
y = spawn_pos.y + colbox[5],
z = spawn_pos.z + colbox[6],
}
local d = vector.distance(p1, p2) * 3.14
local _, s = minetest.find_nodes_in_area(p1, p2, "air", true)
if s["air"] < 9 then
if s["air"] < d then
return minetest.set_node(pos, {name = "air"})
end
minetest.add_entity(spawn_pos, mob)