mirror of
https://github.com/FaceDeer/dfcaverns.git
synced 2024-11-14 22:50:27 +01:00
fix slade undiggability
This commit is contained in:
parent
c5fe22f7ec
commit
240d35cfa6
|
@ -6,11 +6,16 @@ local named_waypoints_path = minetest.get_modpath("named_waypoints")
|
||||||
|
|
||||||
local invulnerable = df_underworld_items.config.invulnerable_slade and not minetest.settings:get_bool("creative_mode")
|
local invulnerable = df_underworld_items.config.invulnerable_slade and not minetest.settings:get_bool("creative_mode")
|
||||||
|
|
||||||
local slade_groups = nil
|
local can_dig
|
||||||
if invulnerable then
|
if invulnerable then
|
||||||
slade_groups = {stone=1, level=3, slade=1, pit_plasma_resistant=1, mese_radiation_shield=1, immortal = 1, not_in_creative_inventory=1}
|
can_dig = function(pos, player)
|
||||||
else
|
return minetest.check_player_privs(player, "server")
|
||||||
slade_groups = {stone=1, level=3, slade=1, pit_plasma_resistant=1, mese_radiation_shield=1, cracky = 3, not_in_creative_inventory=1}
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local slade_groups = {stone=1, level=3, slade=1, pit_plasma_resistant=1, mese_radiation_shield=1, cracky = 3, not_in_creative_inventory=1}
|
||||||
|
if invulnerable then
|
||||||
|
slade_groups.immortal = 1
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
@ -195,6 +200,7 @@ local puzzle_seal_def = {
|
||||||
fixed = {-0.625, -0.625, -0.625, 0.625, 0.625, 0.625},
|
fixed = {-0.625, -0.625, -0.625, 0.625, 0.625, 0.625},
|
||||||
},
|
},
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
|
can_dig = can_dig,
|
||||||
on_blast = function() end,
|
on_blast = function() end,
|
||||||
on_rotate = function() return false end,
|
on_rotate = function() return false end,
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
|
@ -255,6 +261,7 @@ local digging_seal_def = {
|
||||||
fixed = {-0.625, -0.625, -0.625, 0.625, 0.625, 0.625},
|
fixed = {-0.625, -0.625, -0.625, 0.625, 0.625, 0.625},
|
||||||
},
|
},
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
|
can_dig = can_dig,
|
||||||
on_blast = function() end,
|
on_blast = function() end,
|
||||||
on_rotate = function() return false end,
|
on_rotate = function() return false end,
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
|
@ -364,6 +371,7 @@ local inscription_block_def = {
|
||||||
groups = slade_groups,
|
groups = slade_groups,
|
||||||
sounds = default.node_sound_stone_defaults({ footstep = { name = "bedrock2_step", gain = 1 } }),
|
sounds = default.node_sound_stone_defaults({ footstep = { name = "bedrock2_step", gain = 1 } }),
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
|
can_dig = can_dig,
|
||||||
on_blast = function() end,
|
on_blast = function() end,
|
||||||
on_rotate = function() return false end,
|
on_rotate = function() return false end,
|
||||||
}
|
}
|
||||||
|
@ -401,6 +409,7 @@ local capstone_def = {
|
||||||
light_source = 8,
|
light_source = 8,
|
||||||
sounds = default.node_sound_stone_defaults({ footstep = { name = "bedrock2_step", gain = 1 } }),
|
sounds = default.node_sound_stone_defaults({ footstep = { name = "bedrock2_step", gain = 1 } }),
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
|
can_dig = can_dig,
|
||||||
on_blast = function() end,
|
on_blast = function() end,
|
||||||
on_rotate = function() return false end,
|
on_rotate = function() return false end,
|
||||||
}
|
}
|
||||||
|
@ -429,11 +438,9 @@ local n15 = { name = "df_underworld_items:inscription_block", param2 = 3 }
|
||||||
local n16 = { name = "df_underworld_items:slade_capstone"}
|
local n16 = { name = "df_underworld_items:slade_capstone"}
|
||||||
|
|
||||||
if minetest.get_modpath("stairs") then
|
if minetest.get_modpath("stairs") then
|
||||||
local stair_groups = {level = 3, mese_radiation_shield=1, pit_plasma_resistant=1, slade=1}
|
local stair_groups = {level = 3, mese_radiation_shield=1, pit_plasma_resistant=1, slade=1, cracky = 3}
|
||||||
if invulnerable then
|
if invulnerable then
|
||||||
stair_groups.immortal = 1
|
stair_groups.immortal = 1
|
||||||
else
|
|
||||||
stair_groups.cracky = 3
|
|
||||||
end
|
end
|
||||||
|
|
||||||
stairs.register_stair_and_slab(
|
stairs.register_stair_and_slab(
|
||||||
|
@ -446,6 +453,14 @@ if minetest.get_modpath("stairs") then
|
||||||
default.node_sound_stone_defaults({ footstep = { name = "bedrock2_step", gain = 1 } })
|
default.node_sound_stone_defaults({ footstep = { name = "bedrock2_step", gain = 1 } })
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if invulnerable then
|
||||||
|
for name, def in pairs(minetest.registered_nodes) do
|
||||||
|
if name:sub(1,7) == "stairs:" and name:sub(-11) == "slade_block" then
|
||||||
|
minetest.override_item(name, {can_dig = can_dig})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
n2 = { name = "stairs:stair_slade_block", param2 = 3 }
|
n2 = { name = "stairs:stair_slade_block", param2 = 3 }
|
||||||
n4 = { name = "stairs:stair_slade_block", param2 = 1 }
|
n4 = { name = "stairs:stair_slade_block", param2 = 1 }
|
||||||
n7 = { name = "stairs:stair_slade_block", param2 = 2 }
|
n7 = { name = "stairs:stair_slade_block", param2 = 2 }
|
||||||
|
|
|
@ -4,13 +4,13 @@ local S, NS = dofile(MP.."/intllib.lua")
|
||||||
|
|
||||||
local invulnerable = df_underworld_items.config.invulnerable_slade and not minetest.settings:get_bool("creative_mode")
|
local invulnerable = df_underworld_items.config.invulnerable_slade and not minetest.settings:get_bool("creative_mode")
|
||||||
|
|
||||||
|
local server_diggable_only = function(pos, player)
|
||||||
|
return minetest.check_player_privs(player, "server")
|
||||||
|
end
|
||||||
|
|
||||||
local add_immortality = function(slade_def)
|
local add_immortality = function(slade_def)
|
||||||
slade_def.groups.immortal = 1
|
slade_def.groups.immortal = 1
|
||||||
slade_def.groups.cracky = nil
|
slade_def.can_dig = server_diggable_only
|
||||||
--slade_def.on_destruct = function() end
|
|
||||||
--slade_def.can_dig = function(pos, player) return minetest.settings:get_bool("creative_mode") == true end
|
|
||||||
--slade_def.diggable = false
|
|
||||||
--slade_def.on_blast = function() end
|
|
||||||
return slade_def
|
return slade_def
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -143,9 +143,8 @@ if minetest.get_modpath("stairs") then
|
||||||
local stair_groups = {level = 3, mese_radiation_shield=1, pit_plasma_resistant=1, slade=1}
|
local stair_groups = {level = 3, mese_radiation_shield=1, pit_plasma_resistant=1, slade=1}
|
||||||
if invulnerable then
|
if invulnerable then
|
||||||
stair_groups.immortal = 1
|
stair_groups.immortal = 1
|
||||||
else
|
|
||||||
stair_groups.cracky = 3
|
|
||||||
end
|
end
|
||||||
|
stair_groups.cracky = 3
|
||||||
|
|
||||||
stairs.register_stair_and_slab(
|
stairs.register_stair_and_slab(
|
||||||
"slade_brick",
|
"slade_brick",
|
||||||
|
@ -156,6 +155,15 @@ if minetest.get_modpath("stairs") then
|
||||||
S("Slade Slab"),
|
S("Slade Slab"),
|
||||||
default.node_sound_stone_defaults({ footstep = { name = "bedrock2_step", gain = 1 } })
|
default.node_sound_stone_defaults({ footstep = { name = "bedrock2_step", gain = 1 } })
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if invulnerable then
|
||||||
|
for name, def in pairs(minetest.registered_nodes) do
|
||||||
|
if name:sub(1,7) == "stairs:" and name:sub(-11) == "slade_brick" then
|
||||||
|
minetest.override_item(name, {can_dig = server_diggable_only})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
if minetest.get_modpath("mesecons_mvps") and df_underworld_items.config.invulnerable_slade then
|
if minetest.get_modpath("mesecons_mvps") and df_underworld_items.config.invulnerable_slade then
|
||||||
|
|
Loading…
Reference in New Issue
Block a user