Frame 1
_root.gameData = " <gamedata seed=\"1206730533\" lang=\"en_US\" standalone=\"1\" partner=\"reveille\"> <level id=\"1\" time=\"60\" colors=\"3\" delay=\"12\" cols=\"11\" rows=\"12\" startrows=\"8\" bonuspercent=\"3\" specialpercent=\"3\" targetloss=\"500\"/> <level id=\"2\" time=\"80\" colors=\"3\" delay=\"10\" cols=\"11\" rows=\"12\" startrows=\"8\" bonuspercent=\"4\" specialpercent=\"4\" targetloss=\"750\"/> <level id=\"3\" time=\"100\" colors=\"4\" delay=\"8\" cols=\"11\" rows=\"12\" startrows=\"8\" bonuspercent=\"5\" specialpercent=\"5\" targetloss=\"1000\"/> <text id=\"bad_item3.NOTE\">falling-->advancing</text> <text id=\"bad_item2\">Gum: Sticky gum slows you down.</text> <text id=\"bad_item1\">Feeding Frenzy: Creates 3X bad food from each combo.</text> <text id=\"bad_item3\">Coffee: Speeds up the advancing food.</text> <text id=\"good_items_text1\">Catch these for good special effects!</text> <text id=\"time_to_start\">TIME TO START</text> <text id=\"before\">BEFORE</text> <text id=\"total_score\">TOTAL SCORE</text> <text id=\"open_game_over\">Register to continue playing and complete the game!</text> <text id=\"click_to_start\">CLICK TO START</text> <text id=\"score\">SCORE</text> <text id=\"good_food_text1\">Good food keeps you thin and gives points!</text> <text id=\"good_items_header\">Good items</text> <text id=\"game_over\">GAME OVER</text> <text id=\"bad_items_header\">Bad items</text> <text id=\"after\">AFTER</text> <text id=\"time_left\">TIME LEFT</text> <text id=\"level\">LEVEL</text> <text id=\"good_food_header\">Good food</text> <text id=\"sound_on\">Sound ON</text> <text id=\"instructions_text1\">Pull down and and throw back the food items to make combinations of 4 and more. For every bad food item you destroy you lose weight, try and reach your optimal weight before time runs out.Catch healthy items as they fall down to slim down faster, but avoid the bad food or your weight piles right back up again.Catch specials items to trigger special effects but avoid releasing the bad specials.</text> <text id=\"bad_food_text1\">Don't catch bad food, as it will cause you to lose the points you just gained.</text> <text id=\"level_completed\">ROUND COMPLETED</text> <text id=\"good_item2\">Dumbbell:Removes a horizontal row when used.</text> <text id=\"sound_off\">Sound OFF</text> <text id=\"good_item1\">Excercise:Doubles all your scores.</text> <text id=\"weight_target\">WEIGHT TARGET</text> <text id=\"good_item4\">Fat Shield:Makes bad food bounce off you.</text> <text id=\"good_item3\">Fat Buster:Removes one kind of bad food.</text> <text id=\"bad_items_text1\">Bad items are activated when they are released.</text> <text id=\"end_game\">End game</text> <text id=\"instructions_header\">INSTRUCTIONS</text> <text id=\"weight_target_reached\">WEIGHT TARGET REACHED</text> <text id=\"bonus\">BONUS</text> <text id=\"bad_food_header\">Bad food</text> </gamedata>";
_root.gamemode = 2;
var game = (new com.midasplayer.game.biggest_loser.Game());
stop();
Symbol 44 MovieClip Frame 1
stop();
Symbol 137 MovieClip Frame 2
stop();
Symbol 137 MovieClip Frame 19
gotoAndStop (1);
Symbol 137 MovieClip Frame 30
gotoAndStop (1);
Symbol 220 MovieClip Frame 1
stop();
Symbol 232 MovieClip Frame 1
stop();
Symbol 242 MovieClip Frame 1
stop();
Symbol 274 MovieClip Frame 1
stop();
Symbol 274 MovieClip Frame 10
gotoAndPlay (3);
Symbol 420 MovieClip [__Packages.com.midasplayer.util.GameBase] Frame 0
class com.midasplayer.util.GameBase
{
static var playDataEntryId_, playData_, gameData, game_, checkGameDataIntervalId_;
function GameBase () {
gameMode_ = GAME_MODE_MONEY;
playDataEntryId_ = 0;
playData_ = "";
}
function startGame() {
}
static function setGameMode(gameMode) {
gameMode_ = gameMode;
}
static function getGameMode() {
return(gameMode_);
}
static function setGameType(gameType) {
gameType_ = gameType;
}
static function getGameType() {
return(gameType_);
}
static function getGameData() {
return(gameData);
}
static function reportGameStart() {
com.midasplayer.util.Log.debug("gameStart");
fscommand ("gameStart");
}
static function reportGameEnd(score) {
com.midasplayer.util.Log.debug("gameEnd " + String(score));
fscommand ("gameEnd", String(score));
playData_ = (("<result><![CDATA[" + score) + "]]></result>\n") + playData_;
}
static function reportGameQuit() {
com.midasplayer.util.Log.debug("gameQuit");
fscommand ("gameQuit");
}
function reportGameOver(score) {
com.midasplayer.util.Log.debug("gameOver " + String(score));
fscommand ("gameOver", String(score));
}
static function reportPlayData(pCode, pData, pScore) {
if (gameMode_ != GAME_MODE_MONEY) {
return(undefined);
}
var _local1;
_local1 = String(pCode);
if ((pData != null) && (pData.length > 0)) {
_local1 = _local1 + ("," + pData);
}
if (((pScore != undefined) && (pScore != null)) && (pScore.length > 0)) {
_local1 = _local1 + ("=" + pScore);
}
com.midasplayer.util.Log.debug("playData " + _local1);
fscommand ("playData", "" + _local1);
playDataEntryId_++;
playData_ = playData_ + (("<entry id=\"" + playDataEntryId_) + "\"");
playData_ = playData_ + " time=\"2007-08-27 12:13:45\">";
playData_ = playData_ + (("<![CDATA[" + _local1) + "]]></entry>\n");
}
static function getPlayData() {
var _local1 = newline;
_local1 = _local1 + "<midas>\n";
_local1 = _local1 + "<client action=\"gameover\" slotId=\"57990\" playId=\"0\" request=\"3\" magic=\"443172449\">\n";
_local1 = _local1 + (("<gameover time=\"2007-08-27 12:14:01\" lastplaydataid=\"" + playDataEntryId_) + "\" elapsed=\"18000\" sync=\"0\" cheat=\"0\">\n");
_local1 = _local1 + playData_;
_local1 = _local1 + "</gameover>\n";
_local1 = _local1 + "</client>\n";
_local1 = _local1 + "</midas>";
return(_local1);
}
static function runsLocal() {
return(_root._URL.substr(0, 5).toLowerCase() == "file:");
}
function init(game) {
game_ = game;
checkGameDataIntervalId_ = setInterval(this, "checkGameData", 200);
}
function checkGameData() {
if (!hasGameData_) {
if (((_root.gameData != null) && (_root.gameData != undefined)) && (_root.gameData != "")) {
hasGameData_ = true;
parseGameData(_root.gameData);
clearInterval(checkGameDataIntervalId_);
game_.startGame();
}
}
}
function parseGameData(myData) {
gameData = new com.midasplayer.util.Map();
var _local7 = new XML();
_local7.ignoreWhite = true;
_local7.parseXML(myData);
var _local4 = _local7.firstChild;
if (_local4.nodeName == "gamedata") {
for (var _local6 in _local4.attributes) {
var _local5;
var _local2 = _local4.attributes[_local6];
gameData.put(_local6, _local2);
}
var _local1 = _local4.firstChild;
while (_local1 != null) {
if (_local1.nodeName == "text") {
com.midasplayer.util.I18n.addTranslation(String(_local1.attributes.id), String(_local1.firstChild));
} else {
var _local3 = "0";
for (var _local6 in _local1.attributes) {
var _local2 = _local1.attributes[_local6];
if (_local6 == "id") {
_local3 = _local2;
} else {
gameData.put((((_local1.nodeName + ".") + _local3) + ".") + _local6, _local2);
}
}
gameData.put(((_local1.nodeName + ".") + _local3) + ".nodeData", _local1.firstChild);
}
_local1 = _local1.nextSibling;
}
}
}
static var GAME_MODE_DEBUG = 0;
static var GAME_MODE_PRACTICE = 1;
static var GAME_MODE_MONEY = 2;
static var GAME_TYPE_SINGLE = 0;
static var GAME_TYPE_MULTI = 1;
static var gameMode_ = GAME_MODE_DEBUG;
static var gameType_ = GAME_TYPE_SINGLE;
static var hasGameData_ = false;
}
Symbol 421 MovieClip [__Packages.com.midasplayer.util.Map] Frame 0
class com.midasplayer.util.Map
{
var map, lastSize;
function Map (init) {
map = new Object();
for (var _local3 in init) {
map["@" + _local3] = init[_local3];
}
lastSize = -1;
}
function put(key, value) {
map["@" + key] = value;
lastSize = -1;
}
function get(key) {
return(map["@" + key]);
}
function remove(key) {
var _local2 = map["@" + key];
delete map["@" + key];
lastSize = -1;
return(_local2);
}
function count() {
if (lastSize < 0) {
lastSize = 0;
for (var _local2 in map) {
lastSize++;
}
}
return(lastSize);
}
function size() {
return(count());
}
function clear() {
map = {};
lastSize = 0;
}
function dump() {
var _local2 = "";
for (var _local3 in map) {
_local2 = _local2 + "x";
_local2 = _local2 + (((_local3 + "=>") + map[_local3]) + newline);
}
trace(_local2);
}
function toArray() {
var _local2 = [];
for (var _local3 in map) {
_local2[_local2.length] = map[_local3];
}
return(_local2);
}
function keySet() {
var _local2 = [];
for (var _local3 in map) {
_local2[_local2.length] = _local3.substring(1);
}
return(_local2);
}
function foreach(fn) {
do {
if ((in map) == null) {
break;
}
var _local3 = in map;
} while (fn(_local3.substring(1), map[_local3]) != false);
do {
} while ("foreach" != null);
lastSize = -1;
}
}
Symbol 422 MovieClip [__Packages.com.midasplayer.util.ArrayList] Frame 0
class com.midasplayer.util.ArrayList
{
var value;
function ArrayList () {
value = new Array();
}
function insert(obj, pos) {
var _local3 = value.length;
if (pos == undefined) {
value.push(obj);
return(_local3);
}
if (pos > _local3) {
pos = _local3;
}
var _local2 = _local3 - 1;
while (_local2 > (pos - 1)) {
value[_local2 + 1] = value[_local2];
_local2--;
}
value[pos] = obj;
return(pos);
}
function get(pos) {
return(value[pos]);
}
function indexOf(obj) {
var _local2 = 0;
while (_local2 < value.length) {
if (obj == value[_local2]) {
return(_local2);
}
_local2++;
}
return(-1);
}
function remove(obj) {
return(removeByIndex(indexOf(obj)));
}
function removeByIndex(pos) {
var _local5;
var _local3 = value.length;
if ((pos < _local3) && (pos >= 0)) {
_local5 = value[pos];
delete value[pos];
var _local2 = pos;
while (_local2 < (_local3 - 1)) {
value[_local2] = value[_local2 + 1];
_local2++;
}
value.length = _local3 - 1;
}
return(_local5);
}
function size() {
return(value.length);
}
function clear() {
value = new Array();
}
function toArray() {
return(value);
}
function foreach(fn) {
var _local2 = 0;
var _local3 = value.length;
while (_local2 < _local3) {
if (fn(_local2, value[_local2]) == false) {
break;
}
_local2++;
}
}
function sortOn(field) {
value.sortOn(field);
}
function sort() {
value.sort();
}
function subList(from, to) {
if (!to) {
to = value.length;
}
var _local3 = new com.midasplayer.util.ArrayList();
var _local2 = from;
while (_local2 < to) {
_local3.insert(get(_local2));
_local2++;
}
return(_local3);
}
}
Symbol 423 MovieClip [__Packages.com.midasplayer.util.Log] Frame 0
class com.midasplayer.util.Log
{
function Log () {
}
static function setLevel(level) {
level_ = level;
}
static function debug(msg) {
if (level_ <= LEVEL_DEBUG) {
log_.insert(new com.midasplayer.util.LogEntry(LEVEL_DEBUG, msg));
}
}
static function warning(msg) {
if (level_ <= LEVEL_WARNING) {
log_.insert(new com.midasplayer.util.LogEntry(LEVEL_WARNING, msg));
}
}
static function error(msg) {
if (level_ <= LEVEL_ERROR) {
log_.insert(new com.midasplayer.util.LogEntry(LEVEL_ERROR, msg));
}
}
static function getLog() {
if (log_.size() != logStringLastUpdatedSize_) {
logString_ = "";
var _local1 = 0;
while (_local1 < log_.size()) {
var _local2 = com.midasplayer.util.LogEntry(log_.get(_local1));
if (_local1 > 0) {
logString_ = logString_ + newline;
}
logString_ = logString_ + LEVEL_STRINGS[_local2.getLevel()];
logString_ = logString_ + ": ";
logString_ = logString_ + _local2.getMessage();
logStringLastUpdatedSize_ = log_.size();
_local1++;
}
}
return(logString_);
}
static var LEVEL_ALL = -1;
static var LEVEL_NONE = 1000;
static var LEVEL_DEBUG = 0;
static var LEVEL_WARNING = 1;
static var LEVEL_ERROR = 2;
static var LEVEL_STRINGS = ["DEBUG", "WARNING", "ERROR"];
static var level_ = LEVEL_ALL;
static var log_ = new com.midasplayer.util.ArrayList();
static var logString_ = "";
static var logStringLastUpdatedSize_ = 0;
}
Symbol 424 MovieClip [__Packages.com.midasplayer.util.LogEntry] Frame 0
class com.midasplayer.util.LogEntry
{
var level_, message_;
function LogEntry (level, msg) {
level_ = level;
message_ = msg;
}
function getLevel() {
return(level_);
}
function getMessage() {
return(message_);
}
}
Symbol 425 MovieClip [__Packages.com.midasplayer.util.I18n] Frame 0
class com.midasplayer.util.I18n
{
function I18n () {
}
static function addTranslation(name, val) {
val = val.split("'").join("'");
val = val.split("\r\n").join(newline);
translations_.put(name, val);
}
static function format(name, replace0, replace1, replace2) {
var _local3 = translations_.get(name);
if (_local3 == undefined) {
return(("{" + name) + "}");
}
var _local1 = _local3.toString();
if (replace0 != undefined) {
var _local2 = _local1.split("{0}");
_local1 = _local2.join(replace0);
if (replace1 != undefined) {
_local2 = _local1.split("{1}");
_local1 = _local2.join(replace1);
if (replace2 != undefined) {
_local2 = _local1.split("{2}");
_local1 = _local2.join(replace2);
}
}
}
return(_local1);
}
static var translations_ = new com.midasplayer.util.Map();
}
Symbol 426 MovieClip [__Packages.com.midasplayer.game.biggest_loser.Game] Frame 0
class com.midasplayer.game.biggest_loser.Game extends com.midasplayer.util.GameBase
{
static var score_, bonus_, weight_, seed_, random_, gameEnded_, board_, animId_, timeLeft_, meter_, maxTime_, endGame_, quitIntervalId_;
var init, shortMode_, aDriver_;
function Game () {
super();
_root.version.text = "";
Stage.showMenu = false;
_root._quality = "best";
_root._focusrect = false;
com.midasplayer.util.GameBase.setGameMode(_root.gamemode);
com.midasplayer.util.Log.setLevel(com.midasplayer.util.Log.LEVEL_NONE);
init(this);
}
function startGame() {
if (DEBUG_MODE) {
var _local2 = new com.midasplayer.game.biggest_loser.Replay(this);
} else {
startGame2();
}
}
function startGame2() {
score_ = 0;
bonus_ = 0;
weight_ = 3000;
com.midasplayer.fx.SoundManager.enableSounds(true);
_root.gotoAndStop(1);
seed_ = Number(com.midasplayer.util.GameBase.gameData.get("seed"));
if (com.midasplayer.util.GameBase.gameData.get("standalone") == 1) {
seed_ = random(10000000);
}
random_ = new com.midasplayer.util.Random(seed_);
shortMode_ = com.midasplayer.util.GameBase.gameData.get("mode") == "short";
_root.signs = _root.createEmptyMovieClip("signs", _root.getNextHighestDepth());
_root.attachMovie("lowerbar", "lowerbar", _root.getNextHighestDepth());
_root.lowerbar.soundbtn.txt.text = com.midasplayer.util.I18n.format("sound_off");
_root.lowerbar.endgamebtn.txt.text = com.midasplayer.util.I18n.format("end_game");
_root.lowerbar._x = 0;
_root.lowerbar._y = 579;
_root.lowerbar.soundbtn.onRelease = function () {
com.midasplayer.game.biggest_loser.Game.switchSound();
};
_root.lowerbar.endgamebtn.onRelease = function () {
com.midasplayer.game.biggest_loser.Game.endGamePressed();
};
_root.lowerbar._visible = false;
com.midasplayer.util.GameBase.reportGameStart();
com.midasplayer.util.GameBase.reportPlayData(19, (VERSION + " ") + seed_, "0");
if (DEBUG_MODE) {
endShowInstructions();
} else {
showInstructions();
}
}
static function isDeluxe() {
var _local1 = com.midasplayer.util.GameBase.gameData.get("mode");
return(_local1 == "deluxe");
}
static function switchSound() {
var _local2 = com.midasplayer.fx.SoundManager.isSoundEnabled();
com.midasplayer.fx.SoundManager.enableSounds(!_local2);
if (_local2) {
_root.lowerbar.soundbtn.txt.text = com.midasplayer.util.I18n.format("sound_on");
} else {
_root.lowerbar.soundbtn.txt.text = com.midasplayer.util.I18n.format("sound_off");
}
}
static function endGamePressed() {
if (gameEnded_) {
return(undefined);
}
gameEndPressed_ = true;
_root.lowerbar.endgame.onRelease = undefined;
_root.lowerbar.endgame.useHandCursor = false;
_root.lowerbar.removeMovieClip();
if (board_ == null) {
com.midasplayer.util.AnimPlayer.stop(animId_);
com.midasplayer.util.GameBase.reportPlayData(177, "", "0");
_root.game.gameOver();
} else if (!board_.isStopped()) {
com.midasplayer.util.AnimPlayer.stop(animId_);
board_.endGamePressed();
com.midasplayer.util.GameBase.reportPlayData(177, "", "0");
}
}
function playLoop() {
if (_root.playingloop) {
return(undefined);
}
_root.playingloop = true;
var _local2 = 3;
if (timeLeft_ < 20) {
_local2 = 1;
} else if (timeLeft_ < 60) {
_local2 = 2;
}
var _local3 = 30;
_local2 = 1;
com.midasplayer.fx.SoundManager.play("biggest_loop#" + _local2, _local3, true, _root.game.playLoopAgain);
}
function playLoopAgain() {
_root.playingloop = false;
_root.game.playLoop();
}
function stopLoop() {
_root.playingloop = false;
com.midasplayer.fx.SoundManager.stop("biggest_loop#1");
com.midasplayer.fx.SoundManager.stop("biggest_loop#2");
com.midasplayer.fx.SoundManager.stop("biggest_loop#3");
}
function showInstructions() {
var _local3 = new Array();
com.midasplayer.fx.SoundManager.play("biggest_intro#4", 80);
_root.signs.attachMovie("intro_logo", "logo", 1);
if (com.midasplayer.util.GameBase.gameData.get("lang") == "en_US") {
_root.signs.logo.gotoAndStop(2);
_root.footer.text = "The Biggest Loser is a trademark and copyright of NBC Studios, Inc. & Reveille LLC. Licensed by Universal Studios Licensing LLLP. All Rights Reserved.\n\nThis game is offered solely by King.com and no other entity. Residents of the following states are excluded from playing this game: Alaska, Arizona, Arkansas, Connecticut, Delaware, Florida, Illinois, Indiana, Iowa, Louisiana, Maryland, Missouri, Montana, South Dakota, Tennessee and Vermont";
} else {
_root.signs.logo.gotoAndStop(1);
_root.footer.text = "";
}
aDriver_ = new com.midasplayer.util.AnimDriver(_root.signs.logo.anim, 24);
aDriver_.playOnce();
_root.signs.logo._x = 200;
_root.signs.logo._y = 40;
_root.signs.attachMovie("instructions", "sign", 2);
_root.signs.sign.txt.instructions_header.text = com.midasplayer.util.I18n.format("instructions_header");
_root.signs.sign.txt.instructions_text1.text = com.midasplayer.util.I18n.format("instructions_text1");
_root.signs.sign.start_button.txt.text = com.midasplayer.util.I18n.format("instructions_start");
_root.signs.sign.goodanim.goodfood.good_food_header.text = com.midasplayer.util.I18n.format("good_food_header");
_root.signs.sign.goodanim.goodfood.good_food_text1.text = com.midasplayer.util.I18n.format("good_food_text1");
_root.signs.sign.goodanim.gooditems.good_items_header.text = com.midasplayer.util.I18n.format("good_items_header");
_root.signs.sign.goodanim.gooditems.good_items_text1.text = com.midasplayer.util.I18n.format("good_items_text1");
_root.signs.sign.goodanim.gooditems.good_item1.text = com.midasplayer.util.I18n.format("good_item1");
_root.signs.sign.goodanim.gooditems.good_item2.text = com.midasplayer.util.I18n.format("good_item2");
_root.signs.sign.goodanim.gooditems.good_item3.text = com.midasplayer.util.I18n.format("good_item3");
_root.signs.sign.goodanim.gooditems.good_item4.text = com.midasplayer.util.I18n.format("good_item4");
_root.signs.sign.badanim.badfood.bad_food_header.text = com.midasplayer.util.I18n.format("bad_food_header");
_root.signs.sign.badanim.badfood.bad_food_text1.text = com.midasplayer.util.I18n.format("bad_food_text1");
_root.signs.sign.badanim.baditems.bad_items_header.text = com.midasplayer.util.I18n.format("bad_items_header");
_root.signs.sign.badanim.baditems.bad_items_text1.text = com.midasplayer.util.I18n.format("bad_items_text1");
_root.signs.sign.badanim.baditems.bad_item1.text = com.midasplayer.util.I18n.format("bad_item1");
_root.signs.sign.badanim.baditems.bad_item2.text = com.midasplayer.util.I18n.format("bad_item2");
_root.signs.sign.badanim.baditems.bad_item3.text = com.midasplayer.util.I18n.format("bad_item3");
_root.signs.sign.timestarttxt.text = com.midasplayer.util.I18n.format("time_to_start");
_root.signs.sign.clicktxt.text = com.midasplayer.util.I18n.format("click_to_start");
_root.signs.sign.txt_starts.text = "";
_root.signs.sign._alpha = 0;
_root.signs.onPress = function () {
this.pressed = true;
};
_local3.push([{obj:this, func:showLogo}]);
_local3.push([{obj:this, func:showInstructionsAnim}]);
com.midasplayer.util.AnimPlayer.play({playlist:_local3, callback:endShowInstructions, callback_scope:this, tps:50});
}
function showLogo(tick, alpha) {
var _local5 = tick + alpha;
var _local7 = 1;
if (com.midasplayer.util.GameBase.gameData.get("lang") == "en_US") {
_local7 = 2;
}
var _local4 = com.midasplayer.util.AnimPlayer.tickToPercent(_local5, 0, 50 * _local7);
var _local3 = com.midasplayer.util.AnimPlayer.tickToPercent(_local5, 200, 50);
_root.signs.logo._alpha = ((_local4 * _local4) * _local4) * 100;
if (_root.signs.pressed) {
_local3 = 1;
}
if (_local3 > 0) {
var _local6 = _local3 - 1;
_root.signs.logo._alpha = (_local6 * _local6) * 100;
}
if (_local3 == 1) {
aDriver_.playStop();
_root.signs.logo.removeMovieClip();
aDriver_ = new com.midasplayer.util.AnimDriver(_root.signs.sign.anim, 30);
return(true);
}
}
function showInstructionsAnim(tick, alpha) {
var _local3 = true;
var _local12 = tick + alpha;
var _local4 = com.midasplayer.util.AnimPlayer.tickToPercent(_local12, 0, 50);
var _local11 = com.midasplayer.util.AnimPlayer.tickToPercent(_local12, 50, 400);
var _local8 = com.midasplayer.util.AnimPlayer.tickToPercent(_local12, 380, 20);
var _local10 = com.midasplayer.util.AnimPlayer.tickToPercent(_local12, 400, 350);
var _local7 = com.midasplayer.util.AnimPlayer.tickToPercent(_local12, 730, 20);
var _local9 = com.midasplayer.util.AnimPlayer.tickToPercent(_local12, 750, 350);
var _local5 = com.midasplayer.util.AnimPlayer.tickToPercent(_local12, 1080, 20);
var _local14 = com.midasplayer.util.AnimPlayer.tickToPercent(_local12, 0, 1100);
var _local6 = Math.round(22 * (1 - _local14));
var _local13 = "00:00:" + ((_local6 < 10) ? ("0" + _local6) : (_local6));
_root.signs.sign.time.text = _local13;
_local3 = ((((_local4 == 1) && (_local11 == 1)) && (_local10 == 1)) && (_local9 == 1)) && (_local3);
if (_root.signs.sign._alpha != 100) {
_root.signs.sign._alpha = (_local4 * _local4) * 100;
}
if ((_local11 > 0) && (!_root.signs.sign.anim.started)) {
aDriver_.playOnce();
_root.signs.sign.anim.started = true;
}
if ((_local8 > 0) && (_root.signs.sign.anim._alpha != 0)) {
_root.signs.sign.anim._alpha = (1 - _local8) * 100;
}
if ((_local10 > 0) && (!_root.signs.sign.goodanim.started)) {
aDriver_.playStop();
aDriver_ = new com.midasplayer.util.AnimDriver(_root.signs.sign.goodanim, 50);
aDriver_.playOnce();
_root.signs.sign.goodanim.started = true;
}
if ((_local7 > 0) && (_root.signs.sign.goodanim._alpha != 0)) {
_root.signs.sign.goodanim._alpha = (1 - _local7) * 100;
}
if ((_local9 > 0) && (!_root.signs.sign.badanim.started)) {
aDriver_.playStop();
aDriver_ = new com.midasplayer.util.AnimDriver(_root.signs.sign.badanim, 50);
aDriver_.playOnce();
_root.signs.sign.badanim.started = true;
}
if ((_local5 > 0) && (_root.signs.sign.badanim._alpha != 0)) {
_root.signs.sign.txt._alpha = (1 - _local5) * 100;
_root.signs.sign.badanim._alpha = (1 - _local5) * 100;
}
_local12 = (16 - Math.ceil(_local4 * 16)) + 1;
_root.signs.sign.txt_starts.text = com.midasplayer.util.I18n.format("game_starts_in", "" + _local12);
if (_root.signs.pressed) {
_local3 = 1;
_root.signs.useHandCursor = false;
_root.signs.sign.txt_starts.text = "";
}
return(_local3 == 1);
}
function endShowInstructions() {
aDriver_.playStop();
_root.signs.sign.removeMovieClip();
com.midasplayer.fx.SoundManager.stop("biggest_intro#4");
startRound();
}
static function getRoundNum() {
return(roundNum_);
}
function startRound() {
com.midasplayer.fx.SoundManager.play("biggest_level_start#1", 80, false, _root.game.playLoop);
_root.gotoAndStop(2);
if (meter_ == undefined) {
meter_ = new com.midasplayer.game.biggest_loser.Meter();
}
if (com.midasplayer.util.GameBase.gameData.get("lang") == "en_US") {
_root.logo.gotoAndStop(2);
} else {
_root.logo.gotoAndStop(1);
}
maxTime_ = Number(com.midasplayer.util.GameBase.gameData.get(("level." + roundNum_) + ".time"));
timeLeft_ = maxTime_;
var _local3 = random_.nextInt(10000000);
board_ = new com.midasplayer.game.biggest_loser.Board(this, _root.board, _local3, roundNum_);
_root.scoretxt.text = com.midasplayer.util.I18n.format("score");
_root.leveltxt.text = com.midasplayer.util.I18n.format("level");
_root.timelefttxt.text = com.midasplayer.util.I18n.format("time_left");
_root.targettxt.text = com.midasplayer.util.I18n.format("weight_target");
_root.lowerbar._visible = true;
displayTime();
displayScore();
displayBonus();
displayRoundNum();
var _local4 = Number(com.midasplayer.util.GameBase.gameData.get(("level." + roundNum_) + ".targetloss"));
meter_.setMaxWeight(3000);
meter_.setMinWeight(0);
meter_.setTargetWeight(3000 - _local4);
weight_ = 3000;
displayWeight();
com.midasplayer.util.GameBase.reportPlayData(132, "" + _local3, "0");
if ((roundNum_ > 1) && (shortMode_)) {
board_.makeVisible();
com.midasplayer.util.AnimPlayer.delay({millis:1000, callback:endRound, callback_scope:this});
} else {
com.midasplayer.util.AnimPlayer.delay({millis:200, callback:board_.start, callback_scope:board_});
}
}
function nextRound() {
roundNum_++;
board_.remove();
com.midasplayer.util.AnimPlayer.delay({millis:200, callback:_root.game.playLoop, callback_scope:_root.game});
startRound();
}
function endRound() {
if (gameEnded_) {
return(undefined);
}
timeLeft_ = 0;
displayTime();
com.midasplayer.util.AnimPlayer.delay({millis:1000, callback:showRoundSign, callback_scope:this});
}
function showRoundSign() {
com.midasplayer.fx.SoundManager.stopAll();
var _local3 = meter_.targetReached();
endGame_ = false;
if (board_.hitBottom()) {
endGame_ = true;
_local3 = false;
}
if (roundNum_ >= 3) {
endGame_ = true;
}
if (!_local3) {
endGame_ = true;
}
if (gameEndPressed_) {
endGame_ = true;
}
if (shortMode_ && (roundNum_ == 2)) {
endGame_ = true;
}
stopLoop();
bonus_ = 0;
if (_local3) {
bonus_ = Math.round((1000 * (meter_.getTargetWeight() - meter_.getWeight())) / meter_.getTargetWeight());
}
bonus_ = ((bonus_ < 0) ? 0 : (bonus_));
_root.gotoAndStop(3);
if (com.midasplayer.util.GameBase.gameData.get("lang") == "en_US") {
_root.logo.gotoAndStop(2);
} else {
_root.logo.gotoAndStop(1);
}
if (_local3 && (roundNum_ >= 3)) {
com.midasplayer.fx.SoundManager.play("biggest_completed#1", 50);
bonus_ = bonus_ + 2000;
_root.bigman.gotoAndStop(6);
aDriver_ = new com.midasplayer.util.AnimDriver(_root.bigman.anim, 24);
aDriver_.playStart();
} else if (_local3) {
com.midasplayer.fx.SoundManager.play("biggest_level_clear#1", 50);
_root.bigman.gotoAndStop(2 + ((roundNum_ - 1) * 2));
} else {
com.midasplayer.fx.SoundManager.play("biggest_end#1", 50);
_root.bigman.gotoAndStop(1);
aDriver_ = new com.midasplayer.util.AnimDriver(_root.bigman.anim, 24);
aDriver_.playStart();
}
var _local6 = 1;
var _local4 = (_local3 ? (roundNum_ + 1) : (roundNum_ - 1));
if (_local4 == 0) {
_local4 = 1;
}
_root.photo1.gotoAndStop(_local6);
_root.photo2.gotoAndStop(_local4);
_root.photo1.txt.text = com.midasplayer.util.I18n.format("before");
_root.photo2.txt.text = com.midasplayer.util.I18n.format("after");
if (_local3) {
_root.bar.gotoAndStop(1);
} else {
_root.bar.gotoAndStop(2);
}
_root.monitors.level.text = (com.midasplayer.util.I18n.format("level") + " ") + roundNum_;
_root.monitors.scoretxt.text = com.midasplayer.util.I18n.format("score");
_root.monitors.bonustxt.text = com.midasplayer.util.I18n.format("bonus");
_root.monitors.totaltxt.text = com.midasplayer.util.I18n.format("total_score");
_root.monitors.score.text = score_;
_root.monitors.bonus.text = bonus_;
_root.monitors.total.text = score_ + bonus_;
score_ = score_ + bonus_;
displayScore();
com.midasplayer.util.GameBase.reportPlayData(14, "" + timeLeft_, "" + bonus_);
_root.lowerbar._visible = false;
com.midasplayer.fx.SoundManager.play("level_cleared#1", 50);
board_.remove();
var _local5 = new Array();
if (endGame_) {
_root.bar.status1.text = com.midasplayer.util.I18n.format("game_over");
com.midasplayer.util.GameBase.reportGameEnd(score_);
trace(com.midasplayer.util.GameBase.getPlayData());
} else {
_root.bar.status1.text = com.midasplayer.util.I18n.format("level_completed");
}
if (_local3) {
_root.bar.status2.text = com.midasplayer.util.I18n.format("weight_target_reached");
} else {
_root.bar.status2.text = "";
}
if (shortMode_ && (roundNum_ == 2)) {
_root.bar.status1.text = "";
_root.bar.status2.text = "";
_root.bar.status3.text = com.midasplayer.util.I18n.format("open_game_over");
_root.bigman.gotoAndStop(2);
}
_local5.push([{obj:this, func:showRoundSignAnim}]);
com.midasplayer.util.AnimPlayer.play({playlist:_local5, callback:endShowRoundSign, callback_scope:this, tps:50});
}
function showRoundSignAnim(tick, alpha) {
var _local2 = true;
var _local3 = tick + alpha;
var _local6 = com.midasplayer.util.AnimPlayer.tickToPercent(_local3, 0, 200);
var _local5 = Math.round(100 * (bonus_ / 3000)) + 50;
var _local4 = com.midasplayer.util.AnimPlayer.tickToPercent(_local3, 0, _local5);
_root.monitors.bonus.text = Math.round(bonus_ * _local4);
_root.monitors.total.text = (score_ - bonus_) + Math.round(bonus_ * _local4);
_local2 = (_local6 == 1) && (_local2);
return(_local2);
}
function endShowRoundSign() {
aDriver_.playStop();
if (endGame_) {
endGame();
} else {
nextRound();
}
}
static function endGame() {
quitIntervalId_ = setInterval(quitGame, 200);
}
static function quitGame() {
clearInterval(quitIntervalId_);
if (com.midasplayer.util.GameBase.gameData.get("standalone") == 1) {
_root.game.showSignUp();
return(undefined);
}
com.midasplayer.fx.SoundManager.stopAll();
com.midasplayer.util.GameBase.reportGameQuit();
}
function showSignUp() {
var _local3 = _root.attachMovie("signup", "signup", _root.getNextHighestDepth());
_local3.in_username.tabIndex = 1;
_local3.in_password.tabIndex = 2;
_local3.in_password2.tabIndex = 3;
_local3.in_email.tabIndex = 4;
_local3.btn_email.tabIndex = 5;
_local3.btn_check.tabIndex = 6;
_local3.btn_submit.tabIndex = 7;
_local3.btn_check.gotoAndStop(2);
_local3.btn_check.onPress = function () {
if (this._currentframe != 2) {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
};
_local3.btn_email.gotoAndStop(2);
_local3.btn_email.onPress = function () {
if (this._currentframe != 2) {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
};
_local3.btn_play.onRelease = function () {
_root.game.restartGame();
};
_local3.btn_submit.form = _local3;
_local3.btn_submit.onRelease = function () {
var _local6 = this.form.in_username.text;
var _local3 = this.form.in_password.text;
var _local5 = this.form.in_password2.text;
var _local2 = this.form.in_email.text;
var _local7 = ((this.form.btn_email._currentframe == 2) ? "true" : "false");
if (_local6.length < 2) {
this.form.error_txt.text = "The username is too short.";
} else if (_local3.length < 3) {
this.form.error_txt.text = "The password is too short.";
} else if (_local3 != _local5) {
this.form.error_txt.text = "The password does not match.";
} else if (_local2.length < 6) {
this.form.error_txt.text = "Invalid email.";
} else if (_local2.indexOf("@") < 0) {
this.form.error_txt.text = "Invalid email.";
} else if (_local2.indexOf(".") < 0) {
this.form.error_txt.text = "Invalid email.";
} else if (this.form.btn_check._currentframe != 2) {
this.form.error_txt.text = "Please check the box and confirming your interest in the Deal or No Deal skill game.";
this.form.btn_check.gotoAndPlay(3);
} else {
this.form.error_txt.text = "";
this.form.username = _local6;
this.form.password = _local3;
this.form.password_validation = _local5;
this.form.email = _local2;
this.form.wantsEmail = _local7;
this.form.gameType = "biggest_loser_game";
var _local4 = com.midasplayer.util.GameBase.gameData.get("partner");
if (_local4 == undefined) {
_local4 = "nbc";
}
this.form.getURL(("https://www.king.com/partnerpages/" + _local4) + "/submit.jsp", "_top", "POST");
}
};
}
function restartGame() {
com.midasplayer.fx.SoundManager.stopAll();
_root.signup.removeMovieClip();
_root.signs.removeMovieClip();
_root.lowerbar.removeMovieClip();
_root.game.startGame2();
}
static function getMeter() {
return(meter_);
}
static function addScore(score) {
trace(((" add score: " + score) + " at ") + board_.getTick());
score_ = score_ + score;
score_ = ((score_ < 0) ? 0 : (score_));
displayScore();
}
static function getScore() {
return(score_);
}
static function displayScore() {
_root.score.text = score_;
}
static function addWeight(weight) {
weight_ = weight_ + weight;
weight_ = ((weight_ < 0) ? 0 : (weight_));
displayWeight();
}
static function getWeight() {
return(weight_);
}
static function displayWeight() {
meter_.setWeight(weight_);
}
static function displayBonus() {
_root.bonus.text = bonus_;
}
static function displayTime() {
var _local4 = Math.max(timeLeft_, 0);
var _local2 = _local4 / 60;
_local2 = Math.floor(_local2);
var _local3 = _local4 - (_local2 * 60);
_local2 = ((_local2 < 10) ? ("0" + _local2) : (_local2));
_local3 = ((_local3 < 10) ? ("0" + _local3) : (_local3));
var _local5 = (("00:" + _local2) + ":") + _local3;
if (_root.time.text != _local5) {
_root.time.text = _local5;
}
}
static function displayRoundNum() {
_root.level.text = roundNum_;
}
static function setTime(t) {
var _local2 = maxTime_ - Math.round(t);
if ((_local2 <= 5) && (_root.timewarning < 2)) {
com.midasplayer.fx.SoundManager.play("time_out#1", 50);
_root.timewarning = 2;
} else if ((_local2 <= 10) && (_root.timewarning < 1)) {
com.midasplayer.fx.SoundManager.play("time_warning#1", 50);
_root.timewarning = 1;
} else if (_local2 > 10) {
_root.timewarning = 0;
}
if (_local2 != timeLeft_) {
displayTime();
}
timeLeft_ = _local2;
}
static function getMaxTime() {
return(maxTime_);
}
static var VERSION = "1.5.5";
static var DEBUG_MODE = false;
static var gameEndPressed_ = false;
static var roundNum_ = 1;
}
Symbol 427 MovieClip [__Packages.com.midasplayer.util.Random] Frame 0
class com.midasplayer.util.Random
{
var mta, mti, lastSeed;
function Random (aSeed) {
mta = new Array(N);
mti = N + 1;
if (aSeed != undefined) {
init_genrand(aSeed);
}
}
function set seed(s) {
init_genrand(s);
//return(seed);
}
function get seed() {
return(lastSeed);
}
function nextInt(n) {
return((genrand_int32() & 2147483647) % n);
}
function nextFloat() {
return(next(24) / 16777216);
}
function next(bits) {
if (bits < 32) {
return(genrand_int32() & ((1 << bits) - 1));
}
return(genrand_int32());
}
function init_genrand(s) {
var _local5 = getTimer();
lastSeed = s;
mta[0] = s;
var _local2 = s;
var _local3 = new com.midasplayer.util.Integer64();
mti = 1;
while (mti < N) {
_local3.init32((_local2 >>> 30) ^ _local2);
_local3.mulu32(1812433253);
_local2 = (mta[mti] = _local3.lsb + mti);
mti++;
}
var _local6 = getTimer();
}
function genrand_int32() {
var _local3 = 0;
if (mti >= N) {
if (mti == (N + 1)) {
init_genrand(5489);
}
var _local4 = getTimer();
var _local2 = 0;
_local2 = 0;
while (_local2 < (N - M)) {
_local3 = (mta[_local2] & UPPER_MASK) | (mta[_local2 + 1] & LOWER_MASK);
mta[_local2] = (mta[_local2 + M] ^ (_local3 >>> 1)) ^ mag01[_local3 & 1];
_local2++;
}
while (_local2 < (N - 1)) {
_local3 = (mta[_local2] & UPPER_MASK) | (mta[_local2 + 1] & LOWER_MASK);
mta[_local2] = (mta[_local2 + (M - N)] ^ (_local3 >>> 1)) ^ mag01[_local3 & 1];
_local2++;
}
_local3 = (mta[N - 1] & UPPER_MASK) | (mta[0] & LOWER_MASK);
mta[N - 1] = (mta[M - 1] ^ (_local3 >>> 1)) ^ mag01[_local3 & 1];
mti = 0;
var _local5 = getTimer();
}
_local3 = mta[mti++];
_local3 = _local3 ^ (_local3 >>> 11);
_local3 = _local3 ^ ((_local3 << 7) & 2636928640);
_local3 = _local3 ^ ((_local3 << 15) & 4022730752);
_local3 = _local3 ^ (_local3 >>> 18);
return(_local3);
}
static var N = 624;
static var M = 397;
static var MATRIX_A = 2567483615;
static var UPPER_MASK = 2147483648;
static var LOWER_MASK = 2147483647;
static var mag01 = [0, 2567483615];
}
Symbol 428 MovieClip [__Packages.com.midasplayer.util.Integer64] Frame 0
class com.midasplayer.util.Integer64
{
var r, p, s;
function Integer64 (lowInt) {
r = [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]];
p = [0, 0, 0, 0, 0];
s = [0, 0, 0];
if (lowInt != undefined) {
merge(lowInt);
}
}
function init(v) {
var _local2 = 0;
while (_local2 < p.length) {
p[_local2] = v.p[_local2];
_local2++;
}
}
function init32(n) {
p[0] = n & 32767;
n = n >>> 15;
p[1] = n & 32767;
n = n >>> 15;
p[2] = n & 3;
p[3] = 0;
p[4] = 0;
}
function get lsb() {
return((p[0] | (p[1] << SH)) | ((p[2] & 3) << 30));
}
function get msb() {
return((((p[2] >> 2) | ((p[3] << SH) >> 2)) | ((p[4] << (SH * 2)) >> 2)) & 2147483647);
}
function binaryShiftLeft(step) {
var _local2 = 0;
while (_local2 < step) {
shl();
_local2++;
}
}
function binaryShiftRight(step) {
var _local4 = (step / SH) >> 0;
var _local5 = step - (_local4 * SH);
var _local2 = p.length - 1;
while (_local2 > 0) {
var _local3 = 0;
while (_local3 < _local4) {
p[_local3] = p[_local3 + 1];
_local3++;
}
p[_local2--] = 0;
}
if (_local5 > 0) {
var _local3 = 0;
while (_local3 < _local5) {
shr();
_local3++;
}
}
}
function binaryNot(o) {
p[0] = p[0] ^ o.p[0];
p[1] = p[1] ^ o.p[1];
p[2] = p[2] ^ o.p[2];
p[3] = p[3] ^ o.p[3];
p[4] = p[4] ^ o.p[4];
}
function add64(o) {
var _local4 = 0;
var _local3 = 1;
var _local2 = 0;
while ((_local3 < p.length) && (o.p[_local2] != 0)) {
_local3++;
}
_local2 = 0;
while (_local2 < _local3) {
_local4 = _local4 + (p[_local2] + o.p[_local2]);
p[_local2] = _local4 & MASK;
_local4 = _local4 >> SH;
_local2++;
}
}
function add32(num) {
var _local2 = 0;
var _local5 = num & MASK;
num = num >> SH;
var _local6 = num & MASK;
num = num >> SH;
var _local4 = num & 3;
_local2 = _local2 + (p[0] + _local5);
p[0] = _local2 & MASK;
_local2 = _local2 >> SH;
_local2 = _local2 + (p[1] + _local6);
p[1] = _local2 & MASK;
_local2 = _local2 >> SH;
_local2 = _local2 + (p[2] + _local4);
p[2] = _local2 & MASK;
}
function mulu32(num) {
var _local3 = 0;
s[0] = num & MASK;
num = num >>> 15;
s[1] = num & MASK;
num = num >>> 15;
s[2] = num & 3;
var _local2 = 0;
while (_local2 < 3) {
var _local4 = s[_local2];
_local3 = _local4 * p[0];
r[_local2][0] = _local3 & MASK;
_local3 = _local3 >> SH;
_local3 = _local3 + (_local4 * p[1]);
r[_local2][1] = _local3 & MASK;
_local3 = _local3 >> SH;
_local3 = _local3 + (_local4 * p[2]);
r[_local2][2] = _local3 & 3;
_local2++;
}
_local3 = r[0][0];
p[0] = _local3 & MASK;
_local3 = _local3 >> SH;
_local3 = _local3 + (r[0][1] + r[1][0]);
p[1] = _local3 & MASK;
_local3 = _local3 >> SH;
_local3 = _local3 + ((r[0][2] + r[1][1]) + r[2][0]);
p[2] = _local3 & 3;
p[3] = 0;
p[4] = 0;
}
function mul64(o) {
var _local2 = 0;
var _local3 = 0;
while (_local3 < 5) {
var _local4 = o.p[_local3];
_local2 = _local4 * p[0];
r[_local3][0] = _local2 & MASK;
_local2 = _local2 >> SH;
_local2 = _local2 + (_local4 * p[1]);
r[_local3][1] = _local2 & MASK;
_local2 = _local2 >> SH;
_local2 = _local2 + (_local4 * p[2]);
r[_local3][2] = _local2 & MASK;
_local2 = _local2 >> SH;
_local2 = _local2 + (_local4 * p[3]);
r[_local3][3] = _local2 & MASK;
_local2 = _local2 >> SH;
_local2 = _local2 + (_local4 * p[4]);
r[_local3][4] = _local2 & MASK;
_local3++;
}
_local2 = r[0][0];
p[0] = _local2 & MASK;
_local2 = _local2 >> SH;
_local2 = _local2 + (r[0][1] + r[1][0]);
p[1] = _local2 & MASK;
_local2 = _local2 >> SH;
_local2 = _local2 + ((r[0][2] + r[1][1]) + r[2][0]);
p[2] = _local2 & MASK;
_local2 = _local2 >> SH;
_local2 = _local2 + (((r[0][3] + r[1][2]) + r[2][1]) + r[3][0]);
p[3] = _local2 & MASK;
_local2 = _local2 >> SH;
_local2 = _local2 + ((((r[0][4] + r[1][3]) + r[2][2]) + r[3][1]) + r[4][0]);
p[4] = _local2 & 7;
}
function mul32(value) {
mul64(new com.midasplayer.util.Integer64(value));
}
function toString() {
return(((((("Integer64[value=0x" + com.midasplayer.util.Numbers.dec2hex(msb)) + ":") + com.midasplayer.util.Numbers.dec2hex(lsb)) + ":(") + p) + ")]");
}
function merge(a) {
var _local2 = 0;
while (_local2 < 3) {
p[_local2] = p[_local2] + (a & 32767);
a = a >>> 15;
_local2++;
}
return(a);
}
function shl() {
var _local5 = 0;
var _local4 = 0;
var _local2 = 0;
var _local3 = p.length;
while (_local2 < _local3) {
_local5 = (p[_local2] & 16384) >> 14;
p[_local2] = p[_local2] << 1;
p[_local2] = (p[_local2] | _local4) & 32767;
_local2++;
_local4 = _local5;
}
}
function shr() {
var _local4 = 0;
var _local3 = 0;
var _local2 = p.length - 1;
while (_local2 >= 0) {
_local4 = (p[_local2] & 1) << 14;
p[_local2] = p[_local2] >> 1;
p[_local2] = (p[_local2] | _local3) & 32767;
_local2--;
_local3 = _local4;
}
}
static var MASK = 32767;
static var SH = 15;
}
Symbol 429 MovieClip [__Packages.com.midasplayer.util.Numbers] Frame 0
class com.midasplayer.util.Numbers
{
function Numbers () {
}
static function dec2hex(iValue, padding) {
var _local1 = "";
while (iValue != 0) {
_local1 = "0123456789abcdef".charAt(iValue & 15) + _local1;
iValue = iValue >>> 4;
}
if (padding) {
if (_local1.length == 0) {
_local1 = "00";
}
if (_local1.length < 2) {
_local1 = "0" + _local1;
}
} else if (_local1.length == 0) {
_local1 = "0";
}
return(_local1);
}
static function itoa(value, numZeroPadding) {
var _local2 = "" + value;
if (numZeroPadding) {
var _local1 = numZeroPadding - 1;
while (_local1 > 0) {
if (value < Math.pow(10, _local1)) {
_local2 = "0" + _local2;
}
_local1--;
}
}
return(_local2);
}
static function asTime(millis, alwaysHours, alwaysMinutes) {
if (alwaysHours) {
alwaysMinutes = true;
}
if (millis < 0) {
millis = 0;
}
millis = millis / 1000;
millis = Math.floor(millis);
var _local3 = Math.floor(millis / 3600);
var _local4 = Math.floor(millis / 60) % 60;
var _local5 = millis % 60;
var _local1 = "";
if (alwaysHours || (_local3 > 0)) {
_local1 = _local1 + itoa(_local3, 2);
}
if (alwaysHours || (_local1.length > 0)) {
_local1 = _local1 + ":";
}
var _local6 = _local1.length;
if ((alwaysMinutes || (_local4 > 0)) || (_local3 > 0)) {
_local1 = _local1 + itoa(_local4, 2);
}
if (alwaysMinutes || (_local1.length != _local6)) {
_local1 = _local1 + ":";
}
return(_local1 + itoa(_local5, 2));
}
}
Symbol 430 MovieClip [__Packages.com.midasplayer.timing.Timeable] Frame 0
interface com.midasplayer.timing.Timeable
{
}
Symbol 431 MovieClip [__Packages.com.midasplayer.game.biggest_loser.Board] Frame 0
class com.midasplayer.game.biggest_loser.Board implements com.midasplayer.timing.Timeable
{
static var random_, explodeRandom_;
var game_, clip_, seed_, level_, lastReportedTick_, encoder, hitBottom_, cols_, rows_, startRows_, rowDelay_, bonusPercent_, specialPercent_, explodingBricks_, wagonLayer_, brickLayer_, effectsLayer_, explosionLayer_, wagon_, myColors_, bricks_, brickCount_, timesUp_, handleClick_, tmpBricks_, fatBusterUsed_, fatBusterBrick_, comboNumber_, draggedDown_, comboMade_, foodBlastUsed_, checkList_, combos_, dragUpBricks_, dragDownBricks_, timer_, started_, stopped_;
function Board (game, clip, seed, level) {
game_ = game;
clip_ = clip;
seed_ = seed;
level_ = level;
lastReportedTick_ = 0;
encoder = new com.midasplayer.util.Base64Encoder();
hitBottom_ = false;
cols_ = Number(com.midasplayer.util.GameBase.gameData.get(("level." + level) + ".cols"));
rows_ = Number(com.midasplayer.util.GameBase.gameData.get(("level." + level) + ".rows"));
rows_ = rows_ + 3;
startRows_ = Number(com.midasplayer.util.GameBase.gameData.get(("level." + level) + ".startrows"));
numColors_ = Number(com.midasplayer.util.GameBase.gameData.get(("level." + level) + ".colors"));
rowDelay_ = Number(com.midasplayer.util.GameBase.gameData.get(("level." + level) + ".delay"));
bonusPercent_ = Number(com.midasplayer.util.GameBase.gameData.get(("level." + level) + ".bonuspercent"));
specialPercent_ = Number(com.midasplayer.util.GameBase.gameData.get(("level." + level) + ".specialpercent"));
explodingBricks_ = new com.midasplayer.util.ArrayList();
numBonusTaken_ = 0;
random_ = new com.midasplayer.util.Random(seed_);
explodeRandom_ = new com.midasplayer.util.Random(seed_);
initLayers();
initBricks();
initWagon();
}
function getLevel() {
return(level_);
}
function getSeed() {
return(seed_);
}
function initLayers() {
wagonLayer_ = clip_.createEmptyMovieClip("wagonlayer", clip_.getNextHighestDepth());
wagonLayer_._visible = false;
brickLayer_ = clip_.createEmptyMovieClip("bricklayer", clip_.getNextHighestDepth());
brickLayer_._visible = false;
effectsLayer_ = clip_.createEmptyMovieClip("effectslayer", clip_.getNextHighestDepth());
effectsLayer_._visible = false;
explosionLayer_ = clip_.createEmptyMovieClip("explosionslayer", clip_.getNextHighestDepth());
explosionLayer_._visible = false;
var _local2 = new flash.filters.GlowFilter(16735814, 100, 10, 10, 4, 2);
effectsLayer_.filters = [_local2];
}
function getEffectsLayer() {
return(effectsLayer_);
}
function initWagon() {
var _local3 = 200;
var _local2 = 510;
wagon_ = new com.midasplayer.game.biggest_loser.Wagon(this, wagonLayer_, _local3, _local2);
}
function initBricks() {
var _local9;
myColors_ = new Array();
var _local8 = [1, 2, 3, 4, 5, 6, 7, 8];
var _local7 = 0;
while (_local7 < 8) {
var _local6 = random_.nextInt(_local8.length);
myColors_.push(_local8[_local6]);
_local8.splice(_local6, 1);
_local7++;
}
bricks_ = new Array();
brickCount_ = 0;
var _local3 = 0;
while (_local3 < rows_) {
bricks_[_local3] = new Array();
_local3++;
}
_local3 = startRows_ - 1;
while (_local3 >= 0) {
var _local2 = 0;
while (_local2 < cols_) {
var _local5 = (_local2 * com.midasplayer.game.biggest_loser.Brick.WIDTH) + BOARD_X;
var _local4 = (_local3 * com.midasplayer.game.biggest_loser.Brick.HEIGHT) + BOARD_Y;
addBrick(_local3, _local2, _local5, _local4);
_local2++;
}
_local3--;
}
}
function addBrick(row, col, x, y) {
var _local9;
var _local8;
var _local4;
_local8 = getNextBrickType();
_local9 = getNextBrickColor(_local8);
_local4 = new com.midasplayer.game.biggest_loser.Brick(this, brickLayer_, _local9, _local8);
var _local3;
var _local5 = false;
_local5 = true;
if (_local8 != com.midasplayer.game.biggest_loser.Brick.TYPE_NORMAL) {
_local5 = false;
_local3 = bricks_[row + 1][col];
if ((_local3 != undefined) && (_local3.getType() == com.midasplayer.game.biggest_loser.Brick.TYPE_NORMAL)) {
_local5 = true;
}
}
if (!_local5) {
_local4.remove2();
return(addBrick(row, col, x, y));
}
_local5 = false;
var _local2 = 0;
while (_local2 < 3) {
_local3 = bricks_[(row + _local2) + 1][col];
if ((_local3 == undefined) || (!_local4.isSameType(_local3))) {
_local5 = true;
break;
}
_local2++;
}
if (!_local5) {
_local4.remove2();
return(addBrick(row, col, x, y));
}
_local4.setPos(x, y);
_local4.setCol(col);
_local4.setRow(row);
bricks_[row][col] = _local4;
brickCount_++;
return(_local4);
}
function getNumRows() {
return(rows_);
}
function getNumCols() {
return(cols_);
}
function getWagon() {
return(wagon_);
}
function getTick() {
return(tick_);
}
function getNextBrickColor(type) {
var _local2;
var _local5 = 5;
var _local4 = 4;
var _local6 = 3;
if (type == com.midasplayer.game.biggest_loser.Brick.TYPE_NORMAL) {
_local2 = myColors_[random_.nextInt(numColors_)];
} else if (type == com.midasplayer.game.biggest_loser.Brick.TYPE_BONUS) {
_local2 = random_.nextInt(_local5) + 1;
} else if (type == com.midasplayer.game.biggest_loser.Brick.TYPE_SPECIAL_GOOD) {
_local2 = random_.nextInt(_local4) + 1;
} else if (type == com.midasplayer.game.biggest_loser.Brick.TYPE_SPECIAL_BAD) {
_local2 = random_.nextInt(_local6) + 1;
}
return(_local2);
}
function getNextBrickType() {
var _local3 = random_.nextInt(1000);
var _local2 = bonusPercent_ * 10;
if (_local3 <= _local2) {
return(com.midasplayer.game.biggest_loser.Brick.TYPE_BONUS);
}
_local2 = _local2 + ((specialPercent_ * 10) / 2);
if (_local3 <= _local2) {
return(com.midasplayer.game.biggest_loser.Brick.TYPE_SPECIAL_GOOD);
}
_local2 = _local2 + ((specialPercent_ * 10) / 2);
if (_local3 <= _local2) {
return(com.midasplayer.game.biggest_loser.Brick.TYPE_SPECIAL_BAD);
}
return(com.midasplayer.game.biggest_loser.Brick.TYPE_NORMAL);
}
function xToCol(x) {
x = x - BOARD_X;
x = Math.round(x / com.midasplayer.game.biggest_loser.Brick.WIDTH);
return(x);
}
function fetchBricks(x) {
if (timesUp_) {
return(undefined);
}
com.midasplayer.fx.SoundManager.play("grab_sound#6", 20);
handleClick_ = true;
wagon_.setBusy(true);
tmpBricks_ = new Array();
var _local5 = xToCol(x);
var _local6 = new Array();
var _local4;
var _local3 = rows_ - 1;
while (_local3 >= 0) {
var _local2 = getBrick(_local3, _local5);
if (_local2 != undefined) {
if (_local4 != undefined) {
if (_local4.isSameType(_local2)) {
_local4 = _local2;
_local6.push(_local2);
tmpBricks_.push(_local2);
removeBrick(_local3, _local5);
} else {
break;
}
} else {
_local4 = _local2;
_local6.push(_local2);
tmpBricks_.push(_local2);
removeBrick(_local3, _local5);
}
}
_local3--;
}
fetchTick_ = tick_;
return(_local6);
}
function fetchBricksTick() {
if (fetchTick_ > 0) {
var _local3 = tick_ - fetchTick_;
var _local2 = fetchBricksAnim(_local3, 0);
if (_local2) {
fetchTick_ = -1;
endFetchBricks();
}
}
}
function fetchBricksAnim(tick, alpha) {
var _local5 = tmpBricks_;
var _local9 = ((_local5 != undefined) ? (_local5.length) : 0);
if (_local9 == 0) {
return(true);
}
var _local8 = com.midasplayer.util.AnimPlayer.tickToPercent(tick + alpha, 0, 0.2 * TPS);
var _local10 = wagon_.getX();
var _local11 = (wagon_.getY() - (com.midasplayer.game.biggest_loser.Wagon.HEIGHT / 2)) - (com.midasplayer.game.biggest_loser.Brick.HEIGHT / 2);
var _local12 = 0;
if (_local9 == 2) {
_local10 = _local10 - 10;
_local12 = 20;
} else if (_local9 == 3) {
_local10 = _local10 - 20;
_local12 = 20;
}
var _local2 = 0;
while (_local2 < _local9) {
var _local4 = (_local5[_local2].getCol() * com.midasplayer.game.biggest_loser.Brick.WIDTH) + BOARD_X;
var _local3 = (_local5[_local2].getRow() * com.midasplayer.game.biggest_loser.Brick.HEIGHT) + BOARD_Y;
var _local7 = ((_local10 - _local4) * _local8) + _local4;
var _local6 = ((_local11 - _local3) * _local8) + _local3;
_local5[_local2].setPos(_local7, _local6);
_local2++;
}
return(_local8 == 1);
}
function endFetchBricks() {
handleClick_ = false;
wagon_.setBusy(false);
}
function releaseBricks(x, bricks) {
if (timesUp_) {
return(undefined);
}
handleClick_ = true;
wagon_.setBusy(true);
com.midasplayer.fx.SoundManager.play("send_up#4", 20);
tmpBricks_ = new Array();
var _local6 = xToCol(x);
var _local7 = bricks.length;
var _local5 = rows_ - 1;
while (_local5 >= 0) {
var _local2 = getBrick(_local5, _local6);
var _local3 = -1;
if (_local2 != undefined) {
_local3 = _local5 + 1;
} else if (_local5 == 0) {
_local3 = 0;
}
if (_local3 >= 0) {
var _local4 = 0;
while (_local4 < _local7) {
_local2 = bricks[_local4];
if ((_local2.getType() == com.midasplayer.game.biggest_loser.Brick.TYPE_SPECIAL_GOOD) && (_local2.getColor() == com.midasplayer.game.biggest_loser.Brick.FAT_BUSTER)) {
fatBusterUsed_ = true;
fatBusterBrick_ = _local2;
}
_local2.setCol(_local6);
_local2.setRow(_local3 + _local4);
_local2.setOldPos(_local2.getX(), _local2.getY());
bricks_[_local3 + _local4][_local6] = _local2;
brickCount_++;
_local2.setHasMoved(true);
tmpBricks_.push(_local2);
_local4++;
}
_local4 = 0;
while (_local4 < _local7) {
bricks.pop();
_local4++;
}
break;
}
_local5--;
}
releaseTick_ = tick_;
}
function releaseBricksTick() {
if (releaseTick_ > 0) {
var _local3 = tick_ - releaseTick_;
var _local2 = releaseBricksAnim(_local3, 0);
if (_local2) {
releaseTick_ = -1;
endReleaseBricks();
}
}
}
function releaseBricksAnim(tick, alpha) {
var _local3 = tmpBricks_;
var _local11 = ((_local3 != undefined) ? (_local3.length) : 0);
var _local10 = com.midasplayer.util.AnimPlayer.tickToPercent(tick + alpha, 0, 0.2 * TPS);
var _local2 = 0;
while (_local2 < _local11) {
var _local7 = (_local3[_local2].getCol() * com.midasplayer.game.biggest_loser.Brick.WIDTH) + BOARD_X;
var _local6 = (_local3[_local2].getRow() * com.midasplayer.game.biggest_loser.Brick.HEIGHT) + BOARD_Y;
var _local5 = _local3[_local2].getOldX();
var _local4 = _local3[_local2].getOldY();
var _local9 = ((_local7 - _local5) * _local10) + _local5;
var _local8 = ((_local6 - _local4) * _local10) + _local4;
_local3[_local2].setPos(_local9, _local8);
_local2++;
}
return(_local10 == 1);
}
function endReleaseBricks() {
comboNumber_ = 1;
handleCombos();
}
function handleCombos() {
var _local2;
_local2 = findCombos();
draggedDown_ = false;
if (_local2.length > 0) {
comboMade_ = true;
removeCombos(_local2);
} else {
if (hitBottom()) {
handleClick_ = false;
return(undefined);
}
if (brickCount_ < ((cols_ * rows_) * 0.3)) {
if (hitRow(10)) {
} else {
insertNewRow_ = true;
}
}
if (insertNewRow_) {
newRow();
return(undefined);
}
wagon_.setBusy(false);
handleClick_ = false;
return(undefined);
}
}
function findCombos() {
var _local4;
var _local9;
var _local10;
var _local3;
var _local7 = new Array();
var _local2 = new Array();
if (draggedDown_) {
return(false);
}
if (fatBusterUsed_) {
_local4 = fatBusterBrick_;
var _local6 = _local4.getCol();
var _local5 = _local4.getRow();
_local3 = new com.midasplayer.game.biggest_loser.Combo(this, comboNumber_, com.midasplayer.game.biggest_loser.Combo.TYPE_FAT_BUSTER, _local6, _local5);
comboNumber_++;
_local6 = 0;
while (_local6 < cols_) {
_local4 = getBrick(_local5, _local6);
if (_local4 != undefined) {
_local2.push(_local4);
}
_local6++;
}
_local3.addBricks(_local2);
_local7.push(_local3);
fatBusterUsed_ = false;
_local4.setHasMoved(false);
return(_local7);
}
if (foodBlastUsed_) {
foodBlastUsed_ = false;
return(undefined);
}
var _local5 = 0;
while (_local5 < rows_) {
var _local6 = 0;
while (_local6 < cols_) {
_local4 = getBrick(_local5, _local6);
if ((_local4 && (_local4.hasMoved())) && (!_local4.isMarkedForCombo())) {
_local2.splice(0, _local2.length);
getGroup(_local4, _local2);
var _local8 = _local2.length;
if (_local8 >= 4) {
if ((comboNumber_ == 1) && (wagon_.isFoodBlastActive())) {
_local3 = new com.midasplayer.game.biggest_loser.Combo(this, comboNumber_, com.midasplayer.game.biggest_loser.Combo.TYPE_FOOD_BLAST, _local6, _local5);
comboNumber_++;
_local2.splice(0, _local2.length);
getColorGroup(_local2, _local4.getColor());
_local3.addBricks(_local2);
_local3.markBricks();
_local7.push(_local3);
} else {
_local3 = new com.midasplayer.game.biggest_loser.Combo(this, comboNumber_, com.midasplayer.game.biggest_loser.Combo.TYPE_COLOR, _local6, _local5);
comboNumber_++;
_local3.addBricks(_local2);
_local3.markBricks();
_local7.push(_local3);
}
}
}
_local4.setHasMoved(false);
_local6++;
}
_local5++;
}
var _local6 = 0;
while (_local6 < cols_) {
_local5 = rows_;
while (_local5 >= 0) {
_local4 = getBrick(_local5, _local6);
if (_local4 != undefined) {
if (_local4.getType() == com.midasplayer.game.biggest_loser.Brick.TYPE_BONUS) {
_local2.splice(0, _local2.length);
_local3 = new com.midasplayer.game.biggest_loser.Combo(this, comboNumber_, com.midasplayer.game.biggest_loser.Combo.TYPE_BONUS, _local6, _local5);
comboNumber_++;
_local2.push(_local4);
_local3.addBricks(_local2);
_local7.push(_local3);
} else if (_local4.getType() == com.midasplayer.game.biggest_loser.Brick.TYPE_SPECIAL_GOOD) {
_local2.splice(0, _local2.length);
_local3 = new com.midasplayer.game.biggest_loser.Combo(this, comboNumber_, com.midasplayer.game.biggest_loser.Combo.TYPE_SPECIAL_GOOD, _local6, _local5);
comboNumber_++;
_local2.push(_local4);
_local3.addBricks(_local2);
_local7.push(_local3);
} else if (_local4.getType() == com.midasplayer.game.biggest_loser.Brick.TYPE_SPECIAL_BAD) {
_local2.splice(0, _local2.length);
_local3 = new com.midasplayer.game.biggest_loser.Combo(this, comboNumber_, com.midasplayer.game.biggest_loser.Combo.TYPE_SPECIAL_BAD, _local6, _local5);
comboNumber_++;
_local2.push(_local4);
_local3.addBricks(_local2);
_local7.push(_local3);
}
break;
}
_local5--;
}
_local6++;
}
return(_local7);
}
function getGroup(initialBrick, group) {
if (group.length == 0) {
markId_++;
checkList_ = new Array();
initialBrick.mark(markId_);
checkList_.push(initialBrick);
group.push(initialBrick);
}
var _local9 = checkList_.length;
var _local8 = 0;
while (_local8 < _local9) {
var _local7 = com.midasplayer.game.biggest_loser.Brick(checkList_.shift());
var _local4 = _local7.getCol();
var _local3 = _local7.getRow();
var _local2;
_local2 = bricks_[_local3 - 1][_local4];
if (((_local2 != undefined) && (!_local2.isMarked(markId_))) && (initialBrick.isSameType(_local2))) {
_local2.mark(markId_);
checkList_.push(_local2);
group.push(_local2);
}
_local2 = bricks_[_local3][_local4 + 1];
if (((_local2 != undefined) && (!_local2.isMarked(markId_))) && (initialBrick.isSameType(_local2))) {
_local2.mark(markId_);
checkList_.push(_local2);
group.push(_local2);
}
_local2 = bricks_[_local3 + 1][_local4];
if (((_local2 != undefined) && (!_local2.isMarked(markId_))) && (initialBrick.isSameType(_local2))) {
_local2.mark(markId_);
checkList_.push(_local2);
group.push(_local2);
}
_local2 = bricks_[_local3][_local4 - 1];
if (((_local2 != undefined) && (!_local2.isMarked(markId_))) && (initialBrick.isSameType(_local2))) {
_local2.mark(markId_);
checkList_.push(_local2);
group.push(_local2);
}
_local8++;
}
if (checkList_.length > 0) {
getGroup(initialBrick, group);
}
}
function getColorGroup(group, color) {
var _local2;
var _local4 = 0;
while (_local4 < cols_) {
var _local3 = rows_;
while (_local3 >= 0) {
_local2 = getBrick(_local3, _local4);
if (((_local2 != undefined) && (_local2.getType() == com.midasplayer.game.biggest_loser.Brick.TYPE_NORMAL)) && (_local2.getColor() == color)) {
group.push(_local2);
}
_local3--;
}
_local4++;
}
}
function removeCombos(combos) {
combos_ = combos;
removeCombosTick_ = tick_;
}
function removeCombosTick() {
if (removeCombosTick_ > 0) {
var _local7 = combos_.length;
var _local6 = true;
var _local2 = 0;
while (_local2 < _local7) {
var _local3 = combos_[_local2];
if (_local3 != undefined) {
var _local5 = (tick_ - removeCombosTick_) - _local2;
var _local4 = _local3.removeBricksAnim(_local5, 0);
if (_local4) {
combos_[_local2] = undefined;
} else {
_local6 = false;
}
}
_local2++;
}
if (_local6) {
removeCombosTick_ = -1;
endRemoveCombos();
}
}
}
function endRemoveCombos() {
dragUp();
}
function dragUp() {
var _local3;
dragUpBricks_ = new Array();
var _local5 = 0;
while (_local5 < cols_) {
var _local4 = 0;
var _local2 = 0;
while (_local2 < rows_) {
_local3 = getBrick(_local2, _local5);
if (_local3 == undefined) {
_local4++;
} else if (_local4 > 0) {
_local3.setFallHeight(_local4);
bricks_[_local2 - _local4][_local5] = _local3;
_local3.setRow(_local2 - _local4);
bricks_[_local2][_local5] = undefined;
_local3.setHasMoved(true);
dragUpBricks_.push(_local3);
}
_local2++;
}
_local5++;
}
dragUpTick_ = tick_;
}
function dragUpTick() {
if (dragUpTick_ > 0) {
var _local3 = tick_ - dragUpTick_;
var _local2 = dragUpAnim(_local3, 0);
if (_local2) {
dragUpTick_ = -1;
endDragUp();
}
}
}
function dragUpAnim(tick, alpha) {
var _local10 = dragUpBricks_.length;
var _local9 = true;
var _local4 = 0;
while (_local4 < _local10) {
var _local3 = dragUpBricks_[_local4];
var _local6 = _local3.getFallHeight() * com.midasplayer.game.biggest_loser.Brick.HEIGHT;
var _local2 = Math.min(_local6, 10) / 10;
_local2 = 1 - (((1 - _local2) * (1 - _local2)) * (1 - _local2));
_local2 = (0.2 * TPS) * _local2;
var _local7 = tick + alpha;
var _local5 = com.midasplayer.util.AnimPlayer.tickToPercent(_local7, 0, _local2);
var _local8 = com.midasplayer.util.AnimPlayer.easeInOutQuad(_local5, _local3.getPreviousY(), -_local6, 1);
_local3.setY(_local8);
if (_local5 < 1) {
_local9 = false;
}
_local4++;
}
return(_local9);
}
function endDragUp() {
handleCombos();
}
function newRow() {
com.midasplayer.fx.SoundManager.play("newrow", 30);
wagon_.setBusy(true);
insertNewRow_ = false;
comboNumber_ = 1;
dragDownBricks_ = new Array();
var _local3;
var _local5 = 0;
while (_local5 < (cols_ + 3)) {
var _local4 = 1;
var _local2 = rows_ - 1;
while (_local2 >= 0) {
_local3 = bricks_[_local2][_local5];
if (_local3) {
_local3.setFallHeight(_local4);
bricks_[_local2 + _local4][_local5] = _local3;
_local3.setRow(_local2 + _local4);
bricks_[_local2][_local5] = undefined;
dragDownBricks_.push(_local3);
}
_local2--;
}
_local5++;
}
_local5 = 0;
while (_local5 < cols_) {
var _local7 = (_local5 * com.midasplayer.game.biggest_loser.Brick.WIDTH) + BOARD_X;
var _local6 = BOARD_Y - com.midasplayer.game.biggest_loser.Brick.HEIGHT;
_local3 = addBrick(0, _local5, _local7, _local6);
_local3.setFallHeight(1);
dragDownBricks_.push(_local3);
_local5++;
}
dragDownTick_ = tick_;
}
function dragDownTick() {
if (dragDownTick_ > 0) {
var _local3 = tick_ - dragDownTick_;
var _local2 = dragDownAnim(_local3, 0);
if (_local2) {
dragDownTick_ = -1;
endDragDown();
}
}
}
function dragDownAnim(tick, alpha) {
var _local10 = dragDownBricks_.length;
var _local9 = true;
var _local4 = 0;
while (_local4 < _local10) {
var _local3 = dragDownBricks_[_local4];
var _local6 = _local3.getFallHeight() * com.midasplayer.game.biggest_loser.Brick.HEIGHT;
var _local2 = Math.min(_local6, 10) / 10;
_local2 = 1 - (((1 - _local2) * (1 - _local2)) * (1 - _local2));
_local2 = (0.2 * TPS) * _local2;
var _local7 = tick + alpha;
var _local5 = com.midasplayer.util.AnimPlayer.tickToPercent(_local7, 0, _local2);
var _local8 = com.midasplayer.util.AnimPlayer.easeInOutQuad(_local5, _local3.getPreviousY(), _local6, 1);
_local3.setY(_local8);
if (_local5 < 1) {
_local9 = false;
}
_local4++;
}
return(_local9);
}
function endDragDown() {
draggedDown_ = true;
handleCombos();
}
function hitBottom() {
if (hitRow(12)) {
trace("HIT BOTTOM");
hitBottom_ = true;
return(true);
}
return(false);
}
function hitRow(row) {
var _local2 = 0;
while (_local2 < cols_) {
var _local3 = bricks_[row][_local2];
if (_local3 != undefined) {
return(true);
}
_local2++;
}
return(false);
}
function explodeBrick(brick) {
var _local2 = new com.midasplayer.game.biggest_loser.Brick(this, explosionLayer_, brick.getColor(), brick.getType());
_local2.setPos(brick.getX(), brick.getY());
_local2.setCombo(brick.getCombo());
brick.remove();
_local2.x = _local2.getX();
_local2.y = _local2.getY();
_local2.ix.setTo(_local2.x);
_local2.iy.setTo(_local2.y);
_local2.vx = ((2 + explodeRandom_.nextInt(13)) * ((explodeRandom_.nextInt(1000) / 1000) - 0.5)) * 2;
_local2.vy = (2 + ((explodeRandom_.nextInt(5) * explodeRandom_.nextInt(1000)) / 1000)) * 2;
explodingBricks_.insert(_local2);
}
function updateExplodingBricks() {
var _local3;
var _local19 = explodingBricks_.size();
var _local9 = _local19 - 1;
while (_local9 >= 0) {
_local3 = com.midasplayer.game.biggest_loser.Brick(explodingBricks_.get(_local9));
var _local4 = _local3.x;
var _local5 = _local3.y;
var _local12 = 0;
if (_local3.getType() == com.midasplayer.game.biggest_loser.Brick.TYPE_BONUS) {
_local12 = 0.6;
} else {
_local12 = 0.5;
}
_local3.vy = _local3.vy - _local12;
_local4 = _local4 + _local3.vx;
_local5 = _local5 - _local3.vy;
_local3.vx = _local3.vx * 0.98;
var _local11 = BOARD_X;
var _local14 = _local11 + ((cols_ - 1) * com.midasplayer.game.biggest_loser.Brick.WIDTH);
if (_local4 < _local11) {
_local3.vx = -_local3.vx;
_local4 = _local4 + (_local11 - _local4);
}
if (_local4 > _local14) {
_local3.vx = -_local3.vx;
_local4 = _local4 - (_local4 - _local14);
}
if (wagon_.isFatShieldActive() && (_local3.getType() == com.midasplayer.game.biggest_loser.Brick.TYPE_NORMAL)) {
var _local7 = _local4 - wagon_.getX();
var _local6 = _local5 - (wagon_.getY() + 10);
var _local16 = (_local7 * _local7) + (_local6 * _local6);
var _local8 = 112;
var _local18 = (_local8 * _local8) + (_local8 * _local8);
if (_local16 < _local18) {
var _local15 = Math.sqrt(_local16);
_local7 = (_local7 * _local8) / _local15;
_local6 = (_local6 * _local8) / _local15;
if (_local6 < 0) {
_local5 = (wagon_.getY() + 10) + _local6;
}
if (_local5 < (wagon_.getY() + 80)) {
_local4 = wagon_.getX() + _local7;
}
if (_local7 < 0) {
_local3.vx = -2;
} else {
_local3.vx = 2;
}
}
} else if (collideWagon(_local4, _local5)) {
_local5 = (wagon_.getY() - (com.midasplayer.game.biggest_loser.Wagon.HEIGHT / 2)) - (com.midasplayer.game.biggest_loser.Brick.HEIGHT / 2);
explodingBricks_.removeByIndex(_local9);
if (_local3.getType() == com.midasplayer.game.biggest_loser.Brick.TYPE_NORMAL) {
com.midasplayer.fx.SoundManager.play("catch_unhealthy_food#3", 20);
var _local10 = _local3.getCombo().getScore();
var _local17 = _local3.getCombo().getWeight();
if (_local3.getCombo().isDouble()) {
com.midasplayer.game.biggest_loser.Game.addWeight(((-_local17) * 2) + 20);
com.midasplayer.game.biggest_loser.Game.addScore(((-_local10) * 2) * 1.2);
new com.midasplayer.game.biggest_loser.ScorePopup(((-_local10) * 2) * 1.2, wagon_.getX() - 5, wagon_.getY() - 40);
} else {
com.midasplayer.game.biggest_loser.Game.addWeight((-_local17) + 20);
com.midasplayer.game.biggest_loser.Game.addScore((-_local10) * 1.2);
new com.midasplayer.game.biggest_loser.ScorePopup((-_local10) * 1.2, wagon_.getX() - 5, wagon_.getY() - 40);
}
wagon_.badFoodTaken();
_local3.remove2();
} else if (_local3.getType() == com.midasplayer.game.biggest_loser.Brick.TYPE_BONUS) {
numBonusTaken_++;
var _local10 = 300;
var _local17 = _local3.getCombo().getWeight();
if (numBonusTaken_ == 2) {
_local10 = 500;
}
if (numBonusTaken_ >= 3) {
_local10 = 500 + ((numBonusTaken_ - 2) * 250);
}
var _local13 = false;
if (wagon_.isSpeedDietActive()) {
_local13 = true;
}
com.midasplayer.fx.SoundManager.play("catch_healthy_food#1", 20);
if (_local13) {
com.midasplayer.game.biggest_loser.Game.addScore(2 * _local10);
com.midasplayer.game.biggest_loser.Game.addWeight(2 * _local17);
} else {
com.midasplayer.game.biggest_loser.Game.addScore(_local10);
com.midasplayer.game.biggest_loser.Game.addWeight(_local17);
}
new com.midasplayer.game.biggest_loser.ScorePopup(_local10, wagon_.getX() - 5, wagon_.getY() - 40, _local13);
wagon_.goodFoodTaken();
_local3.remove2();
} else if (_local3.getType() == com.midasplayer.game.biggest_loser.Brick.TYPE_SPECIAL_GOOD) {
com.midasplayer.fx.SoundManager.play("positive_catch#1", 20);
if (_local3.getColor() == com.midasplayer.game.biggest_loser.Brick.SPEED_DIET) {
wagon_.activateSpeedDiet();
_local3.remove2();
} else if (_local3.getColor() == com.midasplayer.game.biggest_loser.Brick.FAT_BUSTER) {
wagon_.removeBricks();
wagon_.addBrick(_local3);
_local3.setPos(_local4, _local5);
} else if (_local3.getColor() == com.midasplayer.game.biggest_loser.Brick.FOOD_BLAST) {
wagon_.activateFoodBlast();
_local3.remove2();
} else if (_local3.getColor() == com.midasplayer.game.biggest_loser.Brick.FAT_SHIELD) {
wagon_.activateFatShield();
_local3.remove2();
}
} else if (_local3.getType() == com.midasplayer.game.biggest_loser.Brick.TYPE_SPECIAL_BAD) {
_local3.remove2();
}
}
if ((_local5 - (com.midasplayer.game.biggest_loser.Brick.HEIGHT / 2)) > 590) {
explodingBricks_.removeByIndex(_local9);
_local3.remove2();
}
_local3.x = _local4;
_local3.y = _local5;
_local3.ix.set(_local3.x);
_local3.iy.set(_local3.y);
_local9--;
}
_root.floor.a = _root.floor.a + 0.3;
return(_local19);
}
function collideWagon(x, y) {
var _local2 = wagon_.getY() - (com.midasplayer.game.biggest_loser.Wagon.HEIGHT / 2);
var _local4 = _local2 + com.midasplayer.game.biggest_loser.Wagon.HEIGHT;
var _local3 = wagon_.getX() - (com.midasplayer.game.biggest_loser.Wagon.WIDTH / 2);
var _local5 = _local3 + com.midasplayer.game.biggest_loser.Wagon.WIDTH;
if ((y + (com.midasplayer.game.biggest_loser.Brick.HEIGHT / 2)) < _local2) {
return(false);
}
if ((y - (com.midasplayer.game.biggest_loser.Brick.HEIGHT / 2)) > _local4) {
return(false);
}
if ((x + (com.midasplayer.game.biggest_loser.Brick.WIDTH / 2)) < _local3) {
return(false);
}
if ((x - (com.midasplayer.game.biggest_loser.Brick.WIDTH / 2)) > _local5) {
return(false);
}
return(true);
}
function renderExplodingBricks(alpha) {
var _local3;
var _local4 = explodingBricks_.size();
var _local2 = 0;
while (_local2 < _local4) {
_local3 = com.midasplayer.game.biggest_loser.Brick(explodingBricks_.get(_local2));
_local3.render(alpha);
_local2++;
}
}
function showWarning() {
if (hitBottom_) {
_root.floor._alpha = 100;
return(undefined);
}
var _local5 = false;
var _local6 = 11;
var _local3 = 0;
while (_local3 < cols_) {
var _local4 = bricks_[_local6][_local3];
if (_local4 != undefined) {
_local5 = true;
break;
}
_local3++;
}
if (_local5) {
_root.floor._alpha = 60 - (Math.cos(_root.floor.a) * 50);
} else {
_root.floor.a = 0;
_root.floor._alpha = 0;
}
}
function getBrick(row, col) {
if ((row < 0) || (row >= rows_)) {
return(undefined);
}
if ((col < 0) || (col >= cols_)) {
return(undefined);
}
return(bricks_[row][col]);
}
function removeBrick(row, col) {
bricks_[row][col] = undefined;
brickCount_--;
}
function initTimer() {
timer_ = new com.midasplayer.timing.Timer(this, TPS);
clip_.timer = timer_;
clip_.onEnterFrame = function () {
this.timer.advanceTime2();
};
}
function removeTimer() {
clip_.onEnterFrame = undefined;
delete timer_;
}
function remove() {
removeTimer();
brickLayer_.removeMovieClip();
wagonLayer_.removeMovieClip();
effectsLayer_.removeMovieClip();
explosionLayer_.removeMovieClip();
}
function makeVisible() {
brickLayer_._visible = true;
wagonLayer_._visible = true;
effectsLayer_._visible = true;
explosionLayer_._visible = true;
com.midasplayer.game.biggest_loser.Game.setTime(0);
}
function start(debugMode) {
started_ = true;
stopped_ = false;
makeVisible();
startRowTimer();
wagon_.start();
if (!com.midasplayer.game.biggest_loser.Game.DEBUG_MODE) {
initTimer();
}
}
function startRowTimer() {
newRowTick_ = rowDelay_ * TPS;
}
function treadmill() {
newRowTick_ = tick_;
}
function newRowTick() {
if (timesUp_) {
return(undefined);
}
if (stopped_) {
return(undefined);
}
if (newRowTick_ < 0) {
return(undefined);
}
if (tick_ >= newRowTick_) {
if (handleClick_) {
insertNewRow_ = true;
} else {
handleClick_ = true;
comboMade_ = false;
newRow();
}
if (wagon_.isTreadmillActive()) {
newRowTick_ = newRowTick_ + ((rowDelay_ * TPS) / 2);
} else {
newRowTick_ = newRowTick_ + (rowDelay_ * TPS);
}
}
}
function isStopped() {
return(stopped_);
}
function stop() {
removeTimer();
newRowTick_ = -1;
wagon_.stop();
stopped_ = true;
}
function endGamePressed() {
endGamePressed_ = true;
if (!started_) {
}
}
function gameOver() {
stop();
_root.game.endRound();
}
function isHandelingClick() {
return(handleClick_);
}
function reportAction(t, a) {
var _local4 = t - lastReportedTick_;
encoder.append(t);
encoder.append(a);
if ((encoder.res.length > 256) || (a == 1)) {
com.midasplayer.util.GameBase.reportPlayData(22, encoder.res, "0");
encoder = new com.midasplayer.util.Base64Encoder();
}
}
function tick(tick) {
tick_ = tick;
fetchBricksTick();
releaseBricksTick();
dragUpTick();
dragDownTick();
removeCombosTick();
newRowTick();
if (stopped_) {
return(undefined);
}
wagon_.tick(tick);
var _local2 = tick / TPS;
timesUp_ = _local2 > com.midasplayer.game.biggest_loser.Game.getMaxTime();
com.midasplayer.game.biggest_loser.Game.setTime(_local2);
var _local4 = updateExplodingBricks();
if ((((endGamePressed_ || (timesUp_)) || (hitBottom_)) && (!handleClick_)) && (_local4 == 0)) {
if (hitBottom_) {
trace(" hit bottom");
}
if (endGamePressed_) {
trace(" end game pressed");
}
if (timesUp_) {
trace(" time's up at " + tick_);
}
reportAction(tick_, 1);
if (!com.midasplayer.game.biggest_loser.Game.DEBUG_MODE) {
gameOver();
}
return(undefined);
}
}
function render(tick, alpha) {
wagon_.render(tick, alpha);
renderExplodingBricks(alpha);
showWarning();
}
static var TPS = 26;
static var BOARD_X = 205;
static var BOARD_Y = 29;
var tick_ = 0;
var reportedRow_ = 0;
var reportedCol_ = 0;
var reportedTick_ = 0;
var reportedScore_ = 0;
var endGamePressed_ = false;
var insertNewRow_ = false;
var numColors_ = 0;
var markId_ = 0;
var fetchTick_ = -1;
var releaseTick_ = -1;
var dragUpTick_ = -1;
var dragDownTick_ = -1;
var removeCombosTick_ = -1;
var newRowTick_ = -1;
var numBonusTaken_ = 0;
}
Symbol 432 MovieClip [__Packages.com.midasplayer.timing.Timer] Frame 0
class com.midasplayer.timing.Timer
{
var timeable;
function Timer (timeable, gameTicksPerSecond) {
millisPerGameTick = 1000 / gameTicksPerSecond;
this.gameTicksPerSecond = gameTicksPerSecond;
this.timeable = timeable;
maxTickTime = 500;
}
function getMillisPerTick() {
return(millisPerGameTick);
}
function getTicksPerSecond() {
return(gameTicksPerSecond);
}
function setMaxTickTime(millis) {
maxTickTime = millis;
}
function advanceTime2() {
var _local3 = getTimer();
if (startTime < 0) {
startTime = _local3;
unprocessedTime = millisPerGameTick;
}
time = _local3 - startTime;
var _local5 = time - lastTime;
lastTime = time;
unprocessedTime = unprocessedTime + _local5;
if (unprocessedTime >= millisPerGameTick) {
var _local2 = maxTickTime + _local3;
do {
timeable.tick(tick);
tick++;
if ((tick % gameTicksPerSecond) == 0) {
fps = frames;
frames = 0;
}
unprocessedTime = unprocessedTime - millisPerGameTick;
} while ((unprocessedTime >= millisPerGameTick) && (getTimer() < _local2));
}
var _local4 = (unprocessedTime % millisPerGameTick) / millisPerGameTick;
com.midasplayer.timing.IFloat.setAlpha(_local4);
timeable.render(tick, _local4);
frames++;
}
function advanceTime() {
time = getTimer();
var _local3 = time - lastTime;
lastTime = time;
unprocessedTime = unprocessedTime + _local3;
var _local2 = 0;
while (unprocessedTime > millisPerGameTick) {
unprocessedTime = unprocessedTime - millisPerGameTick;
timeable.tick(tick);
tick++;
_local2++;
if (_local2 >= 10) {
unprocessedTime = 0;
}
}
var _local4 = unprocessedTime / millisPerGameTick;
timeable.render(tick, _local4);
}
var time = 0;
var startTime = -1;
var lastTime = 0;
var unprocessedTime = 0;
var gameTicksPerSecond = 0;
var tick = 0;
var millisPerGameTick = 0;
var maxTickTime = -1;
var frames = 0;
var fps = 0;
}
Symbol 433 MovieClip [__Packages.com.midasplayer.timing.IFloat] Frame 0
class com.midasplayer.timing.IFloat
{
static var alpha;
var ivalue, lastValue;
function IFloat (initial) {
ivalue = initial;
lastValue = initial;
alpha = 0;
}
function setTo(initial) {
ivalue = initial;
lastValue = initial;
}
function set(newValue) {
lastValue = ivalue;
ivalue = newValue;
}
function get(lalpha) {
return(lastValue + ((ivalue - lastValue) * lalpha));
}
static function setAlpha(na) {
alpha = na;
}
function get value() {
return(lastValue + ((ivalue - lastValue) * alpha));
}
function set value(v) {
ivalue = v;
lastValue = v;
//return(value);
}
}
Symbol 434 MovieClip [__Packages.com.midasplayer.game.biggest_loser.Wagon] Frame 0
class com.midasplayer.game.biggest_loser.Wagon
{
var board_, layer_, x_, y_, actionQueue_, tick_, dumbellTick_, feedingFrenzyTick_, treadmillTick_, speedDietTick_, fatShieldTick_, foodBlastActive_, speed_, animPos_, speedDivider_, realx_, x1_, x2_, clip_, lastReportedX, busy_, mouseDown_, bricks_, feedingFrenzyActive_, feedingFrenzyTime_, treadmillActive_, treadmillTime_, dumbellActive_, dumbellTime_, speedDietActive_, speedDietTime_, fatShieldActive_, fatShieldTime_;
function Wagon (board, layer, x, y) {
board_ = board;
layer_ = layer;
x_ = x;
y_ = y;
actionQueue_ = new Array();
tick_ = 0;
dumbellTick_ = -1;
feedingFrenzyTick_ = -1;
treadmillTick_ = -1;
speedDietTick_ = -1;
fatShieldTick_ = -1;
foodBlastActive_ = false;
speed_ = 0;
animPos_ = 0;
speedDivider_ = 1;
realx_ = 0;
_root.treadmillStatus.gotoAndStop(1);
_root.feedingFrenzyStatus.gotoAndStop(1);
_root.dumbellStatus.gotoAndStop(1);
_root.speedDietStatus.gotoAndStop(1);
_root.fatShieldStatus.gotoAndStop(1);
x1_ = com.midasplayer.game.biggest_loser.Board.BOARD_X;
x2_ = (com.midasplayer.game.biggest_loser.Board.BOARD_X + (board.getNumCols() * com.midasplayer.game.biggest_loser.Brick.WIDTH)) - com.midasplayer.game.biggest_loser.Brick.WIDTH;
clip_ = layer_.attachMovie("wagon", "wagon", layer_.getNextHighestDepth());
clip_.shield._visible = false;
clip_.pill._visible = false;
clip_.man.gotoAndStop(board_.getLevel());
clip_.gum._visible = false;
_root.gum1._visible = false;
_root.gum2._visible = false;
lastReportedX = -1;
onMouseMove();
setX(0);
clip_._y = y_;
}
function start() {
if (!com.midasplayer.game.biggest_loser.Game.DEBUG_MODE) {
Mouse.addListener(this);
}
}
function stop() {
Mouse.removeListener(this);
}
function getX() {
return(x_);
}
function getY() {
return(y_);
}
function interectX(x) {
x = ((x < x1_) ? (x1_) : (x));
x = ((x > x2_) ? (x2_) : (x));
return(x);
}
function setX(x) {
x_ = interectX(x);
}
function setBusy(t) {
busy_ = t;
}
function isBusy() {
return(busy_);
}
function onMouseDown() {
if (!com.midasplayer.game.biggest_loser.Game.DEBUG_MODE) {
if ((_ymouse > (Stage.height - 35)) && ((_xmouse < 150) || (_xmouse > 650))) {
return(undefined);
}
}
mouseDown_ = true;
}
function onMouseDown2() {
if (mouseDown_) {
mouseDown_ = false;
if (isBusy()) {
return(undefined);
}
doAction(x_);
}
}
function doAction(x) {
board_.reportAction(tick_, 0);
if ((bricks_ == undefined) || (bricks_.length == 0)) {
bricks_ = board_.fetchBricks(x);
} else {
board_.releaseBricks(x, bricks_);
}
}
function getBricks() {
return(bricks_);
}
function removeBricks() {
var _local4 = ((bricks_ != undefined) ? (bricks_.length) : 0);
var _local2 = 0;
while (_local2 < _local4) {
var _local3 = bricks_.pop();
_local3.remove2();
_local2++;
}
}
function addBrick(brick) {
bricks_.push(brick);
}
function activateFeedingFrenzy() {
feedingFrenzyTick_ = board_.getTick();
feedingFrenzyActive_ = true;
_root.feedingFrenzyStatus.gotoAndStop(2);
}
function isFeedingFrenzyActive() {
if (feedingFrenzyTick_ < 0) {
return(false);
}
if (tick_ < (feedingFrenzyTick_ + (com.midasplayer.game.biggest_loser.Board.TPS * 15))) {
feedingFrenzyTime_ = Math.ceil(((feedingFrenzyTick_ + (com.midasplayer.game.biggest_loser.Board.TPS * 15)) - tick_) / com.midasplayer.game.biggest_loser.Board.TPS);
return(true);
}
return(false);
}
function activateTreadmill() {
treadmillTick_ = board_.getTick();
treadmillActive_ = true;
_root.treadmillStatus.gotoAndStop(2);
}
function isTreadmillActive() {
if (treadmillTick_ < 0) {
return(false);
}
if (tick_ < (treadmillTick_ + (com.midasplayer.game.biggest_loser.Board.TPS * 10))) {
treadmillTime_ = Math.ceil(((treadmillTick_ + (com.midasplayer.game.biggest_loser.Board.TPS * 10)) - tick_) / com.midasplayer.game.biggest_loser.Board.TPS);
return(true);
}
return(false);
}
function activateDumbell() {
dumbellTick_ = board_.getTick();
trace("activate dumbell at " + dumbellTick_);
dumbellActive_ = true;
_root.dumbellStatus.gotoAndStop(2);
clip_.gum._visible = true;
_root.gum1._visible = true;
_root.gum2._visible = true;
}
function isDumbellActive() {
if (dumbellTick_ < 0) {
return(false);
}
if (tick_ < (dumbellTick_ + (com.midasplayer.game.biggest_loser.Board.TPS * 10))) {
dumbellTime_ = Math.ceil(((dumbellTick_ + (com.midasplayer.game.biggest_loser.Board.TPS * 10)) - tick_) / com.midasplayer.game.biggest_loser.Board.TPS);
return(true);
}
return(false);
}
function deActivateDumbell() {
clip_.gum.stop();
clip_.gum._visible = false;
_root.gum1._visible = false;
_root.gum2._visible = false;
}
function activateSpeedDiet() {
speedDietTick_ = board_.getTick();
speedDietActive_ = true;
_root.speedDietStatus.gotoAndStop(2);
}
function isSpeedDietActive() {
if (speedDietTick_ < 0) {
return(false);
}
if (tick_ < (speedDietTick_ + (com.midasplayer.game.biggest_loser.Board.TPS * 10))) {
speedDietTime_ = Math.ceil(((speedDietTick_ + (com.midasplayer.game.biggest_loser.Board.TPS * 10)) - tick_) / com.midasplayer.game.biggest_loser.Board.TPS);
return(true);
}
return(false);
}
function activateFatShield() {
fatShieldTick_ = board_.getTick();
fatShieldActive_ = true;
clip_.shield._visible = true;
_root.fatShieldStatus.gotoAndStop(2);
}
function isFatShieldActive() {
if (fatShieldTick_ < 0) {
return(false);
}
if (tick_ < (fatShieldTick_ + (com.midasplayer.game.biggest_loser.Board.TPS * 15))) {
fatShieldTime_ = Math.ceil(((fatShieldTick_ + (com.midasplayer.game.biggest_loser.Board.TPS * 15)) - tick_) / com.midasplayer.game.biggest_loser.Board.TPS);
return(true);
}
return(false);
}
function goodFoodTaken() {
clip_.tray.gotoAndPlay("good");
}
function badFoodTaken() {
clip_.tray.gotoAndPlay("bad");
}
function activateFoodBlast() {
foodBlastActive_ = true;
clip_.pill._visible = true;
}
function deActivateFoodBlast() {
foodBlastActive_ = false;
clip_.pill._visible = false;
}
function isFoodBlastActive() {
return(foodBlastActive_);
}
function render(tick, alpha) {
var _local2 = (Math.floor(animPos_) % 11) + 1;
if ((_local2 > 1) && (speed_ < 0.5)) {
speed_ = 0.5;
}
clip_.man.anim.gotoAndStop(_local2);
if (isDumbellActive()) {
clip_.gum.gotoAndStop(1 + (_local2 % 6));
}
display();
}
function tick(tick) {
tick_ = tick;
var _local3 = x_;
onMouseMove2();
onMouseDown2();
_local3 = Math.abs(_local3 - x_);
if (_local3 == 0) {
speed_ = speed_ * 0.975;
if (speed_ < 0.6) {
speed_ = speed_ * 0.6;
}
} else if (_local3 <= 20) {
speed_ = 0.6 + ((0.6 * _local3) / 20);
} else {
speed_ = 1.2;
}
if (isDumbellActive()) {
speed_ = speed_ / 3;
}
animPos_ = animPos_ + speed_;
if (isDumbellActive()) {
if (_root.dumbellStatus.timeclip.time.val != dumbellTime_) {
_root.dumbellStatus.timeclip.time.val = dumbellTime_;
_root.dumbellStatus.timeclip.time.text = "00:" + ((dumbellTime_ < 10) ? ("0" + dumbellTime_) : (dumbellTime_));
}
} else if (dumbellActive_) {
deActivateDumbell();
_root.dumbellStatus.gotoAndStop(1);
dumbellActive_ = false;
}
if (isFeedingFrenzyActive()) {
if (_root.feedingFrenzyStatus.timeclip.time.val != feedingFrenzyTime_) {
_root.feedingFrenzyStatus.timeclip.time.val = feedingFrenzyTime_;
_root.feedingFrenzyStatus.timeclip.time.text = "00:" + ((feedingFrenzyTime_ < 10) ? ("0" + feedingFrenzyTime_) : (feedingFrenzyTime_));
}
} else if (feedingFrenzyActive_) {
_root.feedingFrenzyStatus.gotoAndStop(1);
feedingFrenzyActive_ = false;
}
if (isTreadmillActive()) {
if (_root.treadmillStatus.timeclip.time.val != treadmillTime_) {
_root.treadmillStatus.timeclip.time.val = treadmillTime_;
_root.treadmillStatus.timeclip.time.text = "00:" + ((treadmillTime_ < 10) ? ("0" + treadmillTime_) : (treadmillTime_));
}
} else if (treadmillActive_) {
_root.treadmillStatus.gotoAndStop(1);
treadmillActive_ = false;
}
if (isSpeedDietActive()) {
if (_root.speedDietStatus.timeclip.time.val != speedDietTime_) {
_root.speedDietStatus.timeclip.time.val = speedDietTime_;
_root.speedDietStatus.timeclip.time.text = "00:" + ((speedDietTime_ < 10) ? ("0" + speedDietTime_) : (speedDietTime_));
}
} else if (speedDietActive_) {
_root.speedDietStatus.gotoAndStop(1);
speedDietActive_ = false;
}
if (isFatShieldActive()) {
if (_root.fatShieldStatus.timeclip.time.val != fatShieldTime_) {
_root.fatShieldStatus.timeclip.time.val = fatShieldTime_;
_root.fatShieldStatus.timeclip.time.text = "00:" + ((fatShieldTime_ < 10) ? ("0" + fatShieldTime_) : (fatShieldTime_));
}
} else if (fatShieldActive_) {
clip_.shield._visible = false;
_root.fatShieldStatus.gotoAndStop(1);
fatShieldActive_ = false;
}
}
function onMouseMove() {
if (!com.midasplayer.game.biggest_loser.Game.DEBUG_MODE) {
setRealMouseX(_xmouse);
}
}
function setRealMouseX(x) {
realx_ = x;
}
function onMouseMove2() {
var _local3 = x_;
var _local2 = interectX(Math.round(realx_));
var _local4 = _local2 - _local3;
if (isDumbellActive() && (speedDivider_ < 10)) {
speedDivider_++;
} else if (speedDivider_ > 1) {
speedDivider_--;
}
if (lastReportedX != _local2) {
board_.reportAction(tick_, _local2);
lastReportedX = _local2;
}
if (_local4 != 0) {
x_ = Math.round(_local3 + (_local4 / speedDivider_));
}
}
function display() {
clip_._x = x_;
var _local5 = ((bricks_ != undefined) ? (bricks_.length) : 0);
var _local3 = x_;
var _local4 = 0;
if (_local5 == 2) {
_local3 = _local3 - 10;
_local4 = 20;
} else if (_local5 == 3) {
_local3 = _local3 - 20;
_local4 = 20;
}
var _local2 = 0;
while (_local2 < _local5) {
bricks_[_local2].setX(_local3);
_local3 = _local3 + _local4;
_local2++;
}
}
static var WIDTH = 120;
static var HEIGHT = 66;
}
Symbol 435 MovieClip [__Packages.com.midasplayer.game.biggest_loser.Brick] Frame 0
class com.midasplayer.game.biggest_loser.Brick
{
var color_, type_, board_, layer_, ix, iy, clip_, combo_, row_, col_, x_, y_, xold_, yold_, fallHeight_, previousY_;
function Brick (board, layer, color, type) {
color_ = color;
type_ = type;
board_ = board;
layer_ = layer;
ix = new com.midasplayer.timing.IFloat();
iy = new com.midasplayer.timing.IFloat();
hasMoved_ = false;
var _local2 = NUM;
NUM++;
if (type_ == TYPE_NORMAL) {
clip_ = layer.attachMovie("brick" + color, "brick" + _local2, _local2);
} else if (type_ == TYPE_BONUS) {
clip_ = layer.attachMovie("bonus" + color, "brick" + _local2, _local2);
} else if (type_ == TYPE_SPECIAL_GOOD) {
clip_ = layer.attachMovie("special_good" + color, "brick" + _local2, _local2);
} else if (type_ == TYPE_SPECIAL_BAD) {
clip_ = layer.attachMovie("special_bad" + color, "brick" + _local2, _local2);
}
_local2++;
clip_.gotoAndStop(1);
display();
}
function getClip() {
return(clip_);
}
function isMovable() {
return(true);
}
function isBlank() {
return((type_ == TYPE_NORMAL) && (color_ == 0));
}
function setCombo(combo) {
combo_ = combo;
}
function getCombo() {
return(combo_);
}
function remove() {
board_.removeBrick(row_, col_);
clip_.removeMovieClip();
removed_ = true;
}
function remove2() {
clip_.removeMovieClip();
removed_ = true;
}
function explode() {
board_.explodeBrick(this);
}
function getColor() {
return(color_);
}
function getType() {
return(type_);
}
function setType(type) {
type_ = type;
display();
}
function setPos(x, y) {
x_ = x;
y_ = y;
clip_._x = x_;
clip_._y = y_;
}
function render(alpha) {
var _local3 = ix.get(alpha);
var _local2 = iy.get(alpha);
clip_._x = _local3;
clip_._y = _local2;
}
function setOldPos(x, y) {
xold_ = x;
yold_ = y;
}
function getOldX() {
return(xold_);
}
function getOldY() {
return(yold_);
}
function setY(y) {
y_ = y;
clip_._y = y_;
}
function setX(x) {
x_ = x;
clip_._x = x_;
}
function getX() {
return(x_);
}
function getY() {
return(y_);
}
function setCol(col) {
col_ = col;
}
function setRow(row) {
row_ = row;
}
function getCol() {
return(col_);
}
function getRow() {
return(row_);
}
function setFallHeight(fallHeight) {
fallHeight_ = fallHeight;
previousY_ = clip_._y;
}
function getFallHeight() {
return(fallHeight_);
}
function getPreviousY() {
return(previousY_);
}
function markForColorCombo() {
markedForColorCombo_ = true;
}
function isMarkedForColorCombo() {
return(markedForColorCombo_);
}
function isMarkedForCombo() {
return(isMarkedForColorCombo());
}
function setHasMoved(t) {
hasMoved_ = t;
}
function hasMoved() {
return(hasMoved_);
}
function mark(id) {
markId_ = id;
}
function isMarked(id) {
return(markId_ == id);
}
function isSameType(brick) {
if (brick.getColor() == color_) {
if (brick.getType() == type_) {
return(true);
}
}
return(false);
}
function blink(i, type, p) {
if (type == com.midasplayer.game.biggest_loser.Combo.TYPE_COLOR) {
clip_._yscale = (1 - p) * 100;
clip_._xscale = (1 + ((p * p) * 0.2)) * 100;
} else if (type == com.midasplayer.game.biggest_loser.Combo.TYPE_FAT_BUSTER) {
clip_._x = x_ + i;
} else if (type == com.midasplayer.game.biggest_loser.Combo.TYPE_SPECIAL_BAD) {
clip_._xscale = 100 + (p * 100);
clip_._yscale = 100 + (p * 100);
clip_._alpha = 100 - (p * 100);
}
}
function display() {
clip_._visible = true;
}
static var WIDTH = 51;
static var HEIGHT = 36;
static var TYPE_NORMAL = 0;
static var TYPE_BONUS = 1;
static var TYPE_SPECIAL_GOOD = 2;
static var TYPE_SPECIAL_BAD = 3;
static var NUM = 1;
static var SPEED_DIET = 1;
static var FAT_BUSTER = 2;
static var FOOD_BLAST = 3;
static var FAT_SHIELD = 4;
static var FEEDING_FRENZY = 1;
static var TREADMILL = 2;
static var DUMBELL = 3;
var markedForColorCombo_ = false;
var removed_ = false;
var hasMoved_ = false;
var markId_ = -1;
}
Symbol 436 MovieClip [__Packages.com.midasplayer.game.biggest_loser.Combo] Frame 0
class com.midasplayer.game.biggest_loser.Combo
{
var board_, sequenceNumber_, type_, col1_, row1_, midx_, midy_, bricks_, pillX_, pillY_, double_;
function Combo (board, sequenceNumber, type, startCol, startRow) {
board_ = board;
sequenceNumber_ = sequenceNumber;
type_ = type;
col1_ = startCol;
row1_ = startRow;
midx_ = (col1_ * com.midasplayer.game.biggest_loser.Brick.WIDTH) + com.midasplayer.game.biggest_loser.Board.BOARD_X;
midy_ = (row1_ * com.midasplayer.game.biggest_loser.Brick.HEIGHT) + com.midasplayer.game.biggest_loser.Board.BOARD_Y;
bricks_ = new Array();
lastP_ = 0;
pillX_ = board_.getWagon().getX() - 5;
pillY_ = board_.getWagon().getY() + 10;
}
function addBricks(bricks) {
var _local2 = 0;
while (_local2 < bricks.length) {
bricks_[_local2] = bricks[_local2];
_local2++;
}
score_ = calcScore();
weight_ = calcWeight();
numExploding_ = calcNumExploding();
}
function isDone() {
return(done_);
}
function setSequenceNumber(s) {
sequenceNumber_ = s;
}
function getType() {
return(type_);
}
function markBricks() {
markColorCombo();
return(bricks_.length);
}
function markColorCombo() {
var _local3 = bricks_.length;
var _local2 = 0;
while (_local2 < _local3) {
bricks_[_local2].markForColorCombo();
_local2++;
}
}
function removeBricksAnim(tick, alpha, params) {
var _local24 = 0.2 * com.midasplayer.game.biggest_loser.Board.TPS;
if (type_ == TYPE_FAT_BUSTER) {
_local24 = 0.5 * com.midasplayer.game.biggest_loser.Board.TPS;
} else if (type_ == TYPE_FOOD_BLAST) {
_local24 = 1 * com.midasplayer.game.biggest_loser.Board.TPS;
}
var _local7 = com.midasplayer.util.AnimPlayer.tickToPercent(tick + alpha, 0, _local24);
var _local17 = bricks_.length;
if (type_ == TYPE_COLOR) {
if (lastBlink_ == -1) {
if (sequenceNumber_ > 1) {
var _local23 = (1 * sequenceNumber_) + 6;
_local23 = ((_local23 > 12) ? 12 : (_local23));
var _local26 = sequenceNumber_ - 1;
_local26 = ((_local26 > 3) ? 3 : (_local26));
new com.midasplayer.game.biggest_loser.Explosion(_root.effects, midx_, midy_, _local23, _local26);
}
var _local26 = (sequenceNumber_ % 3) + 1;
com.midasplayer.fx.SoundManager.play(("combo" + _local26) + "#1", 20);
new com.midasplayer.game.biggest_loser.ScorePopup(getScore(), midx_, midy_, isDouble());
lastBlink_ = 1;
}
var _local6 = 0;
while (_local6 < (_local17 - numExploding_)) {
bricks_[_local6].blink(_local6, type_, _local7);
_local6++;
}
} else if (type_ == TYPE_FAT_BUSTER) {
var _local22 = board_.getBrick(row1_, col1_);
if (lastBlink_ == -1) {
com.midasplayer.fx.SoundManager.play("hantel", 45);
_local22.getClip().gotoAndStop(2);
new com.midasplayer.game.biggest_loser.ScorePopup(getScore(), midx_, midy_ - 25, isDouble());
lastBlink_ = 1;
}
var _local28 = Math.floor(_local7 * (_local22.getClip().anim._totalframes - 1)) + 1;
_local22.getClip().anim.gotoAndStop(_local28);
var _local3 = (_local22.getClip().anim._width - com.midasplayer.game.biggest_loser.Brick.WIDTH) / 2;
var _local6 = 1;
while (_local6 < (board_.getNumCols() - 1)) {
var _local14 = board_.getBrick(row1_, col1_ - _local6);
if (_local14 != undefined) {
_local3 = ((_local3 < 0) ? 0 : (_local3));
_local14.blink(-_local3, type_, _local7);
} else {
_local3 = _local3 - com.midasplayer.game.biggest_loser.Brick.WIDTH;
}
_local6++;
}
_local3 = (_local22.getClip().anim._width - com.midasplayer.game.biggest_loser.Brick.WIDTH) / 2;
_local6 = 1;
while (_local6 < (board_.getNumCols() - 1)) {
var _local14 = board_.getBrick(row1_, col1_ + _local6);
if (_local14 != undefined) {
_local3 = ((_local3 < 0) ? 0 : (_local3));
_local14.blink(_local3, type_, _local7);
} else {
_local3 = _local3 - com.midasplayer.game.biggest_loser.Brick.WIDTH;
}
_local6++;
}
} else if (type_ == TYPE_FOOD_BLAST) {
if (lastBlink_ == -1) {
com.midasplayer.fx.SoundManager.play("pill", 30);
lastBlink_ = 1;
}
var _local16 = board_.getEffectsLayer();
var _local25 = ((_local7 < 0.1) ? (1000 * _local7) : 100);
_local25 = 100;
_local16.lineStyle(3, 16570764, _local25);
var _local15;
var _local5 = board_.getWagon().getX();
var _local4 = board_.getWagon().getY();
_local5 = bricks_[0].getX();
_local4 = bricks_[0].getY();
var _local13;
var _local12;
var _local11;
var _local10;
var _local19 = (_local17 + 1) * lastP_;
var _local18 = (_local17 + 1) * _local7;
var _local21 = Math.floor(_local19);
var _local20 = Math.ceil(_local18);
var _local6 = _local21;
while (_local6 < _local20) {
var _local9 = ((_local6 < _local19) ? (_local19) : (_local6));
var _local8 = (((_local6 + 1) > _local18) ? (_local18) : (_local6 + 1));
_local9 = _local9 - _local6;
_local8 = _local8 - _local6;
if (_local6 == 0) {
_local5 = pillX_;
_local4 = pillY_;
} else {
_local15 = bricks_[_local6 - 1];
_local5 = _local15.getX();
_local4 = _local15.getY();
}
var _local14 = bricks_[_local6];
_local13 = _local14.getX();
_local12 = _local14.getY();
_local11 = ((_local13 - _local5) * _local9) + _local5;
_local10 = ((_local12 - _local4) * _local9) + _local4;
_local16.moveTo(_local11, _local10);
_local11 = ((_local13 - _local5) * _local8) + _local5;
_local10 = ((_local12 - _local4) * _local8) + _local4;
_local16.lineTo(_local11, _local10);
_local6++;
}
lastP_ = _local7;
if ((_local7 == 1) && (alpha == 0)) {
_local16.clear();
board_.getWagon().deActivateFoodBlast();
new com.midasplayer.game.biggest_loser.ScorePopup(getScore(), board_.getWagon().getX() - 5, board_.getWagon().getY() - 10, isDouble());
}
} else if (type_ == TYPE_SPECIAL_BAD) {
if (lastBlink_ == -1) {
com.midasplayer.fx.SoundManager.play("negative_release#3", 30);
lastBlink_ = 1;
}
var _local6 = 0;
while (_local6 < _local17) {
bricks_[_local6].blink(_local6, type_, _local7);
_local6++;
}
}
if ((_local7 == 1) && (alpha == 0)) {
updateScore();
updateWeight();
removeBricks();
return(true);
}
return(false);
}
function removeBricks() {
var _local3 = bricks_.length;
if (type_ == TYPE_SPECIAL_BAD) {
if (bricks_[0].getColor() == com.midasplayer.game.biggest_loser.Brick.FEEDING_FRENZY) {
board_.getWagon().activateFeedingFrenzy();
} else if (bricks_[0].getColor() == com.midasplayer.game.biggest_loser.Brick.TREADMILL) {
board_.getWagon().activateTreadmill();
board_.treadmill();
} else if (bricks_[0].getColor() == com.midasplayer.game.biggest_loser.Brick.DUMBELL) {
board_.getWagon().activateDumbell();
}
}
var _local2 = 0;
while (_local2 < (_local3 - numExploding_)) {
bricks_[_local2].remove();
_local2++;
}
_local2 = _local3 - numExploding_;
while (_local2 < _local3) {
if (type_ == TYPE_BONUS) {
score_ = 300;
weight_ = -100;
}
bricks_[_local2].setCombo(this);
bricks_[_local2].explode();
_local2++;
}
done_ = true;
}
function updateScore() {
trace(((((" combo " + sequenceNumber_) + " score ") + score_) + " at ") + board_.getTick());
if (isDouble()) {
com.midasplayer.game.biggest_loser.Game.addScore(2 * score_);
} else {
com.midasplayer.game.biggest_loser.Game.addScore(score_);
}
}
function updateWeight() {
if (isDouble()) {
com.midasplayer.game.biggest_loser.Game.addWeight(2 * weight_);
} else {
com.midasplayer.game.biggest_loser.Game.addWeight(weight_);
}
}
function isDouble() {
return(double_);
}
function getScore() {
return(score_);
}
function getWeight() {
return(weight_);
}
function calcNumExploding() {
var _local2 = 0;
if (type_ == TYPE_FAT_BUSTER) {
_local2 = 0;
} else if (type_ == TYPE_SPECIAL_BAD) {
_local2 = 0;
} else if (type_ == TYPE_SPECIAL_GOOD) {
_local2 = 1;
} else if (type_ == TYPE_COLOR) {
if (board_.getWagon().isFeedingFrenzyActive()) {
_local2 = 3;
} else {
_local2 = 1;
}
} else if (type_ == TYPE_BONUS) {
_local2 = 1;
} else if (type_ == TYPE_FOOD_BLAST) {
_local2 = 4;
}
return(_local2);
}
function calcScore() {
var _local2 = 0;
if (type_ == TYPE_COLOR) {
var _local3 = bricks_.length;
if (_local3 == 4) {
_local2 = 100;
} else if (_local3 == 5) {
_local2 = 150;
} else if (_local3 == 6) {
_local2 = 250;
} else if (_local3 == 7) {
_local2 = 400;
} else {
_local2 = 400 + (200 * (_local3 - 7));
}
} else if (type_ == TYPE_BONUS) {
} else if (type_ == TYPE_SPECIAL_GOOD) {
} else if (type_ == TYPE_SPECIAL_BAD) {
} else if (type_ == TYPE_FAT_BUSTER) {
_local2 = 300;
} else if (type_ == TYPE_FOOD_BLAST) {
_local2 = 500;
}
if (sequenceNumber_ > 1) {
var _local4 = 1 + (sequenceNumber_ / 10);
_local2 = Math.round(_local2 * _local4);
}
double_ = board_.getWagon().isSpeedDietActive();
return(_local2);
}
function calcWeight() {
var _local3 = 0;
if (type_ == TYPE_COLOR) {
var _local2 = bricks_.length;
_local3 = (-_local2) * _local2;
}
return(_local3);
}
static var TYPE_COLOR = 1;
static var TYPE_BONUS = 2;
static var TYPE_SPECIAL_GOOD = 3;
static var TYPE_SPECIAL_BAD = 4;
static var TYPE_FAT_BUSTER = 5;
static var TYPE_FOOD_BLAST = 6;
var lastBlink_ = -1;
var score_ = 0;
var weight_ = 0;
var done_ = false;
var numExploding_ = 0;
var lastP_ = 0;
}
Symbol 437 MovieClip [__Packages.com.midasplayer.util.AnimPlayer] Frame 0
class com.midasplayer.util.AnimPlayer
{
static var clip_;
function AnimPlayer () {
}
static function staticInitializer(Void) {
clip_ = _root.createEmptyMovieClip("timer", _root.getNextHighestDepth());
clip_.onEnterFrame = function () {
com.midasplayer.util.AnimPlayer.onEnterFrame();
};
return(true);
}
static function play(props) {
animId_++;
var _local3 = props.playlist;
var _local4 = props.callback;
var _local5 = props.callback_scope;
var _local1 = props.tps;
if (_local1 == undefined) {
_local1 = 100;
}
callbacks_.put(animId_, _local4);
callbackScopes_.put(animId_, _local5);
animEntries_.put(animId_, new com.midasplayer.util.AnimEntry(_local3, animId_));
timers_.put(animId_, new com.midasplayer.timing.Timer(com.midasplayer.util.AnimEntry(animEntries_.get(animId_)), _local1));
return(animId_);
}
static function end(animId) {
delete eval (timers_.get(animId));
timers_.remove(animId);
delete eval (animEntries_.get(animId));
animEntries_.remove(animId);
var _local2 = callbacks_.get(animId);
callbacks_.remove(animId);
var _local3 = callbackScopes_.get(animId);
callbackScopes_.remove(animId);
_local2.call(_local3);
}
static function stop(animId) {
delete eval (timers_.get(animId));
timers_.remove(animId);
delete eval (animEntries_.get(animId));
animEntries_.remove(animId);
var _local2 = callbacks_.get(animId);
callbacks_.remove(animId);
var _local3 = callbackScopes_.get(animId);
callbackScopes_.remove(animId);
}
static function setTps(animId, tps) {
timers_.get(animId).setTps(tps);
}
static function tickToPercent(tick, startTick, numTicks) {
var _local1 = (tick - startTick) / numTicks;
_local1 = ((_local1 < 0) ? 0 : (_local1));
_local1 = ((_local1 > 1) ? 1 : (_local1));
return(_local1);
}
static function delay(props) {
return(play({playlist:[{obj:com.midasplayer.util.AnimPlayer, func:delayAnim, params:{millis:props.millis}}], callback:props.callback, callback_scope:props.callback_scope, tps:50}));
}
static function delayAnim(tick, alpha, params) {
if ((tick / 50) >= (params.millis / 1000)) {
return(true);
}
return(false);
}
static function easeInOutQuad(t, b, c, d) {
t = t / (d / 2);
if (t < 1) {
return((((c / 2) * t) * t) + b);
}
t--;
return((((-c) / 2) * ((t * (t - 2)) - 1)) + b);
}
static function easeInOutBack(t, b, c, d, s) {
if (s == undefined) {
s = 1.70158;
}
t = t / (d / 2);
if (t < 1) {
s = s * 1.525;
return(((c / 2) * ((t * t) * (((s + 1) * t) - s))) + b);
}
t = t - 2;
s = s * 1.525;
return(((c / 2) * (((t * t) * (((s + 1) * t) + s)) + 2)) + b);
}
static function onEnterFrame() {
timers_.foreach(function (key, obj) {
com.midasplayer.timing.Timer(obj).advanceTime2();
});
}
static var animId_ = 0;
static var animEntries_ = new com.midasplayer.util.Map();
static var timers_ = new com.midasplayer.util.Map();
static var callbacks_ = new com.midasplayer.util.Map();
static var callbackScopes_ = new com.midasplayer.util.Map();
static var staticInitialized = staticInitializer();
}
Symbol 438 MovieClip [__Packages.com.midasplayer.util.AnimEntry] Frame 0
class com.midasplayer.util.AnimEntry implements com.midasplayer.timing.Timeable
{
var playList_, animId_;
function AnimEntry (playList, animId) {
playList_ = playList;
animId_ = animId;
}
function tick(tick) {
}
function render(tick, alpha) {
if (baseTick_ == -1) {
baseTick_ = tick;
}
var _local2 = play(playList_, tick - baseTick_, alpha);
if (_local2) {
com.midasplayer.util.AnimPlayer.end(animId_);
}
}
function play(playList, tick, alpha) {
var _local12 = playList.length;
var _local4 = true;
var _local3 = 0;
while (_local3 < _local12) {
var _local2 = playList[_local3];
if (_local2 == undefined) {
} else if (_local2.length == undefined) {
var _local9 = _local2.func;
var _local8 = _local2.obj;
var _local10 = _local2.params;
var _local6 = _local9.call(_local8, tick, alpha, _local10);
if (_local6) {
playList[_local3] = undefined;
} else {
_local4 = false;
}
} else {
var _local6 = play(_local2, tick, alpha);
if (_local6) {
playList[_local3] = undefined;
baseTick_ = baseTick_ + tick;
_local4 = false;
break;
}
_local4 = false;
break;
}
_local3++;
}
return(_local4);
}
var baseTick_ = -1;
}
Symbol 439 MovieClip [__Packages.com.midasplayer.game.biggest_loser.Explosion] Frame 0
class com.midasplayer.game.biggest_loser.Explosion
{
var num_, stars_;
function Explosion (layer, x, y, num, n) {
num_ = num;
stars_ = new Array();
var _local3 = 0;
while (_local3 < num_) {
var _local5 = layer.getNextHighestDepth();
var _local2 = layer.attachMovie("star", "star" + _local5, _local5);
_local2.gotoAndStop(n);
_local2._x = x;
_local2._y = y;
var _local6 = random((Math.PI*2));
var _local4 = (Math.random() * 4) + 5;
_local2.vx = (Math.cos(_local6) * _local4) * 5;
_local2.vy = (Math.sin(_local6) * _local4) * 5;
_local2.x = x + ((_local2.vx * Math.random()) * 2);
_local2.y = y + ((_local2.vy * Math.random()) * 2);
_local2._rotation = random(360);
stars_[_local3] = _local2;
_local3++;
}
show();
}
function show() {
com.midasplayer.util.AnimPlayer.play({playlist:[{obj:this, func:playAnim}], callback:endPlay, callback_scope:this, tps:35});
}
function playAnim(tick, alpha) {
var _local4 = com.midasplayer.util.AnimPlayer.tickToPercent(tick + alpha, 0, 18);
var _local5 = 0;
while (_local5 < num_) {
var _local2 = stars_[_local5];
_local2._x = _local2.x + (_local2.vx * _local4);
_local2._y = _local2.y + (_local2.vy * _local4);
var _local3 = 1;
_local3 = ((_local4 < 0.4) ? (2.5 * _local4) : (_local3));
_local3 = ((_local4 > 0.8) ? (5 * (1 - _local4)) : (_local3));
_local2._xscale = 100 * _local3;
_local2._yscale = 100 * _local3;
_local5++;
}
return(_local4 == 1);
}
function endPlay() {
var _local2 = 0;
while (_local2 < num_) {
var _local3 = stars_[_local2];
_local3.removeMovieClip();
_local2++;
}
}
}
Symbol 440 MovieClip [__Packages.com.midasplayer.fx.SoundManager] Frame 0
class com.midasplayer.fx.SoundManager
{
function SoundManager () {
}
static function isSoundEnabled() {
return(soundEnabled);
}
static function enableSounds(enabled) {
soundEnabled = enabled;
if (!enabled) {
muteAll();
} else {
restoreMuteAll();
}
}
static function stopAll() {
sounds.foreach(function (name, soundEntry) {
soundEntry.sound.stop();
soundEntry.playStatus = false;
});
}
static function muteAll() {
sounds.foreach(function (name, soundEntry) {
soundEntry.sound.setVolume(0);
});
}
static function restoreMuteAll() {
sounds.foreach(function (name, soundEntry) {
soundEntry.sound.setVolume(soundEntry.realVol);
});
}
static function stop(resource) {
var _local1 = sounds.get(resource);
if (_local1 != undefined) {
_local1.sound.stop();
_local1.playStatus = false;
}
}
static function getCalibratedVolume(flashVolume) {
flashVolume = Math.min(100, flashVolume);
flashVolume = Math.max(0, flashVolume);
return(Math.ceil(Math.pow(flashVolume / 100, 1.46) * 100));
}
static function setVolume(resource, percent) {
var _local1 = sounds.get(resource);
if (_local1 == undefined) {
var _local3 = new Array();
_local3.push(resource);
initialize(_local3);
}
_local1 = sounds.get(resource);
if (_local1 != undefined) {
var _local2 = percent;
_local1.sound.setVolume(_local2);
_local1.sound.volume = _local2;
}
}
static function getVolume(resource) {
var _local1 = sounds.get(resource);
if (_local1 != undefined) {
return(_local1.sound.getVolume());
}
return(100);
}
static function isPlaying(resource) {
var _local1 = sounds.get(resource);
return((_local1 != undefined) && (_local1.playStatus == true));
}
static function initialize(list) {
for (var _local9 in list) {
var resource = list[_local9];
var _local3 = _root.getNextHighestDepth();
var _local2 = new Sound(_root.createEmptyMovieClip("sm_sndhold_" + _local3, _local3));
_local2.attachSound(resource);
_local2.onSoundComplete = function () {
var _local1 = com.midasplayer.fx.SoundManager.sounds.get(resource);
_local1.playStatus = false;
};
sounds.put(resource, {realVol:100, sound:_local2, playStatus:false});
}
}
static function play(resource, volume, isLoop, fn) {
if (volume == undefined) {
volume = getVolume(resource);
}
if (isLoop == undefined) {
isLoop = false;
}
var _local2 = sounds.get(resource);
if (_local2 != undefined) {
_local2.sound.setVolume((soundEnabled ? (volume) : 0));
_local2.realVol = volume;
_local2.playStatus = true;
_local2.onPlayedFn = fn;
_local2.sound.start(0, (isLoop ? 32767 : 1));
} else {
var _local6 = _root.getNextHighestDepth();
var _local3 = new Sound(_root.createEmptyMovieClip("sm_sndhold_" + _local6, _local6));
_local3.attachSound(resource);
_local3.onSoundComplete = function () {
var _local1 = com.midasplayer.fx.SoundManager.sounds.get(resource);
_local1.playStatus = false;
com.midasplayer.fx.SoundManager.onPlayed_(resource);
};
_local3.setVolume((soundEnabled ? (volume) : 0));
_local3.start(0, (isLoop ? 32767 : 1));
sounds.put(resource, {realVol:volume, onPlayedFn:fn, sound:_local3, playStatus:true});
}
}
static function onPlayed_(name) {
var _local1 = sounds.get(name);
if ((_local1 != undefined) && (_local1.onPlayedFn != undefined)) {
_local1.onPlayedFn();
}
}
static var sounds = new com.midasplayer.util.Map();
static var soundEnabled = true;
}
Symbol 441 MovieClip [__Packages.com.midasplayer.game.biggest_loser.ScorePopup] Frame 0
class com.midasplayer.game.biggest_loser.ScorePopup
{
var clip_, double_, y_;
function ScorePopup (score, x, y, double) {
y = y - 10;
var _local3 = _root.effects.getNextHighestDepth();
if (score < 0) {
clip_ = _root.effects.attachMovie("score_popup", "sp" + _local3, _local3);
clip_.gotoAndStop(2);
} else {
clip_ = _root.effects.attachMovie("score_popup", "sp" + _local3, _local3);
clip_.gotoAndStop(1);
}
double_ = double;
clip_.clip.score.html = true;
clip_.clip.score.htmlText = ("<b>" + score) + "</b>";
if (double_) {
clip_.clip.score.htmlText = ("<b><font size=\"50\">2</font>x" + score) + "</b>";
}
clip_._x = x;
clip_._y = y;
y_ = y;
show();
}
function show() {
com.midasplayer.util.AnimPlayer.play({playlist:[{obj:this, func:playAnim}], callback:endPlay, callback_scope:this, tps:50});
}
function playAnim(tick, alpha) {
var _local2 = com.midasplayer.util.AnimPlayer.tickToPercent(tick + alpha, 0, 35);
clip_._y = y_ - ((_local2 * _local2) * 30);
clip_._alpha = (1 - (((_local2 * _local2) * _local2) * _local2)) * 100;
return(_local2 == 1);
}
function endPlay() {
clip_.removeMovieClip();
}
}
Symbol 442 MovieClip [__Packages.com.midasplayer.util.Base64Encoder] Frame 0
class com.midasplayer.util.Base64Encoder
{
var res;
function Base64Encoder () {
res = "";
}
function append(value) {
res = res + BASE_64_CHARS.charAt(value % 64);
res = res + BASE_64_CHARS.charAt(value / 64);
}
function appendShort(value) {
res = res + BASE_64_CHARS.charAt(value);
}
static var BASE_64_CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz#!";
}
Symbol 443 MovieClip [__Packages.com.midasplayer.game.biggest_loser.Meter] Frame 0
class com.midasplayer.game.biggest_loser.Meter
{
var clip_, maxWeight_, currentWeight_, minWeight_, targetWeight_, animId_;
function Meter () {
clip_ = _root.meter.anim.disc;
}
function setMaxWeight(w) {
maxWeight_ = w;
currentWeight_ = w;
}
function setMinWeight(w) {
minWeight_ = w;
}
function setTargetWeight(w) {
targetWeight_ = w;
}
function getTargetWeight() {
return(targetWeight_);
}
function getWeight() {
return(currentWeight_);
}
function targetReached() {
return(currentWeight_ <= targetWeight_);
}
function setWeight(w) {
w = ((w > maxWeight_) ? (maxWeight_) : (w));
w = ((w < minWeight_) ? (minWeight_) : (w));
com.midasplayer.util.AnimPlayer.stop(animId_);
var _local3 = new Array();
var _local6 = currentWeight_;
var _local9 = w;
currentWeight_ = w;
_local3.push({obj:this, func:setWeightAnim, params:{oldw:_local6, neww:_local9}});
animId_ = com.midasplayer.util.AnimPlayer.play({playlist:_local3, callback:undefined, callback_scope:this, tps:40});
}
function setWeightAnim(tick, alpha, params) {
var _local3 = params.oldw;
var _local5 = params.neww;
var _local4 = com.midasplayer.util.AnimPlayer.tickToPercent(tick, 0, 30);
var _local7 = com.midasplayer.util.AnimPlayer.easeInOutBack(_local4, _local3, _local5 - _local3, 1);
var _local6 = (ROTATION_MAX - ROTATION_TARGET) / (maxWeight_ - targetWeight_);
var _local2 = ROTATION_TARGET + (_local6 * (_local7 - targetWeight_));
if (_local2 > 65) {
_local2 = 65;
}
clip_._rotation = _local2;
return(_local4 == 1);
}
static var ROTATION_MAX = -70;
static var ROTATION_TARGET = 45;
}
Symbol 444 MovieClip [__Packages.com.midasplayer.util.AnimDriver] Frame 0
class com.midasplayer.util.AnimDriver
{
var m_clip, m_isFrozen, m_ticks, m_direction, m_frameRate, m_frameTime, m_frameCounts, m_toFrames, m_clips, m_stopped, m_once, m_lastTime, m_numTimes, m_fromFrame, m_toFrame;
function AnimDriver (clip, frameRate) {
m_clip = clip;
m_isFrozen = false;
m_ticks = 0;
m_direction = 1;
m_frameRate = frameRate;
m_frameTime = (1 / m_frameRate) * 1000;
m_frameCounts = {};
m_toFrames = {};
m_clips = find(m_clip);
for (var _local2 in m_clips) {
m_frameCounts[m_clips[_local2]._name] = 0;
m_toFrames[m_clips[_local2]._name] = m_clips[_local2]._totalFrames;
}
m_stopped = true;
m_once = false;
m_lastTime = getTimer();
}
function drive() {
if (m_stopped) {
m_clip.onEnterFrame = undefined;
return(undefined);
}
var _local9 = getTimer();
var _local10 = _local9 - m_lastTime;
m_lastTime = _local9;
m_ticks = m_ticks + (_local10 / m_frameTime);
var _local6 = int(m_ticks);
if (_local6 > 0) {
if (m_direction > 0) {
m_ticks = m_ticks - (m_direction * _local6);
} else if (m_direction < 0) {
m_ticks = m_ticks + (m_direction * _local6);
}
var _local5 = 0;
var _local7 = 0;
for (var _local8 in m_clips) {
var _local2 = m_clips[_local8];
if (com.midasplayer.util.AnimDriver(_local2) != null) {
var _local4 = com.midasplayer.util.AnimDriver(_local2);
if (_local4.frozen == true) {
continue;
}
}
m_frameCounts[_local2._name] = m_frameCounts[_local2._name] + (m_direction * _local6);
if (m_once) {
if ((m_direction > 0) && (m_frameCounts[_local2._name] >= m_toFrames[_local2._name])) {
m_frameCounts[_local2._name] = m_toFrames[_local2._name] - 1;
_local2.frozen = true;
_local5++;
}
if ((m_direction < 0) && (m_frameCounts[_local2._name] <= 0)) {
m_frameCounts[_local2._name] = 0;
_local2.frozen = true;
_local5++;
}
}
var _local3 = (m_frameCounts[_local2._name] % m_toFrames[_local2._name]) + 1;
_local2.gotoAndStop(_local3);
_local7++;
}
if (_local5 == _local7) {
m_numTimes--;
if (m_numTimes == 0) {
m_stopped = true;
} else {
for (var _local8 in m_clips) {
var _local2 = m_clips[_local8];
m_frameCounts[_local2._name] = m_fromFrame;
_local2.gotoAndStop(m_frameCounts[_local2._name] + 1);
_local2.frozen = false;
}
}
}
}
}
function get frozen() {
return(m_isFrozen);
}
function set frozen(b) {
m_isFrozen = b;
//return(frozen);
}
function forceCompleted() {
m_clip.onEnterFrame = undefined;
var _local7 = 0;
var _local6 = 0;
for (var _local5 in m_clips) {
var _local2 = m_clips[_local5];
if (com.midasplayer.util.AnimDriver(_local2) != null) {
var _local4 = com.midasplayer.util.AnimDriver(_local2);
if (_local4.frozen == true) {
continue;
}
}
m_frameCounts[_local2._name] = m_frameCounts[_local2._name] + (m_direction * 10000);
if (m_once) {
if ((m_direction > 0) && (m_frameCounts[_local2._name] >= m_toFrames[_local2._name])) {
m_frameCounts[_local2._name] = m_toFrames[_local2._name] - 1;
_local2.frozen = true;
}
if ((m_direction < 0) && (m_frameCounts[_local2._name] <= 0)) {
m_frameCounts[_local2._name] = 0;
_local2.frozen = true;
}
var _local3 = (m_frameCounts[_local2._name] % m_toFrames[_local2._name]) + 1;
_local2.gotoAndStop(_local3);
}
}
}
function isRunning() {
return(m_clip.onEnterFrame != undefined);
}
function playOnce(dir, fromFrame, toFrame, numTimes) {
m_fromFrame = fromFrame;
if (fromFrame == undefined) {
fromFrame = 1;
}
if (dir == undefined) {
m_direction = 1;
} else {
m_direction = dir;
}
if (numTimes == undefined) {
m_numTimes = 1;
} else {
m_numTimes = numTimes;
}
m_toFrame = toFrame;
m_isFrozen = false;
m_ticks = 0;
m_stopped = false;
m_once = true;
m_lastTime = getTimer();
for (var _local5 in m_clips) {
var _local2 = m_clips[_local5];
if (com.midasplayer.util.AnimDriver(_local2) != null) {
var _local3 = com.midasplayer.util.AnimDriver(_local2);
if (_local3.frozen == true) {
continue;
}
}
m_frameCounts[_local2._name] = fromFrame - 1;
if (m_toFrame == undefined) {
m_toFrames[_local2._name] = _local2._totalFrames;
} else {
m_toFrames[_local2._name] = m_toFrame;
}
_local2.gotoAndStop(fromFrame);
}
m_clip.onEnterFrame = mx.utils.Delegate.create(this, drive);
}
function playStart(startFrom) {
if (startFrom == undefined) {
startFrom = 0;
}
m_ticks = 0;
m_stopped = false;
m_lastTime = getTimer();
for (var _local5 in m_clips) {
var _local2 = m_clips[_local5];
if (com.midasplayer.util.AnimDriver(_local2) != null) {
var _local3 = com.midasplayer.util.AnimDriver(_local2);
if (_local3.frozen == true) {
continue;
}
}
m_frameCounts[_local2._name] = startFrom;
_local2.gotoAndStop(1);
}
m_clip.onEnterFrame = mx.utils.Delegate.create(this, drive);
}
function playStop() {
m_stopped = true;
m_clip.onEnterFrame = undefined;
}
function find(clip) {
var _local4 = new Array();
if (clip._totalframes > 1) {
clip.stop();
_local4.push(clip);
}
for (var _local7 in clip) {
var _local3 = clip[_local7];
var _local2 = find(_local3);
for (var _local6 in _local2) {
_local4.push(_local2[_local6]);
}
}
return(_local4);
}
}
Symbol 445 MovieClip [__Packages.mx.utils.Delegate] Frame 0
class mx.utils.Delegate extends Object
{
var func;
function Delegate (f) {
super();
func = f;
}
static function create(obj, func) {
var _local2 = function () {
var _local2 = arguments.callee.target;
var _local3 = arguments.callee.func;
return(_local3.apply(_local2, arguments));
};
_local2.target = obj;
_local2.func = func;
return(_local2);
}
function createDelegate(obj) {
return(create(obj, func));
}
}
Symbol 446 MovieClip [__Packages.com.midasplayer.game.biggest_loser.Replay] Frame 0
class com.midasplayer.game.biggest_loser.Replay implements com.midasplayer.timing.Timeable
{
var game_, clip_, entries_, xml, interval_, data_, decoder_, nextTick_, timer_;
function Replay (game) {
game_ = game;
clip_ = _root.createEmptyMovieClip("replay", _root.getNextHighestDepth());
entries_ = new Array();
xml = new XML();
xml.ignoreWhite = true;
xml.onLoad = mx.utils.Delegate.create(this, xmlLoaded);
xml.load("xml/playdata.xml");
}
function xmlLoaded(success) {
if (success) {
parse();
doReplay();
}
}
function doReplay() {
clearInterval(interval_);
var _local2 = entriesIndex_;
if (_local2 >= entries_.length) {
return(undefined);
}
if (entries_[_local2].code == "19") {
trace("start game");
var _local3 = entries_[_local2].data[1];
com.midasplayer.util.GameBase.gameData.put("seed", _local3);
game_.startGame2();
entriesIndex_++;
doReplay();
return(undefined);
}
if (entries_[_local2].code == "132") {
trace("132");
var _local3 = entries_[_local2].data[0];
if (com.midasplayer.game.biggest_loser.Game.board_.started_ && (!com.midasplayer.game.biggest_loser.Game.board_.isStopped())) {
trace("XXXXX");
data_ = "";
entriesIndex_++;
doReplay();
return(undefined);
}
interval_ = setInterval(this, "doReplay", 1000);
return(undefined);
}
if (entries_[_local2].code == "22") {
trace("22");
trace(entries_[_local2].data[0]);
data_ = data_ + entries_[_local2].data[0];
entriesIndex_++;
doReplay();
return(undefined);
}
if (entries_[_local2].code == "14") {
trace("14");
trace("mydata: " + data_);
decoder_ = new com.midasplayer.util.Base64Decoder(data_);
nextTick_ = -1;
if (com.midasplayer.game.biggest_loser.Game.getRoundNum() == 1) {
timer_ = new com.midasplayer.timing.Timer(this, 2000);
} else {
timer_ = new com.midasplayer.timing.Timer(this, 200);
}
clip_.timer = timer_;
clip_.onEnterFrame = function () {
this.timer.advanceTime();
};
return(undefined);
}
if (entries_[_local2].code == "177") {
trace("177");
entriesIndex_++;
doReplay();
return(undefined);
}
entriesIndex_++;
doReplay();
return(undefined);
}
function tick(tick) {
if (nextTick_ == -2) {
return(undefined);
}
if (nextTick_ == -1) {
if (decoder_.hasMore()) {
nextTick_ = decoder_.next();
} else {
com.midasplayer.game.biggest_loser.Game.board_.gameOver();
clip_.onEnterFrame = undefined;
delete timer_;
entriesIndex_++;
doReplay();
nextTick_ = -2;
return(undefined);
}
}
while (nextTick_ == tick) {
var _local2 = decoder_.next();
if (_local2 == 0) {
trace("ACTION CLICK AT " + tick);
com.midasplayer.game.biggest_loser.Game.board_.getWagon().onMouseDown();
} else if (_local2 == 1) {
trace("END AT " + tick);
} else {
com.midasplayer.game.biggest_loser.Game.board_.getWagon().setRealMouseX(_local2);
}
if (decoder_.hasMore()) {
nextTick_ = decoder_.next();
} else {
trace("end of stream");
nextTick_ = -1;
}
}
com.midasplayer.game.biggest_loser.Game.board_.tick(tick);
}
function render(tick, alpha) {
com.midasplayer.game.biggest_loser.Game.board_.render(tick, alpha);
}
function parseEntry(xml) {
var _local2 = String(xml.firstChild);
_local2 = _local2.substring(0, _local2.indexOf("="));
var _local5 = _local2.split(",");
var _local3 = _local5[1].split(" ");
entries_.push({code:_local5[0], data:_local3});
}
function parse() {
var _local3 = xml.firstChild.firstChild.firstChild.childNodes;
var _local2 = 0;
while (_local2 < _local3.length) {
var _local4 = new String(_local3[_local2].nodeName);
if (_local4 == "entry") {
parseEntry(_local3[_local2]);
}
_local2++;
}
}
var entriesIndex_ = 0;
var seed_ = 0;
}
Symbol 447 MovieClip [__Packages.com.midasplayer.util.Base64Decoder] Frame 0
class com.midasplayer.util.Base64Decoder
{
var res, p;
function Base64Decoder (r) {
res = r;
p = 0;
}
function next() {
var _local2 = BASE_64_CHARS.indexOf(res.charAt(p++));
_local2 = _local2 + (BASE_64_CHARS.indexOf(res.charAt(p++)) * 64);
return(_local2);
}
function nextShort() {
return(BASE_64_CHARS.indexOf(res.charAt(p++)));
}
function hasMore() {
return(p < res.length);
}
static var BASE_64_CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz#!";
}
Symbol 341 MovieClip Frame 1
stop();
Symbol 341 MovieClip Frame 2
stop();
Symbol 346 MovieClip Frame 1
stop();
Symbol 346 MovieClip Frame 2
stop();
Symbol 351 MovieClip Frame 1
stop();
Symbol 351 MovieClip Frame 2
stop();
Symbol 356 MovieClip Frame 1
stop();
Symbol 356 MovieClip Frame 2
stop();
Symbol 361 MovieClip Frame 1
stop();
Symbol 361 MovieClip Frame 2
stop();