Disable autoforward if player is dead

This commit is contained in:
ANAND 2019-05-04 12:43:31 +05:30 committed by SmallJoker
parent ded5da7800
commit 3c395d908f
4 changed files with 12 additions and 7 deletions

@ -1541,6 +1541,9 @@ void GenericCAO::processMessage(const std::string &data)
m_hp = result_hp;
if (m_is_local_player)
m_env->getLocalPlayer()->hp = m_hp;
if (damage > 0)
{
if (m_hp <= 0)

@ -2466,7 +2466,7 @@ void Game::updatePlayerControl(const CameraOrientation &cam)
}
// autoforward if set: simulate "up" key
if (player->getPlayerSettings().continuous_forward) {
if (player->getPlayerSettings().continuous_forward && !player->isDead()) {
control.up = true;
keypress_bits |= 1U << 0;
}
@ -2483,7 +2483,7 @@ inline void Game::step(f32 *dtime)
bool can_be_and_is_paused =
(simple_singleplayer_mode && g_menumgr.pausesGame());
if (can_be_and_is_paused) { // This is for a singleplayer server
if (can_be_and_is_paused) { // This is for a singleplayer server
*dtime = 0; // No time passes
} else {
if (server)

@ -259,7 +259,7 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d,
}
/*
Check if player is climbing
Check if player is climbing
*/
@ -489,7 +489,7 @@ void LocalPlayer::applyControl(float dtime, Environment *env)
PlayerSettings &player_settings = getPlayerSettings();
// All vectors are relative to the player's yaw,
// (and pitch if pitch fly mode enabled),
// (and pitch if pitch move mode enabled),
// and will be rotated at the end
v3f speedH = v3f(0,0,0); // Horizontal (X, Z)
v3f speedV = v3f(0,0,0); // Vertical (Y)
@ -930,11 +930,11 @@ void LocalPlayer::old_move(f32 dtime, Environment *env, f32 pos_max_d,
bool touching_ground_was = touching_ground;
touching_ground = result.touching_ground;
//bool standing_on_unloaded = result.standing_on_unloaded;
//bool standing_on_unloaded = result.standing_on_unloaded;
/*
Check the nodes under the player to see from which node the
player is sneaking from, if any. If the node from under
player is sneaking from, if any. If the node from under
the player has been removed, the player falls.
*/
f32 position_y_mod = 0.05 * BS;

@ -100,7 +100,7 @@ public:
bool makes_footstep_sound = true;
int last_animation = NO_ANIM;
float last_animation_speed;
float last_animation_speed = 0.0f;
std::string hotbar_image = "";
std::string hotbar_selected_image = "";
@ -149,6 +149,8 @@ public:
bool getAutojump() const { return m_autojump; }
bool isDead() const { return hp <= 0; }
inline void addVelocity(const v3f &vel)
{
added_velocity += vel;