Frame 1
stop();
_root.introFlash = 1;
Stage.showMenu = false;
onEnterFrame = function () {
if (introAnimation._currentframe == 294) {
gotoAndStop ("title");
}
};
Instance of Symbol 475 MovieClip [APIConnector] in Frame 1
//component parameters
onClipEvent (construct) {
apiId = "55672:nwAScUQG";
encryptionKey = "hZekIQvBE7I8vftKYFwc5VDmzuTnkmzd";
debugMode = "Off";
movieVersion = "";
connectorType = "Invisible";
redirectOnNewVersion = true;
redirectOnHostBlocked = true;
adType = "Simple";
}
Frame 11
stop();
if ((_root.menuMusicPlaying == 0) && (_root.introFlash == 0)) {
stopAllSounds();
}
Stage.showMenu = false;
_root.easyGame = 0;
_root.mediumGame = 0;
_root.hardGame = 0;
_root.customGame = 0;
_root.viewHighScores = 0;
_root.straightTo1Game = 0;
_root.credits = 0;
_root.currentGame = 1;
_root.musicPlaying = 0;
_root.firstText = 0;
_root.tutorialRequest = 0;
_root.nextArrowPlay = 0;
_root.storedHighScores = SharedObject.getLocal("Stored_High_Scores");
_root.storedHighScoresText = SharedObject.getLocal("Stored_High_Scores_Text");
_root.storedProgress = SharedObject.getLocal("Stored_Progress");
tutCharEmbedded.gotoAndStop("notext");
tutCharEmbedded.onScreenTextBox.gotoAndStop(1);
if (_root.introFlash == 1) {
screenFlash._alpha = 110;
_root.introFlash = 0;
} else if (_root.introFlash == 0) {
screenFlash._alpha = 0;
}
if (sfxToggle == undefined) {
_root.menuMusicPlaying = 0;
_root.numOfGames = 0;
_root.customGameSeedInput = "";
_root.sfxToggle = 1;
_root.musicToggle = 1;
_root.backAnimation = 0;
}
if (backAnimation == 1) {
screenWipe.gotoAndPlay(16);
} else {
screenWipe.gotoAndStop(1);
}
_root.sndMenuMusic = new Sound(this);
sndMenuMusic.attachSound("menuMusic.wav");
_root.sndMusic1 = new Sound(this);
sndMusic1.attachSound("bumbleloop.wav");
_root.sndMusic2 = new Sound(this);
sndMusic2.attachSound("harploop.wav");
_root.sndMusic3 = new Sound(this);
sndMusic3.attachSound("danceloop.wav");
_root.sndPickup = new Sound(this);
sndPickup.attachSound("pickup.wav");
_root.sndPlace = new Sound(this);
sndPlace.attachSound("place.wav");
_root.sndWrong = new Sound(this);
sndWrong.attachSound("wrong.wav");
_root.sndWhoosh = new Sound(this);
sndWhoosh.attachSound("whoosh.wav");
_root.sndTalking = new Sound(this);
sndTalking.attachSound("talksound.wav");
_root.allSoundsArray = new Array(sndMenuMusic, sndMusic1, sndMusic2, sndMusic3, sndPickup, sndPlace, sndWrong, sndWhoosh, sndTalking);
if (gameVolume == undefined) {
_root.gameVolume = 100;
_root.allSoundsArray.setVolume = 100;
} else {
_root.gameVolume = _root.gameVolume;
}
playFlag = 0;
optionsFlag = 0;
if ((_root.musicToggle == 1) && (_root.menuMusicPlaying == 0)) {
sndMenuMusic.start(0, 9999);
_root.menuMusicPlaying = 1;
}
btnPlayEasy.onRelease = function () {
if (((((screenWipe._currentframe == 1) && (storedProgress.data.mediumUnlocked == 1)) && (_root.introFlash == 0)) && (_root.tutorialRequest == 0)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
playFlag = 1;
easyGame = 1;
screenWipe.gotoAndPlay(1);
} else if (((((screenWipe._currentframe == 1) && (storedProgress.data.mediumUnlocked == 0)) && (_root.introFlash == 0)) && (_root.tutorialRequest == 0)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
_root.straightTo1Game = 1;
_root.numOfGames = 1;
easyGame = 1;
screenWipe.gotoAndPlay(1);
}
if ((((screenWipe._currentframe == 1) && (_root.introFlash == 0)) && (_root.tutorialRequest == 1)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
tutCharEmbedded.gotoAndStop("easyrollover");
}
};
btnPlayMedium.onRelease = function () {
if ((((((screenWipe._currentframe == 1) && (storedProgress.data.mediumUnlocked == 1)) && (storedProgress.data.hardUnlocked == 1)) && (_root.introFlash == 0)) && (_root.tutorialRequest == 0)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
playFlag = 1;
mediumGame = 1;
screenWipe.gotoAndPlay(1);
} else if ((((((screenWipe._currentframe == 1) && (storedProgress.data.mediumUnlocked == 1)) && (storedProgress.data.hardUnlocked == 0)) && (_root.introFlash == 0)) && (_root.tutorialRequest == 0)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
_root.straightTo1Game = 1;
_root.numOfGames = 1;
mediumGame = 1;
screenWipe.gotoAndPlay(1);
}
if (((((screenWipe._currentframe == 1) && (_root.introFlash == 0)) && (storedProgress.data.mediumUnlocked == 0)) && (_root.tutorialRequest == 1)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
tutCharEmbedded.gotoAndStop("mediumlockedrollover");
} else if (((((screenWipe._currentframe == 1) && (_root.introFlash == 0)) && (storedProgress.data.mediumUnlocked == 1)) && (_root.tutorialRequest == 1)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
tutCharEmbedded.gotoAndStop("mediumrollover");
}
};
btnPlayHard.onRelease = function () {
if (((((((screenWipe._currentframe == 1) && (storedProgress.data.hardUnlocked == 1)) && (storedProgress.data.hardUnlocked == 1)) && (storedProgress.data.customUnlocked == 1)) && (_root.introFlash == 0)) && (_root.tutorialRequest == 0)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
playFlag = 1;
hardGame = 1;
screenWipe.gotoAndPlay(1);
} else if (((((((screenWipe._currentframe == 1) && (storedProgress.data.mediumUnlocked == 1)) && (storedProgress.data.hardUnlocked == 1)) && (storedProgress.data.customUnlocked == 0)) && (_root.introFlash == 0)) && (_root.tutorialRequest == 0)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
_root.straightTo1Game = 1;
_root.numOfGames = 1;
hardGame = 1;
screenWipe.gotoAndPlay(1);
}
if (((((screenWipe._currentframe == 1) && (_root.introFlash == 0)) && (storedProgress.data.hardUnlocked == 0)) && (_root.tutorialRequest == 1)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
tutCharEmbedded.gotoAndStop("hardlockedrollover");
} else if (((((screenWipe._currentframe == 1) && (_root.introFlash == 0)) && (storedProgress.data.hardUnlocked == 1)) && (_root.tutorialRequest == 1)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
tutCharEmbedded.gotoAndStop("hardrollover");
}
};
btnPlayCustom.onRelease = function () {
if (((((((screenWipe._currentframe == 1) && (storedProgress.data.mediumUnlocked == 1)) && (storedProgress.data.hardUnlocked == 1)) && (storedProgress.data.customUnlocked == 1)) && (_root.introFlash == 0)) && (_root.tutorialRequest == 0)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
customGame = 1;
screenWipe.gotoAndPlay(1);
}
if (((((screenWipe._currentframe == 1) && (_root.introFlash == 0)) && (storedProgress.data.customUnlocked == 0)) && (_root.tutorialRequest == 1)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
tutCharEmbedded.gotoAndStop("customlockedrollover");
} else if (((((screenWipe._currentframe == 1) && (_root.introFlash == 0)) && (storedProgress.data.customUnlocked == 1)) && (_root.tutorialRequest == 1)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
tutCharEmbedded.gotoAndStop("customrollover");
}
};
btnViewScores.onRelease = function () {
if ((((screenWipe._currentframe == 1) && (_root.introFlash == 0)) && (_root.tutorialRequest == 0)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
_root.viewHighScores = 1;
screenWipe.gotoAndPlay(1);
}
if ((((screenWipe._currentframe == 1) && (_root.introFlash == 0)) && (_root.tutorialRequest == 1)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
tutCharEmbedded.gotoAndStop("scoresrollover");
}
};
btnViewCredits.onRelease = function () {
if ((((screenWipe._currentframe == 1) && (_root.introFlash == 0)) && (_root.tutorialRequest == 0)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
_root.credits = 1;
screenWipe.gotoAndPlay(1);
}
if ((((screenWipe._currentframe == 1) && (_root.introFlash == 0)) && (_root.tutorialRequest == 1)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
tutCharEmbedded.gotoAndStop("creditsrollover");
}
};
tutCharEmbedded.tutChar.onRelease = function () {
if ((((screenWipe._currentframe == 1) && (tutCharEmbedded.onScreenTextBox._currentframe == 20)) && (_root.tutorialRequest == 0)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
tutCharEmbedded.gotoAndStop("tutorialrequest");
_root.tutorialRequest = 1;
} else if ((((screenWipe._currentframe == 1) && (tutCharEmbedded.onScreenTextBox._currentframe == 20)) && (_root.tutorialRequest == 1)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
screenWipe.gotoAndPlay(1);
}
};
tutCharEmbedded.tutChar.onRollOver = function () {
if ((((screenWipe._currentframe == 1) && (tutCharEmbedded.onScreenTextBox._currentframe == 20)) && (_root.tutorialRequest == 0)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
tutCharEmbedded.gotoAndStop("explainidle");
}
};
tutCharEmbedded.onScreenTextBox.onRelease = function () {
if ((((screenWipe._currentframe == 1) && (tutCharEmbedded.onScreenTextBox._currentframe == 20)) && (_root.tutorialRequest == 1)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
tutCharEmbedded.gotoAndStop("explainidle");
_root.tutorialRequest = 0;
}
};
onEnterFrame = function () {
if (((((_root.firstText == 0) && (tutCharEmbedded.onScreenTextBox._currentframe == 20)) && (_root.tutorialRequest == 0)) && (_root.storedProgress.data.firstTimeBoot == 0)) && (tutCharEmbedded.textbox == "")) {
tutCharEmbedded.gotoAndStop("firstboot");
}
if ((((_root.firstText == 0) && (tutCharEmbedded.onScreenTextBox._currentframe == 20)) && (_root.tutorialRequest == 0)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
tutCharEmbedded.gotoAndStop("explainidle");
_root.firstText = 1;
}
if ((((((((_root._xmouse < (btnPlayMedium._x + (btnPlayMedium._width / 2))) && (_root._xmouse > (btnPlayMedium._x - (btnPlayMedium._width / 2)))) && (_root._ymouse > (btnPlayMedium._y - (btnPlayMedium._height / 2)))) && (_root._ymouse < (btnPlayMedium._y + (btnPlayMedium._height / 2)))) && (storedProgress.data.mediumUnlocked == 0)) && (tutCharEmbedded.onScreenTextBox._currentframe == 20)) && (_root.tutorialRequest == 0)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
tutCharEmbedded.gotoAndStop("mediumlockedrollover");
}
if ((((((((_root._xmouse < (btnPlayHard._x + (btnPlayHard._width / 2))) && (_root._xmouse > (btnPlayHard._x - (btnPlayHard._width / 2)))) && (_root._ymouse > (btnPlayHard._y - (btnPlayHard._height / 2)))) && (_root._ymouse < (btnPlayHard._y + (btnPlayHard._height / 2)))) && (storedProgress.data.hardUnlocked == 0)) && (tutCharEmbedded.onScreenTextBox._currentframe == 20)) && (_root.tutorialRequest == 0)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
tutCharEmbedded.gotoAndStop("hardlockedrollover");
}
if ((((((((_root._xmouse < (btnPlayCustom._x + (btnPlayCustom._width / 2))) && (_root._xmouse > (btnPlayCustom._x - (btnPlayCustom._width / 2)))) && (_root._ymouse > (btnPlayCustom._y - (btnPlayCustom._height / 2)))) && (_root._ymouse < (btnPlayCustom._y + (btnPlayCustom._height / 2)))) && (storedProgress.data.customUnlocked == 0)) && (tutCharEmbedded.onScreenTextBox._currentframe == 20)) && (_root.tutorialRequest == 0)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
tutCharEmbedded.gotoAndStop("customlockedrollover");
}
if (((((((_root._xmouse < (btnViewScores._x + (btnViewScores._width / 2))) && (_root._xmouse > (btnViewScores._x - (btnViewScores._width / 2)))) && (_root._ymouse > (btnViewScores._y - (btnViewScores._height / 2)))) && (_root._ymouse < (btnViewScores._y + (btnViewScores._height / 2)))) && (tutCharEmbedded.onScreenTextBox._currentframe == 20)) && (_root.tutorialRequest == 0)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
tutCharEmbedded.gotoAndStop("scoresrollover");
}
if (((((((_root._xmouse < (btnViewCredits._x + (btnViewCredits._width / 2))) && (_root._xmouse > (btnViewCredits._x - (btnViewCredits._width / 2)))) && (_root._ymouse > (btnViewCredits._y - (btnViewCredits._height / 2)))) && (_root._ymouse < (btnViewCredits._y + (btnViewCredits._height / 2)))) && (tutCharEmbedded.onScreenTextBox._currentframe == 20)) && (_root.tutorialRequest == 0)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
tutCharEmbedded.gotoAndStop("creditsrollover");
}
if (((((((_root._xmouse < (btnPlayEasy._x + (btnPlayEasy._width / 2))) && (_root._xmouse > (btnPlayEasy._x - (btnPlayEasy._width / 2)))) && (_root._ymouse > (btnPlayEasy._y - (btnPlayEasy._height / 2)))) && (_root._ymouse < (btnPlayEasy._y + (btnPlayEasy._height / 2)))) && (tutCharEmbedded.onScreenTextBox._currentframe == 20)) && (_root.tutorialRequest == 0)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
tutCharEmbedded.gotoAndStop("easyrollover");
}
if ((((((((_root._xmouse < (btnPlayMedium._x + (btnPlayMedium._width / 2))) && (_root._xmouse > (btnPlayMedium._x - (btnPlayMedium._width / 2)))) && (_root._ymouse > (btnPlayMedium._y - (btnPlayMedium._height / 2)))) && (_root._ymouse < (btnPlayMedium._y + (btnPlayMedium._height / 2)))) && (storedProgress.data.mediumUnlocked == 1)) && (tutCharEmbedded.onScreenTextBox._currentframe == 20)) && (_root.tutorialRequest == 0)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
tutCharEmbedded.gotoAndStop("mediumrollover");
}
if ((((((((_root._xmouse < (btnPlayHard._x + (btnPlayHard._width / 2))) && (_root._xmouse > (btnPlayHard._x - (btnPlayHard._width / 2)))) && (_root._ymouse > (btnPlayHard._y - (btnPlayHard._height / 2)))) && (_root._ymouse < (btnPlayHard._y + (btnPlayHard._height / 2)))) && (storedProgress.data.hardUnlocked == 1)) && (tutCharEmbedded.onScreenTextBox._currentframe == 20)) && (_root.tutorialRequest == 0)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
tutCharEmbedded.gotoAndStop("hardrollover");
}
if ((((((((_root._xmouse < (btnPlayCustom._x + (btnPlayCustom._width / 2))) && (_root._xmouse > (btnPlayCustom._x - (btnPlayCustom._width / 2)))) && (_root._ymouse > (btnPlayCustom._y - (btnPlayCustom._height / 2)))) && (_root._ymouse < (btnPlayCustom._y + (btnPlayCustom._height / 2)))) && (storedProgress.data.customUnlocked == 1)) && (tutCharEmbedded.onScreenTextBox._currentframe == 20)) && (_root.tutorialRequest == 0)) && (_root.storedProgress.data.firstTimeBoot == 1)) {
tutCharEmbedded.gotoAndStop("customrollover");
}
if (screenFlash._alpha > 0) {
screenFlash._alpha = screenFlash._alpha - 3;
}
if ((screenFlash._alpha <= 0) && (tutCharEmbedded.onScreenTextBox._currentframe == 1)) {
tutCharEmbedded.onScreenTextBox.gotoAndPlay(2);
}
if ((screenWipe._currentframe == 29) && (_root.introFlash == 0)) {
screenWipe.gotoAndStop(1);
_root.backAnimation = 0;
}
if (((screenWipe._currentframe == 15) && (playFlag == 1)) && (_root.introFlash == 0)) {
_root.gotoAndStop("gameamount");
}
if ((((screenWipe._currentframe == 15) && (_root.straightTo1Game == 1)) && (easyGame == 1)) && (_root.introFlash == 0)) {
_root.gotoAndStop("easygame");
} else if (((screenWipe._currentframe == 15) && (_root.straightTo1Game == 1)) && (mediumGame == 1)) {
_root.gotoAndStop("mediumgame");
} else if (((screenWipe._currentframe == 15) && (_root.straightTo1Game == 1)) && (hardGame == 1)) {
_root.gotoAndStop("hardgame");
}
if (((screenWipe._currentframe == 15) && (customGame == 1)) && (_root.introFlash == 0)) {
_root.gotoAndStop("customOptions");
}
if (((screenWipe._currentframe == 15) && (_root.introFlash == 0)) && (_root.tutorialRequest == 1)) {
_root.gotoAndStop("tutorial");
}
if (((screenWipe._currentframe == 15) && (_root.viewHighScores == 1)) && (_root.introFlash == 0)) {
_root.gotoAndStop("highscore");
}
if (((screenWipe._currentframe == 15) && (_root.credits == 1)) && (_root.introFlash == 0)) {
_root.gotoAndStop("credits");
}
if (storedProgress.data.mediumUnlocked == 0) {
mcGreyedOutMedium._x = btnPlayMedium._x - ((btnPlayMedium._width / 2) - 2.5);
mcGreyedOutMedium._y = btnPlayMedium._y - ((btnPlayMedium._height / 2) - 1.7);
}
if (storedProgress.data.hardUnlocked == 0) {
mcGreyedOutHard._x = btnPlayHard._x - ((btnPlayHard._width / 2) - 2.5);
mcGreyedOutHard._y = btnPlayHard._y - ((btnPlayHard._height / 2) - 1.7);
}
if (storedProgress.data.customUnlocked == 0) {
mcGreyedOutCustom._x = btnPlayCustom._x - ((btnPlayCustom._width / 2) - 2.5);
mcGreyedOutCustom._y = btnPlayCustom._y - ((btnPlayCustom._height / 2) - 1.7);
}
};
if (storedHighScores.data.highScoreEasy1Game == undefined) {
storedHighScores.data.highScoreEasy1Game = 0;
storedHighScores.data.highScoreEasy5Game = 0;
storedHighScores.data.highScoreEasy10Game = 0;
storedHighScores.data.highScoreEasy25Game = 0;
storedHighScores.data.highScoreMedium1Game = 0;
storedHighScores.data.highScoreMedium5Game = 0;
storedHighScores.data.highScoreMedium10Game = 0;
storedHighScores.data.highScoreMedium25Game = 0;
storedHighScores.data.highScoreHard1Game = 0;
storedHighScores.data.highScoreHard5Game = 0;
storedHighScores.data.highScoreHard10Game = 0;
storedHighScores.data.highScoreHard25Game = 0;
_root.storedHighScores.flush();
}
if (storedHighScoresText.data.highScoreEasy1GameText == undefined) {
storedHighScoresText.data.highScoreEasy1GameText = "0 Seconds";
storedHighScoresText.data.highScoreEasy5GameText = "0 Seconds";
storedHighScoresText.data.highScoreEasy10GameText = "0 Seconds";
storedHighScoresText.data.highScoreEasy25GameText = "0 Seconds";
storedHighScoresText.data.highScoreMedium1GameText = "0 Seconds";
storedHighScoresText.data.highScoreMedium5GameText = "0 Seconds";
storedHighScoresText.data.highScoreMedium10GameText = "0 Seconds";
storedHighScoresText.data.highScoreMedium25GameText = "0 Seconds";
storedHighScoresText.data.highScoreHard1GameText = "0 Seconds";
storedHighScoresText.data.highScoreHard5GameText = "0 Seconds";
storedHighScoresText.data.highScoreHard10GameText = "0 Seconds";
storedHighScoresText.data.highScoreHard25GameText = "0 Seconds";
_root.storedHighScoresText.flush();
}
if (storedProgress.data.firstTimeBoot == undefined) {
storedProgress.data.mediumUnlocked = 0;
storedProgress.data.hardUnlocked = 0;
storedProgress.data.customUnlocked = 0;
storedProgress.data.firstTimeBoot = 0;
_root.storedProgress.flush();
}
_root.mediumLockedText = "Complete easy to unlock this difficulty";
_root.hardLockedText = "Complete medium to unlock this difficulty";
_root.customLockedText = "Complete hard to unlock this difficulty";
Instance of Symbol 513 MovieClip [MedalPopup] in Frame 11
//component parameters
onClipEvent (construct) {
alwaysOnTop = "true";
}
Frame 21
Stage.showMenu = false;
btn1Game.onRelease = function () {
if (screenWipe._currentframe == 29) {
_root.numOfGames = 1;
screenWipe.gotoAndPlay(1);
}
};
btn5Game.onRelease = function () {
if (screenWipe._currentframe == 29) {
_root.numOfGames = 5;
screenWipe.gotoAndPlay(1);
}
};
btn10Game.onRelease = function () {
if (screenWipe._currentframe == 29) {
_root.numOfGames = 10;
screenWipe.gotoAndPlay(1);
}
};
btn25Game.onRelease = function () {
if (screenWipe._currentframe == 29) {
_root.numOfGames = 25;
screenWipe.gotoAndPlay(1);
}
};
btnBack.onRelease = function () {
if (screenWipe._currentframe == 29) {
screenWipe.gotoAndPlay(1);
_root.backAnimation = 1;
}
};
onEnterFrame = function () {
if (screenWipe._currentframe == 29) {
screenWipe.stop();
}
if ((screenWipe._currentframe == 15) && (_root.backAnimation == 1)) {
_root.gotoAndStop("title");
}
if (((screenWipe._currentframe == 15) && (playFlag == 1)) && (_root.backAnimation == 0)) {
if (easyGame == 1) {
_root.gotoAndStop("easygame");
} else if (mediumGame == 1) {
_root.gotoAndStop("mediumgame");
} else if (hardGame == 1) {
_root.gotoAndStop("hardgame");
}
}
};
Frame 31
Stage.showMenu = false;
invalidText = "";
invalidTextNumOfGames = "";
_root.seededGame = 0;
_root.nonSeededGame = 0;
_root.firstText = 0;
_root.tutorialRequestCustom = 0;
_root.seedExplain = 0;
_root.tutorialDone = 0;
tutCharCustomEmbedded.gotoAndStop("notext");
tutCharCustomEmbedded.onScreenTextBox.gotoAndPlay(1);
if (colorlessBoard == undefined) {
_root.customGameAmount = 1;
_root.customAutoMoveTimer = 3;
_root.colorlessBoard = 0;
_root.easyBoard = 1;
_root.shuffledBoard = 0;
_root.moveTimerOption = 0;
}
if ((easyBoard == 1) && (shuffledBoard == 0)) {
easyOrShuffledButton.gotoAndStop(1);
} else if ((easyBoard == 0) && (shuffledBoard == 1)) {
easyOrShuffledButton.gotoAndStop(2);
}
if (colorlessBoard == 0) {
colorlessBox.gotoAndStop(1);
} else {
colorlessBox.gotoAndStop(2);
}
if (moveTimerOption == 0) {
moveBox.gotoAndStop(1);
} else {
moveBox.gotoAndStop(2);
}
btnBack.onRelease = function () {
if (screenWipe._currentframe == 29) {
screenWipe.gotoAndPlay(1);
_root.backAnimation = 1;
}
};
btnPlaySeeded.onRelease = function () {
emptyBoard = 0;
redBoard = 0;
greenBoard = 0;
yellowBoard = 0;
blueBoard = 0;
emptySolution = 0;
redSolution = 0;
greenSolution = 0;
yellowSolution = 0;
blueSolution = 0;
var _local2 = 0;
while (_local2 < 20) {
if (customGameSeedInput.charAt(_local2) == "E") {
emptyBoard++;
} else if (customGameSeedInput.charAt(_local2) == "R") {
redBoard++;
} else if (customGameSeedInput.charAt(_local2) == "G") {
greenBoard++;
} else if (customGameSeedInput.charAt(_local2) == "Y") {
yellowBoard++;
} else if (customGameSeedInput.charAt(_local2) == "B") {
blueBoard++;
}
_local2++;
}
_local2 = 20;
while (_local2 < customGameSeedInput.length) {
if (customGameSeedInput.charAt(_local2) == "E") {
emptySolution++;
} else if (customGameSeedInput.charAt(_local2) == "R") {
redSolution++;
} else if (customGameSeedInput.charAt(_local2) == "G") {
greenSolution++;
} else if (customGameSeedInput.charAt(_local2) == "Y") {
yellowSolution++;
} else if (customGameSeedInput.charAt(_local2) == "B") {
blueSolution++;
}
_local2++;
}
if ((tutorialRequestCustom == 0) && (_root.seedExplain == 0)) {
if (((((((((((emptyBoard == 1) && (redBoard == 4)) && (greenBoard == 5)) && (yellowBoard == 5)) && (blueBoard == 5)) && (emptySolution == 1)) && (redSolution == 4)) && (greenSolution == 5)) && (yellowSolution == 5)) && (blueSolution == 5)) && (customGameSeedInput.length == 40)) {
invalidText = "";
_root.validSeed = 1;
} else {
invalidText = "Invalid Seed!";
_root.validSeed = 0;
}
}
customGameAmountInvalidCharacter = 0;
_local2 = 0;
while (_local2 < customGameAmount.length) {
if ((((((((((_root.customGameAmount.charAt(_local2) != 0) && (_root.customGameAmount.charAt(_local2) != 1)) && (_root.customGameAmount.charAt(_local2) != 2)) && (_root.customGameAmount.charAt(_local2) != 3)) && (_root.customGameAmount.charAt(_local2) != 4)) && (_root.customGameAmount.charAt(_local2) != 5)) && (_root.customGameAmount.charAt(_local2) != 6)) && (_root.customGameAmount.charAt(_local2) != 7)) && (_root.customGameAmount.charAt(_local2) != 8)) && (_root.customGameAmount.charAt(_local2) != 9)) {
customGameAmountInvalidCharacter++;
}
_local2++;
}
if ((tutorialRequestCustom == 0) && (_root.seedExplain == 0)) {
if ((((_root.customGameAmount > 0) && (_root.customGameAmount < 100)) && (_root.customGameAmount.charAt(0) != 0)) && (customGameAmountInvalidCharacter == 0)) {
invalidTextNumOfGames = "";
_root.validNumOfGames = 1;
} else {
invalidTextNumOfGames = "Invalid Number!";
_root.validNumOfGames = 0;
}
}
customAutoMoveTimerInvalidCharacter = 0;
_local2 = 0;
while (_local2 < customAutoMoveTimer.length) {
if ((((((((((_root.customAutoMoveTimer.charAt(_local2) != 0) && (_root.customAutoMoveTimer.charAt(_local2) != 1)) && (_root.customAutoMoveTimer.charAt(_local2) != 2)) && (_root.customAutoMoveTimer.charAt(_local2) != 3)) && (_root.customAutoMoveTimer.charAt(_local2) != 4)) && (_root.customAutoMoveTimer.charAt(_local2) != 5)) && (_root.customAutoMoveTimer.charAt(_local2) != 6)) && (_root.customAutoMoveTimer.charAt(_local2) != 7)) && (_root.customAutoMoveTimer.charAt(_local2) != 8)) && (_root.customAutoMoveTimer.charAt(_local2) != 9)) {
customAutoMoveTimerInvalidCharacter++;
}
_local2++;
}
if ((tutorialRequestCustom == 0) && (_root.seedExplain == 0)) {
if ((((_root.customAutoMoveTimer > 0) && (_root.customAutoMoveTimer < 100)) && (_root.customAutoMoveTimer.charAt(0) != 0)) && (customAutoMoveTimerInvalidCharacter == 0)) {
_root.invalidTextMoveTimer = "";
_root.validAutoMoveTimer = 1;
} else {
_root.invalidTextMoveTimer = "Invalid Number!";
_root.validAutoMoveTimer = 0;
}
}
if ((((((screenWipe._currentframe == 29) && (_root.validSeed == 1)) && (_root.validNumOfGames == 1)) && (_root.validAutoMoveTimer == 1)) && (_root.moveTimerOption == 1)) || ((((((screenWipe._currentframe == 29) && (_root.validSeed == 1)) && (_root.validNumOfGames == 1)) && (_root.moveTimerOption == 0)) && (tutorialRequestCustom == 0)) && (_root.seedExplain == 0))) {
_root.seededGame = 1;
_root.nonSeededGame = 0;
_root.customGameSeed = customGameSeedInput;
_root.numOfGames = customGameAmount;
_root.autoMoveTimer = _root.customAutoMoveTimer;
screenWipe.gotoAndPlay(1);
}
if (((screenWipe._currentframe == 29) && (tutorialRequestCustom == 1)) && (_root.seedExplain == 0)) {
tutCharCustomEmbedded.gotoAndStop("seededrollover");
}
};
btnPlayNonSeeded.onRelease = function () {
customGameAmountInvalidCharacter = 0;
var _local2 = 0;
while (_local2 < customGameAmount.length) {
if ((((((((((_root.customGameAmount.charAt(_local2) != 0) && (_root.customGameAmount.charAt(_local2) != 1)) && (_root.customGameAmount.charAt(_local2) != 2)) && (_root.customGameAmount.charAt(_local2) != 3)) && (_root.customGameAmount.charAt(_local2) != 4)) && (_root.customGameAmount.charAt(_local2) != 5)) && (_root.customGameAmount.charAt(_local2) != 6)) && (_root.customGameAmount.charAt(_local2) != 7)) && (_root.customGameAmount.charAt(_local2) != 8)) && (_root.customGameAmount.charAt(_local2) != 9)) {
customGameAmountInvalidCharacter++;
}
_local2++;
}
if ((tutorialRequestCustom == 0) && (_root.seedExplain == 0)) {
if ((((_root.customGameAmount > 0) && (_root.customGameAmount < 100)) && (_root.customGameAmount.charAt(0) != 0)) && (customGameAmountInvalidCharacter == 0)) {
invalidTextNumOfGames = "";
_root.validNumOfGames = 1;
} else {
invalidTextNumOfGames = "Invalid Number!";
_root.validNumOfGames = 0;
}
}
customAutoMoveTimerInvalidCharacter = 0;
_local2 = 0;
while (_local2 < customAutoMoveTimer.length) {
if ((((((((((_root.customAutoMoveTimer.charAt(_local2) != 0) && (_root.customAutoMoveTimer.charAt(_local2) != 1)) && (_root.customAutoMoveTimer.charAt(_local2) != 2)) && (_root.customAutoMoveTimer.charAt(_local2) != 3)) && (_root.customAutoMoveTimer.charAt(_local2) != 4)) && (_root.customAutoMoveTimer.charAt(_local2) != 5)) && (_root.customAutoMoveTimer.charAt(_local2) != 6)) && (_root.customAutoMoveTimer.charAt(_local2) != 7)) && (_root.customAutoMoveTimer.charAt(_local2) != 8)) && (_root.customAutoMoveTimer.charAt(_local2) != 9)) {
customAutoMoveTimerInvalidCharacter++;
}
_local2++;
}
if ((tutorialRequestCustom == 0) && (_root.seedExplain == 0)) {
if (((((_root.customAutoMoveTimer > 0) && (_root.customAutoMoveTimer < 100)) && (_root.customAutoMoveTimer.charAt(0) != 0)) && (customAutoMoveTimerInvalidCharacter == 0)) && (tutorialRequestCustom == 0)) {
_root.invalidTextMoveTimer = "";
_root.validAutoMoveTimer = 1;
} else {
_root.invalidTextMoveTimer = "Invalid Number!";
_root.validAutoMoveTimer = 0;
}
}
if (((((screenWipe._currentframe == 29) && (_root.validNumOfGames == 1)) && (_root.validAutoMoveTimer == 1)) && (tutorialRequestCustom == 0)) && (_root.seedExplain == 0)) {
_root.seededGame = 0;
_root.nonSeededGame = 1;
_root.customGameSeed = customGameSeedInput;
_root.numOfGames = customGameAmount;
_root.autoMoveTimer = _root.customAutoMoveTimer;
screenWipe.gotoAndPlay(1);
}
if (((screenWipe._currentframe == 29) && (tutorialRequestCustom == 1)) && (_root.seedExplain == 0)) {
tutCharCustomEmbedded.gotoAndStop("noneseededrollover");
}
};
numofgamesTextBox.onRelease = function () {
if (((screenWipe._currentframe == 29) && (tutorialRequestCustom == 1)) && (_root.seedExplain == 0)) {
tutCharCustomEmbedded.gotoAndStop("numofgamesrollover");
}
};
seedTextBox.onRelease = function () {
if (((screenWipe._currentframe == 29) && (tutorialRequestCustom == 1)) && (_root.seedExplain == 0)) {
tutCharCustomEmbedded.gotoAndStop("seedinputrollover");
}
};
btnPaste.onRelease = function () {
if (((screenWipe._currentframe == 29) && (tutorialRequestCustom == 1)) && (_root.seedExplain == 0)) {
tutCharCustomEmbedded.gotoAndStop("manualpasterollover");
}
if ((tutorialRequestCustom == 0) && (_root.seedExplain == 0)) {
test = flash.external.ExternalInterface.call("window.prompt", "Enter a seed");
customGameSeedInput = test;
}
};
colorlessBox.onRelease = function () {
if (((screenWipe._currentframe == 29) && (tutorialRequestCustom == 1)) && (_root.seedExplain == 0)) {
tutCharCustomEmbedded.gotoAndStop("colorlessboardrollover");
}
if ((tutorialRequestCustom == 0) && (_root.seedExplain == 0)) {
if (colorlessBoard == 0) {
_root.colorlessBoard = 1;
} else {
_root.colorlessBoard = 0;
}
}
};
moveBox.onRelease = function () {
if (((screenWipe._currentframe == 29) && (tutorialRequestCustom == 1)) && (_root.seedExplain == 0)) {
tutCharCustomEmbedded.gotoAndStop("movetimerrollover");
}
if ((tutorialRequestCustom == 0) && (_root.seedExplain == 0)) {
if (moveTimerOption == 0) {
_root.moveTimerOption = 1;
} else {
_root.moveTimerOption = 0;
}
}
};
easyOrShuffledButton.onRelease = function () {
if (((screenWipe._currentframe == 29) && (tutorialRequestCustom == 1)) && (_root.seedExplain == 0)) {
tutCharCustomEmbedded.gotoAndStop("easyorshuffledrollover");
}
if ((tutorialRequestCustom == 0) && (_root.seedExplain == 0)) {
if ((easyBoard == 0) && (shuffledBoard == 1)) {
_root.easyBoard = 1;
_root.shuffledBoard = 0;
} else if ((easyBoard == 1) && (shuffledBoard == 0)) {
_root.easyBoard = 0;
_root.shuffledBoard = 1;
}
}
};
tutCharCustomEmbedded.tutChar.onRollOver = function () {
if (((tutCharCustomEmbedded.onScreenTextBox._currentframe == 20) && (_root.tutorialRequestCustom == 0)) && (_root.seedExplain == 0)) {
tutCharCustomEmbedded.gotoAndStop("explainidle");
}
};
tutCharCustomEmbedded.tutChar.onRelease = function () {
if ((((screenWipe._currentframe == 29) && (tutCharCustomEmbedded.onScreenTextBox._currentframe == 20)) && (_root.tutorialRequestCustom == 0)) && (_root.seedExplain == 0)) {
tutCharCustomEmbedded.gotoAndStop(11);
_root.tutorialRequestCustom = 1;
} else if ((((screenWipe._currentframe == 29) && (tutCharCustomEmbedded.onScreenTextBox._currentframe == 20)) && (_root.tutorialRequestCustom == 1)) && (_root.seedExplain == 0)) {
_root.seedExplain = 1;
tutCharCustomEmbedded.gotoAndStop(12);
}
};
tutCharCustomEmbedded.onScreenTextBox.onRelease = function () {
if (((((screenWipe._currentframe == 29) && (tutCharCustomEmbedded.onScreenTextBox._currentframe == 20)) && (tutorialRequestCustom == 1)) && (_root.seedExplain == 0)) && (tutCharCustomEmbedded._currentframe < 12)) {
tutCharCustomEmbedded.gotoAndStop("explainidle");
_root.tutorialRequestCustom = 0;
if (_root.seedExplain == 1) {
_root.seedExplain = 0;
}
}
};
onEnterFrame = function () {
if (_root.tutorialDone == 1) {
tutCharCustomEmbedded.gotoAndStop("explainidle");
_root.seedExplain = 0;
_root.tutorialRequestCustom = 0;
_root.tutorialDone = 0;
}
if ((screenWipe._currentframe == 15) && (_root.backAnimation == 1)) {
_root.gotoAndStop("title");
}
if ((((_root.firstText == 0) && (tutCharCustomEmbedded.onScreenTextBox._currentframe == 20)) && (tutorialRequestCustom == 0)) && (screenWipe._currentframe == 29)) {
tutCharCustomEmbedded.gotoAndStop("explainidle");
_root.firstText = 1;
}
if (((((((_root._xmouse < (numofgamesTextBox._x + (numofgamesTextBox._width / 2))) && (_root._xmouse > (numofgamesTextBox._x - (numofgamesTextBox._width / 2)))) && (_root._ymouse > (numofgamesTextBox._y - (numofgamesTextBox._height / 2)))) && (_root._ymouse < (numofgamesTextBox._y + (numofgamesTextBox._height / 2)))) && (tutCharCustomEmbedded.onScreenTextBox._currentframe == 20)) && (tutorialRequestCustom == 0)) && (_root.seedExplain == 0)) {
tutCharCustomEmbedded.gotoAndStop("numofgamesrollover");
}
if (((((((_root._xmouse < (colorlessBox._x + (colorlessBox._width / 2))) && (_root._xmouse > (colorlessBox._x - (colorlessBox._width / 2)))) && (_root._ymouse > (colorlessBox._y - (colorlessBox._height / 2)))) && (_root._ymouse < (colorlessBox._y + (colorlessBox._height / 2)))) && (tutCharCustomEmbedded.onScreenTextBox._currentframe == 20)) && (tutorialRequestCustom == 0)) && (_root.seedExplain == 0)) {
tutCharCustomEmbedded.gotoAndStop("colorlessboardrollover");
}
if (((((((_root._xmouse < (easyOrShuffledButton._x + (easyOrShuffledButton._width / 2))) && (_root._xmouse > (easyOrShuffledButton._x - (easyOrShuffledButton._width / 2)))) && (_root._ymouse > (easyOrShuffledButton._y - (easyOrShuffledButton._height / 2)))) && (_root._ymouse < (easyOrShuffledButton._y + (easyOrShuffledButton._height / 2)))) && (tutCharCustomEmbedded.onScreenTextBox._currentframe == 20)) && (tutorialRequestCustom == 0)) && (_root.seedExplain == 0)) {
tutCharCustomEmbedded.gotoAndStop("easyorshuffledrollover");
}
if (((((((_root._xmouse < (moveBox._x + (moveBox._width / 2))) && (_root._xmouse > (moveBox._x - (moveBox._width / 2)))) && (_root._ymouse > (moveBox._y - (moveBox._height / 2)))) && (_root._ymouse < (moveBox._y + (moveBox._height / 2)))) && (tutCharCustomEmbedded.onScreenTextBox._currentframe == 20)) && (tutorialRequestCustom == 0)) && (_root.seedExplain == 0)) {
tutCharCustomEmbedded.gotoAndStop("movetimerrollover");
}
if (((((((_root._xmouse < (btnPlaySeeded._x + (btnPlaySeeded._width / 2))) && (_root._xmouse > (btnPlaySeeded._x - (btnPlaySeeded._width / 2)))) && (_root._ymouse > (btnPlaySeeded._y - (btnPlaySeeded._height / 2)))) && (_root._ymouse < (btnPlaySeeded._y + (btnPlaySeeded._height / 2)))) && (tutCharCustomEmbedded.onScreenTextBox._currentframe == 20)) && (tutorialRequestCustom == 0)) && (_root.seedExplain == 0)) {
tutCharCustomEmbedded.gotoAndStop("seededrollover");
}
if (((((((_root._xmouse < (btnPlayNonSeeded._x + (btnPlayNonSeeded._width / 2))) && (_root._xmouse > (btnPlayNonSeeded._x - (btnPlayNonSeeded._width / 2)))) && (_root._ymouse > (btnPlayNonSeeded._y - (btnPlayNonSeeded._height / 2)))) && (_root._ymouse < (btnPlayNonSeeded._y + (btnPlayNonSeeded._height / 2)))) && (tutCharCustomEmbedded.onScreenTextBox._currentframe == 20)) && (tutorialRequestCustom == 0)) && (_root.seedExplain == 0)) {
tutCharCustomEmbedded.gotoAndStop("noneseededrollover");
}
if (((((((_root._xmouse < (btnPaste._x + (btnPaste._width / 2))) && (_root._xmouse > (btnPaste._x - (btnPaste._width / 2)))) && (_root._ymouse > (btnPaste._y - (btnPaste._height / 2)))) && (_root._ymouse < (btnPaste._y + (btnPaste._height / 2)))) && (tutCharCustomEmbedded.onScreenTextBox._currentframe == 20)) && (tutorialRequestCustom == 0)) && (_root.seedExplain == 0)) {
tutCharCustomEmbedded.gotoAndStop("manualpasterollover");
}
if (((((((_root._xmouse < (seedTextBox._x + (seedTextBox._width / 2))) && (_root._xmouse > (seedTextBox._x - (seedTextBox._width / 2)))) && (_root._ymouse > (seedTextBox._y - (seedTextBox._height / 2)))) && (_root._ymouse < (seedTextBox._y + (seedTextBox._height / 2)))) && (tutCharCustomEmbedded.onScreenTextBox._currentframe == 20)) && (tutorialRequestCustom == 0)) && (_root.seedExplain == 0)) {
tutCharCustomEmbedded.gotoAndStop("seedinputrollover");
}
if (colorlessBoard == 1) {
colorlessBox.gotoAndStop(2);
} else {
colorlessBox.gotoAndStop(1);
}
if (moveTimerOption == 1) {
moveBox.gotoAndStop(2);
moveTimerInput._x = 450;
} else {
moveBox.gotoAndStop(1);
moveTimerInput._x = 926.1;
}
if ((easyBoard == 1) && (shuffledBoard == 0)) {
easyOrShuffledButton.gotoAndStop(1);
} else if ((easyBoard == 0) && (shuffledBoard == 1)) {
easyOrShuffledButton.gotoAndStop(2);
}
if (screenWipe._currentframe == 29) {
screenWipe.stop();
}
if ((screenWipe._currentframe == 15) && (_root.backAnimation == 0)) {
_root.gotoAndStop("customgame");
}
};
Frame 41
function init() {
boardActive = 0;
_root.gameSeed = new Array();
_root.currentGame = 1;
_root.continousTime = 0;
screenWipe.gotoAndPlay(16);
blockMoving = 0;
_root.moveNumber = 0;
_root.frames = 0;
_root.elapsedMilliseconds = 0;
_root.elapsedSeconds = 0;
_root.elapsedMinutes = 0;
_root.elapsedHours = 0;
win = 0;
resetFlag = 0;
copiedText._alpha = 0;
_root.gameVolume = sndPlace.getVolume();
resetButton.resetArrow.gotoAndStop(1);
integratedBoardVolume.buttonVolume.arrowVolume.gotoAndStop(1);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndStop(1);
buttonOffVolume = true;
integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider._x = _root.gameVolume;
blockArray = new Array(blockY1, blockY2, blockY3, blockY4, blockY5, blockG1, blockG2, blockG3, blockG4, blockG5, blockB1, blockB2, blockB3, blockB4, blockB5, blockR1, blockR2, blockR3, blockR4);
positionArray = new Array(pos11, pos12, pos13, pos14, pos15, pos21, pos22, pos23, pos24, pos25, pos31, pos32, pos33, pos34, pos35, pos41, pos42, pos43, pos44, pos45);
blockArraySolution = new Array(blockY1S, blockY2S, blockY3S, blockY4S, blockY5S, blockG1S, blockG2S, blockG3S, blockG4S, blockG5S, blockB1S, blockB2S, blockB3S, blockB4S, blockB5S, blockR1S, blockR2S, blockR3S, blockR4S);
positionArraySolution = new Array(pos11S, pos12S, pos13S, pos14S, pos15S, pos21S, pos22S, pos23S, pos24S, pos25S, pos31S, pos32S, pos33S, pos34S, pos35S, pos41S, pos42S, pos43S, pos44S, pos45S);
var _local2 = 0;
while (_local2 < blockArray.length) {
blockArray[_local2].gotoAndStop("unselected");
blockArray[_local2].blockBW._alpha = 0;
blockArray[_local2].blockPosX = 0;
blockArray[_local2].blockPosY = 0;
_local2++;
}
_local2 = 0;
while (_local2 < positionArray.length) {
positionArray[_local2].empty = true;
positionArray[_local2].blockColor = "";
positionArray[_local2]._alpha = 0;
positionArray[_local2].posNumberY = Number(String(positionArray[_local2]).slice(-2, -1));
positionArray[_local2].posNumberX = Number(String(positionArray[_local2]).slice(-1));
_local2++;
}
_local2 = 0;
while (_local2 < blockArraySolution.length) {
blockArraySolution[_local2].gotoAndStop("unselected");
blockArraySolution[_local2].blockBW._alpha = 0;
blockArraySolution[_local2].blockPosX = 0;
blockArraySolution[_local2].blockPosY = 0;
_local2++;
}
_local2 = 0;
while (_local2 < positionArraySolution.length) {
positionArraySolution[_local2].empty = true;
positionArraySolution[_local2].blockColor = "";
positionArraySolution[_local2]._alpha = 0;
positionArraySolution[_local2].posNumberY = Number(String(positionArray[_local2]).slice(-2, -1));
positionArraySolution[_local2].posNumberX = Number(String(positionArray[_local2]).slice(-1));
_local2++;
}
boardShuffleEasySolution();
boardShuffle();
if ((musicToggle == 1) && (musicPlaying != 1)) {
sndMusic1.start(0, 9999);
_root.musicPlaying = 1;
}
var _local3 = 0;
while (_local3 < blockArraySolution.length) {
blockPosSolution(blockArraySolution[_local3]);
_local3++;
}
_local3 = 0;
while (_local3 < blockArray.length) {
blockPos(blockArray[_local3]);
_local3++;
}
_local2 = 0;
while (_local2 < positionArray.length) {
if (positionArray[_local2].blockColor == "") {
gameSeed.push("E");
} else {
gameSeed.push(positionArray[_local2].blockColor);
}
_local2++;
}
_local2 = 0;
while (_local2 < positionArraySolution.length) {
if (positionArraySolution[_local2].blockColor == "") {
gameSeed.push("E");
} else {
gameSeed.push(positionArraySolution[_local2].blockColor);
}
_local2++;
}
_root.gameSeedText = removeSubString(gameSeed.toString(), ",");
}
function blockMoveClickCheck(sprite) {
if ((screenWipe._currentframe == 29) && (blockMoving == 0)) {
sprite.onPress = function () {
if ((blockMoving == 0) && (screenWipe._currentframe == 29)) {
spriteClicked = sprite;
blockX = spriteClicked.blockPosX;
blockY = spriteClicked.blockPosY;
var _local4 = 0;
while (_local4 < positionArray.length) {
if ((positionArray[_local4].empty == true) && (((blockX - positionArray[_local4].posNumberX) == 0) || ((blockY - positionArray[_local4].posNumberY) == 0))) {
emptyPosition = positionArray[_local4];
posX = positionArray[_local4].posNumberX;
posY = positionArray[_local4].posNumberY;
sameXOrYBlockArray = new Array();
var _local2 = 0;
while (_local2 < blockArray.length) {
if (((((blockX > posX) && ((blockY - posY) == 0)) && (blockX >= blockArray[_local2].blockPosX)) && ((blockY - blockArray[_local2].blockPosY) == 0)) && (blockArray[_local2].blockPosX > posX)) {
sameXOrYBlockArray.push(blockArray[_local2]);
} else if (((((blockX < posX) && ((blockY - posY) == 0)) && (blockX <= blockArray[_local2].blockPosX)) && ((blockY - blockArray[_local2].blockPosY) == 0)) && (blockArray[_local2].blockPosX < posX)) {
sameXOrYBlockArray.push(blockArray[_local2]);
} else if (((((blockY > posY) && ((blockX - posX) == 0)) && (blockY >= blockArray[_local2].blockPosY)) && ((blockX - blockArray[_local2].blockPosX) == 0)) && (blockArray[_local2].blockPosY > posY)) {
sameXOrYBlockArray.push(blockArray[_local2]);
} else if (((((blockY < posY) && ((blockX - posX) == 0)) && (blockY <= blockArray[_local2].blockPosY)) && ((blockX - blockArray[_local2].blockPosX) == 0)) && (blockArray[_local2].blockPosY < posY)) {
sameXOrYBlockArray.push(blockArray[_local2]);
}
_local2++;
}
sprite.gotoAndStop("selected");
if (sfxToggle == 1) {
sndPickup.start(0, 1);
}
_root.moveNumber++;
var _local3 = 0;
while (_local3 < sameXOrYBlockArray.length) {
if ((((((sameXOrYBlockArray[_local3].blockPosX - posX) == 1) && ((sameXOrYBlockArray[_local3].blockPosY - posY) == 0)) || (((sameXOrYBlockArray[_local3].blockPosX - posX) == -1) && ((sameXOrYBlockArray[_local3].blockPosY - posY) == 0))) || (((sameXOrYBlockArray[_local3].blockPosX - posX) == 0) && ((sameXOrYBlockArray[_local3].blockPosY - posY) == 1))) || (((sameXOrYBlockArray[_local3].blockPosX - posX) == 0) && ((sameXOrYBlockArray[_local3].blockPosY - posY) == -1))) {
dx = (emptyPosition._x - sameXOrYBlockArray[_local3]._x) / 3;
dy = (emptyPosition._y - sameXOrYBlockArray[_local3]._y) / 3;
closestToEmpty = sameXOrYBlockArray[_local3];
}
_local3++;
}
blockMoving = 1;
}
_local4++;
}
}
};
}
}
function blockMove() {
if (blockMoving == 1) {
var _local1 = 0;
while (_local1 < sameXOrYBlockArray.length) {
sameXOrYBlockArray[_local1]._x = sameXOrYBlockArray[_local1]._x + dx;
sameXOrYBlockArray[_local1]._y = sameXOrYBlockArray[_local1]._y + dy;
_local1++;
}
}
if ((((closestToEmpty._x >= (emptyPosition._x - 1)) && (closestToEmpty._x <= (emptyPosition._x + 1))) && (closestToEmpty._y >= (emptyPosition._y - 1))) && (closestToEmpty._y <= (emptyPosition._y + 1))) {
spriteClicked.gotoAndStop("unselected");
var _local1 = 0;
while (_local1 < sameXOrYBlockArray.length) {
var _local2 = 0;
while (_local2 < positionArray.length) {
if ((sameXOrYBlockArray[_local1].blockPosX == positionArray[_local2].posNumberX) && (sameXOrYBlockArray[_local1].blockPosY == positionArray[_local2].posNumberY)) {
sameXOrYBlockArray[_local1]._x = positionArray[_local2]._x;
sameXOrYBlockArray[_local1]._y = positionArray[_local2]._y;
}
_local2++;
}
_local1++;
}
if (sfxToggle == 1) {
sndPlace.start(0, 1);
}
emptyPosition.empty = false;
var _local2 = 0;
while (_local2 < positionArray.length) {
if ((positionArray[_local2].posNumberX == blockX) && (positionArray[_local2].posNumberY == blockY)) {
positionArray[_local2].empty = true;
positionArray[_local2].blockColor = "";
}
_local2++;
}
blockMoving = 0;
}
}
function blockPos(sprite) {
var _local1 = 0;
while (_local1 < positionArray.length) {
if (sprite.hitTest(positionArray[_local1])) {
positionArray[_local1].empty = false;
positionArray[_local1].blockColor = String(sprite).charAt(13);
sprite.blockPosX = positionArray[_local1].posNumberX;
sprite.blockPosY = positionArray[_local1].posNumberY;
}
_local1++;
}
}
function winCheck() {
if ((((((((((((((((((((pos11.blockColor == pos11S.blockColor) && (pos12.blockColor == pos12S.blockColor)) && (pos13.blockColor == pos13S.blockColor)) && (pos14.blockColor == pos14S.blockColor)) && (pos15.blockColor == pos15S.blockColor)) && (pos21.blockColor == pos21S.blockColor)) && (pos22.blockColor == pos22S.blockColor)) && (pos23.blockColor == pos23S.blockColor)) && (pos24.blockColor == pos24S.blockColor)) && (pos25.blockColor == pos25S.blockColor)) && (pos31.blockColor == pos31S.blockColor)) && (pos32.blockColor == pos32S.blockColor)) && (pos33.blockColor == pos33S.blockColor)) && (pos34.blockColor == pos34S.blockColor)) && (pos35.blockColor == pos35S.blockColor)) && (pos41.blockColor == pos41S.blockColor)) && (pos42.blockColor == pos42S.blockColor)) && (pos43.blockColor == pos43S.blockColor)) && (pos44.blockColor == pos44S.blockColor)) && (pos45.blockColor == pos45S.blockColor)) {
win = 1;
}
}
function screenWipeCheck(wipe) {
if ((wipe._currentframe == 29) && (resetFlag == 0)) {
wipe.stop();
}
if (((wipe._currentframe == 15) && (resetFlag == 0)) && (_root.backAnimation == 1)) {
_root.gotoAndStop("title");
}
}
function screenWipeWin(wipe) {
if ((win == 1) && (wipe._currentframe == 29)) {
wipe.gotoAndPlay(1);
boardFinishedTime = getTimer();
}
if ((((win == 1) && (wipe._currentframe == 15)) && (currentGame == numOfGames)) && (_root.backAnimation == 0)) {
continousTime = continousTime + (boardFinishedTime - initialTime);
_root.finalTime = continousTime;
gotoAndStop ("win");
}
if ((((win == 1) && (wipe._currentframe == 15)) && (currentGame != numOfGames)) && (_root.backAnimation == 0)) {
gotoAndStop ("reset");
continousTime = continousTime + (boardFinishedTime - initialTime);
currentGame++;
}
if ((((win == 0) && (wipe._currentframe == 15)) && (resetFlag == 1)) && (_root.backAnimation == 0)) {
gotoAndStop ("reset");
}
}
function boardShuffle() {
blockShuffleArray = new Array(blockY1, blockY2, blockY3, blockY4, blockY5, blockG1, blockG2, blockG3, blockG4, blockG5, blockB1, blockB2, blockB3, blockB4, blockB5, blockR1, blockR2, blockR3, blockR4, emptySquare);
var _local1 = 0;
while (_local1 < positionArray.length) {
blockIndex = randRange(0, blockShuffleArray.length - 1);
if (blockShuffleArray.length > 0) {
blockShuffleArray[blockIndex]._x = positionArray[_local1]._x;
blockShuffleArray[blockIndex]._y = positionArray[_local1]._y;
blockShuffleArray.splice(blockIndex, 1);
}
_local1++;
}
}
function boardShuffleEasySolution() {
blockShuffleArraySolution = new Array(new Array(blockY1S, blockY2S, blockY3S, blockY4S, blockY5S), new Array(blockG1S, blockG2S, blockG3S, blockG4S, blockG5S), new Array(blockB1S, blockB2S, blockB3S, blockB4S, blockB5S), new Array(blockR1S, blockR2S, blockR3S, blockR4S, emptySquareS));
positionShuffleArraySolution = new Array(new Array(pos11S, pos12S, pos13S, pos14S, pos15S), new Array(pos21S, pos22S, pos23S, pos24S, pos25S), new Array(pos31S, pos32S, pos33S, pos34S, pos35S), new Array(pos41S, pos42S, pos43S, pos44S, pos45S));
var _local2 = 0;
while (_local2 < positionShuffleArraySolution.length) {
blockIndexSolutionRow = randRange(0, blockShuffleArraySolution.length - 1);
while (blockShuffleArraySolution[blockIndexSolutionRow].length == 0) {
blockIndexSolutionRow = randRange(0, blockShuffleArraySolution.length - 1);
}
var _local1 = 0;
while (_local1 < positionShuffleArraySolution[_local2].length) {
if (blockShuffleArraySolution[blockIndexSolutionRow].length > 0) {
blockShuffleArraySolution[blockIndexSolutionRow][0]._x = positionShuffleArraySolution[_local2][_local1]._x;
blockShuffleArraySolution[blockIndexSolutionRow][0]._y = positionShuffleArraySolution[_local2][_local1]._y;
blockShuffleArraySolution[blockIndexSolutionRow].splice(blockShuffleArraySolution[blockIndexSolutionRow], 1);
}
_local1++;
}
_local2++;
}
}
function blockPosSolution(sprite) {
var _local1 = 0;
while (_local1 < positionArraySolution.length) {
if (sprite.hitTest(positionArraySolution[_local1])) {
positionArraySolution[_local1].empty = false;
positionArraySolution[_local1].blockColor = String(sprite).charAt(13);
sprite.blockPosX = positionArraySolution[_local1].posNumberX;
sprite.blockPosY = positionArraySolution[_local1].posNumberY;
}
_local1++;
}
}
function randRange(min, max) {
randomNum = Math.floor(Math.random() * ((max - min) + 1)) + min;
return(randomNum);
}
function currentGameTextDisplay() {
currentGameText = (("Game " + currentGame) + " out of ") + numOfGames;
}
function gameContinue() {
boardActive = 0;
screenWipe.gotoAndPlay(16);
blockMoving = 0;
win = 0;
resetFlag = 0;
copiedText._alpha = 0;
_root.gameVolume = sndPlace.getVolume();
blockArray = new Array(blockY1, blockY2, blockY3, blockY4, blockY5, blockG1, blockG2, blockG3, blockG4, blockG5, blockB1, blockB2, blockB3, blockB4, blockB5, blockR1, blockR2, blockR3, blockR4);
positionArray = new Array(pos11, pos12, pos13, pos14, pos15, pos21, pos22, pos23, pos24, pos25, pos31, pos32, pos33, pos34, pos35, pos41, pos42, pos43, pos44, pos45);
blockArraySolution = new Array(blockY1S, blockY2S, blockY3S, blockY4S, blockY5S, blockG1S, blockG2S, blockG3S, blockG4S, blockG5S, blockB1S, blockB2S, blockB3S, blockB4S, blockB5S, blockR1S, blockR2S, blockR3S, blockR4S);
positionArraySolution = new Array(pos11S, pos12S, pos13S, pos14S, pos15S, pos21S, pos22S, pos23S, pos24S, pos25S, pos31S, pos32S, pos33S, pos34S, pos35S, pos41S, pos42S, pos43S, pos44S, pos45S);
resetButton.resetArrow.gotoAndStop(1);
integratedBoard.button.arrow.gotoAndStop(1);
integratedBoard.buttonBoard.menuBar.gotoAndStop(1);
integratedBoard.buttonBoard.menuBar.menuBarButtons.resetButton.resetArrow.gotoAndStop(1);
integratedBoardVolume.buttonVolume.arrowVolume.gotoAndStop(1);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndStop(1);
buttonOff = true;
buttonOffVolume = true;
integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider._x = _root.gameVolume;
var _local2 = 0;
while (_local2 < blockArray.length) {
blockArray[_local2].gotoAndStop("unselected");
blockArray[_local2].blockBW._alpha = 0;
blockArray[_local2].blockPosX = 0;
blockArray[_local2].blockPosY = 0;
_local2++;
}
_local2 = 0;
while (_local2 < positionArray.length) {
positionArray[_local2].empty = true;
positionArray[_local2].blockColor = "";
positionArray[_local2]._alpha = 0;
positionArray[_local2].posNumberY = Number(String(positionArray[_local2]).slice(-2, -1));
positionArray[_local2].posNumberX = Number(String(positionArray[_local2]).slice(-1));
_local2++;
}
_local2 = 0;
while (_local2 < blockArraySolution.length) {
blockArraySolution[_local2].gotoAndStop("unselected");
blockArraySolution[_local2].blockBW._alpha = 0;
blockArraySolution[_local2].blockPosX = 0;
blockArraySolution[_local2].blockPosY = 0;
_local2++;
}
_local2 = 0;
while (_local2 < positionArraySolution.length) {
positionArraySolution[_local2].empty = true;
positionArraySolution[_local2].blockColor = "";
positionArraySolution[_local2]._alpha = 0;
positionArraySolution[_local2].posNumberY = Number(String(positionArray[_local2]).slice(-2, -1));
positionArraySolution[_local2].posNumberX = Number(String(positionArray[_local2]).slice(-1));
_local2++;
}
boardShuffleEasySolution();
boardShuffle();
var _local3 = 0;
while (_local3 < blockArraySolution.length) {
blockPosSolution(blockArraySolution[_local3]);
_local3++;
}
}
function removeSubString(str, remove) {
return(str.split(remove).join(""));
}
Stage.showMenu = false;
if (_root.menuMusicPlaying == 1) {
_root.menuMusicPlaying = 0;
stopAllSounds();
}
if (currentGame == 1) {
init();
} else if (currentGame > 1) {
gameContinue();
}
onEnterFrame = function () {
currentGameTextDisplay();
screenWipeCheck(screenWipe);
if (((boardActive == 0) && (win == 0)) && (screenWipe._currentframe == 29)) {
boardActive = 1;
initialTime = getTimer();
}
var _local2 = 0;
while (_local2 < blockArray.length) {
blockPos(blockArray[_local2]);
blockMoveClickCheck(blockArray[_local2]);
_local2++;
}
if (blockMoving == 1) {
blockMove();
}
winCheck();
screenWipeWin(screenWipe);
screenWipeCheck(screenWipe);
if (buttonOffVolume == false) {
var _local3 = 0;
while (_local3 < allSoundsArray.length) {
allSoundsArray[_local3].setVolume(_root.gameVolume);
_local3++;
}
}
_root.gameVolume = integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider._x;
if ((integratedBoardVolume.buttonVolume.arrowVolume._currentFrame == 15) || (integratedBoardVolume.buttonVolume.arrowVolume._currentFrame == 31)) {
integratedBoardVolume.buttonVolume.arrowVolume.stop();
}
if ((integratedBoardVolume.buttonBoardVolume.menuBarVolume._currentFrame == 15) || (integratedBoardVolume.buttonBoardVolume.menuBarVolume._currentFrame == 31)) {
integratedBoardVolume.buttonBoardVolume.menuBarVolume.stop();
}
if (musicToggle == 1) {
musicToggleButton.gotoAndStop(1);
if (musicPlaying != 1) {
_root.sndMusic1.start(0, 9999);
musicPlaying = 1;
}
} else if (musicToggle == 0) {
musicToggleButton.gotoAndStop(2);
_root.sndMusic1.stop("bumbleloop.wav");
musicPlaying = 0;
}
if (sfxToggle == 1) {
sfxToggleButton.gotoAndStop(1);
} else if (sfxToggle == 0) {
sfxToggleButton.gotoAndStop(2);
}
if (resetButton.resetArrow._currentframe == 30) {
resetButton.resetArrow.gotoAndStop(1);
}
if (copiedText._alpha != 0) {
copiedText._alpha = copiedText._alpha - 4;
}
};
integratedBoardVolume.buttonVolume.onPress = function () {
if (buttonOffVolume) {
this.arrowVolume.gotoAndPlay(2);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndPlay(2);
buttonOffVolume = false;
if (sfxToggle == 1) {
sndWrong.start(0, 1);
}
} else if (buttonOffVolume == false) {
this.arrowVolume.gotoAndPlay(16);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndPlay(16);
buttonOffVolume = true;
if (sfxToggle == 1) {
sndWrong.start(0, 1);
}
}
};
musicToggleButton.onRelease = function () {
if (musicToggle == 1) {
_root.musicToggle = 0;
} else {
_root.musicToggle = 1;
}
};
sfxToggleButton.onRelease = function () {
if (sfxToggle == 1) {
_root.sfxToggle = 0;
} else {
_root.sfxToggle = 1;
}
};
resetButton.onRelease = function () {
if ((screenWipe._currentframe == 29) && (resetFlag == 0)) {
screenWipe.gotoAndPlay(1);
boardFinishedTime = getTimer();
continousTime = continousTime + (boardFinishedTime - initialTime);
this.resetArrow.gotoAndPlay(1);
resetFlag = 1;
}
};
quitGameButton.onRelease = function () {
if ((screenWipe._currentframe == 29) && (_root.backAnimation == 0)) {
screenWipe.gotoAndPlay(1);
_root.backAnimation = 1;
_root.straightTo1Game = 0;
}
};
integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider.onPress = function () {
this.startDrag(true, integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.volumeGroove._x - 50, integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.volumeGroove._y, integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.volumeGroove._x + 50, integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.volumeGroove._y);
};
integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider.onMouseUp = function () {
this.stopDrag();
};
_root.onMouseDown = function () {
if ((((_root._xmouse < (integratedBoardVolume._x - (integratedBoardVolume._width / 2))) || (_root._xmouse > (integratedBoardVolume._x + (integratedBoardVolume._width / 2)))) || (_root._ymouse < (integratedBoardVolume._y - (integratedBoardVolume._height / 2)))) || (_root._ymouse > (integratedBoardVolume._y + (integratedBoardVolume._height / 2)))) {
if (buttonOffVolume == false) {
integratedBoardVolume.buttonVolume.arrowVolume.gotoAndPlay(16);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndPlay(16);
buttonOffVolume = true;
if (sfxToggle == 1) {
sndWrong.start(0, 1);
}
}
}
};
btnSeed.onRelease = function () {
System.setClipboard(gameSeedText);
_root.customGameSeedInput = gameSeedText;
flash.external.ExternalInterface.call("window.alert", "Seed for copy: " + gameSeedText);
copiedText._alpha = 152;
};
Frame 51
function init() {
boardActive = 0;
_root.gameSeed = new Array();
_root.currentGame = 1;
_root.continousTime = 0;
screenWipe.gotoAndPlay(16);
blockMoving = 0;
_root.moveNumber = 0;
_root.frames = 0;
_root.elapsedMilliseconds = 0;
_root.elapsedSeconds = 0;
_root.elapsedMinutes = 0;
_root.elapsedHours = 0;
win = 0;
resetFlag = 0;
copiedText._alpha = 0;
_root.gameVolume = sndPlace.getVolume();
resetButton.resetArrow.gotoAndStop(1);
integratedBoardVolume.buttonVolume.arrowVolume.gotoAndStop(1);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndStop(1);
buttonOffVolume = true;
integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider._x = _root.gameVolume;
blockArray = new Array(blockY1, blockY2, blockY3, blockY4, blockY5, blockG1, blockG2, blockG3, blockG4, blockG5, blockB1, blockB2, blockB3, blockB4, blockB5, blockR1, blockR2, blockR3, blockR4);
positionArray = new Array(pos11, pos12, pos13, pos14, pos15, pos21, pos22, pos23, pos24, pos25, pos31, pos32, pos33, pos34, pos35, pos41, pos42, pos43, pos44, pos45);
blockArraySolution = new Array(blockY1S, blockY2S, blockY3S, blockY4S, blockY5S, blockG1S, blockG2S, blockG3S, blockG4S, blockG5S, blockB1S, blockB2S, blockB3S, blockB4S, blockB5S, blockR1S, blockR2S, blockR3S, blockR4S);
positionArraySolution = new Array(pos11S, pos12S, pos13S, pos14S, pos15S, pos21S, pos22S, pos23S, pos24S, pos25S, pos31S, pos32S, pos33S, pos34S, pos35S, pos41S, pos42S, pos43S, pos44S, pos45S);
var _local2 = 0;
while (_local2 < blockArray.length) {
blockArray[_local2].gotoAndStop("unselected");
blockArray[_local2].blockBW._alpha = 0;
blockArray[_local2].blockPosX = 0;
blockArray[_local2].blockPosY = 0;
_local2++;
}
_local2 = 0;
while (_local2 < positionArray.length) {
positionArray[_local2].empty = true;
positionArray[_local2].blockColor = "";
positionArray[_local2]._alpha = 0;
positionArray[_local2].posNumberY = Number(String(positionArray[_local2]).slice(-2, -1));
positionArray[_local2].posNumberX = Number(String(positionArray[_local2]).slice(-1));
_local2++;
}
_local2 = 0;
while (_local2 < blockArraySolution.length) {
blockArraySolution[_local2].gotoAndStop("unselected");
blockArraySolution[_local2].blockBW._alpha = 0;
blockArraySolution[_local2].blockPosX = 0;
blockArraySolution[_local2].blockPosY = 0;
_local2++;
}
_local2 = 0;
while (_local2 < positionArraySolution.length) {
positionArraySolution[_local2].empty = true;
positionArraySolution[_local2].blockColor = "";
positionArraySolution[_local2]._alpha = 0;
positionArraySolution[_local2].posNumberY = Number(String(positionArray[_local2]).slice(-2, -1));
positionArraySolution[_local2].posNumberX = Number(String(positionArray[_local2]).slice(-1));
_local2++;
}
boardShuffleSolution();
boardShuffle();
if ((musicToggle == 1) && (musicPlaying != 1)) {
sndMusic2.start(0, 9999);
_root.musicPlaying = 1;
}
var _local3 = 0;
while (_local3 < blockArraySolution.length) {
blockPosSolution(blockArraySolution[_local3]);
_local3++;
}
_local3 = 0;
while (_local3 < blockArray.length) {
blockPos(blockArray[_local3]);
_local3++;
}
_local2 = 0;
while (_local2 < positionArray.length) {
if (positionArray[_local2].blockColor == "") {
gameSeed.push("E");
} else {
gameSeed.push(positionArray[_local2].blockColor);
}
_local2++;
}
_local2 = 0;
while (_local2 < positionArraySolution.length) {
if (positionArraySolution[_local2].blockColor == "") {
gameSeed.push("E");
} else {
gameSeed.push(positionArraySolution[_local2].blockColor);
}
_local2++;
}
_root.gameSeedText = removeSubString(gameSeed.toString(), ",");
}
function blockMoveClickCheck(sprite) {
if ((screenWipe._currentframe == 29) && (blockMoving == 0)) {
sprite.onPress = function () {
if ((blockMoving == 0) && (screenWipe._currentframe == 29)) {
spriteClicked = sprite;
blockX = spriteClicked.blockPosX;
blockY = spriteClicked.blockPosY;
var _local4 = 0;
while (_local4 < positionArray.length) {
if ((positionArray[_local4].empty == true) && (((blockX - positionArray[_local4].posNumberX) == 0) || ((blockY - positionArray[_local4].posNumberY) == 0))) {
emptyPosition = positionArray[_local4];
posX = positionArray[_local4].posNumberX;
posY = positionArray[_local4].posNumberY;
sameXOrYBlockArray = new Array();
var _local2 = 0;
while (_local2 < blockArray.length) {
if (((((blockX > posX) && ((blockY - posY) == 0)) && (blockX >= blockArray[_local2].blockPosX)) && ((blockY - blockArray[_local2].blockPosY) == 0)) && (blockArray[_local2].blockPosX > posX)) {
sameXOrYBlockArray.push(blockArray[_local2]);
} else if (((((blockX < posX) && ((blockY - posY) == 0)) && (blockX <= blockArray[_local2].blockPosX)) && ((blockY - blockArray[_local2].blockPosY) == 0)) && (blockArray[_local2].blockPosX < posX)) {
sameXOrYBlockArray.push(blockArray[_local2]);
} else if (((((blockY > posY) && ((blockX - posX) == 0)) && (blockY >= blockArray[_local2].blockPosY)) && ((blockX - blockArray[_local2].blockPosX) == 0)) && (blockArray[_local2].blockPosY > posY)) {
sameXOrYBlockArray.push(blockArray[_local2]);
} else if (((((blockY < posY) && ((blockX - posX) == 0)) && (blockY <= blockArray[_local2].blockPosY)) && ((blockX - blockArray[_local2].blockPosX) == 0)) && (blockArray[_local2].blockPosY < posY)) {
sameXOrYBlockArray.push(blockArray[_local2]);
}
_local2++;
}
sprite.gotoAndStop("selected");
if (sfxToggle == 1) {
sndPickup.start(0, 1);
}
_root.moveNumber++;
var _local3 = 0;
while (_local3 < sameXOrYBlockArray.length) {
if ((((((sameXOrYBlockArray[_local3].blockPosX - posX) == 1) && ((sameXOrYBlockArray[_local3].blockPosY - posY) == 0)) || (((sameXOrYBlockArray[_local3].blockPosX - posX) == -1) && ((sameXOrYBlockArray[_local3].blockPosY - posY) == 0))) || (((sameXOrYBlockArray[_local3].blockPosX - posX) == 0) && ((sameXOrYBlockArray[_local3].blockPosY - posY) == 1))) || (((sameXOrYBlockArray[_local3].blockPosX - posX) == 0) && ((sameXOrYBlockArray[_local3].blockPosY - posY) == -1))) {
dx = (emptyPosition._x - sameXOrYBlockArray[_local3]._x) / 3;
dy = (emptyPosition._y - sameXOrYBlockArray[_local3]._y) / 3;
closestToEmpty = sameXOrYBlockArray[_local3];
}
_local3++;
}
blockMoving = 1;
}
_local4++;
}
}
};
}
}
function blockMove() {
if (blockMoving == 1) {
var _local1 = 0;
while (_local1 < sameXOrYBlockArray.length) {
sameXOrYBlockArray[_local1]._x = sameXOrYBlockArray[_local1]._x + dx;
sameXOrYBlockArray[_local1]._y = sameXOrYBlockArray[_local1]._y + dy;
_local1++;
}
}
if ((((closestToEmpty._x >= (emptyPosition._x - 1)) && (closestToEmpty._x <= (emptyPosition._x + 1))) && (closestToEmpty._y >= (emptyPosition._y - 1))) && (closestToEmpty._y <= (emptyPosition._y + 1))) {
spriteClicked.gotoAndStop("unselected");
var _local1 = 0;
while (_local1 < sameXOrYBlockArray.length) {
var _local2 = 0;
while (_local2 < positionArray.length) {
if ((sameXOrYBlockArray[_local1].blockPosX == positionArray[_local2].posNumberX) && (sameXOrYBlockArray[_local1].blockPosY == positionArray[_local2].posNumberY)) {
sameXOrYBlockArray[_local1]._x = positionArray[_local2]._x;
sameXOrYBlockArray[_local1]._y = positionArray[_local2]._y;
}
_local2++;
}
_local1++;
}
if (sfxToggle == 1) {
sndPlace.start(0, 1);
}
emptyPosition.empty = false;
var _local2 = 0;
while (_local2 < positionArray.length) {
if ((positionArray[_local2].posNumberX == blockX) && (positionArray[_local2].posNumberY == blockY)) {
positionArray[_local2].empty = true;
positionArray[_local2].blockColor = "";
}
_local2++;
}
blockMoving = 0;
}
}
function blockPos(sprite) {
var _local1 = 0;
while (_local1 < positionArray.length) {
if (sprite.hitTest(positionArray[_local1])) {
positionArray[_local1].empty = false;
positionArray[_local1].blockColor = String(sprite).charAt(13);
sprite.blockPosX = positionArray[_local1].posNumberX;
sprite.blockPosY = positionArray[_local1].posNumberY;
}
_local1++;
}
}
function blockPosSolution(sprite) {
var _local1 = 0;
while (_local1 < positionArraySolution.length) {
if (sprite.hitTest(positionArraySolution[_local1])) {
positionArraySolution[_local1].empty = false;
positionArraySolution[_local1].blockColor = String(sprite).charAt(13);
sprite.blockPosX = positionArraySolution[_local1].posNumberX;
sprite.blockPosY = positionArraySolution[_local1].posNumberY;
}
_local1++;
}
}
function winCheck() {
if ((((((((((((((((((((pos11.blockColor == pos11S.blockColor) && (pos12.blockColor == pos12S.blockColor)) && (pos13.blockColor == pos13S.blockColor)) && (pos14.blockColor == pos14S.blockColor)) && (pos15.blockColor == pos15S.blockColor)) && (pos21.blockColor == pos21S.blockColor)) && (pos22.blockColor == pos22S.blockColor)) && (pos23.blockColor == pos23S.blockColor)) && (pos24.blockColor == pos24S.blockColor)) && (pos25.blockColor == pos25S.blockColor)) && (pos31.blockColor == pos31S.blockColor)) && (pos32.blockColor == pos32S.blockColor)) && (pos33.blockColor == pos33S.blockColor)) && (pos34.blockColor == pos34S.blockColor)) && (pos35.blockColor == pos35S.blockColor)) && (pos41.blockColor == pos41S.blockColor)) && (pos42.blockColor == pos42S.blockColor)) && (pos43.blockColor == pos43S.blockColor)) && (pos44.blockColor == pos44S.blockColor)) && (pos45.blockColor == pos45S.blockColor)) {
win = 1;
}
}
function screenWipeCheck(wipe) {
if ((wipe._currentframe == 29) && (resetFlag == 0)) {
wipe.stop();
}
if (((wipe._currentframe == 15) && (resetFlag == 0)) && (_root.backAnimation == 1)) {
_root.gotoAndStop("title");
}
}
function screenWipeWin(wipe) {
if ((win == 1) && (wipe._currentframe == 29)) {
wipe.gotoAndPlay(1);
boardFinishedTime = getTimer();
}
if ((((win == 1) && (wipe._currentframe == 15)) && (currentGame == numOfGames)) && (_root.backAnimation == 0)) {
continousTime = continousTime + (boardFinishedTime - initialTime);
_root.finalTime = continousTime;
gotoAndStop ("win");
}
if ((((win == 1) && (wipe._currentframe == 15)) && (currentGame != numOfGames)) && (_root.backAnimation == 0)) {
gotoAndStop ("reset");
continousTime = continousTime + (boardFinishedTime - initialTime);
currentGame++;
}
if ((((win == 0) && (wipe._currentframe == 15)) && (resetFlag == 1)) && (_root.backAnimation == 0)) {
gotoAndStop ("reset");
}
}
function boardShuffle() {
blockShuffleArray = new Array(blockY1, blockY2, blockY3, blockY4, blockY5, blockG1, blockG2, blockG3, blockG4, blockG5, blockB1, blockB2, blockB3, blockB4, blockB5, blockR1, blockR2, blockR3, blockR4, emptySquare);
var _local1 = 0;
while (_local1 < positionArray.length) {
blockIndex = randRange(0, blockShuffleArray.length - 1);
if (blockShuffleArray.length > 0) {
blockShuffleArray[blockIndex]._x = positionArray[_local1]._x;
blockShuffleArray[blockIndex]._y = positionArray[_local1]._y;
blockShuffleArray.splice(blockIndex, 1);
}
_local1++;
}
}
function boardShuffleSolution() {
blockShuffleArraySolution = new Array(blockY1S, blockY2S, blockY3S, blockY4S, blockY5S, blockG1S, blockG2S, blockG3S, blockG4S, blockG5S, blockB1S, blockB2S, blockB3S, blockB4S, blockB5S, blockR1S, blockR2S, blockR3S, blockR4S, emptySquareS);
var _local1 = 0;
while (_local1 < positionArraySolution.length) {
blockIndexSolution = randRange(0, blockShuffleArraySolution.length - 1);
if (blockShuffleArraySolution.length > 0) {
blockShuffleArraySolution[blockIndexSolution]._x = positionArraySolution[_local1]._x;
blockShuffleArraySolution[blockIndexSolution]._y = positionArraySolution[_local1]._y;
blockShuffleArraySolution.splice(blockIndexSolution, 1);
}
_local1++;
}
}
function randRange(min, max) {
randomNum = Math.floor(Math.random() * ((max - min) + 1)) + min;
return(randomNum);
}
function currentGameTextDisplay() {
currentGameText = (("Game " + currentGame) + " out of ") + numOfGames;
}
function gameContinue() {
boardActive = 0;
copiedText._alpha = 0;
screenWipe.gotoAndPlay(16);
blockMoving = 0;
win = 0;
resetFlag = 0;
_root.gameVolume = sndPlace.getVolume();
blockArray = new Array(blockY1, blockY2, blockY3, blockY4, blockY5, blockG1, blockG2, blockG3, blockG4, blockG5, blockB1, blockB2, blockB3, blockB4, blockB5, blockR1, blockR2, blockR3, blockR4);
positionArray = new Array(pos11, pos12, pos13, pos14, pos15, pos21, pos22, pos23, pos24, pos25, pos31, pos32, pos33, pos34, pos35, pos41, pos42, pos43, pos44, pos45);
blockArraySolution = new Array(blockY1S, blockY2S, blockY3S, blockY4S, blockY5S, blockG1S, blockG2S, blockG3S, blockG4S, blockG5S, blockB1S, blockB2S, blockB3S, blockB4S, blockB5S, blockR1S, blockR2S, blockR3S, blockR4S);
positionArraySolution = new Array(pos11S, pos12S, pos13S, pos14S, pos15S, pos21S, pos22S, pos23S, pos24S, pos25S, pos31S, pos32S, pos33S, pos34S, pos35S, pos41S, pos42S, pos43S, pos44S, pos45S);
resetButton.resetArrow.gotoAndStop(1);
integratedBoard.button.arrow.gotoAndStop(1);
integratedBoard.buttonBoard.menuBar.gotoAndStop(1);
integratedBoard.buttonBoard.menuBar.menuBarButtons.resetButton.resetArrow.gotoAndStop(1);
integratedBoardVolume.buttonVolume.arrowVolume.gotoAndStop(1);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndStop(1);
buttonOff = true;
buttonOffVolume = true;
integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider._x = _root.gameVolume;
var _local2 = 0;
while (_local2 < blockArray.length) {
blockArray[_local2].gotoAndStop("unselected");
blockArray[_local2].blockBW._alpha = 0;
blockArray[_local2].blockPosX = 0;
blockArray[_local2].blockPosY = 0;
_local2++;
}
_local2 = 0;
while (_local2 < positionArray.length) {
positionArray[_local2].empty = true;
positionArray[_local2].blockColor = "";
positionArray[_local2]._alpha = 0;
positionArray[_local2].posNumberY = Number(String(positionArray[_local2]).slice(-2, -1));
positionArray[_local2].posNumberX = Number(String(positionArray[_local2]).slice(-1));
_local2++;
}
_local2 = 0;
while (_local2 < blockArraySolution.length) {
blockArraySolution[_local2].gotoAndStop("unselected");
blockArraySolution[_local2].blockBW._alpha = 0;
blockArraySolution[_local2].blockPosX = 0;
blockArraySolution[_local2].blockPosY = 0;
_local2++;
}
_local2 = 0;
while (_local2 < positionArraySolution.length) {
positionArraySolution[_local2].empty = true;
positionArraySolution[_local2].blockColor = "";
positionArraySolution[_local2]._alpha = 0;
positionArraySolution[_local2].posNumberY = Number(String(positionArray[_local2]).slice(-2, -1));
positionArraySolution[_local2].posNumberX = Number(String(positionArray[_local2]).slice(-1));
_local2++;
}
boardShuffleSolution();
boardShuffle();
var _local3 = 0;
while (_local3 < blockArraySolution.length) {
blockPosSolution(blockArraySolution[_local3]);
_local3++;
}
}
function removeSubString(str, remove) {
return(str.split(remove).join(""));
}
Stage.showMenu = false;
if (_root.menuMusicPlaying == 1) {
_root.menuMusicPlaying = 0;
stopAllSounds();
}
if (currentGame == 1) {
init();
} else if (currentGame > 1) {
gameContinue();
}
onEnterFrame = function () {
currentGameTextDisplay();
screenWipeCheck(screenWipe);
if (((boardActive == 0) && (win == 0)) && (screenWipe._currentframe == 29)) {
boardActive = 1;
initialTime = getTimer();
}
var _local2 = 0;
while (_local2 < blockArray.length) {
blockPos(blockArray[_local2]);
blockMoveClickCheck(blockArray[_local2]);
_local2++;
}
if (blockMoving == 1) {
blockMove();
}
winCheck();
screenWipeWin(screenWipe);
screenWipeCheck(screenWipe);
if (buttonOffVolume == false) {
var _local3 = 0;
while (_local3 < allSoundsArray.length) {
allSoundsArray[_local3].setVolume(_root.gameVolume);
_local3++;
}
}
_root.gameVolume = integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider._x;
if ((integratedBoardVolume.buttonVolume.arrowVolume._currentFrame == 15) || (integratedBoardVolume.buttonVolume.arrowVolume._currentFrame == 31)) {
integratedBoardVolume.buttonVolume.arrowVolume.stop();
}
if ((integratedBoardVolume.buttonBoardVolume.menuBarVolume._currentFrame == 15) || (integratedBoardVolume.buttonBoardVolume.menuBarVolume._currentFrame == 31)) {
integratedBoardVolume.buttonBoardVolume.menuBarVolume.stop();
}
if (musicToggle == 1) {
musicToggleButton.gotoAndStop(1);
if (musicPlaying != 1) {
_root.sndMusic2.start(0, 9999);
musicPlaying = 1;
}
} else if (musicToggle == 0) {
musicToggleButton.gotoAndStop(2);
_root.sndMusic2.stop("harploop.wav");
musicPlaying = 0;
}
if (sfxToggle == 1) {
sfxToggleButton.gotoAndStop(1);
} else if (sfxToggle == 0) {
sfxToggleButton.gotoAndStop(2);
}
if (resetButton.resetArrow._currentframe == 30) {
resetButton.resetArrow.gotoAndStop(1);
}
if (copiedText._alpha != 0) {
copiedText._alpha = copiedText._alpha - 4;
}
};
integratedBoardVolume.buttonVolume.onPress = function () {
if (buttonOffVolume) {
this.arrowVolume.gotoAndPlay(2);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndPlay(2);
buttonOffVolume = false;
if (sfxToggle == 1) {
sndWrong.start(0, 1);
}
} else if (buttonOffVolume == false) {
this.arrowVolume.gotoAndPlay(16);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndPlay(16);
buttonOffVolume = true;
if (sfxToggle == 1) {
sndWrong.start(0, 1);
}
}
};
musicToggleButton.onRelease = function () {
if (musicToggle == 1) {
_root.musicToggle = 0;
} else {
_root.musicToggle = 1;
}
};
sfxToggleButton.onRelease = function () {
if (sfxToggle == 1) {
_root.sfxToggle = 0;
} else {
_root.sfxToggle = 1;
}
};
resetButton.onRelease = function () {
if ((screenWipe._currentframe == 29) && (resetFlag == 0)) {
screenWipe.gotoAndPlay(1);
boardFinishedTime = getTimer();
continousTime = continousTime + (boardFinishedTime - initialTime);
this.resetArrow.gotoAndPlay(1);
resetFlag = 1;
}
};
quitGameButton.onRelease = function () {
if ((screenWipe._currentframe == 29) && (_root.backAnimation == 0)) {
screenWipe.gotoAndPlay(1);
_root.backAnimation = 1;
_root.straightTo1Game = 0;
}
};
integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider.onPress = function () {
this.startDrag(true, integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.volumeGroove._x - 50, integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.volumeGroove._y, integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.volumeGroove._x + 50, integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.volumeGroove._y);
};
integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider.onMouseUp = function () {
this.stopDrag();
};
_root.onMouseDown = function () {
if ((((_root._xmouse < (integratedBoardVolume._x - (integratedBoardVolume._width / 2))) || (_root._xmouse > (integratedBoardVolume._x + (integratedBoardVolume._width / 2)))) || (_root._ymouse < (integratedBoardVolume._y - (integratedBoardVolume._height / 2)))) || (_root._ymouse > (integratedBoardVolume._y + (integratedBoardVolume._height / 2)))) {
if (buttonOffVolume == false) {
integratedBoardVolume.buttonVolume.arrowVolume.gotoAndPlay(16);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndPlay(16);
buttonOffVolume = true;
if (sfxToggle == 1) {
sndWrong.start(0, 1);
}
}
}
};
btnSeed.onRelease = function () {
System.setClipboard(gameSeedText);
_root.customGameSeedInput = gameSeedText;
flash.external.ExternalInterface.call("window.alert", "Seed for copy: " + gameSeedText);
copiedText._alpha = 152;
};
Frame 61
function init() {
boardActive = 0;
_root.gameSeed = new Array();
_root.lastTwoMovesBuffer = new Array();
_root.currentGame = 1;
_root.continousTime = 0;
screenWipe.gotoAndPlay(16);
blockMoving = 0;
randomBlockMoving = 0;
_root.moveNumber = 0;
_root.frames = 0;
_root.elapsedMilliseconds = 0;
_root.elapsedSeconds = 0;
_root.elapsedMinutes = 0;
_root.elapsedHours = 0;
win = 0;
resetFlag = 0;
autoMoveTimer = 3;
autoMoveTimerFrames = 0;
copiedText._alpha = 0;
_root.gameVolume = sndPlace.getVolume();
resetButton.resetArrow.gotoAndStop(1);
integratedBoardVolume.buttonVolume.arrowVolume.gotoAndStop(1);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndStop(1);
buttonOffVolume = true;
integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider._x = _root.gameVolume;
blockArray = new Array(blockY1, blockY2, blockY3, blockY4, blockY5, blockG1, blockG2, blockG3, blockG4, blockG5, blockB1, blockB2, blockB3, blockB4, blockB5, blockR1, blockR2, blockR3, blockR4);
positionArray = new Array(pos11, pos12, pos13, pos14, pos15, pos21, pos22, pos23, pos24, pos25, pos31, pos32, pos33, pos34, pos35, pos41, pos42, pos43, pos44, pos45);
blockArraySolution = new Array(blockY1S, blockY2S, blockY3S, blockY4S, blockY5S, blockG1S, blockG2S, blockG3S, blockG4S, blockG5S, blockB1S, blockB2S, blockB3S, blockB4S, blockB5S, blockR1S, blockR2S, blockR3S, blockR4S);
positionArraySolution = new Array(pos11S, pos12S, pos13S, pos14S, pos15S, pos21S, pos22S, pos23S, pos24S, pos25S, pos31S, pos32S, pos33S, pos34S, pos35S, pos41S, pos42S, pos43S, pos44S, pos45S);
var _local2 = 0;
while (_local2 < blockArray.length) {
blockArray[_local2].gotoAndStop("unselected");
blockArray[_local2].blockBW._alpha = 100;
blockArray[_local2].blockPosX = 0;
blockArray[_local2].blockPosY = 0;
_local2++;
}
_local2 = 0;
while (_local2 < positionArray.length) {
positionArray[_local2].empty = true;
positionArray[_local2].blockColor = "";
positionArray[_local2]._alpha = 0;
positionArray[_local2].posNumberY = Number(String(positionArray[_local2]).slice(-2, -1));
positionArray[_local2].posNumberX = Number(String(positionArray[_local2]).slice(-1));
_local2++;
}
_local2 = 0;
while (_local2 < blockArraySolution.length) {
blockArraySolution[_local2].gotoAndStop("unselected");
blockArraySolution[_local2].blockBW._alpha = 0;
blockArraySolution[_local2].blockPosX = 0;
blockArraySolution[_local2].blockPosY = 0;
_local2++;
}
_local2 = 0;
while (_local2 < positionArraySolution.length) {
positionArraySolution[_local2].empty = true;
positionArraySolution[_local2].blockColor = "";
positionArraySolution[_local2]._alpha = 0;
positionArraySolution[_local2].posNumberY = Number(String(positionArray[_local2]).slice(-2, -1));
positionArraySolution[_local2].posNumberX = Number(String(positionArray[_local2]).slice(-1));
_local2++;
}
boardShuffleSolution();
boardShuffle();
if ((musicToggle == 1) && (musicPlaying != 1)) {
sndMusic3.start(0, 9999);
_root.musicPlaying = 1;
}
var _local3 = 0;
while (_local3 < blockArraySolution.length) {
blockPosSolution(blockArraySolution[_local3]);
_local3++;
}
_local3 = 0;
while (_local3 < blockArray.length) {
blockPos(blockArray[_local3]);
_local3++;
}
_local2 = 0;
while (_local2 < positionArray.length) {
if (positionArray[_local2].blockColor == "") {
gameSeed.push("E");
} else {
gameSeed.push(positionArray[_local2].blockColor);
}
_local2++;
}
_local2 = 0;
while (_local2 < positionArraySolution.length) {
if (positionArraySolution[_local2].blockColor == "") {
gameSeed.push("E");
} else {
gameSeed.push(positionArraySolution[_local2].blockColor);
}
_local2++;
}
_root.gameSeedText = removeSubString(gameSeed.toString(), ",");
}
function blockMoveClickCheck(sprite) {
if ((screenWipe._currentframe == 29) && (blockMoving == 0)) {
sprite.onPress = function () {
if (((blockMoving == 0) && (randomBlockMoving == 0)) && (screenWipe._currentframe == 29)) {
spriteClicked = sprite;
blockX = spriteClicked.blockPosX;
blockY = spriteClicked.blockPosY;
var _local5 = 0;
while (_local5 < positionArray.length) {
if ((positionArray[_local5].empty == true) && (((blockX - positionArray[_local5].posNumberX) == 0) || ((blockY - positionArray[_local5].posNumberY) == 0))) {
emptyPosition = positionArray[_local5];
posX = positionArray[_local5].posNumberX;
posY = positionArray[_local5].posNumberY;
sameXOrYBlockArray = new Array();
var _local2 = 0;
while (_local2 < blockArray.length) {
if (((((blockX > posX) && ((blockY - posY) == 0)) && (blockX >= blockArray[_local2].blockPosX)) && ((blockY - blockArray[_local2].blockPosY) == 0)) && (blockArray[_local2].blockPosX > posX)) {
sameXOrYBlockArray.push(blockArray[_local2]);
} else if (((((blockX < posX) && ((blockY - posY) == 0)) && (blockX <= blockArray[_local2].blockPosX)) && ((blockY - blockArray[_local2].blockPosY) == 0)) && (blockArray[_local2].blockPosX < posX)) {
sameXOrYBlockArray.push(blockArray[_local2]);
} else if (((((blockY > posY) && ((blockX - posX) == 0)) && (blockY >= blockArray[_local2].blockPosY)) && ((blockX - blockArray[_local2].blockPosX) == 0)) && (blockArray[_local2].blockPosY > posY)) {
sameXOrYBlockArray.push(blockArray[_local2]);
} else if (((((blockY < posY) && ((blockX - posX) == 0)) && (blockY <= blockArray[_local2].blockPosY)) && ((blockX - blockArray[_local2].blockPosX) == 0)) && (blockArray[_local2].blockPosY < posY)) {
sameXOrYBlockArray.push(blockArray[_local2]);
}
_local2++;
}
sprite.gotoAndStop("selected");
sprite.blockBW._alpha = 0;
if (sfxToggle == 1) {
sndPickup.start(0, 1);
}
_root.moveNumber++;
var _local3 = 0;
while (_local3 < sameXOrYBlockArray.length) {
if ((((((sameXOrYBlockArray[_local3].blockPosX - posX) == 1) && ((sameXOrYBlockArray[_local3].blockPosY - posY) == 0)) || (((sameXOrYBlockArray[_local3].blockPosX - posX) == -1) && ((sameXOrYBlockArray[_local3].blockPosY - posY) == 0))) || (((sameXOrYBlockArray[_local3].blockPosX - posX) == 0) && ((sameXOrYBlockArray[_local3].blockPosY - posY) == 1))) || (((sameXOrYBlockArray[_local3].blockPosX - posX) == 0) && ((sameXOrYBlockArray[_local3].blockPosY - posY) == -1))) {
dx = (emptyPosition._x - sameXOrYBlockArray[_local3]._x) / 3;
dy = (emptyPosition._y - sameXOrYBlockArray[_local3]._y) / 3;
closestToEmpty = sameXOrYBlockArray[_local3];
}
_local3++;
}
if (lastTwoMovesBuffer.length >= 2) {
lastTwoMovesBuffer.pop();
lastTwoMovesBuffer.unshift(new Array(spriteClicked, emptyPosition));
} else if (lastTwoMovesBuffer.length < 2) {
lastTwoMovesBuffer.push(new Array(spriteClicked, emptyPosition));
}
if (_root.moveNumber > 2) {
var _local4 = 1;
while (_local4 < lastTwoMovesBuffer.length) {
blockTest = lastTwoMovesBuffer[_local4][0];
positionTest = lastTwoMovesBuffer[_local4][1];
if ((spriteClicked != blockTest) && (emptyPosition != positionTest)) {
autoMoveTimer = 3;
autoMoveTimerFrames = 0;
}
_local4++;
}
} else {
autoMoveTimer = 3;
autoMoveTimerFrames = 0;
}
blockMoving = 1;
}
_local5++;
}
}
};
}
}
function blockMove() {
if (blockMoving == 1) {
var _local1 = 0;
while (_local1 < sameXOrYBlockArray.length) {
sameXOrYBlockArray[_local1]._x = sameXOrYBlockArray[_local1]._x + dx;
sameXOrYBlockArray[_local1]._y = sameXOrYBlockArray[_local1]._y + dy;
_local1++;
}
}
if ((((closestToEmpty._x >= (emptyPosition._x - 1)) && (closestToEmpty._x <= (emptyPosition._x + 1))) && (closestToEmpty._y >= (emptyPosition._y - 1))) && (closestToEmpty._y <= (emptyPosition._y + 1))) {
spriteClicked.gotoAndStop("unselected");
var _local1 = 0;
while (_local1 < sameXOrYBlockArray.length) {
var _local2 = 0;
while (_local2 < positionArray.length) {
if ((sameXOrYBlockArray[_local1].blockPosX == positionArray[_local2].posNumberX) && (sameXOrYBlockArray[_local1].blockPosY == positionArray[_local2].posNumberY)) {
sameXOrYBlockArray[_local1]._x = positionArray[_local2]._x;
sameXOrYBlockArray[_local1]._y = positionArray[_local2]._y;
}
_local2++;
}
_local1++;
}
if (sfxToggle == 1) {
sndPlace.start(0, 1);
}
emptyPosition.empty = false;
var _local2 = 0;
while (_local2 < positionArray.length) {
if ((positionArray[_local2].posNumberX == blockX) && (positionArray[_local2].posNumberY == blockY)) {
positionArray[_local2].empty = true;
positionArray[_local2].blockColor = "";
}
_local2++;
}
blockMoving = 0;
}
}
function randomBlockMove() {
if ((randomBlockMoving == 1) && (blockMoving == 0)) {
randomBlockOne._x = randomBlockOne._x + blockOneDX;
randomBlockOne._y = randomBlockOne._y + blockOneDY;
randomBlockTwo._x = randomBlockTwo._x + blockTwoDX;
randomBlockTwo._y = randomBlockTwo._y + blockTwoDY;
}
if ((((randomBlockOne._x >= (blockTwoOriginalX - 1)) && (randomBlockOne._x <= (blockTwoOriginalX + 1))) && (randomBlockOne._y >= (blockTwoOriginalY - 1))) && (randomBlockOne._y <= (blockTwoOriginalY + 1))) {
randomBlockOne._x = blockTwoOriginalX;
randomBlockOne._y = blockTwoOriginalY;
randomBlockTwo._x = blockOneOriginalX;
randomBlockTwo._y = blockOneOriginalY;
if (sfxToggle == 1) {
sndPlace.start();
}
randomBlockOne.gotoAndStop("unselected");
randomBlockTwo.gotoAndStop("unselected");
randomBlockOne.swapDepths(randomBlockOneDepth);
randomBlockTwo.swapDepths(randomBlockTwoDepth);
randomBlockMoving = 0;
}
}
function blockPos(sprite) {
var _local1 = 0;
while (_local1 < positionArray.length) {
if (sprite.hitTest(positionArray[_local1])) {
if (randomBlockMoving != 1) {
positionArray[_local1].empty = false;
positionArray[_local1].blockColor = String(sprite).charAt(13);
sprite.blockPosX = positionArray[_local1].posNumberX;
sprite.blockPosY = positionArray[_local1].posNumberY;
}
}
_local1++;
}
}
function blockPosSolution(sprite) {
var _local1 = 0;
while (_local1 < positionArraySolution.length) {
if (sprite.hitTest(positionArraySolution[_local1])) {
positionArraySolution[_local1].empty = false;
positionArraySolution[_local1].blockColor = String(sprite).charAt(13);
sprite.blockPosX = positionArraySolution[_local1].posNumberX;
sprite.blockPosY = positionArraySolution[_local1].posNumberY;
}
_local1++;
}
}
function winCheck() {
if ((((((((((((((((((((pos11.blockColor == pos11S.blockColor) && (pos12.blockColor == pos12S.blockColor)) && (pos13.blockColor == pos13S.blockColor)) && (pos14.blockColor == pos14S.blockColor)) && (pos15.blockColor == pos15S.blockColor)) && (pos21.blockColor == pos21S.blockColor)) && (pos22.blockColor == pos22S.blockColor)) && (pos23.blockColor == pos23S.blockColor)) && (pos24.blockColor == pos24S.blockColor)) && (pos25.blockColor == pos25S.blockColor)) && (pos31.blockColor == pos31S.blockColor)) && (pos32.blockColor == pos32S.blockColor)) && (pos33.blockColor == pos33S.blockColor)) && (pos34.blockColor == pos34S.blockColor)) && (pos35.blockColor == pos35S.blockColor)) && (pos41.blockColor == pos41S.blockColor)) && (pos42.blockColor == pos42S.blockColor)) && (pos43.blockColor == pos43S.blockColor)) && (pos44.blockColor == pos44S.blockColor)) && (pos45.blockColor == pos45S.blockColor)) {
win = 1;
}
}
function screenWipeCheck(wipe) {
if ((wipe._currentframe == 29) && (resetFlag == 0)) {
wipe.stop();
}
if (((wipe._currentframe == 15) && (resetFlag == 0)) && (_root.backAnimation == 1)) {
_root.gotoAndStop("title");
}
}
function screenWipeWin(wipe) {
if ((win == 1) && (wipe._currentframe == 29)) {
wipe.gotoAndPlay(1);
boardFinishedTime = getTimer();
}
if ((((win == 1) && (wipe._currentframe == 15)) && (currentGame == numOfGames)) && (_root.backAnimation == 0)) {
continousTime = continousTime + (boardFinishedTime - initialTime);
_root.finalTime = continousTime;
gotoAndStop ("win");
}
if ((((win == 1) && (wipe._currentframe == 15)) && (currentGame != numOfGames)) && (_root.backAnimation == 0)) {
gotoAndStop ("reset");
continousTime = continousTime + (boardFinishedTime - initialTime);
currentGame++;
}
if ((((win == 0) && (wipe._currentframe == 15)) && (resetFlag == 1)) && (_root.backAnimation == 0)) {
gotoAndStop ("reset");
}
}
function boardShuffle() {
blockShuffleArray = new Array(blockY1, blockY2, blockY3, blockY4, blockY5, blockG1, blockG2, blockG3, blockG4, blockG5, blockB1, blockB2, blockB3, blockB4, blockB5, blockR1, blockR2, blockR3, blockR4, emptySquare);
var _local1 = 0;
while (_local1 < positionArray.length) {
blockIndex = randRange(0, blockShuffleArray.length - 1);
if (blockShuffleArray.length > 0) {
blockShuffleArray[blockIndex]._x = positionArray[_local1]._x;
blockShuffleArray[blockIndex]._y = positionArray[_local1]._y;
blockShuffleArray.splice(blockIndex, 1);
}
_local1++;
}
}
function boardShuffleSolution() {
blockShuffleArraySolution = new Array(blockY1S, blockY2S, blockY3S, blockY4S, blockY5S, blockG1S, blockG2S, blockG3S, blockG4S, blockG5S, blockB1S, blockB2S, blockB3S, blockB4S, blockB5S, blockR1S, blockR2S, blockR3S, blockR4S, emptySquareS);
var _local1 = 0;
while (_local1 < positionArraySolution.length) {
blockIndexSolution = randRange(0, blockShuffleArraySolution.length - 1);
if (blockShuffleArraySolution.length > 0) {
blockShuffleArraySolution[blockIndexSolution]._x = positionArraySolution[_local1]._x;
blockShuffleArraySolution[blockIndexSolution]._y = positionArraySolution[_local1]._y;
blockShuffleArraySolution.splice(blockIndexSolution, 1);
}
_local1++;
}
}
function randRange(min, max) {
randomNum = Math.floor(Math.random() * ((max - min) + 1)) + min;
return(randomNum);
}
function timerAndMove() {
autoMoveTimerFrames++;
if ((autoMoveTimerFrames % 30) == 0) {
autoMoveTimer--;
}
if ((((autoMoveTimer == 0) && (randomBlockMoving == 0)) && (blockMoving == 0)) && (resetFlag == 0)) {
numBlockOne = randRange(0, 18);
randomBlockOne = blockArray[numBlockOne];
randomBlockOne.blockColorRandom = String(blockArray[numBlockOne]).charAt(13);
numBlockTwo = randRange(0, 18);
randomBlockTwo = blockArray[numBlockTwo];
randomBlockTwo.blockColorRandom = String(blockArray[numBlockTwo]).charAt(13);
while (randomBlockTwo.blockColorRandom == randomBlockOne.blockColorRandom) {
numBlockTwo = randRange(0, 18);
randomBlockTwo = blockArray[numBlockTwo];
randomBlockTwo.blockColorRandom = String(blockArray[numBlockTwo]).charAt(13);
}
blockOneOriginalX = randomBlockOne._x;
blockOneOriginalY = randomBlockOne._y;
blockTwoOriginalX = randomBlockTwo._x;
blockTwoOriginalY = randomBlockTwo._y;
blockOneDX = (randomBlockTwo._x - randomBlockOne._x) / 5;
blockOneDY = (randomBlockTwo._y - randomBlockOne._y) / 5;
blockTwoDX = (randomBlockOne._x - randomBlockTwo._x) / 5;
blockTwoDY = (randomBlockOne._y - randomBlockTwo._y) / 5;
autoMoveTimer = 3;
autoMoveTimerFrames = 0;
randomBlockOne.gotoAndStop("selected");
randomBlockTwo.gotoAndStop("selected");
randomBlockOneDepth = randomBlockOne.getDepth();
randomBlockTwoDepth = randomBlockTwo.getDepth();
randomBlockOne.swapDepths(_root.getNextHighestDepth());
randomBlockTwo.swapDepths(_root.getNextHighestDepth());
randomBlockOne.blockBW._alpha = 0;
randomBlockTwo.blockBW._alpha = 0;
randomBlockMoving = 1;
}
}
function currentGameTextDisplay() {
currentGameText = (("Game " + currentGame) + " out of ") + numOfGames;
}
function bwTransition() {
var _local1 = 0;
while (_local1 < blockArray.length) {
if (blockArray[_local1].blockBW._alpha <= 98) {
blockArray[_local1].blockBW._alpha = blockArray[_local1].blockBW._alpha + 2;
} else {
blockArray[_local1].blockBW._alpha = 100;
}
_local1++;
}
}
function gameContinue() {
boardActive = 0;
copiedText._alpha = 0;
screenWipe.gotoAndPlay(16);
blockMoving = 0;
randomBlockMoving = 0;
win = 0;
resetFlag = 0;
autoMoveTimer = 3;
autoMoveTimerFrames = 0;
_root.gameVolume = sndPlace.getVolume();
blockArray = new Array(blockY1, blockY2, blockY3, blockY4, blockY5, blockG1, blockG2, blockG3, blockG4, blockG5, blockB1, blockB2, blockB3, blockB4, blockB5, blockR1, blockR2, blockR3, blockR4);
positionArray = new Array(pos11, pos12, pos13, pos14, pos15, pos21, pos22, pos23, pos24, pos25, pos31, pos32, pos33, pos34, pos35, pos41, pos42, pos43, pos44, pos45);
blockArraySolution = new Array(blockY1S, blockY2S, blockY3S, blockY4S, blockY5S, blockG1S, blockG2S, blockG3S, blockG4S, blockG5S, blockB1S, blockB2S, blockB3S, blockB4S, blockB5S, blockR1S, blockR2S, blockR3S, blockR4S);
positionArraySolution = new Array(pos11S, pos12S, pos13S, pos14S, pos15S, pos21S, pos22S, pos23S, pos24S, pos25S, pos31S, pos32S, pos33S, pos34S, pos35S, pos41S, pos42S, pos43S, pos44S, pos45S);
resetButton.resetArrow.gotoAndStop(1);
integratedBoard.button.arrow.gotoAndStop(1);
integratedBoard.buttonBoard.menuBar.gotoAndStop(1);
integratedBoard.buttonBoard.menuBar.menuBarButtons.resetButton.resetArrow.gotoAndStop(1);
integratedBoardVolume.buttonVolume.arrowVolume.gotoAndStop(1);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndStop(1);
buttonOff = true;
buttonOffVolume = true;
integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider._x = _root.gameVolume;
var _local2 = 0;
while (_local2 < blockArray.length) {
blockArray[_local2].gotoAndStop("unselected");
blockArray[_local2].blockBW._alpha = 100;
blockArray[_local2].blockPosX = 0;
blockArray[_local2].blockPosY = 0;
_local2++;
}
_local2 = 0;
while (_local2 < positionArray.length) {
positionArray[_local2].empty = true;
positionArray[_local2].blockColor = "";
positionArray[_local2]._alpha = 0;
positionArray[_local2].posNumberY = Number(String(positionArray[_local2]).slice(-2, -1));
positionArray[_local2].posNumberX = Number(String(positionArray[_local2]).slice(-1));
_local2++;
}
_local2 = 0;
while (_local2 < blockArraySolution.length) {
blockArraySolution[_local2].gotoAndStop("unselected");
blockArraySolution[_local2].blockBW._alpha = 0;
blockArraySolution[_local2].blockPosX = 0;
blockArraySolution[_local2].blockPosY = 0;
_local2++;
}
_local2 = 0;
while (_local2 < positionArraySolution.length) {
positionArraySolution[_local2].empty = true;
positionArraySolution[_local2].blockColor = "";
positionArraySolution[_local2]._alpha = 0;
positionArraySolution[_local2].posNumberY = Number(String(positionArray[_local2]).slice(-2, -1));
positionArraySolution[_local2].posNumberX = Number(String(positionArray[_local2]).slice(-1));
_local2++;
}
boardShuffleSolution();
boardShuffle();
var _local3 = 0;
while (_local3 < blockArraySolution.length) {
blockPosSolution(blockArraySolution[_local3]);
_local3++;
}
}
function removeSubString(str, remove) {
return(str.split(remove).join(""));
}
Stage.showMenu = false;
if (_root.menuMusicPlaying == 1) {
_root.menuMusicPlaying = 0;
stopAllSounds();
}
if (currentGame == 1) {
init();
} else if (currentGame > 1) {
gameContinue();
}
onEnterFrame = function () {
currentGameTextDisplay();
screenWipeCheck(screenWipe);
if (((boardActive == 0) && (win == 0)) && (screenWipe._currentframe == 29)) {
boardActive = 1;
initialTime = getTimer();
}
if (screenWipe._currentframe == 29) {
var _local2 = 0;
while (_local2 < blockArray.length) {
blockPos(blockArray[_local2]);
blockMoveClickCheck(blockArray[_local2]);
_local2++;
}
}
if ((blockMoving == 0) && (screenWipe._currentframe == 29)) {
timerAndMove();
}
if (((randomBlockMoving == 1) && (blockMoving == 0)) && (screenWipe._currentframe == 29)) {
randomBlockMove();
}
if (((blockMoving == 1) && (randomBlockMoving == 0)) && (screenWipe._currentframe == 29)) {
blockMove();
}
winCheck();
screenWipeWin(screenWipe);
screenWipeCheck(screenWipe);
bwTransition();
if (buttonOffVolume == false) {
var _local3 = 0;
while (_local3 < allSoundsArray.length) {
allSoundsArray[_local3].setVolume(_root.gameVolume);
_local3++;
}
}
_root.gameVolume = integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider._x;
if ((integratedBoardVolume.buttonVolume.arrowVolume._currentFrame == 15) || (integratedBoardVolume.buttonVolume.arrowVolume._currentFrame == 31)) {
integratedBoardVolume.buttonVolume.arrowVolume.stop();
}
if ((integratedBoardVolume.buttonBoardVolume.menuBarVolume._currentFrame == 15) || (integratedBoardVolume.buttonBoardVolume.menuBarVolume._currentFrame == 31)) {
integratedBoardVolume.buttonBoardVolume.menuBarVolume.stop();
}
if (musicToggle == 1) {
musicToggleButton.gotoAndStop(1);
if (musicPlaying != 1) {
_root.sndMusic3.start(0, 9999);
musicPlaying = 1;
}
} else if (musicToggle == 0) {
musicToggleButton.gotoAndStop(2);
_root.sndMusic3.stop("danceloop.wav");
musicPlaying = 0;
}
if (sfxToggle == 1) {
sfxToggleButton.gotoAndStop(1);
} else if (sfxToggle == 0) {
sfxToggleButton.gotoAndStop(2);
}
if (resetButton.resetArrow._currentframe == 30) {
resetButton.resetArrow.gotoAndStop(1);
}
if (copiedText._alpha != 0) {
copiedText._alpha = copiedText._alpha - 4;
}
};
integratedBoardVolume.buttonVolume.onPress = function () {
if (buttonOffVolume) {
this.arrowVolume.gotoAndPlay(2);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndPlay(2);
buttonOffVolume = false;
if (sfxToggle == 1) {
sndWrong.start(0, 1);
}
} else if (buttonOffVolume == false) {
this.arrowVolume.gotoAndPlay(16);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndPlay(16);
buttonOffVolume = true;
if (sfxToggle == 1) {
sndWrong.start(0, 1);
}
}
};
musicToggleButton.onRelease = function () {
if (musicToggle == 1) {
_root.musicToggle = 0;
} else {
_root.musicToggle = 1;
}
};
sfxToggleButton.onRelease = function () {
trace(screenWipe._currentframe);
if (sfxToggle == 1) {
_root.sfxToggle = 0;
} else {
_root.sfxToggle = 1;
}
};
resetButton.onRelease = function () {
if ((((screenWipe._currentframe == 29) && (resetFlag == 0)) && (blockMoving == 0)) && (randomBlockMoving == 0)) {
screenWipe.gotoAndPlay(1);
boardFinishedTime = getTimer();
continousTime = continousTime + (boardFinishedTime - initialTime);
this.resetArrow.gotoAndPlay(1);
resetFlag = 1;
}
};
quitGameButton.onRelease = function () {
if ((((screenWipe._currentframe == 29) && (_root.backAnimation == 0)) && (blockMoving == 0)) && (randomBlockMoving == 0)) {
screenWipe.gotoAndPlay(1);
_root.backAnimation = 1;
_root.straightTo1Game = 0;
}
};
integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider.onPress = function () {
this.startDrag(true, integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.volumeGroove._x - 50, integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.volumeGroove._y, integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.volumeGroove._x + 50, integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.volumeGroove._y);
};
integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider.onMouseUp = function () {
this.stopDrag();
};
_root.onMouseDown = function () {
if ((((_root._xmouse < (integratedBoardVolume._x - (integratedBoardVolume._width / 2))) || (_root._xmouse > (integratedBoardVolume._x + (integratedBoardVolume._width / 2)))) || (_root._ymouse < (integratedBoardVolume._y - (integratedBoardVolume._height / 2)))) || (_root._ymouse > (integratedBoardVolume._y + (integratedBoardVolume._height / 2)))) {
if (buttonOffVolume == false) {
integratedBoardVolume.buttonVolume.arrowVolume.gotoAndPlay(16);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndPlay(16);
buttonOffVolume = true;
if (sfxToggle == 1) {
sndWrong.start(0, 1);
}
}
}
};
btnSeed.onRelease = function () {
System.setClipboard(gameSeedText);
_root.customGameSeedInput = gameSeedText;
flash.external.ExternalInterface.call("window.alert", "Seed for copy: " + gameSeedText);
copiedText._alpha = 152;
};
Frame 71
function init() {
boardActive = 0;
boardSeedArray = new Array();
solutionSeedArray = new Array();
_root.currentGame = 1;
_root.continousTime = 0;
screenWipe.gotoAndPlay(16);
blockMoving = 0;
randomBlockMoving = 0;
_root.moveNumber = 0;
win = 0;
resetFlag = 0;
if (_root.moveTimerOption == 1) {
_root.lastTwoMovesBuffer = new Array();
randomBlockMoving = 0;
autoMoveTimer = _root.customAutoMoveTimer;
autoMoveTimerFrames = 0;
autoMoveDisplay._x = 465.8;
} else {
autoMoveDisplay._x = 801;
}
copiedText._alpha = 0;
_root.gameVolume = sndPlace.getVolume();
resetButton.resetArrow.gotoAndStop(1);
integratedBoardVolume.buttonVolume.arrowVolume.gotoAndStop(1);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndStop(1);
buttonOffVolume = true;
integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider._x = _root.gameVolume;
blockArray = new Array(blockY1, blockY2, blockY3, blockY4, blockY5, blockG1, blockG2, blockG3, blockG4, blockG5, blockB1, blockB2, blockB3, blockB4, blockB5, blockR1, blockR2, blockR3, blockR4);
positionArray = new Array(pos11, pos12, pos13, pos14, pos15, pos21, pos22, pos23, pos24, pos25, pos31, pos32, pos33, pos34, pos35, pos41, pos42, pos43, pos44, pos45);
blockArraySolution = new Array(blockY1S, blockY2S, blockY3S, blockY4S, blockY5S, blockG1S, blockG2S, blockG3S, blockG4S, blockG5S, blockB1S, blockB2S, blockB3S, blockB4S, blockB5S, blockR1S, blockR2S, blockR3S, blockR4S);
positionArraySolution = new Array(pos11S, pos12S, pos13S, pos14S, pos15S, pos21S, pos22S, pos23S, pos24S, pos25S, pos31S, pos32S, pos33S, pos34S, pos35S, pos41S, pos42S, pos43S, pos44S, pos45S);
var _local2 = 0;
while (_local2 < blockArray.length) {
blockArray[_local2].gotoAndStop("unselected");
if (_root.colorlessBoard == 1) {
blockArray[_local2].blockBW._alpha = 100;
} else {
blockArray[_local2].blockBW._alpha = 0;
}
blockArray[_local2].blockPosX = 0;
blockArray[_local2].blockPosY = 0;
_local2++;
}
_local2 = 0;
while (_local2 < positionArray.length) {
positionArray[_local2].empty = true;
positionArray[_local2].blockColor = "";
positionArray[_local2]._alpha = 0;
positionArray[_local2].posNumberY = Number(String(positionArray[_local2]).slice(-2, -1));
positionArray[_local2].posNumberX = Number(String(positionArray[_local2]).slice(-1));
_local2++;
}
_local2 = 0;
while (_local2 < blockArraySolution.length) {
blockArraySolution[_local2].gotoAndStop("unselected");
blockArraySolution[_local2].blockBW._alpha = 0;
blockArraySolution[_local2].blockPosX = 0;
blockArraySolution[_local2].blockPosY = 0;
_local2++;
}
_local2 = 0;
while (_local2 < positionArraySolution.length) {
positionArraySolution[_local2].empty = true;
positionArraySolution[_local2].blockColor = "";
positionArraySolution[_local2]._alpha = 0;
positionArraySolution[_local2].posNumberY = Number(String(positionArray[_local2]).slice(-2, -1));
positionArraySolution[_local2].posNumberX = Number(String(positionArray[_local2]).slice(-1));
_local2++;
}
if ((_root.seededGame == 1) && (_root.nonSeededGame == 0)) {
_local2 = 0;
while (_local2 < 20) {
boardSeedArray.push(customGameSeed.charAt(_local2));
_local2++;
}
_local2 = 20;
while (_local2 < customGameSeed.length) {
solutionSeedArray.push(customGameSeed.charAt(_local2));
_local2++;
}
blockShuffleArray = new Array(blockY1, blockY2, blockY3, blockY4, blockY5, blockG1, blockG2, blockG3, blockG4, blockG5, blockB1, blockB2, blockB3, blockB4, blockB5, blockR1, blockR2, blockR3, blockR4, emptySquare);
_local2 = 0;
while (_local2 < boardSeedArray.length) {
var _local3 = 0;
while (_local3 < blockShuffleArray.length) {
if (boardSeedArray[_local2] == String(blockShuffleArray[_local3]).charAt(13)) {
blockShuffleArray[_local3]._x = positionArray[_local2]._x;
blockShuffleArray[_local3]._y = positionArray[_local2]._y;
blockShuffleArray.splice(_local3, 1);
break;
}
_local3++;
}
_local2++;
}
blockArrayShuffleSolution = new Array(blockY1S, blockY2S, blockY3S, blockY4S, blockY5S, blockG1S, blockG2S, blockG3S, blockG4S, blockG5S, blockB1S, blockB2S, blockB3S, blockB4S, blockB5S, blockR1S, blockR2S, blockR3S, blockR4S);
_local2 = 0;
while (_local2 < solutionSeedArray.length) {
var _local3 = 0;
while (_local3 < blockArrayShuffleSolution.length) {
if (solutionSeedArray[_local2] == String(blockArrayShuffleSolution[_local3]).charAt(13)) {
blockArrayShuffleSolution[_local3]._x = positionArraySolution[_local2]._x;
blockArrayShuffleSolution[_local3]._y = positionArraySolution[_local2]._y;
blockArrayShuffleSolution.splice(_local3, 1);
break;
}
_local3++;
}
_local2++;
}
} else if ((_root.seededGame == 0) && (_root.nonSeededGame == 1)) {
boardShuffle();
if ((_root.easyBoard == 1) && (_root.shuffledBoard == 0)) {
boardShuffleEasySolution();
} else if ((_root.easyBoard == 0) && (_root.shuffledBoard == 1)) {
boardShuffleSolution();
}
}
if ((musicToggle == 1) && (musicPlaying != 1)) {
sndMusic1.start(0, 9999);
_root.musicPlaying = 1;
}
var _local3 = 0;
while (_local3 < blockArraySolution.length) {
blockPosSolution(blockArraySolution[_local3]);
_local3++;
}
_local3 = 0;
while (_local3 < blockArray.length) {
blockPos(blockArray[_local3]);
_local3++;
}
}
function blockMoveClickCheck(sprite) {
if ((screenWipe._currentframe == 29) && (blockMoving == 0)) {
sprite.onPress = function () {
if (((blockMoving == 0) && (randomBlockMoving == 0)) && (screenWipe._currentframe == 29)) {
spriteClicked = sprite;
blockX = spriteClicked.blockPosX;
blockY = spriteClicked.blockPosY;
var _local5 = 0;
while (_local5 < positionArray.length) {
if ((positionArray[_local5].empty == true) && (((blockX - positionArray[_local5].posNumberX) == 0) || ((blockY - positionArray[_local5].posNumberY) == 0))) {
emptyPosition = positionArray[_local5];
posX = positionArray[_local5].posNumberX;
posY = positionArray[_local5].posNumberY;
sameXOrYBlockArray = new Array();
var _local2 = 0;
while (_local2 < blockArray.length) {
if (((((blockX > posX) && ((blockY - posY) == 0)) && (blockX >= blockArray[_local2].blockPosX)) && ((blockY - blockArray[_local2].blockPosY) == 0)) && (blockArray[_local2].blockPosX > posX)) {
sameXOrYBlockArray.push(blockArray[_local2]);
} else if (((((blockX < posX) && ((blockY - posY) == 0)) && (blockX <= blockArray[_local2].blockPosX)) && ((blockY - blockArray[_local2].blockPosY) == 0)) && (blockArray[_local2].blockPosX < posX)) {
sameXOrYBlockArray.push(blockArray[_local2]);
} else if (((((blockY > posY) && ((blockX - posX) == 0)) && (blockY >= blockArray[_local2].blockPosY)) && ((blockX - blockArray[_local2].blockPosX) == 0)) && (blockArray[_local2].blockPosY > posY)) {
sameXOrYBlockArray.push(blockArray[_local2]);
} else if (((((blockY < posY) && ((blockX - posX) == 0)) && (blockY <= blockArray[_local2].blockPosY)) && ((blockX - blockArray[_local2].blockPosX) == 0)) && (blockArray[_local2].blockPosY < posY)) {
sameXOrYBlockArray.push(blockArray[_local2]);
}
_local2++;
}
sprite.gotoAndStop("selected");
sprite.blockBW._alpha = 0;
if (sfxToggle == 1) {
sndPickup.start(0, 1);
}
_root.moveNumber++;
var _local3 = 0;
while (_local3 < sameXOrYBlockArray.length) {
if ((((((sameXOrYBlockArray[_local3].blockPosX - posX) == 1) && ((sameXOrYBlockArray[_local3].blockPosY - posY) == 0)) || (((sameXOrYBlockArray[_local3].blockPosX - posX) == -1) && ((sameXOrYBlockArray[_local3].blockPosY - posY) == 0))) || (((sameXOrYBlockArray[_local3].blockPosX - posX) == 0) && ((sameXOrYBlockArray[_local3].blockPosY - posY) == 1))) || (((sameXOrYBlockArray[_local3].blockPosX - posX) == 0) && ((sameXOrYBlockArray[_local3].blockPosY - posY) == -1))) {
dx = (emptyPosition._x - sameXOrYBlockArray[_local3]._x) / 3;
dy = (emptyPosition._y - sameXOrYBlockArray[_local3]._y) / 3;
closestToEmpty = sameXOrYBlockArray[_local3];
}
_local3++;
}
if (_root.moveTimerOption == 1) {
if (lastTwoMovesBuffer.length >= 2) {
lastTwoMovesBuffer.pop();
lastTwoMovesBuffer.unshift(new Array(spriteClicked, emptyPosition));
} else if (lastTwoMovesBuffer.length < 2) {
lastTwoMovesBuffer.push(new Array(spriteClicked, emptyPosition));
}
if (_root.moveNumber > 2) {
var _local4 = 1;
while (_local4 < lastTwoMovesBuffer.length) {
blockTest = lastTwoMovesBuffer[_local4][0];
positionTest = lastTwoMovesBuffer[_local4][1];
if ((spriteClicked != blockTest) && (emptyPosition != positionTest)) {
autoMoveTimer = 3;
autoMoveTimerFrames = 0;
}
_local4++;
}
} else {
autoMoveTimer = 3;
autoMoveTimerFrames = 0;
}
}
blockMoving = 1;
}
_local5++;
}
}
};
}
}
function blockMove() {
if (blockMoving == 1) {
var _local1 = 0;
while (_local1 < sameXOrYBlockArray.length) {
sameXOrYBlockArray[_local1]._x = sameXOrYBlockArray[_local1]._x + dx;
sameXOrYBlockArray[_local1]._y = sameXOrYBlockArray[_local1]._y + dy;
_local1++;
}
}
if ((((closestToEmpty._x >= (emptyPosition._x - 1)) && (closestToEmpty._x <= (emptyPosition._x + 1))) && (closestToEmpty._y >= (emptyPosition._y - 1))) && (closestToEmpty._y <= (emptyPosition._y + 1))) {
spriteClicked.gotoAndStop("unselected");
var _local1 = 0;
while (_local1 < sameXOrYBlockArray.length) {
var _local2 = 0;
while (_local2 < positionArray.length) {
if ((sameXOrYBlockArray[_local1].blockPosX == positionArray[_local2].posNumberX) && (sameXOrYBlockArray[_local1].blockPosY == positionArray[_local2].posNumberY)) {
sameXOrYBlockArray[_local1]._x = positionArray[_local2]._x;
sameXOrYBlockArray[_local1]._y = positionArray[_local2]._y;
}
_local2++;
}
_local1++;
}
if (sfxToggle == 1) {
sndPlace.start(0, 1);
}
emptyPosition.empty = false;
var _local2 = 0;
while (_local2 < positionArray.length) {
if ((positionArray[_local2].posNumberX == blockX) && (positionArray[_local2].posNumberY == blockY)) {
positionArray[_local2].empty = true;
positionArray[_local2].blockColor = "";
}
_local2++;
}
blockMoving = 0;
}
}
function blockPos(sprite) {
var _local1 = 0;
while (_local1 < positionArray.length) {
if (sprite.hitTest(positionArray[_local1])) {
positionArray[_local1].empty = false;
positionArray[_local1].blockColor = String(sprite).charAt(13);
sprite.blockPosX = positionArray[_local1].posNumberX;
sprite.blockPosY = positionArray[_local1].posNumberY;
}
_local1++;
}
}
function winCheck() {
if ((((((((((((((((((((pos11.blockColor == pos11S.blockColor) && (pos12.blockColor == pos12S.blockColor)) && (pos13.blockColor == pos13S.blockColor)) && (pos14.blockColor == pos14S.blockColor)) && (pos15.blockColor == pos15S.blockColor)) && (pos21.blockColor == pos21S.blockColor)) && (pos22.blockColor == pos22S.blockColor)) && (pos23.blockColor == pos23S.blockColor)) && (pos24.blockColor == pos24S.blockColor)) && (pos25.blockColor == pos25S.blockColor)) && (pos31.blockColor == pos31S.blockColor)) && (pos32.blockColor == pos32S.blockColor)) && (pos33.blockColor == pos33S.blockColor)) && (pos34.blockColor == pos34S.blockColor)) && (pos35.blockColor == pos35S.blockColor)) && (pos41.blockColor == pos41S.blockColor)) && (pos42.blockColor == pos42S.blockColor)) && (pos43.blockColor == pos43S.blockColor)) && (pos44.blockColor == pos44S.blockColor)) && (pos45.blockColor == pos45S.blockColor)) {
win = 1;
}
}
function screenWipeCheck(wipe) {
if ((wipe._currentframe == 29) && (resetFlag == 0)) {
wipe.stop();
}
if (((wipe._currentframe == 15) && (resetFlag == 0)) && (_root.backAnimation == 1)) {
_root.gotoAndStop("title");
}
}
function screenWipeWin(wipe) {
if ((win == 1) && (wipe._currentframe == 29)) {
wipe.gotoAndPlay(1);
boardFinishedTime = getTimer();
}
if ((((win == 1) && (wipe._currentframe == 15)) && (currentGame == numOfGames)) && (_root.backAnimation == 0)) {
continousTime = continousTime + (boardFinishedTime - initialTime);
_root.finalTime = continousTime;
gotoAndStop ("win");
}
if ((((win == 1) && (wipe._currentframe == 15)) && (currentGame != numOfGames)) && (_root.backAnimation == 0)) {
gotoAndStop ("reset");
continousTime = continousTime + (boardFinishedTime - initialTime);
currentGame++;
}
if ((((win == 0) && (wipe._currentframe == 15)) && (resetFlag == 1)) && (_root.backAnimation == 0)) {
gotoAndStop ("reset");
}
}
function boardShuffle() {
blockShuffleArray = new Array(blockY1, blockY2, blockY3, blockY4, blockY5, blockG1, blockG2, blockG3, blockG4, blockG5, blockB1, blockB2, blockB3, blockB4, blockB5, blockR1, blockR2, blockR3, blockR4, emptySquare);
var _local1 = 0;
while (_local1 < positionArray.length) {
blockIndex = randRange(0, blockShuffleArray.length - 1);
if (blockShuffleArray.length > 0) {
blockShuffleArray[blockIndex]._x = positionArray[_local1]._x;
blockShuffleArray[blockIndex]._y = positionArray[_local1]._y;
blockShuffleArray.splice(blockIndex, 1);
}
_local1++;
}
}
function boardShuffleEasySolution() {
blockShuffleArraySolution = new Array(new Array(blockY1S, blockY2S, blockY3S, blockY4S, blockY5S), new Array(blockG1S, blockG2S, blockG3S, blockG4S, blockG5S), new Array(blockB1S, blockB2S, blockB3S, blockB4S, blockB5S), new Array(blockR1S, blockR2S, blockR3S, blockR4S, emptySquareS));
positionShuffleArraySolution = new Array(new Array(pos11S, pos12S, pos13S, pos14S, pos15S), new Array(pos21S, pos22S, pos23S, pos24S, pos25S), new Array(pos31S, pos32S, pos33S, pos34S, pos35S), new Array(pos41S, pos42S, pos43S, pos44S, pos45S));
var _local2 = 0;
while (_local2 < positionShuffleArraySolution.length) {
blockIndexSolutionRow = randRange(0, blockShuffleArraySolution.length - 1);
while (blockShuffleArraySolution[blockIndexSolutionRow].length == 0) {
blockIndexSolutionRow = randRange(0, blockShuffleArraySolution.length - 1);
}
var _local1 = 0;
while (_local1 < positionShuffleArraySolution[_local2].length) {
if (blockShuffleArraySolution[blockIndexSolutionRow].length > 0) {
blockShuffleArraySolution[blockIndexSolutionRow][0]._x = positionShuffleArraySolution[_local2][_local1]._x;
blockShuffleArraySolution[blockIndexSolutionRow][0]._y = positionShuffleArraySolution[_local2][_local1]._y;
blockShuffleArraySolution[blockIndexSolutionRow].splice(blockShuffleArraySolution[blockIndexSolutionRow], 1);
}
_local1++;
}
_local2++;
}
}
function blockPosSolution(sprite) {
var _local1 = 0;
while (_local1 < positionArraySolution.length) {
if (sprite.hitTest(positionArraySolution[_local1])) {
positionArraySolution[_local1].empty = false;
positionArraySolution[_local1].blockColor = String(sprite).charAt(13);
sprite.blockPosX = positionArraySolution[_local1].posNumberX;
sprite.blockPosY = positionArraySolution[_local1].posNumberY;
}
_local1++;
}
}
function randRange(min, max) {
randomNum = Math.floor(Math.random() * ((max - min) + 1)) + min;
return(randomNum);
}
function currentGameTextDisplay() {
currentGameText = (("Game " + currentGame) + " out of ") + numOfGames;
}
function gameContinue() {
boardActive = 0;
copiedText._alpha = 0;
screenWipe.gotoAndPlay(16);
blockMoving = 0;
win = 0;
resetFlag = 0;
if (_root.moveTimerOption == 1) {
_root.lastTwoMovesBuffer = new Array();
randomBlockMoving = 0;
autoMoveTimer = _root.customAutoMoveTimer;
autoMoveTimerFrames = 0;
autoMoveDisplay._x = 465.8;
} else {
autoMoveDisplay._x = 801;
}
_root.gameVolume = sndPlace.getVolume();
blockArray = new Array(blockY1, blockY2, blockY3, blockY4, blockY5, blockG1, blockG2, blockG3, blockG4, blockG5, blockB1, blockB2, blockB3, blockB4, blockB5, blockR1, blockR2, blockR3, blockR4);
positionArray = new Array(pos11, pos12, pos13, pos14, pos15, pos21, pos22, pos23, pos24, pos25, pos31, pos32, pos33, pos34, pos35, pos41, pos42, pos43, pos44, pos45);
blockArraySolution = new Array(blockY1S, blockY2S, blockY3S, blockY4S, blockY5S, blockG1S, blockG2S, blockG3S, blockG4S, blockG5S, blockB1S, blockB2S, blockB3S, blockB4S, blockB5S, blockR1S, blockR2S, blockR3S, blockR4S);
positionArraySolution = new Array(pos11S, pos12S, pos13S, pos14S, pos15S, pos21S, pos22S, pos23S, pos24S, pos25S, pos31S, pos32S, pos33S, pos34S, pos35S, pos41S, pos42S, pos43S, pos44S, pos45S);
resetButton.resetArrow.gotoAndStop(1);
resetButton.resetArrow.gotoAndStop(1);
integratedBoard.button.arrow.gotoAndStop(1);
integratedBoard.buttonBoard.menuBar.gotoAndStop(1);
integratedBoard.buttonBoard.menuBar.menuBarButtons.resetButton.resetArrow.gotoAndStop(1);
integratedBoardVolume.buttonVolume.arrowVolume.gotoAndStop(1);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndStop(1);
buttonOff = true;
buttonOffVolume = true;
integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider._x = _root.gameVolume;
var _local2 = 0;
while (_local2 < blockArray.length) {
blockArray[_local2].gotoAndStop("unselected");
if (_root.colorlessBoard == 1) {
blockArray[_local2].blockBW._alpha = 100;
} else {
blockArray[_local2].blockBW._alpha = 0;
}
blockArray[_local2].blockPosX = 0;
blockArray[_local2].blockPosY = 0;
_local2++;
}
_local2 = 0;
while (_local2 < positionArray.length) {
positionArray[_local2].empty = true;
positionArray[_local2].blockColor = "";
positionArray[_local2]._alpha = 0;
positionArray[_local2].posNumberY = Number(String(positionArray[_local2]).slice(-2, -1));
positionArray[_local2].posNumberX = Number(String(positionArray[_local2]).slice(-1));
_local2++;
}
_local2 = 0;
while (_local2 < blockArraySolution.length) {
blockArraySolution[_local2].gotoAndStop("unselected");
blockArraySolution[_local2].blockBW._alpha = 0;
blockArraySolution[_local2].blockPosX = 0;
blockArraySolution[_local2].blockPosY = 0;
_local2++;
}
_local2 = 0;
while (_local2 < positionArraySolution.length) {
positionArraySolution[_local2].empty = true;
positionArraySolution[_local2].blockColor = "";
positionArraySolution[_local2]._alpha = 0;
positionArraySolution[_local2].posNumberY = Number(String(positionArray[_local2]).slice(-2, -1));
positionArraySolution[_local2].posNumberX = Number(String(positionArray[_local2]).slice(-1));
_local2++;
}
if ((_root.seededGame == 1) && (_root.nonSeededGame == 0)) {
_local2 = 0;
while (_local2 < 20) {
boardSeedArray.push(customGameSeed.charAt(_local2));
_local2++;
}
_local2 = 20;
while (_local2 < customGameSeed.length) {
solutionSeedArray.push(customGameSeed.charAt(_local2));
_local2++;
}
blockShuffleArray = new Array(blockY1, blockY2, blockY3, blockY4, blockY5, blockG1, blockG2, blockG3, blockG4, blockG5, blockB1, blockB2, blockB3, blockB4, blockB5, blockR1, blockR2, blockR3, blockR4, emptySquare);
_local2 = 0;
while (_local2 < boardSeedArray.length) {
var _local3 = 0;
while (_local3 < blockShuffleArray.length) {
if (boardSeedArray[_local2] == String(blockShuffleArray[_local3]).charAt(13)) {
blockShuffleArray[_local3]._x = positionArray[_local2]._x;
blockShuffleArray[_local3]._y = positionArray[_local2]._y;
blockShuffleArray.splice(_local3, 1);
break;
}
_local3++;
}
_local2++;
}
blockArrayShuffleSolution = new Array(blockY1S, blockY2S, blockY3S, blockY4S, blockY5S, blockG1S, blockG2S, blockG3S, blockG4S, blockG5S, blockB1S, blockB2S, blockB3S, blockB4S, blockB5S, blockR1S, blockR2S, blockR3S, blockR4S);
_local2 = 0;
while (_local2 < solutionSeedArray.length) {
var _local3 = 0;
while (_local3 < blockArrayShuffleSolution.length) {
if (solutionSeedArray[_local2] == String(blockArrayShuffleSolution[_local3]).charAt(13)) {
blockArrayShuffleSolution[_local3]._x = positionArraySolution[_local2]._x;
blockArrayShuffleSolution[_local3]._y = positionArraySolution[_local2]._y;
blockArrayShuffleSolution.splice(_local3, 1);
break;
}
_local3++;
}
_local2++;
}
} else if ((_root.seededGame == 0) && (_root.nonSeededGame == 1)) {
boardShuffle();
if ((_root.easyBoard == 1) && (_root.shuffledBoard == 0)) {
boardShuffleEasySolution();
} else if ((_root.easyBoard == 0) && (_root.shuffledBoard == 1)) {
boardShuffleSolution();
}
}
var _local3 = 0;
while (_local3 < blockArraySolution.length) {
blockPosSolution(blockArraySolution[_local3]);
_local3++;
}
_local3 = 0;
while (_local3 < blockArray.length) {
blockPos(blockArray[_local3]);
_local3++;
}
}
function removeSubString(str, remove) {
return(str.split(remove).join(""));
}
function bwTransition() {
var _local1 = 0;
while (_local1 < blockArray.length) {
if (blockArray[_local1].blockBW._alpha <= 98) {
blockArray[_local1].blockBW._alpha = blockArray[_local1].blockBW._alpha + 2;
} else {
blockArray[_local1].blockBW._alpha = 100;
}
_local1++;
}
}
function timerAndMove() {
autoMoveTimerFrames++;
if ((autoMoveTimerFrames % 30) == 0) {
autoMoveTimer--;
}
if ((((autoMoveTimer == 0) && (randomBlockMoving == 0)) && (blockMoving == 0)) && (resetFlag == 0)) {
numBlockOne = randRange(0, 18);
randomBlockOne = blockArray[numBlockOne];
randomBlockOne.blockColorRandom = String(blockArray[numBlockOne]).charAt(13);
numBlockTwo = randRange(0, 18);
randomBlockTwo = blockArray[numBlockTwo];
randomBlockTwo.blockColorRandom = String(blockArray[numBlockTwo]).charAt(13);
while (randomBlockTwo.blockColorRandom == randomBlockOne.blockColorRandom) {
numBlockTwo = randRange(0, 18);
randomBlockTwo = blockArray[numBlockTwo];
randomBlockTwo.blockColorRandom = String(blockArray[numBlockTwo]).charAt(13);
}
blockOneOriginalX = randomBlockOne._x;
blockOneOriginalY = randomBlockOne._y;
blockTwoOriginalX = randomBlockTwo._x;
blockTwoOriginalY = randomBlockTwo._y;
blockOneDX = (randomBlockTwo._x - randomBlockOne._x) / 5;
blockOneDY = (randomBlockTwo._y - randomBlockOne._y) / 5;
blockTwoDX = (randomBlockOne._x - randomBlockTwo._x) / 5;
blockTwoDY = (randomBlockOne._y - randomBlockTwo._y) / 5;
autoMoveTimer = _root.customAutoMoveTimer;
autoMoveTimerFrames = 0;
randomBlockOne.gotoAndStop("selected");
randomBlockTwo.gotoAndStop("selected");
randomBlockOneDepth = randomBlockOne.getDepth();
randomBlockTwoDepth = randomBlockTwo.getDepth();
randomBlockOne.swapDepths(_root.getNextHighestDepth());
randomBlockTwo.swapDepths(_root.getNextHighestDepth());
randomBlockOne.blockBW._alpha = 0;
randomBlockTwo.blockBW._alpha = 0;
randomBlockMoving = 1;
}
}
function randomBlockMove() {
if ((randomBlockMoving == 1) && (blockMoving == 0)) {
randomBlockOne._x = randomBlockOne._x + blockOneDX;
randomBlockOne._y = randomBlockOne._y + blockOneDY;
randomBlockTwo._x = randomBlockTwo._x + blockTwoDX;
randomBlockTwo._y = randomBlockTwo._y + blockTwoDY;
}
if ((((randomBlockOne._x >= (blockTwoOriginalX - 1)) && (randomBlockOne._x <= (blockTwoOriginalX + 1))) && (randomBlockOne._y >= (blockTwoOriginalY - 1))) && (randomBlockOne._y <= (blockTwoOriginalY + 1))) {
randomBlockOne._x = blockTwoOriginalX;
randomBlockOne._y = blockTwoOriginalY;
randomBlockTwo._x = blockOneOriginalX;
randomBlockTwo._y = blockOneOriginalY;
if (sfxToggle == 1) {
sndPlace.start();
}
randomBlockOne.gotoAndStop("unselected");
randomBlockTwo.gotoAndStop("unselected");
randomBlockOne.swapDepths(randomBlockOneDepth);
randomBlockTwo.swapDepths(randomBlockTwoDepth);
randomBlockMoving = 0;
}
}
function blockPosIfBlockMove(sprite) {
var _local1 = 0;
while (_local1 < positionArray.length) {
if (sprite.hitTest(positionArray[_local1])) {
if (randomBlockMoving != 1) {
positionArray[_local1].empty = false;
positionArray[_local1].blockColor = String(sprite).charAt(13);
sprite.blockPosX = positionArray[_local1].posNumberX;
sprite.blockPosY = positionArray[_local1].posNumberY;
}
}
_local1++;
}
}
function boardShuffleSolution() {
blockShuffleArraySolution = new Array(blockY1S, blockY2S, blockY3S, blockY4S, blockY5S, blockG1S, blockG2S, blockG3S, blockG4S, blockG5S, blockB1S, blockB2S, blockB3S, blockB4S, blockB5S, blockR1S, blockR2S, blockR3S, blockR4S, emptySquareS);
var _local1 = 0;
while (_local1 < positionArraySolution.length) {
blockIndexSolution = randRange(0, blockShuffleArraySolution.length - 1);
if (blockShuffleArraySolution.length > 0) {
blockShuffleArraySolution[blockIndexSolution]._x = positionArraySolution[_local1]._x;
blockShuffleArraySolution[blockIndexSolution]._y = positionArraySolution[_local1]._y;
blockShuffleArraySolution.splice(blockIndexSolution, 1);
}
_local1++;
}
}
Stage.showMenu = false;
if (_root.menuMusicPlaying == 1) {
_root.menuMusicPlaying = 0;
stopAllSounds();
}
if (currentGame == 1) {
init();
} else if (currentGame > 1) {
gameContinue();
}
onEnterFrame = function () {
currentGameTextDisplay();
screenWipeCheck(screenWipe);
if (((boardActive == 0) && (win == 0)) && (screenWipe._currentframe == 29)) {
boardActive = 1;
initialTime = getTimer();
}
if (screenWipe._currentframe == 29) {
var _local2 = 0;
while (_local2 < blockArray.length) {
if (_root.moveTimerOption == 1) {
blockPosIfBlockMove(blockArray[_local2]);
blockMoveClickCheck(blockArray[_local2]);
} else if (_root.moveTimerOption == 0) {
blockPos(blockArray[_local2]);
blockMoveClickCheck(blockArray[_local2]);
}
_local2++;
}
}
if ((_root.moveTimerOption == 1) && (screenWipe._currentframe == 29)) {
if ((randomBlockMoving == 1) && (blockMoving == 0)) {
randomBlockMove();
}
if ((blockMoving == 1) && (randomBlockMoving == 0)) {
blockMove();
}
if (blockMoving == 0) {
timerAndMove();
}
} else if ((_root.moveTimerOption == 0) && (screenWipe._currentframe == 29)) {
if (blockMoving == 1) {
blockMove();
}
}
winCheck();
screenWipeWin(screenWipe);
screenWipeCheck(screenWipe);
if (_root.colorlessBoard == 1) {
bwTransition();
}
if (buttonOffVolume == false) {
var _local3 = 0;
while (_local3 < allSoundsArray.length) {
allSoundsArray[_local3].setVolume(_root.gameVolume);
_local3++;
}
}
_root.gameVolume = integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider._x;
if ((integratedBoardVolume.buttonVolume.arrowVolume._currentFrame == 15) || (integratedBoardVolume.buttonVolume.arrowVolume._currentFrame == 31)) {
integratedBoardVolume.buttonVolume.arrowVolume.stop();
}
if ((integratedBoardVolume.buttonBoardVolume.menuBarVolume._currentFrame == 15) || (integratedBoardVolume.buttonBoardVolume.menuBarVolume._currentFrame == 31)) {
integratedBoardVolume.buttonBoardVolume.menuBarVolume.stop();
}
if (musicToggle == 1) {
musicToggleButton.gotoAndStop(1);
if (musicPlaying != 1) {
_root.sndMusic1.start(0, 9999);
musicPlaying = 1;
}
} else if (musicToggle == 0) {
musicToggleButton.gotoAndStop(2);
_root.sndMusic1.stop("bumbleloop.wav");
musicPlaying = 0;
}
if (sfxToggle == 1) {
sfxToggleButton.gotoAndStop(1);
} else if (sfxToggle == 0) {
sfxToggleButton.gotoAndStop(2);
}
if (resetButton.resetArrow._currentframe == 30) {
resetButton.resetArrow.gotoAndStop(1);
}
if (copiedText._alpha != 0) {
copiedText._alpha = copiedText._alpha - 4;
}
};
integratedBoardVolume.buttonVolume.onPress = function () {
if (buttonOffVolume) {
this.arrowVolume.gotoAndPlay(2);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndPlay(2);
buttonOffVolume = false;
if (sfxToggle == 1) {
sndWrong.start(0, 1);
}
} else if (buttonOffVolume == false) {
this.arrowVolume.gotoAndPlay(16);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndPlay(16);
buttonOffVolume = true;
if (sfxToggle == 1) {
sndWrong.start(0, 1);
}
}
};
musicToggleButton.onRelease = function () {
if (musicToggle == 1) {
_root.musicToggle = 0;
} else {
_root.musicToggle = 1;
}
};
sfxToggleButton.onRelease = function () {
if (sfxToggle == 1) {
_root.sfxToggle = 0;
} else {
_root.sfxToggle = 1;
}
};
resetButton.onRelease = function () {
if ((((screenWipe._currentframe == 29) && (resetFlag == 0)) && (blockMoving == 0)) && (randomBlockMoving == 0)) {
screenWipe.gotoAndPlay(1);
boardFinishedTime = getTimer();
continousTime = continousTime + (boardFinishedTime - initialTime);
this.resetArrow.gotoAndPlay(1);
resetFlag = 1;
}
};
quitGameButton.onRelease = function () {
if ((((screenWipe._currentframe == 29) && (_root.backAnimation == 0)) && (blockMoving == 0)) && (randomBlockMoving == 0)) {
screenWipe.gotoAndPlay(1);
_root.backAnimation = 1;
}
};
integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider.onPress = function () {
this.startDrag(true, integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.volumeGroove._x - 50, integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.volumeGroove._y, integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.volumeGroove._x + 50, integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.volumeGroove._y);
};
integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider.onMouseUp = function () {
this.stopDrag();
};
_root.onMouseDown = function () {
if ((((_root._xmouse < (integratedBoardVolume._x - (integratedBoardVolume._width / 2))) || (_root._xmouse > (integratedBoardVolume._x + (integratedBoardVolume._width / 2)))) || (_root._ymouse < (integratedBoardVolume._y - (integratedBoardVolume._height / 2)))) || (_root._ymouse > (integratedBoardVolume._y + (integratedBoardVolume._height / 2)))) {
if (buttonOffVolume == false) {
integratedBoardVolume.buttonVolume.arrowVolume.gotoAndPlay(16);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndPlay(16);
buttonOffVolume = true;
if (sfxToggle == 1) {
sndWrong.start(0, 1);
}
}
}
};
btnSeed.onRelease = function () {
System.setClipboard(gameSeedText);
copiedText._alpha = 152;
};
Frame 81
stopAllSounds();
if ((_root.musicToggle == 1) && (_root.menuMusicPlaying == 0)) {
sndMenuMusic.start(0, 9999);
_root.menuMusicPlaying = 1;
}
Stage.showMenu = false;
musicPlaying = 0;
screenWipe.gotoAndPlay(15);
finalGameTime = _root.finalTime / 1000;
finalMinutes = Math.floor(finalGameTime / 60);
finalSeconds = finalGameTime % 60;
finalMilliseconds = _root.finalTime;
finalSecondsString = String(finalSeconds);
var i = 0;
while (i < finalSecondsString.length) {
if (finalSecondsString.charAt(i) == ".") {
_root.finalSecondsDecimalPlace = i;
}
i++;
}
finalSecondsShortened = finalSecondsString.slice(0, _root.finalSecondsDecimalPlace + 4);
gameMoves = _root.moveNumber;
if (gameMoves <= 1) {
com.newgrounds.API.unlockMedal("500 IQ");
}
if (numOfGames == 1) {
totalElapsedText = ("Total Elapsed Time for " + numOfGames) + " Game";
} else if (numOfGames > 1) {
totalElapsedText = ("Total Elapsed Time for " + numOfGames) + " Games";
}
if (finalMinutes == 0) {
if (finalSeconds == 1) {
totalElapsedTime = finalSecondsShortened + " Second";
} else if ((finalSeconds > 1) || (finalSeconds < 1)) {
totalElapsedTime = finalSecondsShortened + " Seconds";
}
} else if (finalMinutes == 1) {
if (finalSeconds == 1) {
totalElapsedTime = ((finalMinutes + " Minute ") + finalSecondsShortened) + " Second";
} else if ((finalSeconds > 1) || (finalSeconds < 1)) {
totalElapsedTime = ((finalMinutes + " Minute ") + finalSecondsShortened) + " Seconds";
}
} else if (finalMinutes > 1) {
if (finalSeconds == 1) {
totalElapsedTime = ((finalMinutes + " Minutes ") + finalSecondsShortened) + " Second";
} else if ((finalSeconds > 1) || (finalSeconds < 1)) {
totalElapsedTime = ((finalMinutes + " Minutes ") + finalSecondsShortened) + " Seconds";
}
}
averageGameTime = String(finalGameTime / numOfGames);
var i = 0;
while (i < averageGameTime.length) {
if (_root.averageGameTime.charAt(i) == ".") {
_root.averageGameTimeDecimalPlace = i;
}
i++;
}
averageGameTimeShortened = averageGameTime.slice(0, _root.averageGameTimeDecimalPlace + 4);
if (numOfGames > 1) {
averageGameTimeText = ("Average Round Time: " + averageGameTimeShortened) + " Seconds";
} else if (numOfGames == 1) {
averageGameTimeText = "";
}
btnPlayAgain.onRelease = function () {
if (screenWipe._currentframe == 29) {
screenWipe.gotoAndPlay(1);
}
};
btnBack.onRelease = function () {
if (screenWipe._currentframe == 29) {
screenWipe.gotoAndPlay(1);
_root.backAnimation = 1;
}
};
onEnterFrame = function () {
if (screenWipe._currentframe == 29) {
screenWipe.stop();
}
if ((screenWipe._currentframe == 15) && (_root.backAnimation == 1)) {
_root.gotoAndStop("title");
}
if ((screenWipe._currentframe == 15) && (_root.backAnimation == 0)) {
if (easyGame == 1) {
_root.currentGame = 1;
_root.gotoAndStop("easygame");
} else if (mediumGame == 1) {
_root.currentGame = 1;
_root.gotoAndStop("mediumgame");
} else if (hardGame == 1) {
_root.currentGame = 1;
_root.gotoAndStop("hardgame");
} else if (customGame == 1) {
_root.currentGame = 1;
_root.gotoAndStop("customgame");
}
}
};
if (((_root.easyGame == 1) && (_root.straightTo1Game == 1)) && (storedProgress.data.mediumUnlocked == 0)) {
unlockedText = "Medium difficulty unlocked!";
storedProgress.data.mediumUnlocked = 1;
storedProgress.data.flush();
com.newgrounds.API.unlockMedal("Novice");
} else if (((_root.mediumGame == 1) && (_root.straightTo1Game == 1)) && (storedProgress.data.hardUnlocked == 0)) {
unlockedText = "Hard difficulty unlocked!";
storedProgress.data.hardUnlocked = 1;
storedProgress.data.flush();
com.newgrounds.API.unlockMedal("Competent");
} else if (((_root.hardGame == 1) && (_root.straightTo1Game == 1)) && (storedProgress.data.customUnlocked == 0)) {
unlockedText = "Custom mode unlocked!";
storedProgress.data.customUnlocked = 1;
storedProgress.data.flush();
com.newgrounds.API.unlockMedal("Proficiency");
} else {
unlockedText = "";
}
if (_root.easyGame == 1) {
if (_root.numOfGames == 1) {
com.newgrounds.API.postScore("Easy - 1 Game", finalMilliseconds);
if (finalGameTime < 30) {
com.newgrounds.API.unlockMedal("Speedrunner");
}
if (storedHighScores.data.highScoreEasy1Game == 0) {
storedHighScores.data.highScoreEasy1Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else if (parseFloat(finalGameTime) < parseFloat(storedHighScores.data.highScoreEasy1Game)) {
storedHighScores.data.highScoreEasy1Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else {
newHighScoreText = "";
averageGameTimeTextDisplay._y = 204.9;
newHighScoreTextDisplay._y = 434.4;
}
} else if (_root.numOfGames == 5) {
com.newgrounds.API.postScore(" Easy - 5 Games", finalMilliseconds);
if (storedHighScores.data.highScoreEasy5Game == 0) {
storedHighScores.data.highScoreEasy5Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else if (parseFloat(finalGameTime) < parseFloat(storedHighScores.data.highScoreEasy5Game)) {
storedHighScores.data.highScoreEasy5Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else {
newHighScoreText = "";
averageGameTimeTextDisplay._y = 204.9;
newHighScoreTextDisplay._y = 434.4;
}
} else if (_root.numOfGames == 10) {
com.newgrounds.API.postScore("Easy - 10 Games", finalMilliseconds);
if (storedHighScores.data.highScoreEasy10Game == 0) {
storedHighScores.data.highScoreEasy10Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else if (parseFloat(finalGameTime) < parseFloat(storedHighScores.data.highScoreEasy10Game)) {
storedHighScores.data.highScoreEasy10Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else {
newHighScoreText = "";
averageGameTimeTextDisplay._y = 204.9;
newHighScoreTextDisplay._y = 434.4;
}
} else if (_root.numOfGames == 25) {
com.newgrounds.API.postScore(" Easy - 25 Games", finalMilliseconds);
if (storedHighScores.data.highScoreEasy25Game == 0) {
storedHighScores.data.highScoreEasy25Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else if (parseFloat(finalGameTime) < parseFloat(storedHighScores.data.highScoreEasy25Game)) {
storedHighScores.data.highScoreEasy25Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else {
newHighScoreText = "";
averageGameTimeTextDisplay._y = 204.9;
newHighScoreTextDisplay._y = 434.4;
}
}
} else if (_root.mediumGame == 1) {
if (_root.numOfGames == 1) {
com.newgrounds.API.postScore("Medium - 1 Game", finalMilliseconds);
if (gameMoves < 90) {
com.newgrounds.API.unlockMedal("Cuber");
}
if (storedHighScores.data.highScoreMedium1Game == 0) {
storedHighScores.data.highScoreMedium1Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else if (parseFloat(finalGameTime) < parseFloat(storedHighScores.data.highScoreMedium1Game)) {
storedHighScores.data.highScoreMedium1Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else {
newHighScoreText = "";
averageGameTimeTextDisplay._y = 204.9;
newHighScoreTextDisplay._y = 434.4;
}
} else if (_root.numOfGames == 5) {
com.newgrounds.API.postScore("Medium - 5 Games", finalMilliseconds);
if (storedHighScores.data.highScoreMedium5Game == 0) {
storedHighScores.data.highScoreMedium5Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else if (parseFloat(finalGameTime) < parseFloat(storedHighScores.data.highScoreMedium5Game)) {
storedHighScores.data.highScoreMedium5Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else {
newHighScoreText = "";
averageGameTimeTextDisplay._y = 204.9;
newHighScoreTextDisplay._y = 434.4;
}
} else if (_root.numOfGames == 10) {
com.newgrounds.API.postScore("Medium - 10 Games", finalMilliseconds);
if (storedHighScores.data.highScoreMedium10Game == 0) {
storedHighScores.data.highScoreMedium10Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else if (parseFloat(finalGameTime) < parseFloat(storedHighScores.data.highScoreMedium10Game)) {
storedHighScores.data.highScoreMedium10Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else {
newHighScoreText = "";
averageGameTimeTextDisplay._y = 204.9;
newHighScoreTextDisplay._y = 434.4;
}
} else if (_root.numOfGames == 25) {
com.newgrounds.API.postScore("Medium - 25 Games", finalMilliseconds);
if (storedHighScores.data.highScoreMedium25Game == 0) {
storedHighScores.data.highScoreMedium25Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else if (parseFloat(finalGameTime) < parseFloat(storedHighScores.data.highScoreMedium25Game)) {
storedHighScores.data.highScoreMedium25Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else {
newHighScoreText = "";
averageGameTimeTextDisplay._y = 204.9;
newHighScoreTextDisplay._y = 434.4;
}
}
} else if (_root.hardGame == 1) {
if (_root.numOfGames == 1) {
com.newgrounds.API.postScore("Hard - 1 Game", finalMilliseconds);
if (finalGameTime < 90) {
com.newgrounds.API.unlockMedal("Baby's on Fire");
}
if (finalGameTime < 60) {
com.newgrounds.API.unlockMedal("Real Gamer");
}
if (storedHighScores.data.highScoreHard1Game == 0) {
storedHighScores.data.highScoreHard1Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else if (parseFloat(finalGameTime) < parseFloat(storedHighScores.data.highScoreHard1Game)) {
storedHighScores.data.highScoreHard1Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else {
newHighScoreText = "";
averageGameTimeTextDisplay._y = 204.9;
newHighScoreTextDisplay._y = 434.4;
}
} else if (_root.numOfGames == 5) {
com.newgrounds.API.postScore("Hard - 5 Games", finalMilliseconds);
if (storedHighScores.data.highScoreHard5Game == 0) {
storedHighScores.data.highScoreHard5Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else if (parseFloat(finalGameTime) < parseFloat(storedHighScores.data.highScoreHard5Game)) {
storedHighScores.data.highScoreHard5Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else {
newHighScoreText = "";
averageGameTimeTextDisplay._y = 204.9;
newHighScoreTextDisplay._y = 434.4;
}
} else if (_root.numOfGames == 10) {
com.newgrounds.API.postScore(" Hard - 10 Games", finalMilliseconds);
if (storedHighScores.data.highScoreHard10Game == 0) {
storedHighScores.data.highScoreHard10Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else if (parseFloat(finalGameTime) < parseFloat(storedHighScores.data.highScoreHard10Game)) {
storedHighScores.data.highScoreHard10Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else {
newHighScoreText = "";
averageGameTimeTextDisplay._y = 204.9;
newHighScoreTextDisplay._y = 434.4;
}
} else if (_root.numOfGames == 25) {
com.newgrounds.API.postScore(" Hard - 25 Games", finalMilliseconds);
com.newgrounds.API.unlockMedal("Patience");
if (storedHighScores.data.highScoreHard25Game == 0) {
storedHighScores.data.highScoreHard25Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else if (parseFloat(finalGameTime) < parseFloat(storedHighScores.data.highScoreHard25Game)) {
storedHighScores.data.highScoreHard25Game = finalGameTime;
newHighScoreText = "New Highscore!";
newHighScoreTextDisplay._y = 204.9;
averageGameTimeTextDisplay._y = 229.8;
} else {
newHighScoreText = "";
averageGameTimeTextDisplay._y = 204.9;
newHighScoreTextDisplay._y = 434.4;
}
}
} else {
newHighScoreText = "";
averageGameTimeTextDisplay._y = 204.9;
newHighScoreTextDisplay._y = 434.4;
}
if (_root.easyGame == 1) {
if (_root.numOfGames == 1) {
highScoreSeconds = storedHighScores.data.highScoreEasy1Game % 60;
highScoreMinutes = Math.floor(storedHighScores.data.highScoreEasy1Game / 60);
highScoreSecondsString = String(highScoreSeconds);
var i = 0;
while (i < highScoreSecondsString.length) {
if (highScoreSecondsString.charAt(i) == ".") {
_root.highScoreSecondsShortenedDecimalPlace = i;
}
i++;
}
highScoreSecondsShortened = highScoreSecondsString.slice(0, _root.highScoreSecondsShortenedDecimalPlace + 4);
if (highScoreMinutes == 0) {
if (highScoreSeconds == 1) {
highScoreText = ("Best Time For 1 Easy Game: " + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreEasy1GameText = highScoreSecondsShortened + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ("Best Time For 1 Easy Game: " + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreEasy1GameText = highScoreSecondsShortened + " Seconds";
}
} else if (highScoreMinutes == 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 1 Easy Game: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreEasy1GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 1 Easy Game: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreEasy1GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Seconds";
}
} else if (highScoreMinutes > 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 1 Easy Game: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreEasy1GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 1 Easy Game: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreEasy1GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Seconds";
}
}
} else if (_root.numOfGames == 5) {
highScoreSeconds = storedHighScores.data.highScoreEasy5Game % 60;
highScoreMinutes = Math.floor(storedHighScores.data.highScoreEasy5Game / 60);
highScoreSecondsString = String(highScoreSeconds);
var i = 0;
while (i < highScoreSecondsString.length) {
if (highScoreSecondsString.charAt(i) == ".") {
_root.highScoreSecondsShortenedDecimalPlace = i;
}
i++;
}
highScoreSecondsShortened = highScoreSecondsString.slice(0, _root.highScoreSecondsShortenedDecimalPlace + 4);
if (highScoreMinutes == 0) {
if (highScoreSeconds == 1) {
highScoreText = ("Best Time For 5 Easy Games: " + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreEasy5GameText = highScoreSecondsShortened + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ("Best Time For 5 Easy Games: " + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreEasy5GameText = highScoreSecondsShortened + " Seconds";
}
} else if (highScoreMinutes == 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 5 Easy Games: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreEasy5GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 5 Easy Games: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreEasy5GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Seconds";
}
} else if (highScoreMinutes > 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 5 Easy Games: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreEasy5GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 5 Easy Games: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreEasy5GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Seconds";
}
}
} else if (_root.numOfGames == 10) {
highScoreSeconds = storedHighScores.data.highScoreEasy10Game % 60;
highScoreMinutes = Math.floor(storedHighScores.data.highScoreEasy10Game / 60);
highScoreSecondsString = String(highScoreSeconds);
var i = 0;
while (i < highScoreSecondsString.length) {
if (highScoreSecondsString.charAt(i) == ".") {
_root.highScoreSecondsShortenedDecimalPlace = i;
}
i++;
}
highScoreSecondsShortened = highScoreSecondsString.slice(0, _root.highScoreSecondsShortenedDecimalPlace + 4);
if (highScoreMinutes == 0) {
if (highScoreSeconds == 1) {
highScoreText = ("Best Time For 10 Easy Games: " + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreEasy10GameText = highScoreSecondsShortened + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ("Best Time For 10 Easy Games: " + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreEasy10GameText = highScoreSecondsShortened + " Seconds";
}
} else if (highScoreMinutes == 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 10 Easy Games: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreEasy10GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 10 Easy Games: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreEasy10GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Seconds";
}
} else if (highScoreMinutes > 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 10 Easy Games: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreEasy10GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 10 Easy Games: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreEasy10GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Seconds";
}
}
} else if (_root.numOfGames == 25) {
highScoreSeconds = storedHighScores.data.highScoreEasy25Game % 60;
highScoreMinutes = Math.floor(storedHighScores.data.highScoreEasy25Game / 60);
highScoreSecondsString = String(highScoreSeconds);
var i = 0;
while (i < highScoreSecondsString.length) {
if (highScoreSecondsString.charAt(i) == ".") {
_root.highScoreSecondsShortenedDecimalPlace = i;
}
i++;
}
highScoreSecondsShortened = highScoreSecondsString.slice(0, _root.highScoreSecondsShortenedDecimalPlace + 4);
if (highScoreMinutes == 0) {
if (highScoreSeconds == 1) {
highScoreText = ("Best Time For 25 Easy Games: " + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreEasy25GameText = highScoreSecondsShortened + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ("Best Time For 25 Easy Games: " + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreEasy25GameText = highScoreSecondsShortened + " Seconds";
}
} else if (highScoreMinutes == 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 25 Easy Games: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreEasy25GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 25 Easy Games: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreEasy25GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Seconds";
}
} else if (highScoreMinutes > 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 25 Easy Games: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreEasy25GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 25 Easy Games: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreEasy25GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Seconds";
}
}
}
} else if (_root.mediumGame == 1) {
if (_root.numOfGames == 1) {
highScoreSeconds = storedHighScores.data.highScoreMedium1Game % 60;
highScoreMinutes = Math.floor(storedHighScores.data.highScoreMedium1Game / 60);
highScoreSecondsString = String(highScoreSeconds);
var i = 0;
while (i < highScoreSecondsString.length) {
if (highScoreSecondsString.charAt(i) == ".") {
_root.highScoreSecondsShortenedDecimalPlace = i;
}
i++;
}
highScoreSecondsShortened = highScoreSecondsString.slice(0, _root.highScoreSecondsShortenedDecimalPlace + 4);
if (highScoreMinutes == 0) {
if (highScoreSeconds == 1) {
highScoreText = ("Best Time For 1 Medium Game: " + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreMedium1GameText = highScoreSecondsShortened + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ("Best Time For 1 Medium Game: " + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreMedium1GameText = highScoreSecondsShortened + " Seconds";
}
} else if (highScoreMinutes == 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 1 Medium Game: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreMedium1GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 1 Medium Game: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreMedium1GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Seconds";
}
} else if (highScoreMinutes > 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 1 Medium Game: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreMedium1GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 1 Medium Game: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreMedium1GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Seconds";
}
}
} else if (_root.numOfGames == 5) {
highScoreSeconds = storedHighScores.data.highScoreMedium5Game % 60;
highScoreMinutes = Math.floor(storedHighScores.data.highScoreMedium5Game / 60);
highScoreSecondsString = String(highScoreSeconds);
var i = 0;
while (i < highScoreSecondsString.length) {
if (highScoreSecondsString.charAt(i) == ".") {
_root.highScoreSecondsShortenedDecimalPlace = i;
}
i++;
}
highScoreSecondsShortened = highScoreSecondsString.slice(0, _root.highScoreSecondsShortenedDecimalPlace + 4);
if (highScoreMinutes == 0) {
if (highScoreSeconds == 1) {
highScoreText = ("Best Time For 5 Medium Games: " + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreMedium5GameText = highScoreSecondsShortened + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ("Best Time For 5 Medium Games: " + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreMedium5GameText = highScoreSecondsShortened + " Seconds";
}
} else if (highScoreMinutes == 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 5 Medium Games: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreMedium5GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 5 Medium Games: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreMedium5GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Seconds";
}
} else if (highScoreMinutes > 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 5 Medium Games: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreMedium5GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 5 Medium Games: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreMedium5GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Seconds";
}
}
} else if (_root.numOfGames == 10) {
highScoreSeconds = storedHighScores.data.highScoreMedium10Game % 60;
highScoreMinutes = Math.floor(storedHighScores.data.highScoreMedium10Game / 60);
highScoreSecondsString = String(highScoreSeconds);
var i = 0;
while (i < highScoreSecondsString.length) {
if (highScoreSecondsString.charAt(i) == ".") {
_root.highScoreSecondsShortenedDecimalPlace = i;
}
i++;
}
highScoreSecondsShortened = highScoreSecondsString.slice(0, _root.highScoreSecondsShortenedDecimalPlace + 4);
if (highScoreMinutes == 0) {
if (highScoreSeconds == 1) {
highScoreText = ("Best Time For 10 Medium Games: " + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreMedium10GameText = highScoreSecondsShortened + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ("Best Time For 10 Medium Games: " + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreMedium10GameText = highScoreSecondsShortened + " Seconds";
}
} else if (highScoreMinutes == 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 10 Medium Games: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreMedium10GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 10 Medium Games: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreMedium10GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Seconds";
}
} else if (highScoreMinutes > 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 10 Medium Games: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreMedium10GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 10 Medium Games: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreMedium10GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Seconds";
}
}
} else if (_root.numOfGames == 25) {
highScoreSeconds = storedHighScores.data.highScoreMedium25Game % 60;
highScoreMinutes = Math.floor(storedHighScores.data.highScoreMedium25Game / 60);
highScoreSecondsString = String(highScoreSeconds);
var i = 0;
while (i < highScoreSecondsString.length) {
if (highScoreSecondsString.charAt(i) == ".") {
_root.highScoreSecondsShortenedDecimalPlace = i;
}
i++;
}
highScoreSecondsShortened = highScoreSecondsString.slice(0, _root.highScoreSecondsShortenedDecimalPlace + 4);
if (highScoreMinutes == 0) {
if (highScoreSeconds == 1) {
highScoreText = ("Best Time For 25 Medium Games: " + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreMedium25GameText = highScoreSecondsShortened + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ("Best Time For 25 Medium Games: " + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreMedium25GameText = highScoreSecondsShortened + " Seconds";
}
} else if (highScoreMinutes == 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 25 Medium Games: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreMedium25GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 25 Medium Games: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreMedium25GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Seconds";
}
} else if (highScoreMinutes > 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 25 Medium Games: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreMedium25GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 25 Medium Games: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreMedium25GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Seconds";
}
}
}
} else if (_root.hardGame == 1) {
if (_root.numOfGames == 1) {
highScoreSeconds = storedHighScores.data.highScoreHard1Game % 60;
highScoreMinutes = Math.floor(storedHighScores.data.highScoreHard1Game / 60);
highScoreSecondsString = String(highScoreSeconds);
var i = 0;
while (i < highScoreSecondsString.length) {
if (highScoreSecondsString.charAt(i) == ".") {
_root.highScoreSecondsShortenedDecimalPlace = i;
}
i++;
}
highScoreSecondsShortened = highScoreSecondsString.slice(0, _root.highScoreSecondsShortenedDecimalPlace + 4);
if (highScoreMinutes == 0) {
if (highScoreSeconds == 1) {
highScoreText = ("Best Time For 1 Hard Game: " + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreHard1GameText = highScoreSecondsShortened + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ("Best Time For 1 Hard Game: " + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreHard1GameText = highScoreSecondsShortened + " Seconds";
}
} else if (highScoreMinutes == 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 1 Hard Game: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreHard1GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 1 Hard Game: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreHard1GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Seconds";
}
} else if (highScoreMinutes > 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 1 Hard Game: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreHard1GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 1 Hard Game: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreHard1GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Seconds";
}
}
} else if (_root.numOfGames == 5) {
highScoreSeconds = storedHighScores.data.highScoreHard5Game % 60;
highScoreMinutes = Math.floor(storedHighScores.data.highScoreHard5Game / 60);
highScoreSecondsString = String(highScoreSeconds);
var i = 0;
while (i < highScoreSecondsString.length) {
if (highScoreSecondsString.charAt(i) == ".") {
_root.highScoreSecondsShortenedDecimalPlace = i;
}
i++;
}
highScoreSecondsShortened = highScoreSecondsString.slice(0, _root.highScoreSecondsShortenedDecimalPlace + 4);
if (highScoreMinutes == 0) {
if (highScoreSeconds == 1) {
highScoreText = ("Best Time For 5 Hard Games: " + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreHard5GameText = highScoreSecondsShortened + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ("Best Time For 5 Hard Games: " + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreHard5GameText = highScoreSecondsShortened + " Seconds";
}
} else if (highScoreMinutes == 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 5 Hard Games: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreHard5GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 5 Hard Games: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreHard5GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Seconds";
}
} else if (highScoreMinutes > 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 5 Hard Games: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreHard5GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 5 Hard Games: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreHard5GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Seconds";
}
}
} else if (_root.numOfGames == 10) {
highScoreSeconds = storedHighScores.data.highScoreHard10Game % 60;
highScoreMinutes = Math.floor(storedHighScores.data.highScoreHard10Game / 60);
highScoreSecondsString = String(highScoreSeconds);
var i = 0;
while (i < highScoreSecondsString.length) {
if (highScoreSecondsString.charAt(i) == ".") {
_root.highScoreSecondsShortenedDecimalPlace = i;
}
i++;
}
highScoreSecondsShortened = highScoreSecondsString.slice(0, _root.highScoreSecondsShortenedDecimalPlace + 4);
if (highScoreMinutes == 0) {
if (highScoreSeconds == 1) {
highScoreText = ("Best Time For 10 Hard Games: " + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreHard10GameText = highScoreSecondsShortened + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ("Best Time For 10 Hard Games: " + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreHard10GameText = highScoreSecondsShortened + " Seconds";
}
} else if (highScoreMinutes == 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 10 Hard Games: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreHard10GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 10 Hard Games: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreHard10GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Seconds";
}
} else if (highScoreMinutes > 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 10 Hard Games: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreHard10GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 10 Hard Games: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreHard10GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Seconds";
}
}
} else if (_root.numOfGames == 25) {
highScoreSeconds = storedHighScores.data.highScoreHard25Game % 60;
highScoreMinutes = Math.floor(storedHighScores.data.highScoreHard25Game / 60);
highScoreSecondsString = String(highScoreSeconds);
var i = 0;
while (i < highScoreSecondsString.length) {
if (highScoreSecondsString.charAt(i) == ".") {
_root.highScoreSecondsShortenedDecimalPlace = i;
}
i++;
}
highScoreSecondsShortened = highScoreSecondsString.slice(0, _root.highScoreSecondsShortenedDecimalPlace + 4);
if (highScoreMinutes == 0) {
if (highScoreSeconds == 1) {
highScoreText = ("Best Time For 25 Hard Games: " + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreHard25GameText = highScoreSecondsShortened + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ("Best Time For 25 Hard Games: " + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreHard25GameText = highScoreSecondsShortened + " Seconds";
}
} else if (highScoreMinutes == 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 25 Hard Games: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreHard25GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 25 Hard Games: " + highScoreMinutes) + " Minute ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreHard25GameText = ((highScoreMinutes + " Minute ") + highScoreSecondsShortened) + " Seconds";
}
} else if (highScoreMinutes > 1) {
if (highScoreSeconds == 1) {
highScoreText = ((("Best Time For 25 Hard Games: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Second";
storedHighScoresText.data.highScoreHard25GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Second";
} else if ((highScoreSeconds > 1) || (highScoreSeconds < 1)) {
highScoreText = ((("Best Time For 25 Hard Games: " + highScoreMinutes) + " Minutes ") + highScoreSecondsShortened) + " Seconds";
storedHighScoresText.data.highScoreHard25GameText = ((highScoreMinutes + " Minutes ") + highScoreSecondsShortened) + " Seconds";
}
}
}
} else if (_root.customGame == 1) {
highScoreText = "";
}
_root.storedHighScores.flush();
_root.storedHighScoresText.flush();
Frame 91
_root.backAnimation = 0;
warningOverlayFlag = 0;
warningOverlayScores._x = 2000;
warningOverlayProgress._x = 2000;
highScoresOverlay._x = 2000;
highScoreResetText._alpha = 0;
progressResetText._alpha = 0;
highScoresOverlay.allScoreBrowsers.gotoAndStop("1easy");
scoreBrowserViewingEasy = 1;
scoreBrowserViewingMedium = 0;
scoreBrowserViewingHard = 0;
warningOverlayProgress.btnDebugUnlock.onRelease = function () {
if ((warningOverlayFlag == 1) && (shutFuck._currentframe == 1)) {
storedProgress.data.mediumUnlocked = 1;
storedProgress.data.hardUnlocked = 1;
storedProgress.data.customUnlocked = 1;
_root.storedProgress.flush();
com.newgrounds.API.unlockMedal("YTP Sexer");
shutFuck.gotoAndPlay(2);
}
};
btnBack.onRelease = function () {
if ((screenWipe._currentframe == 29) && (warningOverlayFlag == 0)) {
screenWipe.gotoAndPlay(1);
_root.backAnimation = 1;
}
};
onEnterFrame = function () {
if (screenWipe._currentframe == 29) {
screenWipe.stop();
}
if ((screenWipe._currentframe == 15) && (_root.backAnimation == 1)) {
_root.gotoAndStop("title");
}
if (highScoreResetText._alpha != 0) {
highScoreResetText._alpha = highScoreResetText._alpha - 4;
}
if (progressResetText._alpha != 0) {
progressResetText._alpha = progressResetText._alpha - 4;
}
easy1GameHighScore = storedHighScoresText.data.highScoreEasy1GameText;
easy5GameHighScore = storedHighScoresText.data.highScoreEasy5GameText;
easy10GameHighScore = storedHighScoresText.data.highScoreEasy10GameText;
easy25GameHighScore = storedHighScoresText.data.highScoreEasy25GameText;
medium1GameHighScore = storedHighScoresText.data.highScoreMedium1GameText;
medium5GameHighScore = storedHighScoresText.data.highScoreMedium5GameText;
medium10GameHighScore = storedHighScoresText.data.highScoreMedium10GameText;
medium25GameHighScore = storedHighScoresText.data.highScoreMedium25GameText;
hard1GameHighScore = storedHighScoresText.data.highScoreHard1GameText;
hard5GameHighScore = storedHighScoresText.data.highScoreHard5GameText;
hard10GameHighScore = storedHighScoresText.data.highScoreHard10GameText;
hard25GameHighScore = storedHighScoresText.data.highScoreHard25GameText;
};
btnResetScores.onRelease = function () {
if (((warningOverlayFlag == 0) && (screenWipe._currentframe == 29)) && (warningOverlayProgress._x == 2000)) {
warningOverlayFlag = 1;
warningOverlayScores._x = (warningOverlayScores._width / 2) - 8.9;
}
};
btnOnlineScores.onRelease = function () {
if (((warningOverlayFlag == 0) && (screenWipe._currentframe == 29)) && (highScoresOverlay._x == 2000)) {
warningOverlayFlag = 1;
highScoresOverlay._x = (highScoresOverlay._width / 2) - 8.9;
}
};
highScoresOverlay.btnBackScores.onRelease = function () {
if ((warningOverlayFlag == 1) && (screenWipe._currentframe == 29)) {
warningOverlayFlag = 0;
highScoresOverlay._x = 2000;
}
};
warningOverlayScores.btnNoScores.onRelease = function () {
if (((warningOverlayFlag == 1) && (screenWipe._currentframe == 29)) && (warningOverlayProgress._x == 2000)) {
warningOverlayScores._x = 2000;
warningOverlayFlag = 0;
}
};
warningOverlayScores.btnYesScores.onRelease = function () {
if (((warningOverlayFlag == 1) && (screenWipe._currentframe == 29)) && (warningOverlayProgress._x == 2000)) {
warningOverlayScores._x = 2000;
highScoreResetText._alpha = 152;
storedHighScores.data.highScoreEasy1Game = 0;
storedHighScores.data.highScoreEasy5Game = 0;
storedHighScores.data.highScoreEasy10Game = 0;
storedHighScores.data.highScoreEasy25Game = 0;
storedHighScores.data.highScoreMedium1Game = 0;
storedHighScores.data.highScoreMedium5Game = 0;
storedHighScores.data.highScoreMedium10Game = 0;
storedHighScores.data.highScoreMedium25Game = 0;
storedHighScores.data.highScoreHard1Game = 0;
storedHighScores.data.highScoreHard5Game = 0;
storedHighScores.data.highScoreHard10Game = 0;
storedHighScores.data.highScoreHard25Game = 0;
_root.storedHighScores.flush();
storedHighScoresText.data.highScoreEasy1GameText = "0 Seconds";
storedHighScoresText.data.highScoreEasy5GameText = "0 Seconds";
storedHighScoresText.data.highScoreEasy10GameText = "0 Seconds";
storedHighScoresText.data.highScoreEasy25GameText = "0 Seconds";
storedHighScoresText.data.highScoreMedium1GameText = "0 Seconds";
storedHighScoresText.data.highScoreMedium5GameText = "0 Seconds";
storedHighScoresText.data.highScoreMedium10GameText = "0 Seconds";
storedHighScoresText.data.highScoreMedium25GameText = "0 Seconds";
storedHighScoresText.data.highScoreHard1GameText = "0 Seconds";
storedHighScoresText.data.highScoreHard5GameText = "0 Seconds";
storedHighScoresText.data.highScoreHard10GameText = "0 Seconds";
storedHighScoresText.data.highScoreHard25GameText = "0 Seconds";
_root.storedHighScoresText.flush();
warningOverlayFlag = 0;
}
};
btnResetProgress.onRelease = function () {
if (((warningOverlayFlag == 0) && (screenWipe._currentframe == 29)) && (warningOverlayScores._x == 2000)) {
warningOverlayFlag = 1;
warningOverlayProgress._x = (warningOverlayProgress._width / 2) - 8.9;
}
};
warningOverlayProgress.btnNoProgress.onRelease = function () {
if ((((warningOverlayFlag == 1) && (screenWipe._currentframe == 29)) && (warningOverlayScores._x == 2000)) && (shutFuck._currentframe == 1)) {
warningOverlayProgress._x = 2000;
warningOverlayFlag = 0;
}
};
warningOverlayProgress.btnYesProgress.onRelease = function () {
if ((((warningOverlayFlag == 1) && (screenWipe._currentframe == 29)) && (warningOverlayScores._x == 2000)) && (shutFuck._currentframe == 1)) {
warningOverlayProgress._x = 2000;
progressResetText._alpha = 152;
storedProgress.data.mediumUnlocked = 0;
storedProgress.data.hardUnlocked = 0;
storedProgress.data.customUnlocked = 0;
_root.storedProgress.flush();
warningOverlayFlag = 0;
}
};
highScoresOverlay.btnEasyScoreBoard.onRelease = function () {
highScoresOverlay.allScoreBrowsers.gotoAndStop("1easy");
scoreBrowserViewingEasy = 1;
scoreBrowserViewingMedium = 0;
scoreBrowserViewingHard = 0;
};
highScoresOverlay.btnMediumScoreBoard.onRelease = function () {
highScoresOverlay.allScoreBrowsers.gotoAndStop("1medium");
scoreBrowserViewingEasy = 0;
scoreBrowserViewingMedium = 1;
scoreBrowserViewingHard = 0;
};
highScoresOverlay.btnHardScoreBoard.onRelease = function () {
highScoresOverlay.allScoreBrowsers.gotoAndStop("1hard");
scoreBrowserViewingEasy = 0;
scoreBrowserViewingMedium = 0;
scoreBrowserViewingHard = 1;
};
highScoresOverlay.btn1GameScores.onRelease = function () {
if (scoreBrowserViewingEasy == 1) {
highScoresOverlay.allScoreBrowsers.gotoAndStop("1easy");
} else if (scoreBrowserViewingMedium == 1) {
highScoresOverlay.allScoreBrowsers.gotoAndStop("1medium");
} else if (scoreBrowserViewingHard == 1) {
highScoresOverlay.allScoreBrowsers.gotoAndStop("1hard");
}
};
highScoresOverlay.btn5GameScores.onRelease = function () {
if (scoreBrowserViewingEasy == 1) {
highScoresOverlay.allScoreBrowsers.gotoAndStop("5easy");
} else if (scoreBrowserViewingMedium == 1) {
highScoresOverlay.allScoreBrowsers.gotoAndStop("5medium");
} else if (scoreBrowserViewingHard == 1) {
highScoresOverlay.allScoreBrowsers.gotoAndStop("5hard");
}
};
highScoresOverlay.btn10GameScores.onRelease = function () {
if (scoreBrowserViewingEasy == 1) {
highScoresOverlay.allScoreBrowsers.gotoAndStop("10easy");
} else if (scoreBrowserViewingMedium == 1) {
highScoresOverlay.allScoreBrowsers.gotoAndStop("10medium");
} else if (scoreBrowserViewingHard == 1) {
highScoresOverlay.allScoreBrowsers.gotoAndStop("10hard");
}
};
highScoresOverlay.btn25GameScores.onRelease = function () {
if (scoreBrowserViewingEasy == 1) {
highScoresOverlay.allScoreBrowsers.gotoAndStop("25easy");
} else if (scoreBrowserViewingMedium == 1) {
highScoresOverlay.allScoreBrowsers.gotoAndStop("25medium");
} else if (scoreBrowserViewingHard == 1) {
highScoresOverlay.allScoreBrowsers.gotoAndStop("25hard");
}
};
Frame 101
_root.credits = 0;
btnBack.onRelease = function () {
if (screenWipe._currentframe == 29) {
screenWipe.gotoAndPlay(1);
_root.backAnimation = 1;
}
};
onEnterFrame = function () {
if (screenWipe._currentframe == 29) {
screenWipe.stop();
}
if (((screenWipe._currentframe == 15) && (_root.backAnimation == 1)) || (screenWipe._currentframe == 15)) {
_root.gotoAndStop("title");
}
if (creditsRoll._currentframe == 935) {
screenWipe.gotoAndPlay(1);
_root.backAnimation = 1;
com.newgrounds.API.unlockMedal("Appreciation");
}
};
Frame 111
Stage.showMenu = false;
if (easyGame == 1) {
gotoAndStop ("easygame");
} else if (mediumGame == 1) {
gotoAndStop ("mediumgame");
} else if (hardGame == 1) {
gotoAndStop ("hardgame");
} else if (customGame == 1) {
gotoAndStop ("customgame");
}
Frame 121
function init() {
_root.numOfGames = 1;
_root.gameSeed = new Array();
_root.currentGame = 1;
screenWipe.gotoAndPlay(16);
blockMoving = 0;
_root.moveNumber = 0;
_root.frames = 0;
win = 0;
resetFlag = 0;
tutorialArrow._x = 1000;
tutorialArrow._y = 1000;
textBoxOpen = 0;
speechOrder = 1;
tutCharTutorial.gotoAndStop(1);
_root.redBlockMoved = 0;
_root.shuffledBoardTutorial = 0;
copiedText._alpha = 0;
_root.gameVolume = sndPlace.getVolume();
resetButton.resetArrow.gotoAndStop(1);
integratedBoardVolume.buttonVolume.arrowVolume.gotoAndStop(1);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndStop(1);
buttonOffVolume = true;
integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider._x = _root.gameVolume;
blockArray = new Array(blockY1, blockY2, blockY3, blockY4, blockY5, blockG1, blockG2, blockG3, blockG4, blockG5, blockB1, blockB2, blockB3, blockB4, blockB5, blockR1, blockR2, blockR3, blockR4);
positionArray = new Array(pos11, pos12, pos13, pos14, pos15, pos21, pos22, pos23, pos24, pos25, pos31, pos32, pos33, pos34, pos35, pos41, pos42, pos43, pos44, pos45);
blockArraySolution = new Array(blockY1S, blockY2S, blockY3S, blockY4S, blockY5S, blockG1S, blockG2S, blockG3S, blockG4S, blockG5S, blockB1S, blockB2S, blockB3S, blockB4S, blockB5S, blockR1S, blockR2S, blockR3S, blockR4S);
positionArraySolution = new Array(pos11S, pos12S, pos13S, pos14S, pos15S, pos21S, pos22S, pos23S, pos24S, pos25S, pos31S, pos32S, pos33S, pos34S, pos35S, pos41S, pos42S, pos43S, pos44S, pos45S);
var _local2 = 0;
while (_local2 < blockArray.length) {
blockArray[_local2].gotoAndStop("unselected");
blockArray[_local2].blockBW._alpha = 0;
blockArray[_local2].blockPosX = 0;
blockArray[_local2].blockPosY = 0;
_local2++;
}
_local2 = 0;
while (_local2 < positionArray.length) {
positionArray[_local2].empty = true;
positionArray[_local2].blockColor = "";
positionArray[_local2]._alpha = 0;
positionArray[_local2].posNumberY = Number(String(positionArray[_local2]).slice(-2, -1));
positionArray[_local2].posNumberX = Number(String(positionArray[_local2]).slice(-1));
_local2++;
}
_local2 = 0;
while (_local2 < blockArraySolution.length) {
blockArraySolution[_local2].gotoAndStop("unselected");
blockArraySolution[_local2].blockBW._alpha = 0;
blockArraySolution[_local2].blockPosX = 0;
blockArraySolution[_local2].blockPosY = 0;
_local2++;
}
_local2 = 0;
while (_local2 < positionArraySolution.length) {
positionArraySolution[_local2].empty = true;
positionArraySolution[_local2].blockColor = "";
positionArraySolution[_local2]._alpha = 0;
positionArraySolution[_local2].posNumberY = Number(String(positionArray[_local2]).slice(-2, -1));
positionArraySolution[_local2].posNumberX = Number(String(positionArray[_local2]).slice(-1));
_local2++;
}
boardShuffleEasySolution();
if ((musicToggle == 1) && (musicPlaying != 1)) {
sndMusic1.start(0, 9999);
_root.musicPlaying = 1;
}
var _local3 = 0;
while (_local3 < blockArraySolution.length) {
blockPosSolution(blockArraySolution[_local3]);
_local3++;
}
_local3 = 0;
while (_local3 < blockArray.length) {
blockPos(blockArray[_local3]);
_local3++;
}
_local2 = 0;
while (_local2 < positionArray.length) {
if (positionArray[_local2].blockColor == "") {
gameSeed.push("E");
} else {
gameSeed.push(positionArray[_local2].blockColor);
}
_local2++;
}
_local2 = 0;
while (_local2 < positionArraySolution.length) {
if (positionArraySolution[_local2].blockColor == "") {
gameSeed.push("E");
} else {
gameSeed.push(positionArraySolution[_local2].blockColor);
}
_local2++;
}
_root.gameSeedText = removeSubString(gameSeed.toString(), ",");
}
function blockMoveClickCheck(sprite) {
if ((screenWipe._currentframe == 29) && (blockMoving == 0)) {
sprite.onPress = function () {
if (((tutCharTutorial._currentframe == 6) && (sprite == blockR2)) || ((tutCharTutorial._currentframe == 9) && (sprite == blockY5))) {
if ((blockMoving == 0) && (screenWipe._currentframe == 29)) {
spriteClicked = sprite;
blockX = spriteClicked.blockPosX;
blockY = spriteClicked.blockPosY;
var _local4 = 0;
while (_local4 < positionArray.length) {
if ((positionArray[_local4].empty == true) && (((blockX - positionArray[_local4].posNumberX) == 0) || ((blockY - positionArray[_local4].posNumberY) == 0))) {
emptyPosition = positionArray[_local4];
posX = positionArray[_local4].posNumberX;
posY = positionArray[_local4].posNumberY;
sameXOrYBlockArray = new Array();
var _local2 = 0;
while (_local2 < blockArray.length) {
if (((((blockX > posX) && ((blockY - posY) == 0)) && (blockX >= blockArray[_local2].blockPosX)) && ((blockY - blockArray[_local2].blockPosY) == 0)) && (blockArray[_local2].blockPosX > posX)) {
sameXOrYBlockArray.push(blockArray[_local2]);
} else if (((((blockX < posX) && ((blockY - posY) == 0)) && (blockX <= blockArray[_local2].blockPosX)) && ((blockY - blockArray[_local2].blockPosY) == 0)) && (blockArray[_local2].blockPosX < posX)) {
sameXOrYBlockArray.push(blockArray[_local2]);
} else if (((((blockY > posY) && ((blockX - posX) == 0)) && (blockY >= blockArray[_local2].blockPosY)) && ((blockX - blockArray[_local2].blockPosX) == 0)) && (blockArray[_local2].blockPosY > posY)) {
sameXOrYBlockArray.push(blockArray[_local2]);
} else if (((((blockY < posY) && ((blockX - posX) == 0)) && (blockY <= blockArray[_local2].blockPosY)) && ((blockX - blockArray[_local2].blockPosX) == 0)) && (blockArray[_local2].blockPosY < posY)) {
sameXOrYBlockArray.push(blockArray[_local2]);
}
_local2++;
}
sprite.gotoAndStop("selected");
if (sfxToggle == 1) {
sndPickup.start(0, 1);
}
_root.moveNumber++;
var _local3 = 0;
while (_local3 < sameXOrYBlockArray.length) {
if ((((((sameXOrYBlockArray[_local3].blockPosX - posX) == 1) && ((sameXOrYBlockArray[_local3].blockPosY - posY) == 0)) || (((sameXOrYBlockArray[_local3].blockPosX - posX) == -1) && ((sameXOrYBlockArray[_local3].blockPosY - posY) == 0))) || (((sameXOrYBlockArray[_local3].blockPosX - posX) == 0) && ((sameXOrYBlockArray[_local3].blockPosY - posY) == 1))) || (((sameXOrYBlockArray[_local3].blockPosX - posX) == 0) && ((sameXOrYBlockArray[_local3].blockPosY - posY) == -1))) {
dx = (emptyPosition._x - sameXOrYBlockArray[_local3]._x) / 3;
dy = (emptyPosition._y - sameXOrYBlockArray[_local3]._y) / 3;
closestToEmpty = sameXOrYBlockArray[_local3];
}
_local3++;
}
blockMoving = 1;
}
_local4++;
}
}
}
};
}
}
function blockMove() {
if (blockMoving == 1) {
var _local1 = 0;
while (_local1 < sameXOrYBlockArray.length) {
sameXOrYBlockArray[_local1]._x = sameXOrYBlockArray[_local1]._x + dx;
sameXOrYBlockArray[_local1]._y = sameXOrYBlockArray[_local1]._y + dy;
_local1++;
}
}
if ((((closestToEmpty._x >= (emptyPosition._x - 1)) && (closestToEmpty._x <= (emptyPosition._x + 1))) && (closestToEmpty._y >= (emptyPosition._y - 1))) && (closestToEmpty._y <= (emptyPosition._y + 1))) {
spriteClicked.gotoAndStop("unselected");
var _local1 = 0;
while (_local1 < sameXOrYBlockArray.length) {
var _local2 = 0;
while (_local2 < positionArray.length) {
if ((sameXOrYBlockArray[_local1].blockPosX == positionArray[_local2].posNumberX) && (sameXOrYBlockArray[_local1].blockPosY == positionArray[_local2].posNumberY)) {
sameXOrYBlockArray[_local1]._x = positionArray[_local2]._x;
sameXOrYBlockArray[_local1]._y = positionArray[_local2]._y;
}
_local2++;
}
_local1++;
}
if (sfxToggle == 1) {
sndPlace.start(0, 1);
}
emptyPosition.empty = false;
var _local2 = 0;
while (_local2 < positionArray.length) {
if ((positionArray[_local2].posNumberX == blockX) && (positionArray[_local2].posNumberY == blockY)) {
positionArray[_local2].empty = true;
positionArray[_local2].blockColor = "";
}
_local2++;
}
blockMoving = 0;
}
}
function blockPos(sprite) {
var _local1 = 0;
while (_local1 < positionArray.length) {
if (sprite.hitTest(positionArray[_local1])) {
positionArray[_local1].empty = false;
positionArray[_local1].blockColor = String(sprite).charAt(13);
sprite.blockPosX = positionArray[_local1].posNumberX;
sprite.blockPosY = positionArray[_local1].posNumberY;
}
_local1++;
}
}
function winCheck() {
if ((((((((((((((((((((pos11.blockColor == pos11S.blockColor) && (pos12.blockColor == pos12S.blockColor)) && (pos13.blockColor == pos13S.blockColor)) && (pos14.blockColor == pos14S.blockColor)) && (pos15.blockColor == pos15S.blockColor)) && (pos21.blockColor == pos21S.blockColor)) && (pos22.blockColor == pos22S.blockColor)) && (pos23.blockColor == pos23S.blockColor)) && (pos24.blockColor == pos24S.blockColor)) && (pos25.blockColor == pos25S.blockColor)) && (pos31.blockColor == pos31S.blockColor)) && (pos32.blockColor == pos32S.blockColor)) && (pos33.blockColor == pos33S.blockColor)) && (pos34.blockColor == pos34S.blockColor)) && (pos35.blockColor == pos35S.blockColor)) && (pos41.blockColor == pos41S.blockColor)) && (pos42.blockColor == pos42S.blockColor)) && (pos43.blockColor == pos43S.blockColor)) && (pos44.blockColor == pos44S.blockColor)) && (pos45.blockColor == pos45S.blockColor)) {
win = 1;
}
}
function screenWipeCheck(wipe) {
if ((wipe._currentframe == 29) && (resetFlag == 0)) {
wipe.stop();
}
if (((wipe._currentframe == 15) && (resetFlag == 0)) && (_root.backAnimation == 1)) {
_root.gotoAndStop("title");
}
}
function screenWipeWin(wipe) {
if ((win == 1) && (wipe._currentframe == 29)) {
wipe.gotoAndPlay(1);
boardFinishedTime = getTimer();
}
if ((((win == 1) && (wipe._currentframe == 15)) && (currentGame == numOfGames)) && (_root.backAnimation == 0)) {
continousTime = continousTime + (boardFinishedTime - initialTime);
_root.finalTime = continousTime;
gotoAndStop ("win");
}
if ((((win == 1) && (wipe._currentframe == 15)) && (currentGame != numOfGames)) && (_root.backAnimation == 0)) {
gotoAndStop ("reset");
continousTime = continousTime + (boardFinishedTime - initialTime);
currentGame++;
}
if ((((win == 0) && (wipe._currentframe == 15)) && (resetFlag == 1)) && (_root.backAnimation == 0)) {
gotoAndStop ("reset");
}
}
function boardShuffle() {
blockShuffleArray = new Array(blockY1, blockY2, blockY3, blockY4, blockY5, blockG1, blockG2, blockG3, blockG4, blockG5, blockB1, blockB2, blockB3, blockB4, blockB5, blockR1, blockR2, blockR3, blockR4, emptySquare);
var _local1 = 0;
while (_local1 < positionArray.length) {
blockIndex = randRange(0, blockShuffleArray.length - 1);
if (blockShuffleArray.length > 0) {
blockShuffleArray[blockIndex]._x = positionArray[_local1]._x;
blockShuffleArray[blockIndex]._y = positionArray[_local1]._y;
blockShuffleArray.splice(blockIndex, 1);
}
_local1++;
}
}
function boardShuffleEasySolution() {
blockShuffleArraySolution = new Array(new Array(blockY1S, blockY2S, blockY3S, blockY4S, blockY5S), new Array(blockG1S, blockG2S, blockG3S, blockG4S, blockG5S), new Array(blockB1S, blockB2S, blockB3S, blockB4S, blockB5S), new Array(blockR1S, blockR2S, blockR3S, blockR4S, emptySquareS));
positionShuffleArraySolution = new Array(new Array(pos11S, pos12S, pos13S, pos14S, pos15S), new Array(pos21S, pos22S, pos23S, pos24S, pos25S), new Array(pos31S, pos32S, pos33S, pos34S, pos35S), new Array(pos41S, pos42S, pos43S, pos44S, pos45S));
var _local2 = 0;
while (_local2 < positionShuffleArraySolution.length) {
blockIndexSolutionRow = randRange(0, blockShuffleArraySolution.length - 1);
while (blockShuffleArraySolution[blockIndexSolutionRow].length == 0) {
blockIndexSolutionRow = randRange(0, blockShuffleArraySolution.length - 1);
}
var _local1 = 0;
while (_local1 < positionShuffleArraySolution[_local2].length) {
if (blockShuffleArraySolution[blockIndexSolutionRow].length > 0) {
blockShuffleArraySolution[blockIndexSolutionRow][0]._x = positionShuffleArraySolution[_local2][_local1]._x;
blockShuffleArraySolution[blockIndexSolutionRow][0]._y = positionShuffleArraySolution[_local2][_local1]._y;
blockShuffleArraySolution[blockIndexSolutionRow].splice(blockShuffleArraySolution[blockIndexSolutionRow], 1);
}
_local1++;
}
_local2++;
}
}
function boardShuffleSolution() {
blockShuffleArraySolution = new Array(blockY1S, blockY2S, blockY3S, blockY4S, blockY5S, blockG1S, blockG2S, blockG3S, blockG4S, blockG5S, blockB1S, blockB2S, blockB3S, blockB4S, blockB5S, blockR1S, blockR2S, blockR3S, blockR4S, emptySquareS);
var _local1 = 0;
while (_local1 < positionArraySolution.length) {
blockIndexSolution = randRange(0, blockShuffleArraySolution.length - 1);
if (blockShuffleArraySolution.length > 0) {
blockShuffleArraySolution[blockIndexSolution]._x = positionArraySolution[_local1]._x;
blockShuffleArraySolution[blockIndexSolution]._y = positionArraySolution[_local1]._y;
blockShuffleArraySolution.splice(blockIndexSolution, 1);
}
_local1++;
}
}
function blockPosSolution(sprite) {
var _local1 = 0;
while (_local1 < positionArraySolution.length) {
if (sprite.hitTest(positionArraySolution[_local1])) {
positionArraySolution[_local1].empty = false;
positionArraySolution[_local1].blockColor = String(sprite).charAt(13);
sprite.blockPosX = positionArraySolution[_local1].posNumberX;
sprite.blockPosY = positionArraySolution[_local1].posNumberY;
}
_local1++;
}
}
function randRange(min, max) {
randomNum = Math.floor(Math.random() * ((max - min) + 1)) + min;
return(randomNum);
}
function currentGameTextDisplay() {
currentGameText = (("Game " + currentGame) + " out of ") + numOfGames;
}
function removeSubString(str, remove) {
return(str.split(remove).join(""));
}
function tutCharTalk() {
if ((((screenWipe._currentframe == 29) && (tutCharTutorial.onScreenTextBox._currentframe == 20)) && (speechOrder == 1)) && (tutCharTutorial._currentframe == 1)) {
tutCharTutorial.gotoAndStop(2);
}
}
function arrowScreenPos() {
if (((screenWipe._currentframe == 29) && (tutCharTutorial.onScreenTextBox._currentframe == 20)) && (tutCharTutorial._currentframe == 2)) {
tutorialArrow._x = quitGameButton._x;
tutorialArrow._y = quitGameButton._y - (quitGameButton._height * 1.25);
} else if (((screenWipe._currentframe == 29) && (tutCharTutorial.onScreenTextBox._currentframe == 20)) && (tutCharTutorial._currentframe == 3)) {
tutorialArrow._x = blockY3._x - (blockY3._width / 1.1);
tutorialArrow._y = Stage.height / 2;
tutorialArrow._rotation = -90;
} else if (((screenWipe._currentframe == 29) && (tutCharTutorial.onScreenTextBox._currentframe == 20)) && (tutCharTutorial._currentframe == 4)) {
tutorialArrow._x = solutionBoardVisual._x - (solutionBoardVisual._width / 1.4);
tutorialArrow._y = solutionBoardVisual._y;
} else if (((screenWipe._currentframe == 29) && (tutCharTutorial.onScreenTextBox._currentframe == 20)) && (tutCharTutorial._currentframe == 6)) {
tutorialArrow._x = pos12._x;
tutorialArrow._y = blockR2._y - (blockR2._height / 1.4);
tutorialArrow._rotation = 0;
} else if (((screenWipe._currentframe == 29) && (tutCharTutorial.onScreenTextBox._currentframe == 20)) && (tutCharTutorial._currentframe == 7)) {
tutorialArrow._x = 1000;
} else if (((screenWipe._currentframe == 29) && (tutCharTutorial.onScreenTextBox._currentframe == 20)) && (tutCharTutorial._currentframe == 9)) {
tutorialArrow._x = pos15._x;
tutorialArrow._y = blockY5._y - (blockY5._height / 1.4);
tutorialArrow._rotation = 0;
} else if (((screenWipe._currentframe == 29) && (tutCharTutorial.onScreenTextBox._currentframe == 20)) && (tutCharTutorial._currentframe == 10)) {
tutorialArrow._x = 1000;
} else if (((screenWipe._currentframe == 29) && (tutCharTutorial.onScreenTextBox._currentframe == 20)) && (tutCharTutorial._currentframe == 11)) {
tutorialArrow._x = quitGameButton._x;
tutorialArrow._y = quitGameButton._y - (quitGameButton._height * 1.25);
} else if (((screenWipe._currentframe == 29) && (tutCharTutorial.onScreenTextBox._currentframe == 20)) && (tutCharTutorial._currentframe == 12)) {
tutorialArrow._x = resetButton._x;
tutorialArrow._y = resetButton._y - (resetButton._height * 1.25);
} else if (((screenWipe._currentframe == 29) && (tutCharTutorial.onScreenTextBox._currentframe == 20)) && (tutCharTutorial._currentframe == 13)) {
tutorialArrow._x = blockG1._x;
tutorialArrow._y = integratedBoardVolume._y;
tutorialArrow._rotation = 90;
} else if (((screenWipe._currentframe == 29) && (tutCharTutorial.onScreenTextBox._currentframe == 20)) && (tutCharTutorial._currentframe == 14)) {
tutorialArrow._x = btnSeed._x - (btnSeed._width / 1.2);
tutorialArrow._y = btnSeed._y;
tutorialArrow._rotation = -90;
} else if (((screenWipe._currentframe == 29) && (tutCharTutorial.onScreenTextBox._currentframe == 20)) && (tutCharTutorial._currentframe == 16)) {
tutorialArrow._x = 1000;
} else if (((screenWipe._currentframe == 29) && (tutCharTutorial.onScreenTextBox._currentframe == 20)) && (tutCharTutorial._currentframe == 17)) {
tutorialArrow._x = solutionBoardVisual._x - (solutionBoardVisual._width / 1.4);
tutorialArrow._y = solutionBoardVisual._y;
} else if (((screenWipe._currentframe == 29) && (tutCharTutorial.onScreenTextBox._currentframe == 20)) && (tutCharTutorial._currentframe == 20)) {
tutorialArrow._x = 1000;
}
}
Stage.showMenu = false;
if (_root.menuMusicPlaying == 1) {
_root.menuMusicPlaying = 0;
stopAllSounds();
}
init();
onEnterFrame = function () {
currentGameTextDisplay();
screenWipeCheck(screenWipe);
tutCharTalk();
arrowScreenPos();
if ((_root.shuffledBoardTutorial == 0) && (tutCharTutorial._currentframe == 18)) {
boardShuffleSolution();
_root.shuffledBoardTutorial = 1;
}
if ((((_root.redBlockMoved == 0) && ((blockR2.blockPosX == pos11.posNumberX) && (blockR2.blockPosY == pos11.posNumberY))) && (blockMoving == 0)) && (tutCharTutorial._currentframe == 6)) {
_root.redBlockMoved = 1;
}
if ((((_root.redBlockMoved == 0) && ((blockY5.blockPosX == pos14.posNumberX) && (blockY5.blockPosY == pos14.posNumberY))) && (blockMoving == 0)) && (tutCharTutorial._currentframe == 9)) {
_root.redBlockMoved = 1;
}
if (screenWipe._currentframe == 17) {
tutCharTutorial.onScreenTextBox.gotoAndStop(1);
}
if ((screenWipe._currentframe == 29) && (textBoxOpen == 0)) {
tutCharTutorial.onScreenTextBox.gotoAndPlay(2);
textBoxOpen = 1;
}
var _local2 = 0;
while (_local2 < blockArray.length) {
blockPos(blockArray[_local2]);
blockMoveClickCheck(blockArray[_local2]);
_local2++;
}
if (blockMoving == 1) {
blockMove();
}
winCheck();
screenWipeWin(screenWipe);
screenWipeCheck(screenWipe);
if (buttonOffVolume == false) {
var _local3 = 0;
while (_local3 < allSoundsArray.length) {
allSoundsArray[_local3].setVolume(_root.gameVolume);
_local3++;
}
}
_root.gameVolume = integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider._x;
if ((integratedBoardVolume.buttonVolume.arrowVolume._currentFrame == 15) || (integratedBoardVolume.buttonVolume.arrowVolume._currentFrame == 31)) {
integratedBoardVolume.buttonVolume.arrowVolume.stop();
}
if ((integratedBoardVolume.buttonBoardVolume.menuBarVolume._currentFrame == 15) || (integratedBoardVolume.buttonBoardVolume.menuBarVolume._currentFrame == 31)) {
integratedBoardVolume.buttonBoardVolume.menuBarVolume.stop();
}
if (musicToggle == 1) {
musicToggleButton.gotoAndStop(1);
if (musicPlaying != 1) {
_root.sndMusic1.start(0, 9999);
musicPlaying = 1;
}
} else if (musicToggle == 0) {
musicToggleButton.gotoAndStop(2);
_root.sndMusic1.stop("bumbleloop.wav");
musicPlaying = 0;
}
if (sfxToggle == 1) {
sfxToggleButton.gotoAndStop(1);
} else if (sfxToggle == 0) {
sfxToggleButton.gotoAndStop(2);
}
if (resetButton.resetArrow._currentframe == 30) {
resetButton.resetArrow.gotoAndStop(1);
}
if (copiedText._alpha != 0) {
copiedText._alpha = copiedText._alpha - 4;
}
};
integratedBoardVolume.buttonVolume.onPress = function () {
if (buttonOffVolume) {
this.arrowVolume.gotoAndPlay(2);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndPlay(2);
buttonOffVolume = false;
if (sfxToggle == 1) {
sndWrong.start(0, 1);
}
} else if (buttonOffVolume == false) {
this.arrowVolume.gotoAndPlay(16);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndPlay(16);
buttonOffVolume = true;
if (sfxToggle == 1) {
sndWrong.start(0, 1);
}
}
};
musicToggleButton.onRelease = function () {
if (musicToggle == 1) {
_root.musicToggle = 0;
} else {
_root.musicToggle = 1;
}
};
sfxToggleButton.onRelease = function () {
if (sfxToggle == 1) {
_root.sfxToggle = 0;
} else {
_root.sfxToggle = 1;
}
};
quitGameButton.onRelease = function () {
if (((screenWipe._currentframe == 29) && (_root.backAnimation == 0)) && (tutCharTutorial._currentframe < 21)) {
screenWipe.gotoAndPlay(1);
_root.backAnimation = 1;
_root.straightTo1Game = 0;
}
};
integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider.onPress = function () {
this.startDrag(true, integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.volumeGroove._x - 50, integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.volumeGroove._y, integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.volumeGroove._x + 50, integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.volumeGroove._y);
};
integratedBoardVolume.buttonBoardVolume.menuBarVolume.menuBarButtonsVolume.volumeSlider.slider.onMouseUp = function () {
this.stopDrag();
};
_root.onMouseDown = function () {
if ((((_root._xmouse < (integratedBoardVolume._x - (integratedBoardVolume._width / 2))) || (_root._xmouse > (integratedBoardVolume._x + (integratedBoardVolume._width / 2)))) || (_root._ymouse < (integratedBoardVolume._y - (integratedBoardVolume._height / 2)))) || (_root._ymouse > (integratedBoardVolume._y + (integratedBoardVolume._height / 2)))) {
if (buttonOffVolume == false) {
integratedBoardVolume.buttonVolume.arrowVolume.gotoAndPlay(16);
integratedBoardVolume.buttonBoardVolume.menuBarVolume.gotoAndPlay(16);
buttonOffVolume = true;
if (sfxToggle == 1) {
sndWrong.start(0, 1);
}
}
}
};
btnSeed.onRelease = function () {
System.setClipboard(gameSeedText);
_root.customGameSeedInput = gameSeedText;
flash.external.ExternalInterface.call("window.alert", "Seed for copy: " + gameSeedText);
copiedText._alpha = 152;
};
Symbol 40 MovieClip Frame 15
stop();
Symbol 41 MovieClip Frame 26
stop();
Symbol 55 MovieClip [mcTutCharTalk1] Frame 1
tutChar.gotoAndStop("idle");
Symbol 55 MovieClip [mcTutCharTalk1] Frame 22
stop();
speech = "Oh no! The results are back and IT IS TRUE. You in fact do like men and are gay my dude.";
textbox = "";
i = 0;
reacting = 1;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i++;
if (reacting == 1) {
tutChar.gotoAndStop("scared");
if (tutChar.scaredChar._currentframe == 26) {
reacting = 0;
}
} else if (reacting == 0) {
tutChar.gotoAndStop("speaking");
}
if (speech.charAt(i) == " ") {
} else if ((i % 2) == 1) {
_root.sndTalking.start(0, 1);
}
} else {
tutChar.gotoAndStop("idle");
}
};
Instance of Symbol 94 MovieClip [mcGreenBlock] in Symbol 107 MovieClip [mcClickAndDragOptionAnimationEmbedded] Frame 1
onClipEvent (load) {
stop();
}
Instance of Symbol 94 MovieClip [mcGreenBlock] in Symbol 107 MovieClip [mcClickAndDragOptionAnimationEmbedded] Frame 1
onClipEvent (load) {
stop();
}
Instance of Symbol 94 MovieClip [mcGreenBlock] in Symbol 107 MovieClip [mcClickAndDragOptionAnimationEmbedded] Frame 1
onClipEvent (load) {
stop();
}
Instance of Symbol 100 MovieClip [mcBlueBlock] in Symbol 107 MovieClip [mcClickAndDragOptionAnimationEmbedded] Frame 1
onClipEvent (load) {
stop();
}
Instance of Symbol 100 MovieClip [mcBlueBlock] in Symbol 107 MovieClip [mcClickAndDragOptionAnimationEmbedded] Frame 1
onClipEvent (load) {
stop();
}
Instance of Symbol 100 MovieClip [mcBlueBlock] in Symbol 107 MovieClip [mcClickAndDragOptionAnimationEmbedded] Frame 1
onClipEvent (load) {
stop();
}
Instance of Symbol 107 MovieClip [mcClickAndDragOptionAnimationEmbedded] in Symbol 109 MovieClip [mcClickAndDragOptionAnimation] Frame 1
onClipEvent (enterFrame) {
gotoAndStop (1);
}
Instance of Symbol 107 MovieClip [mcClickAndDragOptionAnimationEmbedded] in Symbol 109 MovieClip [mcClickAndDragOptionAnimation] Frame 2
onClipEvent (enterFrame) {
play();
}
Symbol 110 MovieClip [mcClickAndDragOption] Frame 1
dragAnimation.gotoAndStop(1);
Symbol 110 MovieClip [mcClickAndDragOption] Frame 2
dragAnimation.gotoAndStop(2);
Instance of Symbol 94 MovieClip [mcGreenBlock] in Symbol 111 MovieClip [mcClickAndMoveOptionAnimationEmbedded] Frame 1
onClipEvent (load) {
stop();
}
Instance of Symbol 94 MovieClip [mcGreenBlock] in Symbol 111 MovieClip [mcClickAndMoveOptionAnimationEmbedded] Frame 1
onClipEvent (load) {
stop();
}
Instance of Symbol 94 MovieClip [mcGreenBlock] in Symbol 111 MovieClip [mcClickAndMoveOptionAnimationEmbedded] Frame 1
onClipEvent (load) {
stop();
}
Instance of Symbol 100 MovieClip [mcBlueBlock] in Symbol 111 MovieClip [mcClickAndMoveOptionAnimationEmbedded] Frame 1
onClipEvent (load) {
stop();
}
Instance of Symbol 100 MovieClip [mcBlueBlock] in Symbol 111 MovieClip [mcClickAndMoveOptionAnimationEmbedded] Frame 1
onClipEvent (load) {
stop();
}
Instance of Symbol 100 MovieClip [mcBlueBlock] in Symbol 111 MovieClip [mcClickAndMoveOptionAnimationEmbedded] Frame 1
onClipEvent (load) {
stop();
}
Instance of Symbol 111 MovieClip [mcClickAndMoveOptionAnimationEmbedded] in Symbol 112 MovieClip [mcClickAndMoveOptionAnimation] Frame 1
onClipEvent (enterFrame) {
gotoAndStop (1);
}
Instance of Symbol 111 MovieClip [mcClickAndMoveOptionAnimationEmbedded] in Symbol 112 MovieClip [mcClickAndMoveOptionAnimation] Frame 2
onClipEvent (enterFrame) {
play();
}
Symbol 113 MovieClip [mcClickAndMoveOption] Frame 1
clickAnimation.gotoAndStop(1);
Symbol 113 MovieClip [mcClickAndMoveOption] Frame 2
clickAnimation.gotoAndStop(2);
Symbol 160 MovieClip [mcTextBoxOnScreen] Frame 20
stop();
Symbol 182 MovieClip [mctutCharGameTutorial] Frame 1
textbox = "";
tutChar.gotoAndStop("idle");
nextArrow.gotoAndStop(20);
Symbol 182 MovieClip [mctutCharGameTutorial] Frame 2
speech = "Hi! Welcome to the tutorial. You can click the button on the bottom left to exit anytime. Click anywhere to continue.";
textbox = "";
i = 0;
soundint = 0;
nextArrowPlay = 0;
_root.thisCharacterTutorial = _root.tutCharTutorial;
nextArrow.gotoAndStop(20);
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (nextArrowPlay == 1) {
_root.thisCharacterTutorial.gotoAndStop(3);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 182 MovieClip [mctutCharGameTutorial] Frame 3
speech = "First let's look at the game board! Here you'll find the blocks you need to move to win.";
textbox = "";
i = 0;
soundint = 0;
nextArrowPlay = 0;
_root.thisCharacterTutorial = _root.tutCharTutorial;
nextArrow.gotoAndStop(20);
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (nextArrowPlay == 1) {
_root.thisCharacterTutorial.gotoAndStop(4);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 182 MovieClip [mctutCharGameTutorial] Frame 4
speech = "In the top right corner you'll see the solution reference...";
textbox = "";
i = 0;
soundint = 0;
nextArrowPlay = 0;
_root.thisCharacterTutorial = _root.tutCharTutorial;
nextArrow.gotoAndStop(20);
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (nextArrowPlay == 1) {
_root.thisCharacterTutorial.gotoAndStop(5);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 182 MovieClip [mctutCharGameTutorial] Frame 5
speech = "This is what you want the game board to look like in order to win!";
textbox = "";
i = 0;
soundint = 0;
nextArrowPlay = 0;
_root.thisCharacterTutorial = _root.tutCharTutorial;
nextArrow.gotoAndStop(20);
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (nextArrowPlay == 1) {
_root.thisCharacterTutorial.gotoAndStop(6);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 182 MovieClip [mctutCharGameTutorial] Frame 6
speech = "Try clicking on the block I'm pointing at to get a feeling for it!";
textbox = "";
i = 0;
soundint = 0;
nextArrowPlay = 0;
_root.thisCharacterTutorial = _root.tutCharTutorial;
nextArrow.gotoAndStop(20);
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
nextArrowPlay = 1;
}
if (_root.redBlockMoved == 1) {
_root.thisCharacterTutorial.gotoAndStop(7);
}
tutChar.gotoAndStop("idle");
}
};
Symbol 182 MovieClip [mctutCharGameTutorial] Frame 7
speech = "!!!";
textbox = "";
i = 0;
soundint = 0;
nextArrowPlay = 0;
_root.thisCharacterTutorial = _root.tutCharTutorial;
nextArrow.gotoAndStop(20);
tutChar.gotoAndStop("surprise");
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (nextArrowPlay == 1) {
_root.thisCharacterTutorial.gotoAndStop(8);
}
};
}
if (tutChar.surpriseChar._currentframe == 15) {
tutChar.gotoAndStop("surpriseidle");
}
};
Symbol 182 MovieClip [mctutCharGameTutorial] Frame 8
speech = "I just realized something!";
textbox = "";
i = 0;
soundint = 0;
nextArrowPlay = 0;
_root.thisCharacterTutorial = _root.tutCharTutorial;
nextArrow.gotoAndStop(20);
_root.redBlockMoved = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (nextArrowPlay == 1) {
_root.thisCharacterTutorial.gotoAndStop(9);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 182 MovieClip [mctutCharGameTutorial] Frame 9
speech = "Try clicking on this block. If I remember correctly, you can move entire rows of blocks as well!";
textbox = "";
i = 0;
soundint = 0;
nextArrowPlay = 0;
_root.thisCharacterTutorial = _root.tutCharTutorial;
nextArrow.gotoAndStop(20);
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
nextArrowPlay = 1;
}
if (_root.redBlockMoved == 1) {
_root.thisCharacterTutorial.gotoAndStop(10);
}
tutChar.gotoAndStop("idle");
}
};
Symbol 182 MovieClip [mctutCharGameTutorial] Frame 10
speech = "Voila! It's as simple as that in terms of playing the game! Let me show you around the screen here.";
textbox = "";
i = 0;
soundint = 0;
nextArrowPlay = 0;
_root.thisCharacterTutorial = _root.tutCharTutorial;
nextArrow.gotoAndStop(20);
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (nextArrowPlay == 1) {
_root.thisCharacterTutorial.gotoAndStop(11);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 182 MovieClip [mctutCharGameTutorial] Frame 11
speech = "Again, here is the button for quitting out of a game.";
textbox = "";
i = 0;
soundint = 0;
nextArrowPlay = 0;
_root.thisCharacterTutorial = _root.tutCharTutorial;
nextArrow.gotoAndStop(20);
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (nextArrowPlay == 1) {
_root.thisCharacterTutorial.gotoAndStop(12);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 182 MovieClip [mctutCharGameTutorial] Frame 12
speech = "Next to it is the reset button. Press this if you need a new board to work with.";
textbox = "";
i = 0;
soundint = 0;
nextArrowPlay = 0;
_root.thisCharacterTutorial = _root.tutCharTutorial;
nextArrow.gotoAndStop(20);
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (nextArrowPlay == 1) {
_root.thisCharacterTutorial.gotoAndStop(13);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 182 MovieClip [mctutCharGameTutorial] Frame 13
speech = "The last three here are to do with sound, with the ability to mute sound effects, music, or change the overall volume.";
textbox = "";
i = 0;
soundint = 0;
nextArrowPlay = 0;
_root.thisCharacterTutorial = _root.tutCharTutorial;
nextArrow.gotoAndStop(20);
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (nextArrowPlay == 1) {
_root.thisCharacterTutorial.gotoAndStop(14);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 182 MovieClip [mctutCharGameTutorial] Frame 14
speech = "Finally, lets take a look up here at the 'Copy Seed' button.";
textbox = "";
i = 0;
soundint = 0;
nextArrowPlay = 0;
_root.thisCharacterTutorial = _root.tutCharTutorial;
nextArrow.gotoAndStop(20);
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (nextArrowPlay == 1) {
_root.thisCharacterTutorial.gotoAndStop(15);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 182 MovieClip [mctutCharGameTutorial] Frame 15
speech = "When pressed, this button will give you a prompt that contains the game board's seed. The seed will also be typed in already at the 'Custom Game' screen.";
textbox = "";
i = 0;
soundint = 0;
nextArrowPlay = 0;
_root.thisCharacterTutorial = _root.tutCharTutorial;
nextArrow.gotoAndStop(20);
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (nextArrowPlay == 1) {
_root.thisCharacterTutorial.gotoAndStop(16);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 182 MovieClip [mctutCharGameTutorial] Frame 16
speech = "That covers the main screen here, let's see if there's anything else to bring up...";
textbox = "";
i = 0;
soundint = 0;
nextArrowPlay = 0;
_root.thisCharacterTutorial = _root.tutCharTutorial;
nextArrow.gotoAndStop(20);
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (nextArrowPlay == 1) {
_root.thisCharacterTutorial.gotoAndStop(17);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 182 MovieClip [mctutCharGameTutorial] Frame 17
speech = "Let me give you an idea of what you're up against! Take a look at the Solution Reference.";
textbox = "";
i = 0;
soundint = 0;
nextArrowPlay = 0;
_root.thisCharacterTutorial = _root.tutCharTutorial;
nextArrow.gotoAndStop(20);
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (nextArrowPlay == 1) {
_root.thisCharacterTutorial.gotoAndStop(18);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 182 MovieClip [mctutCharGameTutorial] Frame 18
speech = "*EEP!*";
textbox = "";
i = 0;
soundint = 0;
nextArrowPlay = 0;
_root.thisCharacterTutorial = _root.tutCharTutorial;
nextArrow.gotoAndStop(20);
tutChar.gotoAndStop("scared");
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (nextArrowPlay == 1) {
_root.thisCharacterTutorial.gotoAndStop(19);
}
};
}
if (tutChar.scaredChar._currentframe == 26) {
tutChar.gotoAndStop("scaredidle");
}
};
Symbol 182 MovieClip [mctutCharGameTutorial] Frame 19
speech = "It know it may look daunting but I promise once you get used to easy, it won't be so challenging!";
textbox = "";
i = 0;
soundint = 0;
nextArrowPlay = 0;
_root.thisCharacterTutorial = _root.tutCharTutorial;
nextArrow.gotoAndStop(20);
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (nextArrowPlay == 1) {
_root.thisCharacterTutorial.gotoAndStop(20);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 182 MovieClip [mctutCharGameTutorial] Frame 20
speech = "That's it! Hard may also possess quite the challenge so I'd recommend reading the info box on the main screen before jumping in.";
textbox = "";
i = 0;
soundint = 0;
nextArrowPlay = 0;
_root.thisCharacterTutorial = _root.tutCharTutorial;
nextArrow.gotoAndStop(20);
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (nextArrowPlay == 1) {
_root.thisCharacterTutorial.gotoAndStop(21);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 182 MovieClip [mctutCharGameTutorial] Frame 21
speech = "Good luck out there! I look forward to seeing you again in the custom game mode.";
textbox = "";
i = 0;
soundint = 0;
nextArrowPlay = 0;
_root.thisCharacterTutorial = _root.tutCharTutorial;
nextArrow.gotoAndStop(20);
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if ((((nextArrowPlay == 1) && (_root.screenWipe._currentframe == 29)) && (_root.backAnimation == 0)) && (_root.tutCharTutorial._currentframe == 21)) {
_root.screenWipe.gotoAndPlay(1);
_root.backAnimation = 1;
_root.straightTo1Game = 0;
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 209 MovieClip [mcYouNeedToShutTheFuckUp] Frame 1
stop();
Symbol 226 MovieClip Frame 1
stop();
mouseChildren = false;
Symbol 232 MovieClip Frame 1
function setListItems(listItems) {
if (!listItems) {
_listItems = [];
} else {
_listItems = listItems.concat();
}
var _local1 = 0;
while (_local1 < _listItems.length) {
if (typeof(_listItems[_local1]) == "string") {
_listItems[_local1] = {label:_listItems[_local1], data:_listItems[_local1]};
}
_local1++;
}
setSelectedIndex(0);
}
function setSelectedItem(data) {
var _local1 = 0;
while (_local1 < _listItems.length) {
if (_listItems[_local1].data == data) {
setSelectedIndex(_local1);
return(undefined);
}
_local1++;
}
}
function setSelectedIndex(i) {
if (i < _listItems.length) {
_selectedItem = _listItems[i];
if (currentItem && (currentItem.label)) {
currentItem.label.text = _selectedItem.label;
}
}
}
function hideList() {
_listDown = false;
gotoAndStop ("sortUP");
}
function _onListClick() {
_listDown = !_listDown;
if (_listDown) {
gotoAndStop ("sortDOWN");
} else {
gotoAndStop ("sortUP");
}
}
stop();
if (listButton) {
listButton.onRelease = _onListClick;
}
if (currentItem) {
currentItem.onRelease = _onListClick;
if (currentItem.label) {
if (_selectedItem) {
currentItem.label.text = _selectedItem.label;
} else {
currentItem.label.text = "";
}
}
}
var _listItems;
var _listDown;
var _selectedItem;
if (!_listItems) {
_listItems = [];
}
Symbol 232 MovieClip Frame 10
function _onItemClick() {
var _local3 = MovieClip(this);
if (_local3.item) {
setSelectedItem(_local3.item.data);
}
if (((_local3 && _parent) && (_parent instanceof MovieClip)) && (MovieClip(_parent)._onListChange)) {
MovieClip(_parent)._onListChange(_local3.item);
}
}
var i = 0;
var itemClip = item0;
while (itemClip) {
if (i < _listItems.length) {
itemClip.item = _listItems[i];
itemClip.label.text = _listItems[i].label;
itemClip.onRelease = _onItemClick;
} else {
itemClip._visible = false;
}
i++;
itemClip = this["item" + i];
}
Symbol 246 MovieClip Frame 1
stop();
mouseChildren = false;
Symbol 256 MovieClip [ScoreBrowser] Frame 1
function loadScores() {
if (_scoreBoard) {
_scoreBoard.removeEventListener(com.newgrounds.APIEvent.SCORES_LOADED, _onScoresLoaded);
}
_scoreBoard = com.newgrounds.API.getScoreBoard(scoreBoardName);
if (!_scoreBoard) {
if (!com.newgrounds.API.__get__scoreBoards()[0]) {
com.newgrounds.Logger.logError("No scoreboards created for this movie. You can create scoreboards on your API Settings page at http://www.newgrounds.com/account/flashapi");
gotoAndPlay ("error");
return(undefined);
}
_scoreBoard = com.newgrounds.API.__get__scoreBoards()[0];
scoreBoardName = _scoreBoard.name;
com.newgrounds.Logger.logWarning(("No scoreboard name set in the Score Browser component. Defaulting to scoreboard \"" + _scoreBoard.__get__name()) + "\".");
}
_scoreBoard.addEventListener(com.newgrounds.APIEvent.SCORES_LOADED, _onScoresLoaded);
_scoreBoard.__set__numResults(_numScores);
_scoreBoard.__set__period(period);
if (pageText) {
pageText.text = "Page " + _scoreBoard.__get__page();
}
_loading = true;
if (listBox) {
listBox.mouseChildren = false;
listBox.hideList();
}
gotoAndStop ("loading");
_scoreBoard.loadScores();
}
function _onScoresLoaded(event) {
_loading = false;
if (listBox) {
listBox.mouseChildren = true;
}
if (event.__get__success()) {
gotoAndStop ("scores");
} else {
gotoAndPlay ("error");
}
}
function _onPageClick() {
var _local2 = this;
if (_scoreBoard && (!_loading)) {
if (_local2 == prevButton) {
_scoreBoard.prevPage();
} else {
_scoreBoard.nextPage();
}
loadScores();
}
}
function _onListChange(selection) {
period = selection.data;
loadScores();
}
var title;
var scoreBoardName;
var period;
if (!title) {
title = "High Scores";
}
if (!period) {
period = com.newgrounds.ScoreBoard.ALL_TIME;
}
var _scoreBoard;
var _loading;
var _numScores = 10;
var _listItems = [com.newgrounds.ScoreBoard.TODAY, com.newgrounds.ScoreBoard.THIS_WEEK, com.newgrounds.ScoreBoard.THIS_MONTH, com.newgrounds.ScoreBoard.THIS_YEAR, com.newgrounds.ScoreBoard.ALL_TIME];
_x = int(_x);
_y = int(_y);
if (titleText) {
titleText.text = title;
}
if (prevButton) {
prevButton.onRelease = _onPageClick;
}
if (nextButton) {
nextButton.onRelease = _onPageClick;
}
gotoAndPlay ("error");
loadScores();
Symbol 256 MovieClip [ScoreBrowser] Frame 2
if (listBox) {
listBox.setListItems(_listItems);
listBox.setSelectedItem(period);
}
Symbol 256 MovieClip [ScoreBrowser] Frame 11
function onScoreClick() {
var _local3 = MovieClip(this);
if (_local3.usernameText) {
_root.getURL(("http://" + _local3.usernameText.text) + ".newgrounds.com", "_blank");
}
}
var i = 0;
var scoreClip = scoreContainer.score0;
while (scoreClip) {
var score = com.newgrounds.Score(_scoreBoard.scores[i]);
if (score) {
if (scoreClip.rankText) {
scoreClip.rankText.text = score.__get__rank().toString();
}
if (scoreClip.usernameText) {
scoreClip.usernameText.text = score.username;
}
if (scoreClip.scoreText) {
scoreClip.scoreText.text = score.score;
}
scoreClip.onRelease = onScoreClick;
} else {
if (scoreClip.rankText) {
scoreClip.rankText.text = "";
}
if (scoreClip.usernameText) {
scoreClip.usernameText.text = "";
}
if (scoreClip.scoreText) {
scoreClip.scoreText.text = "";
}
scoreClip.enabled = false;
}
i++;
scoreClip = scoreContainer["score" + i];
}
Symbol 256 MovieClip [ScoreBrowser] Frame 21
function onReloadClick() {
loadScores();
}
if (reloadButton) {
reloadButton.onRelease = onReloadClick;
}
Symbol 256 MovieClip [ScoreBrowser] Frame 30
stop();
Instance of Symbol 256 MovieClip [ScoreBrowser] in Symbol 257 MovieClip [mcAllScoreBrowser] Frame 1
//component parameters
onClipEvent (construct) {
scoreBoardName = "Easy - 1 Game";
period = "All-Time";
title = "Easy - 1 Game";
}
Instance of Symbol 256 MovieClip [ScoreBrowser] in Symbol 257 MovieClip [mcAllScoreBrowser] Frame 2
//component parameters
onClipEvent (construct) {
scoreBoardName = " Easy - 5 Games";
period = "All-Time";
title = "Easy - 5 Games";
}
Instance of Symbol 256 MovieClip [ScoreBrowser] in Symbol 257 MovieClip [mcAllScoreBrowser] Frame 3
//component parameters
onClipEvent (construct) {
scoreBoardName = "Easy - 10 Games";
period = "All-Time";
title = "Easy - 10 Games";
}
Instance of Symbol 256 MovieClip [ScoreBrowser] in Symbol 257 MovieClip [mcAllScoreBrowser] Frame 4
//component parameters
onClipEvent (construct) {
scoreBoardName = " Easy - 25 Games";
period = "All-Time";
title = "Easy - 25 Games";
}
Instance of Symbol 256 MovieClip [ScoreBrowser] in Symbol 257 MovieClip [mcAllScoreBrowser] Frame 5
//component parameters
onClipEvent (construct) {
scoreBoardName = "Medium - 1 Game";
period = "All-Time";
title = "Medium - 1 Game";
}
Instance of Symbol 256 MovieClip [ScoreBrowser] in Symbol 257 MovieClip [mcAllScoreBrowser] Frame 6
//component parameters
onClipEvent (construct) {
scoreBoardName = "Medium - 5 Games";
period = "All-Time";
title = "Medium - 5 Games";
}
Instance of Symbol 256 MovieClip [ScoreBrowser] in Symbol 257 MovieClip [mcAllScoreBrowser] Frame 7
//component parameters
onClipEvent (construct) {
scoreBoardName = "Medium - 10 Games";
period = "All-Time";
title = "Medium - 10 Games";
}
Instance of Symbol 256 MovieClip [ScoreBrowser] in Symbol 257 MovieClip [mcAllScoreBrowser] Frame 8
//component parameters
onClipEvent (construct) {
scoreBoardName = "Medium - 25 Games";
period = "All-Time";
title = "Medium - 25 Games";
}
Instance of Symbol 256 MovieClip [ScoreBrowser] in Symbol 257 MovieClip [mcAllScoreBrowser] Frame 9
//component parameters
onClipEvent (construct) {
scoreBoardName = "Hard - 1 Game";
period = "All-Time";
title = "Hard - 1 Game";
}
Instance of Symbol 256 MovieClip [ScoreBrowser] in Symbol 257 MovieClip [mcAllScoreBrowser] Frame 10
//component parameters
onClipEvent (construct) {
scoreBoardName = "Hard - 5 Games";
period = "All-Time";
title = "Hard - 5 Games";
}
Instance of Symbol 256 MovieClip [ScoreBrowser] in Symbol 257 MovieClip [mcAllScoreBrowser] Frame 11
//component parameters
onClipEvent (construct) {
scoreBoardName = " Hard - 10 Games";
period = "All-Time";
title = "Hard - 10 Games";
}
Instance of Symbol 256 MovieClip [ScoreBrowser] in Symbol 257 MovieClip [mcAllScoreBrowser] Frame 12
//component parameters
onClipEvent (construct) {
scoreBoardName = " Hard - 25 Games";
period = "All-Time";
title = "Hard - 25 Games";
}
Instance of Symbol 308 MovieClip [mcBgBlockNew] in Symbol 335 MovieClip Frame 1
onClipEvent (enterFrame) {
stop();
}
Instance of Symbol 308 MovieClip [mcBgBlockNew] in Symbol 335 MovieClip Frame 1
onClipEvent (enterFrame) {
stop();
}
Instance of Symbol 308 MovieClip [mcBgBlockNew] in Symbol 335 MovieClip Frame 1
onClipEvent (enterFrame) {
stop();
}
Instance of Symbol 308 MovieClip [mcBgBlockNew] in Symbol 335 MovieClip Frame 1
onClipEvent (enterFrame) {
stop();
}
Instance of Symbol 308 MovieClip [mcBgBlockNew] in Symbol 335 MovieClip Frame 1
onClipEvent (enterFrame) {
stop();
}
Instance of Symbol 308 MovieClip [mcBgBlockNew] in Symbol 335 MovieClip Frame 1
onClipEvent (enterFrame) {
stop();
}
Instance of Symbol 308 MovieClip [mcBgBlockNew] in Symbol 335 MovieClip Frame 1
onClipEvent (enterFrame) {
stop();
}
Instance of Symbol 308 MovieClip [mcBgBlockNew] in Symbol 335 MovieClip Frame 1
onClipEvent (enterFrame) {
stop();
}
Instance of Symbol 308 MovieClip [mcBgBlockNew] in Symbol 335 MovieClip Frame 1
onClipEvent (enterFrame) {
stop();
}
Instance of Symbol 308 MovieClip [mcBgBlockNew] in Symbol 335 MovieClip Frame 1
onClipEvent (enterFrame) {
stop();
}
Instance of Symbol 308 MovieClip [mcBgBlockNew] in Symbol 335 MovieClip Frame 1
onClipEvent (enterFrame) {
stop();
}
Instance of Symbol 308 MovieClip [mcBgBlockNew] in Symbol 335 MovieClip Frame 1
onClipEvent (enterFrame) {
stop();
}
Instance of Symbol 308 MovieClip [mcBgBlockNew] in Symbol 335 MovieClip Frame 1
onClipEvent (enterFrame) {
stop();
}
Instance of Symbol 308 MovieClip [mcBgBlockNew] in Symbol 335 MovieClip Frame 1
onClipEvent (enterFrame) {
stop();
}
Instance of Symbol 308 MovieClip [mcBgBlockNew] in Symbol 335 MovieClip Frame 1
onClipEvent (enterFrame) {
stop();
}
Instance of Symbol 308 MovieClip [mcBgBlockNew] in Symbol 335 MovieClip Frame 1
onClipEvent (enterFrame) {
stop();
}
Instance of Symbol 308 MovieClip [mcBgBlockNew] in Symbol 335 MovieClip Frame 1
onClipEvent (enterFrame) {
stop();
}
Instance of Symbol 308 MovieClip [mcBgBlockNew] in Symbol 335 MovieClip Frame 1
onClipEvent (enterFrame) {
stop();
}
Instance of Symbol 308 MovieClip [mcBgBlockNew] in Symbol 335 MovieClip Frame 1
onClipEvent (enterFrame) {
stop();
}
Instance of Symbol 308 MovieClip [mcBgBlockNew] in Symbol 335 MovieClip Frame 1
onClipEvent (enterFrame) {
stop();
}
Symbol 343 MovieClip [mctutCharCustom] Frame 1
textbox = "";
tutChar.gotoAndStop("idle");
Symbol 343 MovieClip [mctutCharCustom] Frame 2
speech = "Choose the amount of boards for your custom game. (Any number from 1 to 99)";
textbox = "";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
}
};
Symbol 343 MovieClip [mctutCharCustom] Frame 3
speech = "Makes the blocks on the game board how they are on hard, with the color only reappearing briefly when you move a block.";
textbox = "";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
}
};
Symbol 343 MovieClip [mctutCharCustom] Frame 4
speech = "Choose between an easy sorted solution or a randomized shuffled solution. Only applies to non seeded games.";
textbox = "";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
}
};
Symbol 343 MovieClip [mctutCharCustom] Frame 5
speech = "Enables the move timer like on hard, with the ability to choose the amount of time before a block is moved. (Any number from 1 to 99)";
textbox = "";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
}
};
Symbol 343 MovieClip [mctutCharCustom] Frame 6
speech = "Play a game with a board layout based on the seed in the seed input box.";
textbox = "";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
}
};
Symbol 343 MovieClip [mctutCharCustom] Frame 7
speech = "Play a game with randomized game boards and solutions like the normal game.";
textbox = "";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
}
};
Symbol 343 MovieClip [mctutCharCustom] Frame 8
speech = "Enter a game seed here! (R,G,B and Y are block colors, with E being an empty spot. First 20 letters are the game board, last 20 are for the solution.)";
textbox = "";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
}
};
Symbol 343 MovieClip [mctutCharCustom] Frame 9
speech = "Click on this if pasting isn't working. Will give you an in browser prompt for pasting the seed.";
textbox = "";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
}
};
Symbol 343 MovieClip [mctutCharCustom] Frame 10
speech = "Welcome to the custom game screen! Pick and choose from the options here to play a customized seeded or non seeded game. (Click on me if you'd like an explanation on seeds or any option here)";
textbox = "";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
}
};
Symbol 343 MovieClip [mctutCharCustom] Frame 11
speech = "Click on me again for an explanation on seeds in depth or click on any option to have me explain it! (You can leave this mode by clicking on this text box)";
textbox = "";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
}
};
Symbol 343 MovieClip [mctutCharCustom] Frame 12
speech = "First, lets go over the letters and what they represent in the seed! (Click the screen to continue)";
textbox = "";
i = 0;
soundint = 0;
_root.nextArrowPlay = 0;
nextArrow.gotoAndStop(20);
_root.thisCharacter = _root.tutCharCustomEmbedded;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (_root.nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
_root.nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (_root.nextArrowPlay == 1) {
_root.thisCharacter.gotoAndStop(13);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 343 MovieClip [mctutCharCustom] Frame 13
speech = "R or Red, represents this block shown above.";
textbox = "";
i = 0;
soundint = 0;
_root.nextArrowPlay = 0;
nextArrow.gotoAndStop(20);
_root.thisCharacter = _root.tutCharCustomEmbedded;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (_root.nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
_root.nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (_root.nextArrowPlay == 1) {
_root.thisCharacter.gotoAndStop(14);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 343 MovieClip [mctutCharCustom] Frame 14
speech = "G or Green, is this block shown above here.";
textbox = "";
i = 0;
soundint = 0;
_root.nextArrowPlay = 0;
nextArrow.gotoAndStop(20);
_root.thisCharacter = _root.tutCharCustomEmbedded;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (_root.nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
_root.nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (_root.nextArrowPlay == 1) {
_root.thisCharacter.gotoAndStop(15);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 343 MovieClip [mctutCharCustom] Frame 15
speech = "B or Blue, would be this block as seen above here.";
textbox = "";
i = 0;
soundint = 0;
_root.nextArrowPlay = 0;
nextArrow.gotoAndStop(20);
_root.thisCharacter = _root.tutCharCustomEmbedded;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (_root.nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
_root.nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (_root.nextArrowPlay == 1) {
_root.thisCharacter.gotoAndStop(16);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 343 MovieClip [mctutCharCustom] Frame 16
speech = "The final block, Y or Yellow is this block shown here.";
textbox = "";
i = 0;
soundint = 0;
_root.nextArrowPlay = 0;
nextArrow.gotoAndStop(20);
_root.thisCharacter = _root.tutCharCustomEmbedded;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (_root.nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
_root.nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (_root.nextArrowPlay == 1) {
_root.thisCharacter.gotoAndStop(17);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 343 MovieClip [mctutCharCustom] Frame 17
speech = "The final letter you'll encounter here is E, which represents 'Empty', being the empty spot on game board or solution.";
textbox = "";
i = 0;
soundint = 0;
_root.nextArrowPlay = 0;
nextArrow.gotoAndStop(20);
_root.thisCharacter = _root.tutCharCustomEmbedded;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (_root.nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
_root.nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (_root.nextArrowPlay == 1) {
_root.thisCharacter.gotoAndStop(18);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 343 MovieClip [mctutCharCustom] Frame 18
speech = "Let's take a look at a seed here. Shown above is the seed 'RRGGGEBYYBRBYGYYGRBBRRRREBBBBBYYYYYGGGGG'";
textbox = "";
i = 0;
soundint = 0;
_root.nextArrowPlay = 0;
nextArrow.gotoAndStop(20);
_root.thisCharacter = _root.tutCharCustomEmbedded;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (_root.nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
_root.nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (_root.nextArrowPlay == 1) {
_root.thisCharacter.gotoAndStop(19);
}
};
tutChar.gotoAndStop("idle");
}
};
Instance of Symbol 94 MovieClip [mcGreenBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 94 MovieClip [mcGreenBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 94 MovieClip [mcGreenBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 94 MovieClip [mcGreenBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 94 MovieClip [mcGreenBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 100 MovieClip [mcBlueBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 100 MovieClip [mcBlueBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 100 MovieClip [mcBlueBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 100 MovieClip [mcBlueBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 100 MovieClip [mcBlueBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 316 MovieClip [mcRedBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 316 MovieClip [mcRedBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 316 MovieClip [mcRedBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 316 MovieClip [mcRedBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 314 MovieClip [mcYellowBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 314 MovieClip [mcYellowBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 314 MovieClip [mcYellowBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 314 MovieClip [mcYellowBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 314 MovieClip [mcYellowBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 94 MovieClip [mcGreenBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 94 MovieClip [mcGreenBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 94 MovieClip [mcGreenBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 94 MovieClip [mcGreenBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 94 MovieClip [mcGreenBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 100 MovieClip [mcBlueBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 100 MovieClip [mcBlueBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 100 MovieClip [mcBlueBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 100 MovieClip [mcBlueBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 100 MovieClip [mcBlueBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 316 MovieClip [mcRedBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 316 MovieClip [mcRedBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 316 MovieClip [mcRedBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 316 MovieClip [mcRedBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 314 MovieClip [mcYellowBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 314 MovieClip [mcYellowBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 314 MovieClip [mcYellowBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 314 MovieClip [mcYellowBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Instance of Symbol 314 MovieClip [mcYellowBlock] in Symbol 343 MovieClip [mctutCharCustom] Frame 18
onClipEvent (enterFrame) {
blockBW._alpha = 0;
}
Symbol 343 MovieClip [mctutCharCustom] Frame 19
speech = "The first 20 letters here 'RRGGGEBYYBRBYGYYGRBB' represent the layout of the game board.";
textbox = "";
i = 0;
soundint = 0;
_root.nextArrowPlay = 0;
nextArrow.gotoAndStop(20);
_root.thisCharacter = _root.tutCharCustomEmbedded;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (_root.nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
_root.nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (_root.nextArrowPlay == 1) {
_root.thisCharacter.gotoAndStop(20);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 343 MovieClip [mctutCharCustom] Frame 20
speech = "The last 20 letters in the seed 'RRRREBBBBBYYYYYGGGGG' is for solution's layout.";
textbox = "";
i = 0;
soundint = 0;
_root.nextArrowPlay = 0;
nextArrow.gotoAndStop(20);
_root.thisCharacter = _root.tutCharCustomEmbedded;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (_root.nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
_root.nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (_root.nextArrowPlay == 1) {
_root.thisCharacter.gotoAndStop(21);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 343 MovieClip [mctutCharCustom] Frame 21
speech = "With this understanding, as long as your seed has 4 Rs, 5 Gs, 5 Bs, 5 Ys and 1 E for both the first 20 letters and last 20...";
textbox = "";
i = 0;
soundint = 0;
_root.nextArrowPlay = 0;
nextArrow.gotoAndStop(20);
_root.thisCharacter = _root.tutCharCustomEmbedded;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (_root.nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
_root.nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (_root.nextArrowPlay == 1) {
_root.thisCharacter.gotoAndStop(22);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 343 MovieClip [mctutCharCustom] Frame 22
speech = "you can tinker with the seed and type in whatever you'd like! As long as you follow that set of rules.";
textbox = "";
i = 0;
soundint = 0;
_root.nextArrowPlay = 0;
nextArrow.gotoAndStop(20);
_root.thisCharacter = _root.tutCharCustomEmbedded;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (_root.nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
_root.nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (_root.nextArrowPlay == 1) {
_root.thisCharacter.gotoAndStop(23);
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 343 MovieClip [mctutCharCustom] Frame 23
speech = "Good luck and have fun playing around with the options here!";
textbox = "";
i = 0;
soundint = 0;
_root.nextArrowPlay = 0;
nextArrow.gotoAndStop(20);
_root.thisCharacter = _root.tutCharCustomEmbedded;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
if (_root.nextArrowPlay == 0) {
nextArrow.gotoAndPlay(1);
_root.nextArrowPlay = 1;
}
_root.onMouseDown = function () {
if (_root.nextArrowPlay == 1) {
_root.tutorialDone = 1;
}
};
tutChar.gotoAndStop("idle");
}
};
Symbol 364 MovieClip [mcScreenWipe] Frame 5
if (_root.sfxToggle == 1) {
_root.sndWhoosh.start(0, 1);
}
Symbol 379 MovieClip [mctutCharMenu] Frame 1
textbox = "";
tutChar.gotoAndStop("idle");
Symbol 379 MovieClip [mctutCharMenu] Frame 2
speech = "Complete easy to unlock this difficulty.";
textbox = "";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
}
};
Symbol 379 MovieClip [mctutCharMenu] Frame 3
speech = "Complete medium to unlock this difficulty.";
textbox = "";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
}
};
Symbol 379 MovieClip [mctutCharMenu] Frame 4
speech = "Complete hard to unlock this difficulty.";
textbox = "";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
}
};
Symbol 379 MovieClip [mctutCharMenu] Frame 5
speech = "Go give everyone some love. <3";
textbox = "";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
}
};
Symbol 379 MovieClip [mctutCharMenu] Frame 6
speech = "View your high scores as well as other scores posted online. Make sure you're logged in to have yours posted as well!";
textbox = "";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
}
};
Symbol 379 MovieClip [mctutCharMenu] Frame 7
speech = "Slide blocks into position based on the simple solution given.";
textbox = "";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
}
};
Symbol 379 MovieClip [mctutCharMenu] Frame 8
speech = "Similar to easy with the exception of the solution being more challenging.";
textbox = "";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
}
};
Symbol 379 MovieClip [mctutCharMenu] Frame 9
speech = "All blocks lose their color, only flashing when moved. Added move timer that will swap two blocks of different color if a unique move isn't performed before the move timer hits 0.";
textbox = "";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
}
};
Symbol 379 MovieClip [mctutCharMenu] Frame 10
speech = "Play a game where you set the rules! Play boards based on a seed or randomly shuffled. Change parameters around to your liking!";
textbox = "";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
}
};
Symbol 379 MovieClip [mctutCharMenu] Frame 11
speech = "Hi, I'm DD! Click on me if you'd like to do the tutorial or need me to explain a certain menu option!";
if (_root.storedProgress.data.firstTimeBoot == 0) {
_root.storedProgress.data.firstTimeBoot = 1;
_root.storedProgress.flush();
}
textbox = "";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
}
};
Symbol 379 MovieClip [mctutCharMenu] Frame 12
speech = "Click on me again for the tutorial, or click on any option to have me explain it! (You can leave this mode by clicking on this text box.)";
textbox = "";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
}
};
Symbol 379 MovieClip [mctutCharMenu] Frame 13
speech = "It looks like this is your first time playing POLY POLY POLY. Would you like to do the tutorial first?";
textbox = "";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("speaking");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
_root.tutCharEmbedded.gotoAndStop(14);
}
};
Symbol 379 MovieClip [mctutCharMenu] Frame 14
speech = "It looks like this is your first time playing POLY POLY POLY. Would you like to do the tutorial first?";
textbox = "It looks like this is your first time playing POLY POLY POLY. Would you like to do the tutorial first?";
i = 0;
soundint = 0;
onEnterFrame = function () {
if (textbox.length != speech.length) {
textbox = speech.slice(0, i + 1);
i = i + 2;
soundint++;
tutChar.gotoAndStop("idle");
if (speech.charAt(i) == " ") {
} else if ((soundint % 2) == 1) {
if (_root.sfxToggle == 1) {
_root.sndTalking.start(0, 1);
}
}
} else {
tutChar.gotoAndStop("idle");
}
};
btnYes.onRelease = function () {
_root.tutorialRequest = 1;
_root.screenWipe.gotoAndPlay(1);
_root.storedProgress.data.firstTimeBoot = 1;
_root.storedProgress.flush();
};
btnNo.onRelease = function () {
_root.storedProgress.data.firstTimeBoot = 1;
_root.storedProgress.flush();
gotoAndStop (1);
};
Symbol 406 MovieClip Frame 1
stop();
Symbol 416 MovieClip Frame 1
stop();
Symbol 417 MovieClip [Preloader] Frame 1
function enterFrameHandler() {
var _local2 = 0;
_local2 = _root.getBytesLoaded() / _root.getBytesTotal();
if (loadingBar) {
loadingBar.gotoAndStop(int(_local2 * (loadingBar._totalframes - 1)) + 1);
}
if (_local2 >= 1) {
onEnterFrame = null;
gotoAndStop ("loaded");
}
}
stop();
var autoPlay;
var className;
onEnterFrame = enterFrameHandler;
Symbol 417 MovieClip [Preloader] Frame 10
function _onPlayClick() {
_root.nextFrame();
_root.play();
_parent._onLoaded();
}
if (playButton) {
playButton.onRelease = _onPlayClick;
playButton.stop();
}
if (autoPlay) {
_onPlayClick(null);
}
Symbol 419 MovieClip [Newgrounds API Classes] Frame 1
#initclip 26
Object.registerClass("Newgrounds API Classes", com.newgrounds.shims.APIShim);
#endinitclip
Symbol 474 MovieClip [FlashAd] Frame 1
#initclip 27
Object.registerClass("FlashAd", com.newgrounds.components.FlashAdBase);
#endinitclip
stop();
Symbol 474 MovieClip [FlashAd] Frame 30
function onPlayClick() {
removeAd();
_visible = false;
}
if (this.playButton) {
this.playButton.onRelease = onPlayClick;
}
Symbol 475 MovieClip [APIConnector] Frame 1
function _onLoaded() {
gotoAndStop ("invisible");
if (_redirect) {
com.newgrounds.API.loadOfficialVersion();
return(undefined);
}
}
function _apiConnect() {
var _local2 = com.newgrounds.API;
if (_local2 && (!_local2.connected)) {
if (!apiId) {
com.newgrounds.Logger.logError("No API ID entered in the API Connector component.", "You can create an API ID for this submission at http://newgrounds.com/account/flashapi", "Enter your API ID into the API Connector using the Component Inspector (Window -> Component Inspector).");
return(undefined);
}
switch (debugMode) {
case "Off" :
default :
_local2.debugMode = _local2.RELEASE_MODE;
break;
case "Simulate Logged-in User" :
_local2.debugMode = _local2.DEBUG_MODE_LOGGED_IN;
break;
case "Simulate Logged-out User" :
_local2.debugMode = _local2.DEBUG_MODE_LOGGED_OUT;
break;
case "Simulate New Version" :
_local2.debugMode = _local2.DEBUG_MODE_NEW_VERSION;
break;
case "Simulate Host Blocked" :
_local2.debugMode = _local2.DEBUG_MODE_HOST_BLOCKED;
}
_local2.addEventListener(com.newgrounds.APIEvent.API_CONNECTED, _onConnected);
_local2.connect(_root, apiId, encryptionKey, movieVersion);
}
}
function _onConnected(event) {
if ((redirectOnNewVersion && (event.__get__success())) && (event.__get__data().newVersion)) {
_redirect = true;
}
if ((redirectOnHostBlocked && (!event.__get__success())) && (event.__get__error() == com.newgrounds.APIEvent.ERROR_HOST_BLOCKED)) {
_redirect = true;
}
if (_redirect) {
gotoAndStop ("adPreloader");
forceAlwaysOnTop();
}
}
function forceAlwaysOnTop() {
var _local2 = getNextHighestDepth();
swapDepths(_local2);
if (Stage) {
_x = ((Stage.width - _width) / 2);
_y = ((Stage.height - _height) / 2);
_visible = true;
}
if (_root && (_root instanceof MovieClip)) {
MovieClip(_root).stop();
}
}
stop();
if (_root && (_root instanceof MovieClip)) {
MovieClip(_root).stop();
}
var apiId;
var encryptionKey;
var movieVersion;
var debugMode;
var connectorType;
var redirectOnHostBlocked;
var redirectOnNewVersion;
var adType;
var className;
var _redirect;
_x = int(_x);
_y = int(_y);
if (!debugMode) {
debugMode = "Simulate Logged-in User";
}
if (!connectorType) {
connectorType = "Flash Ad + Preloader";
}
if (!adType) {
adType = "Video";
}
if (ad) {
ad.adType = adType;
}
switch (connectorType) {
case "Flash Ad + Preloader" :
gotoAndStop ("adPreloader");
break;
case "Flash Ad Only" :
gotoAndStop ("ad");
break;
case "Invisible" :
gotoAndStop ("invisible");
}
_apiConnect();
Instance of Symbol 474 MovieClip [FlashAd] "ad" in Symbol 475 MovieClip [APIConnector] Frame 1
//component parameters
onClipEvent (construct) {
apiId = "";
showBorder = true;
adType = "Video";
}
Instance of Symbol 417 MovieClip [Preloader] "loader" in Symbol 475 MovieClip [APIConnector] Frame 1
//component parameters
onClipEvent (construct) {
autoPlay = false;
mainClass = "";
}
Symbol 427 MovieClip [__Packages.com.newgrounds.APIConnection] Frame 0
class com.newgrounds.APIConnection
{
var _hostURL, hostDomain, sessionId, publisherId, encryptionKey, userEmail, username, userId, userpageFormat, initialized;
function APIConnection () {
reset();
}
function get hostURL() {
return(_hostURL);
}
function set hostURL(value) {
_hostURL = value;
hostDomain = null;
if (_hostURL) {
var _local2 = _hostURL.split("/");
if ((_local2[0] != "file:") && (_hostURL != "localhost")) {
hostDomain = _local2[2];
}
}
if (!hostDomain) {
hostDomain = "localhost";
}
//return(hostURL);
}
function get sandboxType() {
return(System.security.sandboxType);
}
function get isNetworkHost() {
switch (sandboxType) {
case "localWithFile" :
case "localWithNetwork" :
case "localTrusted" :
case "application" :
return(false);
case "remote" :
}
return(true);
}
function get hasUserSession() {
return(((sessionId != null) && (sessionId != "")) && (publisherId != 0));
}
function get connected() {
return(connectionState == CONNECTED);
}
function reset() {
connectionState = NOT_CONNECTED;
encryptionKey = null;
sessionId = null;
userEmail = null;
username = null;
userId = 0;
userpageFormat = 0;
}
function assertInitialized() {
if (!initialized) {
com.newgrounds.Logger.logError("You must initialized the API using API.connect() before using this command.");
return(false);
}
return(true);
}
function assertConnected() {
if ((!connectionState) == CONNECTED) {
com.newgrounds.Logger.logError("You must establish a connection using API.connect() before using this command.");
return(false);
}
return(true);
}
function sendSimpleCommand(command, completeHandler, parameters, secureParameters) {
if (parameters == undefined) {
parameters = null;
}
if (secureParameters == undefined) {
secureParameters = null;
}
var _local2 = new com.newgrounds.APICommand(command);
_local2.__set__parameters(parameters);
_local2.__set__secureParameters(secureParameters);
if (completeHandler != null) {
_local2.addEventListener(com.newgrounds.APIEvent.COMMAND_COMPLETE, completeHandler);
}
_local2.send(this);
}
function sendCommand(command) {
command.send(this);
}
function loadInBrowser(command, newWindow, parameters) {
if (newWindow == undefined) {
newWindow = true;
}
if (parameters == undefined) {
parameters = null;
}
var _local2 = new com.newgrounds.APICommand(command);
_local2.__set__parameters(parameters);
_local2.loadInBrowser(this, newWindow);
}
static var NOT_CONNECTED = "notConnected";
static var CONNECTING = "connecting";
static var CONNECTED = "connected";
var connectionState = NOT_CONNECTED;
var apiURL = "http://www.ngads.com/gateway_v2.php";
}
Symbol 421 MovieClip [__Packages.com.newgrounds.EventDispatcher] Frame 0
class com.newgrounds.EventDispatcher
{
var _listeners;
function EventDispatcher () {
_listeners = {};
}
function addEventListener(type, listener) {
if (!_listeners[type]) {
_listeners[type] = [];
}
if (typeof(listener) == "function") {
_listeners[type].push({target:null, func:listener});
} else {
_listeners[type].push(listener);
}
}
function removeEventListener(type, listener) {
var _local3 = _listeners[type];
if (_local3) {
var _local5 = _local3.length;
var _local2 = 0;
while (_local2 < _local5) {
if ((_local3[_local2].func == listener) || (_local3[_local2] == listener)) {
_local3.splice(_local2, 1);
return(undefined);
}
_local2++;
}
}
}
function dispatchEvent(event) {
var _local4 = _listeners[event.__get__type()];
if (_local4) {
var _local5 = _local4.length;
var _local2 = 0;
while (_local2 < _local5) {
var _local3 = _local4[_local2];
_local3.func.call(_local3.target, event);
_local2++;
}
}
return(true);
}
}
Symbol 420 MovieClip [__Packages.com.newgrounds.Event] Frame 0
class com.newgrounds.Event
{
var _type;
function Event (type) {
_type = type;
}
function get type() {
return(_type);
}
}
Symbol 422 MovieClip [__Packages.com.newgrounds.APIEventDispatcher] Frame 0
class com.newgrounds.APIEventDispatcher extends com.newgrounds.EventDispatcher
{
static var _globalDispatcher;
function APIEventDispatcher () {
super();
}
static function get globalDispatcher() {
return(_globalDispatcher);
}
static function set globalDispatcher(value) {
_globalDispatcher = value;
//return(globalDispatcher);
}
static function initEventQueue() {
setInterval(runEventQueue, 50);
return([]);
}
function dispatchEvent(event) {
_eventQueue.push({dispatcher:this, event:event});
return(true);
}
function actualDispatchEvent(event) {
var _local3 = super.dispatchEvent(event);
if (_globalDispatcher && (this != _globalDispatcher)) {
_globalDispatcher.dispatchEvent(event);
}
}
static function runEventQueue(event) {
var _local3 = _eventQueue.length;
if (_local3) {
var _local4 = _eventQueue;
_eventQueue = [];
var _local1 = 0;
while (_local1 < _local3) {
var _local2 = _local4[_local1];
_local2.dispatcher.actualDispatchEvent(_local2.event);
_local1++;
}
}
}
static var _eventQueue = initEventQueue();
}
Symbol 425 MovieClip [__Packages.com.newgrounds.encoders.BaseN] Frame 0
class com.newgrounds.encoders.BaseN
{
var _hash, _base, _reverseHash;
function BaseN (hash) {
if (hash) {
_hash = hash;
} else {
_hash = DEFAULT_HASH;
}
_base = _hash.length;
_reverseHash = new Object();
var _local2 = 0;
while (_local2 < _hash.length) {
_reverseHash[_hash.charAt(_local2)] = _local2;
_local2++;
}
}
function encodeUint(number, minimumChars) {
if (minimumChars == undefined) {
minimumChars = 1;
}
var _local2 = "";
var _local3 = number;
while (_local3 != 0) {
_local2 = _hash.charAt(_local3 % _base) + _local2;
_local3 = _local3 / _base;
_local3 = int(_local3);
}
while (_local2.length < minimumChars) {
_local2 = _hash.charAt(0) + _local2;
}
return(_local2);
}
function decodeUint(encodedNumber) {
var _local3 = 0;
var _local2 = 0;
while (_local2 < encodedNumber.length) {
_local3 = _local3 * _base;
_local3 = _local3 + _reverseHash[encodedNumber.charAt(_local2)];
_local2++;
}
return(_local3);
}
static var DEFAULT_HASH = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`~@#$%^&*()+|;/";
}
Symbol 431 MovieClip [__Packages.com.newgrounds.APICommand] Frame 0
class com.newgrounds.APICommand extends com.newgrounds.APIEventDispatcher
{
static var _throttleTimestamp, bridge;
var _command, _parameters, _secureParameters, _hasTimeout, _preventCache, _files, _loader, _timeoutTimer, dispatchEvent;
function APICommand (command) {
super();
_command = command;
_parameters = new Object();
_secureParameters = new Object();
_hasTimeout = true;
}
static function stopPendingCommands() {
for (var _local2 in _pendingCommands) {
var _local1 = _pendingCommands[_local2];
_local1.close();
}
_pendingCommands = [];
}
static function onThrottleTimer(event) {
if ((getTimer() - _throttleTimestamp) >= THROTTLE_INTERVAL) {
_throttleCount = 0;
_throttleCount = 0;
while (_commandQueue.length && (_throttleCount < THROTTLE_THRESHOLD)) {
var _local1 = _commandQueue.shift();
_local1.command.send(_local1.connection);
_throttleCount++;
}
}
}
static function encryptHex(hexValue) {
var _local4 = hexValue.length % 6;
var _local3 = "";
var _local1 = 0;
while (_local1 < hexValue.length) {
_local3 = _local3 + _encryptor.encodeUint(int("0x" + hexValue.substr(_local1, 6)), 4);
_local1 = _local1 + 6;
}
return(_local4.toString() + _local3);
}
function get command() {
return(_command);
}
function set command(value) {
_command = value;
//return(command);
}
function get hasTimeout() {
return(_hasTimeout);
}
function set hasTimeout(val) {
_hasTimeout = val;
//return(hasTimeout);
}
function get parameters() {
return(_parameters);
}
function set parameters(object) {
_parameters = new Object();
if (object) {
for (var _local3 in object) {
_parameters[_local3] = object[_local3];
}
}
//return(parameters);
}
function get preventCache() {
return(_preventCache);
}
function set preventCache(value) {
_preventCache = value;
//return(preventCache);
}
function get secureParameters() {
return(_secureParameters);
}
function set secureParameters(object) {
_secureParameters = new Object();
if (object) {
for (var _local3 in object) {
_secureParameters[_local3] = object[_local3];
}
}
//return(secureParameters);
}
function get hasSecureParameters() {
for (var _local2 in _secureParameters) {
return(true);
}
return(false);
}
function addFile(filename, data, dataField, contentType) {
if (contentType == undefined) {
contentType = "application/octet-stream";
}
if (!_files) {
_files = new Object();
}
var _local3 = {filename:filename, data:data, dataField:dataField, contentType:contentType};
_files[filename] = _local3;
}
function removeFile(filename) {
if (_files) {
delete _files[filename];
}
}
function clearFiles() {
_files = null;
}
function close() {
if (_loader) {
clearInterval(_timeoutTimer);
var _local2 = 0;
while (_local2 < _pendingCommands.length) {
if (_pendingCommands[_local2] == this) {
_pendingCommands.splice(_local2, 1);
break;
}
_local2++;
}
_loader = null;
}
}
function loadInBrowser(connection, newWindow) {
_parameters.command_id = _command;
_parameters.tracker_id = (connection.apiId ? (connection.apiId) : 1);
if (connection.debug) {
_parameters.debug = 1;
}
var _local3 = (connection.apiURL + "?host=") + escape(connection.hostDomain);
for (var _local4 in _parameters) {
_local3 = _local3 + ((("&" + escape(_local4)) + "=") + escape(_parameters[_local4]));
}
var _local6;
if (newWindow) {
_local6 = "_blank";
} else {
_local6 = "_top";
}
_root.getURL(_local3, _local6);
}
function send(connection) {
if (_throttleCount >= THROTTLE_THRESHOLD) {
_commandQueue.push({connection:connection, command:this});
} else {
sendInternal(connection);
}
}
function sendInternal(connection) {
var _local4;
_local4 = new LoadVars();
_local4.command_id = _command;
_local4.tracker_id = connection.apiId;
if (connection.debug) {
_local4.debug = 1;
}
if (_preventCache) {
_local4.seed = Math.random();
}
var _local2;
var _local3;
var _local7;
for (_local2 in _parameters) {
_local3 = _parameters[_local2];
if (_local3 != null) {
if (typeof(_local3) == "boolean") {
_local4[_local2] = int(_local3);
} else {
_local4[_local2] = _local3;
}
}
}
if (hasSecureParameters) {
var _local6 = new Object();
for (_local2 in _secureParameters) {
_local3 = _secureParameters[_local2];
if (_local3 != null) {
if (typeof(_local3) == "boolean") {
_local6[_local2] = int(_local3);
} else {
_local6[_local2] = _local3;
}
}
}
var _local8 = "";
_local7 = 0;
while (_local7 < 16) {
_local8 = _local8 + ENCRYPTOR_RADIX.charAt(int(Math.random() * ENCRYPTOR_RADIX.length));
_local7++;
}
_local4.command_id = "securePacket";
_local6.command_id = _command;
_local6.as_version = 3;
_local6.session_id = connection.sessionId;
_local6.user_email = connection.userEmail;
_local6.publisher_id = connection.publisherId;
_local6.seed = _local8;
var _local13 = com.newgrounds.crypto.MD5.hash(_local8);
var _local11 = com.newgrounds.crypto.RC4.encrypt(com.newgrounds.encoders.json.JSON.encode(_local6), connection.encryptionKey);
_local4.secure = encryptHex(_local13 + _local11);
}
com.newgrounds.Logger.logInternal("Sending packet:", _local4);
var _local12;
_local12 = "application/x-www-form-urlencoded";
for (_local2 in _local4) {
if (typeof(_local4[_local2]) == "object") {
_local4[_local2] = com.newgrounds.encoders.json.JSON.encode(_local4[_local2]);
}
}
if (_files) {
for (var _local10 in _files) {
var _local5 = _files[_local10];
if (typeof(_local5.data) == "string") {
_local4[_local10] = _local5.data;
} else {
_local4[_local10] = com.newgrounds.encoders.json.JSON.encode(_local5.data);
}
}
}
_pendingCommands.push(this);
_throttleCount++;
_throttleTimestamp = getTimer();
startLoader(connection.apiURL, _local4, _local12);
}
function startLoader(url, data, contentType) {
_loader = LoadVars(data);
_loader.onData = as2CompleteHandler;
_loader.contentType = contentType;
_loader.sendAndLoad(url, _loader, "POST");
if (_hasTimeout) {
setInterval(this, onTimeout, TIMEOUT_INTERVAL);
}
}
function as2CompleteHandler(data) {
var _local3;
var _local2 = 0;
while (_local2 < _pendingCommands.length) {
if (_pendingCommands[_local2]._loader == this) {
_local3 = _pendingCommands[_local2];
break;
}
_local2++;
}
_local3.onComplete(data);
}
function onTimeout(event) {
close();
com.newgrounds.Logger.logError("Command timed out.");
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.COMMAND_COMPLETE, null, com.newgrounds.APIEvent.ERROR_TIMED_OUT));
}
function onError(error) {
com.newgrounds.Logger.logError("Error when sending command:", error);
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.COMMAND_COMPLETE, null, com.newgrounds.APIEvent.ERROR_UNKNOWN));
close();
}
function onComplete(data) {
try {
if ((!data) || (data == "")) {
throw new Error();
}
com.newgrounds.Logger.logInternal("Received packet:", data);
var _local2 = com.newgrounds.encoders.json.JSON.decode(data);
if (!_local2) {
throw new Error();
}
if (bridge) {
bridge.sendEvent(_local2.command_id, _local2);
}
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.COMMAND_COMPLETE, _local2, ((_local2 && (_local2.success)) ? (com.newgrounds.APIEvent.ERROR_NONE) : (com.newgrounds.APIEvent.ERROR_COMMAND_FAILED))));
} catch(e) {
com.newgrounds.Logger.logError("Invalid response returned from server: " + data);
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.COMMAND_COMPLETE, null, com.newgrounds.APIEvent.ERROR_BAD_RESPONSE));
}
close();
}
static var TIMEOUT_INTERVAL = 10000;
static var THROTTLE_INTERVAL = 10050;
static var THROTTLE_TICK_INTERVAL = 1000;
static var THROTTLE_THRESHOLD = 24;
static var _throttleCount = 0;
static var _commandQueue = [];
static var _throttleTimer = setInterval(onThrottleTimer, THROTTLE_TICK_INTERVAL);
static var ENCRYPTOR_RADIX = "/g8236klvBQ#&|;Zb*7CEA59%s`Oue1wziFp$rDVY@TKxUPWytSaGHJ>dmoMR^<0~4qNLhc(I+fjn)X";
static var _encryptor = new com.newgrounds.encoders.BaseN(ENCRYPTOR_RADIX);
static var _pendingCommands = [];
static var CRLF = "\r\n";
}
Symbol 426 MovieClip [__Packages.com.newgrounds.Bridge] Frame 0
class com.newgrounds.Bridge
{
var _widgetId, _inConnection, _outConnection;
function Bridge (id) {
_widgetId = id;
_inConnection = new LocalConnection();
_outConnection = new LocalConnection();
_inConnection.receiveEvent = receiveEvent;
try {
_inConnection.connect("rec_" + _widgetId);
} catch(error) {
}
com.newgrounds.Logger.addEventListener(com.newgrounds.APIEvent.LOG, {target:this, func:onLogMessage});
}
function onLogMessage(event) {
try {
_outConnection.send(_widgetId, "sendEvent", "trace", String(event.__get__data()));
} catch(error) {
}
}
function sendEvent(command, parameters) {
if (_outConnection) {
parameters = {data:parameters};
_outConnection.send(_widgetId, "sendEvent", command, parameters);
}
}
function receiveEvent(event, parameters) {
}
function onStatus(event) {
}
}
Symbol 423 MovieClip [__Packages.com.newgrounds.APIEvent] Frame 0
class com.newgrounds.APIEvent extends com.newgrounds.Event
{
var _error, _success, _data, __get__type;
function APIEvent (type, data, error) {
super(type);
if (data == undefined) {
data = null;
}
if (error == undefined) {
error = null;
}
if (((!error) || (error == "")) || (error == ERROR_NONE)) {
_error = ERROR_NONE;
_success = true;
} else {
_error = error;
_success = false;
}
if (data) {
_data = data;
} else {
_data = {};
}
}
function clone() {
return(new com.newgrounds.APIEvent(__get__type(), _data, _error));
}
function get success() {
return(_success);
}
function get data() {
return(_data);
}
function get error() {
return(_error);
}
static var COMMAND_COMPLETE = "commandComplete";
static var MEDAL_UNLOCK_CONFIRMED = "medalUnlockConfirmed";
static var ICON_LOADED = "iconLoaded";
static var API_CONNECTED = "movieConnected";
static var LOG = "log";
static var MEDAL_UNLOCKED = "medalUnlocked";
static var SCORES_LOADED = "scoresLoaded";
static var SCORE_POSTED = "scorePosted";
static var QUERY_COMPLETE = "queryComplete";
static var FILE_LOADED = "fileLoaded";
static var FILE_SAVED = "fileSaved";
static var FILE_REQUESTED = "fileRequested";
static var VOTE_COMPLETE = "voteComplete";
static var ERROR_NONE = "noError";
static var ERROR_UNKNOWN = "unknownError";
static var ERROR_COMMAND_FAILED = "commandFailed";
static var ERROR_NOT_CONNECTED = "notConnected";
static var ERROR_INVALID_ARGUMENT = "invalidArgument";
static var ERROR_TIMED_OUT = "timedOut";
static var ERROR_BAD_FILE = "badFile";
static var ERROR_BAD_RESPONSE = "badResponse";
static var ERROR_SENDING_COMMAND = "errorSendingCommand";
static var ERROR_HOST_BLOCKED = "hostBlocked";
static var ERROR_ALREADY_VOTED = "alreadyVoted";
static var ERROR_NOT_LOGGED_IN = "notLoggedIn";
static var ERROR_WRONG_ENCRYPTION_KEY = "wrongEncryptionKey";
}
Symbol 442 MovieClip [__Packages.com.newgrounds.API] Frame 0
class com.newgrounds.API
{
static var _adFeedURL, _movieVersion, _bridge, _requestedSaveGroupId, _requestedSaveFileId, _movieName, _newVersion, _saveFilePath, _imageFilePath;
function API () {
}
static function get connected() {
return(_connection.__get__connected());
}
static function get isNetworkHost() {
return(_connection.__get__isNetworkHost());
}
static function get apiId() {
_connection.assertInitialized();
return(_connection.apiId);
}
static function get debugMode() {
return(_debugMode);
}
static function set debugMode(val) {
_debugMode = val;
//return(debugMode);
}
static function get publisherId() {
_connection.assertInitialized();
return(_connection.publisherId);
}
static function get sessionId() {
_connection.assertInitialized();
return(_connection.sessionId);
}
static function get hostDomain() {
_connection.assertInitialized();
return(_connection.hostDomain);
}
static function get hostURL() {
_connection.assertInitialized();
return(_connection.__get__hostURL());
}
static function get isNewgrounds() {
return(_connection.publisherId == 1);
}
static function get hasUserSession() {
_connection.assertInitialized();
return(_connection.__get__hasUserSession());
}
static function get username() {
_connection.assertInitialized();
return(_connection.username);
}
static function get userId() {
_connection.assertInitialized();
return(_connection.userId);
}
static function assertConnected(eventType) {
if (eventType == undefined) {
eventType = null;
}
if (_connection.assertConnected()) {
return(true);
}
if (eventType) {
dispatchEvent(eventType, null, com.newgrounds.APIEvent.ERROR_NOT_CONNECTED);
}
return(false);
}
static function get adsApproved() {
return(_adsApproved);
}
static function get adFeedURL() {
return(_adFeedURL);
}
static function get medals() {
return(_medalsArray);
}
static function get scoreBoards() {
return(_scoreBoardsArray);
}
static function get saveGroups() {
return(_saveGroupsArray);
}
static function connect(_root, apiId, encryptionKey, movieVersion) {
if (encryptionKey == undefined) {
encryptionKey = null;
}
if (movieVersion == undefined) {
movieVersion = "";
}
com.newgrounds.APIEventDispatcher.__set__globalDispatcher(_dispatcher);
System.security.loadPolicyFile("http://apifiles.ngfiles.com/crossdomain.xml");
if (_connection.initialized) {
com.newgrounds.Logger.logError("Connection already in progress. Please call API.disconnect() before attempting another connection.");
dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, false, com.newgrounds.APIEvent.ERROR_NOT_CONNECTED);
return(undefined);
}
apiId = trimWhitespace(apiId);
if (encryptionKey) {
encryptionKey = trimWhitespace(encryptionKey);
}
if ((!apiId) || (apiId == "")) {
com.newgrounds.Logger.logError("No apiId given. Please use the API ID from your API settings page.");
dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, false, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT);
return(undefined);
}
com.newgrounds.Logger.logMessage(("====== Newgrounds API v" + VERSION) + " ======");
_connection.connectionState = com.newgrounds.APIConnection.CONNECTING;
_root=_root;//parameter overwritten
_movieVersion = movieVersion;
_connection.apiId = apiId;
var _local4;
_local4 = apiId.indexOf(":");
if (_local4 != -1) {
_connection.trackerId = int(apiId.substring(0, _local4));
} else {
_connection.trackerId = int(apiId);
}
if (!_connection.trackerId) {
com.newgrounds.Logger.logError("Invalid API ID: " + apiId);
dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, false, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT);
return(undefined);
}
_connection.encryptionKey = encryptionKey;
_connection.initialized = true;
_connection.__set__hostURL(_root._url);
doConnect(_root);
}
static function doConnect(flashVars) {
if (isNetworkHost && (_debugMode != RELEASE_MODE)) {
com.newgrounds.Logger.logMessage("Live file detected, turning off debug mode.");
_debugMode = RELEASE_MODE;
}
if (flashVars && (flashVars.NewgroundsAPI_SandboxID)) {
_bridge = new com.newgrounds.Bridge(flashVars.NewgroundsAPI_SandboxID);
com.newgrounds.APICommand.bridge = _bridge;
}
if (_debugMode == RELEASE_MODE) {
if (flashVars) {
if (flashVars.NewgroundsAPI_UserName) {
_connection.username = flashVars.NewgroundsAPI_UserName;
}
if (flashVars.NewgroundsAPI_UserID) {
_connection.userId = flashVars.NewgroundsAPI_UserID;
}
if (flashVars.NewgroundsAPI_PublisherID) {
_connection.publisherId = flashVars.NewgroundsAPI_PublisherID;
}
if (flashVars.NewgroundsAPI_UserpageFormat) {
_connection.userpageFormat = flashVars.NewgroundsAPI_UserpageFormat;
}
if (flashVars.NewgroundsAPI_SessionID) {
_connection.sessionId = flashVars.NewgroundsAPI_SessionID;
}
if (flashVars.NewgroundsAPI_SaveGroupID) {
_requestedSaveGroupId = flashVars.NewgroundsAPI_SaveGroupID;
}
if (flashVars.NewgroundsAPI_SaveFileID) {
_requestedSaveFileId = flashVars.NewgroundsAPI_SaveFileID;
}
}
} else {
_connection.debug = true;
if ((_debugMode == DEBUG_MODE_LOGGED_IN) || (_debugMode == DEBUG_MODE_LOGGED_OUT)) {
_connection.publisherId = 1;
}
if (_debugMode == DEBUG_MODE_LOGGED_IN) {
_connection.sessionId = "D3bu64p1U53R";
_connection.userId = 10;
_connection.username = "API-Debugger";
}
}
_connection.sendSimpleCommand("connectMovie", onConnect, {host:_connection.hostDomain, movie_version:_movieVersion, publisher_id:_connection.publisherId});
}
static function onConnect(event) {
var _local1 = event.__get__data();
if (!event.__get__success()) {
com.newgrounds.Logger.logError("Unable to connect to the API.");
_connection.reset();
dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, event.__get__data(), event.__get__error());
return(undefined);
}
if (debugMode != RELEASE_MODE) {
_adFeedURL = TEST_AD_FEED_URL;
} else if (_local1.ad_url) {
_adFeedURL = unescape(_local1.ad_url);
}
switch (_local1.ad_status) {
case -1 :
com.newgrounds.Logger.logWarning("Your movie is not approved to run Flash Ads.");
break;
case 0 :
com.newgrounds.Logger.logWarning("Your movie is still awaiting approval to run Flash Ads.");
break;
case 1 :
com.newgrounds.Logger.logMessage("Your movie is approved to run Flash Ads!");
}
_adsApproved = _local1.ad_status == 1;
if ((_debugMode == DEBUG_MODE_HOST_BLOCKED) || (_local1.deny_host)) {
com.newgrounds.Logger.logWarning(_connection.hostDomain + " does not have permission to host this movie!", "Update your API configuration to allow this host.");
dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, {officialURL:unescape(_local1.movie_url)}, com.newgrounds.APIEvent.ERROR_HOST_BLOCKED);
_connection.reset();
return(undefined);
}
_movieName = (_local1.movieName ? (_local1.movieName) : "");
com.newgrounds.Logger.logMessage("Connecting to the Newgrounds API Gateway...", ("----- " + _local1.movie_name) + " -----");
if (_debugMode == DEBUG_MODE_NEW_VERSION) {
_local1.movie_version = "Debug Mode";
}
if (_local1.movie_version) {
com.newgrounds.Logger.logMessage("A new version of this movie is available.", "Current version:\t" + _movieVersion, "Newest version:\t" + _local1.movie_version, "Use API.loadOfficialVersion() to link to the latest version.");
_newVersion = true;
} else {
_newVersion = false;
}
if (_local1.request_portal_url) {
_connection.sendSimpleCommand("setPortalID", null, {portal_url:_connection.__get__hostURL()});
}
_connection.sendSimpleCommand("preloadSettings", onMetadataLoaded, {publisher_id:_connection.publisherId, user_id:_connection.userId});
}
static function onMetadataLoaded(event) {
var _local11 = event.__get__data();
var _local1;
var _local7;
if (!event.__get__success()) {
com.newgrounds.Logger.logWarning("Unable to load movie metadata.");
disconnect();
dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, null, event.__get__error());
return(undefined);
}
var _local10 = 0;
if (_local11.medals) {
_local10 = _local11.medals.length;
var _local18;
if (hasUserSession) {
_local18 = loadLocal("medals_unlocked_" + username);
} else {
_local18 = loadLocal("medals_unlocked");
}
_local1 = 0;
while (_local1 < _local10) {
var _local4 = _local11.medals[_local1];
var _local15 = _local4.medal_unlocked;
var _local17 = _local18 && (_local18[_local4.medal_id]);
var _local14 = (hasUserSession ? (_local15) : (_local17));
if (debugMode != RELEASE_MODE) {
_local14 = false;
}
var _local5 = new com.newgrounds.Medal(_connection, _local4.medal_id, _local4.medal_name, _local4.medal_description, Boolean(int(_local4.secret)), _local14, _local4.medal_value, _local4.medal_difficulty, _local4.medal_icon);
_local5.addEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCKED, onMedalUnlocked, false, 0, true);
_local5.addEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCK_CONFIRMED, onMedalUnlockConfirmed, false, 0, true);
_medals[_local5.__get__name()] = _local5;
_medalsArray.push(_local5);
com.newgrounds.Logger.logMessage(_local5);
if ((hasUserSession && (_local17)) && (!_local15)) {
com.newgrounds.Logger.logMessage(("Server missed the \"" + _local5.__get__name()) + "\" unlock. Resending...");
_local5.unlock();
}
_local1++;
}
}
com.newgrounds.Logger.logMessage(((_local10 + " medal") + ((_local10 != 1) ? "s" : "")) + " initialized.");
_local10 = 0;
if (_local11.score_boards) {
_local10 = _local11.score_boards.length;
_local1 = 0;
while (_local1 < _local10) {
var _local16 = _local11.score_boards[_local1];
var _local9 = new com.newgrounds.ScoreBoard(_connection, _local16.name, _local16.id);
_scoreBoards[_local9.__get__name()] = _local9;
_scoreBoardsArray.push(_local9);
com.newgrounds.Logger.logMessage(_local9);
_local1++;
}
}
com.newgrounds.Logger.logMessage(((_local10 + " scoreboard") + ((_local10 != 1) ? "s" : "")) + " initialized.");
_local10 = 0;
if (_local11.save_groups) {
_local10 = _local11.save_groups.length;
_local1 = 0;
while (_local1 < _local10) {
var _local2 = _local11.save_groups[_local1];
var _local13 = [];
if (_local2.keys) {
_local7 = 0;
while (_local7 < _local2.keys.length) {
var _local6 = _local2.keys[_local7];
_local13.push(new com.newgrounds.SaveKey(_local6.name, _local6.id, _local6.type));
_local7++;
}
}
var _local12 = [];
if (_local2.ratings) {
_local1 = 0;
while (_local1 < _local2.ratings.length) {
var _local3 = _local2.ratings[_local1];
_local12.push(new com.newgrounds.SaveRating(_local3.name, _local3.id, _local3.float, _local3.min, _local3.max));
_local1++;
}
}
var _local8 = new com.newgrounds.SaveGroup(_connection, _local2.group_name, _local2.group_id, _local2.group_type, _local13, _local12);
_saveGroups[_local8.__get__name()] = _local8;
_saveGroupsArray.push(_local8);
com.newgrounds.Logger.logMessage(_local8);
_local1++;
}
}
com.newgrounds.Logger.logMessage(((_local10 + " save group") + ((_local10 != 1) ? "s" : "")) + " initialized.");
if (_local11.save_file_path) {
_saveFilePath = _local11.save_file_path + "/";
com.newgrounds.SaveFile._saveFilePath = _saveFilePath;
com.newgrounds.Logger.logInternal("Save file path: " + _saveFilePath);
}
if (_local11.image_file_path) {
_imageFilePath = _local11.image_file_path + "/";
com.newgrounds.SaveFile._imageFilePath = _imageFilePath;
com.newgrounds.Logger.logInternal("Image file path: " + _imageFilePath);
}
com.newgrounds.Logger.logMessage("Connection complete!");
_connection.connectionState = com.newgrounds.APIConnection.CONNECTED;
dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, {movieName:_movieName, newVersion:_newVersion});
if (_requestedSaveFileId && (_requestedSaveGroupId)) {
addEventListener(com.newgrounds.APIEvent.FILE_LOADED, onRequestedFileLoaded);
loadSaveFile(_requestedSaveFileId, false);
}
}
static function disconnect() {
if (!_connection.__get__connected()) {
com.newgrounds.Logger.logWarning("The Newgrounds API is already disconnected.");
return(undefined);
}
_connection.reset();
for (var _local2 in _medals) {
var _local1 = _medals[_local2];
_local1.removeEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCKED, onMedalUnlocked);
_local1.removeEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCK_CONFIRMED, onMedalUnlockConfirmed);
}
_newVersion = false;
_medals = new Object();
_medalsArray = [];
_scoreBoards = new Object();
_scoreBoardsArray = [];
_saveGroups = new Object();
_saveGroupsArray = [];
_sharedObjects = new Object();
_imageFilePath = null;
_saveFilePath = null;
com.newgrounds.Logger.logMessage("Disconnected from the Newgrounds API.");
}
static function loadNewgrounds() {
_connection.loadInBrowser("loadNewgrounds");
}
static function loadOfficialVersion() {
if (_connection.assertInitialized()) {
_connection.loadInBrowser("loadOfficialVersion", false);
}
}
static function loadMySite() {
if (_connection.assertInitialized()) {
_connection.loadInBrowser("loadMySite");
}
}
static function loadCustomLink(linkName) {
if (_connection.assertInitialized()) {
_connection.loadInBrowser("loadCustomLink", true, {link:linkName});
}
}
static function getMedal(medalName) {
return(_medals[medalName]);
}
static function unlockMedal(medalName) {
if (!assertConnected()) {
return(undefined);
}
var _local1 = _medals[medalName];
if (!_local1) {
com.newgrounds.Logger.logError(("No medal named \"" + medalName) + "\" w.");
return(undefined);
}
_local1.unlock();
}
static function onMedalUnlocked(event) {
if (event.__get__success()) {
var _local2 = com.newgrounds.Medal(event.__get__data());
var _local1;
if (hasUserSession) {
_local1 = loadLocal("medals_unlocked_" + username);
if (!_local1) {
_local1 = new Object();
}
_local1[_local2.__get__id()] = true;
saveLocal("medals_unlocked_" + username, _local1);
} else {
_local1 = loadLocal("medals_unlocked");
if (!_local1) {
_local1 = new Object();
}
_local1[com.newgrounds.Medal(event.__get__data()).__get__id()] = true;
saveLocal("medals_unlocked", _local1);
com.newgrounds.Logger.logMessage(("User instanceof not logged in. Medal \"" + _local2.__get__name()) + "\" unlocked locally.");
}
}
}
static function onMedalUnlockConfirmed(event) {
if (hasUserSession) {
var _local1 = loadLocal("medals_unlocked_" + username);
if (!_local1) {
_local1 = new Object();
} else {
delete _local1[com.newgrounds.Medal(event.__get__data()).__get__id()];
}
saveLocal("medals_unlocked_" + username, _local1);
}
}
static function clearLocalMedals() {
for (var _local2 in _medals) {
var _local1 = _medals[_local2];
_local1.setUnlocked(false);
}
if (!hasUserSession) {
saveLocal("medals_unlocked", new Object());
}
}
static function getScoreBoard(scoreBoardName) {
if (!assertConnected()) {
return(null);
}
return(_scoreBoards[scoreBoardName]);
}
static function loadScores(scoreBoardName, period, firstResult, numResults, tag) {
if (period == undefined) {
period = "All-Time";
}
if (firstResult == undefined) {
firstResult = 1;
}
if (numResults == undefined) {
numResults = 10;
}
if (tag == undefined) {
tag = null;
}
if (!assertConnected()) {
return(null);
}
var _local1 = _scoreBoards[scoreBoardName];
if (!_local1) {
com.newgrounds.Logger.logError(("No scoreboard named \"" + scoreBoardName) + "\" w.");
dispatchEvent(com.newgrounds.APIEvent.SCORES_LOADED, null, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT);
return(null);
}
_local1.__set__period(period);
_local1.__set__firstResult(firstResult);
_local1.__set__numResults(numResults);
_local1.__set__tag(tag);
_local1.loadScores();
return(_local1);
}
static function postScore(scoreBoardName, numericScore, tag) {
if (tag == undefined) {
tag = null;
}
if (!assertConnected()) {
return(undefined);
}
if (!hasUserSession) {
com.newgrounds.Logger.logError("The user must be logged-in to post a score.");
dispatchEvent(com.newgrounds.APIEvent.SCORE_POSTED, null, com.newgrounds.APIEvent.ERROR_NOT_LOGGED_IN);
return(undefined);
}
var _local1 = _scoreBoards[scoreBoardName];
if (!_local1) {
com.newgrounds.Logger.logError(("No scoreboard named \"" + scoreBoardName) + "\" w.");
dispatchEvent(com.newgrounds.APIEvent.SCORE_POSTED, null, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT);
return(undefined);
}
_local1.postScore(numericScore, tag);
}
static function getSaveGroup(groupName) {
if (!assertConnected()) {
return(null);
}
return(_saveGroups[groupName]);
}
static function getSaveGroupById(id) {
for (var _local3 in _saveGroups) {
var _local1 = _saveGroups[_local3];
if (_local1.__get__id() == id) {
return(_local1);
}
}
return(null);
}
static function createSaveFile(groupName) {
if (!assertConnected()) {
return(null);
}
var _local1 = getSaveGroup(groupName);
if (!_local1) {
com.newgrounds.Logger.logError(("The save group \"" + groupName) + "\" w found.");
return(null);
}
return(new com.newgrounds.SaveFile(_local1));
}
static function loadSaveFile(saveId, loadContents) {
if (loadContents == undefined) {
loadContents = true;
}
_connection.sendSimpleCommand("loadSaveFile", onFileLoaded, {save_id:saveId, get_contents:loadContents});
}
static function onFileLoaded(event) {
var _local2;
if (event.__get__success()) {
_local2 = com.newgrounds.SaveFile.fromObject(getSaveGroupById(event.__get__data().group_id), event.__get__data().file);
if (event.__get__data().get_contents) {
_local2.load();
} else {
dispatchEvent(com.newgrounds.APIEvent.FILE_LOADED, _local2);
}
} else {
com.newgrounds.Logger.logError("Unable to load file:", event.__get__error());
dispatchEvent(com.newgrounds.APIEvent.FILE_LOADED, null, event.__get__error());
}
}
static function createSaveQuery(groupName) {
if (!assertConnected()) {
return(null);
}
var _local1 = getSaveGroup(groupName);
if (!_local1) {
com.newgrounds.Logger.logError(("The save group \"" + groupName) + "\" w found.");
return(null);
}
var _local2 = new com.newgrounds.SaveQuery(_local1);
return(_local2);
}
static function createSaveQueryByDate(groupName, sortDescending) {
if (sortDescending == undefined) {
sortDescending = true;
}
var _local1 = createSaveQuery(groupName);
if (!_local1) {
return(null);
}
_local1.sortOn(com.newgrounds.SaveQuery.CREATED_ON, sortDescending);
return(_local1);
}
static function createSaveQueryByName(groupName, filename, exactMatch, sortDescending) {
if (exactMatch == undefined) {
exactMatch = false;
}
if (sortDescending == undefined) {
sortDescending = false;
}
var _local1 = createSaveQuery(groupName);
_local1.addCondition(com.newgrounds.SaveQuery.FILE_NAME, (exactMatch ? (com.newgrounds.SaveQuery.OPERATOR_EQUAL) : (com.newgrounds.SaveQuery.OPERATOR_CONTAINS)), filename);
return(_local1);
}
static function createSaveQueryByRating(groupName, ratingName, sortDescending) {
if (sortDescending == undefined) {
sortDescending = true;
}
var _local1 = createSaveQuery(groupName);
_local1.sortOn(ratingName, sortDescending);
return(_local1);
}
static function onRequestedFileLoaded(event) {
removeEventListener(com.newgrounds.APIEvent.FILE_LOADED, onRequestedFileLoaded);
if (event.__get__success()) {
var _local1 = event.__get__data();
if (_local1) {
dispatchEvent(com.newgrounds.APIEvent.FILE_REQUESTED, _local1);
}
}
}
static function addEventListener(eventType, listener, priority, useWeakReference) {
if (priority == undefined) {
priority = 0;
}
if (useWeakReference == undefined) {
useWeakReference = true;
}
_dispatcher.addEventListener(eventType, listener, false, priority, useWeakReference);
}
static function removeEventListener(eventType, listener) {
_dispatcher.removeEventListener(eventType, listener);
}
static function dispatchEvent(event, data, error) {
if (data == undefined) {
data = null;
}
if (error == undefined) {
error = null;
}
_dispatcher.dispatchEvent(new com.newgrounds.APIEvent(event, data, error));
}
static function saveLocal(saveId, saveData) {
try {
var _local3;
var _local2 = (("ng_ap_secure_" + _connection.trackerId) + "_") + com.newgrounds.crypto.RC4.encrypt(saveId, _connection.encryptionKey);
if (!_sharedObjects[saveId]) {
_sharedObjects[saveId] = SharedObject.getLocal(_local2);
}
_local3 = _sharedObjects[saveId];
_local3.data.data = encodeData(saveData);
} catch(_local) {
if (Error( /* Error999 */
) != null) {
var error = Error( /* Error999 */
);
com.newgrounds.Logger.logError("Unable to save local data.", error);
return(false);
}
Error( /* Error999 */
);
throw /* Error999 */
;
}
return(true);
}
static function loadLocal(saveId) {
try {
var _local1;
var _local3 = (("ng_ap_secure_" + _connection.trackerId) + "_") + com.newgrounds.crypto.RC4.encrypt(saveId, _connection.encryptionKey);
if (!_sharedObjects[saveId]) {
_sharedObjects[saveId] = SharedObject.getLocal(_local3);
}
_local1 = _sharedObjects[saveId];
if ((_local1 && (_local1.data)) && (_local1.data.data)) {
return(decodeData(_local1.data.data));
}
return(null);
} catch(error:Error) {
com.newgrounds.Logger.logError("Unable to load local data.", error);
}
return(null);
}
static function logCustomEvent(eventName) {
if (assertConnected()) {
com.newgrounds.Logger.logMessage("Logged event: " + eventName);
_connection.sendSimpleCommand("logCustomEvent", null, {event:eventName});
}
}
static function encodeData(data) {
if (!_connection.assertInitialized()) {
return(null);
}
return(com.newgrounds.crypto.RC4.encrypt(com.newgrounds.encoders.json.JSON.encode(data), _connection.encryptionKey));
}
static function decodeData(data) {
if (!_connection.assertInitialized()) {
return(null);
}
try {
return(com.newgrounds.encoders.json.JSON.decode(com.newgrounds.crypto.RC4.decrypt(data, _connection.encryptionKey)));
} catch(error:Error) {
}
return(null);
}
static function stopPendingCommands() {
com.newgrounds.APICommand.stopPendingCommands();
com.newgrounds.Logger.logMessage("Pending commands stopped.");
}
static function trimWhitespace(string) {
if (!string) {
return(null);
}
var _local3 = 0;
while (string.charAt(_local3) == " ") {
_local3++;
}
var _local1 = string.length - 1;
while ((string.charAt(_local1) == " ") && (_local1 >= 0)) {
_local1--;
}
return(string.slice(_local3, _local1 + 1));
}
static var VERSION = "3.1.0 AS2";
static var RELEASE_MODE = "releaseMode";
static var DEBUG_MODE_LOGGED_IN = "debugModeLoggedIn";
static var DEBUG_MODE_LOGGED_OUT = "debugModeLoggedOut";
static var DEBUG_MODE_NEW_VERSION = "debugModeNewVersion";
static var DEBUG_MODE_HOST_BLOCKED = "debugModeHostBlocked";
static var TEST_AD_FEED_URL = "http://www.ngads.com/adtest.php";
static var _dispatcher = new com.newgrounds.APIEventDispatcher();
static var _connection = new com.newgrounds.APIConnection();
static var _debugMode = DEBUG_MODE_LOGGED_IN;
static var _adsApproved = false;
static var _medals = new Object();
static var _medalsArray = [];
static var _scoreBoards = new Object();
static var _scoreBoardsArray = [];
static var _saveGroups = new Object();
static var _saveGroupsArray = [];
static var _sharedObjects = new Object();
}
Symbol 439 MovieClip [__Packages.com.newgrounds.encoders.ImageScanner] Frame 0
class com.newgrounds.encoders.ImageScanner
{
var _baseN, _encodeAlpha, _maxPerChannel;
function ImageScanner (hashLength, charsPerPixel) {
if (hashLength) {
_hash = DEFAULT_HASH.substr(0, hashLength);
}
_baseN = new com.newgrounds.encoders.BaseN(_hash);
if (charsPerPixel) {
_charsPerPixel = charsPerPixel;
}
encodeAlpha = (false);
}
function get encodeAlpha() {
return(_encodeAlpha);
}
function set encodeAlpha(v) {
_encodeAlpha = v;
_maxPerChannel = int(Math.pow(_hash.length, _charsPerPixel / (_encodeAlpha ? 4 : 3)));
if (_maxPerChannel > 256) {
_maxPerChannel = 256;
}
//return(encodeAlpha);
}
function encode(source, callbackFunction, callbackObject) {
var _local4 = {callbackFunction:callbackFunction, callbackObject:callbackObject, source:source, x:0, y:0, output:null};
var _local2 = source.width.toString();
var _local3 = source.height.toString();
while (_local2.length < 3) {
_local2 = "0" + _local2;
}
while (_local3.length < 3) {
_local3 = "0" + _local3;
}
_local4.output = _local2 + _local3;
var _local6 = setInterval(this, "doEncode", WORK_INTERVAL, _local4);
_local4.interval = _local6;
}
function decode(source, callbackFunction, callbackObject) {
var _local2 = {callbackFunction:callbackFunction, callbackObject:callbackObject, source:source, i:6, x:0, y:0, output:null};
var _local5 = int(source.substr(0, 3));
var _local6 = int(source.substr(3, 3));
_local2.output = new flash.display.BitmapData(_local5, _local6, _encodeAlpha);
var _local4 = setInterval(this, "doDecode", WORK_INTERVAL, _local2);
_local2.interval = _local4;
}
function doEncode(state) {
var _local3 = getTimer();
while ((state.y < state.source.height) && ((getTimer() - _local3) < WORK_INTERVAL)) {
state.output = state.output + encodePixel(state.source.getPixel32(state.x, state.y));
state.x++;
if (state.x == state.source.width) {
state.x = 0;
state.y++;
}
}
if (state.y == state.source.height) {
clearInterval(state.interval);
state.callbackFunction.call(state.callbackObject, state.output);
}
}
function doDecode(state) {
var _local4 = getTimer();
while ((state.y < state.output.height) && ((getTimer() - _local4) < WORK_INTERVAL)) {
var _local3 = decodePixel(state.source.substr(state.i, _charsPerPixel));
state.output.setPixel32(state.x, state.y, _local3);
state.i = state.i + _charsPerPixel;
state.x++;
if (state.x == state.output.width) {
state.x = 0;
state.y++;
}
}
if (state.y == state.output.height) {
clearInterval(state.interval);
state.callbackFunction.call(state.callbackObject, state.output);
}
}
function encodePixel(pixel) {
var _local3 = (pixel >> 24) & 255;
var _local4 = (pixel >> 16) & 255;
var _local5 = (pixel >> 8) & 255;
var _local2 = pixel & 255;
_local3 = int((_local3 / 256) * _maxPerChannel);
_local4 = int((_local4 / 256) * _maxPerChannel);
_local5 = int((_local5 / 256) * _maxPerChannel);
_local2 = int((_local2 / 256) * _maxPerChannel);
var _local7 = (((_local4 * _maxPerChannel) * _maxPerChannel) + (_local5 * _maxPerChannel)) + _local2;
if (_encodeAlpha) {
_local7 = _local7 + (((_local3 * _maxPerChannel) * _maxPerChannel) * _maxPerChannel);
}
return(_baseN.encodeUint(_local7, _charsPerPixel));
}
function decodePixel(encodedPixel) {
var _local3 = 255;
var _local5;
var _local6;
var _local4;
var _local7 = 0;
var _local2 = _baseN.decodeUint(encodedPixel);
_local4 = _local2 % _maxPerChannel;
_local2 = _local2 / int(_maxPerChannel);
_local6 = _local2 % _maxPerChannel;
_local2 = _local2 / int(_maxPerChannel);
_local5 = _local2 % _maxPerChannel;
_local2 = _local2 / int(_maxPerChannel);
if (_encodeAlpha) {
_local3 = _local2 % _maxPerChannel;
_local2 = _local2 / int(_maxPerChannel);
}
return((((_local3 << 24) | (_local5 << 16)) | (_local6 << 8)) | _local4);
}
static var DEFAULT_HASH = "0123456789aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ<>?:;-_=+()!&";
var _hash = DEFAULT_HASH;
var _charsPerPixel = 2;
static var WORK_INTERVAL = 33.3333333333333;
}
Symbol 440 MovieClip [__Packages.com.newgrounds.SaveFile] Frame 0
class com.newgrounds.SaveFile extends com.newgrounds.APIEventDispatcher
{
static var _currentFile;
var _iconLoader, _group, _keys, _ratings, _name, _description, _id, _data, _dataLoader, _fileSize, _readOnly, _draft, _authorId, _authorName, _views, _createdDate, _modifiedDate, dispatchEvent, _encodedIcon, _encodedData, _encoderQueue, _encoding, _dataLoaded, _encodingParent, _encodingProperty, _dataURL;
function SaveFile (group) {
super();
_iconLoader = new com.newgrounds.BitmapLoader(DEFAULT_ICON, null);
_group = group;
_keys = {};
_ratings = {};
}
static function get currentFile() {
return(_currentFile);
}
static function fromObject(group, fileData) {
var _local4 = new com.newgrounds.SaveFile(group);
_local4._name = fileData.filename;
_local4._description = fileData.description;
_local4._id = fileData.save_id;
_local4._authorId = fileData.user_id;
_local4._authorName = fileData.user_name;
_local4._createdDate = fileData.created;
_local4._modifiedDate = fileData.last_update;
_local4._views = fileData.views;
if (fileData.thumb && (fileData.thumb != "")) {
_local4._iconLoader.__set__url(_imageFilePath + fileData.thumb);
}
_local4._dataURL = _saveFilePath + fileData.file;
_local4._fileSize = fileData.file_size;
_local4._approved = fileData.status != STATUS_UNAPPROVED;
_local4._readOnly = false;
_local4._public = (fileData.status != STATUS_PRIVATE) && (fileData.status != STATUS_UNAPPROVED);
for (var _local8 in fileData.keys) {
var _local6 = fileData.keys[_local8];
var _local2 = group.getKeyById(_local6.id);
if (_local2) {
_local4._keys[_local2.__get__name()] = _local2.validateValue(_local6.value);
}
}
for (var _local9 in fileData.ratings) {
var _local5 = fileData.ratings[_local9];
var _local3 = group.getRatingById(_local5.id);
if (_local3) {
_local4._ratings[_local3.__get__name()] = _local3.validateValue(_local5.score);
}
}
return(_local4);
}
function get group() {
return(_group);
}
function get name() {
return(_name);
}
function set name(val) {
_name = val;
//return(name);
}
function get description() {
return(_description);
}
function set description(val) {
_description = val;
//return(description);
}
function get id() {
return(_id);
}
function get data() {
return(_data);
}
function set data(val) {
_data = val;
//return(data);
}
function get bytesLoaded() {
if (_data) {
return(bytesTotal);
}
if (!_dataLoader) {
return(0);
}
return(_dataLoader.getBytesLoaded());
}
function get bytesTotal() {
return(_fileSize);
}
function get readOnly() {
return(_readOnly);
}
function get draft() {
return(_draft);
}
function set draft(v) {
_draft = v;
//return(draft);
}
function get authorId() {
return(_authorId);
}
function get authorName() {
return(_authorName);
}
function get keys() {
return(_keys);
}
function get ratings() {
return(_ratings);
}
function get views() {
return(_views);
}
function get createdDate() {
return(_createdDate);
}
function get updatedDate() {
return(_modifiedDate);
}
function toString() {
return("Save File: " + _name);
}
function get icon() {
return(_iconLoader.__get__bitmapData());
}
function set icon(v) {
createIcon(v);
//return(icon);
}
function get iconLoaded() {
return(_iconLoader.__get__loaded());
}
function createIcon(source) {
var _local9 = new flash.display.BitmapData(ICON_WIDTH, ICON_HEIGHT, false, 0);
var _local6;
var _local5;
var _local10 = 0;
var _local8 = 0;
if (source instanceof flash.display.BitmapData) {
_local6 = source.width;
_local5 = source.height;
} else if (source instanceof MovieClip) {
_local6 = source._width;
_local5 = source._height;
var _local7 = MovieClip(source).getBounds(source);
_local10 = _local7.xMin;
_local8 = _local7.yMin;
}
var _local3 = new flash.geom.Matrix();
var _local4;
_local4 = Math.min(ICON_WIDTH / _local6, ICON_HEIGHT / _local5);
_local3.translate(-_local10, -_local8);
_local3.scale(_local4, _local4);
_local3.translate((ICON_WIDTH - (_local6 * _local4)) / 2, (ICON_HEIGHT - (_local5 * _local4)) / 2);
_local9.draw(source, _local3);
_iconLoader.__set__bitmapData(_local9);
}
function attachIcon(parent) {
if (_iconLoader) {
return(_iconLoader.attachBitmap(parent));
}
com.newgrounds.Logger.logError("No icon available for this sumbission.");
return(null);
}
function save() {
if (!_group.__get__connection().__get__hasUserSession()) {
com.newgrounds.Logger.logError("The user must be logged-in to save a file.");
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_SAVED, null, com.newgrounds.APIEvent.ERROR_NOT_LOGGED_IN));
return(undefined);
}
com.newgrounds.BitmapLoader._cacheSeed++;
_currentFile = this;
if (iconLoaded) {
ICON_IMAGE_SCANNER.encode(icon, onIconEncoded, this);
} else {
encodeData(true);
}
}
function onIconEncoded(encodedIcon) {
_encodedIcon = encodedIcon;
encodeData(true);
}
function doSave() {
var _local4 = new com.newgrounds.APICommand("saveFile");
_local4.__get__secureParameters().group = _group.id;
_local4.__get__secureParameters().user_name = _group.__get__connection().username;
_local4.__get__secureParameters().filename = _name;
_local4.__get__secureParameters().description = _description;
if (_draft) {
_local4.__get__secureParameters().draft = true;
}
if (_id && (!_readOnly)) {
_local4.__get__secureParameters().overwrite = 1;
_local4.__get__secureParameters().save_id = _id;
}
var _local8 = [];
for (var _local9 in _keys) {
var _local2 = _group.getKey(_local9);
if (_local2) {
_local8.push({id:_local2.__get__id(), value:_local2.validateValue(_keys[_local9])});
} else {
com.newgrounds.Logger.logError(((("No key named \"" + _local9) + "\" in save group \"") + _group.__get__name()) + "\".");
}
}
_local4.__get__secureParameters().keys = _local8;
var _local7 = [];
for (var _local10 in _ratings) {
var _local3 = _group.getRating(_local10);
if (_local3) {
_local7.push({id:_local3.__get__id(), value:_local3.validateValue(_ratings[_local10])});
} else {
com.newgrounds.Logger.logError(((("No rating named \"" + _local10) + "\" in save group \"") + _group.__get__name()) + "\".");
}
}
_local4.__get__secureParameters().ratings = _local7;
if (typeof(_encodedData) == "string") {
_local4.addFile("file", _encodedData, "file");
} else {
_local4.addFile("file", com.newgrounds.encoders.json.JSON.encode(_encodedData), "file");
}
if (iconLoaded) {
_local4.addFile("thumbnail", _encodedIcon, "thumbnail");
}
_local4.addEventListener(com.newgrounds.APIEvent.COMMAND_COMPLETE, {target:this, func:onSaveComplete});
_group.__get__connection().sendCommand(_local4);
}
function encodeData(encode) {
_encoderQueue = [];
_encoding = encode;
if (encode) {
_encodedData = _data;
preEncodeObject(this, "_encodedData");
} else {
preEncodeObject(this, "_data");
}
encodeObject();
}
function preEncodeObject(parent, property) {
var _local3 = parent[property];
var _local5;
try {
if (_encoding) {
_local5 = _local3 instanceof flash.display.BitmapData;
} else {
_local5 = _local3.type == "__bitmap";
}
} catch(error) {
}
var _local2 = _local3;
var _local8;
if (_local5) {
_encoderQueue.push({parent:parent, property:property});
} else if ((typeof(_local3) == "object") && (!_local8)) {
if (_encoding) {
if (_local3 instanceof Array) {
_local2 = [];
} else {
_local2 = {};
}
for (var _local4 in _local3) {
_local2[_local4] = _local3[_local4];
}
parent[property] = _local2;
}
for (var _local4 in _local2) {
preEncodeObject(_local2, _local4);
}
}
}
function encodeObject() {
if (!_encoderQueue.length) {
if (_encoding) {
doSave();
} else {
_dataLoaded = true;
checkLoadComplete();
}
return(undefined);
}
var _local6 = _encoderQueue.pop();
var _local4 = _local6.parent;
var _local3 = _local6.property;
var _local2 = _local4[_local3];
var _local5;
if (_encoding) {
_local5 = {type:"__bitmap", width:_local2.width, height:_local2.height, transparent:_local2.transparent};
_local4[_local3] = _local5;
_encodingParent = _local5;
_encodingProperty = "data";
DATA_IMAGE_SCANNER.__set__encodeAlpha(_local2.transparent);
DATA_IMAGE_SCANNER.encode(flash.display.BitmapData(_local2), encodeBitmapComplete, this);
} else {
_encodingParent = _local4;
_encodingProperty = _local3;
DATA_IMAGE_SCANNER.__set__encodeAlpha(_local2.transparent);
DATA_IMAGE_SCANNER.decode(String(_local2.data), encodeBitmapComplete, this);
}
}
function encodeBitmapComplete(data) {
_encodingParent[_encodingProperty] = data;
encodeObject();
}
function load() {
_currentFile = this;
_dataLoaded = false;
_data = null;
if (!iconLoaded) {
_iconLoader.addEventListener(com.newgrounds.APIEvent.ICON_LOADED, {target:this, func:onIconLoaded});
_iconLoader.load();
}
_dataLoader = new LoadVars();
var file = this;
_dataLoader.onData = function (data) {
file.onDataLoaded(data);
};
_dataLoader.load(_dataURL);
}
function onIconLoaded(event) {
if ((!event.__get__success()) && (_iconLoader.__get__url())) {
com.newgrounds.Logger.logWarning("Unable to load the icon for this save file.");
}
_iconLoader.removeEventListener(com.newgrounds.APIEvent.ICON_LOADED, onIconLoaded);
checkLoadComplete();
}
function checkLoadComplete() {
if (_dataLoaded && (iconLoaded)) {
com.newgrounds.Logger.logMessage("Data loaded.");
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_LOADED, this));
}
}
function onDataLoaded(data) {
try {
if (data) {
if (data.charAt(0) == "{") {
_data = com.newgrounds.encoders.json.JSON.decode(String(data));
} else {
_data = String(data);
}
encodeData(false);
}
} catch(error:Error) {
com.newgrounds.Logger.logError("Error while loading data:", error);
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_LOADED, this, com.newgrounds.APIEvent.ERROR_BAD_FILE));
}
}
function onDataError(error) {
com.newgrounds.Logger.logError("Unable to load data:", error);
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_LOADED, this, com.newgrounds.APIEvent.ERROR_BAD_FILE));
}
function onSaveComplete(event) {
if (event.__get__success()) {
com.newgrounds.Logger.logMessage(("File \"" + _name) + "\" saved!");
if (event.__get__data()) {
_id = event.__get__data().save_id;
_dataURL = unescape(event.__get__data().file_url);
}
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_SAVED, this));
} else {
com.newgrounds.Logger.logError(("Error saving file \"" + _name) + "\":", event.__get__error());
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_SAVED, this, event.__get__error()));
}
}
function sendVote(ratingName, vote) {
var _local2 = _group.getRating(ratingName);
if (!_local2) {
com.newgrounds.Logger.logError(("No save rating named \"" + ratingName) + "\" exists for this save group.");
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.VOTE_COMPLETE, {}, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT));
return(undefined);
}
vote = _local2.validateValue(vote);
if (isNaN(vote)) {
com.newgrounds.Logger.logError(((((((("Invalid vote (" + vote) + "). ") + ratingName) + " allows a range of ") + _local2.__get__minimum()) + "-") + _local2.__get__maximum()) + ".");
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.VOTE_COMPLETE, {}, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT));
return(undefined);
}
com.newgrounds.Logger.logMessage(((((("Voting " + vote) + " for ") + ratingName) + " on ") + _name) + "...");
_group.__get__connection().sendSimpleCommand("rateSaveFile", {target:this, func:onVoteComplete}, null, {group:_group.__get__id(), save_id:_id, rating_id:_local2.__get__id(), vote:vote});
}
function onVoteComplete(event) {
var _local2 = event.__get__error();
if (event.__get__data().already_voted) {
com.newgrounds.Logger.logError("Vote failed. You've already voted on this rating today.");
_local2 = com.newgrounds.APIEvent.ERROR_ALREADY_VOTED;
}
if (_local2 == com.newgrounds.APIEvent.ERROR_NONE) {
var _local3 = _group.getRatingById(event.__get__data().rating_id);
if (_local3) {
_ratings[_local3.__get__name()] = _local3.validateValue(event.__get__data().score);
}
com.newgrounds.Logger.logMessage("Vote complete!");
}
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.VOTE_COMPLETE, this, _local2));
}
function clone() {
var _local3 = new com.newgrounds.SaveFile(_group);
_local3._data = _data;
_local3._description = _description;
_local3._draft = _draft;
_local3._fileSize = _fileSize;
_local3._iconLoader.__set__bitmapData(_iconLoader.bitmapData);
var _local2;
for (_local2 in _keys) {
_local3._keys[_local2] = _keys[_local2];
}
for (_local2 in _ratings) {
_local3._ratings[_local2] = _ratings[_local2];
}
_local3._name = _name;
return(_local3);
}
static var ICON_WIDTH = 90;
static var ICON_HEIGHT = 90;
static var DEFAULT_ICON = flash.display.BitmapData.loadBitmap("DefaultSaveIcon");
static var STATUS_PRIVATE = 0;
static var STATUS_SHARED = 1;
static var STATUS_UNAPPROVED = 2;
static var STATUS_APPROVED = 3;
static var _imageFilePath = "";
static var _saveFilePath = "";
static var ICON_IMAGE_SCANNER = new com.newgrounds.encoders.ImageScanner();
static var DATA_IMAGE_SCANNER = new com.newgrounds.encoders.ImageScanner(64, 6);
}
Symbol 438 MovieClip [__Packages.com.newgrounds.SaveGroup] Frame 0
class com.newgrounds.SaveGroup
{
var _connection, _id, _name, _type, _keysArray, _ratingsArray, _keys, _ratings;
function SaveGroup (connection, name, id, type, keys, ratings) {
_connection = connection;
_id = id;
_name = name;
_type = type;
_keysArray = keys;
_ratingsArray = ratings;
_keys = new Object();
_ratings = new Object();
var _local11;
for (var _local7 in keys) {
var _local2 = keys[_local7];
_keys[_local2.__get__name()] = _local2;
}
for (var _local6 in ratings) {
var _local3 = ratings[_local6];
_ratings[_local3.__get__name()] = _local3;
}
}
function get connection() {
return(_connection);
}
function get name() {
return(_name);
}
function get type() {
return(_type);
}
function get id() {
return(_id);
}
function get keys() {
return(_keysArray);
}
function get ratings() {
return(_ratingsArray);
}
function getKey(name) {
return(_keys[name]);
}
function getRating(name) {
return(_ratings[name]);
}
function getKeyById(id) {
for (var _local4 in _keys) {
var _local2 = _keys[_local4];
if (_local2.__get__id() == id) {
return(_local2);
}
}
return(null);
}
function getRatingById(id) {
for (var _local4 in _ratings) {
var _local2 = _ratings[_local4];
if (_local2.__get__id() == id) {
return(_local2);
}
}
return(null);
}
function toString() {
return((((("SaveGroup: " + name) + " Keys: ") + _keysArray) + " Ratings: ") + _ratingsArray);
}
static var TYPE_SYSTEM = 0;
static var TYPE_PRIVATE = 1;
static var TYPE_PUBLIC = 2;
static var TYPE_MODERATED = 3;
}
Symbol 436 MovieClip [__Packages.com.newgrounds.SaveKey] Frame 0
class com.newgrounds.SaveKey
{
var _name, _id, _type;
function SaveKey (name, id, type) {
_name = name;
_id = id;
_type = type;
}
function get name() {
return(_name);
}
function get id() {
return(_id);
}
function get type() {
return(_type);
}
function validateValue(value) {
switch (_type) {
case TYPE_INTEGER :
value = Number(value);
if (!isNaN(value)) {
var _local3 = int(value);
if (_local3 != value) {
com.newgrounds.Logger.logWarning(((((("Float value " + value) + " given for integer key \"") + _name) + "\". Clamping to ") + _local3) + ".");
}
return(_local3);
}
break;
case TYPE_FLOAT :
value = Number(value);
if (!isNaN(value)) {
return(isNaN(Number(value)));
}
break;
case TYPE_BOOLEAN :
return(Boolean(value));
case TYPE_STRING :
return((value ? (value.toString()) : ""));
}
return(null);
}
function toString() {
return(_name);
}
static var TYPE_FLOAT = 1;
static var TYPE_INTEGER = 2;
static var TYPE_STRING = 3;
static var TYPE_BOOLEAN = 4;
}
Symbol 437 MovieClip [__Packages.com.newgrounds.SaveRating] Frame 0
class com.newgrounds.SaveRating
{
var _name, _id, _isFloat, _minimum, _maximum;
function SaveRating (name, id, isFloat, minimum, maximum) {
_name = name;
_id = id;
_isFloat = isFloat;
_minimum = minimum;
_maximum = maximum;
}
function get name() {
return(_name);
}
function get id() {
return(_id);
}
function get isFloat() {
return(_isFloat);
}
function get minimum() {
return(_minimum);
}
function get maximum() {
return(_maximum);
}
function validateValue(value) {
var _local2 = Number(value);
if (isNaN(_local2)) {
com.newgrounds.Logger.logError(("Invalid value for rating \"" + _name) + "\".");
return(NaN);
}
if (_local2 < _minimum) {
com.newgrounds.Logger.logWarning(((((_local2 + " is out of acceptable range for rating \"") + _name) + "\". Clamping to ") + _minimum) + ".");
return(_minimum);
}
if (_local2 > _maximum) {
com.newgrounds.Logger.logWarning(((((_local2 + " is out of acceptable range for rating \"") + _name) + "\". Clamping to ") + _maximum) + ".");
return(_maximum);
}
if (!isFloat) {
var _local3 = int(_local2);
if (_local3 != _local2) {
com.newgrounds.Logger.logWarning(((((("Float value " + _local2) + " given for integer rating \"") + _name) + "\". Clamping to ") + _local3) + ".");
}
return(_local3);
}
return(_local2);
}
function toString() {
return(_name);
}
}
Symbol 432 MovieClip [__Packages.com.newgrounds.BitmapLoader] Frame 0
class com.newgrounds.BitmapLoader extends com.newgrounds.APIEventDispatcher
{
var _bitmapData, _url, _loader, _loaderClip, dispatchEvent;
function BitmapLoader (defaultBitmap, url) {
super();
_bitmapData = defaultBitmap;
_url = url;
}
function get url() {
return(_url);
}
function set url(v) {
_loaded = false;
_url = v;
//return(url);
}
function get bitmapData() {
return(_bitmapData);
}
function set bitmapData(v) {
_bitmapData = v;
_loaded = true;
//return(bitmapData);
}
function get loaded() {
return(_loaded);
}
function disposeLoader() {
if (_loader) {
if (_loaderClip._parent == _root) {
_loader.unloadClip(_loaderClip.bitmap);
_loaderClip.removeMovieClip();
}
_loader = null;
_loaderClip = null;
}
}
function load() {
if ((!_url) || (_url == "")) {
onLoadComplete();
return(undefined);
}
_loaded = false;
if (_bitmapData) {
_bitmapData.dispose();
_bitmapData = null;
}
disposeLoader();
attachBitmap(null);
}
function attachBitmap(parent) {
if (!parent) {
parent = _root;
}
var _local5 = parent.getNextHighestDepth();
var _local3 = parent.createEmptyMovieClip("__bitmap" + _local5, _local5);
if (((!_loaded) && (_url)) && (_url != "")) {
_local3.createEmptyMovieClip("bitmap", 0);
_loader = new MovieClipLoader();
_loaderClip = _local3;
if (parent == _root) {
_loaderClip._visible = false;
}
var thisObj = this;
_loaderClip.onEnterFrame = function () {
thisObj.pollLoad();
};
_loader.addListener({onLoadError:function () {
thisObj.onLoadComplete();
}});
_loader.loadClip(_url, _local3.bitmap);
} else {
_local3.attachBitmap(_bitmapData, 0);
}
return(_local3);
}
function pollLoad() {
if (_loaderClip._width) {
onLoadComplete();
}
}
function onLoadComplete() {
var _local2;
if ((_loader && (_loaderClip)) && (_loaderClip._width)) {
try {
_loaderClip.onEnterFrame = null;
_local2 = new flash.display.BitmapData(_loaderClip._width, _loaderClip._height, true, 0);
_local2.draw(_loaderClip);
_bitmapData = _local2;
_loaded = true;
} catch(error) {
if (_local2) {
_local2.dispose();
}
}
}
disposeLoader();
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.ICON_LOADED, this, (_loaded ? null : (com.newgrounds.APIEvent.ERROR_BAD_FILE))));
}
static var _cacheSeed = 0;
var _loaded = true;
}
Symbol 441 MovieClip [__Packages.com.newgrounds.SaveQuery] Frame 0
class com.newgrounds.SaveQuery extends com.newgrounds.APIEventDispatcher
{
var _group, _connection, _files, _lookupKeys, _lookupRatings, _fileConditions, _keyConditions, _ratingConditions, _sortFields, dispatchEvent;
function SaveQuery (group) {
super();
_group = group;
_connection = group.connection;
reset();
}
function get group() {
return(_group);
}
function get resultsPerPage() {
return(_resultsPerPage);
}
function set resultsPerPage(val) {
_resultsPerPage = Math.min(Math.max(val, 1), 100);
//return(resultsPerPage);
}
function get page() {
return(_page);
}
function set page(val) {
_page = Math.max(val, 1);
//return(page);
}
function prevPage() {
page = ((page-1));
}
function nextPage() {
page = ((page+1));
}
function get isRandomized() {
return(_isRandomized);
}
function set isRandomized(val) {
_isRandomized = val;
//return(isRandomized);
}
function get files() {
return(_files);
}
function reset() {
_page = 1;
_resultsPerPage = 10;
_isRandomized = false;
_lookupKeys = [];
_lookupRatings = [];
_fileConditions = [];
_keyConditions = [];
_ratingConditions = [];
_sortFields = [];
_files = [];
includeAllFields();
}
function clone() {
var _local2 = new com.newgrounds.SaveQuery(_group);
_local2._page = _page;
_local2._resultsPerPage = _resultsPerPage;
_local2._isRandomized = _isRandomized;
_local2._lookupKeys = _lookupKeys.concat();
_local2._lookupRatings = _lookupRatings.concat();
_local2._fileConditions = _fileConditions.concat();
_local2._keyConditions = _keyConditions.concat();
_local2._ratingConditions = _ratingConditions.concat();
return(_local2);
}
function includeAllFields() {
for (var _local5 in _group.__get__keys()) {
var _local2 = _group.__get__keys()[_local5];
_lookupKeys.push(_local2.__get__id());
}
for (var _local4 in _group.__get__ratings()) {
var _local3 = _group.__get__ratings()[_local4];
_lookupRatings.push(_local3.__get__id());
}
}
function addCondition(field, operator, value) {
var _local2;
_local2 = 0;
while (_local2 < FILE_FIELDS.length) {
if (FILE_FIELDS[_local2] == field) {
break;
}
_local2++;
}
if (_local2 == FILE_FIELDS.length) {
_local2 = -1;
}
if (_local2 >= 0) {
_fileConditions.push({field:_local2, operator:operator, value:value});
} else {
var _local3 = _group.getKey(field);
if (_local3) {
value = _local3.validateValue(value);
_keyConditions.push({key_id:_local3.__get__id(), operator:operator, value:value});
return(undefined);
}
var _local4 = field.split(".");
var _local6 = _group.getRating(_local4[0]);
if (_local6) {
value = _local6.validateValue(value);
_ratingConditions.push({rating_id:_local6.__get__id(), operator:operator, value:value, column:(_local4[1] ? (_local4[1]) : "score")});
return(undefined);
}
com.newgrounds.Logger.logError(((("The save group \"" + _group.__get__name()) + "\" does not have a field named \"") + field) + "\".");
}
}
function sortOn(field, sortDescending) {
if (sortDescending == undefined) {
sortDescending = false;
}
var _local2;
_local2 = 0;
while (_local2 < FILE_FIELDS.length) {
if (FILE_FIELDS[_local2] == field) {
break;
}
_local2++;
}
if (_local2 == FILE_FIELDS.length) {
_local2 = -1;
}
if (_local2 >= 0) {
_sortFields.push({table:TABLE_FILES, field:_local2, desc:sortDescending});
} else {
var _local5 = _group.getKey(field);
if (_local5) {
_sortFields.push({table:TABLE_KEYS, field:_local5.__get__id(), desc:sortDescending});
return(undefined);
}
var _local3 = field.split(".");
var _local6 = _group.getRating(_local3[0]);
if (_local6) {
_sortFields.push({table:TABLE_RATINGS, field:_local6.__get__id(), desc:sortDescending, extra:(_local3[1] ? (_local3[1]) : "score")});
return(undefined);
}
com.newgrounds.Logger.logError(((("The save group \"" + _group.__get__name()) + "\" does not have a field named \"") + field) + "\".");
}
}
function execute() {
var _local5 = {};
_local5.page = _page;
_local5.num_results = _resultsPerPage;
if (_isRandomized) {
_local5.randomize = 1;
}
if (_lookupKeys && (_lookupKeys.length)) {
_local5.lookup_keys = _lookupKeys;
}
if (_lookupRatings && (_lookupRatings.length)) {
_local5.lookup_ratings = _lookupRatings;
}
if (_fileConditions && (_fileConditions.length)) {
_local5.file_conditions = _fileConditions;
}
if (_keyConditions && (_keyConditions.length)) {
_local5.key_conditions = _keyConditions;
}
if (_ratingConditions && (_ratingConditions.length)) {
_local5.rating_conditions = _ratingConditions;
}
if (_sortFields && (_sortFields.length)) {
_local5.sort_conditions = _sortFields;
}
_connection.sendSimpleCommand("lookupSaveFiles", {target:this, func:onQueryComplete}, {publisher_id:_connection.publisherId, group_id:_group.__get__id(), query:_local5});
}
function onQueryComplete(event) {
if (event.__get__success()) {
var _local4 = event.__get__data();
_files = [];
if (_local4.files) {
var _local2 = 0;
while (_local2 < _local4.files.length) {
var _local3 = com.newgrounds.SaveFile.fromObject(_group, _local4.files[_local2]);
if (_local3) {
_files.push(_local3);
}
_local2++;
}
}
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.QUERY_COMPLETE, this));
} else {
com.newgrounds.Logger.logError("Query failed: " + event.__get__error());
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.QUERY_COMPLETE, this, event.__get__error()));
}
}
static var FILE_ID = "fileId";
static var AUTHOR_ID = "authorId";
static var AUTHOR_NAME = "authorName";
static var FILE_NAME = "fileName";
static var CREATED_ON = "createdOn";
static var UPDATED_ON = "updatedOn";
static var FILE_VIEWS = "fileViews";
static var FILE_STATUS = "fileStatus";
static var FILE_FIELDS = [FILE_ID, AUTHOR_ID, AUTHOR_NAME, FILE_NAME, CREATED_ON, UPDATED_ON, FILE_VIEWS, FILE_STATUS];
static var OPERATOR_EQUAL = "=";
static var OPERATOR_LESS_THAN = "<";
static var OPERATOR_GREATER_THAN = ">";
static var OPERATOR_NOT_EQUAL = "!=";
static var OPERATOR_LESS_OR_EQUAL = "<=";
static var OPERATOR_GREATER_OR_EQUAL = ">=";
static var OPERATOR_CONTAINS = "*";
static var OPERATOR_NOT_CONTAINS = "!*";
static var OPERATOR_NOT_BEGINS_WITH = "!*=";
static var OPERATOR_NOT_ENDS_WITH = "!=*";
static var OPERATOR_BEGINS_WITH = "*=";
static var OPERATOR_ENDS_WITH = "=*";
static var TABLE_FILES = 1;
static var TABLE_KEYS = 2;
static var TABLE_RATINGS = 3;
var _page = 1;
var _resultsPerPage = 10;
var _isRandomized = false;
}
Symbol 433 MovieClip [__Packages.com.newgrounds.Medal] Frame 0
class com.newgrounds.Medal extends com.newgrounds.APIEventDispatcher
{
var _connection, _id, _name, _description, _secret, _unlocked, _value, _difficulty, _iconLoader, dispatchEvent;
function Medal (connection, id, name, description, secret, unlocked, value, difficultyId, iconURL) {
super();
_connection = connection;
_id = id;
_name = name;
_description = description;
_secret = secret;
_unlocked = unlocked;
_value = value;
_difficulty = DIFFICULTIES[difficultyId];
_iconLoader = new com.newgrounds.BitmapLoader(DEFAULT_ICON, iconURL);
_iconLoader.load();
}
function get difficulty() {
return(_difficulty);
}
function get icon() {
return(_iconLoader.__get__bitmapData());
}
function get id() {
return(_id);
}
function get name() {
return(_name);
}
function get description() {
return(_description);
}
function get secret() {
return(_secret);
}
function get unlocked() {
return(_unlocked);
}
function get value() {
return(_value);
}
function toString() {
return((((((("Medal: " + _name) + "\t\t(") + (_unlocked ? "unlocked, " : "locked, ")) + _value) + "pts, ") + _difficulty) + ")");
}
function attachIcon(parent) {
return(_iconLoader.attachBitmap(parent));
}
function unlock() {
if (_unlocked) {
com.newgrounds.Logger.logWarning(("Medal \"" + _name) + "\" is already unlocked.");
return(undefined);
}
com.newgrounds.Logger.logMessage(("Unlocking medal \"" + name) + "\"...");
_unlocked = true;
if (_connection.__get__hasUserSession()) {
_connection.sendSimpleCommand("unlockMedal", {target:this, func:onUnlockConfirmed}, null, {medal_id:id});
}
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.MEDAL_UNLOCKED, this));
}
function setUnlocked(unlocked) {
_unlocked = unlocked;
}
function onUnlockConfirmed(event) {
if (event.__get__success()) {
com.newgrounds.Logger.logMessage(("Medal \"" + name) + "\" unlocked.");
} else {
com.newgrounds.Logger.logError(("Failed to unlock \"" + name) + "\"!");
}
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.MEDAL_UNLOCK_CONFIRMED, this, event.__get__error()));
}
static var ICON_WIDTH = 50;
static var ICON_HEIGHT = 50;
static var DEFAULT_ICON = flash.display.BitmapData.loadBitmap("DefaultMedalIcon");
static var DIFFICULTY_EASY = "Easy";
static var DIFFICULTY_MODERATE = "Moderate";
static var DIFFICULTY_CHALLENGING = "Challenging";
static var DIFFICULTY_DIFFICULT = "Difficult";
static var DIFFICULTY_BRUTAL = "Brutal";
static var DIFFICULTIES = ["Unknown", DIFFICULTY_EASY, DIFFICULTY_MODERATE, DIFFICULTY_CHALLENGING, DIFFICULTY_DIFFICULT, DIFFICULTY_BRUTAL];
}
Symbol 435 MovieClip [__Packages.com.newgrounds.ScoreBoard] Frame 0
class com.newgrounds.ScoreBoard extends com.newgrounds.APIEventDispatcher
{
var _connection, _name, _id, _scores, _tag, dispatchEvent;
function ScoreBoard (connection, name, id) {
super();
_connection = connection;
_name = name;
_id = id;
}
function get name() {
return(_name);
}
function get scores() {
return(_scores);
}
function get period() {
return(_period);
}
function set period(val) {
_period = val;
//return(period);
}
function get firstResult() {
return(_firstResult);
}
function set firstResult(val) {
_firstResult = Math.max(1, val);
//return(firstResult);
}
function get numResults() {
return(_numResults);
}
function set numResults(val) {
_numResults = val;
//return(numResults);
}
function get tag() {
return(_tag);
}
function set tag(val) {
_tag = val;
//return(tag);
}
function get page() {
return(Math.ceil((_firstResult - 1) / _numResults) + 1);
}
function prevPage() {
if (firstResult > _numResults) {
firstResult = firstResult - _numResults;
}
}
function nextPage() {
firstResult = firstResult + _numResults;
}
function loadScores() {
_connection.sendSimpleCommand("loadScores", {target:this, func:onScoresLoaded}, {publisher_id:_connection.publisherId, board:_id, page:((_firstResult - 1) / _numResults) + 1, num_results:_numResults, period:_period, tag:_tag});
}
function postScore(numericScore, tag) {
if (tag == undefined) {
tag = null;
}
if (isNaN(numericScore)) {
com.newgrounds.Logger.logError("Cannot post invalid score: " + numericScore);
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.SCORE_POSTED, null, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT));
return(undefined);
}
com.newgrounds.Logger.logMessage(((((("Posting a score of " + numericScore) + " by ") + _connection.username) + " to scoreboard \"") + _name) + "\"...");
_connection.sendSimpleCommand("postScore", {target:this, func:onScorePosted}, null, {user_name:_connection.username, board:_id, value:numericScore, tag:tag});
}
function onScoresLoaded(event) {
var _local4 = event.__get__data();
_scores = [];
var _local5;
if (_local4.first_result) {
_local5 = _local4.first_result;
} else {
_local5 = _firstResult;
}
if (_local4.scores) {
var _local3 = 0;
while (_local3 < _local4.scores.length) {
var _local2 = _local4.scores[_local3];
if (_local2) {
_scores[_local3] = new com.newgrounds.Score(_local5, _local2.username, _local2.value, _local2.numeric_value, _local2.tag);
}
_local3++;
_local5++;
}
}
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.SCORES_LOADED, this));
}
function onScorePosted(event) {
if (event.__get__success()) {
com.newgrounds.Logger.logMessage("Score posted!");
var _local4 = event.__get__data();
var _local2 = {};
_local2.score = _local4.value;
_local2.scoreBoard = this;
} else {
com.newgrounds.Logger.logError("Error posting score: " + event.__get__error());
}
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.SCORE_POSTED, _local2, event.__get__error()));
}
function toString() {
return("Scoreboard: " + _name);
}
static var TODAY = "Today";
static var THIS_WEEK = "This Week";
static var THIS_MONTH = "This Month";
static var THIS_YEAR = "This Year";
static var ALL_TIME = "All-Time";
var _period = ALL_TIME;
var _firstResult = 1;
var _numResults = 10;
}
Symbol 434 MovieClip [__Packages.com.newgrounds.Score] Frame 0
class com.newgrounds.Score
{
var _rank, _username, _score, _numericValue, _tag;
function Score (rank, username, score, numericValue, tag) {
(_rank = rank);
(_username = username);
_score = score;
_numericValue = numericValue;
_tag = tag;
}
function get numericValue() {
return(_numericValue);
}
function get rank() {
return(_rank);
}
function get score() {
return(_score);
}
function get tag() {
return(_tag);
}
function get username() {
return(_username);
}
function toString() {
return((((_rank + ".\t") + _username) + "\t") + _score);
}
}
Symbol 424 MovieClip [__Packages.com.newgrounds.Logger] Frame 0
class com.newgrounds.Logger
{
function Logger () {
}
static function logInternal() {
var _local2 = arguments;
log(PRIORITY_INTERNAL, _local2);
}
static function logMessage() {
var _local2 = arguments;
log(PRIORITY_MESSAGE, _local2);
}
static function logWarning() {
var _local2 = arguments;
log(PRIORITY_WARNING, _local2);
}
static function logError() {
var _local2 = arguments;
log(PRIORITY_ERROR, _local2);
}
static function log(priority, messages) {
if (priority == undefined) {
priority = PRIORITY_MESSAGE;
}
if (messages == undefined) {
messages = null;
}
if (priority >= _messageLevel) {
var _local1 = 0;
while (_local1 < messages.length) {
trace(HEADER + messages[_local1]);
_eventDispatcher.dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.LOG, messages[_local1]));
_local1++;
}
}
if (priority >= _throwLevel) {
throw new Error(messages.join(newline));
}
}
static function addEventListener(event, listener) {
_eventDispatcher.addEventListener(event, listener, false, 0, false);
}
static var PRIORITY_INTERNAL = 0;
static var PRIORITY_MESSAGE = 1;
static var PRIORITY_WARNING = 2;
static var PRIORITY_ERROR = 3;
static var PRIORITY_MAX = 4;
static var HEADER = "[Newgrounds API] :: ";
static var _eventDispatcher = new com.newgrounds.EventDispatcher();
static var _messageLevel = PRIORITY_MESSAGE;
static var _throwLevel = PRIORITY_MAX;
}
Symbol 443 MovieClip [__Packages.com.newgrounds.components.FlashAdBase] Frame 0
class com.newgrounds.components.FlashAdBase extends MovieClip
{
var _x, _y, stop, onUnload, _adListener, adContainer, newgroundsButton, _fullScreen, clear, _ad, showPlayButton, gotoAndStop, _adFeedLoader, _width, _height, beginFill, moveTo, lineTo, endFill;
function FlashAdBase () {
super();
try {
System.security.allowDomain("server.cpmstar.com");
System.security.allowInsecureDomain("server.cpmstar.com");
} catch(error) {
}
_x = int(_x);
_y = int(_y);
stop();
if (_newgroundsButton) {
_newgroundsButton.onRelease = onNGClick;
}
onUnload = removeAd;
var _local4 = this;
_adListener = {onLoadError:function (target, error, httpStatus) {
target._parent.onAdError(target, error, httpStatus);
}};
if (fullScreen) {
drawFullScreenRect();
}
if (com.newgrounds.API.__get__adFeedURL()) {
loadAdFeed();
} else {
com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.API_CONNECTED, {target:this, func:loadAdFeed});
}
}
function get _adContainer() {
return(adContainer);
}
function get _newgroundsButton() {
return(newgroundsButton);
}
function get fullScreen() {
return(_fullScreen);
}
function set fullScreen(v) {
_fullScreen = v;
if (v) {
drawFullScreenRect();
} else {
clear();
}
//return(fullScreen);
}
function get showBorder() {
return(_showBorder);
}
function set showBorder(value) {
_showBorder = value;
if (_showBorder) {
if (_ad) {
var _local2 = _ad.getProgress(_adContainer);
if (_local2.bytesLoaded >= _local2.bytesTotal) {
if (showPlayButton) {
gotoAndStop("loadedPlay");
} else {
gotoAndStop("loaded");
}
} else {
gotoAndStop("loading");
}
} else {
gotoAndStop("idle");
}
} else {
gotoAndStop("noBorder");
}
//return(showBorder);
}
function loadAdFeed(event) {
if (event == undefined) {
event = null;
}
_adFeedLoader = new LoadVars();
var target = this;
_adFeedLoader.onData = function (data) {
target.onAdFeedLoaded(data);
};
_adFeedLoader.load(com.newgrounds.API.__get__adFeedURL(), _adFeedLoader);
}
function onAdFeedLoaded(data) {
if (data && (data != "")) {
loadAd(data);
} else {
onAdError();
}
}
function loadAd(adURL) {
if (showPlayButton) {
gotoAndStop("loadedPlay");
}
if (adType != VIDEO_ADS) {
if (adURL.indexOf("?") >= 0) {
adURL = adURL + "&";
} else {
adURL = adURL + "?";
}
adURL = adURL + "blockoverlays=1";
}
_ad = new MovieClipLoader();
_ad.addListener(_adListener);
_adContainer._lockroot = true;
_ad.loadClip(adURL, _adContainer);
}
function removeAd() {
_adFeedLoader.onData = null;
_adFeedLoader = null;
_ad.removeListener(_adListener);
if (_adContainer) {
_ad.unloadClip(_adContainer);
}
_ad = null;
}
function onAdError(target, error, httpStatus) {
com.newgrounds.Logger.logError("Unable to load ad.");
removeAd();
}
function onNGClick() {
com.newgrounds.API.loadNewgrounds();
}
function drawFullScreenRect() {
_x = (Stage.width - _width) / 2;
_y = (Stage.height - _height) / 2;
beginFill(0);
moveTo(-Stage.width, -Stage.height);
lineTo(Stage.width, -Stage.height);
lineTo(Stage.width, Stage.height);
lineTo(-Stage.width, Stage.height);
lineTo(-Stage.width, -Stage.height);
endFill();
}
var _showBorder = true;
var adType = com.newgrounds.components.FlashAdBase.prototype.VIDEO_ADS;
var VIDEO_ADS = "Video";
var SIMPLE_ADS = "Simple";
}
Symbol 418 MovieClip [__Packages.com.newgrounds.shims.APIShim] Frame 0
class com.newgrounds.shims.APIShim extends MovieClip
{
function APIShim () {
super();
}
}
Symbol 428 MovieClip [__Packages.com.newgrounds.crypto.MD5] Frame 0
class com.newgrounds.crypto.MD5
{
function MD5 () {
}
static function hash(src) {
return(hex_md5(src));
}
static function hex_md5(src) {
return(binl2hex(core_md5(str2binl(src), src.length * 8)));
}
static function core_md5(x, len) {
x[len >> 5] = x[len >> 5] | (128 << (len % 32));
x[(((len + 64) >>> 9) << 4) + 14] = len;
var _local4 = 1732584193 /* 0x67452301 */;
var _local3 = -271733879;
var _local2 = -1732584194;
var _local1 = 271733878 /* 0x10325476 */;
var _local5 = 0;
while (_local5 < x.length) {
var _local10 = _local4;
var _local9 = _local3;
var _local8 = _local2;
var _local7 = _local1;
_local4 = md5_ff(_local4, _local3, _local2, _local1, x[_local5 + 0], 7, -680876936);
_local1 = md5_ff(_local1, _local4, _local3, _local2, x[_local5 + 1], 12, -389564586);
_local2 = md5_ff(_local2, _local1, _local4, _local3, x[_local5 + 2], 17, 606105819);
_local3 = md5_ff(_local3, _local2, _local1, _local4, x[_local5 + 3], 22, -1044525330);
_local4 = md5_ff(_local4, _local3, _local2, _local1, x[_local5 + 4], 7, -176418897);
_local1 = md5_ff(_local1, _local4, _local3, _local2, x[_local5 + 5], 12, 1200080426);
_local2 = md5_ff(_local2, _local1, _local4, _local3, x[_local5 + 6], 17, -1473231341);
_local3 = md5_ff(_local3, _local2, _local1, _local4, x[_local5 + 7], 22, -45705983);
_local4 = md5_ff(_local4, _local3, _local2, _local1, x[_local5 + 8], 7, 1770035416);
_local1 = md5_ff(_local1, _local4, _local3, _local2, x[_local5 + 9], 12, -1958414417);
_local2 = md5_ff(_local2, _local1, _local4, _local3, x[_local5 + 10], 17, -42063);
_local3 = md5_ff(_local3, _local2, _local1, _local4, x[_local5 + 11], 22, -1990404162);
_local4 = md5_ff(_local4, _local3, _local2, _local1, x[_local5 + 12], 7, 1804603682);
_local1 = md5_ff(_local1, _local4, _local3, _local2, x[_local5 + 13], 12, -40341101);
_local2 = md5_ff(_local2, _local1, _local4, _local3, x[_local5 + 14], 17, -1502002290);
_local3 = md5_ff(_local3, _local2, _local1, _local4, x[_local5 + 15], 22, 1236535329);
_local4 = md5_gg(_local4, _local3, _local2, _local1, x[_local5 + 1], 5, -165796510);
_local1 = md5_gg(_local1, _local4, _local3, _local2, x[_local5 + 6], 9, -1069501632);
_local2 = md5_gg(_local2, _local1, _local4, _local3, x[_local5 + 11], 14, 643717713);
_local3 = md5_gg(_local3, _local2, _local1, _local4, x[_local5 + 0], 20, -373897302);
_local4 = md5_gg(_local4, _local3, _local2, _local1, x[_local5 + 5], 5, -701558691);
_local1 = md5_gg(_local1, _local4, _local3, _local2, x[_local5 + 10], 9, 38016083);
_local2 = md5_gg(_local2, _local1, _local4, _local3, x[_local5 + 15], 14, -660478335);
_local3 = md5_gg(_local3, _local2, _local1, _local4, x[_local5 + 4], 20, -405537848);
_local4 = md5_gg(_local4, _local3, _local2, _local1, x[_local5 + 9], 5, 568446438);
_local1 = md5_gg(_local1, _local4, _local3, _local2, x[_local5 + 14], 9, -1019803690);
_local2 = md5_gg(_local2, _local1, _local4, _local3, x[_local5 + 3], 14, -187363961);
_local3 = md5_gg(_local3, _local2, _local1, _local4, x[_local5 + 8], 20, 1163531501);
_local4 = md5_gg(_local4, _local3, _local2, _local1, x[_local5 + 13], 5, -1444681467);
_local1 = md5_gg(_local1, _local4, _local3, _local2, x[_local5 + 2], 9, -51403784);
_local2 = md5_gg(_local2, _local1, _local4, _local3, x[_local5 + 7], 14, 1735328473);
_local3 = md5_gg(_local3, _local2, _local1, _local4, x[_local5 + 12], 20, -1926607734);
_local4 = md5_hh(_local4, _local3, _local2, _local1, x[_local5 + 5], 4, -378558);
_local1 = md5_hh(_local1, _local4, _local3, _local2, x[_local5 + 8], 11, -2022574463);
_local2 = md5_hh(_local2, _local1, _local4, _local3, x[_local5 + 11], 16, 1839030562);
_local3 = md5_hh(_local3, _local2, _local1, _local4, x[_local5 + 14], 23, -35309556);
_local4 = md5_hh(_local4, _local3, _local2, _local1, x[_local5 + 1], 4, -1530992060);
_local1 = md5_hh(_local1, _local4, _local3, _local2, x[_local5 + 4], 11, 1272893353);
_local2 = md5_hh(_local2, _local1, _local4, _local3, x[_local5 + 7], 16, -155497632);
_local3 = md5_hh(_local3, _local2, _local1, _local4, x[_local5 + 10], 23, -1094730640);
_local4 = md5_hh(_local4, _local3, _local2, _local1, x[_local5 + 13], 4, 681279174);
_local1 = md5_hh(_local1, _local4, _local3, _local2, x[_local5 + 0], 11, -358537222);
_local2 = md5_hh(_local2, _local1, _local4, _local3, x[_local5 + 3], 16, -722521979);
_local3 = md5_hh(_local3, _local2, _local1, _local4, x[_local5 + 6], 23, 76029189);
_local4 = md5_hh(_local4, _local3, _local2, _local1, x[_local5 + 9], 4, -640364487);
_local1 = md5_hh(_local1, _local4, _local3, _local2, x[_local5 + 12], 11, -421815835);
_local2 = md5_hh(_local2, _local1, _local4, _local3, x[_local5 + 15], 16, 530742520);
_local3 = md5_hh(_local3, _local2, _local1, _local4, x[_local5 + 2], 23, -995338651);
_local4 = md5_ii(_local4, _local3, _local2, _local1, x[_local5 + 0], 6, -198630844);
_local1 = md5_ii(_local1, _local4, _local3, _local2, x[_local5 + 7], 10, 1126891415);
_local2 = md5_ii(_local2, _local1, _local4, _local3, x[_local5 + 14], 15, -1416354905);
_local3 = md5_ii(_local3, _local2, _local1, _local4, x[_local5 + 5], 21, -57434055);
_local4 = md5_ii(_local4, _local3, _local2, _local1, x[_local5 + 12], 6, 1700485571);
_local1 = md5_ii(_local1, _local4, _local3, _local2, x[_local5 + 3], 10, -1894986606);
_local2 = md5_ii(_local2, _local1, _local4, _local3, x[_local5 + 10], 15, -1051523);
_local3 = md5_ii(_local3, _local2, _local1, _local4, x[_local5 + 1], 21, -2054922799);
_local4 = md5_ii(_local4, _local3, _local2, _local1, x[_local5 + 8], 6, 1873313359);
_local1 = md5_ii(_local1, _local4, _local3, _local2, x[_local5 + 15], 10, -30611744);
_local2 = md5_ii(_local2, _local1, _local4, _local3, x[_local5 + 6], 15, -1560198380);
_local3 = md5_ii(_local3, _local2, _local1, _local4, x[_local5 + 13], 21, 1309151649);
_local4 = md5_ii(_local4, _local3, _local2, _local1, x[_local5 + 4], 6, -145523070);
_local1 = md5_ii(_local1, _local4, _local3, _local2, x[_local5 + 11], 10, -1120210379);
_local2 = md5_ii(_local2, _local1, _local4, _local3, x[_local5 + 2], 15, 718787259);
_local3 = md5_ii(_local3, _local2, _local1, _local4, x[_local5 + 9], 21, -343485551);
_local4 = safe_add(_local4, _local10);
_local3 = safe_add(_local3, _local9);
_local2 = safe_add(_local2, _local8);
_local1 = safe_add(_local1, _local7);
_local5 = _local5 + 16;
}
return(new Array(_local4, _local3, _local2, _local1));
}
static function md5_cmn(q, a, b, x, s, t) {
return(safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b));
}
static function md5_ff(a, b, c, d, x, s, t) {
return(md5_cmn((b & c) | ((~b) & d), a, b, x, s, t));
}
static function md5_gg(a, b, c, d, x, s, t) {
return(md5_cmn((b & d) | (c & (~d)), a, b, x, s, t));
}
static function md5_hh(a, b, c, d, x, s, t) {
return(md5_cmn((b ^ c) ^ d, a, b, x, s, t));
}
static function md5_ii(a, b, c, d, x, s, t) {
return(md5_cmn(c ^ (b | (~d)), a, b, x, s, t));
}
static function bit_rol(num, cnt) {
return((num << cnt) | (num >>> (32 - cnt)));
}
static function safe_add(x, y) {
var _local1 = (x & 65535) + (y & 65535);
var _local2 = ((x >> 16) + (y >> 16)) + (_local1 >> 16);
return((_local2 << 16) | (_local1 & 65535));
}
static function str2binl(str) {
var _local3 = new Array();
var _local4 = 255;
var _local1 = 0;
while (_local1 < (str.length * 8)) {
_local3[_local1 >> 5] = _local3[_local1 >> 5] | ((str.charCodeAt(_local1 / 8) & _local4) << (_local1 % 32));
_local1 = _local1 + 8;
}
return(_local3);
}
static function binl2hex(binarray) {
var _local4 = new String("");
var _local3 = new String("0123456789abcdef");
var _local1 = 0;
while (_local1 < (binarray.length * 4)) {
_local4 = _local4 + (_local3.charAt((binarray[_local1 >> 2] >> (((_local1 % 4) * 8) + 4)) & 15) + _local3.charAt((binarray[_local1 >> 2] >> ((_local1 % 4) * 8)) & 15));
_local1++;
}
return(_local4);
}
}
Symbol 429 MovieClip [__Packages.com.newgrounds.crypto.RC4] Frame 0
class com.newgrounds.crypto.RC4
{
function RC4 () {
}
static function encrypt(src, key) {
var _local3 = strToChars(src);
var _local1 = strToChars(key);
var _local2 = calculate(_local3, _local1);
return(charsToHex(_local2));
}
static function encryptbin(src, key) {
var _local3 = strToChars(src);
var _local1 = strToChars(key);
var _local2 = calculate(_local3, _local1);
return(_local2);
}
static function decrypt(src, key) {
var _local3 = hexToChars(src);
var _local1 = strToChars(key);
var _local2 = calculate(_local3, _local1);
return(charsToStr(_local2));
}
static function initialize(pwd) {
var _local2 = 0;
var _local3;
var _local4 = pwd.length;
var _local1 = 0;
while (_local1 <= 255) {
mykey[_local1] = pwd[_local1 % _local4];
sbox[_local1] = _local1;
_local1++;
}
_local1 = 0;
while (_local1 <= 255) {
_local2 = ((_local2 + sbox[_local1]) + mykey[_local1]) % 256;
_local3 = sbox[_local1];
sbox[_local1] = sbox[_local2];
sbox[_local2] = _local3;
_local1++;
}
}
static function calculate(plaintxt, psw) {
initialize(psw);
var _local1 = 0;
var _local2 = 0;
var _local9 = new Array();
var _local7;
var _local5;
var _local6;
var _local3 = 0;
while (_local3 < plaintxt.length) {
_local1 = (_local1 + 1) % 256;
_local2 = (_local2 + sbox[_local1]) % 256;
_local5 = sbox[_local1];
sbox[_local1] = sbox[_local2];
sbox[_local2] = _local5;
var _local4 = (sbox[_local1] + sbox[_local2]) % 256;
_local7 = sbox[_local4];
_local6 = plaintxt[_local3] ^ _local7;
_local9.push(_local6);
_local3++;
}
return(_local9);
}
static function charsToHex(chars) {
var _local4 = new String("");
var _local3 = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f");
var _local1 = 0;
while (_local1 < chars.length) {
_local4 = _local4 + (_local3[chars[_local1] >> 4] + _local3[chars[_local1] & 15]);
_local1++;
}
return(_local4);
}
static function hexToChars(hex) {
var _local3 = new Array();
var _local1 = ((hex.substr(0, 2) == "0x") ? 2 : 0);
while (_local1 < hex.length) {
_local3.push(parseInt(hex.substr(_local1, 2), 16));
_local1 = _local1 + 2;
}
return(_local3);
}
static function charsToStr(chars) {
var _local3 = new String("");
var _local1 = 0;
while (_local1 < chars.length) {
_local3 = _local3 + String.fromCharCode(chars[_local1]);
_local1++;
}
return(_local3);
}
static function strToChars(str) {
var _local3 = new Array();
var _local1 = 0;
while (_local1 < str.length) {
_local3.push(str.charCodeAt(_local1));
_local1++;
}
return(_local3);
}
static var sbox = new Array(255);
static var mykey = new Array(255);
}
Symbol 430 MovieClip [__Packages.com.newgrounds.encoders.json.JSON] Frame 0
class com.newgrounds.encoders.json.JSON
{
static var start, cache, interval;
function JSON () {
}
static function encode(arg, noquotes) {
var _local3;
var _local2;
var _local6;
var _local1 = "";
var _local4;
if (arg.isSServerVar()) {
var _local8 = "sservervariable";
} else {
var _local8 = typeof(arg);
}
switch (_local8) {
case "sservervariable" :
return("?" + arg.getEncodedValue());
case "object" :
if (arg) {
if (arg instanceof Array) {
_local2 = 0;
while (_local2 < arg.length) {
_local4 = encode(arg[_local2]);
if (_local1) {
_local1 = _local1 + ",";
}
_local1 = _local1 + _local4;
_local2++;
}
return(("[" + _local1) + "]");
}
if (typeof(arg.toString) != "undefined") {
for (_local2 in arg) {
_local4 = arg[_local2];
if ((typeof(_local4) != "undefined") && (typeof(_local4) != "function")) {
_local4 = encode(_local4);
if (_local1) {
_local1 = _local1 + ",";
}
_local1 = _local1 + ((encode(_local2) + ":") + _local4);
}
}
return(("{" + _local1) + "}");
}
}
return("null");
case "number" :
return((isFinite(arg) ? (String(arg)) : "null"));
case "string" :
_local6 = arg.length;
if (noquotes) {
var _local7 = "";
} else {
var _local7 = "\"";
}
_local1 = _local7;
_local2 = 0;
while (_local2 < _local6) {
_local3 = arg.charAt(_local2);
if (_local3 >= " ") {
if ((_local3 == "\\") || (_local3 == "\"")) {
_local1 = _local1 + "\\";
}
_local1 = _local1 + _local3;
} else {
switch (_local3) {
case "\b" :
_local1 = _local1 + "\\b";
break;
case "\f" :
_local1 = _local1 + "\\f";
break;
case newline :
_local1 = _local1 + "\\n";
break;
case "\r" :
_local1 = _local1 + "\\r";
break;
case "\t" :
_local1 = _local1 + "\\t";
break;
default :
_local3 = _local3.charCodeAt();
_local1 = _local1 + (("\\u00" + Math.floor(_local3 / 16).toString(16)) + (_local3 % 16).toString(16));
}
}
_local2 = _local2 + 1;
}
return(_local1 + _local7);
case "boolean" :
return(String(arg));
}
return("null");
}
static function background_encode(arg, callback) {
if (busy) {
trace("[Newgrounds Encoder] :: Cannot encode a new file until the previous file is completed");
return(false);
}
if (!callback) {
trace("[Newgrounds Encoder] :: Missing a callback function, skipping encode");
return(false);
}
busy = true;
var _local2 = new Date();
start = _local2.getTime();
cache = {busy:false, complete:false, arg:arg, target:arg, parents:[], encoded:"", callback:callback, encode_chunk:function () {
com.newgrounds.encoders.json.JSON.encode_chunk();
}};
if (getType(arg) == "object") {
cache.encoded = "{";
} else if (getType(arg) == "array") {
cache.encoded = "[";
}
interval = setInterval(cache, "encode_chunk", 25);
return(true);
}
static function background_decode(arg, callback) {
if (busy) {
trace("[Newgrounds Encoder] :: Cannot decode a new file until the previous file is completed");
return(false);
}
if (!callback) {
trace("[Newgrounds Encoder] :: Missing a callback function, skipping decode");
return(false);
}
busy = true;
var _local1 = new Date();
start = _local1.getTime();
cache = {busy:false, callback:callback, complete:false, arg:arg, pos:0, parents:["root"], target:null, scratch:"", decode_chunk:function () {
com.newgrounds.encoders.json.JSON.decode_chunk();
}};
interval = setInterval(cache, "decode_chunk", 25);
return(true);
}
static function decode(text) {
var at = 0;
var ch = " ";
var _value;
var _error = function (m) {
throw {name:"JSONError", message:m, at:at - 1, text:text};
};
var _next = function () {
ch = text.charAt(at);
at = at + 1;
return(ch);
};
var _white = function () {
while (ch) {
if (ch <= " ") {
_next();
} else if (ch == "/") {
switch (_next()) {
case "/" :
while ((_next() && (ch != newline)) && (ch != "\r")) {
}
break;
case "*" :
_next();
for(;;){
if (ch) {
if (ch == "*") {
if (_next() == "/") {
_next();
// unexpected jump
}
} else {
_next();
}
} else {
_error("Unterminated comment");
}
};
break;
default :
_error("Syntax error");
}
} else {
return;
}
}
};
var _string = function () {
var _local4;
var _local1 = "";
var _local3;
var _local2;
var _local5 = false;
if (ch == "\"") {
while (_next()) {
if (ch == "\"") {
_next();
return(_local1);
}
if (ch == "\\") {
switch (_next()) {
case "b" :
_local1 = _local1 + "\b";
break;
case "f" :
_local1 = _local1 + "\f";
break;
case "n" :
_local1 = _local1 + newline;
break;
case "r" :
_local1 = _local1 + "\r";
break;
case "t" :
_local1 = _local1 + "\t";
break;
case "u" :
_local2 = 0;
_local4 = 0;
while (_local4 < 4) {
_local3 = parseInt(_next(), 16);
if (!isFinite(_local3)) {
_local5 = true;
break;
}
_local2 = (_local2 * 16) + _local3;
_local4 = _local4 + 1;
}
if (_local5) {
_local5 = false;
break;
}
_local1 = _local1 + String.fromCharCode(_local2);
break;
default :
_local1 = _local1 + ch;
}
} else {
_local1 = _local1 + ch;
}
}
}
_error("Bad string");
};
var _array = function () {
var _local1 = [];
if (ch == "[") {
_next();
_white();
if (ch == "]") {
_next();
return(_local1);
}
while (ch) {
_local1.push(_value());
_white();
if (ch == "]") {
_next();
return(_local1);
}
if (ch != ",") {
break;
}
_next();
_white();
}
}
_error("Bad array");
};
var _object = function () {
var _local2;
var _local1 = {};
if (ch == "{") {
_next();
_white();
if (ch == "}") {
_next();
return(_local1);
}
while (ch) {
_local2 = _string();
_white();
if (ch != ":") {
break;
}
_next();
_local1[_local2] = _value();
_white();
if (ch == "}") {
_next();
return(_local1);
}
if (ch != ",") {
break;
}
_next();
_white();
}
}
_error("Bad object");
};
var _number = function () {
var _local1 = "";
var _local2;
if (ch == "-") {
_local1 = "-";
_next();
}
while ((ch >= "0") && (ch <= "9")) {
_local1 = _local1 + ch;
_next();
}
if (ch == ".") {
_local1 = _local1 + ".";
while ((_next() && (ch >= "0")) && (ch <= "9")) {
_local1 = _local1 + ch;
}
}
_local2 = 1 * _local1;
if (!isFinite(_local2)) {
_error("Bad number");
} else {
return(_local2);
}
};
var _word = function () {
switch (ch) {
case "t" :
if (((_next() == "r") && (_next() == "u")) && (_next() == "e")) {
_next();
return(true);
}
break;
case "f" :
if ((((_next() == "a") && (_next() == "l")) && (_next() == "s")) && (_next() == "e")) {
_next();
return(false);
}
break;
case "n" :
if (!(((_next() == "u") && (_next() == "l")) && (_next() == "l"))) {
break;
}
_next();
return(null);
}
_error("Syntax error");
};
_value = function () {
_white();
switch (ch) {
case "{" :
return(_object());
case "[" :
return(_array());
case "\"" :
return(_string());
case "-" :
return(_number());
}
return((((ch >= "0") && (ch <= "9")) ? (_number()) : (_word())));
};
return(_value());
}
static function getType(v) {
if (v instanceof Array) {
return("array");
}
return(typeof(v));
}
static function decode_chunk() {
if ((!cache.busy) && (!cache.complete)) {
cache.busy = true;
var _local1 = 0;
while (_local1 < decode_chunks) {
chunk_decoder();
if (cache.complete) {
break;
}
_local1++;
}
trace(Math.round((cache.pos / cache.arg.length) * 100) + "% decoded");
cache.busy = false;
}
if (cache.complete) {
var _local2 = new Date();
busy = false;
clearInterval(interval);
cache.callback(cache.root, _local2.getTime() - start);
cache.arg = "";
}
}
static function encode_chunk() {
if ((!cache.busy) && (!cache.complete)) {
cache.busy = true;
var _local1 = 0;
while (_local1 < encode_chunks) {
chunk_encoder();
if (cache.complete) {
break;
}
_local1++;
}
cache.busy = false;
}
if (cache.complete) {
var _local3 = new Date();
var _local2 = _local3.getTime();
busy = false;
clearInterval(interval);
cache.callback(cache.encoded, _local2 - start);
cache.encoded = "";
}
}
static function chunk_decoder() {
function _object() {
var _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos);
if (!com.newgrounds.encoders.json.JSON.cache.mode) {
com.newgrounds.encoders.json.JSON.cache.mode = "object";
com.newgrounds.encoders.json.JSON.cache.pos++;
_local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos);
if (_local1 != "\"") {
throw "Malformed object key in encoded string. Keys must be wrapped in quotes (\"\")";
}
com.newgrounds.encoders.json.JSON.cache.scratch = "";
_setTargetValue({});
} else if (_local1 == ",") {
com.newgrounds.encoders.json.JSON.cache.pos++;
_local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos);
if (_local1 != "\"") {
throw "Malformed object key in encoded string. Keys must be wrapped in quotes (\"\")";
}
com.newgrounds.encoders.json.JSON.cache.scratch = "";
} else if (_local1 == "}") {
_useParent();
} else if (_local1 == "\"") {
com.newgrounds.encoders.json.JSON.cache.pos++;
_local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos);
if (_local1 != ":") {
throw "Malformed object notation. Object keys and values must be separated by colons(:)";
}
_addParent(com.newgrounds.encoders.json.JSON.cache.scratch);
com.newgrounds.encoders.json.JSON.cache.mode = null;
} else {
if (_local1 == "\\") {
com.newgrounds.encoders.json.JSON.cache.pos++;
_local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos);
}
com.newgrounds.encoders.json.JSON.cache.scratch = com.newgrounds.encoders.json.JSON.cache.scratch + _local1;
}
com.newgrounds.encoders.json.JSON.cache.pos++;
}
function _array() {
var _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos);
if (!com.newgrounds.encoders.json.JSON.cache.mode) {
com.newgrounds.encoders.json.JSON.cache.mode = "array";
com.newgrounds.encoders.json.JSON.cache.pos++;
_local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos);
_setTargetValue([]);
if (_local1 != "]") {
_addArrayKey();
} else {
_useParent();
}
return(undefined);
}
if (_local1 == ",") {
_addArrayKey();
} else if (_local1 == "]") {
_useParent();
}
com.newgrounds.encoders.json.JSON.cache.pos++;
}
function _boolean() {
var _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos);
if (_local1 == "t") {
_setTargetValue(true);
com.newgrounds.encoders.json.JSON.cache.pos = com.newgrounds.encoders.json.JSON.cache.pos + 3;
} else if (_local1 == "f") {
_setTargetValue(false);
com.newgrounds.encoders.json.JSON.cache.pos = com.newgrounds.encoders.json.JSON.cache.pos + 4;
} else {
throw "Bool values must be true or false";
}
_useParent();
}
function _null() {
var _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos);
if (_local1 == "n") {
_setTargetValue(null);
com.newgrounds.encoders.json.JSON.cache.pos = com.newgrounds.encoders.json.JSON.cache.pos + 2;
} else {
throw "Null values must be null";
}
_useParent();
}
function _string() {
var _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos);
if (!com.newgrounds.encoders.json.JSON.cache.mode) {
if (_local1 != "\"") {
throw "Strings must be wrapped in quotes (\"\")";
}
com.newgrounds.encoders.json.JSON.cache.scratch = "";
com.newgrounds.encoders.json.JSON.cache.mode = "string";
} else if (_local1 == "\"") {
_setTargetValue(com.newgrounds.encoders.json.JSON.cache.scratch);
_useParent();
} else {
if (_local1 == "\\") {
com.newgrounds.encoders.json.JSON.cache.pos++;
_local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos);
switch (_local1) {
case "n" :
_local1 = newline;
break;
case "r" :
_local1 = newline;
break;
case "t" :
_local1 = "\t";
break;
case "u" :
_local1 = "\\" + _local1;
}
}
com.newgrounds.encoders.json.JSON.cache.scratch = com.newgrounds.encoders.json.JSON.cache.scratch + _local1;
}
com.newgrounds.encoders.json.JSON.cache.pos++;
}
function _number() {
var _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos);
var _local2 = "01234567890.-";
if (!com.newgrounds.encoders.json.JSON.cache.mode) {
com.newgrounds.encoders.json.JSON.cache.mode = "number";
com.newgrounds.encoders.json.JSON.cache.scratch = "";
}
if (_local2.indexOf(_local1) < 0) {
_setTargetValue(Number(com.newgrounds.encoders.json.JSON.cache.scratch));
_useParent();
} else {
com.newgrounds.encoders.json.JSON.cache.scratch = com.newgrounds.encoders.json.JSON.cache.scratch + _local1;
com.newgrounds.encoders.json.JSON.cache.pos++;
}
}
function _setTargetValue(newval) {
var _local2 = _getParent().obj;
var _local1 = com.newgrounds.encoders.json.JSON.cache.parents[com.newgrounds.encoders.json.JSON.cache.parents.length - 1];
_local2[_local1] = newval;
}
function _useParent() {
com.newgrounds.encoders.json.JSON.cache.mode = com.newgrounds.encoders.json.JSON.getType(_getParent().obj);
com.newgrounds.encoders.json.JSON.cache.parents.pop();
}
function _getParent() {
var _local2 = com.newgrounds.encoders.json.JSON.cache;
var _local1 = 0;
while (_local1 < (com.newgrounds.encoders.json.JSON.cache.parents.length - 1)) {
_local2 = _local2[com.newgrounds.encoders.json.JSON.cache.parents[_local1]];
_local1++;
}
return({obj:_local2, name:com.newgrounds.encoders.json.JSON.cache.parents[_local1]});
}
function _getCurrent() {
var _local2 = com.newgrounds.encoders.json.JSON.cache;
var _local1 = 0;
while (_local1 < com.newgrounds.encoders.json.JSON.cache.parents.length) {
_local2 = _local2[com.newgrounds.encoders.json.JSON.cache.parents[_local1]];
_local1++;
}
return({obj:_local2, name:com.newgrounds.encoders.json.JSON.cache.parents[_local1]});
}
function _addParent(child) {
com.newgrounds.encoders.json.JSON.cache.parents.push(child);
}
function _addArrayKey() {
var _local1 = _getCurrent().obj.length;
com.newgrounds.encoders.json.JSON.cache.parents.push(_local1);
com.newgrounds.encoders.json.JSON.cache.mode = null;
}
if (cache.pos >= cache.arg.length) {
cache.complete = true;
return(undefined);
}
if (cache.mode) {
eval ("_" + cache.mode)();
} else {
var char = cache.arg.charAt(cache.pos);
switch (char) {
case "{" :
_object();
return;
case "[" :
_array();
return;
case "\"" :
_string();
return;
case "n" :
_null();
return;
case "t" :
_boolean();
return;
case "f" :
_boolean();
return;
default :
_number();
}
}
}
static function chunk_encoder() {
if (cache.complete) {
return(undefined);
}
var _local2 = getType(cache.target);
switch (_local2) {
case "number" :
cache.encoded = cache.encoded + cache.target;
getParent();
break;
case "string" :
cache.encoded = cache.encoded + (("\"" + cache.target.split("\"").join("\\\"")) + "\"");
getParent();
break;
case "boolean" :
cache.encoded = cache.encoded + ((cache.target == true) ? "true" : "false");
getParent();
break;
case "null" :
cache.encoded = cache.encoded + "null";
getParent();
break;
case "array" :
if (cache.target.length < 1) {
cache.encoded = cache.encoded + "]";
getParent();
} else {
cache.parents.push(cache.target);
cache.target = cache.target[0];
if (getType(cache.target) == "array") {
cache.encoded = cache.encoded + "[";
} else if (getType(cache.target) == "object") {
cache.encoded = cache.encoded + "{";
}
}
break;
case "object" :
for (var _local1 in cache.target) {
break;
}
if (_local1 === undefined) {
cache.encoded = cache.encoded + "}";
getParent();
} else {
cache.parents.push(cache.target);
cache.target = cache.target[_local1];
cache.encoded = cache.encoded + (("\"" + _local1.split("\"").join("\\\"")) + "\":");
if (getType(cache.target) == "array") {
cache.encoded = cache.encoded + "[";
} else if (getType(cache.target) == "object") {
cache.encoded = cache.encoded + "{";
}
}
break;
default :
cache.encoded = cache.encoded + "null";
getParent();
}
}
static function getParent() {
if (cache.parents.length > 0) {
var _local1 = cache.parents.pop();
if (getType(_local1) == "array") {
_local1.shift();
} else {
for (var _local3 in _local1) {
delete _local1[_local3];
break;
}
}
if ((getType(_local1) == "object") or (getType(_local1) == "array")) {
for (var _local2 in _local1) {
break;
}
if (!(_local2 === undefined)) {
cache.encoded = cache.encoded + ",";
}
}
cache.target = _local1;
} else {
cache.complete = true;
}
}
static var encode_chunks = 20000;
static var decode_chunks = 20000;
static var busy = false;
}
Symbol 513 MovieClip [MedalPopup] Frame 1
function onMedalUnlocked(event) {
if (event.__get__success()) {
_medalQueue.push(event.__get__data());
showNextUnlock();
}
}
function showNextUnlock() {
if (_unlockedMedal) {
return(undefined);
}
if (!_medalQueue.length) {
gotoAndStop ("hidden");
onEnterFrame = null;
return(undefined);
}
_unlockedMedal = com.newgrounds.Medal(_medalQueue.shift());
gotoAndPlay ("medalUnlocked");
}
gotoAndStop ("hidden");
com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCKED, onMedalUnlocked);
var alwaysOnTop;
_x = int(_x);
_y = int(_y);
var _unlockedMedal;
var _medalQueue = [];
var _alwaysOnTop = true;
if (alwaysOnTop) {
_alwaysOnTop = alwaysOnTop == "true";
}
Symbol 513 MovieClip [MedalPopup] Frame 15
function medalPopupEnterFrame() {
if (_alwaysOnTop) {
var _local1 = getNextHighestDepth();
swapDepths(_local1);
}
if (_medalScrollRect) {
_medalScrollRect.offset(2, 0);
medalNameClip.scrollRect = _medalScrollRect;
if (_medalScrollRect.left >= (medalNameClip.textField.textWidth + 10)) {
_medalScrollRect = null;
play();
}
}
}
var _medalScrollRect;
if (_unlockedMedal) {
if (medalNameClip && (medalNameClip.textField)) {
medalNameClip.textField.text = _unlockedMedal.name;
}
if (medalPointsText) {
medalPointsText.text = _unlockedMedal.value.toString();
}
if (medalNameClip.textField.textWidth > medalNameClip._width) {
_medalScrollRect = new flash.geom.Rectangle(-medalNameClip._width, 0, medalNameClip._width, medalNameClip._height);
medalNameClip.textField._width = 1000;
medalNameClip.scrollRect = _medalScrollRect;
}
onEnterFrame = medalPopupEnterFrame;
}
Symbol 513 MovieClip [MedalPopup] Frame 23
if (_unlockedMedal && (medalIcon)) {
_unlockedMedal.attachIcon(medalIcon);
}
Symbol 513 MovieClip [MedalPopup] Frame 84
if (_medalScrollRect) {
stop();
}
Symbol 513 MovieClip [MedalPopup] Frame 105
stop();
_unlockedMedal = null;
showNextUnlock();