diff --git a/src/constants.h b/src/constants.h index 6969b4d81..9a7bb9d86 100644 --- a/src/constants.h +++ b/src/constants.h @@ -89,6 +89,9 @@ with this program; if not, write to the Free Software Foundation, Inc., // Maximum hit points of a player #define PLAYER_MAX_HP 20 +// Maximal breath of a player +#define PLAYER_MAX_BREATH 11 + // Number of different files to try to save a player to if the first fails // (because of a case-insensitive filesystem) // TODO: Use case-insensitive player names instead of this hack. diff --git a/src/player.cpp b/src/player.cpp index 64c138d02..0da761eed 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -47,7 +47,7 @@ Player::Player(IGameDef *gamedef, const char *name): keyPressed(0), // protected m_gamedef(gamedef), - m_breath(-1), + m_breath(PLAYER_MAX_BREATH), m_pitch(0), m_yaw(0), m_speed(0,0,0), @@ -213,12 +213,12 @@ void Player::deSerialize(std::istream &is, std::string playername) try{ hp = args.getS32("hp"); }catch(SettingNotFoundException &e) { - hp = 20; + hp = PLAYER_MAX_HP; } try{ m_breath = args.getS32("breath"); }catch(SettingNotFoundException &e) { - m_breath = 11; + m_breath = PLAYER_MAX_BREATH; } inventory.deSerialize(is); diff --git a/src/server.cpp b/src/server.cpp index 31b5041ed..399c41b70 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -4294,6 +4294,7 @@ void Server::RespawnPlayer(u16 peer_id) <<" respawns"<setHP(PLAYER_MAX_HP); + playersao->setBreath(PLAYER_MAX_BREATH); bool repositioned = m_script->on_respawnplayer(playersao); if(!repositioned){