Beispiel #1
0
bool CCarryParrot::PassOnDragStartMsg(CPassOnDragStartMsg *msg) {
	if (CParrot::_v4 != 3) {
		moveToView();
		setPosition(Point(0, 0));
		setVisible(true);
		playClip("Pick Up", 2);
		playClip("Flapping", 1);

		stopTimer(_timerId);
		_timerId = addTimer(1000, 1000);

		_freeCounter = 0;
		CParrot::_v4 = 1;
		msg->_value3 = 1;

		return CCarry::PassOnDragStartMsg(msg);
	}

	CTrueTalkNPC *npc = dynamic_cast<CTrueTalkNPC *>(getRoot()->findByName(_string6));
	if (npc)
		startTalking(npc, 0x446BF);

	_fieldE0 = 0;
	playSound("z#475.wav");
	moveUnder(findRoom());
	msg->_value4 = 1;

	return true;
}
Beispiel #2
0
bool CDoorbot::DoorbotNeededInHomeMsg(CDoorbotNeededInHomeMsg *msg) {
	moveToView();
	setPosition(Point(90, 42));
	_npcFlags = NPCFLAG_100000;

	stopMovie();
	playClip("Cloak Off", MOVIE_NOTIFY_OBJECT);

	_npcFlags |= NPCFLAG_8;
	return true;
}
Beispiel #3
0
void WheelBrowserScreen::clicked(const QString &name)
{
    if(name.startsWith("Folder/")) {
        moveToView(name);

    } else {
        QContent app(name,false);
        app.execute();
        doHide();
    }
}
Beispiel #4
0
bool CBrain::PassOnDragStartMsg(CPassOnDragStartMsg *msg) {
	if (_pieceAdded) {
		CTakeHeadPieceMsg headpieceMsg(getName());
		headpieceMsg.execute("TitaniaControl");
		_pieceAdded = false;

		setVisible(true);
		moveToView();
		setPosition(Point(msg->_mousePos.x - _bounds.width() / 2,
			msg->_mousePos.y - _bounds.height() / 2));
	}

	return CCarry::PassOnDragStartMsg(msg);
}
Beispiel #5
0
bool CDoorbot::DoorbotNeededInElevatorMsg(CDoorbotNeededInElevatorMsg *msg) {
	moveToView("ServiceElevator.Node 1.N");
	setPosition(Point(100, 42));

	if (_npcFlags & NPCFLAG_DOORBOT_INTRO) {
		_introMovieNum = 7;
		_npcFlags |= NPCFLAG_200000;
		loadFrame(797);
	} else {
		_npcFlags = 0;
		if (msg->_value)
			setTalking(this, true);
	}

	return true;
}
Beispiel #6
0
bool CParrot::PutParrotBackMsg(CPutParrotBackMsg *msg) {
	const char *const NAMES[] = {
		"Talking0", "Talking1", "Talking2", "Talking3", "Talking4",
		"Talking5", "Talking6", "Talking7", nullptr
	};

	int xp = CLIP(msg->_value, 230, 480);
	setVisible(true);
	moveToView();
	_v4 = 0;

	setPosition(Point(xp - _bounds.width() / 2, _bounds.top));
	playRandomClip(NAMES, MOVIE_NOTIFY_OBJECT);

	CActMsg actMsg("GainParrot");
	actMsg.execute("ParrotLobbyController");

	return true;
}
Beispiel #7
0
bool CLiftbotHead::MouseDragStartMsg(CMouseDragStartMsg *msg) {
	if (!checkStartDragging(msg)) {
		return false;
	} else if (compareViewNameTo("BottomOfWell.Node 8.N")) {
		changeView("BottomOfWell.Node 13.N");
		moveToView();

		CActMsg actMsg("LiftbotHeadTaken");
		actMsg.execute("BOWLiftbotHeadMonitor");

		return CCarry::MouseDragStartMsg(msg);
	} else if (_flag) {
		_flag = false;
		CActMsg actMsg("LoseHead");
		actMsg.execute("FaultyLiftbot");
	}

	return CCarry::MouseDragStartMsg(msg);
}