Remove explicit stepheight from most mobs
[MineClone/MineClone2.git] / mods / ENTITIES / mobs_mc / ender_dragon.lua
blobde4a2a599e24ccc07a337c63f93a50b6b5a88738
1 --###################
2 --################### ENDERDRAGON
3 --###################
5 local S = minetest.get_translator("mobs_mc")
7 mobs:register_mob("mobs_mc:enderdragon", {
8 type = "monster",
9 pathfinding = 1,
10 attacks_animals = true,
11 walk_chance = 100,
12 hp_max = 200,
13 hp_min = 200,
14 collisionbox = {-2, 3, -2, 2, 5, 2},
15 physical = false,
16 visual = "mesh",
17 mesh = "mobs_mc_dragon.b3d",
18 textures = {
19 {"mobs_mc_dragon.png"},
21 visual_size = {x=3, y=3},
22 view_range = 35,
23 walk_velocity = 6,
24 run_velocity = 6,
25 sounds = {
26 -- TODO: more sounds
27 shoot_attack = "mobs_mc_ender_dragon_shoot",
28 attack = "mobs_mc_ender_dragon_attack",
29 distance = 60,
31 physical = true,
32 damage = 10,
33 jump = true,
34 jump_height = 14,
35 fly = true,
36 dogshoot_switch = 1,
37 dogshoot_count_max =5,
38 dogshoot_count2_max = 5,
39 passive = false,
40 attack_animals = true,
41 drops = {
42 {name = mobs_mc.items.dragon_egg,
43 chance = 1,
44 min = 1,
45 max = 1},
47 lava_damage = 0,
48 fire_damage = 0,
49 on_rightclick = nil,
50 attack_type = "dogshoot",
51 arrow = "mobs_mc:dragon_fireball",
52 shoot_interval = 0.5,
53 shoot_offset = -1.0,
54 animation = {
55 fly_speed = 8, stand_speed = 8,
56 stand_start = 0, stand_end = 20,
57 walk_start = 0, walk_end = 20,
58 run_start = 0, run_end = 20,
61 ignores_nametag = true,
65 local mobs_griefing = minetest.settings:get_bool("mobs_griefing") ~= false
67 -- dragon fireball (projectile)
68 mobs:register_arrow("mobs_mc:dragon_fireball", {
69 visual = "sprite",
70 visual_size = {x = 1.25, y = 1.25},
71 textures = {"mobs_mc_dragon_fireball.png"},
72 velocity = 6,
74 -- direct hit, no fire... just plenty of pain
75 hit_player = function(self, player)
76 player:punch(self.object, 1.0, {
77 full_punch_interval = 0.5,
78 damage_groups = {fleshy = 12},
79 }, nil)
80 end,
82 hit_mob = function(self, mob)
83 minetest.sound_play("tnt_explode", {pos = mob:get_pos(), gain = 1.5, max_hear_distance = 2*64}, true)
84 mob:punch(self.object, 1.0, {
85 full_punch_interval = 0.5,
86 damage_groups = {fleshy = 12},
87 }, nil)
88 end,
90 -- node hit, explode
91 hit_node = function(self, pos, node)
92 mobs:boom(self, pos, 2)
93 end
96 mobs:register_egg("mobs_mc:enderdragon", S("Ender Dragon"), "mobs_mc_spawn_icon_dragon.png", 0, true)