dmobs/init.lua
2022-01-29 10:00:59 +00:00

110 lines
2.7 KiB
Lua

-- dmobs by D00Med
-- mounts api by D00Med and lib_mount api by blert2112
dmobs = {dragon = {}}
local dpath = minetest.get_modpath("dmobs") .. "/"
dofile(dpath .. "api.lua")
-- Enable dragons (disable to remove tamed dragons and dragon bosses)
dmobs.dragons = minetest.settings:get_bool("dmobs.dragons", true)
dmobs.regulars = minetest.settings:get_bool("dmobs.regulars", true)
-- Enable NyanCat
dmobs.allow_nyanc = minetest.settings:get_bool("dmobs.allow_nyanc", true)
-- Enable fireballs/explosions
dmobs.destructive = minetest.settings:get_bool("dmobs.destructive", false)
-- Timer for the egg mechanics
dmobs.eggtimer = tonumber(minetest.settings:get("dmobs.eggtimer") ) or 100
-- Table cloning to reduce code repetition
-- deep-copy a table -- from https://gist.github.com/MihailJP/3931841
dmobs.deepclone = function(t)
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] = dmobs.deepclone(v)
else
target[k] = v
end
end
return target
end
if dmobs.regulars then
-- load friendly mobs
dofile(dpath .. "mobs/pig.lua")
dofile(dpath .. "mobs/panda.lua")
dofile(dpath .. "mobs/tortoise.lua")
dofile(dpath .. "mobs/golem_friendly.lua")
if dmobs.allow_nyanc then
dofile(dpath .. "mobs/nyan.lua")
end
dofile(dpath .. "mobs/gnorm.lua")
dofile(dpath .. "mobs/hedgehog.lua")
dofile(dpath .. "mobs/owl.lua")
dofile(dpath .. "mobs/whale.lua")
dofile(dpath .. "mobs/badger.lua")
dofile(dpath .. "mobs/butterfly.lua")
dofile(dpath .. "mobs/elephant.lua")
-- load baddies
dofile(dpath .. "mobs/pig_evil.lua")
dofile(dpath .. "mobs/fox.lua")
dofile(dpath .. "mobs/rat.lua")
dofile(dpath .. "mobs/wasps.lua")
dofile(dpath .. "mobs/treeman.lua")
dofile(dpath .. "mobs/golem.lua")
dofile(dpath .. "mobs/skeleton.lua")
dofile(dpath .. "mobs/orc.lua")
dofile(dpath .. "mobs/ogre.lua")
end
-- dragons!!
dofile(dpath .. "dragons/piloting.lua")
dofile(dpath .. "dragons/dragon_normal.lua")
if dmobs.dragons then
dofile(dpath .. "dragons/main.lua")
dofile(dpath .. "dragons/dragon1.lua")
dofile(dpath .. "dragons/dragon2.lua")
dofile(dpath .. "dragons/dragon3.lua")
dofile(dpath .. "dragons/dragon4.lua")
dofile(dpath .. "dragons/great_dragon.lua")
dofile(dpath .. "dragons/water_dragon.lua")
dofile(dpath .. "dragons/wyvern.lua")
dofile(dpath .. "dragons/eggs.lua")
end
dofile(dpath .. "arrows/dragonfire.lua")
dofile(dpath .. "arrows/dragonarrows.lua")
dofile(dpath .. "arrows/sting.lua")
-- General arrow definitions
if dmobs.destructive == true then
dofile(dpath .. "arrows/fire_explosive.lua")
else
dofile(dpath .. "arrows/fire.lua")
end
dofile(dpath .. "nodes.lua")
-- Spawning
dofile(dpath .. "spawn.lua")