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

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/82785335?noj=FRM82785335-14DC" width="1" height="1"></div>

Yeti Bubbles.swf

This is the info page for
Flash #11707

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


Text
0%

Yeti Bubbles is an action-based puzzler that puts
players to the task of tossing colored bubbles up to a
stack of other colored bubbles.
By linking three or more of the same colors together,
those bubbles will disappear from the bin.
If those bubbles were supporting other bubbles in
the stack, their removal may cause the dangling chain to
fall out of play to give the player more room to work
with.
The added twist is that the stack is on a constant
downwards move, and if any bubble in the stack crosses
the line at the bottom, the game is over.

99999

99999

51

51

51

99

ActionScript [AS1/AS2]

Instance of Symbol 5 MovieClip in Frame 2
on (press) { this._parent.more_pressed(); }
Instance of Symbol 12 MovieClip in Frame 2
on (press) { this._parent.more_pressed(); }
Frame 3
stot = this.getBytesTotal(); sloa = this.getBytesLoaded(); if (stot != 0) { per = Math.floor((sloa / stot) * 100); } else { per = 0; } mc_bar.mc._x = mc_bar.mc._width * (-1 + (sloa / stot)); txtPer = String(per) + "%"; if (((sloa >= 1) && (stot >= 1)) && (sloa == stot)) { gotoAndStop ("main"); inMenuFirst(); } else { gotoAndPlay (2); }
Instance of Symbol 135 MovieClip "mc_sloop" in Frame 6
onClipEvent (load) { var soundControl = new Sound(this); }
Instance of Symbol 140 MovieClip "btn_sound" in Frame 6
onClipEvent (load) { if (this._parent.stopSoundFlag) { this.gotoAndStop(2); } }
Frame 10
this.stop();
Instance of Symbol 161 MovieClip "mc_control" in Frame 10
onClipEvent (load) { this._parent.initLevel(); } onClipEvent (enterFrame) { this._parent.processGame(); } onClipEvent (mouseMove) { this._parent.myMouseMove(); updateAfterEvent(); } onClipEvent (mouseDown) { with (this._parent) { if ((_xmouse < (btn_sound._x + (btn_sound._width / 2))) && (_ymouse > (btn_sound._y - (btn_sound._height / 2)))) { return(undefined); } } this._parent.myMouseDown(); updateAfterEvent(); } onClipEvent (keyDown) { this._parent.myKeyDown(); updateAfterEvent(); }
Symbol 1 MovieClip Frame 1
#initclip 1 function soundOff() { mc_sloop.gotoAndStop(3); stopSoundFlag = true; } function soundOn() { mc_sloop.gotoAndStop(2); stopSoundFlag = false; } function new_game_pressed() { this.gotoAndStop("menu"); } function how_to_play_pressed() { this.gotoAndStop("rules"); } function more_pressed() { getURL ("http://www.justfreegames.com?WT.mc_id=FlashYetiBubbles", "_blank"); } function back_pressed() { this.gotoAndStop("main"); } function arcade_mode_pressed() { arcadeGame = true; gameStart(); } function classic_mode_pressed() { arcadeGame = false; gameStart(); } function inMenuFirst() { mc_sloop.gotoAndStop(2); } function gameStart() { level = 0; scores = 0; nextLevel(); } function nextLevel() { level++; this.gotoAndStop("reset"); this.gotoAndStop("game"); } function newGame() { this.gotoAndStop("main"); } function playSnd(lib_snd) { s = new Sound(this); s.attachSound(lib_snd); s.start(); } function initLevel() { txtLevel = level; txtScores = scores; lastTimer = getTimer(); if (arcadeGame) { mc_grid.init(levARowCount[level - 1], levColorCount[level - 1], levBonusCount[level - 1], mc_fall, mc_pusher, mc_trace); mc_ind.init(levAScores[level - 1]); levelSpeed = 1.6 + (0.05 * (level - 1)); } else { mc_grid.init(levCRowCount[level - 1], levColorCount[level - 1], levBonusCount[level - 1], mc_fall, mc_pusher, mc_trace); mc_ind.init(1); increaseK = levIncreaseK[level - 1]; } prevBonusNum = -1; shotBonusCount = _root.myRandom(maxShotBonusNum) + 1; generateNextBall(); generateNextBall(); mc_move_ball.mc_grid = mc_grid; var _local2; var _local1; _local2 = 0; while (_local2 < sightBallCount) { _local1 = mc_trace.attachMovie("lib_trace", "" + _local2, _local2); _local1._xscale = (_local1._yscale = 85); _local1._alpha = 75; _local1._visible = false; _local2++; } _local1 = mc_trace.attachMovie("lib_trace2", "" + sightBallCount, sightBallCount); _local1._xscale = (_local1._yscale = 115); _local1._alpha = 75; _local1._visible = false; drawSight(); redrawSight = true; winFlag = false; overFlag = false; if (timeCounter == null) { timeCounter = new CTimeCounter(); back1 = new CBackground(); back2 = new CBackground(); back3 = new CBackground(); } back1.init(mc_water.mc1, 10); back2.init(mc_water.mc2, 40); back3.init(mc_water.mc3, 20); mc_msg.gotoAndStop("stEmpty"); resetSounds(); gameState = 0; } function processGame() { var newTimer; var dTime; var _local1; var n; newTimer = getTimer(); dTime = newTimer - lastTimer; txtFps = 1 / (dTime / 1000); lastTimer = newTimer; back1.process(dTime); back2.process(dTime); back3.process(dTime); mc_pinguin.process(dTime); mc_yeti.process(dTime); mc_gun.processKeys(dTime); if (gameState == 1) { if (mc_msg.a1._visible == false) { n = levColorCount[level]; _local1 = 1; while (_local1 <= n) { mc_msg["a" + _local1].setColor(_local1); mc_msg["a" + _local1]._visible = true; _local1++; } n = levBonusCount[level]; _local1 = 1; while (_local1 <= n) { mc_msg["b" + _local1].setColor(_local1); mc_msg["b" + _local1].setBonus(_local1, 2); mc_msg["b" + _local1]._visible = true; _local1++; } } } if (gameState != 0) { } else { processFallBalls(dTime); if (mc_grid.fillBallsCount > 0) { var scr = (scrBall * mc_grid.fillBallsCount); if (mc_grid.doubleScores > 0) { sndScoreX2orX4 = true; scr = scr * (2 * mc_grid.doubleScores); } scores = scores + scr; txtScores = scores; if (mc_grid.bonusJumpUp > 0) { _local1 = 0; while (_local1 < mc_grid.bonusJumpUp) { if (arcadeGame) { mc_grid.jumpUpWithoutPusher(); } else { mc_grid.jumpUp(); } _local1++; } } if (arcadeGame) { mc_ind.addValue(mc_grid.fillBallsCount); if (mc_ind.isFull()) { mc_grid.fallAllBalls(); win(); } } correctAllColors(); } if ((mc_grid.fallBallsCount + mc_grid.fillBallsCount) > 4) { mc_yeti.toCool(); } mc_grid.fillBallsCount = 0; mc_grid.fallBallsCount = 0; mc_grid.doubleScores = 0; mc_grid.bonusJumpUp = 0; if (overFlag) { if (!timeCounter.process(dTime)) { mc_msg.btn._visible = true; var fallBalls = false; var str; for (str in mc_fall) { fallBalls = true; break; } if (!fallBalls) { gameState = 2; } } } if (winFlag) { if (!timeCounter.process(dTime)) { var fallBalls = false; var str; for (str in mc_fall) { fallBalls = true; break; } if (!fallBalls) { mc_gun.disable(); mc_pusher._visible = false; if (level < 10) { mc_msg.gotoAndStop("stWin"); mc_msg.txtLevel = level + 1; _local1 = 1; while (_local1 <= 8) { mc_msg["a" + _local1]._visible = false; _local1++; } _local1 = 1; while (_local1 <= 8) { mc_msg["b" + _local1]._visible = false; _local1++; } gameState = 1; } else { mc_msg.gotoAndStop("stCompleted"); gameState = 3; } } } } else { if (mc_move_ball._visible == false) { mc_gun.processTime(dTime); } if (mc_gun.autoShot()) { myMouseDown(); } mc_grid.process(dTime); var r = ((shotSpeed * dTime) / 1000); n = Math.ceil(r / (CGrid.BALL_RAD / 2)); var ballStep = (r / n); var p; var mc; var levelStep = (((levelSpeed * dTime) / 1000) / n); _local1 = 0; while (_local1 < n) { if (arcadeGame) { if (!mc_grid.bonusFreeze) { mc_grid.moveDown(levelStep); } } if (mc_move_ball._visible) { mc_move_ball.doStep(ballStep); if (((mc = mc_grid.checkForEnd(mc_move_ball))) != null) { if (mc_grid.fillBallsCount > 0) { sndBubbleCollisionR = true; } else { sndBubbleCollision = true; } mc_move_ball.hide(); if (!arcadeGame) { if (!mc_grid.bonusFreeze) { mc_ind.addValue(increaseK); if (mc_ind.isFull()) { mc_grid.jumpDown(); mc_ind.reset(); } } var _local3 = true; var _local2; _local2 = 0; while (_local2 < mc_grid.maxColorNum) { if (mc_grid.colorCountArr[_local2] > 0) { _local3 = false; break; } _local2++; } if (_local3) { win(); } } } } _local1++; } if (overFlag) { } else { if (arcadeGame && (!winFlag)) { mc_grid.checkAddRow(); } if (redrawSight) { drawSight(); } redrawSight = true; if (mc_grid.getDownY() >= 350) { overFlag = true; mc_gun.disable(); mc_trace._visible = false; mc_msg.gotoAndStop("stOver"); mc_msg.btn._visible = false; timeCounter.setTime(1000); mc_gun.resetNumber(); mc_grid.fallAllBalls(); } playSounds(); } } } } function myMouseMove() { mc_gun.myMouseMove(); mc_gun.process(this._xmouse); drawSight(); redrawSight = false; } function myMouseDown() { if ((winFlag || (overFlag)) || (gameState != 0)) { return(undefined); } if (mc_move_ball._visible == false) { startBall(); sndGunFire = true; } } function myKeyDown() { if (Key.isDown(32)) { if (gameState == 1) { nextLevel(); } else if (gameState == 2) { newGame(); } else { myMouseDown(); } } } function win() { winFlag = true; timeCounter.setTime(relaxTime); mc_gun.resetNumber(); mc_trace._visible = false; } function processFallBalls(dTime) { var _local3 = dTime; var _local1; var _local2; for (_local2 in mc_fall) { _local1 = mc_fall[_local2]; _local1.process(_local3); if (_local1._y > 400) { _local1.removeMovieClip(); } } } function generateNextBall() { var _local3; var _local1 = 0; var _local2 = 0; mc_gun.setColor(mc_next.colorNum); mc_gun.setBonus(mc_next.bonusNum, mc_next.bonusColorNum); _local3 = _root.myRandom(mc_grid.maxColorNum) + 1; _local3 = correctColor(_local3); if (mc_grid.maxBonusNum > 0) { shotBonusCount--; if (shotBonusCount <= 0) { _local1 = _root.myRandom(mc_grid.maxBonusNum) + 1; if ((_local1 == prevBonusNum) && (_local1 != CBall.BONUS_COLOR)) { if (Math.random() > 0.5) { _local1++; if (_local1 > mc_grid.maxBonusNum) { _local1 = 1; } } else { _local1--; if (_local1 < 1) { _local1 = mc_grid.maxBonusNum; } } } if (_local1 == CBall.BONUS_COLOR) { _local2 = _root.myRandom(mc_grid.maxColorNum) + 1; if (_local3 == _local2) { if (Math.random() > 0.5) { _local2++; if (_local2 > mc_grid.maxColorNum) { _local2 = 1; } } else { _local2--; if (_local2 < 1) { _local2 = mc_grid.maxColorNum; } } } } prevBonusNum = _local1; shotBonusCount = _root.myRandom(maxShotBonusNum) + 1; } } mc_next.setColor(_local3); mc_next.setBonus(_local1, _local2); } function correctAllColors() { var colorNum; mc_gun.setColor(correctColor(mc_gun.colorNum)); mc_next.setColor(correctColor(mc_next.colorNum)); } function correctColor(c) { var _local1 = c; if (arcadeGame == false) { var _local2; var _local3 = _root.myRandom(2); _local2 = 0; while (_local2 < mc_grid.maxColorNum) { if (mc_grid.colorCountArr[_local1 - 1] > 0) { break; } if (_local3 == 1) { _local1++; if (_local1 > mc_grid.maxColorNum) { _local1 = 1; } } else { _local1--; if (_local1 < 1) { _local1 = mc_grid.maxColorNum; } } _local2++; } } return(_local1); } function startBall() { var _local1 = (mc_gun._rotation / 180) * Math.PI; mc_move_ball.startMove(mc_gun._x, mc_gun._y, Math.sin(_local1), -Math.cos(_local1)); mc_move_ball.setColor(mc_gun.colorNum); mc_move_ball.setBonus(mc_gun.bonusNum, mc_gun.bonusColorNum); generateNextBall(); mc_gun.doShot(); } function drawSight() { var u = ((mc_gun._rotation / 180) * Math.PI); mc_grid.getFirstBall(mc_gun._x, mc_gun._y, Math.sin(u), -Math.cos(u)); mc_trace._x = mc_grid._x; mc_trace._y = mc_grid._y; var _local1; var n = (mc_grid.points.length - 1); var dx; var dy; var dr; var x0; var y0; var step = 28; var _local2; var m; var count = 0; var _local3 = step; var mc; var curTraceNum = 0; _local1 = 1; while (_local1 < n) { dx = mc_grid.points[_local1].x - ((x0 = mc_grid.points[_local1 - 1].x)); dy = mc_grid.points[_local1].y - ((y0 = mc_grid.points[_local1 - 1].y)); dr = Math.sqrt((dx * dx) + (dy * dy)); dx = dx / dr; dy = dy / dr; m = Math.floor((dr - _local3) / step); _local2 = 0; while (_local2 <= m) { mc = mc_trace["" + curTraceNum]; mc._visible = true; curTraceNum++; count++; mc._x = x0 + (dx * (_local3 + (step * _local2))); mc._y = y0 + (dy * (_local3 + (step * _local2))); _local2++; } _local3 = (dr - (m * step)) - _local3; _local3 = step - _local3; _local1++; } _local1 = curTraceNum; while (_local1 < sightBallCount) { mc_trace["" + _local1]._visible = false; _local1++; } mc = mc_trace["" + sightBallCount]; mc._visible = true; mc._x = mc_grid.points[n].x; mc._y = mc_grid.points[n].y; } function playSounds() { if (sndBubbleLevelUp) { playSnd("snd_BubbleLevelUp"); resetSounds(); } else if (snd8bonus) { playSnd("snd_8bonus"); resetSounds(); } else if (sndExplosionTNT) { playSnd("snd_ExplosionTNT"); resetSounds(); } else if (sndFreeze) { playSnd("snd_Freeze"); resetSounds(); } else if (sndScoreX2orX4) { playSnd("snd_ScoreX2orX4"); resetSounds(); } else if (sndAutoFire) { playSnd("snd_AutoFire"); resetSounds(); } else if (sndBubbleCollision) { playSnd("snd_BubbleCollision"); resetSounds(); } else if (sndBubbleCollisionR) { playSnd("snd_BubbleCollisionR"); resetSounds(); } else if (sndPingvin) { playSnd("snd_Pingvin"); resetSounds(); } else if (sndGunFire) { playSnd("snd_GunFire"); resetSounds(); } } function resetSounds() { snd8bonus = (sndAutoFire = (sndBubbleCollision = (sndBubbleCollisionR = (sndBubbleLevelUp = (sndExplosionTNT = (sndFreeze = (sndGunFire = (sndPingvin = (sndScoreX2orX4 = false))))))))); } var author = "Galimov Ruslan rigal@mail.ru"; var copyright = "www.sunnygames.com"; fscommand ("showmenu", "false"); fscommand ("trapallkeys", "true"); var lastTimer; var level; var stopSoundFlag = false; _root.myRandom = function (n) { return(Math.floor((n - 1E-6) * Math.random())); }; var scores; var scrBall = 3; var gameState; var shotSpeed = 600; var levCRowCount = [7, 7, 7, 7, 8, 8, 8, 9, 9, 9]; var levARowCount = [6, 6, 7, 6, 7, 7, 6, 7, 7, 7]; var levAScores = [70, 80, 90, 100, 110, 120, 130, 140, 150, 160]; var levIncreaseK = [0.1001, 0.12001, 0.125001, 0.143001, 0.143001, 0.143001, 0.143001, 0.143001, 0.143001, 0.143001]; var levColorCount = [4, 4, 4, 5, 5, 5, 6, 7, 7, 8]; var levBonusCount = [0, 1, 2, 3, 4, 5, 6, 7, 8, 8]; var arcadeGame = false; var increaseK; var levelSpeed; var prevBonusNum; var shotBonusCount; var maxShotBonusNum = 10; var redrawSight = true; var sightBallCount = 70; var timeCounter = null; var winFlag; var overFlag; var relaxTime = 1500; var back1; var back2; var back3; var snd8bonus; var sndAutoFire; var sndBubbleCollision; var sndBubbleCollisionR; var sndBubbleLevelUp; var sndExplosionTNT; var sndFreeze; var sndGunFire; var sndPingvin; var sndScoreX2orX4; #endinitclip
Symbol 49 MovieClip Frame 1
this.stop();
Symbol 67 MovieClip Frame 1
this.stop();
Symbol 93 MovieClip [lib_ball] Frame 1
#initclip 13 Object.registerClass("lib_ball", CBall); #endinitclip
Symbol 93 MovieClip [lib_ball] Frame 13
this.removeMovieClip();
Symbol 93 MovieClip [lib_ball] Frame 28
this.removeMovieClip();
Symbol 99 MovieClip [lib_fall] Frame 1
#initclip 12 Object.registerClass("lib_fall", CFallMovie); #endinitclip
Symbol 113 MovieClip Frame 1
this.stop();
Symbol 324 MovieClip [__Packages.CTimeCounter] Frame 0
class CTimeCounter { var curTime; function CTimeCounter () { } function setTime(time) { curTime = time; } function process(dTime) { curTime = curTime - dTime; return(curTime > 0); } function endTime() { curTime = 0; } }
Symbol 325 MovieClip [__Packages.CBall] Frame 0
class CBall extends MovieClip { var mc; function CBall () { super() var _local1 = this; _local1.marked = false; _local1.bonusNum = 0; _local1.stop(); _local1.mc.mc_freeze._visible = false; } function setColor(num) { var _local1 = this; _local1.colorNum = num; _local1.mc.gotoAndStop(_local1.colorNum); } function setBonus(bonusNum_, bonusColorNum_) { var _local1 = this; _local1.bonusNum = bonusNum_; _local1.bonusColorNum = bonusColorNum_; _local1.mc.mc_bonus.gotoAndStop(1 + _local1.bonusNum); if (_local1.bonusNum == BONUS_COLOR) { _local1.mc.mc_bonus.mc.gotoAndStop(_local1.bonusColorNum); } } function isMyColor(c) { var _local1 = this; return((c == _local1.colorNum) || ((_local1.bonusNum == BONUS_COLOR) && (c == _local1.bonusColorNum))); } function freeze() { mc.mc_freeze._visible = true; } function unFreeze() { mc.mc_freeze._visible = false; } static var BONUS_COLOR = 1; }
Symbol 326 MovieClip [__Packages.CBackground] Frame 0
class CBackground { function CBackground () { } function init(mc_, speed_) { var _local1 = this; _local1.mc = mc_; _local1.speed = speed_; _local1.sX = _local1.mc._x; } function process(dTime) { var _local1 = this; var _local2 = (_local1.speed * dTime) / 1000; _local1.mc._x = _local1.mc._x - _local2; if (_local1.mc._x <= (_local1.sX - _local1.period)) { _local1.mc._x = _local1.mc._x + _local1.period; } } var period = 129; }
Symbol 327 MovieClip [__Packages.CGrid] Frame 0
class CGrid extends MovieClip { var ball_array, mc_trace, bonusFreeze, freezeTime, _x, _y, fillBallsCount, fallBallsCount, doubleScores, bonusJumpUp, attachMovie, colorCountArr, fieldWidth; function CGrid () { super(); ball_array = new Array(); } function init(rowCount, maxColorNum_, maxBonusNum_, mc_fall_, mc_pusher_, mc_trace_) { var _local1 = this; _local1.maxColorNum = maxColorNum_; _local1.maxBonusNum = maxBonusNum_; _local1.mc_fall = mc_fall_; _local1.fallDepth = 0; _local1.mc_pusher = mc_pusher_; _local1.pusherDY = _local1._y - _local1.mc_pusher._y; _local1.mc_trace = mc_trace_; _local1.mc_trace._visible = false; _local1.traceTime = 0; _local1.bonusFreeze = false; _local1.beginY = (_local1.floatY = _local1._y); _local1.colorCountArr = new Array(_local1.maxColorNum); var _local3; var j; var row_array; var _local2; _local3 = 0; while (_local3 < _local1.maxColorNum) { _local1.colorCountArr[_local3] = 0; _local3++; } _local1.ballDepth = 0; _local3 = 0; while (_local3 < rowCount) { row_array = new Array(); j = 0; while (j < COLS) { _local2 = _local1.attachMovie("lib_ball", "" + _local1.ballDepth, _local1.ballDepth); _local1.ballDepth++; _local2._x = ((_local3 % 2) * BALL_RAD) + (j * BALL_DIAM); _local2._y = _local3 * BALL_DY; _local2.setColor(_root.myRandom(_local1.maxColorNum) + 1); row_array.push(_local2); _local1.colorCountArr[_local2.colorNum - 1]++; j++; } _local1.ball_array.push(row_array); _local3++; } _local1.addRowCount = 0; _local1.fieldWidth = ((COLS - 1) * BALL_DIAM) + BALL_RAD; _local1.calcNeighboursXY(); } function process(dTime) { var _local1 = this; if (_local1.mc_trace._visible) { _local1.traceTime = _local1.traceTime - dTime; if (_local1.traceTime <= 0) { _local1.disableTrace(); } } if (_local1.bonusFreeze) { _local1.freezeTime = _local1.freezeTime - dTime; if (_local1.freezeTime <= 0) { _local1.disableFreeze(); } } } function enableTrace() { var _local1 = this; if (_local1.mc_trace._visible) { _local1.traceTime = _local1.traceTime + _local1.TRACE_TIME; } else { _local1.mc_trace._visible = true; _local1.traceTime = _local1.TRACE_TIME; } } function disableTrace() { mc_trace._visible = false; } function enableFreeze() { _root.sndFreeze = true; if (bonusFreeze) { freezeTime = freezeTime + FREEZE_TIME; } else { bonusFreeze = true; freezeTime = FREEZE_TIME; var _local1; var _local3; var ROWS = ball_array.length; var _local2; _local3 = 0; while (_local3 < ROWS) { _local1 = 0; while (_local1 < COLS) { _local2 = ball_array[_local3][_local1]; if (_local2 != null) { _local2.freeze(); } _local1++; } _local3++; } } } function disableFreeze() { bonusFreeze = false; var _local1; var _local3; var ROWS = ball_array.length; var _local2; _local3 = 0; while (_local3 < ROWS) { _local1 = 0; while (_local1 < COLS) { _local2 = ball_array[_local3][_local1]; if (_local2 != null) { _local2.unFreeze(); } _local1++; } _local3++; } } function moveDown(step) { var _local1 = this; if (_local1.ball_array.length < 6) { step = step * (7 - _local1.ball_array.length); } _local1.floatY = _local1.floatY + step; _local1._y = _local1.floatY; } function jumpDown() { var _local1 = this; _local1.floatY = _local1.floatY + BALL_DY; _local1._y = _local1.floatY; _local1.mc_pusher._y = _local1.floatY - _local1.pusherDY; } function jumpUp() { var _local1 = this; if (Math.abs(_local1._y - _local1.beginY) > 2) { _local1.floatY = _local1.floatY - BALL_DY; if (_local1.floatY < _local1.beginY) { _local1.floatY = _local1.beginY; } _local1._y = _local1.floatY; _local1.mc_pusher._y = _local1.floatY - _local1.pusherDY; } _root.sndBubbleLevelUp = true; } function jumpUpWithoutPusher() { var _local1 = this; _local1.floatY = _local1.floatY - BALL_DY; _local1._y = _local1.floatY; _root.sndBubbleLevelUp = true; } function jumpToStartPos() { var _local1 = this; _local1._y = (_local1.floatY = _local1.beginY); _local1.mc_pusher._y = _local1.floatY - _local1.pusherDY; } function checkAddRow() { var _local1 = this; var _local2 = Math.floor((_local1.floatY - _local1.beginY) / BALL_DY) + 1; if (_local2 > _local1.addRowCount) { _local1.addRow(); } } function addRow() { var _local1 = this; var row_array = new Array(); var _local3; var _local2; _local1.addRowCount++; _local3 = 0; while (_local3 < COLS) { _local2 = _local1.attachMovie("lib_ball", "" + _local1.ballDepth, _local1.ballDepth); _local1.ballDepth++; _local2._x = (Math.abs(_local1.addRowCount % 2) * BALL_RAD) + (_local3 * BALL_DIAM); _local2._y = (-_local1.addRowCount) * BALL_DY; _local2.setColor(_root.myRandom(_local1.maxColorNum) + 1); row_array.push(_local2); _local1.colorCountArr[_local2.colorNum - 1]++; _local3++; } _local1.ball_array.splice(0, 0, row_array); } function getDownY() { var _local1 = this; return((_local1._y + ((((-_local1.addRowCount) + _local1.ball_array.length) - 1) * BALL_DY)) + BALL_RAD); } function calcNeighboursXY() { var _local1; var col; var row; var x; var y; var col2; var _local2; var x2; var _local3; col = 2; row = 2; x = ((row % 2) * BALL_RAD) + (col * BALL_DIAM); y = row * BALL_DY; _local1 = 0; while (_local1 < 6) { col2 = col + neighbours[_local1][0]; _local2 = row + neighbours[_local1][1]; x2 = ((_local2 % 2) * BALL_RAD) + (col2 * BALL_DIAM); _local3 = _local2 * BALL_DY; neighboursXY[_local1][0] = x2 - x; neighboursXY[_local1][1] = _local3 - y; _local1++; } col = 1; row = 1; x = ((row % 2) * BALL_RAD) + (col * BALL_DIAM); y = row * BALL_DY; _local1 = 0; while (_local1 < 6) { col2 = col + neighbours2[_local1][0]; _local2 = row + neighbours2[_local1][1]; x2 = ((_local2 % 2) * BALL_RAD) + (col2 * BALL_DIAM); _local3 = _local2 * BALL_DY; neighboursXY2[_local1][0] = x2 - x; neighboursXY2[_local1][1] = _local3 - y; _local1++; } } function getFirstBall(x0, y0, dx, dy) { var _local1 = y0; var n = ball_array.length; var topY = ((-addRowCount) * BALL_DY); x0 = x0 - _x; _local1 = _local1 - _y; var x1; var y1; x1 = x0 + (1000 * dx); y1 = _local1 + (1000 * dy); var _local3; var _local2; var C; var d; _local3 = _local1 - y1; _local2 = x1 - x0; C = (x0 * (y1 - _local1)) - (_local1 * (x1 - x0)); d = Math.sqrt((_local3 * _local3) + (_local2 * _local2)); _local3 = _local3 / d; _local2 = _local2 / d; C = C / d; while (points.pop() != undefined) { } points.push({x:x0, y:_local1}); var p1; var p2; var p3; while (true) { p1 = getBoundsIntersection(dx, dy, _local3, _local2, C); p2 = getBallIntersection(p1.x, p1.y, x0, _local1, _local3, _local2, C); if (p2 != null) { p3 = getFirstEmptyNeighbour(p2.col, p2.row, x0, _local1, x1, y1, _local3, _local2, C); if (_local3 > Math.abs(_local2)) { points.push({x:(-((_local2 * p3.y) + C)) / _local3, y:p3.y}); } else { points.push({x:p3.x, y:(-((_local3 * p3.x) + C)) / _local2}); } points.push({x:p3.x, y:p3.y}); return; } x0 = p1.x; _local1 = p1.y; dx = -dx; x1 = x0 + (1000 * dx); y1 = _local1 + (1000 * dy); _local3 = _local1 - y1; _local2 = x1 - x0; C = (x0 * (y1 - _local1)) - (_local1 * (x1 - x0)); d = Math.sqrt((_local3 * _local3) + (_local2 * _local2)); _local3 = _local3 / d; _local2 = _local2 / d; C = C / d; points.push({x:x0, y:_local1}); if (_local1 < (((-addRowCount) * BALL_DY) + 2)) { points.push({x:x0, y:_local1}); return; } } } function checkForEnd(mc_move_ball) { fillBallsCount = 0; fallBallsCount = 0; doubleScores = 0; bonusJumpUp = 0; var x; var y; x = (mc_move_ball.sX + (mc_move_ball.curR * mc_move_ball.vx)) - _x; y = (mc_move_ball.sY + (mc_move_ball.curR * mc_move_ball.vy)) - _y; var row; var col; row = Math.round((y + (addRowCount * BALL_DY)) / BALL_DY); col = Math.round((x - ((Math.abs(row + addRowCount) % 2) * BALL_RAD)) / BALL_DIAM); if (col < 0) { col = 0; } else if (col >= COLS) { col = COLS - 1; } var _local2; var _local3; var upRow; var downRow; var leftCol; var rightCol; var minCol; var minRow; var minR = 500000; var dx; var dy; var dr; var _local1; if (row <= ball_array.length) { upRow = row - 1; downRow = row + 1; leftCol = col - 1; rightCol = col + 1; if (upRow < 0) { upRow = 0; } if (downRow > (ball_array.length - 1)) { downRow = ball_array.length - 1; } _local2 = downRow; while (_local2 >= upRow) { _local3 = leftCol; while (_local3 <= rightCol) { _local1 = ball_array[_local2][_local3]; if (_local1 != null) { dx = _local1._x - x; dy = _local1._y - y; dr = Math.sqrt((dx * dx) + (dy * dy)); if (dr <= BALL_DIAM_I) { minR = dr; minCol = _local3; minRow = _local2; } } _local3++; } _local2--; } if (minR < 500000) { var p; var x0 = (x - ((mc_move_ball.curR * mc_move_ball.vx) * 100)); var y0 = (y - ((mc_move_ball.curR * mc_move_ball.vy) * 100)); var A; var B; var C; var d; A = y0 - y; B = x - x0; C = (x0 * (y - y0)) - (y0 * (x - x0)); d = Math.sqrt((A * A) + (B * B)); A = A / d; B = B / d; C = C / d; p = getFirstEmptyNeighbour(minCol, minRow, x0, y0, x, y, A, B, C); if (p.col == -1) { p = getFirstEmptyNeighbourForPoint(minCol, minRow, x, y); } if (p.row == ball_array.length) { var arr = new Array(COLS); _local2 = 0; while (_local2 < COLS) { arr[_local2] = null; _local2++; } ball_array.push(arr); } _local1 = attachMovie("lib_ball", "" + ballDepth, ballDepth); ballDepth++; _local1._x = ((Math.abs(p.row + addRowCount) % 2) * BALL_RAD) + (p.col * BALL_DIAM); _local1._y = (p.row * BALL_DY) - (addRowCount * BALL_DY); _local1.setColor(mc_move_ball.colorNum); _local1.setBonus(mc_move_ball.bonusNum, mc_move_ball.bonusColorNum); if (bonusFreeze) { _local1.freeze(); } ball_array[p.row][p.col] = _local1; colorCountArr[_local1.colorNum - 1]++; checkBonus(p.col, p.row, _local1); if (ball_array[p.row][p.col] != null) { checkMovingOff(_local1, p.col, p.row); } return(_local1); } } var upY = (((-addRowCount) * BALL_DY) + (BALL_DY / 2)); if (y <= upY) { _local1 = attachMovie("lib_ball", "" + ballDepth, ballDepth); ballDepth++; _local1._x = ((Math.abs(row + addRowCount) % 2) * BALL_RAD) + (col * BALL_DIAM); _local1._y = (row * BALL_DY) - (addRowCount * BALL_DY); _local1.setColor(mc_move_ball.colorNum); _local1.setBonus(mc_move_ball.bonusNum, mc_move_ball.bonusColorNum); if (bonusFreeze) { _local1.freeze(); } ball_array[row][col] = _local1; colorCountArr[_local1.colorNum - 1]++; checkBonus(col, row, _local1); if (ball_array[row][col] != null) { checkMovingOff(_local1, col, row); } return(_local1); } return(null); } function checkBonus(col, row, mc) { var _local1 = mc; if (_local1.bonusNum > 0) { switch (_local1.bonusNum) { case 7 : bang(col, row, _local1); _root.sndExplosionTNT = true; return; case 8 : colorize(col, row, _local1); _root.snd8bonus = true; } } } function bang(col, row, mc) { var _local1 = mc; var res_array = new Array(); var n_array; var n2_array; var ncol; var nrow; var _local2; var _local3; var ROWS = ball_array.length; var i; var j; if ((Math.abs(row + addRowCount) % 2) == 0) { n_array = neighbours; } else { n_array = neighbours2; } _local1.marked = true; res_array.push({col:col, row:row}); i = 0; while (i < 6) { ncol = col + n_array[i][0]; nrow = row + n_array[i][1]; if ((((ncol >= 0) && (ncol < COLS)) && (nrow >= 0)) && (nrow < ROWS)) { _local1 = ball_array[nrow][ncol]; if ((_local1 != null) && (_local1.marked == false)) { _local1.marked = true; res_array.push({col:ncol, row:nrow}); } if ((Math.abs(nrow + addRowCount) % 2) == 0) { n2_array = neighbours; } else { n2_array = neighbours2; } j = 0; while (j < 6) { _local2 = ncol + n2_array[j][0]; _local3 = nrow + n2_array[j][1]; if ((((((_local2 >= 0) && (_local2 < COLS)) && (_local3 >= 0)) && (_local3 < ROWS)) && ((_local1 = ball_array[_local3][_local2]) != null)) && (_local1.marked == false)) { _local1.marked = true; res_array.push({col:_local2, row:_local3}); } j++; } } i++; } var res = 0; var n = res_array.length; i = 0; while (i < n) { col = res_array[i].col; row = res_array[i].row; _local1 = ball_array[row][col]; if (_local1 != null) { colorCountArr[_local1.colorNum - 1]--; checkLongBonus(_local1); _local1.gotoAndPlay("bang" + (_root.myRandom(4) + 1)); res++; ball_array[row][col] = null; } i++; } delete res_array; fillBallsCount = res; checkPendingBalls(); checkOddRows(); } function colorize(col, row, mc) { var _local1 = mc; var res_array = new Array(); var n_array; var n2_array; var ncol; var nrow; var _local2; var _local3; var ROWS = ball_array.length; var i; var j; var colorNum = _local1.colorNum; if ((Math.abs(row + addRowCount) % 2) == 0) { n_array = neighbours; } else { n_array = neighbours2; } _local1.setBonus(0, 0); _local1.marked = true; res_array.push({col:col, row:row}); i = 5; while (i >= 0) { ncol = col + n_array[i][0]; nrow = row + n_array[i][1]; if ((((((ncol >= 0) && (ncol < COLS)) && (nrow >= 0)) && (nrow < ROWS)) && ((_local1 = ball_array[nrow][ncol]) != null)) && (_local1.marked == false)) { _local1.marked = true; res_array.push({col:ncol, row:nrow}); if ((Math.abs(nrow + addRowCount) % 2) == 0) { n2_array = neighbours; } else { n2_array = neighbours2; } j = 5; while (j >= 0) { _local2 = ncol + n2_array[j][0]; _local3 = nrow + n2_array[j][1]; if ((((((_local2 >= 0) && (_local2 < COLS)) && (_local3 >= 0)) && (_local3 < ROWS)) && ((_local1 = ball_array[_local3][_local2]) != null)) && (_local1.marked == false)) { _local1.marked = true; res_array.push({col:_local2, row:_local3}); break; } j--; } break; } i--; } var res = 0; var n = res_array.length; i = 0; while (i < n) { col = res_array[i].col; row = res_array[i].row; _local1 = ball_array[row][col]; if (_local1 != null) { _local1.marked = false; colorCountArr[_local1.colorNum - 1]--; _local1.setColor(colorNum); colorCountArr[colorNum - 1]++; } i++; } delete res_array; } function checkLongBonus(mc) { var _local1 = this; if (mc.bonusNum > 0) { switch (mc.bonusNum) { case 2 : _local1.enableTrace(); _root.sndBubbleLevelUp = true; return; case 3 : _local1.doubleScores = _local1.doubleScores + 1; return; case 4 : _local1.bonusJumpUp = _local1.bonusJumpUp + 1; return; case 5 : _local1.enableFreeze(); return; case 6 : _local1.doubleScores = _local1.doubleScores + 2; } } } function getBoundsIntersection(dx, dy, A, B, C) { var _local2 = 0; var _local3 = -30000; var x2 = 0; var _local1 = -30000; if (Math.abs(dx) > 0.15) { if (dx > 0) { _local2 = fieldWidth; } else { _local2 = 0; } _local3 = (-((A * _local2) + C)) / B; } _local1 = (-addRowCount) * BALL_DY; x2 = (-((B * _local1) + C)) / A; if (_local1 > _local3) { return({x:x2, y:_local1}); } return({x:_local2, y:_local3}); } function getBallIntersection(x1, y1, x0, y0, A, B, C) { var topY = ((-addRowCount) * BALL_DY); var upY = (y1 - BALL_DIAM); var upRow = (Math.round((upY - topY) / BALL_DY) - 1); var downRow = (Math.round((y0 - topY) / BALL_DY) + 1); if (upRow < 0) { upRow = 0; } if (downRow > (ball_array.length - 1)) { downRow = ball_array.length - 1; } var minR = 500000; var minCol = -1; var minRow = -1; var i; var j; var _local1; var _local3; var _local2; var dr; var dr2; var r1; var r; _local3 = x1 - x0; _local2 = y1 - y0; dr2 = (_local3 * _local3) + (_local2 * _local2); i = downRow; while (i >= upRow) { j = 0; while (j < COLS) { _local1 = ball_array[i][j]; if ((_local1 != null) && (((r1 = Math.abs(((A * _local1._x) + (B * _local1._y)) + C))) <= BALL_DIAM_I)) { _local3 = _local1._x - x0; _local2 = _local1._y - y0; dr = (_local3 * _local3) + (_local2 * _local2); r = Math.sqrt(dr) + r1; if (r < minR) { if (dr > dr2) { _local3 = _local1._x - x1; _local2 = _local1._y - y1; if (((dr = (_local3 * _local3) + (_local2 * _local2))) <= (BALL_DIAM_I * BALL_DIAM_I)) { minR = Math.sqrt(dr) + Math.sqrt(dr2); minCol = j; minRow = i; } } else { minR = r; minCol = j; minRow = i; } } } j++; } i--; } if (minCol != -1) { return({col:minCol, row:minRow}); } return(null); } function getFirstEmptyNeighbour(col, row, x0, y0, x1, y1, A, B, C) { var _local1; var minR = 500000; var minCol = -1; var minRow; var minX; var minY; var x; var y; var n_array; var nXY_array; var _local2; var nrow; var nx; var _local3; var dx; var dy; var dr; var iP = {x:0, y:0, R:0}; if ((Math.abs(row + addRowCount) % 2) == 0) { n_array = neighbours; nXY_array = neighboursXY; } else { n_array = neighbours2; nXY_array = neighboursXY2; } x = ((Math.abs(addRowCount + row) % 2) * BALL_RAD) + (col * BALL_DIAM); y = (row * BALL_DY) - (addRowCount * BALL_DY); _local1 = 0; while (_local1 < 6) { _local2 = col + n_array[_local1][0]; nrow = row + n_array[_local1][1]; if (((_local2 >= 0) && (nrow >= 0)) && (_local2 < COLS)) { nx = x + nXY_array[_local1][0]; _local3 = y + nXY_array[_local1][1]; if (Math.abs(((A * nx) + (B * _local3)) + C) <= BALL_RAD_B) { getCircleIntersection(x0, y0, x1, y1, nx, _local3, BALL_RAD_B, BALL_RAD_B * BALL_RAD_B, iP); if (iP.R < minR) { minR = iP.R; minCol = _local2; minRow = nrow; minX = nx; minY = _local3; } } } _local1++; } return({x:minX, y:minY, col:minCol, row:minRow}); } function getFirstEmptyNeighbourForPoint(col, row, x0, y0) { var _local1; var minR = 500000; var minCol; var minRow; var minX; var minY; var x; var y; var n_array; var nXY_array; var _local2; var nrow; var nx; var ny; var dx; var _local3; var dr; if ((Math.abs(row + addRowCount) % 2) == 0) { n_array = neighbours; nXY_array = neighboursXY; } else { n_array = neighbours2; nXY_array = neighboursXY2; } x = ((Math.abs(addRowCount + row) % 2) * BALL_RAD) + (col * BALL_DIAM); y = (row * BALL_DY) - (addRowCount * BALL_DY); _local1 = 0; while (_local1 < 6) { _local2 = col + n_array[_local1][0]; nrow = row + n_array[_local1][1]; if (((_local2 >= 0) && (nrow >= 0)) && (_local2 < COLS)) { nx = x + nXY_array[_local1][0]; ny = y + nXY_array[_local1][1]; dx = nx - x0; _local3 = ny - y0; dr = (dx * dx) + (_local3 * _local3); if (dr < minR) { minR = dr; minCol = _local2; minRow = nrow; minX = nx; minY = ny; } } _local1++; } return({x:minX, y:minY, col:minCol, row:minRow}); } function getCircleIntersection(x1, y1, x2, y2, x0, y0, R, R2, iP) { var _local2 = x1; var _local3 = y1; var A; var _local1; var C; var _a; var _b; var _c; var D; var sqrtD; var CBx0; var CBy0; var xx1; var yy1; var xx2; var yy2; var t1; var t2; var minR1 = 500000; var minR2 = 500000; if (Math.abs(x2 - _local2) < 1) { (A = _local2 - x2); _local1 = y2 - _local3; (C = (_local2 * (_local3 - y2)) - (_local3 * (_local2 - x2))); (_a = 1 + ((A * A) / (_local1 * _local1))); (_b = (-2 * y0) + (((2 * A) / _local1) * ((CBx0 = (C / _local1) + x0)))); (_c = ((y0 * y0) + (CBx0 * CBx0)) - R2); D = (_b * _b) - ((4 * _a) * _c); if (D >= 0) { sqrtD = Math.sqrt(D); yy1 = ((-_b) + sqrtD) / (2 * _a); t1 = (yy1 - _local3) / _local1; if ((t1 >= -0.05) && (t1 <= 1.05)) { xx1 = (-((A * yy1) + C)) / _local1; minR1 = ((xx1 - _local2) * (xx1 - _local2)) + ((yy1 - _local3) * (yy1 - _local3)); } yy2 = ((-_b) - sqrtD) / (2 * _a); t2 = (yy2 - _local3) / _local1; if ((t2 >= -0.05) && (t2 <= 1.05)) { xx2 = (-((A * yy2) + C)) / _local1; minR2 = ((xx2 - _local2) * (xx2 - _local2)) + ((yy2 - _local3) * (yy2 - _local3)); } if (minR1 < minR2) { (iP.x = xx1); (iP.y = yy1); (iP.R = Math.sqrt(minR1)); } else { if (minR2 == 500000) { return(false); } (iP.x = xx2); (iP.y = yy2); (iP.R = Math.sqrt(minR2)); } return(true); } } else { (A = _local3 - y2); _local1 = x2 - _local2; (C = (_local3 * (_local2 - x2)) - (_local2 * (_local3 - y2))); (_a = 1 + ((A * A) / (_local1 * _local1))); (_b = (-2 * x0) + (((2 * A) / _local1) * ((CBy0 = (C / _local1) + y0)))); (_c = ((x0 * x0) + (CBy0 * CBy0)) - R2); D = (_b * _b) - ((4 * _a) * _c); if (D >= 0) { sqrtD = Math.sqrt(D); xx1 = ((-_b) + sqrtD) / (2 * _a); t1 = (xx1 - _local2) / _local1; if ((t1 >= -0.05) && (t1 <= 1.05)) { yy1 = (-((A * xx1) + C)) / _local1; minR1 = ((xx1 - _local2) * (xx1 - _local2)) + ((yy1 - _local3) * (yy1 - _local3)); } xx2 = ((-_b) - sqrtD) / (2 * _a); t2 = (xx2 - _local2) / _local1; if ((t2 >= -0.05) && (t2 <= 1.05)) { yy2 = (-((A * xx2) + C)) / _local1; minR2 = ((xx2 - _local2) * (xx2 - _local2)) + ((yy2 - _local3) * (yy2 - _local3)); } if (minR1 < minR2) { (iP.x = xx1); (iP.y = yy1); (iP.R = Math.sqrt(minR1)); } else { if (minR2 == 500000) { return(false); } (iP.x = xx2); (iP.y = yy2); (iP.R = Math.sqrt(minR2)); } return(true); } } return(false); } function checkMovingOff(mc_ball, col, row) { var _local3 = this; var res1_array = null; var res2_array = null; mc_ball.marked = true; res1_array = _local3.tryRemoveColor(col, row, mc_ball.colorNum); if (mc_ball.bonusNum == CBall.BONUS_COLOR) { res2_array = _local3.tryRemoveColor(col, row, mc_ball.bonusColorNum); if (res1_array == null) { res1_array = res2_array; } else if (res2_array != null) { res1_array = res1_array.concat(res2_array); } } mc_ball.marked = false; if (res1_array != null) { if (mc_ball.bonusColorNum > 0) { _root.sndBubbleLevelUp = true; } res1_array.push({col:col, row:row, mc:mc_ball}); var res = 0; var n = res1_array.length; var _local2; var _local1; _local2 = 0; while (_local2 < n) { col = res1_array[_local2].col; row = res1_array[_local2].row; _local1 = _local3.ball_array[row][col]; if (_local1 != null) { _local3.colorCountArr[_local1.colorNum - 1]--; _local3.checkLongBonus(_local1); _local1.gotoAndPlay(2); res++; _local3.ball_array[row][col] = null; } _local2++; } _local3.checkPendingBalls(); _local3.checkOddRows(); _local3.fillBallsCount = res; return(res); } return(0); } function fallAllBalls() { var _local3 = this; var col; var row; var _local1; var _local2; var ROWS = _local3.ball_array.length; var i = 0; var mc_f; mc_f = _local3.mc_fall.attachMovie("lib_fall", "" + _local3.fallDepth, _local3.fallDepth); _local3.fallDepth++; row = 0; while (row < ROWS) { col = 0; while (col < COLS) { _local1 = _local3.ball_array[row][col]; if (_local1 != null) { _local3.ball_array[row][col] = null; _local2 = _local1; _local1 = mc_f.attachMovie("lib_ball", "" + i, i); i++; _local1.setColor(_local2.colorNum); _local1.setBonus(_local2.bonusNum, _local2.bonusColorNum); _local1._x = ((_local3._x + _local2._x) + random(8)) - 4; _local1._y = ((_local3._y + _local2._y) + random(8)) - 4; _local3.colorCountArr[_local2.colorNum - 1]--; _local2.removeMovieClip(); } col++; } row++; } if (i == 0) { mc_f.removeMovieClip(); } } function checkPendingBalls() { var _local2 = this; var res_array = new Array(); var p_idx = 0; var n_array; var _local3; var k; var col; var row; var ncol; var nrow; var _local1; var ROWS = _local2.ball_array.length; var foundFlag; while (true) { foundFlag = false; k = 0; while (k < COLS) { _local1 = _local2.ball_array[0][k]; if ((_local1 != null) && (_local1.marked == false)) { _local2.stack_arr[p_idx] = {col:k, row:0}; p_idx++; _local1.marked = true; foundFlag = true; break; } k++; } if (foundFlag == false) { break; } while (p_idx > 0) { p_idx--; col = _local2.stack_arr[p_idx].col; row = _local2.stack_arr[p_idx].row; if ((Math.abs(row + _local2.addRowCount) % 2) == 0) { n_array = neighbours; } else { n_array = neighbours2; } _local3 = 0; while (_local3 < 6) { ncol = col + n_array[_local3][0]; nrow = row + n_array[_local3][1]; if ((((((ncol >= 0) && (ncol < COLS)) && (nrow >= 0)) && (nrow < ROWS)) && ((_local1 = _local2.ball_array[nrow][ncol]) != null)) && (_local1.marked == false)) { _local1.marked = true; _local2.stack_arr[p_idx] = {col:ncol, row:nrow}; p_idx++; } _local3++; } } } row = 0; while (row < ROWS) { col = 0; while (col < COLS) { _local1 = _local2.ball_array[row][col]; if (_local1 != null) { if (_local1.marked) { _local1.marked = false; } else { res_array.push(_local1); _local2.ball_array[row][col] = null; } } col++; } row++; } if (res_array.length > 0) { var mc_f; var n = res_array.length; var old; _local2.fallBallsCount = n; mc_f = _local2.mc_fall.attachMovie("lib_fall", "" + _local2.fallDepth, _local2.fallDepth); _local2.fallDepth++; _local3 = 0; while (_local3 < n) { _local1 = mc_f.attachMovie("lib_ball", "" + _local3, _local3); old = res_array[_local3]; _local1.setColor(old.colorNum); _local1.setBonus(old.bonusNum, old.bonusColorNum); _local1._x = ((_local2._x + old._x) + random(8)) - 4; _local1._y = ((_local2._y + old._y) + random(8)) - 4; _local2.colorCountArr[old.colorNum - 1]--; old.removeMovieClip(); _local3++; } } delete res_array; } function checkOddRows() { var _local2 = this; var _local1; var _local3; while (true) { if (_local2.ball_array.length == 1) { return; } _local3 = _local2.ball_array.length - 1; _local1 = 0; while (_local1 < COLS) { if (_local2.ball_array[_local3][_local1] != null) { return; } _local1++; } _local2.ball_array.pop(); } } function tryRemoveColor(col, row, colorNum) { var res_array = new Array(); var p_idx = 0; var n_array; var _local1; var _local2; var _local3; var mc; var ROWS = ball_array.length; stack_arr[p_idx] = {col:col, row:row}; p_idx++; while (p_idx > 0) { p_idx--; col = stack_arr[p_idx].col; row = stack_arr[p_idx].row; if ((Math.abs(row + addRowCount) % 2) == 0) { n_array = neighbours; } else { n_array = neighbours2; } _local1 = 0; while (_local1 < 6) { _local2 = col + n_array[_local1][0]; _local3 = row + n_array[_local1][1]; if (((((((_local2 >= 0) && (_local2 < COLS)) && (_local3 >= 0)) && (_local3 < ROWS)) && (((mc = ball_array[_local3][_local2])) != null)) && (mc.marked == false)) && (mc.isMyColor(colorNum))) { mc.marked = true; res_array.push({col:_local2, row:_local3, mc:mc}); stack_arr[p_idx] = {col:_local2, row:_local3}; p_idx++; } _local1++; } } var n = res_array.length; _local1 = 0; while (_local1 < n) { res_array[_local1].mc.marked = false; _local1++; } if (n < 2) { delete res_array; return(null); } return(res_array); } static var COLS = 11; static var BALL_RAD = 14; static var BALL_RAD_I = BALL_RAD - 1; static var BALL_RAD_B = BALL_RAD + 1.5; static var BALL_DIAM = 28; static var BALL_DIAM_I = BALL_DIAM - 8.5; static var BALL_DY = 25; var addRowCount = 0; var ballDepth = 0; var maxColorNum = 8; var maxBonusNum = 8; var points = new Array(); var stack_arr = new Array(200); static var neighbours = [[-1, 1], [0, 1], [-1, 0], [1, 0], [-1, -1], [0, -1]]; static var neighbours2 = [[0, 1], [1, 1], [-1, 0], [1, 0], [1, -1], [0, -1]]; static var neighboursXY = [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]; static var neighboursXY2 = [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]; var TRACE_TIME = 30000; var FREEZE_TIME = 10000; }
Symbol 328 MovieClip [__Packages.CFallMovie] Frame 0
class CFallMovie extends MovieClip { var time, state; function CFallMovie () { super(); time = 0; state = 0; } function process(dTime) { var _local1 = this; var _local3 = dTime; if (_local1.state == 0) { _local1.time = _local1.time + _local3; var _local2 = -180 + ((_local1.acc * _local1.time) / 1000); if (_local2 < _local1.maxSpeed) { _local1._y = _local1._y + ((_local2 * _local3) / 1000); } else { _local1._y = _local1._y + ((_local1.maxSpeed * _local3) / 1000); _local1.state = 1; } } else { _local1._y = _local1._y + ((_local1.maxSpeed * _local3) / 1000); } } var maxSpeed = 700; var acc = 600; }
Symbol 329 MovieClip [__Packages.CPinguin] Frame 0
class CPinguin extends MovieClip { var state; function CPinguin () { super(); toStayDown(); } function process(dTime) { var _local1 = this; var _local2 = dTime; _local1.curTime = _local1.curTime - _local2; if (_local1.state == 0) { if (_local1.curTime < 0) { _local1.toUp(); } } else if (_local1.state == 1) { _local1._y = _local1._y - ((_local1.speed * _local2) / 1000); if (_local1._y <= 400) { _local1._y = 400; _local1.toStayUp(); } } else if (_local1.state == 2) { if (_local1.curTime < 0) { _local1.toDown(); } } else if (_local1.state == 3) { _local1._y = _local1._y + ((_local1.speed * _local2) / 1000); if (_local1._y > (400 + _local1._height)) { _local1.toStayDown(); } } } function toUp() { var _local1 = this; _local1.state = 1; _local1._y = 400 + _local1._height; _local1._visible = true; if (Math.random() > 0.5) { _local1._xscale = Math.abs(_local1._xscale); _local1._x = 135 + random(45); } else { _local1._xscale = -Math.abs(_local1._xscale); _local1._x = 330 + random(40); } _root.sndPingvin = true; } function toStayUp() { var _local1 = this; _local1.state = 2; _local1.curTime = _local1.timeOnUp; } function toDown() { state = 3; } function toStayDown() { var _local1 = this; _local1.state = 0; _local1._visible = false; _local1.curTime = _local1.minTimeNone + random(_local1.maxTimeNone - _local1.minTimeNone); } var speed = 40; var minTimeNone = 3000; var maxTimeNone = 18000; var timeOnUp = 7000; }
Symbol 330 MovieClip [__Packages.CYeti] Frame 0
class CYeti extends MovieClip { var state, gotoAndStop; function CYeti () { super(); toStay(); } function process(dTime) { var _local1 = this; if (_local1.state == 0) { _local1.curTime = _local1.curTime - dTime; if (_local1.curTime < 0) { _local1.toChesh(); } } } function toStay() { var _local1 = this; _local1.state = 0; _local1.gotoAndStop("stay"); _local1.curTime = _local1.minStayTime + random(_local1.maxStayTime - _local1.minStayTime); } function endChesh() { toStay(); } function endCool() { toStay(); } function toCool() { state = 2; gotoAndStop("cool"); } function toChesh() { state = 1; gotoAndStop("chesh"); } var minStayTime = 3000; var maxStayTime = 10000; }
Symbol 331 MovieClip [__Packages.CIndicator] Frame 0
class CIndicator extends MovieClip { var curValue, maxValue; function CIndicator () { super(); } function init(maxValue_) { var _local1 = this; _local1.maxValue = maxValue_; _local1.curValue = 0; _local1.startY = _local1.mc_mask._y; _local1.updateView(); } function addValue(val) { var _local1 = this; _local1.curValue = _local1.curValue + val; if (_local1.curValue > _local1.maxValue) { _local1.curValue = _local1.maxValue; } _local1.updateView(); } function reset() { curValue = 0; updateView(); } function isFull() { return(curValue >= maxValue); } function updateView() { var _local1 = this; _local1.mc_mask._y = (_local1.startY + _local1.mc_mask._height) - ((_local1.curValue / _local1.maxValue) * _local1.mc_mask._height); } }
Symbol 332 MovieClip [__Packages.CGun] Frame 0
class CGun extends MovieClip { var txtNumber, curWaitTime, mouseControl, disableFlag; function CGun () { super() var _local1 = this; _local1.bonusNum = 0; _local1.hideMouse = false; _local1.curWaitTime = _local1.WAIT_TIME * 2; _local1.txtNumber = ""; _local1.disableFlag = false; _local1.mouseControl = false; _local1.prevLeft = (_local1.prevRight = false); _local1.keySpeed = _local1.keyAcc; } function setColor(num) { var _local1 = this; _local1.colorNum = num; _local1.gotoAndStop(_local1.colorNum); } function setBonus(bonusNum_, bonusColorNum_) { var _local1 = this; _local1.bonusNum = bonusNum_; _local1.bonusColorNum = bonusColorNum_; _local1.mc_bonus.gotoAndStop(1 + _local1.bonusNum); if (_local1.bonusNum == CBall.BONUS_COLOR) { _local1.mc_bonus.mc.gotoAndStop(_local1.bonusColorNum); } } function processTime(dTime) { var _local1 = this; var _local3; var _local2; _local3 = Math.ceil(_local1.curWaitTime / 1000); _local1.curWaitTime = _local1.curWaitTime - dTime; if (_local1.curWaitTime <= 0) { _local1.curWaitTime = 0; } _local2 = Math.ceil((_local1.curWaitTime / 1000) + 0.01); if ((_local2 != _local3) && (_local2 <= 3)) { _local1.txtNumber = "" + _local2; _root.sndAutoFire = true; } } function processKeys(dTime) { var _local1 = this; var _local3 = Key.isDown(37); var rightKey = Key.isDown(39); if (_local3 || (rightKey)) { if (_local1.mouseControl) { _local1.mouseControl = false; if (_local1.hideMouse) { _local1.hideMouse = false; Mouse.show(); } } var _local2 = dTime / 1000; _local1.keySpeed = _local1.keySpeed + _local1.keyAcc; if (_local1.keySpeed > _local1.maxKeySpeed) { _local1.keySpeed = _local1.maxKeySpeed; } if (_local3) { if (!_local1.prevLeft) { _local1.keySpeed = _local1.keyAcc; _local1.prevLeft = true; _local1.prevRight = false; } _local1._rotation = _local1._rotation - (_local2 * _local1.keySpeed); if (_local1._rotation < (-MAX_UGOL)) { _local1._rotation = -MAX_UGOL; } } else { if (!_local1.prevRight) { _local1.keySpeed = _local1.keyAcc / 2; _local1.prevLeft = false; _local1.prevRight = true; } _local1._rotation = _local1._rotation + (_local2 * _local1.keySpeed); if (_local1._rotation > MAX_UGOL) { _local1._rotation = MAX_UGOL; } } } else { _local1.prevLeft = (_local1.prevRight = false); } } function doShot() { var _local1 = this; _local1.curWaitTime = _local1.WAIT_TIME; _local1.resetNumber(); } function resetNumber() { txtNumber = ""; } function autoShot() { return(curWaitTime == 0); } function process(xMouse) { var _local2 = this; if (_local2.mouseControl) { var _local1 = xMouse - _local2._x; if (!_local2.disableFlag) { if ((_local1 > 170) || (_local1 < -170)) { if (_local2.hideMouse) { _local2.hideMouse = false; Mouse.show(); } } else if (!_local2.hideMouse) { _local2.hideMouse = true; Mouse.hide(); } } _local1 = _local1 / 130; if (_local1 > 1) { _local1 = 1; } else if (_local1 < -1) { _local1 = -1; } _local2._rotation = _local1 * MAX_UGOL; } } function myMouseMove() { mouseControl = true; } function disable() { disableFlag = true; Mouse.show(); } function getShotPoint() { var _local2 = this; var _local1 = {x:_local2.mc_point._x, y:_local2.mc_point._y}; _local2.localToGlobal(_local1); _local2._parent.globalToLocal(_local1); return(_local1); } static var MAX_UGOL = 80; var WAIT_TIME = 6400; var maxKeySpeed = 85; var keyAcc = 12; }
Symbol 333 MovieClip [__Packages.CMoveBall] Frame 0
class CMoveBall extends CBall { var _visible, state; function CMoveBall () { super(); hide(); } function startMove(x, y, vx_, vy_) { var _local1 = this; _local1._x = (_local1.sX = x); _local1._y = (_local1.sY = y); _local1.vx = vx_; _local1.vy = vy_; _local1.curR = 0; _local1.calcEndPoint(); _local1.show(); } function doStep(step) { var _local1 = this; _local1.curR = _local1.curR + step; if (_local1.curR >= _local1.commonR) { _local1.sX = _local1.eX; _local1.sY = _local1.eY; _local1.curR = 0; _local1.vx = -_local1.vx; _local1.calcEndPoint(); } _local1._x = _local1.sX + (_local1.curR * _local1.vx); _local1._y = _local1.sY + (_local1.curR * _local1.vy); } function calcEndPoint() { var _local1 = this; var _local3; var _local2; var C; var d; _local1.sX = _local1.sX - _local1.mc_grid._x; _local1.sY = _local1.sY - _local1.mc_grid._y; _local1.eX = _local1.sX + (1000 * _local1.vx); _local1.eY = _local1.sY + (1000 * _local1.vy); _local3 = _local1.sY - _local1.eY; _local2 = _local1.eX - _local1.sX; C = (_local1.sX * (_local1.eY - _local1.sY)) - (_local1.sY * (_local1.eX - _local1.sX)); d = Math.sqrt((_local3 * _local3) + (_local2 * _local2)); _local3 = _local3 / d; _local2 = _local2 / d; C = C / d; var p = _local1.mc_grid.getBoundsIntersection(_local1.vx, _local1.vy, _local3, _local2, C); _local1.eX = p.x; _local1.eY = p.y; _local1.commonR = Math.sqrt(((_local1.eX - _local1.sX) * (_local1.eX - _local1.sX)) + ((_local1.eY - _local1.sY) * (_local1.eY - _local1.sY))); _local1.sX = _local1.sX + _local1.mc_grid._x; _local1.sY = _local1.sY + _local1.mc_grid._y; _local1.eX = _local1.eX + _local1.mc_grid._x; _local1.eY = _local1.eY + _local1.mc_grid._y; } function show() { _visible = true; state = 1; } function hide() { _visible = false; state = 0; } }
Symbol 123 Button
on (release) { more_pressed(); }
Symbol 128 Button
on (release) { new_game_pressed(); }
Symbol 133 Button
on (release) { how_to_play_pressed(); }
Symbol 135 MovieClip Frame 1
stop();
Symbol 137 Button
on (press) { this._parent.soundOff(); this.gotoAndStop(2); }
Symbol 139 Button
on (press) { this._parent.soundOn(); this.gotoAndStop(1); }
Symbol 140 MovieClip Frame 1
this.stop();
Symbol 145 Button
on (release) { arcade_mode_pressed(); }
Symbol 150 Button
on (release) { classic_mode_pressed(); }
Symbol 155 Button
on (release) { back_pressed(); }
Symbol 162 MovieClip Frame 1
this.stop();
Symbol 163 MovieClip [lib_ball_move] Frame 1
#initclip 19 Object.registerClass("lib_ball_move", CMoveBall); #endinitclip
Symbol 164 MovieClip [mc_grid] Frame 1
#initclip 14 Object.registerClass("mc_grid", CGrid); #endinitclip
Symbol 178 MovieClip [lib_pinguin_] Frame 1
#initclip 15 Object.registerClass("lib_pinguin_", CPinguin); #endinitclip
Symbol 216 MovieClip Frame 33
this._parent.endChesh();
Symbol 252 MovieClip Frame 35
this._parent.endCool();
Symbol 253 MovieClip [lib_yeti] Frame 1
#initclip 16 Object.registerClass("lib_yeti", CYeti); #endinitclip this.stop();
Symbol 258 MovieClip [lib_ind] Frame 1
#initclip 17 Object.registerClass("lib_ind", CIndicator); #endinitclip
Symbol 290 MovieClip Frame 1
this.stop();
Symbol 308 MovieClip [mc_gun_] Frame 1
#initclip 18 Object.registerClass("mc_gun_", CGun); #endinitclip this.stop();
Symbol 316 Button
on (release) { this._parent.nextLevel(); }
Symbol 318 Button
on (release) { this._parent.newGame(); }

