1
0
mirror of https://github.com/sys4-fr/server-nalc.git synced 2024-12-25 02:00:37 +01:00
Ajouts de silver_coin et copper_coin en drop des monstres, le lava_flan
saute deux nodes maintenant aulieu d’auparavant une demi (devient plus
dangereux, peu surprendre)
Ajout du Mese_monster dans le nether
This commit is contained in:
Ombridride 2014-10-28 19:48:41 +01:00
parent 232b274c55
commit 774bc0a393
16 changed files with 26 additions and 727 deletions

View File

@ -1,121 +0,0 @@
--= Chicken (thanks to JK Murray for his chicken model)
mobs:register_mob("mobs:chicken", {
type = "animal",
hp_min = 5,
hp_max = 10,
animaltype = "clucky",
collisionbox = {-0.3, -0.75, -0.3, 0.3, 0.1, 0.3},
visual = "mesh",
mesh = "chicken.x",
-- textures look repetative but they fix the wrapping bug
textures = {"mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png",
"mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png"},
makes_footstep_sound = true,
walk_velocity = 1,
armor = 200,
drops = {
{name = "mobs:chicken_raw", chance = 1, min = 2, max = 2,},
},
drawtype = "front",
water_damage = 1,
lava_damage = 5,
light_damage = 0,
jump = false,
animation = {
speed_normal = 15,
stand_start = 0,
stand_end = 1, -- 20
walk_start = 20,
walk_end = 40,
},
follow = "farming:wheat",
view_range = 5,
on_rightclick = function(self, clicker)
if clicker:is_player() and clicker:get_inventory() then
clicker:get_inventory():add_item("main", "mobs:chicken")
self.object:remove()
end
end,
jump = true,
step = 1,
blood_texture = "mobs_blood.png",
passive = true,
})
mobs:register_spawn("mobs:chicken", {"default:dirt_with_grass"}, 20, 8, 9000, 1, 31000)
-- Chicken (right-click chicken to place in inventory)
minetest.register_craftitem("mobs:chicken", {
description = "Chicken",
inventory_image = "mobs_chicken_inv.png",
on_place = function(itemstack, placer, pointed_thing)
if pointed_thing.above then
minetest.env:add_entity(pointed_thing.above, "mobs:chicken")
itemstack:take_item()
end
return itemstack
end,
})
-- Egg (can be fried in furnace)
minetest.register_node("mobs:egg",
{
description = "Chicken Egg",
tiles = {"mobs_chicken_egg.png"},
inventory_image = "mobs_chicken_egg.png",
on_use = minetest.item_eat(1),
visual_scale = 0.7,
drawtype = "plantlike",
wield_image = "mobs_chicken_egg.png",
paramtype = "light",
walkable = false,
is_ground_content = true,
sunlight_propagates = true,
selection_box = {
type = "fixed",
fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2}
},
groups = {snappy=2, dig_immediate=3},
after_place_node = function(pos, placer, itemstack)
if placer:is_player() then
minetest.set_node(pos, {name="mobs:egg", param2=1})
end
end
})
minetest.register_craftitem("mobs:chicken_egg_fried", {
description = "Fried Egg",
inventory_image = "mobs_chicken_egg_fried.png",
on_use = minetest.item_eat(2),
})
minetest.register_craft({
type = "cooking",
recipe = "mobs:egg",
output = "mobs:chicken_egg_fried",
})
-- Chicken (raw and cooked)
minetest.register_craftitem("mobs:chicken_raw", {
description = "Raw Chicken",
inventory_image = "mobs_chicken_raw.png",
on_use = minetest.item_eat(2),
})
minetest.register_craftitem("mobs:chicken_cooked", {
description = "Cooked Chicken",
inventory_image = "mobs_chicken_cooked.png",
on_use = minetest.item_eat(4),
})
minetest.register_craft({
type = "cooking",
recipe = "mobs:chicken_raw",
output = "mobs:chicken_cooked",
})

View File

