DANGER!!! The player suffocates inside all blocks, unless noclip is enabled
This commit is contained in:
parent
02e0ffb756
commit
8edbb66a05
@ -715,7 +715,7 @@ core.nodedef_default = {
|
|||||||
liquid_alternative_flowing = "",
|
liquid_alternative_flowing = "",
|
||||||
liquid_alternative_source = "",
|
liquid_alternative_source = "",
|
||||||
liquid_viscosity = 0,
|
liquid_viscosity = 0,
|
||||||
drowning = 0,
|
drowning = 4,
|
||||||
light_source = 0,
|
light_source = 0,
|
||||||
damage_per_second = 0,
|
damage_per_second = 0,
|
||||||
selection_box = {type="regular"},
|
selection_box = {type="regular"},
|
||||||
|
@ -181,9 +181,8 @@ core.register_entity(":__builtin:item", {
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
-- If node is nil (unloaded area), or node is not registered, or node is
|
|
||||||
-- walkably solid and item is resting on nodebox
|
|
||||||
local nn = node.name
|
local nn = node.name
|
||||||
|
-- If node is not registered or node is walkably solid and resting on nodebox
|
||||||
local v = self.object:get_velocity()
|
local v = self.object:get_velocity()
|
||||||
if not core.registered_nodes[nn] or (core.registered_nodes[nn].walkable and
|
if not core.registered_nodes[nn] or (core.registered_nodes[nn].walkable and
|
||||||
core.get_item_group(nn, "slippery") == 0) and v.y == 0 then
|
core.get_item_group(nn, "slippery") == 0) and v.y == 0 then
|
||||||
|
@ -45,14 +45,14 @@ core.register_on_joinplayer(function(player)
|
|||||||
local player_name = player:get_player_name()
|
local player_name = player:get_player_name()
|
||||||
player_list[player_name] = player
|
player_list[player_name] = player
|
||||||
if not minetest.is_singleplayer() then
|
if not minetest.is_singleplayer() then
|
||||||
core.chat_send_all("*** " .. player_name .. " joined the game.")
|
core.chat_send_all("=> " .. player_name .. " has joined the server")
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
core.register_on_leaveplayer(function(player, timed_out)
|
core.register_on_leaveplayer(function(player, timed_out)
|
||||||
local player_name = player:get_player_name()
|
local player_name = player:get_player_name()
|
||||||
player_list[player_name] = nil
|
player_list[player_name] = nil
|
||||||
local announcement = "*** " .. player_name .. " left the game."
|
local announcement = "<= " .. player_name .. " left the server"
|
||||||
if timed_out then
|
if timed_out then
|
||||||
announcement = announcement .. " (timed out)"
|
announcement = announcement .. " (timed out)"
|
||||||
end
|
end
|
||||||
|
@ -351,6 +351,7 @@ core.register_node(":air", {
|
|||||||
floodable = true,
|
floodable = true,
|
||||||
air_equivalent = true,
|
air_equivalent = true,
|
||||||
drop = "",
|
drop = "",
|
||||||
|
drowning = 0,
|
||||||
groups = {not_in_creative_inventory=1},
|
groups = {not_in_creative_inventory=1},
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -367,6 +368,7 @@ core.register_node(":ignore", {
|
|||||||
buildable_to = true, -- A way to remove accidentally placed ignores
|
buildable_to = true, -- A way to remove accidentally placed ignores
|
||||||
air_equivalent = true,
|
air_equivalent = true,
|
||||||
drop = "",
|
drop = "",
|
||||||
|
drowning = 0,
|
||||||
groups = {not_in_creative_inventory=1},
|
groups = {not_in_creative_inventory=1},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -921,7 +921,8 @@ void PlayerSAO::step(float dtime, bool send_recommended)
|
|||||||
MapNode n = m_env->getMap().getNodeNoEx(p);
|
MapNode n = m_env->getMap().getNodeNoEx(p);
|
||||||
const ContentFeatures &c = m_env->getGameDef()->ndef()->get(n);
|
const ContentFeatures &c = m_env->getGameDef()->ndef()->get(n);
|
||||||
// If node generates drown
|
// If node generates drown
|
||||||
if (c.drowning > 0 && m_hp > 0) {
|
bool noclip = m_privs.count("noclip") && g_settings->getBool("noclip");
|
||||||
|
if (c.drowning > 0 && m_hp > 0 &&!noclip) {
|
||||||
if (m_breath > 0)
|
if (m_breath > 0)
|
||||||
setBreath(m_breath - 1);
|
setBreath(m_breath - 1);
|
||||||
|
|
||||||
|
11
src/game.cpp
11
src/game.cpp
@ -965,7 +965,7 @@ static inline void create_formspec_menu(GUIFormSpecMenu **cur_formspec,
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#define SIZE_TAG "size[11,5.5,true]"
|
#define SIZE_TAG "size[11,5.5]"
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
static void updateChat(Client &client, f32 dtime, bool show_debug,
|
static void updateChat(Client &client, f32 dtime, bool show_debug,
|
||||||
@ -4741,7 +4741,7 @@ void Game::showPauseMenu()
|
|||||||
#elif __IOS__
|
#elif __IOS__
|
||||||
float ypos = 1.5;
|
float ypos = 1.5;
|
||||||
#else
|
#else
|
||||||
float ypos = simple_singleplayer_mode ? 0.7f : 0.1f;
|
float ypos = simple_singleplayer_mode ? 0.5f : 0.1f;
|
||||||
#endif
|
#endif
|
||||||
std::ostringstream os;
|
std::ostringstream os;
|
||||||
|
|
||||||
@ -4750,16 +4750,11 @@ void Game::showPauseMenu()
|
|||||||
<< "button_exit[3.5," << (ypos++) << ";4,0.5;btn_continue;"
|
<< "button_exit[3.5," << (ypos++) << ";4,0.5;btn_continue;"
|
||||||
<< strgettext("Continue") << "]";
|
<< strgettext("Continue") << "]";
|
||||||
|
|
||||||
if (!simple_singleplayer_mode) {
|
|
||||||
#if !defined(__ANDROID__) && !defined(__IOS__)
|
#if !defined(__ANDROID__) && !defined(__IOS__)
|
||||||
|
if (!simple_singleplayer_mode) {
|
||||||
os << "button_exit[3.5," << (ypos++) << ";4,0.5;btn_change_password;"
|
os << "button_exit[3.5," << (ypos++) << ";4,0.5;btn_change_password;"
|
||||||
<< strgettext("Change Password") << "]";
|
<< strgettext("Change Password") << "]";
|
||||||
#endif
|
|
||||||
} else {
|
|
||||||
os << "field[5.1,0;4,1.0;;" << strgettext("Pause") << ";]";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(__ANDROID__) && !defined(__IOS__)
|
|
||||||
os << "button_exit[3.5," << (ypos++) << ";4,0.5;btn_sound;"
|
os << "button_exit[3.5," << (ypos++) << ";4,0.5;btn_sound;"
|
||||||
<< strgettext("Sound Volume") << "]";
|
<< strgettext("Sound Volume") << "]";
|
||||||
os << "button_exit[3.5," << (ypos++) << ";4,0.5;btn_key_config;"
|
os << "button_exit[3.5," << (ypos++) << ";4,0.5;btn_key_config;"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user