-- Ice Demon -- creates and moves ice nodes local newnode = fun_caves.clone_node('default:ice') newnode.description = "Freezing vapor" newnode.tiles = {'fun_caves_wisp.png'} newnode.sunlight_propagates = true newnode.use_texture_alpha = true newnode.walkable = false newnode.buildable_to = true newnode.pointable = false minetest.register_node("fun_caves:freezing_vapor", newnode) mobs:register_mob("fun_caves:ice_demon", { description = "Ice Demon", type = "monster", passive = false, damage = 3, --attack_type = "dogshoot", attack_type = "dogfight", attacks_monsters = true, hp_min = 10, hp_max = 20, armor = 50, collisionbox = {-0.30,-1.0,-0.30, 0.30,0.8,0.30}, visual = "mesh", -- basic humanoid? mesh = "character.b3d", drawtype = "front", -------------------------- -- replace this -------------------------- textures = { {"fun_caves_goblin_ice2.png"}, }, -------------------------- makes_footstep_sound = true, --sounds = { -- random = "goblins_goblin_ambient", -- warcry = "goblins_goblin_attack", -- attack = "goblins_goblin_attack", -- damage = "goblins_goblin_damage", -- death = "goblins_goblin_death", -- distance = 15, --}, walk_velocity = 2, run_velocity = 3, jump = true, drops = nil, water_damage = 0, lava_damage = 4, --light_damage = 2, view_range = 15, animation = { stand_start = 0, stand_end = 79, sit_start = 81, sit_end = 160, sleep_start = 162, sleep_end = 166, walk_start = 168, walk_end = 187, mine_start = 189, mine_end = 198, walkmine_start = 200, walkmine_end = 219, }, animation_speed = 30, --fly = true, fly_in = 'fun_caves:freezing_vapor', do_custom = function(self) -- This has to happen fast. if self.attack then self.fly = true local pos = self.attack:getpos() pos.y = pos.y - 0 fun_caves.search_replace(pos, 1, {'default:ice', 'air'}, 'fun_caves:freezing_vapor') end if not fun_caves.custom_ready(self) then return end if not self.attack then self.fly = false end fun_caves.surface_damage(self, true) end, }) mobs:spawn_specific("fun_caves:ice_demon", {"default:ice"}, nil, -1, 10, 300, 3000, 2, fun_caves.underzones['Caina'].lower_bound, fun_caves.underzones['Caina'].upper_bound) mobs:spawn_specific("fun_caves:ice_demon", {"default:ice"}, {'default:torch'}, -1, 20, 100, 300, 2, fun_caves.underzones['Caina'].lower_bound, fun_caves.underzones['Caina'].upper_bound) -- Blizzard Demon -- storm that slows players -- Magma Demon -- creates lava under player (!)