@ -19,6 +19,10 @@ mobs:register_mob("mobs:dirt_monster", {
chance = 1, chance = 1,
min = 3, min = 3,
max = 5,}, max = 5,},
{name = "maptools:copper_coin",
chance = 2,
min = 2,
max = 4,},
}, },
armor = 90, armor = 90,
drawtype = "front", drawtype = "front",

View File

@ -1,46 +0,0 @@
-- Dirt Monster
mobs:register_mob("mobs:dirt_monster", {
type = "monster",
hp_min = 20,
hp_max = 30,
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1.9, 0.4},
visual = "mesh",
mesh = "mobs_stone_monster.x",
textures = {"mobs_dirt_monster.png"},
visual_size = {x=3, y=2.6},
makes_footstep_sound = true,
view_range = 15,
walk_velocity = 3,
run_velocity = 5,
damage = 3,
drops = {
{name = "default:dirt",
chance = 1,
min = 3,
max = 5,},
},
armor = 100,
drawtype = "front",
water_damage = 1,
lava_damage = 5,
light_damage = 2,
on_rightclick = nil,
attack_type = "dogfight",
animation = {
speed_normal = 15,
speed_run = 15,
stand_start = 0,
stand_end = 14,
walk_start = 15,
walk_end = 38,
run_start = 40,
run_end = 63,
punch_start = 40,
punch_end = 63,
},
jump = true,
step = 1,
blood_texture = "default_dirt.png",
})
mobs:register_spawn("mobs:dirt_monster", {"default:dirt_with_grass"}, 3, -1, 7000, 1, 31000)

View File

