cops = {} cops.copsSpawned = 0 -- Pig spawner minetest.register_node("cops:pig_spawner", { walkable = false; drawtype = "glasslike", paramtype = "light", is_ground_content = false, sunlight_propagates = true, --[[on_timer = function(pos) minetest.add_entity(pos, "cops:cop_regular_female") return true end, on_construct = function(pos) minetest.get_node_timer(pos):start(20) end,]] }) --[[ minetest.register_abm({ nodenames = {"cops:pig_spawner"}, interval = 30, chance = 5, action = function(pos, node, active_object_count, active_object_count_wider) local i = math.random(0, 2) if i == 0 then minetest.add_entity(pos, "cops:cop_regular_female") elseif i == 1 then minetest.add_entity(pos, "cops:cop_regular_male") elseif i == 2 then minetest.add_entity(pos, "cops:cop_armedthug") end end})]] minetest.register_abm({ nodenames = {"main:bricks_stone"}, interval = 40, chance = 140, action = function(pos, node, active_object_count, active_object_count_wider) if cops.copsSpawned < 20 then newPos = {x = pos.x, y = pos.y + 2, z = pos.z} local i = math.random(0, 7) if i < 2 then minetest.add_entity(newPos, "cops:cop_regular_female") elseif i < 6 then minetest.add_entity(newPos, "cops:cop_regular_male") elseif i == 7 then minetest.add_entity(newPos, "cops:cop_armedthug") end cops.copsSpawned = cops.copsSpawned + 1 end end}) -- Cops mobs:register_mob("cops:cop_regular_female", { type = "monster", passive = false, attack_type = "dogfight", pathfinding = true, reach = 2, damage = 3, hp_min = 16, hp_max = 25, armor = 100, collisionbox = { -.4, 0, -.4, .4, 2, .4 }, pushable = true, visual = "mesh", mesh = "character.b3d", textures = { {"cop_regular_female.png"}, }, makes_footstep_sound = true, sounds = { random = "female_noise", }, on_die = onCopDie, walk_velocity = 2, run_velocity = 8, jump_height = 1, stepheight = 0, floats = 0, view_range = 45, fall_damage = true, drops = { {name = "cops:badge", chance = 4, min = 0, max = 1}, {name = "cops:handcuffs", chance = 3, min = 0, max = 1}, {name = "cops:electric_weapon_broken", chance = 3, min = 0, max = 1} }, animation = { speed_normal = 30, speed_run = 50, stand_start = 0, stand_end = 79, walk_start = 168, walk_end = 187, run_start = 168, run_end = 187, punch_start = 200, punch_end = 219 }, }) mobs:register_mob("cops:cop_regular_male", { type = "monster", passive = false, attack_type = "dogfight", pathfinding = true, reach = 2, damage = 3, hp_min = 21, hp_max = 25, armor = 100, collisionbox = { -.4, 0, -.4, .4, 2, .4 }, pushable = true, visual = "mesh", mesh = "character.b3d", textures = { {"cop_regular_male.png"}, }, makes_footstep_sound = true, sounds = { random = "male_noise", }, on_die = onCopDie, walk_velocity = 2, run_velocity = 8, jump_height = 1, stepheight = 0, floats = 0, view_range = 45, fall_damage = true, drops = { {name = "cops:badge", chance = 4, min = 0, max = 1}, {name = "cops:handcuffs", chance = 3, min = 0, max = 1}, {name = "cops:electric_weapon_broken", chance = 3, min = 0, max = 1} }, animation = { speed_normal = 30, speed_run = 50, stand_start = 0, stand_end = 79, walk_start = 168, walk_end = 187, run_start = 168, run_end = 187, punch_start = 200, punch_end = 219 }, }) mobs:register_mob("cops:cop_armedthug", { type = "monster", passive = false, attack_type = "dogfight", pathfinding = true, reach = 3, damage = 5, hp_min = 46, hp_max = 50, armor = 100, collisionbox = { -.4, 0, -.4, .4, 2, .4 }, pushable = true, visual = "mesh", mesh = "character.b3d", textures = { {"cop_armedthug.png"}, }, makes_footstep_sound = true, sounds = { random = "male_noise", }, on_die = onCopDie, walk_velocity = 2, run_velocity = 8, jump_height = 1, stepheight = 0, floats = 0, view_range = 45, fall_damage = true, drops = { {name = "cops:badge", chance = 3, min = 0, max = 1}, {name = "cops:handcuffs", chance = 4, min = 1, max = 2}, }, animation = { speed_normal = 30, speed_run = 50, stand_start = 0, stand_end = 79, walk_start = 168, walk_end = 187, run_start = 168, run_end = 187, punch_start = 200, punch_end = 219 }, }) onCopDie = function() cops.copsSpawned = cops.copsSpawned - 1 end