Пример #1
0
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;
	}
}
Пример #2
0
void NoradDelta::arriveAtNorad68West() {
	playSpotSoundSync(kHoldForRetinalIn, kHoldForRetinalOut);

	BiochipItem *retScan = _vm->getCurrentBiochip();

	if (retScan != 0 && retScan->getObjectID() == kRetinalScanBiochip) {
		((RetScanChip *)retScan)->searchForLaser();
		succeedRetinalScan();
	} else {
		failRetinalScan();
	}
}
Пример #3
0
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();
}
Пример #4
0
void NoradDelta::playClawMonitorIntro() {
	playSpotSoundSync(kLoadClawIntroIn, kLoadClawIntroOut);
}
Пример #5
0
void Norad::cantOpenDoor(CanOpenDoorReason reason) {
	if (reason == kCantOpenBadPressure)
		playSpotSoundSync(_pressureSoundIn, _pressureSoundOut);
	else
		playSpotSoundSync(_accessDeniedIn, _accessDeniedOut);
}