/* 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 420 && _G(player_info).x < 490 && _G(player_info).y > 284 && _G(player_info).y < 305 && _G(player_info).facing > 2 && _G(player_info).facing < 7 && _G(flags)[V269] == 1) { if (_G(flags)[kStandingOnKibble]) { _G(flags)[kStandingOnKibble] = 1; } else { _G(flags)[kStandingOnKibble] = 1; term_message("Wilbur now slips on kibble!"); intr_cancel_sentence(); _G(wilbur_should) = 12; kernel_trigger_dispatch_now(kCHANGE_WILBUR_ANIMATION); } } else { _G(flags)[kStandingOnKibble] = 0; } break; default: _G(kernel).continue_handling_trigger = true; break; } } void Room603::pre_parser() { _G(kernel).trigger_mode = KT_DAEMON; if (_G(flags)[kHampsterState] == 6006 && (player_said("TUBE ") || player_said("TUBE "))) { term_message("Can't leave through back tube as gerbils are in the way."); wilbur_speech("600w003"); intr_cancel_sentence(); } else if (player_said("GEAR", "WATER") || player_said("TAKE", "WATER")) { _G(wilbur_should) = 15; player_hotspot_walk_override(272, 271, 2, kCHANGE_WILBUR_ANIMATION); } else if (player_said("KIBBLE", "FLOOR")) { if (_G(flags)[V269]) { _G(player).need_to_walk = false; _G(player).ready_to_walk = false; wilbur_speech("600w008z"); } else { _sectionSeries1 = series_load("602wi20"); Section6::_series603 = series_load("602wi20s"); _G(wilbur_should) = 14; player_hotspot_walk_override(502, 301, 9, kCHANGE_WILBUR_ANIMATION); } } else if (player_said("RAY GUN", "GERBILS")) { _G(wilbur_should) = 10; player_hotspot_walk_override(226, 301, 2, kCHANGE_WILBUR_ANIMATION); } else if (player_said("WATER DISH") || player_said("WATER")) { if (_G(flags)[kHampsterState] == 6006) { wilbur_speech("600w003"); intr_cancel_sentence(); } else if (player_said("KIBBLE")) { _G(wilbur_should) = 11; player_hotspot_walk_override(261, 274, 2, kCHANGE_WILBUR_ANIMATION); } else if (player_said("RAY GUN", "WATER DISH")) { if (_G(flags)[V277] == 6001 && _G(flags)[V270] == 6000) _series4 = series_load("603motor"); _G(wilbur_should) = 8; player_hotspot_walk_override(180, 329, 2, kCHANGE_WILBUR_ANIMATION); } else if (player_said("RAY GUN", "WATER") && _G(flags)[V270] == 6000) { _G(wilbur_should) = 9; player_hotspot_walk_override(350, 282, 10, kCHANGE_WILBUR_ANIMATION); } else { return; } } else { return; } _G(player).command_ready = false; } void Room603::parser() { _G(kernel).trigger_mode = KT_DAEMON; if (_G(walker).wilbur_said(SAID)) { // Already handled } else if ((player_said("WATER DISH") || player_said("WATER")) && player_said("LOOK AT")) { wilbur_speech(_G(flags)[V270] == 6000 ? "603w002" : "603w003"); } else if (player_said("GEAR", "TUBE ") || player_said("CLIMB IN", "TUBE ")) { _G(flags)[V246] = 1; _G(wilbur_should) = 6; kernel_trigger_dispatch_now(kCHANGE_WILBUR_ANIMATION); } else if (player_said("GEAR", "TUBE ") || player_said("CLIMB IN", "TUBE ")) { _G(flags)[V246] = 1; _G(wilbur_should) = 7; kernel_trigger_dispatch_now(kCHANGE_WILBUR_ANIMATION); } else if (player_said("GEAR", "TUBE") || player_said("CLIMB IN", "TUBE")) { _G(flags)[V246] = 1; _G(wilbur_should) = 4; kernel_trigger_dispatch_now(kCHANGE_WILBUR_ANIMATION); } else if (player_said("GEAR", "TUBE ") || player_said("CLIMB IN", "TUBE ")) { _G(flags)[V246] = 1; _G(wilbur_should) = 5; kernel_trigger_dispatch_now(kCHANGE_WILBUR_ANIMATION); } else if (player_said("RAY GUN", "CARROT")) { wilbur_speech("603w019"); } else { return; } _G(player).command_ready = false; } } // namespace Rooms } // namespace Burger } // namespace M4