changing namesspace from dmobs to mobs_doomed

* fix missing coloms and brackleds in follow and drops of mobs
* change name of mod to mobs_doomed in all files
* an older definition still references to nyancat so make a symlink
This commit is contained in:
Герхард PICCORO Lenz McKAY 2022-01-24 15:31:51 -04:00
parent ab1b5877c1
commit 19d207f8e4
47 changed files with 306 additions and 297 deletions

View File

@ -1,3 +1,8 @@
* 2022-01-23 : mckaygerhard
* change namespace from dmobs to mobs_doomed
* fixed depends
* fixed damge by fire
* improvements over readme and information, added screenshot
* 2021-03-30 : Poikilos * 2021-03-30 : Poikilos
* Add more details to the panda texture (Change every pixel give or take a few) while reducing the number of pixels. * Add more details to the panda texture (Change every pixel give or take a few) while reducing the number of pixels.
* 2019-07-31 : Grossam * 2019-07-31 : Grossam

View File

@ -29,6 +29,8 @@ To get tame dragons you need to hatch them from eggs.
Technical info Technical info
-------------- --------------
This mod is named `mobs_doomed`.
This mod will added 10 megs of more media to yuor server game to need to downloaded by clients.. This mod will added 10 megs of more media to yuor server game to need to downloaded by clients..
Please for more technical info about dragons read the [dragons.md](dragons.md) file. Please for more technical info about dragons read the [dragons.md](dragons.md) file.
@ -50,7 +52,7 @@ Models sources are in [projects](projects) directory of course in GIMP format.
### Download ### Download
This is a fork that tries to rename the namespace to `mobs_doom` from `dmobs` o be in sync with mobs api from tenplus1. This is a fork that tries to rename the namespace to `mobs_doomed` from `dmobs` o be in sync with mobs api from tenplus1.
It also try to be compatible with both 0.4 and 5.2 engines of minetest for minenux games. This fork can be downloaded It also try to be compatible with both 0.4 and 5.2 engines of minetest for minenux games. This fork can be downloaded
from https://codeberg.org/minenux/minetest-mod-mobs_doomed the original one is at https://github.com/minetest-mobs-mods/dmobs from https://codeberg.org/minenux/minetest-mod-mobs_doomed the original one is at https://github.com/minetest-mobs-mods/dmobs
@ -59,43 +61,43 @@ from https://codeberg.org/minenux/minetest-mod-mobs_doomed the original one is a
Whit more chance, more rare. Whit more chance, more rare.
There's some settings, if `dmobs.regulars` are enabled then those monster will be available: There's some settings, if `mobs_doomed.regulars` are enabled then those monster will be available:
| tech name | type | chance | notes | spawn nodes | | tech name | type | chance | notes | spawn nodes |
| -------------- | ----- | ------- | ---------- | --------------------------- | | -------------- | ----- | ------- | ---------- | --------------------------- |
| dmobs:nyan | mobs | 300 | friendly | air or ethereal:mushroom/nyanland:meseleaves | | mobs_doomed:nyan | mobs | 300 | friendly | air or ethereal:mushroom/nyanland:meseleaves |
| dmobs:hedgehog | mobs | 8000 | friendly | group:flora, ethereal:prairie_dirt | | mobs_doomed:hedgehog | mobs | 8000 | friendly | group:flora, ethereal:prairie_dirt |
| dmobs:whale | mobs | 16000 | friendly | default:water_source | | mobs_doomed:whale | mobs | 16000 | friendly | default:water_source |
| dmobs:owl | mobs | 16000 | friendly | group:tree | | mobs_doomed:owl | mobs | 16000 | friendly | group:tree |
| dmobs:gnorm | mobs | 16000 | friendly | default:dirt_with_grass, ethereal:bamboo_dirt | | mobs_doomed:gnorm | npc | 16000 | friendly | default:dirt_with_grass, ethereal:bamboo_dirt |
| dmobs:tortoise | mobs | 8000 | friendly | default:water_source, group:sand | | mobs_doomed:tortoise | mobs | 8000 | friendly | default:water_source, group:sand |
| dmobs:elephan | mobs | 16000 | friendly | default:dirt_with_dry_grass, ethereal:grove_dirt | | mobs_doomed:elephan | mobs | 16000 | friendly | default:dirt_with_dry_grass, ethereal:grove_dirt |
| dmobs:pig | mobs | 32000 | friendly | default:dirt_with_grass, ethereal:prairie_dirt, nyanland:cloudstone | | mobs_doomed:pig | mobs | 32000 | friendly | default:dirt_with_grass, ethereal:prairie_dirt, nyanland:cloudstone |
| dmobs:panda | mobs | 32000 | friendly | default:dirt_with_grass, ethereal:bamboo_dirt | | mobs_doomed:panda | mobs | 32000 | friendly | default:dirt_with_grass, ethereal:bamboo_dirt |
| dmobs:waps | mobs | 16000 | baddly | air/leaves or dmobs:hive | | mobs_doomed:waps | mobs | 16000 | baddly | air/leaves or mobs_doomed:hive |
| dmobs:waps_leader | mobs | 64000 | baddly | air/leaves or dmobs:hive | | mobs_doomed:waps_leader | mobs | 64000 | baddly | air/leaves or mobs_doomed:hive |
| dmobs:golem | mobs | 16000 | baddly | group:stone | | mobs_doomed:golem | mobs | 16000 | baddly | group:stone |
| dmobs:pig_evil | mobs | 64000 | baddly | group:leave, ethereal:bamboo_leaves | | mobs_doomed:pig_evil | mobs | 64000 | baddly | group:leave, ethereal:bamboo_leaves |
| dmobs:fox | mobs | 32000 | baddly | group:leaves | | mobs_doomed:fox | mobs | 32000 | baddly | group:leaves |
| dmobs:rat | mobs | 32000 | baddly | group:stone, group:sand | | mobs_doomed:rat | mobs | 32000 | baddly | group:stone, group:sand |
| dmobs:treeman | mobs | 16000 | baddly | group:leaves | | mobs_doomed:treeman | mobs | 16000 | baddly | group:leaves |
| dmobs:skeleton | mobs | 16000 | baddly | group:stone, caverealms:stone_with_salt, default:desert_sand | | mobs_doomed:skeleton | mobs | 16000 | baddly | group:stone, caverealms:stone_with_salt, default:desert_sand |
There's some settings, if `dmobs.dragon`, orcs and ogres spawn more often when dragons are disabled: There's some settings, if `mobs_doomed.dragon`, orcs and ogres spawn more often when dragons are disabled:
| tech name | type | chance | notes | spawn nodes | | tech name | type | chance | notes | spawn nodes |
| -------------- | ----- | ------- | ---------- | --------------------------- | | -------------- | ----- | ------- | ---------- | --------------------------- |
| dmobs:orc | mobs | 8000/2000 | baddly | default:snow_block, default:permafrost_with_moss, default:permafrost_with_stone, ethereal:cold_dirt | | mobs_doomed:orc | mobs | 8000/2000 | baddly | default:snow_block, default:permafrost_with_moss, default:permafrost_with_stone, ethereal:cold_dirt |
| dmobs:ogre | mobs | 16000/32000 | baddly | default:snow_block, default:permafrost_with_moss, default:permafrost_with_stone, ethereal:cold_dirt | | mobs_doomed:ogre | mobs | 16000/32000 | baddly | default:snow_block, default:permafrost_with_moss, default:permafrost_with_stone, ethereal:cold_dirt |
| dmobs:dragon_great_tame | npc | 30000 | very rare, fire/lava | ethereal:jungle_dirt,default:jungleleaves,default:lava_source,caverealms:glow_mese, caverealms:glow_amethyst,caverealms:glow_crystal,caverealms:glow_emerald,cavereals:glow_ruby | mobs_doomed:dragon_great_tame | npc | 30000 | very rare, fire/lava | ethereal:jungle_dirt,default:jungleleaves,default:lava_source,caverealms:glow_mese, caverealms:glow_amethyst,caverealms:glow_crystal,caverealms:glow_emerald,cavereals:glow_ruby
| dmobs:dragon | mobs | 16000 | always enabled | group:leaves | | mobs_doomed:dragon | mobs | 16000 | always enabled | group:leaves |
| dmobs:waterdragon | mobs | 24000 | rare, ice/water | default:water_source | | mobs_doomed:waterdragon | mobs | 24000 | rare, ice/water | default:water_source |
| dmobs:dragon1 | mobs | 24000 | rare, fire | ethereal:fiery_dirt, default:desert_sand | | mobs_doomed:dragon1 | mobs | 24000 | rare, fire | ethereal:fiery_dirt, default:desert_sand |
| dmobs:dragon2 | mobs | 24000 | rare, thunder/fire | ethereal:cristal_dirt, default:dirt_with_dry_grass | | mobs_doomed:dragon2 | mobs | 24000 | rare, thunder/fire | ethereal:cristal_dirt, default:dirt_with_dry_grass |
| dmobs:dragon3 | mobs | 30000 | rare, poison | ethereal:jungle_dirt, default:jungleleaves | | mobs_doomed:dragon3 | mobs | 30000 | rare, poison | ethereal:jungle_dirt, default:jungleleaves |
| dmobs:dragon4 | mobs | 24000 | rare, ice/water | default:snow_block, default:permafrost_with_moss, default:permafrost_with_stone, ethereal:cold_dirt | | mobs_doomed:dragon4 | mobs | 24000 | rare, ice/water | default:snow_block, default:permafrost_with_moss, default:permafrost_with_stone, ethereal:cold_dirt |
| dmobs:wyvern | mobs | 32000 | rare, dog attack | group:leaves | | mobs_doomed:wyvern | mobs | 32000 | rare, dog attack | group:leaves |
| dmobs:dragon_great | mobs | 30000 | very rare, fire/lava | ethereal:jungle_dirt,default:jungleleaves,default:lava_source,caverealms:glow_mese, caverealms:glow_amethyst,caverealms:glow_crystal,caverealms:glow_emerald,cavereals:glow_ruby | | mobs_doomed:dragon_great | mobs | 30000 | very rare, fire/lava | ethereal:jungle_dirt,default:jungleleaves,default:lava_source,caverealms:glow_mese, caverealms:glow_amethyst,caverealms:glow_crystal,caverealms:glow_emerald,cavereals:glow_ruby |
## Authors & License ## Authors & License

View File

