Misc bug corrections

This commit is contained in:
Grossam 2019-07-28 09:33:47 +02:00
parent c84679d688
commit 6cba5a9c4b
15 changed files with 107 additions and 81 deletions

View File

@ -2,3 +2,6 @@
Thanks to TenPlus1, blert2112, and taikedz Thanks to TenPlus1, blert2112, and taikedz
* 2019-07-28 :
* some little bugs corrected
* great dragons now need a gold block nest

View File

@ -2,3 +2,5 @@ default
mobs mobs
wool wool
farming? farming?
ethereal?
caverealms?

View File

@ -2,12 +2,26 @@ D00Med's Mobs
How to Dragon How to Dragon
By defeating dragons you will get eggs. Place them in their ideal environment and feed them a gem to create an elemental egg. By defeating dragons you will get eggs. Place them in their ideal environment and feed them a dragon gem (the violet one) to create an
elemental egg.
Environements :
* Fire : lava source
* Lightning : obsidian
* Poison : cactus
* Ice : ice
* Great : gold block
By defeating special dragons, you can obtain elemental gems. By defeating special dragons, you can obtain elemental gems.
Feed the right elemental gem to the elemental egg to hatch a dragon. Feed the right elemental gem to the elemental egg to hatch a dragon:
* Fire : fire gem
* Lightning : lightning gem
* Poison : poison gem
* Ice : ice gem
* Great : dragon gem
Use the Use key to shoot fireballs when riding your new pet dragon. Use the Use key to shoot fireballs when riding your new pet dragon.
Press the forward key to fly to the direction you're looking
ENjoy Enjoy !

View File

