Esempio n. 1
0
bool CTitania::ActMsg(CActMsg *msg) {
	if (msg->_action == "SleepTitania") {
		setVisible(true);
		playCutscene(52, 104);
		playSound("z#47.wav", 100);
		changeView("Titania.Node 7.S", "");

		petShow();
		enableMouse();
		CSetFrameMsg frameMsg;
		frameMsg.execute("Bomb");

	} else if (msg->_action == "CheckHead") {
		CSenseWorkingMsg workingMsg1("Not Working");
		CSenseWorkingMsg workingMsg2("Not Working");
		CSenseWorkingMsg workingMsg3("Not Working");
		CSenseWorkingMsg workingMsg4("Not Working");

		if (_eye1 && _eye2) {
			workingMsg1._value = _visionCentre ? "Working" : "Random";
		}
		if (_ear1 && _ear2) {
			workingMsg2._value = _auditoryCentre ? "Working" : "Random";
		}
		if (_nose) {
			workingMsg4._value = _olfactoryCentre ? "Working" : "Random";
		}
		if (_mouth) {
			workingMsg3._value = _speechCentre ? "Working" : "Random";
		}

		if (_centralCore && _eye1 && _eye2 && _ear1 && _ear2 && _nose && _mouth
				&& _speechCentre && _olfactoryCentre && _auditoryCentre) {
			playSound("z#47.wav");

			CActMsg actMsg("Woken");
			actMsg.execute("MouthSlot");
			actMsg.execute("VisionCentreSlot");
			setPassengerClass(UNCHECKED);

			addTimer(1000);
		} else {
			workingMsg1.execute("Eye1Slot");
			workingMsg1.execute("Eye2Slot");
			workingMsg2.execute("Ear1Slot");
			workingMsg2.execute("Ear2Slot");
			workingMsg3.execute("MouthSlot");
			workingMsg4.execute("NoseSlot");
		}
	}

	return true;
}
Esempio n. 2
0
bool CShipSetting::EnterRoomMsg(CEnterRoomMsg *msg) {
	CSetFrameMsg frameMsg;

	if (_itemName == "ChickenBridge")
		frameMsg._frameNumber = 1;
	else if (_itemName == "FanBridge")
		frameMsg._frameNumber = 2;
	else if (_itemName == "SeasonBridge")
		frameMsg._frameNumber = 3;
	else if (_itemName == "BeamBridge")
		frameMsg._frameNumber = 4;

	frameMsg.execute(this);
	return true;
}
Esempio n. 3
0
bool CTitaniaSpeech::TimerMsg(CTimerMsg *msg) {
	CSetFrameMsg frameMsg;
	CVisibleMsg visibleMsg;
	CActMsg actMsg("TitaniaSpeech");

	if (msg->_action == "NextPara") {
		visibleMsg.execute("TitaniaStillControl");
		++_paraNum;
		actMsg.execute(this);
	} else if (msg->_action == "Para2") {
		playSound("a#11.wav");
	} else {
		frameMsg._frameNumber = _frameNum;
		frameMsg.execute("TitaniaStillControl");
	}

	return true;
}
Esempio n. 4
0
bool CTitania::EnterViewMsg(CEnterViewMsg *msg) {
	if (_showIntro) {
		_showIntro = false;
		disableMouse();
		petHide();

		CSetFrameMsg frameMsg;
		frameMsg._frameNumber = 25;
		frameMsg.execute("Bomb");
		playCutscene(0, 52);

		setVisible(false);
		CActMsg actMsg("TitaniaSpeech");
		actMsg.execute("TitaniaSpeech");
	}

	return true;
}