1
0
Fork 0

integrated fox, owl and tortoise from dmobs/mobs_doomed

* do not integrate stupid ones like niancat or pig that explotes
* thstime from dmobs we only integrate friently ones and one aggressive
main
mckaygerhard 2023-08-06 18:22:07 -04:00
parent ebacf944ff
commit 0d5513a8fb
12 changed files with 266 additions and 0 deletions

78
fox.lua Normal file
View File

@ -0,0 +1,78 @@
local followf = {}
table.insert(followf, "mobs:meat_raw")
--if minetest.get_modpath("mobs_animal") then
table.insert(followf, "mobs_animal:muttom_raw")
--end
-- Fox
mobs:register_mob(":mobs_doomed:fox", {
type = "monster",
attacks_monsters = true,
reach = 1,
damage = 2,
attack_type = "dogfight",
hp_min = 42,
hp_max = 52,
armor = 130,
collisionbox = {-0.4, -0.6, -0.4, 0.3, 0.3, 0.3},
-- runaway = true,
-- pathfinding = true,
visual = "mesh",
mesh = "mobs_fox.b3d",
textures = {
{"mobs_fox.png"},
},
blood_texture = "mobs_blood.png",
visual_size = {x=1.5, y=1.5},
makes_footstep_sound = true,
walk_velocity = 1,
run_velocity = 2.5,
jump = true,
drops = {
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
},
on_activate = function(self)
if math.random(1,5) == 1 then
self.type = "animal"
end
end,
water_damage = 0,
lava_damage = 2,
light_damage = 0,
fire_damage = 2,
fall_damage = 1,
fear_height = 4,
replace_rate = 10,
replace_what = {"farming:wheat_5", "default:fence_wood", "default:grass_5", "default:dirt_with_grass"},
replace_with = "air",
follow = followf,
view_range = 14,
animation = {
speed_normal = 6,
speed_run = 15,
walk_start = 25,
walk_end = 35,
stand_start = 51,
stand_end = 60,
run_start = 1,
run_end = 16,
punch_start = 36,
punch_end = 51,
},
on_rightclick = function(self, clicker)
if mobs:feed_tame(self, clicker, 8, true, true) then
return
end
mobs:capture_mob(self, clicker, 0, 5, 50, false, nil)
end,
})
mobs:register_egg(":mobs_doomed:fox", "Fox", "wool_orange.png", 1)
mobs:spawn({name = ":mobs_doomed:owl", nodes = {"group:tree"}, neighbor = {},
min_light = 0, max_light = 7, interval = 300, chance = 16000, active_object_count = 2, min_height = 0, max_height = 2000})

View File

@ -48,6 +48,10 @@ dofile(path .. "kitten.lua") -- Jordach/BFD
dofile(path .. "penguin.lua") -- D00Med
dofile(path .. "panda.lua") -- AspireMint
dofile(path .. "fox.lua") -- D00Med
dofile(path .. "owl.lua") -- D00Med
dofile(path .. "tortoise.lua") -- D00Med
-- Load custom spawning
if mobs.custom_spawn_animal then

BIN
models/mobs_fox.b3d Normal file

Binary file not shown.

BIN
models/mobs_owl.b3d Normal file

Binary file not shown.

BIN
models/mobs_tortoise.b3d Normal file

Binary file not shown.

101
owl.lua Normal file
View File

