void NoradDelta::closeDoorOffScreen(const RoomID room, const DirectionConstant) { switch (room) { case kNorad47: case kNorad48: case kNorad41: case kNorad42: playSpotSoundSync(kDeltaElevatorDoorCloseIn, kDeltaElevatorDoorCloseOut); break; default: playSpotSoundSync(kDeltaRegDoorCloseIn, kDeltaRegDoorCloseOut); break; } }
void NoradDelta::arriveAtNorad68West() { playSpotSoundSync(kHoldForRetinalIn, kHoldForRetinalOut); BiochipItem *retScan = _vm->getCurrentBiochip(); if (retScan != 0 && retScan->getObjectID() == kRetinalScanBiochip) { ((RetScanChip *)retScan)->searchForLaser(); succeedRetinalScan(); } else { failRetinalScan(); } }
void NoradDelta::receiveNotification(Notification *notification, const NotificationFlags flags) { Norad::receiveNotification(notification, flags); if ((flags & kExtraCompletedFlag) != 0) { RetScanChip *retScan; Input dummy; switch (_lastExtra) { case kArriveFromSubChase: GameState.setNoradArrivedFromSub(true); GameState.setCurrentRoom(kNoRoomID); GameState.setCurrentDirection(kNoDirection); arriveAt(kNorad41, kEast); break; case kN59RobotHeadOpens: case kN60RobotHeadOpens: _privateFlags.setFlag(kNoradPrivateRobotHeadOpenFlag, true); break; case kNoradDeltaRetinalScanBad: retScan = (RetScanChip *)_vm->getCurrentBiochip(); retScan->setItemState(kNormalItem); playSpotSoundSync(kRetinalScanFailedIn, kRetinalScanFailedOut); downButton(dummy); break; case kNoradDeltaRetinalScanGood: retScan = (RetScanChip *)_vm->getCurrentBiochip(); retScan->setItemState(kNormalItem); downButton(dummy); break; case kN59RobotDisappears: case kN60RobotDisappears: recallToTSASuccess(); break; } _interruptionFilter = kFilterAllInput; } g_AIArea->checkMiddleArea(); }
void NoradDelta::playClawMonitorIntro() { playSpotSoundSync(kLoadClawIntroIn, kLoadClawIntroOut); }
void Norad::cantOpenDoor(CanOpenDoorReason reason) { if (reason == kCantOpenBadPressure) playSpotSoundSync(_pressureSoundIn, _pressureSoundOut); else playSpotSoundSync(_accessDeniedIn, _accessDeniedOut); }