Library Items

Symbol 1 MovieClipUsed by:Timeline
Symbol 2 GraphicUsed by:Timeline
Symbol 3 BitmapUsed by:4
Symbol 4 GraphicUses:3Used by:5
Symbol 5 MovieClipUses:4Used by:Timeline
Symbol 6 BitmapUsed by:7
Symbol 7 GraphicUses:6Used by:Timeline
Symbol 8 FontUsed by:9
Symbol 9 EditableTextUses:8Used by:Timeline
Symbol 10 BitmapUsed by:11
Symbol 11 GraphicUses:10Used by:12
Symbol 12 MovieClipUses:11Used by:Timeline
Symbol 13 GraphicUsed by:14 137 139
Symbol 14 MovieClipUses:13Used by:15
Symbol 15 MovieClipUses:14Used by:Timeline
Symbol 16 BitmapUsed by:17
Symbol 17 GraphicUses:16Used by:67 162
Symbol 18 BitmapUsed by:19
Symbol 19 GraphicUses:18Used by:34
Symbol 20 BitmapUsed by:21
Symbol 21 GraphicUses:20Used by:34
Symbol 22 BitmapUsed by:23
Symbol 23 GraphicUses:22Used by:34
Symbol 24 BitmapUsed by:25
Symbol 25 GraphicUses:24Used by:34
Symbol 26 BitmapUsed by:27
Symbol 27 GraphicUses:26Used by:34
Symbol 28 BitmapUsed by:29
Symbol 29 GraphicUses:28Used by:34
Symbol 30 BitmapUsed by:31
Symbol 31 GraphicUses:30Used by:34
Symbol 32 BitmapUsed by:33
Symbol 33 GraphicUses:32Used by:34
Symbol 34 MovieClipUses:19 21 23 25 27 29 31 33Used by:49
Symbol 35 BitmapUsed by:36 282
Symbol 36 GraphicUses:35Used by:49
Symbol 37 BitmapUsed by:38 283
Symbol 38 GraphicUses:37Used by:49
Symbol 39 BitmapUsed by:40 284
Symbol 40 GraphicUses:39Used by:49
Symbol 41 BitmapUsed by:42 285
Symbol 42 GraphicUses:41Used by:49
Symbol 43 BitmapUsed by:44 286
Symbol 44 GraphicUses:43Used by:49
Symbol 45 BitmapUsed by:46
Symbol 46 GraphicUses:45Used by:49
Symbol 47 BitmapUsed by:48 289
Symbol 48 GraphicUses:47Used by:49
Symbol 49 MovieClipUses:34 36 38 40 42 44 46 48Used by:67 162
Symbol 50 BitmapUsed by:51
Symbol 51 GraphicUses:50Used by:52
Symbol 52 MovieClipUses:51Used by:67 162
Symbol 53 BitmapUsed by:54
Symbol 54 GraphicUses:53Used by:67 162
Symbol 55 BitmapUsed by:56
Symbol 56 GraphicUses:55Used by:67 162
Symbol 57 BitmapUsed by:58
Symbol 58 GraphicUses:57Used by:67 162
Symbol 59 BitmapUsed by:60
Symbol 60 GraphicUses:59Used by:67 162
Symbol 61 BitmapUsed by:62
Symbol 62 GraphicUses:61Used by:67 162
Symbol 63 BitmapUsed by:64
Symbol 64 GraphicUses:63Used by:67 162
Symbol 65 BitmapUsed by:66
Symbol 66 GraphicUses:65Used by:67 162
Symbol 67 MovieClipUses:17 49 52 54 56 58 60 62 64 66Used by:93
Symbol 68 BitmapUsed by:69 70 71 72
Symbol 69 GraphicUses:68Used by:93
Symbol 70 GraphicUses:68Used by:93
Symbol 71 GraphicUses:68Used by:93
Symbol 72 GraphicUses:68Used by:93
Symbol 73 BitmapUsed by:74
Symbol 74 GraphicUses:73Used by:93
Symbol 75 BitmapUsed by:76
Symbol 76 GraphicUses:75Used by:93
Symbol 77 BitmapUsed by:78
Symbol 78 GraphicUses:77Used by:93
Symbol 79 BitmapUsed by:80
Symbol 80 GraphicUses:79Used by:93
Symbol 81 BitmapUsed by:82
Symbol 82 GraphicUses:81Used by:93
Symbol 83 BitmapUsed by:84
Symbol 84 GraphicUses:83Used by:93
Symbol 85 BitmapUsed by:86
Symbol 86 GraphicUses:85Used by:93
Symbol 87 BitmapUsed by:88
Symbol 88 GraphicUses:87Used by:93
Symbol 89 BitmapUsed by:90
Symbol 90 GraphicUses:89Used by:93
Symbol 91 BitmapUsed by:92
Symbol 92 GraphicUses:91Used by:93
Symbol 93 MovieClip [lib_ball]Uses:67 69 70 71 72 74 76 78 80 82 84 86 88 90 92Used by:323  Timeline
Symbol 94 BitmapUsed by:95
Symbol 95 GraphicUses:94Used by:96
Symbol 96 MovieClip [lib_trace]Uses:95Used by:Timeline
Symbol 97 GraphicUsed by:98
Symbol 98 MovieClip [lib_trace2]Uses:97Used by:Timeline
Symbol 99 MovieClip [lib_fall]Used by:Timeline
Symbol 100 BitmapUsed by:101
Symbol 101 GraphicUses:100Used by:102
Symbol 102 MovieClipUses:101Used by:Timeline
Symbol 103 Sound [snd_ScoreX2orX4]Used by:113
Symbol 104 Sound [snd_Pingvin]Used by:113
Symbol 105 Sound [snd_GunFire]Used by:113
Symbol 106 Sound [snd_Freeze]Used by:113
Symbol 107 Sound [snd_ExplosionTNT]Used by:113
Symbol 108 Sound [snd_BubbleLevelUp]Used by:113
Symbol 109 Sound [snd_BubbleCollisionR]Used by:113
Symbol 110 Sound [snd_BubbleCollision]Used by:113
Symbol 111 Sound [snd_AutoFire]Used by:113
Symbol 112 Sound [snd_8bonus]Used by:113
Symbol 113 MovieClipUses:103 104 105 106 107 108 109 110 111 112Used by:Timeline
Symbol 324 MovieClip [__Packages.CTimeCounter]
Symbol 325 MovieClip [__Packages.CBall]
Symbol 326 MovieClip [__Packages.CBackground]
Symbol 327 MovieClip [__Packages.CGrid]
Symbol 328 MovieClip [__Packages.CFallMovie]
Symbol 329 MovieClip [__Packages.CPinguin]
Symbol 330 MovieClip [__Packages.CYeti]
Symbol 331 MovieClip [__Packages.CIndicator]
Symbol 332 MovieClip [__Packages.CGun]
Symbol 333 MovieClip [__Packages.CMoveBall]
Symbol 114 BitmapUsed by:115
Symbol 115 GraphicUses:114Used by:116
Symbol 116 MovieClipUses:115Used by:Timeline
Symbol 117 BitmapUsed by:118
Symbol 118 GraphicUses:117Used by:123
Symbol 119 BitmapUsed by:120
Symbol 120 GraphicUses:119Used by:123
Symbol 121 SoundUsed by:123 128 133 145 150 155 316
Symbol 122 SoundUsed by:123 128 133 145 150 155 316 318
Symbol 123 ButtonUses:118 120 121 122Used by:Timeline
Symbol 124 BitmapUsed by:125
Symbol 125 GraphicUses:124Used by:128
Symbol 126 BitmapUsed by:127
Symbol 127 GraphicUses:126Used by:128
Symbol 128 ButtonUses:125 127 121 122Used by:Timeline
Symbol 129 BitmapUsed by:130
Symbol 130 GraphicUses:129Used by:133
Symbol 131 BitmapUsed by:132
Symbol 132 GraphicUses:131Used by:133
Symbol 133 ButtonUses:130 132 121 122Used by:Timeline
Symbol 134 SoundUsed by:135
Symbol 135 MovieClipUses:134Used by:Timeline
Symbol 136 GraphicUsed by:137
Symbol 137 ButtonUses:136 13Used by:140
Symbol 138 GraphicUsed by:139
Symbol 139 ButtonUses:138 13Used by:140
Symbol 140 MovieClipUses:137 139Used by:Timeline
Symbol 141 BitmapUsed by:142
Symbol 142 GraphicUses:141Used by:145
Symbol 143 BitmapUsed by:144
Symbol 144 GraphicUses:143Used by:145
Symbol 145 ButtonUses:142 144 121 122Used by:Timeline
Symbol 146 BitmapUsed by:147
Symbol 147 GraphicUses:146Used by:150
Symbol 148 BitmapUsed by:149
Symbol 149 GraphicUses:148Used by:150
Symbol 150 ButtonUses:147 149 121 122Used by:Timeline
Symbol 151 BitmapUsed by:152
Symbol 152 GraphicUses:151Used by:155
Symbol 153 BitmapUsed by:154
Symbol 154 GraphicUses:153Used by:155
Symbol 155 ButtonUses:152 154 121 122Used by:Timeline
Symbol 156 FontUsed by:157 259 260 291 292 293 311
Symbol 157 TextUses:156Used by:Timeline
Symbol 158 BitmapUsed by:159
Symbol 159 GraphicUses:158Used by:Timeline
Symbol 160 GraphicUsed by:Timeline
Symbol 161 MovieClipUsed by:308  Timeline
Symbol 162 MovieClipUses:17 49 52 54 56 58 60 62 64 66Used by:163
Symbol 163 MovieClip [lib_ball_move]Uses:162Used by:Timeline
Symbol 164 MovieClip [mc_grid]Used by:Timeline
Symbol 165 BitmapUsed by:166
Symbol 166 GraphicUses:165Used by:167
Symbol 167 MovieClipUses:166Used by:168
Symbol 168 MovieClipUses:167Used by:174
Symbol 169 BitmapUsed by:170
Symbol 170 GraphicUses:169Used by:171
Symbol 171 MovieClipUses:170Used by:172 173
Symbol 172 MovieClipUses:171Used by:174
Symbol 173 MovieClipUses:171Used by:174
Symbol 174 MovieClipUses:168 172 173Used by:Timeline
Symbol 175 BitmapUsed by:176
Symbol 176 GraphicUses:175Used by:177
Symbol 177 MovieClipUses:176Used by:178
Symbol 178 MovieClip [lib_pinguin_]Uses:177Used by:Timeline
Symbol 179 BitmapUsed by:180
Symbol 180 GraphicUses:179Used by:181
Symbol 181 MovieClipUses:180Used by:Timeline
Symbol 182 BitmapUsed by:183
Symbol 183 GraphicUses:182Used by:184 216
Symbol 184 MovieClipUses:183Used by:253
Symbol 185 BitmapUsed by:186
Symbol 186 GraphicUses:185Used by:216
Symbol 187 SoundUsed by:216
Symbol 188 BitmapUsed by:189
Symbol 189 GraphicUses:188Used by:216
Symbol 190 BitmapUsed by:191
Symbol 191 GraphicUses:190Used by:216
Symbol 192 BitmapUsed by:193
Symbol 193 GraphicUses:192Used by:216
Symbol 194 BitmapUsed by:195
Symbol 195 GraphicUses:194Used by:216
Symbol 196 BitmapUsed by:197
Symbol 197 GraphicUses:196Used by:216
Symbol 198 BitmapUsed by:199
Symbol 199 GraphicUses:198Used by:216
Symbol 200 BitmapUsed by:201
Symbol 201 GraphicUses:200Used by:216
Symbol 202 BitmapUsed by:203
Symbol 203 GraphicUses:202Used by:216
Symbol 204 BitmapUsed by:205
Symbol 205 GraphicUses:204Used by:216
Symbol 206 BitmapUsed by:207
Symbol 207 GraphicUses:206Used by:216
Symbol 208 BitmapUsed by:209
Symbol 209 GraphicUses:208Used by:216
Symbol 210 BitmapUsed by:211
Symbol 211 GraphicUses:210Used by:216
Symbol 212 BitmapUsed by:213
Symbol 213 GraphicUses:212Used by:216
Symbol 214 BitmapUsed by:215
Symbol 215 GraphicUses:214Used by:216
Symbol 216 MovieClipUses:183 186 187 189 191 193 195 197 199 201 203 205 207 209 211 213 215Used by:253
Symbol 217 BitmapUsed by:218
Symbol 218 GraphicUses:217Used by:252
Symbol 219 SoundUsed by:252
Symbol 220 BitmapUsed by:221
Symbol 221 GraphicUses:220Used by:252
Symbol 222 BitmapUsed by:223
Symbol 223 GraphicUses:222Used by:252
Symbol 224 BitmapUsed by:225
Symbol 225 GraphicUses:224Used by:252
Symbol 226 BitmapUsed by:227
Symbol 227 GraphicUses:226Used by:252
Symbol 228 BitmapUsed by:229
Symbol 229 GraphicUses:228Used by:252
Symbol 230 BitmapUsed by:231
Symbol 231 GraphicUses:230Used by:252
Symbol 232 BitmapUsed by:233
Symbol 233 GraphicUses:232Used by:252
Symbol 234 BitmapUsed by:235
Symbol 235 GraphicUses:234Used by:252
Symbol 236 BitmapUsed by:237
Symbol 237 GraphicUses:236Used by:252
Symbol 238 BitmapUsed by:239
Symbol 239 GraphicUses:238Used by:252
Symbol 240 BitmapUsed by:241
Symbol 241 GraphicUses:240Used by:252
Symbol 242 BitmapUsed by:243
Symbol 243 GraphicUses:242Used by:252
Symbol 244 BitmapUsed by:245
Symbol 245 GraphicUses:244Used by:252
Symbol 246 BitmapUsed by:247
Symbol 247 GraphicUses:246Used by:252
Symbol 248 BitmapUsed by:249
Symbol 249 GraphicUses:248Used by:252
Symbol 250 BitmapUsed by:251
Symbol 251 GraphicUses:250Used by:252
Symbol 252 MovieClipUses:218 219 221 223 225 227 229 231 233 235 237 239 241 243 245 247 249 251Used by:253
Symbol 253 MovieClip [lib_yeti]Uses:184 216 252Used by:Timeline
Symbol 254 GraphicUsed by:255
Symbol 255 MovieClipUses:254Used by:258
Symbol 256 BitmapUsed by:257
Symbol 257 GraphicUses:256Used by:258
Symbol 258 MovieClip [lib_ind]Uses:255 257Used by:Timeline
Symbol 259 EditableTextUses:156Used by:Timeline
Symbol 260 EditableTextUses:156Used by:Timeline
Symbol 261 BitmapUsed by:262
Symbol 262 GraphicUses:261Used by:Timeline
Symbol 263 BitmapUsed by:264
Symbol 264 GraphicUses:263Used by:308
Symbol 265 BitmapUsed by:266
Symbol 266 GraphicUses:265Used by:281
Symbol 267 BitmapUsed by:268
Symbol 268 GraphicUses:267Used by:281
Symbol 269 BitmapUsed by:270
Symbol 270 GraphicUses:269Used by:281
Symbol 271 BitmapUsed by:272
Symbol 272 GraphicUses:271Used by:281
Symbol 273 BitmapUsed by:274
Symbol 274 GraphicUses:273Used by:281
Symbol 275 BitmapUsed by:276
Symbol 276 GraphicUses:275Used by:281
Symbol 277 BitmapUsed by:278
Symbol 278 GraphicUses:277Used by:281
Symbol 279 BitmapUsed by:280
Symbol 280 GraphicUses:279Used by:281
Symbol 281 MovieClipUses:266 268 270 272 274 276 278 280Used by:290
Symbol 282 GraphicUses:35Used by:290
Symbol 283 GraphicUses:37Used by:290
Symbol 284 GraphicUses:39Used by:290
Symbol 285 GraphicUses:41Used by:290
Symbol 286 GraphicUses:43Used by:290
Symbol 287 BitmapUsed by:288
Symbol 288 GraphicUses:287Used by:290
Symbol 289 GraphicUses:47Used by:290
Symbol 290 MovieClipUses:281 282 283 284 285 286 288 289Used by:308
Symbol 291 EditableTextUses:156Used by:308
Symbol 292 EditableTextUses:156Used by:308
Symbol 293 EditableTextUses:156Used by:308
Symbol 294 BitmapUsed by:295
Symbol 295 GraphicUses:294Used by:308
Symbol 296 BitmapUsed by:297
Symbol 297 GraphicUses:296Used by:308
Symbol 298 BitmapUsed by:299
Symbol 299 GraphicUses:298Used by:308
Symbol 300 BitmapUsed by:301
Symbol 301 GraphicUses:300Used by:308
Symbol 302 BitmapUsed by:303
Symbol 303 GraphicUses:302Used by:308
Symbol 304 BitmapUsed by:305
Symbol 305 GraphicUses:304Used by:308
Symbol 306 BitmapUsed by:307
Symbol 307 GraphicUses:306Used by:308
Symbol 308 MovieClip [mc_gun_]Uses:264 290 161 291 292 293 295 297 299 301 303 305 307Used by:Timeline
Symbol 309 BitmapUsed by:310
Symbol 310 GraphicUses:309Used by:323
Symbol 311 EditableTextUses:156Used by:323
Symbol 312 BitmapUsed by:313
Symbol 313 GraphicUses:312Used by:316
Symbol 314 BitmapUsed by:315
Symbol 315 GraphicUses:314Used by:316
Symbol 316 ButtonUses:313 315 121 122Used by:323
Symbol 317 GraphicUsed by:318
Symbol 318 ButtonUses:317 122Used by:323
Symbol 319 BitmapUsed by:320
Symbol 320 GraphicUses:319Used by:323
Symbol 321 BitmapUsed by:322
Symbol 322 GraphicUses:321Used by:323
Symbol 323 MovieClipUses:310 311 93 316 318 320 322Used by:Timeline

