Modify mobs from original mods.

... rather than copying them.
This commit is contained in:
Duane 2016-06-06 07:13:31 -05:00
parent 0c788eb537
commit 0f09bd5cc8
26 changed files with 195 additions and 6606 deletions

13
LICENSE
View file

@ -1,10 +1,3 @@
Much of the code and art from this mod were taken nearly unchanged from
Mobs Redo, made by TenPlus1 and many others, and distributed under the
WTFPL license.
https://forum.minetest.net/viewtopic.php?f=11&t=9917
All of the goblin code and art are taken from FreeLikeGNU's Goblins mod, All of the goblin code and art are taken from FreeLikeGNU's Goblins mod,
distributed under the CC-by-SA license. distributed under the CC-by-SA license.
@ -18,12 +11,6 @@ mod, distributed under the WTFPL license.
https://forum.minetest.net/viewtopic.php?f=9&t=9522 https://forum.minetest.net/viewtopic.php?f=9&t=9522
The changes I've made to these mods are minor, but crucial to dealing
with an all-underground environment. The mobs don't have vertical
range limits, are less affected by light, and they behave a bit
differently from the originals.
The rest of this mod is distributed under the LGPL 2.1 license for The rest of this mod is distributed under the LGPL 2.1 license for
historic reasons. historic reasons.

View file

