STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
234835
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2685 · P5369

<div style="position:absolute;top:-99px;left:-99px;"><img src="https://tools.swfchan.com/stathit.asp?noj=FRM50526499-23DC&rnd=50526499" width="1" height="1"></div>

armorgames live-puzzle-2-15697.swf

This is the info page for
Flash #267614

(Click the ID number above for more basic data on this flash file.)


Text
fps

avg

Sound

Sound

Music

Music

Current level
progress will
be lost! Exit?

Yes

Yes

No

No

Menu

Pause

Pause

Levels

Levels

Top Scores

More Games

More Games

Mode: normal

Mode: normal

Mode: easy

Mode: easy

Mode: hard

Mode: hard

Preview

Paused

Continue

Continue

0:00

Click to begin

Click to begin

Level complete!

Score: 0

New Best Score! (+0)

Your Best 0

Time
Bomus/Penalty
Result time
Difficulty multiplier
Score: 10000 x 1000 / 15:45.9

Details

Total score:

0

You won!

More Games

35

%

PLAY AT PIPKINGAMES.COM

url

Resourses

NEW

XX:XX

100

<p align="left"><font face="Verdana" size="22" color="#ffffff" letterSpacing="-1.000000" kerning="1">Test Medal</font></p>

pts

Option

<p align="left"><font face="Verdana" size="22" color="#ffffff" letterSpacing="-1.000000" kerning="0">High Scores</font></p>

Page 1

1

Some-Dude-or-Chick

9,999,999,999

9

12

6

3

9

1

2

11

10

4

8

5

7

QUARTZ

PIPKIN

ActionScript [AS1/AS2]

