diff --git a/baddies.lua b/baddies.lua index 2891bb8..a5e0359 100644 --- a/baddies.lua +++ b/baddies.lua @@ -143,6 +143,60 @@ mobs:register_spawn("dmobs:fox", {"default:dirt_with_grass","default:dirt"}, 20, mobs:register_egg("dmobs:fox", "Fox", "wool_orange.png", 1) +--Rat + +mobs:register_mob("dmobs:rat", { + type = "monster", + reach = 2, + damage = 2, + attack_type = "dogfight", + hp_min = 22, + hp_max = 42, + armor = 130, + collisionbox = {-0.4, 0, -0.4, 0.3, 1, 0.3}, + runaway = true, + visual = "mesh", + mesh = "dmobs_rat.b3d", + textures = { + {"dmobs_rat.png"}, + }, + blood_texture = "mobs_blood.png", + visual_size = {x=1, y=1}, + makes_footstep_sound = true, + walk_velocity = 1, + run_velocity = 2.5, + jump = true, + drops = { + {name = "mobs:meat_raw", chance = 1, min = 1, max = 1}, + }, + water_damage = 0, + lava_damage = 2, + light_damage = 0, + fall_damage = 1, + fear_height = 5, + replace_rate = 10, + replace_what = {"farming:wheat_5", "farming:wheat_4", "farming:wheat_2", "farming:wheat_3"}, + replace_with = "air", + follow = {"mobs_animal:cheese"}, + view_range = 14, + animation = { + speed_normal = 10, + speed_run = 18, + walk_start = 43, + walk_end = 63, + stand_start = 1, + stand_end = 20, + run_start = 43, + run_end = 63, + punch_start = 20, + punch_end = 40, + }, +}) + +mobs:register_spawn("dmobs:rat", {"default:stone","default:sand"}, 20, 0, 32000, 2, 31000) + +mobs:register_egg("dmobs:rat", "Giant Rat", "wool_grey.png", 1) + --Wasps! mobs:register_mob("dmobs:wasp", { type = "monster", @@ -178,11 +232,11 @@ mobs:register_mob("dmobs:wasp", { speed_normal = 15, speed_run = 30, walk_start = 1, - walk_end = 6, + walk_end = 5, stand_start = 1, - stand_end = 6, + stand_end = 5, run_start = 1, - run_end = 6, + run_end = 5, punch_start = 6, punch_end = 15, }, @@ -243,11 +297,11 @@ mobs:register_mob("dmobs:wasp_leader", { speed_normal = 6, speed_run = 15, walk_start = 1, - walk_end = 6, + walk_end = 5, stand_start = 1, - stand_end = 6, + stand_end = 5, run_start = 1, - run_end = 6, + run_end = 5, shoot_start = 6, shoot_end = 15, }, diff --git a/depends.txt b/depends.txt index d4c27fb..35729e0 100644 --- a/depends.txt +++ b/depends.txt @@ -1,3 +1,4 @@ default mobs -wool \ No newline at end of file +wool +farming? \ No newline at end of file diff --git a/init.lua b/init.lua index 44d1012..30a6574 100644 --- a/init.lua +++ b/init.lua @@ -16,6 +16,38 @@ dmobs.destructive = false dofile(minetest.get_modpath("dmobs").."/baddies.lua") +--butterflies + +minetest.register_abm({ + nodenames = {"flowers:flower_rose", "flowers:flower_tulip", "flowers:flower_dandelion_yellow", "flowers:flower_viola", "flowers:flower_dandelion_white", "flowers:flower_geranium"}, + interval = 10.0, + chance = 10, + action = function(pos, node, active_object_count, active_object_count_wider) + minetest.env:add_entity({x=pos.x,y=pos.y,z=pos.z}, "dmobs:butterfly") + end +}) + +minetest.register_entity("dmobs:butterfly", { + visual = "sprite", + physical = true, + textures = {"dmobs_butterfly.png",}, + visual_size = {x=0.2, y=0.2}, + on_activate = function(self) + num = math.random(1,4) + self.object:set_properties({textures = {"dmobs_butterfly"..num..".png",},}) + minetest.after(5, function() + self.object:remove() + end) + end, + on_step = function(self) + local pos = self.object:getpos() + local vec = self.object:getvelocity() + self.object:setvelocity({x=-math.sin(12*pos.y), y=math.cos(12*pos.x), z=-math.sin(12*pos.y)}) + self.object:setacceleration({x=-math.sin(6*vec.y), y=math.cos(6*vec.x), z=-math.sin(6*vec.y)}) + end, + collisionbox = {0,0,0,0,0.1,0}, +}) + --wasps nest minetest.register_node("dmobs:hive", { @@ -157,6 +189,64 @@ mobs:register_spawn("dmobs:panda", {"default:dirt_with_grass","ethereal:bamboo_d mobs:register_egg("dmobs:panda", "Panda", "default_papyrus.png", 1) +mobs:register_mob("dmobs: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 = "tortoise.b3d", + textures = { + {"dmobs_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 = true, + float = true, + drops = { + {name = "default:stick", chance = 1, min = 1, max = 1}, + }, + water_damage = 0, + lava_damage = 2, + light_damage = 0, + fall_damage = 1, + fall_speed = -10, + fear_height = 4, + follow = {"default:papyrus"}, + 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, 5, 50, false, nil) + end, +}) + +mobs:register_spawn("dmobs:tortoise", {"default:clay","default:sand"}, 20, 10, 15000, 2, 31000) + +mobs:register_egg("dmobs:tortoise", "Panda", "default_grass.png", 1) + mobs:register_mob("dmobs:pig", { type = "animal", passive = true, diff --git a/models/dmobs_rat.b3d b/models/dmobs_rat.b3d new file mode 100644 index 0000000..3dc3885 Binary files /dev/null and b/models/dmobs_rat.b3d differ diff --git a/models/tortoise.b3d b/models/tortoise.b3d new file mode 100644 index 0000000..039c5bc Binary files /dev/null and b/models/tortoise.b3d differ diff --git a/textures/dmobs_butterfly1.png b/textures/dmobs_butterfly1.png new file mode 100644 index 0000000..3a5e432 Binary files /dev/null and b/textures/dmobs_butterfly1.png differ diff --git a/textures/dmobs_butterfly2.png b/textures/dmobs_butterfly2.png new file mode 100644 index 0000000..ba475a2 Binary files /dev/null and b/textures/dmobs_butterfly2.png differ diff --git a/textures/dmobs_butterfly3.png b/textures/dmobs_butterfly3.png new file mode 100644 index 0000000..62c10bc Binary files /dev/null and b/textures/dmobs_butterfly3.png differ diff --git a/textures/dmobs_butterfly4.png b/textures/dmobs_butterfly4.png new file mode 100644 index 0000000..90dae3f Binary files /dev/null and b/textures/dmobs_butterfly4.png differ diff --git a/textures/dmobs_rat.png b/textures/dmobs_rat.png new file mode 100644 index 0000000..5889125 Binary files /dev/null and b/textures/dmobs_rat.png differ diff --git a/textures/dmobs_tortoise.png b/textures/dmobs_tortoise.png new file mode 100644 index 0000000..f536f10 Binary files /dev/null and b/textures/dmobs_tortoise.png differ