Change mobs api and add new mobs from (water_mobs, pmobs, kpgmobs, mob_horse)
5
mods/mobs_monster/depends.txt
Normal file
@ -0,0 +1,5 @@
|
||||
default
|
||||
mobs
|
||||
intllib?
|
||||
lucky_block?
|
||||
toolranks?
|
1
mods/mobs_monster/description.txt
Normal file
@ -0,0 +1 @@
|
||||
Adds many types of monster.
|
84
mods/mobs_monster/dirt_monster.lua
Normal file
@ -0,0 +1,84 @@
|
||||
|
||||
local S = mobs.intllib
|
||||
|
||||
|
||||
-- Dirt Monster by PilzAdam
|
||||
|
||||
mobs:register_mob("mobs_monster:dirt_monster", {
|
||||
type = "monster",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
pathfinding = true,
|
||||
reach = 2,
|
||||
damage = 2,
|
||||
hp_min = 3,
|
||||
hp_max = 27,
|
||||
armor = 100,
|
||||
collisionbox = {-0.4, -1, -0.4, 0.4, 0.8, 0.4},
|
||||
visual = "mesh",
|
||||
mesh = "mobs_stone_monster.b3d",
|
||||
textures = {
|
||||
{"mobs_dirt_monster.png"},
|
||||
},
|
||||
blood_texture = "default_dirt.png",
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
random = "mobs_dirtmonster",
|
||||
},
|
||||
view_range = 15,
|
||||
walk_velocity = 1,
|
||||
run_velocity = 3,
|
||||
jump = true,
|
||||
drops = {
|
||||
{name = "default:dirt", chance = 1, min = 3, max = 5},
|
||||
{name = "maptools:silver_coin", chance = 2, min = 1, max = 1,},
|
||||
},
|
||||
water_damage = 1,
|
||||
lava_damage = 5,
|
||||
light_damage = 3,
|
||||
fear_height = 4,
|
||||
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,
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
local spawn_on = {"default:dirt_with_grass", "default:dirt_with_dry_grass"}
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
spawn_on = {"ethereal:gray_dirt"}
|
||||
end
|
||||
|
||||
mobs:spawn({
|
||||
name = "mobs_monster:dirt_monster",
|
||||
nodes = spawn_on,
|
||||
min_light = 0,
|
||||
max_light = 7,
|
||||
chance = 7000,
|
||||
active_object_count = 2,
|
||||
min_height = 0,
|
||||
day_toggle = false,
|
||||
})
|
||||
|
||||
|
||||
mobs:register_egg("mobs_monster:dirt_monster", S("Dirt Monster"), "default_dirt.png", 1)
|
||||
|
||||
mobs:alias_mob("mobs:dirt_monster", "mobs_monster:dirt_monster") -- compatibility
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mobs_monster:dirt_monster",
|
||||
recipe = {
|
||||
{"default:dirt", "default:dirt", "default:dirt"},
|
||||
{"default:dirt", "default:nyancat_rainbow", "default:dirt"},
|
||||
{"default:dirt", "default:dirt", "default:dirt"}
|
||||
}
|
||||
})
|
128
mods/mobs_monster/dungeon_master.lua
Normal file
@ -0,0 +1,128 @@
|
||||
|
||||
local S = mobs.intllib
|
||||
|
||||
|
||||
-- Dungeon Master by PilzAdam
|
||||
|
||||
mobs:register_mob("mobs_monster:dungeon_master", {
|
||||
type = "monster",
|
||||
passive = false,
|
||||
damage = 4,
|
||||
attack_type = "dogshoot",
|
||||
dogshoot_switch = 1,
|
||||
dogshoot_count_max = 12, -- shoot for 10 seconds
|
||||
dogshoot_count2_max = 3, -- dogfight for 3 seconds
|
||||
reach = 3,
|
||||
shoot_interval = 2.5,
|
||||
arrow = "mobs_monster:fireball",
|
||||
shoot_offset = 1,
|
||||
hp_min = 12,
|
||||
hp_max = 35,
|
||||
armor = 60,
|
||||
collisionbox = {-0.7, -1, -0.7, 0.7, 1.6, 0.7},
|
||||
visual = "mesh",
|
||||
mesh = "mobs_dungeon_master.b3d",
|
||||
textures = {
|
||||
{"mobs_dungeon_master.png"},
|
||||
{"mobs_dungeon_master2.png"},
|
||||
{"mobs_dungeon_master3.png"},
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
random = "mobs_dungeonmaster",
|
||||
shoot_attack = "mobs_fireball",
|
||||
},
|
||||
walk_velocity = 1,
|
||||
run_velocity = 3,
|
||||
jump = true,
|
||||
view_range = 15,
|
||||
drops = {
|
||||
{name = "default:mese_crystal_fragment", chance = 1, min = 1, max = 3},
|
||||
{name = "default:diamond", chance = 4, min = 1, max = 1},
|
||||
{name = "default:mese_crystal", chance = 2, min = 1, max = 2},
|
||||
{name = "default:diamondblock", chance = 30, min = 1, max = 1},
|
||||
{name = "mobs_monster:dungeon_master_blood", chance = 2, min = 1, max = 2,},
|
||||
{name = "mobs_monster:dungeon_master_diamond", chance = 6, min = 1, max = 1,},
|
||||
{name = "maptools:gold_coin", chance = 20, min = 1, max = 1,},
|
||||
},
|
||||
water_damage = 1,
|
||||
lava_damage = 1,
|
||||
light_damage = 0,
|
||||
fear_height = 3,
|
||||
animation = {
|
||||
stand_start = 0,
|
||||
stand_end = 19,
|
||||
walk_start = 20,
|
||||
walk_end = 35,
|
||||
punch_start = 36,
|
||||
punch_end = 48,
|
||||
shoot_start = 36,
|
||||
shoot_end = 48,
|
||||
speed_normal = 15,
|
||||
speed_run = 15,
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
mobs:spawn({
|
||||
name = "mobs_monster:dungeon_master",
|
||||
nodes = {"default:stone", "default:sandstone", "nether:netherrack"},
|
||||
max_light = 7,
|
||||
chance = 7000,
|
||||
active_object_count = 1,
|
||||
max_height = -70,
|
||||
})
|
||||
|
||||
|
||||
mobs:register_egg("mobs_monster:dungeon_master", S("Dungeon Master"), "fire_basic_flame.png", 1, true)
|
||||
|
||||
|
||||
mobs:alias_mob("mobs:dungeon_master", "mobs_monster:dungeon_master") -- compatibility
|
||||
|
||||
|
||||
-- fireball (weapon)
|
||||
mobs:register_arrow("mobs_monster:fireball", {
|
||||
visual = "sprite",
|
||||
visual_size = {x = 1, y = 1},
|
||||
textures = {"mobs_fireball.png"},
|
||||
velocity = 6,
|
||||
tail = 1,
|
||||
tail_texture = "mobs_fireball.png",
|
||||
tail_size = 10,
|
||||
glow = 5,
|
||||
expire = 0.1,
|
||||
|
||||
-- direct hit, no fire... just plenty of pain
|
||||
hit_player = function(self, player)
|
||||
player:punch(self.object, 1.0, {
|
||||
full_punch_interval = 1.0,
|
||||
damage_groups = {fleshy = 8},
|
||||
}, nil)
|
||||
end,
|
||||
|
||||
hit_mob = function(self, player)
|
||||
player:punch(self.object, 1.0, {
|
||||
full_punch_interval = 1.0,
|
||||
damage_groups = {fleshy = 8},
|
||||
}, nil)
|
||||
end,
|
||||
|
||||
-- node hit, bursts into flame
|
||||
hit_node = function(self, pos, node)
|
||||
mobs:explosion(pos, 1, 1, 0)
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_craftitem("mobs_monster:dungeon_master_blood", {
|
||||
description = "Dungeon Master Blood",
|
||||
inventory_image = "mobs_dungeon_master_blood.png",
|
||||
groups = {magic = 1},
|
||||
})
|
||||
minetest.register_alias("mobs:dungeon_master_blood", "mobs_monster:dungeon_master_blood")
|
||||
|
||||
minetest.register_craftitem("mobs_monster:dungeon_master_diamond", {
|
||||
description = "Dungeon Master Diamond",
|
||||
inventory_image = "mobs_dungeon_master_diamond.png",
|
||||
groups = {magic = 1},
|
||||
})
|
||||
minetest.register_alias("mobs:dungeon_master_diamond", "mobs_monster:dungeon_master_diamond")
|
38
mods/mobs_monster/init.lua
Normal file
@ -0,0 +1,38 @@
|
||||
|
||||
local path = minetest.get_modpath("mobs_monster")
|
||||
|
||||
-- Intllib
|
||||
local S
|
||||
if minetest.global_exists("intllib") then
|
||||
if intllib.make_gettext_pair then
|
||||
-- New method using gettext.
|
||||
S = intllib.make_gettext_pair()
|
||||
else
|
||||
-- Old method using text files.
|
||||
S = intllib.Getter()
|
||||
end
|
||||
else
|
||||
S = function(s) return s end
|
||||
end
|
||||
mobs.intllib = S
|
||||
|
||||
-- Monsters
|
||||
|
||||
dofile(path .. "/dirt_monster.lua") -- PilzAdam
|
||||
dofile(path .. "/dungeon_master.lua")
|
||||
dofile(path .. "/oerkki.lua")
|
||||
dofile(path .. "/sand_monster.lua")
|
||||
dofile(path .. "/stone_monster.lua")
|
||||
dofile(path .. "/tree_monster.lua")
|
||||
dofile(path .. "/lava_flan.lua") -- Zeg9
|
||||
dofile(path .. "/mese_monster.lua")
|
||||
dofile(path .. "/spider.lua") -- AspireMint
|
||||
dofile(path .. "/minotaur.lua") -- NALC(sys4 fork MFF) Kalabasa
|
||||
|
||||
-- Bosses
|
||||
dofile(path .. "/pumpkins.lua") -- NALC(sys4 fork MFF)
|
||||
dofile(path .. "/mese_dragon.lua") -- NALC(sys4 fork MFF) farfadet46
|
||||
|
||||
dofile(path .. "/lucky_block.lua")
|
||||
|
||||
print ("[MOD] Mobs Redo 'Monsters' loaded")
|
178
mods/mobs_monster/lava_flan.lua
Normal file
@ -0,0 +1,178 @@
|
||||
|
||||
local S = mobs.intllib
|
||||
|
||||
|
||||
-- Lava Flan by Zeg9 (additional textures by JurajVajda)
|
||||
|
||||
mobs:register_mob("mobs_monster:lava_flan", {
|
||||
type = "monster",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
reach = 2,
|
||||
damage = 3,
|
||||
hp_min = 10,
|
||||
hp_max = 35,
|
||||
armor = 80,
|
||||
collisionbox = {-0.5, -0.5, -0.5, 0.5, 1.5, 0.5},
|
||||
visual = "mesh",
|
||||
mesh = "zmobs_lava_flan.x",
|
||||
textures = {
|
||||
{"zmobs_lava_flan.png"},
|
||||
{"zmobs_lava_flan2.png"},
|
||||
{"zmobs_lava_flan3.png"},
|
||||
},
|
||||
blood_texture = "fire_basic_flame.png",
|
||||
makes_footstep_sound = false,
|
||||
sounds = {
|
||||
random = "mobs_lavaflan",
|
||||
war_cry = "mobs_lavaflan",
|
||||
},
|
||||
walk_velocity = 0.5,
|
||||
run_velocity = 2,
|
||||
jump = true,
|
||||
view_range = 10,
|
||||
floats = 1,
|
||||
drops = {
|
||||
{name = "mobs:lava_orb", chance = 15, min = 1, max = 1},
|
||||
},
|
||||
water_damage = 5,
|
||||
lava_damage = 0,
|
||||
light_damage = 0,
|
||||
animation = {
|
||||
speed_normal = 15,
|
||||
speed_run = 15,
|
||||
stand_start = 0,
|
||||
stand_end = 8,
|
||||
walk_start = 10,
|
||||
walk_end = 18,
|
||||
run_start = 20,
|
||||
run_end = 28,
|
||||
punch_start = 20,
|
||||
punch_end = 28,
|
||||
},
|
||||
on_die = function(self, pos)
|
||||
minetest.set_node(pos, {name = "fire:basic_flame"})
|
||||
self.object:remove()
|
||||
|
||||
minetest.add_particlespawner({
|
||||
amount = 20,
|
||||
time = 0.25,
|
||||
minpos = pos,
|
||||
maxpos = pos,
|
||||
minvel = {x = -2, y = -2, z = -2},
|
||||
maxvel = {x = 2, y = 2, z = 2},
|
||||
minacc = {x = 0, y = -10, z = 0},
|
||||
maxacc = {x = 0, y = -10, z = 0},
|
||||
minexptime = 0.1,
|
||||
maxexptime = 1,
|
||||
minsize = 0.5,
|
||||
maxsize = 1.0,
|
||||
texture = "fire_basic_flame.png",
|
||||
})
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
mobs:spawn({
|
||||
name = "mobs_monster:lava_flan",
|
||||
nodes = {"default:lava_source"},
|
||||
chance = 1000,
|
||||
active_object_count = 2,
|
||||
max_height = 0,
|
||||
})
|
||||
|
||||
|
||||
mobs:register_egg("mobs_monster:lava_flan", S("Lava Flan"), "default_lava.png", 1)
|
||||
|
||||
mobs:alias_mob("mobs:lava_flan", "mobs_monster:lava_flan") -- compatibility
|
||||
|
||||
|
||||
-- lava orb
|
||||
minetest.register_craftitem(":mobs:lava_orb", {
|
||||
description = S("Lava orb"),
|
||||
inventory_image = "zmobs_lava_orb.png",
|
||||
})
|
||||
|
||||
minetest.register_alias("zmobs:lava_orb", "mobs:lava_orb")
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "mobs:lava_orb",
|
||||
burntime = 80,
|
||||
})
|
||||
|
||||
|
||||
-- Lava Pick (digs and smelts at same time)
|
||||
|
||||
local old_handle_node_drops = minetest.handle_node_drops
|
||||
|
||||
function minetest.handle_node_drops(pos, drops, digger)
|
||||
|
||||
-- are we holding Lava Pick?
|
||||
if digger:get_wielded_item():get_name() ~= ("mobs:pick_lava") then
|
||||
return old_handle_node_drops(pos, drops, digger)
|
||||
end
|
||||
|
||||
-- reset new smelted drops
|
||||
local hot_drops = {}
|
||||
|
||||
-- loop through current node drops
|
||||
for _, drop in pairs(drops) do
|
||||
|
||||
-- get cooked output of current drops
|
||||
local stack = ItemStack(drop)
|
||||
local output = minetest.get_craft_result({
|
||||
method = "cooking",
|
||||
width = 1,
|
||||
items = {drop}
|
||||
})
|
||||
|
||||
-- if we have cooked result then add to new list
|
||||
if output
|
||||
and output.item
|
||||
and not output.item:is_empty() then
|
||||
|
||||
table.insert(hot_drops,
|
||||
ItemStack({
|
||||
name = output.item:get_name(),
|
||||
count = output.item:to_table().count,
|
||||
})
|
||||
)
|
||||
else -- if not then return normal drops
|
||||
table.insert(hot_drops, stack)
|
||||
end
|
||||
end
|
||||
|
||||
return old_handle_node_drops(pos, hot_drops, digger)
|
||||
end
|
||||
|
||||
minetest.register_tool(":mobs:pick_lava", {
|
||||
description = S("Lava Pickaxe"),
|
||||
inventory_image = "mobs_pick_lava.png",
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 0.4,
|
||||
max_drop_level=3,
|
||||
groupcaps={
|
||||
cracky = {times={[1]=1.80, [2]=0.80, [3]=0.40}, uses=40, maxlevel=3},
|
||||
},
|
||||
damage_groups = {fleshy=6},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mobs:pick_lava",
|
||||
recipe = {
|
||||
{"mobs:lava_orb", "mobs:lava_orb", "mobs:lava_orb"},
|
||||
{"", "default:obsidian_shard", ""},
|
||||
{"", "default:obsidian_shard", ""},
|
||||
}
|
||||
})
|
||||
|
||||
-- Add [toolranks] mod support if found
|
||||
if minetest.get_modpath("toolranks") then
|
||||
|
||||
minetest.override_item("mobs:pick_lava", {
|
||||
original_description = "Lava Pickaxe",
|
||||
description = toolranks.create_description("Lava Pickaxe", 0, 1),
|
||||
after_use = toolranks.new_afteruse})
|
||||
end
|
21
mods/mobs_monster/license.txt
Normal file
@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 TenPlus1
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
37
mods/mobs_monster/locale/de.txt
Normal file
@ -0,0 +1,37 @@
|
||||
# German Translation for mobs_monster mod
|
||||
# Deutsche Übersetzung der mobs_monster Mod
|
||||
# last update: 2016/June/10
|
||||
# Author: Xanthin
|
||||
|
||||
#dirtmonster.lua
|
||||
Dirt Monster = Erdmonster
|
||||
|
||||
#dungeonmaster.lua
|
||||
Dungeon Master = Kerkermeister
|
||||
|
||||
#init.lua
|
||||
[MOD] Mobs Redo 'Monsters' loaded = [MOD] Mobs Redo 'Monsters' geladen
|
||||
|
||||
#lava_flan.lua
|
||||
Lava Flan = Lavaflan
|
||||
Lava orb = Lavakugel
|
||||
Lava Pickaxe = Lavaspitzhacke
|
||||
|
||||
#mese_monster.lua
|
||||
Mese Monster = Mesemonster
|
||||
|
||||
#oerkki.lua
|
||||
Oerkki = Oerkki
|
||||
|
||||
#sandmonster.lua
|
||||
Sand Monster = Sandmonster
|
||||
|
||||
#spider.lua
|
||||
Spider = Spinne
|
||||
Cobweb = Spinnennetz
|
||||
|
||||
#stonemonster.lua
|
||||
Stone Monster = Steinmonster
|
||||
|
||||
#treemonster.lua
|
||||
Tree Monster = Baummonster
|
38
mods/mobs_monster/locale/it.txt
Normal file
@ -0,0 +1,38 @@
|
||||
# ITALIAN LOCALE FILE FOR THE MOBS MONSTER MODULE
|
||||
# Copyright (c) 2014 Krupnov Pavel and 2016 TenPlus1
|
||||
# This file is distributed under the same license as the MOBS MONSTER package.
|
||||
# Hamlet <h4mlet@riseup.net>, 2017.
|
||||
#
|
||||
|
||||
#dirtmonster.lua
|
||||
Dirt Monster = Mostro di terra
|
||||
|
||||
#dungeonmaster.lua
|
||||
Dungeon Master = Padrone delle segrete
|
||||
|
||||
#init.lua
|
||||
[MOD] Mobs Redo 'Monsters' loaded = [MOD] Mobs Redo 'Monsters' caricato
|
||||
|
||||
#lava_flan.lua
|
||||
Lava Flan = Sformato di lava
|
||||
Lava orb = Sfera di lava
|
||||
Lava Pickaxe = Piccone di lava
|
||||
|
||||
#mese_monster.lua
|
||||
Mese Monster = Mostro di mese
|
||||
|
||||
#oerkki.lua
|
||||
Oerkki = Oerkki
|
||||
|
||||
#sandmonster.lua
|
||||
Sand Monster = Mostro di sabbia
|
||||
|
||||
#spider.lua
|
||||
Spider = Ragno
|
||||
Cobweb = Ragnatela
|
||||
|
||||
#stonemonster.lua
|
||||
Stone Monster = Mostro di pietra
|
||||
|
||||
#treemonster.lua
|
||||
Tree Monster = Albero mostro
|
35
mods/mobs_monster/locale/template.txt
Normal file
@ -0,0 +1,35 @@
|
||||
# Template for translations of mobs_monster mod
|
||||
# last update: 2016/June/10
|
||||
|
||||
#dirtmonster.lua
|
||||
Dirt Monster =
|
||||
|
||||
#dungeonmaster.lua
|
||||
Dungeon Master =
|
||||
|
||||
#init.lua
|
||||
[MOD] Mobs Redo 'Monsters' loaded =
|
||||
|
||||
#lava_flan.lua
|
||||
Lava Flan =
|
||||
Lava orb =
|
||||
Lava Pickaxe =
|
||||
|
||||
#mese_monster.lua
|
||||
Mese Monster =
|
||||
|
||||
#oerkki.lua
|
||||
Oerkki =
|
||||
|
||||
#sandmonster.lua
|
||||
Sand Monster =
|
||||
|
||||
#spider.lua
|
||||
Spider =
|
||||
Cobweb =
|
||||
|
||||
#stonemonster.lua
|
||||
Stone Monster =
|
||||
|
||||
#treemonster.lua
|
||||
Tree Monster =
|
39
mods/mobs_monster/locale/tr.txt
Normal file
@ -0,0 +1,39 @@
|
||||
# Türkçe çeviri by Admicos
|
||||
# Turkish translation by Admicos
|
||||
|
||||
# Son düzenleme: 26 Nisan 2017
|
||||
# Last edit: 26 April 2017
|
||||
|
||||
|
||||
#dirtmonster.lua
|
||||
Dirt Monster = Toprak Canavarı
|
||||
|
||||
#dungeonmaster.lua
|
||||
Dungeon Master = Zindan başı
|
||||
|
||||
#init.lua
|
||||
[MOD] Mobs Redo 'Monsters' loaded = [MOD] Mobs Redo 'Canavarlar' yüklendi
|
||||
|
||||
#lava_flan.lua
|
||||
Lava Flan = Lav Flan
|
||||
Lava orb = Lav küre
|
||||
Lava Pickaxe = Lav kazması
|
||||
|
||||
#mese_monster.lua
|
||||
Mese Monster = Mese Canavarı
|
||||
|
||||
#oerkki.lua
|
||||
Oerkki = Oerkki
|
||||
|
||||
#sandmonster.lua
|
||||
Sand Monster = Kum Canavarı
|
||||
|
||||
#spider.lua
|
||||
Spider = Örümcek
|
||||
Cobweb = Örümcek ağı
|
||||
|
||||
#stonemonster.lua
|
||||
Stone Monster = Taş Canavarı
|
||||
|
||||
#treemonster.lua
|
||||
Tree Monster = Ağaç Canavarı
|
19
mods/mobs_monster/lucky_block.lua
Normal file
@ -0,0 +1,19 @@
|
||||
|
||||
if minetest.get_modpath("lucky_block") then
|
||||
|
||||
lucky_block:add_blocks({
|
||||
{"spw", "mobs:dungeon_master", 1, nil, nil, 3, "Billy"},
|
||||
{"spw", "mobs:sand_monster", 3},
|
||||
{"spw", "mobs:stone_monster", 3, nil, nil, 3, "Bob"},
|
||||
{"spw", "mobs:dirt_monster", 3},
|
||||
{"spw", "mobs:tree_monster", 3},
|
||||
{"spw", "mobs:oerkki", 3},
|
||||
{"exp"},
|
||||
{"spw", "mobs:spider", 5},
|
||||
{"spw", "mobs:mese_monster", 2},
|
||||
{"spw", "mobs:lava_flan", 3},
|
||||
{"nod", "default:chest", 0, {
|
||||
{name = "mobs:lava_orb", max = 1}}},
|
||||
})
|
||||
|
||||
end
|
127
mods/mobs_monster/mese_dragon.lua
Normal file
@ -0,0 +1,127 @@
|
||||
mobs:register_mob("mobs_monster:mese_dragon", {
|
||||
type = "monster",
|
||||
-- agressive, deals 13 damage to player when hit
|
||||
passive = false,
|
||||
damage = 13,
|
||||
attack_type = "dogshoot",
|
||||
reach = 4,
|
||||
shoot_interval = 2,
|
||||
arrow = "mobs_monster:mese_dragon_fireball",
|
||||
shoot_offset = -0.5,
|
||||
-- health & armor
|
||||
hp_min = 175,
|
||||
hp_max = 225,
|
||||
armor = 70,
|
||||
-- textures and model
|
||||
collisionbox = {-0.6, 0, -0.6, 0.6, 5, 0.6},
|
||||
visual = "mesh",
|
||||
mesh = "mese_dragon.b3d",
|
||||
textures = {
|
||||
{"mese_dragon.png"},
|
||||
},
|
||||
visual_size = {x=3, y=3},
|
||||
blood_texture = "default_mese_crystal_fragment.png",
|
||||
-- sounds
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
shoot_attack = "mesed",
|
||||
attack = "mese_dragon",
|
||||
distance = 60,
|
||||
},
|
||||
-- speed and jump
|
||||
view_range = 20,
|
||||
knock_back = 0,
|
||||
walk_velocity = 1.5,
|
||||
run_velocity = 3.5,
|
||||
pathfinding = false,
|
||||
jump = true,
|
||||
jump_height = 4,
|
||||
fall_damage = 0,
|
||||
fall_speed = -6,
|
||||
stepheight = 1.5,
|
||||
-- drops returnmirror & mese & class items when dead
|
||||
drops = {
|
||||
-- Ressource & Decoration drops
|
||||
{name = "default:mese", chance = 2, min = 2, max = 4},
|
||||
{name = "returnmirror:mirror_inactive", chance = 10, min = 1, max = 1},
|
||||
-- Tools drops
|
||||
{name = "default:pick_mese", chance = 33, min = 1, max = 1},
|
||||
{name = "default:shovel_mese", chance = 33, min = 1, max = 1},
|
||||
{name = "default:axe_mese", chance = 33, min = 1, max = 1},
|
||||
{name = "farming:hoe_mese", chance = 33, min = 1, max = 1},
|
||||
-- Hunter drops
|
||||
{name = "3d_armor:leggings_hardenedleather", chance = 10, min = 1, max = 1},
|
||||
{name = "3d_armor:boots_hardenedleather", chance = 10, min = 1, max = 1},
|
||||
{name = "throwing:arbalest", chance = 33, min = 1, max = 1},
|
||||
-- Warrior drops
|
||||
{name = "3d_armor:leggings_mithril", chance = 10, min = 1, max = 1},
|
||||
{name = "3d_armor:boots_mithril", chance = 10, min = 1, max = 1},
|
||||
{name = "default:sword_mese", chance = 33, min = 1, max = 1},
|
||||
},
|
||||
-- damaged by
|
||||
water_damage = 0,
|
||||
lava_damage = 0,
|
||||
light_damage = 0,
|
||||
-- model animation
|
||||
animation = {
|
||||
speed_normal = 15,
|
||||
speed_run = 15,
|
||||
stand_start = 0,
|
||||
stand_end = 80,
|
||||
walk_start = 180,
|
||||
walk_end = 200,
|
||||
run_start = 180,
|
||||
run_end = 200,
|
||||
punch_start = 140,
|
||||
punch_end = 170,
|
||||
},
|
||||
on_die = function(self)
|
||||
minetest.chat_send_all("A group of players killed a Mese Dragon!")
|
||||
end
|
||||
})
|
||||
mobs:alias_mob("mobs:mese_dragon", "mobs_monster:mese_dragon")
|
||||
|
||||
-- mese_dragon_fireball (weapon)
|
||||
mobs:register_arrow("mobs_monster:mese_dragon_fireball", {
|
||||
visual = "sprite",
|
||||
visual_size = {x = 1, y = 1},
|
||||
textures = {"mobs_mese_dragon_fireball.png"},
|
||||
velocity = 10,
|
||||
|
||||
-- direct hit, no fire... just plenty of pain
|
||||
hit_player = function(self, player)
|
||||
player:punch(self.object, 2.0, { -- Modif MFF
|
||||
full_punch_interval = 2.0, -- Modif MFF
|
||||
damage_groups = {fleshy = 13}, -- Modif MFF
|
||||
}, nil)
|
||||
end,
|
||||
|
||||
hit_mob = function(self, player)
|
||||
player:punch(self.object, 2.0, { -- Modif MFF
|
||||
full_punch_interval = 2.0, -- Modif MFF
|
||||
damage_groups = {fleshy = 13}, -- Modif MFF
|
||||
}, nil)
|
||||
end,
|
||||
|
||||
-- node hit, bursts into flame
|
||||
hit_node = function(self, pos, node)
|
||||
mobs:explosion(pos, 1, 1, 0)
|
||||
end
|
||||
})
|
||||
mobs:alias_mob("mobs:mese_dragon_fireball", "mobs_monster:mese_dragon_fireball")
|
||||
|
||||
minetest.register_node("mobs_monster:mese_dragon_spawner", {
|
||||
description = "Mese Dragon Spawner",
|
||||
tiles = {"default_mese_block.png"},
|
||||
is_ground_content = false,
|
||||
groups = {unbreakable = 1, mob_spawner=1},
|
||||
sounds = default.node_sound_stone_defaults({
|
||||
dug = {name="mobs_boom", gain=0.25}
|
||||
})
|
||||
})
|
||||
mobs:alias_mob("mobs:mese_dragon_spawner", "mobs_monster:mese_dragon_spawner")
|
||||
|
||||
--(name, nodes, neighbors, interval, chance, active_object_count)
|
||||
-- spawn on mobs:mese_dragon_spawner, interval 300, 1 chance, 1 mese_dragon_spawner
|
||||
mobs:spawn_special("mobs_monster:mese_dragon", {"mobs_monster:mese_dragon_spawner"}, {"air"}, 300, 1, 1)
|
||||
mobs:register_egg("mobs_monster:mese_dragon", "Mese Dragon", "mobs_mese_dragon_inv.png", 1)
|
126
mods/mobs_monster/mese_monster.lua
Normal file
@ -0,0 +1,126 @@
|
||||
|
||||
local S = mobs.intllib
|
||||
|
||||
|
||||
-- Mese Monster by Zeg9
|
||||
|
||||
mobs:register_mob("mobs_monster:mese_monster", {
|
||||
type = "monster",
|
||||
passive = false,
|
||||
damage = 3,
|
||||
attack_type = "shoot",
|
||||
shoot_interval = 0.5,
|
||||
arrow = "mobs_monster:mese_arrow",
|
||||
shoot_offset = 2,
|
||||
hp_min = 10,
|
||||
hp_max = 25,
|
||||
armor = 80,
|
||||
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"},
|
||||
},
|
||||
blood_texture = "default_mese_crystal_fragment.png",
|
||||
makes_footstep_sound = false,
|
||||
sounds = {
|
||||
random = "mobs_mesemonster",
|
||||
},
|
||||
view_range = 10,
|
||||
walk_velocity = 0.5,
|
||||
run_velocity = 2,
|
||||
jump = true,
|
||||
jump_height = 8,
|
||||
fall_damage = 0,
|
||||
fall_speed = -6,
|
||||
stepheight = 2.1,
|
||||
drops = {
|
||||
{name = "default:mese_crystal", chance = 9, min = 1, max = 3},
|
||||
{name = "default:mese_crystal_fragment", chance = 1, min = 1, max = 9},
|
||||
{name = "maptools:silver_coin", chance = 1, min = 1, max = 2,},
|
||||
{name = "returnmirror:mirror_inactive", chance = 50, min = 1, max = 1,},
|
||||
},
|
||||
water_damage = 1,
|
||||
lava_damage = 1,
|
||||
light_damage = 0,
|
||||
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,
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
mobs:spawn({
|
||||
name = "mobs_monster:mese_monster",
|
||||
nodes = {"default:stone", "default:sandstone"},
|
||||
max_light = 7,
|
||||
chance = 5000,
|
||||
active_object_count = 1,
|
||||
max_height = -20,
|
||||
})
|
||||
|
||||
|
||||
minetest.register_node("mobs_monster:mese_monster_spawner", {
|
||||
description = "Mese Monster Spawner",
|
||||
tiles = {"default_mese_block.png"},
|
||||
is_ground_content = false,
|
||||
groups = {unbreakable = 1, mob_spawner=1},
|
||||
sounds = default.node_sound_stone_defaults({
|
||||
dug = {name="mobs_boom", gain=0.25} -- to be changed
|
||||
})
|
||||
})
|
||||
|
||||
-- Spawn in spawner
|
||||
mobs:spawn_specific("mobs_monster:mese_monster", {"mobs_monster:mese_monster_spawner"}, {"air"}, 1, 20, 300, 1, 100, -31000, 31000, true)
|
||||
|
||||
mobs:register_egg("mobs_monster:mese_monster", S("Mese Monster"), "default_mese_block.png", 1)
|
||||
|
||||
|
||||
mobs:alias_mob("mobs:mese_monster", "mobs_monster:mese_monster") -- compatiblity
|
||||
|
||||
|
||||
-- mese arrow (weapon)
|
||||
mobs:register_arrow("mobs_monster:mese_arrow", {
|
||||
visual = "sprite",
|
||||
-- visual = "wielditem",
|
||||
visual_size = {x = 0.5, y = 0.5},
|
||||
textures = {"default_mese_crystal_fragment.png"},
|
||||
--textures = {"default:mese_crystal_fragment"},
|
||||
velocity = 6,
|
||||
-- rotate = 180,
|
||||
|
||||
hit_player = function(self, player)
|
||||
player:punch(self.object, 1.0, {
|
||||
full_punch_interval = 1.0,
|
||||
damage_groups = {fleshy = 2},
|
||||
}, nil)
|
||||
end,
|
||||
|
||||
hit_mob = function(self, player)
|
||||
player:punch(self.object, 1.0, {
|
||||
full_punch_interval = 1.0,
|
||||
damage_groups = {fleshy = 2},
|
||||
}, nil)
|
||||
end,
|
||||
|
||||
hit_node = function(self, pos, node)
|
||||
end
|
||||
})
|
||||
|
||||
-- 9x mese crystal fragments = 1x 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"},
|
||||
}
|
||||
})
|
100
mods/mobs_monster/minotaur.lua
Executable file
@ -0,0 +1,100 @@
|
||||
|
||||
-- Minotaur Monster by ???
|
||||
|
||||
mobs:register_mob("mobs_monster:minotaur", {
|
||||
-- animal, monster, npc, barbarian
|
||||
type = "monster",
|
||||
-- aggressive, deals 11 damage to player when hit
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
pathfinding = false,
|
||||
reach = 2,
|
||||
damage = 6,
|
||||
-- health & armor
|
||||
hp_min = 45,
|
||||
hp_max = 55,
|
||||
armor = 90,
|
||||
-- textures and model
|
||||
collisionbox = {-0.9,-0.01,-0.9, 0.9,2.5,0.9},
|
||||
visual = "mesh",
|
||||
mesh = "mobs_minotaur.b3d",
|
||||
textures = {
|
||||
{"mobs_minotaur.png"},
|
||||
},
|
||||
visual_size = {x=1, y=1},
|
||||
blood_texture = "mobs_blood.png",
|
||||
-- sounds
|
||||
makes_footstep_sound = true,
|
||||
-- sounds = {
|
||||
-- random = "mobs_zombie",
|
||||
-- damage = "mobs_zombie_hit",
|
||||
-- attack = "mobs_zombie_attack",
|
||||
-- death = "mobs_zombie_death",
|
||||
-- },
|
||||
-- speed and jump
|
||||
walk_velocity = 1,
|
||||
run_velocity = 3,
|
||||
jump = true,
|
||||
floats = 1,
|
||||
view_range = 16,
|
||||
knock_back = 0.05, --this is a test
|
||||
-- drops desert_sand and coins when dead
|
||||
drops = {
|
||||
{name = "maptools:gold_coin", chance = 40, min = 1, max = 1,},
|
||||
{name = "mobs_monster:minotaur_eye", chance = 2, min = 1, max = 2,},
|
||||
{name = "mobs_monster:minotaur_horn", chance = 4, min = 1, max = 2,},
|
||||
{name = "mobs_monster:minotaur_fur", chance = 1, min = 1, max = 3,},
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 5,
|
||||
light_damage = 0,
|
||||
-- model animation
|
||||
animation = {
|
||||
speed_normal = 15, speed_run = 15,
|
||||
stand_start = 0, stand_end = 19,
|
||||
walk_start = 20, walk_end = 39,
|
||||
run_start = 20, run_end = 39,
|
||||
punch_start = 40, punch_end = 50,
|
||||
},
|
||||
})
|
||||
mobs:alias_mob("mobs:minotaur", "mobs_monster:minotaur")
|
||||
|
||||
-- spawns on desert sand between -1 and 20 light, 1 in 100000 chance, 1 Minotaur in area up to 31000 in height
|
||||
mobs:spawn_specific("mobs_monster:minotaur", {"default:dirt_with_dry_grass"}, {"air"}, -1, 20, 30, 100000, 1, -31000, 31000, false)
|
||||
-- register spawn egg
|
||||
mobs:register_egg("mobs_monster:minotaur", "Minotaur", "mobs_minotaur_inv.png", 1)
|
||||
|
||||
minetest.register_craftitem("mobs_monster:minotaur_eye", {
|
||||
description = "Minotaur Eye",
|
||||
inventory_image = "mobs_minotaur_eye.png",
|
||||
groups = {magic = 1},
|
||||
})
|
||||
mobs:alias_mob("mobs:minotaur_eye", "mobs_monster:minotaur_eye")
|
||||
|
||||
minetest.register_craftitem("mobs_monster:minotaur_horn", {
|
||||
description = "Minotaur Horn",
|
||||
inventory_image = "mobs_minotaur_horn.png",
|
||||
groups = {magic = 1},
|
||||
})
|
||||
mobs:alias_mob("mobs:minotaur_horn", "mobs_monster:minotaur_horn")
|
||||
|
||||
minetest.register_craftitem("mobs_monster:minotaur_fur", {
|
||||
description = "Minotaur Fur",
|
||||
inventory_image = "mobs_minotaur_fur.png",
|
||||
groups = {magic = 1},
|
||||
})
|
||||
mobs:alias_mob("mobs:minotaur_fur", "mobs_monster:minotaur_fur")
|
||||
|
||||
minetest.register_craftitem("mobs_monster:minotaur_lots_of_fur", {
|
||||
description = "Lot of Minotaur Fur",
|
||||
inventory_image = "mobs_minotaur_lots_of_fur.png",
|
||||
groups = {magic = 1},
|
||||
})
|
||||
mobs:alias_mob("mobs:minotaur_lots_of_fur", "mobs_monster:minotaur_lots_of_fur")
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mobs_monster:minotaur_lots_of_fur",
|
||||
recipe = {{"mobs_monster:minotaur_fur", "mobs_monster:minotaur_fur"},
|
||||
{"mobs_monster:minotaur_fur", "mobs_monster:minotaur_fur"},
|
||||
},
|
||||
})
|
1
mods/mobs_monster/mod.conf
Normal file
@ -0,0 +1 @@
|
||||
name = mobs_monster
|
BIN
mods/mobs_monster/models/mese_dragon.b3d
Normal file
BIN
mods/mobs_monster/models/mobs_dungeon_master.b3d
Normal file
BIN
mods/mobs_monster/models/mobs_minotaur.b3d
Executable file
BIN
mods/mobs_monster/models/mobs_oerkki.b3d
Normal file
14742
mods/mobs_monster/models/mobs_pumpboom.x
Executable file
55341
mods/mobs_monster/models/mobs_pumpking.x
Executable file
BIN
mods/mobs_monster/models/mobs_sand_monster.b3d
Normal file
6103
mods/mobs_monster/models/mobs_spider.x
Normal file
BIN
mods/mobs_monster/models/mobs_stone_monster.b3d
Normal file
BIN
mods/mobs_monster/models/mobs_tree_monster.b3d
Normal file
3506
mods/mobs_monster/models/zmobs_lava_flan.x
Normal file
2999
mods/mobs_monster/models/zmobs_mese_monster.x
Normal file
76
mods/mobs_monster/oerkki.lua
Normal file
@ -0,0 +1,76 @@
|
||||
|
||||
local S = mobs.intllib
|
||||
|
||||
|
||||
-- Oerkki by PilzAdam
|
||||
|
||||
mobs:register_mob("mobs_monster:oerkki", {
|
||||
type = "monster",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
pathfinding = true,
|
||||
reach = 2,
|
||||
damage = 4,
|
||||
hp_min = 8,
|
||||
hp_max = 34,
|
||||
armor = 100,
|
||||
collisionbox = {-0.4, -1, -0.4, 0.4, 0.9, 0.4},
|
||||
visual = "mesh",
|
||||
mesh = "mobs_oerkki.b3d",
|
||||
textures = {
|
||||
{"mobs_oerkki.png"},
|
||||
{"mobs_oerkki2.png"},
|
||||
},
|
||||
makes_footstep_sound = false,
|
||||
sounds = {
|
||||
random = "mobs_oerkki",
|
||||
shoot_attack = "mobs_oerkki_attack",
|
||||
},
|
||||
walk_velocity = 1,
|
||||
run_velocity = 3,
|
||||
view_range = 10,
|
||||
jump = true,
|
||||
drops = {
|
||||
{name = "default:obsidian", chance = 3, min = 1, max = 2},
|
||||
{name = "maptools:silver_coin", chance = 1, min = 1, max = 1},
|
||||
},
|
||||
water_damage = 2,
|
||||
lava_damage = 4,
|
||||
light_damage = 1,
|
||||
fear_height = 4,
|
||||
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,
|
||||
},
|
||||
replace_rate = 5,
|
||||
replace_what = {"default:torch"},
|
||||
replace_with = "air",
|
||||
replace_offset = -1,
|
||||
immune_to = {
|
||||
{"default:sword_wood", 0}, -- no damage
|
||||
{"default:gold_lump", -10}, -- heals by 10 points
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
mobs:spawn({
|
||||
name = "mobs_monster:oerkki",
|
||||
nodes = {"default:stone", "default:sandstone"},
|
||||
max_light = 7,
|
||||
chance = 7000,
|
||||
max_height = -10,
|
||||
})
|
||||
|
||||
|
||||
mobs:register_egg("mobs_monster:oerkki", S("Oerkki"), "default_obsidian.png", 1)
|
||||
|
||||
|
||||
mobs:alias_mob("mobs:oerkki", "mobs_monster:oerkki") -- compatiblity
|
142
mods/mobs_monster/pumpkins.lua
Executable file
@ -0,0 +1,142 @@
|
||||
-- PumpKing by Blert2112
|
||||
mobs:register_mob("mobs_monster:pumpking", {
|
||||
type = "monster",
|
||||
visual = "mesh",
|
||||
mesh = "mobs_pumpking.x",
|
||||
textures = {
|
||||
{"mobs_pumpking.png"}
|
||||
},
|
||||
visual_size = {x=3, y=3},
|
||||
collisionbox = {-0.5, 0.00, -0.5, 0.5, 4.5, 0.5},
|
||||
animation = {
|
||||
speed_normal = 15, speed_run = 30,
|
||||
stand_start = 165, stand_end = 210,
|
||||
walk_start = 61, walk_end = 110,
|
||||
run_start = 0, run_end = 50,
|
||||
punch_start = 150, punch_end = 165
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
random = "mobs_king"
|
||||
},
|
||||
hp_min = 275,
|
||||
hp_max = 300,
|
||||
armor = 70,
|
||||
knock_back = 0,
|
||||
walk_velocity = 3,
|
||||
run_velocity = 4,
|
||||
light_damage = 0,
|
||||
water_damage = 0,
|
||||
lava_damage = 0,
|
||||
fall_damage = 0,
|
||||
damage = 9,
|
||||
pathfinding = false,
|
||||
reach = 5,
|
||||
attack_type = "dogfight",
|
||||
view_range = 25,
|
||||
stepheight = 1.1,
|
||||
drops = {
|
||||
-- Ressource & Decoration drops
|
||||
{name = "farming:jackolantern", chance = 1, min = 1, max = 1},
|
||||
{name = "default:diamondblock", chance = 2, min = 1, max = 2},
|
||||
-- Hunter drops
|
||||
{name = "3d_armor:helmet_hardenedleather", chance = 10, min = 1, max = 1},
|
||||
{name = "3d_armor:chestplate_hardenedleather", chance = 10, min = 1, max = 1},
|
||||
{name = "throwing:bow_minotaur_horn", chance = 33, min = 1, max = 1},
|
||||
-- Warrior drops
|
||||
{name = "3d_armor:helmet_mithril", chance = 10, min = 1, max = 1},
|
||||
{name = "3d_armor:chestplate_mithril", chance = 10, min = 1, max = 1},
|
||||
{name = "default:sword_mithril", chance = 33, min = 1, max = 1},
|
||||
},
|
||||
lifetimer = 300, -- 5 minutes
|
||||
--shoot_interval = 1000, -- (lifetimer - (lifetimer / 4)), borrowed for do_custom timer
|
||||
on_die = function(self)
|
||||
minetest.chat_send_all("A group of players killed a PumpKing!")
|
||||
end
|
||||
})
|
||||
mobs:alias_mob("mobs:pumpking", "mobs_monster:pumpking")
|
||||
|
||||
mobs:register_mob("mobs_monster:pumpboom", {
|
||||
type = "monster",
|
||||
visual = "mesh",
|
||||
mesh = "mobs_pumpboom.x",
|
||||
textures = {
|
||||
{"mobs_pumpboom.png"}
|
||||
},
|
||||
visual_size = {x=3, y=3},
|
||||
collisionbox = {-0.70, -0.3, -0.70, 0.70, 0.70, 0.70},
|
||||
rotate = 270,
|
||||
animation = {
|
||||
speed_normal = 15, speed_run = 30,
|
||||
stand_start = 0, stand_end = 30,
|
||||
walk_start = 81, walk_end = 97,
|
||||
run_start = 81, run_end = 97,
|
||||
punch_start = 100, punch_end = 120
|
||||
},
|
||||
sounds = {
|
||||
random = "mobs_pump"
|
||||
},
|
||||
hp_min = 5,
|
||||
hp_max = 10,
|
||||
armor = 100,
|
||||
light_damage = 0,
|
||||
water_damage = 0,
|
||||
lava_damage = 0,
|
||||
fall_damage = 0,
|
||||
damage = 8,
|
||||
attack_type = "explode",
|
||||
group_attack = true,
|
||||
do_not_project_items = true,
|
||||
view_range = 15,
|
||||
walk_velocity = 2,
|
||||
run_velocity = 4,
|
||||
drops = {
|
||||
{name = "farming:pumpkin_seed", chance = 8, min = 4, max = 8}
|
||||
}
|
||||
})
|
||||
mobs:alias_mob("mobs:pumpboom", "mobs_monster:pumpboom")
|
||||
|
||||
minetest.register_node("mobs_monster:pumpking_spawner", {
|
||||
description = "Pumpkin King Spawner",
|
||||
tiles = {
|
||||
"farming_pumpkin_top.png",
|
||||
"farming_pumpkin_top.png",
|
||||
"farming_pumpkin_side.png",
|
||||
"farming_pumpkin_side.png",
|
||||
"farming_pumpkin_side.png",
|
||||
"farming_pumpkin_face_on.png"
|
||||
},
|
||||
is_ground_content = false,
|
||||
groups = {unbreakable = 1, mob_spawner=1},
|
||||
sounds = default.node_sound_stone_defaults({
|
||||
dug = {name="mobs_king", gain=0.25}
|
||||
})
|
||||
})
|
||||
mobs:alias_mob("mobs:pumpking_spawner", "mobs_monster:pumpking_spawner")
|
||||
|
||||
minetest.register_node("mobs_monster:pumpboom_spawner", {
|
||||
description = "Pump Boom Spawner",
|
||||
tiles = {
|
||||
"farming_pumpkin_top.png",
|
||||
"farming_pumpkin_top.png",
|
||||
"farming_pumpkin_side.png",
|
||||
"farming_pumpkin_side.png",
|
||||
"farming_pumpkin_side.png",
|
||||
"farming_pumpkin_face_off.png"
|
||||
},
|
||||
is_ground_content = false,
|
||||
groups = {unbreakable = 1, mob_spawner=1},
|
||||
sounds = default.node_sound_stone_defaults({
|
||||
dug = {name="mobs_boom", gain=0.25}
|
||||
})
|
||||
})
|
||||
mobs:alias_mob("mobs:pumpboom_spawner", "mobs_monster:pumpboom_spawner")
|
||||
|
||||
--(name, nodes, neighbors, min_light, max_light, interval, chance, active_object_count, min_height, max_height, spawn_in_area)
|
||||
-- spawn on mobs:pumpking_spawner between 1 and 20 light, interval 300, 1 chance, 1 pumpking_spawner in area up to 31000 in height
|
||||
mobs:spawn_specific("mobs_monster:pumpking", {"mobs_monster:pumpking_spawner"}, {"air"}, 1, 20, 300, 1, 100, -31000, 31000, true)
|
||||
mobs:register_egg("mobs_monster:pumpking", "Pumpking", "mobs_pumpking_inv.png", 1)
|
||||
|
||||
-- spawn on mobs:pumpboom_spawner, 4 interval, 1 chance, 30 pumpboom in area
|
||||
mobs:spawn_special("mobs_monster:pumpboom", {"mobs_monster:pumpboom_spawner"}, {"air"}, 10, 4, 30)
|
||||
mobs:register_egg("mobs_monster:pumpboom", "Pumpboom", "mobs_pumpboom_inv.png", 1)
|
40
mods/mobs_monster/readme.md
Normal file
@ -0,0 +1,40 @@
|
||||
|
||||
MONSTER MOBS
|
||||
|
||||
Dirt Monster
|
||||
|
||||
- Spawning at night on green grass (or grey in ethereal) these mobs wander around looking for a player to eat. Drops 1-5 dirt when killed.
|
||||
|
||||
Dungeon Master
|
||||
|
||||
- Spawning below -70 underground DM's have a tendency to hurl fire balls at unsuspecting players and can cause major damage, but get too close and he will switch to dogfight attack. Can drop mese or diamond when killed.
|
||||
|
||||
Lava Flan
|
||||
|
||||
- Cute as they may look lava flan wallow in their namesake (no, not flans) and get curious about players who wander by, forgetting that they can burn you and cause damage. They have a 1 in 5 chance of dropping lava orb when killed.
|
||||
|
||||
Mese Monster
|
||||
|
||||
- These mobs are territorial and spawn below -20 and will fire mese shards at passers by, so best avoided. Will drop mese when killed.
|
||||
|
||||
Oerkki
|
||||
|
||||
- Found in dark areas like most monsters Oerkki wander the caverns stealing away torches on the ground and attacking anyone found in that area. 1 in 3 chance of dropping obsidian.
|
||||
|
||||
Sand Monster
|
||||
|
||||
- The hot deserts are home to these guys who spawn at any time of the day to attack players. They drop 3-5 desert sand when killed.
|
||||
|
||||
Spider
|
||||
|
||||
- Found in dark holes inside desertstone (crystal biomes in ethereal), spiders wait for prey to amble past and strike. They are mostly docile during the day though unless hit. Will drop string when killed.
|
||||
|
||||
Stone Monster
|
||||
|
||||
- Found underground in dark caves these mobs seem to be zombie-like in fashion with a tendency to rush a player in the area. can drop torch, iron or coal when killed.
|
||||
|
||||
Tree Monster
|
||||
|
||||
- Found atop tree's at night time they drop down and look for food in the form of players and animals. Can drop saplings and sometimes an apple or three.
|
||||
|
||||
Lucky Blocks: 11
|
83
mods/mobs_monster/sand_monster.lua
Normal file
@ -0,0 +1,83 @@
|
||||
|
||||
local S = mobs.intllib
|
||||
|
||||
|
||||
-- Sand Monster by PilzAdam
|
||||
|
||||
mobs:register_mob("mobs_monster:sand_monster", {
|
||||
type = "monster",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
pathfinding = true,
|
||||
--specific_attack = {"player", "mobs_npc:npc"},
|
||||
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 = {
|
||||
{"mobs_sand_monster.png"},
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
random = "mobs_sandmonster",
|
||||
},
|
||||
walk_velocity = 1.5,
|
||||
run_velocity = 4,
|
||||
view_range = 8, --15
|
||||
jump = true,
|
||||
floats = 0,
|
||||
drops = {
|
||||
{name = "default:desert_sand", chance = 1, min = 3, max = 5},
|
||||
{name = "maptools:silver_coin", chance = 10, min = 1, max = 1,},
|
||||
},
|
||||
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,
|
||||
},
|
||||
--[[
|
||||
custom_attack = function(self, p)
|
||||
local pos = self.object:get_pos()
|
||||
minetest.add_item(pos, "default:sand")
|
||||
end,
|
||||
]]
|
||||
})
|
||||
|
||||
|
||||
mobs:spawn({
|
||||
name = "mobs_monster:sand_monster",
|
||||
nodes = {"default:desert_sand", "default:sand"},
|
||||
chance = 7000,
|
||||
active_object_count = 2,
|
||||
min_height = 0,
|
||||
})
|
||||
|
||||
|
||||
mobs:register_egg("mobs_monster:sand_monster", S("Sand Monster"), "default_desert_sand.png", 1)
|
||||
|
||||
|
||||
mobs:alias_mob("mobs:sand_monster", "mobs_monster:sand_monster") -- compatibility
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mobs_monster:sand_monster",
|
||||
recipe = {
|
||||
{"group:sand", "group:sand", "group:sand"},
|
||||
{"group:sand", "default:nyancat_rainbow", "group:sand"},
|
||||
{"group:sand", "group:sand", "group:sand"}
|
||||
}
|
||||
})
|
BIN
mods/mobs_monster/sounds/mese_dragon.ogg
Normal file
BIN
mods/mobs_monster/sounds/mesed.ogg
Normal file
BIN
mods/mobs_monster/sounds/mobs_dirtmonster.1.ogg
Executable file
BIN
mods/mobs_monster/sounds/mobs_dirtmonster.2.ogg
Executable file
BIN
mods/mobs_monster/sounds/mobs_dirtmonster.ogg
Normal file
BIN
mods/mobs_monster/sounds/mobs_dungeonmaster.1.ogg
Executable file
BIN
mods/mobs_monster/sounds/mobs_dungeonmaster.2.ogg
Executable file
BIN
mods/mobs_monster/sounds/mobs_dungeonmaster.3.ogg
Executable file
BIN
mods/mobs_monster/sounds/mobs_dungeonmaster.ogg
Normal file
BIN
mods/mobs_monster/sounds/mobs_fireball.ogg
Normal file
BIN
mods/mobs_monster/sounds/mobs_king.ogg
Executable file
BIN
mods/mobs_monster/sounds/mobs_lavaflan.ogg
Normal file
BIN
mods/mobs_monster/sounds/mobs_mesemonster.1.ogg
Executable file
BIN
mods/mobs_monster/sounds/mobs_mesemonster.2.ogg
Executable file
BIN
mods/mobs_monster/sounds/mobs_mesemonster.ogg
Normal file
BIN
mods/mobs_monster/sounds/mobs_oerkki.1.ogg
Executable file
BIN
mods/mobs_monster/sounds/mobs_oerkki.2.ogg
Executable file
BIN
mods/mobs_monster/sounds/mobs_oerkki.ogg
Normal file
BIN
mods/mobs_monster/sounds/mobs_oerkki_attack.ogg
Executable file
BIN
mods/mobs_monster/sounds/mobs_pump.ogg
Executable file
BIN
mods/mobs_monster/sounds/mobs_sandmonster.1.ogg
Executable file
BIN
mods/mobs_monster/sounds/mobs_sandmonster.2.ogg
Executable file
BIN
mods/mobs_monster/sounds/mobs_sandmonster.ogg
Normal file
BIN
mods/mobs_monster/sounds/mobs_spider.ogg
Normal file
BIN
mods/mobs_monster/sounds/mobs_spider_attack.ogg
Executable file
BIN
mods/mobs_monster/sounds/mobs_stonemonster.1.ogg
Executable file
BIN
mods/mobs_monster/sounds/mobs_stonemonster.2.ogg
Executable file
BIN
mods/mobs_monster/sounds/mobs_stonemonster.ogg
Normal file
BIN
mods/mobs_monster/sounds/mobs_stonemonster_attack.ogg
Executable file
BIN
mods/mobs_monster/sounds/mobs_treemonster.1.ogg
Executable file
BIN
mods/mobs_monster/sounds/mobs_treemonster.2.ogg
Executable file
BIN
mods/mobs_monster/sounds/mobs_treemonster.ogg
Normal file
115
mods/mobs_monster/spider.lua
Normal file
@ -0,0 +1,115 @@
|
||||
|
||||
local S = mobs.intllib
|
||||
|
||||
|
||||
-- Spider by AspireMint (fishyWET (CC-BY-SA 3.0 license for texture)
|
||||
|
||||
mobs:register_mob("mobs_monster:spider", {
|
||||
docile_by_day = true,
|
||||
group_attack = 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 = "mobs_spider.x",
|
||||
textures = {
|
||||
{"mobs_spider.png"},
|
||||
},
|
||||
visual_size = {x = 7, y = 7},
|
||||
makes_footstep_sound = false,
|
||||
sounds = {
|
||||
random = "mobs_spider",
|
||||
war_cry = "mobs_eerie",
|
||||
death = "mobs_howl",
|
||||
attack = "mobs_spider_attack",
|
||||
},
|
||||
walk_velocity = 1,
|
||||
run_velocity = 3,
|
||||
jump = true,
|
||||
view_range = 15,
|
||||
floats = 0,
|
||||
drops = {
|
||||
{name = "farming:string", chance = 1, min = 1, max = 2},
|
||||
{name = "ethereal:crystal_spike", chance = 15, min = 1, max = 2},
|
||||
{name = "maptools:silver_coin", chance = 3, min = 1, max = 1,},
|
||||
},
|
||||
water_damage = 5,
|
||||
lava_damage = 5,
|
||||
light_damage = 0,
|
||||
animation = {
|
||||
speed_normal = 15,
|
||||
speed_run = 20,--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,
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
local spawn_on = {"default:desert_stone", "default:jungleleaves", "default:jungletree"}
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
spawn_on = {"ethereal:crystal_dirt"}
|
||||
else
|
||||
minetest.register_alias("ethereal:crystal_spike", "default:sandstone")
|
||||
end
|
||||
|
||||
mobs:spawn({
|
||||
name = "mobs_monster:spider",
|
||||
nodes = spawn_on,
|
||||
min_light = 0,
|
||||
max_light = 12,
|
||||
chance = 7000,
|
||||
active_object_count = 1,
|
||||
min_height = -50,
|
||||
max_height = 31000,
|
||||
})
|
||||
|
||||
|
||||
mobs:register_egg("mobs_monster:spider", S("Spider"), "mobs_cobweb.png", 1)
|
||||
|
||||
|
||||
mobs:alias_mob("mobs:spider", "mobs_monster:spider") -- compatibility
|
||||
|
||||
|
||||
-- cobweb
|
||||
minetest.register_node(":mobs:cobweb", {
|
||||
description = S("Cobweb"),
|
||||
drawtype = "plantlike",
|
||||
visual_scale = 1.2,
|
||||
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, disable_jump = 1},
|
||||
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"},
|
||||
}
|
||||
})
|
||||
minetest.register_alias("mobs:spider_cobweb", "mobs:cobweb")
|
80
mods/mobs_monster/stone_monster.lua
Normal file
@ -0,0 +1,80 @@
|
||||
|
||||
local S = mobs.intllib
|
||||
|
||||
|
||||
-- Stone Monster by PilzAdam
|
||||
|
||||
mobs:register_mob("mobs_monster:stone_monster", {
|
||||
type = "monster",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
pathfinding = true,
|
||||
reach = 2,
|
||||
damage = 3,
|
||||
hp_min = 12,
|
||||
hp_max = 35,
|
||||
armor = 80,
|
||||
collisionbox = {-0.4, -1, -0.4, 0.4, 0.9, 0.4},
|
||||
visual = "mesh",
|
||||
mesh = "mobs_stone_monster.b3d",
|
||||
textures = {
|
||||
{"mobs_stone_monster.png"},
|
||||
{"mobs_stone_monster2.png"}, -- by AMMOnym
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
random = "mobs_stonemonster",
|
||||
attack = "mobs_stonemonster_attack",
|
||||
},
|
||||
walk_velocity = 1,
|
||||
run_velocity = 2,
|
||||
jump_height = 0,
|
||||
stepheight = 1.1,
|
||||
floats = 0,
|
||||
view_range = 10,
|
||||
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},
|
||||
{name = "maptools:silver_coin", chance = 1, min = 1, max = 1,},
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 1,
|
||||
light_damage = 0,
|
||||
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,
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
mobs:spawn({
|
||||
name = "mobs_monster:stone_monster",
|
||||
nodes = {"default:stone", "default:desert_stone"},
|
||||
max_light = 7,
|
||||
chance = 7000,
|
||||
max_height = 0,
|
||||
})
|
||||
|
||||
|
||||
mobs:register_egg("mobs_monster:stone_monster", S("Stone Monster"), "default_stone.png", 1)
|
||||
|
||||
|
||||
mobs:alias_mob("mobs:stone_monster", "mobs_monster:stone_monster") -- compatibility
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mobs_monster:stone_monster",
|
||||
recipe = {
|
||||
{"default:stone", "default:stone", "default:stone"},
|
||||
{"default:stone", "default:nyancat_rainbow", "default:stone"},
|
||||
{"default:stone", "default:stone", "default:stone"}
|
||||
}
|
||||
})
|
BIN
mods/mobs_monster/textures/mobs_cobweb.png
Normal file
After Width: | Height: | Size: 144 B |
BIN
mods/mobs_monster/textures/mobs_dirt_monster.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
mods/mobs_monster/textures/mobs_dungeon_master.png
Executable file
After Width: | Height: | Size: 1.9 KiB |
BIN
mods/mobs_monster/textures/mobs_dungeon_master2.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
mods/mobs_monster/textures/mobs_dungeon_master3.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
mods/mobs_monster/textures/mobs_dungeon_master_blood.png
Executable file
After Width: | Height: | Size: 456 B |
BIN
mods/mobs_monster/textures/mobs_dungeon_master_diamond.png
Executable file
After Width: | Height: | Size: 310 B |
BIN
mods/mobs_monster/textures/mobs_fireball.png
Normal file
After Width: | Height: | Size: 293 B |
BIN
mods/mobs_monster/textures/mobs_mese_monster_inv.png
Executable file
After Width: | Height: | Size: 1.7 KiB |
BIN
mods/mobs_monster/textures/mobs_minotaur.png
Executable file
After Width: | Height: | Size: 12 KiB |
BIN
mods/mobs_monster/textures/mobs_minotaur_eye.png
Executable file
After Width: | Height: | Size: 458 B |
BIN
mods/mobs_monster/textures/mobs_minotaur_fur.png
Executable file
After Width: | Height: | Size: 252 B |
BIN
mods/mobs_monster/textures/mobs_minotaur_horn.png
Executable file
After Width: | Height: | Size: 302 B |
BIN
mods/mobs_monster/textures/mobs_minotaur_inv.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
mods/mobs_monster/textures/mobs_minotaur_lots_of_fur.png
Executable file
After Width: | Height: | Size: 357 B |
BIN
mods/mobs_monster/textures/mobs_oerkki.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
mods/mobs_monster/textures/mobs_oerkki2.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
mods/mobs_monster/textures/mobs_pick_lava.png
Normal file
After Width: | Height: | Size: 239 B |
BIN
mods/mobs_monster/textures/mobs_pumpboom.png
Normal file
After Width: | Height: | Size: 4.9 KiB |
BIN
mods/mobs_monster/textures/mobs_pumpboom_inv.png
Normal file
After Width: | Height: | Size: 908 B |
BIN
mods/mobs_monster/textures/mobs_pumpking.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
mods/mobs_monster/textures/mobs_pumpking_inv.png
Normal file
After Width: | Height: | Size: 417 B |
BIN
mods/mobs_monster/textures/mobs_sand_monster.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
mods/mobs_monster/textures/mobs_spider.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
mods/mobs_monster/textures/mobs_stone_monster.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
mods/mobs_monster/textures/mobs_stone_monster2.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
mods/mobs_monster/textures/mobs_tree_monster.png
Normal file
After Width: | Height: | Size: 6.6 KiB |
BIN
mods/mobs_monster/textures/mobs_tree_monster2.png
Normal file
After Width: | Height: | Size: 4.7 KiB |
BIN
mods/mobs_monster/textures/zmobs_egg_mese_monster.png
Executable file
After Width: | Height: | Size: 280 B |
BIN
mods/mobs_monster/textures/zmobs_lava_flan.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
mods/mobs_monster/textures/zmobs_lava_flan2.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
mods/mobs_monster/textures/zmobs_lava_flan3.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
mods/mobs_monster/textures/zmobs_lava_orb.png
Normal file
After Width: | Height: | Size: 522 B |
BIN
mods/mobs_monster/textures/zmobs_mese_monster.png
Normal file
After Width: | Height: | Size: 463 B |