@ -1,3 +1,5 @@
-- Fire dragon
local dragondef = { local dragondef = {
type = "monster", type = "monster",
passive = false, passive = false,
@ -64,13 +66,15 @@ local dragondef = {
on_rightclick = dmobs.dragon.on_rc on_rightclick = dmobs.dragon.on_rc
} }
mobs:register_mob("dmobs:dragon", dmobs.deepclone(dragondef) )
-- The wild dragon is registered
mobs:register_mob("dmobs:dragon1", dmobs.deepclone(dragondef) )
-- 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 = dmobs.dragon.ride
dragondef.do_custom = dmobs.dragon.do_custom dragondef.do_custom = dmobs.dragon.do_custom
-- The tamed version is registered
mobs:register_mob("dmobs:dragon_red", dmobs.deepclone(dragondef) ) mobs:register_mob("dmobs:dragon_red", dmobs.deepclone(dragondef) )

View File

@ -1,3 +1,5 @@
-- Lightning dragon
local dragondef = { local dragondef = {
type = "monster", type = "monster",
passive = false, passive = false,

View File

@ -1,3 +1,5 @@
-- Poison dragon
local dragondef = { local dragondef = {
type = "monster", type = "monster",
passive = false, passive = false,

View File

@ -1,3 +1,5 @@
-- Ice dragon
local dragondef = { local dragondef = {
type = "monster", type = "monster",
passive = false, passive = false,
@ -64,14 +66,12 @@ local dragondef = {
on_rightclick = dmobs.dragon.on_rc on_rightclick = dmobs.dragon.on_rc
} }
mobs:register_mob("dmobs:dragon4", dmobs.deepclone(dragondef) ) mobs:register_mob("dmobs:dragon4", dmobs.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 = dmobs.dragon.ride
dragondef.do_custom = dmobs.dragon.do_custom dragondef.do_custom = dmobs.dragon.do_custom
mobs:register_mob("dmobs:dragon_blue", dmobs.deepclone(dragondef) ) mobs:register_mob("dmobs:dragon_blue", dmobs.deepclone(dragondef) )

View File

@ -1,4 +1,4 @@
--dragon -- 'Generic' dragon
dofile(minetest.get_modpath("dmobs").."/dragons/piloting.lua") dofile(minetest.get_modpath("dmobs").."/dragons/piloting.lua")
@ -15,8 +15,8 @@ mobs:register_mob("dmobs:dragon", {
dogshoot_count_max =5, dogshoot_count_max =5,
arrow = "dmobs:fire", arrow = "dmobs:fire",
shoot_offset = 1, shoot_offset = 1,
hp_min = 70, hp_min = 50,
hp_max = 100, hp_max = 80,
armor = 100, armor = 100,
collisionbox = {-0.6, -1.2, -0.6, 0.6, 0.6, 0.6}, collisionbox = {-0.6, -1.2, -0.6, 0.6, 0.6, 0.6},
visual = "mesh", visual = "mesh",
@ -68,9 +68,3 @@ mobs:register_mob("dmobs:dragon", {
do_custom = dmobs.dragon.step_custom, do_custom = dmobs.dragon.step_custom,
on_rightclick = dmobs.dragon.on_rc on_rightclick = dmobs.dragon.on_rc
}) })
mobs:spawn_specific("dmobs:dragon", {"air"}, {"default:stone"}, 20, 10, 300, 15000, 2, -100, 11000)
mobs:register_egg("dmobs:dragon", "Dragon", "default_apple.png", 1)

View File

@ -4,8 +4,8 @@ local dragonpairs = {
fire = {colour="red",nest="default:lava_source"}, fire = {colour="red",nest="default:lava_source"},
lightning = {colour="black",nest="default:obsidian"}, lightning = {colour="black",nest="default:obsidian"},
poison = {colour="green",nest="default:cactus"}, poison = {colour="green",nest="default:cactus"},
ice = {colour="black",nest="default:ice"}, ice = {colour="blue",nest="default:ice"},
great = {colour="great",nest=""}, great = {colour="great",nest="default:diamond_block"}, -- You've to deserve greatness !'
} }
local function egg_transform(pos, node, clicker, item, _) local function egg_transform(pos, node, clicker, item, _)
@ -78,7 +78,7 @@ local function egghatch(pos, node, clicker, item, _)
local thedragon = "dmobs:dragon_"..details.colour local thedragon = "dmobs:dragon_"..details.colour
if eggnode == "dmobs:dragon_egg_great" then if eggnode == "dmobs:dragon_egg_great" then
thedragon = "dmobs:dragon_great" thedragon = "dmobs:dragon_great_tame"
end end
local ent = minetest.add_entity(pos, thedragon) local ent = minetest.add_entity(pos, thedragon)
@ -102,7 +102,10 @@ local function egghatch(pos, node, clicker, item, _)
end -- for loop end -- for loop
end end
-- Egg form dfinitions -----------------------------------------
---------------------- ---
-- Egg form definitions --
--------------------------
local base_egg = { -- base template for all dragon eggs local base_egg = { -- base template for all dragon eggs
description = "Dragon Egg", description = "Dragon Egg",
@ -120,21 +123,25 @@ 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("dmobs:egg", dmobs.deepclone(base_egg) ) -- clone, to not affect the base template
-- 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("dmobs:dragon_egg_fire", dmobs.deepclone(base_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("dmobs:dragon_egg_lightning", dmobs.deepclone(base_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("dmobs:dragon_egg_poison", dmobs.deepclone(base_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("dmobs:dragon_egg_ice", dmobs.deepclone(base_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"

View File

@ -11,8 +11,8 @@ local gdragon_base = {
dogshoot_count_max =5, dogshoot_count_max =5,
arrow = "dmobs:lightning", arrow = "dmobs:lightning",
shoot_offset = 1, shoot_offset = 1,
hp_min = 140, hp_min = 150,
hp_max = 180, hp_max = 250,
armor = 220, armor = 220,
collisionbox = {-0.6, -1.4, -0.6, 0.6, 0.6, 0.6}, collisionbox = {-0.6, -1.4, -0.6, 0.6, 0.6, 0.6},
visual = "mesh", visual = "mesh",
@ -71,7 +71,3 @@ gdragon_base.on_rightclick = dmobs.dragon.ride
gdragon_base.do_custom = dmobs.dragon.do_custom gdragon_base.do_custom = dmobs.dragon.do_custom
mobs:register_mob("dmobs:dragon_great_tame", dmobs.deepclone(gdragon_base) ) mobs:register_mob("dmobs:dragon_great_tame", dmobs.deepclone(gdragon_base) )
mobs:register_egg("dmobs:dragon_great", "Boss Dragon", "dmobs_egg1.png", 1)
mobs:register_egg("dmobs:dragon_great_tame", "Great Dragon", "default_lava_source_animated.png", 1)

View File

@ -31,21 +31,24 @@ minetest.register_craftitem("dmobs:dragon_gem", {
}) })
--spawns and eggs ----------
-- Eggs --
----------
-- mobs:spawn_specific("dmobs:dragon", {"air"}, {"default:stone"}, 20, 10, 300, 15000, 2, -100, 11000) -- Wild dragons
-- mobs:spawn_specific("dmobs:dragon2", {"air"}, {"default:stone"}, 20, 10, 300, 15000, 2, -100, 11000) mobs:register_egg("dmobs:dragon", "Minor Dragon", "default_apple.png", 1)
-- mobs:spawn_specific("dmobs:dragon3", {"air"}, {"default:stone"}, 20, 10, 300, 15000, 2, -100, 11000) mobs:register_egg("dmobs:dragon1", "Wild Fire Dragon", "default_apple.png", 1)
-- mobs:spawn_specific("dmobs:dragon4", {"air"}, {"default:stone"}, 20, 10, 300, 15000, 2, -100, 11000)
mobs:register_egg("dmobs:dragon", "Wild Fire Dragon", "default_apple.png", 1)
mobs:register_egg("dmobs:dragon2", "Wild Lightning Dragon", "default_mese_crystal.png", 1) mobs:register_egg("dmobs:dragon2", "Wild Lightning Dragon", "default_mese_crystal.png", 1)
mobs:register_egg("dmobs:dragon3", "Wild Poison Dragon", "dmobs_poison.png", 1) mobs:register_egg("dmobs:dragon3", "Wild Poison Dragon", "dmobs_poison.png", 1)
mobs:register_egg("dmobs:dragon4", "Wild Ice Dragon", "default_ice.png", 1) mobs:register_egg("dmobs:dragon4", "Wild Ice Dragon", "default_ice.png", 1)
mobs:register_egg("dmobs:dragon_great", "Boss Dragon", "dmobs_egg1.png", 1)
mobs:register_egg("dmobs:waterdragon", "Boss Waterdragon", "dmobs_egg4.png", 1)
mobs:register_egg("dmobs:wyvern", "Boss Wyvern", "dmobs_egg3.png", 1)
mobs:register_egg("dmobs:dragon_red", "Tame Fire Dragon", "default_apple.png", 1) -- Tamed dragons
mobs:register_egg("dmobs:dragon_black", "Tame Lightning Dragon", "default_mese_crystal.png", 1) mobs:register_egg("dmobs:dragon_red", "Tamed Fire Dragon", "default_apple.png", 1)
mobs:register_egg("dmobs:dragon_green", "Tame Poison Dragon", "dmobs_poison.png", 1) mobs:register_egg("dmobs:dragon_black", "Tamed Lightning Dragon", "default_mese_crystal.png", 1)
mobs:register_egg("dmobs:dragon_blue", "Tame Ice Dragon", "default_ice.png", 1) mobs:register_egg("dmobs: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("dmobs:dragon_great_tame", "Tamed Great Dragon", "default_lava_source_animated.png", 1)

View File

@ -1,3 +1,5 @@
-- Hydra
mobs:register_mob("dmobs:waterdragon", { mobs:register_mob("dmobs:waterdragon", {
type = "monster", type = "monster",
passive = false, passive = false,
@ -130,6 +132,3 @@ mobs:register_mob("dmobs:waterdragon_2", {
shoot_end = 40, shoot_end = 40,
}, },
}) })
mobs:register_egg("dmobs:waterdragon", "Boss Waterdragon", "dmobs_egg4.png", 1)

View File

@ -58,6 +58,3 @@ mobs:register_mob("dmobs:wyvern", {
}, },
knock_back = 2, knock_back = 2,
}) })
mobs:register_egg("dmobs:wyvern", "Boss Wyvern", "dmobs_egg3.png", 1)

View File

@ -83,11 +83,12 @@ if dmobs.regulars then
end end
end end
-- dragons!! ---------------
-- dragons!! --
---------------
if not dmobs.dragons then
loadmob("dragon_normal","/dragons/") loadmob("dragon_normal","/dragons/")
else if dmobs.dragons then
loadmob("main","/dragons/") loadmob("main","/dragons/")
loadmob("dragon1","/dragons/") loadmob("dragon1","/dragons/")
loadmob("dragon2","/dragons/") loadmob("dragon2","/dragons/")

View File

@ -1,52 +1,54 @@
if dmobs.regulars then if dmobs.regulars then
-- friendlies -- friendlies
mobs:register_spawn("dmobs:nyan", {"default:pine_needles","default:leaves"}, 20, 10, 50000, 2, 31000) mobs:register_spawn("dmobs:nyan", {"default:pine_needles","default:leaves"}, 20, 10, 50000, 2, 800)
mobs:register_spawn("dmobs:nyan", {"nyanland:meseleaves"}, 20, 10, 15000, 2, 31000) mobs:register_spawn("dmobs:nyan", {"nyanland:meseleaves"}, 20, 10, 15000, 2, 800)
mobs:register_spawn("dmobs:hedgehog", {"default:dirt_with_grass","default:pine_needles"}, 20, 10, 15000, 2, 31000) mobs:register_spawn("dmobs:hedgehog", {"default:dirt_with_grass","default:pine_needles"}, 20, 10, 15000, 2, 800)
mobs:register_spawn("dmobs:whale", {"default:water_source"}, 20, 10, 15000, -20, 1000) mobs:register_spawn("dmobs:whale", {"default:water_source"}, 20, 10, 15000, -20, 1000)
mobs:register_spawn("dmobs:owl", {"default:leaves","default:tree"}, 20, 10, 15000, 2, 31000) mobs:register_spawn("dmobs:owl", {"default:leaves","default:tree"}, 20, 10, 15000, 2, 800)
mobs:register_spawn("dmobs:gnorm", {"default:dirt_with_grass","default:wood"}, 20, 10, 32000, 2, 31000) mobs:register_spawn("dmobs:gnorm", {"default:dirt_with_grass","default:wood"}, 20, 10, 32000, 2, 800)
mobs:register_spawn("dmobs:tortoise", {"default:clay","default:sand"}, 20, 10, 15000, 2, 31000) mobs:register_spawn("dmobs:tortoise", {"default:clay","default:sand"}, 20, 10, 15000, 2, 800)
mobs:register_spawn("dmobs:elephant", {"default:dirt_with_dry_grass","default:desert_sand"}, 20, 10, 15000, 2, 31000) mobs:register_spawn("dmobs:elephant", {"default:dirt_with_dry_grass","default:desert_sand"}, 20, 10, 15000, 2, 800)
mobs:register_spawn("dmobs:badger", {"default:dirt_with_grass","default:dirt"}, 20, 10, 15000, 2, 31000) mobs:register_spawn("dmobs:badger", {"default:dirt_with_grass","default:dirt"}, 20, 10, 15000, 2, 800)
mobs:register_spawn("dmobs:pig", {"default:pine_needles","default:leaves", "nyanland:cloudstone"}, 20, 10, 32000, 2, 31000) mobs:register_spawn("dmobs:pig", {"default:pine_needles","default:leaves", "nyanland:cloudstone"}, 20, 10, 32000, 2, 800)
mobs:register_spawn("dmobs:panda", {"default:dirt_with_grass","ethereal:bamboo_dirt"}, 20, 10, 15000, 2, 31000) mobs:register_spawn("dmobs:panda", {"default:dirt_with_grass","ethereal:bamboo_dirt"}, 20, 10, 15000, 2, 800)
-- baddies -- baddies
mobs:register_spawn("dmobs:wasp", {"default:dirt_with_grass"}, 20, 10, 32000, 2, 31000) mobs:register_spawn("dmobs:wasp", {"default:dirt_with_grass"}, 20, 10, 32000, 2, 800)
mobs:register_spawn("dmobs:wasp", {"dmobs:hive"}, 20, 10, 16000, 2, 31000) mobs:register_spawn("dmobs:wasp", {"dmobs:hive"}, 20, 10, 16000, 2, 800)
mobs:register_spawn("dmobs:wasp_leader", {"default:dirt_with_grass","dmobs:hive"}, 20, 10, 64000, 2, 31000) mobs:register_spawn("dmobs:wasp_leader", {"default:dirt_with_grass","dmobs:hive"}, 20, 10, 64000, 2, 800)
mobs:register_spawn("dmobs:golem", {"default:stone"}, 7, 0, 16000, 2, 31000) mobs:register_spawn("dmobs:golem", {"default:stone"}, 7, 0, 16000, 2, 800)
mobs:register_spawn("dmobs:pig_evil", {"default:pine_needles","default:leaves"}, 20, 10, 32000, 2, 31000) mobs:register_spawn("dmobs:pig_evil", {"default:pine_needles","default:leaves"}, 20, 10, 32000, 2, 800)
mobs:register_spawn("dmobs:fox", {"default:dirt_with_grass","default:dirt"}, 20, 10, 32000, 2, 31000) mobs:register_spawn("dmobs:fox", {"default:dirt_with_grass","default:dirt"}, 20, 10, 32000, 2, 800)
if not dmobs.dragons then if not dmobs.dragons then
mobs:register_spawn("dmobs:orc", {"default:snow","default:snow_block", "default:desert_sand"}, 20, 10, 15000, 2, 31000) mobs:register_spawn("dmobs:orc", {"default:snow","default:snow_block", "default:desert_sand"}, 20, 10, 15000, 2, 800)
mobs:register_spawn("dmobs:ogre", {"default:snow","default:dirt_with_dry_grass", "default:desert_sand"}, 20, 10, 15000, 2, 31000) mobs:register_spawn("dmobs:ogre", {"default:snow","default:dirt_with_dry_grass", "default:desert_sand"}, 20, 10, 15000, 2, 800)
else else
mobs:register_spawn("dmobs:orc", {"default:snow","default:snow_block", "default:desert_sand"}, 20, 10, 3500, 2, 31000) mobs:register_spawn("dmobs:orc", {"default:snow","default:snow_block", "default:desert_sand"}, 20, 10, 3500, 2, 800)
mobs:register_spawn("dmobs:ogre", {"default:snow","default:dirt_with_dry_grass", "default:desert_sand"}, 20, 10, 350, 2, 31000) mobs:register_spawn("dmobs:ogre", {"default:snow","default:dirt_with_dry_grass", "default:desert_sand"}, 20, 10, 350, 2, 800)
end end
mobs:register_spawn("dmobs:rat", {"default:stone","default:sand"}, 20, 0, 32000, 2, 31000) mobs:register_spawn("dmobs:rat", {"default:stone","default:sand"}, 20, 0, 32000, 2, 800)
mobs:register_spawn("dmobs:treeman", {"default:leaves", "default:pine_needles"}, 7, 0, 16000, 2, 31000) mobs:register_spawn("dmobs:treeman", {"default:leaves", "default:pine_needles"}, 7, 0, 16000, 2, 800)
mobs:register_spawn("dmobs:skeleton", {"default:stone"}, 7, 0, 16000, 2, 31000) mobs:register_spawn("dmobs:skeleton", {"default:stone"}, 7, 0, 16000, 2, 800)
end end
-- dragons -- dragons
mobs:register_spawn("dmobs:dragon", {"default:leaves","default:dirt_with_grass"}, 20, 10, 64000, 2, 31000) -- Generic dragon always spawn, the others only if enabled
mobs:register_spawn("dmobs:dragon", {"default:leaves","default:dirt_with_grass"}, 20, 10, 32000, 2, 800)
if dmobs.dragons then if dmobs.dragons then
mobs:register_spawn("dmobs:dragon2", {"default:pine_needles"}, 20, 10, 64000, 2, 31000) mobs:register_spawn("dmobs:dragon1", {"default:leaves"}, 20, 10, 64000, 2, 800)
mobs:register_spawn("dmobs:dragon3", {"default:acacia_leaves","default:dirt_with_dry_grass"}, 20, 10, 64000, 2, 31000) mobs:register_spawn("dmobs:dragon2", {"default:pine_needles"}, 20, 10, 64000, 2, 800)
mobs:register_spawn("dmobs:dragon4", {"default:jungleleaves"}, 20, 10, 64000, 2, 31000) mobs:register_spawn("dmobs:dragon3", {"default:acacia_leaves","default:dirt_with_dry_grass"}, 20, 10, 64000, 2, 800)
mobs:register_spawn("dmobs:waterdragon", {"default:water_source"}, 20, 10, 32000, 1, 31000, false) mobs:register_spawn("dmobs:dragon4", {"default:jungleleaves"}, 20, 10, 64000, 2, 800)
mobs:register_spawn("dmobs:wyvern", {"default:leaves"}, 20, 10, 32000, 1, 31000, false) mobs:register_spawn("dmobs:waterdragon", {"default:water_source"}, 20, 10, 32000, 1, 800, false)
mobs:register_spawn("dmobs:wyvern", {"default:leaves"}, 20, 10, 32000, 1, 800, false)
mobs:register_spawn("dmobs:dragon_great", {"default:lava_source"}, 20, 0, 64000, -21000, 1000, false) mobs:register_spawn("dmobs:dragon_great", {"default:lava_source"}, 20, 0, 64000, -21000, 1000, false)
end end