/* ScummVM - Graphic Adventure Engine * * ScummVM is the legal property of its developers, whose names * are too numerous to list here. Please refer to the COPYRIGHT * file distributed with this source distribution. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see 0) { term_message("fading hero tune, current volume = %d", _volume); digi_change_volume(3, _volume); kernel_timing_trigger(20, 39); } else { digi_stop(3); } break; case 40: digi_play("709B_005", 1, 255, -1, 709); break; case 41: pal_fade_init(_G(kernel).first_fade, 255, 0, 150, -1); break; case 42: adv_kill_digi_between_rooms(false); _G(game).setRoom(_G(executing) == WHOLE_GAME ? 903 : 901); break; case kCHANGE_WILBUR_ANIMATION: switch (_G(wilbur_should)) { case 1: _G(wilbur_should) = 21; _flag6 = true; _series6 = series_play("706WIT01", 0x200, 0, -1, 6, -1); digi_play(conv_sound_to_play(), 1, 255, kCHANGE_WILBUR_ANIMATION); break; case 21: if (_flag6) terminateMachineAndNull(_series6); _flag6 = false; conv_resume_curr(); break; default: break; } break; default: _G(kernel).continue_handling_trigger = true; break; } } void Room706::parser() { _G(kernel).trigger_mode = KT_DAEMON; if (player_said("conv83")) { conv83(); _G(player).command_ready = false; } } void Room706::conv83() { if (conv_sound_to_play()) { const int who = conv_whos_talking(); if (who <= 0) { _astralShould = 1; kernel_trigger_dispatch_now(kCHANGE_ASTRAL_ANIMATION); } else if (who == 1) { _G(wilbur_should) = 1; kernel_trigger_dispatch_now(kCHANGE_WILBUR_ANIMATION); } } } void Room706::getFlumixShould() { _G(flumix_should) = imath_ranged_rand(1, 100) >= 10 ? 3 : 2; } } // namespace Rooms } // namespace Burger } // namespace M4