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
|
|
|
|
|
2019-03-07 20:43:39 +01:00
|
|
|
local S = minetest.get_translator("mobs_mc")
|
2019-12-09 09:56:38 +01:00
|
|
|
local mod_bows = minetest.get_modpath("mcl_bows") ~= nil
|
2017-07-05 03:15:46 +02:00
|
|
|
|
|
|
|
mobs:register_mob("mobs_mc:illusioner", {
|
|
|
|
type = "monster",
|
2020-04-11 02:46:03 +02:00
|
|
|
spawn_class = "hostile",
|
2017-07-05 03:15:46 +02:00
|
|
|
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)
|
|
|
|
end
|
2019-12-09 09:29:19 +01:00
|
|
|
end,
|
2017-07-05 03:15:46 +02:00
|
|
|
hp_min = 32,
|
|
|
|
hp_max = 32,
|
|
|
|
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
|
2018-05-07 23:10:49 +02:00
|
|
|
"mcl_bows_bow.png",
|
2017-09-13 23:13:47 +02:00
|
|
|
}, },
|
2018-09-14 16:05:47 +02:00
|
|
|
sounds = {
|
|
|
|
-- TODO: more sounds
|
|
|
|
distance = 16,
|
|
|
|
},
|
2017-07-05 03:15:46 +02:00
|
|
|
visual_size = {x=3, y=3},
|
|
|
|
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,
|
|
|
|
})
|
|
|
|
|
|
|
|
mobs:register_egg("mobs_mc:illusioner", S("Illusioner"), "mobs_mc_spawn_icon_illusioner.png", 0)
|
|
|
|
|
|
|
|
if minetest.settings:get_bool("log_mods") then
|
|
|
|
minetest.log("action", "MC Illusioner loaded")
|
|
|
|
end
|