@ -14,7 +14,7 @@ mobs:register_mob("mobs:dungeon_master", {
view_range = 16, view_range = 16,
walk_velocity = 1, walk_velocity = 1,
run_velocity = 3, run_velocity = 3,
damage = 10, damage = 12,
drops = { drops = {
{name = "default:mese_crystal_fragment", {name = "default:mese_crystal_fragment",
chance = 1, chance = 1,
@ -23,15 +23,19 @@ mobs:register_mob("mobs:dungeon_master", {
{name = "default:diamond", {name = "default:diamond",
chance = 5, chance = 5,
min = 1, min = 1,
max = 2,}, max = 3,},
{name = "default:mese_crystal", {name = "default:mese_crystal",
chance = 2, chance = 2,
min = 1, min = 1,
max = 2,}, max = 3,},
{name = "default:diamond_block", {name = "default:diamond_block",
chance = 30, chance = 30,
min = 1, min = 1,
max = 1,}, max = 1,},
{name = "maptools:silver_coin",
chance = 1,
min = 1,
max = 5,},
}, },
armor = 60, armor = 60,
drawtype = "front", drawtype = "front",

View File

@ -1,102 +0,0 @@
-- Dungeon Master (This one spits out fireballs at you)
mobs:register_mob("mobs:dungeon_master", {
type = "monster",
hp_min = 45,
hp_max = 55,
collisionbox = {-0.7, -0.01, -0.7, 0.7, 2.6, 0.7},
visual = "mesh",
mesh = "mobs_dungeon_master.x",
textures = {"mobs_dungeon_master.png"},
visual_size = {x=8, y=8},
makes_footstep_sound = true,
view_range = 15,
walk_velocity = 1,
run_velocity = 3,
damage = 10,
drops = {
{name = "default:mese_crystal_fragment",
chance = 1,
min = 1,
max = 3,},
{name = "default:diamond",
chance = 5,
min = 1,
max = 2,},
{name = "default:mese_crystal",
chance = 2,
min = 1,
max = 2,},
{name = "default:diamond_block",
chance = 30,
min = 1,
max = 1,},
},
armor = 60,
drawtype = "front",
water_damage = 1,
lava_damage = 1,
light_damage = 0,
on_rightclick = nil,
attack_type = "shoot",
arrow = "mobs:fireball",
shoot_interval = 2.5,
sounds = {
attack = "mobs_fireball",
},
animation = {
stand_start = 0,
stand_end = 19,
walk_start = 20,
walk_end = 35,
punch_start = 36,
punch_end = 48,
speed_normal = 15,
speed_run = 15,
},
jump = true,
step = 0.5,
blood_texture = "mobs_blood.png",
})
mobs:register_spawn("mobs:dungeon_master", {"default:stone"}, 2, -1, 6000, 1, -70)
-- Fireball (weapon)
mobs:register_arrow("mobs:fireball", {
visual = "sprite",
visual_size = {x=1, y=1},
textures = {"mobs_fireball.png"},
velocity = 5,
-- direct hit, no fire... just plenty of pain
hit_player = function(self, player)
local s = self.object:getpos()
local p = player:getpos()
local vec = {x=s.x-p.x, y=s.y-p.y, z=s.z-p.z}
player:punch(self.object, 1.0, {
full_punch_interval=1.0,
damage_groups = {fleshy=6},
}, vec)
end,
-- node hit, bursts into flame (cannot blast through obsidian)
hit_node = function(self, pos, node)
for dx=-1,1 do
for dy=-1,1 do
for dz=-1,1 do
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
local n = minetest.env:get_node(p).name
if n ~= "default:obsidian" and n ~= "ethereal:obsidian_brick" then
if minetest.registered_nodes[n].groups.flammable or math.random(1, 100) <= 30 then
minetest.env:set_node(p, {name="fire:basic_flame"})
else
minetest.env:set_node(p, {name="air"})
end
end
end
end
end
end
})

View File

@ -50,7 +50,7 @@ mobs:register_mob("mobs:lava_flan", {
punch_end = 28, punch_end = 28,
}, },
jump = true, jump = true,
step = 0.5, step = 2,
blood_texture = "fire_basic_flame.png", blood_texture = "fire_basic_flame.png",
}) })
mobs:register_spawn("mobs:lava_flan", {"default:lava_source"}, 15, -1, 1000, 3, 0) mobs:register_spawn("mobs:lava_flan", {"default:lava_source"}, 15, -1, 1000, 3, 0)

View File

@ -35,6 +35,10 @@ mobs:register_mob("mobs:mese_monster", {
chance = 1, chance = 1,
min = 1, min = 1,
max = 9,}, max = 9,},
{name = "maptools:silver_coin",
chance = 2,
min = 1,
max = 2,},
}, },
light_resistant = true, light_resistant = true,
armor = 80, armor = 80,
@ -61,7 +65,7 @@ mobs:register_mob("mobs:mese_monster", {
step = 1, step = 1,
blood_texture = "default_mese_crystal_fragment.png", blood_texture = "default_mese_crystal_fragment.png",
}) })
mobs:register_spawn("mobs:mese_monster", {"default:stone"}, 3, -1, 4000, 1, -20) mobs:register_spawn("mobs:mese_monster", {"default:stone", "nether:netherrack", }, 3, -1, 4000, 1, -20)
-- Mese Monster Crystal Shards (weapon) -- Mese Monster Crystal Shards (weapon)

View File

