mirror of
https://codeberg.org/tenplus1/mobs_monster.git
synced 2025-07-05 01:40:21 +02:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
@ -1,6 +1,49 @@
|
||||
|
||||
local S = mobs.intllib
|
||||
|
||||
local tree_types = {
|
||||
|
||||
{ nodes = {"ethereal:sakura_leaves", "ethereal:sakura_leaves2"},
|
||||
skins = {"mobs_tree_monster5.png"},
|
||||
drops = {
|
||||
{name = "default:stick", chance = 1, min = 1, max = 3},
|
||||
{name = "ethereal:sakura_leaves", chance = 1, min = 1, max = 2},
|
||||
{name = "ethereal:sakura_trunk", chance = 2, min = 1, max = 2},
|
||||
{name = "ethereal:sakura_tree_sapling", chance = 2, min = 0, max = 2},
|
||||
}
|
||||
},
|
||||
|
||||
{ nodes = {"ethereal:frost_leaves"},
|
||||
skins = {"mobs_tree_monster3.png"},
|
||||
drops = {
|
||||
{name = "default:stick", chance = 1, min = 1, max = 3},
|
||||
{name = "ethereal:frost_leaves", chance = 1, min = 1, max = 2},
|
||||
{name = "ethereal:frost_tree", chance = 2, min = 1, max = 2},
|
||||
{name = "ethereal:crystal_spike", chance = 4, min = 0, max = 2},
|
||||
}
|
||||
},
|
||||
|
||||
{ nodes = {"ethereal:yellowleaves"},
|
||||
skins = {"mobs_tree_monster4.png"},
|
||||
drops = {
|
||||
{name = "default:stick", chance = 1, min = 1, max = 3},
|
||||
{name = "ethereal:yellowleaves", chance = 1, min = 1, max = 2},
|
||||
{name = "ethereal:yellow_tree_sapling", chance = 2, min = 0, max = 2},
|
||||
{name = "ethereal:golden_apple", chance = 3, min = 0, max = 2},
|
||||
}
|
||||
},
|
||||
|
||||
{ nodes = {"default:acacia_bush_leaves"},
|
||||
skins = {"mobs_tree_monster6.png"},
|
||||
drops = {
|
||||
{name = "tnt:gunpowder", chance = 1, min = 0, max = 2},
|
||||
{name = "default:iron_lump", chance = 5, min = 0, max = 2},
|
||||
{name = "default:coal_lump", chance = 3, min = 0, max = 3}
|
||||
},
|
||||
explode = true
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
-- Tree Monster (or Tree Gollum) by PilzAdam
|
||||
|
||||
@ -12,8 +55,8 @@ mobs:register_mob("mobs_monster:tree_monster", {
|
||||
--specific_attack = {"player", "mobs_animal:chicken"},
|
||||
reach = 2,
|
||||
damage = 2,
|
||||
hp_min = 7,
|
||||
hp_max = 33,
|
||||
hp_min = 20,
|
||||
hp_max = 40,
|
||||
armor = 100,
|
||||
collisionbox = {-0.4, -1, -0.4, 0.4, 0.8, 0.4},
|
||||
visual = "mesh",
|
||||
@ -66,13 +109,60 @@ mobs:register_mob("mobs_monster:tree_monster", {
|
||||
punch_start = 48,
|
||||
punch_end = 62,
|
||||
},
|
||||
|
||||
-- check surrounding nodes and spawn a specific tree monster
|
||||
on_spawn = function(self)
|
||||
|
||||
local pos = self.object:get_pos() ; pos.y = pos.y - 1
|
||||
local tmp
|
||||
|
||||
for n = 1, #tree_types do
|
||||
|
||||
tmp = tree_types[n]
|
||||
|
||||
if tmp.explode and math.random(2) == 1 then return true end
|
||||
|
||||
if minetest.find_node_near(pos, 1, tmp.nodes) then
|
||||
|
||||
self.base_texture = tmp.skins
|
||||
self.object:set_properties({textures = tmp.skins})
|
||||
|
||||
if tmp.drops then
|
||||
self.drops = tmp.drops
|
||||
end
|
||||
|
||||
if tmp.explode then
|
||||
self.attack_type = "explode"
|
||||
self.explosion_radius = 3
|
||||
self.explosion_timer = 3
|
||||
self.damage = 21
|
||||
self.reach = 3
|
||||
self.fear_height = 4
|
||||
self.water_damage = 2
|
||||
self.lava_damage = 15
|
||||
self.light_damage = 0
|
||||
self.makes_footstep_sound = false
|
||||
self.runaway_from = {"mobs_animal:kitten"}
|
||||
self.sounds = {
|
||||
attack = "tnt_ignite",
|
||||
explode = "tnt_explode",
|
||||
fuse = "tnt_ignite"
|
||||
}
|
||||
end
|
||||
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
return true -- run only once, false/nil runs every activation
|
||||
end
|
||||
})
|
||||
|
||||
|
||||
if not mobs.custom_spawn_monster then
|
||||
mobs:spawn({
|
||||
name = "mobs_monster:tree_monster",
|
||||
nodes = {"default:leaves", "default:jungleleaves", "moretrees:beech_leaves"},
|
||||
nodes = {"group:leaves"}, --{"default:leaves", "default:jungleleaves"},
|
||||
max_light = 7,
|
||||
chance = 7000,
|
||||
min_height = 0,
|
||||
|
Reference in New Issue
Block a user