Instance Names

"mc_bar"Frame 2Symbol 15 MovieClip
"mc_sloop"Frame 6Symbol 135 MovieClip
"btn_sound"Frame 6Symbol 140 MovieClip
"mc_trace"Frame 10Symbol 161 MovieClip
"mc_move_ball"Frame 10Symbol 163 MovieClip [lib_ball_move]
"mc_grid"Frame 10Symbol 164 MovieClip [mc_grid]
"mc_fall"Frame 10Symbol 161 MovieClip
"mc_water"Frame 10Symbol 174 MovieClip
"mc_pinguin"Frame 10Symbol 178 MovieClip [lib_pinguin_]
"mc_pusher"Frame 10Symbol 181 MovieClip
"mc_yeti"Frame 10Symbol 253 MovieClip [lib_yeti]
"mc_ind"Frame 10Symbol 258 MovieClip [lib_ind]
"mc_next"Frame 10Symbol 93 MovieClip [lib_ball]
"mc_gun"Frame 10Symbol 308 MovieClip [mc_gun_]
"mc_msg"Frame 10Symbol 323 MovieClip
"mc_control"Frame 10Symbol 161 MovieClip
"mc"Symbol 15 MovieClip Frame 1Symbol 14 MovieClip
"mc"Symbol 49 MovieClip Frame 2Symbol 34 MovieClip
"mc_bonus"Symbol 67 MovieClip Frame 1Symbol 49 MovieClip
"mc_freeze"Symbol 67 MovieClip Frame 1Symbol 52 MovieClip
"mc"Symbol 93 MovieClip [lib_ball] Frame 1Symbol 67 MovieClip
"mc_bonus"Symbol 162 MovieClip Frame 1Symbol 49 MovieClip
"mc_freeze"Symbol 162 MovieClip Frame 1Symbol 52 MovieClip
"mc"Symbol 163 MovieClip [lib_ball_move] Frame 1Symbol 162 MovieClip
"mc1"Symbol 174 MovieClip Frame 1Symbol 168 MovieClip
"mc2"Symbol 174 MovieClip Frame 1Symbol 172 MovieClip
"mc3"Symbol 174 MovieClip Frame 1Symbol 173 MovieClip
"mc_mask"Symbol 258 MovieClip [lib_ind] Frame 1Symbol 255 MovieClip
"mc"Symbol 290 MovieClip Frame 2Symbol 281 MovieClip
"mc_bonus"Symbol 308 MovieClip [mc_gun_] Frame 1Symbol 290 MovieClip
"mc_point"Symbol 308 MovieClip [mc_gun_] Frame 1Symbol 161 MovieClip
"b1"Symbol 323 MovieClip Frame 1Symbol 93 MovieClip [lib_ball]
"b2"Symbol 323 MovieClip Frame 1Symbol 93 MovieClip [lib_ball]
"b3"Symbol 323 MovieClip Frame 1Symbol 93 MovieClip [lib_ball]
"b4"Symbol 323 MovieClip Frame 1Symbol 93 MovieClip [lib_ball]
"b5"Symbol 323 MovieClip Frame 1Symbol 93 MovieClip [lib_ball]
"b6"Symbol 323 MovieClip Frame 1Symbol 93 MovieClip [lib_ball]
"b7"Symbol 323 MovieClip Frame 1Symbol 93 MovieClip [lib_ball]
"b8"Symbol 323 MovieClip Frame 1Symbol 93 MovieClip [lib_ball]
"a1"Symbol 323 MovieClip Frame 1Symbol 93 MovieClip [lib_ball]
"a2"Symbol 323 MovieClip Frame 1Symbol 93 MovieClip [lib_ball]
"a3"Symbol 323 MovieClip Frame 1Symbol 93 MovieClip [lib_ball]
"a4"Symbol 323 MovieClip Frame 1Symbol 93 MovieClip [lib_ball]
"a5"Symbol 323 MovieClip Frame 1Symbol 93 MovieClip [lib_ball]
"a6"Symbol 323 MovieClip Frame 1Symbol 93 MovieClip [lib_ball]
"a7"Symbol 323 MovieClip Frame 1Symbol 93 MovieClip [lib_ball]
"a8"Symbol 323 MovieClip Frame 1Symbol 93 MovieClip [lib_ball]
"btn"Symbol 323 MovieClip Frame 3Symbol 318 Button

Special Tags

Protect (24)Timeline Frame 10 bytes ""
ExportAssets (56)Timeline Frame 4Symbol 93 as "lib_ball"
ExportAssets (56)Timeline Frame 4Symbol 96 as "lib_trace"
ExportAssets (56)Timeline Frame 4Symbol 98 as "lib_trace2"
ExportAssets (56)Timeline Frame 4Symbol 99 as "lib_fall"
ExportAssets (56)Timeline Frame 4Symbol 103 as "snd_ScoreX2orX4"
ExportAssets (56)Timeline Frame 4Symbol 104 as "snd_Pingvin"
ExportAssets (56)Timeline Frame 4Symbol 105 as "snd_GunFire"
ExportAssets (56)Timeline Frame 4Symbol 106 as "snd_Freeze"
ExportAssets (56)Timeline Frame 4Symbol 107 as "snd_ExplosionTNT"
ExportAssets (56)Timeline Frame 4Symbol 108 as "snd_BubbleLevelUp"
ExportAssets (56)Timeline Frame 4Symbol 109 as "snd_BubbleCollisionR"
ExportAssets (56)Timeline Frame 4Symbol 110 as "snd_BubbleCollision"
ExportAssets (56)Timeline Frame 4Symbol 111 as "snd_AutoFire"
ExportAssets (56)Timeline Frame 4Symbol 112 as "snd_8bonus"
ExportAssets (56)Timeline Frame 4Symbol 324 as "__Packages.CTimeCounter"
ExportAssets (56)Timeline Frame 4Symbol 325 as "__Packages.CBall"
ExportAssets (56)Timeline Frame 4Symbol 326 as "__Packages.CBackground"
ExportAssets (56)Timeline Frame 4Symbol 327 as "__Packages.CGrid"
ExportAssets (56)Timeline Frame 4Symbol 328 as "__Packages.CFallMovie"
ExportAssets (56)Timeline Frame 4Symbol 329 as "__Packages.CPinguin"
ExportAssets (56)Timeline Frame 4Symbol 330 as "__Packages.CYeti"
ExportAssets (56)Timeline Frame 4Symbol 331 as "__Packages.CIndicator"
ExportAssets (56)Timeline Frame 4Symbol 332 as "__Packages.CGun"
ExportAssets (56)Timeline Frame 4Symbol 333 as "__Packages.CMoveBall"
ExportAssets (56)Timeline Frame 10Symbol 163 as "lib_ball_move"
ExportAssets (56)Timeline Frame 10Symbol 164 as "mc_grid"
ExportAssets (56)Timeline Frame 10Symbol 178 as "lib_pinguin_"
ExportAssets (56)Timeline Frame 10Symbol 253 as "lib_yeti"
ExportAssets (56)Timeline Frame 10Symbol 258 as "lib_ind"
ExportAssets (56)Timeline Frame 10Symbol 93 as "lib_ball"
ExportAssets (56)Timeline Frame 10Symbol 308 as "mc_gun_"
ExportAssets (56)Timeline Frame 10Symbol 93 as "lib_ball"
ExportAssets (56)Timeline Frame 10Symbol 93 as "lib_ball"
ExportAssets (56)Timeline Frame 10Symbol 93 as "lib_ball"
ExportAssets (56)Timeline Frame 10Symbol 93 as "lib_ball"
ExportAssets (56)Timeline Frame 10Symbol 93 as "lib_ball"
ExportAssets (56)Timeline Frame 10Symbol 93 as "lib_ball"
ExportAssets (56)Timeline Frame 10Symbol 93 as "lib_ball"
ExportAssets (56)Timeline Frame 10Symbol 93 as "lib_ball"
ExportAssets (56)Timeline Frame 10Symbol 93 as "lib_ball"
ExportAssets (56)Timeline Frame 10Symbol 93 as "lib_ball"
ExportAssets (56)Timeline Frame 10Symbol 93 as "lib_ball"
ExportAssets (56)Timeline Frame 10Symbol 93 as "lib_ball"
ExportAssets (56)Timeline Frame 10Symbol 93 as "lib_ball"
ExportAssets (56)Timeline Frame 10Symbol 93 as "lib_ball"
ExportAssets (56)Timeline Frame 10Symbol 93 as "lib_ball"
ExportAssets (56)Timeline Frame 10Symbol 93 as "lib_ball"

