Don't regain breath while in ignore node (#8218)

* Don't regain breath while in ignore node

Fixes #8217
This commit is contained in:
Wuzzy 2019-02-15 12:22:30 +01:00 committed by Loïc Blot
parent f290d01abe
commit 88c68ce8ec

@ -1014,8 +1014,9 @@ void PlayerSAO::step(float dtime, bool send_recommended)
v3s16 p = floatToInt(getEyePosition(), BS);
MapNode n = m_env->getMap().getNodeNoEx(p);
const ContentFeatures &c = m_env->getGameDef()->ndef()->get(n);
// If player is alive & no drowning, breathe
if (m_hp > 0 && m_breath < m_prop.breath_max && c.drowning == 0)
// If player is alive & no drowning & not in ignore, breathe
if (m_breath < m_prop.breath_max &&
c.drowning == 0 && n.getContent() != CONTENT_IGNORE && m_hp > 0)
setBreath(m_breath + 1);
}