@ -1,128 +0,0 @@
-- Spider by AspireMint (fishyWET (CC-BY-SA 3.0 license for texture)
function fun_caves.climb(self)
if self.state == "stand" and math.random() < 0.2 then
if self.fall_speed == 2 then
self.fall_speed = -2
else
self.fall_speed = 2
end
elseif self.state == "attack" and self.fall_speed ~= -2 then
self.fall_speed = -2
end
end
mobs:register_mob("fun_caves:dangler", {
description = "Dangling Spider",
type = "monster",
passive = false,
attack_type = "dogfight",
attacks_monsters = true,
reach = 2,
damage = 1,
hp_min = 10,
hp_max = 20,
armor = 200,
collisionbox = {-0.32, -0.0, -0.25, 0.25, 0.25, 0.25},
visual = "mesh",
mesh = "fun_caves_spider.x",
drawtype = "front",
textures = {
{"mobs_spider.png"},
},
visual_size = {x = 1.5, y = 1.5},
makes_footstep_sound = false,
sounds = {
random = "mobs_spider",
attack = "mobs_spider",
},
walk_velocity = 1,
run_velocity = 3,
jump = true,
view_range = 15,
floats = 0,
drops = {
{name = "mobs:meat_raw", chance = 2, min = 1, max = 1},
{name = "farming:cotton", chance = 2, min = 1, max = 2},
},
water_damage = 0,
lava_damage = 5,
cold_damage = 1,
light_damage = 0,
fall_damage = 0,
lifetimer = 360,
follow = nil,
animation = {
speed_normal = 15,
speed_run = 15,
stand_start = 1,
stand_end = 1,
walk_start = 20,
walk_end = 40,
run_start = 20,
run_end = 40,
punch_start = 50,
punch_end = 90,
},
replace_rate = 50,
--replace_what = {"mobs:cobweb", "fun_caves:glowing_fungal_wood", "fun_caves:sap",},
--replace_with = "air",
--replace_offset = -1,
do_custom = function(self)
if not fun_caves.custom_ready(self) then
return
end
fun_caves.climb(self)
fun_caves.search_replace(self.object:getpos(), 100, {"air"}, "mobs:cobweb")
fun_caves.surface_damage(self)
end,
})
mobs:register_spawn("fun_caves:dangler", {"fun_caves:stone_with_moss", "fun_caves:stone_with_lichen", "fun_caves:stone_with_algae"}, 14, 0, 2500, 3, -51)
mobs:register_egg("fun_caves:dangler", "Dangling Spider", "mobs_cobweb.png", 1)
-- cobweb
if not minetest.registered_nodes['mobs:cobweb'] then
minetest.register_node(":mobs:cobweb", {
description = "Cobweb",
drawtype = "plantlike",
visual_scale = 1.1,
tiles = {"mobs_cobweb.png"},
inventory_image = "mobs_cobweb.png",
paramtype = "light",
sunlight_propagates = true,
liquid_viscosity = 11,
liquidtype = "source",
liquid_alternative_flowing = "mobs:cobweb",
liquid_alternative_source = "mobs:cobweb",
liquid_renewable = false,
liquid_range = 0,
walkable = false,
groups = {snappy = 1, liquid = 3},
drop = "farming:cotton",
sounds = default.node_sound_leaves_defaults(),
})
minetest.register_craft({
output = "mobs:cobweb",
recipe = {
{"farming:string", "", "farming:string"},
{"", "farming:string", ""},
{"farming:string", "", "farming:string"},
}
})
end
minetest.register_abm({
nodenames = {"mobs:cobweb"},
interval = 500,
chance = 50,
action = function(pos, node)
minetest.set_node(pos, {name = "air"})
end
})

View file

@ -7,3 +7,4 @@ mobs?
mobs_monster? mobs_monster?
mobs_slimes? mobs_slimes?
mobs_creeper? mobs_creeper?
dmobs?

View file

@ -1,59 +0,0 @@
-- elephant from dmobs by D00Med (LGPL v2.1, textures CC-BY-SA v3.0)
mobs:register_mob("fun_caves:elephant", {
type = "monster",
passive = false,
reach = 3,
damage = 4,
attack_type = "dogfight",
hp_min = 12,
hp_max = 22,
armor = 130,
collisionbox = {-0.9, -1.2, -0.9, 0.9, 0.9, 0.9},
visual = "mesh",
mesh = "fun_caves_elephant.b3d",
textures = {
{"fun_caves_elephant.png"},
},
blood_texture = "mobs_blood.png",
visual_size = {x=2.5, y=2.5},
makes_footstep_sound = true,
walk_velocity = 1.1,
run_velocity = 1.2,
jump = false,
water_damage = 0,
lava_damage = 2,
light_damage = 0,
replace_rate = 10,
replace_what = {"default:dry_grass_3", "default:dry_grass_4", "default:dry_grass_5", "farming:straw", "fun_caves:dry_fiber"},
replace_with = "air",
follow = {"farming:wheat"},
view_range = 9,
drops = {
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
},
animation = {
speed_normal = 5,
speed_run = 10,
walk_start = 3,
walk_end = 19,
stand_start = 20,
stand_end = 30,
run_start = 3,
run_end = 19,
},
on_rightclick = function(self, clicker)
if mobs:feed_tame(self, clicker, 8, true, true) then
return
end
mobs:capture_mob(self, clicker, 0, 5, 50, false, nil)
end,
})
mobs:register_spawn("fun_caves:elephant", {"default:dirt_with_dry_grass","default:desert_sand"}, 20, 10, 17000, 2, 31000)
mobs:register_egg("fun_caves:elephant", "Elephant", "default_dry_grass.png", 1)

View file

@ -10,6 +10,7 @@ mobs:register_mob("fun_caves:goblin_coal", {
hp_min = 5, hp_min = 5,
hp_max = 10, hp_max = 10,
armor = 100, armor = 100,
fear_height = 4,
collisionbox = {-0.35,-1,-0.35, 0.35,-.1,0.35}, collisionbox = {-0.35,-1,-0.35, 0.35,-.1,0.35},
visual = "mesh", visual = "mesh",
mesh = "goblins_goblin.b3d", mesh = "goblins_goblin.b3d",

View file

@ -10,6 +10,7 @@ mobs:register_mob("fun_caves:goblin_cobble", {
hp_min = 5, hp_min = 5,
hp_max = 10, hp_max = 10,
armor = 100, armor = 100,
fear_height = 4,
collisionbox = {-0.35,-1,-0.35, 0.35,-.1,0.35}, collisionbox = {-0.35,-1,-0.35, 0.35,-.1,0.35},
visual = "mesh", visual = "mesh",
mesh = "goblins_goblin.b3d", mesh = "goblins_goblin.b3d",

View file

@ -10,6 +10,7 @@ mobs:register_mob("fun_caves:goblin_copper", {
hp_min = 10, hp_min = 10,
hp_max = 20, hp_max = 20,
armor = 100, armor = 100,
fear_height = 4,
collisionbox = {-0.35,-1,-0.35, 0.35,-.1,0.35}, collisionbox = {-0.35,-1,-0.35, 0.35,-.1,0.35},
visual = "mesh", visual = "mesh",
mesh = "goblins_goblin.b3d", mesh = "goblins_goblin.b3d",

View file

@ -10,6 +10,7 @@ mobs:register_mob("fun_caves:goblin_diamond", {
hp_min = 20, hp_min = 20,
hp_max = 30, hp_max = 30,
armor = 100, armor = 100,
fear_height = 4,
collisionbox = {-0.35,-1,-0.35, 0.35,-.1,0.35}, collisionbox = {-0.35,-1,-0.35, 0.35,-.1,0.35},
visual = "mesh", visual = "mesh",
mesh = "goblins_goblin.b3d", mesh = "goblins_goblin.b3d",

View file

@ -106,6 +106,7 @@ mobs:register_mob("fun_caves:goblin_digger", {
hp_min = 5, hp_min = 5,
hp_max = 10, hp_max = 10,
armor = 100, armor = 100,
fear_height = 4,
collisionbox = {-0.35,-1,-0.35, 0.35,-.1,0.35}, collisionbox = {-0.35,-1,-0.35, 0.35,-.1,0.35},
visual = "mesh", visual = "mesh",
mesh = "goblins_goblin.b3d", mesh = "goblins_goblin.b3d",

View file

@ -10,6 +10,7 @@ mobs:register_mob("fun_caves:goblin_gold", {
hp_min = 10, hp_min = 10,
hp_max = 30, hp_max = 30,
armor = 100, armor = 100,
fear_height = 4,
collisionbox = {-0.35,-1,-0.35, 0.35,-.1,0.35}, collisionbox = {-0.35,-1,-0.35, 0.35,-.1,0.35},
visual = "mesh", visual = "mesh",
mesh = "goblins_goblin.b3d", mesh = "goblins_goblin.b3d",

View file

@ -10,6 +10,7 @@ mobs:register_mob("fun_caves:goblin_ice", {
hp_min = 5, hp_min = 5,
hp_max = 10, hp_max = 10,
armor = 100, armor = 100,
fear_height = 4,
collisionbox = {-0.35,-1,-0.35, 0.35,-.1,0.35}, collisionbox = {-0.35,-1,-0.35, 0.35,-.1,0.35},
visual = "mesh", visual = "mesh",
mesh = "goblins_goblin.b3d", mesh = "goblins_goblin.b3d",

View file

@ -10,6 +10,7 @@ mobs:register_mob("fun_caves:goblin_iron", {
hp_min = 10, hp_min = 10,
hp_max = 20, hp_max = 20,
armor = 100, armor = 100,
fear_height = 4,
collisionbox = {-0.35,-1,-0.35, 0.35,-.1,0.35}, collisionbox = {-0.35,-1,-0.35, 0.35,-.1,0.35},
visual = "mesh", visual = "mesh",
mesh = "goblins_goblin.b3d", mesh = "goblins_goblin.b3d",

View file

@ -10,6 +10,7 @@ mobs:register_mob("fun_caves:goblin_king", {
hp_min = 20, hp_min = 20,
hp_max = 40, hp_max = 40,
armor = 100, armor = 100,
fear_height = 4,
collisionbox = {-0.35,-1,-0.35, 0.35,-.1,0.35}, collisionbox = {-0.35,-1,-0.35, 0.35,-.1,0.35},
visual = "mesh", visual = "mesh",
mesh = "goblins_goblin.b3d", mesh = "goblins_goblin.b3d",

View file

@ -366,7 +366,7 @@ local function generate(p_minp, p_maxp, seed)
biome_val = biome_val / max(1, log(y - fluid_compression)) biome_val = biome_val / max(1, log(y - fluid_compression))
end end
------------------- -------------------
--biome_val = 0.45 --biome_val = -0.75
------------------- -------------------
if biome_val < -0.65 then if biome_val < -0.65 then
stone_type = node["default:ice"] stone_type = node["default:ice"]
@ -683,8 +683,10 @@ local function generate(p_minp, p_maxp, seed)
vm:set_data(data) vm:set_data(data)
--vm:set_param2_data(p2data) --vm:set_param2_data(p2data)
if fun_caves.DEBUG then if fun_caves.DEBUG then
vm:set_lighting({day = 15, night = 15}) vm:set_lighting({day = 8, night = 8})
else else
-- set_lighting causes shadows
--vm:set_lighting({day = 0, night = 0})
vm:calc_lighting({x=minp.x,y=emin.y,z=minp.z},maxp) vm:calc_lighting({x=minp.x,y=emin.y,z=minp.z},maxp)
end end
vm:update_liquids() vm:update_liquids()

187
mobs.lua
View file

@ -17,6 +17,18 @@ fun_caves.search_replace = function(pos, search_rate, replace_what, replace_with
end end
end end
function fun_caves.climb(self)
if self.state == "stand" and math.random() < 0.2 then
if self.fall_speed == 2 then
self.fall_speed = -2
else
self.fall_speed = 2
end
elseif self.state == "attack" and self.fall_speed ~= -2 then
self.fall_speed = -2
end
end
-- causes mobs to take damage from hot/cold surfaces -- causes mobs to take damage from hot/cold surfaces
fun_caves.surface_damage = function(self, cold_natured) fun_caves.surface_damage = function(self, cold_natured)
--if not self.fun_caves_damage_timer then --if not self.fun_caves_damage_timer then
@ -63,13 +75,171 @@ fun_caves.custom_ready = function(self)
end end
dofile(fun_caves.path .. "/danglers.lua") if minetest.registered_entities["mobs_monster:spider"] then
dofile(fun_caves.path .. "/spider.lua") -- Deep spider
dofile(fun_caves.path .. "/tarantula.lua") local m = table.copy(minetest.registered_entities["mobs_monster:spider"])
dofile(fun_caves.path .. "/spider_ice.lua") m.docile_by_day = false
dofile(fun_caves.path .. "/sand_monster.lua") m.drops = {
dofile(fun_caves.path .. "/tar_monster.lua") {name = "mobs:meat_raw", chance = 1, min = 1, max = 3},
dofile(fun_caves.path .. "/elephant.lua") {name = "wool:black", chance = 1, min = 1, max = 3},
}
m.water_damage = 0
m.do_custom = function(self)
if not fun_caves.custom_ready(self) then
return
end
fun_caves.surface_damage(self)
end
minetest.registered_entities["fun_caves:spider"] = m
mobs.spawning_mobs["fun_caves:spider"] = true
mobs:register_spawn("fun_caves:spider", {"fun_caves:stone_with_moss", "fun_caves:stone_with_lichen", "fun_caves:stone_with_algae"}, 14, 0, 2000, 2, -51)
mobs:register_egg("fun_caves:spider", "Deep Spider", "mobs_cobweb.png", 1)
-- ice spider
m = table.copy(minetest.registered_entities["mobs_monster:spider"])
m.docile_by_day = false
m.textures = { {"fun_caves_spider_ice.png"}, }
m.base_texture = m.textures[1]
m.drops = {
{name = "mobs:meat_raw", chance = 1, min = 1, max = 3},
{name = "wool:white", chance = 1, min = 1, max = 3},
}
m.water_damage = 0
m.do_custom = function(self)
if not fun_caves.custom_ready(self) then
return
end
fun_caves.surface_damage(self, true)
end
minetest.registered_entities["fun_caves:spider_ice"] = m
mobs.spawning_mobs["fun_caves:spider_ice"] = true
mobs:register_spawn("fun_caves:spider_ice", {"default:ice"}, 14, 0, 1000, 2, 31000)
mobs:register_egg("fun_caves:spider_ice", "Ice Spider", "mobs_cobweb.png", 1)
-- dangling spiders
m = table.copy(minetest.registered_entities["mobs_monster:spider"])
m.docile_by_day = false
m.attacks_monsters = true
m.damage = 1
m.hp_min = 10
m.hp_max = 20
m.water_damage = 0
m.fall_damage = 0
m.collisionbox = {-0.32, -0.0, -0.25, 0.25, 0.25, 0.25}
m.visual_size = {x = 1.5, y = 1.5}
m.drops = {
{name = "mobs:meat_raw", chance = 2, min = 1, max = 1},
{name = "farming:cotton", chance = 2, min = 1, max = 2},
}
m.do_custom = function(self)
if not fun_caves.custom_ready(self) then
return
end
fun_caves.climb(self)
fun_caves.search_replace(self.object:getpos(), 100, {"air"}, "mobs:cobweb")
fun_caves.surface_damage(self)
end
minetest.registered_entities["fun_caves:dangler"] = m
mobs.spawning_mobs["fun_caves:dangler"] = true
mobs:register_spawn("fun_caves:dangler", {"fun_caves:stone_with_moss", "fun_caves:stone_with_lichen", "fun_caves:stone_with_algae"}, 14, 0, 1000, 3, -51)
mobs:register_egg("fun_caves:dangler", "Dangling Spider", "mobs_cobweb.png", 1)
-- tarantula
m = table.copy(minetest.registered_entities["mobs_monster:spider"])
m.type = "animal"
m.reach = 1
m.damage = 1
m.hp_min = 1
m.hp_max = 2
m.collisionbox = {-0.15, -0.01, -0.15, 0.15, 0.1, 0.15}
m.textures = { {"fun_caves_tarantula.png"}, }
m.base_texture = m.textures[1]
m.visual_size = {x = 1, y = 1}
m.sounds = {}
m.run_velocity = 2
m.jump = false
m.drops = { {name = "mobs:meat_raw", chance = 1, min = 1, max = 1}, }
m.do_custom = function(self)
if not self.fun_caves_damage_timer then
self.fun_caves_damage_timer = 0
end
fun_caves.surface_damage(self)
end
minetest.registered_entities["fun_caves:tarantula"] = m
mobs.spawning_mobs["fun_caves:tarantula"] = true
mobs:register_spawn("fun_caves:tarantula", {"default:desert_sand", "default:dirt_with_dry_grass"}, 99, 0, 3000, 2, 31000)
mobs:register_egg("fun_caves:tarantula", "Tarantula", "mobs_cobweb.png", 1)
minetest.register_abm({
nodenames = {"mobs:cobweb"},
interval = 500,
chance = 50,
action = function(pos, node)
minetest.set_node(pos, {name = "air"})
end
})
end
if minetest.registered_entities["mobs_monster:sand_monster"] then
local m = table.copy(minetest.registered_entities["mobs_monster:sand_monster"])
m.damage = 2
m.hp_min = 15
m.hp_max = 40
m.textures = { {"fun_caves_tar_monster.png"}, }
m.base_texture = m.textures[1]
m.drops = { {name = "default:coal_lump", chance = 1, min = 3, max = 5}, }
m.water_damage = 1
m.lava_damage = 2
m.light_damage = 1
minetest.registered_entities["fun_caves:tar_monster"] = m
mobs.spawning_mobs["fun_caves:tar_monster"] = true
mobs:register_spawn("fun_caves:tar_monster", {"fun_caves:black_sand"}, 20, 0, 4000, 1, 31000)
mobs:register_egg("fun_caves:tar_monster", "Tar Monster", "fun_caves_black_sand.png", 1)
m = table.copy(minetest.registered_entities["mobs_monster:sand_monster"])
m.textures = { {"fun_caves_sand_monster.png"}, }
m.base_texture = m.textures[1]
m.drops = { {name = "default:sand", chance = 1, min = 3, max = 5}, }
minetest.registered_entities["fun_caves:sand_monster"] = m
mobs.spawning_mobs["fun_caves:sand_monster"] = true
mobs:register_spawn("fun_caves:sand_monster", {"default:sand"}, 20, 0, 4000, 3, -50)
mobs:register_egg("fun_caves:sand_monster", "Deep Sand Monster", "default_sand.png", 1)
end
-- Change the original, rather than making a copy.
if minetest.registered_entities["dmobs:elephant"] then
local m = minetest.registered_entities["dmobs:elephant"]
m.type = "monster"
m.reach = 3
m.damage = 3
end
if minetest.registered_entities["mobs_monster:dirt_monster"] then if minetest.registered_entities["mobs_monster:dirt_monster"] then
-- check this -- check this
@ -140,6 +310,9 @@ local t_mobs = {
"fun_caves:goblin_gold", "fun_caves:goblin_gold",
"fun_caves:goblin_diamond", "fun_caves:goblin_diamond",
"fun_caves:goblin_king", "fun_caves:goblin_king",
"dmobs:orc",
"dmobs:ogre",
"dmobs:dragon",
} }
for _, mob in pairs(t_mobs) do for _, mob in pairs(t_mobs) do
if minetest.registered_entities[mob] then if minetest.registered_entities[mob] then

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

View file

@ -1,52 +0,0 @@
-- Sand Monster by PilzAdam
mobs:register_mob("fun_caves:sand_monster", {
type = "monster",
passive = false,
attack_type = "dogfight",
pathfinding = true,
reach = 2,
damage = 1,
hp_min = 4,
hp_max = 20,
armor = 100,
collisionbox = {-0.4, -1, -0.4, 0.4, 0.8, 0.4},
visual = "mesh",
mesh = "mobs_sand_monster.b3d",
textures = {
{"fun_caves_sand_monster.png"},
},
makes_footstep_sound = true,
sounds = {
random = "mobs_sandmonster",
},
walk_velocity = 1.5,
run_velocity = 4,
view_range = 15,
jump = true,
floats = 0,
drops = {
{name = "default:sand", chance = 1, min = 3, max = 5},
},
water_damage = 3,
lava_damage = 4,
light_damage = 0,
fear_height = 4,
animation = {
speed_normal = 15,
speed_run = 15,
stand_start = 0,
stand_end = 39,
walk_start = 41,
walk_end = 72,
run_start = 74,
run_end = 105,
punch_start = 74,
punch_end = 105,
},
})
mobs:register_spawn("fun_caves:sand_monster", {"default:sand"}, 20, 0, 4000, 3, -50)
mobs:register_egg("fun_caves:sand_monster", "Deep Sand Monster", "default_sand.png", 1)

View file

@ -1,61 +0,0 @@
-- Spider by AspireMint (fishyWET (CC-BY-SA 3.0 license for texture)
mobs:register_mob("fun_caves:spider", {
docile_by_day = true,
type = "monster",
passive = false,
attack_type = "dogfight",
reach = 2,
damage = 3,
hp_min = 20,
hp_max = 40,
armor = 200,
collisionbox = {-0.9, -0.01, -0.7, 0.7, 0.6, 0.7},
visual = "mesh",
mesh = "fun_caves_spider.x",
textures = {
{"mobs_spider.png"},
},
visual_size = {x = 7, y = 7},
makes_footstep_sound = false,
sounds = {
random = "mobs_spider",
attack = "mobs_spider",
},
walk_velocity = 1,
run_velocity = 3,
jump = true,
view_range = 15,
floats = 0,
drops = {
{name = "mobs:meat_raw", chance = 1, min = 1, max = 3},
{name = "wool:black", chance = 1, min = 1, max = 3},
},
water_damage = 0,
lava_damage = 5,
light_damage = 0,
animation = {
speed_normal = 15,
speed_run = 15,
stand_start = 1,
stand_end = 1,
walk_start = 20,
walk_end = 40,
run_start = 20,
run_end = 40,
punch_start = 50,
punch_end = 90,
},
do_custom = function(self)
if not fun_caves.custom_ready(self) then
return
end
fun_caves.surface_damage(self)
end,
})
mobs:register_spawn("fun_caves:spider", {"fun_caves:stone_with_moss", "fun_caves:stone_with_lichen", "fun_caves:stone_with_algae"}, 14, 0, 5000, 2, -51)
mobs:register_egg("fun_caves:spider", "Deep Spider", "mobs_cobweb.png", 1)

View file

@ -1,62 +0,0 @@
-- Spider by AspireMint (fishyWET (CC-BY-SA 3.0 license for texture)
mobs:register_mob("fun_caves:spider_ice", {
docile_by_day = true,
type = "monster",
passive = false,
attack_type = "dogfight",
reach = 2,
damage = 3,
hp_min = 20,
hp_max = 40,
armor = 200,
collisionbox = {-0.9, -0.01, -0.7, 0.7, 0.6, 0.7},
visual = "mesh",
mesh = "fun_caves_spider.x",
textures = {
{"fun_caves_spider_ice.png"},
},
visual_size = {x = 7, y = 7},
makes_footstep_sound = false,
sounds = {
random = "mobs_spider",
attack = "mobs_spider",
},
walk_velocity = 1,
run_velocity = 3,
jump = true,
view_range = 15,
floats = 0,
drops = {
{name = "mobs:meat_raw", chance = 1, min = 1, max = 3},
{name = "wool:white", chance = 1, min = 1, max = 3},
},
water_damage = 0,
lava_damage = 5,
cold_damage = 0,
light_damage = 0,
animation = {
speed_normal = 15,
speed_run = 15,
stand_start = 1,
stand_end = 1,
walk_start = 20,
walk_end = 40,
run_start = 20,
run_end = 40,
punch_start = 50,
punch_end = 90,
},
do_custom = function(self)
if not fun_caves.custom_ready(self) then
return
end
fun_caves.surface_damage(self, true)
end,
})
mobs:register_spawn("fun_caves:spider_ice", {"default:ice"}, 14, 0, 1000, 2, 31000)
mobs:register_egg("fun_caves:spider_ice", "Ice Spider", "mobs_cobweb.png", 1)

View file

@ -1,58 +0,0 @@
-- Sand Monster by PilzAdam
mobs:register_mob("fun_caves:tar_monster", {
type = "monster",
passive = false,
attack_type = "dogfight",
pathfinding = true,
reach = 2,
damage = 2,
hp_min = 15,
hp_max = 40,
armor = 100,
collisionbox = {-0.4, -1, -0.4, 0.4, 0.8, 0.4},
visual = "mesh",
mesh = "mobs_sand_monster.b3d",
textures = {
{"fun_caves_tar_monster.png"},
},
makes_footstep_sound = true,
sounds = {
random = "mobs_sandmonster",
},
walk_velocity = 1.5,
run_velocity = 4,
view_range = 15,
jump = true,
floats = 0,
drops = {
{name = "default:coal_lump", chance = 1, min = 3, max = 5},
},
water_damage = 1,
lava_damage = 2,
light_damage = 1,
fear_height = 4,
animation = {
speed_normal = 15,
speed_run = 15,
stand_start = 0,
stand_end = 39,
walk_start = 41,
walk_end = 72,
run_start = 74,
run_end = 105,
punch_start = 74,
punch_end = 105,
},
--[[
custom_attack = function(self, p)
local pos = self.object:getpos()
minetest.add_item(pos, "default:sand")
end,
]]
})
mobs:register_spawn("fun_caves:tar_monster", {"fun_caves:black_sand"}, 20, 0, 4000, 1, 31000)
mobs:register_egg("fun_caves:tar_monster", "Tar Monster", "fun_caves_black_sand.png", 1)

View file

@ -1,60 +0,0 @@
-- Spider by AspireMint (fishyWET (CC-BY-SA 3.0 license for texture)
mobs:register_mob("fun_caves:tarantula", {
docile_by_day = true,
type = "monster",
passive = false,
attack_type = "dogfight",
reach = 1,
damage = 1,
hp_min = 1,
hp_max = 2,
armor = 200,
collisionbox = {-0.15, -0.01, -0.15, 0.15, 0.1, 0.15},
visual = "mesh",
mesh = "fun_caves_spider.x",
textures = {
{"fun_caves_tarantula.png"},
},
visual_size = {x = 1, y = 1},
makes_footstep_sound = false,
--sounds = {
-- random = "mobs_spider",
-- attack = "mobs_spider",
--},
walk_velocity = 1,
run_velocity = 2,
jump = false,
view_range = 15,
floats = 0,
drops = {
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
},
water_damage = 0,
lava_damage = 5,
light_damage = 0,
animation = {
speed_normal = 15,
speed_run = 15,
stand_start = 1,
stand_end = 1,
walk_start = 20,
walk_end = 40,
run_start = 20,
run_end = 40,
punch_start = 50,
punch_end = 90,
},
do_custom = function(self)
if not self.fun_caves_damage_timer then
self.fun_caves_damage_timer = 0
end
fun_caves.surface_damage(self)
end,
})
mobs:register_spawn("fun_caves:tarantula", {"default:desert_sand", "default:dirt_with_dry_grass"}, 99, 0, 3000, 2, 31000)
--mobs:register_egg("fun_caves:spider", "Deep Spider", "mobs_cobweb.png", 1)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

View file

@ -1,3 +1,2 @@
Elephant textures and model: DOOMED <heiselong@gmx.com> Original spider textures: AspireMint
Original spider textures and model: AspireMint and fishyWET
Original goblins textures and models: Francisco "FreeLikeGNU" Athens Original goblins textures and models: Francisco "FreeLikeGNU" Athens

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 KiB