@ -1,86 +0,0 @@
--= Mese Monster by Zeg9
-- 9 mese crystal fragments = 1 mese crystal
minetest.register_craft({
output = "default:mese_crystal",
recipe = {
{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"},
{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"},
{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"},
}
})
-- Mese Monster
mobs:register_mob("mobs:mese_monster", {
type = "monster",
hp_min = 15,
hp_max = 30,
collisionbox = {-0.5, -1.5, -0.5, 0.5, 0.5, 0.5},
visual = "mesh",
mesh = "zmobs_mese_monster.x",
textures = {"zmobs_mese_monster.png"},
visual_size = {x=1, y=1},
makes_footstep_sound = true,
view_range = 10,
walk_velocity = 1,
run_velocity = 3,
damage = 5,
drops = {
{name = "default:mese_crystal",
chance = 9,
min = 1,
max = 3,},
{name = "default:mese_crystal_fragment",
chance = 1,
min = 1,
max = 9,},
},
light_resistant = true,
armor = 80,
drawtype = "front",
water_damage = 0,
lava_damage = 0,
light_damage = 0,
attack_type = "shoot",
arrow = "mobs:mese_arrow",
shoot_interval = .5,
animation = {
speed_normal = 15,
speed_run = 15,
stand_start = 0,
stand_end = 14,
walk_start = 15,
walk_end = 38,
run_start = 40,
run_end = 63,
punch_start = 15, -- 40
punch_end = 38, -- 63
},
jump = true,
step = 1,
blood_texture = "default_mese_crystal_fragment.png",
})
mobs:register_spawn("mobs:mese_monster", {"default:stone"}, 3, -1, 4000, 1, -20)
-- Mese Monster Crystal Shards (weapon)
mobs:register_arrow("mobs:mese_arrow", {
visual = "sprite",
visual_size = {x=.5, y=.5},
textures = {"default_mese_crystal_fragment.png"},
velocity = 5,
hit_player = function(self, player)
local s = self.object:getpos()
local p = player:getpos()
player:punch(self.object, 1.0, {
full_punch_interval=1.0,
damage_groups = {fleshy=1},
}, {x=s.x-p.x, y=s.y-p.y, z=s.z-p.z})
end,
hit_node = function(self, pos, node)
end
})

View File

@ -1,47 +0,0 @@
-- Oerkki
mobs:register_mob("mobs:oerkki", {
type = "monster",
hp_min = 40,
hp_max = 50,
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1.9, 0.4},
visual = "mesh",
mesh = "mobs_oerkki.x",
textures = {"mobs_oerkki.png"},
visual_size = {x=5, y=5},
makes_footstep_sound = false,
view_range = 15,
walk_velocity = 2,
run_velocity = 4,
damage = 5,
drops = {
{name = "default:obsidian",
chance = 3,
min = 1,
max = 2,},
},
armor = 100,
drawtype = "front",
light_resistant = true,
water_damage = 1,
lava_damage = 1,
light_damage = 0,
attack_type = "dogfight",
animation = {
stand_start = 0,
stand_end = 23,
walk_start = 24,
walk_end = 36,
run_start = 37,
run_end = 49,
punch_start = 37,
punch_end = 49,
speed_normal = 15,
speed_run = 15,
},
jump = true,
step = 1,
blood_texture = "mobs_blood.png",
})
mobs:register_spawn("mobs:oerkki", {"default:stone"}, 2, -1, 6000, 1, -10)

View File

@ -20,6 +20,10 @@ mobs:register_mob("mobs:sand_monster", {
chance = 1, chance = 1,
min = 3, min = 3,
max = 5,}, max = 5,},
{name = "maptools:copper_coin",
chance = 2,
min = 2,
max = 4,},
}, },
light_resistant = true, light_resistant = true,
armor = 90, armor = 90,

View File

@ -1,47 +0,0 @@
-- Sand Monster
mobs:register_mob("mobs:sand_monster", {
type = "monster",
hp_min = 10,
hp_max = 20,
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1.9, 0.4},
visual = "mesh",
mesh = "mobs_sand_monster.x",
textures = {"mobs_sand_monster.png"},
visual_size = {x=8,y=8},
makes_footstep_sound = true,
view_range = 18,
walk_velocity = 3,
run_velocity = 5,
damage = 3,
drops = {
{name = "default:desert_sand",
chance = 1,
min = 3,
max = 5,},
},
light_resistant = true,
armor = 100,
drawtype = "front",
water_damage = 3,
lava_damage = 1,
light_damage = 0,
attack_type = "dogfight",
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,
},
jump = true,
step = 1,
blood_texture = "mobs_blood.png",
})
mobs:register_spawn("mobs:sand_monster", {"default:desert_sand", "default:sand"}, 20, -1, 4500, 1, 31000)

