Герхард PICCORO Lenz McKAY eda954a04b fix configurable nyancat horrible flying pig with namespaced change
* complete the commit from e114cb543fc0e32f848d615c407764167abda833
* finish the backported confifurable nyancat the horrible flying pig
* backported from 74fc8110c1
* closed https://codeberg.org/minenux/minetest-mod-mobs_doomed/issues/8
2022-01-25 10:47:22 -04:00

128 lines
3.0 KiB
Lua

mobs_doomed = {}
-- dmobs by D00Med
-- mounts api by D00Med and lib_mount api by blert2112
dofile(minetest.get_modpath("mobs_doomed").."/api.lua")
-- Enable dragons (disable to remove tamed dragons and dragon bosses)
mobs_doomed.dragons = minetest.settings:get_bool("mobs_doomed.dragons")
if mobs_doomed.dragons == nil then
mobs_doomed.dragons = true
end
mobs_doomed.regulars = minetest.settings:get_bool("mobs_doomed.regulars")
if mobs_doomed.regulars == nil then
mobs_doomed.regulars = true
end
-- Enabling of NyanCat
mobs_doomed.allow_nyanc = minetest.settings:get_bool("mobs_doomed.allow_nyanc") or false
-- Enable fireballs/explosions
mobs_doomed.destructive = minetest.settings:get_bool("mobs_doomed.destructive") or false
-- Timer for the egg mechanics
mobs_doomed.eggtimer = tonumber(minetest.settings:get("mobs_doomed.eggtimer") ) or 100
-- Table cloning to reduce code repetition
mobs_doomed.deepclone = function(t) -- deep-copy a table -- from https://gist.github.com/MihailJP/3931841
if type(t) ~= "table" then return t end
local target = {}
for k, v in pairs(t) do
if k ~= "__index" and type(v) == "table" then -- omit circular reference
target[k] = mobs_doomed.deepclone(v)
else
target[k] = v
end
end
return target
end
-- Start loading ----------------------------------------------------------------------------------
local function loadmob(mobname,dir)
dir = dir or "/mobs/"
dofile(minetest.get_modpath("mobs_doomed")..dir..mobname..".lua")
end
-- regular mobs
local mobslist = {
-- friendlies
"pig",
"panda",
"tortoise",
"golem_friendly",
"nyan",
"gnorm",
"hedgehog",
"owl",
"whale",
"badger",
"butterfly",
"elephant",
-- baddies
"pig_evil",
"fox",
"rat",
"wasps",
"treeman",
"golem",
"skeleton",
"orc",
"ogre",
}
if mobs_doomed.regulars then
for _,mobname in pairs(mobslist) do
if mobslist == "nyan" and mobs_doomed.allow_nyanc then
loadmob("nyan")
else
loadmob(mobname)
end
end
end
---------------
-- dragons!! --
---------------
loadmob("dragon_normal","/dragons/")
if mobs_doomed.dragons then
loadmob("main","/dragons/")
loadmob("dragon1","/dragons/")
loadmob("dragon2","/dragons/")
loadmob("dragon3","/dragons/")
loadmob("dragon4","/dragons/")
loadmob("great_dragon","/dragons/")
loadmob("water_dragon","/dragons/")
loadmob("wyvern","/dragons/")
dofile(minetest.get_modpath("mobs_doomed").."/dragons/eggs.lua")
end
dofile(minetest.get_modpath("mobs_doomed").."/arrows/dragonfire.lua")
dofile(minetest.get_modpath("mobs_doomed").."/arrows/dragonarrows.lua")
-- General arrow definitions
if mobs_doomed.destructive == true then
dofile(minetest.get_modpath("mobs_doomed").."/arrows/fire_explosive.lua")
else
dofile(minetest.get_modpath("mobs_doomed").."/arrows/fire.lua")
end
dofile(minetest.get_modpath("mobs_doomed").."/nodes.lua")
dofile(minetest.get_modpath("mobs_doomed").."/arrows/sting.lua")
-- Spawning
dofile(minetest.get_modpath("mobs_doomed").."/spawn.lua")
dofile(minetest.get_modpath("mobs_doomed").."/saddle.lua")