Frame 1
Frame 2
stop(); adtype = "None"; adBox._alpha = 0; min_loading_time = 2000; gameurl = _url; domain = gameurl.split("/")[2].split(":")[0].split("."); domain = (domain[domain.length - 2] + ".") + domain[domain.length - 1]; trace("URL: " + gameurl); trace("DOMAIN: " + domain); if ((domain == "armorgames.com") || (domain == "pipkincreator.com")) { gamelock = false; } else { gamelock = true; } if (adtype == "Develop") { gotoAndPlay (4); }
Frame 3
stop(); Logo.onRelease = function () { getURL ("http://armor.ag/MoreGames", "_blank"); };
Frame 4
stop(); if (adtype == "Develop") { gotoAndPlay (6); }
Frame 6
stop(); _global.intervals = []; _global.setInt = function (func, info) { var _local1 = cntInt() + 1; intervals[_local1] = [func, info]; }; _global.clearInt = function (n) { delete intervals[n]; }; _global.cntInt = function () { var _local1 = 0; for (var _local2 in intervals) { _local1++; } return(_local1); }; onEnterFrame = function () { for (var _local1 in intervals) { if (intervals[_local1] != undefined) { intervals[_local1][0](_local1); } } }; _global.randRange = function (min, max) { var _local1 = Math.floor(Math.random() * ((max - min) + 1)) + min; return(_local1); }; _global.soundIsOn = true; _global.musicIsOn = true; this.createEmptyMovieClip("music_mc", 50000); _global.music = new Sound(music_mc); _global.sounds = new Array(); _global.soundnames = new Array(); _global.soundCreatePlayDestroy = function (sound_name) { if (soundIsOn) { var _local2 = new Sound(); _local2.attachSound(sound_name); _local2.onSoundComplete = function () { }; _local2.start(); } }; _global.soundCreate = function (sound, identifier) { n = sounds.length; sounds[n] = new Sound(); sounds[n].attachSound(identifier); soundnames[n] = sound; }; _global.soundPlay = function (sound) { if (soundIsOn) { var _local1; _local1 = 0; while (_local1 < soundnames.length) { if (soundnames[_local1] == sound) { sounds[_local1].start(); return(true); } _local1++; } return(false); } }; _global.musicStart = function (music_name) { music.stop(); music.attachSound(music_name); music.onSoundComplete = function () { if (musicIsOn) { music.start(); } }; if (musicIsOn) { music.start(0, 999); } }; _global.musicStop = function () { music.stop(); }; _global.soundOff = function () { _global.soundIsOn = false; }; _global.soundOn = function () { _global.soundIsOn = true; }; _global.musicOff = function () { _global.musicIsOn = false; music.setVolume(0); }; _global.musicOn = function () { _global.musicIsOn = true; music.setVolume(100); };
Symbol 11 MovieClip [fps] Frame 1
var i; fps = 30; var N = 50; avg_array = []; i = 0; while (i < N) { avg_array.push(0); i++; } var timeinit = new Date(); var lasttime = timeinit.getMilliseconds(); onEnterFrame = function () { var _local1 = new Date(); timepassed = (((_local1.getMilliseconds() - lasttime) >= 0) ? (_local1.getMilliseconds() - lasttime) : (1000 + (_local1.getMilliseconds() - lasttime))); fps = Math.round(10000 / timepassed) / 10; lasttime = _local1.getMilliseconds(); avg_array.pop(); avg_array.unshift(1000 / timepassed); avg = 0; for (i in avg_array) { avg = avg + avg_array[i]; } avg = avg / N; };
Symbol 13 MovieClip [Newgrounds API Classes] Frame 1
#initclip 1 Object.registerClass("Newgrounds API Classes", com.newgrounds.shims.APIShim); #endinitclip
Symbol 68 MovieClip Frame 1
stop();
Symbol 80 MovieClip [FlashAd] Frame 1
#initclip 2 Object.registerClass("FlashAd", com.newgrounds.components.FlashAdBase); #endinitclip function initPlayButton() { if (this.playButton) { this.playButton.onRelease = onPlayClick; if (!this.showPlayButton) { this.playButton._visible = false; } } } function onPlayClick() { removeAd(); _visible = false; } stop();
Symbol 80 MovieClip [FlashAd] Frame 2
initPlayButton();
Symbol 80 MovieClip [FlashAd] Frame 10
initPlayButton();
Symbol 80 MovieClip [FlashAd] Frame 20
initPlayButton();
Symbol 86 MovieClip Frame 1
stop();
Symbol 87 MovieClip [Preloader] Frame 1
function enterFrameHandler() { var _local2 = 0; _local2 = _root.getBytesLoaded() / _root.getBytesTotal(); if (loadingBar) { loadingBar.gotoAndStop(int(_local2 * (loadingBar._totalframes - 1)) + 1); } if ((_local2 >= 1) && (haltComplete != true)) { onEnterFrame = null; gotoAndStop ("loaded"); } } stop(); var autoPlay; var className; var haltComplete; onEnterFrame = enterFrameHandler;
Symbol 87 MovieClip [Preloader] Frame 10
function _onPlayClick() { _root.nextFrame(); _root.play(); _parent._onLoaded(); } if (playButton) { playButton.onRelease = _onPlayClick; playButton.stop(); } if (autoPlay) { _onPlayClick(null); }
Symbol 88 MovieClip [APIConnector] Frame 1
function _onLoaded() { gotoAndStop ("invisible"); if (_redirect) { com.newgrounds.API.loadOfficialVersion(); return(undefined); } } function _apiConnect() { var _local2 = com.newgrounds.API; trace("NG API CONNECT... " + _local2); if (_local2 && (!_local2.connected)) { if (!apiId) { com.newgrounds.Logger.logError("No API ID entered in the API Connector component.", "You can create an API ID for this submission at http://newgrounds.com/account/flashapi", "Enter your API ID into the API Connector using the Component Inspector (Window -> Component Inspector)."); return(undefined); } switch (debugMode) { case "Off" : default : _local2.debugMode = _local2.RELEASE_MODE; break; case "Simulate Logged-in User" : _local2.debugMode = _local2.DEBUG_MODE_LOGGED_IN; break; case "Simulate Logged-out User" : _local2.debugMode = _local2.DEBUG_MODE_LOGGED_OUT; break; case "Simulate New Version" : _local2.debugMode = _local2.DEBUG_MODE_NEW_VERSION; break; case "Simulate Host Blocked" : _local2.debugMode = _local2.DEBUG_MODE_HOST_BLOCKED; } if (loader) { loader.haltComplete = true; } _local2.addEventListener(com.newgrounds.APIEvent.API_CONNECTED, _onConnected); _local2.connect(_root, apiId, encryptionKey, movieVersion); } } function _onConnected(event) { if (loader) { loader.haltComplete = false; } if ((redirectOnNewVersion && (event.__get__success())) && (event.__get__data().newVersion)) { _redirect = true; } if ((redirectOnHostBlocked && (!event.__get__success())) && (event.__get__error() == com.newgrounds.APIEvent.ERROR_HOST_BLOCKED)) { _redirect = true; } if (_redirect) { gotoAndStop ("adPreloader"); forceAlwaysOnTop(); } } function forceAlwaysOnTop() { var _local2 = getNextHighestDepth(); swapDepths(_local2); if (Stage) { _x = ((Stage.width - _width) / 2); _y = ((Stage.height - _height) / 2); _visible = true; } if (_root && (_root instanceof MovieClip)) { MovieClip(_root).stop(); } } stop(); if (_root && (_root instanceof MovieClip)) { MovieClip(_root).stop(); } var apiId; var encryptionKey; var movieVersion; var debugMode; var connectorType; var redirectOnHostBlocked; var redirectOnNewVersion; var adType; var className; var _redirect; _x = int(_x); _y = int(_y); if (!debugMode) { debugMode = "Simulate Logged-in User"; } if (!connectorType) { connectorType = "Flash Ad + Preloader"; } if (!adType) { adType = "Video"; } if (ad) { ad.adType = adType; } switch (connectorType) { case "Flash Ad + Preloader" : gotoAndStop ("adPreloader"); break; case "Flash Ad Only" : gotoAndStop ("ad"); break; case "Invisible" : gotoAndStop ("invisible"); } _apiConnect();
Instance of Symbol 80 MovieClip [FlashAd] "ad" in Symbol 88 MovieClip [APIConnector] Frame 1
//component parameters onClipEvent (construct) { apiId = ""; showBorder = true; adType = "Video"; }
Instance of Symbol 87 MovieClip [Preloader] "loader" in Symbol 88 MovieClip [APIConnector] Frame 1
//component parameters onClipEvent (construct) { autoPlay = false; mainClass = ""; }
Symbol 102 MovieClip [soundcontrol] Frame 1
fx_control.onPress = function () { if (soundIsOn) { soundOff(); sound_on._alpha = 0; sound_off._alpha = 100; } else { soundOn(); sound_on._alpha = 100; sound_off._alpha = 0; } }; music_control.onPress = function () { if (musicIsOn) { musicOff(); music_on._alpha = 0; music_off._alpha = 100; } else { musicOn(); music_on._alpha = 100; music_off._alpha = 0; } };
Symbol 140 MovieClip Frame 1
menuShowHide.onRelease = function () { if (this._parent._parent.overMenu) { this._parent._parent.overMenu = false; down_arrow._yscale = 100; } else { this._parent._parent.overMenu = true; down_arrow._yscale = -100; } }; modeControl.butModeEasy.onRelease = function () { this._parent._parent._parent.gameMode = "Normal"; this._parent._parent._parent.gameModeIndex = 1; this._parent._parent._parent.showModeControl(); }; modeControl.butModeNormal.onRelease = function () { this._parent._parent._parent.gameMode = "Hard"; this._parent._parent._parent.gameModeIndex = 2; this._parent._parent._parent.showModeControl(); }; modeControl.butModeHard.onRelease = function () { this._parent._parent._parent.gameMode = "Easy"; this._parent._parent._parent.gameModeIndex = 0; this._parent._parent._parent.showModeControl(); }; butPause.onRelease = function () { if (!inBlock) { this._parent._parent.overMenu = false; if ((this._parent._parent.inPause === false) && (this._parent._parent.inBlock === false)) { var _local3 = 0; while (_local3 < this._parent._parent.field.ycount) { var _local2 = 0; while (_local2 < this._parent._parent.field.xcount) { this._parent._parent[(("part_" + _local3) + "_") + _local2]._alpha = 0; _local2++; } _local3++; } this._parent._parent.paused._alpha = 100; this._parent._parent.inPause = true; this._parent._parent.paused._x = 265; this._parent._parent.preview._alpha = 0; } else { this._parent._parent.paused.butContinue.onRelease(); } } }; this._parent.paused.butContinue.onRelease = function () { this._parent._parent.overMenu = false; var _local3 = 0; while (_local3 < this._parent._parent.field.ycount) { var _local2 = 0; while (_local2 < this._parent._parent.field.xcount) { this._parent._parent[(("part_" + _local3) + "_") + _local2]._alpha = 100; _local2++; } _local3++; } this._parent._parent.paused._alpha = 0; this._parent._parent.inPause = false; this._parent._parent.paused._x = 1000; this._parent._parent.preview._alpha = 100; }; butLevels.onRelease = function () { if (cntInt() == 0) { if ((!(this._parent._parent.inLevel === false)) && (this._parent._parent.inBlock === false)) { this._parent.gotoAndPlay(2); } else { this._parent._parent.overMenu = false; this._parent._parent.overPreview = false; this._parent._parent.gotoMain(); if (_parent.clicktobegin._currentFrame > 1) { _parent.clicktobegin.gotoAndPlay(9); } if (_parent.levelcomplete._currentFrame > 1) { _parent.levelcomplete.gotoAndPlay(9); } } } }; confirm.butYes.onRelease = function () { this._parent._parent.gotoAndPlay(10); this._parent._parent._parent.overMenu = false; this._parent._parent._parent.gotoMain(); }; confirm.butNo.onRelease = function () { this._parent._parent.gotoAndPlay(10); this._parent._parent._parent.overMenu = false; }; butMoreGames.onRelease = function () { if ((this._parent._parent.inPause === false) && (!(this._parent._parent.inLevel === false))) { butPause.onRelease(); } pipkin.as2.Main.goMOREGAMES(); }; confirm.butYes.enabled = false; confirm.butNo.enabled = false; stop();
Symbol 140 MovieClip Frame 9
confirm.butYes.enabled = true; confirm.butNo.enabled = true; stop();
Symbol 144 MovieClip Frame 1
previewShowHide.onRelease = function () { if (this._parent._parent.overPreview) { this._parent._parent.overPreview = false; } else { this._parent._parent.overPreview = true; } };
Symbol 162 MovieClip Frame 1
stop();
Symbol 162 MovieClip Frame 8
stop();
Symbol 169 MovieClip Frame 1
Symbol 172 MovieClip Frame 1
var details_status = false; var continue_pressed = false; levelcomplete.details._alpha = 0; buttons.arrow._yscale = -100; buttons.butDetails.onRelease = function () { if (details_status) { details_status = false; this._parent.arrow._yscale = -100; this._parent._parent.gotoAndPlay(16); } else { details_status = true; this._parent.arrow._yscale = 100; this._parent._parent.gotoAndPlay(9); this._parent._parent.levelcomplete.details._alpha = 100; } }; buttons.butContinue.onRelease = function () { continue_pressed = true; if (details_status) { this._parent._parent.gotoAndPlay(16); } else { this._parent._parent.gotoAndPlay(23); } this._parent._parent._parent.gotoMain(); }; stop(); stop();
Symbol 172 MovieClip Frame 8
stop(); stop();
Symbol 172 MovieClip Frame 15
stop();
Symbol 172 MovieClip Frame 22
if (!continue_pressed) { stop(); } levelcomplete.details._alpha = 0; if (!continue_pressed) { stop(); }
Symbol 176 MovieClip Frame 1
Symbol 196 MovieClip Frame 1
moregame1.onRelease = function () { getURL ("http://armorgames.com/play/15057/pretentious-game-2", "_blank"); }; moregame2.onRelease = function () { getURL ("http://armorgames.com/play/14969/liquid-measure-3-poison-pack", "_blank"); }; moregame3.onRelease = function () { getURL ("http://armorgames.com/play/14864/slice-the-box", "_blank"); }; moregame4.onRelease = function () { getURL ("http://armorgames.com/play/14518/killer-escape", "_blank"); }; clickarea_moregames.onRelease = function () { getURL ("http://armor.ag/MoreGames", "_blank"); };
Symbol 201 MovieClip [_Game] Frame 1
function prepareLevel(n) { if (inLevel === false) { links = []; overMenu = false; overPreview = false; if (cntInt() == 0) { inBlock = true; inLevel = n; i = 0; while (i < levelsinfo.length) { if (i === inLevel) { setInt(animateLevelPreview2, [i, true]); } else { setInt(animateLevelPreview, [i, false]); } i++; } this.paused._x = 1000; main_menu.butLevels._alpha = 100; main_menu.butLevels.enabled = true; hideModeControl(); } } } function gotoMain() { overMenu = false; this.paused._alpha = 0; main_menu.butPause._alpha = 0; main_menu.butPause.enabled = false; main_menu.butLevels._alpha = 0; main_menu.butLevels.enabled = false; showModeControl(); menuLimit = 160; var _local4 = 0; while (_local4 < field.ycount) { var _local5 = 0; while (_local5 < field.xcount) { var _local6 = (("part_" + _local4) + "_") + _local5; removeMovieClip(_local6); _local5++; } _local4++; } currentmovie.removeMovieClip(); frame.removeMovieClip(); cells1.removeMovieClip(); cells2.removeMovieClip(); level = _level0.game["level" + inLevel]; level.movie._alpha = 100; level.frame_left._alpha = 100; level.frame_right._alpha = 100; allcomplete = true; var _local7 = [0, 0, 0]; _local4 = 0; while (_local4 < levelsinfo.length) { if (scores[_local4][0] < 1) { allcomplete = false; } else if (scores[_local4][3] > -1) { _local7[0]++; if (scores[_local4][3] > 0) { _local7[1]++; if (scores[_local4][3] > 1) { _local7[2]++; } } } if (_local4 === inLevel) { setInt(animateLevelPreview2, [_local4, false]); } else { setInt(animateLevelPreview, [_local4, true]); } _local4++; } if (_parent.domain == "kongregate.com") { _global.kongregate.stats.submit("Easy Levels", _local7[0]); _global.kongregate.stats.submit("Normal Levels", _local7[1]); _global.kongregate.stats.submit("Hard Levels", _local7[2]); } if (allcomplete) { trace("TOTAL SCORE: " + calculateTotalScore()); submit.score.text = calculateTotalScore(); } SubmitScore(false); updateMenuLevels(); field = {}; dragging = false; inPause = false; inBlock = true; inLevel = false; } function animateLevelPreview2(n) { info = intervals[n][1]; level = _level0.game["level" + info[0]]; if (info[2] == undefined) { level._alpha = 100; level.swapDepths(190); level.levelframe.levelscore.text = ""; info[2] = 15; if (info[1]) { endx = 320; endy = 240; endscale = 232; } else { endx = ((12 + (info[0] * 124)) - (Math.floor(info[0] / 5) * 620)) + 60; endy = (110 + (Math.floor(info[0] / 5) * 124)) + 60; endscale = 100; } info[13] = endx; info[14] = endy; info[15] = endscale; info[3] = (endx - level._x) / info[2]; info[4] = (endy - level._y) / info[2]; info[5] = (endscale - level._xscale) / info[2]; info[6] = (levelsinfo[info[0]][1] - 240) / 2; info[7] = info[2]; level.levelframe._alpha = 0; level.attachMovie("levelframe_360x240", "frame_left", 3, {_x:-60, _y:-60, _xscale:scale, _yscale:scale}); level.frame_left.scrollRect = new flash.geom.Rectangle(0, 0, 250, 280); level.attachMovie("levelframe_360x240", "frame_right", 4, {_x:-47.5, _y:-60, _xscale:scale, _yscale:scale}); level.frame_right.scrollRect = new flash.geom.Rectangle(150, 0, 250, 280); } level._x = level._x + info[3]; level._y = level._y + info[4]; level._xscale = level._xscale + info[5]; level._yscale = level._yscale + info[5]; if (levelsinfo[info[0]][1] == 360) { if (info[1]) { level.movie.scrollRect = new flash.geom.Rectangle((info[6] / info[7]) * info[2], 0, 240 + ((2 * info[6]) * (1 - (info[2] / info[7]))), 240); level.movie._x = -51 - ((60 - ((info[6] / info[7]) * info[2])) * 0.43); level.frame_left._x = -60 - ((60 - ((info[6] / info[7]) * info[2])) * 0.43); level.frame_right._x = -47.5 + ((60 - ((info[6] / info[7]) * info[2])) * 0.43); } else { level.movie.scrollRect = new flash.geom.Rectangle((info[6] / info[7]) * (info[7] - info[2]), 0, 240 + ((2 * info[6]) * (1 - ((info[7] - info[2]) / info[7]))), 240); level.movie._x = -51 - (((info[6] / info[7]) * info[2]) * 0.43); level.frame_left._x = -60 - (((info[6] / info[7]) * info[2]) * 0.43); level.frame_right._x = -47.5 + (((info[6] / info[7]) * info[2]) * 0.43); } } info[2]--; if (info[2] == 0) { clearInt(n); level._x = info[13]; level._y = info[14]; level._xscale = info[15]; level._yscale = info[15]; level.frame_left._alpha = 0; level.frame_right._alpha = 0; if (!info[1]) { level.levelframe._alpha = 100; if (scores[info[0]][0] > 0) { level.levelframe.levelscore.text = scores[info[0]][2]; } } else { fieldxsize = levelsinfo[info[0]][1]; fieldysize = levelsinfo[info[0]][2]; xcount = levelsinfo[info[0]][3][gameModeIndex]; ycount = levelsinfo[info[0]][4][gameModeIndex]; rotate = levelsinfo[info[0]][5]; xsize = fieldxsize / xcount; ysize = fieldysize / ycount; field.xsize = fieldxsize; field.ysize = fieldysize; field.partxsize = xsize; field.partysize = ysize; field.x = 320 - (fieldxsize / 2); field.y = 240 - (fieldysize / 2); field.xcount = xcount; field.ycount = ycount; field.rotate = rotate; createEmptyMovieClip("frame", 40); frame._x = field.x - 20; frame._y = field.y - 20; var _local1 = flash.display.BitmapData.loadBitmap((("frame" + fieldxsize) + "x") + fieldysize); frame.attachBitmap(_local1, 1); level.swapDepths(20); createEmptyMovieClip("cells1", 10); drawCells(cells1, color1_bg, color2_bg, field.x - 20, field.y - 20); if (levelsinfo[info[0]][1] == 360) { level._x = 319; level._xscale = 238; level._yscale = 238; } createEmptyMovieClip("cells2", 30); drawCells(cells2, color1_parts, color2_parts, field.x - 20, field.y - 20); clicktobegin.gotoAndPlay(2); } } } function animateLevelPreview(n) { info = intervals[n][1]; level = _level0.game["level" + info[0]]; level._alpha = 100; if (info[2] == undefined) { if (info[1]) { info[2] = randRange(5, 15); } else { info[2] = -randRange(5, 15); } } if (info[1]) { if (level._xscale < 100) { level._xscale = level._xscale + info[2]; level._yscale = level._yscale + info[2]; } else { clearInt(n); if (scores[info[0]][0] > 0) { level.levelframe.levelscore.text = scores[info[0]][2]; } level._xscale = 100; level._yscale = 100; } } else if (level._xscale > 0) { level._xscale = level._xscale + info[2]; level._yscale = level._yscale + info[2]; } else { clearInt(n); level._xscale = 0; level._yscale = 0; level._alpha = 0; } } function makeMenuLevels() { scale = 42.8571428571429; n = 0; while (n < levelsinfo.length) { levelx = ((12 + (n * 124)) - (Math.floor(n / 5) * 620)) + 60; levely = (110 + (Math.floor(n / 5) * 124)) + 60; levelshift = (levelsinfo[n][1] - 240) / 2; _level0.game.createEmptyMovieClip("level" + n, 100 + n); level = this["level" + n]; level._x = levelx; level._y = levely; level.attachMovie("levelframe_240x240", "levelframe", 2, {_x:-60, _y:-60, _xscale:scale, _yscale:scale}); if (((scores[n][0] > 0) || (scores[n - 1][0] > 0)) || (n == 0)) { level.attachMovie("_" + levelsinfo[n][0], "movie", 1, {_x:-60 + ((20 * scale) / 100), _y:-60 + ((20 * scale) / 100), _xscale:scale, _yscale:scale}); level.cacheAsBitmap = true; level.movie.scrollRect = new flash.geom.Rectangle((levelsinfo[n][1] - 240) / 2, 0, 240, 240); level.num = n; level.onRelease = function () { prepareLevel(this.num); }; if (level.lock) { level.lock.removeMovieClip(); } } else { level.attachMovie("lock", "lock", 3, {_x:-11, _y:-15}); } level._xscale = 0; level._yscale = 0; level._alpha = 0; n++; } } function updateMenuLevels() { n = 0; while (n < levelsinfo.length) { level = this["level" + n]; if (((scores[n][0] > 0) || (scores[n - 1][0] > 0)) || (n == 0)) { level.attachMovie("_" + levelsinfo[n][0], "movie", 1, {_x:-60 + ((20 * scale) / 100), _y:-60 + ((20 * scale) / 100), _xscale:scale, _yscale:scale}); level.movie.scrollRect = new flash.geom.Rectangle((levelsinfo[n][1] - 240) / 2, 0, 240, 240); level.num = n; level.onRelease = function () { prepareLevel(this.num); }; if (level.lock) { level.lock.removeMovieClip(); } level.levelframe.stars.gotoAndStop(scores[n][3] + 2); } else { level.attachMovie("lock", "lock", 1, {_x:-11, _y:-15}); } n++; } } function makeParts(moviename, fieldxsize, fieldysize, xcount, ycount, rotate) { movieBitmapData = new flash.display.BitmapData(fieldxsize, fieldysize, false, 16777215); var _local5 = 0; while (_local5 < field.ycount) { var _local3 = 0; while (_local3 < field.xcount) { var _local4 = (("part_" + _local5) + "_") + _local3; this.createEmptyMovieClip(_local4, (200 + (_local5 * xcount)) + _local3); var _local2 = this[_local4]; _local2._x = (field.x + (_local3 * xsize)) + (field.partxsize / 2); _local2._y = (field.y + (_local5 * ysize)) + (field.partysize / 2); _local2.xpos = _local3; _local2.ypos = _local5; _local2.curxpos = false; _local2.curypos = false; _local2.rotateTo = 0; partBitmapData[_local4] = new flash.display.BitmapData(field.partxsize, field.partysize, false, 16777215); _local2.createEmptyMovieClip("bitmap", 1); _local2.bitmap.attachBitmap(partBitmapData[_local4], 1); _local2.bitmap._x = (-field.partxsize) / 2; _local2.bitmap._y = (-field.partysize) / 2; _local2.createEmptyMovieClip("frame", 2); drawFrame(_local2.frame, 0); _local2.cacheAsBitmap = true; _local2.onRelease = function () { }; _local3++; } _local5++; } } function removePart(n) { info = intervals[n][1]; if (info[2] == 0) { var _local1 = _level0.game[(("part_" + info[0]) + "_") + info[1]]; _local1._x = _local1._x + info[4]; _local1._y = _local1._y + info[5]; _local1._xscale = _local1._xscale * 1.03; _local1._yscale = _local1._yscale * 1.03; info[3]--; if (info[3] == 0) { clearInt(n); removeMovieClip((("part_" + info[0]) + "_") + info[1]); if (cntInt() == 1) { levelcomplete.buttons.butContinue._alpha = 100; levelcomplete.buttons.butContinue.enabled = true; } } } else { info[2]--; } } function waveTitle(n) { info = intervals[n][1]; var _local1 = 0; while (_local1 < (gametitlearray.length - 1)) { gametitle["a" + _local1]._y = Math.sin(_local1 + (info[0] / 3)) * 5; _local1++; } info[0]--; } function startLevel() { preview._alpha = 100; this.attachMovie("_" + levelsinfo[inLevel][0], "currentmovie", 50, {_x:320 - (levelsinfo[inLevel][1] / 2), _y:240 - (levelsinfo[inLevel][2] / 2), _alpha:0}); currentmovie.scrollRect = new flash.geom.Rectangle(0, 0, levelsinfo[inLevel][1], levelsinfo[inLevel][2]); overMenu = false; var _local20 = (((((("s" + field.xsize) + "x") + field.ysize) + "x") + field.xcount) + "x") + field.ycount; var _local14 = []; var _local4 = 0; while (_local4 < shuffles[_local20].length) { _local14[_local4] = [shuffles[_local20][_local4][0], shuffles[_local20][_local4][1]]; _local4++; } var _local5 = field.partxsize / 10; parts2grid = []; _local4 = 0; while (_local4 < field.ycount) { parts2grid[_local4] = []; var _local2 = 0; while (_local2 < field.xcount) { parts2grid[_local4][_local2] = false; var _local9 = (_local4 * field.xcount) + _local2; var _local6 = this[(("part_" + _local4) + "_") + _local2]; var _local7 = xy2ra({X:(_local6._x - 320) + field.partxsize, Y:(_local6._y - 240) + field.partysize}); var _local8 = randRange(0, _local14.length - 1); var _local3 = _local14.splice(_local8, 1); _local3[0][0] = _local3[0][0] + (randRange(-_local5, _local5) + (field.partxsize / 2)); _local3[0][1] = _local3[0][1] + (randRange(-_local5, _local5) + (field.partysize / 2)); RA2 = xy2ra({X:(_local3[0][0] - 320) + (field.partxsize / 2), Y:(_local3[0][1] - 240) + (field.partysize / 2)}); var _local12 = RA2.R; var _local13 = RA2.A; rounds = randRange(2, 3); var _local10 = (rounds * 360) + (_local13 - _local7.A); var _local11 = _local12 - _local7.R; if (field.rotate) { dOrientation = randRange(-4, 4) * 90; } else { dOrientation = 0; } var _local17 = randRange(20, 40); shuffle[_local9] = {dRadius:_local11 / _local17, dAlfa:_local10 / _local17, dOrientation:dOrientation / _local17, steps:_local17}; _local2++; } _local4++; } inShuffle = true; soundPlay("shuffle3"); } function drawFrame(frame, rotation) { if (rotation == 0) { var _local2 = [color2_parts, color1_parts, color1_parts, color2_parts]; } else if (rotation == 90) { var _local2 = [color1_parts, color1_parts, color2_parts, color2_parts]; } else if (rotation == 180) { var _local2 = [color1_parts, color2_parts, color2_parts, color1_parts]; } else { var _local2 = [color2_parts, color2_parts, color1_parts, color1_parts]; } frame.moveTo((-field.partxsize) / 2, (-field.partysize) / 2); frame.lineStyle(1, _local2[0], 100); frame.lineTo((field.partxsize / 2) - 1, (-field.partysize) / 2); frame.lineStyle(1, _local2[1], 100); frame.lineTo((field.partxsize / 2) - 1, (field.partysize / 2) - 1); frame.lineStyle(1, _local2[2], 100); frame.lineTo((-field.partxsize) / 2, (field.partysize / 2) - 1); frame.lineStyle(1, _local2[3], 100); frame.lineTo((-field.partxsize) / 2, (-field.partysize) / 2); } function xy2ra(XY) { var _local1 = XY.X; var _local2 = XY.Y; var _local3 = Math.sqrt((_local1 * _local1) + (_local2 * _local2)); if (_local1 == 0) { if (_local2 > 0) { A = 90; } else { A = -90; } } else { A = Math.atan(_local2 / _local1) * 57.29577951; if (_local1 < 0) { A = A + 180; } } return({R:_local3, A:A}); } function ra2xy(RA) { var _local1 = RA.R; var _local2 = RA.A; X = _local1 * Math.cos(_local2 / 57.29577951); Y = _local1 * Math.sin(_local2 / 57.29577951); return({X:X, Y:Y}); } function time2str(t, show_ds) { var _local2 = Math.floor(t / 1800); var _local1 = Math.floor((t - (_local2 * 1800)) / 30); if (_local1 < 10) { _local1 = "0" + _local1; } if (show_ds) { var _local4 = Math.floor(((t - (_local2 * 1800)) - (_local1 * 30)) / 3); return((((_local2 + ":") + _local1) + ".") + _local4); } return((_local2 + ":") + _local1); } function drawCells(cells, color1, color2, x, y) { cells._x = x; cells._y = y; cells.lineStyle(1, color1, 100); var _local2 = 1; while (_local2 < (field.xcount + 1)) { cells.moveTo((_local2 * xsize) + 19, 20); cells.lineTo((_local2 * xsize) + 19, fieldysize + 20); _local2++; } _local2 = 1; while (_local2 < (field.ycount + 1)) { cells.moveTo(20, (_local2 * ysize) + 19); cells.lineTo(fieldxsize + 20, (_local2 * ysize) + 19); _local2++; } cells.lineStyle(1, color2, 100); _local2 = 0; while (_local2 < field.xcount) { cells.moveTo((_local2 * xsize) + 20, 20); cells.lineTo((_local2 * xsize) + 20, fieldysize + 20); _local2++; } _local2 = 0; while (_local2 < field.ycount) { cells.moveTo(20, (_local2 * ysize) + 20); cells.lineTo(fieldxsize + 20, (_local2 * ysize) + 20); _local2++; } } function SubmitScore(submit) { if (allcomplete) { if ((_parent.domain == "kongregate.com") || (_parent.adtype == "Newgrounds")) { submit = true; } if (submit) { pipkin.as2.Main.varSet("totalScore", calculateTotalScore()); if (_parent.GB.channel_id == 3) { trace("SUBMIT MOCHI: " + pipkin.as2.Main.varGet("totalScore")); var _local4 = {n:[15, 14, 13, 12, 10, 9, 11, 7, 15, 9, 5, 8, 11, 3, 15, 2], f:function (i, s) { if (s.length == 16) { return(s); } return(this.f(i + 1, s + this.n[i].toString(16))); }}; var _local5 = _local4.f(0, ""); mochi.as2.MochiScores.showLeaderboard({boardID:_local5, score:pipkin.as2.Main.varGet("totalScore"), onClose:function () { }}); } else if (_parent.domain == "kongregate.com") { trace("SUBMIT KONGREGATE: " + pipkin.as2.Main.varGet("totalScore")); _global.kongregate.stats.submit("Score", pipkin.as2.Main.varGet("totalScore")); } else if (_parent.adtype == "Newgrounds") { trace("SUBMIT NEWGROUNDS: " + pipkin.as2.Main.varGet("totalScore")); com.newgrounds.API.postScore("Score", pipkin.as2.Main.varGet("totalScore")); } else { trace("SUBMIT PIPKIN: " + pipkin.as2.Main.varGet("totalScore")); pipkin.as2.Main.submitScore("totalScore"); } } } } function hideModeControl() { main_menu.modeControl.butModeEasy._alpha = 0; main_menu.modeControl.butModeEasy.enabled = false; main_menu.modeControl.butModeEasy._x = 1000; main_menu.modeControl.butModeNormal._alpha = 0; main_menu.modeControl.butModeNormal.enabled = false; main_menu.modeControl.butModeNormal._x = 1000; main_menu.modeControl.butModeHard._alpha = 0; main_menu.modeControl.butModeHard.enabled = false; main_menu.modeControl.butModeHard._x = 1000; main_menu.modeControl._x = 1000; main_menu.butLevels._x = 4; } function showModeControl() { hideModeControl(); main_menu.modeControl["butMode" + gameMode]._alpha = 100; main_menu.modeControl["butMode" + gameMode].enabled = true; main_menu.modeControl["butMode" + gameMode]._x = 0; main_menu.modeControl._x = 4; main_menu.butLevels._x = 1000; } function calculateScore(time, penalty, difficulty) { var _local1 = []; _local1[0] = time; _local1[1] = (-Math.pow(10, difficulty)) * 30; if (_local1[0] < ((-_local1[1]) * 2)) { _local1[0] = (-_local1[1]) * 2; } if (penalty > 0) { _local1[1] = penalty; } _local1[2] = 30000 / (_local1[0] + _local1[1]); if (difficulty == 0) { _local1[3] = 1; } else if (difficulty == 2) { _local1[3] = 10000; } else { _local1[3] = 250; } _local1[4] = Math.round(_local1[2] * _local1[3]); return(_local1); } function calculateTotalScore() { var _local2 = 0; var _local1 = 0; while (_local1 < levelsinfo.length) { if (scores[_local1][0] > 0) { _local2 = _local2 + calculateScore(scores[_local1][0], scores[_local1][1], scores[_local1][3])[4]; } _local1++; } return(_local2); } function getBlock(partname) { var _local1; var _local2; var _local4 = []; for (_local1 in links) { for (_local2 in links[_local1]) { if (links[_local1][_local2] == partname) { return(_local1); } } } return(false); } function checkLink(thispart, dy, dx) { var _local8; var _local3; var _local2; var _local4; _local4 = parts2grid[thispart.curypos + dy][thispart.curxpos + dx]; if (!(_local4 === false)) { if (dontCheck[_local4] == undefined) { _local2 = getBlock(_local4); if (!(_local2 === false)) { for (_local3 in links[_local2]) { dontCheck[links[_local2][_local3]] = true; } } else { dontCheck[_local4] = true; } if (((thispart.xpos + dx) == this[_local4].xpos) && ((thispart.ypos + dy) == this[_local4].ypos)) { if (!(_local2 === false)) { for (_local3 in links[_local2]) { toConnect.push(links[_local2][_local3]); } links.splice(_local2, 1); if (dragBlock > _local2) { dragBlock--; } } else { toConnect.push(_local4); } } } } } this._x = 0; this._y = 0; var field = {}; var overMenu = false; var overPreview = false; var menuLimit; myLSO = SharedObject.getLocal("GameProgress"); if (myLSO.data.GameProgress == undefined) { var scores = [[0, 999999, 0, -1], [0, 999999, 0, -1], [0, 999999, 0, -1], [0, 999999, 0, -1], [0, 999999, 0, -1], [0, 999999, 0, -1], [0, 999999, 0, -1], [0, 999999, 0, -1], [0, 999999, 0, -1], [0, 999999, 0, -1]]; var GameProgress = {}; GameProgress.scores = scores; myLSO.data.GameProgress = GameProgress; } else { var GameProgress = myLSO.data.GameProgress; var scores = GameProgress.scores; } var inPause = false; var inLevel = false; var inBlock = true; var inShuffle = false; var gameTime = 0; var previewTime = 0; var ingameMovingParts = []; var startDragCoord = false; var gameMode = "Normal"; var gameModeIndex = 1; var links = []; var parts2grid; var toConnect; var dontCheck; var dragParts = false; var dragDx = 0; var dragDy = 0; var dragBlock = false; var dragBounds = {}; var movieBitmapData; var partBitmapData = []; var previewBitmapData; var skipMovieFrames = 0; var shuffle = []; var allcomplete = false; var color1_bg = 12356689; var color2_bg = 15850691; var color1_parts = 0; var color2_parts = 16777215; var levelnames = ["Whales", "Landscape", "Clock", "Gears", "Bees", "Space", "Snow", "Rainbows", "Road", "Chamomiles"]; var levelsinfo = [["\u043A\u0438\u0442\u044B", 360, 240, [3, 6, 12], [2, 4, 8], false], ["\u043E\u043A\u043D\u043E_\u043F\u043E\u0435\u0437\u0434\u0430", 360, 240, [3, 6, 12], [2, 4, 8], false], ["\u0447\u0430\u0441\u044B", 360, 240, [3, 6, 12], [2, 4, 8], false], ["\u0448\u0435\u0441\u0442\u0435\u0440\u0435\u043D\u043A\u04382", 360, 240, [3, 6, 12], [2, 4, 8], false], ["\u043F\u0447\u0435\u043B\u044B", 360, 240, [3, 6, 12], [2, 4, 8], false], ["cosmosfly", 360, 240, [3, 6, 12], [2, 4, 8], false], ["\u0441\u043D\u0435\u0433", 360, 240, [3, 6, 12], [2, 4, 8], false], ["\u0440\u0430\u0434\u0443\u0433\u0430", 360, 240, [3, 6, 12], [2, 4, 8], false], ["\u043C\u0430\u0448\u0438\u043D\u043A\u0430", 360, 240, [3, 6, 12], [2, 4, 8], false], ["\u043F\u043E\u043B\u044F\u043D\u0430", 360, 240, [3, 6, 12], [2, 4, 8], false]]; var shuffles = {s240x240x2x2:[[90, 136], [558, 130], [92, 352], [555, 360]], s240x240x3x3:[[95, 115], [95, 226], [95, 340], [545, 115], [545, 226], [545, 340], [195, 430], [320, 430], [455, 430]], s240x240x4x4:[[52, 147], [52, 253], [130, 102], [130, 218], [130, 323], [159, 433], [267, 433], [374, 433], [480, 433], [505, 102], [505, 218], [505, 323], [600, 147], [600, 253], [52, 361], [600, 361]], s240x240x5x5:[[53, 107], [53, 189], [53, 257], [53, 322], [53, 396], [120, 147], [120, 216], [120, 282], [120, 354], [120, 429], [184, 429], [246, 429], [319, 429], [384, 429], [452, 429], [518, 429], [518, 354], [518, 282], [518, 216], [518, 147], [590, 107], [590, 189], [590, 257], [590, 322], [590, 396]], s240x240x6x6:[[55, 59], [55, 117], [55, 179], [55, 239], [55, 301], [55, 366], [55, 433], [122, 59], [122, 117], [122, 179], [122, 239], [122, 301], [122, 366], [122, 433], [181, 59], [181, 433], [240, 433], [296, 433], [351, 433], [408, 433], [462, 433], [462, 59], [520, 59], [520, 117], [520, 179], [520, 239], [520, 301], [520, 366], [520, 433], [587, 59], [587, 117], [587, 179], [587, 239], [587, 301], [587, 366], [587, 433]], s240x240x8x8:[[36, 95], [37, 153], [210, 77], [324, 78], [548, 201], [385, 79], [498, 201], [605, 86], [36, 207], [92, 95], [267, 31], [269, 78], [442, 31], [386, 29], [440, 78], [603, 142], [36, 258], [92, 152], [210, 28], [325, 31], [92, 308], [496, 140], [153, 258], [603, 249], [34, 309], [93, 206], [153, 311], [153, 154], [159, 460], [495, 91], [273, 459], [603, 199], [33, 358], [506, 455], [150, 95], [447, 460], [390, 460], [547, 142], [549, 306], [601, 302], [34, 408], [155, 411], [219, 459], [153, 206], [328, 460], [444, 410], [91, 360], [602, 352], [92, 258], [218, 411], [90, 409], [273, 413], [330, 412], [388, 412], [547, 250], [550, 354], [547, 90], [499, 251], [155, 360], [502, 409], [496, 355], [499, 306], [553, 407], [606, 406]], s360x240x3x2:[[60, 131], [321, 59], [576, 136], [61, 361], [319, 419], [579, 357]], s360x240x6x4:[[58, 52], [58, 129], [58, 204], [58, 280], [58, 357], [58, 433], [134, 52], [134, 433], [208, 52], [208, 433], [284, 52], [284, 433], [358, 52], [358, 433], [430, 52], [430, 433], [505, 52], [505, 433], [584, 52], [584, 129], [584, 204], [584, 280], [584, 357], [584, 433]], s360x240x12x8:[[103, 135], [62, 135], [20, 134], [191, 82], [233, 82], [315, 81], [314, 40], [358, 80], [404, 81], [451, 80], [625, 133], [539, 132], [105, 183], [63, 54], [192, 39], [275, 81], [232, 41], [275, 40], [148, 43], [357, 42], [491, 83], [622, 91], [625, 176], [538, 177], [20, 185], [22, 53], [580, 54], [105, 51], [62, 183], [491, 45], [450, 42], [404, 42], [146, 81], [582, 92], [583, 224], [538, 224], [103, 229], [19, 226], [62, 94], [18, 93], [620, 53], [537, 51], [539, 90], [588, 443], [585, 399], [19, 430], [625, 223], [537, 270], [104, 273], [63, 272], [102, 94], [59, 393], [18, 393], [625, 443], [103, 393], [626, 403], [60, 430], [500, 441], [582, 271], [583, 131], [103, 316], [20, 272], [103, 431], [143, 442], [186, 443], [545, 441], [542, 401], [228, 442], [408, 441], [453, 442], [625, 271], [537, 313], [102, 354], [63, 314], [139, 398], [360, 442], [183, 398], [270, 441], [314, 440], [499, 398], [454, 399], [624, 359], [581, 314], [539, 357], [60, 227], [19, 317], [61, 355], [19, 353], [227, 400], [271, 399], [315, 399], [360, 399], [409, 397], [582, 358], [624, 314], [582, 177]]}; main_menu.swapDepths(10000); preview.swapDepths(10001); paused.swapDepths(10002); timer.swapDepths(10003); submit.swapDepths(10004); clicktobegin.swapDepths(9999); levelcomplete.swapDepths(9998); preview._y = -15; timer._y = 490; soundCreate("put1", "put1.mp3"); soundCreate("shuffle3", "shuffle3.mp3"); soundCreate("complete2", "complete2.mp3"); musicStart("music1.mp3"); createEmptyMovieClip("gametitle", 5); gametitle._x = 155; gametitle._y = 24; var bmpTitle = flash.display.BitmapData.loadBitmap("title1"); gametitlearray = [0, 30, 45, 80, 120, 173, 209, 245, 280, 297, 333]; i = 0; while (i < (gametitlearray.length - 1)) { gametitle.createEmptyMovieClip("a" + i, i); gametitle["a" + i]._x = gametitlearray[i]; gametitle["a" + i]._y = 0; gametitle["a" + i].attachBitmap(bmpTitle, 1); gametitle["a" + i].scrollRect = new flash.geom.Rectangle(gametitlearray[i], 0, gametitlearray[i + 1] - gametitlearray[i], 50); gametitle["a" + i].cacheAsBitmap = true; i++; } if ((_parent.domain == "kongregate.com") || (_parent.adtype == "Newgrounds")) { main_menu.butTopScores.enabled = false; main_menu.butTopScores._alpha = 25; } Logo.onRelease = function () { if ((inPause === false) && (!(inLevel === false))) { main_menu.butPause.onRelease(); } getURL ("http://armor.ag/MoreGames", "_blank"); }; makeMenuLevels(); gotoMain(); this.onMouseMove = function () { var _local3 = _xmouse; var _local4 = _ymouse; if (_local3 < dragBounds.x1) { _local3 = dragBounds.x1; } if (_local4 < dragBounds.y1) { _local4 = dragBounds.y1; } if (_local3 > dragBounds.x2) { _local3 = dragBounds.x2; } if (_local4 > dragBounds.y2) { _local4 = dragBounds.y2; } var _local2; if (dragParts) { for (_local2 in dragParts) { this[dragParts[_local2][0]]._x = (_local3 + dragParts[_local2][1]) + dragDx; this[dragParts[_local2][0]]._y = (_local4 + dragParts[_local2][2]) + dragDy; } } }; onEnterFrame = function () { if (overMenu) { main_menu.down_arrow._yscale = -100; main_menu._y = main_menu._y + 20; if (main_menu._y >= menuLimit) { main_menu._y = menuLimit; } n = 0; while (n < levelsinfo.length) { levels["level_" + n].enabled = false; n++; } } else { main_menu.down_arrow._yscale = 100; main_menu._y = main_menu._y - 20; if (main_menu._y <= 30) { main_menu._y = 30; main_menu.gotoAndStop(1); } n = 0; while (n < levelsinfo.length) { levels["level_" + n].enabled = true; n++; } } if ((!(inLevel === false)) && (!inBlock)) { if (overPreview) { preview.down_arrow._yscale = -100; preview._y = preview._y + 15; if (preview._y >= 120) { preview._y = 120; } } else { preview.down_arrow._yscale = 100; if (preview._y < 30) { preview._y = preview._y + 15; } else if (preview._y > 30) { preview._y = preview._y - 15; } } } else if (preview._y > -15) { preview._y = preview._y - 15; } if ((!(inLevel === false)) && (!inBlock)) { if (timer._y > 450) { timer._y = timer._y - 15; } } else if (timer._y < 490) { timer._y = timer._y + 15; } if (!(inLevel === false)) { if (submit._y > 0) { submit._y = submit._y - 15; } } else if (allcomplete) { if (submit._y < 90) { submit._y = submit._y + 15; } } if (!(inLevel === false)) { if (moregames._y < 480) { moregames._y = moregames._y + 15; } } else if (moregames._y > 380) { moregames._y = moregames._y - 15; } if (inShuffle) { var _local11 = 0; var _local3 = 0; while (_local3 < field.ycount) { var _local2 = 0; while (_local2 < field.xcount) { var n = ((_local3 * field.xcount) + _local2); if (shuffle[n].steps > 0) { shuffle[n].steps--; _local11++; var _local5 = this[(("part_" + _local3) + "_") + _local2]; var _local7 = xy2ra({X:(_local5._x - 320) + field.partxsize, Y:(_local5._y - 240) + field.partysize}); _local7.R = _local7.R + shuffle[n].dRadius; _local7.A = _local7.A + shuffle[n].dAlfa; var _local8 = ra2xy(_local7); _local5._x = Math.round((_local8.X + 320) - field.partxsize); _local5._y = Math.round((_local8.Y + 240) - field.partysize); _local5._rotation = _local5._rotation + shuffle[n].dOrientation; } _local2++; } _local3++; } if (_local11 == 0) { inShuffle = false; inBlock = false; main_menu.butPause._alpha = 100; main_menu.butPause.enabled = true; menuLimit = 184; _local3 = 0; while (_local3 < field.ycount) { var _local2 = 0; while (_local2 < field.xcount) { var _local5 = this[(("part_" + _local3) + "_") + _local2]; _local5._rotation = Math.round(_local5._rotation / 90) * 90; _local5.rotateTo = _local5._rotation; _local5.frame._rotation = -_local5._rotation; _local2++; } _local3++; } } } if (((!(inLevel === false)) && (inPause === false)) && (inBlock === false)) { timer.time.text = time2str(gameTime); gameTime++; if (overPreview) { preview.time.text = time2str(previewTime); previewTime++; } else { preview.time.text = "Preview"; } } var _local3 = 0; while (_local3 < ingameMovingParts.length) { var _local6 = ingameMovingParts[_local3]; var _local5 = this[_local6[0]]; if (Math.abs(_local6[1] - _local5._x) < 0.5) { _local5._x = _local6[1]; } else { _local5._x = _local5._x + ((_local6[1] - _local5._x) / 4); } if (Math.abs(_local6[2] - _local5._y) < 0.5) { _local5._y = _local6[2]; } else { _local5._y = _local5._y + ((_local6[2] - _local5._y) / 4); } if ((_local6[1] == _local5._x) && (_local6[2] == _local5._y)) { ingameMovingParts.splice(_local3, 1); _local3--; } _local3++; } if (((!(inLevel === false)) && (inPause === false)) && (inBlock === false)) { if (((Key.isDown(90) && (Key.isDown(74))) && (Key.isDown(73))) && (Key.isDown(76))) { gameTime = gameTime + 180000; _local3 = 0; while (_local3 < field.ycount) { var _local2 = 0; while (_local2 < field.xcount) { if ((_local3 > 0) || (_local2 > 0)) { var _local4 = (("part_" + _local3) + "_") + _local2; ingameMovingParts.push([_local4, field.x + (field.partxsize * (_local2 + 0.5)), field.y + (field.partysize * (_local3 + 0.5))]); this[_local4].curxpos = _local2; this[_local4].curypos = _local3; parts2grid[_local3][_local2] = _local4; } _local2++; } _local3++; } } } if (!(inLevel === false)) { if (skipMovieFrames == 0) { movieBitmapData.draw(_level0.game.currentmovie); _local3 = 0; while (_local3 < field.ycount) { var _local2 = 0; while (_local2 < field.xcount) { var _local4 = (("part_" + _local3) + "_") + _local2; partBitmapData[_local4].copyPixels(movieBitmapData, new flash.geom.Rectangle(_local2 * field.partxsize, _local3 * field.partysize, field.partxsize, field.partysize), new flash.geom.Point(0, 0)); _local2++; } _local3++; } if (overPreview) { m = new flash.geom.Matrix(); m.scale(0.25, 0.25); previewBitmapData.draw(_level0.game.currentmovie, m); } skipMovieFrames = 0; } else { skipMovieFrames--; } } }; clicktobegin.clicktobegin.butClicktobegin.onRelease = function () { overMenu = false; if (cntInt() == 0) { clicktobegin.gotoAndPlay(9); gameTime = 0; previewTime = 0; timer.time.text = "0:00"; var _local2 = flash.display.BitmapData.loadBitmap((("frame" + field.xsize) + "x") + field.ysize); preview.createEmptyMovieClip("previewframe", 10); preview.previewframe.attachBitmap(_local2, 20); preview.previewframe._xscale = 25; preview.previewframe._yscale = 25; preview.previewframe._x = (((110 - (field.xsize / 4)) - 10) / 2) - 6; preview.previewframe._y = (-(field.ysize / 4)) - 50; preview.previewframe.scrollRect = new flash.geom.Rectangle(0, 0, field.xsize + 40, field.ysize + 40); previewBitmapData = new flash.display.BitmapData(field.xsize / 4, field.ysize / 4, false, 16777215); preview.createEmptyMovieClip("bitmap", 1); preview.bitmap.attachBitmap(previewBitmapData, 1); preview.bitmap._x = preview.previewframe._x + 5; preview.bitmap._y = preview.previewframe._y + 5; level = _level0.game["level" + inLevel]; var _local1 = levelsinfo[inLevel]; makeParts("_" + _local1[0], _local1[1], _local1[2], _local1[3][gameModeIndex], _local1[4][gameModeIndex], _local1[5]); if (_local1[1] == 240) { level.attachMovie("_" + _local1[0], "movie", 1, {_x:-60 + ((20 * scale) / 100), _y:-60 + ((20 * scale) / 100), _xscale:scale, _yscale:scale}); level.movie.scrollRect = new flash.geom.Rectangle(0, 0, 240, 240); } else { level.attachMovie("_" + _local1[0], "movie", 1, {_x:-86 + ((20 * scale) / 100), _y:-60 + ((20 * scale) / 100), _xscale:scale, _yscale:scale}); level.movie.scrollRect = new flash.geom.Rectangle(0, 0, 360, 240); } level._alpha = 0; cells2.removeMovieClip(); startLevel(); } }; this.onMouseDown = function () { var _local5; var _local4; var _local2; var _local16; var _local11; var _local10; var _local3; if ((inBlock === false) && (inPause === false)) { var _local6 = 0; var _local7 = false; var _local8 = 0; var _local9 = 0; _local5 = 0; while (_local5 < field.ycount) { _local4 = 0; while (_local4 < field.xcount) { _local2 = (("part_" + _local5) + "_") + _local4; if (this[_local2].hitTest(_xmouse, _ymouse)) { if (this[_local2].getDepth() > _local6) { _local6 = this[_local2].getDepth(); _local7 = _local2; _local8 = _local4; _local9 = _local5; } } _local4++; } _local5++; } if (!(_local7 === false)) { startDragCoord = [this[_local7]._x, this[_local7]._y]; dragDx = this[_local7]._x - _xmouse; dragDy = this[_local7]._y - _ymouse; _local5 = getBlock(_local7); if (!(_local5 === false)) { dragBlock = _local5; dragParts = []; var _local15 = 10000; var _local13 = -10000; var _local14 = 10000; var _local12 = -10000; for (_local4 in links[_local5]) { _local2 = links[_local5][_local4]; dragParts.push([_local2, (this[_local2].xpos - _local8) * field.partxsize, (this[_local2].ypos - _local9) * field.partysize]); if (this[_local2]._x < _local15) { _local15 = this[_local2]._x; } if (this[_local2]._y < _local14) { _local14 = this[_local2]._y; } if (this[_local2]._x > _local13) { _local13 = this[_local2]._x; } if (this[_local2]._y > _local12) { _local12 = this[_local2]._y; } } dragBounds = {x1:(_xmouse - _local15) + (field.partxsize / 2), y1:(_ymouse - _local14) + (field.partysize / 2), x2:(640 - (_local13 - _xmouse)) - (field.partxsize / 2), y2:(480 - (_local12 - _ymouse)) - (field.partysize / 2)}; } else { dragBlock = false; dragParts = [[_local7, 0, 0]]; dragBounds = {x1:(field.partxsize / 2) - dragDx, y1:(field.partysize / 2) - dragDy, x2:(640 - (field.partxsize / 2)) - dragDx, y2:(480 - (field.partysize / 2)) - dragDy}; } for (_local5 in dragParts) { _local2 = dragParts[_local5][0]; this[_local2].dragging = true; _local11 = this[_local2].getDepth() + 1; _local10 = 200 + (field.xcount * field.ycount); _local3 = _local11; while (_local3 < _local10) { this[_local2].swapDepths(_local3); _local3++; } _local3 = 0; while (_local3 < ingameMovingParts.length) { if (ingameMovingParts[_local3][0] == _local2) { ingameMovingParts.splice(_local3, 1); break; } _local3++; } } } } }; this.onMouseUp = function () { var _local8; var _local7; var _local9; var _local3; var _local12; var _local11; var _local4; var _local5; var _local10; if ((inBlock === false) && (inPause === false)) { if (!(dragParts === false)) { soundPlay("put1"); dontCheck = {}; var _local6 = []; for (_local8 in dragParts) { _local4 = this[dragParts[_local8][0]]; _local12 = Math.round(((_local4._x - (field.partxsize / 2)) - field.x) / field.partxsize); _local11 = Math.round(((_local4._y - (field.partysize / 2)) - field.y) / field.partysize); if ((((_local12 < 0) || (_local11 < 0)) || (_local12 > (field.xcount - 1))) || (_local11 > (field.ycount - 1))) { _local6 = false; break; } _local6.push([dragParts[_local8][0], _local12, _local11]); dontCheck[dragParts[_local8][0]] = true; } if (!(_local6 === false)) { var _local16 = false; for (_local9 in _local6) { _local10 = _local6[_local9]; if (parts2grid[_local10[2]][_local10[1]]) { if (!this[parts2grid[_local10[2]][_local10[1]]].dragging) { _local16 = true; break; } } } if (_local16) { for (_local8 in dragParts) { ingameMovingParts.push([dragParts[_local8][0], startDragCoord[0] + dragParts[_local8][1], startDragCoord[1] + dragParts[_local8][2]]); } } else { for (_local8 in dragParts) { _local5 = dragParts[_local8][0]; if (!(this[_local5].curxpos === false)) { parts2grid[this[_local5].curypos][this[_local5].curxpos] = false; } this[_local5].curxpos = false; this[_local5].curypos = false; } for (_local9 in _local6) { _local4 = this[_local6[_local9][0]]; _local4._x = (field.x + (_local6[_local9][1] * field.partxsize)) + (field.partxsize / 2); _local4._y = (field.y + (_local6[_local9][2] * field.partysize)) + (field.partysize / 2); _local4.curxpos = _local6[_local9][1]; _local4.curypos = _local6[_local9][2]; parts2grid[_local6[_local9][2]][_local6[_local9][1]] = _local6[_local9][0]; } toConnect = []; for (_local8 in dragParts) { _local4 = this[dragParts[_local8][0]]; if (_local4.curypos > 0) { checkLink(_local4, -1, 0); } if (_local4.curypos < (field.ysize - 1)) { checkLink(_local4, 1, 0); } if (_local4.curxpos > 0) { checkLink(_local4, 0, -1); } if (_local4.curxpos < (field.xsize - 1)) { checkLink(_local4, 0, 1); } } if (toConnect.length > 0) { if (dragBlock === false) { toConnect.push(dragParts[0][0]); links.push(toConnect); } else { for (_local8 in toConnect) { links[dragBlock].push(toConnect[_local8]); } } } dragBlock = false; var _local14 = 0; _local8 = 0; while (_local8 < field.ycount) { _local7 = 0; while (_local7 < field.xcount) { _local3 = this[(("part_" + _local8) + "_") + _local7]; if (_local3._rotation == 0) { if ((((!(_local3.curxpos === false)) && (!(_local3.curypos === false))) && (_local3.xpos == _local3.curxpos)) && (_local3.ypos == _local3.curypos)) { _local14++; } } _local7++; } _local8++; } if (_local14 == (field.xcount * field.ycount)) { inBlock = true; overMenu = false; overPreview = false; down_arrow._yscale = 100; main_menu.butPause._alpha = 0; main_menu.butPause.enabled = false; main_menu.butLevels._alpha = 0; main_menu.butLevels.enabled = false; menuLimit = 136; _level0.game.currentmovie._alpha = 100; _local8 = 0; while (_local8 < field.ycount) { _local7 = 0; while (_local7 < field.xcount) { _local3 = _level0.game[(("part_" + _local8) + "_") + _local7]; K1 = ((_local3._y - 240) - 1) / ((_local3._x - 320) - 1); K2 = 10; dx = K2 * Math.cos(Math.atan(K1)); dy = dx * K1; if (_local3._x <= 320) { dx = -dx; dy = -dy; } removePause = randRange(10, 60); _local3.swapDepths(100060 - removePause); setInt(removePart, [_local8, _local7, removePause, 30, dx, dy]); _local7++; } _local8++; } soundPlay("complete2"); levelcomplete.buttons.butContinue._alpha = 0; levelcomplete.buttons.butContinue.enabled = false; levelcomplete.gotoAndPlay(2); var _local13 = calculateScore(gameTime, previewTime, gameModeIndex); var _local15 = ""; _local15 = _local15 + (("Time: " + time2str(_local13[0], true)) + newline); if (previewTime == 0) { _local15 = _local15 + (("Nopreview bonus: -" + time2str(-_local13[1])) + newline); } else { _local15 = _local15 + (("Preview penalty: " + time2str(_local13[1], true)) + newline); } _local15 = _local15 + (("Result time: " + time2str(_local13[0] + _local13[1], true)) + newline); _local15 = _local15 + (("Difficulty multiplier: " + _local13[3]) + newline); _local15 = _local15 + (((("Score: " + _local13[3]) + " x 1000 / ") + time2str(_local13[0] + _local13[1], true)) + newline); levelcomplete.levelcomplete.details.text = _local15; levelcomplete.levelcomplete.score.text = "Score: " + _local13[4]; if (scores[inLevel][3] == -1) { levelcomplete.levelcomplete.bestscore._alpha = 0; levelcomplete.levelcomplete.newbestscore._alpha = 0; } else if (scores[inLevel][2] >= _local13[4]) { levelcomplete.levelcomplete.bestscore.text = "Your best: " + scores[inLevel][2]; levelcomplete.levelcomplete.bestscore._alpha = 100; levelcomplete.levelcomplete.newbestscore._alpha = 0; } else { levelcomplete.levelcomplete.newbestscore.text = ("New best! (+" + (_local13[4] - scores[inLevel][2])) + ")"; levelcomplete.levelcomplete.bestscore._alpha = 0; levelcomplete.levelcomplete.newbestscore._alpha = 100; } if ((scores[inLevel][3] == -1) || (_local13[4] > scores[inLevel][2])) { scores[inLevel] = [_local13[0], previewTime, _local13[4], gameModeIndex]; GameProgress.scores = scores; } if (gameModeIndex > scores[inLevel][3]) { scores[inLevel][3] = gameModeIndex; } if (_parent.adtype == "Newgrounds") { com.newgrounds.API.unlockMedal((levelnames[inLevel] + " ") + gameMode); } } } } else { for (_local8 in dragParts) { _local5 = dragParts[_local8][0]; if (!(this[_local5].curxpos === false)) { parts2grid[this[_local5].curypos][this[_local5].curxpos] = false; } this[_local5].curxpos = false; this[_local5].curypos = false; } } for (_local8 in dragParts) { _local5 = dragParts[_local8][0]; this[_local5].dragging = false; } dragParts = false; } } };
Symbol 204 MovieClip [stars] Frame 1
stop();
Symbol 204 MovieClip [stars] Frame 2
stop();
Symbol 204 MovieClip [stars] Frame 3
stop();
Symbol 204 MovieClip [stars] Frame 4
stop();
Symbol 222 MovieClip Frame 1
function loadPause() { loading_time = loading_time + 10; } stop(); start_loaded = _root.getBytesLoaded(); loading_time = 0; if (_parent.min_loading_time > 0) { min_loading_time = _parent.min_loading_time; } else { min_loading_time = 5000; } loading_interval = setInterval(loadPause, 10); finish_pause = -1; onEnterFrame = function () { if (start_loaded < _root.getBytesTotal()) { percent = Math.floor(((_root.getBytesLoaded() - start_loaded) / (_root.getBytesTotal() - start_loaded)) * 100); } else { percent = 100; } percent2 = Math.floor((loading_time * 100) / min_loading_time); if (percent2 < percent) { percent = percent2; } progress._x = 43 + (percent * 4); runner._x = 25 + (percent * 4); progress.procent.text = percent; if ((_root.getBytesLoaded() >= _root.getBytesTotal()) && (loading_time >= min_loading_time)) { if (finish_pause == -1) { clearInterval(loading_interval); line.stop(); runner._alpha = 0; finish_pause = 1; } else { finish_pause--; if (finish_pause == 0) { onEnterFrame = undefined; if (!_parent.gamelock) { _level0.gotoAndPlay(2); } else { gotoAndPlay (2); } } } } };
Symbol 222 MovieClip Frame 14
stop(); butPlay.onRelease = function () { getURL ("http://pipkingames.com/flash/16560/", "_blank"); };
Symbol 21 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 15 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 14 MovieClip [__Packages.com.newgrounds.Event] Frame 0
class com.newgrounds.Event { var _type; function Event (type) { _type = type; } function get type() { return(_type); } }
Symbol 16 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 19 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 25 MovieClip [__Packages.com.newgrounds.APICommand] Frame 0
class com.newgrounds.APICommand extends com.newgrounds.APIEventDispatcher { static var _throttleTimestamp, bridge; var _command, _parameters, _secureParameters, _hasTimeout, _preventCache, _files, _loader, _timeoutTimer, dispatchEvent; function APICommand (command) { super(); _command = command; _parameters = new Object(); _secureParameters = new Object(); _hasTimeout = true; } static function stopPendingCommands() { for (var _local2 in _pendingCommands) { var _local1 = _pendingCommands[_local2]; _local1.close(); } _pendingCommands = []; } static function onThrottleTimer(event) { if ((getTimer() - _throttleTimestamp) >= THROTTLE_INTERVAL) { _throttleCount = 0; _throttleCount = 0; while (_commandQueue.length && (_throttleCount < THROTTLE_THRESHOLD)) { var _local1 = _commandQueue.shift(); _local1.command.send(_local1.connection); _throttleCount++; } } } static function encryptHex(hexValue) { var _local4 = hexValue.length % 6; var _local3 = ""; var _local1 = 0; while (_local1 < hexValue.length) { _local3 = _local3 + _encryptor.encodeUint(int("0x" + hexValue.substr(_local1, 6)), 4); _local1 = _local1 + 6; } return(_local4.toString() + _local3); } function get command() { return(_command); } function set command(value) { _command = value; //return(command); } function get hasTimeout() { return(_hasTimeout); } function set hasTimeout(val) { _hasTimeout = val; //return(hasTimeout); } function get parameters() { return(_parameters); } function set parameters(object) { _parameters = new Object(); if (object) { for (var _local3 in object) { _parameters[_local3] = object[_local3]; } } //return(parameters); } function get preventCache() { return(_preventCache); } function set preventCache(value) { _preventCache = value; //return(preventCache); } function get secureParameters() { return(_secureParameters); } function set secureParameters(object) { _secureParameters = new Object(); if (object) { for (var _local3 in object) { _secureParameters[_local3] = object[_local3]; } } //return(secureParameters); } function get hasSecureParameters() { for (var _local2 in _secureParameters) { return(true); } return(false); } function addFile(filename, data, dataField, contentType) { if (contentType == undefined) { contentType = "application/octet-stream"; } if (!_files) { _files = new Object(); } var _local3 = {filename:filename, data:data, dataField:dataField, contentType:contentType}; _files[filename] = _local3; } function removeFile(filename) { if (_files) { delete _files[filename]; } } function clearFiles() { _files = null; } function close() { if (_loader) { clearInterval(_timeoutTimer); var _local2 = 0; while (_local2 < _pendingCommands.length) { if (_pendingCommands[_local2] == this) { _pendingCommands.splice(_local2, 1); break; } _local2++; } _loader = null; } } function loadInBrowser(connection, newWindow) { _parameters.command_id = _command; _parameters.tracker_id = (connection.apiId ? (connection.apiId) : 1); if (connection.debug) { _parameters.debug = 1; } var _local3 = (connection.apiURL + "?host=") + escape(connection.hostDomain); for (var _local4 in _parameters) { _local3 = _local3 + ((("&" + escape(_local4)) + "=") + escape(_parameters[_local4])); } var _local6; if (newWindow) { _local6 = "_blank"; } else { _local6 = "_top"; } _root.getURL(_local3, _local6); } function send(connection) { if (_throttleCount >= THROTTLE_THRESHOLD) { _commandQueue.push({connection:connection, command:this}); } else { sendInternal(connection); } } function sendInternal(connection) { var _local4; _local4 = new LoadVars(); _local4.command_id = _command; _local4.tracker_id = connection.apiId; if (connection.debug) { _local4.debug = 1; } if (_preventCache) { _local4.seed = Math.random(); } var _local2; var _local3; var _local7; for (_local2 in _parameters) { _local3 = _parameters[_local2]; if (_local3 != null) { if (typeof(_local3) == "boolean") { _local4[_local2] = int(_local3); } else { _local4[_local2] = _local3; } } } if (hasSecureParameters) { var _local6 = new Object(); for (_local2 in _secureParameters) { _local3 = _secureParameters[_local2]; if (_local3 != null) { if (typeof(_local3) == "boolean") { _local6[_local2] = int(_local3); } else { _local6[_local2] = _local3; } } } var _local8 = ""; _local7 = 0; while (_local7 < 16) { _local8 = _local8 + ENCRYPTOR_RADIX.charAt(int(Math.random() * ENCRYPTOR_RADIX.length)); _local7++; } _local4.command_id = "securePacket"; _local6.command_id = _command; _local6.as_version = 3; _local6.session_id = connection.sessionId; _local6.user_email = connection.userEmail; _local6.publisher_id = connection.publisherId; _local6.seed = _local8; var _local13 = com.newgrounds.crypto.MD5.hash(_local8); var _local11 = com.newgrounds.crypto.RC4.encrypt(com.newgrounds.encoders.json.JSON.encode(_local6), connection.encryptionKey); _local4.secure = encryptHex(_local13 + _local11); } com.newgrounds.Logger.logInternal("Sending packet:", _local4); var _local12; _local12 = "application/x-www-form-urlencoded"; for (_local2 in _local4) { if (typeof(_local4[_local2]) == "object") { _local4[_local2] = com.newgrounds.encoders.json.JSON.encode(_local4[_local2]); } } if (_files) { for (var _local10 in _files) { var _local5 = _files[_local10]; if (typeof(_local5.data) == "string") { _local4[_local10] = _local5.data; } else { _local4[_local10] = com.newgrounds.encoders.json.JSON.encode(_local5.data); } } } _pendingCommands.push(this); _throttleCount++; _throttleTimestamp = getTimer(); startLoader(connection.apiURL, _local4, _local12); } function startLoader(url, data, contentType) { _loader = LoadVars(data); _loader.onData = as2CompleteHandler; _loader.contentType = contentType; _loader.sendAndLoad(url, _loader, "POST"); if (_hasTimeout) { setInterval(this, onTimeout, TIMEOUT_INTERVAL); } } function as2CompleteHandler(data) { var _local3; var _local2 = 0; while (_local2 < _pendingCommands.length) { if (_pendingCommands[_local2]._loader == this) { _local3 = _pendingCommands[_local2]; break; } _local2++; } _local3.onComplete(data); } function onTimeout(event) { close(); com.newgrounds.Logger.logError("Command timed out."); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.COMMAND_COMPLETE, null, com.newgrounds.APIEvent.ERROR_TIMED_OUT)); } function onError(error) { com.newgrounds.Logger.logError("Error when sending command:", error); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.COMMAND_COMPLETE, null, com.newgrounds.APIEvent.ERROR_UNKNOWN)); close(); } function onComplete(data) { com.newgrounds.Logger.logInternal("Received packet:", data); try { if ((!data) || (data == "")) { throw new Error(); } var _local2 = com.newgrounds.encoders.json.JSON.decode(data); if (!_local2) { throw new Error(); } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.COMMAND_COMPLETE, _local2, ((_local2 && (_local2.success)) ? (com.newgrounds.APIEvent.ERROR_NONE) : (com.newgrounds.APIEvent.ERROR_COMMAND_FAILED)))); if (bridge) { bridge.sendEvent(_local2.command_id, _local2); } } catch(e) { com.newgrounds.Logger.logError("Invalid response returned from server: " + data); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.COMMAND_COMPLETE, null, com.newgrounds.APIEvent.ERROR_BAD_RESPONSE)); } close(); } static var TIMEOUT_INTERVAL = 10000; static var THROTTLE_INTERVAL = 10050; static var THROTTLE_TICK_INTERVAL = 1000; static var THROTTLE_THRESHOLD = 24; static var _throttleCount = 0; static var _commandQueue = []; static var _throttleTimer = setInterval(onThrottleTimer, THROTTLE_TICK_INTERVAL); static var ENCRYPTOR_RADIX = "/g8236klvBQ#&|;Zb*7CEA59%s`Oue1wziFp$rDVY@TKxUPWytSaGHJ>dmoMR^<0~4qNLhc(I+fjn)X"; static var _encryptor = new com.newgrounds.encoders.BaseN(ENCRYPTOR_RADIX); static var _pendingCommands = []; static var CRLF = "\r\n"; }
Symbol 20 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; _inConnection.connect("rec_" + _widgetId); 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}; try { _outConnection.send(_widgetId, "sendEvent", command, parameters); } catch(error) { } } } function receiveEvent(event, parameters) { } function onStatus(event) { } }
Symbol 17 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_DELETED = "fileDeleted"; 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 36 MovieClip [__Packages.com.newgrounds.API] Frame 0
class com.newgrounds.API { static var _serverTime, _adFeedURL, _movieVersion, _bridge, _requestedSaveGroupId, _requestedSaveFileId, _movieName, _newVersion, _saveFilePath, _imageFilePath; function API () { } static function get connected() { return(_connection.__get__connected()); } static function get isNetworkHost() { return(_connection.__get__isNetworkHost()); } static function get apiId() { _connection.assertInitialized(); return(_connection.apiId); } static function get debugMode() { return(_debugMode); } static function set debugMode(val) { _debugMode = val; //return(debugMode); } static function get publisherId() { _connection.assertInitialized(); return(_connection.publisherId); } static function get sessionId() { _connection.assertInitialized(); return(_connection.sessionId); } static function get hostDomain() { _connection.assertInitialized(); return(_connection.hostDomain); } static function get hostURL() { _connection.assertInitialized(); return(_connection.__get__hostURL()); } static function get isNewgrounds() { return(_connection.publisherId == 1); } static function get hasUserSession() { _connection.assertInitialized(); return(_connection.__get__hasUserSession()); } static function get username() { _connection.assertInitialized(); return(_connection.username); } static function get userId() { _connection.assertInitialized(); return(_connection.userId); } static function assertConnected(eventType) { if (eventType == undefined) { eventType = null; } if (_connection.assertConnected()) { return(true); } if (eventType) { dispatchEvent(eventType, null, com.newgrounds.APIEvent.ERROR_NOT_CONNECTED); } return(false); } static function get serverTime() { return(_serverTime); } static function get adsApproved() { return(_adsApproved); } static function get adFeedURL() { return(_adFeedURL); } static function get medals() { return(_medalsArray); } static function get scoreBoards() { return(_scoreBoardsArray); } static function get saveGroups() { return(_saveGroupsArray); } static function connect(_root, apiId, encryptionKey, movieVersion) { if (encryptionKey == undefined) { encryptionKey = null; } if (movieVersion == undefined) { movieVersion = ""; } com.newgrounds.APIEventDispatcher.__set__globalDispatcher(_dispatcher); System.security.loadPolicyFile("http://apifiles.ngfiles.com/crossdomain.xml"); if (_connection.initialized) { com.newgrounds.Logger.logError("Connection already in progress. Please call API.disconnect() before attempting another connection."); dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, false, com.newgrounds.APIEvent.ERROR_NOT_CONNECTED); return(undefined); } apiId = trimWhitespace(apiId); if (encryptionKey) { encryptionKey = trimWhitespace(encryptionKey); } if ((!apiId) || (apiId == "")) { com.newgrounds.Logger.logError("No apiId given. Please use the API ID from your API settings page."); dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, false, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT); return(undefined); } com.newgrounds.Logger.logMessage(("====== Newgrounds API v" + VERSION) + " ======"); _connection.connectionState = com.newgrounds.APIConnection.CONNECTING; _root=_root;//parameter overwritten _movieVersion = movieVersion; _connection.apiId = apiId; var _local4; _local4 = apiId.indexOf(":"); if (_local4 != -1) { _connection.trackerId = int(apiId.substring(0, _local4)); } else { _connection.trackerId = int(apiId); } if (!_connection.trackerId) { com.newgrounds.Logger.logError("Invalid API ID: " + apiId); dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, false, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT); return(undefined); } _connection.encryptionKey = encryptionKey; _connection.initialized = true; _connection.__set__hostURL(_root._url); doConnect(_root); } static function doConnect(flashVars) { if (isNetworkHost && (_debugMode != RELEASE_MODE)) { com.newgrounds.Logger.logMessage("Live file detected, turning off debug mode."); _debugMode = RELEASE_MODE; } if (flashVars && (flashVars.NewgroundsAPI_SandboxID)) { _bridge = new com.newgrounds.Bridge(flashVars.NewgroundsAPI_SandboxID); com.newgrounds.APICommand.bridge = _bridge; } if (_debugMode == RELEASE_MODE) { if (flashVars) { if (flashVars.NewgroundsAPI_UserName) { _connection.username = flashVars.NewgroundsAPI_UserName; } if (flashVars.NewgroundsAPI_UserID) { _connection.userId = flashVars.NewgroundsAPI_UserID; } if (flashVars.NewgroundsAPI_PublisherID) { _connection.publisherId = flashVars.NewgroundsAPI_PublisherID; } if (flashVars.NewgroundsAPI_UserpageFormat) { _connection.userpageFormat = flashVars.NewgroundsAPI_UserpageFormat; } if (flashVars.NewgroundsAPI_SessionID) { _connection.sessionId = flashVars.NewgroundsAPI_SessionID; } if (flashVars.NewgroundsAPI_SaveGroupID) { _requestedSaveGroupId = flashVars.NewgroundsAPI_SaveGroupID; } if (flashVars.NewgroundsAPI_SaveFileID) { _requestedSaveFileId = flashVars.NewgroundsAPI_SaveFileID; } } } else { _connection.debug = true; if ((_debugMode == DEBUG_MODE_LOGGED_IN) || (_debugMode == DEBUG_MODE_LOGGED_OUT)) { _connection.publisherId = 1; } if (_debugMode == DEBUG_MODE_LOGGED_IN) { _connection.sessionId = "D3bu64p1U53R"; _connection.userId = 10; _connection.username = "API-Debugger"; } } _connection.sendSimpleCommand("connectMovie", onConnect, {host:_connection.hostDomain, movie_version:_movieVersion, publisher_id:_connection.publisherId}); } static function onConnect(event) { var _local1 = event.__get__data(); if (!event.__get__success()) { com.newgrounds.Logger.logError("Unable to connect to the API."); _connection.reset(); dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, event.__get__data(), event.__get__error()); return(undefined); } if (debugMode != RELEASE_MODE) { _adFeedURL = TEST_AD_FEED_URL; } else if (_local1.ad_url) { _adFeedURL = unescape(_local1.ad_url); } switch (_local1.ad_status) { case -1 : com.newgrounds.Logger.logWarning("Your movie is not approved to run Flash Ads."); break; case 0 : com.newgrounds.Logger.logWarning("Your movie is still awaiting approval to run Flash Ads."); break; case 1 : com.newgrounds.Logger.logMessage("Your movie is approved to run Flash Ads!"); } _adsApproved = _local1.ad_status == 1; if ((_debugMode == DEBUG_MODE_HOST_BLOCKED) || (_local1.deny_host)) { com.newgrounds.Logger.logWarning(_connection.hostDomain + " does not have permission to host this movie!", "Update your API configuration to allow this host."); dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, {officialURL:unescape(_local1.movie_url)}, com.newgrounds.APIEvent.ERROR_HOST_BLOCKED); _connection.reset(); return(undefined); } _movieName = (_local1.movieName ? (_local1.movieName) : ""); com.newgrounds.Logger.logMessage("Connecting to the Newgrounds API Gateway...", ("----- " + _local1.movie_name) + " -----"); if (_debugMode == DEBUG_MODE_NEW_VERSION) { _local1.movie_version = "Debug Mode"; } if (_local1.movie_version) { com.newgrounds.Logger.logMessage("A new version of this movie is available.", "Current version:\t" + _movieVersion, "Newest version:\t" + _local1.movie_version, "Use API.loadOfficialVersion() to link to the latest version."); _newVersion = true; } else { _newVersion = false; } _serverTime = new Date(int(_local1.time) * 1000); if (_local1.request_portal_url) { _connection.sendSimpleCommand("setPortalID", null, {portal_url:_connection.__get__hostURL()}); } _connection.sendSimpleCommand("preloadSettings", onMetadataLoaded, {publisher_id:_connection.publisherId, user_id:_connection.userId}); } static function onMetadataLoaded(event) { var _local11 = event.__get__data(); var _local4; var _local1; if (!event.__get__success()) { com.newgrounds.Logger.logWarning("Unable to load movie metadata."); disconnect(); dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, null, event.__get__error()); return(undefined); } var _local10 = 0; if (_local11.medals) { _local10 = _local11.medals.length; var _local18; if (hasUserSession) { _local18 = loadLocal("medals_unlocked_" + username); } else { _local18 = loadLocal("medals_unlocked"); } _local4 = 0; while (_local4 < _local10) { var _local5 = _local11.medals[_local4]; var _local15 = _local5.medal_unlocked; var _local17 = _local18 && (_local18[_local5.medal_id]); var _local14 = (hasUserSession ? (_local15) : (_local17)); if (debugMode != RELEASE_MODE) { _local14 = false; } var _local6 = new com.newgrounds.Medal(_connection, _local5.medal_id, _local5.medal_name, _local5.medal_description, Boolean(int(_local5.secret)), _local14, _local5.medal_value, _local5.medal_difficulty, _local5.medal_icon); _local6.addEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCKED, onMedalUnlocked, false, 0, true); _local6.addEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCK_CONFIRMED, onMedalUnlockConfirmed, false, 0, true); _medals[_local6.__get__name()] = _local6; _medalsArray.push(_local6); com.newgrounds.Logger.logMessage(_local6); if ((hasUserSession && (_local17)) && (!_local15)) { com.newgrounds.Logger.logMessage(("Server missed the \"" + _local6.__get__name()) + "\" unlock. Resending..."); _local6.unlock(); } _local4++; } } com.newgrounds.Logger.logMessage(((_local10 + " medal") + ((_local10 != 1) ? "s" : "")) + " initialized."); _local10 = 0; if (_local11.score_boards) { _local10 = _local11.score_boards.length; _local4 = 0; while (_local4 < _local10) { var _local16 = _local11.score_boards[_local4]; var _local9 = new com.newgrounds.ScoreBoard(_connection, _local16.name, _local16.id); _scoreBoards[_local9.__get__name()] = _local9; _scoreBoardsArray.push(_local9); com.newgrounds.Logger.logMessage(_local9); _local4++; } } com.newgrounds.Logger.logMessage(((_local10 + " scoreboard") + ((_local10 != 1) ? "s" : "")) + " initialized."); _local10 = 0; if (_local11.save_groups) { _local10 = _local11.save_groups.length; _local4 = 0; while (_local4 < _local10) { var _local2 = _local11.save_groups[_local4]; var _local13 = []; if (_local2.keys) { _local1 = 0; while (_local1 < _local2.keys.length) { var _local7 = _local2.keys[_local1]; _local13.push(new com.newgrounds.SaveKey(_local7.name, _local7.id, _local7.type)); _local1++; } } var _local12 = []; if (_local2.ratings) { _local1 = 0; while (_local1 < _local2.ratings.length) { var _local3 = _local2.ratings[_local1]; _local12.push(new com.newgrounds.SaveRating(_local3.name, _local3.id, _local3.float, _local3.min, _local3.max)); _local1++; } } var _local8 = new com.newgrounds.SaveGroup(_connection, _local2.group_name, _local2.group_id, _local2.group_type, _local13, _local12); _saveGroups[_local8.__get__name()] = _local8; _saveGroupsArray.push(_local8); com.newgrounds.Logger.logMessage(_local8); _local4++; } } com.newgrounds.Logger.logMessage(((_local10 + " save group") + ((_local10 != 1) ? "s" : "")) + " initialized."); if (_local11.save_file_path) { _saveFilePath = _local11.save_file_path + "/"; com.newgrounds.SaveFile._saveFilePath = _saveFilePath; com.newgrounds.Logger.logInternal("Save file path: " + _saveFilePath); } if (_local11.image_file_path) { _imageFilePath = _local11.image_file_path + "/"; com.newgrounds.SaveFile._imageFilePath = _imageFilePath; com.newgrounds.Logger.logInternal("Image file path: " + _imageFilePath); } com.newgrounds.Logger.logMessage("Connection complete!"); _connection.connectionState = com.newgrounds.APIConnection.CONNECTED; dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, {movieName:_movieName, newVersion:_newVersion}); if (_requestedSaveFileId && (_requestedSaveGroupId)) { addEventListener(com.newgrounds.APIEvent.FILE_LOADED, onRequestedFileLoaded); loadSaveFile(_requestedSaveFileId, false); } } static function disconnect() { if (!_connection.__get__connected()) { com.newgrounds.Logger.logWarning("The Newgrounds API is already disconnected."); return(undefined); } _connection.reset(); for (var _local2 in _medals) { var _local1 = _medals[_local2]; _local1.removeEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCKED, onMedalUnlocked); _local1.removeEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCK_CONFIRMED, onMedalUnlockConfirmed); } _newVersion = false; _medals = new Object(); _medalsArray = []; _scoreBoards = new Object(); _scoreBoardsArray = []; _saveGroups = new Object(); _saveGroupsArray = []; _sharedObjects = new Object(); _imageFilePath = null; _saveFilePath = null; com.newgrounds.Logger.logMessage("Disconnected from the Newgrounds API."); } static function loadNewgrounds() { _connection.loadInBrowser("loadNewgrounds"); } static function loadOfficialVersion() { if (_connection.assertInitialized()) { _connection.loadInBrowser("loadOfficialVersion", false); } } static function 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.12 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 33 MovieClip [__Packages.com.newgrounds.encoders.ImageScanner] Frame 0
class com.newgrounds.encoders.ImageScanner { var _baseN, _encodeAlpha, _maxPerChannel; function ImageScanner (hashLength, charsPerPixel) { if (hashLength) { _hash = DEFAULT_HASH.substr(0, hashLength); } _baseN = new com.newgrounds.encoders.BaseN(_hash); if (charsPerPixel) { _charsPerPixel = charsPerPixel; } encodeAlpha = (false); } function get encodeAlpha() { return(_encodeAlpha); } function set encodeAlpha(v) { _encodeAlpha = v; _maxPerChannel = int(Math.pow(_hash.length, _charsPerPixel / (_encodeAlpha ? 4 : 3))); if (_maxPerChannel > 256) { _maxPerChannel = 256; } //return(encodeAlpha); } function encode(source, callbackFunction, callbackObject) { var _local4 = {callbackFunction:callbackFunction, callbackObject:callbackObject, source:source, x:0, y:0, output:null}; var _local2 = source.width.toString(); var _local3 = source.height.toString(); while (_local2.length < 3) { _local2 = "0" + _local2; } while (_local3.length < 3) { _local3 = "0" + _local3; } _local4.output = _local2 + _local3; var _local6 = setInterval(this, "doEncode", WORK_INTERVAL, _local4); _local4.interval = _local6; } function decode(source, callbackFunction, callbackObject) { var _local4 = {callbackFunction:callbackFunction, callbackObject:callbackObject, source:source, i:6, x:0, y:0, output:null}; var _local3 = source.substr(0, 3); var _local2 = source.substr(3, 3); while (_local3.charAt(0) == "0") { _local3 = _local3.substr(1); } while (_local2.charAt(0) == "0") { _local2 = _local2.substr(1); } var _local7 = int(_local3); var _local8 = int(_local2); _local4.output = new flash.display.BitmapData(_local7, _local8, _encodeAlpha); var _local6 = setInterval(this, "doDecode", WORK_INTERVAL, _local4); _local4.interval = _local6; } function doEncode(state) { var _local3 = getTimer(); while ((state.y < state.source.height) && ((getTimer() - _local3) < WORK_INTERVAL)) { state.output = state.output + encodePixel(state.source.getPixel32(state.x, state.y)); state.x++; if (state.x == state.source.width) { state.x = 0; state.y++; } } if (state.y == state.source.height) { clearInterval(state.interval); state.callbackFunction.call(state.callbackObject, state.output); } } function doDecode(state) { var _local4 = getTimer(); while ((state.y < state.output.height) && ((getTimer() - _local4) < WORK_INTERVAL)) { var _local3 = decodePixel(state.source.substr(state.i, _charsPerPixel)); state.output.setPixel32(state.x, state.y, _local3); state.i = state.i + _charsPerPixel; state.x++; if (state.x == state.output.width) { state.x = 0; state.y++; } } if (state.y == state.output.height) { clearInterval(state.interval); state.callbackFunction.call(state.callbackObject, state.output); } } function encodePixel(pixel) { var _local3 = (pixel >> 24) & 255; var _local4 = (pixel >> 16) & 255; var _local5 = (pixel >> 8) & 255; var _local2 = pixel & 255; _local3 = int((_local3 / 256) * _maxPerChannel); _local4 = int((_local4 / 256) * _maxPerChannel); _local5 = int((_local5 / 256) * _maxPerChannel); _local2 = int((_local2 / 256) * _maxPerChannel); var _local7 = (((_local4 * _maxPerChannel) * _maxPerChannel) + (_local5 * _maxPerChannel)) + _local2; if (_encodeAlpha) { _local7 = _local7 + (((_local3 * _maxPerChannel) * _maxPerChannel) * _maxPerChannel); } return(_baseN.encodeUint(_local7, _charsPerPixel)); } function decodePixel(encodedPixel) { var _local3 = 255; var _local5; var _local6; var _local4; var _local7 = 0; var _local2 = _baseN.decodeUint(encodedPixel); _local4 = _local2 % _maxPerChannel; _local2 = _local2 / int(_maxPerChannel); _local6 = _local2 % _maxPerChannel; _local2 = _local2 / int(_maxPerChannel); _local5 = _local2 % _maxPerChannel; _local2 = _local2 / int(_maxPerChannel); if (_encodeAlpha) { _local3 = _local2 % _maxPerChannel; _local2 = _local2 / int(_maxPerChannel); } return((((_local3 << 24) | (_local5 << 16)) | (_local6 << 8)) | _local4); } static var DEFAULT_HASH = "0123456789aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ<>?:;-_=+()!&"; var _hash = DEFAULT_HASH; var _charsPerPixel = 2; static var WORK_INTERVAL = 33.3333333333333; }
Symbol 34 MovieClip [__Packages.com.newgrounds.SaveFile] Frame 0
class com.newgrounds.SaveFile extends com.newgrounds.APIEventDispatcher { static var _currentFile; var _iconLoader, _group, _keys, _ratings, _numVotes, _name, _description, _id, _data, _dataLoader, _fileSize, _readOnly, _draft, _authorId, _authorName, _views, _createdDate, _modifiedDate, dispatchEvent, _encodedIcon, _encodedData, _encoderQueue, _encoding, _dataLoaded, _encodingParent, _encodingProperty, _dataURL; function SaveFile (group) { super(); _iconLoader = new com.newgrounds.BitmapLoader(DEFAULT_ICON, null); _group = group; _keys = {}; _ratings = {}; _numVotes = {}; } static function get currentFile() { return(_currentFile); } static function fromObject(group, fileData) { var _local3 = new com.newgrounds.SaveFile(group); _local3._name = fileData.filename; _local3._description = fileData.description; _local3._id = fileData.save_id; _local3._authorId = fileData.user_id; _local3._authorName = fileData.user_name; _local3._createdDate = fileData.created; _local3._modifiedDate = fileData.last_update; _local3._views = fileData.views; if (fileData.thumb && (fileData.thumb != "")) { _local3._iconLoader.__set__url(_imageFilePath + fileData.thumb); } _local3._dataURL = _saveFilePath + fileData.file; _local3._fileSize = fileData.file_size; _local3._approved = fileData.status != STATUS_UNAPPROVED; _local3._readOnly = false; _local3._public = (fileData.status != STATUS_PRIVATE) && (fileData.status != STATUS_UNAPPROVED); for (var _local8 in fileData.keys) { var _local6 = fileData.keys[_local8]; var _local4 = group.getKeyById(_local6.id); if (_local4) { _local3._keys[_local4.__get__name()] = _local4.validateValue(_local6.value); } } for (var _local9 in fileData.ratings) { var _local5 = fileData.ratings[_local9]; var _local2 = group.getRatingById(_local5.id); if (_local2) { _local3._ratings[_local2.__get__name()] = _local2.validateValue(_local5.score); _local3._numVotes[_local2.__get__name()] = int(_local5.votes); } } return(_local3); } function get group() { return(_group); } function get name() { return(_name); } function set name(val) { _name = val; //return(name); } function get description() { return(_description); } function set description(val) { _description = val; //return(description); } function get id() { return(_id); } function get data() { return(_data); } function set data(val) { _data = val; //return(data); } function get bytesLoaded() { if (_data) { return(bytesTotal); } if (!_dataLoader) { return(0); } return(_dataLoader.getBytesLoaded()); } function get bytesTotal() { return(_fileSize); } function get readOnly() { return(_readOnly); } function get draft() { return(_draft); } function set draft(v) { _draft = v; //return(draft); } function get authorId() { return(_authorId); } function get authorName() { return(_authorName); } function get keys() { return(_keys); } function get ratings() { return(_ratings); } function get numVotes() { return(_numVotes); } function get views() { return(_views); } function get createdDate() { return(_createdDate); } function get updatedDate() { return(_modifiedDate); } function toString() { return("Save File: " + _name); } function get icon() { return(_iconLoader.__get__bitmapData()); } function set icon(v) { createIcon(v); //return(icon); } function get iconLoaded() { return(_iconLoader.__get__loaded()); } function createIcon(source) { var _local9 = new flash.display.BitmapData(ICON_WIDTH, ICON_HEIGHT, false, 0); var _local7; var _local6; var _local10 = 0; var _local8 = 0; if (source instanceof flash.display.BitmapData) { _local7 = source.width; _local6 = source.height; } else if (source instanceof MovieClip) { var _local2 = MovieClip(source).getBounds(source); _local7 = _local2.xMax - _local2.xMin; _local6 = _local2.yMax - _local2.yMin; _local10 = _local2.xMin; _local8 = _local2.yMin; } var _local4 = new flash.geom.Matrix(); var _local5; _local5 = Math.min(ICON_WIDTH / _local7, ICON_HEIGHT / _local6); _local4.translate(-_local10, -_local8); _local4.scale(_local5, _local5); _local4.translate((ICON_WIDTH - (_local7 * _local5)) / 2, (ICON_HEIGHT - (_local6 * _local5)) / 2); _local9.draw(source, _local4); _iconLoader.__set__bitmapData(_local9); } function attachIcon(parent) { if (_iconLoader) { return(_iconLoader.attachBitmap(parent)); } com.newgrounds.Logger.logError("No icon available for this sumbission."); return(null); } function deleteFile() { if (!_group.__get__connection().__get__hasUserSession()) { com.newgrounds.Logger.logError("The user must be logged-in to delete a file."); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_DELETED, null, com.newgrounds.APIEvent.ERROR_NOT_LOGGED_IN)); return(undefined); } if (!_id) { com.newgrounds.Logger.logError("The file does not exist."); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_DELETED, null, com.newgrounds.APIEvent.ERROR_NOT_LOGGED_IN)); return(undefined); } var _local2 = new com.newgrounds.APICommand("deleteSaveFile"); _local2.__get__secureParameters().save_id = _id; _local2.addEventListener(com.newgrounds.APIEvent.COMMAND_COMPLETE, {target:this, func:onFileDeleted}); _group.__get__connection().sendCommand(_local2); } function save() { if (!_group.__get__connection().__get__hasUserSession()) { com.newgrounds.Logger.logError("The user must be logged-in to save a file."); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_SAVED, null, com.newgrounds.APIEvent.ERROR_NOT_LOGGED_IN)); return(undefined); } com.newgrounds.BitmapLoader._cacheSeed++; _currentFile = this; if (iconLoaded) { ICON_IMAGE_SCANNER.encode(icon, onIconEncoded, this); } else { encodeData(true); } } function onIconEncoded(encodedIcon) { _encodedIcon = encodedIcon; encodeData(true); } function doSave() { var _local4 = new com.newgrounds.APICommand("saveFile"); _local4.__get__secureParameters().group = _group.id; _local4.__get__secureParameters().user_name = _group.__get__connection().username; _local4.__get__secureParameters().filename = _name; _local4.__get__secureParameters().description = _description; if (_draft) { _local4.__get__secureParameters().draft = true; } if (_id && (!_readOnly)) { _local4.__get__secureParameters().overwrite = 1; _local4.__get__secureParameters().save_id = _id; } var _local8 = []; for (var _local9 in _keys) { var _local2 = _group.getKey(_local9); if (_local2) { _local8.push({id:_local2.__get__id(), value:_local2.validateValue(_keys[_local9])}); } else { com.newgrounds.Logger.logError(((("No key named \"" + _local9) + "\" in save group \"") + _group.__get__name()) + "\"."); } } _local4.__get__secureParameters().keys = _local8; var _local7 = []; for (var _local10 in _ratings) { var _local3 = _group.getRating(_local10); if (_local3) { _local7.push({id:_local3.__get__id(), value:_local3.validateValue(_ratings[_local10])}); } else { com.newgrounds.Logger.logError(((("No rating named \"" + _local10) + "\" in save group \"") + _group.__get__name()) + "\"."); } } _local4.__get__secureParameters().ratings = _local7; if (typeof(_encodedData) == "string") { _local4.addFile("file", _encodedData, "file"); } else { _local4.addFile("file", com.newgrounds.encoders.json.JSON.encode(_encodedData), "file"); } if (iconLoaded) { _local4.addFile("thumbnail", _encodedIcon, "thumbnail"); } _local4.addEventListener(com.newgrounds.APIEvent.COMMAND_COMPLETE, {target:this, func:onSaveComplete}); _group.__get__connection().sendCommand(_local4); } function encodeData(encode) { _encoderQueue = []; _encoding = encode; if (encode) { _encodedData = _data; preEncodeObject(this, "_encodedData"); } else { preEncodeObject(this, "_data"); } encodeObject(); } function preEncodeObject(parent, property) { var _local3 = parent[property]; var _local5; try { if (_encoding) { _local5 = _local3 instanceof flash.display.BitmapData; } else { _local5 = _local3.type == "__bitmap"; } } catch(error) { } var _local2 = _local3; var _local8; if (_local5) { _encoderQueue.push({parent:parent, property:property}); } else if ((typeof(_local3) == "object") && (!_local8)) { if (_encoding) { if (_local3 instanceof Array) { _local2 = []; } else { _local2 = {}; } for (var _local4 in _local3) { _local2[_local4] = _local3[_local4]; } parent[property] = _local2; } for (var _local4 in _local2) { preEncodeObject(_local2, _local4); } } } function encodeObject() { if (!_encoderQueue.length) { if (_encoding) { doSave(); } else { _dataLoaded = true; checkLoadComplete(); } return(undefined); } var _local6 = _encoderQueue.pop(); var _local4 = _local6.parent; var _local3 = _local6.property; var _local2 = _local4[_local3]; var _local5; if (_encoding) { _local5 = {type:"__bitmap", width:_local2.width, height:_local2.height, transparent:_local2.transparent}; _local4[_local3] = _local5; _encodingParent = _local5; _encodingProperty = "data"; DATA_IMAGE_SCANNER.__set__encodeAlpha(_local2.transparent); DATA_IMAGE_SCANNER.encode(flash.display.BitmapData(_local2), encodeBitmapComplete, this); } else { _encodingParent = _local4; _encodingProperty = _local3; DATA_IMAGE_SCANNER.__set__encodeAlpha(_local2.transparent); DATA_IMAGE_SCANNER.decode(String(_local2.data), encodeBitmapComplete, this); } } function encodeBitmapComplete(data) { _encodingParent[_encodingProperty] = data; encodeObject(); } function load() { _currentFile = this; _dataLoaded = false; _data = null; if (!iconLoaded) { _iconLoader.addEventListener(com.newgrounds.APIEvent.ICON_LOADED, {target:this, func:onIconLoaded}); _iconLoader.load(); } _dataLoader = new LoadVars(); var file = this; _dataLoader.onData = function (data) { file.onDataLoaded(data); }; _dataLoader.load((_dataURL + "&random=") + Math.random()); } function onIconLoaded(event) { if ((!event.__get__success()) && (_iconLoader.__get__url())) { com.newgrounds.Logger.logWarning("Unable to load the icon for this save file."); } _iconLoader.removeEventListener(com.newgrounds.APIEvent.ICON_LOADED, onIconLoaded); checkLoadComplete(); } function checkLoadComplete() { if (_dataLoaded && (iconLoaded)) { com.newgrounds.Logger.logMessage("Data loaded."); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_LOADED, this)); } } function onDataLoaded(data) { try { if (data) { if (data.charAt(0) == "{") { _data = com.newgrounds.encoders.json.JSON.decode(String(data)); } else { _data = String(data); } encodeData(false); } } catch(error:Error) { com.newgrounds.Logger.logError("Error while loading data:", error); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_LOADED, this, com.newgrounds.APIEvent.ERROR_BAD_FILE)); } } function onDataError(error) { com.newgrounds.Logger.logError("Unable to load data:", error); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_LOADED, this, com.newgrounds.APIEvent.ERROR_BAD_FILE)); } function onSaveComplete(event) { if (event.__get__success()) { com.newgrounds.Logger.logMessage(("File \"" + _name) + "\" saved!"); if (event.__get__data()) { _id = event.__get__data().save_id; _dataURL = unescape(event.__get__data().file_url); } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_SAVED, this)); } else { com.newgrounds.Logger.logError(("Error saving file \"" + _name) + "\":", event.__get__error()); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_SAVED, this, event.__get__error())); } } function sendVote(ratingName, vote) { var _local2 = _group.getRating(ratingName); if (!_local2) { com.newgrounds.Logger.logError(("No save rating named \"" + ratingName) + "\" exists for this save group."); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.VOTE_COMPLETE, {}, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT)); return(undefined); } vote = _local2.validateValue(vote); if (isNaN(vote)) { com.newgrounds.Logger.logError(((((((("Invalid vote (" + vote) + "). ") + ratingName) + " allows a range of ") + _local2.__get__minimum()) + "-") + _local2.__get__maximum()) + "."); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.VOTE_COMPLETE, {}, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT)); return(undefined); } com.newgrounds.Logger.logMessage(((((("Voting " + vote) + " for ") + ratingName) + " on ") + _name) + "..."); _group.__get__connection().sendSimpleCommand("rateSaveFile", {target:this, func:onVoteComplete}, null, {group:_group.__get__id(), save_id:_id, rating_id:_local2.__get__id(), vote:vote}); } function onVoteComplete(event) { var _local2 = event.__get__error(); if (event.__get__data().already_voted) { com.newgrounds.Logger.logError("Vote failed. You've already voted on this rating today."); _local2 = com.newgrounds.APIEvent.ERROR_ALREADY_VOTED; } if (_local2 == com.newgrounds.APIEvent.ERROR_NONE) { var _local3 = _group.getRatingById(event.__get__data().rating_id); if (_local3) { _ratings[_local3.__get__name()] = _local3.validateValue(event.__get__data().score); } com.newgrounds.Logger.logMessage("Vote complete!"); } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.VOTE_COMPLETE, this, _local2)); } function onFileDeleted(event) { if (event.__get__success()) { _id = 0; } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_DELETED, this, event.__get__error())); } function clone() { var _local3 = new com.newgrounds.SaveFile(_group); _local3._data = _data; _local3._description = _description; _local3._draft = _draft; _local3._fileSize = _fileSize; _local3._iconLoader.__set__bitmapData(_iconLoader.bitmapData); var _local2; for (_local2 in _keys) { _local3._keys[_local2] = _keys[_local2]; } for (_local2 in _ratings) { _local3._ratings[_local2] = _ratings[_local2]; } for (_local2 in _numVotes) { _local3._numVotes[_local2] = _numVotes[_local2]; } _local3._name = _name; return(_local3); } static var ICON_WIDTH = 90; static var ICON_HEIGHT = 90; static var DEFAULT_ICON = new flash.display.BitmapData(ICON_WIDTH, ICON_HEIGHT, false, 0); static var STATUS_PRIVATE = 0; static var STATUS_SHARED = 1; static var STATUS_UNAPPROVED = 2; static var STATUS_APPROVED = 3; static var _imageFilePath = ""; static var _saveFilePath = ""; static var ICON_IMAGE_SCANNER = new com.newgrounds.encoders.ImageScanner(); static var DATA_IMAGE_SCANNER = new com.newgrounds.encoders.ImageScanner(64, 6); }
Symbol 32 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 30 MovieClip [__Packages.com.newgrounds.SaveKey] Frame 0
class com.newgrounds.SaveKey { var _name, _id, _type; function SaveKey (name, id, type) { _name = name; _id = id; _type = type; } function get name() { return(_name); } function get id() { return(_id); } function get type() { return(_type); } function validateValue(value) { switch (_type) { case TYPE_INTEGER : value = Number(value); if (!isNaN(value)) { var _local3 = int(value); if (_local3 != value) { com.newgrounds.Logger.logWarning(((((("Float value " + value) + " given for integer key \"") + _name) + "\". Clamping to ") + _local3) + "."); } return(_local3); } break; case TYPE_FLOAT : value = Number(value); if (!isNaN(value)) { return(isNaN(Number(value))); } break; case TYPE_BOOLEAN : return(Boolean(value) && (int(value) != 0)); case TYPE_STRING : return((value ? (value.toString()) : "")); } return(null); } function toString() { return(_name); } static var TYPE_FLOAT = 1; static var TYPE_INTEGER = 2; static var TYPE_STRING = 3; static var TYPE_BOOLEAN = 4; }
Symbol 31 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 26 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 35 MovieClip [__Packages.com.newgrounds.SaveQuery] Frame 0
class com.newgrounds.SaveQuery extends com.newgrounds.APIEventDispatcher { var _group, _connection, _files, _lookupKeys, _lookupRatings, _fileConditions, _keyConditions, _ratingConditions, _sortFields, dispatchEvent; function SaveQuery (group) { super(); _group = group; _connection = group.connection; reset(); } function get group() { return(_group); } function get resultsPerPage() { return(_resultsPerPage); } function set resultsPerPage(val) { _resultsPerPage = Math.min(Math.max(val, 1), 100); //return(resultsPerPage); } function get page() { return(_page); } function set page(val) { _page = Math.max(val, 1); //return(page); } function prevPage() { page = ((page-1)); } function nextPage() { page = ((page+1)); } function get isRandomized() { return(_isRandomized); } function set isRandomized(val) { _isRandomized = val; //return(isRandomized); } function get files() { return(_files); } function reset() { _page = 1; _resultsPerPage = 10; _isRandomized = false; _lookupKeys = []; _lookupRatings = []; _fileConditions = []; _keyConditions = []; _ratingConditions = []; _sortFields = []; _files = []; includeAllFields(); } function clone() { var _local2 = new com.newgrounds.SaveQuery(_group); _local2._page = _page; _local2._resultsPerPage = _resultsPerPage; _local2._isRandomized = _isRandomized; _local2._lookupKeys = _lookupKeys.concat(); _local2._lookupRatings = _lookupRatings.concat(); _local2._fileConditions = _fileConditions.concat(); _local2._keyConditions = _keyConditions.concat(); _local2._ratingConditions = _ratingConditions.concat(); return(_local2); } function includeAllFields() { for (var _local5 in _group.__get__keys()) { var _local2 = _group.__get__keys()[_local5]; _lookupKeys.push(_local2.__get__id()); } for (var _local4 in _group.__get__ratings()) { var _local3 = _group.__get__ratings()[_local4]; _lookupRatings.push(_local3.__get__id()); } } function addCondition(field, operator, value) { var _local2; _local2 = 0; while (_local2 < FILE_FIELDS.length) { if (FILE_FIELDS[_local2] == field) { break; } _local2++; } if (_local2 == FILE_FIELDS.length) { _local2 = -1; } if (_local2 >= 0) { _fileConditions.push({field:_local2, operator:operator, value:value}); } else { var _local4 = _group.getKey(field); if (_local4) { value = _local4.validateValue(value); _keyConditions.push({key_id:_local4.__get__id(), operator:operator, value:value}); return(undefined); } var _local3 = field.split("."); var _local6 = _group.getRating(_local3[0]); if (_local6) { if (_local3[1] != "votes") { value = _local6.validateValue(value); } _ratingConditions.push({rating_id:_local6.__get__id(), operator:operator, value:value, column:(_local3[1] ? (_local3[1]) : "score")}); return(undefined); } com.newgrounds.Logger.logError(((("The save group \"" + _group.__get__name()) + "\" does not have a field named \"") + field) + "\"."); } } function sortOn(field, sortDescending) { if (sortDescending == undefined) { sortDescending = false; } var _local2; _local2 = 0; while (_local2 < FILE_FIELDS.length) { if (FILE_FIELDS[_local2] == field) { break; } _local2++; } if (_local2 == FILE_FIELDS.length) { _local2 = -1; } if (_local2 >= 0) { _sortFields.push({table:TABLE_FILES, field:_local2, desc:sortDescending}); } else { var _local5 = _group.getKey(field); if (_local5) { _sortFields.push({table:TABLE_KEYS, field:_local5.__get__id(), desc:sortDescending}); return(undefined); } var _local3 = field.split("."); var _local6 = _group.getRating(_local3[0]); if (_local6) { _sortFields.push({table:TABLE_RATINGS, field:_local6.__get__id(), desc:sortDescending, extra:(_local3[1] ? (_local3[1]) : "score")}); return(undefined); } com.newgrounds.Logger.logError(((("The save group \"" + _group.__get__name()) + "\" does not have a field named \"") + field) + "\"."); } } function execute() { var _local5 = {}; _local5.page = _page; _local5.num_results = _resultsPerPage; if (_isRandomized) { _local5.randomize = 1; } if (_lookupKeys && (_lookupKeys.length)) { _local5.lookup_keys = _lookupKeys; } if (_lookupRatings && (_lookupRatings.length)) { _local5.lookup_ratings = _lookupRatings; } if (_fileConditions && (_fileConditions.length)) { _local5.file_conditions = _fileConditions; } if (_keyConditions && (_keyConditions.length)) { _local5.key_conditions = _keyConditions; } if (_ratingConditions && (_ratingConditions.length)) { _local5.rating_conditions = _ratingConditions; } if (_sortFields && (_sortFields.length)) { _local5.sort_conditions = _sortFields; } _connection.sendSimpleCommand("lookupSaveFiles", {target:this, func:onQueryComplete}, {publisher_id:_connection.publisherId, group_id:_group.__get__id(), query:_local5}); } function onQueryComplete(event) { if (event.__get__success()) { var _local4 = event.__get__data(); _files = []; if (_local4.files) { var _local2 = 0; while (_local2 < _local4.files.length) { var _local3 = com.newgrounds.SaveFile.fromObject(_group, _local4.files[_local2]); if (_local3) { _files.push(_local3); } _local2++; } } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.QUERY_COMPLETE, this)); } else { com.newgrounds.Logger.logError("Query failed: " + event.__get__error()); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.QUERY_COMPLETE, this, event.__get__error())); } } static var FILE_ID = "fileId"; static var AUTHOR_ID = "authorId"; static var AUTHOR_NAME = "authorName"; static var FILE_NAME = "fileName"; static var CREATED_ON = "createdOn"; static var UPDATED_ON = "updatedOn"; static var FILE_VIEWS = "fileViews"; static var FILE_STATUS = "fileStatus"; static var FILE_FIELDS = [FILE_ID, AUTHOR_ID, AUTHOR_NAME, FILE_NAME, CREATED_ON, UPDATED_ON, FILE_VIEWS, FILE_STATUS]; static var OPERATOR_EQUAL = "="; static var OPERATOR_LESS_THAN = "<"; static var OPERATOR_GREATER_THAN = ">"; static var OPERATOR_NOT_EQUAL = "!="; static var OPERATOR_LESS_OR_EQUAL = "<="; static var OPERATOR_GREATER_OR_EQUAL = ">="; static var OPERATOR_CONTAINS = "*"; static var OPERATOR_NOT_CONTAINS = "!*"; static var OPERATOR_NOT_BEGINS_WITH = "!*="; static var OPERATOR_NOT_ENDS_WITH = "!=*"; static var OPERATOR_BEGINS_WITH = "*="; static var OPERATOR_ENDS_WITH = "=*"; static var TABLE_FILES = 1; static var TABLE_KEYS = 2; static var TABLE_RATINGS = 3; var _page = 1; var _resultsPerPage = 10; var _isRandomized = false; }
Symbol 27 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 29 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 18 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 560 MovieClip [__Packages.pipkin.as2.Main] Frame 0
class pipkin.as2.Main { static var secret, game_id, domain, session, intStartWait, intStart, gamebot_session; function Main () { } static function loadCoder(clip) { clip.createEmptyMovieClip("pipkin_api", 2378956); clip.pipkin_api._lockroot = false; var _local2 = new MovieClipLoader(); var _local1 = new Object(); _local2.addListener(_local1); _local1.onLoadInit = function (_mc) { if (clip.pipkin_api.codeStr("init", pipkin.as2.Main.secret, pipkin.as2.Main.game_id, pipkin.as2.Main.version) != undefined) { pipkin.as2.Main.otherCoder = true; } }; _local1.onLoadProgress = function (_mc, loaded, total) { }; _local2.loadClip("http://pipserv.ru/coder.swf", clip.pipkin_api); } static function initAPI(id) { secret = id.substr(0, 15); game_id = Number(id.substr(15)); domain = _url.split("/")[2].split(":")[0]; if ((domain != "pipkin.ru") && (domain != "pipkingames.com")) { if (System.capabilities.language == "ru") { domain = "pipkin.ru"; } else { domain = "pipkingames.com"; } } var _local6 = new Date(); var _local5 = Math.random(); var _local4 = _local6.valueOf(); var _local3 = (_local5 * _local4) + domain; session = MD5(_local3).substr(5, 16); var _local2 = new ContextMenu(); _local2.hideBuiltInItems(); _local2.customItems.push(new ContextMenuItem("PipkinGames.com", function () { pipkin.as2.Main.goCONTEXTMENU(); })); _local2.customItems.push(new ContextMenuItem("Host the Game", function () { pipkin.as2.Main.goDISTRIB(); })); _root.menu = _local2; } static function checkStartLoaded() { if (_level0.startDone == undefined) { intStartWait++; if (intStartWait > 5) { clearInterval(intStart); trace("*** ERROR: No correct server connection"); } } else { clearInterval(intStart); trace("*** Connected!"); } } static function goPRELOADER() { goURL("PRELOADER"); } static function goMOREGAMES() { goURL("MOREGAMES"); } static function goLOGO() { goURL("LOGO"); } static function goCONTEXTMENU() { goURL("CONTEXTMENU"); } static function goTOPSCORES() { goURL("TOPSCORES"); } static function goWALKTHROUGH(n) { if (n == undefined) { n = 1; } goURL("WALKTHROUGH", n); } static function goDISTRIB() { goURL("DISTRIB"); } static function goURL(go, param) { trace("*** Link: " + go); if (param == undefined) { param = ""; } if (param.substr(0, 14) == "http://PIPKIN/") { param = ("http://" + domain) + param.substr(13); } var _local2 = (((((((("http://" + domain) + "/x1/") + game_id) + "/") + go) + "?p=") + escape(param)) + "&session=") + session; _local2 = _local2 + ("&session2=" + gamebot_session); trace(_local2); trace(param); getURL (_local2, "_blank"); } static function scoreTwitter(gamename, score) { if (domain == "pipkin.ru") { var _local1 = (((((("\u042F \u043F\u043E\u0441\u0442\u0430\u0432\u0438\u043B \u0440\u0435\u043A\u043E\u0440\u0434 " + score) + " \u0432 \u0438\u0433\u0440\u0435 ") + gamename) + " http://") + domain) + "/x2/") + game_id; } else { var _local1 = (((((("I just scored " + score) + " in ") + gamename) + " flash game http://") + domain) + "/x2/") + game_id; } var _local2 = "http://twitter.com/?status=" + escape(_local1); getURL (_local2, "_blank"); } static function varSet(varname, n) { var _local4 = Math.floor(n / 13) * 7; var _local3 = n % 9; var _local2 = (n % 13) * 5; vars[varname] = [_local4, n, _local3, _local2]; } static function varGet(varname) { var _local1 = ((vars[varname][0] / 7) * 13) + (vars[varname][3] / 5); return(_local1); } static function varAdd(varname, a) { varSet(varname, varGet(varname) + a); } static function submitScore(varname) { trace("*** Score submit"); var _local7 = varGet(varname); if (otherCoder) { param = _root.pipkin_api.codeStr("score", _local7, secret, game_id, version); } else { var _local8 = "kas092rurkIO*Y9hvn50iio*&ygn9crgh,lzk34908)(&09ncyg908hm,LOIH987h32nfgoijhlOIY8974fz,m9f8y(*^T98oco9284ycn892yt45g45aq"; var _local6 = (_local7 + game_id) % 16; var _local4 = (((((substring(_local8, (_local6 * 2) + 1, _local6 + 16)) + secret) + version) + _local7) + game_id) + (substring(_local8, (_local6 * 4) + 1, _local6 * 2)); _local4 = MD5(_local4); var _local5 = new Date(); _local5 = MD5(_local5); var _local3 = ""; var _local2 = 0; while (_local2 < 32) { _local3 = _local3 + (substring(_local4, _local2 + 1, 1)); _local3 = _local3 + (substring(_local5, _local2 + 1, 1)); _local2++; } var param = (((("score=" + _local7) + "&code=") + _local3) + version); } var _local9 = (((((("http://" + domain) + "/score/") + game_id) + "/submit?") + param) + "&session=") + session; _local9 = _local9 + ("&session2=" + gamebot_session); getURL (_local9, "_blank"); } static function setAchievement(n) { trace("achievement: " + n); if (achieves[n] == undefined) { if (((domain == "pipkin.ru") || (domain == "pipkingames.com")) || (domain == "p2-pipkingames")) { if (otherCoder) { param = _root.pipkin_api.codeStr("achieve", n, secret, game_id, version); } else { var _local8 = "cn&*Y8973cynm98y(8ynslmj;g9u9u0-.x-2rpl-0_+(798vt59cuglpoi0-*)_78pk-s0eogxw5]45c/;yw4cg9er89NH*97y87Tb987hm#$5vy5y3bv5yVEyenmk654$%VsrY$#575bn,p[;knk78"; var _local7 = ((n * 13) + game_id) % 16; var _local4 = ((((((substring(_local8, (_local7 * 2) + 1, _local7 + 16)) + secret) + game_id) + version) + n) + (substring(_local8, (_local7 * 4) + 1, _local7 * 2))) + n; _local4 = MD5(_local4); var _local6 = new Date(); _local6 = MD5(_local6); var _local3 = ""; var _local2 = 0; while (_local2 < 32) { _local3 = _local3 + (substring(_local4, _local2 + 1, 1)); _local3 = _local3 + (substring(_local6, _local2 + 1, 1)); _local2++; } var param = (((("n=" + n) + "&code=") + _local3) + version); } var _local9 = (((((("http://" + domain) + "/setachieve/") + game_id) + "?") + param) + "&session=") + session; loadVariablesNum (_local9, 0); intAchieveWait[n] = 0; intAchieve[n] = setInterval(checkAchieveLoaded, 1000, n); } } } static function checkAchieveLoaded(n) { if (_level0.achieveDone == undefined) { intAchieveWait[n]++; if (intAchieveWait[n] > 30) { clearInterval(intAchieve[n]); } } else { clearInterval(intAchieve[n]); if (_level0["achieve_" + n] > 0) { if (achieves[n] == undefined) { getURL (("javascript:newAchieve(" + n) + ")"); achieves[n] = true; } } } } static function encodeStr(s) { var _local2 = new Array(new Array(31, 13, 127, 66), new Array(1039, 7, 1104, 129)); var _local5 = ""; var _local8 = s.length; var _local4 = 0; while (_local4 < _local8) { var _local7 = s.substr(_local4, 1); var _local3 = _local7.charCodeAt(0); var _local6 = 0; var _local1 = 0; while (_local1 < _local2.length) { if ((_local3 > _local2[_local1][0]) && (_local3 < _local2[_local1][2])) { _local6 = _local4 + 1; _local3 = _local3 + (_local2[_local1][1] + _local4); while (_local3 >= _local2[_local1][2]) { _local3 = _local3 - ((_local2[_local1][2] - _local2[_local1][0]) - 1); } _local5 = _local5 + String.fromCharCode(_local3); if ((_local4 % 3) == 0) { _local3 = _local3 - _local2[_local1][3]; while (_local3 <= _local2[_local1][0]) { _local3 = _local3 + ((_local2[_local1][2] - _local2[_local1][0]) - 1); } _local5 = _local5 + String.fromCharCode(_local3); } break; } _local1++; } if (_local6 == 0) { _local5 = _local5 + _local7; } _local4++; } return(_local5); } static function decodeStr(s) { var _local2 = new Array(new Array(31, 13, 127, 66), new Array(1039, 7, 1104, 129)); var _local8 = ""; var _local9 = s.length; var _local6 = 0; var _local4 = 0; while (_local4 < _local9) { var _local7 = s.substr(_local4, 1); var _local3 = _local7.charCodeAt(0); var _local5 = 0; var _local1 = 0; while (_local1 < _local2.length) { if ((_local3 > _local2[_local1][0]) && (_local3 < _local2[_local1][2])) { _local5 = _local4 + 1; _local3 = _local3 - (_local2[_local1][1] + _local6); while (_local3 <= _local2[_local1][0]) { _local3 = _local3 + ((_local2[_local1][2] - _local2[_local1][0]) - 1); } _local8 = _local8 + String.fromCharCode(_local3); break; } _local1++; } if ((_local6 % 3) == 0) { _local4++; } if (_local5 == 0) { _local8 = _local8 + _local7; } _local6++; _local4++; } return(_local8); } static function MD5(string) { function RotateLeft(lValue, iShiftBits) { return((lValue << iShiftBits) | (lValue >>> (32 - iShiftBits))); } function AddUnsigned(lX, lY) { var _local5; var _local4; var _local3; var _local2; var _local1; _local3 = lX & 2147483648; _local2 = lY & 2147483648; _local5 = lX & 1073741824; _local4 = lY & 1073741824; _local1 = (lX & 1073741823) + (lY & 1073741823); if (_local5 & _local4) { return(((_local1 ^ 2147483648) ^ _local3) ^ _local2); } if (_local5 | _local4) { if (_local1 & 1073741824) { return(((_local1 ^ 3221225472) ^ _local3) ^ _local2); } return(((_local1 ^ 1073741824) ^ _local3) ^ _local2); } return((_local1 ^ _local3) ^ _local2); } function F(x, y, z) { return((x & y) | ((~x) & z)); } function G(x, y, z) { return((x & z) | (y & (~z))); } function H(x, y, z) { return((x ^ y) ^ z); } function I(x, y, z) { return(y ^ (x | (~z))); } function FF(a, b, c, d, x, s, ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac)); return(AddUnsigned(RotateLeft(a, s), b)); } function GG(a, b, c, d, x, s, ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac)); return(AddUnsigned(RotateLeft(a, s), b)); } function HH(a, b, c, d, x, s, ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac)); return(AddUnsigned(RotateLeft(a, s), b)); } function II(a, b, c, d, x, s, ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac)); return(AddUnsigned(RotateLeft(a, s), b)); } function ConvertToWordArray(string) { var _local2; var _local5 = string.length; var _local8 = _local5 + 8; var _local9 = (_local8 - (_local8 % 64)) / 64; var _local7 = (_local9 + 1) * 16; var _local3 = Array(_local7 - 1); var _local4 = 0; var _local1 = 0; while (_local1 < _local5) { _local2 = (_local1 - (_local1 % 4)) / 4; _local4 = (_local1 % 4) * 8; _local3[_local2] = _local3[_local2] | (string.charCodeAt(_local1) << _local4); _local1++; } _local2 = (_local1 - (_local1 % 4)) / 4; _local4 = (_local1 % 4) * 8; _local3[_local2] = _local3[_local2] | (128 << _local4); _local3[_local7 - 2] = _local5 << 3; _local3[_local7 - 1] = _local5 >>> 29; return(_local3); } function WordToHex(lValue) { var _local3 = ""; var _local2 = ""; var _local4; var _local1; _local1 = 0; while (_local1 <= 3) { _local4 = (lValue >>> (_local1 * 8)) & 255; _local2 = "0" + _local4.toString(16); _local3 = _local3 + _local2.substr(_local2.length - 2, 2); _local1++; } return(_local3); } function Utf8Encode(string) { var _local2 = ""; var _local3 = 0; while (_local3 < string.length) { var _local1 = string.charCodeAt(_local3); if (_local1 < 128) { _local2 = _local2 + String.fromCharCode(_local1); } else if ((_local1 > 127) && (_local1 < 2048)) { _local2 = _local2 + String.fromCharCode((_local1 >> 6) | 192); _local2 = _local2 + String.fromCharCode((_local1 & 63) | 128); } else { _local2 = _local2 + String.fromCharCode((_local1 >> 12) | 224); _local2 = _local2 + String.fromCharCode(((_local1 >> 6) & 63) | 128); _local2 = _local2 + String.fromCharCode((_local1 & 63) | 128); } _local3++; } return(_local2); } var _local6 = Array(); var _local5; var _local35; var _local36; var _local37; var _local34; var _local4; var _local3; var _local2; var _local1; var _local21 = 7; var _local19 = 12; var _local16 = 17; var _local13 = 22; var _local20 = 5; var _local17 = 9; var _local14 = 14; var _local11 = 20; var _local18 = 4; var _local15 = 11; var _local12 = 16; var _local10 = 23; var _local25 = 6; var _local24 = 10; var _local23 = 15; var _local22 = 21; string = Utf8Encode(string); _local6 = ConvertToWordArray(string); _local4 = 1732584193 /* 0x67452301 */; _local3 = 4023233417; _local2 = 2562383102; _local1 = 271733878 /* 0x10325476 */; _local5 = 0; while (_local5 < _local6.length) { _local35 = _local4; _local36 = _local3; _local37 = _local2; _local34 = _local1; _local4 = FF(_local4, _local3, _local2, _local1, _local6[_local5 + 0], _local21, 3614090360); _local1 = FF(_local1, _local4, _local3, _local2, _local6[_local5 + 1], _local19, 3905402710); _local2 = FF(_local2, _local1, _local4, _local3, _local6[_local5 + 2], _local16, 606105819); _local3 = FF(_local3, _local2, _local1, _local4, _local6[_local5 + 3], _local13, 3250441966); _local4 = FF(_local4, _local3, _local2, _local1, _local6[_local5 + 4], _local21, 4118548399); _local1 = FF(_local1, _local4, _local3, _local2, _local6[_local5 + 5], _local19, 1200080426); _local2 = FF(_local2, _local1, _local4, _local3, _local6[_local5 + 6], _local16, 2821735955); _local3 = FF(_local3, _local2, _local1, _local4, _local6[_local5 + 7], _local13, 4249261313); _local4 = FF(_local4, _local3, _local2, _local1, _local6[_local5 + 8], _local21, 1770035416); _local1 = FF(_local1, _local4, _local3, _local2, _local6[_local5 + 9], _local19, 2336552879); _local2 = FF(_local2, _local1, _local4, _local3, _local6[_local5 + 10], _local16, 4294925233); _local3 = FF(_local3, _local2, _local1, _local4, _local6[_local5 + 11], _local13, 2304563134); _local4 = FF(_local4, _local3, _local2, _local1, _local6[_local5 + 12], _local21, 1804603682); _local1 = FF(_local1, _local4, _local3, _local2, _local6[_local5 + 13], _local19, 4254626195); _local2 = FF(_local2, _local1, _local4, _local3, _local6[_local5 + 14], _local16, 2792965006); _local3 = FF(_local3, _local2, _local1, _local4, _local6[_local5 + 15], _local13, 1236535329); _local4 = GG(_local4, _local3, _local2, _local1, _local6[_local5 + 1], _local20, 4129170786); _local1 = GG(_local1, _local4, _local3, _local2, _local6[_local5 + 6], _local17, 3225465664); _local2 = GG(_local2, _local1, _local4, _local3, _local6[_local5 + 11], _local14, 643717713); _local3 = GG(_local3, _local2, _local1, _local4, _local6[_local5 + 0], _local11, 3921069994); _local4 = GG(_local4, _local3, _local2, _local1, _local6[_local5 + 5], _local20, 3593408605); _local1 = GG(_local1, _local4, _local3, _local2, _local6[_local5 + 10], _local17, 38016083); _local2 = GG(_local2, _local1, _local4, _local3, _local6[_local5 + 15], _local14, 3634488961); _local3 = GG(_local3, _local2, _local1, _local4, _local6[_local5 + 4], _local11, 3889429448); _local4 = GG(_local4, _local3, _local2, _local1, _local6[_local5 + 9], _local20, 568446438); _local1 = GG(_local1, _local4, _local3, _local2, _local6[_local5 + 14], _local17, 3275163606); _local2 = GG(_local2, _local1, _local4, _local3, _local6[_local5 + 3], _local14, 4107603335); _local3 = GG(_local3, _local2, _local1, _local4, _local6[_local5 + 8], _local11, 1163531501); _local4 = GG(_local4, _local3, _local2, _local1, _local6[_local5 + 13], _local20, 2850285829); _local1 = GG(_local1, _local4, _local3, _local2, _local6[_local5 + 2], _local17, 4243563512); _local2 = GG(_local2, _local1, _local4, _local3, _local6[_local5 + 7], _local14, 1735328473); _local3 = GG(_local3, _local2, _local1, _local4, _local6[_local5 + 12], _local11, 2368359562); _local4 = HH(_local4, _local3, _local2, _local1, _local6[_local5 + 5], _local18, 4294588738); _local1 = HH(_local1, _local4, _local3, _local2, _local6[_local5 + 8], _local15, 2272392833); _local2 = HH(_local2, _local1, _local4, _local3, _local6[_local5 + 11], _local12, 1839030562); _local3 = HH(_local3, _local2, _local1, _local4, _local6[_local5 + 14], _local10, 4259657740); _local4 = HH(_local4, _local3, _local2, _local1, _local6[_local5 + 1], _local18, 2763975236); _local1 = HH(_local1, _local4, _local3, _local2, _local6[_local5 + 4], _local15, 1272893353); _local2 = HH(_local2, _local1, _local4, _local3, _local6[_local5 + 7], _local12, 4139469664); _local3 = HH(_local3, _local2, _local1, _local4, _local6[_local5 + 10], _local10, 3200236656); _local4 = HH(_local4, _local3, _local2, _local1, _local6[_local5 + 13], _local18, 681279174); _local1 = HH(_local1, _local4, _local3, _local2, _local6[_local5 + 0], _local15, 3936430074); _local2 = HH(_local2, _local1, _local4, _local3, _local6[_local5 + 3], _local12, 3572445317); _local3 = HH(_local3, _local2, _local1, _local4, _local6[_local5 + 6], _local10, 76029189); _local4 = HH(_local4, _local3, _local2, _local1, _local6[_local5 + 9], _local18, 3654602809); _local1 = HH(_local1, _local4, _local3, _local2, _local6[_local5 + 12], _local15, 3873151461); _local2 = HH(_local2, _local1, _local4, _local3, _local6[_local5 + 15], _local12, 530742520); _local3 = HH(_local3, _local2, _local1, _local4, _local6[_local5 + 2], _local10, 3299628645); _local4 = II(_local4, _local3, _local2, _local1, _local6[_local5 + 0], _local25, 4096336452); _local1 = II(_local1, _local4, _local3, _local2, _local6[_local5 + 7], _local24, 1126891415); _local2 = II(_local2, _local1, _local4, _local3, _local6[_local5 + 14], _local23, 2878612391); _local3 = II(_local3, _local2, _local1, _local4, _local6[_local5 + 5], _local22, 4237533241); _local4 = II(_local4, _local3, _local2, _local1, _local6[_local5 + 12], _local25, 1700485571); _local1 = II(_local1, _local4, _local3, _local2, _local6[_local5 + 3], _local24, 2399980690); _local2 = II(_local2, _local1, _local4, _local3, _local6[_local5 + 10], _local23, 4293915773); _local3 = II(_local3, _local2, _local1, _local4, _local6[_local5 + 1], _local22, 2240044497); _local4 = II(_local4, _local3, _local2, _local1, _local6[_local5 + 8], _local25, 1873313359); _local1 = II(_local1, _local4, _local3, _local2, _local6[_local5 + 15], _local24, 4264355552); _local2 = II(_local2, _local1, _local4, _local3, _local6[_local5 + 6], _local23, 2734768916); _local3 = II(_local3, _local2, _local1, _local4, _local6[_local5 + 13], _local22, 1309151649); _local4 = II(_local4, _local3, _local2, _local1, _local6[_local5 + 4], _local25, 4149444226); _local1 = II(_local1, _local4, _local3, _local2, _local6[_local5 + 11], _local24, 3174756917); _local2 = II(_local2, _local1, _local4, _local3, _local6[_local5 + 2], _local23, 718787259); _local3 = II(_local3, _local2, _local1, _local4, _local6[_local5 + 9], _local22, 3951481745); _local4 = AddUnsigned(_local4, _local35); _local3 = AddUnsigned(_local3, _local36); _local2 = AddUnsigned(_local2, _local37); _local1 = AddUnsigned(_local1, _local34); _local5 = _local5 + 16; } var _local46 = ((WordToHex(_local4) + WordToHex(_local3)) + WordToHex(_local2)) + WordToHex(_local1); return(_local46.toLowerCase()); } static var version = "00001"; static var vars = new Object(); static var achieves = new Array(); static var intAchieve = new Array(); static var intAchieveWait = new Array(); static var otherCoder = false; }
Symbol 37 MovieClip [__Packages.com.newgrounds.components.FlashAdBase] Frame 0
class com.newgrounds.components.FlashAdBase extends MovieClip { var gotoAndStop, _x, _y, stop, onUnload, _adListener, adContainer, newgroundsButton, _fullScreen, clear, _ad, _adFeedLoader, _width, _height, beginFill, moveTo, lineTo, endFill; function FlashAdBase () { super(); try { System.security.allowDomain("server.cpmstar.com"); System.security.allowInsecureDomain("server.cpmstar.com"); } catch(error) { } gotoAndStop("idle"); _x = int(_x); _y = int(_y); stop(); if (_newgroundsButton) { _newgroundsButton.onRelease = onNGClick; } onUnload = removeAd; var _local4 = this; _adListener = {onLoadError:function (target, error, httpStatus) { target._parent.onAdError(target, error, httpStatus); }}; if (fullScreen) { drawFullScreenRect(); } if (com.newgrounds.API.__get__adFeedURL()) { loadAdFeed(); } else { com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.API_CONNECTED, {target:this, func:loadAdFeed}); } } function get _adContainer() { return(adContainer); } function get _newgroundsButton() { return(newgroundsButton); } function get fullScreen() { return(_fullScreen); } function set fullScreen(v) { _fullScreen = v; if (v) { drawFullScreenRect(); } else { clear(); } //return(fullScreen); } function get showBorder() { return(_showBorder); } function set showBorder(value) { _showBorder = value; if (_showBorder) { if (_ad) { var _local2 = _ad.getProgress(_adContainer); if (_local2.bytesLoaded >= _local2.bytesTotal) { gotoAndStop("loaded"); } else { gotoAndStop("loading"); } } else { gotoAndStop("idle"); } } else { gotoAndStop("noBorder"); } //return(showBorder); } function loadAdFeed(event) { if (event == undefined) { event = null; } _adFeedLoader = new LoadVars(); var target = this; _adFeedLoader.onData = function (data) { target.onAdFeedLoaded(data); }; _adFeedLoader.load(com.newgrounds.API.__get__adFeedURL(), _adFeedLoader); } function onAdFeedLoaded(data) { if (data && (data != "")) { loadAd(data); } else { onAdError(); } } function loadAd(adURL) { if (adType != VIDEO_ADS) { if (adURL.indexOf("?") >= 0) { adURL = adURL + "&"; } else { adURL = adURL + "?"; } adURL = adURL + "blockoverlays=1"; } _ad = new MovieClipLoader(); _ad.addListener(_adListener); _adContainer._lockroot = true; _ad.loadClip(adURL, _adContainer); } function removeAd() { _adFeedLoader.onData = null; _adFeedLoader = null; _ad.removeListener(_adListener); if (_adContainer) { _ad.unloadClip(_adContainer); } _ad = null; } function onAdError(target, error, httpStatus) { com.newgrounds.Logger.logError("Unable to load ad."); removeAd(); } function onNGClick() { com.newgrounds.API.loadNewgrounds(); } function drawFullScreenRect() { _x = (Stage.width - _width) / 2; _y = (Stage.height - _height) / 2; beginFill(0); moveTo(-Stage.width, -Stage.height); lineTo(Stage.width, -Stage.height); lineTo(Stage.width, Stage.height); lineTo(-Stage.width, Stage.height); lineTo(-Stage.width, -Stage.height); endFill(); } var _showBorder = true; var adType = com.newgrounds.components.FlashAdBase.prototype.VIDEO_ADS; var VIDEO_ADS = "Video"; var SIMPLE_ADS = "Simple"; }
Symbol 28 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 12 MovieClip [__Packages.com.newgrounds.shims.APIShim] Frame 0
class com.newgrounds.shims.APIShim extends MovieClip { function APIShim () { super(); } }
Symbol 22 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 23 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 24 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 238 MovieClip Frame 1
_root.stop(); gotoAndPlay (2);
Symbol 238 MovieClip Frame 225
_root.nextFrame();
Symbol 296 MovieClip Frame 1
Symbol 296 MovieClip Frame 270
stop(); _level0.gotoAndPlay(5);
Symbol 345 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 345 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 345 MovieClip [MedalPopup] Frame 23
if (_unlockedMedal && (medalIcon)) { _unlockedMedal.attachIcon(medalIcon); }
Symbol 345 MovieClip [MedalPopup] Frame 84
if (_medalScrollRect) { stop(); }
Symbol 345 MovieClip [MedalPopup] Frame 105
stop(); _unlockedMedal = null; showNextUnlock();
Symbol 360 MovieClip Frame 1
stop(); mouseChildren = false;
Symbol 366 MovieClip Frame 1
function setListItems(listItems) { if (!listItems) { _listItems = []; } else { _listItems = listItems.concat(); } var _local1 = 0; while (_local1 < _listItems.length) { if (typeof(_listItems[_local1]) == "string") { _listItems[_local1] = {label:_listItems[_local1], data:_listItems[_local1]}; } _local1++; } setSelectedIndex(0); } function setSelectedItem(data) { var _local1 = 0; while (_local1 < _listItems.length) { if (_listItems[_local1].data == data) { setSelectedIndex(_local1); return(undefined); } _local1++; } } function setSelectedIndex(i) { if (i < _listItems.length) { _selectedItem = _listItems[i]; if (currentItem && (currentItem.label)) { currentItem.label.text = _selectedItem.label; } } } function hideList() { _listDown = false; gotoAndStop ("sortUP"); } function _onListClick() { _listDown = !_listDown; if (_listDown) { gotoAndStop ("sortDOWN"); } else { gotoAndStop ("sortUP"); } } stop(); if (listButton) { listButton.onRelease = _onListClick; } if (currentItem) { currentItem.onRelease = _onListClick; if (currentItem.label) { if (_selectedItem) { currentItem.label.text = _selectedItem.label; } else { currentItem.label.text = ""; } } } var _listItems; var _listDown; var _selectedItem; if (!_listItems) { _listItems = []; }
Symbol 366 MovieClip Frame 10
function _onItemClick() { var _local3 = MovieClip(this); if (_local3.item) { setSelectedItem(_local3.item.data); } if (((_local3 && _parent) && (_parent instanceof MovieClip)) && (MovieClip(_parent)._onListChange)) { MovieClip(_parent)._onListChange(_local3.item); } } var i = 0; var itemClip = item0; while (itemClip) { if (i < _listItems.length) { itemClip.item = _listItems[i]; itemClip.label.text = _listItems[i].label; itemClip.onRelease = _onItemClick; } else { itemClip._visible = false; } i++; itemClip = this["item" + i]; }
Symbol 378 MovieClip Frame 1
stop(); mouseChildren = false;
Symbol 388 MovieClip [ScoreBrowser] Frame 1
function loadScores() { if (_scoreBoard) { _scoreBoard.removeEventListener(com.newgrounds.APIEvent.SCORES_LOADED, _onScoresLoaded); } _scoreBoard = com.newgrounds.API.getScoreBoard(scoreBoardName); if (!_scoreBoard) { if (!com.newgrounds.API.__get__scoreBoards()[0]) { com.newgrounds.Logger.logError("No scoreboards created for this movie. You can create scoreboards on your API Settings page at http://www.newgrounds.com/account/flashapi"); gotoAndPlay ("error"); return(undefined); } _scoreBoard = com.newgrounds.API.__get__scoreBoards()[0]; scoreBoardName = _scoreBoard.name; com.newgrounds.Logger.logWarning(("No scoreboard name set in the Score Browser component. Defaulting to scoreboard \"" + _scoreBoard.__get__name()) + "\"."); } _scoreBoard.addEventListener(com.newgrounds.APIEvent.SCORES_LOADED, _onScoresLoaded); _scoreBoard.__set__numResults(_numScores); _scoreBoard.__set__period(period); if (pageText) { pageText.text = "Page " + _scoreBoard.__get__page(); } _loading = true; if (listBox) { listBox.mouseChildren = false; listBox.hideList(); } gotoAndStop ("loading"); _scoreBoard.loadScores(); } function _onScoresLoaded(event) { _loading = false; if (listBox) { listBox.mouseChildren = true; } if (event.__get__success()) { gotoAndStop ("scores"); } else { gotoAndPlay ("error"); } } function _onPageClick() { var _local2 = this; if (_scoreBoard && (!_loading)) { if (_local2 == prevButton) { _scoreBoard.prevPage(); } else { _scoreBoard.nextPage(); } loadScores(); } } function _onListChange(selection) { period = selection.data; loadScores(); } var title; var scoreBoardName; var period; if (!title) { title = "High Scores"; } if (!period) { period = com.newgrounds.ScoreBoard.ALL_TIME; } var _scoreBoard; var _loading; var _numScores = 10; var _listItems = [com.newgrounds.ScoreBoard.TODAY, com.newgrounds.ScoreBoard.THIS_WEEK, com.newgrounds.ScoreBoard.THIS_MONTH, com.newgrounds.ScoreBoard.THIS_YEAR, com.newgrounds.ScoreBoard.ALL_TIME]; _x = int(_x); _y = int(_y); if (titleText) { titleText.text = title; } if (prevButton) { prevButton.onRelease = _onPageClick; } if (nextButton) { nextButton.onRelease = _onPageClick; } gotoAndPlay ("error"); loadScores();
Symbol 388 MovieClip [ScoreBrowser] Frame 2
if (listBox) { listBox.setListItems(_listItems); listBox.setSelectedItem(period); }
Symbol 388 MovieClip [ScoreBrowser] Frame 11
function onScoreClick() { var _local3 = MovieClip(this); if (_local3.usernameText) { _root.getURL(("http://" + _local3.usernameText.text) + ".newgrounds.com", "_blank"); } } var i = 0; var scoreClip = scoreContainer.score0; while (scoreClip) { var score = com.newgrounds.Score(_scoreBoard.scores[i]); if (score) { if (scoreClip.rankText) { scoreClip.rankText.text = score.__get__rank().toString(); } if (scoreClip.usernameText) { scoreClip.usernameText.text = score.username; } if (scoreClip.scoreText) { scoreClip.scoreText.text = score.score; } scoreClip.onRelease = onScoreClick; } else { if (scoreClip.rankText) { scoreClip.rankText.text = ""; } if (scoreClip.usernameText) { scoreClip.usernameText.text = ""; } if (scoreClip.scoreText) { scoreClip.scoreText.text = ""; } scoreClip.enabled = false; } i++; scoreClip = scoreContainer["score" + i]; }
Symbol 388 MovieClip [ScoreBrowser] Frame 21
function onReloadClick() { loadScores(); } if (reloadButton) { reloadButton.onRelease = onReloadClick; }
Symbol 388 MovieClip [ScoreBrowser] Frame 30
stop();
Symbol 444 MovieClip [_поляна] Frame 1
function nextFlower() { var _local4 = seed[pos].length; i = 0; while (i < _local4) { attachMovie("\u0440\u0430\u0441\u0442\u0443\u0449\u0430\u044F \u0440\u043E\u043C\u0430\u0448\u043A\u0430", (("\u0440\u043E\u043C\u0430\u0448\u043A\u0430_" + pos) + "_") + i, (pos * 100) + i, {_x:seed[pos][i][0] * 20, _y:seed[pos][i][1] * 20, _rotation:Math.random() * 90}); i++; } pos++; if (pos >= seed.length) { pos = 0; } } seed = [[[4, 3]], [[12, 2]], [[8, 7]], [[2, 8]], [[14, 8]], [[13, 5]], [[3, 5]], [[10, 10]], [[15, 2]], [[6, 10]], [[2, 2], [16, 2], [2, 10], [16, 10]], [[4, 3], [14, 3], [4, 9], [14, 9]], [[6, 4], [12, 4], [6, 8], [12, 8]], [[8, 5], [10, 5], [8, 7], [10, 7]], [], [], [], [[9, 6]], [[9, 4], [9, 8], [7, 6], [11, 6]], [[9, 2], [9, 10], [5, 6], [13, 6]], [[3, 6], [15, 6]], [[2, 4], [2, 8], [16, 4], [16, 8]], [[4, 2], [4, 10], [14, 2], [14, 10]], [[6, 3], [6, 9], [12, 3], [12, 9]], [[7, 5], [7, 7], [11, 5], [11, 7]], [[9, 6]], [], [], []]; var pos = 0; var timer = 0; onEnterFrame = function () { timer++; if (timer >= 15) { nextFlower(); timer = 0; } };
Symbol 446 MovieClip [растущая ромашка] Frame 100
this.removeMovieClip();
Symbol 464 MovieClip [explosion] Frame 10
this.removeMovieClip();
Symbol 465 MovieClip [_invaders] Frame 1
function begin() { var _local2; xpos = 45; ypos = 20; dir = 1; shipdir = 3; _local2 = 0; while (_local2 < 5) { attachMovie("invader1", "invader1" + _local2, _local2, {_x:(_local2 * 55) + xpos, _y:ypos}); attachMovie("invader2", "invader2" + _local2, _local2 + 5, {_x:(_local2 * 55) + xpos, _y:ypos + 45}); if (bombs[_local2] > 0) { this["bomb" + _local2].removeMovieClip(); } _local2++; } bombs = [0, 0, 0, 0, 0]; ship._x = 180; bullet._x = ship._x; bullet._y = ship._y; shipchangedirdelay = 0; } var xpos; var ypos; var dir; var shipdir; var bombs; var shipchangedirdelay; begin(); onEnterFrame = function () { var _local2; var _local3; var _local4; _local2 = 0; while (_local2 < 5) { this["invader1" + _local2]._x = this["invader1" + _local2]._x + dir; this["invader2" + _local2]._x = this["invader2" + _local2]._x + dir; if (bombs[_local2] == 0) { if (Math.random() > 0.995) { if (this["invader2" + _local2]._alpha > 0) { _local4 = this["invader2" + _local2]._y + 32; } else if (this["invader1" + _local2]._alpha > 0) { _local4 = this["invader1" + _local2]._y + 32; } else { _local4 = 0; } if (_local4 > 0) { bombs[_local2] = 1; attachMovie("bomb", "bomb" + _local2, _local2 + 10, {_x:this["invader1" + _local2]._x, _y:_local4}); } } } else { this["bomb" + _local2]._y++; if (this["bomb" + _local2]._y > ship._y) { bombs[_local2] = 0; this["bomb" + _local2].removeMovieClip(); } } _local2++; } if (((this.invader10._x >= (xpos + 55)) && (dir > 0)) || ((this.invader10._x <= xpos) && (dir < 0))) { dir = -dir; _local2 = 0; while (_local2 < 5) { this["invader1" + _local2]._y = this["invader1" + _local2]._y + 10; this["invader2" + _local2]._y = this["invader2" + _local2]._y + 10; _local2++; } if (this.invader20._y >= 150) { begin(); } } bullet._y = bullet._y - 5; if (bullet._y < 0) { bullet._x = ship._x; bullet._y = ship._y; } _local2 = 0; while (_local2 < 5) { _local3 = this["invader1" + _local2]; if (((((_local3._alpha > 0) && (bullet._x >= (_local3._x - 24))) && (bullet._x <= (_local3._x + 24))) && (bullet._y >= (_local3._y - 16))) && (bullet._y <= (_local3._y + 16))) { _local3._alpha = 0; bullet._y = -100; attachMovie("explosion", "explosion1" + _local2, 50 + _local2, {_x:_local3._x, _y:_local3._y + 16}); } _local3 = this["invader2" + _local2]; if (((((_local3._alpha > 0) && (bullet._x >= (_local3._x - 24))) && (bullet._x <= (_local3._x + 24))) && (bullet._y >= (_local3._y - 16))) && (bullet._y <= (_local3._y + 16))) { _local3._alpha = 0; bullet._y = -100; attachMovie("explosion", "explosion2" + _local2, 60 + _local2, {_x:_local3._x, _y:_local3._y + 16}); } _local2++; } ship._x = ship._x + shipdir; if ((((shipdir > 0) && (ship._x >= 330)) || ((shipdir < 0) && (ship._x <= 30))) || ((Math.random() > 0.95) && (shipchangedirdelay < 0))) { shipdir = -shipdir; shipchangedirdelay = 60; } shipchangedirdelay--; };
Symbol 481 MovieClip [_cosmosfly] Frame 1
function addMeteor(dist, alpha) { var _local6 = (dist / max) + 0.1; var _local1 = Math.random(); var _local3 = Math.random() * 360; if (_local1 > 0.99) { var _local5 = "\u0441\u043F\u0443\u0442\u043D\u0438\u043A"; var _local7 = (Math.random() - 0.5) * 3; } else if (_local1 > 0.98) { var _local5 = "\u0440\u0430\u043A\u0435\u0442\u0430"; var _local7 = 0; _local3 = alpha; } else if (_local1 > 0.9) { var _local5 = "\u043C\u0435\u0442\u0435\u043E\u0440\u0438\u0442"; var _local7 = (Math.random() - 0.5) * 3; } else { var _local5 = "\u043A\u043E\u0441\u043C\u043E\u043F\u044B\u043B\u044C"; var _local7 = 0; } attachMovie(_local5, "m" + dist, dist, {_x:180, _y:120, _xscale:5, _yscale:5, _rotation:_local3}); alpha = (alpha * Math.PI) / 180; traces[dist] = [_local6, Math.cos(alpha), Math.sin(alpha), _local7]; } var traces = []; var max = 500; onEnterFrame = function () { var _local3; var _local2; var _local4; for (i in traces) { _local3 = traces[i]; if (!(_local3 === false)) { _local2 = this["m" + i]; _local2._xscale = _local2._xscale + _local3[0]; _local2._yscale = _local2._yscale + _local3[0]; _local2._x = _local2._x + ((_local2._xscale / 20) * _local3[1]); _local2._y = _local2._y + ((_local2._xscale / 20) * _local3[2]); _local2._rotation = _local2._rotation + _local3[3]; if ((((_local2._x > (360 + _local2._xscale)) || (_local2._y > (240 + _local2._xscale))) || (_local2._x < (-_local2._xscale))) || (_local2._y < (-_local2._xscale))) { _local2.removeMovieClip(); traces[i] = false; } } } _local4 = Math.round(Math.random() * (max - 1)) + 1; if (!traces[_local4]) { addMeteor(_local4, Math.random() * 360); } };
Symbol 494 MovieClip [_снег] Frame 1
function addSnow(dist, alpha) { var _local2 = (Math.random() * 320) + 20; alpha = (Math.random() * Math.PI) / 180; var _local6 = Math.random() * 360; var _local1 = (Math.random() * 100) + 50; var _local4 = (Math.random() + 0.5) * 2; var _local5 = Math.random(); if ((_local5 > 0.1) && (snowman.dy == 0)) { snowman._y = (Math.random() * 100) - 50; snowman.dy = 2; snowman._xscale = (snowman._y + 100) / 1.5; snowman._yscale = snowman._xscale; snowman.dscale = 1.01; if (Math.random() < 0.5) { snowman._x = -snowman._xscale; snowman.dx = 4; snowman._xscale = snowman._xscale * 1; } else { snowman._x = 360 + snowman._xscale; snowman.dx = -4; snowman._xscale = snowman._xscale * -1; } } else { var _local3 = "\u0441\u043D\u0435\u0436\u0438\u043D\u043A\u04304"; attachMovie(_local3, "m" + dist, dist + 100, {_x:_local2, _y:-50, _xscale:_local1, _yscale:_local1, _rotation:_local6}); traces[dist] = [alpha, _local2, _local4]; } } var traces = []; var max = 100; attachMovie("\u0441\u043D\u0435\u0433\u043E\u0432\u0438\u043A", "snowman", 1, {_x:0, _y:1000, dx:0, dy:0}); onEnterFrame = function () { var _local3; var _local2; var _local4; for (i in traces) { _local3 = traces[i]; if (!(_local3 === false)) { _local2 = this["m" + i]; _local2._y = _local2._y + _local3[2]; _local2._x = _local3[1] + (10 * Math.cos(_local3[0] + (_local2._y / 20))); if (_local2._y > (240 + _local2._xscale)) { _local2.removeMovieClip(); traces[i] = false; } } } if (snowman.dy != 0) { snowman._x = snowman._x + snowman.dx; snowman._y = snowman._y + snowman.dy; snowman._xscale = snowman._xscale * snowman.dscale; snowman._yscale = Math.abs(snowman._xscale); if (((snowman._y > 240) || ((snowman.dx > 0) && (snowman._x > 360))) || ((snowman.dx < 0) && (snowman._x < 0))) { snowman.dy = 0; } } if (Math.random() > 0.5) { _local4 = Math.round(Math.random() * (max - 1)) + 1; if (!traces[_local4]) { addSnow(_local4, Math.random() * 360); } } };
Symbol 503 MovieClip [_пчелы] Frame 1
Symbol 508 MovieClip Frame 1
stop(); onEnterFrame = function () { if (Math.random() > 0.99) { gotoAndPlay (1); } };
Symbol 508 MovieClip Frame 2
onEnterFrame = function () { };
Symbol 509 MovieClip Frame 1
stop(); onEnterFrame = function () { if (Math.random() > 0.99) { this._y = (Math.random() * 160) + 20; var _local2 = (Math.random() * 100) + 100; this._xscale = _local2; this._yscale = _local2; if (Math.random() > 0.5) { this._xscale = -this._xscale; } gotoAndPlay (1); } };
Symbol 509 MovieClip Frame 2
onEnterFrame = function () { };
Symbol 524 MovieClip [_тетрис] Frame 1
var field = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]; var fig = []; var onFly = false; var figs = [false, [3, [0, 0], [1, 0], [2, 0], [1, 1]], [2, [1, 0], [0, 1], [1, 1], [1, 2]], [3, [1, 0], [0, 1], [1, 1], [2, 1]], [2, [0, 0], [0, 1], [0, 2], [1, 1]], [4, [0, 0], [1, 0], [2, 0], [3, 0]], [1, [0, 0], [0, 1], [0, 2], [0, 3]]]; onEnterFrame = function () { var _local3; var _local2; var _local5; var _local8; if (!onFly) { var _local9 = Math.ceil(Math.random() * (figs.length - 1)); _local3 = 1; while (_local3 < (fig.length + 2)) { if (!fig[_local3]) { _local8 = _local3; break; } _local3++; } fig[_local8] = true; var _local7 = Math.floor(Math.random() * (18 - figs[_local9][0])); _local3 = 0; while (_local3 < (18 - figs[_local9][0])) { _local2 = 0; while (_local2 < 12) { _local5 = 0; while (_local5 < figs[_local9].length) { _local5++; } _local2++; } _local3++; } attachMovie("\u0444\u0438\u0433\u0443\u0440\u0430" + _local9, "fig" + _local8, _local8, {_x:_local7 * 20, n:_local9}); onFly = _local8; } else { var _local4 = this["fig" + onFly]; _local4._y = _local4._y + 20; if ((_local4._y % 20) == 0) { var _local7 = _local4._x / 20; var _local6 = _local4._y / 20; _local3 = 1; while (_local3 < figs[_local4.n].length) { if ((field[_local6 - figs[_local4.n][_local3][1]][_local7 + figs[_local4.n][_local3][0]] == 1) || (_local6 == 12)) { onFly = false; _local2 = 1; while (_local2 < figs[_local4.n].length) { field[(_local6 - figs[_local4.n][_local2][1]) - 1][_local7 + figs[_local4.n][_local2][0]] = 1; _local2++; } break; } _local3++; } } } };
Symbol 528 MovieClip Frame 1
onEnterFrame = function () { if (Math.random() > 0.8) { digit.text = Math.floor(Math.random() * 10); } };
Symbol 551 MovieClip [_часы] Frame 1
var rollpause = 0; var dx = 0; var da = 0; onEnterFrame = function () { if (rollpause == 0) { if (dx == 0) { dx = 2; da = 2; if (clock._x > 180) { dx = -dx; da = -da; } } else { clock._x = clock._x + dx; clock._rotation = clock._rotation + da; dx = dx * 0.99; da = da * 0.99; if (((dx > 0) && (clock._x > 240)) || ((dx < 0) && (clock._x < 120))) { dx = 0; rollpause = 0; } } } else { rollpause--; } };
Symbol 556 MovieClip [_машинка] Frame 1
onEnterFrame = function () { carmoving._x = (-carmoving.car._x) + 180; carmoving._y = (-carmoving.car._y) + 120; };
Instance of Symbol 345 MovieClip [MedalPopup] in Symbol 557 MovieClip Frame 2
//component parameters onClipEvent (construct) { alwaysOnTop = "true"; }
Instance of Symbol 388 MovieClip [ScoreBrowser] in Symbol 557 MovieClip Frame 2
//component parameters onClipEvent (construct) { scoreBoardName = ""; period = "All-Time"; title = "High Scores"; }