View File

@ -1,73 +0,0 @@
-- Sheep
mobs:register_mob("mobs:sheep", {
type = "animal",
hp_min = 10,
hp_max = 15,
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1, 0.4},
textures = {"mobs_sheep.png"},
visual = "mesh",
mesh = "mobs_sheep.x",
makes_footstep_sound = true,
walk_velocity = 1,
armor = 200,
drops = {
{name = "mobs:meat_raw",
chance = 1,
min = 2,
max = 3,},
},
drawtype = "front",
water_damage = 1,
lava_damage = 5,
light_damage = 0,
sounds = {
random = "mobs_sheep",
},
animation = {
speed_normal = 15,
stand_start = 0,
stand_end = 80,
walk_start = 81,
walk_end = 100,
},
jump = true,
step = 1,
blood_texture = "mobs_blood.png",
passive = true,
follow = "farming:wheat",
view_range = 5,
on_rightclick = function(self, clicker)
local item = clicker:get_wielded_item()
if item:get_name() == "farming:wheat" then
if not minetest.setting_getbool("creative_mode") then
item:take_item()
clicker:set_wielded_item(item)
end
self.food = (self.food or 0) + 1
if self.food >= 8 then
self.food = 0
self.naked = false
self.tamed = true
self.object:set_properties({
textures = {"mobs_sheep.png"},
mesh = "mobs_sheep.x",
})
minetest.sound_play("mobs_sheep", {object = self.object,gain = 1.0,max_hear_distance = 32,loop = false,})
end
return
end
if clicker:get_inventory() and not self.naked then
self.naked = true
if minetest.registered_items["wool:white"] then
clicker:get_inventory():add_item("main", ItemStack("wool:white "..math.random(1,3)))
end
self.object:set_properties({
textures = {"mobs_sheep_shaved.png"},
mesh = "mobs_sheep_shaved.x",
})
end
end,
})
mobs:register_spawn("mobs:sheep", {"default:dirt_with_grass"}, 20, 8, 9000, 1, 31000)

View File

