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

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

Chain Factor.swf

This is the info page for
Flash #22271

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


Text
Enter a Code

Enter a Code

BASIC MODE

BASIC MODE

play

POWER MODE

POWER MODE

SURVIVAL MODE

SURVIVAL MODE

<p align="left"><font face="Eurostile" size="26" color="#6f6f6f" letterSpacing="-0.500000" kerning="0"><b>CHOOSE </b></font></p>

<p align="left"><font face="Eurostile" size="40" color="#6f6f6f" letterSpacing="-1.000000" kerning="0"><b>POSTPONE</b></font></p>

<p align="left"></p>

<p align="left"></p>

<p align="left"></p>

KEYS ENTERED BY

This power

<p align="left"><font face="Eurostile" size="14" color="#ffffff" letterSpacing="0.000000" kerning="0"><b>LOCKED</b></font></p>

Postpone blah blah blah blah blah blah blah blah

[PROVISION]

ENERGY COST

START GAME

START GAME

BACK TO MENU

BACK TO MENU

<p align="left"><font face="Dirty Headline" size="14" color="#808080" letterSpacing="0.000000" kerning="1">LEVEL 1</font></p>

<p align="left"><font face="04b03_8pt_st" size="8" color="#000000" letterSpacing="0.000000" kerning="1">NEXT LEVEL IN 22 DROPS</font></p>

<p align="center"></p>

SUBMIT

SUBMIT

ENTER NAME

PLAY AGAIN

PLAY AGAIN

MAIN MENU

MAIN MENU

SCORE SUBMITTED

Enter a Code

KEYWORD

9-DIGIT CODE

NAME

EMAIL ADDRESS

SUBMIT

SUBMIT

SUBMIT SCORE

SUBMIT SCORE

GAME OVER

<p align="center"><font face="Eurostile" size="22" color="#000000" letterSpacing="0.200000" kerning="0"><b>10</b></font></p>

Go!

Board Width

<p align="left"><font face="HelveticaNeue-Bold" size="13" color="#000000" letterSpacing="-0.150000" kerning="1">12</font></p>

Board Height

<p align="left"><font face="HelveticaNeue-Bold" size="13" color="#000000" letterSpacing="-0.150000" kerning="1">12</font></p>

Gray Ball Chance

<p align="left"><font face="HelveticaNeue-Bold" size="13" color="#000000" letterSpacing="-0.150000" kerning="1">12</font></p>

Starting Balls

<p align="left"><font face="HelveticaNeue-Bold" size="13" color="#000000" letterSpacing="-0.150000" kerning="1">12</font></p>

Min Value

<p align="left"><font face="HelveticaNeue-Bold" size="13" color="#000000" letterSpacing="-0.150000" kerning="1">12</font></p>

Max Value

<p align="left"><font face="HelveticaNeue-Bold" size="13" color="#000000" letterSpacing="-0.150000" kerning="1">12</font></p>

Grays Show Value

<p align="left"><font face="HelveticaNeue-Bold" size="13" color="#000000" letterSpacing="-0.150000" kerning="1">12</font></p>

Gray Thaw Steps

<p align="left"><font face="HelveticaNeue-Bold" size="13" color="#000000" letterSpacing="-0.150000" kerning="1">12</font></p>

Base Points

<p align="left"><font face="HelveticaNeue-Bold" size="13" color="#000000" letterSpacing="-0.150000" kerning="1">12</font></p>

Base Chain

<p align="left"><font face="HelveticaNeue-Bold" size="13" color="#000000" letterSpacing="-0.150000" kerning="1">12</font></p>

Piece Image URL

<p align="left"></p>

Gray Image URL

<p align="left"></p>

If using external images, save
PNGs for numbers 1 - Max
Value. Name like "foo_2.png"
Enter Url here, leaving OFF
numeral and file extension.

LEVEL STUFF

Drops Per Level

<p align="left"><font face="HelveticaNeue-Bold" size="13" color="#000000" letterSpacing="-0.150000" kerning="1">12</font></p>

Drop Decrease
Per Level

<p align="left"><font face="HelveticaNeue-Bold" size="13" color="#000000" letterSpacing="-0.150000" kerning="1">12</font></p>

Min Drops Per Lvl

<p align="left"><font face="HelveticaNeue-Bold" size="13" color="#000000" letterSpacing="-0.150000" kerning="1">12</font></p>

Close

<p align="center"><font face="Eurostile" size="18" color="#767676" letterSpacing="0.000000" kerning="1"><b>CHAIN x2</b></font></p>

<p align="right"><font face="Eurostile" size="28" color="#000000" letterSpacing="0.000000" kerning="1">0</font></p>

<p align="left"><font face="Eurostile" size="16" color="#000000" letterSpacing="0.000000" kerning="1">Bold</font></p>

<p align="left"><font face="Dirty Headline" size="16" color="#000000" letterSpacing="0.000000" kerning="1">1234567890</font></p>

<p align="right"></p>

HIGH SCORE

<p align="right"><font face="Eurostile" size="13" color="#767676" letterSpacing="0.500000" kerning="1"><b>0</b></font></p>

<p align="right"><font face="Eurostile" size="13" color="#767676" letterSpacing="0.100000" kerning="1">LONGEST CHAIN: 0</font></p>

ActionScript [AS1/AS2]

