From e3f00320ad76121430714f094dc8e9353eb04f2b Mon Sep 17 00:00:00 2001 From: Matthew Stewart Date: Thu, 26 Jul 2018 00:30:23 -0400 Subject: STARTREK: Fix elasi guard not shooting Kirk in TUG --- engines/startrek/rooms/tug2.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'engines/startrek/rooms/tug2.cpp') diff --git a/engines/startrek/rooms/tug2.cpp b/engines/startrek/rooms/tug2.cpp index a13abb81fb..2e8a9e61a2 100644 --- a/engines/startrek/rooms/tug2.cpp +++ b/engines/startrek/rooms/tug2.cpp @@ -624,9 +624,9 @@ void Room::tug2Timer0Expired() { if (_vm->_awayMission.tug.brigElasiPhasersOnKill) _roomVar.tug.elasiPhaserOnKill = 1; - switch (_vm->_awayMission.tug.field4b) { + switch (_vm->_awayMission.tug.elasiTargetIndex) { case 0: - _vm->_awayMission.tug.field4b++; + _vm->_awayMission.tug.elasiTargetIndex++; if (_vm->_awayMission.tug.guard2Status != GUARDSTAT_UP) { // BUGFIX: reset the timer to allow guard 1 to continue if guard 2 is down _vm->_awayMission.timers[0] = 60; @@ -644,7 +644,7 @@ void Room::tug2Timer0Expired() { case 1: // Guard shoots redshirt - _vm->_awayMission.tug.field4b++; + _vm->_awayMission.tug.elasiTargetIndex++; if (!_vm->_awayMission.tug.crewmanKilled[OBJECT_REDSHIRT]) { tug2DetermineElasiShooter(); _roomVar.tug.shootingTarget = OBJECT_REDSHIRT; @@ -655,7 +655,7 @@ void Room::tug2Timer0Expired() { case 2: // Guard shoots spock (or kirk) - _vm->_awayMission.tug.field4b++; + _vm->_awayMission.tug.elasiTargetIndex++; _roomVar.tug.shootKirkOverride = false; if (_vm->_awayMission.tug.brigElasiPhasersOnKill) _roomVar.tug.shootKirkOverride = true; @@ -669,7 +669,8 @@ void Room::tug2Timer0Expired() { break; case 3: - _vm->_awayMission.tug.field4b++; + // Guard shoots Mccoy + _vm->_awayMission.tug.elasiTargetIndex++; if (!_vm->_awayMission.tug.crewmanKilled[OBJECT_MCCOY]) { tug2DetermineElasiShooter(); _roomVar.tug.shootingTarget = OBJECT_MCCOY; @@ -679,16 +680,17 @@ void Room::tug2Timer0Expired() { break; case 4: - _vm->_awayMission.tug.field4b++; + // Guard shoots kirk (or Spock) + _vm->_awayMission.tug.elasiTargetIndex++; if (_roomVar.tug.shootKirkOverride) { tug2DetermineElasiShooter(); _roomVar.tug.shootingTarget = OBJECT_SPOCK; _vm->_awayMission.timers[2] = 40; tug2GuardShootsCrewman(); - } else if (_roomVar.tug.shootKirkOverride) { + } else { tug2DetermineElasiShooter(); _roomVar.tug.shootingTarget = OBJECT_KIRK; - _vm->_awayMission.timers[2] = 40; // TODO + _vm->_awayMission.timers[2] = 40; tug2GuardShootsCrewman(); } break; -- cgit v1.2.3