TenPlus1 wrote:Each goblin now has a do_custom function within their mob register routines that control the search and replacement feature you added but using a local function instead of changing the global api itself... I tested the cobble goblin and it removed stone and torches to replace with moddycobble so works ok, and the do_custom function is called every 1 second like the previous replace_what/replace_with feature in the api... If some of the goblins dont act as planned check the values entered to see if I changed any by mistake...
TenPlus1 wrote:do_custom code simplified and working for each goblin type, also added spawn eggs and new digger texture: viewtopic.php?f=9&t=13004&p=189917#p189917
ArguablySane wrote:To add more coherence to their digging, each tribe of goblins should have a plan of the tunnels they want to dig out. ... Now, the digger goblins simply find bits of rock which are marked as open space on the plan and remove them, while the builder goblins build bridges wherever a tunnel intersects a natural cave.
I've re-written Goblins to use Mobs Redo as a base without changing the Api, and using the do_custom function from within mob definitions to dig/mine/take torches etc instead...
duane wrote:I don't like the idea of limiting their spawn locations, but the rest sounds awesome, if ambitious.
duane wrote:I keep trying to make glowing eyes work, but I'm having zero luck. I can't find any way to change an object's lighting without lighting up everything else, and the eyes don't show up in the dark, no matter what color they are. Meh.
ArguablySane wrote:duane wrote:I keep trying to make glowing eyes work, but I'm having zero luck. I can't find any way to change an object's lighting without lighting up everything else, and the eyes don't show up in the dark, no matter what color they are. Meh.
I've tried to do this before and didn't have any luck. I don't think it's possible in the current engine.
FreeLikeGNU wrote:Yeah it would be nice if we could use a texturemap for luminescence like we can for bumpmaps. This would open a whole lot of possibilities, unless this exists already?
TenPlus1 wrote:Updated Goblins redo to use original search & replace code within do_custom, should work same as original now :) Mobs Redo mod updated also with some new additions to help...
TenPlus1 wrote:Updated Goblins redo to use original search & replace code within do_custom, should work same as original now :) Mobs Redo mod updated also with some new additions to help...
viewtopic.php?f=9&t=13004&p=189917#p189917
duane wrote:I put together some code for more rational tunneling in this fork. It does require changes to the mobs redo api, including a new callback.
Here's a screenshot of some of them starting to dig.
+ Spoiler
A problem that occurs is that none of the other goblins are going to follow the diggers down those narrow tunnels.
Napiophelios wrote:Any time I have gotten that error was when a mod calls to place a node that I dont have;
its usually happens because I misspelled something
edit: line 297 and line 651 he misspelled "default:dessert_stone" is supposed to be "default:desert_stone"
see if that helps
edit2:
or it could be line 768 using "group:stone"
FreeLikeGNU wrote:By the way, some goblin traps are now extra nasty... be careful!
duane wrote:FreeLikeGNU wrote:By the way, some goblin traps are now extra nasty... be careful!
You know the king must have TNT. He must!
TenPlus1 wrote:FreeLikeGNU: check out Blockmen's Pyramids mod, it has a function that can fill a chest with treasure that you may be able to adapt for Goblins...
also... is the mobs redo version working for you now ?
FreeLikeGNU wrote:By the way, some goblin traps are now extra nasty... be careful!
minetest.register_abm({
nodenames = {"mobs_goblins:stone_with_diamond_trap"},
interval = 1,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
for _,object in ipairs(minetest.env:get_objects_inside_radius(pos, 3)) do
if object:is_player() then
minetest.set_node(pos, {name="tnt:tnt_burning"})
minetest.get_node_timer(pos):start(5)
minetest.sound_play("default_dig_crumbly", {pos = pos, gain = 0.5, max_hear_distance = 10})
end
end
end})
minetest.register_abm({
nodenames = {"mobs_goblins:stone_with_coal_trap"},
interval = 1,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
for _,object in ipairs(minetest.env:get_objects_inside_radius(pos, 2)) do
if object:is_player() then
minetest.set_node(pos, {name="fire:basic_flame"})
if object:get_hp() > 0 then
object:set_hp(object:get_hp()-2)
end
end
end
end
})
minetest.register_abm({
nodenames = {"mobs_goblins:stone_with_gold_trap"},
interval = 1,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
for _,object in ipairs(minetest.env:get_objects_inside_radius(pos, 2)) do
if object:is_player() then
minetest.set_node(pos, {name="default:lava_source"})
if object:get_hp() > 0 then
object:set_hp(object:get_hp()-2)
minetest.sound_play("default_dig_crumbly", {pos = pos, gain = 0.5, max_hear_distance = 10})
end
end
end
end})
TenPlus1 wrote:FreeLikeGNU: Glad it's working ok... My only concern was that Mobs Redo has it's own api which is updated quite a bit and the one included in your Goblins mod may end up running an older version with your code included, which is why I recommended using the main API instead and putting your goblin specific code inside the mob definition itself to keep the api clean... This way the two wouldn't clash and cause errors...
Other than that, I love the Goblins mod and end up with loads of the little guys running around underground stealing my torches and setting up traps around me...
Users browsing this forum: No registered users and 15 guests