fun_caves/horror.lua
2016-08-06 23:12:26 -05:00

66 lines
2 KiB
Lua

-- This code and all associated textures and models were
-- originated by DOOMED <heiselong@gmx.com>, and published in
-- the horror mod, under the GPL 2.1 license and CC-by-SA 3.
-- https://forum.minetest.net/viewtopic.php?f=9&t=12961&hilit=doomed
mobs:register_mob("fun_caves:manticore", {
type = "monster",
passive = false,
attacks_monsters = true,
damage = 5,
reach = 4,
attack_type = "dogfight",
hp_min = 15,
hp_max = 28,
armor = 70,
collisionbox = {-0.7, -0.5, -0.7, 0.7, 1.5, 0.7},
visual = "mesh",
mesh = "manticore.b3d",
textures = {
{"manticore.png"},
},
blood_texture = "mobs_blood.png",
visual_size = {x=2.5, y=2.5},
makes_footstep_sound = true,
walk_velocity = 3,
run_velocity = 5,
jump = true,
drops = {
{name = "mobs:meat_raw", chance = 1, min = 1, max = 9},
},
water_damage = 2,
lava_damage = 1,
light_damage = 0,
view_range = 20,
animation = {
speed_normal = 10,
speed_run = 20,
walk_start = 1,
walk_end = 11,
stand_start = 1,
stand_end = 11,
run_start = 1,
run_end = 11,
punch_start = 11,
punch_end = 26,
},
do_custom = function(self)
if not (self and fun_caves.custom_ready and fun_caves.set_status and fun_caves.surface_damage and fun_caves.custom_ready(self)) then
return
end
if self.attack and math.random(3) == 1 and self.attack:is_player(self.attack) and minetest.line_of_sight(self.attack:getpos(), self.object:getpos(), stepsize) then
local player_name = self.attack:get_player_name()
if player_name and player_name ~= '' then
minetest.chat_send_player(player_name, minetest.colorize('#FF0000', 'You\'ve been poisoned!'))
fun_caves.set_status(player_name, 'poisoned', 2 ^ math.random(8), {damage = 1})
end
end
fun_caves.surface_damage(self)
end,
})
--mobs:spawn_specific("horror:manticore", {"default:dirt_with_grass"}, {"default:stone"}, 20, 0, 300, 15000, 2, -100, 11000)
mobs:register_egg("fun_caves:manticore", "Manticore", "default_dirt.png", 1)