VoxeLibre/mods/ENTITIES/mobs_mc/villager_illusioner.lua

70 lines
1.7 KiB
Lua
Raw Normal View History

2017-07-05 03:15:46 +02:00
--MCmobs v0.4
--maikerumine
--made for MC like Survival game
--License for code WTFPL and otherwise stated in readmes
local S = minetest.get_translator("mobs_mc")
local mod_bows = minetest.get_modpath("mcl_bows") ~= nil
2017-07-05 03:15:46 +02:00
mcl_mobs.register_mob("mobs_mc:illusioner", {
2021-04-25 17:30:15 +02:00
description = S("Illusioner"),
2017-07-05 03:15:46 +02:00
type = "monster",
2020-04-11 02:46:03 +02:00
spawn_class = "hostile",
attack_type = "shoot",
2019-12-09 09:56:38 +01:00
shoot_interval = 2.5,
2017-07-05 03:15:46 +02:00
shoot_offset = 1.5,
2019-12-09 09:29:19 +01:00
arrow = "mcl_bows:arrow_entity",
shoot_arrow = function(self, pos, dir)
2019-12-09 09:56:38 +01:00
if mod_bows then
-- 1-4 damage per arrow
local dmg = math.random(1, 4)
mcl_bows.shoot_arrow("mcl_bows:arrow", pos, dir, self.object:get_yaw(), self.object, nil, dmg)
2019-12-09 09:56:38 +01:00
end
2019-12-09 09:29:19 +01:00
end,
2017-07-05 03:15:46 +02:00
hp_min = 32,
hp_max = 32,
2020-12-06 15:46:42 +01:00
xp_min = 6,
xp_max = 6,
2017-07-05 03:15:46 +02:00
collisionbox = {-0.3, -0.01, -0.3, 0.3, 1.94, 0.3},
visual = "mesh",
mesh = "mobs_mc_illusioner.b3d",
2017-09-13 23:13:47 +02:00
textures = { {
"mobs_mc_illusionist.png",
"mobs_mc_illusionist.png", --hat
"mcl_bows_bow.png",
2017-09-13 23:13:47 +02:00
}, },
2022-10-07 03:56:38 +02:00
head_swivel = "head.control",
2024-11-11 17:29:07 +01:00
head_eye_height = 1.5,
head_bone_position = vector.new( 0, 2.2, 0 ), -- for minetest <= 5.8
2022-10-07 03:56:38 +02:00
curiosity = 10,
sounds = {
-- TODO: more sounds
distance = 16,
},
visual_size = {x=2.75, y=2.75},
2017-07-05 03:15:46 +02:00
walk_velocity = 0.6,
run_velocity = 2,
jump = true,
animation = {
2018-05-30 17:34:38 +02:00
stand_speed = 25,
2017-07-05 03:15:46 +02:00
stand_start = 40,
stand_end = 59,
2018-05-30 17:34:38 +02:00
walk_speed = 25,
2017-07-05 03:15:46 +02:00
walk_start = 0,
walk_end = 40,
2018-05-30 17:34:38 +02:00
run_speed = 25,
2017-09-13 23:13:47 +02:00
shoot_start = 150,
shoot_end = 170,
2018-05-30 17:34:38 +02:00
die_speed = 15,
die_start = 170,
die_end = 180,
die_loop = false,
2017-09-13 23:13:47 +02:00
-- 120-140 magic arm swinging, 140-150 transition between magic to bow shooting
2017-07-05 03:15:46 +02:00
},
view_range = 16,
fear_height = 4,
})
mcl_mobs.register_egg("mobs_mc:illusioner", S("Illusioner"), "#3f5cbb", "#8a8686", 0)
mcl_mobs:non_spawn_specific("mobs_mc:illusioner","overworld",0,7)