Frame 1
_global.numberBalls = new chainfactor.Game();
Symbol 65 Button
on (release) { _root.attachMovie("powerUnlocker", "powerUnlocker", _root.getNextHighestDepth()); }
Symbol 71 Button
on (release) { _global.numberBalls.setMode("basic"); _visible = false; }
Symbol 74 Button
on (release) { _global.numberBalls.setMode("powers"); _visible = false; }
Symbol 77 Button
on (release) { _global.numberBalls.setMode("survival"); _visible = false; }
Symbol 84 MovieClip Frame 335
gotoAndPlay (1);
Symbol 99 MovieClip Frame 1
stop();
Symbol 110 Button
on (release) { _visible = false; _global.numberBalls.showModeChooser(); }
Symbol 111 MovieClip [powerChooser] Frame 1
#initclip 50 Object.registerClass("powerChooser", chainfactor.powers.PowerChooser); #endinitclip
Symbol 120 MovieClip [levelClock] Frame 1
#initclip 45 Object.registerClass("levelClock", chainfactor.LevelClock); #endinitclip
Symbol 132 Button
on (release) { this.fadeOut(); _global.numberBalls.playAgain(); }
Symbol 136 Button
on (release) { this.fadeOut(); _global.numberBalls.showModeChooser(); }
Symbol 138 MovieClip [saveScore] Frame 1
#initclip 46 Object.registerClass("saveScore", chainfactor.SaveScore); #endinitclip stop();
Symbol 162 Button
on (release) { this.removeMovieClip(); }
Symbol 163 MovieClip [powerUnlocker] Frame 1
#initclip 47 Object.registerClass("powerUnlocker", chainfactor.PowerUnlocker); #endinitclip blocker.useHandCursor = false;
Symbol 172 MovieClip [erode_line_3] Frame 1
stop();
Symbol 172 MovieClip [erode_line_3] Frame 18
stop(); removeMovieClip(this);
Symbol 175 MovieClip [erode_line_2] Frame 20
stop(); removeMovieClip(this);
Symbol 178 MovieClip [erode_line_1] Frame 18
stop(); removeMovieClip(this);
Symbol 192 MovieClip [lure_anim] Frame 10
gotoAndPlay (1);
Symbol 197 MovieClip [cull_effect] Frame 1
maskee.setMask(mask);
Symbol 200 MovieClip [effect_sift] Frame 20
stop();
Symbol 203 MovieClip [score_float] Frame 45
removeMovieClip(this);
Symbol 240 Button
on (release) { _visible = false; }
Symbol 241 MovieClip [customize] Frame 1
#initclip 48 Object.registerClass("customize", chainfactor.Customize); #endinitclip
Symbol 243 MovieClip [chain_display] Frame 1
#initclip 49 Object.registerClass("chain_display", chainfactor.ChainDisplay); #endinitclip
Symbol 249 Button
on (release) { _global.numberBalls.showModeChooser(); }
Symbol 258 Button
on (release) { if (!sound_x._visible) { chainfactor.SoundManager.setVolume(0); } else { chainfactor.SoundManager.setVolume(100); } sound_x._visible = !sound_x._visible; }
Symbol 259 Button
on (release) { if (!music_x._visible) { trace("do the moot"); chainfactor.SoundManager.muteMusic(); } else { trace("the point is not mute"); chainfactor.SoundManager.unMuteMusic(); } music_x._visible = !music_x._visible; }
Symbol 260 MovieClip Frame 1
sound_x._visible = false; music_x._visible = false;
Symbol 263 MovieClip [__Packages.util.StaticBroadcaster] Frame 0
class util.StaticBroadcaster { static var _broadcaster; function StaticBroadcaster () { } static function lazyInitBroadcaster() { if (!_broadcaster) { _broadcaster = new AsBroadcaster(); AsBroadcaster.initialize(_broadcaster); } } static function addListener(aListen) { lazyInitBroadcaster(); _broadcaster.addListener(aListen); } static function removeListener(aListen) { lazyInitBroadcaster(); _broadcaster.removeListener(aListen); } }
Symbol 264 MovieClip [__Packages.chainfactor.Game] Frame 0
class chainfactor.Game extends util.StaticBroadcaster { var mode, _mouseListener, _spawned, _bag, _lastPiece, _intervalId; function Game () { super(); _root.versionNumber.text = VERSION; _root.versionNumber._visible = false; _root.chainDisplay._alpha = 0; util.Util.init(); util.ThinkManager.init(); setupVersionKeys(); var me = this; var _local4 = new Object(); _local4.onDisappearDone = function (aCt) { if (aCt >= (chainfactor.Board.WIDTH * chainfactor.Board.HEIGHT)) { me.gameOver(); } else if (aCt > 0) { me.spawnPiece(); } else { me.checkForClear(aCt); } chainfactor.Game.__set__allowDrop(true); }; _local4.onClearPiece = function (aMult, aX, aY, aPiece) { me.handleClearPiece(aMult, aX, aY, aPiece); }; _local4.onPieceAboveTop = function () { me.handlePieceAboveTop(); }; util.StaticBroadcaster.addListener(_local4); initBoard(); showModeChooser(); loadPowerCosts(); chainfactor.SoundManager.cacheMusic("game_loop_1_final.mp3"); chainfactor.SoundManager.cacheMusic("game_loop_2_final.mp3"); chainfactor.SoundManager.cacheMusic("game_loop_3_final.mp3"); } function setupVersionKeys() { var _local2 = new Object(); _local2.onMouseDown = function () { if (((Key.getCode() == 55) && (_xmouse > 600)) && (_ymouse < 50)) { _root.versionNumber._visible = true; } }; _local2.onMouseUp = function () { _root.versionNumber._visible = false; }; Mouse.addListener(_local2); } function postGameCleanup() { chainfactor.Debug.cleanup(); _root.boardHolder.gameOver.removeMovieClip(); _root.saveScore.removeMovieClip(); clearMouseListener(); } function showModeChooser() { util.StaticBroadcaster._broadcaster.broadcastMessage("onGameOver"); _gameOver = true; postGameCleanup(); chainfactor.SoundManager.stopMusic(); _root.attachMovie("modeChooser", "modeChooser", 999); _root.modeChooser._x = 160; _root.modeChooser._y = 222; } function playAgain() { trace("playing again"); postGameCleanup(); setMode(mode, true); } function setMode(aMode, aPlayAgain) { trace("setting mode to: " + aMode); switch (aMode) { case "basic" : mode = "basic"; STARTING_PIECES = 15; chainfactor.Piece.GRAY_CHANCE = 0.3; chainfactor.LevelManager.EVENTS_PER_LEVEL = 30; chainfactor.LevelManager.LEVEL_BONUS = 5000; chainfactor.powers.PowerManager.clearInventory(); init(); break; case "powers" : mode = "powers"; STARTING_PIECES = 15; chainfactor.Piece.GRAY_CHANCE = 0.3; chainfactor.LevelManager.EVENTS_PER_LEVEL = 20; chainfactor.LevelManager.LEVEL_BONUS = 5000; if (!aPlayAgain) { _root.choosePowers._visible = true; chainfactor.powers.PowerManager.init(); chainfactor.powers.PowerManager.REDUCE_MANA_RATE = false; var _local3 = _root.attachMovie("powerChooser", "powerChooser", 9999); _local3.maxPowers = 3; } else { init(); chainfactor.powers.PowerManager.init(); chainfactor.powers.PowerManager.resetPowers(); chainfactor.powers.PowerManager.displayPowerButtons(); } break; case "survival" : mode = "survival"; STARTING_PIECES = 15; chainfactor.Piece.GRAY_CHANCE = 0; chainfactor.LevelManager.EVENTS_PER_LEVEL = 5; chainfactor.LevelManager.MIN_EVENTS_PER_LEVEL = 5; chainfactor.LevelManager.LEVEL_BONUS = 10000; if (!aPlayAgain) { chainfactor.powers.PowerManager.init(); _root.choosePowers._visible = true; chainfactor.powers.PowerManager.REDUCE_MANA_RATE = true; var _local3 = _root.attachMovie("powerChooser", "powerChooser", 9999); _local3.maxPowers = 1; } else { init(); chainfactor.powers.PowerManager.init(); chainfactor.powers.PowerManager.resetPowers(); chainfactor.powers.PowerManager.displayPowerButtons(); } } displayHighScore(aMode); } function clearMouseListener() { _mouseListener.onMouseMove = null; _mouseListener.onMouseUp = null; delete _mouseListener; } function initBoard() { _root.boardHolder.removeMovieClip(); _root.createEmptyMovieClip("boardHolder", 10); chainfactor.Board.init(); chainfactor.Board.drawGrid(_root.boardHolder); _root.boardHolder._x = 134; _root.boardHolder._y = 97; } function init() { _root.debug.htmlText = ""; _gameOver = false; _root.boardHolder.gameOver.removeMovieClip(); _score = 0; _root.score.text = 0; _dropped = 0; _broken = 0; _longestChain = 0; _root.longest.text = "LONGEST CHAIN: 0"; _spawned = null; _pieceUnspawned = false; _root.chainDisplay._alpha = 0; clearMouseListener(); scoringStarted = false; initBoard(); chainfactor.LevelManager.initBehavior(chainfactor.AddGarbage); _boardInitCount = 0; chainfactor.Board.populateBoard(STARTING_PIECES); chainfactor.Stats.send(); spawnPiece(); allowDrop = (true); chainfactor.SoundManager.init(); chainfactor.SoundManager.playRandomTrack(); emptyBag(); } function fillBag(aAry) { if (_bag && (_bag.length > 0)) { _bag = _bag.concat(aAry); var _local2 = chainfactor.powers.PScoreballs.MAX_BAG; if (_bag.length > _local2) { _bag.splice(_local2 - 1, _bag.length - _local2); } } else { _bag = aAry; _spawned.destroy(); _spawned = null; _mouseListener.onMouseMove = null; _mouseListener.onMouseUp = null; delete _mouseListener; makeDropPiece(); } displayBag(); } function emptyBag() { _root.boardHolder.bagHolder.removeMovieClip(); _bag = new Array(); } function displayBag() { _root.boardHolder.bagHolder.removeMovieClip(); if (_bag.length > 0) { var _local7 = _root.boardHolder.createEmptyMovieClip("bagHolder", _root.boardHolder.getNextHighestDepth()); _local7._x = (chainfactor.Board.WIDTH * chainfactor.Board.GRIDSIZE) + 12; _local7._y = -60; var _local3 = 0; while (_local3 < chainfactor.powers.PScoreballs.MAX_BAG) { var _local4 = _local7.createEmptyMovieClip("ball_" + _local3, _local3); if (_bag[_local3]) { _local4.beginFill(chainfactor.Piece.COLORS[_bag[_local3].amount], 100); util.Util.drawCircle(_local4, 0, 0, 6); _local4._x = (_bag.length - _local3) * -15; var _local5 = _local4.createTextField("amount", 1, -6, -6, 12, 12); var _local6 = new TextFormat(); _local6.size = 8; _local6.color = 16777215 /* 0xFFFFFF */; _local6.font = "04b03"; _local5.text = _bag[_local3].amount; _local5.embedFonts = true; _local5.selectable = false; _local5.autoSize = "center"; _local5.setTextFormat(_local6); } else if (_local3 > _bag.length) { _local4.lineStyle(1, 0); util.Util.drawCircle(_local4, 0, 0, 6); _local4._x = _local3 * -15; } _local3++; } } } function addPoints(aS) { if (scoringStarted) { _score = _score + aS; _root.score.text = util.Util.addCommas(_score); if (_score > _highScore) { _root.highScore.htmlText = ("<b>" + util.Util.addCommas(_score)) + "</b>"; _highScore = _score; } } } function handleClearPiece(aMult, aX, aY, aPiece) { var _local3 = BASE_POINTS * Math.pow(aMult, BASE_CHAIN); _local3 = Math.round(_local3); addPoints(_local3); if (aMult > _longestChain) { _root.longest.text = "LONGEST CHAIN: " + aMult; _longestChain = aMult; } if (scoringStarted) { _root.broken.text = "Broken: " + (++_broken); chainfactor.Board.showAward(_local3, aX, aY, aPiece); _pieceCleared = true; if (aMult > 1) { chainfactor.powers.PowerManager.addMana(); } } } function getNewPiece() { var _local2; if (_bag.length > 0) { _local2 = _bag.shift(); } else { _local2 = new chainfactor.Piece(); var _local3 = 0; while ((_local3 < CONSECUTIVE_FIX_MAX_TRIES) && ((_lastPiece.isGray && (_local2.isGray)) || (_lastPiece.amount == _local2.amount))) { _local2 = new chainfactor.Piece(); _local3++; } } displayBag(); _lastPiece = _local2; return(_local2); } function makeDropPiece() { trace("MAKING A DROP PIECE!!!!"); if (!_gameOver) { var p; if (!_pieceUnspawned) { p = getNewPiece(); p.draw(_root.boardHolder); } else { trace("making a drop piece"); showSpawn(); p = _spawned; _pieceUnspawned = false; } _spawned = p; p.__set__y(-1); p.__set__x(Math.min(chainfactor.Board.WIDTH - 1, Math.max(0, Math.floor(_root.boardHolder._xmouse / chainfactor.Board.GRIDSIZE)))); var me = this; _mouseListener = new Object(); _mouseListener.onMouseMove = function () { var _local2 = Math.min(chainfactor.Board.WIDTH - 1, Math.max(0, Math.floor(_root.boardHolder._xmouse / chainfactor.Board.GRIDSIZE))); p.__set__x(_local2); updateAfterEvent(); }; _mouseListener.onMouseUp = function () { if (((_root.boardHolder._xmouse > 0) && (_root.boardHolder._xmouse < (chainfactor.Board.WIDTH * chainfactor.Board.GRIDSIZE))) && (chainfactor.Game.__get__allowDrop())) { me.dropPiece(p, p.__get__x(), 0); } }; Mouse.addListener(_mouseListener); } } function spawnPiece() { if (((!_spawned) || (_pieceUnspawned)) && (!_gameOver)) { var _local2 = true; if (_pieceUnspawned) { _local2 = false; } makeDropPiece(); if (!scoringStarted) { allowDrop = (true); scoringStarted = true; chainfactor.Board.resetMultiplier(); } else { if (_local2) { _dropped++; util.StaticBroadcaster._broadcaster.broadcastMessage("onSpawnPiece", _dropped); } _pieceCleared = false; } } clearInterval(_intervalId); } function resetDropped(aNew) { _dropped = aNew; } function dropPiece(aPiece, aX, aY) { if (chainfactor.Board.getColumnSize(aX) != chainfactor.Board.HEIGHT) { _mouseListener.onMouseMove = null; _mouseListener.onMouseUp = null; delete _mouseListener; _spawned.mc.removeMovieClip(); _spawned = null; chainfactor.Board.resetMultiplier(); chainfactor.Board.addPieceAt(aPiece, aX, 0); chainfactor.Board.startFalling(true); util.StaticBroadcaster._broadcaster.broadcastMessage("onPieceDropped", aPiece, aX, aY); } } function unspawnPiece() { clearMouseListener(); hideSpawn(); _pieceUnspawned = true; } function checkForClear(aCt) { if (aCt == 0) { clearBonus(); } _intervalId = setInterval(this, "spawnPiece", 1000); } function clearBonus() { var _local4 = _root.boardHolder.createEmptyMovieClip("clearBonus", _root.boardHolder.getNextHighestDepth()); var _local3 = _local4.createTextField("txt", 1, 0, 0, (chainfactor.Board.WIDTH * chainfactor.Board.GRIDSIZE) / 2, 200); var _local5 = new TextFormat(); _local5.size = 28; _local5.color = 0; _local5.font = "Eurostile"; _local3.text = "CLEAR BONUS: " + CLEAR_BONUS; _local3.textColor = 6710886 /* 0x666666 */; _local3.embedFonts = true; _local3.selectable = false; _local3.autoSize = "center"; _local3.setTextFormat(_local5); addPoints(CLEAR_BONUS); _local4._x = ((chainfactor.Board.WIDTH * chainfactor.Board.GRIDSIZE) / 2) - 75; var _local7 = new mx.transitions.Tween(_local4, "_alpha", mx.transitions.easing.None.easeNone, 100, 0, 2, true); var _local6 = new mx.transitions.Tween(_local4, "_y", mx.transitions.easing.None.easeNone, (chainfactor.Board.HEIGHT * chainfactor.Board.GRIDSIZE) / 2, 0, 2, true); } function handlePieceAboveTop(aPiece) { gameOver(); } function gameOver() { util.StaticBroadcaster._broadcaster.broadcastMessage("onGameOver"); clearMouseListener(); chainfactor.SoundManager.stopMusic(); unspawnPiece(); _gameOver = true; _allowDrop = false; chainfactor.HighScoreManager.saveScore(_score, mode); var mc = _root.boardHolder.attachMovie("gameOver", "gameOver", _root.boardHolder.getNextHighestDepth()); mc._x = 63; mc.back._xscale = 0; mc.back._yscale = 0; mc.button_submit._visible = false; mc.button_submit.onRelease = function () { mc._visible = false; var _local2 = _root.attachMovie("saveScore", "saveScore", _root.getNextHighestDepth()); _local2._x = 290; _local2._y = 254; }; var _local8 = new mx.transitions.Tween(mc, "_alpha", mx.transitions.easing.None.easeNone, 0, 100, 1, true); var _local5 = new mx.transitions.Tween(mc, "_y", mx.transitions.easing.None.easeNone, 0, -25 + ((chainfactor.Board.HEIGHT * chainfactor.Board.GRIDSIZE) / 2), 2, true); _local5.onMotionFinished = function () { var _local2 = new mx.transitions.Tween(mc.back, "_width", mx.transitions.easing.Regular.easeIn, 0, 234, 0.75, true); var _local1 = new mx.transitions.Tween(mc.back, "_height", mx.transitions.easing.Regular.easeIn, 0, 98, 0.75, true); _local1.onMotionFinished = function () { mc.button_submit._visible = true; chainfactor.Debug.save(); }; }; var _local6 = Math.floor(Math.random() * 2) + 1; chainfactor.SoundManager.stopMusic(); chainfactor.SoundManager.playSound("gameOver_" + _local6, 100); } function loadPowerCosts() { var me = this; var _local2 = new XML(); _local2.ignoreWhite = true; _local2.onLoad = function () { me.parsePowerCosts(this); }; _local2.load("power_costs.xml?r=" + Math.random()); } function parsePowerCosts(aXML) { chainfactor.powers.Power.COSTS = new Array(); var _local1 = 0; while (_local1 < aXML.firstChild.childNodes.length) { var _local2 = aXML.firstChild.childNodes[_local1]; chainfactor.powers.Power.COSTS[parseInt(_local2.attributes.id)] = parseFloat(_local2.attributes.cost); _local1++; } } static function get allowDrop() { return(_allowDrop); } static function set allowDrop(aD) { _allowDrop = aD; if (_gameOver) { _allowDrop = false; } //return(allowDrop); } function hideSpawn() { _spawned.mc._visible = false; } function showSpawn() { _spawned.mc._visible = true; } function displayHighScore(aMode) { _highScore = chainfactor.HighScoreManager.getScore(aMode); if (!_highScore) { _highScore = 0; } _root.highScore.htmlText = ("<b>" + util.Util.addCommas(_highScore)) + "</b>"; } function get score() { return(_score); } static var VERSION = "r151"; static var STARTING_PIECES = 25; static var BASE_POINTS = 10; static var BASE_CHAIN = Math.E; static var COUNT_ALL_DROPS = 1; static var CONSECUTIVE_FIX_MAX_TRIES = 1; static var CLEAR_BONUS = 50000; var scoringStarted = false; var _score = 0; var _highScore = 0; var _longestChain = 0; var _dropped = 0; var _broken = 0; var _boardInitCount = 0; var _pieceCleared = false; var _pieceUnspawned = false; static var _gameOver = false; static var _allowDrop = false; }
Symbol 265 MovieClip [__Packages.chainfactor.Board] Frame 0
class chainfactor.Board extends util.StaticBroadcaster { static var _instance, _board, _piecesToMove, _moveSteps, _movedSomething, _holder, mc, back; function Board () { super(); } static function get instance() { if (!_instance) { _instance = new chainfactor.Board(); } return(_instance); } static function init() { _board = new Array(); var _local1 = 0; while (_local1 < WIDTH) { _board[_local1] = new Array(); _local1++; } _piecesToMove = new Array(); } function think(aCt) { if ((_piecesToMove.length > 0) && (_currentMoveStep < _moveSteps)) { slidePieces(); } else if (!fallPieces()) { util.ThinkManager.removeThinker(instance); _multiplier++; findToDisappear(); if (_moveSteps == MOVE_STEPS_FAST) { } _moveSteps = MOVE_STEPS_NORMAL; } } static function startFalling(isFast) { chainfactor.Game.__set__allowDrop(false); util.ThinkManager.registerThinker(instance); _currentMoveStep = 0; if (isFast) { _moveSteps = MOVE_STEPS_FAST; } else { _moveSteps = MOVE_STEPS_NORMAL; } } static function fallPieces() { var _local4 = false; var _local3 = 0; while (_local3 < WIDTH) { var _local1 = HEIGHT - 2; while (_local1 >= 0) { var _local2 = _board[_local3][_local1]; if (_local2 && (!_board[_local3][_local1 + 1])) { movePiece(_local2, _local3, _local1, _local3, _local1 + 1); _local2.mc._y = (_local2.y - 1) * GRIDSIZE; _piecesToMove.push(_local2); _local4 = true; } _local1--; } _local3++; } if (_movedSomething && (!_local4)) { chainfactor.SoundManager.playSound("sound_fall", 50); } _movedSomething = false; if (_local4) { slidePieces(); } return(_local4); } static function slidePieces() { _movedSomething = true; _currentMoveStep++; var _local1 = 0; while (_local1 < _piecesToMove.length) { var _local2 = _piecesToMove[_local1]; _local2.mc._y = (((_local2.y - 1) + (_currentMoveStep / _moveSteps)) * GRIDSIZE) + (GRIDSIZE / 2); _local1++; } if (_currentMoveStep >= _moveSteps) { _currentMoveStep = 0; _piecesToMove = new Array(); } } static function drawGrid(aHolder) { var _local2 = aHolder.createEmptyMovieClip("boardOuter", aHolder.getNextHighestDepth()); _local2._x = WIDTH * (GRIDSIZE / 2); _local2._y = HEIGHT * (GRIDSIZE / 2); var _local3 = _local2.createEmptyMovieClip("back", 1); var _local1 = _local2.createEmptyMovieClip("inner", 3); _local1._x = (-WIDTH) * (GRIDSIZE / 2); _local1._y = (-HEIGHT) * (GRIDSIZE / 2); _local3._x = _local1._x; _local3._y = _local1._y; _holder = _local1; mc = _holder; back = _local3; var _local5 = _holder.attachMovie("gridBack", "grid", _holder.getNextHighestDepth()); } static function findGroups() { var _local2 = 0; while (_local2 < WIDTH) { var _local1 = new chainfactor.Group(); var _local3 = HEIGHT - 1; while (_local3 >= 0) { var _local4 = _board[_local2][_local3]; if (_board[_local2][_local3]) { _local1.addPiece(_board[_local2][_local3]); _local1.size++; _local4.vGroup = _local1; _local1.x = _local2; _local1.y = _local3; } else { break; } _local3--; } _local2++; } var _local3 = 0; while (_local3 < HEIGHT) { var _local1 = new chainfactor.Group(); _local2 = 0; while (_local2 < WIDTH) { var _local4 = _board[_local2][_local3]; if (_board[_local2][_local3]) { if (_local1 == null) { _local1 = new chainfactor.Group(); } _local1.addPiece(_board[_local2][_local3]); _local1.size++; _local4.hGroup = _local1; if (_local1.x == null) { _local1.x = _local2; _local1.y = _local3; } } else { _local1.destroy(); _local1 = null; } _local2++; } _local3++; } } static function findToDisappear(aInvis) { var _local5 = false; chainfactor.Game.__set__allowDrop(false); findGroups(); var _local8 = 0; var _local6 = 0; var _local7 = new Array(); var _local4 = 0; while (_local4 < HEIGHT) { var _local3 = 0; while (_local3 < WIDTH) { if (_board[_local3][_local4]) { var _local2 = _board[_local3][_local4]; _local2.fixInvis(); _local6++; if ((!_local2.isGray) && ((_local2.amount == _local2.hGroup.size) || (_local2.amount == _local2.vGroup.size))) { _local5 = true; _local2.disappear(_multiplier); _local8++; if (_local2.amount == _local2.hGroup.size) { _local2.hGroup.hilite("h", _holder._parent.back); } if (_local2.amount == _local2.vGroup.size) { _local2.vGroup.hilite("v", _holder._parent.back); } _local7.push(_local2); } } _local3++; } _local4++; } if (!_local5) { doDisappearDone(_local6); } else { _global.setTimeout(removePiecesSynced, chainfactor.Piece.DISAPPEAR_TIME * 1000, _local7); } return(_local5); } static function doDisappearDone(aCount) { util.StaticBroadcaster._broadcaster.broadcastMessage("onDisappearDone", aCount); clearAllHilites(); } static function disappearPieces(aPieces) { var _local2 = 0; while (_local2 < aPieces.length) { aPieces[_local2].disappear(); _local2++; } _global.setTimeout(removePiecesSynced, chainfactor.Piece.DISAPPEAR_TIME * 1000, aPieces); } static function removePiecesSynced(aPieces) { var _local1 = 0; while (_local1 < aPieces.length) { removeSinglePiece(aPieces[_local1]); _local1++; } startFalling(); } static function handlePieceAboveTop(aPiece) { util.StaticBroadcaster._broadcaster.broadcastMessage("onPieceAboveTop", aPiece); } static function removeSinglePiece(aPiece) { var _local3 = aPiece.__get__x(); var _local2 = aPiece.__get__y(); _board[aPiece.__get__x() - 1][aPiece.__get__y()].thaw(); _board[aPiece.__get__x() + 1][aPiece.__get__y()].thaw(); _board[aPiece.__get__x()][aPiece.__get__y() - 1].thaw(); _board[aPiece.__get__x()][aPiece.__get__y() + 1].thaw(); _board[aPiece.__get__x()][aPiece.__get__y()] = null; aPiece.destroy(); util.StaticBroadcaster._broadcaster.broadcastMessage("onClearPiece", _multiplier, _local3, _local2, aPiece); } static function testPopulate() { var _local5 = new Array(); _local5.push([0, 0, 0, 0, 0, 0, 0]); _local5.push([0, 0, 0, 0, 0, 0, 0]); _local5.push([0, 0, 0, 0, 0, 0, 0]); _local5.push([0, 0, 0, 0, 0, 0, 0]); _local5.push([0, 0, 0, 0, 0, 0, 0]); _local5.push([0, 0, 0, 0, 0, 0, 0]); _local5.push([4, 7, 3, 3, 2, 0, 0]); var _local4 = 0; while (_local4 < HEIGHT) { var _local1 = 0; while (_local1 < WIDTH) { var _local2 = new chainfactor.Piece(); _local2.isGray = false; var _local3 = _local5[_local4][_local1]; if (_local3 > 0) { _local2.amount = _local3; addPieceAt(_local2, _local1, _local4); } _local1++; } _local4++; } } static function franksPopulate() { var _local3 = HEIGHT - 1; while (_local3 >= 0) { var _local1 = 0; while (_local1 < WIDTH) { var _local2 = new chainfactor.Piece(); _local2.isGray = false; _local2.amount = _local1 + 1; if (_local3 > ((WIDTH - _local1) - 1)) { addPieceAt(_local2, _local1, _local3); } _local1++; } _local3--; } } static function populateBoard(aMax) { var _local6 = 0; var _local5 = 0; while ((_local5 < aMax) && (_local6 < 100)) { var _local2 = Math.floor(Math.random() * WIDTH); var _local1 = HEIGHT; do { _local1--; } while (_board[_local2][_local1] && (_local1 > 1)); var _local3 = new chainfactor.Piece(); addPieceAt(_local3, _local2, _local1); findGroups(); var _local4 = getAnyDisappeared(); if (!_local4) { _local5++; } else { _local3.destroy(); _board[_local2][_local1] = null; } _local6++; } } static function getAnyDisappeared() { var _local3 = 0; while (_local3 < HEIGHT) { var _local2 = 0; while (_local2 < WIDTH) { if (_board[_local2][_local3]) { var _local1 = _board[_local2][_local3]; if ((!_local1.isGray) && ((_local1.amount == _local1.hGroup.size) || (_local1.amount == _local1.vGroup.size))) { return(true); } } _local2++; } _local3++; } return(false); } static function showAward(award, aX, aY, aPiece) { var _local2 = _holder.getNextHighestDepth(); var _local1 = _holder.attachMovie("score_float", "award_" + _local2, _local2); _local1._x = (aX * GRIDSIZE) + (GRIDSIZE / 2); _local1._y = (aY * GRIDSIZE) + (GRIDSIZE / 2); var _local3 = chainfactor.Piece.COLORS[aPiece.amount].toString(16); _local1.inner.txt.htmlText = ((("<font color='#" + _local3) + "'><b>+") + award) + "</b></font>"; } static function clearAll() { var _local2 = 0; while (_local2 < WIDTH) { var _local1 = 0; while (_local1 < HEIGHT) { _board[_local2][_local1].destroy(); _local1++; } _board[_local2] = new Array(); _local2++; } } static function pieceCount() { var _local3 = 0; var _local2 = 0; while (_local2 < WIDTH) { var _local1 = 0; while (_local1 < HEIGHT) { if (_board[_local2][_local1]) { _local3++; } _local1++; } _local2++; } return(_local3); } static function resetMultiplier() { _multiplier = 0; } static function defaultMultiplier() { _multiplier = 1; } static function movePiece(aPiece, aFromX, aFromY, aToX, aToY) { _board[aFromX][aFromY] = null; if (_board[aToX][aToY] != null) { trace((("***MOVING TO UN-NULL GRID! " + aToX) + ", ") + aToY); _board[aToX][aToY].destroy(); } _board[aToX][aToY] = aPiece; aPiece.__set__x(aToX); aPiece.__set__y(aToY); } static function addPieceAt(aPiece, aX, aY) { var _local4 = new Object(); _local4.onAboveTop = function (aPiece) { chainfactor.Board.handlePieceAboveTop(aPiece); }; aPiece.addListener(_local4); if (_board[aX][aY] != null) { trace((((("***TRYING TO ADD A PIECE AT " + aX) + ",") + aY) + " BUT SOMEONE LIVES THERE: ") + _board[aX][aY]); } _board[aX][aY] = aPiece; aPiece.draw(_holder); aPiece.__set__x(aX); aPiece.__set__y(aY); } static function getColumnSize(aCol) { var _local2 = 0; var _local1 = 0; while (_local1 < HEIGHT) { if (_board[aCol][_local1]) { _local2++; } _local1++; } return(_local2); } static function getRowSize(aRow) { var _local2 = 0; var _local1 = 0; while (_local1 < WIDTH) { if (_board[_local1][aRow]) { _local2++; } _local1++; } return(_local2); } static function getColumnSum(aCol) { var _local4 = 0; var _local1 = 0; while (_local1 < HEIGHT) { var _local2 = _board[aCol][_local1]; if (_local2 && (!_local2.isGray)) { _local4 = _local4 + _board[aCol][_local1].amount; } _local1++; } return(_local4); } static function getPieceAt(aCol, aRow) { return(_board[aCol][aRow]); } static function getEmptyRow(aCol) { var _local1 = _board[aCol].length - 1; while (_local1 >= 0) { if (!_board[aCol][_local1]) { return(_local1); } _local1--; } } static function get grid() { return(_board); } static function addGarbageRow() { var _local5 = false; var _local4 = 0; while (_local4 < WIDTH) { var _local1 = 0; while (_local1 < HEIGHT) { var _local3 = getPieceAt(_local4, _local1); if (_local3) { var _local2 = _local1 - 1; movePiece(_local3, _local4, _local1, _local4, _local2); if (_local1 == 0) { trace((("col " + _local4) + ": ") + _local2); } if (_local2 < 0) { _local5 = true; } } _local1++; } _local4++; } _local4 = 0; while (_local4 < WIDTH) { addPieceAt(new chainfactor.Piece(true), _local4, HEIGHT - 1); _local4++; } if (_local5) { util.StaticBroadcaster._broadcaster.broadcastMessage("onPieceAboveTop"); } else { findToDisappear(); } } static function clearAllHilites() { for (var _local1 in _holder._parent.back) { if (_local1.indexOf("hilite_") > -1) { _holder._parent.back[_local1].removeMovieClip(); } } } static var WIDTH = 7; static var HEIGHT = 7; static var GRIDSIZE = 45; static var HASHSIZE = 6; static var MOVE_STEPS_NORMAL = 3; static var MOVE_STEPS_FAST = 2; static var _multiplier = 0; static var _currentMoveStep = 0; }
Symbol 266 MovieClip [__Packages.util.ThinkManager] Frame 0
class util.ThinkManager { static var _pause, thinkers, _thinkCount; function ThinkManager () { } static function set pause(aVal) { _pause = aVal; //return(pause); } static function get pause() { return(_pause); } static function init() { thinkers = new Array(); _thinkCount = 0; _root.createEmptyMovieClip("thinker", 1000); _root.thinker.onEnterFrame = function () { util.ThinkManager.think(); }; } static function think() { if (!_pause) { var _local2 = null; var _local1 = 0; while (_local1 < thinkers.length) { if (thinkers[_local1] == null) { _local2 = thinkers[_local1]; } thinkers[_local1].think(_thinkCount); _local1++; } if (_local2 != null) { removeThinker(_local2); } _thinkCount++; } } static function registerThinker(aObject) { var _local2 = false; var _local1 = 0; while (_local1 < thinkers.length) { if (thinkers[_local1] == aObject) { _local2 = true; break; } _local1++; } if (!_local2) { thinkers.push(aObject); } } static function removeThinker(aObject) { var _local1 = 0; while (_local1 < thinkers.length) { if (thinkers[_local1] == aObject) { thinkers.splice(_local1, 1); break; } _local1++; } } }
Symbol 267 MovieClip [__Packages.chainfactor.SoundManager] Frame 0
class chainfactor.SoundManager { static var musicTracks, _sounds, _sound; function SoundManager () { } static function init() { trace("INITING"); if (!getSoundPref()) { setVolume(0); _root.soundControls.sound_x._visible = true; } if (!getMusicPref()) { _root.soundControls.music_x._visible = true; } } static function cacheMusic(aFile) { if (getMusicPref()) { if (!musicTracks) { musicTracks = new Array(); } var _local3 = _root.createEmptyMovieClip("music_" + musicTracks.length, _root.getNextHighestDepth()); musicTracks[aFile] = new Sound(_local3); musicTracks[aFile].loadSound(MUSIC_URL + aFile, true); musicTracks[aFile].stop(); trackCount++; } } static function getSoundPref() { var _local1 = SharedObject.getLocal("sound"); if (_local1.data.playSound == undefined) { return(true); } return(Boolean(_local1.data.playSound)); } static function setSoundPref(aP) { trace("setting sound pref: " + aP); var _local1 = SharedObject.getLocal("sound"); _local1.data.playSound = aP; _local1.flush(); } static function getMusicPref() { var _local1 = SharedObject.getLocal("sound"); if (_local1.data.playMusic == undefined) { return(true); } return(Boolean(_local1.data.playMusic)); } static function setMusicPref(aP) { var _local1 = SharedObject.getLocal("sound"); _local1.data.playMusic = aP; _local1.flush(); } static function playMusic(aFile) { if (getMusicPref()) { musicTracks[aFile].onSoundComplete = function () { this.start(); }; musicTracks[aFile].start(); } } static function playRandomTrack() { var _local2 = Math.floor(Math.random() * trackCount); var _local1 = 0; for (var _local3 in musicTracks) { if (_local1 == _local2) { playMusic(_local3); break; } _local1++; } } static function stopMusic() { for (var _local1 in musicTracks) { musicTracks[_local1].stop(); delete musicTracks[_local1].onSoundComplete; } } static function muteMusic() { setMusicPref(false); for (var _local1 in musicTracks) { trace("muting this dude: " + musicTracks[_local1]); musicTracks[_local1].setVolume(0); } } static function unMuteMusic() { setMusicPref(true); for (var _local1 in musicTracks) { musicTracks[_local1].setVolume(100); } } static function playExtSound(aSound) { if (!_sounds) { _sounds = new Array(); } if (!_sounds[aSound]) { trace("making stuff"); var _local4 = _root.sound.getNextHighestDepth(); var _local3 = _root.sound.createEmptyMovieClip(aSound, _local4); _sounds[aSound] = new Sound(_local3); trace("mc exists: " + _local3); } trace("sound exists: " + _sounds[aSound]); _sounds[aSound].loadSound(("sounds/" + aSound) + ".mp3", true); _sounds[aSound].start(); } static function setVolume(aNum) { var _local1 = new Sound(); if (aNum == 0) { setSoundPref(false); } else if (aNum == 100) { setSoundPref(true); } _local1.setVolume(aNum); } static function lazy() { if (!_sound) { _sound = new Sound(); } } static function playSoundSingle(aSound, aVolume) { lazy(); var _local4; var _local2; if (!_root.sound[aSound]) { var _local5 = _root.sound.getNextHighestDepth(); _local4 = _root.sound.createEmptyMovieClip(aSound, _local5); _local2 = new Sound(_local4); _local4.sound = _local2; _local2.attachSound(aSound); trace("attaching"); } else { _local2 = _root.sound[aSound].sound; } if ((_local2.position == 0) || (_local2.position == _local2.duration)) { _local2.setVolume(aVolume); _local2.start(); } } static function playSound(aSound, aVolume) { lazy(); var _local3 = _root.sound.getNextHighestDepth(); var _local4 = _root.sound.createEmptyMovieClip("s_" + _local3, _local3); var _local2 = new Sound(_local4); _local2.attachSound(aSound); _local2.setVolume(aVolume); _local2.start(); } static function loopSound(aSound, aLoop, aVolume) { var _local3 = _root.sound.getNextHighestDepth(); var _local4 = _root.sound.createEmptyMovieClip("sound_" + _local3, _local3); var _local2 = new Sound(_local4); _local2.attachSound(aSound); _local2.setVolume(aVolume); _local2.start(0, aLoop); return(_local2); } static function fadeSound(aSound, aFrom, aTo, aTime) { var _local2 = new Object(); var _local4 = aSound.getVolume(); var _local3 = new mx.transitions.Tween(_local2, "v", mx.transitions.easing.None.easeNone, aFrom, aTo, aTime, true); _local3.onMotionChanged = function () { aSound.setVolume(this.position); }; } static var MUSIC_URL = "music/"; static var trackCount = 0; }
Symbol 268 MovieClip [__Packages.mx.transitions.OnEnterFrameBeacon] Frame 0
class mx.transitions.OnEnterFrameBeacon { function OnEnterFrameBeacon () { } static function init() { var _local4 = _global.MovieClip; if (!_root.__OnEnterFrameBeacon) { mx.transitions.BroadcasterMX.initialize(_local4); var _local3 = _root.createEmptyMovieClip("__OnEnterFrameBeacon", 9876); _local3.onEnterFrame = function () { _global.MovieClip.broadcastMessage("onEnterFrame"); }; } } static var version = "1.1.0.52"; }
Symbol 269 MovieClip [__Packages.mx.transitions.BroadcasterMX] Frame 0
class mx.transitions.BroadcasterMX { var _listeners; function BroadcasterMX () { } static function initialize(o, dontCreateArray) { if (o.broadcastMessage != undefined) { delete o.broadcastMessage; } o.addListener = mx.transitions.BroadcasterMX.prototype.addListener; o.removeListener = mx.transitions.BroadcasterMX.prototype.removeListener; if (!dontCreateArray) { o._listeners = new Array(); } } function addListener(o) { removeListener(o); if (broadcastMessage == undefined) { broadcastMessage = mx.transitions.BroadcasterMX.prototype.broadcastMessage; } return(_listeners.push(o)); } function removeListener(o) { var _local2 = _listeners; var _local3 = _local2.length; while (_local3--) { if (_local2[_local3] == o) { _local2.splice(_local3, 1); if (!_local2.length) { broadcastMessage = undefined; } return(true); } } return(false); } function broadcastMessage() { var _local5 = String(arguments.shift()); var _local4 = _listeners.concat(); var _local6 = _local4.length; var _local3 = 0; while (_local3 < _local6) { _local4[_local3][_local5].apply(_local4[_local3], arguments); _local3++; } } static var version = "1.1.0.52"; }
Symbol 270 MovieClip [__Packages.mx.transitions.Tween] Frame 0
class mx.transitions.Tween { var obj, prop, begin, useSeconds, _listeners, addListener, prevTime, _time, looping, _duration, broadcastMessage, isPlaying, _fps, prevPos, _pos, change, _intervalID, _startTime; function Tween (obj, prop, func, begin, finish, duration, useSeconds) { mx.transitions.OnEnterFrameBeacon.init(); if (!arguments.length) { return; } this.obj = obj; this.prop = prop; this.begin = begin; position = (begin); this.duration = (duration); this.useSeconds = useSeconds; if (func) { this.func = func; } this.finish = (finish); _listeners = []; addListener(this); start(); } function set time(t) { prevTime = _time; if (t > duration) { if (looping) { rewind(t - _duration); update(); broadcastMessage("onMotionLooped", this); } else { if (useSeconds) { _time = _duration; update(); } stop(); broadcastMessage("onMotionFinished", this); } } else if (t < 0) { rewind(); update(); } else { _time = t; update(); } //return(time); } function get time() { return(_time); } function set duration(d) { _duration = (((d == null) || (d <= 0)) ? (_global.Infinity) : (d)); //return(duration); } function get duration() { return(_duration); } function set FPS(fps) { var _local2 = isPlaying; stopEnterFrame(); _fps = fps; if (_local2) { startEnterFrame(); } //return(FPS); } function get FPS() { return(_fps); } function set position(p) { setPosition(p); //return(position); } function setPosition(p) { prevPos = _pos; obj[prop] = (_pos = p); broadcastMessage("onMotionChanged", this, _pos); updateAfterEvent(); } function get position() { return(getPosition()); } function getPosition(t) { if (t == undefined) { t = _time; } return(func(t, begin, change, _duration)); } function set finish(f) { change = f - begin; //return(finish); } function get finish() { return(begin + change); } function continueTo(finish, duration) { begin = position; this.finish = (finish); if (duration != undefined) { this.duration = (duration); } start(); } function yoyo() { continueTo(begin, time); } function startEnterFrame() { if (_fps == undefined) { _global.MovieClip.addListener(this); } else { _intervalID = setInterval(this, "onEnterFrame", 1000 / _fps); } isPlaying = true; } function stopEnterFrame() { if (_fps == undefined) { _global.MovieClip.removeListener(this); } else { clearInterval(_intervalID); } isPlaying = false; } function start() { rewind(); startEnterFrame(); broadcastMessage("onMotionStarted", this); } function stop() { stopEnterFrame(); broadcastMessage("onMotionStopped", this); } function resume() { fixTime(); startEnterFrame(); broadcastMessage("onMotionResumed", this); } function rewind(t) { _time = ((t == undefined) ? 0 : (t)); fixTime(); update(); } function fforward() { time = (_duration); fixTime(); } function nextFrame() { if (useSeconds) { time = ((getTimer() - _startTime) / 1000); } else { time = (_time + 1); } } function onEnterFrame() { nextFrame(); } function prevFrame() { if (!useSeconds) { time = (_time - 1); } } function toString() { return("[Tween]"); } function fixTime() { if (useSeconds) { _startTime = getTimer() - (_time * 1000); } } function update() { position = (getPosition(_time)); } static var version = "1.1.0.52"; static var __initBeacon = mx.transitions.OnEnterFrameBeacon.init(); static var __initBroadcaster = mx.transitions.BroadcasterMX.initialize(mx.transitions.Tween.prototype, true); function func(t, b, c, d) { return(((c * t) / d) + b); } }
Symbol 271 MovieClip [__Packages.mx.transitions.easing.None] Frame 0
class mx.transitions.easing.None { function None () { } static function easeNone(t, b, c, d) { return(((c * t) / d) + b); } static function easeIn(t, b, c, d) { return(((c * t) / d) + b); } static function easeOut(t, b, c, d) { return(((c * t) / d) + b); } static function easeInOut(t, b, c, d) { return(((c * t) / d) + b); } static var version = "1.1.0.52"; }
Symbol 272 MovieClip [__Packages.chainfactor.Group] Frame 0
class chainfactor.Group { var _pieces, _mc, _intervalId, _hilited, x, y; function Group () { _pieces = new Array(); } function addPiece(aPiece) { _pieces.push(aPiece); } function unHilite() { _mc.removeMovieClip(); clearInterval(_intervalId); } function hilite(aType, aHolder) { if (!_hilited) { _hilited = true; var _local6 = aHolder.getNextHighestDepth(); _mc = aHolder.createEmptyMovieClip("hilite_" + _local6, _local6); var _local3; var _local5; var _local2; var _local4; _local3 = x * chainfactor.Board.GRIDSIZE; _local2 = y * chainfactor.Board.GRIDSIZE; if (aType == "h") { _local5 = _local3 + (size * chainfactor.Board.GRIDSIZE); _local4 = _local2 + chainfactor.Board.GRIDSIZE; } else { _local5 = _local3 + chainfactor.Board.GRIDSIZE; _local4 = (_local2 + (size * chainfactor.Board.GRIDSIZE)) + 1; } _mc.beginFill(0); _mc.moveTo(_local3, _local2); _mc.lineTo(_local5, _local2); _mc.lineTo(_local5, _local4); _mc.lineTo(_local3, _local4); _mc.lineTo(_local3, _local2); _mc.endFill(); _intervalId = setInterval(this, "unHilite", HILITE_TIME * 1000); } } function destroy() { unHilite(); } static var HILITE_TIME = 0.25; var size = 0; }
Symbol 273 MovieClip [__Packages.util.Broadcaster] Frame 0
class util.Broadcaster { var _broadcaster; function Broadcaster () { _broadcaster = new AsBroadcaster(); AsBroadcaster.initialize(_broadcaster); } function addListener(aListen) { _broadcaster.addListener(aListen); } function removeListener(aListen) { _broadcaster.removeListener(aListen); } }
Symbol 274 MovieClip [__Packages.chainfactor.Piece] Frame 0
class chainfactor.Piece extends util.Broadcaster { var _color, mc, amount, __get__thawLevel, _x, _y, _disappearing, vGroup, hGroup, _broadcaster; function Piece (aGray) { super(); pickRandomAmount(); if ((Math.random() < GRAY_CHANCE) || (aGray)) { isGray = true; _thawLevel = 0; } } function thaw() { if (isGray) { thawLevel = (_thawLevel + 1); } } function set thawLevel(aLevel) { _thawLevel = aLevel; if (aLevel == 0) { _color.setRGB(13158600); } else if (aLevel == 1) { _color.setRGB(13158600); var _local2 = Math.floor(Math.random() * 2) + 1; var _local5 = mc.attachMovie("crack" + _local2, "crack", 100); } if (_thawLevel == THAW_STEPS) { _color.setRGB(COLORS[amount]); var _local4 = new mx.transitions.Tween(mc.crack, "_alpha", mx.transitions.easing.Regular.easeIn, 100, 0, 0.75, true); isGray = false; showAmount(); } //return(__get__thawLevel()); } function pickRandomAmount() { amount = Math.floor(Math.random() * ((MAX_AMT - MIN_AMT) + 1)) + MIN_AMT; } function draw(aHolder) { var _local2 = aHolder.getNextHighestDepth(); mc = aHolder.createEmptyMovieClip("piece_" + _local2, _local2); drawCircle(); if ((!isGray) || (GRAYS_SHOW_VALUE)) { showAmount(); } if (isGray) { _color.setRGB(13158600); thawLevel = (_thawLevel); } return(mc); } function drawCircle() { var _local2 = mc.createEmptyMovieClip("circle", 1); _color = new Color(_local2); _local2.beginFill(16777215, 100); util.Util.drawCircle(_local2, 0, 0, (chainfactor.Board.GRIDSIZE / 2) - 1); _color.setRGB(COLORS[amount]); _local2.endFill(); } function fixInvis() { if (mc._alpha != 100) { drawCircle(); mc._visible = true; mc._alpha = 100; mc.circle._alpha = 100; if (isGray) { makeGray(); } else { mc.amt_holder._alpha = 100; } } } function makeGray() { isGray = true; mc.amt_holder.removeMovieClip(); _thawLevel = 0; _color = new Color(mc.circle); _color.setRGB(13158600); } function showAmount() { var _local2 = mc.createEmptyMovieClip("amt_holder", 2); _local2.createTextField("amt", 1, -11, -15, chainfactor.Board.GRIDSIZE / 2, chainfactor.Board.GRIDSIZE / 2); var _local3 = new TextFormat(); _local3.size = 22; _local3.color = 16777215 /* 0xFFFFFF */; _local3.font = "Dirty Headline"; _local2.amt.text = amount; _local2.amt.embedFonts = true; _local2.amt.selectable = false; _local2.amt.autoSize = "center"; _local2.amt.setTextFormat(_local3); if (isGray) { amountShowing = true; _local2.amt._alpha = 50; } else { _color.setRGB(COLORS[amount]); } } function makeSpikes(aNum) { var _local14 = Math.min(aNum, 4); var _local5 = _x; var _local4 = _y; while ((_local5 == _x) || (_local5 == (_x + 1))) { _local5 = Math.floor((Math.random() * chainfactor.Board.WIDTH) + 1); } while (_local4 == _y) { _local4 = Math.floor(((Math.random() * chainfactor.Board.HEIGHT) + 1) - _y); } _local5 = _local5 * chainfactor.Board.GRIDSIZE; _local4 = _local4 * chainfactor.Board.GRIDSIZE; var _local3 = 0; while (_local3 < _local14) { var _local9 = chainfactor.Board.back.getNextHighestDepth(); var spikeMC = chainfactor.Board.back.createEmptyMovieClip("spike_" + _local9, _local9); if (_local4 < 0) { _local4 = 0; } var _local2 = new flash.geom.Point(_x * chainfactor.Board.GRIDSIZE, (_y * chainfactor.Board.GRIDSIZE) + chainfactor.Board.GRIDSIZE); var _local8 = new flash.geom.Point(_x * chainfactor.Board.GRIDSIZE, _y * chainfactor.Board.GRIDSIZE); var _local7 = new flash.geom.Point((_x * chainfactor.Board.GRIDSIZE) + chainfactor.Board.GRIDSIZE, _y * chainfactor.Board.GRIDSIZE); var _local6 = new flash.geom.Point(_local5, _local4 + (_local3 * chainfactor.Board.GRIDSIZE)); var _local10 = 0; _local10 = COLORS[amount]; spikeMC.beginFill(_local10); spikeMC.moveTo(_local2.x, _local2.y); spikeMC.lineTo(_local8.x, _local8.y); spikeMC.lineTo(_local7.x, _local7.y); spikeMC.lineTo(_local6.x, _local6.y); spikeMC.lineTo(_local2.x, _local2.y); spikeMC.endFill(); var _local13 = this; var _local12 = 0.15; var _local11 = new mx.transitions.Tween(spikeMC, "_alpha", mx.transitions.easing.Regular.easeIn, 100, 0, 0.6 + (_local3 * _local12), true); _local11.onMotionFinished = function () { spikeMC.removeMovieClip(); }; _local3++; } } function disappear(aMult) { if (!_disappearing) { _disappearing = true; var _local6 = new Color(mc.amt_holder); _local6.setRGB(0); var _local3 = mc.createEmptyMovieClip("blackbox", -10); _local3.beginFill(0); _local3.moveTo((-chainfactor.Board.GRIDSIZE) / 2, (-chainfactor.Board.GRIDSIZE) / 2); _local3.lineTo(((-chainfactor.Board.GRIDSIZE) / 2) + chainfactor.Board.GRIDSIZE, (-chainfactor.Board.GRIDSIZE) / 2); _local3.lineTo(((-chainfactor.Board.GRIDSIZE) / 2) + chainfactor.Board.GRIDSIZE, ((-chainfactor.Board.GRIDSIZE) / 2) + chainfactor.Board.GRIDSIZE); _local3.lineTo((-chainfactor.Board.GRIDSIZE) / 2, ((-chainfactor.Board.GRIDSIZE) / 2) + chainfactor.Board.GRIDSIZE); _local3.lineTo((-chainfactor.Board.GRIDSIZE) / 2, (-chainfactor.Board.GRIDSIZE) / 2); _local3.endFill(); mc.crack._visible = false; var me = this; var _local8 = new mx.transitions.Tween(mc, "_alpha", mx.transitions.easing.None.easeNone, 300, 0, DISAPPEAR_TIME, true); var me = this; var _local5 = new Object(); _local5.val = 1; var _local7 = new mx.transitions.Tween(_local5, "val", mx.transitions.easing.Regular.easeIn, 1, 0, DISAPPEAR_TIME, true); _local7.onMotionChanged = function () { me.mc.circle._xscale = 125 * this.position; me.mc.circle._yscale = 125 * this.position; me.mc.amt_holder._xscale = 100 * this.position; me.mc.amt_holder._yscale = 100 * this.position; }; if (aMult > 1) { _root.chainDisplay.showChain(aMult); } else { chainfactor.SoundManager.playSound("sound_disappear", 5); } if (aMult > 2) { makeSpikes(aMult - 1); } _local8.onMotionFinished = function () { me.finishDisappear(); }; } } function finishDisappear() { vGroup.destroy(); hGroup.destroy(); _broadcaster.broadcastMessage("onDisappear", this); } function destroy() { mc.removeMovieClip(); vGroup.destroy(); hGroup.destroy(); } function set x(aX) { _x = aX; mc._x = (aX * chainfactor.Board.GRIDSIZE) + (chainfactor.Board.GRIDSIZE / 2); //return(x); } function set y(aY) { _y = aY; mc._y = (aY * chainfactor.Board.GRIDSIZE) + (chainfactor.Board.GRIDSIZE / 2); //return(y); } function get x() { return(_x); } function get y() { return(_y); } static var GRAY_CHANCE = 0.3; static var GRAYS_SHOW_VALUE = 0; static var MIN_AMT = 1; static var MAX_AMT = 7; static var COLORS = [0, 14864993, 15645799, 15505767, 15562855, 15625081, 15558553, 15493048]; static var THAW_STEPS = 2; static var DISAPPEAR_DELAY = 250; static var DISAPPEAR_MAX_SPIKES = 4; static var DISAPPEAR_TIME = 0.5; var amountShowing = false; var _thawLevel = 0; var isGray = false; }
Symbol 275 MovieClip [__Packages.mx.transitions.easing.Regular] Frame 0
class mx.transitions.easing.Regular { function Regular () { } static function easeIn(t, b, c, d) { t = t / d; return(((c * t) * t) + b); } static function easeOut(t, b, c, d) { t = t / d; return((((-c) * t) * (t - 2)) + b); } static function easeInOut(t, b, c, d) { t = t / (d / 2); if (t < 1) { return((((c / 2) * t) * t) + b); } t--; return((((-c) / 2) * ((t * (t - 2)) - 1)) + b); } static var version = "1.1.0.52"; }
Symbol 276 MovieClip [__Packages.util.Util] Frame 0
class util.Util { function Util () { } static function init() { Number.prototype.toRad = function () { return((this * Math.PI) / 180); }; Number.prototype.toDeg = function () { return((this * 180) / Math.PI); }; MovieClip.prototype.dashTo = function (startx, starty, endx, endy, len, gap) { if (arguments.length < 6) { return(false); } var _local12; var _local9; var _local8; var _local10; var _local4; var _local3; _local12 = len + gap; _local9 = endx - startx; _local8 = endy - starty; var _local11 = Math.sqrt((_local9 * _local9) + (_local8 * _local8)); _local10 = Math.floor(Math.abs(_local11 / _local12)); var _local6 = Math.atan2(_local8, _local9); _local4 = startx; _local3 = starty; _local9 = Math.cos(_local6) * _local12; _local8 = Math.sin(_local6) * _local12; var _local5 = 0; while (_local5 < _local10) { this.moveTo(_local4, _local3); this.lineTo(_local4 + (Math.cos(_local6) * len), _local3 + (Math.sin(_local6) * len)); _local4 = _local4 + _local9; _local3 = _local3 + _local8; _local5++; } this.moveTo(_local4, _local3); _local11 = Math.sqrt(((endx - _local4) * (endx - _local4)) + ((endy - _local3) * (endy - _local3))); if (_local11 > len) { this.lineTo(_local4 + (Math.cos(_local6) * len), _local3 + (Math.sin(_local6) * len)); } else if (_local11 > 0) { this.lineTo(_local4 + (Math.cos(_local6) * _local11), _local3 + (Math.sin(_local6) * _local11)); } this.moveTo(endx, endy); }; MovieClip.prototype.drawWedge = function (x, y, startAngle, arc, radius, yRadius) { if (arguments.length < 5) { return(undefined); } this.moveTo(x, y); if (yRadius == undefined) { yRadius = radius; } var _local20; var _local3; var _local4; var _local6; var _local15; var _local19; var _local18; var _local14; var _local12; var _local13; var _local11; if (Math.abs(arc) > 360) { arc = 360; } _local15 = Math.ceil(Math.abs(arc) / 45); _local20 = arc / _local15; _local3 = (-(_local20 / 180)) * Math.PI; _local4 = (-(startAngle / 180)) * Math.PI; if (_local15 > 0) { _local19 = x + (Math.cos((startAngle / 180) * Math.PI) * radius); _local18 = y + (Math.sin(((-startAngle) / 180) * Math.PI) * yRadius); this.lineTo(_local19, _local18); var _local5 = 0; while (_local5 < _local15) { _local4 = _local4 + _local3; _local6 = _local4 - (_local3 / 2); _local14 = x + (Math.cos(_local4) * radius); _local12 = y + (Math.sin(_local4) * yRadius); _local13 = x + (Math.cos(_local6) * (radius / Math.cos(_local3 / 2))); _local11 = y + (Math.sin(_local6) * (yRadius / Math.cos(_local3 / 2))); this.curveTo(_local13, _local11, _local14, _local12); _local5++; } this.lineTo(x, y); } }; } static function drawCircle(mc, x, y, r) { mc.moveTo(x + r, y); mc.curveTo(r + x, (0.414213562373095 * r) + y, (0.707106781186547 * r) + x, (0.707106781186547 * r) + y); mc.curveTo((0.414213562373095 * r) + x, r + y, x, r + y); mc.curveTo((-0.414213562373095 * r) + x, r + y, (-0.707106781186547 * r) + x, (0.707106781186547 * r) + y); mc.curveTo((-r) + x, (0.414213562373095 * r) + y, (-r) + x, y); mc.curveTo((-r) + x, (-0.414213562373095 * r) + y, (-0.707106781186547 * r) + x, (-0.707106781186547 * r) + y); mc.curveTo((-0.414213562373095 * r) + x, (-r) + y, x, (-r) + y); mc.curveTo((0.414213562373095 * r) + x, (-r) + y, (0.707106781186547 * r) + x, (-0.707106781186547 * r) + y); mc.curveTo(r + x, (-0.414213562373095 * r) + y, r + x, y); } static function addCommas(aNum) { var _local2 = aNum.toString(); var _local4 = _local2.split(".")[1]; _local2 = _local2.split(".")[0]; if (aNum < 0) { _local2 = _local2.substr(1, _local2.length); } var _local1 = ""; var _local3 = _local2.length; while (_local3--) { if ((_local3 < (_local2.length - 1)) && ((((_local2.length - _local3) - 1) % 3) == 0)) { _local1 = "," + _local1; } _local1 = _local2.substr(_local3, 1) + _local1; } if (aNum < 0) { _local1 = "-" + _local1; } if (_local4) { _local1 = _local1 + ("." + _local4); } return(_local1); } static function str_replace(haystack, needle, replacement) { var _local1 = haystack.split(needle); return(_local1.join(replacement)); } static function isPrime(aNum) { if (aNum == NaN) { return(false); } aNum = Math.floor(aNum); if (aNum == 2) { return(true); } if ((aNum < 2) || (aNum & false)) { return(false); } var _local3 = Math.floor(Math.sqrt(aNum)); var _local1 = 2; while (_local1 <= _local3) { if ((aNum % _local1) == 0) { return(false); } _local1 = _local1 + 1; } return(true); } static function getRandomString(aLength) { var _local1 = ""; var _local2 = "0123456789abcdsefghijklmnopqrstuvwxyz"; while (_local1.length < aLength) { _local1 = _local1 + _local2.charAt(Math.floor(Math.random() * _local2.length)); } return(_local1); } static function MD5(string) { function RotateLeft(lValue, iShiftBits) { return((lValue << iShiftBits) | (lValue >>> (32 - iShiftBits))); } function AddUnsigned(lX, lY) { var _local5; var _local4; var _local3; var _local2; var _local1; _local3 = lX & 2147483648; _local2 = lY & 2147483648; _local5 = lX & 1073741824; _local4 = lY & 1073741824; _local1 = (lX & 1073741823) + (lY & 1073741823); if (_local5 & _local4) { return(((_local1 ^ 2147483648) ^ _local3) ^ _local2); } if (_local5 | _local4) { if (_local1 & 1073741824) { return(((_local1 ^ 3221225472) ^ _local3) ^ _local2); } return(((_local1 ^ 1073741824) ^ _local3) ^ _local2); } return((_local1 ^ _local3) ^ _local2); } function F(x, y, z) { return((x & y) | ((~x) & z)); } function G(x, y, z) { return((x & z) | (y & (~z))); } function H(x, y, z) { return((x ^ y) ^ z); } function I(x, y, z) { return(y ^ (x | (~z))); } function FF(a, b, c, d, x, s, ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac)); return(AddUnsigned(RotateLeft(a, s), b)); } function GG(a, b, c, d, x, s, ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac)); return(AddUnsigned(RotateLeft(a, s), b)); } function HH(a, b, c, d, x, s, ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac)); return(AddUnsigned(RotateLeft(a, s), b)); } function II(a, b, c, d, x, s, ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac)); return(AddUnsigned(RotateLeft(a, s), b)); } function ConvertToWordArray(string) { var _local2; var _local5 = string.length; var _local8 = _local5 + 8; var _local9 = (_local8 - (_local8 % 64)) / 64; var _local7 = (_local9 + 1) * 16; var _local3 = Array(_local7 - 1); var _local4 = 0; var _local1 = 0; while (_local1 < _local5) { _local2 = (_local1 - (_local1 % 4)) / 4; _local4 = (_local1 % 4) * 8; _local3[_local2] = _local3[_local2] | (string.charCodeAt(_local1) << _local4); _local1++; } _local2 = (_local1 - (_local1 % 4)) / 4; _local4 = (_local1 % 4) * 8; _local3[_local2] = _local3[_local2] | (128 << _local4); _local3[_local7 - 2] = _local5 << 3; _local3[_local7 - 1] = _local5 >>> 29; return(_local3); } function WordToHex(lValue) { var _local3 = ""; var _local2 = ""; var _local4; var _local1; _local1 = 0; while (_local1 <= 3) { _local4 = (lValue >>> (_local1 * 8)) & 255; _local2 = "0" + _local4.toString(16); _local3 = _local3 + _local2.substr(_local2.length - 2, 2); _local1++; } return(_local3); } function Utf8Encode(string) { var _local2 = ""; var _local3 = 0; while (_local3 < string.length) { var _local1 = string.charCodeAt(_local3); if (_local1 < 128) { _local2 = _local2 + String.fromCharCode(_local1); } else if ((_local1 > 127) && (_local1 < 2048)) { _local2 = _local2 + String.fromCharCode((_local1 >> 6) | 192); _local2 = _local2 + String.fromCharCode((_local1 & 63) | 128); } else { _local2 = _local2 + String.fromCharCode((_local1 >> 12) | 224); _local2 = _local2 + String.fromCharCode(((_local1 >> 6) & 63) | 128); _local2 = _local2 + String.fromCharCode((_local1 & 63) | 128); } _local3++; } return(_local2); } var _local6 = Array(); var _local5; var _local35; var _local36; var _local37; var _local34; var _local4; var _local3; var _local2; var _local1; var _local21 = 7; var _local19 = 12; var _local16 = 17; var _local13 = 22; var _local20 = 5; var _local17 = 9; var _local14 = 14; var _local11 = 20; var _local18 = 4; var _local15 = 11; var _local12 = 16; var _local10 = 23; var _local25 = 6; var _local24 = 10; var _local23 = 15; var _local22 = 21; string = Utf8Encode(string); _local6 = ConvertToWordArray(string); _local4 = 1732584193 /* 0x67452301 */; _local3 = 4023233417; _local2 = 2562383102; _local1 = 271733878 /* 0x10325476 */; _local5 = 0; while (_local5 < _local6.length) { _local35 = _local4; _local36 = _local3; _local37 = _local2; _local34 = _local1; _local4 = FF(_local4, _local3, _local2, _local1, _local6[_local5 + 0], _local21, 3614090360); _local1 = FF(_local1, _local4, _local3, _local2, _local6[_local5 + 1], _local19, 3905402710); _local2 = FF(_local2, _local1, _local4, _local3, _local6[_local5 + 2], _local16, 606105819); _local3 = FF(_local3, _local2, _local1, _local4, _local6[_local5 + 3], _local13, 3250441966); _local4 = FF(_local4, _local3, _local2, _local1, _local6[_local5 + 4], _local21, 4118548399); _local1 = FF(_local1, _local4, _local3, _local2, _local6[_local5 + 5], _local19, 1200080426); _local2 = FF(_local2, _local1, _local4, _local3, _local6[_local5 + 6], _local16, 2821735955); _local3 = FF(_local3, _local2, _local1, _local4, _local6[_local5 + 7], _local13, 4249261313); _local4 = FF(_local4, _local3, _local2, _local1, _local6[_local5 + 8], _local21, 1770035416); _local1 = FF(_local1, _local4, _local3, _local2, _local6[_local5 + 9], _local19, 2336552879); _local2 = FF(_local2, _local1, _local4, _local3, _local6[_local5 + 10], _local16, 4294925233); _local3 = FF(_local3, _local2, _local1, _local4, _local6[_local5 + 11], _local13, 2304563134); _local4 = FF(_local4, _local3, _local2, _local1, _local6[_local5 + 12], _local21, 1804603682); _local1 = FF(_local1, _local4, _local3, _local2, _local6[_local5 + 13], _local19, 4254626195); _local2 = FF(_local2, _local1, _local4, _local3, _local6[_local5 + 14], _local16, 2792965006); _local3 = FF(_local3, _local2, _local1, _local4, _local6[_local5 + 15], _local13, 1236535329); _local4 = GG(_local4, _local3, _local2, _local1, _local6[_local5 + 1], _local20, 4129170786); _local1 = GG(_local1, _local4, _local3, _local2, _local6[_local5 + 6], _local17, 3225465664); _local2 = GG(_local2, _local1, _local4, _local3, _local6[_local5 + 11], _local14, 643717713); _local3 = GG(_local3, _local2, _local1, _local4, _local6[_local5 + 0], _local11, 3921069994); _local4 = GG(_local4, _local3, _local2, _local1, _local6[_local5 + 5], _local20, 3593408605); _local1 = GG(_local1, _local4, _local3, _local2, _local6[_local5 + 10], _local17, 38016083); _local2 = GG(_local2, _local1, _local4, _local3, _local6[_local5 + 15], _local14, 3634488961); _local3 = GG(_local3, _local2, _local1, _local4, _local6[_local5 + 4], _local11, 3889429448); _local4 = GG(_local4, _local3, _local2, _local1, _local6[_local5 + 9], _local20, 568446438); _local1 = GG(_local1, _local4, _local3, _local2, _local6[_local5 + 14], _local17, 3275163606); _local2 = GG(_local2, _local1, _local4, _local3, _local6[_local5 + 3], _local14, 4107603335); _local3 = GG(_local3, _local2, _local1, _local4, _local6[_local5 + 8], _local11, 1163531501); _local4 = GG(_local4, _local3, _local2, _local1, _local6[_local5 + 13], _local20, 2850285829); _local1 = GG(_local1, _local4, _local3, _local2, _local6[_local5 + 2], _local17, 4243563512); _local2 = GG(_local2, _local1, _local4, _local3, _local6[_local5 + 7], _local14, 1735328473); _local3 = GG(_local3, _local2, _local1, _local4, _local6[_local5 + 12], _local11, 2368359562); _local4 = HH(_local4, _local3, _local2, _local1, _local6[_local5 + 5], _local18, 4294588738); _local1 = HH(_local1, _local4, _local3, _local2, _local6[_local5 + 8], _local15, 2272392833); _local2 = HH(_local2, _local1, _local4, _local3, _local6[_local5 + 11], _local12, 1839030562); _local3 = HH(_local3, _local2, _local1, _local4, _local6[_local5 + 14], _local10, 4259657740); _local4 = HH(_local4, _local3, _local2, _local1, _local6[_local5 + 1], _local18, 2763975236); _local1 = HH(_local1, _local4, _local3, _local2, _local6[_local5 + 4], _local15, 1272893353); _local2 = HH(_local2, _local1, _local4, _local3, _local6[_local5 + 7], _local12, 4139469664); _local3 = HH(_local3, _local2, _local1, _local4, _local6[_local5 + 10], _local10, 3200236656); _local4 = HH(_local4, _local3, _local2, _local1, _local6[_local5 + 13], _local18, 681279174); _local1 = HH(_local1, _local4, _local3, _local2, _local6[_local5 + 0], _local15, 3936430074); _local2 = HH(_local2, _local1, _local4, _local3, _local6[_local5 + 3], _local12, 3572445317); _local3 = HH(_local3, _local2, _local1, _local4, _local6[_local5 + 6], _local10, 76029189); _local4 = HH(_local4, _local3, _local2, _local1, _local6[_local5 + 9], _local18, 3654602809); _local1 = HH(_local1, _local4, _local3, _local2, _local6[_local5 + 12], _local15, 3873151461); _local2 = HH(_local2, _local1, _local4, _local3, _local6[_local5 + 15], _local12, 530742520); _local3 = HH(_local3, _local2, _local1, _local4, _local6[_local5 + 2], _local10, 3299628645); _local4 = II(_local4, _local3, _local2, _local1, _local6[_local5 + 0], _local25, 4096336452); _local1 = II(_local1, _local4, _local3, _local2, _local6[_local5 + 7], _local24, 1126891415); _local2 = II(_local2, _local1, _local4, _local3, _local6[_local5 + 14], _local23, 2878612391); _local3 = II(_local3, _local2, _local1, _local4, _local6[_local5 + 5], _local22, 4237533241); _local4 = II(_local4, _local3, _local2, _local1, _local6[_local5 + 12], _local25, 1700485571); _local1 = II(_local1, _local4, _local3, _local2, _local6[_local5 + 3], _local24, 2399980690); _local2 = II(_local2, _local1, _local4, _local3, _local6[_local5 + 10], _local23, 4293915773); _local3 = II(_local3, _local2, _local1, _local4, _local6[_local5 + 1], _local22, 2240044497); _local4 = II(_local4, _local3, _local2, _local1, _local6[_local5 + 8], _local25, 1873313359); _local1 = II(_local1, _local4, _local3, _local2, _local6[_local5 + 15], _local24, 4264355552); _local2 = II(_local2, _local1, _local4, _local3, _local6[_local5 + 6], _local23, 2734768916); _local3 = II(_local3, _local2, _local1, _local4, _local6[_local5 + 13], _local22, 1309151649); _local4 = II(_local4, _local3, _local2, _local1, _local6[_local5 + 4], _local25, 4149444226); _local1 = II(_local1, _local4, _local3, _local2, _local6[_local5 + 11], _local24, 3174756917); _local2 = II(_local2, _local1, _local4, _local3, _local6[_local5 + 2], _local23, 718787259); _local3 = II(_local3, _local2, _local1, _local4, _local6[_local5 + 9], _local22, 3951481745); _local4 = AddUnsigned(_local4, _local35); _local3 = AddUnsigned(_local3, _local36); _local2 = AddUnsigned(_local2, _local37); _local1 = AddUnsigned(_local1, _local34); _local5 = _local5 + 16; } var _local46 = ((WordToHex(_local4) + WordToHex(_local3)) + WordToHex(_local2)) + WordToHex(_local1); return(_local46.toLowerCase()); } }
Symbol 277 MovieClip [__Packages.chainfactor.Debug] Frame 0
class chainfactor.Debug { static var _mouseListener; function Debug () { } static function save() { _root.debug = _root.debug + "\nStarting to save score"; var _local5 = new LoadVars(); _local5.onLoad = function (success) { if (success) { trace("RESPONSE:\n" + this); } }; _local5.onData = function (src) { _root.debug = _root.debug + ("\n\n" + src); if (src == undefined) { _root.debug = _root.debug + "\nCouldn't connect to server"; } else { var _local2 = new XML(); _local2.ignoreWhite = true; _local2.parseXML(src); chainfactor.Debug.parseResponse(_local2, src); } }; var _local4 = new LoadVars(); _local4.type = "stats"; _local4.score = _global.numberBalls.score; _local4.level = chainfactor.LevelManager.level; _local4.mode = _global.numberBalls.mode; _local4.name = "a"; _local4.ver = chainfactor.Stats.getSession()[0]; _local4.p1 = chainfactor.powers.PowerManager.__get__inventory()[0].id; _local4.p2 = chainfactor.powers.PowerManager.__get__inventory()[1].id; _local4.p3 = chainfactor.powers.PowerManager.__get__inventory()[2].id; var _local7 = chainfactor.Randomizer.getRandomString("a"); _local4.sendAndLoad(((SAVE_URL + _local7) + "&r=") + Math.random(), _local5, "POST"); } static function parseResponse(aXML, src) { aXML.ignoreWhite = true; var _local2 = 0; while (_local2 < aXML.firstChild.childNodes.length) { var _local1 = aXML.firstChild.childNodes[_local2]; if (_local1.nodeName == "debug") { buildMsgWindow(_local1.attributes.level, _local1.attributes.code, _local1.attributes.number, _local1.firstChild.nodeValue); } _local2++; } } static function buildMsgWindow(aLevel, aCode, aNumber, aMsg) { _mouseListener = new Object(); var ml = _mouseListener; _mouseListener.onMouseDown = function () { trace(_ymouse); if ((((_root._xmouse > 233) && (_root._xmouse < 355)) && (_root._ymouse > 310)) && (_root._ymouse < 335)) { _root.boardHolder.debugMsg.swapDepths(_root.boardHolder.gameOver); delete this.onMouseDown; Mouse.removeListener(ml); } }; Mouse.addListener(_mouseListener); cleanup(); if (parseInt(aNumber) < 100) { aNumber = "0" + aNumber; } if (parseInt(aNumber) < 10) { aNumber = "0" + aNumber; } var _local4 = _root.boardHolder.createEmptyMovieClip("debugMsg", _root.getNextHighestDepth()); _local4._x = -80; _local4._y = -35; var _local5 = _local4.createEmptyMovieClip("redBox", 1); _local5.beginFill(16711680); _local5.lineTo(145, 0); _local5.lineTo(145, 20); _local5.lineTo(0, 20); _local5.lineTo(0, 0); _local5.endFill(); var _local7 = new TextField.StyleSheet(); var _local8 = new Object(); _local8.color = "#000000"; _local8.fontFamily = "ArialBoldBitmap"; _local7.setStyle(".debug", _local8); _local7.setStyle(".bold", {fontFamily:"ArialBoldBitmap"}); _local7.setStyle("p", {color:"#000000", fontFamily:"ArialBitmap", fontSize:12}); var _local3 = _local4.createTextField("msg", _local4.getNextHighestDepth(), 0, 0, MSG_WIDTH - 10, 20); _local3.html = true; _local3.embedFonts = true; _local3.styleSheet = _local7; _local3.htmlText = ((((((("<p><span class='bold'><font color='#ffffff'>&nbsp;&nbsp;ERROR " + aNumber) + "\n<font size='4'>\n</font></font><b>LEVEL ") + aLevel) + " / CODE ") + aCode) + "</span>\n\n</p><p>") + aMsg) + "</p>"; _local3.selectable = true; _local3.autoSize = "left"; _local4.useHandCursor = false; _local3.onRelease = function () { if ((((_root.boardHolder.gameOver._xmouse > 15) && (_root.boardHolder.gameOver._ymouse > 82)) && (_root.boardHolder.gameOver._xmouse < 150)) && (_root.boardHolder.gameOver._ymouse < 115)) { var _local2 = _root.attachMovie("saveScore", "saveScore", _root.getNextHighestDepth()); _local2._x = Stage.width / 2; _local2._y = Stage.height / 2; } }; } static function cleanup() { _root.debugMsg.removeMovieClip(); } static var MSG_WIDTH = 400; static var MSG_HEIGHT = 250; static var SAVE_URL = "save_score.php?sid="; }
Symbol 278 MovieClip [__Packages.chainfactor.LevelManager] Frame 0
class chainfactor.LevelManager extends util.StaticBroadcaster { static var _levelClock, _listener, _behavior, _nextLevel; function LevelManager () { super(); } static function set level(aNum) { _level = aNum; _levelClock.level = aNum; //return(level); } static function get level() { return(_level); } static function disable() { delete _listener; _listener = new Object(); } static function initBehavior(aClass) { level = (1); if (!_listener) { _listener = new Object(); _listener.onSpawnPiece = handleLevelEvent; util.StaticBroadcaster.addListener(_listener); } _behavior = new aClass[undefined](); _nextLevel = EVENTS_PER_LEVEL; _root.boardHolder.levelClock.removeMovieClip(); _levelClock = _root.boardHolder.attachMovie("levelClock", "levelClock", _root.boardHolder.getNextHighestDepth()); _levelClock._y = (chainfactor.Board.HEIGHT * chainfactor.Board.GRIDSIZE) + 10; _levelClock.nextLevel = _nextLevel; _levelClock.dropCount = EVENTS_PER_LEVEL; } static function resetLevel() { var _local2 = _nextLevel - getNextLevelDelta(); _global.numberBalls.resetDropped(_local2); _levelClock.nextLevel = getNextLevelDelta(); } static function handleLevelEvent(aNum) { if (aNum == _nextLevel) { level = ((level+1)); var _local1 = getNextLevelDelta(); _nextLevel = _nextLevel + _local1; _levelClock.nextLevel = _local1; doLevelChange(_level); } _levelClock.dropCount = _nextLevel - aNum; } static function getNextLevelDelta() { var _local1 = EVENTS_PER_LEVEL - (EVENTS_DECREASE_PER_LEVEL * (_level - 1)); if (_local1 < MIN_EVENTS_PER_LEVEL) { _local1 = MIN_EVENTS_PER_LEVEL; } return(_local1); } static function doLevelChange(aLevel) { chainfactor.Game.__set__allowDrop(false); _global.numberBalls.unspawnPiece(); levelBonus(); _behavior.doChange(aLevel); util.StaticBroadcaster._broadcaster.broadcastMessage("onLevelUp"); } static function levelBonus() { var _local4 = _root.boardHolder.createEmptyMovieClip("levelbonus", _root.boardHolder.getNextHighestDepth()); var _local3 = _local4.createTextField("txt", 1, 0, 0, (chainfactor.Board.WIDTH * chainfactor.Board.GRIDSIZE) / 2, 200); var _local5 = new TextFormat(); _local5.size = 28; _local5.color = 0; _local5.font = "EurostileBold"; _local3.text = "LEVEL BONUS: " + LEVEL_BONUS; _local3.textColor = 6710886 /* 0x666666 */; _local3.embedFonts = true; _local3.selectable = false; _local3.autoSize = "center"; _local3.setTextFormat(_local5); _global.numberBalls.addPoints(LEVEL_BONUS); _local4._x = ((chainfactor.Board.WIDTH * chainfactor.Board.GRIDSIZE) / 2) - 75; var _local7 = new mx.transitions.Tween(_local4, "_alpha", mx.transitions.easing.None.easeNone, 100, 0, 2, true); var _local6 = new mx.transitions.Tween(_local4, "_y", mx.transitions.easing.None.easeNone, (chainfactor.Board.WIDTH * chainfactor.Board.GRIDSIZE) / 2, 0, 2, true); } static function get behaviorType() { return(_behavior.typeOf()); } static var EVENTS_PER_LEVEL = 30; static var EVENTS_DECREASE_PER_LEVEL = 1; static var MIN_EVENTS_PER_LEVEL = 5; static var LEVEL_BONUS = 5000; static var _level = 1; }
Symbol 279 MovieClip [__Packages.chainfactor.ILevelBehavior] Frame 0
interface chainfactor.ILevelBehavior { }
Symbol 280 MovieClip [__Packages.chainfactor.Stats] Frame 0
class chainfactor.Stats { static var _sessionId; function Stats () { } static function send() { if (System.capabilities.playerType != "External") { var _local2 = new LoadVars(); _local2.onData = function (src) { if (src != undefined) { chainfactor.Stats.save(new XML(src)); } }; var _local1 = new LoadVars(); _local1.version = System.capabilities.serverString; _local1.os = System.capabilities.os; _local1.manufacturer = System.capabilities.manufacturer; _local1.sendAndLoad(STATS_URL + Math.random(), _local2, "POST"); } } static function save(aXML) { _sessionId = aXML.firstChild.attributes.session; trace("sent stats"); trace(getSession()); _root.debug = _root.debug + getSession(); } static function getSession() { var _local5 = _sessionId.substr(0, 32); var _local4 = _sessionId.substr(32, 32); var _local6 = new Array(); var _local3 = ""; var _local2 = ""; var _local1 = 0; while (_local1 < 32) { if ((_local1 % 2) == 0) { _local3 = _local3 + _local5.substr(_local1, 1); _local2 = _local2 + _local4.substr(_local1, 1); } else { _local3 = _local3 + _local4.substr(_local1, 1); _local2 = _local2 + _local5.substr(_local1, 1); } _local1++; } _local6[0] = _local3; _local6[1] = _local2; return(_local6); } static var STATS_URL = "stats.php?sid="; }
Symbol 281 MovieClip [__Packages.chainfactor.powers.PowerManager] Frame 0
class chainfactor.powers.PowerManager extends util.StaticBroadcaster { static var _meter, _allPowers, _inventory, _ignoreBreaks, _listener, __get__ignoreBreaks; function PowerManager () { super(); } static function init() { _meter = new chainfactor.powers.PowerMeter(); _meter.draw(_root.boardHolder); _meter.mc._x = (chainfactor.Board.WIDTH * chainfactor.Board.GRIDSIZE) + 12; _meter.updateBar(); _allPowers = new Array(); _allPowers.push(new chainfactor.powers.PManaPoints()); _allPowers.push(new chainfactor.powers.PThaw()); _allPowers.push(new chainfactor.powers.PShow()); _allPowers.push(new chainfactor.powers.PPrime()); _allPowers.push(new chainfactor.powers.PPostpone()); _allPowers.push(new chainfactor.powers.PPromote()); _allPowers.push(new chainfactor.powers.PSniper()); _allPowers.push(new chainfactor.powers.PGoldCoin()); _allPowers.push(new chainfactor.powers.PBomb()); _allPowers.push(new chainfactor.powers.PEfficiency()); _allPowers.push(new chainfactor.powers.PRotate()); _allPowers.push(new chainfactor.powers.PScoreballs()); if ((!_inventory) || (_inventory.length == 0)) { _inventory = new Array(); } else { clearInventory(); } _ignoreBreaks = false; if (!_listener) { _listener = new Object(); } _listener.onDisappearDone = function () { chainfactor.powers.PowerManager.handleDisappearDone(); }; _listener.onLevelUp = function () { chainfactor.powers.PowerManager.handleLevelUp(); }; util.StaticBroadcaster.addListener(_listener); util.StaticBroadcaster.addListener(_listener); } static function handleTilt() { util.StaticBroadcaster._broadcaster.broadcastMessage("onTilt"); } static function handleLevelUp() { if (REDUCE_MANA_RATE) { reduceManaAdd(); } } static function reduceManaAdd() { _meter.reduceManaAdd(); } static function addMana(aAmt) { if (!_ignoreBreaks) { _meter.addMana(aAmt); handleManaUpdate(); } } static function deductMana(aAmt) { _meter.deductMana(aAmt); handleManaUpdate(); } static function addPower(aP) { _inventory.push(aP); var _local1 = new Object(); _local1.onFire = function (aCost) { chainfactor.powers.PowerManager.handlePowerFire(aCost); }; _local1.onTilt = handleTilt; aP.addListener(_local1); } static function resetPowers() { var _local1 = 0; while (_local1 < _inventory.length) { _inventory[_local1].destroy(); _local1++; } } static function clearPowers() { var _local1 = 0; while (_local1 < _inventory.length) { _inventory[_local1].destroy(); delete _inventory[_local1]; _local1++; } _inventory = new Array(); } static function handlePowerFire(aCost) { _meter.deductMana(aCost); handleManaUpdate(); if (aCost > 0) { _ignoreBreaks = true; } } static function handleDisappearDone() { _ignoreBreaks = false; } static function handleManaUpdate() { var _local1 = 0; while (_local1 < _inventory.length) { if (_inventory[_local1].cost <= _meter.amount) { _inventory[_local1].enable(); } else { _inventory[_local1].disable(); } _local1++; } } static function displayPowerButtons() { _inventory.sort(sort); var _local5 = 5; var _local6 = Math.floor((_meter.mc._height - (chainfactor.powers.Power.HEIGHT * _inventory.length)) - ((_inventory.length - 1) * _local5)); var _local4 = 0; while (_local4 < _inventory.length) { var _local1 = _inventory[_local4]; var _local2 = _local1.getMovieClip(_meter.mc); _local2._x = 26; _local2._y = _local6 + (_local4 * (chainfactor.powers.Power.HEIGHT + _local5)); _local1.setMovieClip(_local2); _local1.disable(); if (_local1.cost > 0) { var _local3 = _meter.mc.createEmptyMovieClip("line_" + _local4, _meter.mc.getNextHighestDepth()); _local3.lineStyle(1, 8355711, 100, false, "normal", "round", "miter"); _local3.moveTo(_local2._x, _local2._y + (chainfactor.powers.Power.HEIGHT / 2)); _local3.lineTo(_local2._x - (3 + (_local4 * 4)), _local2._y + (chainfactor.powers.Power.HEIGHT / 2)); _local3.lineTo(_local2._x - (3 + (_local4 * 4)), _meter.mc._height * (1 - _local1.cost)); _local3.lineTo(6, _meter.mc._height * (1 - _local1.cost)); _local3.lineStyle(1, 16777215, 100, false, "normal", "round", "miter"); _local3.lineTo(0, _meter.mc._height * (1 - _local1.cost)); } else { _local1.enable(); _local1.fire(); } _local4++; } } static function get mana() { return(_meter.amount); } static function getPowerById(aId) { var _local1 = 0; while (_local1 < _allPowers.length) { if (_allPowers[_local1].id == aId) { return(_allPowers[_local1]); } _local1++; } } static function sort(a, b) { if (a.__get__cost() < b.__get__cost()) { return(1); } if (a.__get__cost() > b.__get__cost()) { return(-1); } return(0); } static function clearInventory() { var _local1 = 0; while (_local1 < _inventory.length) { _inventory[_local1].destroy(); _local1++; } } static function get allPowers() { return(_allPowers); } static function get inventory() { return(_inventory); } static function set ignoreBreaks(aB) { _ignoreBreaks = aB; //return(__get__ignoreBreaks()); } static var REDUCE_MANA_RATE = false; }
Symbol 282 MovieClip [__Packages.chainfactor.powers.PowerMeter] Frame 0
class chainfactor.powers.PowerMeter { static var isEfficient; var addIncrement, mc; function PowerMeter () { isEfficient = false; addIncrement = ADD_INCREMENT_DEFAULT; } function draw(aHolder) { aHolder.meter.removeMovieClip(); mc = aHolder.createEmptyMovieClip("meter", aHolder.getNextHighestDepth()); var _local3 = chainfactor.Board.HEIGHT * chainfactor.Board.GRIDSIZE; mc.beginFill(13158600); mc.moveTo(0, 0); mc.lineTo(WIDTH, 0); mc.lineTo(WIDTH, _local3); mc.lineTo(0, _local3); mc.lineTo(0, 0); var _local4 = mc.createEmptyMovieClip("dashed", 1); _local4.lineStyle(WIDTH, 0, 100, true, "normal", "none", "miter"); _local4.dashTo(WIDTH / 2, 0, WIDTH / 2, _local3, 1, 1); var _local2 = mc.createEmptyMovieClip("bar", 2); _local2.beginFill(0); _local2.lineTo(WIDTH, 0); _local2.lineTo(WIDTH, -_local3); _local2.lineTo(0, -_local3); _local2.lineTo(0, 0); _local2._y = _local3; _local2.endFill(); _local4.setMask(_local2); return(mc); } function reduceManaAdd() { addIncrement = addIncrement - MANA_REDUCE_RATE; trace("MANA INC REDUCED TO " + addIncrement); } function addMana(aAmt) { var _local2 = addIncrement; if (aAmt) { _local2 = aAmt; } if (isEfficient) { _local2 = _local2 * EFFICIENT_MULTIPLIER; } amount = amount + _local2; if (amount > 1) { amount = 1; } updateBar(); return(amount); } function deductMana(aAmt) { amount = amount - aAmt; if (amount < 0) { amount = 0; } updateBar(); } function updateBar() { mc.bar._yscale = amount * 100; } static var ADD_INCREMENT_DEFAULT = 0.05; static var EFFICIENT_MULTIPLIER = 1.2; static var MANA_REDUCE_RATE = 0.001; static var WIDTH = 6; var amount = 0; }
Symbol 283 MovieClip [__Packages.chainfactor.powers.Power] Frame 0
class chainfactor.powers.Power extends util.Broadcaster { static var COSTS; var _enabled, _broadcaster, mc, _name, _nameField, id, _cost; function Power () { super(); if (System.capabilities.playerType == "External") { unlocked = true; } } function fire() { if (_enabled) { doEffect(); } } function doEffect() { effectDone(); } function effectDone() { if (_enabled) { chainfactor.Board.defaultMultiplier(); doFire(); _broadcaster.broadcastMessage("onFire", cost); } } function doFire() { } function enable() { mc._alpha = 100; _enabled = true; } function disable() { mc._alpha = 50; _enabled = false; } function getMovieClip(aHolder) { var _local2 = aHolder.getNextHighestDepth(); var _local3 = aHolder.attachMovie("power_" + _name, "power_" + _local2, _local2); return(_local3); } function setMovieClip(aMC) { mc = aMC; _nameField = mc.createTextField("name", 2, 38, 12, 0, 0); var _local2 = new TextFormat(); _local2.size = 8; _local2.color = 0; _local2.font = "04b03"; _nameField.text = _name.toUpperCase(); _nameField.embedFonts = true; _nameField.selectable = false; _nameField.autoSize = "left"; _nameField.setTextFormat(_local2); _nameField._visible = false; var me = this; mc.onRollOver = function () { this.name._visible = true; }; mc.onRollOut = function () { this.name._visible = false; }; if (cost > 0) { mc.onRelease = function () { if (chainfactor.Game.__get__allowDrop()) { me.doClick(this); me.fire(); } }; } } function doClick(aMC) { if (_enabled) { chainfactor.SoundManager.playSound("sound_power", 100); var clickRing = _root.createEmptyMovieClip("clickRing", _root.getNextHighestDepth()); clickRing.lineStyle(5, 0); util.Util.drawCircle(clickRing, 0, 0, 22); var _local3 = {x:mc._x, y:mc._y}; mc._parent.localToGlobal(_local3); clickRing._x = _local3.x + 18; clickRing._y = _local3.y + 18; clickRing._alpha = 100; var _local4 = new mx.transitions.Tween(clickRing, "_alpha", mx.transitions.easing.Regular.easeIn, 100, 0, 0.5, true); var _local6 = new mx.transitions.Tween(clickRing, "_xscale", mx.transitions.easing.Regular.easeIn, 100, 200, 0.5, true); var _local5 = new mx.transitions.Tween(clickRing, "_yscale", mx.transitions.easing.Regular.easeIn, 100, 200, 0.5, true); _local4.onMotionFinished = function () { clickRing.removeMovieClip(); }; } } function destroy() { } function get name() { return(_name); } function get cost() { if (COSTS[id] != null) { return(COSTS[id]); } return(_cost); } static var HEIGHT = 36; var unlocked = false; var description = ""; }
Symbol 284 MovieClip [__Packages.chainfactor.powers.PManaPoints] Frame 0
class chainfactor.powers.PManaPoints extends chainfactor.powers.Power { var _name, _cost, id, category; function PManaPoints () { super(); _name = "Redeem"; _cost = 1; id = 9; category = "transformation"; } function doFire() { _global.numberBalls.addPoints(BONUS_AMOUNT); var _local4 = _root.boardHolder.createEmptyMovieClip("manaBonus", _root.boardHolder.getNextHighestDepth()); var _local3 = _local4.createTextField("txt", 1, 0, 0, (chainfactor.Board.WIDTH * chainfactor.Board.GRIDSIZE) / 2, 200); var _local5 = new TextFormat(); _local5.size = 28; _local5.color = 0; _local5.font = "Eurostile"; _local3.text = "REDEEM +" + BONUS_AMOUNT; _local3.textColor = 0; _local3.embedFonts = true; _local3.selectable = false; _local3.autoSize = "center"; _local3.setTextFormat(_local5); _local4._x = ((chainfactor.Board.WIDTH * chainfactor.Board.GRIDSIZE) / 2) - 75; var _local7 = new mx.transitions.Tween(_local4, "_alpha", mx.transitions.easing.None.easeNone, 100, 0, 2, true); var _local6 = new mx.transitions.Tween(_local4, "_y", mx.transitions.easing.None.easeNone, (chainfactor.Board.WIDTH * chainfactor.Board.GRIDSIZE) / 2, 0, 2, true); } static var BONUS_AMOUNT = 25000; }
Symbol 285 MovieClip [__Packages.chainfactor.powers.PThaw] Frame 0
class chainfactor.powers.PThaw extends chainfactor.powers.Power { var _name, _cost, id, category, effectColors, effectStartTime, effectHolder, effectMask, effectDone; function PThaw () { super(); _name = "Erode"; _cost = 0.87; id = 12; category = "destruction"; effectColors = new Array(); effectColors = [8287667, 9142991, 14472191]; } function doEffect() { effectStartTime = getTimer(); util.ThinkManager.registerThinker(this); effectHolder = _root.boardHolder.createEmptyMovieClip("erodeEffect", _root.boardHolder.getNextHighestDepth()); effectMask = _root.boardHolder.createEmptyMovieClip("erodeMask", _root.boardHolder.getNextHighestDepth()); effectMask.beginFill(0); var _local3 = chainfactor.Board.WIDTH * chainfactor.Board.GRIDSIZE; effectMask.lineTo(_local3, 0); effectMask.lineTo(_local3, _local3); effectMask.lineTo(0, _local3); effectMask.lineTo(0, 0); effectMask.endFill(); effectHolder.setMask(effectMask); } function effectCleanup() { effectHolder.removeMovieClip(); effectMask.removeMovieClip(); effectDone(); } function think(aCt) { var _local8 = getTimer() - effectStartTime; if (_local8 >= EFFECT_TIME) { var me = this; util.ThinkManager.removeThinker(this); var _local7 = new mx.transitions.Tween(effectHolder, "_alpha", mx.transitions.easing.Regular.easeIn, 100, 0, 1, true); _local7.onMotionFinished = function () { me.effectCleanup(); }; } else { var _local4 = 0; while (_local4 < 50) { var _local6 = Math.floor(Math.random() * 3) + 1; var _local3 = effectHolder.getNextHighestDepth(); var _local2 = effectHolder.attachMovie("erode_line_" + _local6, "line_" + _local3, _local3); _local6 = Math.floor(Math.random() * effectColors.length); var _local5 = new Color(_local2); _local5.setRGB(effectColors[_local6]); _local2._alpha = Math.floor(Math.random() * (EFFECT_ALPHA_MAX - EFFECT_ALPHA_MIN)) + EFFECT_ALPHA_MIN; _local2._x = Math.floor(((Math.random() * chainfactor.Board.WIDTH) * chainfactor.Board.GRIDSIZE) * 2); _local4++; } } } function doFire() { var _local3 = chainfactor.Board.__get__grid(); var _local2 = 0; while (_local2 < chainfactor.Board.HEIGHT) { var _local1 = 0; while (_local1 < chainfactor.Board.WIDTH) { _local3[_local1][_local2].thaw(); _local1++; } chainfactor.Board.startFalling(); _local2++; } } static var EFFECT_TIME = 300; static var EFFECT_ALPHA_MIN = 20; static var EFFECT_ALPHA_MAX = 60; }
Symbol 286 MovieClip [__Packages.chainfactor.powers.PShow] Frame 0
class chainfactor.powers.PShow extends chainfactor.powers.Power { var _name, _cost, id, category; function PShow () { super(); _name = "Reveal"; _cost = 0.05; id = 8; category = "transformation"; } function doFire() { var _local3 = chainfactor.Board.__get__grid(); var _local2 = 0; while (_local2 < chainfactor.Board.HEIGHT) { var _local1 = 0; while (_local1 < chainfactor.Board.WIDTH) { _local3[_local1][_local2].showAmount(); _local1++; } _local2++; } } }
Symbol 287 MovieClip [__Packages.chainfactor.powers.PPrime] Frame 0
class chainfactor.powers.PPrime extends chainfactor.powers.Power { var _name, _cost, id, category, effectMC, _effectInterval, effectDone; function PPrime () { super(); _name = "Sift"; _cost = 0.15; id = 1; category = "calculation"; } function doEffect() { effectMC = _root.boardHolder.attachMovie("effect_sift", "effectSift", _root.boardHolder.getNextHighestDepth()); _effectInterval = setInterval(this, "effectFade", EFFECT_TIME * 1000); } function effectFade() { clearInterval(_effectInterval); var me = this; var _local2 = new mx.transitions.Tween(effectMC, "_alpha", mx.transitions.easing.Regular.easeIn, 100, 0, 0.5, true); _local2.onMotionFinished = function () { me.effectCleanup(); }; } function effectCleanup() { effectMC.removeMovieClip(); effectDone(); } function doFire() { var _local7 = chainfactor.Board.__get__grid(); var _local6 = false; var _local5 = 0; while (_local5 < chainfactor.Board.HEIGHT) { var _local2 = ""; var _local4 = new Array(); var _local3 = 0; while (_local3 < chainfactor.Board.WIDTH) { var _local1 = _local7[_local3][_local5]; if ((_local1 && ((!_local1.isGray) || (_local1.isGray && (_local1.amountShowing)))) && (_local1.typeOf() != "bomb")) { _local2 = _local2 + _local1.amount; _local4.push(_local1); } if ((_local2 != "") && ((((!_local1) || (_local1.typeOf() == "bomb")) || (_local1.isGray && (!_local1.amountShowing))) || (_local3 == (chainfactor.Board.WIDTH - 1)))) { trace("NUMSTR: " + _local2); if (util.Util.isPrime(parseInt(_local2))) { trace("FOUND A PRIME!"); _local6 = true; chainfactor.Board.disappearPieces(_local4); } _local4 = new Array(); _local2 = ""; } _local3++; } _local5++; } } static var EFFECT_TIME = 0.6; }
Symbol 288 MovieClip [__Packages.chainfactor.powers.PPostpone] Frame 0
class chainfactor.powers.PPostpone extends chainfactor.powers.Power { var _name, _cost, id, category; function PPostpone () { super(); _name = "Postpone"; _cost = 0; id = 11; category = "provision"; } function doFire() { var _local3 = this; trace("and this is where this shit is getting fired: " + chainfactor.LevelManager.EVENTS_PER_LEVEL); chainfactor.LevelManager.EVENTS_PER_LEVEL = Math.floor(chainfactor.LevelManager.EVENTS_PER_LEVEL * 1.5); chainfactor.LevelManager.initBehavior(chainfactor.AddGarbage); if (_global.numberBalls.mode == "survival") { chainfactor.LevelManager.MIN_EVENTS_PER_LEVEL = chainfactor.LevelManager.EVENTS_PER_LEVEL; } } function destroy() { } }
Symbol 289 MovieClip [__Packages.chainfactor.AddGarbage] Frame 0
class chainfactor.AddGarbage implements chainfactor.ILevelBehavior { function AddGarbage () { } function doChange(aLevel) { chainfactor.Board.addGarbageRow(); } function typeOf() { return("AddGarbage"); } }
Symbol 290 MovieClip [__Packages.chainfactor.powers.PPromote] Frame 0
class chainfactor.powers.PPromote extends chainfactor.powers.Power { static var EFFECT_COLORS; var _name, _cost, id, category, effectHolder, effectDone; function PPromote () { super(); _name = "Promote"; _cost = 0.36; id = 10; category = "calculation"; EFFECT_COLORS = new Array(); EFFECT_COLORS = [9478854, 11309254, 9142991]; } function doEffect() { var _local8 = Math.floor(Math.random() * (EFFECT_MAX_ARROWS - EFFECT_MIN_ARROWS)) + EFFECT_MIN_ARROWS; effectHolder = _root.boardHolder.createEmptyMovieClip("effectHolder", _root.boardHolder.getNextHighestDepth()); var _local4 = 0; while (_local4 < _local8) { var _local3 = effectHolder.attachMovie("promote_arrow", "promoteArrow_" + _local4, _local4); _local3._y = EFFECT_START_Y; _local3._x = (Math.floor(Math.random() * chainfactor.Board.WIDTH) * chainfactor.Board.GRIDSIZE) + (chainfactor.Board.GRIDSIZE - (Math.random() * chainfactor.Board.GRIDSIZE)); _local3._alpha = 55; var _local5 = new Color(_local3); _local5.setRGB(EFFECT_COLORS[Math.floor(Math.random() * EFFECT_COLORS.length)]); var me = this; var _local7 = EFFECT_END_Y_MIN + (Math.random() * EFFECT_END_FUDGE); var _local6 = new mx.transitions.Tween(_local3, "_y", mx.transitions.easing.None.easeNone, EFFECT_START_Y, _local7, EFFECT_TIME, true); if (_local4 == 0) { _local6.onMotionFinished = function () { me.effectCleanup(); }; } _local4++; } } function effectCleanup() { var _local3 = new mx.transitions.Tween(effectHolder, "_alpha", mx.transitions.easing.Regular.easeIn, 100, 0, 0.5, true); _local3.onMotionFinished = function () { _root.boardHolder.effectHolder.removeMovieClip(); }; effectDone(); } function doFire() { var _local4 = chainfactor.Board.__get__grid(); var _local3 = 0; while (_local3 < chainfactor.Board.WIDTH) { var _local2 = 0; while (_local2 < chainfactor.Board.HEIGHT) { var _local1 = _local4[_local3][_local2]; if (!_local1.isGray) { if (_local1.amount == chainfactor.Piece.MAX_AMT) { _local1.makeGray(); } else { _local1.amount++; _local1.showAmount(); } } _local2++; } _local3++; } chainfactor.Board.startFalling(); } static var EFFECT_TIME = 0.5; static var EFFECT_MIN_ARROWS = 4; static var EFFECT_MAX_ARROWS = 7; static var EFFECT_START_Y = 395; static var EFFECT_END_Y_MIN = -180; static var EFFECT_END_FUDGE = -600; }
Symbol 291 MovieClip [__Packages.chainfactor.powers.PSniper] Frame 0
class chainfactor.powers.PSniper extends chainfactor.powers.Power { var _name, _cost, id, category, _effectMC, _enabled, _broadcaster, __get__cost, mc, _mouseListener, _reticle, _messageMC; function PSniper () { super(); _name = "Cull"; _cost = 0.32; id = 7; category = "destruction"; } function effectCleanup() { _effectMC.removeMovieClip(); } function fire() { if (_enabled && (boardHasGray())) { chainfactor.Board.defaultMultiplier(); doFire(); _broadcaster.broadcastMessage("onFire", __get__cost()); } else { mc.clickRing.removeMovieClip(); } } function boardHasGray() { var _local3 = chainfactor.Board.__get__grid(); var _local2 = 0; while (_local2 < chainfactor.Board.WIDTH) { var _local1 = 0; while (_local1 < chainfactor.Board.HEIGHT) { if (_local3[_local2][_local1].isGray) { return(true); } _local1++; } _local2++; } return(false); } function doFire() { var me = this; _mouseListener = new Object(); _mouseListener.onMouseUp = function () { me.clickPieceAt(Math.floor(_root.boardHolder._xmouse / chainfactor.Board.GRIDSIZE), Math.floor(_root.boardHolder._ymouse / chainfactor.Board.GRIDSIZE)); }; _mouseListener.onMouseMove = function () { me.pieceRollOver(Math.floor(_root.boardHolder._xmouse / chainfactor.Board.GRIDSIZE), Math.floor(_root.boardHolder._ymouse / chainfactor.Board.GRIDSIZE)); }; Mouse.addListener(_mouseListener); chainfactor.Game.__set__allowDrop(false); _reticle = _root.boardHolder.createEmptyMovieClip("reticle", _root.boardHolder.getNextHighestDepth()); _reticle.lineStyle(2, 0); util.Util.drawCircle(_reticle, 0, 0, chainfactor.Board.GRIDSIZE / 2); _reticle.moveTo(0, (-chainfactor.Board.GRIDSIZE) / 2); _reticle.lineTo(0, (-chainfactor.Board.GRIDSIZE) / 4); _reticle.moveTo(0, chainfactor.Board.GRIDSIZE / 2); _reticle.lineTo(0, chainfactor.Board.GRIDSIZE / 4); _reticle.moveTo((-chainfactor.Board.GRIDSIZE) / 2, 0); _reticle.lineTo((-chainfactor.Board.GRIDSIZE) / 4, 0); _reticle.moveTo(chainfactor.Board.GRIDSIZE / 2, 0); _reticle.lineTo(chainfactor.Board.GRIDSIZE / 4, 0); _reticle.moveTo((-chainfactor.Board.GRIDSIZE) / 8, 0); _reticle.lineTo(chainfactor.Board.GRIDSIZE / 8, 0); _reticle.moveTo(0, (-chainfactor.Board.GRIDSIZE) / 8); _reticle.lineTo(0, chainfactor.Board.GRIDSIZE / 8); _reticle._visible = false; showMessage(); _global.numberBalls.hideSpawn(); } function showMessage() { _messageMC = _root.boardHolder.createEmptyMovieClip("cullMessage", _root.boardHolder.getNextHighestDepth()); var _local3 = _messageMC.createTextField("txt", 1, 0, 0, chainfactor.Board.WIDTH * chainfactor.Board.GRIDSIZE, 200); var _local4 = new TextFormat(); _local4.size = 18; _local4.color = 0; _local4.font = "EurostileBold"; _local3.text = "CHOOSE A GRAY DISC TO REMOVE"; _local3.embedFonts = true; _local3.selectable = false; _local3.autoSize = "center"; _local3.setTextFormat(_local4); _messageMC._y = (chainfactor.Board.HEIGHT * chainfactor.Board.GRIDSIZE) + 40; } function hideMessage() { _messageMC.removeMovieClip(); } function pieceRollOver(aX, aY) { var _local2 = chainfactor.Board.getPieceAt(aX, aY); if (_local2.isGray) { _reticle._visible = true; _reticle._x = (aX * chainfactor.Board.GRIDSIZE) + (chainfactor.Board.GRIDSIZE / 2); _reticle._y = (aY * chainfactor.Board.GRIDSIZE) + (chainfactor.Board.GRIDSIZE / 2); } else { _reticle._visible = false; } } function clickPieceAt(aX, aY) { var _local3 = chainfactor.Board.getPieceAt(aX, aY); if (_local3 && (_local3.isGray)) { chainfactor.SoundManager.playSound("sound_cull", 100); _effectMC = _root.boardHolder.attachMovie("cull_effect", "cull_effect", _root.boardHolder.getNextHighestDepth()); _effectMC._x = (aX * chainfactor.Board.GRIDSIZE) + (chainfactor.Board.GRIDSIZE / 2); _effectMC._y = (aY * chainfactor.Board.GRIDSIZE) + (chainfactor.Board.GRIDSIZE / 2); var _local4 = new mx.transitions.Tween(_effectMC, "_alpha", mx.transitions.easing.Regular.easeIn, 0, 100, 0.25, true); var _local6 = new mx.transitions.Tween(_effectMC, "_xscale", mx.transitions.easing.Regular.easeIn, 0, 100, 0.25, true); var _local5 = new mx.transitions.Tween(_effectMC, "_yscale", mx.transitions.easing.Regular.easeIn, 0, 100, 0.25, true); var me = this; _local4.onMotionFinished = function () { me.snipePiece(aX, aY); }; } } function snipePiece(aX, aY) { var _local3 = chainfactor.Board.getPieceAt(aX, aY); delete _mouseListener.onMouseUp; chainfactor.Game.__set__allowDrop(true); var me = this; var _local4 = new Object(); _local4.onDisappear = function (aPiece) { me.cleanup(); }; _local3.addListener(_local4); chainfactor.Board.disappearPieces([_local3]); _reticle.removeMovieClip(); hideMessage(); _global.numberBalls.showSpawn(); var _local5 = new mx.transitions.Tween(_effectMC, "_alpha", mx.transitions.easing.Regular.easeIn, 100, 0, 0.25, true); _local5.onMotionFinished = function () { me.effectCleanup(); }; } function cleanup() { Mouse.removeListener(_mouseListener); hideMessage(); } }
Symbol 292 MovieClip [__Packages.chainfactor.powers.PGoldCoin] Frame 0
class chainfactor.powers.PGoldCoin extends chainfactor.powers.Power { var _name, _cost, _listener, id, category, _spawned, _mc, _targetAmount, _targetCol; function PGoldCoin () { super(); _name = "Lure"; _cost = 0; _listener = new Object(); id = 5; category = "provision"; } function doFire() { var me = this; _listener.onPieceDropped = function (aPiece, aX, aY) { me.handlePieceDropped(aPiece, aX, aY); }; _listener.onSpawnPiece = function () { me.handleSpawnPiece(); }; util.StaticBroadcaster.addListener(_listener); var _local2 = new Object(); _local2.onTilt = function () { trace("lure hearing tilt"); me.handleTilt(); }; util.StaticBroadcaster.addListener(_local2); } function handleTilt() { if (_spawned) { pickColumn(true); } } function handleSpawnPiece() { if (_spawned) { pickColumn(); } else { tryToSpawn(); } } function tryToSpawn() { trace("TRYING TO SPAWN: " + chainfactor.powers.PowerManager.__get__mana()); if ((Math.random() < SPAWN_CHANCE) && (chainfactor.powers.PowerManager.__get__mana() >= MANA_DRAIN)) { spawn(); pickColumn(); chainfactor.SoundManager.playSound("sound_lure", 100); } } function spawn() { _mc.removeMovieClip(); _mc = _root.boardHolder.attachMovie("lure_anim", "lure", _root.boardHolder.getNextHighestDepth()); var _local3 = _mc.createTextField("award", 1, 0, -10, 0, 0); _local3.textColor = 0; _local3.embedFonts = true; _local3.selectable = false; _local3.autoSize = "center"; _local3.text = ""; _targetAmount = 0; setAmountText(0); _spawned = true; } function unSpawn() { _spawned = false; _mc.removeMovieClip(); } function setAmountText(aAmt) { var _local2 = new TextFormat(); _local2.size = 13; _local2.color = 0; _local2.align = "center"; _local2.font = "EurostileBold"; _mc.award.text = aAmt; _mc.award.setTextFormat(_local2); } function pickColumn(aIgnoreMana) { if ((chainfactor.powers.PowerManager.__get__mana() >= MANA_DRAIN) || (aIgnoreMana)) { var _local2 = _targetCol; var _local3 = 0; while ((_targetCol == _local2) || (chainfactor.Board.getColumnSize(_targetCol) == chainfactor.Board.HEIGHT)) { _targetCol = Math.floor(Math.random() * chainfactor.Board.WIDTH); if (_local3 > 30) { _targetCol = _local2; break; } _local3++; } var _local7 = chainfactor.Board.getEmptyRow(_targetCol); if (!_targetAmount) { _targetAmount = MIN_REWARD; } else if (!aIgnoreMana) { _targetAmount = _targetAmount + (MIN_REWARD_INC + (Math.floor(Math.random() * ((MAX_REWARD_INC - MIN_REWARD_INC) / 10)) * 10)); } var _local5 = (_targetCol * chainfactor.Board.GRIDSIZE) + (chainfactor.Board.GRIDSIZE / 2); var _local4 = (_local7 * chainfactor.Board.GRIDSIZE) + (chainfactor.Board.GRIDSIZE / 2); _mc._visible = true; var myMC = _mc; var newAmt = _targetAmount; if ((_mc._x == 0) && (_mc._y == 0)) { _mc._x = _local5; _mc._y = _local4; setAmountText(_targetAmount); } else { var myMC = _mc; var _local9 = new mx.transitions.Tween(myMC, "_x", mx.transitions.easing.Regular.easeOut, myMC._x, _local5, 0.5, true); var _local6 = new mx.transitions.Tween(myMC, "_y", mx.transitions.easing.Regular.easeOut, myMC._y, _local4, 0.5, true); var newAmt = _targetAmount; var me = this; _local6.onMotionFinished = function () { me.setAmountText(newAmt); var _local2 = new mx.transitions.Tween(myMC, "_xscale", mx.transitions.easing.Bounce.easeIn, 110, 100, 0.25, true); var _local1 = new mx.transitions.Tween(myMC, "_yscale", mx.transitions.easing.Bounce.easeIn, 110, 100, 0.25, true); }; } } else { unSpawn(); } } function handlePieceDropped(aPiece, aX, aY) { if (aX == _targetCol) { if (_spawned) { awardPoints(_targetAmount); chainfactor.powers.PowerManager.deductMana(MANA_DRAIN); chainfactor.SoundManager.playSound("sound_lure_reward", 10); } } else if (_spawned) { chainfactor.SoundManager.playSound("sound_lure_unspawn", 50); unSpawn(); } } function awardPoints(aAmt) { _global.numberBalls.addPoints(aAmt); chainfactor.Board.showAward(aAmt, _targetCol, _mc._y / chainfactor.Board.GRIDSIZE); } function destroy() { delete _listener.onPieceDropped; delete _listener.onSpawnPiece; unSpawn(); } static var SPAWN_CHANCE = 0.05; static var MANA_DRAIN = 0.03; static var MIN_REWARD = 500; static var MIN_REWARD_INC = 10; static var MAX_REWARD_INC = 50; }
Symbol 293 MovieClip [__Packages.mx.transitions.easing.Bounce] Frame 0
class mx.transitions.easing.Bounce { function Bounce () { } static function easeOut(t, b, c, d) { t = t / d; if (t < 0.363636363636364) { return((c * ((7.5625 * t) * t)) + b); } if (t < 0.727272727272727) { t = t - 0.545454545454545; return((c * (((7.5625 * t) * t) + 0.75)) + b); } if (t < 0.909090909090909) { t = t - 0.818181818181818; return((c * (((7.5625 * t) * t) + 0.9375)) + b); } t = t - 0.954545454545455; return((c * (((7.5625 * t) * t) + 0.984375)) + b); } static function easeIn(t, b, c, d) { return((c - easeOut(d - t, 0, c, d)) + b); } static function easeInOut(t, b, c, d) { if (t < (d / 2)) { return((easeIn(t * 2, 0, c, d) * 0.5) + b); } return(((easeOut((t * 2) - d, 0, c, d) * 0.5) + (c * 0.5)) + b); } static var version = "1.1.0.52"; }
Symbol 294 MovieClip [__Packages.chainfactor.powers.PBomb] Frame 0
class chainfactor.powers.PBomb extends chainfactor.powers.Power { var _name, _cost, id, category, _enabled, _broadcaster, __get__cost; function PBomb () { super(); _name = "Detonate"; _cost = 0.24; id = 4; category = "destruction"; } function fire() { if (_enabled) { chainfactor.Board.defaultMultiplier(); doFire(); _broadcaster.broadcastMessage("onFire", __get__cost()); chainfactor.powers.PowerManager.__set__ignoreBreaks(false); } } function doFire() { _global.numberBalls.fillBag([new chainfactor.PieceBomb()]); } }
Symbol 295 MovieClip [__Packages.chainfactor.PieceBomb] Frame 0
class chainfactor.PieceBomb extends chainfactor.Piece { var _ticks, _listener, amount, mc, highlights, _x, _y, _clock; function PieceBomb () { super(); _ticks = Math.floor(Math.random() * (MAX_TICKS - MIN_TICKS)) + MIN_TICKS; _currentTick = _ticks + 1; var me = this; _listener = new Object(); _listener.onSpawnPiece = function () { me.tick(); }; _listener.onDisappearDone = function () { me.checkExplode(); }; _listener.onGameOver = function () { me.handleGameOver(); }; util.StaticBroadcaster.addListener(_listener); } function typeOf() { return("bomb"); } function handleGameOver() { cleanUp(); } function pickRandomAmount() { amount = 0; } function tick() { drawWedge(MAX_TICKS - _currentTick, 6710886); _currentTick--; } function checkExplode() { if (_currentTick == 0) { explode(); } } function explode() { if (!_exploded) { chainfactor.Game.__set__allowDrop(false); chainfactor.SoundManager.playSound("sound_detonate", 100); chainfactor.powers.PowerManager.__set__ignoreBreaks(true); _exploded = true; var _local4 = new mx.transitions.Tween(mc, "_alpha", mx.transitions.easing.Regular.easeIn, 200, 0, EXPLODE_TIME, true); var _local3 = new mx.transitions.Tween(mc, "_xscale", mx.transitions.easing.Regular.easeIn, 100, 200, EXPLODE_TIME, true); var _local2 = new mx.transitions.Tween(mc, "_yscale", mx.transitions.easing.Regular.easeIn, 100, 200, EXPLODE_TIME, true); highlights = new Array(); highlights.push(drawHilite(_x, _y - 1)); highlights.push(drawHilite(_x, _y + 1)); highlights.push(drawHilite(_x - 1, _y)); highlights.push(drawHilite(_x + 1, _y)); var me = this; _local2.onMotionFinished = function () { me.finishExplode(); }; } } function finishExplode() { var _local3 = new Array(); var _local10 = chainfactor.Board.__get__grid()[_x][_y - 1]; var _local9 = chainfactor.Board.__get__grid()[_x][_y + 1]; var _local8 = chainfactor.Board.__get__grid()[_x - 1][_y]; var _local7 = chainfactor.Board.__get__grid()[_x + 1][_y]; _local3 = [_local10, _local9, _local8, _local7]; var _local5 = null; var _local6 = new Array(); var _local2 = 0; while (_local2 < _local3.length) { if (_local3[_local2].isBomb) { _local3[_local2].explode(); } else if (_local3[_local2]) { _local5 = _local3[_local2]; _local6.push(_local3[_local2]); var me = this; var _local4 = new Object(); _local4.onDisappear = function (aPiece) { me.cleanUp(); }; _local3[_local2].addListener(_local4); } _local2++; } if (!_local5) { cleanUp(); } else { chainfactor.Board.disappearPieces(_local6); } } function cleanUp() { var _local2 = 0; while (_local2 < highlights.length) { highlights[_local2].removeMovieClip(); _local2++; } chainfactor.Board.removePiecesSynced([this]); chainfactor.Board.__get__grid()[_x][_y] = null; util.StaticBroadcaster.removeListener(_listener); } function drawHilite(aX, aY) { var _local1; if ((((aX >= 0) && (aY >= 0)) && (aX < chainfactor.Board.WIDTH)) && (aY < chainfactor.Board.HEIGHT)) { var _local5 = chainfactor.Board.back.getNextHighestDepth(); _local1 = chainfactor.Board.back.createEmptyMovieClip("hi_" + _local5, _local5); _local1.beginFill(0); var _local3 = aX * chainfactor.Board.GRIDSIZE; var _local2 = aY * chainfactor.Board.GRIDSIZE; var _local6 = _local3 + chainfactor.Board.GRIDSIZE; var _local4 = _local2 + chainfactor.Board.GRIDSIZE; _local1.moveTo(_local3, _local2); _local1.lineTo(_local6, _local2); _local1.lineTo(_local6, _local4); _local1.lineTo(_local3, _local4); _local1.lineTo(_local3, _local2); _local1.endFill(); } return(_local1); } function draw(aHolder) { var _local3 = aHolder.getNextHighestDepth(); mc = aHolder.createEmptyMovieClip("piece_" + _local3, _local3); var _local4 = mc.createEmptyMovieClip("circle", 0); _local4.beginFill(0, 100); util.Util.drawCircle(_local4, 0, 0, (chainfactor.Board.GRIDSIZE / 2) - 1); _clock = mc.createEmptyMovieClip("clock", 1); var _local6 = [2236962, 4473924, 8947848, 11184810, 13421772, 16777215]; var _local2 = 0; while (_local2 < MAX_TICKS) { if (_local2 < (MAX_TICKS - _ticks)) { drawWedge(_local2, 6710886); } else { drawWedge(_local2, 16777215); } _local2++; } return(mc); } function drawWedge(aPos, aColor) { var _local2 = _clock.createEmptyMovieClip("wedge_" + aPos, aPos); _local2.lineStyle(0, 2); _local2.beginFill(aColor); _local2.drawWedge(0, 0, ((aPos - 2) * (-360 / MAX_TICKS)) - 30, -360 / MAX_TICKS, chainfactor.Board.GRIDSIZE / 4); _local2.endFill(); } function thaw() { } function showAmount() { } static var MIN_TICKS = 2; static var MAX_TICKS = 6; static var EXPLODE_TIME = 0.5; var _currentTick = -1; var isBomb = true; var _exploded = false; }
Symbol 296 MovieClip [__Packages.chainfactor.powers.PEfficiency] Frame 0
class chainfactor.powers.PEfficiency extends chainfactor.powers.Power { var _name, _cost, id, category; function PEfficiency () { super(); _name = "Thrive"; _cost = 0; id = 6; category = "provision"; } function doFire() { chainfactor.powers.PowerMeter.isEfficient = true; } }
Symbol 297 MovieClip [__Packages.chainfactor.powers.PRotate] Frame 0
class chainfactor.powers.PRotate extends chainfactor.powers.Power { var _name, _cost, id, category, _listener, _broadcaster; function PRotate () { super(); _name = "Tilt"; _cost = 0.08; id = 2; category = "transformation"; } function doFire() { var me = this; var _local2 = new mx.transitions.Tween(chainfactor.Board.mc._parent, "_rotation", mx.transitions.easing.Regular.easeOut, 0, 90, 0.75, true); _local2.onMotionFinished = function () { me.movePieces(); chainfactor.Board.mc._parent._rotation = 0; }; chainfactor.Game.__set__allowDrop(false); } function movePieces() { var _local5 = new Array(); var _local6 = chainfactor.Board.__get__grid(); var _local4 = 0; while (_local4 < chainfactor.Board.WIDTH) { _local5[_local4] = new Array(); var _local3 = 0; while (_local3 < chainfactor.Board.HEIGHT) { _local5[_local4][_local3] = _local6[_local4][_local3]; _local3++; } _local4++; } chainfactor.Board.clearAll(); _local4 = 0; while (_local4 < chainfactor.Board.WIDTH) { var _local3 = 0; while (_local3 < chainfactor.Board.HEIGHT) { var _local2 = _local5[_local4][_local3]; chainfactor.Board.addPieceAt(_local2, (chainfactor.Board.HEIGHT - _local2.y) - 1, _local2.x); if (_local2.amountShowing) { _local2.showAmount(); } _local3++; } _local4++; } var me = this; _listener = new Object(); _listener.onDisappearDone = function () { me.handleDisappearDone(); }; util.StaticBroadcaster.addListener(_listener); chainfactor.Board.startFalling(); } function handleDisappearDone() { util.StaticBroadcaster.removeListener(_listener); _broadcaster.broadcastMessage("onTilt"); } static var BONUS_AMOUNT = 5000; }
Symbol 298 MovieClip [__Packages.chainfactor.powers.PScoreballs] Frame 0
class chainfactor.powers.PScoreballs extends chainfactor.powers.Power { var _name, _cost, id, category, _flashStart, effectDone, _listener; function PScoreballs () { super(); _name = "Transmute"; _cost = 0.17; id = 3; category = "calculation"; } function doEffect() { util.ThinkManager.registerThinker(this); _flashStart = getTimer(); } function think(aCt) { var _local10 = util.Util.addCommas(_global.numberBalls.score); var _local9 = ""; if ((getTimer() - _flashStart) <= FLASH_TIME) { if ((aCt % FLASH_PERIOD) == 0) { var _local5 = 0; while (_local5 < _local10.length) { var _local4 = _local10.charAt(_local5); var _local6; var _local8 = ""; var _local7 = ""; if ((parseInt(_local4) >= 1) && (parseInt(_local4) <= 7)) { if (toggle) { _local8 = "<b>"; _local7 = "</b>"; _local6 = "#" + chainfactor.Piece.COLORS[parseInt(_local4)].toString(16); } else { _local6 = "#000000"; } _local9 = _local9 + (((((("<font color='" + _local6) + "'>") + _local8) + _local4) + _local7) + "</font>"); } else { _local9 = _local9 + _local4; } _local5++; } toggle = !toggle; _root.score.htmlText = _local9; } } else { util.ThinkManager.removeThinker(this); _root.score.text = util.Util.addCommas(_global.numberBalls.score); effectDone(); } } function doFire() { var _local5 = "" + _global.numberBalls.score; var _local6 = new Array(); var _local4 = 0; while (_local4 < _local5.length) { var _local3 = new chainfactor.Piece(); _local3.amount = parseInt(_local5.charAt(_local4, 1)); if ((_local3.amount > 0) && (_local3.amount <= 7)) { _local3.isGray = false; _local6.push(_local3); } _local4++; } transmuteScoreDisplay(); _global.numberBalls.fillBag(_local6); } function transmuteScoreDisplay() { var _local2 = "" + _global.numberBalls.score; } function destroy() { _global.numberBalls.removeListener(_listener); delete _listener; } static var FLASH_PERIOD = 5; static var FLASH_TIME = 1000; static var MAX_BAG = 15; var toggle = true; }
Symbol 299 MovieClip [__Packages.chainfactor.Randomizer] Frame 0
class chainfactor.Randomizer { function Randomizer () { } static function getRandomString(aStr) { var _local4 = (((_global.numberBalls.score + "") + "^") + ",") + chainfactor.LevelManager.__get__level(); var _local3 = (((aStr + "") + ")") + "~") + util.Util.MD5(_local4); var _local2 = (((util.Util.MD5(_local3) + "") + "|") + "u") + _global.numberBalls.mode; return(util.Util.MD5(_local2)); } }
Symbol 300 MovieClip [__Packages.chainfactor.HighScoreManager] Frame 0
class chainfactor.HighScoreManager { function HighScoreManager () { } static function getScore(aMode) { trace("trying to get score: " + aMode); var _local1 = SharedObject.getLocal("hiScore_" + aMode); trace("here's what i got: " + _local1.data.highScore); return(Number(_local1.data.highScore)); } static function saveScore(aScore, aMode) { if ((aScore > getScore(aMode)) || (!getScore(aMode))) { var _local1 = SharedObject.getLocal("hiScore_" + aMode); _local1.data.highScore = aScore; _local1.flush(); } } static function getName() { var _local1 = SharedObject.getLocal("hiScore_name"); return(_local1.data.name); } static function saveName(aName) { var _local1 = SharedObject.getLocal("hiScore_name"); _local1.data.name = aName; _local1.flush(); } }
Symbol 301 MovieClip [__Packages.chainfactor.LevelClock] Frame 0
class chainfactor.LevelClock extends MovieClip { var levelNum, nextLevelTxt, __get__level, ballMCs, createEmptyMovieClip, getNextHighestDepth, __get__nextLevel, __get__dropCount; function LevelClock () { super(); } function set level(aNum) { levelNum.text = "LEVEL " + aNum; nextLevelTxt._x = levelNum.textWidth + 2; //return(__get__level()); } function set nextLevel(aNum) { var _local3 = 0; while (_local3 < ballMCs.length) { ballMCs[_local3].removeMovieClip(); _local3++; } ballMCs = new Array(); _local3 = 0; while (_local3 < aNum) { var _local2 = createEmptyMovieClip("ball_" + _local3, getNextHighestDepth()); _local2.beginFill(16777215); util.Util.drawCircle(_local2, (_local3 * ((BALL_RADIUS * 2) + 2)) + BALL_RADIUS, 20, BALL_RADIUS); _local2.endFill(); _local2.color = new Color(_local2); _local2.color.setRGB(13421772); ballMCs.push(_local2); _local3++; } //return(__get__nextLevel()); } function set dropCount(aNum) { ballMCs[(ballMCs.length - aNum) - 1].color.setRGB(0); nextLevelTxt.text = ("NEXT LEVEL IN " + aNum) + " DROP"; if (aNum > 1) { nextLevelTxt.text = nextLevelTxt.text + "S"; } //return(__get__dropCount()); } static var BALL_RADIUS = 4; }
Symbol 302 MovieClip [__Packages.chainfactor.SaveScore] Frame 0
class chainfactor.SaveScore extends MovieClip { var button_close, button_save, name, notes, gotoAndStop, removeMovieClip; function SaveScore () { super(); var me = this; button_close.onRelease = function () { me.close(); }; button_save.onRelease = function () { this.enabled = false; me.save(); }; button_save._visible = true; var _local3 = chainfactor.HighScoreManager.getName(); if (_local3) { name.text = _local3; } } function save() { if (name.text != "") { var me = this; var _local4 = new LoadVars(); _local4.onLoad = function (success) { if (success) { trace("RESPONSE:\n" + this); } }; _local4.onData = function (src) { trace("response from server: " + src); if (src == undefined) { this.notes.text = this.notes.text + "\n\nERROR CONNECTING TO SERVER"; this.gotoAndStop(2); } else { me.parseResponse(new XML(src)); } }; var _local3 = new LoadVars(); chainfactor.HighScoreManager.saveName(name.text); var _local6 = name.text; _local3.type = "hiscore"; _local3.score = _global.numberBalls.score; _local3.level = chainfactor.LevelManager.level; _local3.mode = _global.numberBalls.mode; _local3.name = name.text; _local3.version = chainfactor.Game.VERSION; _local3.notes = notes.text; _local3.p1 = chainfactor.powers.PowerManager.__get__inventory()[0].id; _local3.p2 = chainfactor.powers.PowerManager.__get__inventory()[1].id; _local3.p3 = chainfactor.powers.PowerManager.__get__inventory()[2].id; if ((!_local3.p1) || (_local3.p1 == undefined)) { _local3.p1 = 0; } if ((!_local3.p2) || (_local3.p2 == undefined)) { _local3.p2 = 0; } if ((!_local3.p3) || (_local3.p3 == undefined)) { _local3.p3 = 0; } _local3.ver = chainfactor.Stats.getSession()[1]; var _local5 = chainfactor.Randomizer.getRandomString(_local6); _local3.sendAndLoad(SAVE_URL + _local5, _local4, "POST"); } } function parseResponse(aXML, src) { aXML.ignoreWhite = true; notes.text = aXML; gotoAndStop(2); } function fadeOut() { var _local2 = new mx.transitions.Tween(this, "_alpha", mx.transitions.easing.None.easeNone, 100, 0, 0.5, true); button_save._visible = false; var me = this; _local2.onMotionFinished = function () { me.close(); }; } function close() { removeMovieClip(); } var SAVE_URL = "save_score.php?sid="; }
Symbol 303 MovieClip [__Packages.chainfactor.PowerUnlocker] Frame 0
class chainfactor.PowerUnlocker extends MovieClip { var _x, _y, _mode, credit, msgBox, button_submit, codeInput, _key; function PowerUnlocker () { super(); _x = 158; _y = 160; _mode = "attempt"; credit._visible = false; msgBox.text = "Enter a Code"; var me = this; button_submit.onRelease = function () { me.handleSubmit(); }; } function handleSubmit() { switch (_mode) { case "attempt" : sendCode(); break; case "email" : sendCredit(); } } function sendCode() { msgBox.text = "Submitting code..."; var me = this; var _local2 = new LoadVars(); _local2.onError = function () { }; _local2.onLoad = function (success) { if (success) { trace("RESPONSE:\n" + this); } else { me.msgBox.text = "Unable to contact server."; } }; _local2.onData = function (src) { if (src == undefined) { me.msgBox.text = "Server error."; } else { var _local1 = new XML(); _local1.ignoreWhite = true; _local1.parseXML(src); me.parseCodeResponse(_local1); } }; var _local3 = new LoadVars(); _local3.task = "u"; _local3.keyword = codeInput.keyword.text; _local3.number = codeInput.keyNumber.text; _local3.sendAndLoad(URL + util.Util.getRandomString(32), _local2, "POST"); } function parseCodeResponse(aXML) { trace("xml: " + aXML); var _local2 = aXML.firstChild.childNodes[0]; trace("nodie: " + _local2.attributes.mode); if (_local2.attributes.mode == "unlock") { msgBox.text = "Congratulations. You were the first person to enter this code.\nEnter your name and email below for credit."; codeInput._visible = false; credit._visible = true; _key = _local2.attributes.id; _mode = "email"; chainfactor.SoundManager.playSound("sound_good_code", 100); } else if (_local2.attributes.mode == "failure") { trace("this should be failure: " + msgBox); msgBox.text = "Incorrect code."; chainfactor.SoundManager.playSound("sound_bad_code", 100); } else if (_local2.attributes.mode == "found") { msgBox.text = "Code entry successful. Enter your name and email below."; codeInput._visible = false; credit._visible = true; _key = _local2.attributes.id; _mode = "email"; chainfactor.SoundManager.playSound("sound_good_code", 100); } else { trace("i should be here"); msgBox.text = "Incorrect code"; chainfactor.SoundManager.playSound("sound_bad_code", 100); } } function sendCredit() { var me = this; var _local3 = new LoadVars(); _local3.onLoad = function (success) { if (success) { trace("RESPONSE:\n" + this); } }; _local3.onData = function (src) { if (src == undefined) { } else { me.parseCreditResponse(new XML(src)); } }; var _local2 = new LoadVars(); _local2.task = "c"; _local2.key = _key; _local2.name = credit.name.text; _local2.email = credit.email.text; _local2.sendAndLoad(URL + util.Util.getRandomString(32), _local3, "POST"); } function parseCreditResponse(aXML) { var me = this; msgBox.text = "Thank you."; credit._visible = false; var _local2 = new mx.transitions.Tween(this, "_alpha", mx.transitions.easing.None.easeNone, 100, 0, 1, true); _local2.onMotionFinished = function () { me.removeMovieClip(); }; } static var URL = "unlock.php?sess="; }
Symbol 304 MovieClip [__Packages.chainfactor.Customize] Frame 0
class chainfactor.Customize extends MovieClip { var _visible, button_go, bWidth, bHeight, starting, grayChance, min, max, graysShow, thawSteps, basePoints, baseChain, eventsPerLevel, minDrops, dropsDecrease, swapDepths, allDrops, incGray, addGarbage; function Customize () { super(); _visible = false; var me = this; button_go.onRelease = function () { me.go(); }; } function go() { chainfactor.Board.WIDTH = parseInt(bWidth.text); chainfactor.Board.HEIGHT = parseInt(bHeight.text); chainfactor.Game.STARTING_PIECES = parseInt(starting.text); chainfactor.Piece.GRAY_CHANCE = parseFloat(grayChance.text); chainfactor.Piece.MIN_AMT = parseInt(min.text); chainfactor.Piece.MAX_AMT = parseInt(max.text); chainfactor.Piece.GRAYS_SHOW_VALUE = parseInt(graysShow.text); chainfactor.Piece.THAW_STEPS = parseInt(thawSteps.text); chainfactor.Game.BASE_POINTS = parseInt(basePoints.text); chainfactor.Game.BASE_CHAIN = parseFloat(baseChain.text); chainfactor.LevelManager.EVENTS_PER_LEVEL = parseInt(eventsPerLevel.text); chainfactor.LevelManager.MIN_EVENTS_PER_LEVEL = parseInt(minDrops.text); chainfactor.LevelManager.EVENTS_DECREASE_PER_LEVEL = dropsDecrease.text; util.ThinkManager.removeThinker(chainfactor.Board.__get__instance()); _global.numberBalls.init(); chainfactor.LevelManager.disable(); chainfactor.LevelManager.initBehavior(chainfactor.AddGarbage); _visible = false; } function show() { swapDepths(1000); bWidth.text = chainfactor.Board.WIDTH; bHeight.text = chainfactor.Board.HEIGHT; starting.text = chainfactor.Game.STARTING_PIECES; grayChance.text = chainfactor.Piece.GRAY_CHANCE; min.text = chainfactor.Piece.MIN_AMT; max.text = chainfactor.Piece.MAX_AMT; graysShow.text = chainfactor.Piece.GRAYS_SHOW_VALUE; thawSteps.text = chainfactor.Piece.THAW_STEPS; basePoints.text = chainfactor.Game.BASE_POINTS; baseChain.text = chainfactor.Game.BASE_CHAIN; eventsPerLevel.text = chainfactor.LevelManager.EVENTS_PER_LEVEL; minDrops.text = chainfactor.LevelManager.MIN_EVENTS_PER_LEVEL; dropsDecrease.text = chainfactor.LevelManager.EVENTS_DECREASE_PER_LEVEL; allDrops.text = chainfactor.Game.COUNT_ALL_DROPS; if (chainfactor.LevelManager.__get__behaviorType() == "IncreaseGray") { incGray.selected = true; } else { addGarbage.selected = true; } _visible = true; } }
Symbol 305 MovieClip [__Packages.chainfactor.ChainDisplay] Frame 0
class chainfactor.ChainDisplay extends MovieClip { var fadeTween, txt, _alpha; function ChainDisplay () { super(); } function showChain(aNum) { if ((aNum > 1) && (aNum != _curNum)) { _curNum = aNum; var _local3 = aNum; if (_local3 > 6) { _local3 = 6; } var _local6 = Math.min(aNum, 12); var _local4 = Math.min(100, 10 + (60 * (aNum / 12))); chainfactor.SoundManager.playSound("sound_chain_" + aNum, _local4); fadeTween.stop(); txt.text = "CHAIN x" + aNum; if (_alpha == 0) { new mx.transitions.Tween(this, "_alpha", mx.transitions.easing.Regular.easeIn, 0, 100, 0.35, true); } var _local5 = new mx.transitions.Tween(this, "_xscale", mx.transitions.easing.Regular.easeIn, 115, 100, 0.35, true); new mx.transitions.Tween(this, "_yscale", mx.transitions.easing.Regular.easeIn, 115, 100, 0.35, true); var me = this; _local5.onMotionFinished = function () { me.resetNum(); }; fadeTween = new mx.transitions.Tween(this, "foo", mx.transitions.easing.Regular.easeIn, 100, 0, FADE_DELAY, true); fadeTween.onMotionFinished = function () { me.fadeTween = new mx.transitions.Tween(me, "_alpha", mx.transitions.easing.Regular.easeIn, 100, 0, chainfactor.ChainDisplay.FADE_TIME_NORMAL, true); }; } } function resetNum() { _curNum = 0; } static var FADE_DELAY = 2; static var FADE_TIME_NORMAL = 1; var _curNum = 0; }
Symbol 306 MovieClip [__Packages.chainfactor.powers.PowerChooser] Frame 0
class chainfactor.powers.PowerChooser extends MovieClip { var _x, _y, _mcs, powersChosen, _maxPowers, info, button_go, _rollOver, createEmptyMovieClip, getNextHighestDepth, _highlightHolder, _powerHolder, debug, removeMovieClip, chooseMsg; function PowerChooser () { super(); _x = 0; _y = 0; _mcs = new Array(); powersChosen = 0; _maxPowers = 3; info._visible = false; button_go.onRelease = function () { this._parent.go(); }; drawIcons(); loadPowerXML(); _rollOver = createEmptyMovieClip("rollRing", getNextHighestDepth()); _rollOver.lineStyle(2, 15558518); util.Util.drawCircle(_rollOver, 0, 0, (MC_WIDTH / 2) + 5); _rollOver._visible = false; } function drawIcons() { var _local6 = chainfactor.powers.PowerManager.__get__allPowers(); var _local9 = 16; var _local10 = 60; var _local8 = _local9; var _local7 = _local10; _highlightHolder = createEmptyMovieClip("highlightHolder", getNextHighestDepth()); _powerHolder = createEmptyMovieClip("powerHolder", getNextHighestDepth()); var _local3 = 0; while (_local3 < _local6.length) { var _local2 = _local6[_local3].getMovieClip(this); _local2._xscale = 240; _local2._yscale = 240; if ((_local3 % 3) == 0) { if (_local3 > 0) { _local7 = _local7 + (MC_WIDTH + SPACING); } _local2._x = _local9; _local2._y = _local7; } else { _local2._x = (_local8 + MC_WIDTH) + SPACING; _local2._y = _local7; } _local2.id = _local6[_local3].id; _local8 = _local2._x; _local2.onRelease = function () { this._parent.doClick(this); }; _local2.onRollOver = function () { this._parent.showRollover(this); }; _local2.onRollOut = function () { this._parent.hideRollover(); }; var _local5 = _powerHolder.attachMovie("unlock_meter", "unlockMeter_" + _local2.id, _powerHolder.getNextHighestDepth()); _local5._x = _local2._x + 53; _local5._y = _local2._y + 73; _local5._visible = false; _local2.power = _local6[_local3]; _local2._visible = false; _mcs.push(_local2); var _local4 = _highlightHolder.createEmptyMovieClip("hi_" + _local2.id, _highlightHolder.getNextHighestDepth()); _local4.beginFill(14733921); util.Util.drawCircle(_local4, (_local2._x + (MC_WIDTH / 2)) + 1, (_local2._y + (MC_WIDTH / 2)) + 1, 55); _local4.endFill(); _local4._visible = false; _local3++; } } function showPowers() { var _local3 = 0; while (_local3 < _mcs.length) { _mcs[_local3]._visible = true; var _local4 = _powerHolder["unlockMeter_" + _mcs[_local3].id]; var _local5 = _mcs[_local3].power; if (_local5.unlocked) { _local4._visible = false; } else { _mcs[_local3]._alpha = 50; _local4._visible = true; var _local2 = 0; while (_local2 < _local5.unlockers.length) { _local4["pip_" + _local2]._visible = false; _local2++; } } _local3++; } } function showRollover(aMC) { var _local5 = aMC.id; info._visible = true; var _local4 = chainfactor.powers.PowerManager.getPowerById(_local5); info.powerName.htmlText = ("<b>" + _local4.name.toUpperCase()) + "</b>"; info.description.text = _local4.description; var _local2 = 0; while (_local2 < 3) { var _local3 = ""; if (_local4.unlockers[_local2]) { _local3 = _local4.unlockers[_local2]; } info["unlocker_" + _local2].htmlText = ("<b>" + _local3) + "</b>"; _local2++; } if (_local4.unlocked) { info.powerStatus.htmlText = "<b>UNLOCKED</b>"; info.lock.gotoAndStop(2); info.powerStatusMsg.text = "This power is available for use."; info.category.autoSize = "left"; info.category.text = ("[" + _local4.category.toUpperCase()) + "]"; info.cost.text = ("ENERGY COST: " + (_local4.cost * 100)) + "%"; if (_local4.cost == 0) { info.cost.text = info.cost.text + " (PASSIVE)"; } info.cost._x = (info.category._x + info.category.textWidth) + 5; } else { info.powerStatus.htmlText = "<b>LOCKED</b>"; info.lock.gotoAndStop(1); info.powerStatusMsg.text = "This power is currently locked."; info.category.text = ""; info.cost.text = ""; } _rollOver._visible = true; _rollOver._x = (aMC._x + (MC_WIDTH / 2)) + 0.5; _rollOver._y = (aMC._y + (MC_WIDTH / 2)) + 0.5; } function hideRollover() { info._visible = false; _rollOver._visible = false; } function doClick(aMC) { var _local4 = chainfactor.powers.PowerManager.getPowerById(aMC.id); var _local2 = _highlightHolder["hi_" + aMC.id]; if (_local4.unlocked) { if (_local2._visible) { _local2._visible = false; aMC.chosen = false; powersChosen--; } else if (powersChosen < maxPowers) { _local2._visible = true; aMC.chosen = true; powersChosen++; } } } function loadPowerXML() { var me = this; var _local2 = new XML(); _local2.ignoreWhite = true; _local2.onLoad = function () { this.debug.text = "xml loaded"; me.parseXML(this); }; _local2.load((XML_URL + "?sess=") + util.Util.getRandomString(32)); } function parseXML(aXML) { debug.text = aXML; var _local8 = 0; while (_local8 < aXML.firstChild.childNodes.length) { var _local5 = aXML.firstChild.childNodes[_local8]; var _local7 = parseInt(_local5.attributes.id); var _local6; var _local3; var _local4 = 0; while (_local4 < _mcs.length) { if (_mcs[_local4].id == _local7) { _local6 = _mcs[_local4]; _local3 = _local6.power; break; } _local4++; } debug.text = debug.text + ("\nFOUND AN ID: " + _local7); debug.text = debug.text + ("\nAND AN MC: " + _local6); debug.text = debug.text + ("\nAND A POWER? " + _local3); _local3.unlockers = new Array(); if (_local5.attributes.unlocked == "1") { _local3.unlocked = true; } _local4 = 0; while (_local4 < _local5.childNodes.length) { var _local2 = _local5.childNodes[_local4]; if (_local2.nodeName == "desc") { _local3.description = _local2.firstChild.nodeValue; } else if (_local2.nodeName == "unlockedby") { _local3.unlockers.push(_local2.firstChild.nodeValue); } _local4++; } var _local9 = _powerHolder["unlockMeter_" + _local3.id]; debug.text = debug.text + ("\nAND A METER? " + _local9); _local8++; } showPowers(); } function go() { chainfactor.powers.PowerManager.clearPowers(); var _local3 = 0; while (_local3 < _mcs.length) { if (_mcs[_local3].chosen) { chainfactor.powers.PowerManager.addPower(_mcs[_local3].power); } _local3++; } _global.numberBalls.init(); chainfactor.powers.PowerManager.init(); chainfactor.powers.PowerManager.displayPowerButtons(); removeMovieClip(); } function set maxPowers(aM) { _maxPowers = aM; chooseMsg.htmlText = ("<b>CHOOSE " + aM) + " POWER"; if (aM > 1) { chooseMsg.text = chooseMsg.text + "S"; } //return(maxPowers); } function get maxPowers() { return(_maxPowers); } static var XML_URL = "powers.php"; static var MC_WIDTH = 85; static var MC_SCALE = 240; static var SPACING = 19; }

Library Items

Symbol 1 Font [ArialBoldBitmap]
Symbol 2 Font [ArialBitmap]
Symbol 3 Font [04b03]Used by:102 119 148 149 154 155 250
Symbol 4 Font [EurostileBold]Used by:67 68 70 72 73 75 76 87 89 90 91 92 93 95 104 105 125 126 128 130 131 134 135 137 158 159 165 166 168 201 242 246 247 252 261
Symbol 5 Sound [sound_good_code]
Symbol 6 Sound [sound_fall]
Symbol 7 Sound [sound_lure_reward]
Symbol 8 Sound [sound_lure]
Symbol 9 Sound [sound_lure_unspawn]
Symbol 10 Sound [sound_disappear]
Symbol 11 Sound [sound_chain_9]
Symbol 12 Sound [sound_chain_8]
Symbol 13 Sound [sound_chain_7]
Symbol 14 Sound [sound_chain_12]
Symbol 15 Sound [sound_chain_11]
Symbol 16 Sound [sound_chain_10]
Symbol 17 Sound [sound_cull]
Symbol 18 Sound [sound_chain_6]
Symbol 19 Sound [sound_chain_5]
Symbol 20 Sound [sound_chain_4]
Symbol 21 Sound [sound_chain_3]
Symbol 22 Sound [sound_chain_2]
Symbol 23 Sound [sound_bad_code]
Symbol 24 Sound [sound_detonate]
Symbol 25 Sound [sound_power]
Symbol 26 Bitmap [crack4.png]Used by:115
Symbol 27 Bitmap [crack1.png]Used by:244
Symbol 28 GraphicUsed by:29
Symbol 29 MovieClip [power_postpone]Uses:28
Symbol 30 GraphicUsed by:32 37 40 47 50 57
Symbol 31 GraphicUsed by:32
Symbol 32 MovieClipUses:30 31Used by:33
Symbol 33 MovieClip [power_tilt]Uses:32
Symbol 34 GraphicUsed by:35
Symbol 35 MovieClip [power_transmute]Uses:34
Symbol 36 GraphicUsed by:37
Symbol 37 MovieClipUses:30 36Used by:38
Symbol 38 MovieClip [power_cull]Uses:37
Symbol 39 GraphicUsed by:40
Symbol 40 MovieClipUses:30 39Used by:41
Symbol 41 MovieClip [power_lure]Uses:40
Symbol 42 GraphicUsed by:43
Symbol 43 MovieClip [power_promote]Uses:42
Symbol 44 GraphicUsed by:45
Symbol 45 MovieClip [power_reveal]Uses:44
Symbol 46 GraphicUsed by:47
Symbol 47 MovieClipUses:30 46Used by:48
Symbol 48 MovieClip [power_erode]Uses:47
Symbol 49 GraphicUsed by:50
Symbol 50 MovieClipUses:30 49Used by:51
Symbol 51 MovieClip [power_detonate]Uses:50
Symbol 52 GraphicUsed by:53
Symbol 53 MovieClip [power_thrive]Uses:52
Symbol 54 GraphicUsed by:55
Symbol 55 MovieClip [power_sift]Uses:54
Symbol 56 GraphicUsed by:57
Symbol 57 MovieClipUses:30 56Used by:58
Symbol 58 MovieClip [power_redeem]Uses:57
Symbol 59 GraphicUsed by:60 65 71 74 77 106 127 132 136 160 167
Symbol 60 MovieClip [cornerBox]Uses:59Used by:65 71 74 77 106 127 132 136 138 160 163 167 169
Symbol 61 GraphicUsed by:65
Symbol 62 FontUsed by:63 64 94 96
Symbol 63 TextUses:62Used by:65
Symbol 64 TextUses:62Used by:65
Symbol 65 ButtonUses:60 61 63 64 59Used by:85
Symbol 66 GraphicUsed by:71 74 77
Symbol 67 TextUses:4Used by:71
Symbol 68 TextUses:4Used by:71
Symbol 69 GraphicUsed by:71 74 77
Symbol 70 TextUses:4Used by:71 74 77
Symbol 71 ButtonUses:60 66 67 68 69 70 59Used by:85
Symbol 72 TextUses:4Used by:74
Symbol 73 TextUses:4Used by:74
Symbol 74 ButtonUses:60 66 72 73 69 70 59Used by:85
Symbol 75 TextUses:4Used by:77
Symbol 76 TextUses:4Used by:77
Symbol 77 ButtonUses:60 66 75 76 69 70 59Used by:85
Symbol 78 GraphicUsed by:84
Symbol 79 BitmapUsed by:80
Symbol 80 GraphicUses:79Used by:81
Symbol 81 MovieClipUses:80Used by:84
Symbol 82 BitmapUsed by:83
Symbol 83 GraphicUses:82Used by:84
Symbol 84 MovieClipUses:78 81 83Used by:85
Symbol 85 MovieClip [modeChooser]Uses:65 71 74 77 84
Symbol 86 GraphicUsed by:111 241
Symbol 87 EditableTextUses:4 100Used by:111
Symbol 88 GraphicUsed by:103
Symbol 89 EditableTextUses:4 100Used by:103
Symbol 90 EditableTextUses:4Used by:103
Symbol 91 EditableTextUses:4Used by:103
Symbol 92 EditableTextUses:4Used by:103
Symbol 93 TextUses:4Used by:103
Symbol 94 EditableTextUses:62Used by:103
Symbol 95 EditableTextUses:4 100Used by:103
Symbol 96 EditableTextUses:62Used by:103
Symbol 97 GraphicUsed by:99
Symbol 98 GraphicUsed by:99
Symbol 99 MovieClipUses:97 98Used by:103 141
Symbol 100 FontUsed by:87 89 95 101 107 108 201 242 246 247 251 252 261
Symbol 101 EditableTextUses:100Used by:103
Symbol 102 EditableTextUses:3Used by:103
Symbol 103 MovieClipUses:88 89 90 91 92 93 94 95 96 99 101 102Used by:111
Symbol 104 TextUses:4Used by:106
Symbol 105 TextUses:4Used by:106
Symbol 106 ButtonUses:60 104 105 59Used by:111
Symbol 107 TextUses:100Used by:110 249
Symbol 108 TextUses:100Used by:110 249
Symbol 109 GraphicUsed by:110 206 240 249
Symbol 110 ButtonUses:107 108 109Used by:111
Symbol 111 MovieClip [powerChooser]Uses:86 87 103 106 110
Symbol 112 BitmapUsed by:113
Symbol 113 GraphicUses:112Used by:114
Symbol 114 MovieClip [gridBack]Uses:113
Symbol 115 GraphicUses:26Used by:116
Symbol 116 MovieClip [crack2]Uses:115
Symbol 117 FontUsed by:118 248
Symbol 118 EditableTextUses:117Used by:120
Symbol 119 EditableTextUses:3Used by:120
Symbol 120 MovieClip [levelClock]Uses:118 119
Symbol 121 GraphicUsed by:138
Symbol 122 FontUsed by:123 144 146 147 152 153 231
Symbol 123 EditableTextUses:122Used by:138
Symbol 124 GraphicUsed by:127
Symbol 125 TextUses:4Used by:127
Symbol 126 TextUses:4Used by:127
Symbol 127 ButtonUses:60 124 125 126 59Used by:138
Symbol 128 TextUses:4Used by:138
Symbol 129 GraphicUsed by:132
Symbol 130 TextUses:4Used by:132
Symbol 131 TextUses:4Used by:132
Symbol 132 ButtonUses:60 129 130 131 59Used by:138
Symbol 133 GraphicUsed by:136
Symbol 134 TextUses:4Used by:136
Symbol 135 TextUses:4Used by:136
Symbol 136 ButtonUses:60 133 134 135 59Used by:138
Symbol 137 TextUses:4Used by:138
Symbol 138 MovieClip [saveScore]Uses:60 121 123 127 128 132 136 137
Symbol 139 GraphicUsed by:140
Symbol 140 MovieClipUses:139Used by:141
Symbol 141 MovieClip [unlock_meter]Uses:99 140
Symbol 142 GraphicUsed by:143 162 258 259
Symbol 143 ButtonUses:142Used by:163
Symbol 144 EditableTextUses:122Used by:163
Symbol 145 GraphicUsed by:150
Symbol 146 EditableTextUses:122Used by:150
Symbol 147 EditableTextUses:122Used by:150
Symbol 148 TextUses:3Used by:150
Symbol 149 TextUses:3Used by:150
Symbol 150 MovieClipUses:145 146 147 148 149Used by:163
Symbol 151 GraphicUsed by:156
Symbol 152 EditableTextUses:122Used by:156
Symbol 153 EditableTextUses:122Used by:156
Symbol 154 TextUses:3Used by:156
Symbol 155 TextUses:3Used by:156
Symbol 156 MovieClipUses:151 152 153 154 155Used by:163
Symbol 157 GraphicUsed by:160
Symbol 158 TextUses:4Used by:160
Symbol 159 TextUses:4Used by:160
Symbol 160 ButtonUses:60 157 158 159 59Used by:163
Symbol 161 GraphicUsed by:163
Symbol 162 ButtonUses:142Used by:163
Symbol 163 MovieClip [powerUnlocker]Uses:143 60 144 150 156 160 161 162
Symbol 164 GraphicUsed by:167
Symbol 165 TextUses:4Used by:167
Symbol 166 TextUses:4Used by:167
Symbol 167 ButtonUses:60 164 165 166 59Used by:169
Symbol 168 TextUses:4Used by:169
Symbol 169 MovieClip [gameOver]Uses:60 167 168
Symbol 170 GraphicUsed by:171
Symbol 171 MovieClipUses:170Used by:172
Symbol 172 MovieClip [erode_line_3]Uses:171
Symbol 173 GraphicUsed by:174
Symbol 174 MovieClipUses:173Used by:175
Symbol 175 MovieClip [erode_line_2]Uses:174
Symbol 176 GraphicUsed by:177
Symbol 177 MovieClipUses:176Used by:178
Symbol 178 MovieClip [erode_line_1]Uses:177
Symbol 179 GraphicUsed by:180
Symbol 180 MovieClip [promote_arrow]Uses:179
Symbol 181 GraphicUsed by:192
Symbol 182 BitmapUsed by:183
Symbol 183 GraphicUses:182Used by:192
Symbol 184 BitmapUsed by:185
Symbol 185 GraphicUses:184Used by:192
Symbol 186 BitmapUsed by:187
Symbol 187 GraphicUses:186Used by:192
Symbol 188 BitmapUsed by:189
Symbol 189 GraphicUses:188Used by:192
Symbol 190 BitmapUsed by:191
Symbol 191 GraphicUses:190Used by:192
Symbol 192 MovieClip [lure_anim]Uses:181 183 185 187 189 191
Symbol 193 GraphicUsed by:194
Symbol 194 MovieClipUses:193Used by:197
Symbol 195 GraphicUsed by:196
Symbol 196 MovieClipUses:195Used by:197
Symbol 197 MovieClip [cull_effect]Uses:194 196
Symbol 198 GraphicUsed by:199
Symbol 199 MovieClipUses:198Used by:200
Symbol 200 MovieClip [effect_sift]Uses:199
Symbol 201 EditableTextUses:4 100Used by:202
Symbol 202 MovieClipUses:201Used by:203
Symbol 203 MovieClip [score_float]Uses:202
Symbol 204 FontUsed by:205 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 232 233 234 235 236 237 238 239
Symbol 205 TextUses:204Used by:206
Symbol 206 ButtonUses:205 109Used by:241
Symbol 207 TextUses:204Used by:241
Symbol 208 EditableTextUses:204Used by:241
Symbol 209 TextUses:204Used by:241
Symbol 210 EditableTextUses:204Used by:241
Symbol 211 TextUses:204Used by:241
Symbol 212 EditableTextUses:204Used by:241
Symbol 213 TextUses:204Used by:241
Symbol 214 EditableTextUses:204Used by:241
Symbol 215 TextUses:204Used by:241
Symbol 216 EditableTextUses:204Used by:241
Symbol 217 TextUses:204Used by:241
Symbol 218 EditableTextUses:204Used by:241
Symbol 219 TextUses:204Used by:241
Symbol 220 EditableTextUses:204Used by:241
Symbol 221 TextUses:204Used by:241
Symbol 222 EditableTextUses:204Used by:241
Symbol 223 TextUses:204Used by:241
Symbol 224 EditableTextUses:204Used by:241
Symbol 225 TextUses:204Used by:241
Symbol 226 EditableTextUses:204Used by:241
Symbol 227 TextUses:204Used by:241
Symbol 228 EditableTextUses:204Used by:241
Symbol 229 TextUses:204Used by:241
Symbol 230 EditableTextUses:204Used by:241
Symbol 231 TextUses:122Used by:241
Symbol 232 TextUses:204Used by:241
Symbol 233 TextUses:204Used by:241
Symbol 234 EditableTextUses:204Used by:241
Symbol 235 TextUses:204Used by:241
Symbol 236 EditableTextUses:204Used by:241
Symbol 237 TextUses:204Used by:241
Symbol 238 EditableTextUses:204Used by:241
Symbol 239 TextUses:204Used by:240
Symbol 240 ButtonUses:239 109Used by:241
Symbol 241 MovieClip [customize]Uses:86 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 240Used by:Timeline
Symbol 242 EditableTextUses:4 100Used by:243
Symbol 243 MovieClip [chain_display]Uses:242Used by:Timeline
Symbol 244 GraphicUses:27Used by:245
Symbol 245 MovieClip [crack1]Uses:244Used by:Timeline
Symbol 246 EditableTextUses:4 100Used by:Timeline
Symbol 247 EditableTextUses:4 100Used by:Timeline
Symbol 248 EditableTextUses:117Used by:Timeline
Symbol 249 ButtonUses:107 108 109Used by:Timeline
Symbol 250 EditableTextUses:3Used by:Timeline
Symbol 251 TextUses:100Used by:Timeline
Symbol 252 EditableTextUses:4 100Used by:Timeline
Symbol 253 BitmapUsed by:254
Symbol 254 GraphicUses:253Used by:260
Symbol 255 BitmapUsed by:256
Symbol 256 GraphicUses:255Used by:257
Symbol 257 MovieClipUses:256Used by:260
Symbol 258 ButtonUses:142Used by:260
Symbol 259 ButtonUses:142Used by:260
Symbol 260 MovieClipUses:254 257 258 259Used by:Timeline
Symbol 261 EditableTextUses:4 100Used by:Timeline
Symbol 262 MovieClipUsed by:Timeline
Symbol 263 MovieClip [__Packages.util.StaticBroadcaster]
Symbol 264 MovieClip [__Packages.chainfactor.Game]
Symbol 265 MovieClip [__Packages.chainfactor.Board]
Symbol 266 MovieClip [__Packages.util.ThinkManager]
Symbol 267 MovieClip [__Packages.chainfactor.SoundManager]
Symbol 268 MovieClip [__Packages.mx.transitions.OnEnterFrameBeacon]
Symbol 269 MovieClip [__Packages.mx.transitions.BroadcasterMX]
Symbol 270 MovieClip [__Packages.mx.transitions.Tween]
Symbol 271 MovieClip [__Packages.mx.transitions.easing.None]
Symbol 272 MovieClip [__Packages.chainfactor.Group]
Symbol 273 MovieClip [__Packages.util.Broadcaster]
Symbol 274 MovieClip [__Packages.chainfactor.Piece]
Symbol 275 MovieClip [__Packages.mx.transitions.easing.Regular]
Symbol 276 MovieClip [__Packages.util.Util]
Symbol 277 MovieClip [__Packages.chainfactor.Debug]
Symbol 278 MovieClip [__Packages.chainfactor.LevelManager]
Symbol 279 MovieClip [__Packages.chainfactor.ILevelBehavior]
Symbol 280 MovieClip [__Packages.chainfactor.Stats]
Symbol 281 MovieClip [__Packages.chainfactor.powers.PowerManager]
Symbol 282 MovieClip [__Packages.chainfactor.powers.PowerMeter]
Symbol 283 MovieClip [__Packages.chainfactor.powers.Power]
Symbol 284 MovieClip [__Packages.chainfactor.powers.PManaPoints]
Symbol 285 MovieClip [__Packages.chainfactor.powers.PThaw]
Symbol 286 MovieClip [__Packages.chainfactor.powers.PShow]
Symbol 287 MovieClip [__Packages.chainfactor.powers.PPrime]
Symbol 288 MovieClip [__Packages.chainfactor.powers.PPostpone]
Symbol 289 MovieClip [__Packages.chainfactor.AddGarbage]
Symbol 290 MovieClip [__Packages.chainfactor.powers.PPromote]
Symbol 291 MovieClip [__Packages.chainfactor.powers.PSniper]
Symbol 292 MovieClip [__Packages.chainfactor.powers.PGoldCoin]
Symbol 293 MovieClip [__Packages.mx.transitions.easing.Bounce]
Symbol 294 MovieClip [__Packages.chainfactor.powers.PBomb]
Symbol 295 MovieClip [__Packages.chainfactor.PieceBomb]
Symbol 296 MovieClip [__Packages.chainfactor.powers.PEfficiency]
Symbol 297 MovieClip [__Packages.chainfactor.powers.PRotate]
Symbol 298 MovieClip [__Packages.chainfactor.powers.PScoreballs]
Symbol 299 MovieClip [__Packages.chainfactor.Randomizer]
Symbol 300 MovieClip [__Packages.chainfactor.HighScoreManager]
Symbol 301 MovieClip [__Packages.chainfactor.LevelClock]
Symbol 302 MovieClip [__Packages.chainfactor.SaveScore]
Symbol 303 MovieClip [__Packages.chainfactor.PowerUnlocker]
Symbol 304 MovieClip [__Packages.chainfactor.Customize]
Symbol 305 MovieClip [__Packages.chainfactor.ChainDisplay]
Symbol 306 MovieClip [__Packages.chainfactor.powers.PowerChooser]

Instance Names

"score"Frame 1Symbol 246 EditableText
"versionNumber"Frame 1Symbol 250 EditableText
"highScore"Frame 1Symbol 252 EditableText
"longest"Frame 1Symbol 261 EditableText
"chainDisplay"Frame 1Symbol 243 MovieClip [chain_display]
"customize"Frame 1Symbol 241 MovieClip [customize]
"sound"Frame 1Symbol 262 MovieClip
"powerName"Symbol 103 MovieClip Frame 1Symbol 89 EditableText
"unlocker_0"Symbol 103 MovieClip Frame 1Symbol 90 EditableText
"unlocker_1"Symbol 103 MovieClip Frame 1Symbol 91 EditableText
"unlocker_2"Symbol 103 MovieClip Frame 1Symbol 92 EditableText
"powerStatusMsg"Symbol 103 MovieClip Frame 1Symbol 94 EditableText
"powerStatus"Symbol 103 MovieClip Frame 1Symbol 95 EditableText
"description"Symbol 103 MovieClip Frame 1Symbol 96 EditableText
"lock"Symbol 103 MovieClip Frame 1Symbol 99 MovieClip
"category"Symbol 103 MovieClip Frame 1Symbol 101 EditableText
"cost"Symbol 103 MovieClip Frame 1Symbol 102 EditableText
"chooseMsg"Symbol 111 MovieClip [powerChooser] Frame 1Symbol 87 EditableText
"info"Symbol 111 MovieClip [powerChooser] Frame 1Symbol 103 MovieClip
"button_go"Symbol 111 MovieClip [powerChooser] Frame 1Symbol 106 Button
"levelNum"Symbol 120 MovieClip [levelClock] Frame 1Symbol 118 EditableText
"nextLevelTxt"Symbol 120 MovieClip [levelClock] Frame 1Symbol 119 EditableText
"name"Symbol 138 MovieClip [saveScore] Frame 1Symbol 123 EditableText
"button_save"Symbol 138 MovieClip [saveScore] Frame 1Symbol 127 Button
"pip_2"Symbol 141 MovieClip [unlock_meter] Frame 1Symbol 140 MovieClip
"pip_1"Symbol 141 MovieClip [unlock_meter] Frame 1Symbol 140 MovieClip
"pip_0"Symbol 141 MovieClip [unlock_meter] Frame 1Symbol 140 MovieClip
"keyword"Symbol 150 MovieClip Frame 1Symbol 146 EditableText
"keyNumber"Symbol 150 MovieClip Frame 1Symbol 147 EditableText
"name"Symbol 156 MovieClip Frame 1Symbol 152 EditableText
"email"Symbol 156 MovieClip Frame 1Symbol 153 EditableText
"blocker"Symbol 163 MovieClip [powerUnlocker] Frame 1Symbol 143 Button
"msgBox"Symbol 163 MovieClip [powerUnlocker] Frame 1Symbol 144 EditableText
"codeInput"Symbol 163 MovieClip [powerUnlocker] Frame 1Symbol 150 MovieClip
"credit"Symbol 163 MovieClip [powerUnlocker] Frame 1Symbol 156 MovieClip
"button_submit"Symbol 163 MovieClip [powerUnlocker] Frame 1Symbol 160 Button
"button_close"Symbol 163 MovieClip [powerUnlocker] Frame 1Symbol 162 Button
"back"Symbol 169 MovieClip [gameOver] Frame 1Symbol 60 MovieClip [cornerBox]
"button_submit"Symbol 169 MovieClip [gameOver] Frame 1Symbol 167 Button
"maskee"Symbol 197 MovieClip [cull_effect] Frame 1Symbol 194 MovieClip
"mask"Symbol 197 MovieClip [cull_effect] Frame 1Symbol 196 MovieClip
"txt"Symbol 202 MovieClip Frame 1Symbol 201 EditableText
"inner"Symbol 203 MovieClip [score_float] Frame 1Symbol 202 MovieClip
"button_go"Symbol 241 MovieClip [customize] Frame 1Symbol 206 Button
"bWidth"Symbol 241 MovieClip [customize] Frame 1Symbol 208 EditableText
"bHeight"Symbol 241 MovieClip [customize] Frame 1Symbol 210 EditableText
"grayChance"Symbol 241 MovieClip [customize] Frame 1Symbol 212 EditableText
"starting"Symbol 241 MovieClip [customize] Frame 1Symbol 214 EditableText
"min"Symbol 241 MovieClip [customize] Frame 1Symbol 216 EditableText
"max"Symbol 241 MovieClip [customize] Frame 1Symbol 218 EditableText
"graysShow"Symbol 241 MovieClip [customize] Frame 1Symbol 220 EditableText
"thawSteps"Symbol 241 MovieClip [customize] Frame 1Symbol 222 EditableText
"basePoints"Symbol 241 MovieClip [customize] Frame 1Symbol 224 EditableText
"baseChain"Symbol 241 MovieClip [customize] Frame 1Symbol 226 EditableText
"pieceImage"Symbol 241 MovieClip [customize] Frame 1Symbol 228 EditableText
"grayImage"Symbol 241 MovieClip [customize] Frame 1Symbol 230 EditableText
"eventsPerLevel"Symbol 241 MovieClip [customize] Frame 1Symbol 234 EditableText
"dropsDecrease"Symbol 241 MovieClip [customize] Frame 1Symbol 236 EditableText
"minDrops"Symbol 241 MovieClip [customize] Frame 1Symbol 238 EditableText
"txt"Symbol 243 MovieClip [chain_display] Frame 1Symbol 242 EditableText
"sound_x"Symbol 260 MovieClip Frame 1Symbol 257 MovieClip
"music_x"Symbol 260 MovieClip Frame 1Symbol 257 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS1/AS2.
Protect (24)Timeline Frame 10 bytes ""
ExportAssets (56)Timeline Frame 1Symbol 1 as "ArialBoldBitmap"
ExportAssets (56)Timeline Frame 1Symbol 2 as "ArialBitmap"
ExportAssets (56)Timeline Frame 1Symbol 3 as "04b03"
ExportAssets (56)Timeline Frame 1Symbol 4 as "EurostileBold"
ExportAssets (56)Timeline Frame 1Symbol 5 as "sound_good_code"
ExportAssets (56)Timeline Frame 1Symbol 6 as "sound_fall"
ExportAssets (56)Timeline Frame 1Symbol 7 as "sound_lure_reward"
ExportAssets (56)Timeline Frame 1Symbol 8 as "sound_lure"
ExportAssets (56)Timeline Frame 1Symbol 9 as "sound_lure_unspawn"
ExportAssets (56)Timeline Frame 1Symbol 10 as "sound_disappear"
ExportAssets (56)Timeline Frame 1Symbol 11 as "sound_chain_9"
ExportAssets (56)Timeline Frame 1Symbol 12 as "sound_chain_8"
ExportAssets (56)Timeline Frame 1Symbol 13 as "sound_chain_7"
ExportAssets (56)Timeline Frame 1Symbol 14 as "sound_chain_12"
ExportAssets (56)Timeline Frame 1Symbol 15 as "sound_chain_11"
ExportAssets (56)Timeline Frame 1Symbol 16 as "sound_chain_10"
ExportAssets (56)Timeline Frame 1Symbol 17 as "sound_cull"
ExportAssets (56)Timeline Frame 1Symbol 18 as "sound_chain_6"
ExportAssets (56)Timeline Frame 1Symbol 19 as "sound_chain_5"
ExportAssets (56)Timeline Frame 1Symbol 20 as "sound_chain_4"
ExportAssets (56)Timeline Frame 1Symbol 21 as "sound_chain_3"
ExportAssets (56)Timeline Frame 1Symbol 22 as "sound_chain_2"
ExportAssets (56)Timeline Frame 1Symbol 23 as "sound_bad_code"
ExportAssets (56)Timeline Frame 1Symbol 24 as "sound_detonate"
ExportAssets (56)Timeline Frame 1Symbol 25 as "sound_power"
ExportAssets (56)Timeline Frame 1Symbol 26 as "crack4.png"
ExportAssets (56)Timeline Frame 1Symbol 27 as "crack1.png"
ExportAssets (56)Timeline Frame 1Symbol 29 as "power_postpone"
ExportAssets (56)Timeline Frame 1Symbol 33 as "power_tilt"
ExportAssets (56)Timeline Frame 1Symbol 35 as "power_transmute"
ExportAssets (56)Timeline Frame 1Symbol 38 as "power_cull"
ExportAssets (56)Timeline Frame 1Symbol 41 as "power_lure"
ExportAssets (56)Timeline Frame 1Symbol 43 as "power_promote"
ExportAssets (56)Timeline Frame 1Symbol 45 as "power_reveal"
ExportAssets (56)Timeline Frame 1Symbol 48 as "power_erode"
ExportAssets (56)Timeline Frame 1Symbol 51 as "power_detonate"
ExportAssets (56)Timeline Frame 1Symbol 53 as "power_thrive"
ExportAssets (56)Timeline Frame 1Symbol 55 as "power_sift"
ExportAssets (56)Timeline Frame 1Symbol 58 as "power_redeem"
ExportAssets (56)Timeline Frame 1Symbol 60 as "cornerBox"
ExportAssets (56)Timeline Frame 1Symbol 85 as "modeChooser"
ExportAssets (56)Timeline Frame 1Symbol 111 as "powerChooser"
ExportAssets (56)Timeline Frame 1Symbol 114 as "gridBack"
ExportAssets (56)Timeline Frame 1Symbol 116 as "crack2"
ExportAssets (56)Timeline Frame 1Symbol 120 as "levelClock"
ExportAssets (56)Timeline Frame 1Symbol 138 as "saveScore"
ExportAssets (56)Timeline Frame 1Symbol 141 as "unlock_meter"
ExportAssets (56)Timeline Frame 1Symbol 163 as "powerUnlocker"
ExportAssets (56)Timeline Frame 1Symbol 169 as "gameOver"
ExportAssets (56)Timeline Frame 1Symbol 172 as "erode_line_3"
ExportAssets (56)Timeline Frame 1Symbol 175 as "erode_line_2"
ExportAssets (56)Timeline Frame 1Symbol 178 as "erode_line_1"
ExportAssets (56)Timeline Frame 1Symbol 180 as "promote_arrow"
ExportAssets (56)Timeline Frame 1Symbol 192 as "lure_anim"
ExportAssets (56)Timeline Frame 1Symbol 197 as "cull_effect"
ExportAssets (56)Timeline Frame 1Symbol 200 as "effect_sift"
ExportAssets (56)Timeline Frame 1Symbol 203 as "score_float"
ExportAssets (56)Timeline Frame 1Symbol 241 as "customize"
ExportAssets (56)Timeline Frame 1Symbol 243 as "chain_display"
ExportAssets (56)Timeline Frame 1Symbol 245 as "crack1"
ExportAssets (56)Timeline Frame 1Symbol 263 as "__Packages.util.StaticBroadcaster"
ExportAssets (56)Timeline Frame 1Symbol 264 as "__Packages.chainfactor.Game"
ExportAssets (56)Timeline Frame 1Symbol 265 as "__Packages.chainfactor.Board"
ExportAssets (56)Timeline Frame 1Symbol 266 as "__Packages.util.ThinkManager"
ExportAssets (56)Timeline Frame 1Symbol 267 as "__Packages.chainfactor.SoundManager"
ExportAssets (56)Timeline Frame 1Symbol 268 as "__Packages.mx.transitions.OnEnterFrameBeacon"
ExportAssets (56)Timeline Frame 1Symbol 269 as "__Packages.mx.transitions.BroadcasterMX"
ExportAssets (56)Timeline Frame 1Symbol 270 as "__Packages.mx.transitions.Tween"
ExportAssets (56)Timeline Frame 1Symbol 271 as "__Packages.mx.transitions.easing.None"
ExportAssets (56)Timeline Frame 1Symbol 272 as "__Packages.chainfactor.Group"
ExportAssets (56)Timeline Frame 1Symbol 273 as "__Packages.util.Broadcaster"
ExportAssets (56)Timeline Frame 1Symbol 274 as "__Packages.chainfactor.Piece"
ExportAssets (56)Timeline Frame 1Symbol 275 as "__Packages.mx.transitions.easing.Regular"
ExportAssets (56)Timeline Frame 1Symbol 276 as "__Packages.util.Util"
ExportAssets (56)Timeline Frame 1Symbol 277 as "__Packages.chainfactor.Debug"
ExportAssets (56)Timeline Frame 1Symbol 278 as "__Packages.chainfactor.LevelManager"
ExportAssets (56)Timeline Frame 1Symbol 279 as "__Packages.chainfactor.ILevelBehavior"
ExportAssets (56)Timeline Frame 1Symbol 280 as "__Packages.chainfactor.Stats"
ExportAssets (56)Timeline Frame 1Symbol 281 as "__Packages.chainfactor.powers.PowerManager"
ExportAssets (56)Timeline Frame 1Symbol 282 as "__Packages.chainfactor.powers.PowerMeter"
ExportAssets (56)Timeline Frame 1Symbol 283 as "__Packages.chainfactor.powers.Power"
ExportAssets (56)Timeline Frame 1Symbol 284 as "__Packages.chainfactor.powers.PManaPoints"
ExportAssets (56)Timeline Frame 1Symbol 285 as "__Packages.chainfactor.powers.PThaw"
ExportAssets (56)Timeline Frame 1Symbol 286 as "__Packages.chainfactor.powers.PShow"
ExportAssets (56)Timeline Frame 1Symbol 287 as "__Packages.chainfactor.powers.PPrime"
ExportAssets (56)Timeline Frame 1Symbol 288 as "__Packages.chainfactor.powers.PPostpone"
ExportAssets (56)Timeline Frame 1Symbol 289 as "__Packages.chainfactor.AddGarbage"
ExportAssets (56)Timeline Frame 1Symbol 290 as "__Packages.chainfactor.powers.PPromote"
ExportAssets (56)Timeline Frame 1Symbol 291 as "__Packages.chainfactor.powers.PSniper"
ExportAssets (56)Timeline Frame 1Symbol 292 as "__Packages.chainfactor.powers.PGoldCoin"
ExportAssets (56)Timeline Frame 1Symbol 293 as "__Packages.mx.transitions.easing.Bounce"
ExportAssets (56)Timeline Frame 1Symbol 294 as "__Packages.chainfactor.powers.PBomb"
ExportAssets (56)Timeline Frame 1Symbol 295 as "__Packages.chainfactor.PieceBomb"
ExportAssets (56)Timeline Frame 1Symbol 296 as "__Packages.chainfactor.powers.PEfficiency"
ExportAssets (56)Timeline Frame 1Symbol 297 as "__Packages.chainfactor.powers.PRotate"
ExportAssets (56)Timeline Frame 1Symbol 298 as "__Packages.chainfactor.powers.PScoreballs"
ExportAssets (56)Timeline Frame 1Symbol 299 as "__Packages.chainfactor.Randomizer"
ExportAssets (56)Timeline Frame 1Symbol 300 as "__Packages.chainfactor.HighScoreManager"
ExportAssets (56)Timeline Frame 1Symbol 301 as "__Packages.chainfactor.LevelClock"
ExportAssets (56)Timeline Frame 1Symbol 302 as "__Packages.chainfactor.SaveScore"
ExportAssets (56)Timeline Frame 1Symbol 303 as "__Packages.chainfactor.PowerUnlocker"
ExportAssets (56)Timeline Frame 1Symbol 304 as "__Packages.chainfactor.Customize"
ExportAssets (56)Timeline Frame 1Symbol 305 as "__Packages.chainfactor.ChainDisplay"
ExportAssets (56)Timeline Frame 1Symbol 306 as "__Packages.chainfactor.powers.PowerChooser"

Dynamic Text Variables

chainfactor.Game.VERSIONSymbol 250 EditableText"<p align="right"></p>"




http://swfchan.com/5/22271/info.shtml
Created: 27/5 -2019 00:37:54 Last modified: 27/5 -2019 00:37:54 Server time: 11/05 -2024 20:23:15