Add ice demon.
This commit is contained in:
parent
d8c6550127
commit
ef9e69eb07
4 changed files with 121 additions and 17 deletions
101
demon.lua
Normal file
101
demon.lua
Normal file
|
@ -0,0 +1,101 @@
|
|||
|
||||
-- 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 (!)
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue