Frame 1
this._lockroot = true;
var _mochiads_game_id = "165a0ad4389eb874";
mochi.as2.MochiAd.showPreGameAd({id:_mochiads_game_id, res:"650x500", color:15764992, no_bg:true});
stop();
Frame 2
function musicDisplay() {
var _local2 = 100;
if (_root.musicOK) {
all_snd.setVolume(_local2);
hole_snd.setVolume(80);
wall_snd.setVolume(25);
kick_snd.setVolume(50);
music_mc.gotoAndStop(1);
} else {
all_snd.setVolume(0);
music_mc.gotoAndStop(2);
}
music_mc.click_btn.onRelease = function () {
_root.musicOK = !_root.musicOK;
_root.musicDisplay();
};
trace("MOK:" + _root.game_snd.getVolume());
}
this._lockroot = true;
var myGameClass = new GameOnAde(GameOnAde.GAME_PUBLIC, this, 650, 500, _root._parent.getGL(), "en");
myGameClass.setSecretKey("miASdnigola847klasf");
myGameClass.setGameUrl("http://www.gameonade.com/en/game/47/mini-golf");
myGameClass.startPreloader("gameonade_preloader");
myGameClass.startFpsRecording(4000, 5);
_root.setMask(gamemask_mc);
stop();
var musicOK = true;
var all_snd = new Sound();
Frame 3
function enterCode(code) {
var _local1 = 0;
while (_local1 < 17) {
if (getLevelCode(_local1).toLowerCase() == code.toLowerCase()) {
currentLevel = _local1;
gotoAndStop ("game");
}
_local1++;
}
}
function getLevelCode(level) {
level++;
var _local2 = "ABCDEFGHIJKLMNOPQRSTUVW0123456789";
var _local3 = new Array(0.149231049232185, 0.301545007154346, 0.885162814054638, 0.78298173751682, 0.946830933447927, 0.144973483402282, 0.326856053899974, 0.570905833505094);
var _local5 = "";
var _local1 = 0;
while (_local1 < _local3.length) {
level = level * (100 * _local3[_local1]);
_local5 = _local5 + _local2.charAt(Math.floor(level) % _local2.length);
_local1++;
}
return(_local5);
}
function showWindow(wnd) {
continueW._visible = false;
authorsW._visible = false;
rulesW._visible = false;
wnd._visible = true;
}
_root.setMask(gamemask_mc);
myGameClass.startGame();
stopAllSounds();
var musicMenu = _root.createEmptyMovieClip("musicMenu", -3040);
var menu_snd = new Sound(musicMenu);
menu_snd.attachSound("podklad_menu");
var musicGame = _root.createEmptyMovieClip("musicGame", -3041);
var game_snd = new Sound(musicGame);
game_snd.attachSound("podklad_gra");
menu_snd.start(0, 999999);
musicDisplay();
continueW._visible = false;
authorsW._visible = false;
rulesW._visible = false;
stop();
var balls = new Balls();
var currentLevel = 0;
var levelsData = new Array();
levelsData[0] = {par:2, strokes:0};
levelsData[1] = {par:2, strokes:0};
levelsData[2] = {par:2, strokes:0};
levelsData[3] = {par:4, strokes:0};
levelsData[4] = {par:3, strokes:0};
levelsData[5] = {par:3, strokes:0};
levelsData[6] = {par:3, strokes:0};
levelsData[7] = {par:3, strokes:0};
levelsData[8] = {par:4, strokes:0};
levelsData[9] = {par:3, strokes:0};
levelsData[10] = {par:4, strokes:0};
levelsData[11] = {par:5, strokes:0};
levelsData[12] = {par:3, strokes:0};
levelsData[13] = {par:5, strokes:0};
levelsData[14] = {par:3, strokes:0};
levelsData[15] = {par:3, strokes:0};
levelsData[16] = {par:4, strokes:0};
menu.menuItem0.onRelease = function () {
showWindow(null);
menu_snd.stop();
game_snd.start(0, 999999);
GameTimer.start();
gotoAndStop ("table");
};
menu.menuItem1.onRelease = function () {
showWindow(continueW);
};
menu.menuItem2.onRelease = function () {
showWindow(rulesW);
};
menu.menuItem3.onRelease = function () {
showWindow(authorsW);
};
Frame 4
function onEnterFrame() {
if (pause) {
return(Void);
}
var _local2 = balls.getBall(0);
_local2.xv = _local2.xv * 0.975;
_local2.yv = _local2.yv * 0.975;
if (calcBallSpeed() < 0.1) {
_local2.xv = 0;
_local2.yv = 0;
}
balls.enterFrame();
if (holeHitTest(_local2)) {
holeAttraction();
if ((calcBallSpeed() < 0.1) && (!endGame)) {
if (_root.musicOK) {
_root.hole_snd.start(0.9, 1);
}
endGame = true;
intervalId = setInterval(winner, 1500);
}
}
if (levelsData[currentLevel].strokes >= 10) {
if ((calcBallSpeed() < 0.1) && (!endGame)) {
endGame = true;
intervalId = setInterval(winner, 1500);
}
}
if (waterHitTest(_local2)) {
_local2.xv = _local2.xv * 0.6;
_local2.yv = _local2.yv * 0.6;
if (Math.sqrt((_local2.xv * _local2.xv) + (_local2.yv * _local2.yv)) <= 0) {
_local2.x = ball.xDown;
_local2.y = ball.yDown;
_local2.xv = 0;
_local2.yv = 0;
}
}
updateScreen();
}
function onMouseMove() {
if (vector.mc) {
drawVector();
}
updateAfterEvent();
}
function onMouseUp() {
if (vector.mc) {
var _local2 = 100;
var _local3 = Math.max(_local2, Math.sqrt((vector.mc._xmouse * vector.mc._xmouse) + (vector.mc._ymouse * vector.mc._ymouse)));
balls.getBall(0).xv = ((vector.mc._xmouse / _local3) * _local2) * -0.2;
balls.getBall(0).yv = ((vector.mc._ymouse / _local3) * _local2) * -0.2;
ball.xDown = balls.getBall(0).x;
ball.yDown = balls.getBall(0).y;
deleteVector();
levelsData[currentLevel].strokes++;
strokesField.text = levelsData[currentLevel].strokes;
if (_root.musicOK) {
_root.kick_snd.start(0, 1);
}
}
}
function onMouseDown() {
if ((calcBallSpeed() == 0) && (!endGame)) {
if (mouseHitTest(balls.getBall(0))) {
createVector(balls.getBall(0));
}
}
}
function winner() {
clearInterval(intervalId);
currentLevel++;
endOfThisLevel();
gotoAndStop ("table");
}
function deleteVector() {
vector.mc.removeMovieClip();
vector.mc = null;
}
function createVector(start) {
vector.mc = board.createEmptyMovieClip("vector", board.getNextHighestDepth());
vector.mc._x = start.x;
vector.mc._y = start.y;
drawVector();
}
function drawVector() {
var _local1 = 100;
var _local5 = Math.max(_local1, Math.sqrt((vector.mc._xmouse * vector.mc._xmouse) + (vector.mc._ymouse * vector.mc._ymouse)));
var _local3 = (vector.mc._xmouse / _local5) * _local1;
var _local2 = (vector.mc._ymouse / _local5) * _local1;
vector.mc.clear();
var _local4 = Math.sqrt((_local3 * _local3) + (_local2 * _local2)) / _local1;
vector.mc.lineStyle(4, ((127 + (128 * _local4)) << 16) | ((64 + (64 * _local4)) << 8));
vector.mc.moveTo(0, 0);
vector.mc.lineTo(_local3, _local2);
}
function calcBallSpeed() {
return(Math.sqrt((balls.getBall(0).xv * balls.getBall(0).xv) + (balls.getBall(0).yv * balls.getBall(0).yv)));
}
function mouseHitTest(ball) {
return(ball.r >= Math.sqrt(((ball.x - board._xmouse) * (ball.x - board._xmouse)) + ((ball.y - board._ymouse) * (ball.y - board._ymouse))));
}
function holeHitTest(ball) {
return(hole.r >= Math.sqrt(((hole.x - ball.x) * (hole.x - ball.x)) + ((hole.y - ball.y) * (hole.y - ball.y))));
}
function waterHitTest(ball) {
return(waterShapes.hitTest(ball.x, ball.y, true));
}
function updateScreen() {
ball._x = balls.getBall(0).x;
ball._y = balls.getBall(0).y;
}
function holeAttraction() {
balls.getBall(0).xv = balls.getBall(0).xv + ((hole.x - balls.getBall(0).x) * 0.3);
balls.getBall(0).yv = balls.getBall(0).yv + ((hole.y - balls.getBall(0).y) * 0.3);
balls.getBall(0).xv = balls.getBall(0).xv * 0.7;
balls.getBall(0).yv = balls.getBall(0).yv * 0.7;
}
function moveHole(x, y) {
hole.x = x;
hole.y = y;
}
function endOfThisLevel() {
keyListener.onKeyDown = null;
board.removeMovieClip();
hole.removeMovieClip();
ball.removeMovieClip();
balls.clear();
}
function setClips() {
ball._xscale = balls.getBall(0).r * 2;
ball._yscale = balls.getBall(0).r * 2;
hole.r = 10;
hole._xscale = hole.r * 2;
hole._yscale = hole.r * 2;
hole._x = hole.x;
hole._y = hole.y;
}
function createWorld1() {
levels.gotoAndStop(1);
balls.addBall(120, 170, 7, 0, 0);
moveHole(515, 400);
setClips();
var _local1 = new Array();
_local1[_local1.length] = {x:58, y:84};
_local1[_local1.length] = {x:564, y:84};
_local1[_local1.length] = {x:590, y:111};
_local1[_local1.length] = {x:590, y:457};
_local1[_local1.length] = {x:430, y:457};
_local1[_local1.length] = {x:429, y:249};
_local1[_local1.length] = {x:58, y:247};
var _local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
}
function createWorld2() {
levels.gotoAndStop(2);
balls.addBall(80, 160, 7, 0, 0);
moveHole(555, 400);
setClips();
var _local1 = new Array();
_local1[_local1.length] = {x:34, y:117};
_local1[_local1.length] = {x:125, y:117};
_local1[_local1.length] = {x:126, y:250};
_local1[_local1.length] = {x:499, y:250};
_local1[_local1.length] = {x:499, y:117};
_local1[_local1.length] = {x:611, y:117};
_local1[_local1.length] = {x:611, y:413};
_local1[_local1.length] = {x:584, y:440};
_local1[_local1.length] = {x:524, y:440};
_local1[_local1.length] = {x:497, y:413};
_local1[_local1.length] = {x:497, y:292};
_local1[_local1.length] = {x:61, y:292};
_local1[_local1.length] = {x:34, y:265};
var _local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
}
function createWorld3() {
levels.gotoAndStop(3);
balls.addBall(81, 119, 7, 0, 0);
moveHole(555, 400);
setClips();
var _local1 = new Array();
_local1[_local1.length] = {x:38, y:464};
_local1[_local1.length] = {x:38, y:80};
_local1[_local1.length] = {x:579, y:80};
_local1[_local1.length] = {x:605, y:106};
_local1[_local1.length] = {x:606, y:464};
var _local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
}
function createWorld4() {
levels.gotoAndStop(4);
balls.addBall(80, 125, 7, 0, 0);
moveHole(560, 421);
setClips();
var _local1 = new Array();
_local1[_local1.length] = {x:38, y:187};
_local1[_local1.length] = {x:456, y:187};
_local1[_local1.length] = {x:456, y:179};
_local1[_local1.length] = {x:38, y:179};
_local1[_local1.length] = {x:38, y:69};
_local1[_local1.length] = {x:579, y:69};
_local1[_local1.length] = {x:608, y:98};
_local1[_local1.length] = {x:608, y:360};
_local1[_local1.length] = {x:239, y:360};
_local1[_local1.length] = {x:239, y:368};
_local1[_local1.length] = {x:608, y:368};
_local1[_local1.length] = {x:608, y:469};
_local1[_local1.length] = {x:65, y:469};
_local1[_local1.length] = {x:38, y:442};
_local1[_local1.length] = {x:38, y:396};
_local1[_local1.length] = {x:66, y:368};
_local1[_local1.length] = {x:156, y:368};
_local1[_local1.length] = {x:157, y:360};
_local1[_local1.length] = {x:38, y:360};
var _local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
}
function createWorld5() {
levels.gotoAndStop(5);
balls.addBall(554, 103, 7, 0, 0);
moveHole(119, 141);
setClips();
var _local1 = new Array();
_local1[_local1.length] = {x:367, y:302};
_local1[_local1.length] = {x:370, y:270};
_local1[_local1.length] = {x:366, y:241};
_local1[_local1.length] = {x:356, y:215};
_local1[_local1.length] = {x:337, y:186};
_local1[_local1.length] = {x:311, y:165};
_local1[_local1.length] = {x:284, y:151};
_local1[_local1.length] = {x:253, y:144};
_local1[_local1.length] = {x:218, y:146};
_local1[_local1.length] = {x:209, y:111};
_local1[_local1.length] = {x:189, y:82};
_local1[_local1.length] = {x:164, y:64};
_local1[_local1.length] = {x:138, y:53};
_local1[_local1.length] = {x:106, y:52};
_local1[_local1.length] = {x:78, y:61};
_local1[_local1.length] = {x:53, y:78};
_local1[_local1.length] = {x:35, y:101};
_local1[_local1.length] = {x:23, y:127};
_local1[_local1.length] = {x:21, y:160};
_local1[_local1.length] = {x:29, y:190};
_local1[_local1.length] = {x:46, y:215};
_local1[_local1.length] = {x:61, y:231};
_local1[_local1.length] = {x:86, y:243};
_local1[_local1.length] = {x:115, y:249};
_local1[_local1.length] = {x:115, y:279};
_local1[_local1.length] = {x:120, y:306};
_local1[_local1.length] = {x:129, y:328};
_local1[_local1.length] = {x:149, y:359};
_local1[_local1.length] = {x:134, y:381};
_local1[_local1.length] = {x:126, y:404};
_local1[_local1.length] = {x:129, y:433};
_local1[_local1.length] = {x:141, y:457};
_local1[_local1.length] = {x:160, y:472};
_local1[_local1.length] = {x:191, y:482};
_local1[_local1.length] = {x:565, y:482};
_local1[_local1.length] = {x:595, y:453};
_local1[_local1.length] = {x:596, y:64};
_local1[_local1.length] = {x:508, y:65};
_local1[_local1.length] = {x:508, y:302};
var _local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
}
function createWorld6() {
levels.gotoAndStop(6);
balls.addBall(479, 273, 7, 0, 0);
moveHole(118, 272);
setClips();
var _local1 = new Array();
_local1[_local1.length] = {x:35, y:91};
_local1[_local1.length] = {x:63, y:63};
_local1[_local1.length] = {x:584, y:63};
_local1[_local1.length] = {x:613, y:91};
_local1[_local1.length] = {x:613, y:447};
_local1[_local1.length] = {x:586, y:474};
_local1[_local1.length] = {x:62, y:474};
_local1[_local1.length] = {x:35, y:447};
var _local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
_local1.length = 0;
_local1[_local1.length] = {x:104, y:127};
_local1[_local1.length] = {x:212, y:127};
_local1[_local1.length] = {x:212, y:234};
_local1[_local1.length] = {x:104, y:235};
_local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
_local2 = 0;
while (_local2 < _local1.length) {
_local1[_local2].x = _local1[_local2].x + 327;
_local2++;
}
_local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
_local2 = 0;
while (_local2 < _local1.length) {
_local1[_local2].y = _local1[_local2].y + 191;
_local2++;
}
_local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
_local2 = 0;
while (_local2 < _local1.length) {
_local1[_local2].x = _local1[_local2].x + -327;
_local2++;
}
_local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
}
function createWorld7() {
levels.gotoAndStop(7);
balls.addBall(108, 131, 7, 0, 0);
moveHole(438, 197);
setClips();
var _local1 = new Array();
_local1[_local1.length] = {x:409, y:304};
_local1[_local1.length] = {x:385, y:295};
_local1[_local1.length] = {x:371, y:287};
_local1[_local1.length] = {x:357, y:275};
_local1[_local1.length] = {x:340, y:253};
_local1[_local1.length] = {x:327, y:227};
_local1[_local1.length] = {x:321, y:201};
_local1[_local1.length] = {x:322, y:173};
_local1[_local1.length] = {x:330, y:146};
_local1[_local1.length] = {x:342, y:124};
_local1[_local1.length] = {x:357, y:105};
_local1[_local1.length] = {x:380, y:88};
_local1[_local1.length] = {x:407, y:77};
_local1[_local1.length] = {x:434, y:72};
_local1[_local1.length] = {x:463, y:74};
_local1[_local1.length] = {x:490, y:84};
_local1[_local1.length] = {x:509, y:96};
_local1[_local1.length] = {x:525, y:110};
_local1[_local1.length] = {x:537, y:124};
_local1[_local1.length] = {x:547, y:142};
_local1[_local1.length] = {x:554, y:161};
_local1[_local1.length] = {x:558, y:187};
_local1[_local1.length] = {x:556, y:211};
_local1[_local1.length] = {x:549, y:235};
_local1[_local1.length] = {x:539, y:253};
_local1[_local1.length] = {x:525, y:270};
_local1[_local1.length] = {x:510, y:285};
_local1[_local1.length] = {x:493, y:295};
_local1[_local1.length] = {x:464, y:306};
_local1[_local1.length] = {x:464, y:394};
_local1[_local1.length] = {x:606, y:394};
_local1[_local1.length] = {x:606, y:472};
_local1[_local1.length] = {x:69, y:472};
_local1[_local1.length] = {x:43, y:446};
_local1[_local1.length] = {x:43, y:68};
_local1[_local1.length] = {x:174, y:68};
_local1[_local1.length] = {x:174, y:435};
_local1[_local1.length] = {x:307, y:435};
_local1[_local1.length] = {x:307, y:394};
_local1[_local1.length] = {x:409, y:394};
var _local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
}
function createWorld8() {
levels.gotoAndStop(8);
balls.addBall(89, 125, 7, 0, 0);
moveHole(114, 440);
setClips();
var _local1 = new Array();
_local1[_local1.length] = {x:52, y:85};
_local1[_local1.length] = {x:608, y:85};
_local1[_local1.length] = {x:608, y:167};
_local1[_local1.length] = {x:426, y:167};
_local1[_local1.length] = {x:426, y:304};
_local1[_local1.length] = {x:608, y:304};
_local1[_local1.length] = {x:608, y:441};
_local1[_local1.length] = {x:580, y:469};
_local1[_local1.length] = {x:52, y:470};
_local1[_local1.length] = {x:52, y:411};
_local1[_local1.length] = {x:104, y:411};
_local1[_local1.length] = {x:104, y:239};
_local1[_local1.length] = {x:335, y:239};
_local1[_local1.length] = {x:335, y:166};
_local1[_local1.length] = {x:52, y:167};
var _local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
_local1.length = 0;
_local1[_local1.length] = {x:126, y:411};
_local1[_local1.length] = {x:335, y:411};
_local1[_local1.length] = {x:335, y:265};
_local1[_local1.length] = {x:126, y:265};
_local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
}
function createWorld9() {
levels.gotoAndStop(9);
balls.addBall(304, 445, 7, 0, 0);
moveHole(141, 422);
setClips();
var _local1 = new Array();
_local1[_local1.length] = {x:252, y:75};
_local1[_local1.length] = {x:252, y:133};
_local1[_local1.length] = {x:276, y:133};
_local1[_local1.length] = {x:276, y:75};
_local1[_local1.length] = {x:594, y:75};
_local1[_local1.length] = {x:619, y:101};
_local1[_local1.length] = {x:619, y:443};
_local1[_local1.length] = {x:595, y:468};
_local1[_local1.length] = {x:275, y:469};
_local1[_local1.length] = {x:275, y:422};
_local1[_local1.length] = {x:542, y:422};
_local1[_local1.length] = {x:542, y:216};
_local1[_local1.length] = {x:253, y:216};
_local1[_local1.length] = {x:254, y:468};
_local1[_local1.length] = {x:39, y:468};
_local1[_local1.length] = {x:39, y:361};
_local1[_local1.length] = {x:213, y:361};
_local1[_local1.length] = {x:213, y:337};
_local1[_local1.length] = {x:39, y:337};
_local1[_local1.length] = {x:39, y:75};
_local1[_local1.length] = {x:100, y:75};
_local1[_local1.length] = {x:100, y:278};
_local1[_local1.length] = {x:136, y:278};
_local1[_local1.length] = {x:136, y:75};
var _local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
}
function createWorld10() {
levels.gotoAndStop(10);
balls.addBall(547, 399, 7, 0, 0);
moveHole(96, 136);
setClips();
var _local1 = new Array();
_local1[_local1.length] = {x:78, y:199};
_local1[_local1.length] = {x:53, y:186};
_local1[_local1.length] = {x:38, y:168};
_local1[_local1.length] = {x:28, y:140};
_local1[_local1.length] = {x:33, y:108};
_local1[_local1.length] = {x:50, y:84};
_local1[_local1.length] = {x:79, y:69};
_local1[_local1.length] = {x:110, y:69};
_local1[_local1.length] = {x:131, y:77};
_local1[_local1.length] = {x:148, y:92};
_local1[_local1.length] = {x:155, y:104};
_local1[_local1.length] = {x:160, y:122};
_local1[_local1.length] = {x:219, y:122};
_local1[_local1.length] = {x:219, y:97};
_local1[_local1.length] = {x:292, y:97};
_local1[_local1.length] = {x:292, y:128};
_local1[_local1.length] = {x:335, y:128};
_local1[_local1.length] = {x:336, y:97};
_local1[_local1.length] = {x:588, y:97};
_local1[_local1.length] = {x:588, y:203};
_local1[_local1.length] = {x:521, y:203};
_local1[_local1.length] = {x:521, y:246};
_local1[_local1.length] = {x:588, y:246};
_local1[_local1.length] = {x:587, y:438};
_local1[_local1.length] = {x:358, y:438};
_local1[_local1.length] = {x:342, y:450};
_local1[_local1.length] = {x:327, y:459};
_local1[_local1.length] = {x:311, y:465};
_local1[_local1.length] = {x:291, y:470};
_local1[_local1.length] = {x:268, y:469};
_local1[_local1.length] = {x:251, y:466};
_local1[_local1.length] = {x:232, y:459};
_local1[_local1.length] = {x:216, y:451};
_local1[_local1.length] = {x:201, y:438};
_local1[_local1.length] = {x:66, y:438};
_local1[_local1.length] = {x:38, y:410};
_local1[_local1.length] = {x:38, y:273};
_local1[_local1.length] = {x:78, y:273};
var _local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
_local1.length = 0;
_local1[_local1.length] = {x:110, y:273};
_local1[_local1.length] = {x:110, y:200};
_local1[_local1.length] = {x:127, y:192};
_local1[_local1.length] = {x:143, y:180};
_local1[_local1.length] = {x:151, y:170};
_local1[_local1.length] = {x:158, y:156};
_local1[_local1.length] = {x:161, y:144};
_local1[_local1.length] = {x:219, y:144};
_local1[_local1.length] = {x:219, y:170};
_local1[_local1.length] = {x:412, y:169};
_local1[_local1.length] = {x:412, y:134};
_local1[_local1.length] = {x:444, y:134};
_local1[_local1.length] = {x:444, y:170};
_local1[_local1.length] = {x:479, y:169};
_local1[_local1.length] = {x:479, y:273};
_local1[_local1.length] = {x:352, y:273};
_local1[_local1.length] = {x:340, y:263};
_local1[_local1.length] = {x:329, y:257};
_local1[_local1.length] = {x:314, y:251};
_local1[_local1.length] = {x:298, y:247};
_local1[_local1.length] = {x:282, y:246};
_local1[_local1.length] = {x:265, y:246};
_local1[_local1.length] = {x:250, y:249};
_local1[_local1.length] = {x:236, y:255};
_local1[_local1.length] = {x:222, y:262};
_local1[_local1.length] = {x:208, y:273};
_local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
}
function createWorld11() {
levels.gotoAndStop(11);
balls.addBall(65, 447, 7, 0, 0);
moveHole(482, 363);
setClips();
var _local1 = new Array();
_local1[_local1.length] = {x:83, y:468};
_local1[_local1.length] = {x:47, y:468};
_local1[_local1.length] = {x:47, y:96};
_local1[_local1.length] = {x:54, y:79};
_local1[_local1.length] = {x:64, y:65};
_local1[_local1.length] = {x:78, y:56};
_local1[_local1.length] = {x:93, y:51};
_local1[_local1.length] = {x:107, y:50};
_local1[_local1.length] = {x:122, y:55};
_local1[_local1.length] = {x:133, y:61};
_local1[_local1.length] = {x:142, y:69};
_local1[_local1.length] = {x:149, y:80};
_local1[_local1.length] = {x:153, y:91};
_local1[_local1.length] = {x:156, y:105};
_local1[_local1.length] = {x:156, y:428};
_local1[_local1.length] = {x:244, y:428};
_local1[_local1.length] = {x:244, y:71};
_local1[_local1.length] = {x:354, y:71};
_local1[_local1.length] = {x:355, y:192};
_local1[_local1.length] = {x:574, y:192};
_local1[_local1.length] = {x:601, y:219};
_local1[_local1.length] = {x:602, y:348};
_local1[_local1.length] = {x:600, y:368};
_local1[_local1.length] = {x:592, y:389};
_local1[_local1.length] = {x:582, y:406};
_local1[_local1.length] = {x:568, y:422};
_local1[_local1.length] = {x:546, y:439};
_local1[_local1.length] = {x:524, y:449};
_local1[_local1.length] = {x:500, y:454};
_local1[_local1.length] = {x:473, y:455};
_local1[_local1.length] = {x:447, y:446};
_local1[_local1.length] = {x:425, y:429};
_local1[_local1.length] = {x:407, y:405};
_local1[_local1.length] = {x:397, y:375};
_local1[_local1.length] = {x:398, y:350};
_local1[_local1.length] = {x:407, y:328};
_local1[_local1.length] = {x:421, y:309};
_local1[_local1.length] = {x:442, y:296};
_local1[_local1.length] = {x:463, y:289};
_local1[_local1.length] = {x:485, y:290};
_local1[_local1.length] = {x:502, y:298};
_local1[_local1.length] = {x:515, y:309};
_local1[_local1.length] = {x:526, y:324};
_local1[_local1.length] = {x:530, y:336};
_local1[_local1.length] = {x:531, y:356};
_local1[_local1.length] = {x:526, y:373};
_local1[_local1.length] = {x:513, y:387};
_local1[_local1.length] = {x:498, y:396};
_local1[_local1.length] = {x:479, y:397};
_local1[_local1.length] = {x:466, y:394};
_local1[_local1.length] = {x:453, y:383};
_local1[_local1.length] = {x:446, y:370};
_local1[_local1.length] = {x:444, y:357};
_local1[_local1.length] = {x:448, y:344};
_local1[_local1.length] = {x:455, y:336};
_local1[_local1.length] = {x:464, y:330};
_local1[_local1.length] = {x:475, y:328};
_local1[_local1.length] = {x:486, y:330};
_local1[_local1.length] = {x:492, y:335};
_local1[_local1.length] = {x:499, y:340};
_local1[_local1.length] = {x:503, y:335};
_local1[_local1.length] = {x:495, y:328};
_local1[_local1.length] = {x:484, y:321};
_local1[_local1.length] = {x:467, y:320};
_local1[_local1.length] = {x:454, y:326};
_local1[_local1.length] = {x:443, y:337};
_local1[_local1.length] = {x:437, y:351};
_local1[_local1.length] = {x:437, y:370};
_local1[_local1.length] = {x:442, y:384};
_local1[_local1.length] = {x:452, y:395};
_local1[_local1.length] = {x:465, y:403};
_local1[_local1.length] = {x:478, y:406};
_local1[_local1.length] = {x:496, y:405};
_local1[_local1.length] = {x:510, y:400};
_local1[_local1.length] = {x:521, y:393};
_local1[_local1.length] = {x:529, y:384};
_local1[_local1.length] = {x:536, y:373};
_local1[_local1.length] = {x:540, y:359};
_local1[_local1.length] = {x:540, y:249};
_local1[_local1.length] = {x:355, y:249};
_local1[_local1.length] = {x:355, y:442};
_local1[_local1.length] = {x:329, y:467};
_local1[_local1.length] = {x:142, y:467};
_local1[_local1.length] = {x:116, y:441};
_local1[_local1.length] = {x:116, y:105};
_local1[_local1.length] = {x:113, y:99};
_local1[_local1.length] = {x:108, y:95};
_local1[_local1.length] = {x:91, y:95};
_local1[_local1.length] = {x:87, y:100};
_local1[_local1.length] = {x:82, y:107};
var _local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
}
function createWorld12() {
levels.gotoAndStop(12);
balls.addBall(92, 268, 7, 0, 0);
moveHole(328, 268);
setClips();
var _local1 = new Array();
_local1[_local1.length] = {x:118, y:247};
_local1[_local1.length] = {x:123, y:213};
_local1[_local1.length] = {x:132, y:186};
_local1[_local1.length] = {x:147, y:157};
_local1[_local1.length] = {x:172, y:125};
_local1[_local1.length] = {x:205, y:95};
_local1[_local1.length] = {x:245, y:73};
_local1[_local1.length] = {x:289, y:59};
_local1[_local1.length] = {x:330, y:56};
_local1[_local1.length] = {x:381, y:63};
_local1[_local1.length] = {x:420, y:78};
_local1[_local1.length] = {x:454, y:99};
_local1[_local1.length] = {x:479, y:121};
_local1[_local1.length] = {x:506, y:156};
_local1[_local1.length] = {x:524, y:191};
_local1[_local1.length] = {x:536, y:234};
_local1[_local1.length] = {x:539, y:274};
_local1[_local1.length] = {x:532, y:317};
_local1[_local1.length] = {x:519, y:352};
_local1[_local1.length] = {x:500, y:387};
_local1[_local1.length] = {x:474, y:417};
_local1[_local1.length] = {x:447, y:440};
_local1[_local1.length] = {x:411, y:460};
_local1[_local1.length] = {x:378, y:471};
_local1[_local1.length] = {x:336, y:477};
_local1[_local1.length] = {x:296, y:475};
_local1[_local1.length] = {x:259, y:466};
_local1[_local1.length] = {x:227, y:452};
_local1[_local1.length] = {x:192, y:429};
_local1[_local1.length] = {x:165, y:403};
_local1[_local1.length] = {x:146, y:375};
_local1[_local1.length] = {x:132, y:348};
_local1[_local1.length] = {x:122, y:321};
_local1[_local1.length] = {x:117, y:289};
_local1[_local1.length] = {x:68, y:289};
_local1[_local1.length] = {x:68, y:247};
var _local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
_local1.length = 0;
_local1[_local1.length] = {x:455, y:282};
_local1[_local1.length] = {x:455, y:394};
_local1[_local1.length] = {x:202, y:394};
_local1[_local1.length] = {x:202, y:141};
_local1[_local1.length] = {x:455, y:140};
_local1[_local1.length] = {x:455, y:255};
_local1[_local1.length] = {x:447, y:255};
_local1[_local1.length] = {x:448, y:148};
_local1[_local1.length] = {x:209, y:148};
_local1[_local1.length] = {x:209, y:386};
_local1[_local1.length] = {x:448, y:386};
_local1[_local1.length] = {x:447, y:282};
_local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
_local1.length = 0;
_local1[_local1.length] = {x:283, y:256};
_local1[_local1.length] = {x:283, y:225};
_local1[_local1.length] = {x:374, y:224};
_local1[_local1.length] = {x:373, y:315};
_local1[_local1.length] = {x:283, y:315};
_local1[_local1.length] = {x:283, y:283};
_local1[_local1.length] = {x:290, y:283};
_local1[_local1.length] = {x:290, y:308};
_local1[_local1.length] = {x:367, y:308};
_local1[_local1.length] = {x:367, y:231};
_local1[_local1.length] = {x:290, y:230};
_local1[_local1.length] = {x:290, y:256};
_local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
}
function createWorld13() {
levels.gotoAndStop(13);
balls.addBall(593, 88, 7, 0, 0);
moveHole(582, 188);
setClips();
var _local1 = new Array();
_local1[_local1.length] = {x:34, y:468};
_local1[_local1.length] = {x:34, y:94};
_local1[_local1.length] = {x:59, y:69};
_local1[_local1.length] = {x:618, y:69};
_local1[_local1.length] = {x:618, y:107};
_local1[_local1.length] = {x:176, y:107};
_local1[_local1.length] = {x:176, y:114};
_local1[_local1.length] = {x:222, y:157};
_local1[_local1.length] = {x:618, y:157};
_local1[_local1.length] = {x:618, y:444};
_local1[_local1.length] = {x:593, y:468};
var _local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
_local1.length = 0;
_local1[_local1.length] = {x:124, y:237};
_local1[_local1.length] = {x:128, y:234};
_local1[_local1.length] = {x:280, y:370};
_local1[_local1.length] = {x:279, y:376};
_local1[_local1.length] = {x:124, y:376};
_local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
_local1.length = 0;
_local1[_local1.length] = {x:545, y:221};
_local1[_local1.length] = {x:545, y:376};
_local1[_local1.length] = {x:465, y:376};
_local1[_local1.length] = {x:301, y:226};
_local1[_local1.length] = {x:302, y:222};
_local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
}
function createWorld14() {
levels.gotoAndStop(14);
balls.addBall(425, 412, 7, 0, 0);
moveHole(270, 104);
setClips();
var _local1 = new Array();
_local1[_local1.length] = {x:269, y:156};
_local1[_local1.length] = {x:252, y:151};
_local1[_local1.length] = {x:239, y:144};
_local1[_local1.length] = {x:228, y:131};
_local1[_local1.length] = {x:221, y:112};
_local1[_local1.length] = {x:223, y:92};
_local1[_local1.length] = {x:231, y:77};
_local1[_local1.length] = {x:243, y:65};
_local1[_local1.length] = {x:261, y:57};
_local1[_local1.length] = {x:280, y:57};
_local1[_local1.length] = {x:296, y:65};
_local1[_local1.length] = {x:307, y:74};
_local1[_local1.length] = {x:315, y:88};
_local1[_local1.length] = {x:319, y:104};
_local1[_local1.length] = {x:317, y:120};
_local1[_local1.length] = {x:309, y:136};
_local1[_local1.length] = {x:293, y:150};
_local1[_local1.length] = {x:299, y:178};
_local1[_local1.length] = {x:436, y:157};
_local1[_local1.length] = {x:444, y:137};
_local1[_local1.length] = {x:457, y:119};
_local1[_local1.length] = {x:476, y:105};
_local1[_local1.length] = {x:498, y:97};
_local1[_local1.length] = {x:523, y:96};
_local1[_local1.length] = {x:543, y:101};
_local1[_local1.length] = {x:562, y:111};
_local1[_local1.length] = {x:577, y:125};
_local1[_local1.length] = {x:586, y:143};
_local1[_local1.length] = {x:592, y:159};
_local1[_local1.length] = {x:593, y:179};
_local1[_local1.length] = {x:590, y:197};
_local1[_local1.length] = {x:582, y:216};
_local1[_local1.length] = {x:574, y:226};
_local1[_local1.length] = {x:562, y:237};
_local1[_local1.length] = {x:543, y:249};
_local1[_local1.length] = {x:561, y:313};
_local1[_local1.length] = {x:575, y:318};
_local1[_local1.length] = {x:582, y:325};
_local1[_local1.length] = {x:586, y:335};
_local1[_local1.length] = {x:586, y:346};
_local1[_local1.length] = {x:581, y:356};
_local1[_local1.length] = {x:574, y:363};
_local1[_local1.length] = {x:566, y:367};
_local1[_local1.length] = {x:556, y:367};
_local1[_local1.length] = {x:543, y:364};
_local1[_local1.length] = {x:494, y:402};
_local1[_local1.length] = {x:495, y:418};
_local1[_local1.length] = {x:491, y:433};
_local1[_local1.length] = {x:484, y:448};
_local1[_local1.length] = {x:474, y:461};
_local1[_local1.length] = {x:459, y:472};
_local1[_local1.length] = {x:438, y:480};
_local1[_local1.length] = {x:416, y:480};
_local1[_local1.length] = {x:401, y:476};
_local1[_local1.length] = {x:384, y:468};
_local1[_local1.length] = {x:373, y:458};
_local1[_local1.length] = {x:365, y:447};
_local1[_local1.length] = {x:358, y:433};
_local1[_local1.length] = {x:169, y:440};
_local1[_local1.length] = {x:162, y:452};
_local1[_local1.length] = {x:150, y:464};
_local1[_local1.length] = {x:135, y:472};
_local1[_local1.length] = {x:121, y:476};
_local1[_local1.length] = {x:102, y:476};
_local1[_local1.length] = {x:86, y:472};
_local1[_local1.length] = {x:72, y:464};
_local1[_local1.length] = {x:58, y:449};
_local1[_local1.length] = {x:47, y:428};
_local1[_local1.length] = {x:46, y:407};
_local1[_local1.length] = {x:52, y:385};
_local1[_local1.length] = {x:62, y:369};
_local1[_local1.length] = {x:74, y:358};
_local1[_local1.length] = {x:86, y:352};
_local1[_local1.length] = {x:101, y:347};
_local1[_local1.length] = {x:103, y:320};
_local1[_local1.length] = {x:86, y:312};
_local1[_local1.length] = {x:72, y:300};
_local1[_local1.length] = {x:60, y:279};
_local1[_local1.length] = {x:53, y:258};
_local1[_local1.length] = {x:55, y:234};
_local1[_local1.length] = {x:63, y:213};
_local1[_local1.length] = {x:79, y:194};
_local1[_local1.length] = {x:102, y:181};
_local1[_local1.length] = {x:123, y:176};
_local1[_local1.length] = {x:139, y:178};
_local1[_local1.length] = {x:152, y:182};
_local1[_local1.length] = {x:165, y:189};
_local1[_local1.length] = {x:178, y:198};
_local1[_local1.length] = {x:275, y:181};
var _local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
_local1.length = 0;
_local1[_local1.length] = {x:305, y:197};
_local1[_local1.length] = {x:434, y:175};
_local1[_local1.length] = {x:436, y:188};
_local1[_local1.length] = {x:440, y:201};
_local1[_local1.length] = {x:446, y:215};
_local1[_local1.length] = {x:455, y:227};
_local1[_local1.length] = {x:465, y:236};
_local1[_local1.length] = {x:473, y:242};
_local1[_local1.length] = {x:483, y:247};
_local1[_local1.length] = {x:500, y:252};
_local1[_local1.length] = {x:525, y:254};
_local1[_local1.length] = {x:543, y:316};
_local1[_local1.length] = {x:538, y:323};
_local1[_local1.length] = {x:533, y:332};
_local1[_local1.length] = {x:532, y:341};
_local1[_local1.length] = {x:533, y:350};
_local1[_local1.length] = {x:493, y:381};
_local1[_local1.length] = {x:488, y:381};
_local1[_local1.length] = {x:481, y:369};
_local1[_local1.length] = {x:470, y:357};
_local1[_local1.length] = {x:456, y:348};
_local1[_local1.length] = {x:441, y:342};
_local1[_local1.length] = {x:420, y:341};
_local1[_local1.length] = {x:405, y:343};
_local1[_local1.length] = {x:392, y:349};
_local1[_local1.length] = {x:380, y:357};
_local1[_local1.length] = {x:371, y:366};
_local1[_local1.length] = {x:364, y:378};
_local1[_local1.length] = {x:356, y:398};
_local1[_local1.length] = {x:176, y:404};
_local1[_local1.length] = {x:173, y:391};
_local1[_local1.length] = {x:169, y:380};
_local1[_local1.length] = {x:161, y:369};
_local1[_local1.length] = {x:151, y:360};
_local1[_local1.length] = {x:136, y:351};
_local1[_local1.length] = {x:138, y:323};
_local1[_local1.length] = {x:150, y:319};
_local1[_local1.length] = {x:162, y:313};
_local1[_local1.length] = {x:174, y:305};
_local1[_local1.length] = {x:184, y:294};
_local1[_local1.length] = {x:193, y:280};
_local1[_local1.length] = {x:198, y:266};
_local1[_local1.length] = {x:264, y:272};
_local1[_local1.length] = {x:313, y:301};
_local1[_local1.length] = {x:345, y:251};
_local1[_local1.length] = {x:309, y:218};
_local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
_local1.length = 0;
_local1[_local1.length] = {x:264, y:251};
_local1[_local1.length] = {x:200, y:244};
_local1[_local1.length] = {x:197, y:230};
_local1[_local1.length] = {x:193, y:216};
_local1[_local1.length] = {x:194, y:214};
_local1[_local1.length] = {x:280, y:200};
_local1[_local1.length] = {x:286, y:222};
_local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
}
function createWorld15() {
levels.gotoAndStop(15);
balls.addBall(71, 265, 7, 0, 0);
moveHole(473, 265);
setClips();
var _local1 = new Array();
_local1[_local1.length] = {x:38, y:219};
_local1[_local1.length] = {x:153, y:219};
_local1[_local1.length] = {x:231, y:140};
_local1[_local1.length] = {x:231, y:57};
_local1[_local1.length] = {x:591, y:57};
_local1[_local1.length] = {x:617, y:83};
_local1[_local1.length] = {x:618, y:455};
_local1[_local1.length] = {x:592, y:481};
_local1[_local1.length] = {x:231, y:481};
_local1[_local1.length] = {x:231, y:397};
_local1[_local1.length] = {x:137, y:304};
_local1[_local1.length] = {x:38, y:304};
var _local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
_local1.length = 0;
_local1[_local1.length] = {x:300, y:81};
_local1[_local1.length] = {x:446, y:81};
_local1[_local1.length] = {x:446, y:462};
_local1[_local1.length] = {x:300, y:462};
_local1[_local1.length] = {x:300, y:397};
_local1[_local1.length] = {x:375, y:322};
_local1[_local1.length] = {x:375, y:215};
_local1[_local1.length] = {x:301, y:141};
_local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
_local1.length = 0;
_local1[_local1.length] = {x:264, y:194};
_local1[_local1.length] = {x:337, y:267};
_local1[_local1.length] = {x:264, y:340};
_local1[_local1.length] = {x:191, y:267};
_local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
}
function createWorld16() {
levels.gotoAndStop(16);
balls.addBall(118, 121, 7, 0, 0);
moveHole(578, 395);
setClips();
var _local2 = new Array();
_local2[_local2.length] = {x:30, y:52};
_local2[_local2.length] = {x:624, y:52};
_local2[_local2.length] = {x:624, y:466};
_local2[_local2.length] = {x:30, y:466};
var _local1 = 0;
while (_local1 < _local2.length) {
balls.addPoint(_local2[_local1].x, _local2[_local1].y);
balls.addLine(_local2[_local1], _local2[(_local1 + 1) % _local2.length]);
_local1++;
}
}
function createWorld17() {
levels.gotoAndStop(17);
balls.addBall(500, 150, 7, 0, 0);
moveHole(500, 320);
setClips();
var _local1 = new Array();
_local1[_local1.length] = {x:484, y:92};
_local1[_local1.length] = {x:506, y:107};
_local1[_local1.length] = {x:524, y:120};
_local1[_local1.length] = {x:542, y:138};
_local1[_local1.length] = {x:562, y:162};
_local1[_local1.length] = {x:539, y:177};
_local1[_local1.length] = {x:504, y:195};
_local1[_local1.length] = {x:472, y:206};
_local1[_local1.length] = {x:449, y:212};
_local1[_local1.length] = {x:413, y:213};
_local1[_local1.length] = {x:388, y:210};
_local1[_local1.length] = {x:363, y:204};
_local1[_local1.length] = {x:326, y:192};
_local1[_local1.length] = {x:291, y:182};
_local1[_local1.length] = {x:259, y:176};
_local1[_local1.length] = {x:223, y:176};
_local1[_local1.length] = {x:206, y:181};
_local1[_local1.length] = {x:190, y:189};
_local1[_local1.length] = {x:179, y:199};
_local1[_local1.length] = {x:171, y:209};
_local1[_local1.length] = {x:163, y:222};
_local1[_local1.length] = {x:167, y:224};
_local1[_local1.length] = {x:197, y:214};
_local1[_local1.length] = {x:244, y:208};
_local1[_local1.length] = {x:244, y:248};
_local1[_local1.length] = {x:203, y:261};
_local1[_local1.length] = {x:168, y:284};
_local1[_local1.length] = {x:169, y:288};
_local1[_local1.length] = {x:192, y:294};
_local1[_local1.length] = {x:206, y:286};
_local1[_local1.length] = {x:227, y:274};
_local1[_local1.length] = {x:251, y:266};
_local1[_local1.length] = {x:272, y:263};
_local1[_local1.length] = {x:296, y:263};
_local1[_local1.length] = {x:319, y:267};
_local1[_local1.length] = {x:346, y:275};
_local1[_local1.length] = {x:341, y:216};
_local1[_local1.length] = {x:432, y:228};
_local1[_local1.length] = {x:371, y:284};
_local1[_local1.length] = {x:388, y:295};
_local1[_local1.length] = {x:405, y:300};
_local1[_local1.length] = {x:421, y:303};
_local1[_local1.length] = {x:443, y:303};
_local1[_local1.length] = {x:463, y:300};
_local1[_local1.length] = {x:479, y:291};
_local1[_local1.length] = {x:499, y:278};
_local1[_local1.length] = {x:521, y:305};
_local1[_local1.length] = {x:531, y:317};
_local1[_local1.length] = {x:537, y:333};
_local1[_local1.length] = {x:542, y:350};
_local1[_local1.length] = {x:545, y:393};
_local1[_local1.length] = {x:532, y:385};
_local1[_local1.length] = {x:513, y:378};
_local1[_local1.length] = {x:498, y:374};
_local1[_local1.length] = {x:478, y:374};
_local1[_local1.length] = {x:464, y:377};
_local1[_local1.length] = {x:450, y:384};
_local1[_local1.length] = {x:569, y:503};
_local1[_local1.length] = {x:444, y:392};
_local1[_local1.length] = {x:440, y:401};
_local1[_local1.length] = {x:439, y:416};
_local1[_local1.length] = {x:441, y:428};
_local1[_local1.length] = {x:438, y:430};
_local1[_local1.length] = {x:418, y:419};
_local1[_local1.length] = {x:396, y:411};
_local1[_local1.length] = {x:370, y:402};
_local1[_local1.length] = {x:345, y:397};
_local1[_local1.length] = {x:319, y:393};
_local1[_local1.length] = {x:288, y:393};
_local1[_local1.length] = {x:272, y:395};
_local1[_local1.length] = {x:250, y:400};
_local1[_local1.length] = {x:230, y:407};
_local1[_local1.length] = {x:213, y:415};
_local1[_local1.length] = {x:198, y:423};
_local1[_local1.length] = {x:203, y:439};
_local1[_local1.length] = {x:217, y:440};
_local1[_local1.length] = {x:231, y:436};
_local1[_local1.length] = {x:261, y:417};
_local1[_local1.length] = {x:360, y:430};
_local1[_local1.length] = {x:350, y:465};
_local1[_local1.length] = {x:241, y:448};
_local1[_local1.length] = {x:223, y:450};
_local1[_local1.length] = {x:195, y:451};
_local1[_local1.length] = {x:163, y:449};
_local1[_local1.length] = {x:164, y:422};
_local1[_local1.length] = {x:162, y:409};
_local1[_local1.length] = {x:132, y:310};
_local1[_local1.length] = {x:152, y:379};
_local1[_local1.length] = {x:142, y:343};
_local1[_local1.length] = {x:124, y:285};
_local1[_local1.length] = {x:117, y:256};
_local1[_local1.length] = {x:116, y:229};
_local1[_local1.length] = {x:120, y:212};
_local1[_local1.length] = {x:131, y:187};
_local1[_local1.length] = {x:148, y:162};
_local1[_local1.length] = {x:165, y:143};
_local1[_local1.length] = {x:189, y:122};
_local1[_local1.length] = {x:221, y:103};
_local1[_local1.length] = {x:259, y:87};
_local1[_local1.length] = {x:301, y:77};
_local1[_local1.length] = {x:342, y:70};
_local1[_local1.length] = {x:397, y:70};
_local1[_local1.length] = {x:436, y:74};
_local1[_local1.length] = {x:406, y:3};
_local1[_local1.length] = {x:560, y:1};
var _local2 = 0;
while (_local2 < _local1.length) {
balls.addPoint(_local1[_local2].x, _local1[_local2].y);
balls.addLine(_local1[_local2], _local1[(_local2 + 1) % _local1.length]);
_local2++;
}
}
_root.setMask(gamemask_mc);
myGameClass.timerStart();
var sndHole = _root.createEmptyMovieClip("sndHole", -3042);
var hole_snd = new Sound(sndHole);
hole_snd.attachSound("fall_2");
hole_snd.setVolume(80);
var sndWall = _root.createEmptyMovieClip("sndWall", -3043);
var wall_snd = new Sound(sndWall);
wall_snd.attachSound("kick");
wall_snd.setVolume(25);
var sndKick = _root.createEmptyMovieClip("sndKick", -3044);
var kick_snd = new Sound(sndKick);
kick_snd.attachSound("kick_wall");
kick_snd.setVolume(50);
musicDisplay();
trace("GAME");
stop();
menuB.onRelease = function () {
endOfThisLevel();
gotoAndStop ("menu");
};
var board = this.createEmptyMovieClip("board", this.getNextHighestDepth());
var hole = board.attachMovie("hole", "hole", board.getNextHighestDepth());
var ball = board.attachMovie("ball", "ball", board.getNextHighestDepth());
var intervalId;
var endGame = false;
levelField.text = currentLevel + 1;
parField.text = levelsData[currentLevel].par;
strokesField.text = levelsData[currentLevel].strokes;
balls.clear();
this["createWorld" + (currentLevel + 1)]();
trace((("zlozonosc planszy: " + balls.getNumPoints()) + " / ") + balls.getNumLines());
waterShapes.gotoAndStop(levels._currentFrame);
waterShapes._visible = false;
updateScreen();
var vector = new Object();
codeCnt = 0;
var pause = false;
Frame 5
function gameIsOver() {
myGameClass.endGame();
levelCodeField.text = "";
code_txt._visible = false;
playB._visible = false;
saveB._visible = true;
var _local3 = 0;
var _local2 = 0;
while (_local2 < levelsData.length) {
if (levelsData[_local2].strokes == 0) {
_local3 = _local3 - 10;
} else {
_local3 = _local3 + (levelsData[_local2].par - levelsData[_local2].strokes);
}
_local2++;
}
myGameClass.addPoints(Math.max(0, 10000 + (10000 * (_local3 * 0.01))));
saveField.text = "Your score: " + myGameClass.getPointsInfo();
saveB.onRelease = function () {
_root.myGameClass.savePoints();
};
gameoverB._visible = false;
saveB._visible = false;
}
_root.setMask(gamemask_mc);
myGameClass.timerStop();
musicDisplay();
levelCodeField.text = getLevelCode(currentLevel);
var tableMc = tableLimiter;
var i = 0;
while (i < levelsData.length) {
if (levelsData[i].strokes > 0) {
var num = (i + 1);
var tf = tableMc["ta_" + num].t_txt;
tf.text = levelsData[i].par;
var tf = tableMc["tb_" + num].t_txt;
tf.text = levelsData[i].strokes;
var tf = tableMc["tc_" + num].t_txt;
tf.text = (levelsData[i].par - levelsData[i].strokes).toString(10);
}
i++;
}
playB.onRelease = function () {
tableMc.removeMovieClip();
gotoAndStop ("game");
};
menuB.onRelease = function () {
tableMc.removeMovieClip();
gotoAndStop ("menu");
};
gameoverB.onRelease = function () {
gameIsOver();
};
saveField.text = "";
if (currentLevel >= 17) {
gameIsOver();
} else {
code_txt._visible = true;
saveB._visible = false;
gameoverB._visible = true;
}
Symbol 11 MovieClip [gameonade_preloader] Frame 25
var is_stop = true;
stop();
Symbol 11 MovieClip [gameonade_preloader] Frame 103
_root.play();
removeMovieClip(this);
stop();
Symbol 177 MovieClip [__Packages.mochi.as2.MochiAd] Frame 0
class mochi.as2.MochiAd
{
function MochiAd () {
}
static function getVersion() {
return(mochi.as2.MochiServices.getVersion());
}
static function showPreGameAd(options) {
var _local26 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}, ad_failed:function () {
trace("[MochiAd] Couldn't load an ad, make sure that your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_loaded:function (width, height) {
}, ad_skipped:function () {
}, ad_progress:function (percent) {
}};
options = _parseOptions(options, _local26);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def") {
options.ad_started();
options.ad_finished();
return(undefined);
}
var clip = options.clip;
var _local23 = 11000;
var _local19 = options.ad_timeout;
if (options.skip) {
_local19 = 0;
}
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_failed();
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local14 = _getRes(options);
var _local4 = _local14[0];
var _local13 = _local14[1];
mc._x = _local4 * 0.5;
mc._y = _local13 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk._x = _local4 * -0.5;
chk._y = _local13 * -0.5;
var _local6 = chk.createEmptyMovieClip("_mochiad_bar", 4);
if (options.no_progress_bar) {
_local6._visible = false;
delete options.no_progress_bar;
} else {
_local6._x = 10;
_local6._y = _local13 - 20;
}
var _local22 = options.color;
delete options.color;
var _local20 = options.background;
delete options.background;
var _local24 = options.outline;
delete options.outline;
var _local5 = _local6.createEmptyMovieClip("_outline", 1);
_local5.beginFill(_local20);
_local5.moveTo(0, 0);
_local5.lineTo(_local4 - 20, 0);
_local5.lineTo(_local4 - 20, 10);
_local5.lineTo(0, 10);
_local5.lineTo(0, 0);
_local5.endFill();
var _local3 = _local6.createEmptyMovieClip("_inside", 2);
_local3.beginFill(_local22);
_local3.moveTo(0, 0);
_local3.lineTo(_local4 - 20, 0);
_local3.lineTo(_local4 - 20, 10);
_local3.lineTo(0, 10);
_local3.lineTo(0, 0);
_local3.endFill();
_local3._xscale = 0;
var _local7 = _local6.createEmptyMovieClip("_outline", 3);
_local7.lineStyle(0, _local24, 100);
_local7.moveTo(0, 0);
_local7.lineTo(_local4 - 20, 0);
_local7.lineTo(_local4 - 20, 10);
_local7.lineTo(0, 10);
_local7.lineTo(0, 0);
chk.ad_msec = _local23;
chk.ad_timeout = _local19;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
mochi.as2.MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
var sendHostProgress = false;
mc.lc.sendHostLoadProgress = function (lc_name) {
sendHostProgress = true;
};
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec;
};
mc.lc.rpc = function (callbackID, arg) {
mochi.as2.MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s) {
trace("[MOCHIAD rpcTestFn] " + s);
return(s);
};
chk.onEnterFrame = function () {
var _local6 = this._parent._parent;
var _local11 = this._parent._mochiad_ctr;
var _local5 = getTimer() - this.started;
var _local3 = false;
var _local4 = _local6.getBytesTotal();
var _local8 = _local6.getBytesLoaded();
var _local2 = (100 * _local8) / _local4;
var _local10 = (100 * _local5) / chk.ad_msec;
var _local9 = this._mochiad_bar._inside;
var _local13 = Math.min(100, Math.min(_local2 || 0, _local10));
_local13 = Math.max(this.last_pcnt, _local13);
this.last_pcnt = _local13;
_local9._xscale = _local13;
options.ad_progress(_local13);
if (sendHostProgress) {
mochi.as2.MochiAd.containerNotify(clip, {id:"hostLoadPcnt", pcnt:_local2}, clip._mochiad._containerLCName);
if (_local2 == 100) {
sendHostProgress = false;
}
}
if (!chk.showing) {
var _local7 = _local11.getBytesTotal();
if ((_local7 > 0) || (typeof(_local7) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if ((_local5 > chk.ad_timeout) && (_local2 == 100)) {
options.ad_failed();
_local3 = true;
}
}
if (_local5 > chk.ad_msec) {
_local3 = true;
}
if (((_local4 > 0) && (_local8 >= _local4)) && (_local3)) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
}
}
};
}
static function showClickAwayAd(options) {
var _local10 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function () {
}, ad_finished:function () {
}, ad_loaded:function (width, height) {
}, ad_failed:function () {
trace("[MochiAd] Couldn't load an ad, make sure that your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function () {
}};
options = _parseOptions(options, _local10);
var clip = options.clip;
var _local9 = options.ad_timeout;
delete options.ad_timeout;
if (!load(options)) {
options.ad_failed();
options.ad_finished();
return(undefined);
}
options.ad_started();
var _local3 = clip._mochiad;
_local3.onUnload = function () {
options.ad_finished();
};
var _local5 = _getRes(options);
var _local11 = _local5[0];
var _local8 = _local5[1];
_local3._x = _local11 * 0.5;
_local3._y = _local8 * 0.5;
var chk = _local3.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_timeout = _local9;
chk.started = getTimer();
chk.showing = false;
_local3.lc.adLoaded = options.ad_loaded;
_local3.lc.adSkipped = options.ad_skipped;
_local3.lc.rpc = function (callbackID, arg) {
mochi.as2.MochiAd.rpc(clip, callbackID, arg);
};
_local3.rpcTestFn = function (s) {
trace("[MOCHIAD rpcTestFn] " + s);
return(s);
};
var _local21 = false;
chk.onEnterFrame = function () {
var _local5 = this._parent._mochiad_ctr;
var _local4 = getTimer() - this.started;
var _local2 = false;
if (!chk.showing) {
var _local3 = _local5.getBytesTotal();
if ((_local3 > 0) || (typeof(_local3) == "undefined")) {
_local2 = true;
chk.showing = true;
chk.started = getTimer();
} else if (_local4 > chk.ad_timeout) {
options.ad_failed();
_local2 = true;
}
}
if (_local2) {
delete this.onEnterFrame;
}
};
}
static function showInterLevelAd(options) {
var _local13 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}, ad_failed:function () {
trace("[MochiAd] Couldn't load an ad, make sure that your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_loaded:function (width, height) {
}, ad_skipped:function () {
}};
options = _parseOptions(options, _local13);
var clip = options.clip;
var _local10 = 11000;
var _local12 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_failed();
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local5 = _getRes(options);
var _local14 = _local5[0];
var _local11 = _local5[1];
mc._x = _local14 * 0.5;
mc._y = _local11 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_msec = _local10;
chk.ad_timeout = _local12;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
mochi.as2.MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec - 250;
};
mc.lc.rpc = function (callbackID, arg) {
mochi.as2.MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s) {
trace("[MOCHIAD rpcTestFn] " + s);
return(s);
};
chk.onEnterFrame = function () {
var _local5 = this._parent._mochiad_ctr;
var _local4 = getTimer() - this.started;
var _local2 = false;
if (!chk.showing) {
var _local3 = _local5.getBytesTotal();
if ((_local3 > 0) || (typeof(_local3) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local4 > chk.ad_timeout) {
options.ad_failed();
_local2 = true;
}
}
if (_local4 > chk.ad_msec) {
_local2 = true;
}
if (_local2) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
}
}
};
}
static function showPreloaderAd(options) {
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
showPreGameAd(options);
}
static function showTimedAd(options) {
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
showInterLevelAd(options);
}
static function _allowDomains(server) {
var _local1 = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(_local1);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(_local1);
}
}
return(_local1);
}
static function load(options) {
var _local12 = {clip:_root, server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = _parseOptions(options, _local12);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = getVersion();
var _local6 = options.clip;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local6._mochiad_loaded) {
return(null);
}
var _local11 = options.depth;
delete options.depth;
var mc = _local6.createEmptyMovieClip("_mochiad", _local11);
var _local10 = _getRes(options);
options.res = (_local10[0] + "x") + _local10[1];
options.server = options.server + options.id;
delete options.id;
_local6._mochiad_loaded = true;
if (_local6._url.indexOf("http") != 0) {
trace("[MochiAd] NOTE: Security Sandbox Violation errors below are normal");
}
var _local4 = mc.createEmptyMovieClip("_mochiad_ctr", 1);
for (var _local7 in options) {
_local4[_local7] = options[_local7];
}
var _local9 = _local4.server;
delete _local4.server;
var _local13 = _allowDomains(_local9);
mc.onEnterFrame = function () {
if (this._mochiad_ctr._url != this._url) {
this.onEnterFrame = function () {
if (!this._mochiad_ctr) {
delete this.onEnterFrame;
mochi.as2.MochiAd.unload(this._parent);
}
};
}
};
var _local5 = new Object();
var _local8 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local5.mc = mc;
_local5.name = _local8;
_local5.hostname = _local13;
_local5.allowDomain = function (d) {
return(true);
};
_local5.allowInsecureDomain = _local5.allowDomain;
_local5.connect(_local8);
mc.lc = _local5;
mc.lc.regContLC = function (lc_name) {
mc._containerLCName = lc_name;
};
_local4.lc = _local8;
_local4.st = getTimer();
if (!options.skip) {
_local4.loadMovie(_local9 + ".swf", "POST");
}
return(mc);
}
static function unload(clip) {
if (typeof(clip) == "undefined") {
clip = _root;
}
if (clip.clip && (clip.clip._mochiad)) {
clip = clip.clip;
}
if (!clip._mochiad) {
return(false);
}
containerNotify(clip, {id:"unload"}, clip._mochiad._containerLCName);
clip._mochiad.removeMovieClip();
delete clip._mochiad_loaded;
delete clip._mochiad;
return(true);
}
static function _isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function _getRes(options) {
var _local3 = options.clip.getBounds();
var _local2 = 0;
var _local1 = 0;
if (typeof(options.res) != "undefined") {
var _local4 = options.res.split("x");
_local2 = parseFloat(_local4[0]);
_local1 = parseFloat(_local4[1]);
} else {
_local2 = _local3.xMax - _local3.xMin;
_local1 = _local3.yMax - _local3.yMin;
}
if ((_local2 == 0) || (_local1 == 0)) {
_local2 = Stage.width;
_local1 = Stage.height;
}
return([_local2, _local1]);
}
static function _parseOptions(options, defaults) {
var _local4 = {};
for (var _local8 in defaults) {
_local4[_local8] = defaults[_local8];
}
if (options) {
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
}
if (_root.mochiad_options) {
var _local5 = _root.mochiad_options.split("&");
var _local2 = 0;
while (_local2 < _local5.length) {
var _local3 = _local5[_local2].split("=");
_local4[unescape(_local3[0])] = unescape(_local3[1]);
_local2++;
}
}
if (_local4.id == "test") {
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
}
return(_local4);
}
static function rpc(clip, callbackID, arg) {
switch (arg.id) {
case "setValue" :
setValue(clip, arg.objectName, arg.value);
break;
case "getValue" :
var _local4 = getValue(clip, arg.objectName);
containerRpcResult(clip, callbackID, _local4, clip._mochiad._containerLCName);
break;
case "runMethod" :
var _local3 = runMethod(clip, arg.method, arg.args);
containerRpcResult(clip, callbackID, _local3, clip._mochiad._containerLCName);
break;
default :
trace("[mochiads rpc] unknown rpc id: " + arg.id);
}
}
static function setValue(base, objectName, value) {
var _local2 = objectName.split(".");
var _local1;
_local1 = 0;
while (_local1 < (_local2.length - 1)) {
if ((base[_local2[_local1]] == undefined) || (base[_local2[_local1]] == null)) {
return(undefined);
}
base = base[_local2[_local1]];
_local1++;
}
base[_local2[_local1]] = value;
}
static function getValue(base, objectName) {
var _local2 = objectName.split(".");
var _local1;
_local1 = 0;
while (_local1 < (_local2.length - 1)) {
if ((base[_local2[_local1]] == undefined) || (base[_local2[_local1]] == null)) {
return(undefined);
}
base = base[_local2[_local1]];
_local1++;
}
return(base[_local2[_local1]]);
}
static function runMethod(base, methodName, argsArray) {
var _local2 = methodName.split(".");
var _local1;
_local1 = 0;
while (_local1 < (_local2.length - 1)) {
if ((base[_local2[_local1]] == undefined) || (base[_local2[_local1]] == null)) {
return(undefined);
}
base = base[_local2[_local1]];
_local1++;
}
if (typeof(base[_local2[_local1]]) == "function") {
return(base[_local2[_local1]].apply(base, argsArray));
}
return(undefined);
}
static function containerNotify(clip, args, lcName) {
var _local1 = clip._mochiad._mochiad_ctr.ad.app;
if (_local1.notify) {
_local1.notify(args);
} else {
new LocalConnection().send(lcName, "notify", args);
}
}
static function containerRpcResult(clip, callbackID, val, lcName) {
var _local1 = clip._mochiad._mochiad_ctr.ad.app;
if (_local1.rpcResult) {
_local1.rpcResult(callbackID, val);
} else {
new LocalConnection().send(lcName, "rpcResult", callbackID, val);
}
}
}
Symbol 178 MovieClip [__Packages.mochi.as2.MochiSync] Frame 0
class mochi.as2.MochiSync
{
var _syncContainer;
function MochiSync () {
_syncContainer = {};
}
function getProp(name) {
return(_syncContainer[name]);
}
function setProp(name, value) {
if (_syncContainer[name] == value) {
return(undefined);
}
_syncContainer[name] = value;
mochi.as2.MochiServices.send("sync_propUpdate", {name:name, value:value});
}
function triggerEvent(eventType, args) {
switch (eventType) {
case SYNC_REQUEST :
mochi.as2.MochiServices.send("sync_syncronize", _syncContainer);
break;
case SYNC_PROPERTY :
_syncContainer[args.name] = args.value;
}
}
static var SYNC_REQUEST = "SyncRequest";
static var SYNC_PROPERTY = "UpdateProperty";
}
Symbol 179 MovieClip [__Packages.mochi.as2.MochiServices] Frame 0
class mochi.as2.MochiServices
{
static var _id, _container, _clip, _sendChannelName, __get__comChannelName, onError, _listenChannel, _sendChannel;
function MochiServices () {
}
static function get id() {
return(_id);
}
static function get clip() {
return(_container);
}
static function get childClip() {
return(_clip);
}
static function getVersion() {
return("3.8 as2");
}
static function allowDomains(server) {
var _local1 = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(_local1);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(_local1);
}
}
return(_local1);
}
static function get isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function set comChannelName(val) {
if (val != undefined) {
if (val.length > 3) {
_sendChannelName = val + "_fromgame";
initComChannels();
}
}
//return(__get__comChannelName());
}
static function get connected() {
return(_connected);
}
static function connect(id, clip, onError) {
warnID(id, false);
if ((!_connected) && (_clip == undefined)) {
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
}
if (onError != undefined) {
mochi.as2.MochiServices.onError = onError;
} else if (mochi.as2.MochiServices.onError == undefined) {
mochi.as2.MochiServices.onError = function (errorCode) {
trace(errorCode);
};
}
}
static function disconnect() {
if (_connected || (_connecting)) {
_connecting = (_connected = false);
flush(true);
if (_clip != undefined) {
_clip.removeMovieClip();
delete _clip;
}
_listenChannel.close();
}
}
static function init(id, clip) {
_id = id;
if (clip != undefined) {
_container = clip;
} else {
_container = _root;
}
loadCommunicator(id, _container);
}
static function loadCommunicator(id, clip) {
var _local6 = "_mochiservices_com_" + id;
var _local5 = new MovieClipLoader();
var _local3 = {};
if (_clip != null) {
return(_clip);
}
if (!isNetworkAvailable) {
return(null);
}
if (urlOptions().servURL) {
_servURL = urlOptions().servURL;
}
var _local4 = _servURL + _services;
if (urlOptions().servicesURL) {
_local4 = urlOptions().servicesURL;
}
allowDomains(_local4);
_clip = clip.createEmptyMovieClip(_local6, 10336, false);
_listenChannelName = _listenChannelName + ((Math.floor(new Date().getTime()) + "_") + Math.floor(Math.random() * 99999));
listen();
if (_local3.waitInterval != null) {
clearInterval(_local3.waitInterval);
}
_local3.onLoadError = loadError;
_local3.onLoadStart = function (target_mc) {
this.isLoading = true;
};
_local3.onLoadComplete = function (target_mc) {
target_mc.MochiServices = mochi.as2.MochiServices;
};
_local3.startTime = getTimer();
_local3.wait = function () {
if ((getTimer() - this.startTime) > 10000) {
if (!this.isLoading) {
mochi.as2.MochiServices.disconnect();
mochi.as2.MochiServices.onError.apply(null, ["IOError"]);
}
clearInterval(this.waitInterval);
}
};
_local3.waitInterval = setInterval(_local3, "wait", 1000);
_local5.addListener(_local3);
_local5.loadClip((((((_local4 + "?listenLC=") + _listenChannelName) + "&mochiad_options=") + escape(_root.mochiad_options)) + "&api_version=") + getVersion(), _clip);
_sendChannel = new LocalConnection();
_sendChannel._queue = [];
return(_clip);
}
static function loadError(target_mc, errorCode, httpStatus) {
trace("MochiServices could not load.");
disconnect();
onError.apply(null, [errorCode]);
}
static function onStatus(infoObject) {
if (!(infoObject.level === "error")) {
} else {
_connected = false;
_listenChannel.connect(_listenChannelName);
}
}
static function listen() {
_listenChannel = new LocalConnection();
_listenChannel.handshake = function (args) {
mochi.as2.MochiServices.__set__comChannelName(args.newChannel);
};
_listenChannel.allowDomain = function (d) {
return(true);
};
_listenChannel.allowInsecureDomain = _listenChannel.allowDomain;
_listenChannel._nextcallbackID = 0;
_listenChannel._callbacks = {};
_listenChannel.connect(_listenChannelName);
trace("Waiting for MochiAds services to connect...");
}
static function initComChannels() {
if (!_connected) {
_sendChannel.onStatus = function (infoObject) {
mochi.as2.MochiServices.onStatus(infoObject);
};
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, version:getVersion()});
_listenChannel.onStatus = function (infoObject) {
mochi.as2.MochiServices.onStatus(infoObject);
};
_listenChannel.onReceive = function (pkg) {
var _local5 = pkg.callbackID;
var _local4 = this._callbacks[_local5];
if (!_local4) {
return(undefined);
}
var _local2 = _local4.callbackMethod;
var _local3 = _local4.callbackObject;
if (_local3 && (typeof(_local2) == "string")) {
_local2 = _local3[_local2];
}
if (_local2 != undefined) {
_local2.apply(_local3, pkg.args);
}
delete this._callbacks[_local5];
};
_listenChannel.onEvent = function (pkg) {
switch (pkg.target) {
case "events" :
mochi.as2.MochiEvents.triggerEvent(pkg.event, pkg.args);
break;
case "coins" :
mochi.as2.MochiSocial.triggerEvent(pkg.event, pkg.args);
break;
case "sync" :
mochi.as2.MochiServices.servicesSync.triggerEvent(pkg.event, pkg.args);
}
};
_listenChannel.onError = function () {
mochi.as2.MochiServices.onError.apply(null, ["IOError"]);
};
trace("[SERVICES_API] connected!");
_connecting = false;
_connected = true;
while (_sendChannel._queue.length > 0) {
_sendChannel.send(_sendChannelName, "onReceive", _sendChannel._queue.shift());
}
}
}
static function updateCopy(args) {
send("coins_updateCopy", args, null, null);
}
static function flush(error) {
var _local1;
var _local2;
while (_sendChannel._queue.length > 0) {
_local1 = _sendChannel._queue.shift();
if (_local1.callbackID != null) {
_local2 = _listenChannel._callbacks[_local1.callbackID];
}
delete _listenChannel._callbacks[_local1.callbackID];
if (error) {
handleError(_local1.args, _local2.callbackObject, _local2.callbackMethod);
}
}
}
static function handleError(args, callbackObject, callbackMethod) {
if (args != null) {
if (args.onError != null) {
args.onError.apply(null, ["NotConnected"]);
}
if ((args.options != null) && (args.options.onError != null)) {
args.options.onError.apply(null, ["NotConnected"]);
}
}
if (callbackMethod != null) {
args = {};
args.error = true;
args.errorCode = "NotConnected";
if ((callbackObject != null) && (typeof(callbackMethod) == "string")) {
callbackObject[callbackMethod](args);
} else if (callbackMethod != null) {
callbackMethod.apply(args);
}
}
}
static function send(methodName, args, callbackObject, callbackMethod) {
if (_connected) {
_sendChannel.send(_sendChannelName, "onReceive", {methodName:methodName, args:args, callbackID:_listenChannel._nextcallbackID});
} else {
if ((_clip == undefined) || (!_connecting)) {
trace("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + methodName);
handleError(args, callbackObject, callbackMethod);
flush(true);
return(undefined);
}
_sendChannel._queue.push({methodName:methodName, args:args, callbackID:_listenChannel._nextcallbackID});
}
_listenChannel._callbacks[_listenChannel._nextcallbackID] = {callbackObject:callbackObject, callbackMethod:callbackMethod};
_listenChannel._nextcallbackID++;
}
static function urlOptions() {
var _local5 = {};
var _local6;
if (_root._url.indexOf("mochiad_options") != -1) {
var _local2 = (_root._url.indexOf("mochiad_options") + "mochiad_options".length) + 1;
_local6 = _root._url.substr(_local2, _root._url.length);
} else if (_root.mochiad_options) {
_local6 = _root.mochiad_options;
}
if (_local6) {
var _local4 = _root.mochiad_options.split("&");
var _local2 = 0;
while (_local2 < _local4.length) {
var _local3 = _local4[_local2].split("=");
_local5[unescape(_local3[0])] = unescape(_local3[1]);
_local2++;
}
}
return(_local5);
}
static function warnID(bid, leaderboard) {
bid = bid.toLowerCase();
if (bid.length != 16) {
trace(("WARNING: " + (leaderboard ? "board" : "game")) + " ID is not the appropriate length");
return(undefined);
}
if (bid == "1e113c7239048b3f") {
if (leaderboard) {
trace("WARNING: Using testing board ID");
} else {
trace("WARNING: Using testing board ID as game ID");
}
return(undefined);
}
if (bid == "84993a1de4031cd8") {
if (leaderboard) {
trace("WARNING: Using testing game ID as board ID");
} else {
trace("WARNING: Using testing game ID");
}
return(undefined);
}
var _local1 = 0;
while (_local1 < bid.length) {
switch (bid.charAt(_local1)) {
case "0" :
case "1" :
case "2" :
case "3" :
case "4" :
case "5" :
case "6" :
case "7" :
case "8" :
case "9" :
case "a" :
case "b" :
case "c" :
case "d" :
case "e" :
case "f" :
break;
default :
trace("WARNING: Board ID contains illegal characters: " + bid);
return(undefined);
}
_local1++;
}
}
static function addLinkEvent(url, burl, btn, onClick) {
var timeout = 1500;
var t0 = getTimer();
var _local2 = new Object();
_local2.mav = getVersion();
_local2.swfv = btn.getSWFVersion() || 6;
_local2.swfurl = btn._url;
_local2.fv = System.capabilities.version;
_local2.os = System.capabilities.os;
_local2.lang = System.capabilities.language;
_local2.scres = (System.capabilities.screenResolutionX + "x") + System.capabilities.screenResolutionY;
var s = "?";
var _local3 = 0;
for (var _local6 in _local2) {
if (_local3 != 0) {
s = s + "&";
}
_local3++;
s = ((s + _local6) + "=") + escape(_local2[_local6]);
}
if (!(netupAttempted || (_connected))) {
var ping = btn.createEmptyMovieClip("ping", 777);
var _local7 = btn.createEmptyMovieClip("nettest", 778);
netupAttempted = true;
ping.loadMovie("http://x.mochiads.com/linkping.swf?t=" + getTimer());
_local7.onEnterFrame = function () {
if ((ping._totalframes > 0) && (ping._totalframes == ping._framesloaded)) {
delete this.onEnterFrame;
} else if ((getTimer() - t0) > timeout) {
delete this.onEnterFrame;
mochi.as2.MochiServices.netup = false;
}
};
}
var _local4 = btn.createEmptyMovieClip("clk", 1001);
_local4._alpha = 0;
_local4.beginFill(1044735);
_local4.moveTo(0, 0);
_local4.lineTo(0, btn._height);
_local4.lineTo(btn._width, btn._height);
_local4.lineTo(btn._width, 0);
_local4.lineTo(0, 0);
_local4.endFill();
_local4.onRelease = function () {
if (mochi.as2.MochiServices.netup) {
getURL (url + s, "_blank");
} else {
getURL (burl, "_blank");
}
if (onClick != undefined) {
onClick();
}
};
}
static function setContainer(clip) {
}
static function stayOnTop(clip) {
}
static var _servURL = "http://www.mochiads.com/static/lib/services/";
static var _services = "services.swf";
static var _mochiLC = "MochiLC.swf";
static var _listenChannelName = "__ms_";
static var _connecting = false;
static var _connected = false;
static var netup = true;
static var netupAttempted = false;
static var servicesSync = new mochi.as2.MochiSync();
}
Symbol 180 MovieClip [__Packages.mochi.as2.MochiEventDispatcher] Frame 0
class mochi.as2.MochiEventDispatcher
{
var eventTable;
function MochiEventDispatcher () {
eventTable = {};
}
function buildDelegate(thisObject, thatObject) {
var _local2 = {thisObject:thisObject, thatObject:thatObject};
if (thatObject != undefined) {
var funct = ((typeof(thatObject) == "string") ? (thisObject[thatObject]) : (thatObject));
_local2.delegate = function (args) {
funct.call(thisObject, args);
};
} else {
_local2.delegate = thisObject;
}
return(_local2);
}
function compareDelegate(d_A, d_B) {
if ((d_A.thisObject != d_B.thisObject) || (d_A.thatObject != d_B.thatObject)) {
return(false);
}
return(true);
}
function addEventListener(event, thisObject, thatObject) {
removeEventListener(event, thisObject, thatObject);
eventTable[event].push(buildDelegate(thisObject, thatObject));
}
function removeEventListener(event, thisObject, thatObject) {
var _local3 = buildDelegate(thisObject, thatObject);
if (eventTable[event] == undefined) {
eventTable[event] = [];
return(undefined);
}
for (var _local4 in eventTable[event]) {
if (!compareDelegate(eventTable[event][_local4], _local3)) {
continue;
}
eventTable[event].splice(Number(_local4), 1);
}
}
function triggerEvent(event, args) {
if (eventTable[event] == undefined) {
return(undefined);
}
for (var _local4 in eventTable[event]) {
eventTable[event][_local4].delegate(args);
}
}
}
Symbol 181 MovieClip [__Packages.mochi.as2.MochiEvents] Frame 0
class mochi.as2.MochiEvents
{
function MochiEvents () {
}
static function getVersion() {
return(mochi.as2.MochiServices.getVersion());
}
static function startSession(achievementID) {
mochi.as2.MochiServices.send("events_beginSession", {achievementID:achievementID}, null, null);
}
static function setNotifications(clip, style) {
var _local2 = {};
for (var _local3 in style) {
_local2[_local3] = style[_local3];
}
_local2.clip = clip;
mochi.as2.MochiServices.send("events_setNotifications", _local2, null, null);
}
static function addEventListener(eventType, thisObject, thatObject) {
_dispatcher.addEventListener(eventType, thisObject, thatObject);
}
static function triggerEvent(eventType, args) {
_dispatcher.triggerEvent(eventType, args);
}
static function removeEventListener(eventType, thisObject, thatObject) {
_dispatcher.removeEventListener(eventType, thisObject, thatObject);
}
static function startPlay(tag) {
if (tag == undefined) {
tag = "gameplay";
}
mochi.as2.MochiServices.send("events_setRoundID", {tag:String(tag)}, null, null);
}
static function endPlay() {
mochi.as2.MochiServices.send("events_clearRoundID", null, null, null);
}
static function trackEvent(tag, value) {
mochi.as2.MochiServices.send("events_trackEvent", {tag:tag, value:value}, null, null);
}
static var ACHIEVEMENT_RECEIVED = "AchievementReceived";
static var ALIGN_TOP_LEFT = "ALIGN_TL";
static var ALIGN_TOP = "ALIGN_T";
static var ALIGN_TOP_RIGHT = "ALIGN_TR";
static var ALIGN_LEFT = "ALIGN_L";
static var ALIGN_CENTER = "ALIGN_C";
static var ALIGN_RIGHT = "ALIGN_R";
static var ALIGN_BOTTOM_LEFT = "ALIGN_BL";
static var ALIGN_BOTTOM = "ALIGN_B";
static var ALIGN_BOTTOM_RIGHT = "ALIGN_BR";
static var FORMAT_SHORT = "ShortForm";
static var FORMAT_LONG = "LongForm";
static var _dispatcher = new mochi.as2.MochiEventDispatcher();
}
Symbol 182 MovieClip [__Packages.mochi.as2.MochiSocial] Frame 0
class mochi.as2.MochiSocial
{
function MochiSocial () {
}
static function getVersion() {
return(mochi.as2.MochiServices.getVersion());
}
static function showLoginWidget(options) {
mochi.as2.MochiServices.setContainer();
mochi.as2.MochiServices.stayOnTop();
mochi.as2.MochiServices.send("coins_showLoginWidget", {options:options});
}
static function hideLoginWidget() {
mochi.as2.MochiServices.send("coins_hideLoginWidget");
}
static function requestLogin() {
mochi.as2.MochiServices.send("coins_requestLogin");
}
static function getUserInfo() {
mochi.as2.MochiServices.send("coins_getUserInfo");
}
static function saveUserProperties(properties) {
mochi.as2.MochiServices.send("coins_saveUserProperties", properties);
}
static function addEventListener(eventType, delegate) {
_dispatcher.addEventListener(eventType, delegate);
}
static function triggerEvent(eventType, args) {
_dispatcher.triggerEvent(eventType, args);
}
static function removeEventListener(eventType, delegate) {
_dispatcher.removeEventListener(eventType, delegate);
}
static var LOGGED_IN = "LoggedIn";
static var LOGGED_OUT = "LoggedOut";
static var LOGIN_SHOW = "LoginShow";
static var LOGIN_HIDE = "LoginHide";
static var LOGIN_SHOWN = "LoginShown";
static var PROFILE_SHOW = "ProfileShow";
static var PROFILE_HIDE = "ProfileHide";
static var PROPERTIES_SAVED = "PropertySaved";
static var WIDGET_LOADED = "WidgetLoaded";
static var USER_INFO = "UserInfo";
static var ERROR = "Error";
static var IO_ERROR = "IOError";
static var NO_USER = "NoUser";
static var PROPERTIES_SIZE = "PropertiesSize";
static var _dispatcher = new mochi.as2.MochiEventDispatcher();
}
Symbol 183 MovieClip [__Packages.GameOnAde] Frame 0
class GameOnAde
{
var game_type, game_mc, game_loader, game_random_key, game_random_key_other, game_loaded, game_width, game_height, game_language, game_played_num, game_highest_score, bt, bl, game_url, game_main_container, secret_key, game_time, fps_average, fps_interval_freq, fps_recorder_length, fps_last_row_num, fps_recorder, fps_interval, game_points, game_points_info, score_saved, preloader_mc;
function GameOnAde (_game_type, _game_mc, _gw, _gh, _GL, _game_lang) {
fscommand ("showmenu", false);
Stage.showMenu = false;
Stage.scaleMode = "noScale";
Stage.align = "TL";
fscommand ("allowscale", false);
GameLoader.display_info("[Game] - constructor");
game_type = _game_type;
game_mc = _game_mc;
if (game_type == GAME_PRIVATE) {
game_loader = _GL;
game_random_key = game_loader.getRandomKey();
game_random_key_other = game_loader.getRandomKeyOther();
game_loader.setGameOnAde(this);
} else {
game_random_key = 29092007 /* 0x1BBE8A7 */;
game_random_key_other = 11081984 /* 0xA91900 */;
fscommand ("allowscale", true);
Stage.scaleMode = "showAll";
}
game_loaded = false;
game_width = _gw;
game_height = _gh;
game_language = _game_lang;
game_played_num = 0;
game_highest_score = 0;
bt = (bl = 0);
GameLoader.display_info("[Game] - game_random_key: " + game_random_key);
}
function setGameUrl(_S) {
game_url = _S;
}
function getGameUrl() {
return(game_url);
}
function getGameType() {
return(game_type);
}
function getGameMainContainer() {
return(game_main_container);
}
function setSecretKey(_S) {
secret_key = _S;
}
function getSecretKey() {
return(secret_key);
}
function getGamePlayedNum() {
return(game_played_num);
}
function getGameTime() {
return(game_time);
}
function getGameLanguage() {
return(game_language);
}
function getHighestScore() {
return(game_highest_score);
}
function setHighestScore(_N) {
game_highest_score = Math.max(_N, game_highest_score);
}
function getFPSAVG() {
return(fps_average);
}
function checkUrl(_FRAME) {
if (_FRAME == undefined) {
_FRAME = "illegal";
}
CheckUrl.checkThisUrl(_url, game_mc, _FRAME);
}
function timerStart() {
GameTimer.start();
}
function timerStop() {
GameTimer.stop();
}
function timerReset() {
GameTimer.reset();
game_time = 0;
}
function timerGetTime() {
return(GameTimer.getGameTime());
}
function startFpsRecording(_F, _L) {
fps_interval_freq = (_F ? (_F) : (FPS_FREQ));
fps_recorder_length = (_L ? (_L) : (FPS_LENGTH));
fps_last_row_num = 0;
fps_recorder = new Array();
fps_average = 0;
GameLoader.display_info((("[startFpsRecording]: fps_interval_freq>" + fps_interval_freq) + " fps_recorder_length>") + fps_recorder_length);
}
function startFPS() {
FPSCounter.startInvisible(game_mc, -50001);
if (game_type == GAME_PRIVATE) {
fps_interval = setInterval(fpsRecorder, fps_interval_freq, this);
}
}
function stopFPS() {
FPSCounter.stop(game_mc);
clearInterval(fps_interval);
}
function fpsRecorder(_GAME) {
var _local2 = FPSCounter.getLastFPS();
if (_GAME.fps_recorder.length < _GAME.fps_recorder_length) {
_GAME.fps_recorder.push(_local2);
} else {
if (_GAME.fps_last_row_num >= _GAME.fps_recorder_length) {
_GAME.fps_last_row_num = 0;
}
_GAME.fps_recorder[_GAME.fps_last_row_num++] = _local2;
}
}
function getFpsAvg() {
var _local5 = 0;
if (game_type == GAME_PRIVATE) {
var _local4 = 0;
var _local3 = fps_recorder.length;
if (_local3 > 0) {
var _local2 = 0;
while (_local2 < _local3) {
_local4 = _local4 + fps_recorder[_local2];
_local2++;
}
_local5 = Math.round(_local4 / _local3);
GameLoader.display_info("[fpsRecorder]: fps_recorder: " + fps_recorder);
fps_recorder = new Array();
fps_last_row_num = 0;
} else {
_local5 = -1;
}
} else {
_local5 = -2;
}
return(_local5);
}
function setPoints(_P) {
game_points = Xor.endecodeNumber(_P, game_random_key);
game_points_info = _P;
GameLoader.display_info(((((((("\tPOINTS xor: " + game_points) + "(") + Xor.endecodeNumber(game_points, game_random_key)) + ")") + " info:") + game_points_info) + " key:") + game_random_key);
}
function addPoints(_P) {
var _local2 = Math.round(_P);
game_points_info = game_points_info + _local2;
game_points = Xor.endecodeNumber(Xor.endecodeNumber(game_points, game_random_key) + _local2, game_random_key);
GameLoader.display_info(((((("\tPOINTS xor: " + game_points) + "(") + Xor.endecodeNumber(game_points, game_random_key)) + ")") + " info:") + game_points_info);
return(game_points);
}
function getPoints() {
return(game_points);
}
function getPointsInfo() {
return(game_points_info);
}
function getPointsToSave() {
return(Xor.endecodeNumber(game_points, game_random_key));
}
function setSecureValue(_N) {
return(Xor.endecodeNumber(_N, game_random_key_other));
}
function addSecureValue(_NV, _N) {
return(Xor.endecodeNumber(Xor.endecodeNumber(_N, game_random_key_other) + _NV, game_random_key_other));
}
function savePlaytime() {
if (game_type == GAME_PRIVATE) {
timerStop();
game_time = timerGetTime();
game_loader.savePlaytime(game_time);
GameLoader.display_info("[savePlaytime - GameOnAde] game_played_num" + game_played_num);
}
}
function savePoints() {
if (game_type == GAME_PRIVATE) {
game_loader.savePoints();
GameLoader.display_info("[savePoints - GameOnAde] score_saved" + score_saved);
} else {
getURL (game_url, "_self");
}
}
function setScoreSaved(_B) {
score_saved = _B;
if (_B) {
game_played_num = 0;
}
GameLoader.display_info("[setScoreSaved] - score_saved:" + score_saved);
}
function getScoreSaved() {
return(score_saved);
}
function startGame() {
setPoints(0);
if (game_type == GAME_PRIVATE) {
timerReset();
startFPS();
}
}
function endGame() {
if (game_type == GAME_PRIVATE) {
game_played_num++;
fps_average = getFpsAvg();
stopFPS();
savePlaytime();
}
setScoreSaved(false);
GameLoader.display_info((("[endGame] - fps_avg:" + fps_average) + " game_time:") + game_time);
}
function startPreloader(_preloader_name, _clickable) {
if (_clickable == undefined) {
_clickable = true;
}
GameLoader.display_info("[startPreloader] - start");
bt = game_mc.getBytesTotal();
bl = game_mc.getBytesLoaded();
if (_preloader_name == undefined) {
_preloader_name = "gameonade_preloader";
}
preloader_mc = game_mc.attachMovie(_preloader_name, _preloader_name, 25000);
preloader_mc.game = this;
preloader_mc._x = game_width / 2;
preloader_mc._y = game_height / 2;
if (_clickable) {
preloader_mc.onRelease = function () {
getURL (GameOnAde.SITE_URL, "_blank");
};
}
preloader_mc.percentage = 0;
if (game_type == GAME_EXE) {
preloader_mc.bt_txt.text = " ";
} else {
preloader_mc.bt_txt.text = bt;
}
preloader_mc.onEnterFrame = function () {
this.game.bl = this.game.game_mc.getBytesLoaded();
this.percentage = Math.round((this.game.bl * 100) / this.game.bt);
this.bt_txt.text = this.game.bt;
this.bl_txt.text = this.game.bl;
if (this.game.game_type == GameOnAde.GAME_EXE) {
this.preloader_mc.bt_txt.text = " ";
} else {
this.loading_mc.percentage_txt.text = this.percentage + " %";
}
if ((this.game.bl >= this.game.bt) && (this.is_stop)) {
delete this.onEnterFrame;
this.game.game_loaded = true;
this.play();
}
};
}
function centerIt(_mc) {
_mc._x = (game_width / 2) - (_mc._width / 2);
_mc._y = (game_height / 2) - (_mc._height / 2);
}
static var FPS_FREQ = 10000;
static var FPS_LENGTH = 20;
static var GAME_PRIVATE = "private";
static var GAME_PUBLIC = "public";
static var GAME_EXE = "exe";
static var SITE_URL = "http://www.gameonade.com";
}
Symbol 184 MovieClip [__Packages.GameLoader] Frame 0
class GameLoader
{
var main_swf, game_swf, secret_key, random_key, random_key_other, site_culture, saved_time_id, user, site_domain, game_url, game_id, game_on_ade, game_last_score, translation, game_loader, game_listener;
function GameLoader (_main_swf, _culture, _console) {
if (_console == undefined) {
_console = false;
}
_root.info_txt.selectable = _console;
_root.info_txt._visible = _console;
display_info("[GameLoader] - constructor");
fscommand ("showmenu", false);
Stage.showMenu = false;
Stage.align = "TL";
main_swf = _main_swf;
game_swf = main_swf.createEmptyMovieClip("game_swf", 1);
secret_key = "all_for_one";
random_key = 256 + Math.round(Math.random() * 1000000);
random_key_other = 123 + Math.round(Math.random() * 10000);
site_culture = ((_culture == undefined) ? "en" : (_culture));
saved_time_id = 0;
user = new User();
}
function getDomainName() {
return((site_domain ? (site_domain) : ""));
}
function setGameUrl(_T, _GID, _RAND) {
game_url = (((getDomainName() + GAME_PATH) + _T) + "/") + _GID;
game_url = game_url + (_RAND ? ("/" + Math.round(Math.random() * 100)) : (site_culture));
game_id = _GID;
display_info("\t\t[setGameUrl >> " + game_url);
}
function setSiteDomain(_T) {
site_domain = _T;
}
function getSecretKey() {
return(secret_key);
}
function getRandomKey() {
return(random_key);
}
function getRandomKeyOther() {
return(random_key_other);
}
function getUser() {
return(user);
}
function setGameOnAde(_G) {
game_on_ade = _G;
}
function getGameOnAde() {
return(game_on_ade);
}
function setSavedTimeId(_N) {
saved_time_id = _N;
}
function getSavedTimeId() {
return(saved_time_id);
}
function savePlaytime(_T) {
var _local2 = new LoadVars();
_local2.time = _T;
_local2.game_id = game_id;
var _local3 = new LoadVars();
_local2.sendAndLoad(getDomainName() + GAME_TIME_PATH, _local3, "post");
_local3.game = this;
_local3.onLoad = function (success) {
if (success) {
GameLoader.display_info((("[savePlaytime] ERROR:" + this.error) + " time_id:") + this.time);
this.game.setSavedTimeId(this.time);
} else {
GameLoader.display_info("[savePlaytime] LOADING ERROR");
}
};
}
function savePoints() {
display_info("\n\n\t\tSAVING POINTS\n\n");
var _local2 = getGameOnAde();
game_swf._visible = false;
display_error_window(__i18n("loading"));
if (!_local2.getScoreSaved()) {
if (_local2.getPointsInfo() > 0) {
_local2.setHighestScore(_local2.getPointsInfo());
var _local5 = MD5.getHash(((((_local2.getSecretKey() + String(game_id)) + String(_local2.getGameTime())) + String(_local2.getPointsToSave())) + String(_local2.getFPSAVG())) + secret_key);
display_info((((((((("[GL savePoints] data: \n\t\t game_id:" + game_id) + "\n\t\t _G.getGameTime():") + _local2.getGameTime()) + "\n\t\t G.getPointsToSave():") + _local2.getPointsToSave()) + "\n\t\t _G.getFPSAVG:") + _local2.getFPSAVG()) + " \n\n\t _G.getGamePlayedNum():") + _local2.getGamePlayedNum());
var _local3 = new LoadVars();
_local3.game_id = game_id;
_local3.time = _local2.getGameTime();
game_last_score = (_local3.score = _local2.getPointsInfo());
_local3.fps = _local2.getFPSAVG();
_local3.checksum = _local5;
_local3.time_id = getSavedTimeId();
_local3.played_num = _local2.getGamePlayedNum();
var _local4 = new LoadVars();
_local3.sendAndLoad(getDomainName() + GAME_SCORE_PATH, _local4, "post");
_local4.my_game = _local2;
_local4.game_loader = this;
_local4.onLoad = function (success) {
if (success) {
GameLoader.display_info("[SAVE SCORE TEST] SHOW ERROR:" + this.error);
if (this.error == 0) {
this.my_game.setScoreSaved(true);
this.game_loader.display_scores_window(this.error);
GameLoader.display_info("[saveScore] display table with scores:" + this.error);
} else if (this.error == "SCO1") {
this.game_loader.display_login_window(this.error);
} else {
this.game_loader.display_error_window(((this.game_loader.__i18n(this.error) + " (") + this.error) + ")");
GameLoader.display_info("[saveScore] DISPLAY LOGIN FORM:" + this.error);
}
} else {
this.game_loader.display_error_window(this.game_loader.__i18n("transfer_failed"));
GameLoader.display_info("[saveScore] LOADING ERROR");
}
};
} else {
display_error_window(__i18n("points_zero"));
display_info("[saveScore] POINTS NOT ENOUGH");
}
} else {
display_error_window(__i18n("score_already"));
display_info("[saveScore] SCORE ALREADY SAVED");
}
}
function loadCultureXML() {
translation = new Array();
var _local3 = new XML();
_local3.ignoreWhite = true;
_local3.game_loader = this;
_local3.onLoad = function (success) {
if (success) {
var _local2 = this.firstChild.firstChild.firstChild;
var _local3 = 0;
while (_local2) {
this.game_loader.translation[_local2.nodeName] = _local2.firstChild.nodeValue;
_local2 = _local2.nextSibling;
}
this.game_loader.loadGame();
} else {
GameLoader.display_info("[cultureXML] ERROR WITH RECEIVING CULTURE DATA");
}
};
_local3.load((((GAME_CULTURE_PATH + site_culture) + ".xml") + "?rand=") + Math.round(Math.random() * 100));
}
function __i18n(_S) {
return(translation[_S]);
}
function loadGame() {
display_info("[GameLoader] - LoadGame");
game_loader = new MovieClipLoader();
game_listener = new Object();
game_listener.all = this;
game_loader.addListener(game_listener);
game_loader.loadClip(game_url, game_swf);
main_swf.loading_txt.text = "loading ...";
game_listener.onLoadInit = function (_mc) {
GameLoader.display_info("[GameLoader] - onLoadInit");
};
game_listener.onLoadProgress = function (_mc, bytesLoaded, bytesTotal) {
var _local2 = Math.round((bytesLoaded / bytesTotal) * 100);
this.all.main_swf.loading_txt.text = ("loading " + _local2) + "%";
};
game_listener.onLoadComplete = function (_mc) {
GameLoader.display_info("[GameLoader] - onLoadComplete");
};
game_listener.onLoadStart = function (_mc) {
GameLoader.display_info("[GameLoader] - onLoadStart");
};
game_listener.onLoadError = function () {
GameLoader.display_info("[GameLoader] - onLoadError");
};
}
function getPointsTable(_RANK, _W) {
display_info((("[getPointsTable] Rank:" + _RANK) + " _W:") + _W);
_W.info_txt.text = __i18n("loading_scores");
_W.alltime_btn.bg_mc.gotoAndStop(2);
_W.thisweek_btn.bg_mc.gotoAndStop(2);
_W.today_btn.bg_mc.gotoAndStop(2);
var _local7 = _W[_RANK + "_btn"];
_local7.bg_mc.gotoAndStop(1);
var _local6 = new XML();
_local6.ignoreWhite = true;
_local6.game_loader = this;
_local6.onLoad = function (success) {
if (success) {
var _local5 = new Array();
var _local4 = this.firstChild.firstChild.childNodes;
var _local3 = 0;
while (_local3 < _local4.length) {
_local5[_local3] = new Array();
_local5[_local3].log = ((_local4[_local3].attributes.type == "logged") ? 1 : 0);
var _local2 = _local4[_local3].firstChild;
while (_local2) {
_local5[_local3][_local2.nodeName] = _local2.firstChild.nodeValue;
if (_local4[_local3].attributes.type == "logged") {
if (_local2.nodeName == "id") {
this.game_loader.user.setUserId(_local2.firstChild.nodeValue);
} else if (_local2.nodeName == "lo") {
this.game_loader.user.setUserName(_local2.firstChild.nodeValue);
} else if (_local2.nodeName == "sc") {
this.game_loader.user.setRankPoints(_local2.firstChild.nodeValue);
} else if (_local2.nodeName == "po") {
this.game_loader.user.setRankPosition(_local2.firstChild.nodeValue);
}
}
_local2 = _local2.nextSibling;
}
_local3++;
}
_W.info_txt.text = "";
this.game_loader.displayPointsTable(_local5, _W);
} else {
_W.info_txt.text = this.game_loader.__i18n("transfer_failed");
GameLoader.display_info("[scoreTable] ERROR WITH RECEIVING DATA");
}
};
_local6.load((((((getDomainName() + GAME_SCORE_TABLE_PATH) + game_id) + "/") + _RANK) + "?rand=") + Math.round(Math.random() * 100));
}
function displayPointsTable(_A, _W) {
var _local3 = new Array();
var _local6 = _W.empty_mc.createEmptyMovieClip("cont", 1);
_local6._y = (_local6._x = 1);
var _local1 = new MovieClip();
var _local2 = 0;
while (_local2 < _A.length) {
_local3 = _A[_local2];
_local1 = _local6.attachMovie("score_line", "sl" + _local2, _local2);
_local1._y = _local2 * _local1._height;
_local1.po_txt.text = _local3.po;
_local1.lo_txt.text = _local3.lo;
_local1.sc_txt.text = _local3.sc;
var _local4 = (Number(_local3.po) - 1) % 2;
if (_local4 == 0) {
_local1.bg_mc.gotoAndStop(2);
}
if (_local3.log == 1) {
_local1.bg_mc.gotoAndStop(3);
}
_local2++;
}
}
function display_scores_window(_S) {
var _local2 = display_window("scores");
_local2.alltime_btn.onRelease = function () {
this._parent.game_loader.getPointsTable("alltime", this._parent);
};
_local2.alltime_btn.title_txt.text = __i18n("alltime");
_local2.alltime_btn.bg_mc.gotoAndStop(2);
_local2.thisweek_btn.onRelease = function () {
this._parent.game_loader.getPointsTable("thisweek", this._parent);
};
_local2.thisweek_btn.title_txt.text = __i18n("thisweek");
_local2.thisweek_btn.bg_mc.gotoAndStop(2);
_local2.today_btn.onRelease = function () {
this._parent.game_loader.getPointsTable("today", this._parent);
};
_local2.today_btn.title_txt.text = __i18n("today");
_local2.today_btn.bg_mc.gotoAndStop(2);
getPointsTable("today", _local2);
_local2.battle_btn.onRelease = function () {
this._parent.game_loader.display_battle_window();
};
_local2.battle_btn.title_txt.text = __i18n("butt_challenge");
}
function display_login_window(_S) {
var _local2 = display_window("login");
_local2.error_txt.text = _S;
var _local6 = getGameOnAde();
_local2.username_mc.label_txt.text = __i18n("username");
_local2.username_mc.field_txt.text = __i18n("username");
_local2.password_mc.label_txt.text = __i18n("password");
_local2.password_mc.field_txt.password = true;
_local2.password_mc.field_txt.text = __i18n("password");
_local2.login_btn.onRelease = function () {
var _local5 = this._parent.username_mc.field_txt.text;
var _local4 = this._parent.password_mc.field_txt.text;
this._parent.info_txt.text = this._parent.game_loader.__i18n("wait");
var _local2 = new LoadVars();
_local2.username = _local5;
_local2.uservalue = _local4;
_local2.game_id = this._parent.game_loader.game_id;
var _local3 = new LoadVars();
_local2.sendAndLoad(this._parent.game_loader.getDomainName() + GameLoader.GAME_AUTH_PATH, _local3, "post");
_local3.window_mc = this._parent;
_local3.onLoad = function (success) {
if (success) {
if (this.error == 0) {
this.window_mc.info_txt.text = this.window_mc.game_loader.__i18n("LOGOK");
this.window_mc.game_loader.savePoints();
} else {
this.window_mc.info_txt.text = this.window_mc.game_loader.__i18n(this.error);
}
} else {
this.window_mc.info_txt.text = this.window_mc.game_loader.__i18n("transfer_failed");
}
};
};
_local2.login_btn.title_txt.text = __i18n("butt_login");
_local2.register_btn.gotoAndStop(2);
_local2.register_btn.title_txt.text = __i18n("butt_register");
_local2.register_btn.my_lang = _local6.getGameLanguage();
_local2.register_btn.onRelease = function () {
getURL (((this._parent.game_loader.getDomainName() + "/") + this.my_lang) + GameLoader.GAME_REGISTER_PATH, "_blank");
};
}
function display_battle_window(_S) {
var _local2 = display_window("battle");
_local2.battle_txt.text = ((((__i18n("challenge_desc1") + " ") + game_last_score) + newline) + __i18n("challenge_desc2")) + " ";
clearBattleFields(_local2);
_local2.send_btn.onRelease = function () {
this._parent.game_loader.sendBattleFields(this._parent);
};
_local2.send_btn.title_txt.text = __i18n("butt_send");
}
function sendBattleFields(_W) {
var _local9 = __i18n("email_or_username");
var players_arr = new Array();
var _local3 = 1;
while (_local3 <= 3) {
var _local5 = _W[("player" + _local3) + "_mc"];
var _local2 = _local5.field_txt.text;
if ((((_local2 != "") && (_local2 != " ")) && (_local2 != _local9)) && (_local2.length >= 2)) {
players_arr.push(_local2);
}
_local3++;
}
var _local7 = new LoadVars();
_local7.game_id = game_id;
_local7.score = game_last_score;
_local3 = 0;
while (_local3 < players_arr.length) {
_local7["p" + _local3] = players_arr[_local3];
_local3++;
}
var _local10 = new LoadVars();
_W.info_txt.text = __i18n("sending");
_local10.players_arr = players_arr;
_local10.onLoad = function (success) {
if (success) {
if (this.error == 0) {
var _local5 = _W.game_loader.__i18n("challenge_send") + newline;
var _local6 = this.send;
var _local4 = _local6.split(";");
var _local2 = 0;
while (_local2 < _local4.length) {
var _local3 = _local4[_local2];
if (_local3 >= 0) {
_local5 = _local5 + (this.players_arr[_local3] + newline);
}
_local2++;
}
_W.info_txt.text = _local5;
_W.game_loader.clearBattleFields(_W);
} else {
_W.info_txt.text = _W.game_loader.__i18n(this.error);
}
} else {
_W.info_txt.text = _W.game_loader.__i18n("transfer_failed");
}
};
_local7.sendAndLoad(getDomainName() + GAME_CHALLENGE_PATH, _local10, "post");
}
function clearBattleFields(_W) {
var def_val = __i18n("email_or_username");
var _local3 = 1;
while (_local3 <= 3) {
var _local2 = _W[("player" + _local3) + "_mc"];
_local2.label_txt.text = "";
_local2.field_txt.text = def_val;
_local2.field_txt.onSetFocus = function () {
if (this.text == def_val) {
this.text = "";
}
};
_local2.field_txt.onKillFocus = function () {
if ((this.text == "") || (this.text == " ")) {
this.text = def_val;
}
};
_local3++;
}
}
function display_error_window(_S) {
var _local2 = display_window("error");
_local2.info_txt.text = _S;
}
function display_window(_T) {
var _local3 = _root.attachMovie("window", "my_window", 200);
centerIt(_local3);
_local3.gotoAndStop(_T);
_local3.game_loader = this;
_local3.close_btn.onRelease = function () {
this._parent.game_loader.game_swf._visible = true;
this._parent.removeMovieClip();
};
_local3.move_btn.onPress = function () {
this._parent.startDrag();
};
_local3.move_btn.onRelease = (_local3.move_btn.onReleaseOutside = function () {
this._parent.stopDrag();
});
_local3.title_txt.text = __i18n("title_" + _T);
_local3.info_txt.text = "";
return(_local3);
}
function centerIt(_mc) {
_mc._x = (Stage.width / 2) - (_mc._width / 2);
_mc._y = (Stage.height / 2) - (_mc._height / 2);
}
static function display_info(_S) {
_root.info_txt.text = (_S + newline) + _root.info_txt.text;
trace(_S);
}
static var GAME_PATH = "/show_me_game/";
static var GAME_TIME_PATH = "/game_time_save/";
static var GAME_SCORE_PATH = "/game_score_save/";
static var GAME_AUTH_PATH = "/user_game_authorization/";
static var GAME_SCORE_TABLE_PATH = "/game_score_table/";
static var GAME_REGISTER_PATH = "/register/";
static var GAME_CHALLENGE_PATH = "/challenge/";
static var GAME_CULTURE_PATH = "/swf/translation/";
}
Symbol 185 MovieClip [__Packages.User] Frame 0
class User
{
var is_auth, user_id, user_name, rank_points, rank_position;
function User () {
GameLoader.display_info("[User] - constructor");
}
function getIsAuth() {
return(is_auth);
}
function getUserId() {
return(user_id);
}
function setUserId(_N) {
user_id = _N;
}
function getUserName() {
return(user_name);
}
function setUserName(_N) {
user_name = _N;
}
function getRankPoints() {
return(rank_points);
}
function setRankPoints(_N) {
rank_points = _N;
}
function getRankPosition() {
return(rank_position);
}
function setRankPosition(_N) {
rank_position = _N;
}
function ifAuth() {
return(true);
}
function setUserRank(_rank_type) {
}
}
Symbol 186 MovieClip [__Packages.MD5] Frame 0
class MD5
{
function MD5 () {
}
static function getHash(str) {
var _local6 = str2blks_MD5(str);
var _local4 = 1732584193 /* 0x67452301 */;
var _local3 = -271733879;
var _local2 = -1732584194;
var _local1 = 271733878 /* 0x10325476 */;
var _local10;
var _local9;
var _local8;
var _local7;
var _local5 = 0;
while (_local5 < _local6.length) {
_local10 = _local4;
_local9 = _local3;
_local8 = _local2;
_local7 = _local1;
_local4 = ff(_local4, _local3, _local2, _local1, _local6[_local5 + 0], 7, -680876936);
_local1 = ff(_local1, _local4, _local3, _local2, _local6[_local5 + 1], 12, -389564586);
_local2 = ff(_local2, _local1, _local4, _local3, _local6[_local5 + 2], 17, 606105819);
_local3 = ff(_local3, _local2, _local1, _local4, _local6[_local5 + 3], 22, -1044525330);
_local4 = ff(_local4, _local3, _local2, _local1, _local6[_local5 + 4], 7, -176418897);
_local1 = ff(_local1, _local4, _local3, _local2, _local6[_local5 + 5], 12, 1200080426);
_local2 = ff(_local2, _local1, _local4, _local3, _local6[_local5 + 6], 17, -1473231341);
_local3 = ff(_local3, _local2, _local1, _local4, _local6[_local5 + 7], 22, -45705983);
_local4 = ff(_local4, _local3, _local2, _local1, _local6[_local5 + 8], 7, 1770035416);
_local1 = ff(_local1, _local4, _local3, _local2, _local6[_local5 + 9], 12, -1958414417);
_local2 = ff(_local2, _local1, _local4, _local3, _local6[_local5 + 10], 17, -42063);
_local3 = ff(_local3, _local2, _local1, _local4, _local6[_local5 + 11], 22, -1990404162);
_local4 = ff(_local4, _local3, _local2, _local1, _local6[_local5 + 12], 7, 1804603682);
_local1 = ff(_local1, _local4, _local3, _local2, _local6[_local5 + 13], 12, -40341101);
_local2 = ff(_local2, _local1, _local4, _local3, _local6[_local5 + 14], 17, -1502002290);
_local3 = ff(_local3, _local2, _local1, _local4, _local6[_local5 + 15], 22, 1236535329);
_local4 = gg(_local4, _local3, _local2, _local1, _local6[_local5 + 1], 5, -165796510);
_local1 = gg(_local1, _local4, _local3, _local2, _local6[_local5 + 6], 9, -1069501632);
_local2 = gg(_local2, _local1, _local4, _local3, _local6[_local5 + 11], 14, 643717713);
_local3 = gg(_local3, _local2, _local1, _local4, _local6[_local5 + 0], 20, -373897302);
_local4 = gg(_local4, _local3, _local2, _local1, _local6[_local5 + 5], 5, -701558691);
_local1 = gg(_local1, _local4, _local3, _local2, _local6[_local5 + 10], 9, 38016083);
_local2 = gg(_local2, _local1, _local4, _local3, _local6[_local5 + 15], 14, -660478335);
_local3 = gg(_local3, _local2, _local1, _local4, _local6[_local5 + 4], 20, -405537848);
_local4 = gg(_local4, _local3, _local2, _local1, _local6[_local5 + 9], 5, 568446438);
_local1 = gg(_local1, _local4, _local3, _local2, _local6[_local5 + 14], 9, -1019803690);
_local2 = gg(_local2, _local1, _local4, _local3, _local6[_local5 + 3], 14, -187363961);
_local3 = gg(_local3, _local2, _local1, _local4, _local6[_local5 + 8], 20, 1163531501);
_local4 = gg(_local4, _local3, _local2, _local1, _local6[_local5 + 13], 5, -1444681467);
_local1 = gg(_local1, _local4, _local3, _local2, _local6[_local5 + 2], 9, -51403784);
_local2 = gg(_local2, _local1, _local4, _local3, _local6[_local5 + 7], 14, 1735328473);
_local3 = gg(_local3, _local2, _local1, _local4, _local6[_local5 + 12], 20, -1926607734);
_local4 = hh(_local4, _local3, _local2, _local1, _local6[_local5 + 5], 4, -378558);
_local1 = hh(_local1, _local4, _local3, _local2, _local6[_local5 + 8], 11, -2022574463);
_local2 = hh(_local2, _local1, _local4, _local3, _local6[_local5 + 11], 16, 1839030562);
_local3 = hh(_local3, _local2, _local1, _local4, _local6[_local5 + 14], 23, -35309556);
_local4 = hh(_local4, _local3, _local2, _local1, _local6[_local5 + 1], 4, -1530992060);
_local1 = hh(_local1, _local4, _local3, _local2, _local6[_local5 + 4], 11, 1272893353);
_local2 = hh(_local2, _local1, _local4, _local3, _local6[_local5 + 7], 16, -155497632);
_local3 = hh(_local3, _local2, _local1, _local4, _local6[_local5 + 10], 23, -1094730640);
_local4 = hh(_local4, _local3, _local2, _local1, _local6[_local5 + 13], 4, 681279174);
_local1 = hh(_local1, _local4, _local3, _local2, _local6[_local5 + 0], 11, -358537222);
_local2 = hh(_local2, _local1, _local4, _local3, _local6[_local5 + 3], 16, -722521979);
_local3 = hh(_local3, _local2, _local1, _local4, _local6[_local5 + 6], 23, 76029189);
_local4 = hh(_local4, _local3, _local2, _local1, _local6[_local5 + 9], 4, -640364487);
_local1 = hh(_local1, _local4, _local3, _local2, _local6[_local5 + 12], 11, -421815835);
_local2 = hh(_local2, _local1, _local4, _local3, _local6[_local5 + 15], 16, 530742520);
_local3 = hh(_local3, _local2, _local1, _local4, _local6[_local5 + 2], 23, -995338651);
_local4 = ii(_local4, _local3, _local2, _local1, _local6[_local5 + 0], 6, -198630844);
_local1 = ii(_local1, _local4, _local3, _local2, _local6[_local5 + 7], 10, 1126891415);
_local2 = ii(_local2, _local1, _local4, _local3, _local6[_local5 + 14], 15, -1416354905);
_local3 = ii(_local3, _local2, _local1, _local4, _local6[_local5 + 5], 21, -57434055);
_local4 = ii(_local4, _local3, _local2, _local1, _local6[_local5 + 12], 6, 1700485571);
_local1 = ii(_local1, _local4, _local3, _local2, _local6[_local5 + 3], 10, -1894986606);
_local2 = ii(_local2, _local1, _local4, _local3, _local6[_local5 + 10], 15, -1051523);
_local3 = ii(_local3, _local2, _local1, _local4, _local6[_local5 + 1], 21, -2054922799);
_local4 = ii(_local4, _local3, _local2, _local1, _local6[_local5 + 8], 6, 1873313359);
_local1 = ii(_local1, _local4, _local3, _local2, _local6[_local5 + 15], 10, -30611744);
_local2 = ii(_local2, _local1, _local4, _local3, _local6[_local5 + 6], 15, -1560198380);
_local3 = ii(_local3, _local2, _local1, _local4, _local6[_local5 + 13], 21, 1309151649);
_local4 = ii(_local4, _local3, _local2, _local1, _local6[_local5 + 4], 6, -145523070);
_local1 = ii(_local1, _local4, _local3, _local2, _local6[_local5 + 11], 10, -1120210379);
_local2 = ii(_local2, _local1, _local4, _local3, _local6[_local5 + 2], 15, 718787259);
_local3 = ii(_local3, _local2, _local1, _local4, _local6[_local5 + 9], 21, -343485551);
_local4 = addme(_local4, _local10);
_local3 = addme(_local3, _local9);
_local2 = addme(_local2, _local8);
_local1 = addme(_local1, _local7);
_local5 = _local5 + 16;
}
return(((rhex(_local4) + rhex(_local3)) + rhex(_local2)) + rhex(_local1));
}
static function rhex(num) {
var _local3 = "";
var _local1 = 0;
while (_local1 <= 3) {
_local3 = _local3 + (hex_chr.charAt(bitAND(num >> ((_local1 * 8) + 4), 15)) + hex_chr.charAt(bitAND(num >> (_local1 * 8), 15)));
_local1++;
}
return(_local3);
}
static function str2blks_MD5(str) {
var _local4 = ((str.length + 8) >> 6) + 1;
var _local2 = new Array(_local4 * 16);
var _local1;
_local1 = 0;
while (_local1 < (_local4 * 16)) {
_local2[_local1] = 0;
_local1++;
}
_local1 = 0;
while (_local1 < str.length) {
_local2[_local1 >> 2] = _local2[_local1 >> 2] | (str.charCodeAt(_local1) << ((_local1 % 4) * 8));
_local1++;
}
_local2[_local1 >> 2] = _local2[_local1 >> 2] | (128 << ((_local1 % 4) * 8));
_local2[(_local4 * 16) - 2] = str.length * 8;
return(_local2);
}
static function addme(x, y) {
var _local1 = bitAND(x, 65535) + bitAND(y, 65535);
var _local2 = ((x >> 16) + (y >> 16)) + (_local1 >> 16);
return((_local2 << 16) | bitAND(_local1, 65535));
}
static function rol(num, cnt) {
return((num << cnt) | (num >>> (32 - cnt)));
}
static function cmn(q, a, b, x, s, t) {
return(addme(rol(addme(addme(a, q), addme(x, t)), s), b));
}
static function ff(a, b, c, d, x, s, t) {
return(cmn(bitAND(b, c) | bitAND(~b, d), a, b, x, s, t));
}
static function gg(a, b, c, d, x, s, t) {
return(cmn(bitAND(b, d) | bitAND(c, ~d), a, b, x, s, t));
}
static function hh(a, b, c, d, x, s, t) {
return(cmn((b ^ c) ^ d, a, b, x, s, t));
}
static function ii(a, b, c, d, x, s, t) {
return(cmn(c ^ (b | (~d)), a, b, x, s, t));
}
static function bitAND(a, b) {
if ((a < 0) && (b < 0)) {
var _local3 = (a & 1) & (b & 1);
var _local4 = (a >>> 1) & (b >>> 1);
return((_local4 << 1) | _local3);
}
return(a & b);
}
static var hex_chr = "0123456789abcdef";
}
Symbol 187 MovieClip [__Packages.CheckUrl] Frame 0
class CheckUrl
{
function CheckUrl () {
}
static function checkThisUrl(_curl, _mc, _frame) {
var _local7 = "www.";
var _local11 = "http://";
var _local2 = false;
var _local3 = _curl;
var _local8 = 0;
var _local9 = new String();
var _local10 = new String();
var _local1 = 0;
while (_local1 < urls.length) {
if (_local3.indexOf(("http://" + urls[_local1]) + "/") != -1) {
_local2 = true;
} else if (_local3.indexOf(("." + urls[_local1]) + "/") != -1) {
_local2 = true;
}
_local1++;
}
if (!_local2) {
_mc.gotoAndStop(_frame);
_mc._alpha = 0;
delete _mc.onEnterFrame;
var _local6 = _mc.createEmptyMovieClip("error_mc", 63033);
var _local4 = _local6.createTextField("my_txt", 1, 0, 0, 250, 190);
_local4.wordWrap = true;
_local4.html = true;
_local4.htmlText = "This copy of the game is illegal.\n\nGame came from <b><a href='http://www.gameonade.com'>www.GameOnade.Com</a></b>.\nNobody should copy this version of game.\n\nCheck on <a href='http://www.gameonade.com'>www.GameOnade.Com</a> - there could be a special copy which is allowed to spread on the other sites.";
centerIt(_local6);
trace("bad site");
} else {
trace("good site");
}
}
static function centerIt(_mc) {
_mc._x = (Stage.width / 2) - (_mc._width / 2);
_mc._y = (Stage.height / 2) - (_mc._height / 2);
}
static var urls = new Array("gameonade.pl", "gameonade.com", "gameonade.eu");
}
Symbol 188 MovieClip [__Packages.GameTimer] Frame 0
class GameTimer
{
static var startTime;
function GameTimer () {
}
static function start() {
GameLoader.display_info("{GameTimer}[start]");
if (stopped) {
stopped = false;
startTime = getTimer();
}
}
static function stop() {
if (!stopped) {
stopped = true;
if (startTime) {
gameTime = gameTime + (getTimer() - startTime);
}
}
GameLoader.display_info(("{GameTimer}[stop] ( " + gameTime) + " )");
}
static function reset() {
GameLoader.display_info("{GameTimer}[reset]");
gameTime = 0;
}
static function getGameTime() {
return(gameTime);
}
static function isStopped() {
return(stopped);
}
static function setStopped(ns) {
stopped = ns;
}
static var gameTime = 0;
static var stopped = true;
}
Symbol 189 MovieClip [__Packages.FPSCounter] Frame 0
class FPSCounter
{
static var lastFPS;
function FPSCounter () {
}
static function startInvisible(cont, depth) {
var _local2 = cont.createEmptyMovieClip("fpsCounter", depth);
_local2.lasttime = getTimer();
_local2.onEnterFrame = function () {
FPSCounter.t = getTimer();
if ((FPSCounter.t - this.lastTime) > 0) {
FPSCounter.framerate = Math.round((1000 / (FPSCounter.t - this.lastTime)) * 10) / 10;
FPSCounter.lastFPS = FPSCounter.framerate;
}
this.lastTime = FPSCounter.t;
};
}
static function stop(cont) {
var _local1 = cont.fpsCounter;
_local1.removeMovieClip();
}
static function getLastFPS() {
return(Math.round(lastFPS));
}
}
Symbol 190 MovieClip [__Packages.Xor] Frame 0
class Xor
{
function Xor () {
}
static function endecodeNumber(num, k) {
return(num ^ k);
}
}
Symbol 191 MovieClip [__Packages.Balls] Frame 0
class Balls
{
var ball, point, line;
function Balls () {
ball = new Object();
ball.data = new Array();
point = new Object();
point.data = new Array();
line = new Object();
line.data = new Array();
}
function moveBalls(p) {
var _local2 = 0;
while (_local2 < ball.data.length) {
ball.data[_local2].x = ball.data[_local2].x + (ball.data[_local2].xv * p);
ball.data[_local2].y = ball.data[_local2].y + (ball.data[_local2].yv * p);
_local2++;
}
}
function minP(a, b) {
a = (((a <= 0) || (a > 1)) ? 1 : (a));
b = (((b <= 0) || (b > 1)) ? 1 : (b));
if (isNaN(a) && (isNaN(b))) {
return(1);
}
if (isNaN(a)) {
return(b);
}
if (isNaN(b)) {
return(a);
}
return(Math.min(a, b));
}
function blHitTest(s, d, p0, p1, r) {
var _local2 = calcStraightLine(p0, p1);
var _local13 = Math.abs(((_local2.a * s.x) + (_local2.b * s.y)) + _local2.c) / Math.sqrt((_local2.a * _local2.a) + (_local2.b * _local2.b));
if (_local13 < r) {
return(1);
}
var _local9 = ((((r * Math.sqrt((_local2.a * _local2.a) + (_local2.b * _local2.b))) - (_local2.a * s.x)) - (_local2.b * s.y)) - _local2.c) / ((_local2.a * (d.x - s.x)) + (_local2.b * (d.y - s.y)));
var _local14 = (-((((r * Math.sqrt((_local2.a * _local2.a) + (_local2.b * _local2.b))) + (_local2.a * s.x)) + (_local2.b * s.y)) + _local2.c)) / ((_local2.a * (d.x - s.x)) + (_local2.b * (d.y - s.y)));
var _local5 = minP(_local9, _local14);
var _local12 = {x:s.x + ((d.x - s.x) * _local5), y:s.y + ((d.y - s.y) * _local5)};
var _local11 = calcPerpendicularLine(p0, p1, _local12);
var _local8 = calcCrossPoint(_local2, _local11);
if (((((_local8.x <= Math.max(p0.x, p1.x)) && (_local8.x >= Math.min(p0.x, p1.x))) && (_local8.y <= Math.max(p0.y, p1.y))) && (_local8.y >= Math.min(p0.y, p1.y))) && (_local5 != 1)) {
return(_local5);
}
return(1);
}
function blFind(minP) {
var _local4 = new Object();
_local4.minP = minP;
var _local2 = 0;
while (_local2 < ball.data.length) {
if ((ball.data[_local2].vx * ball.data[_local2].vy) != 0) {
var _local3 = 0;
while (_local3 < line.data.length) {
var _local5 = blHitTest(ball.data[_local2], {x:ball.data[_local2].x + ball.data[_local2].xv, y:ball.data[_local2].y + ball.data[_local2].yv}, line.data[_local3].p0, line.data[_local3].p1, ball.data[_local2].r);
if (_local5 < _local4.minP) {
_local4.minP = _local5;
_local4.b = ball.data[_local2];
_local4.l = line.data[_local3];
}
_local3++;
}
}
_local2++;
}
return(_local4);
}
function bpHitTest(s, d, p, r) {
if (calcDistance(s, p) < r) {
return(1);
}
var _local6 = (-((((((Math.sqrt((((((((((-d.x) * d.x) * ((((p.y * p.y) - ((2 * p.y) * s.y)) - (r * r)) + (s.y * s.y))) + ((2 * d.x) * ((((d.y * (p.x - s.x)) * (p.y - s.y)) + ((p.x * s.y) * (s.y - p.y))) + (s.x * (((p.y * p.y) - (p.y * s.y)) - (r * r)))))) - ((d.y * d.y) * ((((p.x * p.x) - ((2 * p.x) * s.x)) - (r * r)) + (s.x * s.x)))) + ((2 * d.y) * (((((p.x * p.x) * s.y) - ((p.x * s.x) * (p.y + s.y))) + ((p.y * s.x) * s.x)) - ((r * r) * s.y)))) - (((p.x * p.x) * s.y) * s.y)) + ((((2 * p.x) * p.y) * s.x) * s.y)) - (((p.y * p.y) * s.x) * s.x)) + ((r * r) * ((s.x * s.x) + (s.y * s.y)))) + (d.x * (s.x - p.x))) + (d.y * (s.y - p.y))) + (p.x * s.x)) + (p.y * s.y)) - (s.x * s.x)) - (s.y * s.y))) / ((((((d.x * d.x) - ((2 * d.x) * s.x)) + (d.y * d.y)) - ((2 * d.y) * s.y)) + (s.x * s.x)) + (s.y * s.y));
var _local7 = ((((((Math.sqrt((((((((((-d.x) * d.x) * ((((p.y * p.y) - ((2 * p.y) * s.y)) - (r * r)) + (s.y * s.y))) + ((2 * d.x) * ((((d.y * (p.x - s.x)) * (p.y - s.y)) + ((p.x * s.y) * (s.y - p.y))) + (s.x * (((p.y * p.y) - (p.y * s.y)) - (r * r)))))) - ((d.y * d.y) * ((((p.x * p.x) - ((2 * p.x) * s.x)) - (r * r)) + (s.x * s.x)))) + ((2 * d.y) * (((((p.x * p.x) * s.y) - ((p.x * s.x) * (p.y + s.y))) + ((p.y * s.x) * s.x)) - ((r * r) * s.y)))) - (((p.x * p.x) * s.y) * s.y)) + ((((2 * p.x) * p.y) * s.x) * s.y)) - (((p.y * p.y) * s.x) * s.x)) + ((r * r) * ((s.x * s.x) + (s.y * s.y)))) + (d.x * (p.x - s.x))) + (d.y * (p.y - s.y))) - (p.x * s.x)) - (p.y * s.y)) + (s.x * s.x)) + (s.y * s.y)) / ((((((d.x * d.x) - ((2 * d.x) * s.x)) + (d.y * d.y)) - ((2 * d.y) * s.y)) + (s.x * s.x)) + (s.y * s.y));
return(minP(_local6, _local7));
}
function bpFind(minP) {
var _local4 = new Object();
_local4.minP = minP;
var _local2 = 0;
while (_local2 < ball.data.length) {
if ((ball.data[_local2].vx * ball.data[_local2].vy) != 0) {
var _local3 = 0;
while (_local3 < point.data.length) {
var _local5 = bpHitTest(ball.data[_local2], {x:ball.data[_local2].x + ball.data[_local2].xv, y:ball.data[_local2].y + ball.data[_local2].yv}, point.data[_local3], ball.data[_local2].r);
if (_local5 < _local4.minP) {
_local4.minP = _local5;
_local4.b = ball.data[_local2];
_local4.p = point.data[_local3];
}
_local3++;
}
}
_local2++;
}
return(_local4);
}
function bbHitTest(b0, n0, b1, n1, r) {
if (calcDistance(b0, b1) < r) {
return(1);
}
var _local7 = ((((((((((Math.sqrt((((((((((n0.x * n0.x) * ((((r * r) - (b0.y * b0.y)) + ((2 * b0.y) * b1.y)) - (b1.y * b1.y))) + ((2 * n0.x) * ((((n0.y * (b0.x - b1.x)) * (b0.y - b1.y)) - (n1.x * ((((r * r) - (b0.y * b0.y)) + ((2 * b0.y) * b1.y)) - (b1.y * b1.y)))) + ((b1.x - b0.x) * ((n1.y * (b0.y - b1.y)) + (r * r)))))) + ((n0.y * n0.y) * ((((r * r) - (b0.x * b0.x)) + ((2 * b0.x) * b1.x)) - (b1.x * b1.x)))) - ((2 * n0.y) * ((((n1.x * (b0.x - b1.x)) * (b0.y - b1.y)) + (n1.y * ((((r * r) - (b0.x * b0.x)) + ((2 * b0.x) * b1.x)) - (b1.x * b1.x)))) + ((r * r) * (b0.y - b1.y))))) + ((n1.x * n1.x) * ((((r * r) - (b0.y * b0.y)) + ((2 * b0.y) * b1.y)) - (b1.y * b1.y)))) + (((2 * n1.x) * (b0.x - b1.x)) * ((n1.y * (b0.y - b1.y)) + (r * r)))) + ((n1.y * n1.y) * ((((r * r) - (b0.x * b0.x)) + ((2 * b0.x) * b1.x)) - (b1.x * b1.x)))) + ((((2 * n1.y) * r) * r) * (b0.y - b1.y))) + ((r * r) * ((((((b0.x * b0.x) - ((2 * b0.x) * b1.x)) + (b0.y * b0.y)) - ((2 * b0.y) * b1.y)) + (b1.x * b1.x)) + (b1.y * b1.y)))) + (n0.x * (b1.x - b0.x))) + (n0.y * (b1.y - b0.y))) + (n1.x * (b0.x - b1.x))) + (n1.y * (b0.y - b1.y))) + (b0.x * b0.x)) - ((2 * b0.x) * b1.x)) + (b0.y * b0.y)) - ((2 * b0.y) * b1.y)) + (b1.x * b1.x)) + (b1.y * b1.y)) / ((((((((((((((n0.x * n0.x) - ((2 * n0.x) * ((n1.x + b0.x) - b1.x))) + (n0.y * n0.y)) - ((2 * n0.y) * ((n1.y + b0.y) - b1.y))) + (n1.x * n1.x)) + ((2 * n1.x) * (b0.x - b1.x))) + (n1.y * n1.y)) + ((2 * n1.y) * (b0.y - b1.y))) + (b0.x * b0.x)) - ((2 * b0.x) * b1.x)) + (b0.y * b0.y)) - ((2 * b0.y) * b1.y)) + (b1.x * b1.x)) + (b1.y * b1.y));
var _local8 = (-((((((((((Math.sqrt((((((((((n0.x * n0.x) * ((((r * r) - (b0.y * b0.y)) + ((2 * b0.y) * b1.y)) - (b1.y * b1.y))) + ((2 * n0.x) * ((((n0.y * (b0.x - b1.x)) * (b0.y - b1.y)) - (n1.x * ((((r * r) - (b0.y * b0.y)) + ((2 * b0.y) * b1.y)) - (b1.y * b1.y)))) + ((b1.x - b0.x) * ((n1.y * (b0.y - b1.y)) + (r * r)))))) + ((n0.y * n0.y) * ((((r * r) - (b0.x * b0.x)) + ((2 * b0.x) * b1.x)) - (b1.x * b1.x)))) - ((2 * n0.y) * ((((n1.x * (b0.x - b1.x)) * (b0.y - b1.y)) + (n1.y * ((((r * r) - (b0.x * b0.x)) + ((2 * b0.x) * b1.x)) - (b1.x * b1.x)))) + ((r * r) * (b0.y - b1.y))))) + ((n1.x * n1.x) * ((((r * r) - (b0.y * b0.y)) + ((2 * b0.y) * b1.y)) - (b1.y * b1.y)))) + (((2 * n1.x) * (b0.x - b1.x)) * ((n1.y * (b0.y - b1.y)) + (r * r)))) + ((n1.y * n1.y) * ((((r * r) - (b0.x * b0.x)) + ((2 * b0.x) * b1.x)) - (b1.x * b1.x)))) + ((((2 * n1.y) * r) * r) * (b0.y - b1.y))) + ((r * r) * ((((((b0.x * b0.x) - ((2 * b0.x) * b1.x)) + (b0.y * b0.y)) - ((2 * b0.y) * b1.y)) + (b1.x * b1.x)) + (b1.y * b1.y)))) + (n0.x * (b0.x - b1.x))) + (n0.y * (b0.y - b1.y))) + (n1.x * (b1.x - b0.x))) + (n1.y * (b1.y - b0.y))) - (b0.x * b0.x)) + ((2 * b0.x) * b1.x)) - (b0.y * b0.y)) + ((2 * b0.y) * b1.y)) - (b1.x * b1.x)) - (b1.y * b1.y))) / ((((((((((((((n0.x * n0.x) - ((2 * n0.x) * ((n1.x + b0.x) - b1.x))) + (n0.y * n0.y)) - ((2 * n0.y) * ((n1.y + b0.y) - b1.y))) + (n1.x * n1.x)) + ((2 * n1.x) * (b0.x - b1.x))) + (n1.y * n1.y)) + ((2 * n1.y) * (b0.y - b1.y))) + (b0.x * b0.x)) - ((2 * b0.x) * b1.x)) + (b0.y * b0.y)) - ((2 * b0.y) * b1.y)) + (b1.x * b1.x)) + (b1.y * b1.y));
return(minP(_local7, _local8));
}
function bbFind(minP) {
var _local4 = new Object();
_local4.minP = minP;
var _local3 = 0;
while (_local3 < ball.data.length) {
var _local2 = _local3 + 1;
while (_local2 < ball.data.length) {
var _local5 = bbHitTest(ball.data[_local3], {x:ball.data[_local3].x + ball.data[_local3].xv, y:ball.data[_local3].y + ball.data[_local3].yv}, ball.data[_local2], {x:ball.data[_local2].x + ball.data[_local2].xv, y:ball.data[_local2].y + ball.data[_local2].yv}, ball.data[_local3].r + ball.data[_local2].r);
if (_local5 < _local4.minP) {
_local4.minP = _local5;
_local4.b0 = ball.data[_local3];
_local4.b1 = ball.data[_local2];
}
_local2++;
}
_local3++;
}
return(_local4);
}
function decompositionVector(a, vector) {
var _local4 = Math.atan(a);
var _local3 = Math.atan(-1 / a);
var _local5 = Math.atan2(vector.y, vector.x);
var _local7 = Math.cos(_local4 - _local5);
var _local6 = Math.cos(_local3 - _local5);
var _local2 = calcDistance({x:0, y:0}, vector);
var _local10 = {x:(Math.cos(_local4) * _local2) * _local7, y:(Math.sin(_local4) * _local2) * _local7};
var _local8 = {x:(Math.cos(_local3) * _local2) * _local6, y:(Math.sin(_local3) * _local2) * _local6};
return({vo:_local8, vp:_local10});
}
function calcStraightLine(p0, p1) {
var _local4 = p1.y - p0.y;
var _local3 = -(p1.x - p0.x);
var _local2 = ((-_local4) * p0.x) - (_local3 * p0.y);
return({a:_local4, b:_local3, c:_local2});
}
function calcPerpendicularLine(p0, p1, p2) {
var _local3 = p1.x - p0.x;
var _local2 = p1.y - p0.y;
var _local1 = ((-_local3) * p2.x) - (_local2 * p2.y);
return({a:_local3, b:_local2, c:_local1});
}
function calcCrossPoint(l0, l1) {
var _local3 = new Object();
_local3.x = ((l0.b * l1.c) - (l1.b * l0.c)) / ((l0.a * l1.b) - (l1.a * l0.b));
_local3.y = ((l1.a * l0.c) - (l0.a * l1.c)) / ((l0.a * l1.b) - (l1.a * l0.b));
return(_local3);
}
function calcDistance(p0, p1) {
return(Math.sqrt(((p0.x - p1.x) * (p0.x - p1.x)) + ((p0.y - p1.y) * (p0.y - p1.y))));
}
function bbBounce(b0, b1) {
var _local2 = new Object();
_local2.x = b1.x - b0.x;
_local2.y = b1.y - b0.y;
var _local6 = decompositionVector(_local2.y / _local2.x, {x:b0.xv, y:b0.yv});
var _local5 = decompositionVector(_local2.y / _local2.x, {x:b1.xv, y:b1.yv});
b0.xv = _local6.vo.x + _local5.vp.x;
b0.yv = _local6.vo.y + _local5.vp.y;
b1.xv = _local5.vo.x + _local6.vp.x;
b1.yv = _local5.vo.y + _local6.vp.y;
}
function bpBounce(b, p) {
var _local4 = new Object();
_local4.x = b.x - p.x;
_local4.y = b.y - p.y;
var _local2 = decompositionVector(_local4.y / _local4.x, {x:b.xv, y:b.yv});
b.xv = _local2.vo.x - _local2.vp.x;
b.yv = _local2.vo.y - _local2.vp.y;
}
function blBounce(b, l) {
var _local3 = new Object();
_local3.x = l.p0.x - l.p1.x;
_local3.y = l.p0.y - l.p1.y;
var _local2 = decompositionVector(_local3.y / _local3.x, {x:b.xv, y:b.yv});
b.xv = -(_local2.vo.x - _local2.vp.x);
b.yv = -(_local2.vo.y - _local2.vp.y);
}
function enterFrame() {
var _local3;
var _local4 = 1;
do {
var _local6 = bbFind(_local4);
var _local5 = bpFind(_local4);
var _local7 = blFind(_local4);
_local3 = Math.min(_local7.minP, Math.min(_local6.minP, _local5.minP));
moveBalls(_local3);
_local4 = _local4 - _local3;
if (_local3 == _local4) {
} else if (_local3 == _local6.minP) {
bbBounce(_local6.b0, _local6.b1);
} else if (_local3 == _local5.minP) {
if (_root.musicOK) {
_root.wall_snd.start(0, 1);
}
bpBounce(_local5.b, _local5.p);
} else if (_local3 == _local7.minP) {
blBounce(_local7.b, _local7.l);
if (_root.musicOK) {
_root.wall_snd.start(0, 1);
}
}
} while (_local4 > 0);
}
function getNumBalls() {
return(ball.data.length);
}
function getBall(num) {
return(ball.data[num]);
}
function getNumPoints() {
return(point.data.length);
}
function getPoint(num) {
return(point.data[num]);
}
function getNumLines() {
return(line.data.length);
}
function getLine(num) {
return(line.data[num]);
}
function addBall(x, y, r, xv, yv) {
var _local2 = (ball.data[ball.data.length] = new Object());
_local2.x = x;
_local2.y = y;
_local2.r = r;
_local2.xv = xv;
_local2.yv = yv;
return(_local2);
}
function addPoint(x, y) {
var _local2 = (point.data[point.data.length] = new Object());
_local2.x = x;
_local2.y = y;
return(_local2);
}
function addLine(p0, p1) {
var _local2 = (line.data[line.data.length] = new Object());
_local2.p0 = {x:p0.x, y:p0.y};
_local2.p1 = {x:p1.x, y:p1.y};
return(_local2);
}
function clear() {
ball.data.length = 0;
point.data.length = 0;
line.data.length = 0;
}
}
Symbol 23 MovieClip Frame 1
stop();
Symbol 40 MovieClip Frame 1
var filter = (new flash.filters.GlowFilter(16777215, 1, 14, 14, 2, 3, false, false));
pointerL.filters = new Array(filter);
pointerR.filters = new Array(filter);
var btnData = new Array();
var over = this.menuItem0;
var i = 0;
while (i < 4) {
btnData[i] = new Object();
btnData[i].anim = 0;
btnData[i].dest = 0;
this["menuItem" + i].onRollOver = function () {
over = this;
};
i++;
}
onEnterFrame = function () {
var _local2 = 0;
while (_local2 < 4) {
var _local4 = this["menuItem" + _local2];
btnData[_local2].dest = 0;
if (_local4 == over) {
btnData[_local2].dest = 1;
}
btnData[_local2].anim = btnData[_local2].anim + ((btnData[_local2].dest - btnData[_local2].anim) * 0.4);
var _local5 = new flash.filters.GlowFilter(16777215, btnData[_local2].anim, 14, 14, 2, 3, false, false);
var _local3 = new Array();
_local3.push(_local5);
_local4.filters = _local3;
_local2++;
}
var _local6 = parseInt(over._name.substring(8));
pointerL._y = (pointerR._y = ((60 * _local6) + (over._height * 0.5)) + 4);
pointerR._x = 70;
pointerL._x = -70;
};
Symbol 51 MovieClip Frame 1
ok.onRelease = function () {
_parent.enterCode(field.text);
};
Symbol 68 MovieClip Frame 1
stop();
this.onRelease = function () {
getURL (GameOnAde.SITE_URL, "_blank");
};
Symbol 68 MovieClip Frame 2
stop();
this.onRelease = function () {
getURL (GameOnAde.SITE_URL, "_blank");
};
Symbol 103 MovieClip Frame 1
stop();
Symbol 114 MovieClip Frame 1
stop();
Symbol 175 MovieClip Frame 1
stop();
this.onRelease = function () {
getURL (_root.myGameClass.getGameUrl(), "_blank");
};