heart entity, xp drops from mobs, midna changes
parent
b9e492a2a9
commit
688405276f
|
@ -209,6 +209,30 @@ minetest.register_entity("hyruletools:block_dummy", {
|
|||
physical = true
|
||||
})
|
||||
|
||||
minetest.register_entity("hyruletools:heart_entity", {
|
||||
visual = "mesh",
|
||||
mesh = "heart.b3d",
|
||||
textures = {"hyruletools_heart.png"},
|
||||
collisionbox = {-0.1, -0.1, -0.1, 0.1, 0.1, 0.1},
|
||||
physical = true,
|
||||
visual_size = {x=1.5, y=1.5},
|
||||
on_activate = function(self)
|
||||
self.object:set_animation({x=2, y=18}, 5, 0)
|
||||
self.object:setacceleration({x=0, y=-4, z=0})
|
||||
end,
|
||||
on_step = function(self)
|
||||
local pos = self.object:getpos()
|
||||
local objs = minetest.get_objects_inside_radius(pos, 1)
|
||||
for _, obj in pairs(objs) do
|
||||
if obj:is_player() then
|
||||
local hp = obj:get_hp()
|
||||
obj:set_hp(hp+5)
|
||||
self.object:remove()
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_tool("hyruletools:magglv_n", {
|
||||
description = "Magnetic Glove (N)",
|
||||
inventory_image = "hyruletools_magglv_n.png",
|
||||
|
|
Binary file not shown.
|
@ -66,6 +66,15 @@ mobs:register_mob("mobs_loz:bongobongo", {
|
|||
{name = "hyruletools:waterstone",
|
||||
chance = 1, min = 1, max = 1},
|
||||
},
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
if math.random(2,2) == 2 then
|
||||
minetest.env:add_entity(pos, "hyruletools:heart_entity")
|
||||
end
|
||||
minetest.env:add_entity(pos, "experience:orb")
|
||||
minetest.env:add_entity(pos, "experience:orb")
|
||||
minetest.env:add_entity(pos, "experience:orb")
|
||||
end,
|
||||
water_damage = 5,
|
||||
lava_damage = 0,
|
||||
light_damage = 0,
|
||||
|
|
|
@ -23,11 +23,16 @@ mobs:register_mob("mobs_loz:chuchu", {
|
|||
run_velocity = 1,
|
||||
jump = false,
|
||||
drops = {
|
||||
{name = "hyruletools:heart",
|
||||
chance = 1, min = 3, max = 5},
|
||||
{name = "hyruletools:blue_rupee",
|
||||
chance = 1, min = 1, max = 3},
|
||||
chance = 2, min = 1, max = 3},
|
||||
},
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
if math.random(1,2) == 2 then
|
||||
minetest.env:add_entity(pos, "hyruletools:heart_entity")
|
||||
end
|
||||
minetest.env:add_entity(pos, "experience:orb")
|
||||
end,
|
||||
water_damage = -1,
|
||||
lava_damage = 5,
|
||||
light_damage = 0,
|
||||
|
|
|
@ -39,6 +39,13 @@ mobs:register_mob("mobs_loz:deku", {
|
|||
{name = "hyruletools:green_rupee",
|
||||
chance = 1, min = 1, max = 9},
|
||||
},
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
if math.random(1,2) == 2 then
|
||||
minetest.env:add_entity(pos, "hyruletools:heart_entity")
|
||||
end
|
||||
minetest.env:add_entity(pos, "experience:orb")
|
||||
end,
|
||||
water_damage = 1,
|
||||
lava_damage = 1,
|
||||
light_damage = 0,
|
||||
|
|
|
@ -26,11 +26,16 @@ mobs:register_mob("mobs_loz:deku_baba", {
|
|||
run_velocity = 0.05,
|
||||
jump = false,
|
||||
drops = {
|
||||
{name = "hyruletools:heart",
|
||||
chance = 1, min = 3, max = 5},
|
||||
{name = "hyruletools:red_rupee",
|
||||
chance = 1, min = 1, max = 3},
|
||||
},
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
if math.random(1,2) == 2 then
|
||||
minetest.env:add_entity(pos, "hyruletools:heart_entity")
|
||||
end
|
||||
minetest.env:add_entity(pos, "experience:orb")
|
||||
end,
|
||||
water_damage = -1,
|
||||
lava_damage = 5,
|
||||
light_damage = 0,
|
||||
|
|
|
@ -35,6 +35,13 @@ mobs:register_mob("mobs_loz:bdodongo", {
|
|||
{name = "default:coal_lump",
|
||||
chance=3, min=1, max=3},
|
||||
},
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
if math.random(1,2) == 2 then
|
||||
minetest.env:add_entity(pos, "hyruletools:heart_entity")
|
||||
end
|
||||
minetest.env:add_entity(pos, "experience:orb")
|
||||
end,
|
||||
water_damage = 5,
|
||||
lava_damage = 0,
|
||||
light_damage = 0,
|
||||
|
@ -95,6 +102,13 @@ mobs:register_mob("mobs_loz:dodongo", {
|
|||
{name = "default:coal_lump",
|
||||
chance=3, min=1, max=3},
|
||||
},
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
if math.random(1,2) == 2 then
|
||||
minetest.env:add_entity(pos, "hyruletools:heart_entity")
|
||||
end
|
||||
minetest.env:add_entity(pos, "experience:orb")
|
||||
end,
|
||||
water_damage = 5,
|
||||
lava_damage = 0,
|
||||
light_damage = 0,
|
||||
|
@ -176,6 +190,15 @@ mobs:register_mob("mobs_loz:dodongo_boss", {
|
|||
{name = "hyruletools:foreststone",
|
||||
chance = 1, min = 1, max = 1},
|
||||
},
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
if math.random(1,2) == 2 then
|
||||
minetest.env:add_entity(pos, "hyruletools:heart_entity")
|
||||
end
|
||||
minetest.env:add_entity(pos, "experience:orb")
|
||||
minetest.env:add_entity(pos, "experience:orb")
|
||||
minetest.env:add_entity(pos, "experience:orb")
|
||||
end,
|
||||
water_damage = 5,
|
||||
lava_damage = 0,
|
||||
light_damage = 0,
|
||||
|
|
|
@ -65,6 +65,13 @@ mobs:register_mob("mobs_loz:ganon", {
|
|||
{name = "hyruletools:triforce",
|
||||
chance = 1, min = 1, max = 1},
|
||||
},
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
minetest.env:add_entity(pos, "hyruletools:heart_entity")
|
||||
minetest.env:add_entity(pos, "hyruletools:heart_entity")
|
||||
minetest.env:add_entity(pos, "hyruletools:heart_entity")
|
||||
minetest.env:add_entity(pos, "experience:orb")
|
||||
end,
|
||||
water_damage = 0,
|
||||
lava_damage = 0,
|
||||
light_damage = 0,
|
||||
|
|
|
@ -32,6 +32,12 @@ mobs:register_mob("mobs_loz:goron", {
|
|||
{name = "hyruletools:green_rupee",
|
||||
chance = 1, min = 1, max = 2},
|
||||
},
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
if math.random(1,5) == 2 then
|
||||
minetest.env:add_entity(pos, "hyruletools:heart_entity")
|
||||
end
|
||||
end,
|
||||
water_damage = 1,
|
||||
lava_damage = 0,
|
||||
light_damage = 0,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
|
||||
mobs:register_mob("mobs_loz:midna", {
|
||||
type = "animal",
|
||||
type = "npc",
|
||||
passive = false,
|
||||
attacks_monsters = true,
|
||||
damage = 4,
|
||||
|
@ -9,6 +9,8 @@ mobs:register_mob("mobs_loz:midna", {
|
|||
hp_min = 50,
|
||||
hp_max = 85,
|
||||
armor = 80,
|
||||
owner = "",
|
||||
order = "follow",
|
||||
collisionbox = {-0.3, 0, -0.3, 0.3, 1.5, 0.3},
|
||||
visual = "mesh",
|
||||
mesh = "midna.b3d",
|
||||
|
@ -58,8 +60,18 @@ mobs:register_mob("mobs_loz:midna", {
|
|||
"mobs_particle.png" --texture
|
||||
)
|
||||
end,
|
||||
on_rightclick = function(self, clicker)
|
||||
local player = clicker:get_player_name()
|
||||
if self.order == "follow" then
|
||||
self.order = "stand"
|
||||
minetest.chat_send_player(player, "I will stay here")
|
||||
else
|
||||
self.order = "follow"
|
||||
minetest.chat_send_player(player, "Midna is wandering")
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
mobs:register_spawn("mobs_loz:midna", {"default:dirt_with_grass", "default:dirt_with_grass2"}, 20, 10, 15000, 2, 31000)
|
||||
--mobs:register_spawn("mobs_loz:midna", {"default:dirt_with_grass", "default:dirt_with_grass2"}, 20, 10, 15000, 2, 31000)
|
||||
|
||||
mobs:register_egg("mobs_loz:midna", "Midna", "hyrulemapgen_glowstone.png", 1)
|
|
@ -28,9 +28,14 @@ mobs:register_mob("mobs_loz:octorock", {
|
|||
drops = {
|
||||
{name = "hyruletools:blue_rupee",
|
||||
chance = 5, min = 5, max = 5},
|
||||
{name = "hyruletools:heart",
|
||||
chance = 1, min = 1, max = 2},
|
||||
},
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
if math.random(1,2) == 2 then
|
||||
minetest.env:add_entity(pos, "hyruletools:heart_entity")
|
||||
end
|
||||
minetest.env:add_entity(pos, "experience:orb")
|
||||
end,
|
||||
water_damage = 1,
|
||||
lava_damage = 1,
|
||||
light_damage = 0,
|
||||
|
|
|
@ -28,6 +28,13 @@ mobs:register_mob("mobs_loz:peahat", {
|
|||
{name = "hyruletools:blue_rupee",
|
||||
chance = 5, min = 1, max = 3},
|
||||
},
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
if math.random(1,3) == 2 then
|
||||
minetest.env:add_entity(pos, "hyruletools:heart_entity")
|
||||
end
|
||||
minetest.env:add_entity(pos, "experience:orb")
|
||||
end,
|
||||
animation = {
|
||||
speed_normal = 7,
|
||||
speed_run = 12,
|
||||
|
|
|
@ -8,7 +8,7 @@ mobs:register_mob("mobs_loz:poe", {
|
|||
hp_min = 12,
|
||||
hp_max = 22,
|
||||
armor = 110,
|
||||
collisionbox = {-0.3, 0, -0.3, 0.3, 1, 0.3},
|
||||
collisionbox = {-0.3, 0, -0.3, 0.3, 0.8, 0.3},
|
||||
visual = "mesh",
|
||||
mesh = "poe.b3d",
|
||||
textures = {
|
||||
|
@ -29,6 +29,10 @@ mobs:register_mob("mobs_loz:poe", {
|
|||
{name = "mobs_loz:soul",
|
||||
chance = 5, min = 1, max = 1},
|
||||
},
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
minetest.env:add_entity(pos, "experience:orb")
|
||||
end,
|
||||
animation = {
|
||||
speed_normal = 12,
|
||||
speed_run = 12,
|
||||
|
|
|
@ -30,6 +30,13 @@ mobs:register_mob("mobs_loz:redead", {
|
|||
textures = {
|
||||
{"redead.png"},
|
||||
},
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
if math.random(1,3) == 2 then
|
||||
minetest.env:add_entity(pos, "hyruletools:heart_entity")
|
||||
end
|
||||
minetest.env:add_entity(pos, "experience:orb")
|
||||
end,
|
||||
makes_footstep_sound = true,
|
||||
walk_velocity = 0.2,
|
||||
run_velocity = 0.3,
|
||||
|
|
|
@ -37,9 +37,14 @@ mobs:register_mob("mobs_loz:deku_scrub", {
|
|||
drops = {
|
||||
{name = "hyruletools:blue_rupee",
|
||||
chance = 5, min = 5, max = 3},
|
||||
{name = "hyruletools:heart",
|
||||
chance = 1, min = 1, max = 2},
|
||||
},
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
if math.random(1,2) == 2 then
|
||||
minetest.env:add_entity(pos, "hyruletools:heart_entity")
|
||||
end
|
||||
minetest.env:add_entity(pos, "experience:orb")
|
||||
end,
|
||||
water_damage = 1,
|
||||
lava_damage = 1,
|
||||
light_damage = 0,
|
||||
|
|
|
@ -25,10 +25,11 @@ mobs:register_mob("mobs_loz:stalchid", {
|
|||
walk_velocity = 0.8,
|
||||
run_velocity = 1.4,
|
||||
jump = true,
|
||||
drops = {
|
||||
{name = "hyruletools:heart",
|
||||
chance = 1, min = 1, max = 1},
|
||||
},
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
minetest.env:add_entity(pos, "hyruletools:heart_entity")
|
||||
minetest.env:add_entity(pos, "experience:orb")
|
||||
end,
|
||||
water_damage = 1,
|
||||
lava_damage = 5,
|
||||
light_damage = 0,
|
||||
|
|
|
@ -30,6 +30,12 @@ mobs:register_mob("mobs_loz:subrosian", {
|
|||
{name = "hyruletools:red_ore",
|
||||
chance = 1, min = 1, max = 2},
|
||||
},
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
if math.random(1,2) == 2 then
|
||||
minetest.env:add_entity(pos, "hyruletools:heart_entity")
|
||||
end
|
||||
end,
|
||||
water_damage = 1,
|
||||
lava_damage = 0,
|
||||
light_damage = 0,
|
||||
|
|
|
@ -37,6 +37,16 @@ mobs:register_mob("mobs_loz:volvagia", {
|
|||
drops = {
|
||||
{name = "hyruletools:firestone", chance = 1, min = 3, max = 5},
|
||||
},
|
||||
on_die = function(self)
|
||||
local pos = self.object:getpos()
|
||||
if math.random(1,2) == 2 then
|
||||
minetest.env:add_entity(pos, "hyruletools:heart_entity")
|
||||
end
|
||||
minetest.env:add_entity(pos, "experience:orb")
|
||||
minetest.env:add_entity(pos, "experience:orb")
|
||||
minetest.env:add_entity(pos, "experience:orb")
|
||||
minetest.env:add_entity(pos, "experience:orb")
|
||||
end,
|
||||
water_damage = 0,
|
||||
lava_damage = 5,
|
||||
light_damage = 0,
|
||||
|
|
|
@ -220,11 +220,18 @@ end)
|
|||
minetest.register_craftitem("twilight:crystal", {
|
||||
description = "Shadow crystal",
|
||||
inventory_image = "twilight_crystal.png",
|
||||
on_use = function(itemstack)
|
||||
on_use = function(itemstack, placer)
|
||||
if twilight_mode == true then
|
||||
twilight_mode = false
|
||||
elseif twilight_mode == false then
|
||||
twilight_mode = true
|
||||
if not midna_spawned then
|
||||
local pos = placer:getpos()
|
||||
local obj = minetest.env:add_entity({x=pos.x, y=pos.y+2, z=pos.z}, "mobs_loz:midna")
|
||||
local midna = obj:get_luaentity()
|
||||
midna.owner = placer
|
||||
midna_spawned = true
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue