Builders can open their doors no matter the lock status.

master
Nathan Salapat 2022-01-03 12:14:54 -06:00
parent c16cc1eba2
commit 362cacc44a
1 changed files with 18 additions and 15 deletions

View File

@ -113,23 +113,26 @@ function doors.door_toggle(pos, node, clicker, close)
if not close then
local wield = clicker:get_wielded_item()
local wield_name = wield:get_name()
if lock_status == 1 and (minetest.is_protected(pos, player_name) or not minetest.check_player_privs(player_name, { creative = true })) then
return
elseif lock_status == 2 then
local key = meta:get_string('key')
if wield_name ~= key then
local def = minetest.registered_items[key]
local key_name = def.description
minetest.chat_send_player(player_name, 'This door can be opened/closed with a '..key_name..'.')
if not minetest.is_protected(pos, player_name) and minetest.check_player_privs(player_name, { creative = true })then
else
if lock_status == 1 and (minetest.is_protected(pos, player_name) or not minetest.check_player_privs(player_name, { creative = true })) then
return
elseif lock_status == 2 then
local key = meta:get_string('key')
if wield_name ~= key then
local def = minetest.registered_items[key]
local key_name = def.description
minetest.chat_send_player(player_name, 'This door can be opened/closed with a '..key_name..'.')
return
else
minetest.after(3, function()
doors.door_toggle(pos, nil, clicker, true)
end)
end
elseif lock_status >= 3 then
minetest.chat_send_player(player_name, 'The lock looks cheap, you might be able to pick it.')
return
else
minetest.after(3, function()
doors.door_toggle(pos, nil, clicker, true)
end)
end
elseif lock_status >= 3 then
minetest.chat_send_player(player_name, 'The lock looks cheap, you might be able to pick it.')
return
end
end