3 --made for MC like Survival game
4 --License for code WTFPL and otherwise stated in readmes
7 local MP
= minetest
.get_modpath(minetest
.get_current_modname())
8 local S
, NS
= dofile(MP
.."/intllib.lua")
10 --dofile(minetest.get_modpath("mobs").."/api.lua")
12 --################### EVOKER
15 local pr
= PseudoRandom(os
.time()*666)
17 mobs
:register_mob("mobs_mc:evoker", {
23 collisionbox
= {-0.4, -0.01, -0.4, 0.4, 1.95, 0.4},
25 mesh
= "mobs_mc_villager.b3d",
31 visual_size
= {x
=3, y
=3},
32 makes_footstep_sound
= true,
37 attack_type
= "dogfight",
39 custom_attack
= function(self
, to_attack
)
40 local r
= pr
:next(2,4)
41 local basepos
= self
.object
:getpos()
42 basepos
.y
= basepos
.y
+ 1
44 local spawnpos
= vector
.add(basepos
, minetest
.yaw_to_dir(pr
:next(0,360)))
45 local vex
= minetest
.add_entity(spawnpos
, "mobs_mc:vex")
46 local ent
= vex
:get_luaentity()
47 -- Mark vexes as summoned and start their life clock (they take damage it reaches 0)
49 ent
._lifetimer
= pr
:next(33, 108)
55 {name
= mobs_mc
.items
.emerald
,
59 {name
= mobs_mc
.items
.totem
,
65 random = "Villagerdead",
66 death
= "Villagerdead",
67 damage
= "mese_dragon",
68 attack
= "zombiedeath",
79 shoot_start
= 120, --magic arm swinging
94 mobs
:register_egg("mobs_mc:evoker", S("Evoker"), "mobs_mc_spawn_icon_evoker.png", 0)
97 if minetest
.settings
:get_bool("log_mods") then
98 minetest
.log("action", "MC Evoker loaded")