: scripting_controller(0),
player_status(_player_status),
scripting_controller_old(0),
- grabbed_object(NULL), ghost_mode(false), climbing(0)
+ grabbed_object(NULL), ghost_mode(false), edit_mode(false), climbing(0)
{
this->name = name;
controller = main_controller;
return;
sound_manager->play("sounds/hurt.wav");
+
if (climbing) stop_climbing(*climbing);
physic.set_velocity_x(0);
duck = false;
}
} else {
+
+ // do not die when in edit mode
+ if (edit_mode) {
+ set_ghost_mode(true);
+ return;
+ }
+
if (player_status->coins >= 25 && !GameSession::current()->get_reset_point_sectorname().empty())
{
for (int i = 0; i < 5; i++)
}
/* fallen out of the level? */
- if (get_pos().y > Sector::current()->get_height()) {
+ if ((get_pos().y > Sector::current()->get_height()) && (!ghost_mode)) {
kill(true);
return;
}
}
+void
+Player::set_edit_mode(bool enable)
+{
+ edit_mode = enable;
+}
+
void
Player::start_climbing(Climbable& climbable)
{