Compare commits

12 Commits

9 changed files with 188 additions and 8 deletions

View File

@ -31,4 +31,4 @@ dofile(path .. "/minotaur.lua") -- NALC(sys4 fork MFF) Kalabasa
dofile(path .. "/lucky_block.lua")
print ("[MOD] Mobs Redo 'Monsters' loaded")
print ("[MOD] Mobs Redo Monsters loaded")

View File

@ -35,9 +35,12 @@ mobs:register_mob("mobs_monster:lava_flan", {
drops = {
{name = "mobs:lava_orb", chance = 15, min = 1, max = 1},
},
water_damage = 5,
water_damage = 8,
lava_damage = 0,
light_damage = 0,
immune_to = {
{"mobs:pick_lava", -2}, -- lava pick heals 2 health
},
animation = {
speed_normal = 15,
speed_run = 15,
@ -74,6 +77,7 @@ mobs:register_mob("mobs_monster:lava_flan", {
texture = "fire_basic_flame.png",
})
end,
glow = 10,
})
@ -161,6 +165,7 @@ minetest.register_tool(":mobs:pick_lava", {
},
damage_groups = {fleshy = 6, fire = 1},
},
groups = {pickaxe = 1}
})
minetest.register_craft({

View File

@ -19,3 +19,14 @@ 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.
mobs.fireball.png was originally made by Sapier and edited by Benrob:
-- Animals Mod by Sapier
--
-- You may copy, use, modify or do nearly anything except removing this
-- copyright notice.
-- And of course you are NOT allow to pretend you have written it.
--
-- (c) Sapier
-- Contact sapier a t gmx net

35
locale/zh_CN.txt Normal file
View 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 = [模组] Mobs Redo 'Monsters' 已加载
#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 = 树怪

35
locale/zh_TW.txt Normal file
View 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 = [模組] Mobs Redo 'Monsters' 已加載
#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 = 樹怪

View File

@ -79,6 +79,14 @@ mobs:register_mob("mobs_monster:sand_monster", {
punch_start = 74,
punch_end = 105,
},
immune_to = {
{"default:shovel_wood", 3}, -- shovels deal more damage to sand monster
{"default:shovel_stone", 3},
{"default:shovel_bronze", 4},
{"default:shovel_steel", 4},
{"default:shovel_mese", 5},
{"default:shovel_diamond", 7},
},
--[[
custom_attack = function(self, p)
local pos = self.object:get_pos()
@ -91,6 +99,21 @@ mobs:register_mob("mobs_monster:sand_monster", {
pos.y = pos.y + 0.25
effect(pos, 30, "mobs_sand_particles.png", 0.1, 2, 3, 5)
end,
--[[
on_rightclick = function(self, clicker)
local tool = clicker:get_wielded_item()
local name = clicker:get_player_name()
if tool:get_name() == "default:sand" then
self.owner = name
self.type = "npc"
mobs:force_capture(self, clicker)
end
end,
]]
})

View File

@ -1,6 +1,12 @@
local S = mobs.intllib
local get_velocity = function(self)
local v = self.object:get_velocity()
return (v.x * v.x + v.z * v.z) ^ 0.5
end
-- Spider by AspireMint (CC-BY-SA 3.0 license)
@ -95,6 +101,57 @@ mobs:register_mob("mobs_monster:spider", {
return true -- run only once, false/nil runs every activation
end,
-- custom function to make spiders climb vertical facings
do_custom = function(self, dtime)
-- quarter second timer
self.spider_timer = (self.spider_timer or 0) + dtime
if self.spider_timer < 0.25 then
return
end
self.spider_timer = 0
-- need to be stopped to go onwards
if get_velocity(self) > 0.2 then
self.disable_falling = false
return
end
local pos = self.object:get_pos()
local yaw = self.object:get_yaw()
pos.y = pos.y + self.collisionbox[2] - 0.2
local dir_x = -math.sin(yaw) * (self.collisionbox[4] + 0.5)
local dir_z = math.cos(yaw) * (self.collisionbox[4] + 0.5)
local nod = minetest.get_node_or_nil({
x = pos.x + dir_x,
y = pos.y + 0.5,
z = pos.z + dir_z
})
-- get current velocity
local v = self.object:get_velocity()
-- can only climb solid facings
if not nod or not minetest.registered_nodes[nod.name]
or not minetest.registered_nodes[nod.name].walkable then
self.disable_falling = nil
v.y = 0
self.object:set_velocity(v)
return
end
--print ("----", nod.name, self.disable_falling, dtime)
-- turn off falling if attached to facing
self.disable_falling = true
-- move up facing
v.y = self.jump_height
mobs:set_animation(self, "jump")
self.object:set_velocity(v)
end
})

View File

@ -53,6 +53,14 @@ mobs:register_mob("mobs_monster:stone_monster", {
punch_start = 40,
punch_end = 63,
},
immune_to = {
{"default:pick_wood", 0}, -- wooden pick doesnt hurt stone monster
{"default:pick_stone", 4}, -- picks deal more damage to stone monster
{"default:pick_bronze", 5},
{"default:pick_steel", 5},
{"default:pick_mese", 6},
{"default:pick_diamond", 7},
},
})

View File

@ -43,11 +43,17 @@ mobs:register_mob("mobs_monster:tree_monster", {
lava_damage = 0,
light_damage = 2,
fall_damage = 0,
-- immune_to = {
-- {"default:axe_diamond", 5},
-- {"default:sapling", -5}, -- saplings heal
-- {"all", 0},
-- },
immune_to = {
{"default:axe_wood", 0}, -- wooden axe doesnt hurt wooden monster
{"default:axe_stone", 4}, -- axes deal more damage to tree monster
{"default:axe_bronze", 5},
{"default:axe_steel", 5},
{"default:axe_mese", 7},
{"default:axe_diamond", 9},
{"default:sapling", -5}, -- default and jungle saplings heal
{"default:junglesapling", -5},
-- {"all", 0}, -- only weapons on list deal damage
},
animation = {
speed_normal = 15,
speed_run = 15,