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

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

Pinball.swf

This is the info page for
Flash #256943

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


Text
123456

999

Balls: 9

123456

SCROLL

1000

15

1000

EXIT

SOUND OFF

åäöinstructions

Attack the ramps and the drop-down targets with your balls of steel to bring back the bacon and even around-corners projections of deadly touch tarantulas.åäö

åäötimeleft

åäöinstructions

åäö

Theåäö

åäöinstructions

åäötimeleft

Score:

Bonus

Total score:

12344

345

123456

ActionScript [AS1/AS2]

Symbol 297 MovieClip [LedPanel] Frame 1
#initclip 26 Object.registerClass("LedPanel", king.LedPanel); #endinitclip
Symbol 300 MovieClip [PinballGameArea] Frame 1
#initclip 25 Object.registerClass("PinballGameArea", king.Pinball); #endinitclip
Symbol 320 Button
on (press) { _root.gameArea.exitButtonPressed(); }
Symbol 327 Button
on (press) { _root.gameArea.soundButtonPressed(); }
Symbol 329 MovieClip Frame 1
var startTime = getTimer(); var frames = 0; onEnterFrame = function () { frames++; var _local1 = getTimer(); if ((_local1 - startTime) > 1000) { fpsText.text = "FPS: " + frames; frames = 0; startTime = startTime + 1000; } };
Symbol 350 MovieClip [__Packages.king.Pinball] Frame 0
class king.Pinball extends MovieClip { var minigame, signTime, loadGameDataTime, communicator, quitIn, keyboardLaunchTime, shapes, replayMode, encoder, decoder, balls, flippers, currentLayer, areaLayers, ballLost, replayEncoder, bgMc, attachMovie, lager1, lager2, lineMc, createEmptyMovieClip, moveLineMc, pscript, lastTime, _ymouse, areas, firstNode, remainingGameTime, oldBalls, ledPanel, subHits, canNudge, unnudge, random, ballMc0; function Pinball () { super(); minigame = undefined; signTime = 0; loadGameDataTime = getTimer() + 500; communicator = new king.Communicator(); king.Collideable.pinball = this; quitIn = -1; keyboardLaunchTime = 0; shapes = new Object(); replayMode = false; encoder = new king.Encoder(); decoder = new king.Encoder(); balls = new Array(); flippers = new Array(); hasRunOutOfTime = false; currentLayer = "lager1"; areaLayers = new Object(); ballLost = false; if (!DEBUG_MODE) { _root.fpsMeter._visible = false; } else { replayEncoder = new king.Encoder(); } bgMc = attachMovie("BgLayer", "bgLayer", 0); lager1 = attachMovie("Layer1", "lager1", 10); lager2 = attachMovie("Layer2", "lager2", 20); lineMc = createEmptyMovieClip("lineMc", 1000); lineMc.cacheAsBitmap = true; moveLineMc = createEmptyMovieClip("moveLineMc", 9); var _local4 = 0; while (_local4 < 1) { attachMovie("Ball", "ballMc" + _local4, 1 + _local4); balls[_local4] = new king.Sphere(); balls[_local4].fixedPos = false; balls[_local4].mass = 1; balls[_local4].radius = 7; balls[_local4].pos.set(821, 420 + (_local4 * 8)); balls[_local4].motion.set(0, 20); this["ballMc" + _local4].colorTint._visible = false; _local4++; } Key.addListener(this); pscript = new king.Pscript(this); lastTime = getTimer(); if (DEBUG_MODE) { var debugGameDataXml = new XML(); var t = this; debugGameDataXml.onLoad = function (success) { t.debugDataLoaded(debugGameDataXml); }; debugGameDataXml.ignoreWhite = true; debugGameDataXml.load("debug_gamedata.xml"); } } function debugDataLoaded(debugGameDataXml) { _root.gameData = debugGameDataXml.toString(); } function onPress() { if (!gameStarted) { return(undefined); } if (currentSign != undefined) { currentSign.onClick(); return(undefined); } launching = true; yLaunch = _ymouse * PLUNGER_SPEED; } function onReleaseOutside() { onMouseUp(); } function onRelease() { onMouseUp(); } function onMouseUp() { if (!gameStarted) { return(undefined); } if ((launching && (!kblaunching)) && (!replayMode)) { launching = false; var _local3 = _ymouse * PLUNGER_SPEED; var _local2 = _local3 - yLaunch; if (_local2 < 0) { _local2 = 0; } if (_local2 > MAX_PLUNGER_SPEED) { _local2 = MAX_PLUNGER_SPEED; } _local2 = int(_local2); if (_local2 > 5) { king.Sounds.get("launchSound").play(); } if (!ballLaunched) { if (balls[0].pos.y >= PLUNGER_HEIGHT) { encoder.append(255); encoder.append(_local2); launch(_local2); } } } } function launch(launchSpeed) { if (!ballLaunched) { if (balls[0].pos.y >= PLUNGER_HEIGHT) { balls[0].pos.y = PLUNGER_HEIGHT - 1; balls[0].motion.y = (-launchSpeed) * 0.5; hasLaunched = true; } } } function addFlipper(flipper) { var _local4 = flippers.length; var _local2 = moveLineMc.createEmptyMovieClip("flipper" + _local4, 100 + _local4); flipper.setMovieClip(_local2); _local2._x = flipper.xPos; _local2._y = flipper.yPos; flippers.push(flipper); } function switchLayer(layer) { if ((layer == "lager1") && (pscript.getValue("_volcanoopen") == 1)) { layer = "lager1_1"; } ballLaunched = true; currentLayer = layer; setLayer(layer); } function setLayer(layerName) { if (areaLayers[layerName] == undefined) { areaLayers[layerName] = new Array(ZONE_WIDTH); var _local3 = 0; while (_local3 < ZONE_WIDTH) { areaLayers[layerName][_local3] = new Array(ZONE_WIDTH); var _local2 = 0; while (_local2 < ZONE_WIDTH) { areaLayers[layerName][_local3][_local2] = new Array(); _local2++; } _local3++; } } areas = areaLayers[layerName]; } function onKeyDown() { toggleKey(Key.getCode(), true); } function onKeyUp() { toggleKey(Key.getCode(), false); } function toggleKey(key, isDown) { } function newCircle(r, g, b, x, y, rx, ry, id) { if (RENDER_WALLS) { lineMc.beginFill(((r << 16) | (g << 8)) | b, 100); lineMc.lineStyle(1, 0, 100); drawCircle(lineMc, x, y, rx, ry); lineMc.endFill(); } var _local2 = new king.Sphere(); shapes[id] = _local2; _local2.id = id; _local2.pos.set(x, y); var _local3 = (rx + ry) / 2; _local2.radius = _local3; _local2.rx = _local3 / rx; _local2.ry = _local3 / ry; wallType = 0; if ((((r == 0) && (g == 0)) && (b == 255)) || (((r == 255) && (g == 0)) && (b == 0))) { wallType = 1; } if (((r == 255) && (g == 77)) && (b == 0)) { wallType = 2; } if (wallType == 1) { _local2.sticky = 0.9; _local2.launch = 3; } else if (wallType == 2) { } addCorner(_local2); } function drawCircle(mc, x, y, rx, ry) { if (RENDER_WALLS) { mc.moveTo(x + rx, y); mc.curveTo(rx + x, (0.414213562373095 * ry) + y, (king.XpMath.sin((Math.PI/4)) * rx) + x, (king.XpMath.sin((Math.PI/4)) * ry) + y); mc.curveTo((0.414213562373095 * rx) + x, ry + y, x, ry + y); mc.curveTo((-0.414213562373095 * rx) + x, ry + y, ((-king.XpMath.sin((Math.PI/4))) * rx) + x, (king.XpMath.sin((Math.PI/4)) * ry) + y); mc.curveTo((-rx) + x, (0.414213562373095 * ry) + y, (-rx) + x, y); mc.curveTo((-rx) + x, (-0.414213562373095 * ry) + y, ((-king.XpMath.sin((Math.PI/4))) * rx) + x, ((-king.XpMath.sin((Math.PI/4))) * ry) + y); mc.curveTo((-0.414213562373095 * rx) + x, (-ry) + y, x, (-ry) + y); mc.curveTo((0.414213562373095 * rx) + x, (-ry) + y, (king.XpMath.sin((Math.PI/4)) * rx) + x, ((-king.XpMath.sin((Math.PI/4))) * ry) + y); mc.curveTo(rx + x, (-0.414213562373095 * ry) + y, rx + x, y); } } function newArea(r, g, b) { if (RENDER_WALLS) { lineMc.beginFill(((r << 16) | (g << 8)) | b, 100); lineMc.lineStyle(1, 0, 100); } wallType = 0; if ((((r == 0) && (g == 0)) && (b == 255)) || (((r == 255) && (g == 0)) && (b == 0))) { wallType = 1; } if (((r == 255) && (b == 255)) && (g == 0)) { wallType = 2; } if (((r == 0) && (b == 255)) && (g == 255)) { wallType = 3; } firstNode = true; } function endArea() { if (RENDER_WALLS) { lineMc.endFill(); } } function addWall3(r, g, b, x0, y0, x1, y1, firstPoint, id) { if (((isNaN(x0) || (isNaN(y0))) || (isNaN(x1))) || (isNaN(y1))) { return(false); } if (RENDER_WALLS) { lineMc.lineStyle(1, ((r << 16) | (g << 8)) | b, 100); lineMc.moveTo(x0, y0); lineMc.lineTo(x1, y1); } if ((((r << 16) | (g << 8)) | b) == 441856) { var _local8 = new king.Portal(this, x0, y0, x1, y1); _local8.targetLayer = id; addWall2(_local8); } else if ((((r << 16) | (g << 8)) | b) == 65535) { var _local9 = new king.Rollover(this, x0, y0, x1, y1); _local9.targetLayer = id; addWall2(_local9); } else { var _local6 = new king.Wall(x0, y0, x1, y1); _local6.id = id; _local6.spring = 0.01; addWall2(_local6); if (firstPoint) { var _local7 = new king.Sphere(); _local7.pos.set(x0, y0); _local7.spring = 0.01; addCorner(_local7); } var _local7 = new king.Sphere(); _local7.pos.set(x1, y1); _local7.spring = 0.01; addCorner(_local7); } return(true); } function addWall(x0, y0, x1, y1, id) { if (((isNaN(x0) || (isNaN(y0))) || (isNaN(x1))) || (isNaN(y1))) { return(undefined); } var _local3 = new king.Wall(x0, y0, x1, y1); _local3.id = id; if (wallType == 1) { _local3.sticky = 0.9; _local3.launch = 7.5; } if (wallType == 2) { _local3.sticky = 0.95; } if (wallType == 3) { _local3.solid = false; } addWall2(_local3); if (RENDER_WALLS) { if (firstNode) { lineMc.moveTo(x0, y0); firstNode = false; } lineMc.lineTo(x1, y1); } var _local2 = new king.Sphere(); _local2.id = id; if (wallType == 1) { _local2.sticky = 0.9; _local2.launch = 7.5; } if (wallType == 2) { _local2.sticky = 0.95; } if (wallType == 3) { _local2.solid = false; } _local2.pos.set(x0, y0); addCorner(_local2); } function addWall2(wall) { var _local8 = int(wall.v0.x / PIXELS_PER_ZONE); var _local5 = int(wall.v0.y / PIXELS_PER_ZONE); var _local7 = int(wall.v1.x / PIXELS_PER_ZONE); var _local4 = int(wall.v1.y / PIXELS_PER_ZONE); if (_local8 > _local7) { var _local9 = _local7; _local7 = _local8; _local8 = _local9; } if (_local5 > _local4) { var _local9 = _local4; _local4 = _local5; _local5 = _local9; } var _local3 = _local8; while (_local3 <= _local7) { var _local2 = _local5; while (_local2 <= _local4) { areas[_local3][_local2].push(wall); _local2++; } _local3++; } } function addCorner(sphere) { var _local8 = int((sphere.pos.x - (sphere.radius / sphere.rx)) / PIXELS_PER_ZONE); var _local6 = int((sphere.pos.y - (sphere.radius / sphere.ry)) / PIXELS_PER_ZONE); var _local7 = int((sphere.pos.x + (sphere.radius / sphere.rx)) / PIXELS_PER_ZONE); var _local5 = int((sphere.pos.y + (sphere.radius / sphere.ry)) / PIXELS_PER_ZONE); var _local3 = _local8; while (_local3 <= _local7) { var _local2 = _local6; while (_local2 <= _local5) { areas[_local3][_local2].push(sphere); _local2++; } _local3++; } } function gameDataReceived() { _root.hider._visible = false; gameStarted = true; communicator.parseGameData(_root.gameData); communicator.gameStarted(); pscript.setScript(communicator.pscriptXml); (new king.LevelData()).parseLevelData(this, communicator); _root.soundButtonText = (soundOn ? (_global.textMappings.sound_on) : (_global.textMappings.sound_off)); _root.exitButtonText = _global.textMappings.exit_game; currentSign = new king.InstructionsSign(this); } function onEnterFrame() { if (!gameStarted) { if ((_root.gameData != undefined) && (getTimer() > loadGameDataTime)) { gameDataReceived(); } return(undefined); } if (currentSign != undefined) { currentSign.render(); return(undefined); } if (((quitIn >= 0) && (getTimer() > quitIn)) && (balls[0].pos.y > LEVEL_HEIGHT)) { if (_global.shortGameMode) { currentSign = new king.ShortGameOverSign(this); } else { currentSign = new king.GameOverSign(this); } return(undefined); } var _local14 = 1000 / TICKS_PER_SECOND; if (replayMode && (Key.isDown(32))) { _local14 = 5; } var _local15 = getTimer(); var _local16 = 0; while ((_local15 - lastTime) > _local14) { var _local4 = 0; while (_local4 < balls.length) { balls[_local4].hasStickied = false; balls[_local4].lastPos.set(balls[_local4].pos.x, balls[_local4].pos.y); _local4++; } advanceTime(tick); tick++; _local16++; if ((tick % TICKS_PER_SECOND) == 0) { pscript.runScript("timestep"); } lastTime = lastTime + _local14; if (_local16 == 10) { lastTime = _local15; } } var _local9 = (_local15 - lastTime) / _local14; if ((_local15 - lastTime) > _local14) { _local9 = 1; } var _local18 = pscript.getValue("_balls"); var _local17 = pscript.getValue("_bonus"); var _local19 = int(((remainingGameTime + TICKS_PER_SECOND) - 1) / TICKS_PER_SECOND); if ((((score != oldScore) || (_local17 != oldBonus)) || (_local19 != oldTime)) || (_local18 != oldBalls)) { if (signTime == 0) { ledPanel.renderScore(score, _local17, _local19, _local18 + 1); oldScore = score; oldBalls = _local18; oldTime = _local19; oldBonus = _local17; } } var _local4 = 0; while (_local4 < flippers.length) { flippers[_local4].render(_local9); _local4++; } _local4 = 0; while (_local4 < balls.length) { if (currentLayer == "ramp1") { this["ballMc" + _local4].swapDepths(11 + _local4); } else if (currentLayer == "ramp2") { this["ballMc" + _local4].swapDepths(21 + _local4); } else { this["ballMc" + _local4].swapDepths(1 + _local4); } var _local6 = balls[_local4].lastPos; var _local7 = 0; var _local5 = 0; while (subHits[_local5].t < _local9) { _local6 = subHits[_local5].p; _local7 = subHits[_local5].t; _local5++; } var _local10 = subHits[_local5].p; var _local11 = subHits[_local5].t; var _local8 = (_local9 - _local7) / (_local11 - _local7); if ((_local11 - _local7) == 0) { _local8 = 0.5; } var _local12 = _local10.x - _local6.x; var _local13 = _local10.y - _local6.y; this["ballMc" + _local4]._x = _local6.x + (_local12 * _local8); this["ballMc" + _local4]._y = _local6.y + (_local13 * _local8); _local4++; } if (minigame != undefined) { minigame.render(_local9); } } function spawnBall() { if ((!DEBUG_MODE) && (gameStarted2)) { return(undefined); } gameStarted2 = true; encoder = new king.Encoder(); replayMode = false; canNudge = false; unnudge = false; initGame(); } function replay() { if (!DEBUG_MODE) { return(undefined); } _root.debugText.text = ""; decodeStep = 0; decoder = new king.Decoder(DEBUG_DATAS[decodeStep++]); replayMode = true; initGame(); tick--; } function initGame() { if (DEBUG_MODE && (DEBUG_RANDOM_SEED)) { random = new king.util.Random(int(Math.random() * 10000000)); } else { random = new king.util.Random(communicator.randomSeed); } pscript.random = new king.util.Random(random.nextInt(1000000)); remainingGameTime = 120 * TICKS_PER_SECOND; tick = 0; pscript.runScript("init"); if (_global.shortGameMode) { pscript.setVar("shortgame", 1); } var _local5 = random.nextInt(5); var _local4 = random.nextInt(5); var _local3 = random.nextInt(5); pscript.setVar("_task0", 1 + _local5); pscript.setVar("_task1", 11 + _local4); pscript.setVar("_task2", 21 + _local3); pscript.runScript("starttask"); hasRunOutOfTime = false; hasLaunched = false; newBall(); } function newBall() { if (remainingGameTime <= 0) { finalBallLost = true; return(undefined); } king.Sounds.get("newBallSound").play(); balls[0].pos.set(321, 420); balls[0].motion.set(0, -2); subHits = new Array(); var _local2 = new Object(); _local2.t = 0; _local2.p = new king.Vec(balls[0].pos.x, balls[0].pos.y); subHits.push(_local2); _local2 = new Object(); _local2.p = new king.Vec(balls[0].pos.x, balls[0].pos.y); _local2.t = 1; subHits.push(_local2); ballLocked = false; ballLost = false; currentLayer = "ramp2"; ballLaunched = false; tilted = false; pscript.runScript("newball"); } function addTime(seconds) { remainingGameTime = remainingGameTime + (seconds * TICKS_PER_SECOND); } function launchBall(x, y) { var _local2 = balls[0]; _local2.motion.set(x, y); ballLocked = false; } function lockBall(posName) { var _local2 = balls[0]; _local2.pos.x = shapes[posName].pos.x; _local2.pos.y = shapes[posName].pos.y; _local2.motion.set(0, 0); subHits = new Array(); var _local3 = new Object(); _local3.t = 0; _local3.p = new king.Vec(_local2.pos.x, _local2.pos.y); subHits.push(_local3); _local3 = new Object(); _local3.t = 1; _local3.p = new king.Vec(_local2.pos.x, _local2.pos.y); subHits.push(_local3); ballLocked = true; } function tilt() { tilted = true; showSign(106); } function advanceTime(tick) { if (signTime > 0) { signTime--; } var _local52 = false; king.MoveableSphere.debugText = _local52; if (nudgeAnimTime > 0) { nudgeAnimTime--; moveLineMc._y = -nudgeAnimTime; _root.launcher._y = PLUNGER_Y_POS - nudgeAnimTime; bgMc._y = -nudgeAnimTime; lager1._y = -nudgeAnimTime; lager2._y = -nudgeAnimTime; } if (replayMode && (!decoder.hasMoreTicks())) { decoder = new king.Decoder(DEBUG_DATAS[decodeStep++]); } if (!gameStarted2) { return(undefined); } var _local53 = pscript.getValue("_balls"); if (_local53 < 0) { remainingGameTime = 0; } if (((!isBoardAlive()) && (balls[0].pos.y >= PLUNGER_HEIGHT)) && (!ballLaunched)) { launchSpeed = int(MAX_PLUNGER_SPEED / 4); encoder.append(255); encoder.append(launchSpeed); launch(launchSpeed); } if (Key.isDown(40) && (!cheatMode)) { kblaunching = true; keyboardLaunchTime++; if (keyboardLaunchTime > MAX_PLUNGER_SPEED) { keyboardLaunchTime = int(MAX_PLUNGER_SPEED / 2); } } else { if (keyboardLaunchTime > 0) { var launchSpeed = keyboardLaunchTime; if (launchSpeed > 5) { king.Sounds.get("launchSound").play(); } kblaunching = false; if (!ballLaunched) { if (balls[0].pos.y >= PLUNGER_HEIGHT) { encoder.append(255); encoder.append(launchSpeed); launch(launchSpeed); } } } keyboardLaunchTime = 0; } if (kblaunching) { _root.launcher.gotoAndStop(1 + int((99 * keyboardLaunchTime) / MAX_PLUNGER_SPEED)); } else if (launching) { var _local57 = _ymouse * PLUNGER_SPEED; var _local49 = _local57 - yLaunch; yLaunch = yLaunch + (_local49 * 0.1); if (_local49 < 0) { _local49 = 0; } if (_local49 > MAX_PLUNGER_SPEED) { _local49 = MAX_PLUNGER_SPEED; yLaunch = yLaunch + (_local49 - MAX_PLUNGER_SPEED); } _root.launcher.gotoAndStop(1 + int((99 * _local49) / MAX_PLUNGER_SPEED)); } else { _root.launcher.gotoAndStop(1); } st = st + sta; sta = sta * 0.96; lager1.spin.gotoAndStop((int(st) % 6) + 1); if ((minigame == undefined) && (hasLaunched)) { remainingGameTime--; } if ((!hasRunOutOfTime) && (remainingGameTime <= 0)) { hasRunOutOfTime = true; pscript.runScript("gameover"); var _local55 = pscript.getValue("_score"); encoder.append(0); encoder.flush(); communicator.sendMotionData(encoder.res); encoder = new king.Encoder(); communicator.gameEnd(_local55); quitIn = getTimer() + 500; } if (!ballLaunched) { if (balls[0].pos.y > PLUNGER_HEIGHT) { balls[0].pos.y = PLUNGER_HEIGHT; balls[0].motion.y = 0; } } if (minigame == null) { pscript.tick(); } if (Key.isDown(13)) { spawnBall(); } if (Key.isDown(46)) { replay(); return(undefined); } setLayer(currentLayer); var _local41 = false; var _local40 = false; var _local50 = false; var _local47 = false; var _local45 = false; var _local46 = false; var _local44 = false; if (replayMode) { var _local48 = decoder.next(); while (_local48 == 255) { launch(decoder.next()); _local48 = decoder.next(); } _local41 = (_local48 & 1) > 0; _local40 = (_local48 & 2) > 0; _local50 = (_local48 & 4) > 0; _local47 = (_local48 & 8) > 0; _local45 = (_local48 & 16) > 0; _local46 = (_local48 & 32) > 0; _local44 = (_local48 & 64) > 0; } else { if (DEBUG_MODE && (Key.isDown(27))) { cheatMode = true; } if (Key.isDown(27)) { useShift = true; } if (useShift) { _local41 = Key.isDown(16); _local40 = Key.isDown(17); } else { _local41 = false; _local40 = false; } _local50 = Key.isDown(32); if (cheatMode) { _local47 = Key.isDown(37); _local45 = Key.isDown(39); _local46 = Key.isDown(38); _local44 = Key.isDown(40); } else { _local50 = _local50 | Key.isDown(38); _local41 = _local41 | Key.isDown(37); _local40 = _local40 | Key.isDown(39); } var _local48 = 0; if (_local41) { _local48 = _local48 + 1; } if (_local40) { _local48 = _local48 + 2; } if (_local50) { _local48 = _local48 + 4; } if (_local47) { _local48 = _local48 + 8; } if (_local45) { _local48 = _local48 + 16; } if (_local46) { _local48 = _local48 + 32; } if (_local44) { _local48 = _local48 + 64; } encoder.append(_local48); if (encoder.res.length >= 60) { encoder.flush(); communicator.sendMotionData(encoder.res); encoder = new king.Encoder(); } } if (!_local50) { canNudge = true; } if (((remainingGameTime > 0) && (!tilted)) && (minigame == undefined)) { if (_local41 != leftFlipperDown) { leftFlipperDown = _local41; if (leftFlipperDown) { pscript.runScript("flip.left"); } } if (_local40 != rightFlipperDown) { rightFlipperDown = _local40; if (rightFlipperDown) { pscript.runScript("flip.right"); } } var _local42 = false; var _local43 = false; var _local5 = 0; while (_local5 < flippers.length) { var _local38 = flippers[_local5].isPressed; var _local33 = false; if (flippers[_local5].facing == 1) { flippers[_local5].isPressed = _local41; _local33 = !_local42; _local42 = true; } else { flippers[_local5].isPressed = _local40; _local33 = !_local43; _local43 = true; } if ((_local38 ^ flippers[_local5].isPressed) && (_local33)) { if (_local38) { king.Sounds.get("flipperUpSound").play(); } else { king.Sounds.get("flipperDownSound").play(); } } _local5++; } } else { var _local5 = 0; while (_local5 < flippers.length) { flippers[_local5].isPressed = false; _local5++; } } if (!ballLost) { if (balls[0].pos.y > LEVEL_HEIGHT) { ballLost = true; king.Sounds.get("ballostsound").play(); pscript.runScript("ball.lost"); } } if (unnudge) { unnudge = false; var _local51 = 0; var _local56 = -4; if (!ballLocked) { balls[0].motion.addV(_local51, _local56); } } if (nudgeWarning > 0) { nudgeWarning--; } if ((_local50 && (canNudge)) && (isBoardAlive())) { nudgeAnimTime = 4; moveLineMc._y = -3; _root.launcher._y = PLUNGER_Y_POS - 3; bgMc._y = -3; lager1._y = -3; lager2._y = -3; unnudge = true; canNudge = false; nudgeWarning = nudgeWarning + NUDGE_WARNING_VALUE; if (nudgeWarning >= NUDGE_TILT_LIMIT) { tilt(); } var _local58 = ((random.nextDouble() < 0.5) ? -1 : 1); var _local51 = ((random.nextDouble() * 1.2) + 0.5) * _local58; var _local54 = balls[0].pos.x - 170; _local51 = _local51 + ((_local54 * 4) / 170); var _local56 = 4; if (!ballLocked) { balls[0].motion.addV(_local51, _local56); } } if (!ballLocked) { var _local5 = 0; while (_local5 < balls.length) { balls[_local5].motion.addV((_local47 ? -0.5 : 0), (_local46 ? -0.5 : 0)); balls[_local5].motion.addV((_local45 ? 0.5 : 0), (_local44 ? 0.5 : 0)); balls[_local5].motion.addV(0, GRAVITY); balls[_local5].motion.scale(INERTIA); var _local34 = MAX_BALL_SPEED; ballRolling = balls[_local5].motion.lengthSqr() > 25; if (balls[_local5].motion.lengthSqr() > (_local34 * _local34)) { balls[_local5].motion.normalize(); balls[_local5].motion.scale(_local34); } _local5++; } } else { ballRolling = false; } if (ballRolling != ballWasRolling) { if (ballRolling) { king.Sounds.get("ballRollSound").play(); } else { king.Sounds.get("ballRollSound").stop(); } ballWasRolling = ballRolling; } var _local31 = 1; subHits = new Array(); var _local5 = 0; while (_local5 < flippers.length) { flippers[_local5].tick(); _local5++; } var _local23 = new king.Vec(0, 0); var _local18 = new king.Vec(0, 0); var _local37 = 0; var _local15 = 0; if (minigame != null) { minigame.tick(_local41, _local40); } do { if (_local31 <= 0) { break; } _local37++; var _local3 = _local31; var _local13; var _local22; var _local4 = new Array(4); var _local16 = 0; while (_local16 < balls.length) { _local4[_local16] = new Array(); var _local9 = balls[_local16]; if ((_local37 > 4) && (_local9.motion.lengthSqr() < 0.2)) { _local9.motion.set(0, 0); } var _local14 = _local9.pos; _local18.set(_local9.pos.x + _local9.motion.x, _local9.pos.y + _local9.motion.y); var _local12 = _local14.x; var _local7 = _local14.y; var _local11 = _local18.x; var _local6 = _local18.y; if (_local12 > _local11) { var _local32 = _local11; _local11 = _local12; _local12 = _local32; } if (_local7 > _local6) { var _local32 = _local6; _local6 = _local7; _local7 = _local32; } var _local30 = _local12; var _local28 = _local7; var _local29 = _local11; var _local27 = _local6; _local12 = int((_local12 - _local9.radius) / PIXELS_PER_ZONE); _local7 = int((_local7 - _local9.radius) / PIXELS_PER_ZONE); _local11 = int((_local11 + _local9.radius) / PIXELS_PER_ZONE); _local6 = int((_local6 + _local9.radius) / PIXELS_PER_ZONE); currentCollideTick++; var _local17 = _local12; while (_local17 <= _local11) { var _local10 = _local7; while (_local10 <= _local6) { var _local21 = areas[_local17][_local10]; _local5 = 0; while (_local5 < _local21.length) { var _local8 = _local21[_local5]; if (_local8.lastTick != currentCollideTick) { _local8.lastTick = currentCollideTick; var _local26 = _local8.getCollisionTime(_local9, _local14, _local18, _local15, currentCollideTick); if (_local26 < 1) { _local4[_local16].push(_local8); } if ((_local26 >= 0) && (_local26 < _local3)) { _local22 = _local9; _local3 = _local26; _local13 = _local8; } } _local5++; } _local10++; } _local17++; } if ((currentLayer == "lager1") || (currentLayer == "lager1_1")) { var _local36 = 0; while (_local36 < flippers.length) { var _local20 = flippers[_local36].xPos; var _local25 = flippers[_local36].yPos - flippers[_local36].radius; var _local19 = flippers[_local36].xPos; var _local24 = flippers[_local36].yPos + flippers[_local36].radius; if (flippers[_local36].facing == -1) { _local20 = _local20 - flippers[_local36].radius; _local19 = _local19 + 10; } else { _local20 = _local20 - 10; _local19 = _local19 + flippers[_local36].radius; } if ((((_local29 > _local20) && (_local30 < _local19)) && (_local27 > _local25)) && (_local28 < _local24)) { var _local21 = flippers[_local36].collideables; _local5 = 0; while (_local5 < _local21.length) { var _local8 = _local21[_local5]; var _local26 = _local8.getCollisionTime(_local9, _local14, _local18, _local15); _local4[_local16].push(_local8); if (_local26 < _local3) { _local22 = _local9; _local3 = _local26; _local13 = _local8; } _local5++; } } _local36++; } } _local16++; } if (_local3 < 0) { _local3 = 0; } var _local9 = _local22; _local9 = balls[0]; if (_local3 >= _local31) { _local3 = _local31; } var _local39 = _local3; var _local35 = false; _local23.set(_local9.pos.x + (_local9.motion.x * _local3), _local9.pos.y + (_local9.motion.y * _local3)); do { _local35 = false; _local16 = 0; _local5 = 0; while (_local5 < _local4[_local16].length) { if (_local4[_local16][_local5].solid && (_local4[_local16][_local5].isInside(_local23, _local15 + _local3, _local9))) { _local13 = _local4[_local16][_local5]; _local35 = true; } _local5++; } if (_local35) { _local3 = _local3 - 0.01; if (_local3 < 0) { _local3 = 0; } _local23.set(_local9.pos.x + (_local9.motion.x * _local3), _local9.pos.y + (_local9.motion.y * _local3)); } } while (_local35 && (_local3 > 0)); if (_local3 < 0) { _local3 = 0; } _local31 = _local31 - _local39; _local15 = _local15 + _local3; _local9.pos.set(_local23.x, _local23.y); var _local26 = _local15 + _local3; if (_local26 < 0) { _local26 = 0; } if (_local26 > 1) { _local26 = 1; } if (_local13 != null) { _local13.collide(_local9, _local26); if (_local13.id != undefined) { if ((remainingGameTime > 0) && (!tilted)) { pscript.runScript(_local13.id + ".collide"); } else { pscript.runScript(_local13.id + ".collide.outoftime"); } } _local31 = _local31 - 0.01; _local15 = _local15 - 0.01; } _local35 = new Object(); _local35.t = _local26; _local35.p = new king.Vec(_local23.x, _local23.y); subHits.push(_local35); } while (_local37 <= 5); score = pscript.getValue("_score"); if (_local15 > 1) { _local15 = 1; } if (_local15 < 0) { _local15 = 0; } var _local36 = 0; while (_local36 < flippers.length) { flippers[_local36].addTime(_local15); _local36++; } } function refreshlayer() { if ((currentLayer == "lager1") || (currentLayer == "lager1_1")) { switchLayer("lager1"); } } function isBoardAlive() { return((remainingGameTime > 0) && (!tilted)); } function rollOver(line) { if ((remainingGameTime > 0) && (!tilted)) { pscript.runScript(line + ".rollover"); } else { pscript.runScript(line + ".rollover.outoftime"); } } function spin() { sta = 4; } function flipperCollided() { var _local2 = tick - flipperCollideTick; if (_local2 > 3) { pscript.runScript("flipperhit"); } flipperCollideTick = tick; } function setBallGlow(shouldGlow) { if (wasGlowing != shouldGlow) { if (shouldGlow) { king.Sounds.get("gamemusic").stop(); king.Sounds.get("lavamusic").playLooping(); king.Sounds.get("lavamusic").setVolume(30); } else { king.Sounds.get("lavamusic").stop(); king.Sounds.get("gamemusic").playLooping(); king.Sounds.get("gamemusic").setVolume(30); } wasGlowing = shouldGlow; } ballMc0.colorTint._visible = shouldGlow; } function shortGameOver() { remainingGameTime = 0; } function soundButtonPressed() { king.Sounds.toggleSound(); soundOn = !soundOn; _root.soundButtonText = (soundOn ? (_global.textMappings.sound_on) : (_global.textMappings.sound_off)); } function exitButtonPressed() { if (remainingGameTime > 0) { encoder.append(0); encoder.flush(); communicator.sendMotionData(encoder.res); encoder = new king.Encoder(); communicator.sendEndGamePressed(); remainingGameTime = 0; } } function showSign(signNum) { ledPanel.renderSign(signNum); if ((signNum >= 100) && (signNum < 200)) { signTime = 50; } else { signTime = 150; } } function playMiniGame(minigameNum) { minigame = new king.MiniGame(this, random); _root.sign._visible = true; _root.sign._x = 0; _root.sign._y = 110; _root.sign.titleText.text = _global.textMappings.minigame_title; _root.sign.bodyText.text = _global.textMappings.minigame_instructions; _root.sign.timeText.text = ""; } var DEBUG_MODE = false; var DEBUG_RANDOM_SEED = true; var DEBUG_DATAS = ["A!3100Y!31k0100p10O00z10I00#00F10P00#00#00#00V10b00710130M201", "310I00h10e00i20T00#00#00m10900Z20L00#00u10C00#00#00W20U00E101", "010m00#00#00210I00y20I00n10T00E10G00#00#00#00z10500#00O20L001", "G10C00#00I10j00#00#00#00#00#00w10d00#00#00E20S00U20R00i10U001", "#00#00U20C00#00I20I00#00310Q50S10E00d!31R0100#00#00H10L00#001", "E10N00#00E10Z00m20F00#00#00#00210Y00#00Y10G00#00F10T00#00j201", "020C00#00#00Q20600#00#00E20E00110Y00P10Z00K10S00#00110k00c101", "010Z00#00720130I20200O10u00Z10c00J10L20530N20100#00#00#10Z001", "#00#00#00S10Z00#00#00#00910#10#10B00b10#10#10#10d00a10c00G101", "010130l10100v10H00#00#00#00W10800l30j20300y10C00f20E30A202001", "#00D20I00H10F00#00#00G10A00r20E00910b00j10U00910B00B10A00I101", "010A00f30Q20100#00I20P00g10S00O10J00m20230O20700h20U00#00m101", "010900#00a20V00k20n00#00O20I00310K30O20400S!31O0100A10#10r001", "z10D00I20I00v10d00#00M10N50M70130820C00#00#00O20B00#00#00U101", "010B00#00U20P00U20I00#00z10b00I10E00#00610L00s20I00#00#002101", "010K00#00F10Q00o10C00d10A30c20300#00#00a20F00#00#00#00X109001", "#00B20M00v10J00T10330C20400#00x10M00#00310O00#00110#10C00J101", "010e00d10o00J10P00#00410o00R10P00510X00J10#10400D10d00w10c001", "#00#00\u00C3\u00A4'r#00V10M00d30j20200w10M00E20I00#00X10d00#00e20M00#00#001", "n20O60N20130210I00o10b00p10A00W20L00#00H10S00410A00I10J00h101", "010130i20330A20I00x20R00#00G10Q001"]; static var TICKS_PER_SECOND = 50; static var RENDER_WALLS = false; static var PIXELS_PER_ZONE = 48; static var ZONE_WIDTH = int(1000 / PIXELS_PER_ZONE); static var GRAVITY = 0.15; static var INERTIA = 0.999; static var PLUNGER_SPEED = 0.5; static var MAX_PLUNGER_SPEED = 80; static var PLUNGER_HEIGHT = 403; static var PLUNGER_Y_POS = 455; static var MAX_BALL_SPEED = 20; static var LEVEL_HEIGHT = 507; static var NUDGE_WARNING_VALUE = 30; static var NUDGE_TILT_LIMIT = 60; var nudgeWarning = 0; var ballLaunched = false; var cheatMode = false; var useShift = false; var hasRunOutOfTime = false; var currentSign = undefined; var ballLocked = false; var tilted = false; var hasLaunched = false; var finalBallLost = false; var currentCollideTick = 0; var leftFlipKey = false; var rightFlipKey = false; var tick = 0; var flipperCollideTick = 0; var gameStarted = false; var gameStarted2 = false; var score = 0; var oldScore = -1; var oldTime = -1; var oldBonus = -1; var decodeStep = 0; var launching = false; var kblaunching = false; var yLaunch = 0; var wallType = 0; var leftFlipperDown = false; var rightFlipperDown = false; var st = 0; var sta = 0; var ballWasRolling = false; var ballRolling = false; var nudgeAnimTime = 0; var wasGlowing = false; var soundOn = true; }
Symbol 351 MovieClip [__Packages.king.Communicator] Frame 0
class king.Communicator { var levelVersion, layerDatas, randomSeed, pscriptXml; function Communicator () { levelVersion = "v0"; layerDatas = new Object(); } function gameStarted() { fscommand ("gameStart"); sendLevelVersion(levelVersion); } function gameEnd(score) { if (!hasSentGameEnd) { hasSentGameEnd = true; fscommand ("gameEnd", score); } } function gameQuit() { if (!hasSentGameOver) { hasSentGameOver = true; fscommand ("gameQuit"); } } function sendLevelVersion(levelVersion) { fscommand ("playData", ((CMD_LEVEL_VERSION + ",") + levelVersion) + "=0"); } function sendMotionData(data) { fscommand ("playData", ((CMD_MOTION_DATA + ",") + data) + "=0"); } function sendEndGamePressed(startTime) { fscommand ("playData", CMD_END_GAME_CLICKED + "=0"); } function parseGameData(gameData) { XML.prototype.ignoreWhite = true; var _local7 = new XML(_root.gameData); _global.shortGameMode = new String(_local7.childNodes[0].attributes.mode) == "short"; _global.textMappings = new Object(); var _local5 = _local7.childNodes[0].childNodes; randomSeed = new Number(_local7.childNodes[0].attributes.randomseed).valueOf(); var _local4 = 0; while (_local4 < _local5.length) { if (_local5[_local4].nodeName == "text") { _global.textMappings[_local5[_local4].attributes.id] = new String(_local5[_local4].firstChild.nodeValue); } else if (_local5[_local4].nodeName == "levelversion") { levelVersion = new String(_local5[_local4].firstChild.nodeValue); } else if (_local5[_local4].nodeName == "pscript") { pscriptXml = _local5[_local4].firstChild; } else if ((_local5[_local4].nodeName = "layer")) { var _local6 = new String(_local5[_local4].attributes.name); layerDatas[_local6] = _local5[_local4].firstChild; } else { _root.debugText.text = _root.debugText.text + (("\"" + _local5[_local4].nodeName) + "\"\r"); } _local4++; } } var hasSentGameEnd = false; var hasSentGameOver = false; static var VERSION_NUM = 0; static var CMD_MOTION_DATA = 578; static var CMD_LEVEL_VERSION = 330; static var CMD_END_GAME_CLICKED = 100; }
Symbol 352 MovieClip [__Packages.king.Collideable] Frame 0
class king.Collideable { static var pinball; var spring, sticky, launch, solid; function Collideable () { spring = 0.2; sticky = 1; launch = 0; solid = true; } function processCollide(b, n, normal, sideDistance, backSide) { b.motion.addV(n.x, n.y); b.motion.scale(sticky); if ((launch > 0) && (pinball.isBoardAlive())) { var _local4 = 1 - sideDistance; if (sideDistance < 0) { _local4 = 1 + sideDistance; } var _local6 = ((-king.XpMath.sin(sideDistance)) * launch) * _local4; var _local2 = (king.XpMath.cos(sideDistance) * launch) * _local4; if (backSide) { _local2 = -_local2; } b.motion.add(new king.Vec(normal.x * _local2, normal.y * _local2)); b.motion.add(new king.Vec(normal.y * _local6, (-normal.x) * _local6)); } } var lastTick = 0; }
Symbol 353 MovieClip [__Packages.king.XpMath] Frame 0
class king.XpMath { function XpMath () { } static function cos(f) { var _local2 = 0; var _local1 = ((f > 0) ? (f) : (-f)); if (_local1 >= 14.1371669411541) { _local2 = int(_local1 * 0.636619772367581); if ((_local2 & 1) != 0) { _local2++; } _local1 = _local1 - (_local2 * 1.5707963267949 /* Math.PI/2 */); } else if (_local1 < 1.5707963267949 /* Math.PI/2 */) { } else if (_local1 < 4.71238898038469) { _local1 = _local1 - Math.PI; _local2 = 2; } else if (_local1 < 7.85398163397448) { _local1 = _local1 - (Math.PI*2); } else if (_local1 < 10.9955742875643) { _local1 = _local1 - 9.42477796076938; _local2 = 2; } else { _local1 = _local1 - 12.5663706143592; } var _local3 = _local1 * _local1; var _local4 = 0.999999953027512 + (_local3 * (-0.499999047777921 + (_local3 * (0.041663573160188 + (_local3 * (-0.0013853629536173 + (_local3 * 2.31524166599385E-5))))))); return((((_local2 & 2) != 0) ? (-_local4) : (_local4))); } static function sin(f) { f = f - 1.5707963267949 /* Math.PI/2 */; var _local2 = 0; var _local1 = ((f > 0) ? (f) : (-f)); if (_local1 >= 14.1371669411541) { _local2 = int(_local1 * 0.636619772367581); if ((_local2 & 1) != 0) { _local2++; } _local1 = _local1 - (_local2 * 1.5707963267949 /* Math.PI/2 */); } else if (_local1 < 1.5707963267949 /* Math.PI/2 */) { } else if (_local1 < 4.71238898038469) { _local1 = _local1 - Math.PI; _local2 = 2; } else if (_local1 < 7.85398163397448) { _local1 = _local1 - (Math.PI*2); } else if (_local1 < 10.9955742875643) { _local1 = _local1 - 9.42477796076938; _local2 = 2; } else { _local1 = _local1 - 12.5663706143592; } var _local3 = _local1 * _local1; var _local4 = 0.999999953027512 + (_local3 * (-0.499999047777921 + (_local3 * (0.041663573160188 + (_local3 * (-0.0013853629536173 + (_local3 * 2.31524166599385E-5))))))); return((((_local2 & 2) != 0) ? (-_local4) : (_local4))); } }
Symbol 354 MovieClip [__Packages.king.Vec] Frame 0
class king.Vec { function Vec (x, y) { this.x = x; this.y = y; } function lengthSqr() { return((x * x) + (y * y)); } function length() { return(Math.sqrt(lengthSqr())); } function normalize() { scale(1 / length()); } function dot(v) { return((x * v.x) + (y * v.y)); } function add(v) { x = x + v.x; y = y + v.y; } function addV(xd, yd) { x = x + xd; y = y + yd; } function scale(f) { x = x * f; y = y * f; } function distanceSqr(pos) { var _local2 = pos.x - x; var _local3 = pos.y - y; return((_local2 * _local2) + (_local3 * _local3)); } function distance(pos) { return(Math.sqrt(distanceSqr(pos))); } function set(x, y) { this.x = x; this.y = y; } var x = 0; var y = 0; }
Symbol 355 MovieClip [__Packages.king.Encoder] Frame 0
class king.Encoder { var res, lastValue, run; function Encoder () { res = ""; lastValue = 0; run = 0; } function append(value) { if (value == lastValue) { run++; if (run == 63) { run--; res = res + BASE_64_CHARS.charAt(run); res = res + BASE_64_CHARS.charAt(value % 64); res = res + BASE_64_CHARS.charAt(value / 64); run = 1; } } else { res = res + BASE_64_CHARS.charAt(run); run = 1; res = res + BASE_64_CHARS.charAt(value % 64); res = res + BASE_64_CHARS.charAt(value / 64); lastValue = value; } } function flush() { res = res + BASE_64_CHARS.charAt(run); run = 0; } static var BASE_64_CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz#!"; }
Symbol 356 MovieClip [__Packages.king.Sphere] Frame 0
class king.Sphere extends king.Collideable { var hasStickied, n, normal, pos, lastPos, motion, solid, spring; function Sphere () { super(); hasStickied = false; n = new king.Vec(0, 0); normal = new king.Vec(0, 0); rx = 1; ry = 1; pos = new king.Vec(0, 0); lastPos = new king.Vec(0, 0); motion = new king.Vec(0, 0); } function isInside(p, t, ball) { var _local2 = p.x - pos.x; var _local3 = p.y - pos.y; var _local5 = (_local2 * _local2) + (_local3 * _local3); var _local4 = ball.radius; return(_local5 < (_local4 * _local4)); } function getCollisionTime(ball, v0, v1) { if (!solid) { return(undefined); } var _local3 = ball.pos.x - pos.x; var _local2 = ball.pos.y - pos.y; var _local4 = ball.motion.x - motion.x; var _local5 = ball.motion.y - motion.y; _local3 = _local3 * rx; _local2 = _local2 * ry; _local4 = _local4 * rx; _local5 = _local5 * ry; if (((_local3 * _local4) + (_local2 * _local5)) >= 0) { return(999); } var _local9 = ball.radius + radius; var _local10 = (_local4 * _local4) + (_local5 * _local5); var _local6 = ((_local4 * _local3) + (_local5 * _local2)) * 2; var _local15 = ((_local3 * _local3) + (_local2 * _local2)) - (_local9 * _local9); var _local14 = (_local6 * _local6) - ((4 * _local10) * _local15); if (_local14 >= 0) { var _local11 = Math.sqrt(_local14); var _local13 = _local10 * 2; var _local8 = ((-_local6) - _local11) / _local13; var _local12 = ((-_local6) + _local11) / _local13; if (_local12 < _local8) { _local8 = _local12; } return(_local8); } return(999); } function collide(b, t) { if (!solid) { return(undefined); } var _local5 = pos.x - b.pos.x; var _local4 = pos.y - b.pos.y; _local5 = _local5 * rx; _local4 = _local4 * ry; n.set(_local5, _local4); n.normalize(); normal.set(-n.x, -n.y); var _local7 = motion.dot(n); var _local3 = b.motion.dot(n); if (_local3 > 3) { king.Sounds.get("collideSound" + int(Math.random() * 4)).play(); } var _local8 = (_local7 - _local3) + ((_local7 - _local3) * spring); n.scale(_local8); super.processCollide(b, n, normal, 0, false); } static var NO_COLLISION = 99999; var radius = 0; var rx = 1; var ry = 1; var mass = 100000; var fixedPos = true; }
Symbol 357 MovieClip [__Packages.king.Sounds] Frame 0
class king.Sounds { static var globalSound; var soundMc, sound; function Sounds (ownerMc, soundName) { var _local2 = ownerMc.getNextHighestDepth(); soundMc = ownerMc.createEmptyMovieClip("soundMcc" + _local2, _local2); sound = new Sound(soundMc); sound.attachSound(soundName); } static function get(resourceName) { var _local2 = soundMap[resourceName]; if ((_local2 == undefined) || (_local2 == null)) { _local2 = new king.Sounds(_root, resourceName); soundMap[resourceName] = _local2; } return(_local2); } static function toggleSound() { if (globalSound == undefined) { globalSound = new Sound(_root); } soundOn = !soundOn; globalSound.setVolume((soundOn ? 100 : 0)); } function setVolume(volume) { sound.setVolume(volume); } function playLooping() { if (noSounds) { return(undefined); } sound.start(0, 9999999); } function stopAndPlayOffs(offs) { if (noSounds) { return(undefined); } sound.stop(); sound.start(offs, 0); } function stopAndPlay() { if (noSounds) { return(undefined); } sound.stop(); sound.start(0); } function playOffs(offs) { if (noSounds) { return(undefined); } sound.start(offs, 0); } function playOffsVolPan(offs, vol, pan) { if (noSounds) { return(undefined); } sound.start(offs, 0); sound.setVolume(vol); sound.setPan(pan); } function play() { if (noSounds) { return(undefined); } sound.start(0); } function stop() { sound.stop(); } static var soundMap = new Object(); static var soundOn = true; static var noSounds = false; }
Symbol 358 MovieClip [__Packages.king.Pscript] Frame 0
class king.Pscript { var root, templights, blinklights, schedule, toSchedule, scripts, step, _levelDataXml, variables, random; function Pscript (root) { this.root = root; templights = new Object(); blinklights = new Object(); schedule = new Object(); toSchedule = new Object(); scripts = new Object(); step = 0; } function tick() { step++; if ((step % 8) == 0) { var _local4 = (step % 16) == 0; for (var _local5 in blinklights) { root.bgMc[_local5]._visible = _local4; root.lager1[_local5]._visible = _local4; root.lager2[_local5]._visible = _local4; } } var _local2 = new Array(); for (var _local5 in templights) { templights[_local5]--; if (templights[_local5] == 0) { _local2.push(_local5); root.bgMc[_local5]._visible = false; root.lager1[_local5]._visible = false; root.lager2[_local5]._visible = false; } } var _local3 = 0; while (_local3 < _local2.length) { delete templights[_local2[_local3]]; _local3++; } for (var _local5 in toSchedule) { schedule[_local5] = toSchedule[_local5]; } toSchedule = new Object(); _local2 = new Array(); for (var _local5 in schedule) { schedule[_local5]--; if (schedule[_local5] == 0) { _local2.push(_local5); runScript(_local5); } } _local3 = 0; while (_local3 < _local2.length) { delete schedule[_local2[_local3]]; _local3++; } } function setScript(scriptXml) { _levelDataXml = scriptXml; loaded(); variables = new Object(); } static function lTrim(s) { var _local1 = 0; while ((((s.charCodeAt(_local1) == SPACE) || (s.charCodeAt(_local1) == CARRIAGE)) || (s.charCodeAt(_local1) == LINEFEED)) || (s.charCodeAt(_local1) == TAB)) { _local1++; } return(s.substring(_local1, s.length)); } static function rTrim(s) { var _local1 = s.length - 1; while ((((s.charCodeAt(_local1) == SPACE) || (s.charCodeAt(_local1) == CARRIAGE)) || (s.charCodeAt(_local1) == LINEFEED)) || (s.charCodeAt(_local1) == TAB)) { _local1--; } return(s.substring(0, _local1 + 1)); } static function trim(s) { return(lTrim(rTrim(s))); } function loaded() { var _local9 = _levelDataXml.childNodes; var _local8 = 0; while (_local8 < _local9.length) { var _local7 = _local9[_local8]; if (_local7.nodeName == "script") { var _local5 = trim(new String(_local7.attributes.name)); var _local6 = _local7.firstChild.nodeValue; _local6 = _local6.split("\r").join(newline); var _local4 = _local6.split(newline); scripts[_local5] = new Array(); var _local2 = 0; while (_local2 < _local4.length) { var _local3 = trim(_local4[_local2]); if (_local3.length > 0) { scripts[_local5].push(_local3.split(" ")); } _local2++; } } _local8++; } runScript("init"); } function setVar(variable, value) { variables[variable] = value; } function getValue(val) { var _local2 = val.charCodeAt(0); if (((_local2 >= 48) && (_local2 <= 57)) || (_local2 == 45)) { return(parseInt(val)); } var _local3 = variables[val]; if (_local3 != undefined) { return(_local3); } return(0); } function runScript(scriptName) { var _local7 = scripts[scriptName]; var _local8 = 0; while (_local8 < _local7.length) { var _local3 = _local7[_local8]; var _local5; _local8++; var _local4 = _local3[0]; if (_local4 == "set") { variables[_local3[1]] = getValue(_local3[2]); } else if (_local4 == "rand") { var _local10 = getValue(_local3[2]); var _local11 = getValue(_local3[3]); variables[_local3[1]] = random.nextInt((_local11 - _local10) + 1) + _local10; } else if (_local4 == "add") { variables[_local3[1]] = variables[_local3[1]] + getValue(_local3[2]); } else if (_local4 == "sub") { variables[_local3[1]] = variables[_local3[1]] - getValue(_local3[2]); } else if (_local4 == "mul") { variables[_local3[1]] = variables[_local3[1]] * getValue(_local3[2]); } else if (_local4 == "div") { variables[_local3[1]] = variables[_local3[1]] / getValue(_local3[2]); } else if (_local4 == "mod") { variables[_local3[1]] = variables[_local3[1]] % getValue(_local3[2]); } else if (_local4 == "goto") { _local5 = _local3[1]; } else if (_local4 == "run") { runScript(_local3[1]); } else if (_local4 == "schedule") { toSchedule[_local3[1]] = getValue(_local3[2]); } else if (_local4 == "if") { if (getValue(_local3[1]) != 0) { _local5 = _local3[2]; } } else if ((_local4 == "ifg") || (_local4 == "ifgr")) { if (getValue(_local3[1]) > getValue(_local3[2])) { _local5 = _local3[3]; } } else if (_local4 == "ifl") { if (getValue(_local3[1]) < getValue(_local3[2])) { _local5 = _local3[3]; } } else if (_local4 == "ifge") { if (getValue(_local3[1]) >= getValue(_local3[2])) { _local5 = _local3[3]; } } else if (_local4 == "ifle") { if (getValue(_local3[1]) <= getValue(_local3[2])) { _local5 = _local3[3]; } } else if ((_local4 == "ife") || (_local4 == "ifeq")) { if (getValue(_local3[1]) == getValue(_local3[2])) { _local5 = _local3[3]; } } else if (_local4 == "ifne") { if (getValue(_local3[1]) != getValue(_local3[2])) { _local5 = _local3[3]; } } else if (_local4 == "blink") { if (getValue(_local3[2]) > 0) { blinklights[_local3[1]] = 1; } else { delete blinklights[_local3[1]]; } } else if (_local4 == "blinknum") { if (getValue(_local3[3]) > 0) { blinklights[_local3[1] + getValue(_local3[2])] = 1; } else { delete blinklights[_local3[1] + getValue(_local3[2])]; } } else if (_local4 == "blinkrange") { var _local6 = getValue(_local3[2]); while (_local6 <= getValue(_local3[3])) { if (getValue(_local3[4]) > 0) { blinklights[_local3[1] + _local6] = 1; } else { delete blinklights[_local3[1] + _local6]; } _local6++; } } else if (_local4 == "light") { root.bgMc[_local3[1]]._visible = getValue(_local3[2]) > 0; root.lager1[_local3[1]]._visible = getValue(_local3[2]) > 0; root.lager2[_local3[1]]._visible = getValue(_local3[2]) > 0; } else if (_local4 == "templight") { templights[_local3[1]] = getValue(_local3[2]); root.bgMc[_local3[1]]._visible = true; root.lager1[_local3[1]]._visible = true; root.lager2[_local3[1]]._visible = true; } else if (_local4 == "lightnum") { root.bgMc[_local3[1] + getValue(_local3[2])]._visible = getValue(_local3[3]) > 0; root.lager1[_local3[1] + getValue(_local3[2])]._visible = getValue(_local3[3]) > 0; root.lager2[_local3[1] + getValue(_local3[2])]._visible = getValue(_local3[3]) > 0; } else if (_local4 == "lightrange") { var _local6 = getValue(_local3[2]); while (_local6 <= getValue(_local3[3])) { root.bgMc[_local3[1] + _local6]._visible = getValue(_local3[4]) > 0; root.lager1[_local3[1] + _local6]._visible = getValue(_local3[4]) > 0; root.lager2[_local3[1] + _local6]._visible = getValue(_local3[4]) > 0; _local6++; } } else if (_local4 == "lock") { root.lockBall(_local3[1]); } else if (_local4 == "addtime") { root.addTime(getValue(_local3[1])); } else if (_local4 == "shorgameover") { root.shortGameOver(); } else if (_local4 == "launch") { var _local13 = getValue(_local3[1]); var _local12 = getValue(_local3[2]); root.launchBall(_local13, _local12); } else if (_local4 == "setlayer") { root.switchLayer(_local3[1]); } else if (_local4 == "trace") { var _local6 = 1; while (_local6 < _local3.length) { _root.debugText.text = _root.debugText.text + (_local3[_local6] + " "); _local6++; } _root.debugText.text = _root.debugText.text + "\r"; } else if (_local4 == "spin") { root.spin(); } else if (_local4 == "spawnball") { root.newBall(); } else if (_local4 == "ballglow") { root.setBallGlow(_local3[1] == "1"); } else if (_local4 == "refreshlayer") { root.refreshlayer(); } else if (_local4 == "sound") { king.Sounds.get(_local3[1]).play(); } else if (_local4 == "stopsound") { king.Sounds.get(_local3[1]).stop(); } else if (_local4 == "showsign") { root.showSign(getValue(_local3[1])); } else if (_local4 == "minigame") { root.playMiniGame(getValue(_local3[1])); } if (_local5 != undefined) { _local8 = _local7.length; var _local9 = _local5 + ":"; var _local6 = 0; while (_local6 < _local7.length) { if (_local7[_local6][0] == _local9) { _local8 = _local6; break; } _local6++; } } } } static var TAB = 9; static var LINEFEED = 10; static var CARRIAGE = 13; static var SPACE = 32; }
Symbol 359 MovieClip [__Packages.king.Portal] Frame 0
class king.Portal extends king.Collideable { var pinball, targetLayer, sphere, v0, v1, angle, length, normal, c, c1; function Portal (pinball, x0, y0, x1, y1) { super(); this.pinball = pinball; targetLayer = "NO TARGET"; lastTick = 0; sphere = new king.Sphere(); v0 = new king.Vec(x0, y0); v1 = new king.Vec(x1, y1); angle = new king.Vec(x1 - x0, y1 - y0); length = angle.length(); angle.normalize(); normal = new king.Vec(angle.y, -angle.x); c = normal.dot(v0); c1 = angle.dot(v0); } function getCollisionTime(ball, v0, v1) { var _local3 = ((normal.x * v0.x) + (normal.y * v0.y)) - c; var _local5 = ((normal.x * v1.x) + (normal.y * v1.y)) - c; if (_local3 > 0) { if (_local5 > 0) { return(999); } } else if (_local5 < 0) { return(999); } var _local2 = _local3 - _local5; if (_local2 != 0) { _local2 = _local3 / (_local3 - _local5); } else { _local2 = 0.5; } var _local9 = ((v1.x - v0.x) * _local2) + v0.x; var _local8 = ((v1.y - v0.y) * _local2) + v0.y; var _local6 = ((angle.x * _local9) + (angle.y * _local8)) - c1; if ((_local6 < 0) || (_local6 > length)) { return(999); } return(_local2); } function collide(b, t) { if (targetLayer != "lager1") { king.Sounds.get("rampSound").playLooping(); } else { king.Sounds.get("rampSound").stop(); } pinball.switchLayer(targetLayer); } function isInside(p, t, ball) { return(false); } function pushOut(p, t, ball) { return(undefined); } var lastTick = 0; static var layerChange = 0; }
Symbol 360 MovieClip [__Packages.king.Rollover] Frame 0
class king.Rollover extends king.Collideable { var pinball, targetLayer, sphere, v0, v1, angle, length, normal, c, c1; function Rollover (pinball, x0, y0, x1, y1) { super(); this.pinball = pinball; targetLayer = "NO TARGET"; lastTick = 0; skipTick = 0; sphere = new king.Sphere(); v0 = new king.Vec(x0, y0); v1 = new king.Vec(x1, y1); angle = new king.Vec(x1 - x0, y1 - y0); length = angle.length(); angle.normalize(); normal = new king.Vec(angle.y, -angle.x); c = normal.dot(v0); c1 = angle.dot(v0); } function getCollisionTime(ball, v0, v1, passedTime, currentCollideTick) { if (currentCollideTick == skipTick) { return(undefined); } lastTick = currentCollideTick; var _local3 = ((normal.x * v0.x) + (normal.y * v0.y)) - c; var _local5 = ((normal.x * v1.x) + (normal.y * v1.y)) - c; if (_local3 > 0) { if (_local5 > 0) { return(999); } } else if (_local5 < 0) { return(999); } var _local2 = _local3 - _local5; if (_local2 != 0) { _local2 = _local3 / (_local3 - _local5); } else { _local2 = 0.5; } var _local9 = ((v1.x - v0.x) * _local2) + v0.x; var _local8 = ((v1.y - v0.y) * _local2) + v0.y; var _local6 = ((angle.x * _local9) + (angle.y * _local8)) - c1; if ((_local6 < 0) || (_local6 > length)) { return(999); } return(_local2); } function collide(b, t) { skipTick = lastTick + 1; pinball.rollOver(targetLayer); } function isInside(p, t, ball) { return(false); } function pushOut(p, t, ball) { return(undefined); } var skipTick = 0; var lastTick = 0; }
Symbol 361 MovieClip [__Packages.king.Wall] Frame 0
class king.Wall extends king.Collideable { var wid, sphere, v0, v1, angle, length, normal, c, c1, solid, spring; function Wall (x0, y0, x1, y1) { super(); wid = idCounter; idCounter++; lastTick = 0; sphere = new king.Sphere(); v0 = new king.Vec(x0, y0); v1 = new king.Vec(x1, y1); angle = new king.Vec(x1 - x0, y1 - y0); length = angle.length(); angle.normalize(); normal = new king.Vec(angle.y, -angle.x); c = normal.dot(v0); c1 = angle.dot(v0); } function getCollisionTime(ball, v0, v1) { if (!solid) { return(999); } var _local2 = ((normal.x * v0.x) + (normal.y * v0.y)) - c; var _local3 = ((normal.x * v1.x) + (normal.y * v1.y)) - c; if (_local2 > 0) { if (_local3 > _local2) { return(999); } _local2 = _local2 - ball.radius; _local3 = _local3 - ball.radius; if (_local3 > 0) { return(999); } } else { if (_local3 < _local2) { return(999); } _local2 = _local2 + ball.radius; _local3 = _local3 + ball.radius; if (_local3 < 0) { return(999); } } var _local4 = _local2 - _local3; if (_local4 != 0) { _local4 = _local2 / _local4; } else { _local4 = 0.5; } var _local10 = ((v1.x - v0.x) * _local4) + v0.x; var _local9 = ((v1.y - v0.y) * _local4) + v0.y; var _local7 = ((angle.x * _local10) + (angle.y * _local9)) - c1; if ((_local7 < 0) || (_local7 > length)) { return(999); } return(_local4); } function collide(b, t) { if (!solid) { return(undefined); } var _local4 = new king.Vec(normal.x, normal.y); var _local6 = 0; var _local5 = b.motion.dot(_local4); if (_local5 < -3) { king.Sounds.get("collideSound" + int(Math.random() * 4)).play(); } var _local8 = (_local6 - _local5) + ((_local6 - _local5) * spring); _local4.scale(_local8); var _local7 = ((((angle.x * b.pos.x) + (angle.y * b.pos.y)) - c1) / length) - 0.5; var _local9 = (((normal.x * b.pos.x) + (normal.y * b.pos.y)) - c) < 0; super.processCollide(b, _local4, normal, _local7, _local9); } function isInside(p, t, ball) { var _local6 = p.x; var _local5 = p.y; var _local3 = ball.radius; var _local2 = ((normal.x * _local6) + (normal.y * _local5)) - c; if ((_local2 > _local3) || (_local2 < (-_local3))) { return(false); } var _local4 = ((angle.x * _local6) + (angle.y * _local5)) - c1; if ((_local4 < 0) || (_local4 > length)) { return(false); } return(true); } function pushOut(p, t, ball) { var _local6 = p.x; var _local5 = p.y; var _local2 = ((normal.x * _local6) + (normal.y * _local5)) - c; if ((_local2 > ball.radius) || (_local2 < (-ball.radius))) { return(undefined); } var _local4 = ((angle.x * _local6) + (angle.y * _local5)) - c1; if ((_local4 < 0) || (_local4 > length)) { return(undefined); } if (_local2 > 0) { var _local7 = ball.radius - _local2; ball.impulse.addV(normal.x * _local7, normal.y * _local7); } else { var _local7 = (-ball.radius) - _local2; ball.impulse.addV(normal.x * _local7, normal.y * _local7); } } function draw(mc) { mc.moveTo(v0.x, v0.y); mc.lineTo(v1.x, v1.y); } var lastTick = 0; static var idCounter = 0; }
Symbol 362 MovieClip [__Packages.king.LevelData] Frame 0
class king.LevelData { var layerXmls, wallReceiver, _levelDataXml; function LevelData () { } function parseLevelData(wallReceiver, communicator) { layerXmls = new Array(); this.wallReceiver = wallReceiver; loadLevel(communicator, "lager1"); loadLevel(communicator, "lager1", "lager1_1"); loadLevel(communicator, "hatch", "lager1_1"); loadLevel(communicator, "ramp1"); loadLevel(communicator, "ramp2"); var _local3 = this; } function loadLevel(communicator, svgFileName, targetLayer) { if (targetLayer == undefined) { targetLayer = svgFileName; } _levelDataXml = communicator.layerDatas[svgFileName]; loaded(targetLayer, true); } function loaded(layerName, success) { wallReceiver.setLayer(layerName); addWalls(_levelDataXml.childNodes); } function addWalls(cn) { var _local2 = 0; while (_local2 < cn.length) { var _local7 = 0; var _local6 = 0; var _local8 = 0; var _local16 = 0; var _local18 = 0; var _local20 = 0; var _local4; if (cn[_local2].attributes.id != undefined) { _local4 = cn[_local2].attributes.id; _local4 = _local4.split("_")[0]; } if ((cn[_local2].attributes.fill != undefined) && (cn[_local2].attributes.fill != "none")) { var _local30 = new String(cn[_local2].attributes.fill).substr(-6, 6); var _local24 = parseInt(_local30, 16); _local7 = (_local24 >> 16) & 255; _local6 = (_local24 >> 8) & 255; _local8 = _local24 & 255; } if ((cn[_local2].attributes.stroke != undefined) && (cn[_local2].attributes.stroke != "none")) { var _local30 = new String(cn[_local2].attributes.stroke).substr(-6, 6); var _local24 = parseInt(_local30, 16); _local16 = (_local24 >> 16) & 255; _local18 = (_local24 >> 8) & 255; _local20 = _local24 & 255; } if (cn[_local2].nodeName == "g") { addWalls(cn[_local2].childNodes); } if (cn[_local2].nodeName == "circle") { var _local5 = parseDouble(cn[_local2].attributes.cx); var _local11 = parseDouble(cn[_local2].attributes.cy); var _local25 = parseDouble(cn[_local2].attributes.r); wallReceiver.newCircle(_local7, _local6, _local8, _local5, _local11, _local25, _local25, _local4); } if (cn[_local2].nodeName == "ellipse") { var _local5 = parseDouble(cn[_local2].attributes.cx); var _local11 = parseDouble(cn[_local2].attributes.cy); var _local32 = parseDouble(cn[_local2].attributes.rx); var _local31 = parseDouble(cn[_local2].attributes.ry); wallReceiver.newCircle(_local7, _local6, _local8, _local5, _local11, _local32, _local31, _local4); } if (cn[_local2].nodeName == "rect") { var _local5 = parseDouble(cn[_local2].attributes.x); var _local11 = parseDouble(cn[_local2].attributes.y); if (isNaN(_local5)) { _local5 = 0; } if (isNaN(_local11)) { _local11 = 0; } var _local21 = parseDouble(cn[_local2].attributes.width); var _local19 = parseDouble(cn[_local2].attributes.height); wallReceiver.newArea(_local7, _local6, _local8); wallReceiver.addWall(_local5, _local11, _local5 + _local21, _local11, _local4); wallReceiver.addWall(_local5 + _local21, _local11, _local5 + _local21, _local11 + _local19, _local4); wallReceiver.addWall(_local5 + _local21, _local11 + _local19, _local5, _local11 + _local19, _local4); wallReceiver.addWall(_local5, _local11 + _local19, _local5, _local11, _local4); wallReceiver.endArea(); } if (cn[_local2].nodeName == "line") { var _local29 = parseDouble(cn[_local2].attributes.x1); var _local27 = parseDouble(cn[_local2].attributes.y1); var _local28 = parseDouble(cn[_local2].attributes.x2); var _local26 = parseDouble(cn[_local2].attributes.y2); wallReceiver.newArea(_local7, _local6, _local8); wallReceiver.addWall3(_local16, _local18, _local20, _local29, _local27, _local28, _local26, true, _local4); wallReceiver.endArea(); } if (cn[_local2].nodeName == "polyline") { wallReceiver.newArea(_local7, _local6, _local8); var _local33 = cn[_local2].attributes.points; var _local9 = _local33.split(" "); var _local12 = -999; var _local15 = -999; var _local13 = -999; var _local23 = -999; var _local22 = true; var _local10 = 0; while (_local10 < _local9.length) { var _local14 = _local9[_local10].split(","); var _local5 = parseDouble(_local14[0]); var _local11 = parseDouble(_local14[1]); if ((_local13 == -999) || (isNaN(_local13))) { _local13 = _local5; _local23 = _local11; } if (!isNaN(_local5)) { if (_local12 != -999) { if (wallReceiver.addWall3(_local16, _local18, _local20, _local12, _local15, _local5, _local11, _local22, _local4)) { _local22 = false; } } _local12 = _local5; _local15 = _local11; } _local10++; } wallReceiver.endArea(); } if (cn[_local2].nodeName == "polygon") { var _local33 = cn[_local2].attributes.points; var _local9 = _local33.split(" "); if ((((_local7 << 16) | (_local6 << 8)) | _local8) == 16711935) { var _local17 = new king.Flipper(wallReceiver); var _local10 = 0; while (_local10 < _local9.length) { var _local14 = _local9[_local10].split(","); var _local5 = parseDouble(_local14[0]); var _local11 = parseDouble(_local14[1]); if (!isNaN(_local5)) { _local17.addCoords(_local5, _local11); } _local10++; } _local17.compile(); wallReceiver.addFlipper(_local17); } else { wallReceiver.newArea(_local7, _local6, _local8); var _local12 = -999; var _local15 = -999; var _local13 = -999; var _local23 = -999; var _local10 = 0; while (_local10 < _local9.length) { var _local14 = _local9[_local10].split(","); var _local5 = parseDouble(_local14[0]); var _local11 = parseDouble(_local14[1]); if ((_local13 == -999) || (isNaN(_local13))) { _local13 = _local5; _local23 = _local11; } if (!isNaN(_local5)) { if (_local12 != -999) { wallReceiver.addWall(_local12, _local15, _local5, _local11, _local4); } _local12 = _local5; _local15 = _local11; } _local10++; } wallReceiver.addWall(_local12, _local15, _local13, _local23, _local4); wallReceiver.endArea(); } } _local2++; } } function parseDouble(str) { var _local5 = 0; var _local7 = false; var _local9 = false; var _local8 = 1; if (str == undefined) { return(Number.NaN); } str = king.Pscript.trim(str); if (str == "") { return(Number.NaN); } var _local3 = 0; while (_local3 < str.length) { var _local2 = str.charAt(_local3); if (_local2 == "-") { _local9 = true; } else if (_local2 == ".") { _local7 = true; } else { var _local4 = parseInt(_local2); if (!_local7) { _local5 = (_local5 * 10) + _local4; } else { _local8 = _local8 * 0.1; _local5 = _local5 + (_local4 * _local8); } } _local3++; } if (_local9) { _local5 = -_local5; } var _local10 = _local5 - parseFloat(str); if (_local10 != 0) { _root.debugText.text = _root.debugText.text + (((str + " -> ") + _local10) + "\r"); } return(_local5); } }
Symbol 363 MovieClip [__Packages.king.Flipper] Frame 0
class king.Flipper { var pinball, xCoords, yCoords, lastRot, lastlastRot, rot, rotA, isPressed, corners, collideables, currentRot, oldUpperNormal, upperNormal, mc, xPos, yPos, radius, facing; function Flipper (pinball) { this.pinball = pinball; xCoords = new Array(); yCoords = new Array(); lastRot = -9999; lastlastRot = 0; rot = 0; rotA = 0; isPressed = false; corners = new Array(); collideables = new Array(); currentRot = 0; oldUpperNormal = new king.Vec(); upperNormal = new king.Vec(); } function setMovieClip(mc) { this.mc = mc; var _local3 = mc.attachMovie("Flipper", "flipper", 100); var _local2 = xCoords.length - 1; var _local4 = corners[_local2].x - corners[0].x; var _local5 = corners[_local2].y - corners[0].y; var _local6 = (Math.atan2(_local5, _local4) * 180) / Math.PI; _local3._rotation = _local6; } function drawCircle(mc, x, y, rx, ry) { } function render(alpha) { var _local2 = lastRot + ((rot - lastRot) * alpha); if (currentRot != _local2) { mc._rotation = _local2; currentRot = _local2; } } function addCoords(x, y) { xCoords.push(x); yCoords.push(y); } function compile() { var _local14 = -9; var _local13 = 999999999 /* 0x3B9AC9FF */; var _local4 = 0; while (_local4 < xCoords.length) { var _local5 = (_local4 + 2) % xCoords.length; var _local7 = xCoords[_local5] - xCoords[_local4]; var _local8 = yCoords[_local5] - yCoords[_local4]; var _local6 = (_local7 * _local7) + (_local8 * _local8); if (_local6 < _local13) { _local13 = _local6; _local14 = (_local4 + 1) % xCoords.length; } _local4++; } xPos = xCoords[_local14]; yPos = yCoords[_local14]; var _local12 = 0; var _local11 = 0; radius = 0; var _local15 = 0; _local4 = 0; while (_local4 < xCoords.length) { xCoords[_local4] = xCoords[_local4] - xPos; yCoords[_local4] = yCoords[_local4] - yPos; if (xCoords[_local4] < _local12) { _local12 = xCoords[_local4]; } if (xCoords[_local4] > _local11) { _local11 = xCoords[_local4]; } var _local6 = (xCoords[_local4] * xCoords[_local4]) + (yCoords[_local4] * yCoords[_local4]); if (_local6 > radius) { radius = _local6; _local15 = _local4; } _local4++; } var _local16 = xCoords[_local15]; var _local17 = yCoords[_local15]; radius = Math.sqrt(radius) + 8; facing = 1; if ((-_local12) > _local11) { facing = -1; } radius = radius + 3; xCoords = new Array(); yCoords = new Array(); corners = new Array(); var _local3 = 10; _local4 = 0; while (_local4 <= _local3) { var _local10 = (((_local16 * (radius - 4)) / radius) * _local4) / _local3; var _local9 = (((_local17 * (radius - 4)) / radius) * _local4) / _local3; xCoords.push(_local10); yCoords.push(_local9); var _local2 = new king.MoveableSphere(this, xCoords[_local4], yCoords[_local4]); if ((_local4 != 0) && (_local4 != _local3)) { _local2.sideways = ((_local4 * 2) / _local3) - 0.8; _local2.upperNormal = upperNormal; _local2.oldUpperNormal = oldUpperNormal; } _local2.radius = 6 - ((_local4 * 2) / _local3); corners.push(_local2); _local4++; } _local4 = 0; while (_local4 < corners.length) { collideables.push(corners[_local4]); _local4++; } } function tick() { var _local12 = (isPressed ? (UP_ANGLE * facing) : 0); rotA = _local12 - rot; if (rotA < (-MAX_TURN)) { rotA = -MAX_TURN; } if (rotA > MAX_TURN) { rotA = MAX_TURN; } if ((lastlastRot != lastRot) || (lastRot != rot)) { var _local8 = rot + rotA; var _local7 = king.XpMath.sin((_local8 * Math.PI) / 180); var _local6 = king.XpMath.cos((_local8 * Math.PI) / 180); if (king.MoveableSphere.debugText) { _root.debugText.text = _root.debugText.text + "---\r"; _root.debugText.text = _root.debugText.text + (king.FloatEncoder.encodeBits(Math.PI) + "\r"); _root.debugText.text = _root.debugText.text + (king.FloatEncoder.encodeBits((_local8 * Math.PI) / 180) + "\r"); _root.debugText.text = _root.debugText.text + (king.FloatEncoder.encodeBits(_local7) + "\r"); _root.debugText.text = _root.debugText.text + (king.FloatEncoder.encodeBits(_local6) + "\r"); } var _local3 = 0; while (_local3 < xCoords.length) { var _local5 = ((xCoords[_local3] * _local6) - (yCoords[_local3] * _local7)) + xPos; var _local4 = ((yCoords[_local3] * _local6) + (xCoords[_local3] * _local7)) + yPos; corners[_local3].tick(_local5, _local4); _local3++; } var _local9 = xCoords.length - 1; var _local10 = corners[_local9].x - corners[0].x; var _local11 = corners[_local9].y - corners[0].y; oldUpperNormal.set(upperNormal.x, upperNormal.y); upperNormal.set(-_local11, _local10); upperNormal.normalize(); } } function addTime(t) { lastlastRot = lastRot; lastRot = rot; rot = rot + (rotA * t); } function collided() { var _local3 = (isPressed ? (UP_ANGLE * facing) : 0); var _local2 = _local3 - rot; if ((_local2 < -0.5) || (_local2 > 0.5)) { pinball.flipperCollided(); } } var MAX_TURN = 20; var UP_ANGLE = -60; }
Symbol 364 MovieClip [__Packages.king.MoveableSphere] Frame 0
class king.MoveableSphere extends king.Collideable { var sideways, upperNormal, lowerNormal, n, normal, motion, flipper, sticky, spring, xd, yd, xold, x, yold, y, pos, oldUpperNormal; function MoveableSphere (flipper, x, y) { super(); sideways = 0; upperNormal = undefined; lowerNormal = undefined; n = new king.Vec(0, 0); normal = new king.Vec(0, 0); motion = new king.Vec(0, 0); this.flipper = flipper; sticky = 0.7; spring = 0.3 * sticky; xd = 0; yd = 0; xold = (this.x = x); yold = (this.y = y); pos = new king.Vec(x, y); } function tick(_xx, _yy) { xd = _xx - x; yd = _yy - y; xold = x; yold = y; x = _xx; y = _yy; pos.set(x, y); } function mTick(_xx, _yy) { x = _xx; y = _yy; pos.set(x, y); } function fakeTick(_xx, _yy) { pos.set(_xx, _yy); } function setupSphereTime(t) { pos.set(xold + (xd * t), yold + (yd * t)); } function isInside(p, t, b) { var _local3 = p.x - (xold + (xd * t)); var _local4 = p.y - (yold + (yd * t)); var _local5 = (_local3 * _local3) + (_local4 * _local4); var _local2 = b.radius + radius; _local2 = _local2 * 0.7; if (_local5 < (_local2 * _local2)) { return(true); } return(false); } function getCollisionTime(ball, v0, v1, timeOffs) { if ((timeOffs > 1) || (timeOffs < 0)) { return(undefined); } var _local9 = timeOffs; pos.set(xold + (xd * _local9), yold + (yd * _local9)); var _local3 = ball.pos.x - pos.x; var _local2 = ball.pos.y - pos.y; var _local5 = ball.motion.x - xd; var _local6 = ball.motion.y - yd; if (((_local3 * _local5) + (_local2 * _local6)) >= 0) { return(999); } var _local10 = ball.radius + radius; var _local11 = (_local5 * _local5) + (_local6 * _local6); var _local4 = ((_local5 * _local3) + (_local6 * _local2)) * 2; var _local17 = ((_local3 * _local3) + (_local2 * _local2)) - (_local10 * _local10); var _local15 = (_local4 * _local4) - ((4 * _local11) * _local17); if (_local15 > 0) { var _local12 = Math.sqrt(_local15); var _local14 = _local11 * 2; var _local8 = ((-_local4) - _local12) / _local14; var _local13 = ((-_local4) + _local12) / _local14; if (_local13 < _local8) { _local8 = _local13; } return(_local8); } return(999); } function collide(b, t) { pos.set(xold + (xd * t), yold + (yd * t)); var _local12 = pos.x - b.pos.x; var _local11 = pos.y - b.pos.y; var _local15 = upperNormal != undefined; if (_local15) { var _local20 = oldUpperNormal.x + ((upperNormal.x - oldUpperNormal.x) * t); var _local18 = oldUpperNormal.y + ((upperNormal.y - oldUpperNormal.y) * t); n.set(_local20, _local18); } else { n.set(-_local12, -_local11); } n.normalize(); var _local13 = 1; var _local4 = (_local12 * n.x) + (_local11 * n.y); var _local16 = _local4 < 0; motion.set(xd * _local13, yd * _local13); var _local14 = motion.dot(n); var _local10 = b.motion.dot(n); if (_local10 > 3) { king.Sounds.get("collideSound" + int(Math.random() * 4)).play(); } if (!b.hasStickied) { b.motion.scale(sticky); b.hasStickied = true; } var _local5 = 0.1; if (_local16 || (!_local15)) { b.motion.addV(n.x * _local5, n.y * _local5); } else { b.motion.addV((-n.x) * _local5, (-n.y) * _local5); } var _local17 = (_local14 - _local10) + ((_local14 - _local10) * spring); n.scale(_local17); b.motion.addV(n.x, n.y); flipper.collided(); var _local7 = b.pos; var _local8 = _local7.x - (xold + (xd * t)); var _local9 = _local7.y - (yold + (yd * t)); _local4 = (_local8 * _local8) + (_local9 * _local9); var _local6 = b.radius + radius; if (_local4 < (_local6 * _local6)) { _local4 = Math.sqrt(_local4); var _local19 = xold + (xd * t); var _local21 = yold + (yd * t); _local7.set(_local19 + ((_local8 * _local6) / _local4), _local21 + ((_local9 * _local6) / _local4)); } } function dumpInfo() { _root.debugText.text = _root.debugText.text + "Collide with moveablesphere\r"; var _local4 = oldUpperNormal.x + ((upperNormal.x - oldUpperNormal.x) * 0.5); var _local3 = oldUpperNormal.y + ((upperNormal.y - oldUpperNormal.y) * 0.5); _root.debugText.text = _root.debugText.text + (king.FloatEncoder.encodeBits(_local4) + "\r"); _root.debugText.text = _root.debugText.text + (king.FloatEncoder.encodeBits(_local3) + "\r"); } static var NO_COLLISION = 99999; var radius = 0; var mass = 100000; var fixedPos = true; static var debugText = false; }
Symbol 365 MovieClip [__Packages.king.FloatEncoder] Frame 0
class king.FloatEncoder { function FloatEncoder () { } static function encodeBits(val) { var _local6 = val < 0; if (_local6) { val = -val; } var _local4 = 0; while (val > 1) { val = val / 2; _local4++; } if (_local6) { _local4 = (-_local4) - 1; } var _local5 = _local4 + "."; do { var _local3 = 0; var _local1 = 0; while (_local1 < 6) { if (val >= 1) { val = val - 1; _local3 = _local3 | (1 << _local1); } val = val * 2; _local1++; } _local5 = _local5 + BASE_64_CHARS.charAt(_local3); } while (val > 0); return(_local5); } static function decodeBits(encodedData) { var _local6 = encodedData.split("."); var _local7 = parseInt(_local6[0]); var _local8 = _local7 < 0; var _local5 = _local6[1]; var _local2 = 0; if (_local8) { _local7 = (-_local7) - 1; } var _local4 = 0; while (_local4 < _local5.length) { _local6 = _local5.charAt((_local5.length - _local4) - 1); var _local3 = BASE_64_CHARS.indexOf(_local6); var _local1 = 0; while (_local1 < 6) { _local2 = _local2 / 2; if (((_local3 >> (5 - _local1)) & 1) > 0) { _local2 = _local2 + 1; } _local1++; } _local4++; } _local4 = 0; while (_local4 < _local7) { _local2 = _local2 * 2; _local4++; } if (_local8) { _local2 = -_local2; } return(_local2); } static var BASE_64_CHARS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ()"; }
Symbol 366 MovieClip [__Packages.king.InstructionsSign] Frame 0
class king.InstructionsSign { var pinball, signMc, startTime; function InstructionsSign (pinball) { this.pinball = pinball; signMc = _root.sign; signMc._visible = true; signMc.gotoAndStop(1); startTime = getTimer(); _root.launcher.gotoAndStop(1); pinball.lager1.spin.gotoAndStop(1); signMc.titleText.text = _global.textMappings.instructions_title; signMc.bodyText.text = _global.textMappings.instructions_text; render(); king.Sounds.get("intromusic").play(); king.Sounds.get("intromusic").setVolume(30); } function render() { var _local6 = getTimer() - startTime; var _local4 = SIGN_TIME - _local6; if (_local4 < 500) { var _local7 = (500 - _local4) / 500; var _local8 = (_local7 * _local7) * 600; _root.sign._y = 110 - _local8; } pinball.ledPanel.renderScrollText(_global.textMappings.instructions_text, int((_local6 / 1000) * 70)); var _local5 = int((_local4 + 999) / 1000); if (_local5 <= 0) { king.Sounds.get("intromusic").stop(); king.Sounds.get("gamemusic").playLooping(); king.Sounds.get("gamemusic").setVolume(50); _local5 = 0; signMc._visible = false; pinball.currentSign = undefined; pinball.spawnBall(); } signMc.timeText.text = _global.textMappings.game_starts_in.split("[0]").join(_local5); } function onClick() { var _local2 = getTimer() - startTime; var _local3 = SIGN_TIME - _local2; if (_local3 >= 500) { startTime = (getTimer() - SIGN_TIME) + 500; } } var SIGN_TIME = 15000; }
Symbol 367 MovieClip [__Packages.king.ShortGameOverSign] Frame 0
class king.ShortGameOverSign { var pinball, signMc, startTime; function ShortGameOverSign (pinball) { this.pinball = pinball; signMc = _root.sign; signMc._visible = true; signMc.gotoAndStop(2); startTime = getTimer(); signMc.titleText.text = _global.textMappings.nag_title; signMc.bodyText.text = _global.textMappings.nag_text; render(); king.Sounds.get("lavamusic").stop(); king.Sounds.get("gamemusic").stop(); king.Sounds.get("gameovermusic").play(); } function render() { var _local4 = getTimer() - startTime; if (_local4 < 500) { var _local6 = (500 - _local4) / 500; var _local8 = (_local6 * _local6) * 600; _root.sign._y = 110 - _local8; } var _local7 = SIGN_TIME - _local4; var _local5 = int((_local7 + 999) / 1000); if (_local5 <= 0) { _local5 = 0; onClick(); } signMc.timeText.text = _global.textMappings.game_ends_in.split("[0]").join(_local5); } function onClick() { var _local2 = getTimer() - startTime; if (_local2 > 1000) { pinball.communicator.gameQuit(); } } var SIGN_TIME = 5000; }
Symbol 368 MovieClip [__Packages.king.GameOverSign] Frame 0
class king.GameOverSign { var pinball, signMc, startTime; function GameOverSign (pinball) { this.pinball = pinball; signMc = _root.sign; signMc._visible = true; signMc.gotoAndStop(3); startTime = getTimer(); signMc.titleText.text = _global.textMappings.game_over_title; signMc.bodyText.text = ""; signMc.scoreText.text = _global.textMappings.score; signMc.bonusText.text = _global.textMappings.bonus; signMc.totalScoreText.text = _global.textMappings.total_score; var _local5 = pinball.pscript.getValue("_score"); var _local4 = pinball.pscript.getValue("_totalbonus"); signMc.score.text = _local5 - _local4; signMc.bonus.text = _local4; signMc.totalScore.text = _local5; render(); king.Sounds.get("lavamusic").stop(); king.Sounds.get("gamemusic").stop(); king.Sounds.get("gameovermusic").play(); } function render() { var _local4 = getTimer() - startTime; if (_local4 < 500) { var _local6 = (500 - _local4) / 500; var _local8 = (_local6 * _local6) * 600; _root.sign._y = 110 - _local8; } var _local7 = SIGN_TIME - _local4; var _local5 = int((_local7 + 999) / 1000); if (_local5 <= 0) { _local5 = 0; onClick(); } signMc.timeText.text = _global.textMappings.game_ends_in.split("[0]").join(_local5); } function onClick() { var _local2 = getTimer() - startTime; if (_local2 > 1000) { pinball.communicator.gameQuit(); } } var SIGN_TIME = 5000; }
Symbol 369 MovieClip [__Packages.king.Decoder] Frame 0
class king.Decoder { var res, p, lastValue, run; function Decoder (res) { this.res = res; p = 0; lastValue = 0; run = BASE_64_CHARS.indexOf(res.charAt(p++)); } function next() { while (run <= 0) { lastValue = BASE_64_CHARS.indexOf(res.charAt(p++)); lastValue = lastValue + (BASE_64_CHARS.indexOf(res.charAt(p++)) * 64); run = BASE_64_CHARS.indexOf(res.charAt(p++)); } run--; return(lastValue); } function hasMoreTicks() { return((run > 0) || (p < (res.length - 1))); } static var BASE_64_CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz#!"; }
Symbol 370 MovieClip [__Packages.king.util.Random] Frame 0
class king.util.Random { var mta, mti, lastSeed; function Random (aSeed) { mta = new Array(N); mti = N + 1; if (aSeed != undefined) { init_genrand(aSeed); } } function set seed(s) { init_genrand(s); //return(seed); } function get seed() { return(lastSeed); } function nextInt(n) { return((genrand_int32() & 2147483647) % n); } function nextFloat() { return(next(24) / 16777216); } function nextDouble() { return(next(24) / 16777216); } function next(bits) { if (bits < 32) { return(genrand_int32() & ((1 << bits) - 1)); } return(genrand_int32()); } function init_genrand(s) { s = int(s); trace("Random::init_genrand(): seed=" + s); var _local6 = getTimer(); lastSeed = s; mta[0] = s; var _local2 = s; var _local3 = new king.util.Integer64(); var _local4 = N; mti = 1; while (mti < _local4) { _local3.init32((_local2 >>> 30) ^ _local2); _local3.mulu32(1812433253); _local2 = (mta[mti] = int(_local3.lsb + mti)); mti++; } var _local7 = getTimer(); trace(("Random::init_genrand(): initialization ~" + (_local7 - _local6)) + "ms"); } function genrand_int32() { var _local9 = N; var _local3 = 0; if (mti >= _local9) { if (mti == (_local9 + 1)) { init_genrand(5489); } var _local8 = M; var _local6 = UPPER_MASK; var _local4 = LOWER_MASK; var _local5 = mag01; var _local11 = getTimer(); var _local2 = 0; var _local7 = _local9 - _local8; var _local10 = _local8 - _local9; _local2 = 0; while (_local2 < _local7) { _local3 = (mta[_local2] & _local6) | (mta[_local2 + 1] & _local4); mta[_local2] = (mta[_local2 + _local8] ^ (_local3 >>> 1)) ^ _local5[_local3 & 1]; _local2++; } _local7 = _local9 - 1; while (_local2 < _local7) { _local3 = (mta[_local2] & _local6) | (mta[_local2 + 1] & _local4); mta[_local2] = (mta[_local2 + _local10] ^ (_local3 >>> 1)) ^ _local5[_local3 & 1]; _local2++; } _local3 = (mta[_local9 - 1] & _local6) | (mta[0] & _local4); mta[_local9 - 1] = (mta[_local8 - 1] ^ (_local3 >>> 1)) ^ _local5[_local3 & 1]; mti = 0; var _local12 = getTimer(); trace(((("Random::genrand_int32(): precalc " + _local9) + " new numbers ~") + (_local12 - _local11)) + "ms"); } _local3 = mta[mti++]; _local3 = _local3 ^ (_local3 >>> 11); _local3 = _local3 ^ ((_local3 << 7) & 2636928640); _local3 = _local3 ^ ((_local3 << 15) & 4022730752); _local3 = _local3 ^ (_local3 >>> 18); return(_local3); } static var N = 624; static var M = 397; static var MATRIX_A = 2567483615; static var UPPER_MASK = 2147483648; static var LOWER_MASK = 2147483647; static var mag01 = [0, 2567483615]; }
Symbol 371 MovieClip [__Packages.king.util.Integer64] Frame 0
class king.util.Integer64 { var r, p, s; function Integer64 (lowInt) { r = [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]; p = [0, 0, 0, 0, 0]; s = [0, 0, 0]; if (lowInt != undefined) { merge(lowInt); } } function init(v) { var _local2 = 0; while (_local2 < p.length) { p[_local2] = v.p[_local2]; _local2++; } } function init32(n) { p[0] = n & 32767; n = n >>> 15; p[1] = n & 32767; n = n >>> 15; p[2] = n & 3; p[3] = 0; p[4] = 0; } function get lsb() { return((p[0] | (p[1] << SH)) | ((p[2] & 3) << 30)); } function get msb() { return((((p[2] >> 2) | ((p[3] << SH) >> 2)) | ((p[4] << (SH * 2)) >> 2)) & 2147483647); } function binaryShiftLeft(step) { var _local2 = 0; while (_local2 < step) { shl(); _local2++; } } function binaryShiftRight(step) { var _local4 = (step / SH) >> 0; var _local5 = step - (_local4 * SH); var _local2 = p.length - 1; while (_local2 > 0) { var _local3 = 0; while (_local3 < _local4) { p[_local3] = p[_local3 + 1]; _local3++; } p[_local2--] = 0; } if (_local5 > 0) { var _local3 = 0; while (_local3 < _local5) { shr(); _local3++; } } } function binaryNot(o) { p[0] = p[0] ^ o.p[0]; p[1] = p[1] ^ o.p[1]; p[2] = p[2] ^ o.p[2]; p[3] = p[3] ^ o.p[3]; p[4] = p[4] ^ o.p[4]; } function add64(o) { var _local4 = 0; var _local3 = 1; var _local2 = 0; while ((_local3 < p.length) && (o.p[_local2] != 0)) { _local3++; } _local2 = 0; while (_local2 < _local3) { _local4 = _local4 + (p[_local2] + o.p[_local2]); p[_local2] = _local4 & MASK; _local4 = _local4 >> SH; _local2++; } } function add32(num) { var _local2 = 0; var _local5 = num & MASK; num = num >> SH; var _local6 = num & MASK; num = num >> SH; var _local4 = num & 3; _local2 = _local2 + (p[0] + _local5); p[0] = _local2 & MASK; _local2 = _local2 >> SH; _local2 = _local2 + (p[1] + _local6); p[1] = _local2 & MASK; _local2 = _local2 >> SH; _local2 = _local2 + (p[2] + _local4); p[2] = _local2 & MASK; } function mulu32(num) { var _local3 = 0; s[0] = num & MASK; num = num >>> 15; s[1] = num & MASK; num = num >>> 15; s[2] = num & 3; var _local2 = 0; while (_local2 < 3) { var _local4 = s[_local2]; _local3 = _local4 * p[0]; r[_local2][0] = _local3 & MASK; _local3 = _local3 >> SH; _local3 = _local3 + (_local4 * p[1]); r[_local2][1] = _local3 & MASK; _local3 = _local3 >> SH; _local3 = _local3 + (_local4 * p[2]); r[_local2][2] = _local3 & 3; _local2++; } _local3 = r[0][0]; p[0] = _local3 & MASK; _local3 = _local3 >> SH; _local3 = _local3 + (r[0][1] + r[1][0]); p[1] = _local3 & MASK; _local3 = _local3 >> SH; _local3 = _local3 + ((r[0][2] + r[1][1]) + r[2][0]); p[2] = _local3 & 3; p[3] = 0; p[4] = 0; } function mul64(o) { var _local2 = 0; var _local3 = 0; while (_local3 < 5) { var _local4 = o.p[_local3]; _local2 = _local4 * p[0]; r[_local3][0] = _local2 & MASK; _local2 = _local2 >> SH; _local2 = _local2 + (_local4 * p[1]); r[_local3][1] = _local2 & MASK; _local2 = _local2 >> SH; _local2 = _local2 + (_local4 * p[2]); r[_local3][2] = _local2 & MASK; _local2 = _local2 >> SH; _local2 = _local2 + (_local4 * p[3]); r[_local3][3] = _local2 & MASK; _local2 = _local2 >> SH; _local2 = _local2 + (_local4 * p[4]); r[_local3][4] = _local2 & MASK; _local3++; } _local2 = r[0][0]; p[0] = _local2 & MASK; _local2 = _local2 >> SH; _local2 = _local2 + (r[0][1] + r[1][0]); p[1] = _local2 & MASK; _local2 = _local2 >> SH; _local2 = _local2 + ((r[0][2] + r[1][1]) + r[2][0]); p[2] = _local2 & MASK; _local2 = _local2 >> SH; _local2 = _local2 + (((r[0][3] + r[1][2]) + r[2][1]) + r[3][0]); p[3] = _local2 & MASK; _local2 = _local2 >> SH; _local2 = _local2 + ((((r[0][4] + r[1][3]) + r[2][2]) + r[3][1]) + r[4][0]); p[4] = _local2 & 7; } function mul32(value) { mul64(new king.util.Integer64(value)); } function merge(a) { var _local2 = 0; while (_local2 < 3) { p[_local2] = p[_local2] + (a & 32767); a = a >>> 15; _local2++; } return(a); } function shl() { var _local5 = 0; var _local4 = 0; var _local2 = 0; var _local3 = p.length; while (_local2 < _local3) { _local5 = (p[_local2] & 16384) >> 14; p[_local2] = p[_local2] << 1; p[_local2] = (p[_local2] | _local4) & 32767; _local2++; _local4 = _local5; } } function shr() { var _local4 = 0; var _local3 = 0; var _local2 = p.length - 1; while (_local2 >= 0) { _local4 = (p[_local2] & 1) << 14; p[_local2] = p[_local2] >> 1; p[_local2] = (p[_local2] | _local3) & 32767; _local2--; _local3 = _local4; } } static var MASK = 32767; static var SH = 15; }
Symbol 372 MovieClip [__Packages.king.MiniGame] Frame 0
class king.MiniGame { var pinball, random, xPos, xa, animStep, crashed, crashTime, winTime, xStone0, yStone0, xStone1, yStone1, remainingStones; function MiniGame (pinball, random) { this.pinball = pinball; this.random = random; xPos = 40; xa = 0; animStep = 0; crashed = false; crashTime = 0; winTime = 0; xStone0 = (random.nextDouble() * 2) - 1; yStone0 = 260; xStone1 = (random.nextDouble() * 2) - 1; yStone1 = 300; remainingStones = 15; king.Sounds.get("minigamesound").play(); } function tick(leftFlipperDown, rightFlipperDown) { if (leftFlipperDown) { xa = xa - 0.4; } if (rightFlipperDown) { xa = xa + 0.4; } if (!crashed) { animStep++; xPos = xPos + xa; xa = xa * 0.7; if (xPos > 80) { xPos = 80; } if (xPos < 0) { xPos = 0; } var _local4 = (xPos / 40) - 1; yStone0 = yStone0 - 1.5; if (yStone0 < 0) { remainingStones--; xStone0 = (random.nextDouble() * 2) - 1; yStone0 = 80; if (remainingStones <= 1) { yStone0 = yStone0 + 100000; } if (remainingStones <= 0) { if (winTime == 0) { king.Sounds.get("minigamewinsound").play(); winTime = 1; } } } else if (yStone0 < 15) { var _local3 = (_local4 - xStone0) * 80; if ((_local3 > -20) && (_local3 < 20)) { king.Sounds.get("crashsound").play(); crashed = true; } } yStone1 = yStone1 - 1.5; if (yStone1 < 0) { remainingStones--; xStone1 = (random.nextDouble() * 2) - 1; yStone1 = 80; if (remainingStones <= 1) { yStone1 = yStone1 + 100000; } if (remainingStones <= 0) { if (winTime == 0) { king.Sounds.get("minigamewinsound").play(); winTime = 1; } } } else if (yStone1 < 15) { var _local3 = (_local4 - xStone1) * 80; if ((_local3 > -20) && (_local3 < 20)) { king.Sounds.get("crashsound").play(); crashed = true; } } if (winTime > 0) { winTime++; if (winTime == 120) { win(); } } } else { crashTime++; if (crashTime == 50) { king.Sounds.get("minigamelosesound").play(); } if (crashTime > 100) { pinball.minigame = undefined; pinball.oldScore = -9999; _root.sign._visible = false; } } } function win() { var _local3 = pinball.pscript.getValue("_score"); _local3 = _local3 + 1000; pinball.pscript.setVar("_score", _local3); pinball.minigame = undefined; pinball.oldScore = -9999; _root.sign._visible = false; pinball.showSign(120); } function render(alpha) { var _local2 = pinball.ledPanel; _local2.animation._visible = true; _local2.animation.gotoAndStop(10); _local2.animation.riverBank.gotoAndStop((int(animStep / 5) % 5) + 1); _local2.animation.raft._x = int(xPos); _local2.animation.raft._y = 26 + int(Math.sin(animStep / 5) * 2); _local2.animation.raft.gotoAndStop(1); _local2.animation.remainingStones.text = remainingStones; if (crashed) { _local2.animation.raft._y = _local2.animation.raft._y + int(crashTime / 2); _local2.animation.raft.gotoAndStop((int(crashTime / 2) % 4) + 2); } _local2.animation.stone0.gotoAndStop(1); _local2.animation.stone1.gotoAndStop(2); var _local3 = 2000 / yStone0; _local2.animation.stone0._xscale = _local3; _local2.animation.stone0._yscale = _local3; _local2.animation.stone0._x = ((400 * xStone0) / yStone0) + 40; _local2.animation.stone0._y = (400 / yStone0) - 5; _local3 = 2000 / yStone1; _local2.animation.stone1._xscale = _local3; _local2.animation.stone1._yscale = _local3; _local2.animation.stone1._x = ((400 * xStone1) / yStone1) + 40; _local2.animation.stone1._y = (400 / yStone1) - 5; if (crashed && (crashTime > 50)) { _local2.animation.gotoAndStop(11); _local2.animation.sings.gotoAndStop(1); _local2.animation.sings._x = 0; } if (winTime > 0) { _local2.animation.gotoAndStop(11); _local2.animation.sings.gotoAndStop(2); _local2.animation.sings._x = 80 - (winTime * 2); } _local2.bitmap.draw(_local2.animation); _local2.animation._visible = false; } }
Symbol 373 MovieClip [__Packages.king.LedPanel] Frame 0
class king.LedPanel extends MovieClip { var bitmap, mc, animation, attachMovie; function LedPanel () { super(); bitmap = new flash.display.BitmapData(80, 32, false, 0); var _local3 = mc.createEmptyMovieClip("mc", 0); _local3.attachBitmap(bitmap, 0); _local3._xscale = 400; _local3._yscale = 400; animation = attachMovie("Animation", "anim", 1000); animation._x = 101; renderScore(0, 60); } function renderSign(signNum) { animation._visible = true; if (signNum < 100) { animation.gotoAndStop(3); animation.taskNames.gotoAndStop(signNum); } else if (signNum < 200) { animation.gotoAndStop(4); animation.signs.gotoAndStop(signNum - 100); } bitmap.draw(animation); animation._visible = false; } function renderScore(score, bonus, time, balls) { if (time < 0) { time = 0; } if (balls < 0) { balls = 0; } animation._visible = true; animation.gotoAndStop(1); animation.text.text = score; animation.bonus.text = bonus; animation.time.text = time; animation.ballCount.text = "Balls: " + balls; bitmap.draw(animation); animation._visible = false; } function renderScrollText(scrollText, pos) { animation._visible = true; animation.gotoAndStop(2); animation.text.text = scrollText; animation.text._x = 80 - pos; bitmap.draw(animation); animation._visible = false; } }

Library Items

Symbol 1 Sound [volcanosound]
Symbol 2 Sound [tasksound15]
Symbol 3 Sound [tasksound22]
Symbol 4 Sound [gamemusic]
Symbol 5 Sound [lavamusic]
Symbol 6 Sound [intromusic]
Symbol 7 Sound [gameovermusic]
Symbol 8 Sound [tasksound3]
Symbol 9 Sound [__taskcompletedsound__]
Symbol 10 Sound [springSound]
Symbol 11 Sound [tasksound24]
Symbol 12 Sound [tasksound4]
Symbol 13 Sound [bankResetSound]
Symbol 14 Sound [rampsound3]
Symbol 15 Sound [rampsound2]
Symbol 16 Sound [_rampsound1_]
Symbol 17 Sound [tasksound14]
Symbol 18 Sound [tasksound12]
Symbol 19 Sound [multiplierupsound]
Symbol 20 Sound [minigamelosesound]
Symbol 21 Sound [minigamewinsound]
Symbol 22 Sound [minigamesound]
Symbol 23 Sound [dropDownSound]
Symbol 24 Sound [tasksound5]
Symbol 25 Sound [tasksound21]
Symbol 26 Sound [tasksound25]
Symbol 27 Sound [tasksound23]
Symbol 28 Sound [tasksound1]
Symbol 29 Sound [flipperUpSound]
Symbol 30 Sound [flipperDownSound]
Symbol 31 Sound [tasksound13]
Symbol 32 Sound [extratimesound]
Symbol 33 Sound [extraballsound]
Symbol 34 Sound [droptargetsound]
Symbol 35 Sound [ejectSound]
Symbol 36 Sound [bumperSound]
Symbol 37 Sound [tasksound11]
Symbol 38 Sound [tasksound2]
Symbol 39 Sound [ballostsound]
Symbol 40 Sound [crashsound]
Symbol 41 Sound [rampSound]
Symbol 42 Sound [ballRollSound]
Symbol 43 Sound [newBallSound]
Symbol 44 Sound [launchSound]
Symbol 45 Sound [holeSound]
Symbol 46 Sound [collideSound3]
Symbol 47 Sound [collideSound2]
Symbol 48 Sound [collideSound0]
Symbol 49 Sound [collideSound1]
Symbol 50 BitmapUsed by:51
Symbol 51 GraphicUses:50Used by:71
Symbol 52 ShapeTweeningUsed by:55
Symbol 53 ShapeTweeningUsed by:55
Symbol 54 GraphicUsed by:55 320
Symbol 55 MovieClipUses:52 53 54Used by:71
Symbol 56 BitmapUsed by:57
Symbol 57 GraphicUses:56Used by:58
Symbol 58 MovieClipUses:57Used by:71
Symbol 59 BitmapUsed by:60
Symbol 60 GraphicUses:59Used by:61
Symbol 61 MovieClipUses:60Used by:71
Symbol 62 BitmapUsed by:63
Symbol 63 GraphicUses:62Used by:64
Symbol 64 MovieClipUses:63Used by:71
Symbol 65 BitmapUsed by:66
Symbol 66 GraphicUses:65Used by:67
Symbol 67 MovieClipUses:66Used by:71
Symbol 68 BitmapUsed by:69
Symbol 69 GraphicUses:68Used by:70
Symbol 70 MovieClipUses:69Used by:71
Symbol 71 MovieClip [Layer1]Uses:51 55 58 61 64 67 70
Symbol 72 BitmapUsed by:73
Symbol 73 GraphicUses:72Used by:157
Symbol 74 BitmapUsed by:75
Symbol 75 GraphicUses:74Used by:76
Symbol 76 MovieClipUses:75Used by:157
Symbol 77 BitmapUsed by:78
Symbol 78 GraphicUses:77Used by:79
Symbol 79 MovieClipUses:78Used by:157
Symbol 80 BitmapUsed by:81
Symbol 81 GraphicUses:80Used by:82
Symbol 82 MovieClipUses:81Used by:157
Symbol 83 BitmapUsed by:84
Symbol 84 GraphicUses:83Used by:85
Symbol 85 MovieClipUses:84Used by:157
Symbol 86 BitmapUsed by:87
Symbol 87 GraphicUses:86Used by:88
Symbol 88 MovieClipUses:87Used by:157
Symbol 89 BitmapUsed by:90
Symbol 90 GraphicUses:89Used by:91
Symbol 91 MovieClipUses:90Used by:157
Symbol 92 BitmapUsed by:93
Symbol 93 GraphicUses:92Used by:94
Symbol 94 MovieClipUses:93Used by:157
Symbol 95 BitmapUsed by:96
Symbol 96 GraphicUses:95Used by:97
Symbol 97 MovieClipUses:96Used by:157
Symbol 98 BitmapUsed by:99
Symbol 99 GraphicUses:98Used by:100
Symbol 100 MovieClipUses:99Used by:157
Symbol 101 BitmapUsed by:102
Symbol 102 GraphicUses:101Used by:103
Symbol 103 MovieClipUses:102Used by:157
Symbol 104 BitmapUsed by:105
Symbol 105 GraphicUses:104Used by:106
Symbol 106 MovieClipUses:105Used by:157
Symbol 107 BitmapUsed by:108
Symbol 108 GraphicUses:107Used by:109
Symbol 109 MovieClipUses:108Used by:157
Symbol 110 BitmapUsed by:111
Symbol 111 GraphicUses:110Used by:112
Symbol 112 MovieClipUses:111Used by:157
Symbol 113 BitmapUsed by:114
Symbol 114 GraphicUses:113Used by:115
Symbol 115 MovieClipUses:114Used by:157
Symbol 116 BitmapUsed by:117
Symbol 117 GraphicUses:116Used by:118
Symbol 118 MovieClipUses:117Used by:157
Symbol 119 BitmapUsed by:120
Symbol 120 GraphicUses:119Used by:121
Symbol 121 MovieClipUses:120Used by:157
Symbol 122 BitmapUsed by:123
Symbol 123 GraphicUses:122Used by:124
Symbol 124 MovieClipUses:123Used by:157
Symbol 125 BitmapUsed by:126
Symbol 126 GraphicUses:125Used by:127
Symbol 127 MovieClipUses:126Used by:157
Symbol 128 BitmapUsed by:129
Symbol 129 GraphicUses:128Used by:130
Symbol 130 MovieClipUses:129Used by:157
Symbol 131 BitmapUsed by:132
Symbol 132 GraphicUses:131Used by:133
Symbol 133 MovieClipUses:132Used by:157
Symbol 134 BitmapUsed by:135
Symbol 135 GraphicUses:134Used by:136
Symbol 136 MovieClipUses:135Used by:157
Symbol 137 BitmapUsed by:138
Symbol 138 GraphicUses:137Used by:139
Symbol 139 MovieClipUses:138Used by:157
Symbol 140 BitmapUsed by:141
Symbol 141 GraphicUses:140Used by:142
Symbol 142 MovieClipUses:141Used by:157
Symbol 143 BitmapUsed by:144
Symbol 144 GraphicUses:143Used by:145
Symbol 145 MovieClipUses:144Used by:157
Symbol 146 BitmapUsed by:147
Symbol 147 GraphicUses:146Used by:148
Symbol 148 MovieClipUses:147Used by:157
Symbol 149 BitmapUsed by:150
Symbol 150 GraphicUses:149Used by:151
Symbol 151 MovieClipUses:150Used by:157
Symbol 152 BitmapUsed by:153
Symbol 153 GraphicUses:152Used by:154
Symbol 154 MovieClipUses:153Used by:157
Symbol 155 BitmapUsed by:156
Symbol 156 GraphicUses:155Used by:157
Symbol 157 MovieClip [BgLayer]Uses:73 76 79 82 85 88 91 94 97 100 103 106 109 112 115 118 121 124 127 130 133 136 139 142 145 148 151 154 156
Symbol 158 BitmapUsed by:159
Symbol 159 GraphicUses:158Used by:166
Symbol 160 BitmapUsed by:161
Symbol 161 GraphicUses:160Used by:162
Symbol 162 MovieClipUses:161Used by:166
Symbol 163 BitmapUsed by:164
Symbol 164 GraphicUses:163Used by:165
Symbol 165 MovieClipUses:164Used by:166
Symbol 166 MovieClip [Layer2]Uses:159 162 165
Symbol 167 GraphicUsed by:168
Symbol 168 MovieClipUses:167Used by:169
Symbol 169 MovieClipUses:168Used by:172
Symbol 170 GraphicUsed by:171
Symbol 171 MovieClipUses:170Used by:172
Symbol 172 MovieClip [Ball]Uses:169 171
Symbol 173 GraphicUsed by:290 300 349
Symbol 174 FontUsed by:175
Symbol 175 EditableTextUses:174Used by:290
Symbol 176 FontUsed by:177 178 179 283
Symbol 177 EditableTextUses:176Used by:290
Symbol 178 EditableTextUses:176Used by:290
Symbol 179 EditableTextUses:176Used by:290
Symbol 180 FontUsed by:181
Symbol 181 EditableTextUses:180Used by:290
Symbol 182 BitmapUsed by:183
Symbol 183 GraphicUses:182Used by:214
Symbol 184 BitmapUsed by:185
Symbol 185 GraphicUses:184Used by:214
Symbol 186 BitmapUsed by:187
Symbol 187 GraphicUses:186Used by:214
Symbol 188 BitmapUsed by:189
Symbol 189 GraphicUses:188Used by:214
Symbol 190 BitmapUsed by:191
Symbol 191 GraphicUses:190Used by:214
Symbol 192 BitmapUsed by:193
Symbol 193 GraphicUses:192Used by:214
Symbol 194 BitmapUsed by:195
Symbol 195 GraphicUses:194Used by:214
Symbol 196 BitmapUsed by:197
Symbol 197 GraphicUses:196Used by:214
Symbol 198 BitmapUsed by:199
Symbol 199 GraphicUses:198Used by:214
Symbol 200 BitmapUsed by:201
Symbol 201 GraphicUses:200Used by:214
Symbol 202 BitmapUsed by:203
Symbol 203 GraphicUses:202Used by:214
Symbol 204 BitmapUsed by:205
Symbol 205 GraphicUses:204Used by:214
Symbol 206 BitmapUsed by:207
Symbol 207 GraphicUses:206Used by:214
Symbol 208 BitmapUsed by:209
Symbol 209 GraphicUses:208Used by:214
Symbol 210 BitmapUsed by:211
Symbol 211 GraphicUses:210Used by:214
Symbol 212 BitmapUsed by:213
Symbol 213 GraphicUses:212Used by:214 250
Symbol 214 MovieClipUses:183 185 187 189 191 193 195 197 199 201 203 205 207 209 211 213Used by:290
Symbol 215 BitmapUsed by:216
Symbol 216 GraphicUses:215Used by:235
Symbol 217 BitmapUsed by:218
Symbol 218 GraphicUses:217Used by:235
Symbol 219 BitmapUsed by:220
Symbol 220 GraphicUses:219Used by:235
Symbol 221 BitmapUsed by:222
Symbol 222 GraphicUses:221Used by:235
Symbol 223 BitmapUsed by:224
Symbol 224 GraphicUses:223Used by:235
Symbol 225 BitmapUsed by:226
Symbol 226 GraphicUses:225Used by:235
Symbol 227 BitmapUsed by:228
Symbol 228 GraphicUses:227Used by:235
Symbol 229 BitmapUsed by:230
Symbol 230 GraphicUses:229Used by:235
Symbol 231 BitmapUsed by:232
Symbol 232 GraphicUses:231Used by:235
Symbol 233 FontUsed by:234 288
Symbol 234 EditableTextUses:233Used by:235
Symbol 235 MovieClipUses:216 218 220 222 224 226 228 230 232 234Used by:290
Symbol 236 BitmapUsed by:237
Symbol 237 GraphicUses:236Used by:250
Symbol 238 BitmapUsed by:239
Symbol 239 GraphicUses:238Used by:250
Symbol 240 BitmapUsed by:241
Symbol 241 GraphicUses:240Used by:250
Symbol 242 BitmapUsed by:243
Symbol 243 GraphicUses:242Used by:250
Symbol 244 BitmapUsed by:245
Symbol 245 GraphicUses:244Used by:250
Symbol 246 BitmapUsed by:247
Symbol 247 GraphicUses:246Used by:250
Symbol 248 BitmapUsed by:249
Symbol 249 GraphicUses:248Used by:250
Symbol 250 MovieClipUses:213 237 239 241 243 245 247 249Used by:290
Symbol 251 BitmapUsed by:252
Symbol 252 GraphicUses:251Used by:255
Symbol 253 BitmapUsed by:254
Symbol 254 GraphicUses:253Used by:255
Symbol 255 MovieClipUses:252 254Used by:290
Symbol 256 BitmapUsed by:257
Symbol 257 GraphicUses:256Used by:266
Symbol 258 BitmapUsed by:259
Symbol 259 GraphicUses:258Used by:266
Symbol 260 BitmapUsed by:261
Symbol 261 GraphicUses:260Used by:266
Symbol 262 BitmapUsed by:263
Symbol 263 GraphicUses:262Used by:266
Symbol 264 BitmapUsed by:265
Symbol 265 GraphicUses:264Used by:266
Symbol 266 MovieClipUses:257 259 261 263 265Used by:290
Symbol 267 BitmapUsed by:268
Symbol 268 GraphicUses:267Used by:271
Symbol 269 BitmapUsed by:270
Symbol 270 GraphicUses:269Used by:271
Symbol 271 MovieClipUses:268 270Used by:290
Symbol 272 BitmapUsed by:273
Symbol 273 GraphicUses:272Used by:282
Symbol 274 BitmapUsed by:275
Symbol 275 GraphicUses:274Used by:282
Symbol 276 BitmapUsed by:277
Symbol 277 GraphicUses:276Used by:282
Symbol 278 BitmapUsed by:279
Symbol 279 GraphicUses:278Used by:282
Symbol 280 BitmapUsed by:281
Symbol 281 GraphicUses:280Used by:282
Symbol 282 MovieClipUses:273 275 277 279 281Used by:290
Symbol 283 EditableTextUses:176Used by:290
Symbol 284 BitmapUsed by:285
Symbol 285 GraphicUses:284Used by:289
Symbol 286 BitmapUsed by:287
Symbol 287 GraphicUses:286Used by:289
Symbol 288 EditableTextUses:233Used by:289
Symbol 289 MovieClipUses:285 287 288Used by:290
Symbol 290 MovieClip [Animation]Uses:173 175 177 178 179 181 214 235 250 255 266 271 282 283 289
Symbol 291 GraphicUsed by:293
Symbol 292 GraphicUsed by:293
Symbol 293 MovieClip [Flipper]Uses:292 291
Symbol 294 MovieClipUsed by:297
Symbol 295 BitmapUsed by:296
Symbol 296 GraphicUses:295Used by:297
Symbol 297 MovieClip [LedPanel]Uses:294 296Used by:300
Symbol 298 BitmapUsed by:299
Symbol 299 GraphicUses:298Used by:300
Symbol 300 MovieClip [PinballGameArea]Uses:173 297 299Used by:Timeline
Symbol 301 GraphicUsed by:Timeline
Symbol 302 FontUsed by:303 328
Symbol 303 EditableTextUses:302Used by:Timeline
Symbol 304 GraphicUsed by:305
Symbol 305 MovieClipUses:304Used by:312
Symbol 306 GraphicUsed by:307
Symbol 307 MovieClipUses:306Used by:312
Symbol 308 GraphicUsed by:309
Symbol 309 MovieClipUses:308Used by:312
Symbol 310 GraphicUsed by:311
Symbol 311 MovieClipUses:310Used by:312
Symbol 312 MovieClipUses:305 307 309 311Used by:Timeline
Symbol 313 GraphicUsed by:Timeline
Symbol 314 BitmapUsed by:315
Symbol 315 GraphicUses:314Used by:316
Symbol 316 MovieClipUses:315Used by:320
Symbol 317 FontUsed by:318 324
Symbol 318 EditableTextUses:317Used by:319
Symbol 319 MovieClipUses:318Used by:320
Symbol 320 ButtonUses:316 319 54Used by:Timeline
Symbol 321 BitmapUsed by:322
Symbol 322 GraphicUses:321Used by:323
Symbol 323 MovieClipUses:322Used by:327
Symbol 324 EditableTextUses:317Used by:325
Symbol 325 MovieClipUses:324Used by:327
Symbol 326 GraphicUsed by:327
Symbol 327 ButtonUses:323 325 326Used by:Timeline
Symbol 328 EditableTextUses:302Used by:329
Symbol 329 MovieClipUses:328Used by:Timeline
Symbol 330 BitmapUsed by:331
Symbol 331 GraphicUses:330Used by:348
Symbol 332 FontUsed by:333 334 335 336 337 338 339 340 344 347
Symbol 333 EditableTextUses:332Used by:348
Symbol 334 EditableTextUses:332Used by:348
Symbol 335 EditableTextUses:332Used by:348
Symbol 336 EditableTextUses:332Used by:348
Symbol 337 EditableTextUses:332Used by:348
Symbol 338 EditableTextUses:332Used by:348
Symbol 339 EditableTextUses:332Used by:348
Symbol 340 EditableTextUses:332Used by:348
Symbol 341 FontUsed by:342 343 345 346
Symbol 342 EditableTextUses:341Used by:348
Symbol 343 EditableTextUses:341Used by:348
Symbol 344 EditableTextUses:332Used by:348
Symbol 345 EditableTextUses:341Used by:348
Symbol 346 EditableTextUses:341Used by:348
Symbol 347 EditableTextUses:332Used by:348
Symbol 348 MovieClipUses:331 333 334 335 336 337 338 339 340 342 343 344 345 346 347Used by:Timeline
Symbol 349 MovieClipUses:173Used by:Timeline
Symbol 350 MovieClip [__Packages.king.Pinball]
Symbol 351 MovieClip [__Packages.king.Communicator]
Symbol 352 MovieClip [__Packages.king.Collideable]
Symbol 353 MovieClip [__Packages.king.XpMath]
Symbol 354 MovieClip [__Packages.king.Vec]
Symbol 355 MovieClip [__Packages.king.Encoder]
Symbol 356 MovieClip [__Packages.king.Sphere]
Symbol 357 MovieClip [__Packages.king.Sounds]
Symbol 358 MovieClip [__Packages.king.Pscript]
Symbol 359 MovieClip [__Packages.king.Portal]
Symbol 360 MovieClip [__Packages.king.Rollover]
Symbol 361 MovieClip [__Packages.king.Wall]
Symbol 362 MovieClip [__Packages.king.LevelData]
Symbol 363 MovieClip [__Packages.king.Flipper]
Symbol 364 MovieClip [__Packages.king.MoveableSphere]
Symbol 365 MovieClip [__Packages.king.FloatEncoder]
Symbol 366 MovieClip [__Packages.king.InstructionsSign]
Symbol 367 MovieClip [__Packages.king.ShortGameOverSign]
Symbol 368 MovieClip [__Packages.king.GameOverSign]
Symbol 369 MovieClip [__Packages.king.Decoder]
Symbol 370 MovieClip [__Packages.king.util.Random]
Symbol 371 MovieClip [__Packages.king.util.Integer64]
Symbol 372 MovieClip [__Packages.king.MiniGame]
Symbol 373 MovieClip [__Packages.king.LedPanel]

Instance Names

"gameArea"Frame 1Symbol 300 MovieClip [PinballGameArea]
"debugText"Frame 1Symbol 303 EditableText
"launcher"Frame 1Symbol 312 MovieClip
"exitGameButton"Frame 1Symbol 320 Button
"soundOffButton"Frame 1Symbol 327 Button
"fpsMeter"Frame 1Symbol 329 MovieClip
"sign"Frame 1Symbol 348 MovieClip
"hider"Frame 1Symbol 349 MovieClip
"spin"Symbol 71 MovieClip [Layer1] Frame 1Symbol 55 MovieClip
"b1"Symbol 71 MovieClip [Layer1] Frame 1Symbol 58 MovieClip
"b2"Symbol 71 MovieClip [Layer1] Frame 1Symbol 61 MovieClip
"b4"Symbol 71 MovieClip [Layer1] Frame 1Symbol 64 MovieClip
"b3"Symbol 71 MovieClip [Layer1] Frame 1Symbol 64 MovieClip
"bl"Symbol 71 MovieClip [Layer1] Frame 1Symbol 67 MovieClip
"br"Symbol 71 MovieClip [Layer1] Frame 1Symbol 70 MovieClip
"dt1"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 76 MovieClip
"dt2"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 76 MovieClip
"dt3"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 79 MovieClip
"dt4"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 79 MovieClip
"dt5"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 79 MovieClip
"dt6"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 79 MovieClip
"dt7"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 82 MovieClip
"dt8"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 82 MovieClip
"dt9"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 82 MovieClip
"dt10"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 85 MovieClip
"dt11"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 85 MovieClip
"dt12"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 85 MovieClip
"s1"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 88 MovieClip
"r1"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 91 MovieClip
"r2"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 91 MovieClip
"r3"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 91 MovieClip
"r4"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 91 MovieClip
"r5"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 94 MovieClip
"r6"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 94 MovieClip
"r7"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 97 MovieClip
"r8"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 97 MovieClip
"r9"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 97 MovieClip
"r10"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 100 MovieClip
"r11"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 100 MovieClip
"r12"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 100 MovieClip
"r13"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 103 MovieClip
"r14"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 106 MovieClip
"r15"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 109 MovieClip
"r16"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 112 MovieClip
"r18"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 115 MovieClip
"w5"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 118 MovieClip
"w6"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 118 MovieClip
"w7"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 118 MovieClip
"w8"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 118 MovieClip
"w9"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 118 MovieClip
"w10"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 118 MovieClip
"w11"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 118 MovieClip
"w12"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 118 MovieClip
"w13"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 118 MovieClip
"w14"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 118 MovieClip
"e1"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 121 MovieClip
"w15"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 118 MovieClip
"w16"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 118 MovieClip
"x2"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 124 MovieClip
"x3"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 127 MovieClip
"x4"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 130 MovieClip
"x5"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 133 MovieClip
"hatch1"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 136 MovieClip
"bonusLight"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 139 MovieClip
"r17"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 142 MovieClip
"w1"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 145 MovieClip
"extraballLight"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 148 MovieClip
"r15"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 151 MovieClip
"minigameLight"Symbol 157 MovieClip [BgLayer] Frame 1Symbol 154 MovieClip
"p1"Symbol 166 MovieClip [Layer2] Frame 1Symbol 162 MovieClip
"hatchtop"Symbol 166 MovieClip [Layer2] Frame 1Symbol 165 MovieClip
"colorTint"Symbol 172 MovieClip [Ball] Frame 1Symbol 171 MovieClip
"text"Symbol 235 MovieClip Frame 20Symbol 234 EditableText
"text"Symbol 289 MovieClip Frame 3Symbol 288 EditableText
"text"Symbol 290 MovieClip [Animation] Frame 1Symbol 175 EditableText
"time"Symbol 290 MovieClip [Animation] Frame 1Symbol 177 EditableText
"ballCount"Symbol 290 MovieClip [Animation] Frame 1Symbol 178 EditableText
"bonus"Symbol 290 MovieClip [Animation] Frame 1Symbol 179 EditableText
"text"Symbol 290 MovieClip [Animation] Frame 2Symbol 181 EditableText
"taskNames"Symbol 290 MovieClip [Animation] Frame 3Symbol 214 MovieClip
"signs"Symbol 290 MovieClip [Animation] Frame 4Symbol 235 MovieClip
"volcanoAnim"Symbol 290 MovieClip [Animation] Frame 5Symbol 250 MovieClip
"scrollImages"Symbol 290 MovieClip [Animation] Frame 6Symbol 255 MovieClip
"riverBank"Symbol 290 MovieClip [Animation] Frame 10Symbol 266 MovieClip
"stone0"Symbol 290 MovieClip [Animation] Frame 10Symbol 271 MovieClip
"stone1"Symbol 290 MovieClip [Animation] Frame 10Symbol 271 MovieClip
"raft"Symbol 290 MovieClip [Animation] Frame 10Symbol 282 MovieClip
"remainingStones"Symbol 290 MovieClip [Animation] Frame 10Symbol 283 EditableText
"sings"Symbol 290 MovieClip [Animation] Frame 11Symbol 289 MovieClip
"mc"Symbol 297 MovieClip [LedPanel] Frame 1Symbol 294 MovieClip
"ledPanel"Symbol 300 MovieClip [PinballGameArea] Frame 1Symbol 297 MovieClip [LedPanel]
"exit"Symbol 319 MovieClip Frame 1Symbol 318 EditableText
"exit"Symbol 325 MovieClip Frame 1Symbol 324 EditableText
"fpsText"Symbol 329 MovieClip Frame 1Symbol 328 EditableText
"titleText"Symbol 348 MovieClip Frame 1Symbol 333 EditableText
"bodyText"Symbol 348 MovieClip Frame 1Symbol 334 EditableText
"timeText"Symbol 348 MovieClip Frame 1Symbol 335 EditableText
"titleText"Symbol 348 MovieClip Frame 2Symbol 336 EditableText
"bodyText"Symbol 348 MovieClip Frame 2Symbol 337 EditableText
"timeText"Symbol 348 MovieClip Frame 2Symbol 338 EditableText
"titleText"Symbol 348 MovieClip Frame 3Symbol 339 EditableText
"timeText"Symbol 348 MovieClip Frame 3Symbol 340 EditableText
"scoreText"Symbol 348 MovieClip Frame 3Symbol 342 EditableText
"bonusText"Symbol 348 MovieClip Frame 3Symbol 343 EditableText
"totalScoreText"Symbol 348 MovieClip Frame 3Symbol 344 EditableText
"score"Symbol 348 MovieClip Frame 3Symbol 345 EditableText
"bonus"Symbol 348 MovieClip Frame 3Symbol 346 EditableText
"totalScore"Symbol 348 MovieClip Frame 3Symbol 347 EditableText

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS1/AS2.
ExportAssets (56)Timeline Frame 1Symbol 1 as "volcanosound"
ExportAssets (56)Timeline Frame 1Symbol 2 as "tasksound15"
ExportAssets (56)Timeline Frame 1Symbol 3 as "tasksound22"
ExportAssets (56)Timeline Frame 1Symbol 4 as "gamemusic"
ExportAssets (56)Timeline Frame 1Symbol 5 as "lavamusic"
ExportAssets (56)Timeline Frame 1Symbol 6 as "intromusic"
ExportAssets (56)Timeline Frame 1Symbol 7 as "gameovermusic"
ExportAssets (56)Timeline Frame 1Symbol 8 as "tasksound3"
ExportAssets (56)Timeline Frame 1Symbol 9 as "__taskcompletedsound__"
ExportAssets (56)Timeline Frame 1Symbol 10 as "springSound"
ExportAssets (56)Timeline Frame 1Symbol 11 as "tasksound24"
ExportAssets (56)Timeline Frame 1Symbol 12 as "tasksound4"
ExportAssets (56)Timeline Frame 1Symbol 13 as "bankResetSound"
ExportAssets (56)Timeline Frame 1Symbol 14 as "rampsound3"
ExportAssets (56)Timeline Frame 1Symbol 15 as "rampsound2"
ExportAssets (56)Timeline Frame 1Symbol 16 as "_rampsound1_"
ExportAssets (56)Timeline Frame 1Symbol 17 as "tasksound14"
ExportAssets (56)Timeline Frame 1Symbol 18 as "tasksound12"
ExportAssets (56)Timeline Frame 1Symbol 19 as "multiplierupsound"
ExportAssets (56)Timeline Frame 1Symbol 20 as "minigamelosesound"
ExportAssets (56)Timeline Frame 1Symbol 21 as "minigamewinsound"
ExportAssets (56)Timeline Frame 1Symbol 22 as "minigamesound"
ExportAssets (56)Timeline Frame 1Symbol 23 as "dropDownSound"
ExportAssets (56)Timeline Frame 1Symbol 24 as "tasksound5"
ExportAssets (56)Timeline Frame 1Symbol 25 as "tasksound21"
ExportAssets (56)Timeline Frame 1Symbol 26 as "tasksound25"
ExportAssets (56)Timeline Frame 1Symbol 27 as "tasksound23"
ExportAssets (56)Timeline Frame 1Symbol 28 as "tasksound1"
ExportAssets (56)Timeline Frame 1Symbol 29 as "flipperUpSound"
ExportAssets (56)Timeline Frame 1Symbol 30 as "flipperDownSound"
ExportAssets (56)Timeline Frame 1Symbol 31 as "tasksound13"
ExportAssets (56)Timeline Frame 1Symbol 32 as "extratimesound"
ExportAssets (56)Timeline Frame 1Symbol 33 as "extraballsound"
ExportAssets (56)Timeline Frame 1Symbol 34 as "droptargetsound"
ExportAssets (56)Timeline Frame 1Symbol 35 as "ejectSound"
ExportAssets (56)Timeline Frame 1Symbol 36 as "bumperSound"
ExportAssets (56)Timeline Frame 1Symbol 37 as "tasksound11"
ExportAssets (56)Timeline Frame 1Symbol 38 as "tasksound2"
ExportAssets (56)Timeline Frame 1Symbol 39 as "ballostsound"
ExportAssets (56)Timeline Frame 1Symbol 40 as "crashsound"
ExportAssets (56)Timeline Frame 1Symbol 41 as "rampSound"
ExportAssets (56)Timeline Frame 1Symbol 42 as "ballRollSound"
ExportAssets (56)Timeline Frame 1Symbol 43 as "newBallSound"
ExportAssets (56)Timeline Frame 1Symbol 44 as "launchSound"
ExportAssets (56)Timeline Frame 1Symbol 45 as "holeSound"
ExportAssets (56)Timeline Frame 1Symbol 46 as "collideSound3"
ExportAssets (56)Timeline Frame 1Symbol 47 as "collideSound2"
ExportAssets (56)Timeline Frame 1Symbol 48 as "collideSound0"
ExportAssets (56)Timeline Frame 1Symbol 49 as "collideSound1"
ExportAssets (56)Timeline Frame 1Symbol 71 as "Layer1"
ExportAssets (56)Timeline Frame 1Symbol 157 as "BgLayer"
ExportAssets (56)Timeline Frame 1Symbol 166 as "Layer2"
ExportAssets (56)Timeline Frame 1Symbol 172 as "Ball"
ExportAssets (56)Timeline Frame 1Symbol 290 as "Animation"
ExportAssets (56)Timeline Frame 1Symbol 293 as "Flipper"
ExportAssets (56)Timeline Frame 1Symbol 297 as "LedPanel"
ExportAssets (56)Timeline Frame 1Symbol 300 as "PinballGameArea"
ExportAssets (56)Timeline Frame 1Symbol 350 as "__Packages.king.Pinball"
ExportAssets (56)Timeline Frame 1Symbol 351 as "__Packages.king.Communicator"
ExportAssets (56)Timeline Frame 1Symbol 352 as "__Packages.king.Collideable"
ExportAssets (56)Timeline Frame 1Symbol 353 as "__Packages.king.XpMath"
ExportAssets (56)Timeline Frame 1Symbol 354 as "__Packages.king.Vec"
ExportAssets (56)Timeline Frame 1Symbol 355 as "__Packages.king.Encoder"
ExportAssets (56)Timeline Frame 1Symbol 356 as "__Packages.king.Sphere"
ExportAssets (56)Timeline Frame 1Symbol 357 as "__Packages.king.Sounds"
ExportAssets (56)Timeline Frame 1Symbol 358 as "__Packages.king.Pscript"
ExportAssets (56)Timeline Frame 1Symbol 359 as "__Packages.king.Portal"
ExportAssets (56)Timeline Frame 1Symbol 360 as "__Packages.king.Rollover"
ExportAssets (56)Timeline Frame 1Symbol 361 as "__Packages.king.Wall"
ExportAssets (56)Timeline Frame 1Symbol 362 as "__Packages.king.LevelData"
ExportAssets (56)Timeline Frame 1Symbol 363 as "__Packages.king.Flipper"
ExportAssets (56)Timeline Frame 1Symbol 364 as "__Packages.king.MoveableSphere"
ExportAssets (56)Timeline Frame 1Symbol 365 as "__Packages.king.FloatEncoder"
ExportAssets (56)Timeline Frame 1Symbol 366 as "__Packages.king.InstructionsSign"
ExportAssets (56)Timeline Frame 1Symbol 367 as "__Packages.king.ShortGameOverSign"
ExportAssets (56)Timeline Frame 1Symbol 368 as "__Packages.king.GameOverSign"
ExportAssets (56)Timeline Frame 1Symbol 369 as "__Packages.king.Decoder"
ExportAssets (56)Timeline Frame 1Symbol 370 as "__Packages.king.util.Random"
ExportAssets (56)Timeline Frame 1Symbol 371 as "__Packages.king.util.Integer64"
ExportAssets (56)Timeline Frame 1Symbol 372 as "__Packages.king.MiniGame"
ExportAssets (56)Timeline Frame 1Symbol 373 as "__Packages.king.LedPanel"

Dynamic Text Variables

_root.exitButtonTextSymbol 318 EditableText"EXIT"
_root.soundButtonTextSymbol 324 EditableText"SOUND OFF"




http://swfchan.com/52/256943/info.shtml
Created: 31/8 -2024 08:50:06 Last modified: 31/8 -2024 08:52:26 Server time: 19/09 -2024 07:27:28