示例#1
0
bool CSuccUBus::TurnOn(CTurnOn *msg) {
    if (getRandomNumber(9) == 0) {
        CParrotSpeakMsg speakMsg("SuccUBus", "TurnOn");
        speakMsg.execute("PerchedParrot");
    }

    CPetControl *pet = getPetControl();
    if (pet) {
        if (!_field15C && _startFrame8 >= 0) {
            playMovie(_startFrame8, _endFrame8, 0);
            playSound("z#30.wav", 100);
        }

        if (_startFrame9 >= 0) {
            playMovie(_startFrame9, _endFrame9, MOVIE_NOTIFY_OBJECT);
            playSound("z#26.wav", 100);
        }

        uint petRoomFlags = pet->getRoomFlags();
        if (mailExists(petRoomFlags) && _endFrame1 >= 0)
            playMovie(_endFrame1, _endFrame1, 0);

        _enabled = true;
        CSUBTransition transMsg;
        transMsg.execute(this);

        setTalking(this, true, findView());
        petSetArea(PET_REMOTE);
        petHighlightGlyph(16);
    }

    return true;
}
示例#2
0
bool CSuccUBus::TurnOn(CTurnOn *msg) {
	if (getRandomNumber(9) == 0) {
		CParrotSpeakMsg speakMsg("SuccUBus", "TurnOn");
		speakMsg.execute("PerchedParrot");
	}

	CPetControl *pet = getPetControl();
	if (pet) {
		if (!_signalFlag && _initialStartFrame >= 0) {
			playMovie(_initialStartFrame, _initialEndFrame, 0);
			playSound("z#30.wav", 100);
		}

		if (_onStartFrame >= 0) {
			playMovie(_onStartFrame, _onEndFrame, MOVIE_NOTIFY_OBJECT);
			playSound("z#26.wav", 100);
		}

		uint petRoomFlags = pet->getRoomFlags();
		if (mailExists(petRoomFlags) && _endFrame1 >= 0)
			// Mail canister present
			playMovie(_endFrame1, _endFrame1, 0);

		_isOn = true;
		CSUBTransition transMsg;
		transMsg.execute(this);

		setTalking(this, true, findView());
		petSetArea(PET_REMOTE);
		petHighlightGlyph(16);
	}

	return true;
}
示例#3
0
bool CBarbot::TimerMsg(CTimerMsg *msg) {
	if (!_fieldC4 && compareRoomNameTo("Bar")) {
		CParrotSpeakMsg speakMsg("Barbot", "AskForDrink");
		speakMsg.execute("PerchedParrot");
		addTimer(10000 + getRandomNumber(20000));
	}

	return true;
}
示例#4
0
bool CSuccUBus::EnterViewMsg(CEnterViewMsg *msg) {
    if (getRandomNumber(4) == 0 && compareRoomNameTo("PromenadeDeck")) {
        CParrotSpeakMsg speakMsg("SuccUBus", "EnterView");
        speakMsg.execute("PerchedParrot");
    }

    petSetRemoteTarget();
    _mailP = nullptr;
    if (_startFrame8 >= 0)
        loadFrame(_startFrame8);

    return true;
}
示例#5
0
bool CCellPointButton::MouseButtonDownMsg(CMouseButtonDownMsg *msg) {
	if (getRandomNumber(2) == 0) {
		CParrotSpeakMsg speakMsg("Cellpoints", _npcName);
		speakMsg.execute("PerchedParrot");
	}

	playMovie(0);
	_regionNum = _regionNum ? 0 : 1;
	playSound("z#425.wav");
	talkSetDialRegion(_npcName, _dialNum, _regionNum);

	return true;
}