bool CCentralCore::UseWithOtherMsg(CUseWithOtherMsg *msg) { CString name = msg->_other->getName(); if (name == "HammerDispensorButton") { CPuzzleSolvedMsg solvedMsg; solvedMsg.execute("BigHammer"); } else if (name == "SpeechCentre") { CShowTextMsg textMsg(DOES_NOT_REACH); textMsg.execute("PET"); } return CBrain::UseWithOtherMsg(msg); }
bool CLongStick::UseWithOtherMsg(CUseWithOtherMsg *msg) { if (msg->_other->isEquals("SpeechCentre")) { CPuzzleSolvedMsg puzzleMsg; puzzleMsg.execute(msg->_other); } else if (msg->_other->isEquals("LongStickDispensor")) { petDisplayMessage(1, ALREADY_HAVE_STICK); } else if (msg->_other->isEquals("Bomb")) { CActMsg actMsg("Hit"); actMsg.execute("Bomb"); } else { return CCarry::UseWithOtherMsg(msg); } return true; }
bool CBarbot::MovieEndMsg(CMovieEndMsg *msg) { if (msg->_endFrame == _frameNum) { _frameNum = -1; _field14C = getTicksCount(); } if (msg->_endFrame == _field148) { _field148 = -1; _field150 = getTicksCount(); } if (msg->_endFrame == _field13C) { if (_field124) playMovie(_frames[53]._startFrame, _frames[53]._startFrame, 0); else if (_visCenterOnCounter) playMovie(_frames[27]._endFrame, _frames[27]._endFrame, 0); _field13C = -1; return true; } if (msg->_endFrame == _frames[58]._endFrame || msg->_endFrame == _frames[21]._endFrame) { CVisibleMsg visibleMsg(true); visibleMsg.execute("BarShelfVisCentre"); } if (msg->_endFrame == _frames[57]._endFrame) { startTalking(this, 250575); playSound("c#10.wav", _volume); return true; } if (msg->_endFrame == _frames[55]._endFrame) { playSound("c#10.wav", _volume); return true; } if (msg->_endFrame == _frames[56]._endFrame || msg->_endFrame == _frames[54]._endFrame) { CStatusChangeMsg statusMsg; statusMsg._newStatus = 1; statusMsg.execute("PickUpGlass"); CMoveToStartPosMsg moveMsg; moveMsg.execute("BeerGlass"); return true; } if (msg->_endFrame == _frames[30]._endFrame) { _field124 = 0; CStatusChangeMsg statusMsg; statusMsg._newStatus = 0; statusMsg.execute("PickUpGlass"); } if (msg->_endFrame == _frames[45]._endFrame) { if (!_gottenDrunk) { CVisibleMsg visibleMsg(false); visibleMsg.execute("BarShelfVisCentre"); } return true; } if (msg->_endFrame == _frames[44]._endFrame) { _visCenterOnCounter = true; _gottenDrunk = true; startTalking(this, 250586); CStatusChangeMsg statusMsg; statusMsg._newStatus = 1; statusMsg.execute("PickUpVisCentre"); CPuzzleSolvedMsg solvedMsg; solvedMsg.execute("VisionCentre"); } if (msg->_endFrame == _frames[46]._endFrame) { if (!_gottenDrunk && !areIngredientsMissing()) startTalking(this, 250571); return true; } if (msg->_endFrame == _frames[43]._endFrame || msg->_endFrame == _frames[42]._endFrame || msg->_endFrame == _frames[41]._endFrame) { if (_field124) playMovie(_frames[53]._startFrame, _frames[53]._startFrame, 0); return true; } if (msg->_endFrame == _frames[38]._endFrame || msg->_endFrame == _frames[23]._endFrame) { playSound("c#3.wav", _volume); } else if (msg->_endFrame == _frames[36]._endFrame) { playSound("c#6.wav", _volume); } else if (msg->_endFrame == _frames[35]._endFrame) { playSound("c#8.wav", _volume); } else if (msg->_endFrame == _frames[33]._endFrame) { playSound("c#4.wav", _volume); } else if (msg->_endFrame == _frames[32]._endFrame) { startTalking(this, 145); playSound("c#9.wav", _volume); } else if (msg->_endFrame == _frames[47]._endFrame) { playSound("c#9.wav", _volume); _addedVodka = true; _drunkFlag = true; } else if (msg->_endFrame == _frames[30]._endFrame) { playSound("c#4.wav", 60); } else if (msg->_endFrame == _frames[29]._endFrame) { if (!_fieldC4) { performAction(true, nullptr); setVisible(false); CActMsg actMsg("ResetCount"); actMsg.execute("BarBell"); } } else if (msg->_endFrame == _frames[27]._endFrame) { CStatusChangeMsg statusMsg; statusMsg._newStatus = 1; statusMsg.execute("PickUpVisCentre"); _visCenterOnCounter = true; _field134 = 0; startTalking(this, 250586); } return true; }