bool CSuccUBus::MouseButtonDownMsg(CMouseButtonDownMsg *msg) { if (!_field1D8) { Rect tempRect = _rect1; tempRect.translate(_bounds.left, _bounds.top); if (!_enabled || (_field188 && tempRect.contains(msg->_mousePos))) { CTurnOn onMsg; onMsg.execute(this); _enabled = true; } else if (getRandomNumber(256) < 130) { _enabled = false; CTurnOff offMsg; offMsg.execute(this); } else { switch (getRandomNumber(2)) { case 0: startTalking(this, 230055, findView()); break; case 1: startTalking(this, 230067, findView()); break; case 2: startTalking(this, 230045, findView()); break; default: break; } } } return true; }
bool CBilgeSuccUBus::MouseButtonDownMsg(CMouseButtonDownMsg *msg) { if (_enabled) { switch (getRandomNumber(4)) { case 0: case 4: { _enabled = false; CTurnOff offMsg; offMsg.execute(this); break; } case 1: startTalking(this, 230055); break; case 2: startTalking(this, 230067); break; case 3: startTalking(this, 230045); break; default: break; } } else { CTurnOn onMsg; onMsg.execute(this); _enabled = true; } return true; }
bool CSeasonalAdjustment::TurnOn(CTurnOn *msg) { if (_fieldE0) { _fieldE0 = false; CTurnOn onMsg; onMsg.execute("LeftPanExit"); onMsg.execute("RightPanExit"); } return true; }
bool CAutoSoundPlayer::LoadSuccessMsg(CLoadSuccessMsg *msg) { if (_active) { _soundHandle = -1; _active = false; CTurnOn onMsg; onMsg.execute(this); } return true; }
bool CSuccUBus::SignalObject(CSignalObject *msg) { if (msg->_numValue == 1) { _string2 = msg->_strValue; _field15C = 1; setVisible(true); CTurnOn onMsg; onMsg.execute(this); } return true; }
bool CSuccUBus::SignalObject(CSignalObject *msg) { if (msg->_numValue == 1) { _signalTarget = msg->_strValue; _signalFlag = true; setVisible(true); CTurnOn onMsg; onMsg.execute(this); } return true; }
bool CSeasonBackground::MovieEndMsg(CMovieEndMsg *msg) { if (msg->_endFrame == _defaultFrame) { CTurnOn onMsg; onMsg.execute("SeasonalAdjust"); } if (msg->_endFrame == 91 && !_flag) { CStatusChangeMsg changeMsg; changeMsg.execute("PickUpSpeechCentre"); } return true; }
bool CDeskbot::MovieEndMsg(CMovieEndMsg *msg) { bool flag = false; if (_npcFlags & NPCFLAG_10000) { if (_classNum) { petSetArea(PET_ROOMS); dec54(); unlockMouse(); playSound("z#47.wav"); _classNum = NO_CLASS; } _npcFlags &= ~NPCFLAG_10000; flag = true; } if (_npcFlags & NPCFLAG_40000) { _deskbotActive = false; _npcFlags &= ~(NPCFLAG_40000 | NPCFLAG_20000); if (_npcFlags & NPCFLAG_80000) { CTurnOn turnOn; turnOn.execute("EmbBellbotTrigger"); unlockMouse(); changeView("EmbLobby.Node 4.N", ""); } else if (_npcFlags & NPCFLAG_100000) { CTurnOn turnOn; turnOn.execute("EmbDoorBotTrigger"); unlockMouse(); changeView("EmbLobby.Node 4.N", ""); } _npcFlags &= ~(NPCFLAG_80000 | NPCFLAG_100000); flag = true; } if (_npcFlags & NPCFLAG_20000) { _npcFlags &= ~(NPCFLAG_40000 | NPCFLAG_20000); setTalking(this, true, findView()); _npcFlags |= NPCFLAG_START_IDLING; flag = true; } if (!flag) CTrueTalkNPC::MovieEndMsg(msg); return true; }
bool CSGTStateRoom::ActMsg(CActMsg *msg) { CPetControl *pet = getPetControl(); uint roomFlags = pet->getRoomFlags(); uint assignedRoom = pet->getAssignedRoomFlags(); if (roomFlags != assignedRoom) { petDisplayMessage(NOT_YOUR_ASSIGNED_ROOM); } else if (_isClosed) { CTurnOn onMsg; onMsg.execute(this); } else { CTurnOff offMsg; offMsg.execute(this); } return true; }
bool CLightSwitch::PETActivateMsg(CPETActivateMsg *msg) { if (msg->_name == "Light") { if (_flag) { CTurnOff offMsg; offMsg.execute("1stClassState", CLight::_type, MSGFLAG_CLASS_DEF | MSGFLAG_SCAN); } else { CTurnOn onMsg; onMsg.execute("1stClassState", CLight::_type, MSGFLAG_CLASS_DEF | MSGFLAG_SCAN); _flag = false; if (_turnOnTV) CTelevision::_turnOn = false; } } return true; }
bool CShipSetting::AddHeadPieceMsg(CAddHeadPieceMsg *msg) { _cursorId = CURSOR_HAND; if (msg->_value == "Enable") { CTurnOn onMsg; onMsg.execute(_target); if (isEquals("ChickenSetting")) { CActMsg actMsg("DecreaseQuantity"); actMsg.execute("ChickenDispenser"); } } else { CTurnOff offMsg; offMsg.execute(_target); } return true; }
bool CNodeAutoSoundPlayer::EnterNodeMsg(CEnterNodeMsg *msg) { CNodeItem *node = findNode(); CRoomItem *room = findRoom(); if (node == msg->_newNode) { CTurnOn onMsg; onMsg.execute(this); if (_enabled) { CChangeMusicMsg changeMsg; changeMsg._action = MUSIC_STOP; changeMsg.execute(room, CAutoMusicPlayer::_type, MSGFLAG_CLASS_DEF | MSGFLAG_BREAK_IF_HANDLED | MSGFLAG_SCAN); } } return true; }
bool CViewAutoSoundPlayer::EnterViewMsg(CEnterViewMsg *msg) { CViewItem *view = findView(); CRoomItem *room = findRoom(); if (view == msg->_newView) { CTurnOn onMsg; onMsg.execute(this); if (_enabled) { CChangeMusicMsg changeMsg; changeMsg._action = MUSIC_STOP; changeMsg.execute(room, CAutoMusicPlayer::_type, MSGFLAG_CLASS_DEF |MSGFLAG_BREAK_IF_HANDLED | MSGFLAG_SCAN); } } return true; }
bool CPickUpBarGlass::MouseDragStartMsg(CMouseDragStartMsg *msg) { if (checkStartDragging(msg) && _enabled) { CTurnOn onMsg; onMsg.execute("BeerGlass"); CVisibleMsg visibleMsg; visibleMsg.execute("BeerGlass"); CPassOnDragStartMsg passMsg(msg->_mousePos, 1, 3); passMsg.execute("BeerGlass"); msg->_dragItem = getRoot()->findByName("BeerGlass"); CActMsg actMsg("PlayerTakesGlass"); actMsg.execute("Barbot"); return true; } else { return false; } }
bool CArboretumGate::ActMsg(CActMsg *msg) { if (msg->_action == "PlayerGetsSpeechCentre") { _v1 = 1; CVisibleMsg visibleMsg(true); visibleMsg.execute("SpCtrOverlay"); } else if (msg->_action == "ExitLFrozen") { if (_v3) { _viewName2 = "FrozenArboretum.Node 2.W"; CTurnOn onMsg; onMsg.execute(this); } else { changeView("FrozenArboretum.Node 2.W"); } } else if (msg->_action == "ExitRFrozen") { if (_v3) { _viewName2 = "FrozenArboretum.Node 2.E"; CTurnOn onMsg; onMsg.execute(this); } else { changeView("FrozenArboretum.Node 2.E"); } } else if (msg->_action == "ExitLNormal") { if (_v3) { _viewName2 = "Arboretum.Node 2.W"; CTurnOn onMsg; onMsg.execute(this); } else { changeView("Arboretum.Node 2.W"); } } else if (msg->_action == "ExitRNormal") { if (_v3) { _viewName2 = "Arboretum.Node 2.E"; CTurnOn onMsg; onMsg.execute(this); } else { changeView("Arboretum.Node 2.E"); } } return true; }