Frame 1
stop();
Stage.showMenu = false;
var musicC = false;
var deadCred = false;
var herpGet = false;
var level = 0;
var tries = 0;
Instance of Symbol 150 MovieClip [MedalPopup] in Frame 1
//component parameters
onClipEvent (construct) {
alwaysOnTop = "true";
}
Instance of Symbol 104 MovieClip [APIConnector] in Frame 1
//component parameters
onClipEvent (construct) {
apiId = "22094:YCGRE12S";
encryptionKey = "Gx3MlBonxI0NbjSNVSrTbiXreOKGPLQn";
debugMode = "Simulate Logged-in User";
movieVersion = "";
connectorType = "Flash Ad + Preloader";
redirectOnNewVersion = true;
redirectOnHostBlocked = true;
adType = "Video";
}
Frame 2
stop();
Frame 3
if (_root.musicC == false) {
_root.musicC = true;
danceM = new Sound(_root.dance);
danceM.attachSound("musicDance");
waitM = new Sound(_root.wait);
waitM.attachSound("musicWait");
pcM = new Sound(_root.pc);
pcM.attachSound("musicPC");
highM = new Sound(_root.high);
highM.attachSound("musicHigh");
tenM = new Sound(_root.ten);
tenM.attachSound("musicTension");
runM = new Sound(_root.run);
runM.attachSound("musicRun");
}
stop();
Frame 4
stop();
Frame 5
P1 = new Sound(_root.ee);
P1.attachSound("sfxPE");
P2 = new Sound(_root.ff);
P2.attachSound("sfxPF");
P3 = new Sound(_root.fu);
P3.attachSound("sfxPFU");
P4 = new Sound(_root.gg);
P4.attachSound("sfxPG");
P5 = new Sound(_root.gu);
P5.attachSound("sfxPGU");
stop();
Frame 6
P1 = new Sound(_root.ee);
P1.attachSound("sfxPE");
P2 = new Sound(_root.ff);
P2.attachSound("sfxPF");
P3 = new Sound(_root.fu);
P3.attachSound("sfxPFU");
P4 = new Sound(_root.gg);
P4.attachSound("sfxPG");
P5 = new Sound(_root.gu);
P5.attachSound("sfxPGU");
hitS = new Sound(_root.hit);
hitS.attachSound("sfxHit");
flowS = new Sound(_root.flow);
flowS.attachSound("sfxFlow");
flowS1 = new Sound(_root.flow1);
flowS1.attachSound("sfxFlow");
flowS2 = new Sound(_root.flow2);
flowS2.attachSound("sfxFlow");
warnS = new Sound(_root.warn);
warnS.attachSound("sfxWarn");
pukeS = new Sound(_root.puke);
pukeS.attachSound("sfxPuke");
pukeS1 = new Sound(_root.puke1);
pukeS1.attachSound("sfxPuke1");
stop();
Frame 7
P1 = new Sound(_root.ee);
P1.attachSound("sfxPE");
P2 = new Sound(_root.ff);
P2.attachSound("sfxPF");
P3 = new Sound(_root.fu);
P3.attachSound("sfxPFU");
P4 = new Sound(_root.gg);
P4.attachSound("sfxPG");
P5 = new Sound(_root.gu);
P5.attachSound("sfxPGU");
pixS = new Sound(_root.pix);
pixS.attachSound("sfxPix");
carsS = new Sound(_root.cars);
carsS.attachSound("sfxCars");
exS = new Sound(_root.exps);
exS.attachSound("sfxExplosion");
keysS = new Sound(_root.keys);
keysS.attachSound("sfxKeys");
beepS = new Sound(_root.beep);
beepS.attachSound("sfxBeep");
carbS = new Sound(_root.carBeep);
carbS.attachSound("sfxCarBeep");
stop();
Frame 8
P1 = new Sound(_root.ee);
P1.attachSound("sfxPE");
P2 = new Sound(_root.ff);
P2.attachSound("sfxPF");
P3 = new Sound(_root.fu);
P3.attachSound("sfxPFU");
P4 = new Sound(_root.gg);
P4.attachSound("sfxPG");
P5 = new Sound(_root.gu);
P5.attachSound("sfxPGU");
warnS = new Sound(_root.warn);
warnS.attachSound("sfxWarn");
exS = new Sound(_root.exps);
exS.attachSound("sfxExplosion");
shootS = new Sound(_root.shoot);
shootS.attachSound("sfxShoot");
chargeS = new Sound(_root.charge);
chargeS.attachSound("sfxCharge");
truckS = new Sound(_root.truck);
truckS.attachSound("sfxTruck");
screechS = new Sound(_root.screech);
screechS.attachSound("sfxScreech");
idleS = new Sound(_root.idle);
idleS.attachSound("sfxIdle");
extS = new Sound(_root.ext);
extS.attachSound("sfxExt");
clawS = new Sound(_root.claw);
clawS.attachSound("sfxClaw");
stop();
Frame 9
stop();
Frame 10
clickS = new Sound(_root.click);
clickS.attachSound("sfxClick");
rollS = new Sound(_root.roll);
rollS.attachSound("sfxRoll");
stop();
Frame 11
rollS = new Sound(_root.roll);
rollS.attachSound("sfxRoll");
stop();
Frame 12
stop();
Symbol 27 MovieClip [partyTextTwo] Frame 1
x = random(2);
num = 0;
if (x == 0) {
num = 425 - random(200);
} else {
num = 250 + random(200);
}
this._x = num;
this.gotoAndStop(1 + random(15));
op = 80;
this.onEnterFrame = function () {
this._alpha = op;
op--;
if (op <= 0) {
this.removeMovieClip();
}
};
Symbol 35 MovieClip Frame 1
stop();
Symbol 45 MovieClip Frame 1
stop();
Symbol 46 MovieClip [Preloader] Frame 1
function enterFrameHandler() {
var _local2 = 0;
_local2 = _root.getBytesLoaded() / _root.getBytesTotal();
if (loadingBar) {
loadingBar.gotoAndStop(int(_local2 * (loadingBar._totalframes - 1)) + 1);
}
if (_local2 >= 1) {
onEnterFrame = null;
gotoAndStop ("loaded");
}
}
stop();
var autoPlay;
var className;
onEnterFrame = enterFrameHandler;
Symbol 46 MovieClip [Preloader] Frame 10
function _onPlayClick() {
_root.nextFrame();
_root.play();
_parent._onLoaded();
}
if (playButton) {
playButton.onRelease = _onPlayClick;
playButton.stop();
}
if (autoPlay) {
_onPlayClick(null);
}
Symbol 48 MovieClip [Newgrounds API Classes] Frame 1
#initclip 26
Object.registerClass("Newgrounds API Classes", com.newgrounds.shims.APIShim);
#endinitclip
Symbol 103 MovieClip [FlashAd] Frame 1
#initclip 27
Object.registerClass("FlashAd", com.newgrounds.components.FlashAdBase);
#endinitclip
stop();
Symbol 103 MovieClip [FlashAd] Frame 30
function onPlayClick() {
removeAd();
_visible = false;
}
if (this.playButton) {
this.playButton.onRelease = onPlayClick;
}
Symbol 104 MovieClip [APIConnector] Frame 1
function _onLoaded() {
gotoAndStop ("invisible");
if (_redirect) {
com.newgrounds.API.loadOfficialVersion();
return(undefined);
}
}
function _apiConnect() {
var _local2 = com.newgrounds.API;
if (_local2 && (!_local2.connected)) {
if (!apiId) {
com.newgrounds.Logger.logError("No API ID entered in the API Connector component.", "You can create an API ID for this submission at http://newgrounds.com/account/flashapi", "Enter your API ID into the API Connector using the Component Inspector (Window -> Component Inspector).");
return(undefined);
}
switch (debugMode) {
case "Off" :
default :
_local2.debugMode = _local2.RELEASE_MODE;
break;
case "Simulate Logged-in User" :
_local2.debugMode = _local2.DEBUG_MODE_LOGGED_IN;
break;
case "Simulate Logged-out User" :
_local2.debugMode = _local2.DEBUG_MODE_LOGGED_OUT;
break;
case "Simulate New Version" :
_local2.debugMode = _local2.DEBUG_MODE_NEW_VERSION;
break;
case "Simulate Host Blocked" :
_local2.debugMode = _local2.DEBUG_MODE_HOST_BLOCKED;
}
_local2.addEventListener(com.newgrounds.APIEvent.API_CONNECTED, _onConnected);
_local2.connect(_root, apiId, encryptionKey, movieVersion);
}
}
function _onConnected(event) {
if ((redirectOnNewVersion && (event.__get__success())) && (event.__get__data().newVersion)) {
_redirect = true;
}
if ((redirectOnHostBlocked && (!event.__get__success())) && (event.__get__error() == com.newgrounds.APIEvent.ERROR_HOST_BLOCKED)) {
_redirect = true;
}
if (_redirect) {
gotoAndStop ("adPreloader");
forceAlwaysOnTop();
}
}
function forceAlwaysOnTop() {
var _local2 = getNextHighestDepth();
swapDepths(_local2);
if (Stage) {
_x = ((Stage.width - _width) / 2);
_y = ((Stage.height - _height) / 2);
_visible = true;
}
if (_root && (_root instanceof MovieClip)) {
MovieClip(_root).stop();
}
}
stop();
if (_root && (_root instanceof MovieClip)) {
MovieClip(_root).stop();
}
var apiId;
var encryptionKey;
var movieVersion;
var debugMode;
var connectorType;
var redirectOnHostBlocked;
var redirectOnNewVersion;
var adType;
var className;
var _redirect;
_x = int(_x);
_y = int(_y);
if (!debugMode) {
debugMode = "Simulate Logged-in User";
}
if (!connectorType) {
connectorType = "Flash Ad + Preloader";
}
if (!adType) {
adType = "Video";
}
if (ad) {
ad.adType = adType;
}
switch (connectorType) {
case "Flash Ad + Preloader" :
gotoAndStop ("adPreloader");
break;
case "Flash Ad Only" :
gotoAndStop ("ad");
break;
case "Invisible" :
gotoAndStop ("invisible");
}
_apiConnect();
Instance of Symbol 103 MovieClip [FlashAd] "ad" in Symbol 104 MovieClip [APIConnector] Frame 1
//component parameters
onClipEvent (construct) {
apiId = "";
showBorder = true;
adType = "Video";
}
Instance of Symbol 46 MovieClip [Preloader] "loader" in Symbol 104 MovieClip [APIConnector] Frame 1
//component parameters
onClipEvent (construct) {
autoPlay = false;
mainClass = "";
}
Symbol 150 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 150 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 150 MovieClip [MedalPopup] Frame 23
if (_unlockedMedal && (medalIcon)) {
_unlockedMedal.attachIcon(medalIcon);
}
Symbol 150 MovieClip [MedalPopup] Frame 84
if (_medalScrollRect) {
stop();
}
Symbol 150 MovieClip [MedalPopup] Frame 105
stop();
_unlockedMedal = null;
showNextUnlock();
Symbol 155 Button
on (press) {
getURL ("http://ir0nh0rse.newgrounds.com/", "_blank");
}
Symbol 159 Button
on (press) {
getURL ("http://www.newgrounds.com/", "_blank");
}
Symbol 56 MovieClip [__Packages.com.newgrounds.APIConnection] Frame 0
class com.newgrounds.APIConnection
{
var _hostURL, hostDomain, sessionId, publisherId, encryptionKey, userEmail, username, userId, userpageFormat, initialized;
function APIConnection () {
reset();
}
function get hostURL() {
return(_hostURL);
}
function set hostURL(value) {
_hostURL = value;
hostDomain = null;
if (_hostURL) {
var _local2 = _hostURL.split("/");
if ((_local2[0] != "file:") && (_hostURL != "localhost")) {
hostDomain = _local2[2];
}
}
if (!hostDomain) {
hostDomain = "localhost";
}
//return(hostURL);
}
function get sandboxType() {
return(System.security.sandboxType);
}
function get isNetworkHost() {
switch (sandboxType) {
case "localWithFile" :
case "localWithNetwork" :
case "localTrusted" :
case "application" :
return(false);
case "remote" :
}
return(true);
}
function get hasUserSession() {
return(((sessionId != null) && (sessionId != "")) && (publisherId != 0));
}
function get connected() {
return(connectionState == CONNECTED);
}
function reset() {
connectionState = NOT_CONNECTED;
encryptionKey = null;
sessionId = null;
userEmail = null;
username = null;
userId = 0;
userpageFormat = 0;
}
function assertInitialized() {
if (!initialized) {
com.newgrounds.Logger.logError("You must initialized the API using API.connect() before using this command.");
return(false);
}
return(true);
}
function assertConnected() {
if ((!connectionState) == CONNECTED) {
com.newgrounds.Logger.logError("You must establish a connection using API.connect() before using this command.");
return(false);
}
return(true);
}
function sendSimpleCommand(command, completeHandler, parameters, secureParameters) {
if (parameters == undefined) {
parameters = null;
}
if (secureParameters == undefined) {
secureParameters = null;
}
var _local2 = new com.newgrounds.APICommand(command);
_local2.__set__parameters(parameters);
_local2.__set__secureParameters(secureParameters);
if (completeHandler != null) {
_local2.addEventListener(com.newgrounds.APIEvent.COMMAND_COMPLETE, completeHandler);
}
_local2.send(this);
}
function sendCommand(command) {
command.send(this);
}
function loadInBrowser(command, newWindow, parameters) {
if (newWindow == undefined) {
newWindow = true;
}
if (parameters == undefined) {
parameters = null;
}
var _local2 = new com.newgrounds.APICommand(command);
_local2.__set__parameters(parameters);
_local2.loadInBrowser(this, newWindow);
}
static var NOT_CONNECTED = "notConnected";
static var CONNECTING = "connecting";
static var CONNECTED = "connected";
var connectionState = NOT_CONNECTED;
var apiURL = "http://www.ngads.com/gateway_v2.php";
}
Symbol 50 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 49 MovieClip [__Packages.com.newgrounds.Event] Frame 0
class com.newgrounds.Event
{
var _type;
function Event (type) {
_type = type;
}
function get type() {
return(_type);
}
}
Symbol 51 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 54 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 60 MovieClip [__Packages.com.newgrounds.APICommand] Frame 0
class com.newgrounds.APICommand extends com.newgrounds.APIEventDispatcher
{
static var _throttleTimestamp, bridge;
var _command, _parameters, _secureParameters, _hasTimeout, _preventCache, _files, _loader, _timeoutTimer, dispatchEvent;
function APICommand (command) {
super();
_command = command;
_parameters = new Object();
_secureParameters = new Object();
_hasTimeout = true;
}
static function stopPendingCommands() {
for (var _local2 in _pendingCommands) {
var _local1 = _pendingCommands[_local2];
_local1.close();
}
_pendingCommands = [];
}
static function onThrottleTimer(event) {
if ((getTimer() - _throttleTimestamp) >= THROTTLE_INTERVAL) {
_throttleCount = 0;
_throttleCount = 0;
while (_commandQueue.length && (_throttleCount < THROTTLE_THRESHOLD)) {
var _local1 = _commandQueue.shift();
_local1.command.send(_local1.connection);
_throttleCount++;
}
}
}
static function encryptHex(hexValue) {
var _local4 = hexValue.length % 6;
var _local3 = "";
var _local1 = 0;
while (_local1 < hexValue.length) {
_local3 = _local3 + _encryptor.encodeUint(int("0x" + hexValue.substr(_local1, 6)), 4);
_local1 = _local1 + 6;
}
return(_local4.toString() + _local3);
}
function get command() {
return(_command);
}
function set command(value) {
_command = value;
//return(command);
}
function get hasTimeout() {
return(_hasTimeout);
}
function set hasTimeout(val) {
_hasTimeout = val;
//return(hasTimeout);
}
function get parameters() {
return(_parameters);
}
function set parameters(object) {
_parameters = new Object();
if (object) {
for (var _local3 in object) {
_parameters[_local3] = object[_local3];
}
}
//return(parameters);
}
function get preventCache() {
return(_preventCache);
}
function set preventCache(value) {
_preventCache = value;
//return(preventCache);
}
function get secureParameters() {
return(_secureParameters);
}
function set secureParameters(object) {
_secureParameters = new Object();
if (object) {
for (var _local3 in object) {
_secureParameters[_local3] = object[_local3];
}
}
//return(secureParameters);
}
function get hasSecureParameters() {
for (var _local2 in _secureParameters) {
return(true);
}
return(false);
}
function addFile(filename, data, dataField, contentType) {
if (contentType == undefined) {
contentType = "application/octet-stream";
}
if (!_files) {
_files = new Object();
}
var _local3 = {filename:filename, data:data, dataField:dataField, contentType:contentType};
_files[filename] = _local3;
}
function removeFile(filename) {
if (_files) {
delete _files[filename];
}
}
function clearFiles() {
_files = null;
}
function close() {
if (_loader) {
clearInterval(_timeoutTimer);
var _local2 = 0;
while (_local2 < _pendingCommands.length) {
if (_pendingCommands[_local2] == this) {
_pendingCommands.splice(_local2, 1);
break;
}
_local2++;
}
_loader = null;
}
}
function loadInBrowser(connection, newWindow) {
_parameters.command_id = _command;
_parameters.tracker_id = (connection.apiId ? (connection.apiId) : 1);
if (connection.debug) {
_parameters.debug = 1;
}
var _local3 = (connection.apiURL + "?host=") + escape(connection.hostDomain);
for (var _local4 in _parameters) {
_local3 = _local3 + ((("&" + escape(_local4)) + "=") + escape(_parameters[_local4]));
}
var _local6;
if (newWindow) {
_local6 = "_blank";
} else {
_local6 = "_top";
}
_root.getURL(_local3, _local6);
}
function send(connection) {
if (_throttleCount >= THROTTLE_THRESHOLD) {
_commandQueue.push({connection:connection, command:this});
} else {
sendInternal(connection);
}
}
function sendInternal(connection) {
var _local4;
_local4 = new LoadVars();
_local4.command_id = _command;
_local4.tracker_id = connection.apiId;
if (connection.debug) {
_local4.debug = 1;
}
if (_preventCache) {
_local4.seed = Math.random();
}
var _local2;
var _local3;
var _local7;
for (_local2 in _parameters) {
_local3 = _parameters[_local2];
if (_local3 != null) {
if (typeof(_local3) == "boolean") {
_local4[_local2] = int(_local3);
} else {
_local4[_local2] = _local3;
}
}
}
if (hasSecureParameters) {
var _local6 = new Object();
for (_local2 in _secureParameters) {
_local3 = _secureParameters[_local2];
if (_local3 != null) {
if (typeof(_local3) == "boolean") {
_local6[_local2] = int(_local3);
} else {
_local6[_local2] = _local3;
}
}
}
var _local8 = "";
_local7 = 0;
while (_local7 < 16) {
_local8 = _local8 + ENCRYPTOR_RADIX.charAt(int(Math.random() * ENCRYPTOR_RADIX.length));
_local7++;
}
_local4.command_id = "securePacket";
_local6.command_id = _command;
_local6.as_version = 3;
_local6.session_id = connection.sessionId;
_local6.user_email = connection.userEmail;
_local6.publisher_id = connection.publisherId;
_local6.seed = _local8;
var _local13 = com.newgrounds.crypto.MD5.hash(_local8);
var _local11 = com.newgrounds.crypto.RC4.encrypt(com.newgrounds.encoders.json.JSON.encode(_local6), connection.encryptionKey);
_local4.secure = encryptHex(_local13 + _local11);
}
com.newgrounds.Logger.logInternal("Sending packet:", _local4);
var _local12;
_local12 = "application/x-www-form-urlencoded";
for (_local2 in _local4) {
if (typeof(_local4[_local2]) == "object") {
_local4[_local2] = com.newgrounds.encoders.json.JSON.encode(_local4[_local2]);
}
}
if (_files) {
for (var _local10 in _files) {
var _local5 = _files[_local10];
if (typeof(_local5.data) == "string") {
_local4[_local10] = _local5.data;
} else {
_local4[_local10] = com.newgrounds.encoders.json.JSON.encode(_local5.data);
}
}
}
_pendingCommands.push(this);
_throttleCount++;
_throttleTimestamp = getTimer();
startLoader(connection.apiURL, _local4, _local12);
}
function startLoader(url, data, contentType) {
_loader = LoadVars(data);
_loader.onData = as2CompleteHandler;
_loader.contentType = contentType;
_loader.sendAndLoad(url, _loader, "POST");
if (_hasTimeout) {
setInterval(this, onTimeout, TIMEOUT_INTERVAL);
}
}
function as2CompleteHandler(data) {
var _local3;
var _local2 = 0;
while (_local2 < _pendingCommands.length) {
if (_pendingCommands[_local2]._loader == this) {
_local3 = _pendingCommands[_local2];
break;
}
_local2++;
}
_local3.onComplete(data);
}
function onTimeout(event) {
close();
com.newgrounds.Logger.logError("Command timed out.");
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.COMMAND_COMPLETE, null, com.newgrounds.APIEvent.ERROR_TIMED_OUT));
}
function onError(error) {
com.newgrounds.Logger.logError("Error when sending command:", error);
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.COMMAND_COMPLETE, null, com.newgrounds.APIEvent.ERROR_UNKNOWN));
close();
}
function onComplete(data) {
try {
if ((!data) || (data == "")) {
throw new Error();
}
com.newgrounds.Logger.logInternal("Received packet:", data);
var _local2 = com.newgrounds.encoders.json.JSON.decode(data);
if (!_local2) {
throw new Error();
}
if (bridge) {
bridge.sendEvent(_local2.command_id, _local2);
}
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.COMMAND_COMPLETE, _local2, ((_local2 && (_local2.success)) ? (com.newgrounds.APIEvent.ERROR_NONE) : (com.newgrounds.APIEvent.ERROR_COMMAND_FAILED))));
} catch(e) {
com.newgrounds.Logger.logError("Invalid response returned from server: " + data);
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.COMMAND_COMPLETE, null, com.newgrounds.APIEvent.ERROR_BAD_RESPONSE));
}
close();
}
static var TIMEOUT_INTERVAL = 10000;
static var THROTTLE_INTERVAL = 10050;
static var THROTTLE_TICK_INTERVAL = 1000;
static var THROTTLE_THRESHOLD = 24;
static var _throttleCount = 0;
static var _commandQueue = [];
static var _throttleTimer = setInterval(onThrottleTimer, THROTTLE_TICK_INTERVAL);
static var ENCRYPTOR_RADIX = "/g8236klvBQ#&|;Zb*7CEA59%s`Oue1wziFp$rDVY@TKxUPWytSaGHJ>dmoMR^<0~4qNLhc(I+fjn)X";
static var _encryptor = new com.newgrounds.encoders.BaseN(ENCRYPTOR_RADIX);
static var _pendingCommands = [];
static var CRLF = "\r\n";
}
Symbol 55 MovieClip [__Packages.com.newgrounds.Bridge] Frame 0
class com.newgrounds.Bridge
{
var _widgetId, _inConnection, _outConnection;
function Bridge (id) {
_widgetId = id;
_inConnection = new LocalConnection();
_outConnection = new LocalConnection();
_inConnection.receiveEvent = receiveEvent;
try {
_inConnection.connect("rec_" + _widgetId);
} catch(error) {
}
com.newgrounds.Logger.addEventListener(com.newgrounds.APIEvent.LOG, {target:this, func:onLogMessage});
}
function onLogMessage(event) {
try {
_outConnection.send(_widgetId, "sendEvent", "trace", String(event.__get__data()));
} catch(error) {
}
}
function sendEvent(command, parameters) {
if (_outConnection) {
parameters = {data:parameters};
_outConnection.send(_widgetId, "sendEvent", command, parameters);
}
}
function receiveEvent(event, parameters) {
}
function onStatus(event) {
}
}
Symbol 52 MovieClip [__Packages.com.newgrounds.APIEvent] Frame 0
class com.newgrounds.APIEvent extends com.newgrounds.Event
{
var _error, _success, _data, __get__type;
function APIEvent (type, data, error) {
super(type);
if (data == undefined) {
data = null;
}
if (error == undefined) {
error = null;
}
if (((!error) || (error == "")) || (error == ERROR_NONE)) {
_error = ERROR_NONE;
_success = true;
} else {
_error = error;
_success = false;
}
if (data) {
_data = data;
} else {
_data = {};
}
}
function clone() {
return(new com.newgrounds.APIEvent(__get__type(), _data, _error));
}
function get success() {
return(_success);
}
function get data() {
return(_data);
}
function get error() {
return(_error);
}
static var COMMAND_COMPLETE = "commandComplete";
static var MEDAL_UNLOCK_CONFIRMED = "medalUnlockConfirmed";
static var ICON_LOADED = "iconLoaded";
static var API_CONNECTED = "movieConnected";
static var LOG = "log";
static var MEDAL_UNLOCKED = "medalUnlocked";
static var SCORES_LOADED = "scoresLoaded";
static var SCORE_POSTED = "scorePosted";
static var QUERY_COMPLETE = "queryComplete";
static var FILE_LOADED = "fileLoaded";
static var FILE_SAVED = "fileSaved";
static var FILE_REQUESTED = "fileRequested";
static var VOTE_COMPLETE = "voteComplete";
static var ERROR_NONE = "noError";
static var ERROR_UNKNOWN = "unknownError";
static var ERROR_COMMAND_FAILED = "commandFailed";
static var ERROR_NOT_CONNECTED = "notConnected";
static var ERROR_INVALID_ARGUMENT = "invalidArgument";
static var ERROR_TIMED_OUT = "timedOut";
static var ERROR_BAD_FILE = "badFile";
static var ERROR_BAD_RESPONSE = "badResponse";
static var ERROR_SENDING_COMMAND = "errorSendingCommand";
static var ERROR_HOST_BLOCKED = "hostBlocked";
static var ERROR_ALREADY_VOTED = "alreadyVoted";
static var ERROR_NOT_LOGGED_IN = "notLoggedIn";
static var ERROR_WRONG_ENCRYPTION_KEY = "wrongEncryptionKey";
}
Symbol 71 MovieClip [__Packages.com.newgrounds.API] Frame 0
class com.newgrounds.API
{
static var _adFeedURL, _movieVersion, _bridge, _requestedSaveGroupId, _requestedSaveFileId, _movieName, _newVersion, _saveFilePath, _imageFilePath;
function API () {
}
static function get connected() {
return(_connection.__get__connected());
}
static function get isNetworkHost() {
return(_connection.__get__isNetworkHost());
}
static function get apiId() {
_connection.assertInitialized();
return(_connection.apiId);
}
static function get debugMode() {
return(_debugMode);
}
static function set debugMode(val) {
_debugMode = val;
//return(debugMode);
}
static function get publisherId() {
_connection.assertInitialized();
return(_connection.publisherId);
}
static function get sessionId() {
_connection.assertInitialized();
return(_connection.sessionId);
}
static function get hostDomain() {
_connection.assertInitialized();
return(_connection.hostDomain);
}
static function get hostURL() {
_connection.assertInitialized();
return(_connection.__get__hostURL());
}
static function get isNewgrounds() {
return(_connection.publisherId == 1);
}
static function get hasUserSession() {
_connection.assertInitialized();
return(_connection.__get__hasUserSession());
}
static function get username() {
_connection.assertInitialized();
return(_connection.username);
}
static function get userId() {
_connection.assertInitialized();
return(_connection.userId);
}
static function assertConnected(eventType) {
if (eventType == undefined) {
eventType = null;
}
if (_connection.assertConnected()) {
return(true);
}
if (eventType) {
dispatchEvent(eventType, null, com.newgrounds.APIEvent.ERROR_NOT_CONNECTED);
}
return(false);
}
static function get adsApproved() {
return(_adsApproved);
}
static function get adFeedURL() {
return(_adFeedURL);
}
static function get medals() {
return(_medalsArray);
}
static function get scoreBoards() {
return(_scoreBoardsArray);
}
static function get saveGroups() {
return(_saveGroupsArray);
}
static function connect(_root, apiId, encryptionKey, movieVersion) {
if (encryptionKey == undefined) {
encryptionKey = null;
}
if (movieVersion == undefined) {
movieVersion = "";
}
com.newgrounds.APIEventDispatcher.__set__globalDispatcher(_dispatcher);
System.security.loadPolicyFile("http://apifiles.ngfiles.com/crossdomain.xml");
if (_connection.initialized) {
com.newgrounds.Logger.logError("Connection already in progress. Please call API.disconnect() before attempting another connection.");
dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, false, com.newgrounds.APIEvent.ERROR_NOT_CONNECTED);
return(undefined);
}
apiId = trimWhitespace(apiId);
if (encryptionKey) {
encryptionKey = trimWhitespace(encryptionKey);
}
if ((!apiId) || (apiId == "")) {
com.newgrounds.Logger.logError("No apiId given. Please use the API ID from your API settings page.");
dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, false, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT);
return(undefined);
}
com.newgrounds.Logger.logMessage(("====== Newgrounds API v" + VERSION) + " ======");
_connection.connectionState = com.newgrounds.APIConnection.CONNECTING;
_root=_root;//parameter overwritten
_movieVersion = movieVersion;
_connection.apiId = apiId;
var _local4;
_local4 = apiId.indexOf(":");
if (_local4 != -1) {
_connection.trackerId = int(apiId.substring(0, _local4));
} else {
_connection.trackerId = int(apiId);
}
if (!_connection.trackerId) {
com.newgrounds.Logger.logError("Invalid API ID: " + apiId);
dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, false, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT);
return(undefined);
}
_connection.encryptionKey = encryptionKey;
_connection.initialized = true;
_connection.__set__hostURL(_root._url);
doConnect(_root);
}
static function doConnect(flashVars) {
if (isNetworkHost && (_debugMode != RELEASE_MODE)) {
com.newgrounds.Logger.logMessage("Live file detected, turning off debug mode.");
_debugMode = RELEASE_MODE;
}
if (flashVars && (flashVars.NewgroundsAPI_SandboxID)) {
_bridge = new com.newgrounds.Bridge(flashVars.NewgroundsAPI_SandboxID);
com.newgrounds.APICommand.bridge = _bridge;
}
if (_debugMode == RELEASE_MODE) {
if (flashVars) {
if (flashVars.NewgroundsAPI_UserName) {
_connection.username = flashVars.NewgroundsAPI_UserName;
}
if (flashVars.NewgroundsAPI_UserID) {
_connection.userId = flashVars.NewgroundsAPI_UserID;
}
if (flashVars.NewgroundsAPI_PublisherID) {
_connection.publisherId = flashVars.NewgroundsAPI_PublisherID;
}
if (flashVars.NewgroundsAPI_UserpageFormat) {
_connection.userpageFormat = flashVars.NewgroundsAPI_UserpageFormat;
}
if (flashVars.NewgroundsAPI_SessionID) {
_connection.sessionId = flashVars.NewgroundsAPI_SessionID;
}
if (flashVars.NewgroundsAPI_SaveGroupID) {
_requestedSaveGroupId = flashVars.NewgroundsAPI_SaveGroupID;
}
if (flashVars.NewgroundsAPI_SaveFileID) {
_requestedSaveFileId = flashVars.NewgroundsAPI_SaveFileID;
}
}
} else {
_connection.debug = true;
if ((_debugMode == DEBUG_MODE_LOGGED_IN) || (_debugMode == DEBUG_MODE_LOGGED_OUT)) {
_connection.publisherId = 1;
}
if (_debugMode == DEBUG_MODE_LOGGED_IN) {
_connection.sessionId = "D3bu64p1U53R";
_connection.userId = 10;
_connection.username = "API-Debugger";
}
}
_connection.sendSimpleCommand("connectMovie", onConnect, {host:_connection.hostDomain, movie_version:_movieVersion, publisher_id:_connection.publisherId});
}
static function onConnect(event) {
var _local1 = event.__get__data();
if (!event.__get__success()) {
com.newgrounds.Logger.logError("Unable to connect to the API.");
_connection.reset();
dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, event.__get__data(), event.__get__error());
return(undefined);
}
if (debugMode != RELEASE_MODE) {
_adFeedURL = TEST_AD_FEED_URL;
} else if (_local1.ad_url) {
_adFeedURL = unescape(_local1.ad_url);
}
switch (_local1.ad_status) {
case -1 :
com.newgrounds.Logger.logWarning("Your movie is not approved to run Flash Ads.");
break;
case 0 :
com.newgrounds.Logger.logWarning("Your movie is still awaiting approval to run Flash Ads.");
break;
case 1 :
com.newgrounds.Logger.logMessage("Your movie is approved to run Flash Ads!");
}
_adsApproved = _local1.ad_status == 1;
if ((_debugMode == DEBUG_MODE_HOST_BLOCKED) || (_local1.deny_host)) {
com.newgrounds.Logger.logWarning(_connection.hostDomain + " does not have permission to host this movie!", "Update your API configuration to allow this host.");
dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, {officialURL:unescape(_local1.movie_url)}, com.newgrounds.APIEvent.ERROR_HOST_BLOCKED);
_connection.reset();
return(undefined);
}
_movieName = (_local1.movieName ? (_local1.movieName) : "");
com.newgrounds.Logger.logMessage("Connecting to the Newgrounds API Gateway...", ("----- " + _local1.movie_name) + " -----");
if (_debugMode == DEBUG_MODE_NEW_VERSION) {
_local1.movie_version = "Debug Mode";
}
if (_local1.movie_version) {
com.newgrounds.Logger.logMessage("A new version of this movie is available.", "Current version:\t" + _movieVersion, "Newest version:\t" + _local1.movie_version, "Use API.loadOfficialVersion() to link to the latest version.");
_newVersion = true;
} else {
_newVersion = false;
}
if (_local1.request_portal_url) {
_connection.sendSimpleCommand("setPortalID", null, {portal_url:_connection.__get__hostURL()});
}
_connection.sendSimpleCommand("preloadSettings", onMetadataLoaded, {publisher_id:_connection.publisherId, user_id:_connection.userId});
}
static function onMetadataLoaded(event) {
var _local11 = event.__get__data();
var _local1;
var _local7;
if (!event.__get__success()) {
com.newgrounds.Logger.logWarning("Unable to load movie metadata.");
disconnect();
dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, null, event.__get__error());
return(undefined);
}
var _local10 = 0;
if (_local11.medals) {
_local10 = _local11.medals.length;
var _local18;
if (hasUserSession) {
_local18 = loadLocal("medals_unlocked_" + username);
} else {
_local18 = loadLocal("medals_unlocked");
}
_local1 = 0;
while (_local1 < _local10) {
var _local4 = _local11.medals[_local1];
var _local15 = _local4.medal_unlocked;
var _local17 = _local18 && (_local18[_local4.medal_id]);
var _local14 = (hasUserSession ? (_local15) : (_local17));
if (debugMode != RELEASE_MODE) {
_local14 = false;
}
var _local5 = new com.newgrounds.Medal(_connection, _local4.medal_id, _local4.medal_name, _local4.medal_description, Boolean(int(_local4.secret)), _local14, _local4.medal_value, _local4.medal_difficulty, _local4.medal_icon);
_local5.addEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCKED, onMedalUnlocked, false, 0, true);
_local5.addEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCK_CONFIRMED, onMedalUnlockConfirmed, false, 0, true);
_medals[_local5.__get__name()] = _local5;
_medalsArray.push(_local5);
com.newgrounds.Logger.logMessage(_local5);
if ((hasUserSession && (_local17)) && (!_local15)) {
com.newgrounds.Logger.logMessage(("Server missed the \"" + _local5.__get__name()) + "\" unlock. Resending...");
_local5.unlock();
}
_local1++;
}
}
com.newgrounds.Logger.logMessage(((_local10 + " medal") + ((_local10 != 1) ? "s" : "")) + " initialized.");
_local10 = 0;
if (_local11.score_boards) {
_local10 = _local11.score_boards.length;
_local1 = 0;
while (_local1 < _local10) {
var _local16 = _local11.score_boards[_local1];
var _local9 = new com.newgrounds.ScoreBoard(_connection, _local16.name, _local16.id);
_scoreBoards[_local9.__get__name()] = _local9;
_scoreBoardsArray.push(_local9);
com.newgrounds.Logger.logMessage(_local9);
_local1++;
}
}
com.newgrounds.Logger.logMessage(((_local10 + " scoreboard") + ((_local10 != 1) ? "s" : "")) + " initialized.");
_local10 = 0;
if (_local11.save_groups) {
_local10 = _local11.save_groups.length;
_local1 = 0;
while (_local1 < _local10) {
var _local2 = _local11.save_groups[_local1];
var _local13 = [];
if (_local2.keys) {
_local7 = 0;
while (_local7 < _local2.keys.length) {
var _local6 = _local2.keys[_local7];
_local13.push(new com.newgrounds.SaveKey(_local6.name, _local6.id, _local6.type));
_local7++;
}
}
var _local12 = [];
if (_local2.ratings) {
_local1 = 0;
while (_local1 < _local2.ratings.length) {
var _local3 = _local2.ratings[_local1];
_local12.push(new com.newgrounds.SaveRating(_local3.name, _local3.id, _local3.float, _local3.min, _local3.max));
_local1++;
}
}
var _local8 = new com.newgrounds.SaveGroup(_connection, _local2.group_name, _local2.group_id, _local2.group_type, _local13, _local12);
_saveGroups[_local8.__get__name()] = _local8;
_saveGroupsArray.push(_local8);
com.newgrounds.Logger.logMessage(_local8);
_local1++;
}
}
com.newgrounds.Logger.logMessage(((_local10 + " save group") + ((_local10 != 1) ? "s" : "")) + " initialized.");
if (_local11.save_file_path) {
_saveFilePath = _local11.save_file_path + "/";
com.newgrounds.SaveFile._saveFilePath = _saveFilePath;
com.newgrounds.Logger.logInternal("Save file path: " + _saveFilePath);
}
if (_local11.image_file_path) {
_imageFilePath = _local11.image_file_path + "/";
com.newgrounds.SaveFile._imageFilePath = _imageFilePath;
com.newgrounds.Logger.logInternal("Image file path: " + _imageFilePath);
}
com.newgrounds.Logger.logMessage("Connection complete!");
_connection.connectionState = com.newgrounds.APIConnection.CONNECTED;
dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, {movieName:_movieName, newVersion:_newVersion});
if (_requestedSaveFileId && (_requestedSaveGroupId)) {
addEventListener(com.newgrounds.APIEvent.FILE_LOADED, onRequestedFileLoaded);
loadSaveFile(_requestedSaveFileId, false);
}
}
static function disconnect() {
if (!_connection.__get__connected()) {
com.newgrounds.Logger.logWarning("The Newgrounds API is already disconnected.");
return(undefined);
}
_connection.reset();
for (var _local2 in _medals) {
var _local1 = _medals[_local2];
_local1.removeEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCKED, onMedalUnlocked);
_local1.removeEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCK_CONFIRMED, onMedalUnlockConfirmed);
}
_newVersion = false;
_medals = new Object();
_medalsArray = [];
_scoreBoards = new Object();
_scoreBoardsArray = [];
_saveGroups = new Object();
_saveGroupsArray = [];
_sharedObjects = new Object();
_imageFilePath = null;
_saveFilePath = null;
com.newgrounds.Logger.logMessage("Disconnected from the Newgrounds API.");
}
static function loadNewgrounds() {
_connection.loadInBrowser("loadNewgrounds");
}
static function loadOfficialVersion() {
if (_connection.assertInitialized()) {
_connection.loadInBrowser("loadOfficialVersion", false);
}
}
static function loadMySite() {
if (_connection.assertInitialized()) {
_connection.loadInBrowser("loadMySite");
}
}
static function loadCustomLink(linkName) {
if (_connection.assertInitialized()) {
_connection.loadInBrowser("loadCustomLink", true, {link:linkName});
}
}
static function getMedal(medalName) {
return(_medals[medalName]);
}
static function unlockMedal(medalName) {
if (!assertConnected()) {
return(undefined);
}
var _local1 = _medals[medalName];
if (!_local1) {
com.newgrounds.Logger.logError(("No medal named \"" + medalName) + "\" w.");
return(undefined);
}
_local1.unlock();
}
static function onMedalUnlocked(event) {
if (event.__get__success()) {
var _local2 = com.newgrounds.Medal(event.__get__data());
var _local1;
if (hasUserSession) {
_local1 = loadLocal("medals_unlocked_" + username);
if (!_local1) {
_local1 = new Object();
}
_local1[_local2.__get__id()] = true;
saveLocal("medals_unlocked_" + username, _local1);
} else {
_local1 = loadLocal("medals_unlocked");
if (!_local1) {
_local1 = new Object();
}
_local1[com.newgrounds.Medal(event.__get__data()).__get__id()] = true;
saveLocal("medals_unlocked", _local1);
com.newgrounds.Logger.logMessage(("User instanceof not logged in. Medal \"" + _local2.__get__name()) + "\" unlocked locally.");
}
}
}
static function onMedalUnlockConfirmed(event) {
if (hasUserSession) {
var _local1 = loadLocal("medals_unlocked_" + username);
if (!_local1) {
_local1 = new Object();
} else {
delete _local1[com.newgrounds.Medal(event.__get__data()).__get__id()];
}
saveLocal("medals_unlocked_" + username, _local1);
}
}
static function clearLocalMedals() {
for (var _local2 in _medals) {
var _local1 = _medals[_local2];
_local1.setUnlocked(false);
}
if (!hasUserSession) {
saveLocal("medals_unlocked", new Object());
}
}
static function getScoreBoard(scoreBoardName) {
if (!assertConnected()) {
return(null);
}
return(_scoreBoards[scoreBoardName]);
}
static function loadScores(scoreBoardName, period, firstResult, numResults, tag) {
if (period == undefined) {
period = "All-Time";
}
if (firstResult == undefined) {
firstResult = 1;
}
if (numResults == undefined) {
numResults = 10;
}
if (tag == undefined) {
tag = null;
}
if (!assertConnected()) {
return(null);
}
var _local1 = _scoreBoards[scoreBoardName];
if (!_local1) {
com.newgrounds.Logger.logError(("No scoreboard named \"" + scoreBoardName) + "\" w.");
dispatchEvent(com.newgrounds.APIEvent.SCORES_LOADED, null, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT);
return(null);
}
_local1.__set__period(period);
_local1.__set__firstResult(firstResult);
_local1.__set__numResults(numResults);
_local1.__set__tag(tag);
_local1.loadScores();
return(_local1);
}
static function postScore(scoreBoardName, numericScore, tag) {
if (tag == undefined) {
tag = null;
}
if (!assertConnected()) {
return(undefined);
}
if (!hasUserSession) {
com.newgrounds.Logger.logError("The user must be logged-in to post a score.");
dispatchEvent(com.newgrounds.APIEvent.SCORE_POSTED, null, com.newgrounds.APIEvent.ERROR_NOT_LOGGED_IN);
return(undefined);
}
var _local1 = _scoreBoards[scoreBoardName];
if (!_local1) {
com.newgrounds.Logger.logError(("No scoreboard named \"" + scoreBoardName) + "\" w.");
dispatchEvent(com.newgrounds.APIEvent.SCORE_POSTED, null, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT);
return(undefined);
}
_local1.postScore(numericScore, tag);
}
static function getSaveGroup(groupName) {
if (!assertConnected()) {
return(null);
}
return(_saveGroups[groupName]);
}
static function getSaveGroupById(id) {
for (var _local3 in _saveGroups) {
var _local1 = _saveGroups[_local3];
if (_local1.__get__id() == id) {
return(_local1);
}
}
return(null);
}
static function createSaveFile(groupName) {
if (!assertConnected()) {
return(null);
}
var _local1 = getSaveGroup(groupName);
if (!_local1) {
com.newgrounds.Logger.logError(("The save group \"" + groupName) + "\" w found.");
return(null);
}
return(new com.newgrounds.SaveFile(_local1));
}
static function loadSaveFile(saveId, loadContents) {
if (loadContents == undefined) {
loadContents = true;
}
_connection.sendSimpleCommand("loadSaveFile", onFileLoaded, {save_id:saveId, get_contents:loadContents});
}
static function onFileLoaded(event) {
var _local2;
if (event.__get__success()) {
_local2 = com.newgrounds.SaveFile.fromObject(getSaveGroupById(event.__get__data().group_id), event.__get__data().file);
if (event.__get__data().get_contents) {
_local2.load();
} else {
dispatchEvent(com.newgrounds.APIEvent.FILE_LOADED, _local2);
}
} else {
com.newgrounds.Logger.logError("Unable to load file:", event.__get__error());
dispatchEvent(com.newgrounds.APIEvent.FILE_LOADED, null, event.__get__error());
}
}
static function createSaveQuery(groupName) {
if (!assertConnected()) {
return(null);
}
var _local1 = getSaveGroup(groupName);
if (!_local1) {
com.newgrounds.Logger.logError(("The save group \"" + groupName) + "\" w found.");
return(null);
}
var _local2 = new com.newgrounds.SaveQuery(_local1);
return(_local2);
}
static function createSaveQueryByDate(groupName, sortDescending) {
if (sortDescending == undefined) {
sortDescending = true;
}
var _local1 = createSaveQuery(groupName);
if (!_local1) {
return(null);
}
_local1.sortOn(com.newgrounds.SaveQuery.CREATED_ON, sortDescending);
return(_local1);
}
static function createSaveQueryByName(groupName, filename, exactMatch, sortDescending) {
if (exactMatch == undefined) {
exactMatch = false;
}
if (sortDescending == undefined) {
sortDescending = false;
}
var _local1 = createSaveQuery(groupName);
_local1.addCondition(com.newgrounds.SaveQuery.FILE_NAME, (exactMatch ? (com.newgrounds.SaveQuery.OPERATOR_EQUAL) : (com.newgrounds.SaveQuery.OPERATOR_CONTAINS)), filename);
return(_local1);
}
static function createSaveQueryByRating(groupName, ratingName, sortDescending) {
if (sortDescending == undefined) {
sortDescending = true;
}
var _local1 = createSaveQuery(groupName);
_local1.sortOn(ratingName, sortDescending);
return(_local1);
}
static function onRequestedFileLoaded(event) {
removeEventListener(com.newgrounds.APIEvent.FILE_LOADED, onRequestedFileLoaded);
if (event.__get__success()) {
var _local1 = event.__get__data();
if (_local1) {
dispatchEvent(com.newgrounds.APIEvent.FILE_REQUESTED, _local1);
}
}
}
static function addEventListener(eventType, listener, priority, useWeakReference) {
if (priority == undefined) {
priority = 0;
}
if (useWeakReference == undefined) {
useWeakReference = true;
}
_dispatcher.addEventListener(eventType, listener, false, priority, useWeakReference);
}
static function removeEventListener(eventType, listener) {
_dispatcher.removeEventListener(eventType, listener);
}
static function dispatchEvent(event, data, error) {
if (data == undefined) {
data = null;
}
if (error == undefined) {
error = null;
}
_dispatcher.dispatchEvent(new com.newgrounds.APIEvent(event, data, error));
}
static function saveLocal(saveId, saveData) {
try {
var _local3;
var _local2 = (("ng_ap_secure_" + _connection.trackerId) + "_") + com.newgrounds.crypto.RC4.encrypt(saveId, _connection.encryptionKey);
if (!_sharedObjects[saveId]) {
_sharedObjects[saveId] = SharedObject.getLocal(_local2);
}
_local3 = _sharedObjects[saveId];
_local3.data.data = encodeData(saveData);
} catch(_local) {
if (Error( /* Error999 */
) != null) {
var error = Error( /* Error999 */
);
com.newgrounds.Logger.logError("Unable to save local data.", error);
return(false);
}
Error( /* Error999 */
);
throw /* Error999 */
;
}
return(true);
}
static function loadLocal(saveId) {
try {
var _local1;
var _local3 = (("ng_ap_secure_" + _connection.trackerId) + "_") + com.newgrounds.crypto.RC4.encrypt(saveId, _connection.encryptionKey);
if (!_sharedObjects[saveId]) {
_sharedObjects[saveId] = SharedObject.getLocal(_local3);
}
_local1 = _sharedObjects[saveId];
if ((_local1 && (_local1.data)) && (_local1.data.data)) {
return(decodeData(_local1.data.data));
}
return(null);
} catch(error:Error) {
com.newgrounds.Logger.logError("Unable to load local data.", error);
}
return(null);
}
static function logCustomEvent(eventName) {
if (assertConnected()) {
com.newgrounds.Logger.logMessage("Logged event: " + eventName);
_connection.sendSimpleCommand("logCustomEvent", null, {event:eventName});
}
}
static function encodeData(data) {
if (!_connection.assertInitialized()) {
return(null);
}
return(com.newgrounds.crypto.RC4.encrypt(com.newgrounds.encoders.json.JSON.encode(data), _connection.encryptionKey));
}
static function decodeData(data) {
if (!_connection.assertInitialized()) {
return(null);
}
try {
return(com.newgrounds.encoders.json.JSON.decode(com.newgrounds.crypto.RC4.decrypt(data, _connection.encryptionKey)));
} catch(error:Error) {
}
return(null);
}
static function stopPendingCommands() {
com.newgrounds.APICommand.stopPendingCommands();
com.newgrounds.Logger.logMessage("Pending commands stopped.");
}
static function trimWhitespace(string) {
if (!string) {
return(null);
}
var _local3 = 0;
while (string.charAt(_local3) == " ") {
_local3++;
}
var _local1 = string.length - 1;
while ((string.charAt(_local1) == " ") && (_local1 >= 0)) {
_local1--;
}
return(string.slice(_local3, _local1 + 1));
}
static var VERSION = "3.1.0 AS2";
static var RELEASE_MODE = "releaseMode";
static var DEBUG_MODE_LOGGED_IN = "debugModeLoggedIn";
static var DEBUG_MODE_LOGGED_OUT = "debugModeLoggedOut";
static var DEBUG_MODE_NEW_VERSION = "debugModeNewVersion";
static var DEBUG_MODE_HOST_BLOCKED = "debugModeHostBlocked";
static var TEST_AD_FEED_URL = "http://www.ngads.com/adtest.php";
static var _dispatcher = new com.newgrounds.APIEventDispatcher();
static var _connection = new com.newgrounds.APIConnection();
static var _debugMode = DEBUG_MODE_LOGGED_IN;
static var _adsApproved = false;
static var _medals = new Object();
static var _medalsArray = [];
static var _scoreBoards = new Object();
static var _scoreBoardsArray = [];
static var _saveGroups = new Object();
static var _saveGroupsArray = [];
static var _sharedObjects = new Object();
}
Symbol 68 MovieClip [__Packages.com.newgrounds.encoders.ImageScanner] Frame 0
class com.newgrounds.encoders.ImageScanner
{
var _baseN, _encodeAlpha, _maxPerChannel;
function ImageScanner (hashLength, charsPerPixel) {
if (hashLength) {
_hash = DEFAULT_HASH.substr(0, hashLength);
}
_baseN = new com.newgrounds.encoders.BaseN(_hash);
if (charsPerPixel) {
_charsPerPixel = charsPerPixel;
}
encodeAlpha = (false);
}
function get encodeAlpha() {
return(_encodeAlpha);
}
function set encodeAlpha(v) {
_encodeAlpha = v;
_maxPerChannel = int(Math.pow(_hash.length, _charsPerPixel / (_encodeAlpha ? 4 : 3)));
if (_maxPerChannel > 256) {
_maxPerChannel = 256;
}
//return(encodeAlpha);
}
function encode(source, callbackFunction, callbackObject) {
var _local4 = {callbackFunction:callbackFunction, callbackObject:callbackObject, source:source, x:0, y:0, output:null};
var _local2 = source.width.toString();
var _local3 = source.height.toString();
while (_local2.length < 3) {
_local2 = "0" + _local2;
}
while (_local3.length < 3) {
_local3 = "0" + _local3;
}
_local4.output = _local2 + _local3;
var _local6 = setInterval(this, "doEncode", WORK_INTERVAL, _local4);
_local4.interval = _local6;
}
function decode(source, callbackFunction, callbackObject) {
var _local2 = {callbackFunction:callbackFunction, callbackObject:callbackObject, source:source, i:6, x:0, y:0, output:null};
var _local5 = int(source.substr(0, 3));
var _local6 = int(source.substr(3, 3));
_local2.output = new flash.display.BitmapData(_local5, _local6, _encodeAlpha);
var _local4 = setInterval(this, "doDecode", WORK_INTERVAL, _local2);
_local2.interval = _local4;
}
function doEncode(state) {
var _local3 = getTimer();
while ((state.y < state.source.height) && ((getTimer() - _local3) < WORK_INTERVAL)) {
state.output = state.output + encodePixel(state.source.getPixel32(state.x, state.y));
state.x++;
if (state.x == state.source.width) {
state.x = 0;
state.y++;
}
}
if (state.y == state.source.height) {
clearInterval(state.interval);
state.callbackFunction.call(state.callbackObject, state.output);
}
}
function doDecode(state) {
var _local4 = getTimer();
while ((state.y < state.output.height) && ((getTimer() - _local4) < WORK_INTERVAL)) {
var _local3 = decodePixel(state.source.substr(state.i, _charsPerPixel));
state.output.setPixel32(state.x, state.y, _local3);
state.i = state.i + _charsPerPixel;
state.x++;
if (state.x == state.output.width) {
state.x = 0;
state.y++;
}
}
if (state.y == state.output.height) {
clearInterval(state.interval);
state.callbackFunction.call(state.callbackObject, state.output);
}
}
function encodePixel(pixel) {
var _local3 = (pixel >> 24) & 255;
var _local4 = (pixel >> 16) & 255;
var _local5 = (pixel >> 8) & 255;
var _local2 = pixel & 255;
_local3 = int((_local3 / 256) * _maxPerChannel);
_local4 = int((_local4 / 256) * _maxPerChannel);
_local5 = int((_local5 / 256) * _maxPerChannel);
_local2 = int((_local2 / 256) * _maxPerChannel);
var _local7 = (((_local4 * _maxPerChannel) * _maxPerChannel) + (_local5 * _maxPerChannel)) + _local2;
if (_encodeAlpha) {
_local7 = _local7 + (((_local3 * _maxPerChannel) * _maxPerChannel) * _maxPerChannel);
}
return(_baseN.encodeUint(_local7, _charsPerPixel));
}
function decodePixel(encodedPixel) {
var _local3 = 255;
var _local5;
var _local6;
var _local4;
var _local7 = 0;
var _local2 = _baseN.decodeUint(encodedPixel);
_local4 = _local2 % _maxPerChannel;
_local2 = _local2 / int(_maxPerChannel);
_local6 = _local2 % _maxPerChannel;
_local2 = _local2 / int(_maxPerChannel);
_local5 = _local2 % _maxPerChannel;
_local2 = _local2 / int(_maxPerChannel);
if (_encodeAlpha) {
_local3 = _local2 % _maxPerChannel;
_local2 = _local2 / int(_maxPerChannel);
}
return((((_local3 << 24) | (_local5 << 16)) | (_local6 << 8)) | _local4);
}
static var DEFAULT_HASH = "0123456789aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ<>?:;-_=+()!&";
var _hash = DEFAULT_HASH;
var _charsPerPixel = 2;
static var WORK_INTERVAL = 33.3333333333333;
}
Symbol 69 MovieClip [__Packages.com.newgrounds.SaveFile] Frame 0
class com.newgrounds.SaveFile extends com.newgrounds.APIEventDispatcher
{
static var _currentFile;
var _iconLoader, _group, _keys, _ratings, _name, _description, _id, _data, _dataLoader, _fileSize, _readOnly, _draft, _authorId, _authorName, _views, _createdDate, _modifiedDate, dispatchEvent, _encodedIcon, _encodedData, _encoderQueue, _encoding, _dataLoaded, _encodingParent, _encodingProperty, _dataURL;
function SaveFile (group) {
super();
_iconLoader = new com.newgrounds.BitmapLoader(DEFAULT_ICON, null);
_group = group;
_keys = {};
_ratings = {};
}
static function get currentFile() {
return(_currentFile);
}
static function fromObject(group, fileData) {
var _local4 = new com.newgrounds.SaveFile(group);
_local4._name = fileData.filename;
_local4._description = fileData.description;
_local4._id = fileData.save_id;
_local4._authorId = fileData.user_id;
_local4._authorName = fileData.user_name;
_local4._createdDate = fileData.created;
_local4._modifiedDate = fileData.last_update;
_local4._views = fileData.views;
if (fileData.thumb && (fileData.thumb != "")) {
_local4._iconLoader.__set__url(_imageFilePath + fileData.thumb);
}
_local4._dataURL = _saveFilePath + fileData.file;
_local4._fileSize = fileData.file_size;
_local4._approved = fileData.status != STATUS_UNAPPROVED;
_local4._readOnly = false;
_local4._public = (fileData.status != STATUS_PRIVATE) && (fileData.status != STATUS_UNAPPROVED);
for (var _local8 in fileData.keys) {
var _local6 = fileData.keys[_local8];
var _local2 = group.getKeyById(_local6.id);
if (_local2) {
_local4._keys[_local2.__get__name()] = _local2.validateValue(_local6.value);
}
}
for (var _local9 in fileData.ratings) {
var _local5 = fileData.ratings[_local9];
var _local3 = group.getRatingById(_local5.id);
if (_local3) {
_local4._ratings[_local3.__get__name()] = _local3.validateValue(_local5.score);
}
}
return(_local4);
}
function get group() {
return(_group);
}
function get name() {
return(_name);
}
function set name(val) {
_name = val;
//return(name);
}
function get description() {
return(_description);
}
function set description(val) {
_description = val;
//return(description);
}
function get id() {
return(_id);
}
function get data() {
return(_data);
}
function set data(val) {
_data = val;
//return(data);
}
function get bytesLoaded() {
if (_data) {
return(bytesTotal);
}
if (!_dataLoader) {
return(0);
}
return(_dataLoader.getBytesLoaded());
}
function get bytesTotal() {
return(_fileSize);
}
function get readOnly() {
return(_readOnly);
}
function get draft() {
return(_draft);
}
function set draft(v) {
_draft = v;
//return(draft);
}
function get authorId() {
return(_authorId);
}
function get authorName() {
return(_authorName);
}
function get keys() {
return(_keys);
}
function get ratings() {
return(_ratings);
}
function get views() {
return(_views);
}
function get createdDate() {
return(_createdDate);
}
function get updatedDate() {
return(_modifiedDate);
}
function toString() {
return("Save File: " + _name);
}
function get icon() {
return(_iconLoader.__get__bitmapData());
}
function set icon(v) {
createIcon(v);
//return(icon);
}
function get iconLoaded() {
return(_iconLoader.__get__loaded());
}
function createIcon(source) {
var _local9 = new flash.display.BitmapData(ICON_WIDTH, ICON_HEIGHT, false, 0);
var _local6;
var _local5;
var _local10 = 0;
var _local8 = 0;
if (source instanceof flash.display.BitmapData) {
_local6 = source.width;
_local5 = source.height;
} else if (source instanceof MovieClip) {
_local6 = source._width;
_local5 = source._height;
var _local7 = MovieClip(source).getBounds(source);
_local10 = _local7.xMin;
_local8 = _local7.yMin;
}
var _local3 = new flash.geom.Matrix();
var _local4;
_local4 = Math.min(ICON_WIDTH / _local6, ICON_HEIGHT / _local5);
_local3.translate(-_local10, -_local8);
_local3.scale(_local4, _local4);
_local3.translate((ICON_WIDTH - (_local6 * _local4)) / 2, (ICON_HEIGHT - (_local5 * _local4)) / 2);
_local9.draw(source, _local3);
_iconLoader.__set__bitmapData(_local9);
}
function attachIcon(parent) {
if (_iconLoader) {
return(_iconLoader.attachBitmap(parent));
}
com.newgrounds.Logger.logError("No icon available for this sumbission.");
return(null);
}
function save() {
if (!_group.__get__connection().__get__hasUserSession()) {
com.newgrounds.Logger.logError("The user must be logged-in to save a file.");
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_SAVED, null, com.newgrounds.APIEvent.ERROR_NOT_LOGGED_IN));
return(undefined);
}
com.newgrounds.BitmapLoader._cacheSeed++;
_currentFile = this;
if (iconLoaded) {
ICON_IMAGE_SCANNER.encode(icon, onIconEncoded, this);
} else {
encodeData(true);
}
}
function onIconEncoded(encodedIcon) {
_encodedIcon = encodedIcon;
encodeData(true);
}
function doSave() {
var _local4 = new com.newgrounds.APICommand("saveFile");
_local4.__get__secureParameters().group = _group.id;
_local4.__get__secureParameters().user_name = _group.__get__connection().username;
_local4.__get__secureParameters().filename = _name;
_local4.__get__secureParameters().description = _description;
if (_draft) {
_local4.__get__secureParameters().draft = true;
}
if (_id && (!_readOnly)) {
_local4.__get__secureParameters().overwrite = 1;
_local4.__get__secureParameters().save_id = _id;
}
var _local8 = [];
for (var _local9 in _keys) {
var _local2 = _group.getKey(_local9);
if (_local2) {
_local8.push({id:_local2.__get__id(), value:_local2.validateValue(_keys[_local9])});
} else {
com.newgrounds.Logger.logError(((("No key named \"" + _local9) + "\" in save group \"") + _group.__get__name()) + "\".");
}
}
_local4.__get__secureParameters().keys = _local8;
var _local7 = [];
for (var _local10 in _ratings) {
var _local3 = _group.getRating(_local10);
if (_local3) {
_local7.push({id:_local3.__get__id(), value:_local3.validateValue(_ratings[_local10])});
} else {
com.newgrounds.Logger.logError(((("No rating named \"" + _local10) + "\" in save group \"") + _group.__get__name()) + "\".");
}
}
_local4.__get__secureParameters().ratings = _local7;
if (typeof(_encodedData) == "string") {
_local4.addFile("file", _encodedData, "file");
} else {
_local4.addFile("file", com.newgrounds.encoders.json.JSON.encode(_encodedData), "file");
}
if (iconLoaded) {
_local4.addFile("thumbnail", _encodedIcon, "thumbnail");
}
_local4.addEventListener(com.newgrounds.APIEvent.COMMAND_COMPLETE, {target:this, func:onSaveComplete});
_group.__get__connection().sendCommand(_local4);
}
function encodeData(encode) {
_encoderQueue = [];
_encoding = encode;
if (encode) {
_encodedData = _data;
preEncodeObject(this, "_encodedData");
} else {
preEncodeObject(this, "_data");
}
encodeObject();
}
function preEncodeObject(parent, property) {
var _local3 = parent[property];
var _local5;
try {
if (_encoding) {
_local5 = _local3 instanceof flash.display.BitmapData;
} else {
_local5 = _local3.type == "__bitmap";
}
} catch(error) {
}
var _local2 = _local3;
var _local8;
if (_local5) {
_encoderQueue.push({parent:parent, property:property});
} else if ((typeof(_local3) == "object") && (!_local8)) {
if (_encoding) {
if (_local3 instanceof Array) {
_local2 = [];
} else {
_local2 = {};
}
for (var _local4 in _local3) {
_local2[_local4] = _local3[_local4];
}
parent[property] = _local2;
}
for (var _local4 in _local2) {
preEncodeObject(_local2, _local4);
}
}
}
function encodeObject() {
if (!_encoderQueue.length) {
if (_encoding) {
doSave();
} else {
_dataLoaded = true;
checkLoadComplete();
}
return(undefined);
}
var _local6 = _encoderQueue.pop();
var _local4 = _local6.parent;
var _local3 = _local6.property;
var _local2 = _local4[_local3];
var _local5;
if (_encoding) {
_local5 = {type:"__bitmap", width:_local2.width, height:_local2.height, transparent:_local2.transparent};
_local4[_local3] = _local5;
_encodingParent = _local5;
_encodingProperty = "data";
DATA_IMAGE_SCANNER.__set__encodeAlpha(_local2.transparent);
DATA_IMAGE_SCANNER.encode(flash.display.BitmapData(_local2), encodeBitmapComplete, this);
} else {
_encodingParent = _local4;
_encodingProperty = _local3;
DATA_IMAGE_SCANNER.__set__encodeAlpha(_local2.transparent);
DATA_IMAGE_SCANNER.decode(String(_local2.data), encodeBitmapComplete, this);
}
}
function encodeBitmapComplete(data) {
_encodingParent[_encodingProperty] = data;
encodeObject();
}
function load() {
_currentFile = this;
_dataLoaded = false;
_data = null;
if (!iconLoaded) {
_iconLoader.addEventListener(com.newgrounds.APIEvent.ICON_LOADED, {target:this, func:onIconLoaded});
_iconLoader.load();
}
_dataLoader = new LoadVars();
var file = this;
_dataLoader.onData = function (data) {
file.onDataLoaded(data);
};
_dataLoader.load(_dataURL);
}
function onIconLoaded(event) {
if ((!event.__get__success()) && (_iconLoader.__get__url())) {
com.newgrounds.Logger.logWarning("Unable to load the icon for this save file.");
}
_iconLoader.removeEventListener(com.newgrounds.APIEvent.ICON_LOADED, onIconLoaded);
checkLoadComplete();
}
function checkLoadComplete() {
if (_dataLoaded && (iconLoaded)) {
com.newgrounds.Logger.logMessage("Data loaded.");
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_LOADED, this));
}
}
function onDataLoaded(data) {
try {
if (data) {
if (data.charAt(0) == "{") {
_data = com.newgrounds.encoders.json.JSON.decode(String(data));
} else {
_data = String(data);
}
encodeData(false);
}
} catch(error:Error) {
com.newgrounds.Logger.logError("Error while loading data:", error);
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_LOADED, this, com.newgrounds.APIEvent.ERROR_BAD_FILE));
}
}
function onDataError(error) {
com.newgrounds.Logger.logError("Unable to load data:", error);
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_LOADED, this, com.newgrounds.APIEvent.ERROR_BAD_FILE));
}
function onSaveComplete(event) {
if (event.__get__success()) {
com.newgrounds.Logger.logMessage(("File \"" + _name) + "\" saved!");
if (event.__get__data()) {
_id = event.__get__data().save_id;
_dataURL = unescape(event.__get__data().file_url);
}
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_SAVED, this));
} else {
com.newgrounds.Logger.logError(("Error saving file \"" + _name) + "\":", event.__get__error());
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_SAVED, this, event.__get__error()));
}
}
function sendVote(ratingName, vote) {
var _local2 = _group.getRating(ratingName);
if (!_local2) {
com.newgrounds.Logger.logError(("No save rating named \"" + ratingName) + "\" exists for this save group.");
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.VOTE_COMPLETE, {}, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT));
return(undefined);
}
vote = _local2.validateValue(vote);
if (isNaN(vote)) {
com.newgrounds.Logger.logError(((((((("Invalid vote (" + vote) + "). ") + ratingName) + " allows a range of ") + _local2.__get__minimum()) + "-") + _local2.__get__maximum()) + ".");
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.VOTE_COMPLETE, {}, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT));
return(undefined);
}
com.newgrounds.Logger.logMessage(((((("Voting " + vote) + " for ") + ratingName) + " on ") + _name) + "...");
_group.__get__connection().sendSimpleCommand("rateSaveFile", {target:this, func:onVoteComplete}, null, {group:_group.__get__id(), save_id:_id, rating_id:_local2.__get__id(), vote:vote});
}
function onVoteComplete(event) {
var _local2 = event.__get__error();
if (event.__get__data().already_voted) {
com.newgrounds.Logger.logError("Vote failed. You've already voted on this rating today.");
_local2 = com.newgrounds.APIEvent.ERROR_ALREADY_VOTED;
}
if (_local2 == com.newgrounds.APIEvent.ERROR_NONE) {
var _local3 = _group.getRatingById(event.__get__data().rating_id);
if (_local3) {
_ratings[_local3.__get__name()] = _local3.validateValue(event.__get__data().score);
}
com.newgrounds.Logger.logMessage("Vote complete!");
}
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.VOTE_COMPLETE, this, _local2));
}
function clone() {
var _local3 = new com.newgrounds.SaveFile(_group);
_local3._data = _data;
_local3._description = _description;
_local3._draft = _draft;
_local3._fileSize = _fileSize;
_local3._iconLoader.__set__bitmapData(_iconLoader.bitmapData);
var _local2;
for (_local2 in _keys) {
_local3._keys[_local2] = _keys[_local2];
}
for (_local2 in _ratings) {
_local3._ratings[_local2] = _ratings[_local2];
}
_local3._name = _name;
return(_local3);
}
static var ICON_WIDTH = 90;
static var ICON_HEIGHT = 90;
static var DEFAULT_ICON = flash.display.BitmapData.loadBitmap("DefaultSaveIcon");
static var STATUS_PRIVATE = 0;
static var STATUS_SHARED = 1;
static var STATUS_UNAPPROVED = 2;
static var STATUS_APPROVED = 3;
static var _imageFilePath = "";
static var _saveFilePath = "";
static var ICON_IMAGE_SCANNER = new com.newgrounds.encoders.ImageScanner();
static var DATA_IMAGE_SCANNER = new com.newgrounds.encoders.ImageScanner(64, 6);
}
Symbol 67 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 65 MovieClip [__Packages.com.newgrounds.SaveKey] Frame 0
class com.newgrounds.SaveKey
{
var _name, _id, _type;
function SaveKey (name, id, type) {
_name = name;
_id = id;
_type = type;
}
function get name() {
return(_name);
}
function get id() {
return(_id);
}
function get type() {
return(_type);
}
function validateValue(value) {
switch (_type) {
case TYPE_INTEGER :
value = Number(value);
if (!isNaN(value)) {
var _local3 = int(value);
if (_local3 != value) {
com.newgrounds.Logger.logWarning(((((("Float value " + value) + " given for integer key \"") + _name) + "\". Clamping to ") + _local3) + ".");
}
return(_local3);
}
break;
case TYPE_FLOAT :
value = Number(value);
if (!isNaN(value)) {
return(isNaN(Number(value)));
}
break;
case TYPE_BOOLEAN :
return(Boolean(value));
case TYPE_STRING :
return((value ? (value.toString()) : ""));
}
return(null);
}
function toString() {
return(_name);
}
static var TYPE_FLOAT = 1;
static var TYPE_INTEGER = 2;
static var TYPE_STRING = 3;
static var TYPE_BOOLEAN = 4;
}
Symbol 66 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 61 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 70 MovieClip [__Packages.com.newgrounds.SaveQuery] Frame 0
class com.newgrounds.SaveQuery extends com.newgrounds.APIEventDispatcher
{
var _group, _connection, _files, _lookupKeys, _lookupRatings, _fileConditions, _keyConditions, _ratingConditions, _sortFields, dispatchEvent;
function SaveQuery (group) {
super();
_group = group;
_connection = group.connection;
reset();
}
function get group() {
return(_group);
}
function get resultsPerPage() {
return(_resultsPerPage);
}
function set resultsPerPage(val) {
_resultsPerPage = Math.min(Math.max(val, 1), 100);
//return(resultsPerPage);
}
function get page() {
return(_page);
}
function set page(val) {
_page = Math.max(val, 1);
//return(page);
}
function prevPage() {
page = ((page-1));
}
function nextPage() {
page = ((page+1));
}
function get isRandomized() {
return(_isRandomized);
}
function set isRandomized(val) {
_isRandomized = val;
//return(isRandomized);
}
function get files() {
return(_files);
}
function reset() {
_page = 1;
_resultsPerPage = 10;
_isRandomized = false;
_lookupKeys = [];
_lookupRatings = [];
_fileConditions = [];
_keyConditions = [];
_ratingConditions = [];
_sortFields = [];
_files = [];
includeAllFields();
}
function clone() {
var _local2 = new com.newgrounds.SaveQuery(_group);
_local2._page = _page;
_local2._resultsPerPage = _resultsPerPage;
_local2._isRandomized = _isRandomized;
_local2._lookupKeys = _lookupKeys.concat();
_local2._lookupRatings = _lookupRatings.concat();
_local2._fileConditions = _fileConditions.concat();
_local2._keyConditions = _keyConditions.concat();
_local2._ratingConditions = _ratingConditions.concat();
return(_local2);
}
function includeAllFields() {
for (var _local5 in _group.__get__keys()) {
var _local2 = _group.__get__keys()[_local5];
_lookupKeys.push(_local2.__get__id());
}
for (var _local4 in _group.__get__ratings()) {
var _local3 = _group.__get__ratings()[_local4];
_lookupRatings.push(_local3.__get__id());
}
}
function addCondition(field, operator, value) {
var _local2;
_local2 = 0;
while (_local2 < FILE_FIELDS.length) {
if (FILE_FIELDS[_local2] == field) {
break;
}
_local2++;
}
if (_local2 == FILE_FIELDS.length) {
_local2 = -1;
}
if (_local2 >= 0) {
_fileConditions.push({field:_local2, operator:operator, value:value});
} else {
var _local3 = _group.getKey(field);
if (_local3) {
value = _local3.validateValue(value);
_keyConditions.push({key_id:_local3.__get__id(), operator:operator, value:value});
return(undefined);
}
var _local4 = field.split(".");
var _local6 = _group.getRating(_local4[0]);
if (_local6) {
value = _local6.validateValue(value);
_ratingConditions.push({rating_id:_local6.__get__id(), operator:operator, value:value, column:(_local4[1] ? (_local4[1]) : "score")});
return(undefined);
}
com.newgrounds.Logger.logError(((("The save group \"" + _group.__get__name()) + "\" does not have a field named \"") + field) + "\".");
}
}
function sortOn(field, sortDescending) {
if (sortDescending == undefined) {
sortDescending = false;
}
var _local2;
_local2 = 0;
while (_local2 < FILE_FIELDS.length) {
if (FILE_FIELDS[_local2] == field) {
break;
}
_local2++;
}
if (_local2 == FILE_FIELDS.length) {
_local2 = -1;
}
if (_local2 >= 0) {
_sortFields.push({table:TABLE_FILES, field:_local2, desc:sortDescending});
} else {
var _local5 = _group.getKey(field);
if (_local5) {
_sortFields.push({table:TABLE_KEYS, field:_local5.__get__id(), desc:sortDescending});
return(undefined);
}
var _local3 = field.split(".");
var _local6 = _group.getRating(_local3[0]);
if (_local6) {
_sortFields.push({table:TABLE_RATINGS, field:_local6.__get__id(), desc:sortDescending, extra:(_local3[1] ? (_local3[1]) : "score")});
return(undefined);
}
com.newgrounds.Logger.logError(((("The save group \"" + _group.__get__name()) + "\" does not have a field named \"") + field) + "\".");
}
}
function execute() {
var _local5 = {};
_local5.page = _page;
_local5.num_results = _resultsPerPage;
if (_isRandomized) {
_local5.randomize = 1;
}
if (_lookupKeys && (_lookupKeys.length)) {
_local5.lookup_keys = _lookupKeys;
}
if (_lookupRatings && (_lookupRatings.length)) {
_local5.lookup_ratings = _lookupRatings;
}
if (_fileConditions && (_fileConditions.length)) {
_local5.file_conditions = _fileConditions;
}
if (_keyConditions && (_keyConditions.length)) {
_local5.key_conditions = _keyConditions;
}
if (_ratingConditions && (_ratingConditions.length)) {
_local5.rating_conditions = _ratingConditions;
}
if (_sortFields && (_sortFields.length)) {
_local5.sort_conditions = _sortFields;
}
_connection.sendSimpleCommand("lookupSaveFiles", {target:this, func:onQueryComplete}, {publisher_id:_connection.publisherId, group_id:_group.__get__id(), query:_local5});
}
function onQueryComplete(event) {
if (event.__get__success()) {
var _local4 = event.__get__data();
_files = [];
if (_local4.files) {
var _local2 = 0;
while (_local2 < _local4.files.length) {
var _local3 = com.newgrounds.SaveFile.fromObject(_group, _local4.files[_local2]);
if (_local3) {
_files.push(_local3);
}
_local2++;
}
}
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.QUERY_COMPLETE, this));
} else {
com.newgrounds.Logger.logError("Query failed: " + event.__get__error());
dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.QUERY_COMPLETE, this, event.__get__error()));
}
}
static var FILE_ID = "fileId";
static var AUTHOR_ID = "authorId";
static var AUTHOR_NAME = "authorName";
static var FILE_NAME = "fileName";
static var CREATED_ON = "createdOn";
static var UPDATED_ON = "updatedOn";
static var FILE_VIEWS = "fileViews";
static var FILE_STATUS = "fileStatus";
static var FILE_FIELDS = [FILE_ID, AUTHOR_ID, AUTHOR_NAME, FILE_NAME, CREATED_ON, UPDATED_ON, FILE_VIEWS, FILE_STATUS];
static var OPERATOR_EQUAL = "=";
static var OPERATOR_LESS_THAN = "<";
static var OPERATOR_GREATER_THAN = ">";
static var OPERATOR_NOT_EQUAL = "!=";
static var OPERATOR_LESS_OR_EQUAL = "<=";
static var OPERATOR_GREATER_OR_EQUAL = ">=";
static var OPERATOR_CONTAINS = "*";
static var OPERATOR_NOT_CONTAINS = "!*";
static var OPERATOR_NOT_BEGINS_WITH = "!*=";
static var OPERATOR_NOT_ENDS_WITH = "!=*";
static var OPERATOR_BEGINS_WITH = "*=";
static var OPERATOR_ENDS_WITH = "=*";
static var TABLE_FILES = 1;
static var TABLE_KEYS = 2;
static var TABLE_RATINGS = 3;
var _page = 1;
var _resultsPerPage = 10;
var _isRandomized = false;
}
Symbol 62 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 64 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 53 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 72 MovieClip [__Packages.com.newgrounds.components.FlashAdBase] Frame 0
class com.newgrounds.components.FlashAdBase extends MovieClip
{
var _x, _y, stop, onUnload, _adListener, adContainer, newgroundsButton, _fullScreen, clear, _ad, showPlayButton, gotoAndStop, _adFeedLoader, _width, _height, beginFill, moveTo, lineTo, endFill;
function FlashAdBase () {
super();
try {
System.security.allowDomain("server.cpmstar.com");
System.security.allowInsecureDomain("server.cpmstar.com");
} catch(error) {
}
_x = int(_x);
_y = int(_y);
stop();
if (_newgroundsButton) {
_newgroundsButton.onRelease = onNGClick;
}
onUnload = removeAd;
var _local4 = this;
_adListener = {onLoadError:function (target, error, httpStatus) {
target._parent.onAdError(target, error, httpStatus);
}};
if (fullScreen) {
drawFullScreenRect();
}
if (com.newgrounds.API.__get__adFeedURL()) {
loadAdFeed();
} else {
com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.API_CONNECTED, {target:this, func:loadAdFeed});
}
}
function get _adContainer() {
return(adContainer);
}
function get _newgroundsButton() {
return(newgroundsButton);
}
function get fullScreen() {
return(_fullScreen);
}
function set fullScreen(v) {
_fullScreen = v;
if (v) {
drawFullScreenRect();
} else {
clear();
}
//return(fullScreen);
}
function get showBorder() {
return(_showBorder);
}
function set showBorder(value) {
_showBorder = value;
if (_showBorder) {
if (_ad) {
var _local2 = _ad.getProgress(_adContainer);
if (_local2.bytesLoaded >= _local2.bytesTotal) {
if (showPlayButton) {
gotoAndStop("loadedPlay");
} else {
gotoAndStop("loaded");
}
} else {
gotoAndStop("loading");
}
} else {
gotoAndStop("idle");
}
} else {
gotoAndStop("noBorder");
}
//return(showBorder);
}
function loadAdFeed(event) {
if (event == undefined) {
event = null;
}
_adFeedLoader = new LoadVars();
var target = this;
_adFeedLoader.onData = function (data) {
target.onAdFeedLoaded(data);
};
_adFeedLoader.load(com.newgrounds.API.__get__adFeedURL(), _adFeedLoader);
}
function onAdFeedLoaded(data) {
if (data && (data != "")) {
loadAd(data);
} else {
onAdError();
}
}
function loadAd(adURL) {
if (showPlayButton) {
gotoAndStop("loadedPlay");
}
if (adType != VIDEO_ADS) {
if (adURL.indexOf("?") >= 0) {
adURL = adURL + "&";
} else {
adURL = adURL + "?";
}
adURL = adURL + "blockoverlays=1";
}
_ad = new MovieClipLoader();
_ad.addListener(_adListener);
_adContainer._lockroot = true;
_ad.loadClip(adURL, _adContainer);
}
function removeAd() {
_adFeedLoader.onData = null;
_adFeedLoader = null;
_ad.removeListener(_adListener);
if (_adContainer) {
_ad.unloadClip(_adContainer);
}
_ad = null;
}
function onAdError(target, error, httpStatus) {
com.newgrounds.Logger.logError("Unable to load ad.");
removeAd();
}
function onNGClick() {
com.newgrounds.API.loadNewgrounds();
}
function drawFullScreenRect() {
_x = (Stage.width - _width) / 2;
_y = (Stage.height - _height) / 2;
beginFill(0);
moveTo(-Stage.width, -Stage.height);
lineTo(Stage.width, -Stage.height);
lineTo(Stage.width, Stage.height);
lineTo(-Stage.width, Stage.height);
lineTo(-Stage.width, -Stage.height);
endFill();
}
var _showBorder = true;
var adType = com.newgrounds.components.FlashAdBase.prototype.VIDEO_ADS;
var VIDEO_ADS = "Video";
var SIMPLE_ADS = "Simple";
}
Symbol 47 MovieClip [__Packages.com.newgrounds.shims.APIShim] Frame 0
class com.newgrounds.shims.APIShim extends MovieClip
{
function APIShim () {
super();
}
}
Symbol 57 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 58 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 59 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 63 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 162 MovieClip [beer] Frame 1
stop();
xspeed = -2 + random(5);
yspeed = -20 - random(10);
this._y = this._y - random(20);
this._x = this._x + (-5 + random(11));
this.onEnterFrame = function () {
if (this._alpha > 10) {
if (_parent._parent.player.hitTest((this._x + _parent._x) + _parent._parent._x, (_parent._y + _parent._parent._y) + this._y, true)) {
_parent._parent.player.hit();
}
}
this._x = this._x + xspeed;
this._y = this._y + yspeed;
yspeed = yspeed + 2;
this._alpha = this._alpha - 7;
if (this._alpha <= 0) {
this.removeMovieClip();
}
};
Symbol 185 MovieClip Frame 1
this.onEnterFrame = function () {
if (this.hitTest(_parent._parent.player)) {
_parent._parent.player.hit();
}
};
Symbol 186 MovieClip [bul] Frame 1
this.onEnterFrame = function () {
this._x = this._x - (speed / 1.5);
if (this._x < -200) {
this.removeMovieClip();
}
};
Symbol 189 MovieClip [carFast] Frame 1
this.onEnterFrame = function () {
if (this.hitTest(_parent.girl)) {
_parent.explode(this);
}
if (this.hitTest(_parent.player)) {
_parent.player.hit();
_parent.explode(this);
}
this._x = this._x - 12;
if (this._x < -300) {
this.removeMovieClip();
}
};
Symbol 189 MovieClip [carFast] Frame 8
this.gotoAndPlay(2);
Symbol 192 MovieClip [moto] Frame 1
this.onEnterFrame = function () {
if (this.hitTest(_parent.girl)) {
_parent.explode(this);
}
if (this.hitTest(_parent.player)) {
_parent.player.hit();
_parent.explode(this);
}
this._x = this._x + 6;
if (this._x > 600) {
this.removeMovieClip();
}
};
Symbol 192 MovieClip [moto] Frame 8
this.gotoAndPlay(2);
Symbol 195 MovieClip [carMod] Frame 1
this.onEnterFrame = function () {
if (this.hitTest(_parent.girl)) {
_parent.explode(this);
}
if (this.hitTest(_parent.player)) {
_parent.player.hit();
_parent.explode(this);
}
this._x = this._x + 2;
if (this._x > 600) {
this.removeMovieClip();
}
};
Symbol 195 MovieClip [carMod] Frame 8
this.gotoAndPlay(2);
Symbol 198 MovieClip [truck] Frame 1
this.onEnterFrame = function () {
if (this.hitTest(_parent.girl)) {
_parent.explode(this);
}
if (this.hitTest(_parent.player)) {
_parent.player.hit();
_parent.explode(this);
}
this._x = this._x - 3;
if (this._x < -300) {
this.removeMovieClip();
}
};
Symbol 198 MovieClip [truck] Frame 8
this.gotoAndPlay(2);
Symbol 201 MovieClip [explosion] Frame 27
this.removeMovieClip();
Symbol 217 MovieClip [partyText] Frame 1
x = random(2);
num = 0;
if (x == 0) {
num = 425 - random(200);
} else {
num = 250 + random(200);
}
this._x = num;
this.gotoAndStop(1 + random(23));
op = 80;
this.onEnterFrame = function () {
this._alpha = op;
op--;
if (op <= 0) {
this.removeMovieClip();
}
};
Symbol 222 MovieClip [partyTextKeys] Frame 1
stop();
this._x = 120;
var op = 100;
t = 30;
this.onEnterFrame = function () {
t--;
if (t <= 0) {
this._alpha = op;
op--;
if (op <= 0) {
this.removeMovieClip();
}
}
};
Symbol 257 MovieClip [vomito] Frame 1
stop();
xspeed = 3 + random(5);
yspeed = -5 - random(5);
this._y = this._y - random(20);
this._x = this._x - (-5 + random(11));
this.onEnterFrame = function () {
if (_parent._parent.player.hitTest((this._x + _parent._x) + _parent._parent._x, (_parent._y + _parent._parent._y) + this._y, true)) {
_parent._parent.player.hit();
}
this._x = this._x + xspeed;
this._y = this._y + yspeed;
yspeed = yspeed + 2;
this._alpha = this._alpha - 7;
if (this._alpha <= 0) {
this.removeMovieClip();
}
};
Symbol 258 MovieClip [vomitt] Frame 1
stop();
xspeed = 15 + random(7);
yspeed = -15 + random(20);
this._y = this._y - random(10);
this._x = this._x - (-5 + random(10));
this._alpha = 95;
this.onEnterFrame = function () {
if (this._alpha > 10) {
if (_parent._parent.player.hitTest((this._x + _parent._x) + _parent._parent._x, (_parent._y + _parent._parent._y) + this._y, true)) {
_parent._parent.player.hit();
}
}
this._x = this._x + xspeed;
this._y = this._y + yspeed;
yspeed = yspeed + 1;
this._alpha = this._alpha - 15;
if (this._alpha <= 0) {
this.removeMovieClip();
}
};
Symbol 259 MovieClip Frame 1
stop();
Symbol 265 Button
on (press) {
getURL ("http://www.newgrounds.com/", "_blank");
}
Symbol 268 MovieClip Frame 216
_root.nextFrame();
Symbol 275 MovieClip Frame 354
_parent.nextFrame();
Symbol 355 MovieClip Frame 1
this.onEnterFrame = function () {
if (_parent._parent._currentframe == 405) {
this.gotoAndPlay(15);
}
if (_parent._parent._currentframe == 535) {
this.gotoAndPlay(42);
}
if (_parent._parent._currentframe == 608) {
this.gotoAndPlay(93);
}
if (_parent._parent._currentframe == 850) {
this.gotoAndPlay(163);
}
};
Symbol 355 MovieClip Frame 14
gotoAndPlay (1);
Symbol 355 MovieClip Frame 41
gotoAndPlay (23);
Symbol 355 MovieClip Frame 92
gotoAndPlay (77);
Symbol 355 MovieClip Frame 162
gotoAndPlay (139);
Symbol 355 MovieClip Frame 171
gotoAndPlay (163);
Symbol 472 MovieClip Frame 1
fadeI = true;
up = true;
_root.danceM.setVolume(0);
_root.danceM.start(0, 999);
var d = _root.danceM;
this.onEnterFrame = function () {
if (this._currentframe == 320) {
fadeI = false;
}
if (fadeI == true) {
if (up == true) {
up = false;
if (d.getVolume() < 100) {
d.setVolume(d.getVolume() + 1);
}
} else {
up = true;
}
} else if (d.getVolume() > 14) {
d.setVolume(d.getVolume() - 2);
}
};
Symbol 472 MovieClip Frame 405
bar.gotoAndPlay(15);
Symbol 472 MovieClip Frame 545
bar.gotoAndPlay(42);
Symbol 472 MovieClip Frame 1107
_parent.nextFrame();
Symbol 477 MovieClip Frame 1
this.onEnterFrame = function () {
if (_parent.mov == true) {
stop();
} else {
play();
}
};
Symbol 504 MovieClip Frame 1
this.swapDepths(9001);
Symbol 513 MovieClip Frame 1
go = false;
mov = true;
spaceD = true;
timer = 60;
gameTime = 220;
if ((_root.deadCred == true) || (_root.herpGet == true)) {
_root.deadCred = false;
_root.herpGet = false;
_root.danceM.start(0, 999);
}
fadeI = 4;
up = true;
_root.tenM.setVolume(0);
_root.tenM.start(0, 999);
var dr = _root.runM;
var d = _root.tenM;
var da = _root.danceM;
da.setVolume(10);
this.onEnterFrame = function () {
if (this._currentframe == 120) {
fadeI = 0;
}
if (this._currentframe == 216) {
fadeI = 1;
}
if (this._currentframe == 490) {
dr.setVolume(0);
dr.start(0, 999);
fadeI = 2;
}
if (fadeI == 0) {
if (up == true) {
up = false;
if (d.getVolume() < 7) {
d.setVolume(d.getVolume() + 1);
}
} else {
up = true;
}
} else if (fadeI == 1) {
if (da.getVolume() > 0) {
da.setVolume(da.getVolume() - 1);
} else {
da.stop();
}
if (d.getVolume() < 80) {
d.setVolume(d.getVolume() + 1);
}
} else if (fadeI == 2) {
if (d.getVolume() > 0) {
d.setVolume(0);
} else {
d.stop();
}
if (dr.getVolume() < 80) {
dr.setVolume(80);
}
}
if (Key.isDown(32) == false) {
spaceD = false;
}
if (mov == true) {
if (((go == true) && (Key.isDown(32))) && (spaceD == false)) {
spaceD = true;
this.play();
}
} else {
if (girl._xscale > 150) {
_root.herpGet = true;
com.newgrounds.API.unlockMedal("Give Me a Wet One");
_root.runM.stop();
_root.level = 5;
_root.gotoAndStop(12);
}
gameTime--;
if (gameTime <= 0) {
_root.nextFrame();
}
timer--;
if (timer <= 0) {
girl._xscale = girl._xscale + 27;
girl._yscale = girl._yscale + 27;
girl._alpha = girl._alpha + 27;
timer = 50 + random(10);
}
if (Key.isDown(32) && (spaceD == false)) {
spaceD = true;
var _local3 = 1 + random(5);
_root["P" + _local3].setVolume(60);
_root["P" + _local3].start(0, 0);
girl._xscale = girl._xscale - 4;
girl._yscale = girl._yscale - 4;
girl._alpha = girl._alpha - 4;
}
}
};
Symbol 513 MovieClip Frame 119
stop();
go = true;
Symbol 513 MovieClip Frame 215
stop();
go = true;
Symbol 513 MovieClip Frame 317
stop();
go = true;
Symbol 513 MovieClip Frame 536
stop();
mov = false;
Symbol 514 MovieClip Frame 1
this.swapDepths(0);
Symbol 521 MovieClip Frame 1
stop();
this.swapDepths(999);
this.f.gotoAndStop(1);
timer = 1;
go = true;
n = 0;
fl = _root.flowS;
fl.setVolume(0);
fl.start(0, 999);
this.onEnterFrame = function () {
timer--;
if (timer <= 0) {
if (go == true) {
this.f.gotoAndStop(1);
go = false;
fl.setVolume(0);
timer = 60;
} else {
go = true;
timer = 110;
}
}
if (go == true) {
var _local4 = _parent.player._x - this._x;
if (Math.abs(_local4) < 300) {
fl.setVolume(Math.round(100 - (100 * (Math.abs(_local4) / 300))));
}
this.f.play();
var _local3 = 0;
while (_local3 < 4) {
n++;
if (n > 300) {
n = 0;
}
this.attachMovie("beer", "beer" + n, 1 + n);
_local3++;
}
}
};
Symbol 522 MovieClip Frame 1
stop();
this.swapDepths(1001);
this.f.gotoAndStop(1);
timer = 10;
count = 0;
go = true;
n = 0;
fl = _root.flowS1;
fl.setVolume(0);
fl.start(0, 999);
this.onEnterFrame = function () {
timer--;
if (timer <= 0) {
if (go == true) {
this.f.gotoAndStop(1);
go = false;
fl.setVolume(0);
count++;
if (count < 5) {
timer = 10;
} else {
count = 0;
timer = 70;
}
} else {
go = true;
timer = 10;
}
}
if (go == true) {
this.f.play();
var _local4 = _parent.player._x - this._x;
if (Math.abs(_local4) < 300) {
fl.setVolume(Math.round(100 - (100 * (Math.abs(_local4) / 300))));
}
var _local3 = 0;
while (_local3 < 4) {
n++;
if (n > 300) {
n = 0;
}
this.attachMovie("beer", "beer" + n, 1 + n);
_local3++;
}
}
};
Symbol 523 MovieClip Frame 1
stop();
this.swapDepths(1002);
this.f.gotoAndStop(1);
timer = 10;
count = 0;
go = true;
n = 0;
fl = _root.flowS2;
fl.setVolume(0);
fl.start(0, 999);
this.onEnterFrame = function () {
timer--;
if (timer <= 0) {
if (go == true) {
this.f.gotoAndStop(1);
go = false;
fl.setVolume(0);
count++;
if (count < 3) {
timer = 20;
} else {
count = 0;
timer = 150;
}
} else {
go = true;
if (count == 1) {
timer = 50;
} else {
timer = 10;
}
}
}
if (go == true) {
this.f.play();
var _local4 = _parent.player._x - this._x;
if (Math.abs(_local4) < 300) {
fl.setVolume(Math.round(100 - (100 * (Math.abs(_local4) / 300))));
}
var _local3 = 0;
while (_local3 < 4) {
n++;
if (n > 300) {
n = 0;
}
this.attachMovie("beer", "beer" + n, 1 + n);
_local3++;
}
}
};
Symbol 529 MovieClip Frame 1
this.swapDepths(400);
Symbol 529 MovieClip Frame 30
this.gotoAndPlay(2);
Symbol 531 MovieClip Frame 1
this.onEnterFrame = function () {
var _local3 = _parent.player;
if (((_local3._x < (this._x + (this._width / 2))) && (_local3._x > (this._x - (this._width / 2)))) && (_local3._y <= this._y)) {
_local3.floor = this._y;
} else {
_local3.floor = 135.7;
if ((_local3._x < (this._x + (this._width / 2))) && (_local3._x > (this._x - (this._width / 2)))) {
_local3.xspeed = -_local3.xspeed;
if (_local3._x > this._x) {
_local3._x = (this._x + (this._width / 2)) + 1;
} else {
_local3._x = (this._x - (this._width / 2)) - 1;
}
}
}
};
stop();
this.swapDepths(8000);
Symbol 535 MovieClip Frame 1
this.swapDepths(1004);
timer = 100;
go = true;
n = 0;
_root.pukeS1.setVolume(0);
_root.pukeS1.start(0, 999);
var pu = _root.pukeS1;
this.onEnterFrame = function () {
if (go == true) {
var _local4 = _parent.player._x - this._x;
if (Math.abs(_local4) < 300) {
pu.setVolume(Math.round(100 - (100 * (Math.abs(_local4) / 300))));
} else {
pu.setVolume(0);
}
var _local3 = 0;
while (_local3 < 4) {
n++;
if (n > 300) {
n = 0;
}
this.attachMovie("vomito", "vomito" + n, 1 + n);
_local3++;
}
}
};
Symbol 535 MovieClip Frame 9
gotoAndPlay (2);
Symbol 541 MovieClip Frame 1
this.swapDepths(1000);
timer = 100;
go = true;
n = 0;
this.onEnterFrame = function () {
timer--;
if (timer <= 0) {
if (go == true) {
_root.pukeS.setVolume(0);
go = false;
timer = 100;
} else {
_root.pukeS.start(0, 0);
go = true;
timer = 100;
}
}
if (go == true) {
var _local5 = _parent.player._x - this._x;
if (Math.abs(_local5) < 400) {
_root.pukeS.setVolume(Math.round(100 - (100 * (Math.abs(_local5) / 400))));
}
var _local4 = 0;
while (_local4 < 4) {
n++;
if (n > 300) {
n = 0;
}
this.attachMovie("vomitt", "vomitt" + n, 1 + n);
_local4++;
}
}
};
Symbol 541 MovieClip Frame 8
this.gotoAndPlay(2);
Symbol 542 MovieClip Frame 1
this.swapDepths(9000);
Symbol 594 MovieClip Frame 1
pl = true;
sp = true;
this.onEnterFrame = function () {
if (this._currentframe > 184) {
_parent.fall = false;
_parent.gotoAndStop(2);
}
if (this._currentframe == 10) {
pl = false;
}
if (pl == false) {
if (Key.isDown(32) == false) {
sp = false;
}
if (Key.isDown(32) && (sp == false)) {
var _local4 = 1 + random(5);
_root["P" + _local4].setVolume(60);
_root["P" + _local4].start(0, 0);
this.gotoAndStop(this._currentframe + 24);
sp = true;
}
if (this._currentframe > 10) {
this.gotoAndStop(this._currentframe - 1);
} else {
this._currentframe = 10;
}
}
};
Symbol 595 MovieClip Frame 1
function moveS() {
_parent.bar._x = _parent.bar._x + (-xspeed);
_parent.barB._x = _parent.barB._x + (-xspeed);
_parent.faucet1._x = _parent.faucet1._x + (-xspeed);
_parent.faucet2._x = _parent.faucet2._x + (-xspeed);
_parent.faucet3._x = _parent.faucet3._x + (-xspeed);
_parent.dude1._x = _parent.dude1._x + (-xspeed);
_parent.dude2._x = _parent.dude2._x + (-xspeed);
_parent.girl._x = _parent.girl._x + (-xspeed);
_parent.bartender._x = _parent.bartender._x + (-xspeed);
_parent.bath._x = _parent.bath._x + (-xspeed);
_parent.ent._x = _parent.ent._x + (-xspeed);
_parent.lights._x = _parent.lights._x + ((-xspeed) * 1.2);
_parent.people1._x = _parent.people1._x + ((-xspeed) / 3);
_parent.people2._x = _parent.people2._x + ((-xspeed) / 3);
}
function hit() {
xspeed = 10;
if (fall == false) {
_root.hitS.start();
this._xscale = scale;
fall = true;
this.gotoAndStop(5);
}
}
gotoAndStop (2);
this.swapDepths(500);
scale = 95;
this._xscale = scale;
this._yscale = scale;
wide = this._width;
this._x = 120;
xspeed = 0;
yspeed = 0;
acc = 3;
dec = 2;
jump = false;
fall = false;
xmax = 12;
floor = 135.7;
jumpS = new Sound(this);
jumpS.attachSound("sfxJump");
this.onEnterFrame = function () {
if (this._currentframe == 5) {
_parent.platformText.getup._visible = true;
} else {
_parent.platformText.getup._visible = false;
}
if (this._x > -300) {
if ((xspeed != 0) && (_parent.people1._x < 433)) {
if ((_parent.people1._x >= -384.4) || (xspeed < 0)) {
moveS();
}
}
if (_parent.people1._x >= 433) {
if ((xspeed < 0) || (this._x <= 200)) {
this._x = this._x + xspeed;
}
}
this._y = this._y + yspeed;
if (Key.isDown(38)) {
if (_parent.platformText._currentframe == 2) {
_parent.platformText.nextFrame();
}
keyU = true;
} else {
keyU = false;
}
if (Key.isDown(39)) {
keyR = true;
} else {
keyR = false;
}
if (Key.isDown(37)) {
if (_parent.platformText._currentframe == 1) {
_parent.platformText.nextFrame();
}
keyL = true;
} else {
keyL = false;
}
if ((xspeed != 0) && (fall == false)) {
if (xspeed < 0) {
this._xscale = scale;
} else {
this._xscale = -scale;
}
if ((jump == false) && (fall == false)) {
this.gotoAndStop(3);
}
}
if (((keyU == true) && (jump == false)) && (fall == false)) {
jump = true;
if (this._y <= (floor + 1.9)) {
jumpS.start(0, 0);
}
keyU = false;
yspeed = -27;
this._y = this._y - 2;
this.gotoAndStop(4);
}
if (((keyL == true) && (keyR == false)) && (fall == false)) {
xspeed = xspeed - acc;
if (xspeed < (-xmax)) {
xspeed = -xmax;
}
}
if (((keyR == true) && (keyL == false)) && (fall == false)) {
xspeed = xspeed + acc;
if (xspeed > xmax) {
xspeed = xmax;
}
}
if (fall == true) {
if (xspeed > 0) {
if ((xspeed - dec) > 0) {
xspeed = xspeed - dec;
} else {
xspeed = 0;
}
}
}
if (((keyR == false) && (keyL == false)) && (fall == false)) {
if (xspeed > 0) {
if ((xspeed - dec) > 0) {
xspeed = xspeed - dec;
} else {
xspeed = 0;
}
}
if (xspeed < 0) {
if ((xspeed + dec) < 0) {
xspeed = xspeed + dec;
} else {
xspeed = 0;
}
}
}
if (this._y < floor) {
jump = true;
if (fall == false) {
this.gotoAndStop(4);
}
} else {
jumpS.stop();
this._y = floor;
jump = false;
}
if (jump == true) {
yspeed = yspeed + 3;
}
if (((xspeed == 0) && (jump == false)) && (fall == false)) {
this.gotoAndStop(2);
}
} else {
_parent.win = true;
if (_parent.timeE <= 18) {
com.newgrounds.API.unlockMedal("Bar Hoppin'");
}
_parent.fade.play();
}
};
Symbol 607 MovieClip Frame 1
this.swapDepths(8500);
this.onEnterFrame = function () {
if ((this._x - 50) < _parent.player._x) {
_parent.fade.play();
_root.herpGet = true;
}
this._x = this._x - 2.5;
};
Symbol 607 MovieClip Frame 9
this.gotoAndPlay(2);
Symbol 609 MovieClip Frame 1
this.swapDepths(9002);
stop();
timer = 15;
this.onEnterFrame = function () {
if (_parent.girl._x > 290) {
timer--;
if (timer <= 0) {
if (this._visible == false) {
_root.warnS.start(0, 0);
this._visible = true;
} else {
this._visible = false;
}
timer = Math.abs(this._x - _parent.girl._x) / 60;
}
} else {
this._visible = false;
}
};
Symbol 610 MovieClip Frame 1
this.swapDepths(8600);
Symbol 614 MovieClip Frame 1
this.swapDepths(15000);
Symbol 614 MovieClip Frame 12
stop();
Symbol 614 MovieClip Frame 28
stop();
if (_parent.win == true) {
if ((_root._currentframe == 6) && (_parent.timeE < 40)) {
_root.unlockMedal("Bar Hoppin'");
}
_root.pcM.stop();
_root.flowS.stop();
_root.flowS1.stop();
_root.flowS2.stop();
_root.flowS3.stop();
_root.pukeS.stop();
_root.pukeS1.stop();
_root.carsS.stop();
_root.clawS.stop();
_root.screechS.stop();
_root.idleS.stop();
_root.nextFrame();
} else {
_root.danceM.stop();
_root.flowS.stop();
_root.flowS1.stop();
_root.flowS2.stop();
_root.flowS3.stop();
_root.pukeS.stop();
_root.pukeS1.stop();
_root.keyS.stop();
_root.jumpS.stop();
_root.hitS.stop();
_root.warnS.stop();
_root.carsS.stop();
_root.screechS.stop();
_root.clawS.stop();
_root.extS.stop();
_root.idleS.stop();
_root.runM.stop();
_root.level = _root._currentframe;
_root.gotoAndStop(12);
}
Symbol 620 MovieClip Frame 1
this.swapDepths(9001);
Symbol 630 MovieClip Frame 1
this._visible = false;
Symbol 631 MovieClip Frame 1
stop();
this.swapDepths(9006);
Symbol 631 MovieClip Frame 3
stop();
Symbol 632 MovieClip Frame 1
win = false;
_root.level = 6;
timer = 0;
timeE = 0;
if (_root.herpGet == true) {
_root.herpGet = false;
_root.danceM.stop();
_root.runM.start(0, 999);
_root.runM.setVolume(80);
}
this.onEnterFrame = function () {
timer++;
if (timer == 30) {
timer = 0;
timeE++;
}
};
Symbol 636 MovieClip Frame 1
this.swapDepths(5550);
car = false;
timer = 20;
l = 1;
this.onEnterFrame = function () {
timer--;
if (timer <= 0) {
if (_parent.cc.go == false) {
if (_parent.locked == false) {
timer = 100;
l++;
this.attachMovie("partyText", "partText" + l, 1 + l);
} else {
timer = 100;
l++;
this.attachMovie("partyTextTwo", "partTextTwo" + l, 1 + l);
}
}
if ((_parent.cc.go == true) && (car == false)) {
this.gotoAndPlay(12);
car = true;
}
}
};
Symbol 636 MovieClip Frame 11
this.gotoAndPlay(2);
Symbol 636 MovieClip Frame 22
this.gotoAndPlay(12);
Symbol 638 MovieClip Frame 1
this.swapDepths(5600);
Symbol 640 MovieClip Frame 1
stop();
Symbol 640 MovieClip Frame 6
gotoAndPlay (2);
Symbol 641 MovieClip Frame 1
go = false;
s = true;
acc = 0.1;
this.onEnterFrame = function () {
if (_parent.player._visible == false) {
this.car.play();
go = true;
}
if (go == true) {
if (this._x > 549) {
_parent.win = true;
if (_parent.timeE <= 20) {
com.newgrounds.API.unlockMedal("Retro Pro");
}
_parent.fade.play();
}
if (Key.isDown(32) == false) {
s = false;
}
if (Key.isDown(32) && (s == false)) {
s = true;
var _local4 = 1 + random(5);
_root["P" + _local4].setVolume(60);
_root["P" + _local4].start(0, 0);
this._x = this._x + acc;
acc = acc + 0.5;
}
}
};
Symbol 643 MovieClip Frame 1
function hit() {
this._visible = false;
if (checkers == false) {
_root.deadCred = true;
}
_parent.fade.play();
}
u = false;
d = false;
r = false;
l = false;
checkers = false;
this.onEnterFrame = function () {
if (this._visible == true) {
if (Key.isDown(38) == false) {
u = false;
}
if (Key.isDown(40) == false) {
d = false;
}
if (Key.isDown(39) == false) {
r = false;
}
if (Key.isDown(37) == false) {
l = false;
}
if ((((Key.isDown(39) && (Key.isDown(37) == false)) && (Key.isDown(38) == false)) && (Key.isDown(40) == false)) && (r == false)) {
r = true;
if ((this._x + 50) < 525) {
_root.pixS.start(0, 0);
this._x = this._x + 50;
}
this._rotation = 90;
}
if ((((Key.isDown(37) && (Key.isDown(39) == false)) && (Key.isDown(38) == false)) && (Key.isDown(40) == false)) && (l == false)) {
l = true;
if ((this._x - 50) > 25) {
_root.pixS.start(0, 0);
this._x = this._x - 50;
}
this._rotation = -90;
}
if ((((Key.isDown(38) && (Key.isDown(37) == false)) && (Key.isDown(39) == false)) && (Key.isDown(40) == false)) && (u == false)) {
u = true;
if ((this._y - 50) > 40) {
_root.pixS.start(0, 0);
this._y = this._y - 50;
}
this._rotation = 0;
}
if ((((Key.isDown(40) && (Key.isDown(39) == false)) && (Key.isDown(38) == false)) && (Key.isDown(37) == false)) && (d == false)) {
d = true;
if ((this._y + 50) < 355) {
_root.pixS.start(0, 0);
this._y = this._y + 50;
}
this._rotation = 180;
}
}
};
Symbol 644 MovieClip Frame 1
timer = 0;
n = 0;
this.onEnterFrame = function () {
timer--;
if (timer <= 0) {
var _local3 = 0;
while (_local3 < 2) {
n++;
if (n > 50) {
n = 0;
}
_parent.attachMovie("carMod", "carMod" + n, 3000 + n);
_parent["carMod" + n]._x = this._x - (_local3 * 110);
_parent["carMod" + n]._y = this._y;
_local3++;
}
timer = 180;
}
};
Symbol 645 MovieClip Frame 1
timer = 0;
n = 0;
this.onEnterFrame = function () {
timer--;
if (timer <= 0) {
var _local3 = 0;
while (_local3 < 1) {
n++;
if (n > 50) {
n = 0;
}
_parent.attachMovie("moto", "moto" + n, 3500 + n);
_parent["moto" + n]._x = this._x - (_local3 * 110);
_parent["moto" + n]._y = this._y;
_local3++;
}
timer = 50;
}
};
Symbol 646 MovieClip Frame 1
timer = 0;
n = 0;
this.onEnterFrame = function () {
timer--;
if (timer <= 0) {
var _local3 = 0;
while (_local3 < 2) {
n++;
if (n > 50) {
n = 0;
}
_parent.attachMovie("truck", "truck" + n, 4000 + n);
_parent["truck" + n]._x = this._x + (_local3 * 180);
_parent["truck" + n]._y = this._y;
_local3++;
}
timer = 150;
}
};
Symbol 647 MovieClip Frame 1
timer = 0;
n = 0;
this.onEnterFrame = function () {
timer--;
if (timer <= 0) {
var _local3 = 0;
while (_local3 < 1) {
n++;
if (n > 50) {
n = 0;
}
_parent.attachMovie("carFast", "carFast" + n, 4500 + n);
_parent["carFast" + n]._x = this._x;
_parent["carFast" + n]._y = this._y;
_local3++;
}
timer = 50;
}
};
Symbol 649 MovieClip Frame 1
this._visible = false;
this.swapDepths(4995);
this.onEnterFrame = function () {
if (_parent.yay == false) {
if (_parent.locked == true) {
_parent.red._visible = true;
this._visible = true;
}
if (this.hitTest(_parent.player) && (this._visible == true)) {
_root.keysS.start(0, 0);
this._visible = false;
_parent.yay = true;
}
}
};
Symbol 651 MovieClip Frame 1
m = false;
stop();
this.onEnterFrame = function () {
if (m == false) {
if (this.hitTest(_parent.player) && (_parent.locked == false)) {
_parent.crowd.attachMovie("partyTextKeys", "partyTextKeys", _parent.crowd.l + 1000);
_parent.locked = true;
_parent.crowd.timer = 150;
m = true;
}
}
if ((_parent.yay == true) && (this.hitTest(_parent.player))) {
_parent.tap._visible = true;
_parent.player._visible = false;
_parent.driver = true;
}
};
Symbol 653 MovieClip Frame 1
this.swapDepths(5500);
xspeed = 0;
yspeed = 0;
speed = 1.5;
timer = 80;
hit = false;
this._visible = false;
this.onEnterFrame = function () {
if (_parent.win == false) {
if ((_parent.locked == true) && (this._visible == false)) {
timer--;
if (timer <= 0) {
this._visible = true;
}
}
if ((hit == false) && (this._visible == true)) {
if (_parent.player._visible == true) {
if (this.hitTest(_parent.player)) {
hit = true;
_root.herpGet = true;
_parent.player.checkers = true;
_parent.player.hit();
}
}
if (((_parent.player._visible == false) && (Math.abs((this._x - _parent.cc._x) - 80) < 5)) && (Math.abs((_parent.cc._y + 60) - this._y) < 5)) {
hit = true;
_root.herpGet = true;
_parent.player.checkers = true;
_parent.player.hit();
}
this._y = this._y + yspeed;
this._x = this._x + xspeed;
var _local10 = this._x;
var _local9 = this._y;
if (_parent.player._visible == true) {
var _local8 = _parent.player._x;
var _local7 = _parent.player._y;
} else {
var _local8 = _parent.cc._x + 80;
var _local7 = _parent.cc._y + 60;
}
var _local5 = _local10 - _local8;
var _local6 = _local9 - _local7;
var _local4 = Math.atan(_local6 / _local5) * 57.2957795130823;
if (_local5 > 0) {
xspeed = (-Math.cos((_local4 / 180) * Math.PI)) * speed;
yspeed = (-Math.sin((_local4 / 180) * Math.PI)) * speed;
this._rotation = _local4 - 90;
} else {
xspeed = Math.cos((_local4 / 180) * Math.PI) * speed;
yspeed = Math.sin((_local4 / 180) * Math.PI) * speed;
this._rotation = _local4 + 90;
}
}
}
};
Symbol 655 MovieClip Frame 1
this.swapDepths(9002);
Symbol 662 MovieClip Frame 1
this.swapDepths(9006);
Symbol 662 MovieClip Frame 19
_root.beepS.start(0, 0);
Symbol 662 MovieClip Frame 39
_root.beepS.start(0, 0);
Symbol 662 MovieClip Frame 59
_root.beepS.start(0, 0);
Symbol 662 MovieClip Frame 79
_root.beepS.start(0, 0);
Symbol 662 MovieClip Frame 100
stop();
Symbol 665 MovieClip Frame 1
this.swapDepths(9002);
Symbol 666 MovieClip Frame 1
function explode(t) {
_root.exS.start(0, 0);
ex++;
if (ex > 50) {
ex = 0;
}
this.attachMovie("explosion", "explosion" + ex, 5400 + ex);
this["explosion" + ex]._x = t._x;
this["explosion" + ex]._y = t._y;
t.removeMovieClip();
}
stop();
locked = false;
yay = false;
win = false;
ex = 0;
this.red._visible = false;
this.tap._visible = false;
_root.deadCred = false;
_root.herpGet = false;
_root.level = 7;
d = _root.danceM;
beep = _root.carbS;
beep.setVolume(60);
beepT = 50;
d.setVolume(0);
d.stop();
r = _root.runM;
_root.flowS.stop();
_root.pukeS.stop();
_root.pukeS1.stop();
_root.carsS.start(0, 999);
_root.carsS.setVolume(40);
fadea = 0;
timer = 0;
timeE = 0;
this.onEnterFrame = function () {
timer++;
if (timer == 30) {
timer = 0;
timeE++;
}
beepT--;
if (beepT < 0) {
beep.start(0, 0);
if (locked == false) {
beepT = 150 + Math.random(200);
} else {
beepT = 60 + Math.random(150);
}
}
if (fadea == 0) {
if (r.getVolume() > 0) {
r.setVolume(r.getVolume() - 10);
} else {
d.start(0, 999);
fadea++;
r.stop();
}
} else if (fadea == 1) {
if (locked == true) {
r.start(0, 999);
fadea++;
}
if (d.getVolume() < 40) {
d.setVolume(d.getVolume() + 1);
}
} else if (fadea == 2) {
if (d.getVolume() > 0) {
d.setVolume(d.getVolume() - 20);
} else {
d.stop();
}
if (r.getVolume() < 100) {
r.setVolume(100);
}
}
};
Symbol 678 MovieClip Frame 1
function hitted(en) {
if ((this._x < en._x) && (xspeed > 0)) {
this._x = (en._x - (this._width / 2)) - (en.width / 2);
this.xspeed = (-xspeed) * 0.5;
} else if ((this._x > en._x) && (xspeed < 0)) {
this._x = (en._x + (this._width / 2)) + (en.width / 2);
this.xspeed = (-xspeed) * 0.5;
}
}
function hit() {
if (hits == false) {
_root.exS.start(0, 0);
_root.deadCred = true;
hits = true;
_parent.attachMovie("explosion", "explosion", this.getDepth() + 1);
_parent.explosion._x = this._x;
_parent.explosion._y = this._y;
_parent.explosion._height = this._height - 24;
_parent.explosion._rotation = 90;
this._visible = false;
_parent.fade.play();
}
}
acc = 1.75;
dec = 0.45;
xspeed = 0;
yspeed = 0;
lean = 0.8;
steer = 1.3;
maxSpeed = 12;
mouseD = false;
spaceD = true;
turnTimer = 0;
time = 1;
rDown = true;
lDown = true;
stop();
this.swapDepths(5000);
win = false;
control = 1;
hits = false;
sc = _root.screechS;
sc.start(0, 999);
sc.setVolume(0);
_parent.tap._visible = false;
someListener = new Object();
someListener.onMouseDown = function () {
mouseD = true;
};
Mouse.addListener(someListener);
someListener.onMouseUp = function () {
mouseD = false;
};
Mouse.addListener(someListener);
this.onEnterFrame = function () {
if (hits == false) {
if (win == true) {
com.newgrounds.API.unlockMedal("No Red Sores");
_parent.tap._visible = false;
if (this._y > 1000) {
_root.clawS.stop();
_parent.win = true;
xspeed = 0;
yspeed = yspeed + 1;
this._y = this._y - yspeed;
} else {
_parent.fade.play();
if (_root.runM.getVolume() > 0) {
_root.runM.setVolume(_root.runM.getVolume() - 20);
} else {
_root.runM.stop();
}
}
} else {
if (Key.isDown(32)) {
spaceD = true;
} else {
spaceD = false;
}
turnTimer--;
if (turnTimer < 0) {
turnTimer = time;
if ((xspeed >= (-maxSpeed)) && (xspeed < -11)) {
this.gotoAndStop(2);
} else if ((xspeed >= -11) && (xspeed < -9)) {
this.gotoAndStop(2);
} else if ((xspeed >= -9) && (xspeed < -6)) {
this.gotoAndStop(2);
} else if ((xspeed >= -6) && (xspeed <= 6)) {
this.gotoAndStop(2);
} else if ((xspeed <= maxSpeed) && (xspeed >= 11)) {
this.gotoAndStop(2);
} else if ((xspeed <= 11) && (xspeed >= 9)) {
this.gotoAndStop(2);
} else if ((xspeed <= 9) && (xspeed >= 6)) {
this.gotoAndStop(2);
}
}
if (Math.abs(this._x) > 590) {
xspeed = (-xspeed) * 0.5;
if (this._x > 0) {
this._x = 590;
} else {
this._x = -590;
}
}
this._x = this._x + xspeed;
this._y = this._y + yspeed;
if (this._x < 50) {
this.xspeed = 5;
this._x = 50;
}
if (this._x > 415) {
this.xspeed = (-xspeed) / 2;
this._x = 415;
}
if (this._y < 1150) {
yspeed = (-yspeed) / 2;
this._y = 1150;
}
if (this._y > 1450) {
yspeed = (-yspeed) / 2;
this._y = 1450;
}
if (control == 0) {
if (Math.abs(acc) > 1) {
if (acc > 0) {
acc = 1;
} else {
acc = -1;
}
}
if ((mouseD == true) || (spaceD == true)) {
xspeed = xspeed - steer;
} else if ((mouseD == false) && (spaceD == false)) {
xspeed = xspeed + lean;
}
xspeed = xspeed + acc;
if (Math.abs(xspeed) >= maxSpeed) {
if (xspeed > 0) {
xspeed = maxSpeed;
} else {
xspeed = -maxSpeed;
}
}
} else if (control == 1) {
acc = 2;
dec = 0.7;
maxSpeed = 12;
if (Key.isDown(39)) {
xspeed = xspeed + acc;
} else if (Key.isDown(37)) {
xspeed = xspeed - acc;
} else if (Math.abs(xspeed) > 0) {
if (xspeed > 0) {
if ((xspeed - dec) > 0) {
xspeed = xspeed - dec;
} else {
xspeed = 0;
}
}
if (xspeed < 0) {
if ((xspeed + dec) < 0) {
xspeed = xspeed + dec;
} else {
xspeed = 0;
}
}
}
if (Key.isDown(38)) {
yspeed = yspeed - (acc / 2);
} else if (Key.isDown(40)) {
yspeed = yspeed + (acc / 2);
} else if (Math.abs(yspeed) > 0) {
if (yspeed > 0) {
if ((yspeed - dec) > 0) {
yspeed = yspeed - dec;
} else {
yspeed = 0;
}
}
if (yspeed < 0) {
if ((yspeed + dec) < 0) {
yspeed = yspeed + dec;
} else {
yspeed = 0;
}
}
}
if (Math.abs(yspeed) >= maxSpeed) {
if (yspeed > 0) {
yspeed = maxSpeed;
} else {
yspeed = -maxSpeed;
}
}
if (Math.abs(xspeed) >= maxSpeed) {
if (xspeed > 0) {
xspeed = maxSpeed;
} else {
xspeed = -maxSpeed;
}
}
} else if (control == 2) {
if (rDown == true) {
rDown = Key.isDown(39);
}
if (lDown == true) {
lDown = Key.isDown(37);
}
if (Key.isDown(39) && (rDown == false)) {
rDown = true;
this._x = this._x + 185;
}
if (Key.isDown(37) && (lDown == false)) {
lDown = true;
this._x = this._x - 185;
}
}
}
}
if ((xspeed > 0) && ((Key.isDown(37) == true) || (Key.isDown(39) == false))) {
sc.setVolume(80);
} else if ((xspeed < 0) && ((Key.isDown(37) == false) || (Key.isDown(39) == true))) {
sc.setVolume(80);
} else {
sc.setVolume(0);
}
};
Symbol 679 MovieClip Frame 1
this.swapDepths(6000);
Symbol 682 MovieClip Frame 1
this.onEnterFrame = function () {
if (_parent.win == false) {
this._width = _parent._parent._x - _parent._x;
}
};
Symbol 685 MovieClip Frame 1
stop();
count = 0;
sd = true;
trap = false;
caught = false;
this.onEnterFrame = function () {
if ((this._currentframe == 92) && (caught == true)) {
play();
}
if (this._currentframe < 186) {
if ((trap == true) && (this._currentframe < 10)) {
play();
}
if (count > 80) {
_root.herpGet = true;
_parent._parent._parent._parent.fade.play();
}
if (this._currentframe >= 98) {
if (Key.isDown(32) == false) {
sd = false;
}
if ((sd == false) && (Key.isDown(32))) {
var _local4 = 1 + random(5);
_root["P" + _local4].setVolume(60);
_root["P" + _local4].start(0, 0);
sd = true;
this.gotoAndStop(this._currentframe + 9);
}
}
if (this._currentframe == 98) {
count++;
} else if (this._currentframe > 98) {
this.gotoAndStop(this._currentframe - 1);
}
} else {
_parent.win = true;
stop();
}
};
Symbol 685 MovieClip Frame 92
stop();
Symbol 686 MovieClip Frame 1
caught = false;
this._visible = false;
attack = false;
win = false;
this.onEnterFrame = function () {
if (attack == true) {
if ((_parent._parent._parent.player._x <= ((this._x + _parent._x) + _parent._parent._x)) && (caught == false)) {
this._x = this._x - 1;
this.cs.trap = true;
} else if ((_parent._parent._parent.player._x > ((this._x + _parent._x) + _parent._parent._x)) && (caught == false)) {
caught = true;
_root.extS.stop();
_root.clawS.start(0, 999);
this.cs.caught = true;
_parent._parent._parent.tap._visible = true;
}
if ((caught == true) && (win == false)) {
this._x = _parent._parent._parent.player._x - 315;
}
}
};
Symbol 690 MovieClip Frame 1
stop();
Symbol 690 MovieClip Frame 22
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 34
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 45
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 51
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 55
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 57
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 59
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 61
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 63
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 65
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 67
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 69
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 71
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 73
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 75
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 77
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 79
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 81
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 83
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 85
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 87
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 89
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 91
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 93
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 95
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 97
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 99
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 101
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 103
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 105
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 107
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 109
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 111
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 113
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 115
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 117
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 119
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 121
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 123
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 125
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 127
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 129
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 131
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 133
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 135
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 137
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 139
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 141
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 143
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 145
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 147
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 149
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 151
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 153
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 155
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 157
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 159
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 161
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 163
_root.chargeS.start(0, 0);
Symbol 690 MovieClip Frame 165
_root.chargeS.start(0, 0);
Symbol 691 MovieClip Frame 1
this.onEnterFrame = function () {
this._x = 0;
this._y = 0;
};
Symbol 693 MovieClip Frame 1
this.girl._y = this.girl._y + 3;
Symbol 695 MovieClip Frame 1
this.onEnterFrame = function () {
if (this.hitTest(_parent._parent.player)) {
_parent._parent.player.hit();
}
};
Symbol 696 MovieClip Frame 1
this.swapDepths(9000);
stop();
phase = 0;
s = 0;
timer = 75;
speed = 14;
time = 40;
count = 0;
this.onEnterFrame = function () {
var _local10 = (this._x + this.gcar._x) + this.gcar.girl._x;
var _local9 = (this._y + this.gcar._y) + this.gcar.girl._y;
var _local8 = _parent.player._x;
var _local7 = _parent.player._y;
var _local4 = _local10 - _local8;
var _local6 = _local9 - _local7;
var _local5 = Math.atan(_local6 / _local4) * 57.2957795130823;
if (_local4 > 0) {
this.gcar.girl._rotation = _local5 - 90;
} else {
this.gcar.girl._rotation = 90 + _local5;
}
timer--;
if (timer <= 0) {
if (phase == 0) {
if (s == 0) {
this._x = 110.5;
this._y = 2400;
_root.truckS.start(0, 0);
s++;
} else if (s == 1) {
this._y = this._y - speed;
if (this._y > 1530) {
_parent.ex.blink = true;
} else {
_parent.ex.blink = false;
}
if (this._y < 900) {
this._x = 206.1;
this._y = 300;
_root.truckS.start(0, 0);
s++;
}
} else if (s == 2) {
this._y = this._y + speed;
if (this._y < 1000) {
_parent.ex.blink = true;
} else {
_parent.ex.blink = false;
}
if (this._y > 1900) {
_root.truckS.start(0, 0);
this._y = 2100;
this._x = 309.5;
s++;
}
} else if (s == 3) {
this._y = this._y - speed;
if (this._y > 1530) {
_parent.ex.blink = true;
} else {
_parent.ex.blink = false;
}
if (this._y < 900) {
this._x = 432.4;
this._y = 400;
_root.truckS.start(1, 0);
s = 0;
phase++;
}
}
} else if (phase == 1) {
if (s == 0) {
if (this._y < 1000) {
_parent.ex.blink = true;
} else {
_parent.ex.blink = false;
}
if (speed <= 22) {
if ((this._y + speed) < _parent.player._y) {
this._y = this._y + speed;
} else {
s++;
_root.idleS.start(0, 999);
_root.idleS.setVolume(40);
this.gcar.girl.lips.gotoAndPlay(2);
this._y = _parent.player._y;
}
} else {
this._y = this._y + speed;
if (this._y > 1900) {
this.gcar.claw._visible = true;
this._x = 309.5;
speed = 5;
s = 0;
phase = 2;
}
}
} else if (s == 1) {
this._y = _parent.player._y;
time--;
if (count < 6) {
if (time <= 0) {
this.gcar.girl._x = this.gcar.girl._x + 3;
this.gcar.girl.lips.gotoAndPlay(2);
count++;
k++;
_root.shootS.start(0, 0);
if (k >= 50) {
k = 0;
}
_parent.attachMovie("bul", "bul" + k, 9200 + k);
_parent["bul" + k]._x = this._x - 40;
_parent["bul" + k]._y = this._y - 10;
_parent["bul" + k].speed = speed / 1.8;
time = 65 - (speed / 2);
}
} else {
this.gcar.girl.lips.gotoAndStop(1);
_root.truckS.start(2, 0);
time = 40;
count = 0;
s++;
_root.idleS.stop();
}
} else if (s == 2) {
this._y = this._y + speed;
if (speed < 18) {
if (this._y > 2200) {
speed = speed + 4;
phase = 0;
s = 0;
}
} else {
this._y = this._y + speed;
if (this._y > 1900) {
_root.idleS.start(0, 999);
_root.idleS.setVolume(20);
_root.truckS.start(1, 0);
this.gcar.claw._visible = true;
this._x = 309.5;
speed = 5;
s = 0;
phase = 2;
}
}
}
} else if (phase == 2) {
if (s == 0) {
if (this._y > 1530) {
_parent.ex.blink = true;
} else {
_parent.ex.blink = false;
}
if ((this._y - speed) > _parent.player._y) {
this._y = this._y - speed;
} else {
this._y = _parent.player._y;
this.gcar.claw.attack = true;
_root.extS.start(0, 999);
s++;
}
} else if (s == 1) {
if (this.gcar.claw.win == false) {
this._y = _parent.player._y;
} else {
_root.extS.stop();
_parent.player.win = true;
}
}
}
}
};
Symbol 699 MovieClip Frame 1
this.swapDepths(10005);
blink = false;
timer = 0;
this._visible = false;
stop();
this.onEnterFrame = function () {
if (blink == true) {
timer--;
if (timer <= 0) {
if (this._visible == false) {
_root.warnS.start(0, 0);
this._visible = true;
} else {
this._visible = false;
}
timer = 3;
}
this._x = _parent.girl._x;
if (_parent.girl._y > 1300) {
this._rotation = 0;
this._y = 1480;
} else {
this._y = 1120;
this._rotation = 180;
}
} else {
this._visible = false;
}
};
Symbol 700 MovieClip Frame 1
win = false;
if ((_root.herpGet == true) || (_root.deadCred == true)) {
_root.danceM.stop();
_root.runM.start(0, 999);
_root.runM.setVolume(80);
}
_root.level = 8;
_root.deadCred = false;
_root.herpGet = false;
_root.carsS.stop();
Symbol 726 MovieClip Frame 36
stop();
Symbol 727 MovieClip Frame 36
stop();
Symbol 753 MovieClip Frame 1
_root.runM.stop();
_root.highM.start(0, 999);
_root.idleS.stop();
if (_root.tries == 0) {
com.newgrounds.API.unlockMedal("Pattern Recognition");
}
this.onEnterFrame = function () {
if (this._currentframe > 280) {
if (_root.highM.getVolume() > 0) {
_root.highM.setVolume(_root.highM.getVolume() - 1);
} else {
_root.highM.stop();
}
}
};
Symbol 753 MovieClip Frame 711
_parent.nextFrame();
Symbol 818 Button
on (press) {
_root.clickS.start(0, 0);
play();
}
on (rollOver) {
_root.rollS.start(0, 0);
}
Symbol 821 Button
on (press) {
_root.clickS.start(0, 0);
this.gotoAndPlay(1182);
}
on (rollOver) {
_root.rollS.start(0, 0);
}
Symbol 824 Button
on (press) {
_root.clickS.start(0, 0);
this.gotoAndPlay(1476);
}
on (rollOver) {
_root.rollS.start(0, 0);
}
Symbol 832 Button
on (press) {
_root.clickS.start(0, 0);
this.gotoAndPlay(1476);
}
on (rollOver) {
_root.rollS.start(0, 0);
}
Symbol 939 Button
on (press) {
_root.clickS.start(0, 0);
play();
}
on (rollOver) {
_root.rollS.start(0, 0);
}
Symbol 942 Button
on (press) {
_root.clickS.start(0, 0);
gotoAndPlay (2153);
}
on (rollOver) {
_root.rollS.start(0, 0);
}
Symbol 958 Button
on (press) {
_root.clickS.start(0, 0);
play();
}
on (rollOver) {
_root.rollS.start(0, 0);
}
Symbol 961 Button
on (press) {
_root.clickS.start(0, 0);
gotoAndPlay (2153);
}
on (rollOver) {
_root.rollS.start(0, 0);
}
Symbol 972 Button
on (press) {
_root.clickS.start(0, 0);
play();
}
on (rollOver) {
_root.rollS.start(0, 0);
}
Symbol 973 Button
on (press) {
_root.clickS.start(0, 0);
gotoAndPlay (2145);
}
on (rollOver) {
_root.rollS.start(0, 0);
}
Symbol 1010 Button
on (press) {
_root.clickS.start(0, 0);
play();
}
on (rollOver) {
_root.rollS.start(0, 0);
}
Symbol 1013 Button
on (press) {
_root.clickS.start(0, 0);
gotoAndPlay (2974);
}
on (rollOver) {
_root.rollS.start(0, 0);
}
Symbol 1058 Button
on (press) {
play();
}
on (rollOver) {
_root.rollS.start(0, 0);
}
Symbol 1061 Button
on (press) {
_root.clickS.start(0, 0);
gotoAndPlay (2974);
}
on (rollOver) {
_root.rollS.start(0, 0);
}
Symbol 1156 Button
on (press) {
_root.clickS.start(0, 0);
play();
}
on (rollOver) {
_root.rollS.start(0, 0);
}
Symbol 1159 Button
on (press) {
_root.clickS.start(0, 0);
gotoAndPlay (1494);
}
on (rollOver) {
_root.rollS.start(0, 0);
}
Symbol 1164 MovieClip Frame 1244
stop();
Symbol 1164 MovieClip Frame 1472
_parent.play();
Symbol 1164 MovieClip Frame 1493
stop();
Symbol 1164 MovieClip Frame 1826
_parent.gotoAndPlay(3539);
Symbol 1164 MovieClip Frame 1849
stop();
Symbol 1237 MovieClip Frame 1
_root.pcM.start(0, 999);
_root.pcM.setVolume(60);
win = true;
Symbol 1237 MovieClip Frame 527
stop();
Symbol 1237 MovieClip Frame 587
stop();
Symbol 1237 MovieClip Frame 658
stop();
Symbol 1237 MovieClip Frame 771
stop();
Symbol 1237 MovieClip Frame 898
stop();
Symbol 1237 MovieClip Frame 1181
stop();
_root.ending = 0;
fade.play();
Symbol 1237 MovieClip Frame 1475
stop();
_root.ending = 0;
fade.play();
Symbol 1237 MovieClip Frame 1637
stop();
Symbol 1237 MovieClip Frame 1766
stop();
Symbol 1237 MovieClip Frame 1864
stop();
Symbol 1237 MovieClip Frame 2144
stop();
_root.ending = 0;
fade.play();
Symbol 1237 MovieClip Frame 2274
stop();
Symbol 1237 MovieClip Frame 2642
stop();
Symbol 1237 MovieClip Frame 2973
stop();
_root.ending = 0;
fade.play();
Symbol 1237 MovieClip Frame 3159
_root.pcM.stop();
_root.waitM.start(0, 999);
_root.waitM.setVolume(20);
Symbol 1237 MovieClip Frame 3268
stop();
Symbol 1237 MovieClip Frame 3269
_root.waitM.stop();
_root.pcM.start(0, 999);
Symbol 1237 MovieClip Frame 3538
stop();
_root.ending = 1;
fade.play();
Symbol 1237 MovieClip Frame 3540
_root.waitM.stop();
_root.pcM.start(0, 999);
Symbol 1237 MovieClip Frame 4071
stop();
_root.ending = 2;
fade.play();
Symbol 1268 MovieClip Frame 572
stop();
Symbol 1285 MovieClip Frame 608
stop();
Symbol 1306 MovieClip Frame 747
stop();
Symbol 1307 MovieClip Frame 1
stop();
if (_root.ending == 0) {
com.newgrounds.API.unlockMedal("_root.pcHappy.start()");
this.gotoAndStop(3);
} else if (_root.ending == 1) {
com.newgrounds.API.unlockMedal("LOVE");
this.gotoAndStop(2);
} else {
com.newgrounds.API.unlockMedal("Freedom!");
this.gotoAndStop(1);
}
Symbol 1307 MovieClip Frame 2
stop();
Symbol 1307 MovieClip Frame 3
stop();
Symbol 1310 Button
on (press) {
_root.prevFrame();
}
on (rollOver) {
_root.rollS.start(0, 0);
}
Symbol 1314 Button
on (press) {
_root.gotoAndStop(1);
}
on (rollOver) {
_root.rollS.start(0, 0);
}
Symbol 1315 MovieClip Frame 365
stop();
Symbol 1321 MovieClip Frame 1
stop();
if (_root.herpGet == true) {
play();
}
Symbol 1321 MovieClip Frame 77
stop();
Symbol 1326 MovieClip Frame 1
stop();
if (_root.deadCred == true) {
play();
}
Symbol 1326 MovieClip Frame 77
stop();
Symbol 1329 MovieClip Frame 1
this.onEnterFrame = function () {
if (Key.isDown(32)) {
_root.tries++;
_root.gotoAndStop(_root.level);
}
};
Symbol 1329 MovieClip Frame 30
_parent.beep.start(0, 0);
Symbol 1330 MovieClip Frame 1
beep = new Sound(this);
beep.attachSound("sfxKeys");
Symbol 1330 MovieClip Frame 80
stop();