Library Items

Symbol 1 Sound [shuffle3.mp3]
Symbol 2 Sound [put1.mp3]
Symbol 3 Sound [complete2.mp3]
Symbol 4 Bitmap [frame240x240]Used by:300 301
Symbol 5 GraphicUsed by:11
Symbol 6 FontUsed by:7 8 9 10 223 374 376
Symbol 7 EditableTextUses:6Used by:11
Symbol 8 TextUses:6Used by:11
Symbol 9 EditableTextUses:6Used by:11
Symbol 10 TextUses:6Used by:11
Symbol 11 MovieClip [fps]Uses:5 7 8 9 10
Symbol 13 MovieClip [Newgrounds API Classes]Used by:88
Symbol 38 GraphicUsed by:80
Symbol 39 GraphicUsed by:80
Symbol 40 GraphicUsed by:80
Symbol 41 GraphicUsed by:80
Symbol 42 BitmapUsed by:44
Symbol 43 BitmapUsed by:44
Symbol 44 GraphicUses:42 43Used by:56
Symbol 45 BitmapUsed by:46
Symbol 46 GraphicUses:45Used by:56
Symbol 47 BitmapUsed by:48
Symbol 48 GraphicUses:47Used by:53 56
Symbol 49 BitmapUsed by:50
Symbol 50 GraphicUses:49Used by:53
Symbol 51 BitmapUsed by:52
Symbol 52 GraphicUses:51Used by:53
Symbol 53 MovieClipUses:48 50 52Used by:56
Symbol 54 GraphicUsed by:55 57 80 345
Symbol 55 ButtonUses:54Used by:56
Symbol 56 ButtonUses:44 46 53 48 55Used by:80
Symbol 57 MovieClipUses:54Used by:79 80 86 345
Symbol 58 MovieClipUsed by:80 345
Symbol 59 GraphicUsed by:68
Symbol 60 GraphicUsed by:61
Symbol 61 MovieClipUses:60Used by:62
Symbol 62 MovieClipUses:61Used by:68
Symbol 63 GraphicUsed by:65
Symbol 64 GraphicUsed by:65
Symbol 65 MovieClipUses:63 64Used by:68 79
Symbol 66 GraphicUsed by:68
Symbol 67 GraphicUsed by:68
Symbol 68 MovieClipUses:59 62 65 66 67Used by:80 87
Symbol 69 GraphicUsed by:79
Symbol 70 GraphicUsed by:79
Symbol 71 GraphicUsed by:79
Symbol 72 GraphicUsed by:73
Symbol 73 MovieClipUses:72Used by:79
Symbol 74 GraphicUsed by:78
Symbol 75 BitmapUsed by:76
Symbol 76 GraphicUses:75Used by:77
Symbol 77 MovieClipUses:76Used by:78
Symbol 78 MovieClipUses:74 77Used by:79
Symbol 79 MovieClipUses:69 57 70 71 73 78 65Used by:80
Symbol 80 MovieClip [FlashAd]Uses:38 39 40 41 56 57 58 68 79 54Used by:88
Symbol 81 GraphicUsed by:86
Symbol 82 GraphicUsed by:83
Symbol 83 MovieClipUses:82Used by:84
Symbol 84 MovieClipUses:83Used by:86
Symbol 85 GraphicUsed by:86
Symbol 86 MovieClipUses:81 84 57 85Used by:87
Symbol 87 MovieClip [Preloader]Uses:86 68Used by:88
Symbol 88 MovieClip [APIConnector]Uses:13 80 87
Symbol 89 GraphicUsed by:90 94 97 213 221 350 442 453 464 494 504  Timeline
Symbol 90 MovieClipUses:89Used by:94 97 140 144 171 196
Symbol 91 FontUsed by:92 93 95 96 105 117 118 120 121 123 125 126 130 131 133 134 136 137 148 149 158 159
Symbol 92 TextUses:91Used by:94
Symbol 93 TextUses:91Used by:94
Symbol 94 ButtonUses:90 92 93 89Used by:102
Symbol 95 TextUses:91Used by:97
Symbol 96 TextUses:91Used by:97
Symbol 97 ButtonUses:90 95 96 89Used by:102
Symbol 98 GraphicUsed by:99
Symbol 99 MovieClipUses:98Used by:102
Symbol 100 GraphicUsed by:101
Symbol 101 MovieClipUses:100Used by:102
Symbol 102 MovieClip [soundcontrol]Uses:94 97 99 101Used by:140
Symbol 103 BitmapUsed by:104
Symbol 104 GraphicUses:103Used by:113
Symbol 105 TextUses:91Used by:113
Symbol 106 FontUsed by:107 108 110 111 116 143 147 154 164 165 166 167 168 170 173 174 175 180 302 308 313
Symbol 107 TextUses:106Used by:109
Symbol 108 TextUses:106Used by:109
Symbol 109 ButtonUses:107 108Used by:113
Symbol 110 TextUses:106Used by:112
Symbol 111 TextUses:106Used by:112
Symbol 112 ButtonUses:110 111Used by:113
Symbol 113 MovieClipUses:104 105 109 112Used by:140
Symbol 114 BitmapUsed by:115
Symbol 115 GraphicUses:114Used by:140
Symbol 116 TextUses:106Used by:140
Symbol 117 TextUses:91Used by:119
Symbol 118 TextUses:91Used by:119
Symbol 119 ButtonUses:117 118Used by:140
Symbol 120 TextUses:91Used by:122
Symbol 121 TextUses:91Used by:122
Symbol 122 ButtonUses:120 121Used by:140
Symbol 123 TextUses:91Used by:124
Symbol 124 ButtonUses:123Used by:140
Symbol 125 TextUses:91Used by:127
Symbol 126 TextUses:91Used by:127
Symbol 127 ButtonUses:125 126Used by:140
Symbol 128 GraphicUsed by:129
Symbol 129 MovieClipUses:128Used by:140 144 171 196
Symbol 130 TextUses:91Used by:132
Symbol 131 TextUses:91Used by:132
Symbol 132 ButtonUses:130 131Used by:139
Symbol 133 TextUses:91Used by:135
Symbol 134 TextUses:91Used by:135
Symbol 135 ButtonUses:133 134Used by:139
Symbol 136 TextUses:91Used by:138
Symbol 137 TextUses:91Used by:138
Symbol 138 ButtonUses:136 137Used by:139
Symbol 139 MovieClipUses:132 135 138Used by:140
Symbol 140 MovieClipUses:113 115 116 119 122 124 127 90 129 102 139Used by:201
Symbol 141 BitmapUsed by:142
Symbol 142 GraphicUses:141Used by:144 176
Symbol 143 EditableTextUses:106Used by:144
Symbol 144 MovieClipUses:142 143 129 90Used by:201
Symbol 145 BitmapUsed by:146
Symbol 146 GraphicUses:145Used by:151
Symbol 147 TextUses:106Used by:151
Symbol 148 TextUses:91Used by:150
Symbol 149 TextUses:91Used by:150
Symbol 150 ButtonUses:148 149Used by:151 171
Symbol 151 MovieClipUses:146 147 150Used by:201
Symbol 152 BitmapUsed by:153
Symbol 153 GraphicUses:152Used by:155
Symbol 154 EditableTextUses:106Used by:155
Symbol 155 MovieClipUses:153 154Used by:201
Symbol 156 BitmapUsed by:157 163
Symbol 157 GraphicUses:156Used by:161
Symbol 158 TextUses:91Used by:160
Symbol 159 TextUses:91Used by:160
Symbol 160 ButtonUses:158 159Used by:161
Symbol 161 MovieClipUses:157 160Used by:162
Symbol 162 MovieClipUses:161Used by:201
Symbol 163 GraphicUses:156Used by:169
Symbol 164 TextUses:106Used by:169
Symbol 165 EditableTextUses:106Used by:169
Symbol 166 EditableTextUses:106Used by:169
Symbol 167 EditableTextUses:106Used by:169
Symbol 168 EditableTextUses:106Used by:169
Symbol 169 MovieClipUses:163 164 165 166 167 168Used by:172
Symbol 170 TextUses:106Used by:171
Symbol 171 MovieClipUses:170 129 90 150Used by:172
Symbol 172 MovieClipUses:169 171Used by:201
Symbol 173 TextUses:106Used by:176
Symbol 174 EditableTextUses:106Used by:176
Symbol 175 TextUses:106Used by:176
Symbol 176 MovieClipUses:142 173 174 175Used by:201
Symbol 177 GraphicUsed by:178 355 475
Symbol 178 MovieClipUses:177Used by:179
Symbol 179 MovieClipUses:178Used by:196
Symbol 180 TextUses:106Used by:196
Symbol 181 MovieClipUsed by:196
Symbol 182 BitmapUsed by:183
Symbol 183 GraphicUses:182Used by:184
Symbol 184 MovieClipUses:183Used by:196
Symbol 185 BitmapUsed by:186
Symbol 186 GraphicUses:185Used by:187
Symbol 187 MovieClipUses:186Used by:196
Symbol 188 BitmapUsed by:189
Symbol 189 GraphicUses:188Used by:190
Symbol 190 MovieClipUses:189Used by:196
Symbol 191 BitmapUsed by:192
Symbol 192 GraphicUses:191Used by:193
Symbol 193 MovieClipUses:192Used by:196
Symbol 194 BitmapUsed by:195
Symbol 195 GraphicUses:194Used by:196
Symbol 196 MovieClipUses:179 180 129 181 90 184 187 190 193 195Used by:201
Symbol 197 GraphicUsed by:200
Symbol 198 GraphicUsed by:200 238
Symbol 199 GraphicUsed by:200 238
Symbol 200 MovieClipUses:197 198 199Used by:201
Symbol 201 MovieClip [_Game]Uses:140 144 151 155 162 172 176 196 200Used by:Timeline
Symbol 202 GraphicUsed by:203
Symbol 203 MovieClipUses:202Used by:204
Symbol 204 MovieClip [stars]Uses:203Used by:303
Symbol 205 GraphicUsed by:206
Symbol 206 MovieClip [adBox]Uses:205Used by:Timeline
Symbol 207 GraphicUsed by:465  Timeline
Symbol 208 GraphicUsed by:209
Symbol 209 MovieClipUses:208Used by:222
Symbol 210 FontUsed by:211 212 220 542 543
Symbol 211 EditableTextUses:210Used by:213
Symbol 212 TextUses:210Used by:213
Symbol 213 MovieClipUses:89 211 212Used by:222
Symbol 214 GraphicUsed by:222
Symbol 215 GraphicUsed by:219
Symbol 216 GraphicUsed by:219
Symbol 217 GraphicUsed by:219
Symbol 218 GraphicUsed by:219
Symbol 219 MovieClipUses:215 216 217 218Used by:222
Symbol 220 TextUses:210Used by:222
Symbol 221 ButtonUses:89Used by:222 296
Symbol 222 MovieClipUses:209 213 214 219 220 221Used by:Timeline
Symbol 223 EditableTextUses:6Used by:Timeline
Symbol 21 MovieClip [__Packages.com.newgrounds.APIConnection]
Symbol 15 MovieClip [__Packages.com.newgrounds.EventDispatcher]
Symbol 14 MovieClip [__Packages.com.newgrounds.Event]
Symbol 16 MovieClip [__Packages.com.newgrounds.APIEventDispatcher]
Symbol 19 MovieClip [__Packages.com.newgrounds.encoders.BaseN]
Symbol 25 MovieClip [__Packages.com.newgrounds.APICommand]
Symbol 20 MovieClip [__Packages.com.newgrounds.Bridge]
Symbol 17 MovieClip [__Packages.com.newgrounds.APIEvent]
Symbol 36 MovieClip [__Packages.com.newgrounds.API]
Symbol 33 MovieClip [__Packages.com.newgrounds.encoders.ImageScanner]
Symbol 34 MovieClip [__Packages.com.newgrounds.SaveFile]
Symbol 32 MovieClip [__Packages.com.newgrounds.SaveGroup]
Symbol 30 MovieClip [__Packages.com.newgrounds.SaveKey]
Symbol 31 MovieClip [__Packages.com.newgrounds.SaveRating]
Symbol 26 MovieClip [__Packages.com.newgrounds.BitmapLoader]
Symbol 35 MovieClip [__Packages.com.newgrounds.SaveQuery]
Symbol 27 MovieClip [__Packages.com.newgrounds.Medal]
Symbol 29 MovieClip [__Packages.com.newgrounds.ScoreBoard]
Symbol 18 MovieClip [__Packages.com.newgrounds.Logger]
Symbol 560 MovieClip [__Packages.pipkin.as2.Main]
Symbol 37 MovieClip [__Packages.com.newgrounds.components.FlashAdBase]
Symbol 28 MovieClip [__Packages.com.newgrounds.Score]
Symbol 12 MovieClip [__Packages.com.newgrounds.shims.APIShim]
Symbol 22 MovieClip [__Packages.com.newgrounds.crypto.MD5]
Symbol 23 MovieClip [__Packages.com.newgrounds.crypto.RC4]
Symbol 24 MovieClip [__Packages.com.newgrounds.encoders.json.JSON]
Symbol 224 GraphicUsed by:238
Symbol 225 SoundUsed by:238
Symbol 226 SoundUsed by:238
Symbol 227 GraphicUsed by:238
Symbol 228 GraphicUsed by:229
Symbol 229 MovieClipUses:228Used by:238
Symbol 230 SoundUsed by:238
Symbol 231 SoundUsed by:238
Symbol 232 SoundUsed by:238
Symbol 233 SoundUsed by:238
Symbol 234 GraphicUsed by:235
Symbol 235 MovieClipUses:234Used by:238
Symbol 236 SoundUsed by:238
Symbol 237 SoundUsed by:238
Symbol 238 MovieClipUses:224 198 199 225 226 227 229 230 231 232 233 235 236 237Used by:Timeline
Symbol 239 BitmapUsed by:240
Symbol 240 GraphicUses:239Used by:296
Symbol 241 BitmapUsed by:242
Symbol 242 GraphicUses:241Used by:296
Symbol 243 BitmapUsed by:244 251
Symbol 244 GraphicUses:243Used by:254
Symbol 245 BitmapUsed by:246 252
Symbol 246 GraphicUses:245Used by:254
Symbol 247 BitmapUsed by:248 253
Symbol 248 GraphicUses:247Used by:254
Symbol 249 BitmapUsed by:250
Symbol 250 GraphicUses:249Used by:254
Symbol 251 GraphicUses:243Used by:254
Symbol 252 GraphicUses:245Used by:254
Symbol 253 GraphicUses:247Used by:254
Symbol 254 MovieClipUses:244 246 248 250 251 252 253Used by:296
Symbol 255 SoundUsed by:296
Symbol 256 BitmapUsed by:257
Symbol 257 GraphicUses:256Used by:296
Symbol 258 BitmapUsed by:259
Symbol 259 GraphicUses:258Used by:296
Symbol 260 BitmapUsed by:261
Symbol 261 GraphicUses:260Used by:296
Symbol 262 BitmapUsed by:263
Symbol 263 GraphicUses:262Used by:296
Symbol 264 BitmapUsed by:266
Symbol 265 BitmapUsed by:266 285
Symbol 266 GraphicUses:264 265Used by:296
Symbol 267 SoundUsed by:296
Symbol 268 BitmapUsed by:269
Symbol 269 GraphicUses:268Used by:296
Symbol 270 BitmapUsed by:271
Symbol 271 GraphicUses:270Used by:296
Symbol 272 BitmapUsed by:273 283 287
Symbol 273 GraphicUses:272Used by:296
Symbol 274 BitmapUsed by:275 289
Symbol 275 GraphicUses:274Used by:296
Symbol 276 BitmapUsed by:277
Symbol 277 GraphicUses:276Used by:296
Symbol 278 BitmapUsed by:279
Symbol 279 GraphicUses:278Used by:296
Symbol 280 BitmapUsed by:281
Symbol 281 GraphicUses:280Used by:296
Symbol 282 BitmapUsed by:283
Symbol 283 GraphicUses:282 272Used by:296
Symbol 284 BitmapUsed by:285
Symbol 285 GraphicUses:284 265Used by:296
Symbol 286 BitmapUsed by:287
Symbol 287 GraphicUses:286 272Used by:296
Symbol 288 BitmapUsed by:289
Symbol 289 GraphicUses:288 274Used by:296
Symbol 290 BitmapUsed by:291
Symbol 291 GraphicUses:290Used by:296
Symbol 292 BitmapUsed by:293
Symbol 293 GraphicUses:292Used by:296
Symbol 294 BitmapUsed by:295
Symbol 295 GraphicUses:294Used by:296
Symbol 296 MovieClipUses:240 242 254 255 257 259 261 263 266 267 269 271 273 275 277 279 281 283 285 287 289 291 293 295 221Used by:Timeline
Symbol 297 FontUsed by:298
Symbol 298 EditableTextUses:297Used by:557
Symbol 299 Bitmap [frame360x240]Used by:300 310
Symbol 300 GraphicUses:299 4Used by:557
Symbol 301 GraphicUses:4Used by:303 307 309
Symbol 302 EditableTextUses:106Used by:303
Symbol 303 MovieClip [levelframe_240x240]Uses:301 302 204Used by:557
Symbol 304 BitmapUsed by:305
Symbol 305 GraphicUses:304Used by:306
Symbol 306 MovieClip [lock]Uses:305Used by:307 312 557
Symbol 307 MovieClip [levelframe_240x240_locked]Uses:301 306Used by:557
Symbol 308 EditableTextUses:106Used by:309
Symbol 309 MovieClip [levelframe_240x240_time]Uses:301 308Used by:557
Symbol 310 GraphicUses:299Used by:311 312 314
Symbol 311 MovieClip [levelframe_360x240]Uses:310Used by:557
Symbol 312 MovieClip [levelframe_360x240_locked]Uses:310 306Used by:557
Symbol 313 EditableTextUses:106Used by:314
Symbol 314 MovieClip [levelframe_360x240_time]Uses:310 313Used by:557
Symbol 315 Bitmap [title1]Used by:316
Symbol 316 GraphicUses:315Used by:557
Symbol 317 GraphicUsed by:318
Symbol 318 MovieClipUses:317Used by:345
Symbol 319 GraphicUsed by:325
Symbol 320 GraphicUsed by:321
Symbol 321 MovieClipUses:320Used by:325 345
Symbol 322 GraphicUsed by:325
Symbol 323 BitmapUsed by:324
Symbol 324 GraphicUses:323Used by:325
Symbol 325 MovieClipUses:319 321 322 324Used by:345
Symbol 326 SoundUsed by:345
Symbol 327 GraphicUsed by:345
Symbol 328 GraphicUsed by:329
Symbol 329 MovieClipUses:328Used by:345
Symbol 330 GraphicUsed by:345
Symbol 331 FontUsed by:332 336 358 372 375
Symbol 332 EditableTextUses:331Used by:345
Symbol 333 FontUsed by:334 367
Symbol 334 EditableTextUses:333Used by:335
Symbol 335 MovieClipUses:334Used by:345
Symbol 336 EditableTextUses:331Used by:337
Symbol 337 MovieClipUses:336Used by:345
Symbol 338 GraphicUsed by:339
Symbol 339 MovieClipUses:338Used by:345
Symbol 340 GraphicUsed by:341
Symbol 341 MovieClipUses:340Used by:345
Symbol 342 GraphicUsed by:343
Symbol 343 MovieClipUses:342Used by:345
Symbol 344 SoundUsed by:345
Symbol 345 MovieClip [MedalPopup]Uses:318 57 325 326 321 327 329 330 54 332 335 337 58 339 341 343 344Used by:557
Symbol 346 GraphicUsed by:351
Symbol 347 GraphicUsed by:351
Symbol 348 GraphicUsed by:351
Symbol 349 GraphicUsed by:351
Symbol 350 MovieClipUses:89Used by:351
Symbol 351 MovieClipUses:346 347 348 349 350Used by:388
Symbol 352 GraphicUsed by:356
Symbol 353 GraphicUsed by:354
Symbol 354 MovieClipUses:353Used by:356
Symbol 355 MovieClipUses:177Used by:356
Symbol 356 MovieClipUses:352 354 355Used by:388
Symbol 357 GraphicUsed by:360
Symbol 358 EditableTextUses:331Used by:360
Symbol 359 GraphicUsed by:360
Symbol 360 MovieClipUses:357 358 359Used by:366
Symbol 361 GraphicUsed by:365 371
Symbol 362 GraphicUsed by:365
Symbol 363 GraphicUsed by:365
Symbol 364 GraphicUsed by:365
Symbol 365 ButtonUses:361 362 363 364Used by:366
Symbol 366 MovieClipUses:360 365Used by:388
Symbol 367 EditableTextUses:333Used by:388
Symbol 368 GraphicUsed by:371
Symbol 369 GraphicUsed by:371
Symbol 370 GraphicUsed by:371
Symbol 371 ButtonUses:361 368 369 370Used by:388
Symbol 372 EditableTextUses:331Used by:388
Symbol 373 GraphicUsed by:378
Symbol 374 EditableTextUses:6Used by:378
Symbol 375 EditableTextUses:331Used by:378
Symbol 376 EditableTextUses:6Used by:378
Symbol 377 GraphicUsed by:378
Symbol 378 MovieClipUses:373 374 375 376 377Used by:379
Symbol 379 MovieClipUses:378Used by:388
Symbol 380 GraphicUsed by:381
Symbol 381 MovieClipUses:380Used by:388
Symbol 382 GraphicUsed by:387
Symbol 383 GraphicUsed by:387
Symbol 384 GraphicUsed by:387
Symbol 385 GraphicUsed by:387
Symbol 386 GraphicUsed by:387
Symbol 387 ButtonUses:382 383 384 385 386Used by:388
Symbol 388 MovieClip [ScoreBrowser]Uses:351 356 366 367 371 372 379 381 387Used by:557
Symbol 389 GraphicUsed by:403
Symbol 390 GraphicUsed by:391
Symbol 391 MovieClipUses:390Used by:394 509
Symbol 392 GraphicUsed by:393
Symbol 393 MovieClipUses:392Used by:394
Symbol 394 MovieClipUses:391 393Used by:403
Symbol 395 GraphicUsed by:398
Symbol 396 GraphicUsed by:397
Symbol 397 MovieClipUses:396Used by:398
Symbol 398 MovieClipUses:395 397Used by:403
Symbol 399 GraphicUsed by:402
Symbol 400 GraphicUsed by:401 445
Symbol 401 MovieClipUses:400Used by:402
Symbol 402 MovieClipUses:399 401Used by:403
Symbol 403 MovieClip [_окно_поезда]Uses:389 394 398 402Used by:557
Symbol 404 GraphicUsed by:425
Symbol 405 GraphicUsed by:406
Symbol 406 MovieClipUses:405Used by:407 408
Symbol 407 MovieClipUses:406Used by:425
Symbol 408 MovieClipUses:406Used by:425
Symbol 409 GraphicUsed by:422
Symbol 410 GraphicUsed by:422
Symbol 411 GraphicUsed by:422
Symbol 412 GraphicUsed by:422
Symbol 413 GraphicUsed by:422
Symbol 414 GraphicUsed by:422
Symbol 415 GraphicUsed by:422
Symbol 416 GraphicUsed by:422
Symbol 417 GraphicUsed by:422
Symbol 418 GraphicUsed by:422
Symbol 419 GraphicUsed by:422
Symbol 420 GraphicUsed by:422
Symbol 421 GraphicUsed by:422
Symbol 422 MovieClipUses:409 410 411 412 413 414 415 416 417 418 419 420 421Used by:423 424
Symbol 423 MovieClipUses:422Used by:425
Symbol 424 MovieClipUses:422Used by:425
Symbol 425 MovieClip [_киты]Uses:404 407 408 423 424Used by:557
Symbol 426 GraphicUsed by:427
Symbol 427 MovieClipUses:426Used by:442
Symbol 428 GraphicUsed by:429
Symbol 429 MovieClipUses:428Used by:442
Symbol 430 GraphicUsed by:431
Symbol 431 MovieClipUses:430Used by:442
Symbol 432 GraphicUsed by:433
Symbol 433 MovieClipUses:432Used by:442
Symbol 434 GraphicUsed by:435
Symbol 435 MovieClipUses:434Used by:442
Symbol 436 GraphicUsed by:437
Symbol 437 MovieClipUses:436Used by:442
Symbol 438 GraphicUsed by:439
Symbol 439 MovieClipUses:438Used by:442
Symbol 440 GraphicUsed by:441
Symbol 441 MovieClipUses:440Used by:442
Symbol 442 MovieClip [_шестеренки2]Uses:89 427 429 431 433 435 437 439 441Used by:557
Symbol 443 GraphicUsed by:444
Symbol 444 MovieClip [_поляна]Uses:443Used by:557
Symbol 445 MovieClipUses:400Used by:446
Symbol 446 MovieClip [растущая ромашка]Uses:445Used by:557
Symbol 447 GraphicUsed by:448
Symbol 448 MovieClip [invader1]Uses:447Used by:465
Symbol 449 GraphicUsed by:450
Symbol 450 MovieClip [invader2]Uses:449Used by:465
Symbol 451 GraphicUsed by:452
Symbol 452 MovieClipUses:451Used by:465
Symbol 453 MovieClip [bullet]Uses:89Used by:465
Symbol 454 GraphicUsed by:455
Symbol 455 MovieClip [bomb]Uses:454Used by:465
Symbol 456 GraphicUsed by:464
Symbol 457 GraphicUsed by:464
Symbol 458 GraphicUsed by:464
Symbol 459 GraphicUsed by:464
Symbol 460 GraphicUsed by:464
Symbol 461 GraphicUsed by:464
Symbol 462 GraphicUsed by:464
Symbol 463 GraphicUsed by:464
Symbol 464 MovieClip [explosion]Uses:89 456 457 458 459 460 461 462 463Used by:465
Symbol 465 MovieClip [_invaders]Uses:207 448 450 452 453 455 464Used by:557
Symbol 466 GraphicUsed by:481
Symbol 467 GraphicUsed by:468
Symbol 468 MovieClipUses:467Used by:474
Symbol 469 GraphicUsed by:474
Symbol 470 GraphicUsed by:471
Symbol 471 MovieClipUses:470Used by:474
Symbol 472 GraphicUsed by:473
Symbol 473 MovieClipUses:472Used by:474
Symbol 474 MovieClip [метеорит]Uses:468 469 471 473Used by:481
Symbol 475 MovieClip [космопыль]Uses:177Used by:481
Symbol 476 GraphicUsed by:477
Symbol 477 MovieClip [спутник]Uses:476Used by:481
Symbol 478 GraphicUsed by:480
Symbol 479 GraphicUsed by:480
Symbol 480 MovieClip [ракета]Uses:478 479Used by:481
Symbol 481 MovieClip [_cosmosfly]Uses:466 474 475 477 480Used by:557
Symbol 482 GraphicUsed by:483
Symbol 483 MovieClip [снежинка1]Uses:482Used by:494
Symbol 484 GraphicUsed by:485
Symbol 485 MovieClip [снежинка2]Uses:484Used by:494
Symbol 486 GraphicUsed by:487
Symbol 487 MovieClip [снежинка3]Uses:486Used by:494
Symbol 488 GraphicUsed by:489
Symbol 489 MovieClip [снежинка4]Uses:488Used by:494
Symbol 490 GraphicUsed by:491
Symbol 491 MovieClipUses:490Used by:493
Symbol 492 GraphicUsed by:493
Symbol 493 MovieClip [снеговик]Uses:491 492Used by:494
Symbol 494 MovieClip [_снег]Uses:89 483 485 487 489 493Used by:557
Symbol 495 GraphicUsed by:503
Symbol 496 GraphicUsed by:497
Symbol 497 MovieClipUses:496Used by:500 501
Symbol 498 GraphicUsed by:499
Symbol 499 MovieClipUses:498Used by:500 501
Symbol 500 MovieClipUses:497 499Used by:502
Symbol 501 MovieClip [пчела]Uses:497 499Used by:502
Symbol 502 MovieClipUses:500 501Used by:503
Symbol 503 MovieClip [_пчелы]Uses:495 502Used by:557
Symbol 504 MovieClip [_древо]Uses:89Used by:557
Symbol 505 GraphicUsed by:510
Symbol 506 GraphicUsed by:507
Symbol 507 MovieClip [радуга3a]Uses:506Used by:508
Symbol 508 MovieClipUses:507Used by:510
Symbol 509 MovieClipUses:391Used by:510
Symbol 510 MovieClip [_радуга]Uses:505 508 509Used by:557
Symbol 511 GraphicUsed by:524
Symbol 512 GraphicUsed by:513
Symbol 513 MovieClip [фигура1]Uses:512Used by:524
Symbol 514 GraphicUsed by:515
Symbol 515 MovieClip [фигура2]Uses:514Used by:524
Symbol 516 GraphicUsed by:517
Symbol 517 MovieClip [фигура3]Uses:516Used by:524
Symbol 518 GraphicUsed by:519
Symbol 519 MovieClip [фигура4]Uses:518Used by:524
Symbol 520 GraphicUsed by:521
Symbol 521 MovieClip [фигура5]Uses:520Used by:524
Symbol 522 GraphicUsed by:523
Symbol 523 MovieClip [фигура6]Uses:522Used by:524
Symbol 524 MovieClip [_тетрис]Uses:511 513 515 517 519 521 523Used by:557
Symbol 525 GraphicUsed by:551
Symbol 526 FontUsed by:527 530 531 532 533 534 535 536 537 538 539 540 541
Symbol 527 EditableTextUses:526Used by:528
Symbol 528 MovieClipUses:527Used by:551
Symbol 529 GraphicUsed by:550
Symbol 530 TextUses:526Used by:550
Symbol 531 TextUses:526Used by:550
Symbol 532 TextUses:526Used by:550
Symbol 533 TextUses:526Used by:550
Symbol 534 TextUses:526Used by:550
Symbol 535 TextUses:526Used by:550
Symbol 536 TextUses:526Used by:550
Symbol 537 TextUses:526Used by:550
Symbol 538 TextUses:526Used by:550
Symbol 539 TextUses:526Used by:550
Symbol 540 TextUses:526Used by:550
Symbol 541 TextUses:526Used by:550
Symbol 542 TextUses:210Used by:550
Symbol 543 TextUses:210Used by:550
Symbol 544 GraphicUsed by:545
Symbol 545 MovieClipUses:544Used by:550
Symbol 546 GraphicUsed by:547
Symbol 547 MovieClipUses:546Used by:550
Symbol 548 GraphicUsed by:549
Symbol 549 MovieClipUses:548Used by:550
Symbol 550 MovieClipUses:529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 545 547 549Used by:551
Symbol 551 MovieClip [_часы]Uses:525 528 550Used by:557
Symbol 552 GraphicUsed by:555
Symbol 553 GraphicUsed by:554
Symbol 554 MovieClipUses:553Used by:555
Symbol 555 MovieClipUses:552 554Used by:556
Symbol 556 MovieClip [_машинка]Uses:555Used by:557
Symbol 557 MovieClipUses:298 300 303 307 309 311 312 314 306 316 345 388 403 425 442 444 446 465 481 494 503 504 510 524 551 556Used by:Timeline
Symbol 558 BitmapUsed by:559
Symbol 559 GraphicUses:558Used by:Timeline