@ -0,0 +1,101 @@
local follow = {}
-- detect common minetest famous mobs
if minetest.get_modpath("farming") then
table.insert(follow, "farming:seed_wheat")
table.insert(follow, "farming:seed_cotton")
end
if minetest.get_modpath("butterflies") then
table.insert(follow, "butterflies:butterfly_red")
table.insert(follow, "butterflies:butterfly_violet")
table.insert(follow, "butterflies:butterfly_white")
end
if minetest.get_modpath("fireflies") then
table.insert(follow, "fireflies:firefly")
end
if minetest.get_modpath("mobs_animal") then
table.insert(follow, "mobs_animal:rat")
table.insert(follow, "mobs_animal:bee")
table.insert(follow, "mobs_animal:bunny")
table.insert(follow, "mobs_animal:chicken")
table.insert(follow, "mobs_animal:muttom_raw")
end
-- compatibility with those made specially for other games
if minetest.get_modpath("mobs_bugslive") then
table.insert(follow, "mobs_bugslive:bug")
end
if minetest.get_modpath("mobs_butterfly") then
table.insert(follow, "mobs_butterfly:butterfly")
end
if minetest.get_modpath("mobs_fish") then
table.insert(follow, "mobs_fish:tropical")
table.insert(follow, "mobs_fish:clownfish")
end
if minetest.get_modpath("mobs_better_rat") then
table.insert(follow, "mobs_better_rat:rat")
end
if minetest.get_modpath("mobs_bat") then
table.insert(follow, "mobs_bat:bat")
end
if minetest.get_modpath("mobs_birds") then
table.insert(follow, "mobs_birds:bird_sm")
end
mobs:register_mob(":mobs_doomed:owl", {
type = "animal",
passive = true,
hp_min = 12,
hp_max = 22,
armor = 130,
collisionbox = {-0.3, -0.5, -0.3, 0.2, 0.2, 0.2},
visual = "mesh",
mesh = "mobs_owl.b3d",
textures = {
{"mobs_owl.png"},
},
blood_texture = "mobs_blood.png",
visual_size = {x=2, y=2},
makes_footstep_sound = false,
walk_velocity = 0,
run_velocity = 0,
jump = false,
drops = {
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
},
water_damage = 2,
lava_damage = 2,
fire_damage = 2,
light_damage = 0,
view_range = 1,
follow=follow,
do_custom = function(self)
local daytime = minetest.get_timeofday()*24000
if daytime <=6000 then
self.object:set_properties({
textures = {"mobs_owl_awake.png"},
mesh = "mobs_owl.b3d",
})
elseif daytime >=6000 then
self.object:set_properties({
textures = {"mobs_owl.png"},
mesh = "mobs_owl.b3d",
})
end
end,
on_rightclick = function(self, clicker)
if mobs:feed_tame(self, clicker, 8, true, true) then return end
if mobs:protect(self, clicker) then return end
mobs:capture_mob(self, clicker, 0, 50, 5, false, nil)
end,
animation = {
speed_normal = 1,
walk_start = 1,
walk_end = 50,
},
})
mobs:register_egg(":mobs_doomed:owl", "Owl", "default_tree.png", 1)
mobs:spawn({name = ":mobs_doomed:owl", nodes = {"group:tree"}, neighbor = {},
min_light = 0, max_light = 7, interval = 300, chance = 16000, active_object_count = 2, min_height = 0, max_height = 2000})

View File

@ -62,4 +62,13 @@ These monochrome cuties spawn in Ethereal's bamboo biome and can be tamed with b
---
*Note: After breeding, animals need to rest for 4 minutes and baby animals take 4 minutes to grow up, also feeding them helps them grow quicker...*
### tortoise
These were extracted from dmobs mod from D00Med and its friendly but pretty slowww
### Owl
These were extracted from dmobs mod and spawns at the leaves or trees, will rest at night and at day will hide
### Fox
These were extracted from dmobs mod, its aggressive and will not leave you from attack
#### Lucky Blocks: 20

BIN
textures/mobs_fox.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

BIN
textures/mobs_owl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

BIN
textures/mobs_owl_awake.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

BIN
textures/mobs_tortoise.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

74
tortoise.lua Normal file
View File

@ -0,0 +1,74 @@
local dropstor
dropstor = {{name = "default:stick", chance = 1, min = 1, max = 1},}
if minetest.get_modpath("farming") then
dropstor = {
{name = "default:stick", chance = 1, min = 1, max = 1},
{name = "farming:string", chance = 2, min = 0, max = 1},
}
end
mobs:register_mob(":mobs_doomed:tortoise", {
type = "animal",
passive = false,
reach = 1,
damage = 2,
attack_type = "dogfight",
hp_min = 6,
hp_max = 12,
armor = 130,
collisionbox = {-0.2, 0, -0.2, 0.2, 0.3, 0.2},
visual = "mesh",
mesh = "mobs_tortoise.b3d",
textures = {
{"mobs_tortoise.png"},
},
blood_texture = "mobs_blood.png",
visual_size = {x=1, y=1},
makes_footstep_sound = true,
walk_velocity = 0.5,
run_velocity = 1,
jump = false,
jump_height = 0.5,
floats = true,
drops = dropstor,
water_damage = 0,
lava_damage = 2,
fire_damage = 2,
light_damage = 0,
fall_damage = 1,
fall_speed = -10,
fear_height = 4,
follow = {
{"default:papyrus"},
{"default:leaves"}
},
view_range = 14,
animation = {
speed_normal = 6,
speed_run = 10,
walk_start = 23,
walk_end = 43,
stand_start = 1,
stand_end = 20,
run_start = 23,
run_end = 43,
},
on_rightclick = function(self, clicker)
if mobs:feed_tame(self, clicker, 8, true, true) then
return
end
mobs:capture_mob(self, clicker, 0, 50, 80, false, nil)
end,
})
mobs:register_egg(":mobs_doomed:tortoise", "Tortoise", "default_grass.png", 1)
mobs:spawn({name = ":mobs_doomed:tortoise", nodes = {"default:water_source", "group:sand"}, neighbor = {},
min_light = 5, max_light = 10, interval = 300, chance = 8000, active_object_count = 2, min_height = -100, max_height = 500})