From a12769bb6df89b46fd202ffec8163fc3bf235b13 Mon Sep 17 00:00:00 2001 From: XProger Date: Mon, 27 May 2019 04:48:01 +0300 Subject: [PATCH] #183 fix "Boulder puzzle doesn't reset" --- src/objects.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/objects.h b/src/objects.h index 8154486..f08c63e 100644 --- a/src/objects.h +++ b/src/objects.h @@ -420,6 +420,11 @@ struct TrapBoulder : Controller { TrapBoulder(IGame *game, int entity) : Controller(game, entity), velocity(0) {} virtual void update() { + if (flags.active == 0) { + const TR::Entity &e = getEntity(); + pos = vec3(e.x, e.y, e.z); + } + TR::Level::FloorInfo info; getFloorInfo(getRoomIndex(), pos, info); @@ -455,7 +460,6 @@ struct TrapBoulder : Controller { if (pos.y > info.floor) { if (onGround) { pos = p; - deactivate(true); game->checkTrigger(this, true); return; } else {