Instance Names

"adBox"Frame 2Symbol 206 MovieClip [adBox]
"loadbar"Frame 2Symbol 222 MovieClip
"urltext"Frame 2Symbol 223 EditableText
"Logo"Frame 3Symbol 238 MovieClip
"game"Frame 6Symbol 201 MovieClip [_Game]
"fpstxt"Symbol 11 MovieClip [fps] Frame 1Symbol 7 EditableText
"avgtxt"Symbol 11 MovieClip [fps] Frame 1Symbol 9 EditableText
"newgroundsButton"Symbol 80 MovieClip [FlashAd] Frame 1Symbol 56 Button
"adContainer"Symbol 80 MovieClip [FlashAd] Frame 1Symbol 58 MovieClip
"playButton"Symbol 80 MovieClip [FlashAd] Frame 2Symbol 68 MovieClip
"loadingBar"Symbol 87 MovieClip [Preloader] Frame 1Symbol 86 MovieClip
"playButton"Symbol 87 MovieClip [Preloader] Frame 10Symbol 68 MovieClip
"ad"Symbol 88 MovieClip [APIConnector] Frame 1Symbol 80 MovieClip [FlashAd]
"loader"Symbol 88 MovieClip [APIConnector] Frame 1Symbol 87 MovieClip [Preloader]
"fx_control"Symbol 102 MovieClip [soundcontrol] Frame 1Symbol 94 Button
"music_control"Symbol 102 MovieClip [soundcontrol] Frame 1Symbol 97 Button
"music_on"Symbol 102 MovieClip [soundcontrol] Frame 1Symbol 99 MovieClip
"music_off"Symbol 102 MovieClip [soundcontrol] Frame 1Symbol 101 MovieClip
"sound_on"Symbol 102 MovieClip [soundcontrol] Frame 1Symbol 99 MovieClip
"sound_off"Symbol 102 MovieClip [soundcontrol] Frame 1Symbol 101 MovieClip
"butYes"Symbol 113 MovieClip Frame 1Symbol 109 Button
"butNo"Symbol 113 MovieClip Frame 1Symbol 112 Button
"butModeNormal"Symbol 139 MovieClip Frame 1Symbol 132 Button
"butModeEasy"Symbol 139 MovieClip Frame 1Symbol 135 Button
"butModeHard"Symbol 139 MovieClip Frame 1Symbol 138 Button
"confirm"Symbol 140 MovieClip Frame 1Symbol 113 MovieClip
"butPause"Symbol 140 MovieClip Frame 1Symbol 119 Button
"butLevels"Symbol 140 MovieClip Frame 1Symbol 122 Button
"butTopScores"Symbol 140 MovieClip Frame 1Symbol 124 Button
"butMoreGames"Symbol 140 MovieClip Frame 1Symbol 127 Button
"menuShowHide"Symbol 140 MovieClip Frame 1Symbol 90 MovieClip
"down_arrow"Symbol 140 MovieClip Frame 1Symbol 129 MovieClip
"modeControl"Symbol 140 MovieClip Frame 1Symbol 139 MovieClip
"time"Symbol 144 MovieClip Frame 1Symbol 143 EditableText
"down_arrow"Symbol 144 MovieClip Frame 1Symbol 129 MovieClip
"previewShowHide"Symbol 144 MovieClip Frame 1Symbol 90 MovieClip
"butContinue"Symbol 151 MovieClip Frame 1Symbol 150 Button
"time"Symbol 155 MovieClip Frame 1Symbol 154 EditableText
"butClicktobegin"Symbol 161 MovieClip Frame 1Symbol 160 Button
"clicktobegin"Symbol 162 MovieClip Frame 1Symbol 161 MovieClip
"score"Symbol 169 MovieClip Frame 1Symbol 165 EditableText
"newbestscore"Symbol 169 MovieClip Frame 1Symbol 166 EditableText
"bestscore"Symbol 169 MovieClip Frame 1Symbol 167 EditableText
"details"Symbol 169 MovieClip Frame 1Symbol 168 EditableText
"arrow"Symbol 171 MovieClip Frame 1Symbol 129 MovieClip
"butDetails"Symbol 171 MovieClip Frame 1Symbol 90 MovieClip
"butContinue"Symbol 171 MovieClip Frame 1Symbol 150 Button
"levelcomplete"Symbol 172 MovieClip Frame 1Symbol 169 MovieClip
"buttons"Symbol 172 MovieClip Frame 1Symbol 171 MovieClip
"score"Symbol 176 MovieClip Frame 1Symbol 174 EditableText
"moregame1"Symbol 196 MovieClip Frame 1Symbol 179 MovieClip
"loadarea"Symbol 196 MovieClip Frame 1Symbol 181 MovieClip
"clickarea_moregames"Symbol 196 MovieClip Frame 1Symbol 90 MovieClip
"moregame1"Symbol 196 MovieClip Frame 1Symbol 184 MovieClip
"moregame2"Symbol 196 MovieClip Frame 1Symbol 187 MovieClip
"moregame3"Symbol 196 MovieClip Frame 1Symbol 190 MovieClip
"moregame4"Symbol 196 MovieClip Frame 1Symbol 193 MovieClip
"main_menu"Symbol 201 MovieClip [_Game] Frame 1Symbol 140 MovieClip
"preview"Symbol 201 MovieClip [_Game] Frame 1Symbol 144 MovieClip
"paused"Symbol 201 MovieClip [_Game] Frame 1Symbol 151 MovieClip
"timer"Symbol 201 MovieClip [_Game] Frame 1Symbol 155 MovieClip
"clicktobegin"Symbol 201 MovieClip [_Game] Frame 1Symbol 162 MovieClip
"levelcomplete"Symbol 201 MovieClip [_Game] Frame 1Symbol 172 MovieClip
"submit"Symbol 201 MovieClip [_Game] Frame 1Symbol 176 MovieClip
"moregames"Symbol 201 MovieClip [_Game] Frame 1Symbol 196 MovieClip
"Logo"Symbol 201 MovieClip [_Game] Frame 1Symbol 200 MovieClip
"procent"Symbol 213 MovieClip Frame 1Symbol 211 EditableText
"line"Symbol 222 MovieClip Frame 1Symbol 209 MovieClip
"progress"Symbol 222 MovieClip Frame 1Symbol 213 MovieClip
"runner"Symbol 222 MovieClip Frame 1Symbol 219 MovieClip
"butPlay"Symbol 222 MovieClip Frame 14Symbol 221 Button
"clickarea"Symbol 296 MovieClip Frame 250Symbol 221 Button
"levelscore"Symbol 303 MovieClip [levelframe_240x240] Frame 1Symbol 302 EditableText
"stars"Symbol 303 MovieClip [levelframe_240x240] Frame 1Symbol 204 MovieClip [stars]
"leveltime"Symbol 309 MovieClip [levelframe_240x240_time] Frame 1Symbol 308 EditableText
"leveltime"Symbol 314 MovieClip [levelframe_360x240_time] Frame 1Symbol 313 EditableText
"textField"Symbol 335 MovieClip Frame 1Symbol 334 EditableText
"medalPointsText"Symbol 345 MovieClip [MedalPopup] Frame 15Symbol 332 EditableText
"medalNameClip"Symbol 345 MovieClip [MedalPopup] Frame 15Symbol 335 MovieClip
"medalIcon"Symbol 345 MovieClip [MedalPopup] Frame 23Symbol 58 MovieClip
"label"Symbol 360 MovieClip Frame 1Symbol 358 EditableText
"currentItem"Symbol 366 MovieClip Frame 1Symbol 360 MovieClip
"listButton"Symbol 366 MovieClip Frame 1Symbol 365 Button
"item0"Symbol 366 MovieClip Frame 10Symbol 360 MovieClip
"item1"Symbol 366 MovieClip Frame 10Symbol 360 MovieClip
"item2"Symbol 366 MovieClip Frame 10Symbol 360 MovieClip
"item3"Symbol 366 MovieClip Frame 10Symbol 360 MovieClip
"item4"Symbol 366 MovieClip Frame 10Symbol 360 MovieClip
"item5"Symbol 366 MovieClip Frame 10Symbol 360 MovieClip
"item6"Symbol 366 MovieClip Frame 10Symbol 360 MovieClip
"item7"Symbol 366 MovieClip Frame 10Symbol 360 MovieClip
"rankText"Symbol 378 MovieClip Frame 1Symbol 374 EditableText
"usernameText"Symbol 378 MovieClip Frame 1Symbol 375 EditableText
"scoreText"Symbol 378 MovieClip Frame 1Symbol 376 EditableText
"score0"Symbol 379 MovieClip Frame 1Symbol 378 MovieClip
"score1"Symbol 379 MovieClip Frame 1Symbol 378 MovieClip
"score2"Symbol 379 MovieClip Frame 1Symbol 378 MovieClip
"score3"Symbol 379 MovieClip Frame 1Symbol 378 MovieClip
"score4"Symbol 379 MovieClip Frame 1Symbol 378 MovieClip
"score5"Symbol 379 MovieClip Frame 1Symbol 378 MovieClip
"score6"Symbol 379 MovieClip Frame 1Symbol 378 MovieClip
"score7"Symbol 379 MovieClip Frame 1Symbol 378 MovieClip
"score8"Symbol 379 MovieClip Frame 1Symbol 378 MovieClip
"score9"Symbol 379 MovieClip Frame 1Symbol 378 MovieClip
"listBox"Symbol 388 MovieClip [ScoreBrowser] Frame 1Symbol 366 MovieClip
"titleText"Symbol 388 MovieClip [ScoreBrowser] Frame 1Symbol 367 EditableText
"nextButton"Symbol 388 MovieClip [ScoreBrowser] Frame 1Symbol 371 Button
"prevButton"Symbol 388 MovieClip [ScoreBrowser] Frame 1Symbol 371 Button
"pageText"Symbol 388 MovieClip [ScoreBrowser] Frame 1Symbol 372 EditableText
"scoreContainer"Symbol 388 MovieClip [ScoreBrowser] Frame 11Symbol 379 MovieClip
"reloadButton"Symbol 388 MovieClip [ScoreBrowser] Frame 21Symbol 387 Button
"ship"Symbol 465 MovieClip [_invaders] Frame 1Symbol 452 MovieClip
"bullet"Symbol 465 MovieClip [_invaders] Frame 1Symbol 453 MovieClip [bullet]
"digit"Symbol 528 MovieClip Frame 1Symbol 527 EditableText
"clock"Symbol 551 MovieClip [_часы] Frame 1Symbol 550 MovieClip
"car"Symbol 555 MovieClip Frame 1Symbol 554 MovieClip
"carmoving"Symbol 556 MovieClip [_машинка] Frame 1Symbol 555 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata not present, AS1/AS2.
ExportAssets (56)Timeline Frame 1Symbol 1 as "shuffle3.mp3"
ExportAssets (56)Timeline Frame 1Symbol 2 as "put1.mp3"
ExportAssets (56)Timeline Frame 1Symbol 3 as "complete2.mp3"
ExportAssets (56)Timeline Frame 1Symbol 4 as "frame240x240"
ExportAssets (56)Timeline Frame 1Symbol 11 as "fps"
ExportAssets (56)Timeline Frame 1Symbol 13 as "Newgrounds API Classes"
ExportAssets (56)Timeline Frame 1Symbol 80 as "FlashAd"
ExportAssets (56)Timeline Frame 1Symbol 87 as "Preloader"
ExportAssets (56)Timeline Frame 1Symbol 88 as "APIConnector"
ExportAssets (56)Timeline Frame 1Symbol 102 as "soundcontrol"
ExportAssets (56)Timeline Frame 1Symbol 201 as "_Game"
ExportAssets (56)Timeline Frame 1Symbol 204 as "stars"
ExportAssets (56)Timeline Frame 1Symbol 206 as "adBox"
ExportAssets (56)Timeline Frame 2Symbol 21 as "__Packages.com.newgrounds.APIConnection"
ExportAssets (56)Timeline Frame 2Symbol 15 as "__Packages.com.newgrounds.EventDispatcher"
ExportAssets (56)Timeline Frame 2Symbol 14 as "__Packages.com.newgrounds.Event"
ExportAssets (56)Timeline Frame 2Symbol 16 as "__Packages.com.newgrounds.APIEventDispatcher"
ExportAssets (56)Timeline Frame 2Symbol 19 as "__Packages.com.newgrounds.encoders.BaseN"
ExportAssets (56)Timeline Frame 2Symbol 25 as "__Packages.com.newgrounds.APICommand"
ExportAssets (56)Timeline Frame 2Symbol 20 as "__Packages.com.newgrounds.Bridge"
ExportAssets (56)Timeline Frame 2Symbol 17 as "__Packages.com.newgrounds.APIEvent"
ExportAssets (56)Timeline Frame 2Symbol 36 as "__Packages.com.newgrounds.API"
ExportAssets (56)Timeline Frame 2Symbol 33 as "__Packages.com.newgrounds.encoders.ImageScanner"
ExportAssets (56)Timeline Frame 2Symbol 34 as "__Packages.com.newgrounds.SaveFile"
ExportAssets (56)Timeline Frame 2Symbol 32 as "__Packages.com.newgrounds.SaveGroup"
ExportAssets (56)Timeline Frame 2Symbol 30 as "__Packages.com.newgrounds.SaveKey"
ExportAssets (56)Timeline Frame 2Symbol 31 as "__Packages.com.newgrounds.SaveRating"
ExportAssets (56)Timeline Frame 2Symbol 26 as "__Packages.com.newgrounds.BitmapLoader"
ExportAssets (56)Timeline Frame 2Symbol 35 as "__Packages.com.newgrounds.SaveQuery"
ExportAssets (56)Timeline Frame 2Symbol 27 as "__Packages.com.newgrounds.Medal"
ExportAssets (56)Timeline Frame 2Symbol 29 as "__Packages.com.newgrounds.ScoreBoard"
ExportAssets (56)Timeline Frame 2Symbol 18 as "__Packages.com.newgrounds.Logger"
ExportAssets (56)Timeline Frame 2Symbol 560 as "__Packages.pipkin.as2.Main"
ExportAssets (56)Timeline Frame 2Symbol 37 as "__Packages.com.newgrounds.components.FlashAdBase"
ExportAssets (56)Timeline Frame 2Symbol 28 as "__Packages.com.newgrounds.Score"
ExportAssets (56)Timeline Frame 2Symbol 12 as "__Packages.com.newgrounds.shims.APIShim"
ExportAssets (56)Timeline Frame 2Symbol 22 as "__Packages.com.newgrounds.crypto.MD5"
ExportAssets (56)Timeline Frame 2Symbol 23 as "__Packages.com.newgrounds.crypto.RC4"
ExportAssets (56)Timeline Frame 2Symbol 24 as "__Packages.com.newgrounds.encoders.json.JSON"
ExportAssets (56)Timeline Frame 5Symbol 299 as "frame360x240"
ExportAssets (56)Timeline Frame 5Symbol 303 as "levelframe_240x240"
ExportAssets (56)Timeline Frame 5Symbol 306 as "lock"
ExportAssets (56)Timeline Frame 5Symbol 307 as "levelframe_240x240_locked"
ExportAssets (56)Timeline Frame 5Symbol 309 as "levelframe_240x240_time"
ExportAssets (56)Timeline Frame 5Symbol 311 as "levelframe_360x240"
ExportAssets (56)Timeline Frame 5Symbol 312 as "levelframe_360x240_locked"
ExportAssets (56)Timeline Frame 5Symbol 314 as "levelframe_360x240_time"
ExportAssets (56)Timeline Frame 5Symbol 315 as "title1"
ExportAssets (56)Timeline Frame 5Symbol 345 as "MedalPopup"
ExportAssets (56)Timeline Frame 5Symbol 388 as "ScoreBrowser"
ExportAssets (56)Timeline Frame 5Symbol 403 as "_окно_поезда"
ExportAssets (56)Timeline Frame 5Symbol 425 as "_киты"
ExportAssets (56)Timeline Frame 5Symbol 442 as "_шестеренки2"
ExportAssets (56)Timeline Frame 5Symbol 444 as "_поляна"
ExportAssets (56)Timeline Frame 5Symbol 446 as "растущая ромашка"
ExportAssets (56)Timeline Frame 5Symbol 448 as "invader1"
ExportAssets (56)Timeline Frame 5Symbol 450 as "invader2"
ExportAssets (56)Timeline Frame 5Symbol 453 as "bullet"
ExportAssets (56)Timeline Frame 5Symbol 455 as "bomb"
ExportAssets (56)Timeline Frame 5Symbol 464 as "explosion"
ExportAssets (56)Timeline Frame 5Symbol 465 as "_invaders"
ExportAssets (56)Timeline Frame 5Symbol 474 as "метеорит"
ExportAssets (56)Timeline Frame 5Symbol 475 as "космопыль"
ExportAssets (56)Timeline Frame 5Symbol 477 as "спутник"
ExportAssets (56)Timeline Frame 5Symbol 480 as "ракета"
ExportAssets (56)Timeline Frame 5Symbol 481 as "_cosmosfly"
ExportAssets (56)Timeline Frame 5Symbol 483 as "снежинка1"
ExportAssets (56)Timeline Frame 5Symbol 485 as "снежинка2"
ExportAssets (56)Timeline Frame 5Symbol 487 as "снежинка3"
ExportAssets (56)Timeline Frame 5Symbol 489 as "снежинка4"
ExportAssets (56)Timeline Frame 5Symbol 493 as "снеговик"
ExportAssets (56)Timeline Frame 5Symbol 494 as "_снег"
ExportAssets (56)Timeline Frame 5Symbol 501 as "пчела"
ExportAssets (56)Timeline Frame 5Symbol 503 as "_пчелы"
ExportAssets (56)Timeline Frame 5Symbol 504 as "_древо"
ExportAssets (56)Timeline Frame 5Symbol 507 as "радуга3a"
ExportAssets (56)Timeline Frame 5Symbol 510 as "_радуга"
ExportAssets (56)Timeline Frame 5Symbol 513 as "фигура1"
ExportAssets (56)Timeline Frame 5Symbol 515 as "фигура2"
ExportAssets (56)Timeline Frame 5Symbol 517 as "фигура3"
ExportAssets (56)Timeline Frame 5Symbol 519 as "фигура4"
ExportAssets (56)Timeline Frame 5Symbol 521 as "фигура5"
ExportAssets (56)Timeline Frame 5Symbol 523 as "фигура6"
ExportAssets (56)Timeline Frame 5Symbol 524 as "_тетрис"
ExportAssets (56)Timeline Frame 5Symbol 551 as "_часы"
ExportAssets (56)Timeline Frame 5Symbol 556 as "_машинка"

