minetest-mm/mods/mobs_animal/panda.lua

81 lines
1.8 KiB
Lua
Raw Normal View History

2020-10-26 17:38:53 +01:00
2024-12-19 12:55:40 +01:00
local S = minetest.get_translator("mobs_animal")
2020-10-26 17:38:53 +01:00
-- Panda by AspireMint (CC BY-SA 3.0)
mobs:register_mob("mobs_animal:panda", {
2024-12-19 12:55:40 +01:00
stepheight = 0.6,
2020-10-26 17:38:53 +01:00
type = "animal",
passive = false,
attack_type = "dogfight",
group_attack = false,
owner_loyal = true,
attack_npcs = false,
reach = 2,
damage = 3,
hp_min = 10,
hp_max = 24,
armor = 200,
collisionbox = {-0.4, -0.45, -0.4, 0.4, 0.45, 0.4},
visual = "mesh",
mesh = "mobs_panda.b3d",
2024-12-19 12:55:40 +01:00
textures = {{"mobs_panda.png"}},
2020-10-26 17:38:53 +01:00
makes_footstep_sound = true,
sounds = {
random = "mobs_panda",
2024-12-19 12:55:40 +01:00
attack = "mobs_panda"
2020-10-26 17:38:53 +01:00
},
walk_chance = 5,
walk_velocity = 0.5,
run_velocity = 1.5,
jump = false,
jump_height = 6,
follow = {"ethereal:bamboo", "bamboo:trunk"},
view_range = 8,
drops = {
2024-12-19 12:55:40 +01:00
{name = "mobs:meat_raw", chance = 1, min = 1, max = 2}
2020-10-26 17:38:53 +01:00
},
2024-12-19 12:55:40 +01:00
water_damage = 0.01,
2020-10-26 17:38:53 +01:00
lava_damage = 5,
light_damage = 0,
fear_height = 6,
animation = {
speed_normal = 15,
2024-12-19 12:55:40 +01:00
stand_start = 130, stand_end = 270,
stand1_start = 0, stand1_end = 0, -- rest
stand2_start = 1, stand2_end = 1, -- covers eyes
stand3_start = 2, stand3_end = 2, -- surprised
walk_start = 10, walk_end = 70,
run_start = 10, run_end = 70,
punch_start = 80, punch_end = 120
2020-10-26 17:38:53 +01:00
},
2024-12-19 12:55:40 +01:00
2020-10-26 17:38:53 +01:00
on_rightclick = function(self, clicker)
if mobs:feed_tame(self, clicker, 20, true, true) then return end
if mobs:protect(self, clicker) then return end
if mobs:capture_mob(self, clicker, 0, 5, 50, false, nil) then return end
2024-12-19 12:55:40 +01:00
end
2020-10-26 17:38:53 +01:00
})
2024-12-19 12:55:40 +01:00
-- where to spawn (ethereal bamboo biome only)
2020-10-26 17:38:53 +01:00
if minetest.get_modpath("ethereal") and not mobs.custom_spawn_animal then
mobs:spawn({
name = "mobs_animal:panda",
nodes = {"ethereal:bamboo_dirt"},
neighbors = {"group:grass"},
min_light = 14,
interval = 60,
2024-12-19 12:55:40 +01:00
chance = 8000,
2020-10-26 17:38:53 +01:00
min_height = 10,
max_height = 80,
2024-12-19 12:55:40 +01:00
day_toggle = true
2020-10-26 17:38:53 +01:00
})
end
2024-12-19 12:55:40 +01:00
-- spawn egg
2020-10-26 17:38:53 +01:00
mobs:register_egg("mobs_animal:panda", S("Panda"), "mobs_panda_inv.png")