}
// 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;
}
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)
}
/*
- Check if player is climbing
+ Check if player is climbing
*/
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)
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;
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 = "";
bool getAutojump() const { return m_autojump; }
+ bool isDead() const { return hp <= 0; }
+
inline void addVelocity(const v3f &vel)
{
added_velocity += vel;