Labels

"_up"Symbol 68 MovieClip Frame 1
"_over"Symbol 68 MovieClip Frame 10
"_down"Symbol 68 MovieClip Frame 20
"idle"Symbol 80 MovieClip [FlashAd] Frame 2
"loading"Symbol 80 MovieClip [FlashAd] Frame 10
"loaded"Symbol 80 MovieClip [FlashAd] Frame 20
"noBorder"Symbol 80 MovieClip [FlashAd] Frame 30
"loading"Symbol 87 MovieClip [Preloader] Frame 1
"loaded"Symbol 87 MovieClip [Preloader] Frame 10
"adPreloader"Symbol 88 MovieClip [APIConnector] Frame 2
"ad"Symbol 88 MovieClip [APIConnector] Frame 12
"invisible"Symbol 88 MovieClip [APIConnector] Frame 22
"hidden"Symbol 345 MovieClip [MedalPopup] Frame 3
"medalUnlocked"Symbol 345 MovieClip [MedalPopup] Frame 10
"unlockComplete"Symbol 345 MovieClip [MedalPopup] Frame 84
"_up"Symbol 360 MovieClip Frame 1
"_over"Symbol 360 MovieClip Frame 6
"sortUP"Symbol 366 MovieClip Frame 1
"sortDOWN"Symbol 366 MovieClip Frame 10
"_up"Symbol 378 MovieClip Frame 1
"_over"Symbol 378 MovieClip Frame 5
"loading"Symbol 388 MovieClip [ScoreBrowser] Frame 2
"scores"Symbol 388 MovieClip [ScoreBrowser] Frame 11
"error"Symbol 388 MovieClip [ScoreBrowser] Frame 21

Dynamic Text Variables

fpsSymbol 7 EditableText""
avgSymbol 9 EditableText""




https://swfchan.com/54/267614/info.shtml
Created: 5/6 -2026 03:50:00 Last modified: 5/6 -2026 03:50:00 Server time: 23/06 -2026 11:46:43