123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- if not mobs.mod == "redo" then
- minetest.log("error", "[mobs_crocs] mobs redo flavor not found!")
- return
- end
- -- local variables
- local l_skins = {
- {"croco.png"},
- {"croco2.png"}
- }
- local l_anims = {
- speed_normal = 24, speed_run = 24,
- stand_start = 0, stand_end = 80,
- walk_start = 81, walk_end = 170,
- run_start = 81, run_end = 170,
- punch_start = 205, punch_end = 220
- }
- local l_model = "crocodile.x"
- local l_sounds = {random = "croco"}
- local l_egg_texture = "default_grass.png"
- local l_spawn_chance = 60000
- -- load settings
- local ENABLE_WALKERS = minetest.settings:get_bool("mobs_crocs.enable_walkers", true)
- local ENABLE_FLOATERS = minetest.settings:get_bool("mobs_crocs.enable_floaters", true)
- local ENABLE_SWIMMERS = minetest.settings:get_bool("mobs_crocs.enable_swimmers", true)
- if not ENABLE_WALKERS then
- l_spawn_chance = l_spawn_chance - 20000
- end
- if not ENABLE_FLOATERS then
- l_spawn_chance = l_spawn_chance - 20000
- end
- if not ENABLE_SWIMMERS then
- l_spawn_chance = l_spawn_chance - 20000
- end
- -- no float
- if ENABLE_WALKERS then
- mobs:register_mob("mobs_crocs:crocodile", {
- type = "monster",
- attack_type = "dogfight",
- damage = 8,
- reach = 3,
- hp_min = 20,
- hp_max = 25,
- armor = 200,
- collisionbox = {-0.85, -0.30, -0.85, 0.85, 1.5, 0.85},
- drawtype = "front",
- visual = "mesh",
- mesh = l_model,
- textures = l_skins,
- visual_size = {x=4, y=4},
- sounds = l_sounds,
- fly = false,
- floats = 0,
- stepheight = 1,
- view_range = 10,
- water_damage = 0,
- lava_damage = 10,
- light_damage = 0,
- animation = l_anims,
- drops = {
- {name = "mobs:meat_raw", chance = 1, min = 1, max = 3},
- {name = "mobs:leather", chance = 1, min = 0, max = 2},
- },
- })
- --name, nodes, neighbours, minlight, maxlight, interval, chance, active_object_count, min_height, max_height
- mobs:spawn_specific("mobs_crocs:crocodile",
- {"default:dirt_with_grass","default:dirt","default:jungle_grass","default:sand"},
- {"default:water_flowing","default:water_source","default:papyrus","dryplants:juncus","dryplants:reedmace"},
- -1, 18, 30, l_spawn_chance, 1, 0, 31000)
- mobs:register_egg("mobs_crocs:crocodile", "Crocodile", l_egg_texture, 1)
- end
- -- float
- if ENABLE_FLOATERS then
- mobs:register_mob("mobs_crocs:crocodile_float", {
- type = "monster",
- attack_type = "dogfight",
- damage = 8,
- reach = 2,
- hp_min = 20,
- hp_max = 25,
- armor = 200,
- collisionbox = {-0.638, -0.23, -0.638, 0.638, 1.13, 0.638},
- drawtype = "front",
- visual = "mesh",
- mesh = l_model,
- textures = l_skins,
- visual_size = {x=3, y=3},
- sounds = l_sounds,
- fly = false,
- stepheight = 1,
- view_range = 10,
- water_damage = 0,
- lava_damage = 10,
- light_damage = 0,
- animation = l_anims,
- drops = {
- {name = "mobs:meat_raw", chance = 1, min = 1, max = 3},
- {name = "mobs:leather", chance = 1, min = 0, max = 2},
- },
- })
- --name, nodes, neighbours, minlight, maxlight, interval, chance, active_object_count, min_height, max_height
- mobs:spawn_specific("mobs_crocs:crocodile_float",
- {"default:water_flowing","default:water_source"},
- {
- "default:dirt_with_grass","default:jungle_grass","default:sand","default:dirt",
- "default:papyrus","group:seaplants","dryplants:juncus","dryplants:reedmace"
- },
- -1, 18, 30, l_spawn_chance, 1, -3, 31000)
- mobs:register_egg("mobs_crocs:crocodile_float", "Crocodile (floater)", l_egg_texture, 1)
- end
- -- swim
- if ENABLE_SWIMMERS then
- mobs:register_mob("mobs_crocs:crocodile_swim", {
- type = "monster",
- attack_type = "dogfight",
- damage = 8,
- reach = 1,
- hp_min = 20,
- hp_max = 25,
- armor = 200,
- collisionbox = {-0.425, -0.15, -0.425, 0.425, 0.75, 0.425},
- drawtype = "front",
- visual = "mesh",
- mesh = l_model,
- textures = l_skins,
- visual_size = {x=2, y=2},
- sounds = l_sounds,
- fly = true,
- fly_in = "default:water_source",
- fall_speed = -1,
- floats = 0,
- view_range = 10,
- water_damage = 0,
- lava_damage = 10,
- light_damage = 0,
- animation = l_anims,
- drops = {
- {name = "mobs:meat_raw", chance = 1, min = 1, max = 3},
- {name = "mobs:leather", chance = 1, min = 0, max = 2},
- },
- })
- --name, nodes, neighbours, minlight, maxlight, interval, chance, active_object_count, min_height, max_height
- mobs:spawn_specific("mobs_crocs:crocodile_swim",
- {"default:water_flowing","default:water_source"},
- {"default:sand","default:dirt","group:seaplants"},
- -1, 18, 30, l_spawn_chance, 1, -8, 31000)
- mobs:register_egg("mobs_crocs:crocodile_swim", "Crocodile (swimmer)", l_egg_texture, 1)
- end
|