Labels

"main"Frame 6
"menu"Frame 7
"rules"Frame 8
"game"Frame 10
"reset"Frame 11
"bang1"Symbol 93 MovieClip [lib_ball] Frame 14
"bang2"Symbol 93 MovieClip [lib_ball] Frame 15
"bang3"Symbol 93 MovieClip [lib_ball] Frame 16
"bang4"Symbol 93 MovieClip [lib_ball] Frame 17
"stay"Symbol 253 MovieClip [lib_yeti] Frame 1
"chesh"Symbol 253 MovieClip [lib_yeti] Frame 2
"cool"Symbol 253 MovieClip [lib_yeti] Frame 3
"stWin"Symbol 323 MovieClip Frame 1
"stEmpty"Symbol 323 MovieClip Frame 2
"stOver"Symbol 323 MovieClip Frame 3
"stCompleted"Symbol 323 MovieClip Frame 4

Dynamic Text Variables

txtPerSymbol 9 EditableText"0%  "
txtScoresSymbol 259 EditableText"99999"
txtLevelSymbol 260 EditableText"99999"
txtNumberSymbol 291 EditableText"51"
txtNumberSymbol 292 EditableText"51"
txtNumberSymbol 293 EditableText"51"
txtLevelSymbol 311 EditableText"99"




http://swfchan.com/3/11707/info.shtml
Created: 6/6 -2019 22:48:27 Last modified: 6/6 -2019 22:48:27 Server time: 14/05 -2024 21:53:09