From 37a162e2df49bbcb14bf9ea336bb9b14c6a397f9 Mon Sep 17 00:00:00 2001 From: XProger Date: Fri, 22 Dec 2017 03:56:20 +0300 Subject: [PATCH] #22 fix pickup & heavy triggers --- src/lara.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/lara.h b/src/lara.h index 5da14a3..3e176fe 100644 --- a/src/lara.h +++ b/src/lara.h @@ -1774,7 +1774,7 @@ struct Lara : Character { void checkTrigger(Controller *controller, bool heavy) { TR::Level::FloorInfo info; - getFloorInfo(getRoomIndex(), controller->pos, info); + getFloorInfo(controller->getRoomIndex(), controller->pos, info); if (getEntity().isLara() && info.lava && info.floor == pos.y) { hit(LARA_MAX_HEALTH + 1, NULL, TR::HIT_LAVA); @@ -1857,10 +1857,13 @@ struct Lara : Character { break; } - case TR::Level::Trigger::PICKUP : - if (!level->entities[info.trigCmd[cmdIndex++].args].flags.invisible) + + case TR::Level::Trigger::PICKUP : { + Controller *controller = (Controller*)level->entities[info.trigCmd[cmdIndex++].args].controller; + if (!controller->flags.invisible) return; break; + } case TR::Level::Trigger::COMBAT : if (emptyHands())