@ -29,6 +29,6 @@ local base_arrow = {
for _,arrowtype in pairs( {"ice","lightning","poison"} ) do for _,arrowtype in pairs( {"ice","lightning","poison"} ) do
base_arrow.textures = {"dmobs_"..arrowtype..".png"} base_arrow.textures = {"dmobs_"..arrowtype..".png"}
name = "dmobs:"..arrowtype name = "mobs_doomed:"..arrowtype
mobs:register_arrow(name, dmobs.deepclone(base_arrow) ) mobs:register_arrow(name, mobs_doomed.deepclone(base_arrow) )
end end

View File

@ -1,6 +1,6 @@
--function to register tamed dragon attacks --function to register tamed dragon attacks
function dmobs.register_fire(fname, texture, dmg, replace_node, explode, ice, variance, size) function mobs_doomed.register_fire(fname, texture, dmg, replace_node, explode, ice, variance, size)
minetest.register_entity(fname, { minetest.register_entity(fname, {
textures = {texture}, textures = {texture},
velocity = 0.1, velocity = 0.1,
@ -14,7 +14,7 @@ minetest.register_entity(fname, {
local objs = minetest.get_objects_inside_radius({x=pos.x,y=pos.y,z=pos.z}, 2) local objs = minetest.get_objects_inside_radius({x=pos.x,y=pos.y,z=pos.z}, 2)
for k, obj in pairs(objs) do for k, obj in pairs(objs) do
if obj:get_luaentity() ~= nil then if obj:get_luaentity() ~= nil then
if obj:get_luaentity().name ~= fname and obj:get_luaentity().name ~= "dmobs:dragon_red" and obj:get_luaentity().name ~= "dmobs:dragon_blue" and obj:get_luaentity().name ~= "dmobs:dragon_black" and obj:get_luaentity().name ~= "dmobs:dragon_green" and obj:get_luaentity().name ~= "dmobs:dragon_great_tame" and obj:get_luaentity().name ~= "__builtin:item" then if obj:get_luaentity().name ~= fname and obj:get_luaentity().name ~= "mobs_doomed:dragon_red" and obj:get_luaentity().name ~= "mobs_doomed:dragon_blue" and obj:get_luaentity().name ~= "mobs_doomed:dragon_black" and obj:get_luaentity().name ~= "mobs_doomed:dragon_green" and obj:get_luaentity().name ~= "mobs_doomed:dragon_great_tame" and obj:get_luaentity().name ~= "__builtin:item" then
obj:punch(self.launcher, 1.0, { obj:punch(self.launcher, 1.0, {
full_punch_interval=1.0, full_punch_interval=1.0,
damage_groups={fleshy=3}, damage_groups={fleshy=3},
@ -65,7 +65,7 @@ minetest.register_entity(fname, {
}) })
end end
dmobs.register_fire("dmobs:fire_plyr", "dmobs_fire.png", 2, "fire:basic_flame", true, false, 0.3, 1) mobs_doomed.register_fire("mobs_doomed:fire_plyr", "dmobs_fire.png", 2, "fire:basic_flame", true, false, 0.3, 1)
dmobs.register_fire("dmobs:ice_plyr", "dmobs_ice.png", 2, "default:ice", false, true, 0.5, 10) mobs_doomed.register_fire("mobs_doomed:ice_plyr", "dmobs_ice.png", 2, "default:ice", false, true, 0.5, 10)
dmobs.register_fire("dmobs:poison_plyr", "dmobs_poison.png", 2, "air", false, false, 0.3, 1) mobs_doomed.register_fire("mobs_doomed:poison_plyr", "dmobs_poison.png", 2, "air", false, false, 0.3, 1)
dmobs.register_fire("dmobs:lightning_plyr", "dmobs_lightning.png", 2, "air", true, false, 0, 0.5) mobs_doomed.register_fire("mobs_doomed:lightning_plyr", "dmobs_lightning.png", 2, "air", true, false, 0, 0.5)

View File

@ -1,5 +1,5 @@
--Thanks to Tenplus1 --Thanks to Tenplus1
mobs:register_arrow("dmobs:fire", { mobs:register_arrow("mobs_doomed:fire", {
visual = "sprite", visual = "sprite",
visual_size = {x = 0.5, y = 0.5}, visual_size = {x = 0.5, y = 0.5},
textures = {"dmobs_fire.png"}, textures = {"dmobs_fire.png"},

View File

@ -1,5 +1,5 @@
mobs:register_arrow("dmobs:fire", { mobs:register_arrow("mobs_doomed:fire", {
visual = "sprite", visual = "sprite",
visual_size = {x = 0.5, y = 0.5}, visual_size = {x = 0.5, y = 0.5},
textures = {"dmobs_fire.png"}, textures = {"dmobs_fire.png"},

View File

@ -1,4 +1,4 @@
mobs:register_arrow("dmobs:sting", { mobs:register_arrow("mobs_doomed:sting", {
visual = "sprite", visual = "sprite",
visual_size = {x = 0.5, y = 0.5}, visual_size = {x = 0.5, y = 0.5},
textures = {"dmobs_sting.png"}, textures = {"dmobs_sting.png"},

View File

@ -1,4 +1,4 @@
minetest mod mobs_doom minetest mod mobs_doomed
====================== ======================
Main info at [Readme.md](README.md) Main info at [Readme.md](README.md)
@ -12,19 +12,19 @@ same for ogres, about 6000 with disabled dragons and 8000 then.
## Dragons names ## Dragons names
Generic dragon always spawn, the others only if enabled in settings by `dmobs.dragons` set to true (default): Generic dragon always spawn, the others only if enabled in settings by `mobs_doomed.dragons` set to true (default):
| tech name | type | chance | notes | spawn nodes | | tech name | type | chance | notes | spawn nodes |
| ------------- | ---- | ------ | ------------------ | ---------------------- | | ------------- | ---- | ------ | ------------------ | ---------------------- |
| dmobs:dragon | mob | 16000 | always enabled | group:leaves | | mobs_doomed:dragon | mob | 16000 | always enabled | group:leaves |
| dmobs:waterdragon | mob | 24000 | rare, ice/water | default:water_source | | mobs_doomed:waterdragon | mob | 24000 | rare, ice/water | default:water_source |
| dmobs:dragon1 | mob | 24000 | rare, fire | ethereal:fiery_dirt, default:desert_sand | | mobs_doomed:dragon1 | mob | 24000 | rare, fire | ethereal:fiery_dirt, default:desert_sand |
| dmobs:dragon2 | mob | 24000 | rare, thunder/fire | ethereal:cristal_dirt, default:dirt_with_dry_grass | | mobs_doomed:dragon2 | mob | 24000 | rare, thunder/fire | ethereal:cristal_dirt, default:dirt_with_dry_grass |
| dmobs:dragon3 | mob | 30000 | rare, poison | ethereal:jungle_dirt, default:jungleleaves | | mobs_doomed:dragon3 | mob | 30000 | rare, poison | ethereal:jungle_dirt, default:jungleleaves |
| dmobs:dragon4 | mob | 24000 | rare, ice/water | default:snow_block, default:permafrost_with_moss, default:permafrost_with_stone, ethereal:cold_dirt | | mobs_doomed:dragon4 | mob | 24000 | rare, ice/water | default:snow_block, default:permafrost_with_moss, default:permafrost_with_stone, ethereal:cold_dirt |
| dmobs:wyvern | mob | 32000 | rare, dog attack | group:leaves | | mobs_doomed:wyvern | mob | 32000 | rare, dog attack | group:leaves |
| dmobs:dragon_great | mob | 30000 | very rare, fire/lava | ethereal:jungle_dirt,default:jungleleaves,default:lava_source,caverealms:glow_mese, caverealms:glow_amethyst,caverealms:glow_crystal,caverealms:glow_emerald,cavereals:glow_ruby | | mobs_doomed:dragon_great | mob | 30000 | very rare, fire/lava | ethereal:jungle_dirt,default:jungleleaves,default:lava_source,caverealms:glow_mese, caverealms:glow_amethyst,caverealms:glow_crystal,caverealms:glow_emerald,cavereals:glow_ruby |
| dmobs:dragon_great_tame | npc | 30000 | very rare, fire/lava | ethereal:jungle_dirt,default:jungleleaves,default:lava_source,caverealms:glow_mese, caverealms:glow_amethyst,caverealms:glow_crystal,caverealms:glow_emerald,cavereals:glow_ruby | | mobs_doomed:dragon_great_tame | npc | 30000 | very rare, fire/lava | ethereal:jungle_dirt,default:jungleleaves,default:lava_source,caverealms:glow_mese, caverealms:glow_amethyst,caverealms:glow_crystal,caverealms:glow_emerald,cavereals:glow_ruby |
Dragon D00Med's Mobs Dragon D00Med's Mobs
------------- -------------

View File

@ -1,4 +1,4 @@
minetest mod mobs_doom minetest mod mobs_doomed
====================== ======================
Main info at [../Readme.md](../README.md) Main info at [../Readme.md](../README.md)
@ -16,15 +16,15 @@ Generic dragon always spawn, the others only if enabled in settings by `dmobs.dr
| tech name | type | chance | notes | spawn nodes | | tech name | type | chance | notes | spawn nodes |
| ------------- | ---- | ------ | ------------------ | ---------------------- | | ------------- | ---- | ------ | ------------------ | ---------------------- |
| dmobs:dragon | mob | 16000 | always enabled | group:leaves | | mobs_doomed:dragon | mob | 16000 | always enabled | group:leaves |
| dmobs:waterdragon | mob | 24000 | rare, ice/water | default:water_source | | mobs_doomed:waterdragon | mob | 24000 | rare, ice/water | default:water_source |
| dmobs:dragon1 | mob | 24000 | rare, fire | ethereal:fiery_dirt, default:desert_sand | | mobs_doomed:dragon1 | mob | 24000 | rare, fire | ethereal:fiery_dirt, default:desert_sand |
| dmobs:dragon2 | mob | 24000 | rare, thunder/fire | ethereal:cristal_dirt, default:dirt_with_dry_grass | | mobs_doomed:dragon2 | mob | 24000 | rare, thunder/fire | ethereal:cristal_dirt, default:dirt_with_dry_grass |
| dmobs:dragon3 | mob | 30000 | rare, poison | ethereal:jungle_dirt, default:jungleleaves | | mobs_doomed:dragon3 | mob | 30000 | rare, poison | ethereal:jungle_dirt, default:jungleleaves |
| dmobs:dragon4 | mob | 24000 | rare, ice/water | default:snow_block, default:permafrost_with_moss, default:permafrost_with_stone, ethereal:cold_dirt | | mobs_doomed:dragon4 | mob | 24000 | rare, ice/water | default:snow_block, default:permafrost_with_moss, default:permafrost_with_stone, ethereal:cold_dirt |
| dmobs:wyvern | mob | 32000 | rare, dog attack | group:leaves | | mobs_doomed:wyvern | mob | 32000 | rare, dog attack | group:leaves |
| dmobs:dragon_great | mob | 30000 | very rare, fire/lava | ethereal:jungle_dirt,default:jungleleaves,default:lava_source,caverealms:glow_mese, caverealms:glow_amethyst,caverealms:glow_crystal,caverealms:glow_emerald,cavereals:glow_ruby | | mobs_doomed:dragon_great | mob | 30000 | very rare, fire/lava | ethereal:jungle_dirt,default:jungleleaves,default:lava_source,caverealms:glow_mese, caverealms:glow_amethyst,caverealms:glow_crystal,caverealms:glow_emerald,cavereals:glow_ruby |
| dmobs:dragon_great_tame | npc | 30000 | very rare, fire/lava | ethereal:jungle_dirt,default:jungleleaves,default:lava_source,caverealms:glow_mese, caverealms:glow_amethyst,caverealms:glow_crystal,caverealms:glow_emerald,cavereals:glow_ruby | | mobs_doomed:dragon_great_tame | npc | 30000 | very rare, fire/lava | ethereal:jungle_dirt,default:jungleleaves,default:lava_source,caverealms:glow_mese, caverealms:glow_amethyst,caverealms:glow_crystal,caverealms:glow_emerald,cavereals:glow_ruby |
Dragon D00Med's Mobs Dragon D00Med's Mobs
------------- -------------

View File

@ -11,7 +11,7 @@ local dragondef = {
dogshoot_switch = 2, dogshoot_switch = 2,
dogshoot_count = 0, dogshoot_count = 0,
dogshoot_count_max =5, dogshoot_count_max =5,
arrow = "dmobs:fire", arrow = "mobs_doomed:fire",
shoot_offset = 1, shoot_offset = 1,
hp_min = 70, hp_min = 70,
hp_max = 100, hp_max = 100,
@ -29,7 +29,7 @@ local dragondef = {
jump_chance = 30, jump_chance = 30,
walk_chance = 80, walk_chance = 80,
fall_speed = 0, fall_speed = 0,
follow = {"dmobs:dragon_gem"}, follow = {"mobs_doomed:dragon_gem"},
pathfinding = true, pathfinding = true,
fall_damage = 0, fall_damage = 0,
sounds = { sounds = {
@ -41,8 +41,8 @@ local dragondef = {
fly = true, fly = true,
fly_in = {"air","default:water_source", "default:water_flowing", "default:lava_source", "default:lava_flowing"}, fly_in = {"air","default:water_source", "default:water_flowing", "default:lava_source", "default:lava_flowing"},
drops = { drops = {
{name = "dmobs:egg", chance = 1, min = 1, max = 1}, {name = "mobs_doomed:egg", chance = 1, min = 1, max = 1},
{name = "dmobs:dragon_gem", chance = 1, min = 1, max = 1}, {name = "mobs_doomed:dragon_gem", chance = 1, min = 1, max = 1},
}, },
fall_speed = 0, fall_speed = 0,
stepheight = 10, stepheight = 10,
@ -64,19 +64,19 @@ local dragondef = {
punch_end = 47, punch_end = 47,
}, },
knock_back = 2, knock_back = 2,
do_custom = dmobs.dragon.step_custom, do_custom = mobs_doomed.dragon.step_custom,
on_rightclick = dmobs.dragon.on_rc on_rightclick = mobs_doomed.dragon.on_rc
} }
-- The wild dragon is registered -- The wild dragon is registered
mobs:register_mob("dmobs:dragon1", dmobs.deepclone(dragondef) ) mobs:register_mob("mobs_doomed:dragon1", mobs_doomed.deepclone(dragondef) )
-- The def is modified to make it tamed and rideable -- The def is modified to make it tamed and rideable
dragondef.type = "npc" dragondef.type = "npc"
dragondef.attacks_monsters = true dragondef.attacks_monsters = true
dragondef.on_rightclick = dmobs.dragon.ride dragondef.on_rightclick = mobs_doomed.dragon.ride
dragondef.do_custom = dmobs.dragon.do_custom dragondef.do_custom = mobs_doomed.dragon.do_custom
-- The tamed version is registered -- The tamed version is registered
mobs:register_mob("dmobs:dragon_red", dmobs.deepclone(dragondef) ) mobs:register_mob("mobs_doomed:dragon_red", mobs_doomed.deepclone(dragondef) )

View File

@ -11,7 +11,7 @@ local dragondef = {
dogshoot_switch = 2, dogshoot_switch = 2,
dogshoot_count = 0, dogshoot_count = 0,
dogshoot_count_max =5, dogshoot_count_max =5,
arrow = "dmobs:lightning", arrow = "mobs_doomed:lightning",
shoot_offset = 1, shoot_offset = 1,
hp_min = 70, hp_min = 70,
hp_max = 100, hp_max = 100,
@ -29,7 +29,7 @@ local dragondef = {
jump_chance = 30, jump_chance = 30,
walk_chance = 80, walk_chance = 80,
fall_speed = 0, fall_speed = 0,
follow = {"dmobs:dragon_gem"}, follow = {"mobs_doomed:dragon_gem"},
pathfinding = true, pathfinding = true,
fall_damage = 0, fall_damage = 0,
sounds = { sounds = {
@ -41,8 +41,8 @@ local dragondef = {
fly = true, fly = true,
fly_in = {"air","default:water_source","default:water_flowing"}, fly_in = {"air","default:water_source","default:water_flowing"},
drops = { drops = {
{name = "dmobs:egg", chance = 1, min = 1, max = 1}, {name = "mobs_doomed:egg", chance = 1, min = 1, max = 1},
{name = "dmobs:dragon_gem", chance = 1, min = 1, max = 1}, {name = "mobs_doomed:dragon_gem", chance = 1, min = 1, max = 1},
}, },
fall_speed = 0, fall_speed = 0,
stepheight = 10, stepheight = 10,
@ -64,18 +64,18 @@ local dragondef = {
punch_end = 47, punch_end = 47,
}, },
knock_back = 2, knock_back = 2,
do_custom = dmobs.dragon.step_custom, do_custom = mobs_doomed.dragon.step_custom,
on_rightclick = dmobs.dragon.on_rc on_rightclick = mobs_doomed.dragon.on_rc
} }
mobs:register_mob("dmobs:dragon2", dmobs.deepclone(dragondef) ) mobs:register_mob("mobs_doomed:dragon2", mobs_doomed.deepclone(dragondef) )
dragondef.type = "npc" dragondef.type = "npc"
dragondef.attacks_monsters = true dragondef.attacks_monsters = true
dragondef.on_rightclick = dmobs.dragon.ride dragondef.on_rightclick = mobs_doomed.dragon.ride
dragondef.do_custom = dmobs.dragon.do_custom dragondef.do_custom = mobs_doomed.dragon.do_custom
mobs:register_mob("dmobs:dragon_black", dmobs.deepclone(dragondef) ) mobs:register_mob("mobs_doomed:dragon_black", mobs_doomed.deepclone(dragondef) )

View File

@ -11,7 +11,7 @@ local dragondef = {
dogshoot_switch = 2, dogshoot_switch = 2,
dogshoot_count = 0, dogshoot_count = 0,
dogshoot_count_max =5, dogshoot_count_max =5,
arrow = "dmobs:poison", arrow = "mobs_doomed:poison",
shoot_offset = 1, shoot_offset = 1,
hp_min = 70, hp_min = 70,
hp_max = 100, hp_max = 100,
@ -29,7 +29,7 @@ local dragondef = {
jump_chance = 30, jump_chance = 30,
walk_chance = 80, walk_chance = 80,
fall_speed = 0, fall_speed = 0,
follow = {"dmobs:dragon_gem"}, follow = {"mobs_doomed:dragon_gem"},
pathfinding = true, pathfinding = true,
fall_damage = 0, fall_damage = 0,
sounds = { sounds = {
@ -41,8 +41,8 @@ local dragondef = {
fly = true, fly = true,
fly_in = {"air","default:water_source","default:water_flowing"}, fly_in = {"air","default:water_source","default:water_flowing"},
drops = { drops = {
{name = "dmobs:egg", chance = 1, min = 1, max = 1}, {name = "mobs_doomed:egg", chance = 1, min = 1, max = 1},
{name = "dmobs:dragon_gem", chance = 1, min = 1, max = 1}, {name = "mobs_doomed:dragon_gem", chance = 1, min = 1, max = 1},
}, },
fall_speed = 0, fall_speed = 0,
stepheight = 10, stepheight = 10,
@ -64,18 +64,18 @@ local dragondef = {
punch_end = 47, punch_end = 47,
}, },
knock_back = 2, knock_back = 2,
do_custom = dmobs.dragon.step_custom, do_custom = mobs_doomed.dragon.step_custom,
on_rightclick = dmobs.dragon.on_rc on_rightclick = mobs_doomed.dragon.on_rc
} }
mobs:register_mob("dmobs:dragon3", dmobs.deepclone(dragondef) ) mobs:register_mob("mobs_doomed:dragon3", mobs_doomed.deepclone(dragondef) )
dragondef.type = "npc" dragondef.type = "npc"
dragondef.attacks_monsters = true dragondef.attacks_monsters = true
dragondef.on_rightclick = dmobs.dragon.ride dragondef.on_rightclick = mobs_doomed.dragon.ride
dragondef.do_custom = dmobs.dragon.do_custom dragondef.do_custom = mobs_doomed.dragon.do_custom
mobs:register_mob("dmobs:dragon_green", dmobs.deepclone(dragondef) ) mobs:register_mob("mobs_doomed:dragon_green", mobs_doomed.deepclone(dragondef) )

View File

@ -11,7 +11,7 @@ local dragondef = {
dogshoot_switch = 2, dogshoot_switch = 2,
dogshoot_count = 0, dogshoot_count = 0,
dogshoot_count_max =5, dogshoot_count_max =5,
arrow = "dmobs:ice", arrow = "mobs_doomed:ice",
shoot_offset = 1, shoot_offset = 1,
hp_min = 70, hp_min = 70,
hp_max = 100, hp_max = 100,
@ -29,7 +29,7 @@ local dragondef = {
jump_chance = 30, jump_chance = 30,
walk_chance = 80, walk_chance = 80,
fall_speed = 0, fall_speed = 0,
follow = {"dmobs:dragon_gem"}, follow = {"mobs_doomed:dragon_gem"},
pathfinding = true, pathfinding = true,
fall_damage = 0, fall_damage = 0,
sounds = { sounds = {
@ -41,8 +41,8 @@ local dragondef = {
fly = true, fly = true,
fly_in = {"air","default:water_source","default:water_flowing"}, fly_in = {"air","default:water_source","default:water_flowing"},
drops = { drops = {
{name = "dmobs:egg", chance = 1, min = 1, max = 1}, {name = "mobs_doomed:egg", chance = 1, min = 1, max = 1},
{name = "dmobs:dragon_gem", chance = 1, min = 1, max = 1}, {name = "mobs_doomed:dragon_gem", chance = 1, min = 1, max = 1},
}, },
fall_speed = 0, fall_speed = 0,
stepheight = 10, stepheight = 10,
@ -64,16 +64,16 @@ local dragondef = {
punch_end = 47, punch_end = 47,
}, },
knock_back = 2, knock_back = 2,
do_custom = dmobs.dragon.step_custom, do_custom = mobs_doomed.dragon.step_custom,
on_rightclick = dmobs.dragon.on_rc on_rightclick = mobs_doomed.dragon.on_rc
} }
mobs:register_mob("dmobs:dragon4", dmobs.deepclone(dragondef) ) mobs:register_mob("mobs_doomed:dragon4", mobs_doomed.deepclone(dragondef) )
dragondef.type = "npc" dragondef.type = "npc"
dragondef.attacks_monsters = true dragondef.attacks_monsters = true
dragondef.on_rightclick = dmobs.dragon.ride dragondef.on_rightclick = mobs_doomed.dragon.ride
dragondef.do_custom = dmobs.dragon.do_custom dragondef.do_custom = mobs_doomed.dragon.do_custom
mobs:register_mob("dmobs:dragon_blue", dmobs.deepclone(dragondef) ) mobs:register_mob("mobs_doomed:dragon_blue", mobs_doomed.deepclone(dragondef) )

View File

@ -1,8 +1,8 @@
-- 'Generic' dragon -- 'Generic' dragon
dofile(minetest.get_modpath("dmobs").."/dragons/piloting.lua") dofile(minetest.get_modpath("mobs_doomed").."/dragons/piloting.lua")
mobs:register_mob("dmobs:dragon", { mobs:register_mob("mobs_doomed:dragon", {
type = "monster", type = "monster",
passive = false, passive = false,
attacks_monsters = true, attacks_monsters = true,
@ -13,7 +13,7 @@ mobs:register_mob("dmobs:dragon", {
dogshoot_switch = 2, dogshoot_switch = 2,
dogshoot_count = 0, dogshoot_count = 0,
dogshoot_count_max =5, dogshoot_count_max =5,
arrow = "dmobs:fire", arrow = "mobs_doomed:fire",
shoot_offset = 1, shoot_offset = 1,
hp_min = 50, hp_min = 50,
hp_max = 80, hp_max = 80,
@ -66,6 +66,6 @@ mobs:register_mob("dmobs:dragon", {
punch_end = 47, punch_end = 47,
}, },
knock_back = 2, knock_back = 2,
do_custom = dmobs.dragon.step_custom, do_custom = mobs_doomed.dragon.step_custom,
on_rightclick = dmobs.dragon.on_rc on_rightclick = mobs_doomed.dragon.on_rc
}) })

View File

@ -10,7 +10,7 @@ local dragonpairs = {
local function egg_transform(pos, node, clicker, item, _) local function egg_transform(pos, node, clicker, item, _)
local wield_item = clicker:get_wielded_item():get_name() local wield_item = clicker:get_wielded_item():get_name()
if wield_item == "dmobs:dragon_gem" then if wield_item == "mobs_doomed:dragon_gem" then
local p = {x = pos.x, y = pos.y - 1, z = pos.z} local p = {x = pos.x, y = pos.y - 1, z = pos.z}
local corner_name local corner_name
@ -48,9 +48,9 @@ local function egg_transform(pos, node, clicker, item, _)
minetest.chat_send_player(clicker:get_player_name()," ... something seems to be happening .... come back later?") minetest.chat_send_player(clicker:get_player_name()," ... something seems to be happening .... come back later?")
minetest.after(dmobs.eggtimer, minetest.after(mobs_doomed.eggtimer,
function(pos, dragon, pname) function(pos, dragon, pname)
minetest.set_node(pos, {name="dmobs:dragon_egg_"..dragon_type}) minetest.set_node(pos, {name="mobs_doomed:dragon_egg_"..dragon_type})
end, end,
pos pos
) )
@ -64,28 +64,28 @@ local function egghatch(pos, node, clicker, item, _)
local eggnode = minetest.get_node(pos).name local eggnode = minetest.get_node(pos).name
for nature,details in pairs(dragonpairs) do for nature,details in pairs(dragonpairs) do
if ( wield_item == "dmobs:dragon_gem_"..nature and eggnode:find(nature) ) or if ( wield_item == "mobs_doomed:dragon_gem_"..nature and eggnode:find(nature) ) or
( wield_item == "dmobs:dragon_gem" and eggnode == "dmobs:dragon_egg_great" ) then -- special case... because inconsiderate/inconsistent naming ( wield_item == "mobs_doomed:dragon_gem" and eggnode == "mobs_doomed:dragon_egg_great" ) then -- special case... because inconsiderate/inconsistent naming
minetest.chat_send_player(clicker:get_player_name(), " ... it ... swallowed the gem...") minetest.chat_send_player(clicker:get_player_name(), " ... it ... swallowed the gem...")
minetest.after(dmobs.eggtimer, minetest.after(mobs_doomed.eggtimer,
function(pos, dragon, pname) function(pos, dragon, pname)
local neweggnode = minetest.get_node(pos).name local neweggnode = minetest.get_node(pos).name
if eggnode ~= neweggnode then return end -- prevent infinite hatchings if eggnode ~= neweggnode then return end -- prevent infinite hatchings
minetest.remove_node(pos) minetest.remove_node(pos)
local thedragon = "dmobs:dragon_"..details.colour local thedragon = "mobs_doomed:dragon_"..details.colour
if eggnode == "dmobs:dragon_egg_great" then if eggnode == "mobs_doomed:dragon_egg_great" then
thedragon = "dmobs:dragon_great_tame" thedragon = "mobs_doomed:dragon_great_tame"
end end
local ent = minetest.add_entity(pos, thedragon) local ent = minetest.add_entity(pos, thedragon)
minetest.sound_play("dmobs_chirrup",{pos=pos,max_hear_distance=20}) minetest.sound_play("dmobs_chirrup",{pos=pos,max_hear_distance=20})
local obj = ent:get_luaentity() local obj = ent:get_luaentity()
if eggnode ~= "dmobs:dragon_egg_great" then if eggnode ~= "mobs_doomed:dragon_egg_great" then
ent:set_properties({ ent:set_properties({
textures = {"dmobs_dragon_young.png"}, textures = {"dmobs_dragon_young.png"},
visual_size = {x=1, y=1}, visual_size = {x=1, y=1},
@ -121,28 +121,28 @@ local base_egg = { -- base template for all dragon eggs
} }
minetest.register_node("dmobs:egg", dmobs.deepclone(base_egg) ) -- clone, to not affect the base template minetest.register_node("mobs_doomed:egg", mobs_doomed.deepclone(base_egg) ) -- clone, to not affect the base template
-- Fire egg -- Fire egg
base_egg.groups.not_in_creative_inventory=1 base_egg.groups.not_in_creative_inventory=1
base_egg.on_rightclick = egghatch base_egg.on_rightclick = egghatch
base_egg.tiles = {"dmobs_egg1.png"} base_egg.tiles = {"dmobs_egg1.png"}
minetest.register_node("dmobs:dragon_egg_fire", dmobs.deepclone(base_egg) ) minetest.register_node("mobs_doomed:dragon_egg_fire", mobs_doomed.deepclone(base_egg) )
-- Lightning egg -- Lightning egg
base_egg.tiles = {"dmobs_egg2.png"} base_egg.tiles = {"dmobs_egg2.png"}
minetest.register_node("dmobs:dragon_egg_lightning", dmobs.deepclone(base_egg) ) minetest.register_node("mobs_doomed:dragon_egg_lightning", mobs_doomed.deepclone(base_egg) )
-- Poison egg -- Poison egg
base_egg.tiles = {"dmobs_egg3.png"} base_egg.tiles = {"dmobs_egg3.png"}
minetest.register_node("dmobs:dragon_egg_poison", dmobs.deepclone(base_egg) ) minetest.register_node("mobs_doomed:dragon_egg_poison", mobs_doomed.deepclone(base_egg) )
-- Ice egg -- Ice egg
base_egg.tiles = {"dmobs_egg4.png"} base_egg.tiles = {"dmobs_egg4.png"}
minetest.register_node("dmobs:dragon_egg_ice", dmobs.deepclone(base_egg) ) minetest.register_node("mobs_doomed:dragon_egg_ice", mobs_doomed.deepclone(base_egg) )
-- Great dragon egg -- Great dragon egg
base_egg.groups.not_in_creative_inventory=nil base_egg.groups.not_in_creative_inventory=nil
base_egg.tiles = {"default_sandstone.png"} base_egg.tiles = {"default_sandstone.png"}
base_egg.description = "Great Dragon Egg" base_egg.description = "Great Dragon Egg"
minetest.register_node("dmobs:dragon_egg_great", dmobs.deepclone(base_egg) ) minetest.register_node("mobs_doomed:dragon_egg_great", mobs_doomed.deepclone(base_egg) )

View File

@ -9,7 +9,7 @@ local gdragon_base = {
dogshoot_switch = 2, dogshoot_switch = 2,
dogshoot_count = 0, dogshoot_count = 0,
dogshoot_count_max =5, dogshoot_count_max =5,
arrow = "dmobs:lightning", arrow = "mobs_doomed:lightning",
shoot_offset = 1, shoot_offset = 1,
hp_min = 150, hp_min = 150,
hp_max = 250, hp_max = 250,
@ -39,7 +39,7 @@ local gdragon_base = {
fly = true, fly = true,
fly_in = {"air","default:water_source","default:water_flowing", "default:lava_source","default:lava_flowing"}, fly_in = {"air","default:water_source","default:water_flowing", "default:lava_source","default:lava_flowing"},
drops = { drops = {
{name = "dmobs:dragon_egg_great", chance = 1, min = 1, max = 1}, {name = "mobs_doomed:dragon_egg_great", chance = 1, min = 1, max = 1},
}, },
fall_speed = 0, fall_speed = 0,
stepheight = 10, stepheight = 10,
@ -63,13 +63,13 @@ local gdragon_base = {
knock_back = 2, knock_back = 2,
} }
mobs:register_mob("dmobs:dragon_great", dmobs.deepclone(gdragon_base) ) mobs:register_mob("mobs_doomed:dragon_great", mobs_doomed.deepclone(gdragon_base) )
gdragon_base.type = "npc" gdragon_base.type = "npc"
gdragon_base.attacks_monsters = true gdragon_base.attacks_monsters = true
gdragon_base.on_rightclick = dmobs.dragon.ride gdragon_base.on_rightclick = mobs_doomed.dragon.ride
gdragon_base.do_custom = dmobs.dragon.do_custom gdragon_base.do_custom = mobs_doomed.dragon.do_custom
mobs:register_mob("dmobs:dragon_great_tame", dmobs.deepclone(gdragon_base) ) mobs:register_mob("mobs_doomed:dragon_great_tame", mobs_doomed.deepclone(gdragon_base) )

View File

@ -1,31 +1,31 @@
--thanks to diriel, blert2112 and taikedz --thanks to diriel, blert2112 and taikedz
dmobs.dragon = {} mobs_doomed.dragon = {}
dofile(minetest.get_modpath("dmobs").."/dragons/piloting.lua") dofile(minetest.get_modpath("mobs_doomed").."/dragons/piloting.lua")
local tamed_dragons = {} local tamed_dragons = {}
--items and tools --items and tools
minetest.register_craftitem("dmobs:dragon_gem_lightning", { minetest.register_craftitem("mobs_doomed:dragon_gem_lightning", {
description = "Lightning Gem", description = "Lightning Gem",
inventory_image = "dmobs_gem_lightning.png" inventory_image = "dmobs_gem_lightning.png"
}) })
minetest.register_craftitem("dmobs:dragon_gem_ice", { minetest.register_craftitem("mobs_doomed:dragon_gem_ice", {
description = "Ice Gem", description = "Ice Gem",
inventory_image = "dmobs_gem_ice.png" inventory_image = "dmobs_gem_ice.png"
}) })
minetest.register_craftitem("dmobs:dragon_gem_fire", { minetest.register_craftitem("mobs_doomed:dragon_gem_fire", {
description = "Fire Gem", description = "Fire Gem",
inventory_image = "dmobs_gem_fire.png" inventory_image = "dmobs_gem_fire.png"
}) })
minetest.register_craftitem("dmobs:dragon_gem_poison", { minetest.register_craftitem("mobs_doomed:dragon_gem_poison", {
description = "Poison Gem", description = "Poison Gem",
inventory_image = "dmobs_gem_poison.png" inventory_image = "dmobs_gem_poison.png"
}) })
minetest.register_craftitem("dmobs:dragon_gem", { minetest.register_craftitem("mobs_doomed:dragon_gem", {
description = "Dragon Gem", description = "Dragon Gem",
inventory_image = "dmobs_gem.png" inventory_image = "dmobs_gem.png"
}) })
@ -36,19 +36,19 @@ minetest.register_craftitem("dmobs:dragon_gem", {
---------- ----------
-- Wild dragons -- Wild dragons
mobs:register_egg("dmobs:dragon", "Minor Dragon", "default_apple.png", 1) mobs:register_egg("mobs_doomed:dragon", "Minor Dragon", "default_apple.png", 1)
mobs:register_egg("dmobs:dragon1", "Wild Fire Dragon", "default_apple.png", 1) mobs:register_egg("mobs_doomed:dragon1", "Wild Fire Dragon", "default_apple.png", 1)
mobs:register_egg("dmobs:dragon2", "Wild Lightning Dragon", "dmobs_lightning.png", 1) mobs:register_egg("mobs_doomed:dragon2", "Wild Lightning Dragon", "dmobs_lightning.png", 1)
mobs:register_egg("dmobs:dragon3", "Wild Poison Dragon", "dmobs_poison.png", 1) mobs:register_egg("mobs_doomed:dragon3", "Wild Poison Dragon", "dmobs_poison.png", 1)
mobs:register_egg("dmobs:dragon4", "Wild Ice Dragon", "default_ice.png", 1) mobs:register_egg("mobs_doomed:dragon4", "Wild Ice Dragon", "default_ice.png", 1)
mobs:register_egg("dmobs:dragon_great", "Boss Dragon", "dmobs_egg1.png", 1) mobs:register_egg("mobs_doomed:dragon_great", "Boss Dragon", "dmobs_egg1.png", 1)
mobs:register_egg("dmobs:waterdragon", "Boss Waterdragon", "dmobs_egg4.png", 1) mobs:register_egg("mobs_doomed:waterdragon", "Boss Waterdragon", "dmobs_egg4.png", 1)
mobs:register_egg("dmobs:wyvern", "Boss Wyvern", "dmobs_egg3.png", 1) mobs:register_egg("mobs_doomed:wyvern", "Boss Wyvern", "dmobs_egg3.png", 1)
-- Tamed dragons -- Tamed dragons
mobs:register_egg("dmobs:dragon_red", "Tamed Fire Dragon", "default_apple.png", 1) mobs:register_egg("mobs_doomed:dragon_red", "Tamed Fire Dragon", "default_apple.png", 1)
mobs:register_egg("dmobs:dragon_black", "Tamed Lightning Dragon", "dmobs_lightning.png", 1) mobs:register_egg("mobs_doomed:dragon_black", "Tamed Lightning Dragon", "dmobs_lightning.png", 1)
mobs:register_egg("dmobs:dragon_green", "Tamed Poison Dragon", "dmobs_poison.png", 1) mobs:register_egg("mobs_doomed:dragon_green", "Tamed Poison Dragon", "dmobs_poison.png", 1)
mobs:register_egg("dmobs:dragon_blue", "Tamed Ice Dragon", "default_ice.png", 1) mobs:register_egg("mobs_doomed:dragon_blue", "Tamed Ice Dragon", "default_ice.png", 1)
mobs:register_egg("dmobs:dragon_great_tame", "Tamed Great Dragon", "default_lava_source_animated.png", 1) mobs:register_egg("mobs_doomed:dragon_great_tame", "Tamed Great Dragon", "default_lava_source_animated.png", 1)

View File

@ -1,11 +1,11 @@
if not dmobs.dragon then if not mobs_doomed.dragon then
dmobs.dragon = {} mobs_doomed.dragon = {}
end end
dmobs.dragon.step_custom = function(self, dtime) mobs_doomed.dragon.step_custom = function(self, dtime)
if self.driver then if self.driver then
object_fly(self, dtime, 10, true, "dmobs:fire_plyr", "walk", "stand") object_fly(self, dtime, 10, true, "mobs_doomed:fire_plyr", "walk", "stand")
if self.state == "attack" then if self.state == "attack" then
self.state = nil self.state = nil
end end
@ -14,7 +14,7 @@ dmobs.dragon.step_custom = function(self, dtime)
return true return true
end end
dmobs.dragon.ride = function(self, clicker) mobs_doomed.dragon.ride = function(self, clicker)
if self.tamed and self.owner == clicker:get_player_name() then if self.tamed and self.owner == clicker:get_player_name() then
local inv = clicker:get_inventory() local inv = clicker:get_inventory()
@ -37,19 +37,19 @@ dmobs.dragon.ride = function(self, clicker)
end end
dmobs.dragon.on_rc = function(self, clicker) mobs_doomed.dragon.on_rc = function(self, clicker)
if not clicker or not clicker:is_player() then if not clicker or not clicker:is_player() then
return return
end end
if mobs:feed_tame(self, clicker, 1, false, false) then if mobs:feed_tame(self, clicker, 1, false, false) then
return return
end end
dmobs.dragon.ride(self, clicker) mobs_doomed.dragon.ride(self, clicker)
end end
dmobs.dragon.do_custom = function(self, dtime) mobs_doomed.dragon.do_custom = function(self, dtime)
if self.driver then if self.driver then
object_fly(self, dtime, 10, true, "dmobs:fire_plyr", "walk", "stand") object_fly(self, dtime, 10, true, "mobs_doomed:fire_plyr", "walk", "stand")
if self.state == "attack" then if self.state == "attack" then
self.state = "idle" self.state = "idle"

View File

@ -1,6 +1,6 @@
-- Waterdragon (Hydra) -- Waterdragon (Hydra)
mobs:register_mob("dmobs:waterdragon", { mobs:register_mob("mobs_doomed:waterdragon", {
type = "monster", type = "monster",
passive = false, passive = false,
attack_type = "dogshoot", attack_type = "dogshoot",
@ -8,7 +8,7 @@ mobs:register_mob("dmobs:waterdragon", {
dogshoot_count = 0, dogshoot_count = 0,
dogshoot_count_max =5, dogshoot_count_max =5,
shoot_interval = 2.5, shoot_interval = 2.5,
arrow = "dmobs:ice", arrow = "mobs_doomed:ice",
shoot_offset = 0, shoot_offset = 0,
pathfinding = false, pathfinding = false,
reach = 5, reach = 5,
@ -35,8 +35,8 @@ mobs:register_mob("dmobs:waterdragon", {
run_velocity = 0.01, run_velocity = 0.01,
jump = false, jump = false,
drops = { drops = {
{name = "dmobs:dragon_gem_ice", chance = 1, min = 1, max = 1}, {name = "mobs_doomed:dragon_gem_ice", chance = 1, min = 1, max = 1},
{name = "dmobs:dragon_gem_fire", chance = 1, min = 1, max = 1}, {name = "mobs_doomed:dragon_gem_fire", chance = 1, min = 1, max = 1},
}, },
water_damage = 0, water_damage = 0,
lava_damage = 5, lava_damage = 5,
@ -66,12 +66,12 @@ mobs:register_mob("dmobs:waterdragon", {
local obj, obj2, ent local obj, obj2, ent
-- add body and make it follow head -- add body and make it follow head
obj = minetest.add_entity({x=pos.x+1, y=pos.y, z=pos.z}, "dmobs:waterdragon_2") obj = minetest.add_entity({x=pos.x+1, y=pos.y, z=pos.z}, "mobs_doomed:waterdragon_2")
ent = obj:get_luaentity() ent = obj:get_luaentity()
ent.following = self.object ent.following = self.object
-- add body and make it follow previous body segment -- add body and make it follow previous body segment
obj2 = minetest.add_entity({x=pos.x-1, y=pos.y, z=pos.z}, "dmobs:waterdragon_2") obj2 = minetest.add_entity({x=pos.x-1, y=pos.y, z=pos.z}, "mobs_doomed:waterdragon_2")
ent = obj2:get_luaentity() ent = obj2:get_luaentity()
ent.following = self.object ent.following = self.object
end end
@ -80,7 +80,7 @@ mobs:register_mob("dmobs:waterdragon", {
mobs:register_mob("dmobs:waterdragon_2", { mobs:register_mob("mobs_doomed:waterdragon_2", {
type = "monster", type = "monster",
passive = false, passive = false,
attack_type = "shoot", attack_type = "shoot",
@ -88,7 +88,7 @@ mobs:register_mob("dmobs:waterdragon_2", {
dogshoot_count = 0, dogshoot_count = 0,
dogshoot_count_max =5, dogshoot_count_max =5,
shoot_interval = 3, shoot_interval = 3,
arrow = "dmobs:ice", arrow = "mobs_doomed:ice",
shoot_offset = 0, shoot_offset = 0,
pathfinding = false, pathfinding = false,
reach = 5, reach = 5,

View File

@ -1,4 +1,4 @@
mobs:register_mob("dmobs:wyvern", { mobs:register_mob("mobs_doomed:wyvern", {
type = "monster", type = "monster",
passive = false, passive = false,
attacks_monsters = false, attacks_monsters = false,
@ -9,7 +9,7 @@ mobs:register_mob("dmobs:wyvern", {
dogshoot_switch = 2, dogshoot_switch = 2,
dogshoot_count = 0, dogshoot_count = 0,
dogshoot_count_max =5, dogshoot_count_max =5,
arrow = "dmobs:poison", arrow = "mobs_doomed:poison",
shoot_offset = 0.5, shoot_offset = 0.5,
hp_min = 100, hp_min = 100,
hp_max = 150, hp_max = 150,
@ -33,8 +33,8 @@ mobs:register_mob("dmobs:wyvern", {
jump = true, jump = true,
fly = false, fly = false,
drops = { drops = {
{name = "dmobs:dragon_gem_poison", chance = 1, min = 1, max = 1}, {name = "mobs_doomed:dragon_gem_poison", chance = 1, min = 1, max = 1},
{name = "dmobs:dragon_gem_lightning", chance = 1, min = 1, max = 1}, {name = "mobs_doomed:dragon_gem_lightning", chance = 1, min = 1, max = 1},
}, },
sounds = { sounds = {
shoot_attack = "dmobs_poison", shoot_attack = "dmobs_poison",

View File

@ -1,39 +1,39 @@
dmobs = {} mobs_doomed = {}
-- dmobs by D00Med -- dmobs by D00Med
-- mounts api by D00Med and lib_mount api by blert2112 -- mounts api by D00Med and lib_mount api by blert2112
dofile(minetest.get_modpath("dmobs").."/api.lua") dofile(minetest.get_modpath("mobs_doomed").."/api.lua")
-- Enable dragons (disable to remove tamed dragons and dragon bosses) -- Enable dragons (disable to remove tamed dragons and dragon bosses)
dmobs.dragons = minetest.settings:get_bool("dmobs.dragons") mobs_doomed.dragons = minetest.settings:get_bool("mobs_doomed.dragons")
if dmobs.dragons == nil then if mobs_doomed.dragons == nil then
dmobs.dragons = true mobs_doomed.dragons = true
end end
dmobs.regulars = minetest.settings:get_bool("dmobs.regulars") mobs_doomed.regulars = minetest.settings:get_bool("mobs_doomed.regulars")
if dmobs.regulars == nil then if mobs_doomed.regulars == nil then
dmobs.regulars = true mobs_doomed.regulars = true
end end
-- Enable fireballs/explosions -- Enable fireballs/explosions
dmobs.destructive = minetest.settings:get_bool("dmobs.destructive") or false mobs_doomed.destructive = minetest.settings:get_bool("mobs_doomed.destructive") or false
-- Timer for the egg mechanics -- Timer for the egg mechanics
dmobs.eggtimer = tonumber(minetest.settings:get("dmobs.eggtimer") ) or 100 mobs_doomed.eggtimer = tonumber(minetest.settings:get("mobs_doomed.eggtimer") ) or 100
-- Table cloning to reduce code repetition -- Table cloning to reduce code repetition
dmobs.deepclone = function(t) -- deep-copy a table -- from https://gist.github.com/MihailJP/3931841 mobs_doomed.deepclone = function(t) -- deep-copy a table -- from https://gist.github.com/MihailJP/3931841
if type(t) ~= "table" then return t end if type(t) ~= "table" then return t end
local target = {} local target = {}
for k, v in pairs(t) do for k, v in pairs(t) do
if k ~= "__index" and type(v) == "table" then -- omit circular reference if k ~= "__index" and type(v) == "table" then -- omit circular reference
target[k] = dmobs.deepclone(v) target[k] = mobs_doomed.deepclone(v)
else else
target[k] = v target[k] = v
end end
@ -45,7 +45,7 @@ end
local function loadmob(mobname,dir) local function loadmob(mobname,dir)
dir = dir or "/mobs/" dir = dir or "/mobs/"
dofile(minetest.get_modpath("dmobs")..dir..mobname..".lua") dofile(minetest.get_modpath("mobs_doomed")..dir..mobname..".lua")
end end
-- regular mobs -- regular mobs
@ -77,7 +77,7 @@ local mobslist = {
"ogre", "ogre",
} }
if dmobs.regulars then if mobs_doomed.regulars then
for _,mobname in pairs(mobslist) do for _,mobname in pairs(mobslist) do
loadmob(mobname) loadmob(mobname)
end end
@ -88,7 +88,7 @@ end
--------------- ---------------
loadmob("dragon_normal","/dragons/") loadmob("dragon_normal","/dragons/")
if dmobs.dragons then if mobs_doomed.dragons then
loadmob("main","/dragons/") loadmob("main","/dragons/")
loadmob("dragon1","/dragons/") loadmob("dragon1","/dragons/")
loadmob("dragon2","/dragons/") loadmob("dragon2","/dragons/")
@ -98,24 +98,24 @@ if dmobs.dragons then
loadmob("water_dragon","/dragons/") loadmob("water_dragon","/dragons/")
loadmob("wyvern","/dragons/") loadmob("wyvern","/dragons/")
dofile(minetest.get_modpath("dmobs").."/dragons/eggs.lua") dofile(minetest.get_modpath("mobs_doomed").."/dragons/eggs.lua")
end end
dofile(minetest.get_modpath("dmobs").."/arrows/dragonfire.lua") dofile(minetest.get_modpath("mobs_doomed").."/arrows/dragonfire.lua")
dofile(minetest.get_modpath("dmobs").."/arrows/dragonarrows.lua") dofile(minetest.get_modpath("mobs_doomed").."/arrows/dragonarrows.lua")
-- General arrow definitions -- General arrow definitions
if dmobs.destructive == true then if mobs_doomed.destructive == true then
dofile(minetest.get_modpath("dmobs").."/arrows/fire_explosive.lua") dofile(minetest.get_modpath("mobs_doomed").."/arrows/fire_explosive.lua")
else else
dofile(minetest.get_modpath("dmobs").."/arrows/fire.lua") dofile(minetest.get_modpath("mobs_doomed").."/arrows/fire.lua")
end end
dofile(minetest.get_modpath("dmobs").."/nodes.lua") dofile(minetest.get_modpath("mobs_doomed").."/nodes.lua")
dofile(minetest.get_modpath("dmobs").."/arrows/sting.lua") dofile(minetest.get_modpath("mobs_doomed").."/arrows/sting.lua")
-- Spawning -- Spawning
dofile(minetest.get_modpath("dmobs").."/spawn.lua") dofile(minetest.get_modpath("mobs_doomed").."/spawn.lua")
dofile(minetest.get_modpath("dmobs").."/saddle.lua") dofile(minetest.get_modpath("mobs_doomed").."/saddle.lua")

View File

@ -1,4 +1,4 @@
mobs:register_mob("dmobs:badger", { mobs:register_mob("mobs_doomed:badger", {
type = "animal", type = "animal",
passive = false, passive = false,
reach = 1, reach = 1,
@ -55,4 +55,4 @@ mobs:register_mob("dmobs:badger", {
}) })
mobs:register_egg("dmobs:badger", "Badger", "default_obsidian.png", 1) mobs:register_egg("mobs_doomed:badger", "Badger", "default_obsidian.png", 1)

View File

@ -8,11 +8,11 @@ minetest.register_abm({
interval = 10.0, interval = 10.0,
chance = 10, chance = 10,
action = function(pos, node, active_object_count, active_object_count_wider) action = function(pos, node, active_object_count, active_object_count_wider)
minetest.add_entity({x=pos.x,y=pos.y+0.3,z=pos.z}, "dmobs:butterfly") minetest.add_entity({x=pos.x,y=pos.y+0.3,z=pos.z}, "mobs_doomed:butterfly")
end end
}) })
minetest.register_entity("dmobs:butterfly", { minetest.register_entity("mobs_doomed:butterfly", {
visual = "mesh", visual = "mesh",
mesh = "butterfly.b3d", mesh = "butterfly.b3d",
physical = true, physical = true,

View File

@ -6,7 +6,7 @@ if minetest.get_modpath("farming") then
table.insert(followf, "farming:seed_cotton") table.insert(followf, "farming:seed_cotton")
end end
mobs:register_mob("dmobs:elephant", { mobs:register_mob("mobs_doomed:elephant", {
type = "animal", type = "animal",
passive = false, passive = false,
reach = 1, reach = 1,
@ -64,4 +64,4 @@ mobs:register_mob("dmobs:elephant", {
}) })
mobs:register_egg("dmobs:elephant", "Elephant", "default_dry_grass.png", 1) mobs:register_egg("mobs_doomed:elephant", "Elephant", "default_dry_grass.png", 1)

View File

@ -7,7 +7,7 @@ if minetest.get_modpath("mobs_animal") then
end end
-- Fox -- Fox
mobs:register_mob("dmobs:fox", { mobs:register_mob("mobs_doomed:fox", {
type = "monster", type = "monster",
attacks_monsters = true, attacks_monsters = true,
reach = 1, reach = 1,
@ -72,4 +72,4 @@ mobs:register_mob("dmobs:fox", {
}) })
mobs:register_egg("dmobs:fox", "Fox", "wool_orange.png", 1) mobs:register_egg("mobs_doomed:fox", "Fox", "wool_orange.png", 1)

View File

@ -1,4 +1,4 @@
mobs:register_mob("dmobs:gnorm", { mobs:register_mob("mobs_doomed:gnorm", {
type = "npc", type = "npc",
can_dig = true, can_dig = true,
passive = true, passive = true,
@ -61,4 +61,4 @@ mobs:register_mob("dmobs:gnorm", {
}) })
mobs:register_egg("dmobs:gnorm", "Gnorm", "default_dirt.png", 1) mobs:register_egg("mobs_doomed:gnorm", "Gnorm", "default_dirt.png", 1)

View File

@ -1,7 +1,7 @@
--stone golem --stone golem
mobs:register_mob("dmobs:golem", { mobs:register_mob("mobs_doomed:golem", {
type = "monster", type = "monster",
reach = 3, reach = 3,
damage = 2, damage = 2,
@ -23,7 +23,7 @@ mobs:register_mob("dmobs:golem", {
jump = true, jump = true,
drops = { drops = {
{name = "default:stone", chance = 1, min = 1, max = 5}, {name = "default:stone", chance = 1, min = 1, max = 5},
{name = "dmobs:golemstone", chance = 30, min = 1, max = 1}, {name = "mobs_doomed:golemstone", chance = 30, min = 1, max = 1},
}, },
water_damage = 0, water_damage = 0,
lava_damage = 2, lava_damage = 2,
@ -47,4 +47,4 @@ mobs:register_mob("dmobs:golem", {
}) })
mobs:register_egg("dmobs:golem", "Stone Golem", "default_stone.png", 1) mobs:register_egg("mobs_doomed:golem", "Stone Golem", "default_stone.png", 1)

View File

@ -1,5 +1,5 @@
mobs:register_mob("dmobs:golem_friendly", { mobs:register_mob("mobs_doomed:golem_friendly", {
type = "npc", type = "npc",
reach = 3, reach = 3,
damage = 2, damage = 2,
@ -45,4 +45,4 @@ mobs:register_mob("dmobs:golem_friendly", {
}, },
}) })
mobs:register_egg("dmobs:golem_friendly", "Stone Golem (friendly)", "default_stone.png", 1) mobs:register_egg("mobs_doomed:golem_friendly", "Stone Golem (friendly)", "default_stone.png", 1)

View File

@ -7,7 +7,7 @@ if minetest.get_modpath("farming") then
table.insert(followf, "farming:seed_cotton") table.insert(followf, "farming:seed_cotton")
end end
mobs:register_mob("dmobs:hedgehog", { mobs:register_mob("mobs_doomed:hedgehog", {
type = "animal", type = "animal",
passive = true, passive = true,
hp_min = 12, hp_min = 12,
@ -60,4 +60,4 @@ mobs:register_mob("dmobs:hedgehog", {
}) })
mobs:register_egg("dmobs:hedgehog", "Hedgehog", "wool_brown.png", 1) mobs:register_egg("mobs_doomed:hedgehog", "Hedgehog", "wool_brown.png", 1)

View File

@ -1,4 +1,4 @@
mobs:register_mob("dmobs:nyan", { mobs:register_mob("mobs_doomed:nyan", {
type = "animal", type = "animal",
passive = true, passive = true,
reach = 4, reach = 4,
@ -76,4 +76,4 @@ mobs:register_mob("dmobs:nyan", {
}) })
mobs:register_egg("dmobs:nyan", "Nyan Cat", "wool_pink.png", 1) mobs:register_egg("mobs_doomed:nyan", "Nyan Cat", "wool_pink.png", 1)

View File

@ -1,5 +1,5 @@
-- Ogre -- Ogre
mobs:register_mob("dmobs:ogre", { mobs:register_mob("mobs_doomed:ogre", {
type = "monster", type = "monster",
passive = false, passive = false,
reach = 2, reach = 2,
@ -47,4 +47,4 @@ mobs:register_mob("dmobs:ogre", {
}, },
}) })
mobs:register_egg("dmobs:ogre", "Ogre", "default_desert_sand.png", 1) mobs:register_egg("mobs_doomed:ogre", "Ogre", "default_desert_sand.png", 1)

View File

@ -1,6 +1,6 @@
-- Orc -- Orc
mobs:register_mob("dmobs:orc", { mobs:register_mob("mobs_doomed:orc", {
type = "monster", type = "monster",
passive = false, passive = false,
reach = 1, reach = 1,
@ -48,7 +48,7 @@ mobs:register_mob("dmobs:orc", {
}) })
-- Orc (Redesign) -- Orc (Redesign)
mobs:register_mob("dmobs:orc2", { mobs:register_mob("mobs_doomed:orc2", {
type = "monster", type = "monster",
passive = false, passive = false,
reach = 1, reach = 1,
@ -95,5 +95,5 @@ mobs:register_mob("dmobs:orc2", {
}) })
mobs:register_egg("dmobs:orc2", "Morgul Orc", "default_desert_sand.png", 1) -- new and improved, hey mobs:register_egg("mobs_doomed:orc2", "Morgul Orc", "default_desert_sand.png", 1) -- new and improved, hey
mobs:register_egg("dmobs:orc", "Orc", "default_desert_sand.png", 1) mobs:register_egg("mobs_doomed:orc", "Orc", "default_desert_sand.png", 1)

View File

@ -41,7 +41,7 @@ if minetest.get_modpath("mobs_birds") then
table.insert(follow, "mobs_birds:bird_sm") table.insert(follow, "mobs_birds:bird_sm")
end end
mobs:register_mob("dmobs:owl", { mobs:register_mob("mobs_doomed:owl", {
type = "animal", type = "animal",
passive = true, passive = true,
hp_min = 12, hp_min = 12,
@ -93,4 +93,4 @@ mobs:register_mob("dmobs:owl", {
}) })
mobs:register_egg("dmobs:owl", "Owl", "default_tree.png", 1) mobs:register_egg("mobs_doomed:owl", "Owl", "default_tree.png", 1)

View File

@ -1,6 +1,6 @@
mobs:register_mob("dmobs:panda", { mobs:register_mob("mobs_doomed:panda", {
type = "animal", type = "animal",
passive = false, passive = false,
reach = 1, reach = 1,
@ -38,7 +38,7 @@ mobs:register_mob("dmobs:panda", {
follow = { follow = {
{"default:papyrus"}, {"default:papyrus"},
{"default:apple"} {"default:apple"}
} },
view_range = 14, view_range = 14,
animation = { animation = {
speed_normal = 6, speed_normal = 6,
@ -64,4 +64,4 @@ mobs:register_mob("dmobs:panda", {
}) })
mobs:register_egg("dmobs:panda", "Panda", "default_papyrus.png", 1) mobs:register_egg("mobs_doomed:panda", "Panda", "default_papyrus.png", 1)

View File

@ -1,4 +1,4 @@
mobs:register_mob("dmobs:pig", { mobs:register_mob("mobs_doomed:pig", {
type = "animal", type = "animal",
passive = true, passive = true,
reach = 4, reach = 4,
@ -47,7 +47,7 @@ mobs:register_mob("dmobs:pig", {
{"default:apple"}, {"default:apple"},
{"default:leaves"}, {"default:leaves"},
{"mobs:meat_raw"}, {"mobs:meat_raw"},
} },
view_range = 14, view_range = 14,
animation = { animation = {
speed_normal = 10, speed_normal = 10,
@ -71,4 +71,4 @@ mobs:register_mob("dmobs:pig", {
}) })
mobs:register_egg("dmobs:pig", "flying Pig", "wool_pink.png", 1) mobs:register_egg("mobs_doomed:pig", "flying Pig", "wool_pink.png", 1)

View File

@ -45,7 +45,7 @@ local pigdef = {
follow = { follow = {
{"default:apple"}, {"default:apple"},
{"default:leaves"}, {"default:leaves"},
} },
view_range = 14, view_range = 14,
animation = { animation = {
speed_normal = 10, speed_normal = 10,
@ -68,12 +68,12 @@ local pigdef = {
end, end,
} }
if dmobs.destructive then if mobs_doomed.destructive then
pigdef.sounds.explode = "tnt_explode" pigdef.sounds.explode = "tnt_explode"
pigdef.attack_type = "explode" pigdef.attack_type = "explode"
end end
mobs:register_mob("dmobs:pig_evil", pigdef) mobs:register_mob("mobs_doomed:pig_evil", pigdef)
mobs:register_egg("dmobs:pig_evil", "Kamikaze Pig", "wool_pink.png", 1) mobs:register_egg("mobs_doomed:pig_evil", "Kamikaze Pig", "wool_pink.png", 1)

View File

@ -13,7 +13,7 @@ if minetest.get_modpath("mobs_animal") then
table.insert(followf, "mobs:meat_raw") table.insert(followf, "mobs:meat_raw")
end end
mobs:register_mob("dmobs:rat", { mobs:register_mob("mobs_doomed:rat", {
type = "monster", type = "monster",
reach = 2, reach = 2,
damage = 2, damage = 2,
@ -63,4 +63,4 @@ mobs:register_mob("dmobs:rat", {
}) })
mobs:register_egg("dmobs:rat", "Giant Rat", "wool_grey.png", 1) mobs:register_egg("mobs_doomed:rat", "Giant Rat", "wool_grey.png", 1)

View File

@ -7,7 +7,7 @@ if minetest.get_modpath("bones") then
table.insert(dropsf, "bones:bones") table.insert(dropsf, "bones:bones")
end end
mobs:register_mob("dmobs:skeleton", { mobs:register_mob("mobs_doomed:skeleton", {
type = "monster", type = "monster",
reach = 3, reach = 3,
damage = 2, damage = 2,
@ -50,4 +50,4 @@ mobs:register_mob("dmobs:skeleton", {
}) })
mobs:register_egg("dmobs:skeleton", "Skeleton", "default_dirt.png", 1) mobs:register_egg("mobs_doomed:skeleton", "Skeleton", "default_dirt.png", 1)

View File

@ -10,7 +10,7 @@ if minetest.get_modpath("farming") then
} }
end end
mobs:register_mob("dmobs:tortoise", { mobs:register_mob("mobs_doomed:tortoise", {
type = "animal", type = "animal",
passive = false, passive = false,
reach = 1, reach = 1,
@ -44,6 +44,7 @@ mobs:register_mob("dmobs:tortoise", {
follow = { follow = {
{"default:papyrus"}, {"default:papyrus"},
{"default:leaves"} {"default:leaves"}
},
view_range = 14, view_range = 14,
animation = { animation = {
speed_normal = 6, speed_normal = 6,
@ -67,4 +68,4 @@ mobs:register_mob("dmobs:tortoise", {
}) })
mobs:register_egg("dmobs:tortoise", "Tortoise", "default_grass.png", 1) mobs:register_egg("mobs_doomed:tortoise", "Tortoise", "default_grass.png", 1)

View File

@ -1,6 +1,6 @@
-- Treeman -- Treeman
mobs:register_mob("dmobs:treeman", { mobs:register_mob("mobs_doomed:treeman", {
type = "monster", type = "monster",
reach = 3, reach = 3,
damage = 2, damage = 2,
@ -46,4 +46,4 @@ mobs:register_mob("dmobs:treeman", {
}) })
mobs:register_egg("dmobs:treeman", "Treeman", "default_tree.png", 1) mobs:register_egg("mobs_doomed:treeman", "Treeman", "default_tree.png", 1)

View File

@ -1,5 +1,5 @@
--Wasps! --Wasps!
mobs:register_mob("dmobs:wasp", { mobs:register_mob("mobs_doomed:wasp", {
type = "monster", type = "monster",
reach = 1, reach = 1,
damage = 2, damage = 2,
@ -45,15 +45,15 @@ mobs:register_mob("dmobs:wasp", {
}) })
mobs:register_egg("dmobs:wasp", "Wasp", "dmobs_wasp_bg.png", 1) mobs:register_egg("mobs_doomed:wasp", "Wasp", "dmobs_wasp_bg.png", 1)
mobs:register_mob("dmobs:wasp_leader", { mobs:register_mob("mobs_doomed:wasp_leader", {
type = "monster", type = "monster",
reach = 1, reach = 1,
damage = 2, damage = 2,
attack_type = "shoot", attack_type = "shoot",
shoot_interval = 1, shoot_interval = 1,
arrow = "dmobs:sting", arrow = "mobs_doomed:sting",
shoot_offset = 0, shoot_offset = 0,
hp_min = 82, hp_min = 82,
hp_max = 122, hp_max = 122,
@ -83,12 +83,12 @@ mobs:register_mob("dmobs:wasp_leader", {
do_custom = function(self) do_custom = function(self)
if math.random(1, 500) >= 500 then if math.random(1, 500) >= 500 then
local pos = self.object:get_pos() local pos = self.object:get_pos()
minetest.add_entity(pos, "dmobs:wasp") minetest.add_entity(pos, "mobs_doomed:wasp")
end end
end, end,
replace_rate = 700, replace_rate = 700,
replace_what = {"air"}, replace_what = {"air"},
replace_with = "dmobs:hive", replace_with = "mobs_doomed:hive",
water_damage = 2, water_damage = 2,
lava_damage = 2, lava_damage = 2,
light_damage = 0, light_damage = 0,
@ -108,4 +108,4 @@ mobs:register_mob("dmobs:wasp_leader", {
}) })
mobs:register_egg("dmobs:wasp_leader", "King of Sting", "dmobs_wasp_bg.png", 1) mobs:register_egg("mobs_doomed:wasp_leader", "King of Sting", "dmobs_wasp_bg.png", 1)

View File

@ -1,4 +1,4 @@
mobs:register_mob("dmobs:whale", { mobs:register_mob("mobs_doomed:whale", {
type = "animal", type = "animal",
passive = false, passive = false,
reach = 1, reach = 1,
@ -60,4 +60,4 @@ mobs:register_mob("dmobs:whale", {
}) })
mobs:register_egg("dmobs:whale", "Whale", "default_water.png", 1) mobs:register_egg("mobs_doomed:whale", "Whale", "default_water.png", 1)

View File

@ -1,3 +1,3 @@
name = dmobs name = mobs_doomed
depends = default, mobs, wool, farming depends = default, mobs, wool, farming
optional_depends = bones, ethereal, caverealms, mobs_animal optional_depends = bones, ethereal, caverealms, mobs_animal

View File

@ -2,21 +2,21 @@
--wasps nest --wasps nest
minetest.register_node("dmobs:hive", { minetest.register_node("mobs_doomed:hive", {
description = "Wasp Nest", description = "Wasp Nest",
tiles = {"dmobs_hive.png"}, tiles = {"dmobs_hive.png"},
groups = {crumbly=1, oddly_breakable_by_hand=1, falling_node=1, flammable=1}, groups = {crumbly=1, oddly_breakable_by_hand=1, falling_node=1, flammable=1},
on_destruct = function(pos, oldnode) on_destruct = function(pos, oldnode)
minetest.add_entity(pos, "dmobs:wasp") minetest.add_entity(pos, "mobs_doomed:wasp")
minetest.add_entity(pos, "dmobs:wasp") minetest.add_entity(pos, "mobs_doomed:wasp")
minetest.add_entity(pos, "dmobs:wasp") minetest.add_entity(pos, "mobs_doomed:wasp")
minetest.add_entity(pos, "dmobs:wasp") minetest.add_entity(pos, "mobs_doomed:wasp")
end, end,
}) })
--golem --golem
minetest.register_node("dmobs:golemstone", { minetest.register_node("mobs_doomed:golemstone", {
description = "golem stone", description = "golem stone",
tiles = {"dmobs_golem_stone.png",}, tiles = {"dmobs_golem_stone.png",},
groups = {cracky=1}, groups = {cracky=1},
@ -25,7 +25,7 @@ minetest.register_node("dmobs:golemstone", {
local node2 = minetest.get_node({x=pos.x, y=pos.y-2, z=pos.z}).name local node2 = minetest.get_node({x=pos.x, y=pos.y-2, z=pos.z}).name
local node3 = minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name local node3 = minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name
if node1 == "default:stone" and node2 == "default:stone" and node3 == "air" then if node1 == "default:stone" and node2 == "default:stone" and node3 == "air" then
minetest.add_entity(pos, "dmobs:golem_friendly") minetest.add_entity(pos, "mobs_doomed:golem_friendly")
minetest.remove_node({x=pos.x, y=pos.y-1, z=pos.z}) minetest.remove_node({x=pos.x, y=pos.y-1, z=pos.z})
minetest.remove_node({x=pos.x, y=pos.y-2, z=pos.z}) minetest.remove_node({x=pos.x, y=pos.y-2, z=pos.z})
minetest.remove_node({x=pos.x, y=pos.y, z=pos.z}) minetest.remove_node({x=pos.x, y=pos.y, z=pos.z})

View File

@ -1,11 +1,11 @@
# if enabled will spawn most new common animals from this mod # if enabled will spawn most new common animals from this mod
dmobs.regulars (Enable most common new animals) bool true mobs_doomed.regulars (Enable most common new animals) bool true
# Timer for the egg mechanics, default 100 # Timer for the egg mechanics, default 100
dmobs.eggtimer (Spawn timer eggs Mobs) int 100 mobs_doomed.eggtimer (Spawn timer eggs Mobs) int 100
# if enabled be destructive for structure nodes each fireball or explotion from mobs # if enabled be destructive for structure nodes each fireball or explotion from mobs
dmobs.destructive (Fire balls will be destructive) bool false mobs_doomed.destructive (Fire balls will be destructive) bool false
# If disabled only a common dragon will be spawned # If disabled only a common dragon will be spawned
dmobs.dragons (Enable all the dragons not only common) bool true mobs_doomed.dragons (Enable all the dragons not only common) bool true

View File

@ -1,7 +1,7 @@
-- spawn.lua rewritten, using this latest function frim mobs_redo : -- spawn.lua rewritten, using this latest function frim mobs_redo :
-- --
--mobs:spawn({ --mobs:spawn({
-- name = "dmobs:dragon", -- name = "mobs_doomed:dragon",
-- nodes = {"air"}, -- nodes = {"air"},
-- neighbor = {"default:stone"}, -- neighbor = {"default:stone"},
-- min_light = 10, -- min_light = 10,
@ -22,67 +22,67 @@
--local cr = minetest.get_modpath("caverealms") --local cr = minetest.get_modpath("caverealms")
--local nodes, neighbor = {}, {} --local nodes, neighbor = {}, {}
if dmobs.regulars then if mobs_doomed.regulars then
-- friendlies -- friendlies
-- nodes = {"darkage:marble"} -- nodes = {"darkage:marble"}
-- neighbor = {"darkage:slate"} -- neighbor = {"darkage:slate"}
mobs:spawn({name = "dmobs:nyan", nodes = {"air"}, neighbor = {"group:leaves"}, mobs:spawn({name = "mobs_doomed:nyan", nodes = {"air"}, neighbor = {"group:leaves"},
min_light = 10, max_light = 15, interval = 300, chance = 64000, active_object_count = 2, min_height = 0, max_height = 2000}) min_light = 10, max_light = 15, interval = 300, chance = 64000, active_object_count = 2, min_height = 0, max_height = 2000})
mobs:spawn({name = "dmobs:nyan", nodes = {"air"}, neighbor = {"ethereal:mushroom", "nyanland:meseleaves"}, mobs:spawn({name = "mobs_doomed:nyan", nodes = {"air"}, neighbor = {"ethereal:mushroom", "nyanland:meseleaves"},
min_light = 10, max_light = 15, interval = 300, chance = 16000, active_object_count = 2, min_height = 0, max_height = 2000}) min_light = 10, max_light = 15, interval = 300, chance = 16000, active_object_count = 2, min_height = 0, max_height = 2000})
mobs:spawn({name = "dmobs:hedgehog", nodes = {"group:flora", "ethereal:prairie_dirt"}, mobs:spawn({name = "mobs_doomed:hedgehog", nodes = {"group:flora", "ethereal:prairie_dirt"},
neighbor = {}, min_light = 0, max_light = 8, interval = 300, chance = 8000, active_object_count = 3, min_height = 0, max_height = 2000}) neighbor = {}, min_light = 0, max_light = 8, interval = 300, chance = 8000, active_object_count = 3, min_height = 0, max_height = 2000})
mobs:spawn({name = "dmobs:whale", nodes = {"default:water_source"}, neighbor = {"group:sand"}, mobs:spawn({name = "mobs_doomed:whale", nodes = {"default:water_source"}, neighbor = {"group:sand"},
min_light = 0, max_light = 15, interval = 300, chance = 16000, active_object_count = 2, min_height = -100, max_height = 0}) min_light = 0, max_light = 15, interval = 300, chance = 16000, active_object_count = 2, min_height = -100, max_height = 0})
mobs:spawn({name = "dmobs:owl", nodes = {"group:tree"}, neighbor = {}, mobs:spawn({name = "mobs_doomed:owl", nodes = {"group:tree"}, neighbor = {},
min_light = 0, max_light = 7, interval = 300, chance = 16000, active_object_count = 2, min_height = 0, max_height = 2000}) min_light = 0, max_light = 7, interval = 300, chance = 16000, active_object_count = 2, min_height = 0, max_height = 2000})
mobs:spawn({name = "dmobs:gnorm", nodes = {"default:dirt_with_grass", "ethereal:bamboo_dirt"}, neighbor = {}, mobs:spawn({name = "mobs_doomed:gnorm", nodes = {"default:dirt_with_grass", "ethereal:bamboo_dirt"}, neighbor = {},
min_light = 10, max_light = 15, interval = 300, chance = 32000, active_object_count = 2, min_height = -100, max_height = 0}) min_light = 10, max_light = 15, interval = 300, chance = 32000, active_object_count = 2, min_height = -100, max_height = 0})
mobs:spawn({name = "dmobs:tortoise", nodes = {"default:water_source", "group:sand"}, neighbor = {}, mobs:spawn({name = "mobs_doomed:tortoise", nodes = {"default:water_source", "group:sand"}, neighbor = {},
min_light = 5, max_light = 10, interval = 300, chance = 8000, active_object_count = 2, min_height = -100, max_height = 500}) min_light = 5, max_light = 10, interval = 300, chance = 8000, active_object_count = 2, min_height = -100, max_height = 500})
mobs:spawn({name = "dmobs:elephant", nodes = {"default:dirt_with_dry_grass", "ethereal:grove_dirt"}, neighbor = {}, mobs:spawn({name = "mobs_doomed:elephant", nodes = {"default:dirt_with_dry_grass", "ethereal:grove_dirt"}, neighbor = {},
min_light = 10, max_light = 15, interval = 300, chance = 16000, active_object_count = 2, min_height = 0, max_height = 2000}) min_light = 10, max_light = 15, interval = 300, chance = 16000, active_object_count = 2, min_height = 0, max_height = 2000})
mobs:spawn({name = "dmobs:pig", nodes = {"default:dirt_with_grass", "ethereal:prairie_dirt", "nyanland:cloudstone"}, neighbor = {}, mobs:spawn({name = "mobs_doomed:pig", nodes = {"default:dirt_with_grass", "ethereal:prairie_dirt", "nyanland:cloudstone"}, neighbor = {},
min_light = 10, max_light = 15, interval = 300, chance = 32000, active_object_count = 2, min_height = 0, max_height = 2000}) min_light = 10, max_light = 15, interval = 300, chance = 32000, active_object_count = 2, min_height = 0, max_height = 2000})
mobs:spawn({name = "dmobs:panda", nodes = {"default:dirt_with_grass", "ethereal:bamboo_dirt"}, neighbor = {}, mobs:spawn({name = "mobs_doomed:panda", nodes = {"default:dirt_with_grass", "ethereal:bamboo_dirt"}, neighbor = {},
min_light = 10, max_light = 15, interval = 300, chance = 32000, active_object_count = 2, min_height = 0, max_height = 2000}) min_light = 10, max_light = 15, interval = 300, chance = 32000, active_object_count = 2, min_height = 0, max_height = 2000})
-- baddies -- baddies
mobs:spawn({name = "dmobs:wasp", nodes = {"air"}, neighbor = {"group:leaves"}, min_light = 10, max_light = 15, interval = 300, chance = 32000, active_object_count = 2, min_height = 0, max_height = 2000}) mobs:spawn({name = "mobs_doomed:wasp", nodes = {"air"}, neighbor = {"group:leaves"}, min_light = 10, max_light = 15, interval = 300, chance = 32000, active_object_count = 2, min_height = 0, max_height = 2000})
mobs:spawn({name = "dmobs:wasp", nodes = {"dmobs:hive"}, neighbor = {}, min_light = 10, max_light = 15, interval = 300, chance = 16000, active_object_count = 2, min_height = 0, max_height = 2000}) mobs:spawn({name = "mobs_doomed:wasp", nodes = {"mobs_doomed:hive"}, neighbor = {}, min_light = 10, max_light = 15, interval = 300, chance = 16000, active_object_count = 2, min_height = 0, max_height = 2000})
mobs:spawn({name = "dmobs:wasp_leader", nodes = {"group:leaves", "dmobs:hive"}, neighbor = {}, min_light = 10, max_light = 15, interval = 300, chance = 64000, active_object_count = 2, min_height = 0, max_height = 2000}) mobs:spawn({name = "mobs_doomed:wasp_leader", nodes = {"group:leaves", "mobs_doomed:hive"}, neighbor = {}, min_light = 10, max_light = 15, interval = 300, chance = 64000, active_object_count = 2, min_height = 0, max_height = 2000})
mobs:spawn({name = "dmobs:golem", nodes = {"group:stone"}, neighbor = {}, min_light = 0, mobs:spawn({name = "mobs_doomed:golem", nodes = {"group:stone"}, neighbor = {}, min_light = 0,
max_light = 7, interval = 300, chance = 16000, active_object_count = 2, min_height = -32000, max_height = 100}) max_light = 7, interval = 300, chance = 16000, active_object_count = 2, min_height = -32000, max_height = 100})
mobs:spawn({name = "dmobs:pig_evil", nodes = {"group:leave", "ethereal:bamboo_leaves"}, neighbor = {}, mobs:spawn({name = "mobs_doomed:pig_evil", nodes = {"group:leave", "ethereal:bamboo_leaves"}, neighbor = {},
min_light = 10, max_light = 15, interval = 300, chance = 64000, active_object_count = 2, min_height = 0, max_height = 2000}) min_light = 10, max_light = 15, interval = 300, chance = 64000, active_object_count = 2, min_height = 0, max_height = 2000})
mobs:spawn({name = "dmobs:fox", nodes = {"group:leaves"}, neighbor = {}, mobs:spawn({name = "mobs_doomed:fox", nodes = {"group:leaves"}, neighbor = {},
min_light = 0, max_light = 10, interval = 300, chance = 32000, active_object_count = 2, min_height = 0, max_height = 2000}) min_light = 0, max_light = 10, interval = 300, chance = 32000, active_object_count = 2, min_height = 0, max_height = 2000})
mobs:spawn({name = "dmobs:rat", nodes = {"group:stone", "group:sand"}, neighbor = {}, mobs:spawn({name = "mobs_doomed:rat", nodes = {"group:stone", "group:sand"}, neighbor = {},
min_light = 0, max_light = 10, interval = 300, chance = 32000, active_object_count = 2, min_height = -30000, max_height = 100}) min_light = 0, max_light = 10, interval = 300, chance = 32000, active_object_count = 2, min_height = -30000, max_height = 100})
mobs:spawn({name = "dmobs:treeman", nodes = {"group:leaves"}, neighbor = {}, mobs:spawn({name = "mobs_doomed:treeman", nodes = {"group:leaves"}, neighbor = {},
min_light = 7, max_light = 15, interval = 300, chance = 16000, active_object_count = 2, min_height = 0, max_height = 2000}) min_light = 7, max_light = 15, interval = 300, chance = 16000, active_object_count = 2, min_height = 0, max_height = 2000})
mobs:spawn({name = "dmobs:skeleton", nodes = {"group:stone","caverealms:stone_with_salt","default:desert_sand"}, neighbor = {}, mobs:spawn({name = "mobs_doomed:skeleton", nodes = {"group:stone","caverealms:stone_with_salt","default:desert_sand"}, neighbor = {},
min_light = 0, max_light = 10, interval = 300, chance = 16000, active_object_count = 2, min_height = -31000, max_height = -1000}) min_light = 0, max_light = 10, interval = 300, chance = 16000, active_object_count = 2, min_height = -31000, max_height = -1000})
-- Orcs and ogres spawn more often when dragons are disabled -- Orcs and ogres spawn more often when dragons are disabled
if not dmobs.dragons then if not mobs_doomed.dragons then
mobs:spawn({name = "dmobs:orc", mobs:spawn({name = "mobs_doomed:orc",
nodes = {"default:snow_block", "default:permafrost_with_moss", "default:permafrost_with_stone", "ethereal:cold_dirt"}, nodes = {"default:snow_block", "default:permafrost_with_moss", "default:permafrost_with_stone", "ethereal:cold_dirt"},
neighbor = {}, min_light = 0, max_light = 10, interval = 300, chance = 6000, neighbor = {}, min_light = 0, max_light = 10, interval = 300, chance = 6000,
active_object_count = 2, min_height = 0, max_height = 2000}) active_object_count = 2, min_height = 0, max_height = 2000})
mobs:spawn({name = "dmobs:ogre", mobs:spawn({name = "mobs_doomed:ogre",
nodes = {"default:snow_block", "default:permafrost_with_moss", "default:permafrost_with_stone", "ethereal:cold_dirt"}, nodes = {"default:snow_block", "default:permafrost_with_moss", "default:permafrost_with_stone", "ethereal:cold_dirt"},
neighbor = {}, min_light = 0, max_light = 10, interval = 300, chance = 16000, neighbor = {}, min_light = 0, max_light = 10, interval = 300, chance = 16000,
active_object_count = 2, min_height = 0, max_height = 2000}) active_object_count = 2, min_height = 0, max_height = 2000})
else else
mobs:spawn({name = "dmobs:orc", mobs:spawn({name = "mobs_doomed:orc",
nodes = {"default:snow_block", "default:permafrost_with_moss", "default:permafrost_with_stone", "ethereal:cold_dirt"}, nodes = {"default:snow_block", "default:permafrost_with_moss", "default:permafrost_with_stone", "ethereal:cold_dirt"},
neighbor = {}, min_light = 0, max_light = 10, interval = 300, chance = 8000, neighbor = {}, min_light = 0, max_light = 10, interval = 300, chance = 8000,
active_object_count = 2, min_height = 0, max_height = 2000}) active_object_count = 2, min_height = 0, max_height = 2000})
mobs:spawn({name = "dmobs:ogre", mobs:spawn({name = "mobs_doomed:ogre",
nodes = {"default:snow_block", "default:permafrost_with_moss", "default:permafrost_with_stone", "ethereal:cold_dirt"}, nodes = {"default:snow_block", "default:permafrost_with_moss", "default:permafrost_with_stone", "ethereal:cold_dirt"},
neighbor = {}, min_light = 0, max_light = 10, interval = 300, chance = 32000, neighbor = {}, min_light = 0, max_light = 10, interval = 300, chance = 32000,
active_object_count = 2, min_height = 0, max_height = 2000}) active_object_count = 2, min_height = 0, max_height = 2000})
@ -95,24 +95,24 @@ end
------------- -------------
-- Generic dragon always spawn, the others only if enabled -- Generic dragon always spawn, the others only if enabled
mobs:spawn({name = "dmobs:dragon", nodes = {"group:leaves"}, neighbor = {}, mobs:spawn({name = "mobs_doomed:dragon", nodes = {"group:leaves"}, neighbor = {},
min_light = 5, max_light = 15, interval = 300, chance = 16000, active_object_count = 2, min_height = 0, max_height = 30000}) min_light = 5, max_light = 15, interval = 300, chance = 16000, active_object_count = 2, min_height = 0, max_height = 30000})
if dmobs.dragons then if mobs_doomed.dragons then
mobs:spawn({name = "dmobs:dragon1", nodes = {"ethereal:fiery_dirt", "default:desert_sand"}, neighbor = {}, mobs:spawn({name = "mobs_doomed:dragon1", nodes = {"ethereal:fiery_dirt", "default:desert_sand"}, neighbor = {},
min_light = 5, max_light = 15, interval = 300, chance = 24000, active_object_count = 2, min_height = 0, max_height = 30000}) min_light = 5, max_light = 15, interval = 300, chance = 24000, active_object_count = 2, min_height = 0, max_height = 30000})
mobs:spawn({name = "dmobs:dragon2", nodes = {"ethereal:crystal_dirt", "default:dirt_with_dry_grass"}, neighbor = {}, mobs:spawn({name = "mobs_doomed:dragon2", nodes = {"ethereal:crystal_dirt", "default:dirt_with_dry_grass"}, neighbor = {},
min_light = 5, max_light = 15, interval = 300, chance = 24000, active_object_count = 2, min_height = 0, max_height = 30000}) min_light = 5, max_light = 15, interval = 300, chance = 24000, active_object_count = 2, min_height = 0, max_height = 30000})
mobs:spawn({name = "dmobs:dragon3", nodes = {"ethereal:jungle_dirt", "default:jungleleaves"}, neighbor = {}, mobs:spawn({name = "mobs_doomed:dragon3", nodes = {"ethereal:jungle_dirt", "default:jungleleaves"}, neighbor = {},
min_light = 0, max_light = 10, interval = 300, chance = 24000, active_object_count = 2, min_height = 0, max_height = 30000}) min_light = 0, max_light = 10, interval = 300, chance = 24000, active_object_count = 2, min_height = 0, max_height = 30000})
mobs:spawn({name = "dmobs:dragon4", mobs:spawn({name = "mobs_doomed:dragon4",
nodes = {"default:snow_block", "default:permafrost_with_moss", "default:permafrost_with_stone", "ethereal:cold_dirt"}, neighbor = {}, nodes = {"default:snow_block", "default:permafrost_with_moss", "default:permafrost_with_stone", "ethereal:cold_dirt"}, neighbor = {},
min_light = 5, max_light = 15, interval = 300, chance = 24000, active_object_count = 2, min_height = 0, max_height = 30000}) min_light = 5, max_light = 15, interval = 300, chance = 24000, active_object_count = 2, min_height = 0, max_height = 30000})
mobs:spawn({name = "dmobs:waterdragon", nodes = {"default:water_source"}, neighbor = {"air"}, mobs:spawn({name = "mobs_doomed:waterdragon", nodes = {"default:water_source"}, neighbor = {"air"},
min_light = 0, max_light = 15, interval = 300, chance = 32000, active_object_count = 2, min_height = -10, max_height = 100}) min_light = 0, max_light = 15, interval = 300, chance = 32000, active_object_count = 2, min_height = -10, max_height = 100})
mobs:spawn({name = "dmobs:wyvern", nodes = {"group:leaves"}, neighbor = {}, mobs:spawn({name = "mobs_doomed:wyvern", nodes = {"group:leaves"}, neighbor = {},
min_light = 0, max_light = 10, interval = 300, chance = 32000, active_object_count = 2, min_height = 0, max_height = 30000}) min_light = 0, max_light = 10, interval = 300, chance = 32000, active_object_count = 2, min_height = 0, max_height = 30000})
mobs:spawn({name = "dmobs:dragon_great", mobs:spawn({name = "mobs_doomed:dragon_great",
nodes = {"ethereal:jungle_dirt", "default:jungleleaves", "default:lava_source", "caverealms:glow_mese", nodes = {"ethereal:jungle_dirt", "default:jungleleaves", "default:lava_source", "caverealms:glow_mese",
"caverealms:glow_amethyst", "caverealms:glow_crystal", "caverealms:glow_emerald","cavereals:glow_ruby"}, neighbor = {}, "caverealms:glow_amethyst", "caverealms:glow_crystal", "caverealms:glow_emerald","cavereals:glow_ruby"}, neighbor = {},
min_light = 0, max_light = 15, interval = 300, chance = 32000, active_object_count = 2, min_height = -30000, max_height = 30000}) min_light = 0, max_light = 15, interval = 300, chance = 32000, active_object_count = 2, min_height = -30000, max_height = 30000})

1
textures/nyancat.png Symbolic link
View File

@ -0,0 +1 @@
dmobs_nyancat.png