keese, biri, and swamp changes

master
D00Med 2016-12-31 10:44:38 +10:00
parent 8e1ef96217
commit 557fc945e8
26 changed files with 237 additions and 141 deletions

View File

@ -171,65 +171,6 @@ minetest.register_abm({
end
})
minetest.register_abm({
nodenames = {"default:river_water_flowing"},
interval = 1.0,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
local above = minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name
local below = minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name
local above2 = minetest.get_node({x=pos.x, y=pos.y+2, z=pos.z}).name
if above == "default:river_water_flowing" and below ~= "default:river_water_flowing" and above2 == "default:river_water_flowing" then
minetest.add_particlespawner({
amount = 9,
time = 1,
minpos = {x=pos.x-0.9, y=pos.y+0.3, z=pos.z-0.9},
maxpos = {x=pos.x+0.9, y=pos.y+0.9, z=pos.z+0.9},
minvel = {x=0, y=0.1, z=0},
maxvel = {x=0.1, y=0.3, z=0.1},
minacc = {x=0, y=0.1, z=0},
maxacc = {x=0.2, y=0.2, z=0.2},
minexptime = 0.5,
maxexptime = 1,
minsize = 8,
maxsize = 12,
collisiondetection = false,
vertical = false,
texture = "hyrule_mapgen_mist.png",
})
minetest.add_particlespawner({
amount = 9,
time = 1,
minpos = {x=pos.x-0.8, y=pos.y+0.7, z=pos.z-0.8},
maxpos = {x=pos.x+0.8, y=pos.y+0.8, z=pos.z+0.8},
minvel = {x=0, y=0.1, z=0},
maxvel = {x=0.1, y=0.3, z=0.1},
minacc = {x=0, y=0.5, z=0},
maxacc = {x=0.1, y=0.9, z=0.1},
minexptime = 0.2,
maxexptime = 0.3,
minsize = 7,
maxsize = 9,
collisiondetection = false,
vertical = false,
texture = "hyrule_mapgen_splash.png",
})
if not sound then
minetest.sound_play("waterfall", {
pos = pos,
gain = 1.0,
max_hear_distance = 3,
})
sound = true
minetest.after(12, function()
sound = false
end)
end
end
end
})
minetest.register_abm({
nodenames = {"fire:basic_flame"},
interval = 1.0,

View File

@ -319,7 +319,7 @@ minetest.register_biome({
node_top = "hyrule_mapgen:swamp_mud",
depth_top = 2,
node_filler = "default:dirt",
depth_filler = 6,
depth_filler = 3,
--node_stone = "",
node_water_top = "default:river_water_source",
depth_water_top = 1,
@ -328,7 +328,7 @@ minetest.register_biome({
y_min = 1,
y_max = 31000,
heat_point = 24,
humidity_point = 76,
humidity_point = 77,
})
minetest.register_biome({
@ -573,11 +573,11 @@ minetest.register_decoration({
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:water_source",},
sidelen = 26,
place_on = {"default:river_water_source",},
sidelen = 16,
noise_params = {
offset = 0,
scale = 0.001,
offset = 0.001,
scale = 0.002,
spread = {x = 200, y = 200, z = 200},
seed = 329,
octaves = 3,
@ -650,6 +650,7 @@ minetest.register_decoration({
flags = "place_center_x, place_center_z",
})
--swamp trees
minetest.register_decoration({
deco_type = "schematic",
place_on = {"hyrule_mapgen:swamp_mud",},
@ -665,10 +666,88 @@ minetest.register_decoration({
biomes = {"swamp"},
y_min = 1,
y_max = 31000,
schematic = minetest.get_modpath("hyrule_mapgen").."/schematics/big_tree.mts",
schematic = minetest.get_modpath("hyrule_mapgen").."/schematics/swamp_tree.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"hyrule_mapgen:swamp_mud",},
sidelen = 16,
noise_params = {
offset = 0.002,
scale = 0.001,
spread = {x = 250, y = 250, z = 250},
seed = 2,
octaves = 3,
persist = 0.66
},
biomes = {"swamp"},
y_min = 1,
y_max = 31000,
schematic = minetest.get_modpath("hyrule_mapgen").."/schematics/palmtree2.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"hyrule_mapgen:swamp_mud",},
sidelen = 16,
noise_params = {
offset = 0.002,
scale = 0.001,
spread = {x = 250, y = 250, z = 250},
seed = 2,
octaves = 3,
persist = 0.66
},
biomes = {"swamp"},
y_min = 1,
y_max = 31000,
schematic = minetest.get_modpath("hyrule_mapgen").."/schematics/palmtree3.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"hyrule_mapgen:swamp_mud",},
sidelen = 16,
noise_params = {
offset = 0.002,
scale = 0.001,
spread = {x = 250, y = 250, z = 250},
seed = 2,
octaves = 3,
persist = 0.66
},
biomes = {"swamp"},
y_min = 1,
y_max = 11000,
schematic = minetest.get_modpath("hyrule_mapgen").."/schematics/smallpool.mts",
flags = "place_center_x, place_center_z, place_center_y",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"hyrule_mapgen:swamp_mud",},
sidelen = 16,
noise_params = {
offset = 0.002,
scale = 0.001,
spread = {x = 250, y = 250, z = 250},
seed = 2,
octaves = 3,
persist = 0.66
},
biomes = {"swamp"},
y_min = 1,
y_max = 11000,
schematic = minetest.get_modpath("hyrule_mapgen").."/schematics/bigpool.mts",
flags = "place_center_x, place_center_y, place_center_z",
})
minetest.register_decoration({
deco_type = "schematic",

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,2 +0,0 @@
default
mobs

View File

@ -1,56 +0,0 @@
if mobs.mod and mobs.mod == "redo" then
-- local variables
local l_skins = {
{"animal_bat.png"},
{"animal_bat.png^[colorize:black:150"}
}
local l_spawnnear = {"default:stone"}
local l_spawnchance = 30000
mobs:register_mob("mobs_bat:bat", {
type = "monster",
damage = 1,
reach = 1,
attack_type = "dogfight",
hp_min = 7,
hp_max = 12,
armor = 130,
collisionbox = {-0.4,-0.4,-0.4, 0.4,0.4,0.4},
visual = "mesh",
mesh = "animal_bat.b3d",
textures = l_skins,
rotate = 270,
walk_velocity = 10,
run_velocity = 23,
fall_speed = 0,
stepheight = 3,
sounds = {
random = "animal_bat",
war_cry = "animal_bat",
damage = "animal_bat",
attack = "animal_bat",
},
fly = true,
water_damage = 2,
lava_damage = 10,
light_damage = 0,
view_range = 10,
animation = {
speed_normal = 24, speed_run = 24,
stand_start = 30, stand_end = 59,
walk_start = 30, walk_end = 59,
run_start = 30, run_end = 59,
punch_start = 60, punch_end = 89
},
on_rightclick = function(self, clicker)
mobs:capture_mob(self, clicker, 5, 60, 0, true, nil)
end
})
--name, nodes, neighbors, min_light, max_light, interval, chance, active_object_count, min_height, max_height
mobs:spawn_specific("mobs_bat:bat", {"air"}, l_spawnnear, 0, 6, 30, l_spawnchance, 2, -100, 11000)
mobs:register_egg("mobs_bat:bat", "Bat", "animal_bat_inv.png", 0)
end

View File

@ -1,12 +0,0 @@
--------------------------
--------------------------
-- ANÝMAL BAT --
--------------------------
--------------------------
--
-- Model and textures from Defense Subgame
-- License of defense mod GPL
-- License of media (models, textures ) (CC BY-SA 3.0)
-- License of Api WTFPL Simple Mobs by PilzAdam > Mob Redo by Ten1plus > Redo+ Mahmutelmas06
-- Sounds from bigsoundbank and WTFPL ( confirmed by email )
--

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 518 B

61
mods/mobs_loz/biri.lua Normal file
View File

@ -0,0 +1,61 @@
mobs:register_mob("mobs_loz:biri", {
type = "monster",
reach = 1.5,
damage = 1,
attack_type = "dogfight",
hp_min = 10,
hp_max = 25,
armor = 90,
collisionbox = {-0.4, 0, -0.4, 0.4, 1, 0.4},
visual = "mesh",
mesh = "biri.b3d",
textures = {
{"mobs_biri.png"},
},
makes_footstep_sound = false,
view_range = 5,
walk_velocity = 1.5,
run_velocity = 2.5,
jump = false,
stepheight = 1.3,
fly = true,
fly_in = "default:water_source",
jump_height = 0,
fall_damage = 0,
fall_speed = -6,
drops = {
{name = "hyruletools:green_rupee",
chance = 5, min = 1, max = 2},
},
on_activate = function(self)
local size = math.random(0.6, 1.4)
self.object:set_properties({visual_size={x=size, y=size}})
end,
on_die = function(self)
local pos = self.object:getpos()
if math.random(1,7) == 2 then
minetest.env:add_entity(pos, "hyruletools:heart_entity")
end
minetest.env:add_entity(pos, "experience:orb")
end,
water_damage = 0,
lava_damage = 1,
light_damage = 0,
animation = {
speed_normal = 15,
speed_run = 20,
stand_start = 1,
stand_end = 20,
walk_start = 20,
walk_end = 40,
run_start = 42,
run_end = 62,
punch_start = 1,
punch_end = 20,
},
})
mobs:register_spawn("mobs_loz:biri", {"default:water_source",}, 20, 10, 15000, 2, 11000)
mobs:register_egg("mobs_loz:biri", "Biri", "wool_magenta.png", 1)

View File

@ -26,7 +26,7 @@ mobs:register_mob("mobs_loz:deku_baba", {
run_velocity = 0.05,
jump = false,
drops = {
{name = "hyruletools:red_rupee",
{name = "mobs_loz:deku_nut",
chance = 1, min = 1, max = 3},
},
on_die = function(self)

View File

@ -29,4 +29,6 @@ dofile(path.."/armos.lua")
dofile(path.."/wolfos.lua")
dofile(path.."/darknut.lua")
dofile(path.."/tektite.lua")
dofile(path.."/biri.lua")
dofile(path.."/keese.lua")
end

57
mods/mobs_loz/keese.lua Normal file
View File

@ -0,0 +1,57 @@
mobs:register_mob("mobs_loz:keese", {
type = "monster",
reach = 1.5,
damage = 1,
attack_type = "dogfight",
hp_min = 5,
hp_max = 10,
armor = 100,
collisionbox = {-0.2, 0, -0.2, 0.2, 0.5, 0.2},
visual = "mesh",
mesh = "keese.b3d",
textures = {
{"mobs_keese.png"},
},
makes_footstep_sound = false,
view_range = 10,
walk_velocity = 2.5,
run_velocity = 3.5,
jump = false,
stepheight = 1.3,
fly = true,
fly_in = "air",
jump_height = 0,
fall_damage = 0,
fall_speed = -6,
drops = {
{name = "hyruletools:green_rupee",
chance = 12, min = 1, max = 2},
},
on_die = function(self)
local pos = self.object:getpos()
if math.random(1,9) == 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,
animation = {
speed_normal = 30,
speed_run = 35,
stand_start = 1,
stand_end = 20,
walk_start = 1,
walk_end = 20,
run_start = 22,
run_end = 42,
punch_start = 22,
punch_end = 42,
},
})
mobs:register_spawn("mobs_loz:keese", {"default:stone",}, 12, 0, 15000, 2, 11000)
mobs:register_egg("mobs_loz:keese", "Keese", "default_obsidian.png", 1)

View File

@ -82,6 +82,19 @@ mobs:register_mob("mobs_loz:mimic", {
end
minetest.env:add_entity(pos, "experience:orb")
end,
do_custom = function(self)
if self.state ~= "attack" then
minetest.after(3, function()
if self.state ~= "attack" and self.object ~= nil then
local pos = self.object:getpos()
if pos ~= nil then
minetest.set_node(pos, {name="mobs_loz:mimic_chest", param2=1})
self.object:remove()
end
end
end)
end
end,
water_damage = 1,
lava_damage = 5,
light_damage = 0,
@ -135,6 +148,19 @@ mobs:register_mob("mobs_loz:mimic2", {
end
minetest.env:add_entity(pos, "experience:orb")
end,
do_custom = function(self)
if self.state ~= "attack" then
minetest.after(3, function()
if self.state ~= "attack" and self.object ~= nil then
local pos = self.object:getpos()
if pos ~= nil then
minetest.set_node(pos, {name="mobs_loz:mimic_chest2", param2=1})
self.object:remove()
end
end
end)
end
end,
water_damage = 1,
lava_damage = 5,
light_damage = 0,

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 654 B

View File

@ -16,7 +16,7 @@ mobs:register_mob("mobs_loz:zora", {
textures = {
{"mobs_zora.png"},
},
blood_texture = "icetools_shard.png",
blood_texture = "hyruletools_ice_shard.png",
makes_footstep_sound = true,
view_range = 5,
walk_velocity = 2,
@ -31,14 +31,14 @@ mobs:register_mob("mobs_loz:zora", {
fall_damage = 0,
fall_speed = -6,
drops = {
{name = "icetools:ice_shard",
{name = "hyruletools:ice_fragment",
chance = 9, min = 1, max = 3},
{name = "hyruletools:green_rupee",
chance = 5, min = 1, max = 2},
},
on_die = function(self)
local pos = self.object:getpos()
if math.random(1,5) == 2 then
if math.random(1,7) == 2 then
minetest.env:add_entity(pos, "hyruletools:heart_entity")
end
minetest.env:add_entity(pos, "experience:orb")
@ -59,7 +59,7 @@ mobs:register_mob("mobs_loz:zora", {
do_custom = function(self)
if not self.child
and math.random(1, 200) == 1 then
and math.random(1, 250) == 1 then
local pos = self.object:getpos()