Ganon changes

>Ganon spawner will create an arena
>Ganon Spheres will heal Ganon and need to be destroyed
master
D00Med 2017-01-12 07:50:00 +10:00
parent 4aa30c3243
commit 777284e189
6 changed files with 77 additions and 3 deletions

View File

@ -1523,6 +1523,55 @@ minetest.register_node("hyrule_mapgen:railblock", {
groups = {cracky=1, magnetic=0}
})
minetest.register_node("hyrule_mapgen:greentile", {
description = "Green Dungeon Tile",
tiles = {
"hyrule_mapgen_greentile.png"
},
groups = {cracky=1,},
sounds = default.node_sound_glass_defaults()
})
minetest.register_node("hyrule_mapgen:stained_glass", {
description = "Stained Glass",
drawtype = "glasslike",
tiles = {
"hyrule_mapgen_stainedglass.png"
},
use_texture_alpha = true,
paramtype = "light",
light_source = 10,
sunlight_propagates = true,
groups = {cracky=1, oddly_breakable_by_hand=1, dig_immediate = 3},
sounds = default.node_sound_glass_defaults()
})
minetest.register_node("hyrule_mapgen:ganon_sphere", {
description = "Ganon Sphere",
tiles = {
"hyrule_mapgen_ganonsphere.png",
},
drawtype = "nodebox",
paramtype = "light",
light_source = 10,
groups = {cracky=4, oddly_breakable_by_hand=1},
walkable = false,
sounds = default.node_sound_glass_defaults(),
use_texture_alpha = true,
node_box = {
type = "fixed",
fixed = {
{-0.375, -0.1875, -0.1875, 0.375, 0.1875, 0.1875}, -- NodeBox5
{-0.1875, -0.375, -0.1875, 0.1875, 0.375, 0.1875}, -- NodeBox6
{-0.3125, -0.25, -0.25, 0.3125, 0.25, 0.25}, -- NodeBox7
{-0.25, -0.25, -0.3125, 0.25, 0.25, 0.3125}, -- NodeBox8
{-0.25, -0.3125, -0.25, 0.25, 0.3125, 0.25}, -- NodeBox9
{-0.1875, -0.1875, -0.375, 0.1875, 0.1875, 0.375}, -- NodeBox12
}
},
drop = ""
})
minetest.register_node("hyrule_mapgen:floortile", {
description = "Floor Tile",
tiles = {
@ -2191,8 +2240,9 @@ minetest.register_node("hyrule_mapgen:ganon_spawn", {
light_source = 10,
sounds = default.node_sound_glass_defaults(),
on_construct = function(pos)
minetest.place_schematic({x=pos.x-6, y=pos.y-1, z=pos.z-6}, minetest.get_modpath("hyrule_mapgen").."/schematics/ganon_dungeon.mts", random, {}, true)
minetest.after(5, function()
minetest.add_entity({x=pos.x, y=pos.y+1, z=pos.z}, "mobs_loz:ganon")
minetest.add_entity({x=pos.x+3, y=pos.y+1, z=pos.z+3}, "mobs_loz:ganon")
end)
end,
})

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 700 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

View File

@ -25,7 +25,7 @@ mobs:register_arrow("mobs_loz:swdbm", {
end,
hit_node = function(self, pos, node)
minetest.set_node(pos, {name="fire:basic_flame"})
--minetest.set_node(pos, {name="fire:basic_flame"})
self.object:remove()
end,
})
@ -44,7 +44,7 @@ mobs:register_mob("mobs_loz:ganon", {
damage = 3,
hp_min = 202,
hp_max = 225,
armor = 200,
armor = 80,
collisionbox = {-1, -1.5, -1, 1, 1.5, 1},
visual = "mesh",
mesh = "ganon.b3d",
@ -109,6 +109,30 @@ mobs:register_mob("mobs_loz:ganon", {
"mobs_loz_light.png" --texture
)
end,
do_custom = function(self)
local pos = self.object:getpos()
if minetest.find_node_near(pos, 10, {"hyrule_mapgen:ganon_sphere"}) then
if self.health <= 100 then
self.health = 200
minetest.add_particlespawner(
10, --amount
1, --time
{x=pos.x-1, y=pos.y-1, z=pos.z-1}, --minpos
{x=pos.x+1, y=pos.y-1, z=pos.z+1}, --maxpos
{x=-0, y=-0, z=-0}, --minvel
{x=0, y=0, z=0}, --maxvel
{x=-0.5,y=1,z=-0.5}, --minacc
{x=0.5,y=1,z=0.5}, --maxacc
1, --minexptime
1.5, --maxexptime
20, --minsize
25, --maxsize
false, --collisiondetection
"mobs_loz_light.png^[colorize:red:100" --texture
)
end
end
end
})
--mobs:register_spawn("mobs_loz:dodongo_boss", {"hyrule_mapgen:dodongo_spawn"}, 20, 0, 7000, 1, 31000)