1
0
mirror of https://github.com/sys4-fr/server-nalc.git synced 2024-12-24 17:50:37 +01:00

update mod mobs

convert mobs sounds, stereo to mono, 48kb,44100KHz. before 1,2 Mo, after 833,5 ko
This commit is contained in:
crabman77 2015-09-01 00:40:11 +02:00
parent 8b5d0fe0fa
commit 167a0fe2e3
59 changed files with 23 additions and 21 deletions

View File

@ -1,4 +1,4 @@
-- Mobs Api (18th August 2015)
-- Mobs Api (28th August 2015)
mobs = {}
mobs.mod = "redo"
@ -606,7 +606,8 @@ function mobs:register_mob(name, def)
if self.type == "npc"
and self.order == "follow"
and self.state ~= "attack" and self.owner ~= "" then --/MFF (Crabman|07/14/2015) follow diamond if has not owner
and self.state ~= "attack"
and self.owner ~= "" then
-- npc stop following player if not owner
if self.following
and self.owner
@ -1319,7 +1320,6 @@ function mobs:explosion(pos, radius, fire, smoke, sound)
if not fire then fire = 0 end
if not smoke then smoke = 0 end
local pos = vector.round(pos)
local radius = 1
local vm = VoxelManip()
local minp, maxp = vm:read_from_map(vector.subtract(pos, radius), vector.add(pos, radius))
local a = VoxelArea:new({MinEdge = minp, MaxEdge = maxp})
@ -1350,21 +1350,27 @@ function mobs:explosion(pos, radius, fire, smoke, sound)
p.y = pos.y + y
p.z = pos.z + z
if p.y >= 19600 --MFF
and data[vi] ~= c_air and data[vi] ~= c_ignore
and data[vi] ~= c_obsidian and data[vi] ~= c_brick
and data[vi] ~= c_air
and data[vi] ~= c_ignore
and data[vi] ~= c_obsidian
and data[vi] ~= c_brick
and data[vi] ~= c_chest then
local n = minetest.get_node(p).name
if not minetest.is_protected(p, "") --/MFF (Crabman|06/23/2015) re-added node protected in areas
and minetest.get_item_group(n, "unbreakable") ~= 1 then
-- if chest then drop items inside
if n == "default:chest" or n == "3dchest:chest" then
if n == "default:chest"
or n == "3dchest:chest" then
local meta = minetest.get_meta(p)
local inv = meta:get_inventory()
for i = 1,32 do
local m_stack = inv:get_stack("main", i)
local obj = minetest.add_item(pos, m_stack)
local obj = minetest.add_item(p, m_stack)
if obj then
obj:setvelocity({x = math.random(-2, 2), y = 7, z = math.random(-2, 2)})
obj:setvelocity({
x = math.random(-2, 2),
y = 7,
z = math.random(-2, 2)})
end
end
end
@ -1506,7 +1512,9 @@ function mobs:register_arrow(name, def)
end
if self.hit_mob
and player:get_luaentity().name ~= self.object:get_luaentity().name
and player:get_luaentity().name ~= "__builtin:item" then
and player:get_luaentity().name ~= "__builtin:item"
and player:get_luaentity().name ~= "gauges:hp_bar"
and player:get_luaentity().name ~= "signs:text" then
self.hit_mob(self, player)
self.object:remove() ; -- print ("hit mob")
return
@ -1604,27 +1612,21 @@ end
-- follow what I'm holding ?
function follow_holding(self, clicker)
local item = clicker:get_wielded_item()
local follow_item = false
local t = type(self.follow)
-- single item
if t == "string"
and item:get_name() == self.follow then
follow_item = true
return true
-- multiple items
elseif t == "table" then
for no = 1, #self.follow do
if self.follow[no] == item:get_name() then
follow_item = true
end
end
end
-- true if can eat/tame with item
if follow_item == true then
return true
end
end
end
return false
end

View File

@ -60,6 +60,4 @@ dofile(path.."/crafts.lua")
-- Mob menu spawner special MFF
dofile(path.."/mff_menu.lua")
if minetest.setting_get("log_mods") then
minetest.log("action", "mobs loaded")
end
print ("[MOD] Mobs Redo loaded")

View File

@ -100,7 +100,9 @@ mobs:register_mob("mobs:npc", {
end
local pos = self.object:getpos()
pos.y = pos.y + 0.5
minetest.add_item(pos, {name = mobs.npc_drops[math.random(1,#mobs.npc_drops)]})
minetest.add_item(pos, {
name = mobs.npc_drops[math.random(1,#mobs.npc_drops)]
})
return
-- if owner switch between follow and stand
elseif self.owner and self.owner == clicker:get_player_name() then

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.