@ -17,7 +17,7 @@ mobs:register_mob("mobs:stone_monster", {
damage = 3, damage = 3,
drops = { drops = {
{name = "default:torch", {name = "default:torch",
chance = 2, chance = 10,
min = 3, min = 3,
max = 5,}, max = 5,},
{name = "default:iron_lump", {name = "default:iron_lump",
@ -28,6 +28,10 @@ mobs:register_mob("mobs:stone_monster", {
chance=3, chance=3,
min=1, min=1,
max=3,}, max=3,},
{name = "maptools:copper_coin",
chance = 2,
min = 2,
max = 4,},
}, },
light_resistant = true, light_resistant = true,
armor = 60, armor = 60,

View File

@ -1,55 +0,0 @@
-- Stone Monster
mobs:register_mob("mobs:stone_monster", {
type = "monster",
hp_min = 25,
hp_max = 35,
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1.9, 0.4},
visual = "mesh",
mesh = "mobs_stone_monster.x",
textures = {"mobs_stone_monster.png"},
visual_size = {x=3, y=2.6},
makes_footstep_sound = true,
view_range = 10,
walk_velocity = 2,
run_velocity = 4,
damage = 3,
drops = {
{name = "default:torch",
chance = 2,
min = 3,
max = 5,},
{name = "default:iron_lump",
chance=5,
min=1,
max=2,},
{name = "default:coal_lump",
chance=3,
min=1,
max=3,},
},
light_resistant = true,
armor = 60,
drawtype = "front",
water_damage = 0,
lava_damage = 0,
light_damage = 0,
attack_type = "dogfight",
animation = {
speed_normal = 15,
speed_run = 15,
stand_start = 0,
stand_end = 14,
walk_start = 15,
walk_end = 38,
run_start = 40,
run_end = 63,
punch_start = 40,
punch_end = 63,
},
jump = true,
step = 1,
blood_texture = "mobs_blood.png",
})
mobs:register_spawn("mobs:stone_monster", {"default:stone"}, 3, -1, 5000, 1, 0)

View File

@ -1,64 +0,0 @@
-- Tree Monster (or Tree Gollum as I like to call it)
mobs:register_mob("mobs:tree_monster", {
type = "monster",
hp_min = 40,
hp_max = 50,
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1.9, 0.4},
visual = "mesh",
mesh = "mobs_tree_monster.x",
textures = {"mobs_tree_monster.png"},
visual_size = {x=4.5,y=4.5},
makes_footstep_sound = true,
view_range = 16,
walk_velocity = 0.5,
run_velocity = 2.5,
damage = 6,
drops = {
{name = "ethereal:tree_sapling",
chance = 3,
min = 1,
max = 2,},
{name = "ethereal:jungle_tree_sapling",
chance = 3,
min = 1,
max = 2,},
{name = "default:apple",
chance = 2,
min = 1,
max = 5,
},
},
light_resistant = true,
armor = 80,
drawtype = "front",
water_damage = 1,
lava_damage = 5,
light_damage = 2,
disable_fall_damage = true,
attack_type = "dogfight",
animation = {
speed_normal = 15,
speed_run = 15,
stand_start = 0,
stand_end = 24,
walk_start = 25,
walk_end = 47,
run_start = 48,
run_end = 62,
punch_start = 48,
punch_end = 62,
},
jump = true,
step = 1,
blood_texture = "default_wood.png",
})
mobs:register_spawn("mobs:tree_monster", {"default:leaves", "default:jungleleaves"}, 3, -1, 7000, 1, 31000)
-- Ethereal sapling compatibility
if not minetest.get_modpath("ethereal") then
minetest.register_alias("ethereal:tree_sapling", "default:sapling")
minetest.register_alias("ethereal:jungle_tree_sapling", "default:junglesapling")
end

View File

@ -1,80 +0,0 @@
-- Warthog
mobs:register_mob("mobs:pumba", {
type = "animal",
hp_min = 10,
hp_max = 15,
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1, 0.4},
textures = {"mobs_pumba.png"},
visual = "mesh",
mesh = "mobs_pumba.x",
makes_footstep_sound = true,
walk_velocity = 2,
armor = 200,
drops = {
{name = "mobs:pork_raw",
chance = 1,
min = 2,
max = 3,},
},
drawtype = "front",
water_damage = 1,
lava_damage = 5,
light_damage = 0,
sounds = {
random = "mobs_pig",
},
animation = {
speed_normal = 15,
stand_start = 25,
stand_end = 55,
walk_start = 70,
walk_end = 100,
},
follow = "farming:wheat",
view_range = 5,
jump = true,
step = 1,
passive = true,
blood_texture = "mobs_blood.png",
on_rightclick = function(self, clicker)
local item = clicker:get_wielded_item()
if item:get_name() == "farming:wheat" then
if not minetest.setting_getbool("creative_mode") then
item:take_item()
clicker:set_wielded_item(item)
end
self.food = (self.food or 0) + 1
if self.food >= 8 then
self.food = 0
self.tamed = true
minetest.sound_play("mobs_pig", {object = self.object,gain = 1.0,max_hear_distance = 32,loop = false,})
end
return
end
end,
})
mobs:register_spawn("mobs:pumba", {"default:dirt_with_grass"}, 20, 8, 9000, 1, 31000)
-- Porkchops
minetest.register_craftitem("mobs:pork_raw", {
description = "Raw Porkchop",
inventory_image = "mobs_pork_raw.png",
on_use = minetest.item_eat(4),
})
minetest.register_craftitem("mobs:pork_cooked", {
description = "Cooked Porkchop",
inventory_image = "mobs_pork_cooked.png",
on_use = minetest.item_eat(8),
})
minetest.register_craft({
type = "cooking",
output = "mobs:pork_cooked",
recipe = "mobs:pork_raw",
cooktime = 5,
})