Frame 1
function noClick() {
}
function visitSite() {
getURL ("http://www.FlashChaz.com", "_top");
}
com.newgrounds.API.connect(root, "40207:H763yJB6", "M7TWOh25wUZJadoQAZFv2YQKDUZ2bJ8b");
var myMenu = new ContextMenu();
myMenu.hideBuiltInItems();
var visitSiteLink = new ContextMenuItem("Developed by FlashChaz", visitSite);
var copyrightNotice = new ContextMenuItem("\u00A9 2015 Your Mum", noClick);
myMenu.customItems.push(visitSiteLink, copyrightNotice);
_root.menu = myMenu;
copyrightNotice.separatorBefore = true;
Instance of Symbol 82 MovieClip in Frame 1
on (release) {
if (_root.clik._currentframe < 63) {
_root.clik.gotoAndPlay("done");
_root.trans.gotoAndPlay(1);
}
}
Instance of Symbol 80 MovieClip [APIConnector] in Frame 1
//component parameters
onClipEvent (construct) {
apiId = "40207:H763yJB6";
encryptionKey = "M7TWOh25wUZJadoQAZFv2YQKDUZ2bJ8b";
debugMode = "Off";
movieVersion = "";
connectorType = "Flash Ad + Preloader";
redirectOnNewVersion = true;
redirectOnHostBlocked = true;
adType = "Video";
}
Instance of Symbol 113 MovieClip "cursor" in Frame 1
onClipEvent (enterFrame) {
Mouse.hide();
_x = (_x + (_root._xmouse - _x));
_y = (_y + (_root._ymouse - _y));
}
Frame 2
stop();
var globalVolume = new Sound();
Instance of Symbol 247 MovieClip in Frame 3
on (release) {
this.nextFrame();
}
Frame 4
function game_save() {
_root.saveData.clear();
_root.saveData.data.barFrame = _root.barFrame;
_root.saveData.data.gotAward = _root.gotAward;
_root.saveData.data.gamesMade = _root.gamesMade.stat;
_root.saveData.data.gamePlays = _root.gamePlays.stat;
_root.saveData.data.awards = _root.awardPlate.awards;
_root.saveData.data.levelDisplay = _root.levelPlate.levelNum;
_root.saveData.data.playerLevel = _root.playerLevel;
_root.saveData.data.winChance = _root.winChance;
_root.saveData.data.positiveComment = _root.positiveComment;
_root.saveData.data.chazComment = _root.chazComment;
_root.saveData.data.wayneComment = _root.wayneComment;
_root.saveData.data.danishComment = _root.danishComment;
_root.saveData.data.dingoComment = _root.dingoComment;
_root.saveData.data.manualGames = _root.manualGames;
_root.saveData.data.soulCount = _root.soulCount;
_root.saveData.data.devPower = _root.devPower;
_root.saveData.data.fruitCheck = _root.fruitCheck;
_root.saveData.data.fruitChance = _root.fruitChance;
_root.saveData.data.specialGames = _root.specialGames;
_root.saveData.data.variablesWritten = _root.variablesWritten;
_root.saveData.data.biscuitsEaten = _root.biscuitsEaten;
_root.saveData.data.hoursProcrastinating = _root.hoursProcrastinating;
_root.saveData.data.hoursCoding = _root.hoursCoding;
_root.saveData.data.hoursDrawing = _root.hoursDrawing;
_root.saveData.data.hoursActivism = _root.hoursActivism;
_root.saveData.data.hoursTwitting = _root.hoursTwitting;
_root.saveData.data.memesRofled = _root.memesRofled;
_root.saveData.data.reviewsRead = _root.reviewsRead;
_root.saveData.data.mobilePorts = _root.mobilePorts;
_root.saveData.data.blogsWritten = _root.blogsWritten;
_root.saveData.data.avatarsMade = _root.avatarsMade;
_root.saveData.data.medicationTaken = _root.medicationTaken;
_root.saveData.data.poosTaken = _root.poosTaken;
_root.saveData.data.weesTaken = _root.weesTaken;
_root.saveData.data.chazAch = _root.chazAch;
_root.saveData.data.wayneAch = _root.wayneAch;
_root.saveData.data.danishAch = _root.danishAch;
_root.saveData.data.dingoAch = _root.dingoAch;
_root.saveData.data.pooAch = _root.pooAch;
_root.saveData.data.manualAch = _root.manualAch;
_root.saveData.data.killmeAch = _root.killmeAch;
_root.saveData.data.trifectaAch = _root.trifectaAch;
_root.saveData.data.idlehardAch = _root.idlehardAch;
_root.saveData.data.soulAch = _root.soulAch;
_root.saveData.data.massAch = _root.massAch;
_root.saveData.data.honoursAch = _root.honoursAch;
_root.saveData.data.fruitAch = _root.fruitAch;
_root.saveData.data.brainAch = _root.brainAch;
_root.saveData.data.cosmoAch = _root.cosmoAch;
_root.saveData.data.chazRolled = _root.chazRolled;
_root.saveData.data.wayneRolled = _root.wayneRolled;
_root.saveData.data.danishRolled = _root.danishRolled;
_root.saveData.data.dingoRolled = _root.dingoRolled;
_root.saveData.data.pooRolled = _root.pooRolled;
_root.saveData.data.manualRolled = _root.manualRolled;
_root.saveData.data.killmeRolled = _root.killmeRolled;
_root.saveData.data.trifectaRolled = _root.trifectaRolled;
_root.saveData.data.idlehardRolled = _root.idlehardRolled;
_root.saveData.data.soulRolled = _root.soulRolled;
_root.saveData.data.fruitRolled = _root.fruitRolled;
_root.saveData.data.massRolled = _root.massRolled;
_root.saveData.data.brainRolled = _root.brainRolled;
_root.saveData.data.honoursRolled = _root.honoursRolled;
_root.saveData.data.cosmoRolled = _root.cosmoRolled;
_root.saveData.flush();
}
function game_load() {
_root.barFrame = _root.saveData.data.barFrame;
_root.levelPlate.repBar.gotoAndStop(_root.saveData.data.barFrame);
_root.gotAward = _root.saveData.data.gotAward;
_root.gamesMade.stat = _root.saveData.data.gamesMade;
_root.gamePlays.stat = _root.saveData.data.gamePlays;
_root.awardPlate.awards = _root.saveData.data.awards;
_root.levelPlate.levelNum = _root.saveData.data.levelDisplay;
_root.playerLevel = _root.saveData.data.playerLevel;
_root.winChance = _root.saveData.data.winChance;
_root.positiveComment = _root.saveData.data.positiveComment;
_root.chazComment = _root.saveData.data.chazComment;
_root.wayneComment = _root.saveData.data.wayneComment;
_root.danishComment = _root.saveData.data.danishComment;
_root.dingoComment = _root.saveData.data.dingoComment;
_root.manualGames = _root.saveData.data.manualGames;
_root.soulCount = _root.saveData.data.soulCount;
_root.devPower = _root.saveData.data.devPower;
_root.fruitCheck = _root.saveData.data.fruitCheck;
_root.fruitChance = _root.saveData.data.fruitChance;
_root.specialGames = _root.saveData.data.specialGames;
_root.variablesWritten = _root.saveData.data.variablesWritten;
_root.biscuitsEaten = _root.saveData.data.biscuitsEaten;
_root.hoursProcrastinating = _root.saveData.data.hoursProcrastinating;
_root.hoursCoding = _root.saveData.data.hoursCoding;
_root.hoursDrawing = _root.saveData.data.hoursDrawing;
_root.hoursActivism = _root.saveData.data.hoursActivism;
_root.hoursTwitting = _root.saveData.data.hoursTwitting;
_root.memesRofled = _root.saveData.data.memesRofled;
_root.reviewsRead = _root.saveData.data.reviewsRead;
_root.mobilePorts = _root.saveData.data.mobilePorts;
_root.blogsWritten = _root.saveData.data.blogsWritten;
_root.avatarsMade = _root.saveData.data.avatarsMade;
_root.medicationTaken = _root.saveData.data.medicationTaken;
_root.poosTaken = _root.saveData.data.poosTaken;
_root.weesTaken = _root.saveData.data.weesTaken;
_root.chazAch = _root.saveData.data.chazAch;
_root.wayneAch = _root.saveData.data.wayneAch;
_root.danishAch = _root.saveData.data.danishAch;
_root.dingoAch = _root.saveData.data.dingoAch;
_root.pooAch = _root.saveData.data.pooAch;
_root.manualAch = _root.saveData.data.manualAch;
_root.killmeAch = _root.saveData.data.killmeAch;
_root.trifectaAch = _root.saveData.data.trifectaAch;
_root.idlehardAch = _root.saveData.data.idlehardAch;
_root.soulAch = _root.saveData.data.soulAch;
_root.massAch = _root.saveData.data.massAch;
_root.honoursAch = _root.saveData.data.honoursAch;
_root.fruitAch = _root.saveData.data.fruitAch;
_root.brainAch = _root.saveData.data.brainAch;
_root.cosmoAch = _root.saveData.data.cosmoAch;
_root.chazRolled = _root.saveData.data.chazRolled;
_root.wayneRolled = _root.saveData.data.wayneRolled;
_root.danishRolled = _root.saveData.data.danishRolled;
_root.dingoRolled = _root.saveData.data.dingoRolled;
_root.pooRolled = _root.saveData.data.pooRolled;
_root.manualRolled = _root.saveData.data.manualRolled;
_root.killmeRolled = _root.saveData.data.killmeRolled;
_root.trifectaRolled = _root.saveData.data.trifectaRolled;
_root.idlehardRolled = _root.saveData.data.idlehardRolled;
_root.soulRolled = _root.saveData.data.soulRolled;
_root.fruitRolled = _root.saveData.data.fruitRolled;
_root.massRolled = _root.saveData.data.massRolled;
_root.brainRolled = _root.saveData.data.brainRolled;
_root.honoursRolled = _root.saveData.data.honoursRolled;
_root.cosmoRolled = _root.saveData.data.cosmoRolled;
}
function game_init() {
var _local20 = 0;
var _local12 = false;
var _local2 = false;
_root.gamesMade.stat = 0;
_root.gamePlays.stat = 0;
_root.awardPlate.awards = 0;
_root.levelPlate.levelNum = 1;
var _local24 = 1;
var _local30 = 20;
var _local25 = false;
var _local26 = false;
var _local13 = false;
var _local41 = false;
var _local46 = false;
var _local17 = 0;
var _local27 = 0;
var _local3 = 10;
var _local47 = false;
var _local21 = 100;
var _local37 = 0;
var _local31 = 0;
var _local44 = 0;
var _local28 = 0;
var _local22 = 0;
var _local8 = 0;
var _local9 = 0;
var _local33 = 0;
var _local4 = 0;
var _local10 = 0;
var _local42 = 0;
var _local34 = 0;
var _local14 = 0;
var _local39 = 0;
var _local38 = 0;
var _local15 = 0;
var _local40 = false;
var _local5 = false;
var _local18 = false;
var _local19 = false;
var _local23 = false;
var _local43 = false;
var _local29 = false;
var _local32 = false;
var _local45 = false;
var _local16 = false;
var _local35 = false;
var _local36 = false;
var _local6 = false;
var _local11 = false;
var _local7 = false;
_root.chazRolled = false;
_root.wayneRolled = false;
_root.danishRolled = false;
_root.dingoRolled = false;
_root.pooRolled = false;
_root.manualRolled = false;
_root.killmeRolled = false;
_root.trifectaRolled = false;
_root.idlehardRolled = false;
_root.soulRolled = false;
_root.fruitRolled = false;
_root.massRolled = false;
_root.brainRolled = false;
_root.honoursRolled = false;
_root.cosmoRolled = false;
}
function game_clearSave() {
_root.saveData.clear();
}
var gameLoad = false;
onEnterFrame = function () {
if (gameLoad == false) {
if (_root.saveData.data.hasOwnProperty("gotAward")) {
_root.game_load();
} else {
_root.game_init();
}
gameLoad = true;
}
};
var barFrame = 0;
var autoDev = false;
var gotAward = false;
_root.gamesMade.stat = 0;
_root.gamePlays.stat = 0;
_root.awardPlate.awards = 0;
_root.levelPlate.levelNum = 1;
var playerLevel = 1;
var winChance = 20;
var positiveComment = false;
var chazComment = false;
var wayneComment = false;
var danishComment = false;
var dingoComment = false;
var manualGames = 0;
var soulCount = 0;
var devPower = 10;
var fruitCheck = false;
var fruitChance = 100;
var specialGames = 0;
var variablesWritten = 0;
var biscuitsEaten = 0;
var hoursProcrastinating = 0;
var hoursCoding = 0;
var hoursDrawing = 0;
var hoursActivism = 0;
var hoursTwitting = 0;
var memesRofled = 0;
var reviewsRead = 0;
var mobilePorts = 0;
var blogsWritten = 0;
var avatarsMade = 0;
var medicationTaken = 0;
var poosTaken = 0;
var weesTaken = 0;
rollSFX = new Sound(this);
rollSFX.attachSound("rollSnd");
spinSFX = new Sound(this);
spinSFX.attachSound("spin");
hoverSFX = new Sound(this);
hoverSFX.attachSound("hoverSnd");
var saveData = SharedObject.getLocal("SuperIdleImagination");
_root.shakeFX.gotoAndPlay(1);
var chazAch = false;
var wayneAch = false;
var danishAch = false;
var dingoAch = false;
var pooAch = false;
var manualAch = false;
var killmeAch = false;
var trifectaAch = false;
var idlehardAch = false;
var soulAch = false;
var massAch = false;
var honoursAch = false;
var fruitAch = false;
var brainAch = false;
var cosmoAch = false;
var chazRolled = false;
var wayneRolled = false;
var danishRolled = false;
var dingoRolled = false;
var pooRolled = false;
var manualRolled = false;
var killmeRolled = false;
var trifectaRolled = false;
var idlehardRolled = false;
var soulRolled = false;
var fruitRolled = false;
var massRolled = false;
var brainRolled = false;
var honoursRolled = false;
var cosmoRolled = false;
Instance of Symbol 753 MovieClip [ScoreBrowser] "scores" in Frame 4
//component parameters
onClipEvent (construct) {
scoreBoardName = "Highest Level";
period = "All-Time";
title = "Highest Levels";
}
Instance of Symbol 870 MovieClip "achPopup" in Frame 4
onClipEvent (enterFrame) {
if (((_root.chazComment == true) && (_root.positiveComment == true)) && (_root.chazAch == false)) {
_root.chazAch = true;
_root.achNote.gotoAndPlay(2);
com.newgrounds.API.unlockMedal("Against The Odds");
_root.game_save();
}
if (((_root.wayneComment == true) && (_root.positiveComment == true)) && (_root.wayneAch == false)) {
_root.wayneAch = true;
_root.achNote.gotoAndPlay(2);
com.newgrounds.API.unlockMedal("The Abortionist");
_root.game_save();
}
if (((_root.danishComment == true) && (_root.positiveComment == true)) && (_root.danishAch == false)) {
_root.danishAch = true;
_root.achNote.gotoAndPlay(2);
com.newgrounds.API.unlockMedal("Transcendence");
_root.game_save();
}
if (((_root.dingoComment == true) && (_root.positiveComment == true)) && (_root.dingoAch == false)) {
_root.dingoAch = true;
_root.achNote.gotoAndPlay(2);
com.newgrounds.API.unlockMedal("Voice Of Reason");
_root.game_save();
}
if ((_root.poosTaken == 25) && (_root.pooAch == false)) {
_root.pooAch = true;
_root.achNote.gotoAndPlay(2);
com.newgrounds.API.unlockMedal("Flappy Turd");
_root.game_save();
}
if (((_root.manualGames >= 75) && (_root.manualAch == false)) && (_root.killmeAch == false)) {
_root.manualAch = true;
_root.achNote.gotoAndPlay(2);
com.newgrounds.API.unlockMedal("Why...Why?!");
_root.game_save();
}
if ((_root.manualGames >= 250) && (_root.killmeAch == false)) {
_root.killmeAch = true;
_root.achNote.gotoAndPlay(2);
com.newgrounds.API.unlockMedal("Kill Me Now");
_root.game_save();
}
if ((_root.specialGames == 3) && (_root.trifectaAch == false)) {
_root.trifectaAch = true;
_root.achNote.gotoAndPlay(2);
com.newgrounds.API.unlockMedal("Trifecta Of Idleness");
_root.game_save();
}
if ((_root.playerLevel == 10) && (_root.idlehardAch == false)) {
_root.idlehardAch = true;
_root.achNote.gotoAndPlay(2);
_root.abiReminder.gotoAndStop(2);
_root.winChance = 10;
com.newgrounds.API.unlockMedal("Idle Hard");
_root.game_save();
}
if ((_root.soulCount == 20) && (_root.soulAch == false)) {
_root.soulAch = true;
_root.achNote.gotoAndPlay(2);
com.newgrounds.API.unlockMedal("Selling Your Soul");
_root.game_save();
}
if ((_root.gamesMade.stat == 800) && (_root.massAch == false)) {
_root.massAch = true;
_root.achNote.gotoAndPlay(2);
com.newgrounds.API.unlockMedal("Shovelwaring You Out");
_root.game_save();
}
if ((_root.awardPlate.awards >= 50) && (_root.honoursAch == false)) {
_root.honoursAch = true;
_root.achNote.gotoAndPlay(2);
com.newgrounds.API.unlockMedal("Honours Idle");
_root.game_save();
}
if ((_root.playerLevel >= 20) && (_root.cosmoAch == false)) {
if (_root.brainAch == false) {
_root.brainAch = true;
_root.shakeFX.gotoAndPlay(1);
_root.gotoAndStop("brain");
_root.achNote.gotoAndPlay(2);
_root.abiReminder.gotoAndStop(2);
_root.devPower = 20;
com.newgrounds.API.unlockMedal("AAARH! I CAN HAVE...IDEAS?!");
_root.game_save();
} else if (_root.brainAch == true) {
_root.gotoAndStop("brain");
_root.devPower = 20;
}
}
if (_root.playerLevel >= 30) {
if (_root.cosmoAch == false) {
_root.cosmoAch = true;
_root.shakeFX.gotoAndPlay(1);
_root.nextFrame();
_root.gotoAndStop("comsos");
_root.achNote.gotoAndPlay(2);
com.newgrounds.API.unlockMedal("Cosmosis");
_root.game_save();
} else if (_root.cosmoAch == true) {
_root.gotoAndStop("cosmos");
}
}
if ((_root.fruitAch == false) && (_root.fruitCheck == true)) {
_root.fruitAch = true;
_root.achNote.gotoAndPlay(2);
com.newgrounds.API.unlockMedal("Fifty Fifty");
_root.game_save();
}
}
Instance of Symbol 258 MovieClip "shakeFX" in Frame 4
onClipEvent (load) {
done = false;
}
onClipEvent (enterFrame) {
if (done == false) {
this.play();
done = true;
}
}
Instance of Symbol 921 MovieClip "fruitPopup" in Frame 4
onClipEvent (load) {
winRoll = 0;
}
onClipEvent (enterFrame) {
if (((winRoll == 1) && (this._currentframe == 1)) && (_root.fruitAch == false)) {
winRoll = 0;
this.play();
}
}
Instance of Symbol 959 MovieClip "abiPopup" in Frame 4
onClipEvent (load) {
awardUpgrade = false;
powerUpgrade = false;
}
onClipEvent (enterFrame) {
if ((_root.playerLevel >= 10) && (_root.awardUpgrade == false)) {
awardUpgrade = true;
} else if ((_root.playerLevel >= 20) && (_root.powerUpgrade == false)) {
powerUpgrade = true;
}
}
Instance of Symbol 991 MovieClip "awardPopup" in Frame 4
onClipEvent (load) {
winRoll = 0;
}
onClipEvent (enterFrame) {
if ((winRoll == 1) && (_root.gotAward == false)) {
_root.gotAward = true;
this.play();
}
}
Instance of Symbol 1062 MovieClip [MedalPopup] in Frame 4
//component parameters
onClipEvent (construct) {
alwaysOnTop = "true";
}
Instance of Symbol 1098 MovieClip "endScene" in Frame 6
onClipEvent (load) {
display = false;
}
onClipEvent (enterFrame) {
if ((((((((((((((((_root.chazAch == true) && (_root.wayneAch == true)) && (_root.danishAch == true)) && (_root.dingoAch == true)) && (_root.pooAch == true)) && (_root.manualAch == true)) && (_root.killmeAch == true)) && (_root.trifectaAch == true)) && (_root.idlehardAch == true)) && (_root.soulAch == true)) && (_root.massAch == true)) && (_root.honoursAch == true)) && (_root.fruitAch == true)) && (_root.brainAch == true)) && (_root.cosmoAch == true)) && (display == false)) {
display = true;
this.gotoAndStop("show");
}
}
Symbol 11 MovieClip Frame 1
stop();
Symbol 21 MovieClip Frame 1
stop();
Symbol 22 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) && (haltComplete != true)) {
onEnterFrame = null;
gotoAndStop ("loaded");
}
}
stop();
var autoPlay;
var className;
var haltComplete;
onEnterFrame = enterFrameHandler;
Symbol 22 MovieClip [Preloader] Frame 10
function _onPlayClick() {
_root.nextFrame();
_root.play();
_parent._onLoaded();
}
if (playButton) {
playButton.onRelease = _onPlayClick;
playButton.stop();
}
if (autoPlay) {
_onPlayClick(null);
}
Symbol 24 MovieClip [Newgrounds API Classes] Frame 1
#initclip 26
Object.registerClass("Newgrounds API Classes", com.newgrounds.shims.APIShim);
#endinitclip
Symbol 79 MovieClip [FlashAd] Frame 1
#initclip 27
Object.registerClass("FlashAd", com.newgrounds.components.FlashAdBase);
#endinitclip
function initPlayButton() {
if (this.playButton) {
this.playButton.onRelease = onPlayClick;
if (!this.showPlayButton) {
this.playButton._visible = false;
}
}
}
function onPlayClick() {
removeAd();
_visible = false;
}
stop();
Symbol 79 MovieClip [FlashAd] Frame 2
initPlayButton();
Symbol 79 MovieClip [FlashAd] Frame 10
initPlayButton();
Symbol 79 MovieClip [FlashAd] Frame 20
initPlayButton();
Symbol 80 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;
}
if (loader) {
loader.haltComplete = true;
}
_local2.addEventListener(com.newgrounds.APIEvent.API_CONNECTED, _onConnected);
_local2.connect(_root, apiId, encryptionKey, movieVersion);
}
}
function _onConnected(event) {
if (loader) {
loader.haltComplete = false;
}
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 79 MovieClip [FlashAd] "ad" in Symbol 80 MovieClip [APIConnector] Frame 1
//component parameters
onClipEvent (construct) {
apiId = "";
showBorder = true;
adType = "Video";
}
Instance of Symbol 22 MovieClip [Preloader] "loader" in Symbol 80 MovieClip [APIConnector] Frame 1
//component parameters
onClipEvent (construct) {
autoPlay = false;
mainClass = "";
}
Symbol 86 Button
on (release) {
getURL ("http://www.facebook.com/FlashChazOfficial", "_blank");
}
Symbol 89 Button
on (release) {
getURL ("http://www.FlashChaz.com", "_blank");
}
Symbol 112 MovieClip Frame 1
stop();
Symbol 33 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.splice(0, 3).join("/");
}
}
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 26 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 25 MovieClip [__Packages.com.newgrounds.Event] Frame 0
class com.newgrounds.Event
{
var _type;
function Event (type) {
_type = type;
}
function get type() {
return(_type);
}
}
Symbol 27 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 30 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 36 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) {
com.newgrounds.Logger.logInternal("Received packet:", data);
try {
if ((!data) || (data == "")) {
throw new Error();
}
var _local2 = com.newgrounds.encoders.json.JSON.decode(data);
if (!_local2) {
throw new Error();
}
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))));
if (bridge) {
bridge.sendEvent(_local2.command_id, _local2);
}
} 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 32 MovieClip [__Packages.com.newgrounds.Bridge] Frame 0
class com.newgrounds.Bridge extends com.newgrounds.EventDispatcher
{
var _widgetId, _inConnection, _outConnection, dispatchEvent;
function Bridge (id) {
super();
_widgetId = id;
_inConnection = new LocalConnection();
_outConnection = new LocalConnection();
var me = this;
_inConnection.receiveEvent = function () {
me.receiveEvent.apply(me, arguments);
};
_inConnection.allowDomain = (_inConnection.allowInsecureDomain = function (d) {
return(((d == "www.newgrounds.com") || (d == "newgrounds.com")) || (d == "uploads.ungrounded.net"));
});
_inConnection.connect("_rec_" + _widgetId);
com.newgrounds.Logger.addEventListener(com.newgrounds.APIEvent.LOG, {target:this, func:onLogMessage});
}
function get widgetId() {
return(_widgetId);
}
function onLogMessage(event) {
try {
_outConnection.send(_widgetId, "sendEvent", "trace", String(event.__get__data()));
} catch(error) {
}
}
function sendEvent(command, parameters) {
if (_outConnection) {
parameters = {data:parameters};
try {
_outConnection.send(_widgetId, "sendEvent", command, parameters);
} catch(error) {
}
}
}
function receiveEvent(responseData) {
var _local2;
try {
_local2 = com.newgrounds.encoders.json.JSON.decode(responseData);
} catch(error) {
}
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.BRIDGE_EVENT_RECEIVED, _local2, ((_local2 == null) ? (com.newgrounds.APIEvent.ERROR_UNKNOWN) : null)));
}
function onStatus(event) {
}
}
Symbol 28 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 BRIDGE_EVENT_RECEIVED = "brdigeEventReceived";
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_DELETED = "fileDeleted";
static var FILE_REQUESTED = "fileRequested";
static var VOTE_COMPLETE = "voteComplete";
static var USER_SIGNED_IN = "userSignedIn";
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";
static var ERROR_SIGN_IN_FAILED = "signInFailed";
}
Symbol 47 MovieClip [__Packages.com.newgrounds.API] Frame 0
class com.newgrounds.API
{
static var _serverTime, _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 serverTime() {
return(_serverTime);
}
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;
} else {
_bridge = new com.newgrounds.Bridge(com.newgrounds.crypto.MD5.hash(String(Math.random())));
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;
}
_serverTime = new Date(int(_local1.time) * 1000);
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 _local4;
var _local1;
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");
}
_local4 = 0;
while (_local4 < _local10) {
var _local5 = _local11.medals[_local4];
var _local15 = _local5.medal_unlocked;
var _local17 = _local18 && (_local18[_local5.medal_id]);
var _local14 = (hasUserSession ? (_local15) : (_local17));
if (debugMode != RELEASE_MODE) {
_local14 = false;
}
var _local6 = new com.newgrounds.Medal(_connection, _local5.medal_id, _local5.medal_name, _local5.medal_description, Boolean(int(_local5.secret)), _local14, _local5.medal_value, _local5.medal_difficulty, _local5.medal_icon);
_local6.addEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCKED, onMedalUnlocked, false, 0, true);
_local6.addEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCK_CONFIRMED, onMedalUnlockConfirmed, false, 0, true);
_medals[_local6.__get__name()] = _local6;
_medalsArray.push(_local6);
com.newgrounds.Logger.logMessage(_local6);
if ((hasUserSession && (_local17)) && (!_local15)) {
com.newgrounds.Logger.logMessage(("Server missed the \"" + _local6.__get__name()) + "\" unlock. Resending...");
_local6.unlock();
}
_local4++;
}
}
com.newgrounds.Logger.logMessage(((_local10 + " medal") + ((_local10 != 1) ? "s" : "")) + " initialized.");
_local10 = 0;
if (_local11.score_boards) {
_local10 = _local11.score_boards.length;
_local4 = 0;
while (_local4 < _local10) {
var _local16 = _local11.score_boards[_local4];
var _local9 = new com.newgrounds.ScoreBoard(_connection, _local16.name, _local16.id);
_scoreBoards[_local9.__get__name()] = _local9;
_scoreBoardsArray.push(_local9);
com.newgrounds.Logger.logMessage(_local9);
_local4++;
}
}
com.newgrounds.Logger.logMessage(((_local10 + " scoreboard") + ((_local10 != 1) ? "s" : "")) + " initialized.");
_local10 = 0;
if (_local11.save_groups) {
_local10 = _local11.save_groups.length;
_local4 = 0;
while (_local4 < _local10) {
var _local2 = _local11.save_groups[_local4];
var _local13 = [];
if (_local2.keys) {
_local1 = 0;
while (_local1 < _local2.keys.length) {
var _local7 = _local2.keys[_local1];
_local13.push(new com.newgrounds.SaveKey(_local7.name, _local7.id, _local7.type));
_local1++;
}
}
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);
_local4++;
}
}
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 promptSignIn() {
if (_connection.assertInitialized()) {
getURL (PASSPORT_URL + _bridge.__get__widgetId(), "_blank");
_bridge.addEventListener(com.newgrounds.APIEvent.BRIDGE_EVENT_RECEIVED, onUserSignedIn, false, 0, true);
}
}
static function onUserSignedIn(e) {
_bridge.removeEventListener(com.newgrounds.APIEvent.BRIDGE_EVENT_RECEIVED, onUserSignedIn);
var _local1 = e.__get__data();
if (e.__get__success()) {
try {
if (_local1.NewgroundsAPI_UserName) {
_connection.username = _local1.NewgroundsAPI_UserName;
}
if (_local1.NewgroundsAPI_UserID) {
_connection.userId = _local1.NewgroundsAPI_UserID;
}
if (_local1.NewgroundsAPI_PublisherID) {
_connection.publisherId = _local1.NewgroundsAPI_PublisherID;
}
if (_local1.NewgroundsAPI_SessionID) {
_connection.sessionId = _local1.NewgroundsAPI_SessionID;
}
_connection.sendSimpleCommand("preloadSettings", onMetadataLoaded, {publisher_id:_connection.publisherId, user_id:_connection.userId});
} catch(error) {
}
com.newgrounds.Logger.logMessage(("User " + _connection.username) + " signed in.");
}
dispatchEvent(com.newgrounds.APIEvent.USER_SIGNED_IN, null, (e.__get__success() ? null : (com.newgrounds.APIEvent.ERROR_SIGN_IN_FAILED)));
}
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.2 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 PASSPORT_URL = "https://www.newgrounds.com/login/remote/";
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 44 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 _local4 = {callbackFunction:callbackFunction, callbackObject:callbackObject, source:source, i:6, x:0, y:0, output:null};
var _local3 = source.substr(0, 3);
var _local2 = source.substr(3, 3);
while (_local3.charAt(0) == "0") {
_local3 = _local3.substr(1);
}
while (_local2.charAt(0) == "0") {
_local2 = _local2.substr(1);
}
var _local7 = int(_local3);
var _local8 = int(_local2);
_local4.output = new flash.display.BitmapData(_local7, _local8, _encodeAlpha);
var _local6 = setInterval(this, "doDecode", WORK_INTERVAL, _local4);
_local4.interval = _local6;
}
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 45 MovieClip [__Packages.com.newgrounds.SaveFile] Frame 0
class com.newgrounds.SaveFile extends com.newgrounds.APIEventDispatcher
{
static var _currentFile;
var _iconLoader, _group, _keys, _ratings, _numVotes, _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 = {};
_numVotes = {};
}
static function get currentFile() {
return(_currentFile);
}
static function fromObject(group, fileData) {
var _local3 = new com.newgrounds.SaveFile(group);
_local3._name = fileData.filename;
_local3._description = fileData.description;
_local3._id = fileData.save_id;
_local3._authorId = fileData.user_id;
_local3._authorName = fileData.user_name;
_local3._createdDate = fileData.created;
_local3._modifiedDate = fileData.last_update;
_local3._views = fileData.views;
if (fileData.thumb && (fileData.thumb != "")) {
_local3._iconLoader.__set__url(_imageFilePath + fileData.thumb);
}
_local3._dataURL = _saveFilePath + fileData.file;
_local3._fileSize = fileData.file_size;
_local3._approved = fileData.status != STATUS_UNAPPROVED;
_local3._readOnly = false;
_local3._public = (fileData.status != STATUS_PRIVATE) && (fileData.status != STATUS_UNAPPROVED);
for (var _local8 in fileData.keys) {
var _local6 = fileData.keys[_local8];
var _local4 = group.getKeyById(_local6.id);
if (_local4) {
_local3._keys[_local4.__get__name()] = _local4.validateValue(_local6.value);
}
}
for (var _local9 in fileData.ratings) {
var _local5 = fileData.ratings[_local9];
var _local2 = group.getRatingById(_local5.id);
if (_local2) {
_local3._ratings[_local2.__get__name()] = _local2.validateValue(_local5.score);
_local3._numVotes[_local2.__get__name()] = int(_local5.votes);
}
}
return(_local3);
}
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 numVotes() {
return(_numVotes);
}
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 _local7;
var _local6;
var _local10 = 0;
var _local8 = 0;
if (source instanceof flash.display.BitmapData) {
_local7 = source.width;
_local6 = source.height;
} else if (source instanceof MovieClip) {
var _local2 = MovieClip(source).getBounds(source);
_local7 = _local2.xMax - _local2.xMin;
_local6 = _local2.yMax - _local2.yMin;
_local10 = _local2.xMin;
_local8 = _local2.yMin;
}
var _local4 = new flash.geom.Matrix();
var _local5;
_local5 = Math.min(ICON_WIDTH / _local7, ICON_HEIGHT / _local6);
_local4.translate(-_local10, -_local8);
_local4.scale(_local5, _local5);
_local4.translate((ICON_WIDTH - (_local7 * _local5)) / 2, (ICON_HEIGHT - (_local6 * _local5)) / 2);
_local9.draw(source, _local4);
_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 deleteFile() {
if (!_group.__get__connection().__get__hasUserSession()) {
com.newgrounds.Logger.logError("The user must be logged-in to delete a file.");
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_DELETED, null, com.newgrounds.APIEvent.ERROR_NOT_LOGGED_IN));
return(undefined);
}
if (!_id) {
com.newgrounds.Logger.logError("The file does not exist.");
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_DELETED, null, com.newgrounds.APIEvent.ERROR_NOT_LOGGED_IN));
return(undefined);
}
var _local2 = new com.newgrounds.APICommand("deleteSaveFile");
_local2.__get__secureParameters().save_id = _id;
_local2.addEventListener(com.newgrounds.APIEvent.COMMAND_COMPLETE, {target:this, func:onFileDeleted});
_group.__get__connection().sendCommand(_local2);
}
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 + "&random=") + Math.random());
}
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 onFileDeleted(event) {
if (event.__get__success()) {
_id = 0;
}
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_DELETED, this, event.__get__error()));
}
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];
}
for (_local2 in _numVotes) {
_local3._numVotes[_local2] = _numVotes[_local2];
}
_local3._name = _name;
return(_local3);
}
static var ICON_WIDTH = 90;
static var ICON_HEIGHT = 90;
static var DEFAULT_ICON = new flash.display.BitmapData(ICON_WIDTH, ICON_HEIGHT, false, 0);
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 43 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 41 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) && (int(value) != 0));
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 42 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 37 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 46 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 _local4 = _group.getKey(field);
if (_local4) {
value = _local4.validateValue(value);
_keyConditions.push({key_id:_local4.__get__id(), operator:operator, value:value});
return(undefined);
}
var _local3 = field.split(".");
var _local6 = _group.getRating(_local3[0]);
if (_local6) {
if (_local3[1] != "votes") {
value = _local6.validateValue(value);
}
_ratingConditions.push({rating_id:_local6.__get__id(), operator:operator, value:value, column:(_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 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 38 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 40 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 29 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 48 MovieClip [__Packages.com.newgrounds.components.FlashAdBase] Frame 0
class com.newgrounds.components.FlashAdBase extends MovieClip
{
var gotoAndStop, _x, _y, stop, onUnload, _adListener, adContainer, newgroundsButton, _fullScreen, clear, _ad, _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) {
}
gotoAndStop("idle");
_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) {
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 (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 39 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 23 MovieClip [__Packages.com.newgrounds.shims.APIShim] Frame 0
class com.newgrounds.shims.APIShim extends MovieClip
{
function APIShim () {
super();
}
}
Symbol 31 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 34 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 35 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 116 Button
on (release) {
getURL ("http://www.facebook.com/FlashChazOfficial", _blank);
}
Symbol 117 Button
on (release) {
getURL ("http://www.FlashChaz.com", _blank);
}
Symbol 123 MovieClip Frame 35
_root.clik.play();
Symbol 123 MovieClip Frame 93
gotoAndPlay ("loop");
Symbol 128 MovieClip Frame 1
stop();
Symbol 128 MovieClip Frame 62
gotoAndPlay (2);
Symbol 128 MovieClip Frame 86
_root.nextFrame();
Symbol 134 MovieClip Frame 12
stop();
Symbol 138 Button
on (release) {
_root.globalVolume.setVolume(0);
nextFrame();
}
Symbol 139 Button
on (release) {
_root.globalVolume.setVolume(100);
prevFrame();
}
Symbol 141 MovieClip Frame 1
stop();
Symbol 247 MovieClip Frame 1
stop();
Symbol 247 MovieClip Frame 20
_root.shakeFX.gotoAndPlay(1);
Symbol 247 MovieClip Frame 23
_root.nextFrame();
Symbol 255 Button
on (release) {
_root.nextFrame();
}
Symbol 258 MovieClip Frame 1
stop();
_root._x = 0;
_root._y = 0;
Symbol 258 MovieClip Frame 2
_root._x = _root._x - 2;
Symbol 258 MovieClip Frame 5
_root._x = _root._x + 4;
Symbol 258 MovieClip Frame 8
_root._x = _root._x - 7;
Symbol 258 MovieClip Frame 11
_root._x = _root._x + 10;
Symbol 258 MovieClip Frame 14
_root._x = _root._x - 15;
Symbol 258 MovieClip Frame 17
_root._x = _root._x + 17;
Symbol 258 MovieClip Frame 20
_root._x = _root._x - 20;
Symbol 258 MovieClip Frame 23
_root._x = _root._x + 17;
Symbol 258 MovieClip Frame 26
_root._x = _root._x - 15;
Symbol 258 MovieClip Frame 29
_root._x = _root._x + 10;
Symbol 258 MovieClip Frame 32
_root._x = _root._x - 7;
Symbol 270 MovieClip Frame 1
_root.positiveComment = false;
Symbol 293 MovieClip Frame 1
_root.positiveComment = true;
Symbol 312 MovieClip Frame 1
stop();
Symbol 312 MovieClip Frame 2
_root.positiveComment = false;
Symbol 312 MovieClip Frame 21
_root.positiveComment = true;
Symbol 371 MovieClip Frame 1
stop();
Instance of Symbol 371 MovieClip "commenterName" in Symbol 372 MovieClip Frame 1
onClipEvent (enterFrame) {
if (this._currentframe == 2) {
_root.danishComment = true;
} else if (this._currentframe == 3) {
_root.wayneComment = true;
} else if (this._currentframe == 4) {
_root.chazComment = true;
} else if (this._currentframe == 16) {
_root.dingoComment = true;
} else {
_root.dingoComment = false;
_root.danishComment = false;
_root.wayneComment = false;
_root.chazComment = false;
}
}
Symbol 385 MovieClip Frame 1
stop();
Symbol 394 MovieClip Frame 1
stop();
Symbol 403 MovieClip Frame 1
stop();
Symbol 419 MovieClip Frame 1
stop();
Symbol 419 MovieClip Frame 2
_root.shakeFX.gotoAndPlay(2);
Symbol 486 MovieClip Frame 1
stop();
Symbol 492 Button
on (release) {
com.newgrounds.API.postScore("Highest Level", _root.levelPlate.levelNum);
nextFrame();
_root.scores._x = 205;
_root.scores._y = 67.2;
_root.hoverSFX.start(0, 1);
}
Symbol 496 Button
on (release) {
prevFrame();
_root.scores._x = -550;
_root.scores._y = 67.2;
_root.hoverSFX.start(0, 1);
}
Symbol 501 MovieClip Frame 1
stop();
Instance of Symbol 403 MovieClip "repBar" in Symbol 503 MovieClip Frame 1
onClipEvent (enterFrame) {
_parent.levelName.gotoAndStop(_parent.levelNum);
if (this._currentframe >= 100) {
this.gotoAndStop(1);
_root.playerLevel = _root.playerLevel + 1;
_parent.levelNum = _parent.levelNum + 1;
_parent.levelName.levelUp.play();
_root.shakeFX.gotoAndPlay(1);
}
}
Symbol 509 MovieClip Frame 1
stop();
Symbol 518 Button
on (release) {
_root.statsPopup.play();
_root.scores._x = -550;
_root.scores._y = 67.2;
_root.levelPlate.submitBtn.gotoAndStop(1);
_root.hoverSFX.start(0, 1);
}
Symbol 525 Button
on (release) {
_root.achPopup.play();
_root.achReminder.gotoAndStop(1);
_root.scores._x = -550;
_root.scores._y = 67.2;
_root.levelPlate.submitBtn.gotoAndStop(1);
_root.hoverSFX.start(0, 1);
}
Symbol 531 Button
on (release) {
nextFrame();
_root.manualGames = _root.manualGames + 1;
_parent.titles.loadedName = false;
_root.hoverSFX.start(0, 1);
}
Symbol 581 MovieClip Frame 1
_root.specialGames = _root.specialGames + 1;
Symbol 583 MovieClip Frame 1
_root.specialGames = _root.specialGames + 1;
Symbol 585 MovieClip Frame 1
_root.specialGames = _root.specialGames + 1;
Symbol 604 Button
on (release) {
nextFrame();
_root.autoDev = true;
}
Symbol 606 Button
on (release) {
prevFrame();
_root.autoDev = false;
}
Symbol 608 MovieClip Frame 1
stop();
Symbol 666 MovieClip Frame 1
_root.variablesWritten = _root.variablesWritten + 1;
Symbol 666 MovieClip Frame 3
_root.hoursProcrastinating = _root.hoursProcrastinating + 1;
Symbol 666 MovieClip Frame 5
_root.biscuitsEaten = _root.biscuitsEaten + 1;
Symbol 666 MovieClip Frame 7
_root.hoursCoding = _root.hoursCoding + 1;
Symbol 666 MovieClip Frame 8
_root.hoursDrawing = _root.hoursDrawing + 1;
Symbol 666 MovieClip Frame 10
_root.hoursActivism = _root.hoursActivism + 1;
Symbol 666 MovieClip Frame 12
_root.hoursTwitting = _root.hoursTwitting + 1;
Symbol 666 MovieClip Frame 14
_root.memesRofled = _root.memesRofled + 1;
Symbol 666 MovieClip Frame 16
_root.reviewsRead = _root.reviewsRead + 1;
Symbol 666 MovieClip Frame 17
_root.mobilePorts = _root.mobilePorts + 1;
Symbol 666 MovieClip Frame 18
_root.blogsWritten = _root.blogsWritten + 1;
Symbol 666 MovieClip Frame 19
_root.avatarsMade = _root.avatarsMade + 1;
Symbol 666 MovieClip Frame 20
_root.medicationTaken = _root.medicationTaken + 1;
Symbol 666 MovieClip Frame 22
_root.poosTaken = _root.poosTaken + 1;
Symbol 666 MovieClip Frame 23
_root.weesTaken = _root.weesTaken + 1;
Symbol 679 Button
on (release) {
_parent.prevFrame();
_root.hoverSFX.start(0, 1);
}
Symbol 680 MovieClip Frame 1
fun.gotoAndStop(random(fun._totalframes) + 1);
Symbol 680 MovieClip Frame 30
fun.gotoAndStop(random(fun._totalframes) + 1);
Symbol 680 MovieClip Frame 60
fun.gotoAndStop(random(fun._totalframes) + 1);
Symbol 680 MovieClip Frame 90
fun.gotoAndStop(random(fun._totalframes) + 1);
Symbol 680 MovieClip Frame 120
fun.gotoAndStop(random(fun._totalframes) + 1);
Symbol 680 MovieClip Frame 151
fun.gotoAndStop(random(fun._totalframes) + 1);
Symbol 680 MovieClip Frame 201
_root.gamesMade.stat = _root.gamesMade.stat + 1;
_root.gamesMade.anim.play();
_root.gamePlays.anim.play();
_root.awardPopup.winRoll = Math.ceil(random(_root.winChance));
_root.gamePlays.stat = _root.gamePlays.stat + ((125 * _root.gamesMade.stat) + Math.ceil(random(100)));
_root.reviews.main.gotoAndStop(random(_root.reviews.main._totalframes) + 2);
_root.reviews.commenterName.gotoAndStop(random(_root.reviews.commenterName._totalframes) + 2);
_root.fruitPopup.winRoll = Math.ceil(random(_root.fruitChance));
_root.barFrame = _root.levelPlate.repBar._currentframe;
_root.game_save();
Instance of Symbol 675 MovieClip in Symbol 680 MovieClip Frame 201
onClipEvent (load) {
if (_root.levelPlate.levelNum < 50) {
_root.levelPlate.repBar.gotoAndStop(Math.ceil(_root.levelPlate.repBar._currentframe + (50 / _root.playerLevel)));
} else {
_root.levelPlate.repBar.nextFrame();
}
}
Symbol 680 MovieClip Frame 251
stop();
Symbol 681 MovieClip Frame 1
stop();
Instance of Symbol 600 MovieClip "titles" in Symbol 681 MovieClip Frame 1
onClipEvent (load) {
this.gotoAndStop(random(this._totalframes) + 1);
}
Instance of Symbol 608 MovieClip in Symbol 681 MovieClip Frame 1
onClipEvent (enterFrame) {
if (_root.autoDev == true) {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
}
Instance of Symbol 612 MovieClip in Symbol 681 MovieClip Frame 2
on (release) {
if (_parent.devBar._currentframe < 180) {
_parent.devBar.gotoAndPlay((_parent.devBar._currentframe = _parent.devBar._currentframe + _root.devPower));
_root.soulCount = _root.soulCount + 1;
_root.cursor.devArrow.gotoAndPlay(2);
}
}
Instance of Symbol 680 MovieClip "devBar" in Symbol 681 MovieClip Frame 2
onClipEvent (enterFrame) {
if ((((_root.autoDev == true) && (this._currentframe > 245)) && (_root.gotAward == false)) && (_root.fruitPopup._currentframe == 1)) {
this.gotoAndPlay(1);
}
}
Symbol 686 Button
on (release) {
_root.abiPopup.play();
_root.abiReminder.gotoAndStop(1);
_root.scores._x = -550;
_root.scores._y = 67.2;
_root.levelPlate.submitBtn.gotoAndStop(1);
_root.hoverSFX.start(0, 1);
}
Symbol 694 MovieClip Frame 1
stop();
Symbol 696 MovieClip Frame 1
stop();
Symbol 701 Button
on (release) {
_root.menuPopup.play();
_root.scores._x = -550;
_root.scores._y = 67.2;
_root.levelPlate.submitBtn.gotoAndStop(1);
_root.hoverSFX.start(0, 1);
}
Symbol 723 MovieClip Frame 1
stop();
mouseChildren = false;
Symbol 729 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 729 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 743 MovieClip Frame 1
stop();
mouseChildren = false;
Symbol 753 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 753 MovieClip [ScoreBrowser] Frame 2
if (listBox) {
listBox.setListItems(_listItems);
listBox.setSelectedItem(period);
}
Symbol 753 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 753 MovieClip [ScoreBrowser] Frame 21
function onReloadClick() {
loadScores();
}
if (reloadButton) {
reloadButton.onRelease = onReloadClick;
}
Symbol 753 MovieClip [ScoreBrowser] Frame 30
stop();
Symbol 766 Button
on (release) {
_parent.play();
_root.hoverSFX.start(0, 1);
}
Symbol 807 MovieClip Frame 3
_parent.panel.gamesMade = _root.manualGames;
_parent.panel.specialGames = _root.specialGames;
_parent.panel.awardsWon = _root.awardPlate.awards;
_parent.panel.variablesWritten = _root.variablesWritten;
_parent.panel.biscuitsEaten = _root.biscuitsEaten;
_parent.panel.hoursProcrastinating = _root.hoursProcrastinating;
_parent.panel.hoursCoding = _root.hoursCoding;
_parent.panel.hoursDrawing = _root.hoursDrawing;
_parent.panel.hoursActivism = _root.hoursActivism;
_parent.panel.hoursTwitting = _root.hoursTwitting;
_parent.panel.memesRofled = _root.memesRofled;
_parent.panel.reviewsRead = _root.reviewsRead;
_parent.panel.mobilePorts = _root.mobilePorts;
_parent.panel.blogsWritten = _root.blogsWritten;
_parent.panel.avatarsMade = _root.avatarsMade;
_parent.panel.medicationTaken = _root.medicationTaken;
_parent.panel.poosTaken = _root.poosTaken;
_parent.panel.weesTaken = _root.weesTaken;
Symbol 812 MovieClip Frame 1
stop();
Symbol 812 MovieClip Frame 15
_root.panel.gamesMade = _root.gamesMade.stat;
Symbol 812 MovieClip Frame 31
stop();
Symbol 820 Button
on (release) {
_parent.play();
_root.hoverSFX.start(0, 1);
}
Symbol 864 MovieClip Frame 7
stop();
Symbol 865 MovieClip Frame 1
stop();
_root.achReminder.gotoAndStop(1);
Instance of Symbol 826 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
_parent.achName = "Against The Odds";
_parent.achInfo = "Receive a positive review from FlashChaz";
}
on (rollOut) {
_parent.achName = "";
_parent.achInfo = "";
}
onClipEvent (enterFrame) {
if (_root.chazAch == true) {
this._alpha = 100;
} else {
this._alpha = 25;
}
}
Instance of Symbol 831 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
_parent.achName = "The Abortionist";
_parent.achInfo = "Receive a positive review from Wayne Marsh";
}
on (rollOut) {
_parent.achName = "";
_parent.achInfo = "";
}
onClipEvent (enterFrame) {
if (_root.wayneAch == true) {
this._alpha = 100;
} else {
this._alpha = 25;
}
}
Instance of Symbol 833 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
_parent.achName = "Transcendence";
_parent.achInfo = "Receive a positive review from Danish Goel";
}
on (rollOut) {
_parent.achName = "";
_parent.achInfo = "";
}
onClipEvent (enterFrame) {
if (_root.danishAch == true) {
this._alpha = 100;
} else {
this._alpha = 25;
}
}
Instance of Symbol 835 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
_parent.achName = "Voice Of Reason";
_parent.achInfo = "Receive a positive review from ShockDingo";
}
on (rollOut) {
_parent.achName = "";
_parent.achInfo = "";
}
onClipEvent (enterFrame) {
if (_root.dingoAch == true) {
this._alpha = 100;
} else {
this._alpha = 25;
}
}
Instance of Symbol 837 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
_parent.achName = "Flappy Turd";
_parent.achInfo = "Take 25 Poos";
}
on (rollOut) {
_parent.achName = "";
_parent.achInfo = "";
}
onClipEvent (enterFrame) {
if (_root.pooAch == true) {
this._alpha = 100;
} else {
this._alpha = 25;
}
}
Instance of Symbol 839 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
_parent.achName = "Why...Why?!";
_parent.achInfo = "Develop 75 games with Auto mode disabled";
}
on (rollOut) {
_parent.achName = "";
_parent.achInfo = "";
}
onClipEvent (enterFrame) {
if (_root.manualAch == true) {
this._alpha = 100;
} else {
this._alpha = 25;
}
}
Instance of Symbol 841 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
_parent.achName = "Kill Me Now";
_parent.achInfo = "Develop 250 games with Auto mode disabled";
}
on (rollOut) {
_parent.achName = "";
_parent.achInfo = "";
}
onClipEvent (enterFrame) {
if (_root.killmeAch == true) {
this._alpha = 100;
} else {
this._alpha = 25;
}
}
Instance of Symbol 843 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
_parent.achName = "Trifecta Of Idleness";
_parent.achInfo = "Develop 3 Idle versions of FlashChaz games";
}
on (rollOut) {
_parent.achName = "";
_parent.achInfo = "";
}
onClipEvent (enterFrame) {
if (_root.trifectaAch == true) {
this._alpha = 100;
} else {
this._alpha = 25;
}
}
Instance of Symbol 845 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
_parent.achName = "Idle Hard";
_parent.achInfo = "Increase your chances of winning an award";
}
on (rollOut) {
_parent.achName = "";
_parent.achInfo = "";
}
onClipEvent (enterFrame) {
if (_root.idlehardAch == true) {
this._alpha = 100;
} else {
this._alpha = 25;
}
}
Instance of Symbol 847 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
_parent.achName = "Selling Your Soul";
_parent.achInfo = "Find and abuse the familiar mechanic";
}
on (rollOut) {
_parent.achName = "";
_parent.achInfo = "";
}
onClipEvent (enterFrame) {
if (_root.soulAch == true) {
this._alpha = 100;
} else {
this._alpha = 25;
}
}
Instance of Symbol 849 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
_parent.achName = "Shovelwaring you out";
_parent.achInfo = "Churn out 800 games";
}
on (rollOut) {
_parent.achName = "";
_parent.achInfo = "";
}
onClipEvent (enterFrame) {
if (_root.massAch == true) {
this._alpha = 100;
} else {
this._alpha = 25;
}
}
Instance of Symbol 851 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
_parent.achName = "AAARH! I CAN HAVE...IDEAS?!";
_parent.achInfo = "Enter the brain";
}
on (rollOut) {
_parent.achName = "";
_parent.achInfo = "";
}
onClipEvent (enterFrame) {
if (_root.brainAch == true) {
this._alpha = 100;
} else {
this._alpha = 25;
}
}
Instance of Symbol 853 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
_parent.achName = "Cosmosis";
_parent.achInfo = "Realize a universal truth";
}
on (rollOut) {
_parent.achName = "";
_parent.achInfo = "";
}
onClipEvent (enterFrame) {
if (_root.cosmoAch == true) {
this._alpha = 100;
} else {
this._alpha = 25;
}
}
Instance of Symbol 855 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
_parent.achName = "Honours Idle";
_parent.achInfo = "Win 50 awards - the only true recognition of talent";
}
on (rollOut) {
_parent.achName = "";
_parent.achInfo = "";
}
onClipEvent (enterFrame) {
if (_root.honoursAch == true) {
this._alpha = 100;
} else {
this._alpha = 25;
}
}
Instance of Symbol 857 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
_parent.achName = "Fifty Fifty";
_parent.achInfo = "Get lucky on the one arm bandit";
}
on (rollOut) {
_parent.achName = "";
_parent.achInfo = "";
}
onClipEvent (enterFrame) {
if (_root.fruitAch == true) {
this._alpha = 100;
} else {
this._alpha = 25;
}
}
Instance of Symbol 865 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
if ((_root.chazAch == true) && (_root.chazRolled == false)) {
_root.chazRolled = true;
_root.rollSFX.start(0, 1);
}
}
onClipEvent (enterFrame) {
if ((_root.chazAch == true) && (_root.chazRolled == false)) {
this.gotoAndStop("show");
} else {
this.gotoAndStop("dead");
}
}
Instance of Symbol 865 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
if ((_root.soulAch == true) && (_root.soulRolled == false)) {
_root.soulRolled = true;
_root.rollSFX.start(0, 1);
}
}
onClipEvent (enterFrame) {
if ((_root.soulAch == true) && (_root.soulRolled == false)) {
this.gotoAndStop("show");
} else {
this.gotoAndStop("dead");
}
}
Instance of Symbol 865 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
if ((_root.wayneAch == true) && (_root.wayneRolled == false)) {
_root.wayneRolled = true;
_root.rollSFX.start(0, 1);
}
}
onClipEvent (enterFrame) {
if ((_root.wayneAch == true) && (_root.wayneRolled == false)) {
this.gotoAndStop("show");
} else {
this.gotoAndStop("dead");
}
}
Instance of Symbol 865 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
if ((_root.danishAch == true) && (_root.danishRolled == false)) {
_root.danishRolled = true;
_root.rollSFX.start(0, 1);
}
}
onClipEvent (enterFrame) {
if ((_root.danishAch == true) && (_root.danishRolled == false)) {
this.gotoAndStop("show");
} else {
this.gotoAndStop("dead");
}
}
Instance of Symbol 865 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
if ((_root.dingoAch == true) && (_root.dingoRolled == false)) {
_root.dingoRolled = true;
_root.rollSFX.start(0, 1);
}
}
onClipEvent (enterFrame) {
if ((_root.dingoAch == true) && (_root.dingoRolled == false)) {
this.gotoAndStop("show");
} else {
this.gotoAndStop("dead");
}
}
Instance of Symbol 865 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
if ((_root.manualAch == true) && (_root.manualRolled == false)) {
_root.manualRolled = true;
_root.rollSFX.start(0, 1);
}
}
onClipEvent (enterFrame) {
if ((_root.manualAch == true) && (_root.manualRolled == false)) {
this.gotoAndStop("show");
} else {
this.gotoAndStop("dead");
}
}
Instance of Symbol 865 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
if ((_root.killmeAch == true) && (_root.killmeRolled == false)) {
_root.killmeRolled = true;
_root.rollSFX.start(0, 1);
}
}
onClipEvent (enterFrame) {
if ((_root.killmeAch == true) && (_root.killmeRolled == false)) {
this.gotoAndStop("show");
} else {
this.gotoAndStop("dead");
}
}
Instance of Symbol 865 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
if ((_root.trifectaAch == true) && (_root.trifectaRolled == false)) {
_root.trifectaRolled = true;
_root.rollSFX.start(0, 1);
}
}
onClipEvent (enterFrame) {
if ((_root.trifectaAch == true) && (_root.trifectaRolled == false)) {
this.gotoAndStop("show");
} else {
this.gotoAndStop("dead");
}
}
Instance of Symbol 865 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
if ((_root.idlehardAch == true) && (_root.idlehardRolled == false)) {
_root.idlehardRolled = true;
_root.rollSFX.start(0, 1);
}
}
onClipEvent (enterFrame) {
if ((_root.idlehardAch == true) && (_root.idlehardRolled == false)) {
this.gotoAndStop("show");
} else {
this.gotoAndStop("dead");
}
}
Instance of Symbol 865 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
if ((_root.pooAch == true) && (_root.pooRolled == false)) {
_root.pooRolled = true;
_root.rollSFX.start(0, 1);
}
}
onClipEvent (enterFrame) {
if ((_root.pooAch == true) && (_root.pooRolled == false)) {
this.gotoAndStop("show");
} else {
this.gotoAndStop("dead");
}
}
Instance of Symbol 865 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
if ((_root.massAch == true) && (_root.massRolled == false)) {
_root.massRolled = true;
_root.rollSFX.start(0, 1);
}
}
onClipEvent (enterFrame) {
if ((_root.massAch == true) && (_root.massRolled == false)) {
this.gotoAndStop("show");
} else {
this.gotoAndStop("dead");
}
}
Instance of Symbol 865 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
if ((_root.brainAch == true) && (_root.brainRolled == false)) {
_root.brainRolled = true;
_root.rollSFX.start(0, 1);
}
}
onClipEvent (enterFrame) {
if ((_root.brainAch == true) && (_root.brainRolled == false)) {
this.gotoAndStop("show");
} else {
this.gotoAndStop("dead");
}
}
Instance of Symbol 865 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
if ((_root.cosmoAch == true) && (_root.cosmoRolled == false)) {
_root.cosmoRolled = true;
_root.rollSFX.start(0, 1);
}
}
onClipEvent (enterFrame) {
if ((_root.cosmoAch == true) && (_root.cosmoRolled == false)) {
this.gotoAndStop("show");
} else {
this.gotoAndStop("dead");
}
}
Instance of Symbol 865 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
if ((_root.honoursAch == true) && (_root.honoursRolled == false)) {
_root.honoursRolled = true;
_root.rollSFX.start(0, 1);
}
}
onClipEvent (enterFrame) {
if ((_root.honoursAch == true) && (_root.honoursRolled == false)) {
this.gotoAndStop("show");
} else {
this.gotoAndStop("dead");
}
}
Instance of Symbol 865 MovieClip in Symbol 866 MovieClip Frame 1
on (rollOver) {
if ((_root.fruitAch == true) && (_root.fruitRolled == false)) {
_root.fruitRolled = true;
_root.rollSFX.start(0, 1);
}
}
onClipEvent (enterFrame) {
if ((_root.fruitAch == true) && (_root.fruitRolled == false)) {
this.gotoAndStop("show");
} else {
this.gotoAndStop("dead");
}
}
Symbol 870 MovieClip Frame 1
stop();
Symbol 870 MovieClip Frame 31
stop();
Symbol 887 Button
on (release) {
nextFrame();
_root.spinSFX.start(0, 1);
}
Symbol 903 MovieClip Frame 60
_parent.nextFrame();
Symbol 912 MovieClip Frame 2
_root.fruitCheck = true;
Symbol 915 Button
on (release) {
_root.fruitPopup.play();
_root.fruitPopup.active = false;
_root.hoverSFX.start(0, 1);
}
Symbol 916 MovieClip Frame 1
stop();
Symbol 916 MovieClip Frame 3
_root.shakeFX.play();
Instance of Symbol 912 MovieClip in Symbol 916 MovieClip Frame 3
onClipEvent (load) {
this.gotoAndStop(random(2) + 1);
}
Symbol 921 MovieClip Frame 1
stop();
Symbol 921 MovieClip Frame 31
stop();
Symbol 929 Button
on (release) {
_root.abiReminder.gotoAndStop(1);
_parent.play();
_root.hoverSFX.start(0, 1);
}
Instance of Symbol 944 MovieClip in Symbol 955 MovieClip Frame 1
onClipEvent (enterFrame) {
if (_root.playerLevel >= 20) {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
}
Instance of Symbol 948 MovieClip in Symbol 955 MovieClip Frame 1
onClipEvent (enterFrame) {
if (_root.playerLevel >= 10) {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
}
Symbol 959 MovieClip Frame 1
stop();
Symbol 959 MovieClip Frame 31
stop();
Symbol 967 Button
on (release) {
_parent.play();
_root.awardPopup.winRoll = 0;
_root.gotAward = false;
_root.hoverSFX.start(0, 1);
}
Symbol 977 MovieClip Frame 32
stop();
Instance of Symbol 987 MovieClip in Symbol 988 MovieClip Frame 1
onClipEvent (load) {
this.gotoAndStop(random(this._totalframes) + 1);
}
Symbol 991 MovieClip Frame 1
stop();
Symbol 991 MovieClip Frame 23
stop();
_root.awardPlate.awards = _root.awardPlate.awards + 1;
Instance of Symbol 988 MovieClip in Symbol 991 MovieClip Frame 23
/* no clip actions */
Symbol 991 MovieClip Frame 34
_root.awardPlate.anim.play();
Symbol 998 Button
on (release) {
_parent.play();
_root.hoverSFX.start(0, 1);
}
Symbol 1005 Button
on (release) {
getURL ("http://www.facebook.com/FlashChazOfficial", " _blank");
}
Symbol 1007 Button
on (release) {
getURL ("http://www.yahtzei.newgrounds.com", " _blank");
}
Symbol 1020 MovieClip Frame 1
stop();
Symbol 1020 MovieClip Frame 31
stop();
Symbol 1037 MovieClip Frame 1
stop();
Symbol 1037 MovieClip Frame 2
_root.shakeFX.gotoAndPlay(2);
_root.achReminder.gotoAndStop(2);
Symbol 1062 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 1062 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 1062 MovieClip [MedalPopup] Frame 23
if (_unlockedMedal && (medalIcon)) {
_unlockedMedal.attachIcon(medalIcon);
}
Symbol 1062 MovieClip [MedalPopup] Frame 84
if (_medalScrollRect) {
stop();
}
Symbol 1062 MovieClip [MedalPopup] Frame 105
stop();
_unlockedMedal = null;
showNextUnlock();
Symbol 1087 Button
on (release) {
nextFrame();
_root.scores._x = -550;
_root.scores._y = 67.2;
}
Symbol 1089 Button
on (release) {
nextFrame();
}
Symbol 1098 MovieClip Frame 1
stop();
Symbol 1098 MovieClip Frame 5
gotoAndStop ("show");