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

swfchan turned sixteen years old yesterday! (5may2024)

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

jakes-inferno-pinball.swf

This is the info page for
Flash #118480

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


Text
Play this game using arrow keys only

Hold DOWN arrow key to launch pinball!!

Use RIGHT and LEFT arrow keys to work pinball flippers

SKIP

0

0

0

0

0

0

0

0

0

You’re a Dragon
Pinball Master!!!

PLAY AGAIN

SUBMIT SCORE

QUIT

Are you sure you
want to quit?

KEEP PLAYING

Hold DOWN arrow keys to launch pinball!!

Use LEFT arrow key to work the left flipper

Use RIGHT arrow key to work the right flipper

0

0

0

0

0

0

0

0

0

0

x

HELP

QUIT

key down

PLAY

Help Jake
master pinball
as part of his
dragon training!

ActionScript [AS1/AS2]

Frame 1
MovieClip.prototype.tween = function (prop, target, a, s) { var _local3 = this; var _local2 = 999000 /* 0x0F3E58 */; var name = ("mc" + prop); var d = ((i = 0)); var _local1 = ["_x", "_y", "_rotation", "_alpha", "_xscale", "_yscale", "_width", "_height"]; i = 0; while (i < _local1.length) { if (prop == _local1[i]) { _local2 = _local2 + i; break; } i++; } var mc = _local3.createEmptyMovieClip(name, _local2); mc.onEnterFrame = function () { var _local1 = this; d = (((_local1._parent[prop] - target) / a) + d) / s; _local1._parent[prop] = _local1._parent[prop] - d; if ((d > -0.1) && (d < 0.1)) { d = int(target); _local1._parent[prop] = d; delete _local1.onEnterFrame; _local1.removeMovieClip(); } }; }; System.security.allowDomain("http://disney.go.com"); System.security.allowDomain("http://www.disney.go.com"); System.security.allowDomain("http://psc.disney.go.com"); smoothpercent = (rSmoothpercent = 0);
Frame 2
bytesloaded = this.getBytesLoaded(); if (bytesloaded > 0) { bytestotal = this.getBytesTotal(); percent = Math.floor((bytesloaded / bytestotal) * 100); smoothpercent = smoothpercent + ((percent - smoothpercent) / 3); rSmoothpercent = Math.round(smoothpercent); loadedText = rSmoothpercent; loadingbar.gotoAndStop(rSmoothpercent); if (rSmoothpercent == 100) { this.gotoAndStop("splash"); } }
Frame 3
gotoAndPlay(_currentframe - 1);
Frame 4
mc_mask.gotoAndPlay(2); play();
Frame 10
stop();
Frame 11
function startoffgame() { instructions.tween("_alpha", 0, 2, 2); mc_logo.tween("_alpha", 100, 3, 3); game_mc.table_mc.gotoAndStop("start"); } startoffgame();
Frame 58
_level0.scoreboard.balls.gotoAndStop(_level0.lives + 1);
Frame 100
function keystart() { game_mc.table_mc.gotoAndStop("start"); } function gameOver() { game_mc.table_mc.gotoAndStop("init"); } function resetgame() { game_mc.table_mc.gotoAndStop("start"); _level0.lives = 5; _level0.score = 0; _level0.scorenum = 0; game_mc.table_mc.Pinball.addScore(0); } function resetVariables() { _level0.lives = 5; _level0.score = 0; _level0.scorenum = 0; game_mc.table_mc.Pinball.addScore(0); } function formatScore(scoreNum) { var _local2 = ""; _local2 = "000000000" + scoreNum; _local2 = _local2.substr(_local2.length - 9, 9); var str = String((((_local2.substr(1, 3) + ",") + _local2.substr(3, 3)) + ",") + _local2.substr(6, 3)); var _local3 = []; var _local1 = 0; while (_local1 < 9) { _local3.push(String(_local2.substr(_local1, 1))); _local1++; } return(_local3); } _global._timeline = this; stop();
Frame 101
stop();
Frame 113
stop(); var score_url = _level0.fsd; if (score_url == undefined) { var score_url = "http://www.disney.go.com/disneychannel/global/game/scoredisplays/fsd.swf"; } _level0.eventID = "dc_ad_dmp"; _level0.subject = "American Dragon - Dragon Master Pinball"; _level0.playerScore = _level0.scorenum; _level0.fsdPlayAgain = function () { resetVariables(); gotoAndPlay ("instructions"); _level0.bPaused = false; }; submit_score_container.loadMovie(score_url, 1); trace(_level0.playerScore);
Symbol 2 MovieClip [component] Frame 1
var sAngle = Math.min(startAngle, endAngle); var eAngle = Math.max(startAngle, endAngle); mask_mc._rotation = sAngle + 90; var diff = (eAngle - sAngle); mask_mc.gotoAndStop(Math.floor(diff)); if (direction == "outer") { var str = "Obstacles.addOuterArc("; directionarrow.gotoAndStop(2); } else if (direction == "inner") { var str = "Obstacles.addInnerArc("; directionarrow.gotoAndStop(1); } var x = (Math.round(_x) + ","); var y = (Math.round(_y) + ","); var radius = (((_width + _height) * 0.25) + ","); var startAngle = (("Math.toRadians(" + startAngle) + "),"); var endAngle = (("Math.toRadians(" + endAngle) + "),"); var force = (force + ","); var linkedmc = (linkedmc + ","); var tree = tree; if (tree != -1) { tree = _parent.getTreeRegion(Math.round(_y)); } str = ((((((((str + x) + y) + radius) + startAngle) + endAngle) + force) + linkedmc) + tree) + ")"; trace(str); stop();
Symbol 13 MovieClip Frame 1
stop();
Symbol 13 MovieClip Frame 6
stop();
Symbol 14 MovieClip Frame 1
stop();
Symbol 14 MovieClip Frame 2
l1.gotoAndPlay(2);
Symbol 14 MovieClip Frame 3
l2.gotoAndPlay(2); l3.gotoAndPlay(2);
Symbol 14 MovieClip Frame 4
l4.gotoAndPlay(2); l5.gotoAndPlay(2); l6.gotoAndPlay(2);
Symbol 14 MovieClip Frame 5
l7.gotoAndPlay(2); l8.gotoAndPlay(2); l9.gotoAndPlay(2); l10.gotoAndPlay(2);
Symbol 14 MovieClip Frame 6
l11.gotoAndPlay(2); l12.gotoAndPlay(2); l13.gotoAndPlay(2); l14.gotoAndPlay(2);
Symbol 14 MovieClip Frame 7
l15.gotoAndPlay(2); l16.gotoAndPlay(2); l17.gotoAndPlay(2); l18.gotoAndPlay(2);
Symbol 14 MovieClip Frame 8
l19.gotoAndPlay(2); l20.gotoAndPlay(2); l21.gotoAndPlay(2); l22.gotoAndPlay(2);
Symbol 14 MovieClip Frame 9
l23.gotoAndPlay(2); l24.gotoAndPlay(2); l25.gotoAndPlay(2); l26.gotoAndPlay(2);
Symbol 14 MovieClip Frame 10
l27.gotoAndPlay(2); l28.gotoAndPlay(2); l29.gotoAndPlay(2);
Symbol 14 MovieClip Frame 11
l30.gotoAndPlay(2); l31.gotoAndPlay(2);
Symbol 14 MovieClip Frame 12
l32.gotoAndPlay(2);
Symbol 14 MovieClip Frame 20
stop();
Symbol 22 MovieClip Frame 1
stop();
Symbol 22 MovieClip Frame 100
stop();
Symbol 54 MovieClip Frame 35
stop();
Symbol 67 MovieClip Frame 320
_parent.gotoAndPlay("instructions"); stop();
Symbol 79 Button
on (release) { gotoAndPlay ("instructions"); }
Symbol 89 MovieClip Frame 1
stop();
Symbol 89 MovieClip Frame 15
gotoAndStop (1);
Symbol 89 MovieClip Frame 30
gotoAndStop (1);
Symbol 98 MovieClip Frame 1
stop();
Symbol 98 MovieClip Frame 12
gotoAndStop ("off");
Symbol 108 MovieClip Frame 1
stop();
Symbol 117 MovieClip Frame 1
stop();
Symbol 122 MovieClip Frame 1
stop();
Symbol 125 MovieClip Frame 1
stop();
Symbol 128 MovieClip Frame 1
stop();
Symbol 131 MovieClip Frame 1
stop();
Symbol 131 MovieClip Frame 50
gotoAndStop ("off");
Symbol 148 MovieClip Frame 1
stop();
Symbol 148 MovieClip Frame 25
stop();
Symbol 153 MovieClip Frame 1
stop();
Symbol 153 MovieClip Frame 25
stop();
Symbol 161 MovieClip Frame 1
stop();
Symbol 161 MovieClip Frame 100
stop();
Symbol 161 MovieClip Frame 101
prevFrame();
Symbol 161 MovieClip Frame 109
gotoAndStop (1);
Symbol 171 MovieClip Frame 1
stop();
Symbol 171 MovieClip Frame 7
stop();
Symbol 177 MovieClip Frame 1
function trackBall() { var _local1 = ball_mc._y + _y; Pinball.positionTable(_local1); } stop();
Symbol 177 MovieClip Frame 5
this.onEnterFrame = trackBall;
Symbol 177 MovieClip Frame 55
gotoAndStop (1); this.onEnterFrame = null;
Symbol 177 MovieClip Frame 60
this.onEnterFrame = trackBall;
Symbol 177 MovieClip Frame 110
gotoAndStop (1); this.onEnterFrame = null;
Symbol 192 MovieClip Frame 1
stop();
Symbol 192 MovieClip Frame 5
gotoAndStop (1);
Symbol 192 MovieClip Frame 15
gotoAndStop (1);
Symbol 192 MovieClip Frame 24
gotoAndStop (1);
Symbol 192 MovieClip Frame 34
gotoAndStop (1);
Symbol 192 MovieClip Frame 44
gotoAndStop (1);
Symbol 192 MovieClip Frame 54
gotoAndStop (1);
Symbol 192 MovieClip Frame 64
gotoAndStop (1);
Symbol 192 MovieClip Frame 74
gotoAndStop (1);
Symbol 192 MovieClip Frame 84
gotoAndStop (1);
Symbol 192 MovieClip Frame 94
gotoAndStop (1);
Symbol 192 MovieClip Frame 104
gotoAndStop (1);
Symbol 192 MovieClip Frame 114
gotoAndStop (1);
Symbol 192 MovieClip Frame 124
gotoAndStop (1);
Symbol 192 MovieClip Frame 134
gotoAndStop (1);
Symbol 192 MovieClip Frame 144
gotoAndStop (1);
Symbol 192 MovieClip Frame 154
gotoAndStop (1);
Symbol 192 MovieClip Frame 170
gotoAndStop (1);
Symbol 197 MovieClip Frame 1
function getTreeRegion(y) { return(Math.ceil(y / splitrange)); } totalheight = 1019; range = 300; segments = Math.floor(totalheight / range); _global.splitrange = Math.round(totalheight / segments); var j = 1; while (j <= segments) { var area = Math.floor((totalheight / segments) * j); var lmc = linebound.duplicateMovieClip("bound" + j, j); lmc._x = 0; lmc._y = area; lmc._visible = 0; j++; } linebound._visible = 0; stop();
Symbol 200 MovieClip Frame 17
stop(); _parent.gotoAndPlay(7);
Symbol 216 Button
on (release) { _global._timeline.resetgame(); }
Symbol 219 Button
on (release) { _parent._parent.gotoAndStop("high_score"); }
Symbol 222 Button
on (release) { _global._timeline.resetVariables(); _parent._parent.gotoAndStop("splash"); }
Symbol 226 Button
on (release) { _level0.gotoAndStop("high_score"); }
Symbol 229 Button
on (release) { this.gotoAndStop("off"); _level0.bPaused = false; }
Symbol 238 Button
on (release) { this.nextFrame(); }
Symbol 244 MovieClip Frame 30
stop();
Symbol 246 Button
on (release) { this.prevFrame(); }
Symbol 248 MovieClip Frame 1
stop();
Symbol 249 MovieClip Frame 1
stop();
Symbol 249 MovieClip Frame 6
stop();
Symbol 249 MovieClip Frame 14
stop();
Symbol 250 MovieClip Frame 1
stop();
Symbol 250 MovieClip Frame 2
play();
Symbol 250 MovieClip Frame 18
stop();
Symbol 251 MovieClip Frame 1
fscommand ("allowscale", false); _quality = "HIGH"; _focusrect = false; _global._timeline = this; Math.toRadians = function (deg) { return((deg * Math.PI) / 180); }; Math.toDegrees = function (rad) { return((rad * 180) / Math.PI); }; Color.prototype.setTint = function (r, g, b, percent) { var _local2 = percent / 100; var _local1 = {rb:r * _local2, gb:g * _local2, bb:b * _local2}; _local1.ra = (_local1.ga = (_local1.ba = 100 - percent)); this.setTransform(_local1); }; Color.prototype.setTint2 = function (rgb, percent) { var _local3 = rgb; var r = (_local3 >> 16); var g = ((_local3 >> 8) & 255); var b = (_local3 & 255); var _local2 = percent / 100; var _local1 = {rb:r * _local2, gb:g * _local2, bb:b * _local2}; _local1.ra = (_local1.ga = (_local1.ba = 100 - percent)); this.setTransform(_local1); }; Color.prototype.reset = function () { this.setTransform({ra:100, ga:100, ba:100, rb:0, gb:0, bb:0}); }; XML.prototype.ignoreWhite = true; XMLNode.prototype.getText = function (node) { var _local3 = node; if (_local3 == null) { return(null); } var _local1 = this.firstChild; while (_local1) { if (_local1.nodeName == _local3) { var _local2 = _local1.firstChild; if (_local2.nodeType == 3) { return(_local2.nodeValue); } } _local1 = _local1.nextSibling; } return(null); }; XMLNode.prototype.getNodes = function (node) { var _local2 = node; if (_local2 == null) { return(null); } var _local1 = this.firstChild; while (_local1) { if (_local1.nodeName == _local2) { return(_local1); } _local1 = _local1.nextSibling; } return(null); }; _global.Point = function (x, y) { this.x = x; this.y = y; }; Point.prototype.duplicate = function () { return(new Point(this.x, this.y)); }; Point.prototype.moveBy = function (v) { var _local1 = this; _local1.x = _local1.x + v.x; _local1.y = _local1.y + v.y; return(_local1); }; Point.prototype.moveTo = function (p) { var _local1 = this; _local1.x = p.x; _local1.y = p.y; return(_local1); }; Point.prototype.getMidPoint = function (p) { return(this.addVector(this.getVector(p).divide(2))); }; Point.prototype.plus = function (p) { var _local1 = this; _local1.x = _local1.x + p.x; _local1.y = _local1.y + p.y; return(_local1); }; Point.prototype.minus = function (p) { var _local1 = this; _local1.x = _local1.x - p.x; _local1.y = _local1.y - p.y; return(_local1); }; Point.prototype.addPoint = function (p) { var _local2 = this.x + p.x; var _local1 = this.y + p.y; return(new Point(_local2, _local1)); }; Point.prototype.subtractPoint = function (p) { var _local2 = this.x - p.x; var _local1 = this.y - p.y; return(new Point(_local2, _local1)); }; Point.prototype.addVector = function (v) { var _local2 = this.x + v.x; var _local1 = this.y + v.y; return(new Point(_local2, _local1)); }; Point.prototype.getVector = function (p) { var _local2 = p.x - this.x; var _local1 = p.y - this.y; return(new Vector(_local2, _local1)); }; Point.prototype.multiply = function (n) { var _local2 = this.x * n; var _local1 = this.y * n; return(new Point(_local2, _local1)); }; Point.prototype.lerp = function (p, t) { var _local1 = this; var _local3 = _local1.x + ((p.x - _local1.x) * t); var _local2 = _local1.y + ((p.y - _local1.y) * t); return(new Point(_local3, _local2)); }; Point.prototype.crossProduct = function (p0, p1) { var _local1 = this; return(((p0.x - _local1.x) * (p1.y - _local1.y)) - ((p0.y - _local1.y) * (p1.x - _local1.x))); }; Point.prototype.rotate = function (a) { var _local1 = this; var _local2 = Math.sin(a); var _local3 = Math.cos(a); var x = ((_local1.x * _local3) - (_local1.y * _local2)); var y = ((_local1.y * _local3) + (_local1.x * _local2)); _local1.x = x; _local1.y = y; return(_local1); }; Point.prototype.rotateAbout = function (p, a) { var _local1 = this; _local1.minus(p); _local1.rotate(a); _local1.plus(p); return(_local1); }; Point.prototype.getAngle = function (p) { var _local2 = p.x - this.x; var _local1 = p.y - this.y; return(Math.atan2(_local1, _local2)); }; Point.prototype.min = function (p) { var _local2 = Math.min(this.x, p.x); var _local1 = Math.min(this.y, p.y); return(new Point(_local2, _local1)); }; Point.prototype.max = function (p) { var _local2 = Math.max(this.x, p.x); var _local1 = Math.max(this.y, p.y); return(new Point(_local2, _local1)); }; Point.prototype.draw = function (mc, colour, type) { var _local1 = this; var _local2 = mc; if (type == "dot") { _local2.lineStyle(3, colour, 100); _local2.moveTo(_local1.x, _local1.y); _local2.lineTo(_local1.x + 0.5, _local1.y); } else { _local2.lineStyle(0, colour, 100); _local2.moveTo(_local1.x - 5, _local1.y - 5); _local2.lineTo(_local1.x + 5, _local1.y + 5); _local2.moveTo(_local1.x + 5, _local1.y - 5); _local2.lineTo(_local1.x - 5, _local1.y + 5); } }; Point.prototype.toString = function () { var _local1 = ((("[class 'Point' x: " + (Math.round(this.x * 1000) / 1000)) + ", y: ") + (Math.round(this.y * 1000) / 1000)) + "]"; return(_local1); }; Point.prototype.trace = function () { trace(this.toString()); }; _global.Vector = function (x, y) { this.x = x; this.y = y; }; Vector.prototype.duplicate = function () { return(new Vector(this.x, this.y)); }; Vector.prototype.negate = function () { var _local1 = this; _local1.x = -_local1.x; _local1.y = -_local1.y; return(_local1); }; Vector.prototype.addVector = function (v) { var _local1 = this; _local1.x = _local1.x + v.x; _local1.y = _local1.y + v.y; return(_local1); }; Vector.prototype.subtractVector = function (v) { var _local1 = this; _local1.x = _local1.x - v.x; _local1.y = _local1.y - v.y; return(_local1); }; Vector.prototype.getAddedVector = function (v) { var _local2 = this.x + v.x; var _local1 = this.y + v.y; return(new Vector(_local2, _local1)); }; Vector.prototype.getSubtractedVector = function (v) { var _local2 = this.x - v.x; var _local1 = this.y - v.y; return(new Vector(_local2, _local1)); }; Vector.prototype.multiply = function (n) { var _local1 = this; _local1.x = _local1.x * n; _local1.y = _local1.y * n; return(_local1); }; Vector.prototype.divide = function (n) { var _local1 = this; _local1.x = _local1.x / n; _local1.y = _local1.y / n; return(_local1); }; Vector.prototype.getMultipliedVector = function (n) { var _local2 = this.x * n; var _local1 = this.y * n; return(new Vector(_local2, _local1)); }; Vector.prototype.getDividedVector = function (n) { var _local2 = this.x / n; var _local1 = this.y / n; return(new Vector(_local2, _local1)); }; Vector.prototype.length = function () { var _local1 = this; return(Math.sqrt((_local1.x * _local1.x) + (_local1.y * _local1.y))); }; Vector.prototype.normalise = function () { var _local1 = this; _local1.divide(_local1.length()); return(_local1); }; Vector.prototype.getNormalisedVector = function () { var _local2 = this; var _local1 = _local2.length(); return(new Vector(_local2.x / _local1, _local2.y / _local1)); }; Vector.prototype.rotate = function (a) { var _local1 = this; var _local2 = Math.sin(a); var _local3 = Math.cos(a); var x = ((_local1.x * _local3) - (_local1.y * _local2)); var y = ((_local1.y * _local3) + (_local1.x * _local2)); _local1.x = x; _local1.y = y; return(_local1); }; Vector.prototype.getRotatedVector = function (a) { var _local2 = this; var _local1 = Math.sin(a); var _local3 = Math.cos(a); var x = ((_local2.x * _local3) + (_local2.y * _local1)); var y = ((_local2.y * _local3) - (_local2.x * _local1)); return(new Vector(x, y)); }; Vector.prototype.scalarProduct = (Vector.prototype.dotProduct = function (v) { return((this.x * v.x) + (this.y * v.y)); }); Vector.prototype.vectorProduct = (Vector.prototype.crossProduct = function (v) { return((this.x * v.y) - (this.y * v.x)); }); Vector.prototype.getAngle = function () { var _local1 = Math.atan2(this.y, this.x); if (_local1 < 0) { _local1 = _local1 + (Math.PI*2); } return(_local1); }; Vector.prototype.getAngleBetween = function (v) { var _local2 = this.getNormalisedVector(); var _local1 = v.getNormalisedVector(); return(Math.acos(_local2.dotProduct(_local1))); }; Vector.prototype.draw = function (mc, colour) { var _local1 = mc; _local1.lineStyle(0, colour, 100); _local1.moveTo(0, 0); _local1.lineTo(this.x, this.y); }; Vector.prototype.toString = function () { var _local1 = ((("[class 'Vector' x: " + (Math.round(this.x * 1000) / 1000)) + ", y: ") + (Math.round(this.y * 1000) / 1000)) + "]"; return(_local1); }; Vector.prototype.trace = function () { trace(this.toString()); }; _global.Line = function (p0, p1) { this.p0 = p0; this.p1 = p1; }; Line.prototype.duplicate = function () { var _local2 = this.p0.duplicate(); var _local1 = this.p1.duplicate(); return(new Line(_local2, _local1)); }; Line.prototype.scale = function (n) { var _local1 = this; var _local2 = _local1.getVector().normalise().multiply(_local1.length() * (((n / 100) - 1) / 2)); _local1.p1.moveBy(_local2); _local1.p0.moveBy(_local2.negate()); return(_local1); }; Line.prototype.moveBy = function (v) { var _local1 = this; var _local2 = v; _local1.p0.x = _local1.p0.x + _local2.x; _local1.p0.y = _local1.p0.y + _local2.y; _local1.p1.x = _local1.p1.x + _local2.x; _local1.p1.y = _local1.p1.y + _local2.y; return(_local1); }; Line.prototype.getVector = function () { var _local1 = this; var _local3 = _local1.p1.x - _local1.p0.x; var _local2 = _local1.p1.y - _local1.p0.y; return(new Vector(_local3, _local2)); }; Line.prototype.getAngle = function () { var _local1 = this; var _local3 = _local1.p1.x - _local1.p0.x; var _local2 = _local1.p1.y - _local1.p0.y; return(Math.atan2(_local2, _local3)); }; Line.prototype.getTangent = function (p) { return(this.getVector()); }; Line.prototype.getNormal = function () { var _local1 = this; var _local3 = _local1.p1.x - _local1.p0.x; var _local2 = _local1.p1.y - _local1.p0.y; return(new Vector(-_local2, _local3).normalise()); }; Line.prototype.length = function () { var _local3 = this; var _local2 = _local3.p1.x - _local3.p0.x; var _local1 = _local3.p1.y - _local3.p0.y; return(Math.sqrt((_local2 * _local2) + (_local1 * _local1))); }; Line.prototype.draw = function (mc, colour) { var _local1 = this; var _local2 = mc; _local2.lineStyle(0, colour, 100); _local2.moveTo(_local1.p0.x, _local1.p0.y); _local2.lineTo(_local1.p1.x, _local1.p1.y); }; Line.prototype.toString = function () { var _local1 = this; var _local2 = ((((((("[class 'Line' x0: " + _local1.p0.x) + ", y0: ") + _local1.p0.y) + ", x1: ") + _local1.p1.x) + ", y1: ") + _local1.p1.y) + "]"; return(_local2); }; Line.prototype.trace = function () { trace(this.toString()); }; _global.Circle = function (x, y, radius) { super(x, y); this.radius = radius; }; Circle.prototype = new Point(); Circle.prototype.duplicate = function () { var _local1 = this; return(new Circle(_local1.x, _local1.y, _local1.radius)); }; Circle.prototype.addRadius = function (n) { this.radius = this.radius + n; return(this); }; Circle.prototype.subtractRadius = function (n) { this.radius = this.radius - n; return(this); }; Circle.prototype.multiplyRadius = function (n) { this.radius = this.radius * n; return(this); }; Circle.prototype.divideRadius = function (n) { this.radius = this.radius / n; return(this); }; Circle.prototype.getNormal = function (p) { var _local2 = p.x - this.x; var _local1 = p.y - this.y; return(new Vector(_local2, _local1).normalise()); }; Circle.prototype.getTangent = function (p) { var _local1 = this.getVector(p).rotate((Math.PI/2)); return(_local1); }; Circle.prototype.getTangentOfTwoCircles = function (c) { var _local2 = this; var _local1; var angle; var intersecting_line; var _local3; var midpoint; var t0; var t1; _local1 = c.duplicate(); angle = _local2.getVector(_local1).getAngle(); _local1.rotateAbout(_local2, -angle); intersecting_line = new Line(new Point(_local2.x, _local2.y + _local2.radius), new Point(_local1.x, _local1.y + _local1.radius)); intersecting_line.scale(200); _local3 = Intersection.getCircleLine(_local2, intersecting_line); midpoint = _local3[0].getMidPoint(_local3[1]); t0 = _local2.addVector(_local2.getVector(midpoint).normalise().multiply(_local2.radius)); _local3 = Intersection.getCircleLine(_local1, intersecting_line); midpoint = _local3[0].getMidPoint(_local3[1]); t1 = _local1.addVector(_local1.getVector(midpoint).normalise().multiply(_local1.radius)); return(new Line(t0.rotateAbout(_local2, angle), t1.rotateAbout(_local2, angle))); }; Circle.prototype.draw = function (mc, colour) { var _local1 = this; mc.lineStyle(0, colour, 100); var arc = (Math.PI*2); var segs = Math.ceil(Math.abs(arc) / (Math.PI/4)); var _local3 = arc / segs; var _local2 = 0; var ax = (_local1.x + (Math.cos(_local2) * _local1.radius)); var ay = (_local1.y + (Math.sin(_local2) * _local1.radius)); mc.moveTo(ax, ay); if (segs > 0) { var angleMid; var bx; var by; var cx; var cy; var i = 0; while (i < segs) { _local2 = _local2 + _local3; angleMid = _local2 - (_local3 / 2); bx = _local1.x + (Math.cos(_local2) * _local1.radius); by = _local1.y + (Math.sin(_local2) * _local1.radius); cx = _local1.x + (Math.cos(angleMid) * (_local1.radius / Math.cos(_local3 / 2))); cy = _local1.y + (Math.sin(angleMid) * (_local1.radius / Math.cos(_local3 / 2))); mc.curveTo(cx, cy, bx, by); i++; } } }; Circle.prototype.toString = function () { var _local2 = this; var _local1 = ((((("[class 'Circle' x: " + (Math.round(_local2.x * 1000) / 1000)) + ", y: ") + (Math.round(_local2.y * 1000) / 1000)) + ", radius: ") + _local2.radius) + "]"; return(_local1); }; Circle.prototype.trace = function () { trace(this.toString()); }; _global.Arc = function (x, y, radius, startAngle, endAngle) { super(x, y, radius); this.startAngle = startAngle; this.endAngle = endAngle; }; Arc.prototype = new Circle(); Arc.prototype.duplicate = function () { var _local1 = this; return(new Arc(_local1.x, _local1.y, _local1.radius, _local1.startAngle, _local1.endAngle)); }; Arc.prototype.draw = function (mc, colour) { var _local1 = this; mc.lineStyle(0, colour, 100); var arc = (_local1.endAngle - _local1.startAngle); var segs = Math.ceil(Math.abs(arc) / (Math.PI/4)); var _local3 = arc / segs; var _local2 = _local1.startAngle; var ax = (_local1.x + (Math.cos(_local2) * _local1.radius)); var ay = (_local1.y + (Math.sin(_local2) * _local1.radius)); mc.moveTo(ax, ay); if (segs > 0) { var angleMid; var bx; var by; var cx; var cy; var i = 0; while (i < segs) { _local2 = _local2 + _local3; angleMid = _local2 - (_local3 / 2); bx = _local1.x + (Math.cos(_local2) * _local1.radius); by = _local1.y + (Math.sin(_local2) * _local1.radius); cx = _local1.x + (Math.cos(angleMid) * (_local1.radius / Math.cos(_local3 / 2))); cy = _local1.y + (Math.sin(angleMid) * (_local1.radius / Math.cos(_local3 / 2))); mc.curveTo(cx, cy, bx, by); i++; } } }; Arc.prototype.toString = function () { var _local1 = this; var _local2 = ((((((((("[class 'Arc' x: " + (Math.round(_local1.x * 1000) / 1000)) + ", y: ") + (Math.round(_local1.y * 1000) / 1000)) + ", radius: ") + _local1.radius) + ", startAngle: ") + Math.toDegrees(_local1.startAngle)) + ", endAngle: ") + Math.toDegrees(_local1.endAngle)) + "]"; return(_local2); }; Arc.prototype.trace = function () { trace(this.toString()); }; ClassIntersection = function () { }; ClassIntersection.prototype.getLineLine = function (lineA, lineB) { var _local2 = lineA.p0.x; var _local1 = lineA.p0.y; var x2 = lineA.p1.x; var y2 = lineA.p1.y; var _local3 = lineB.p0.x; var y3 = lineB.p0.y; var x4 = lineB.p1.x; var y4 = lineB.p1.y; var numeratorA = (((x4 - _local3) * (_local1 - y3)) - ((y4 - y3) * (_local2 - _local3))); var numeratorB = (((x2 - _local2) * (_local1 - y3)) - ((y2 - _local1) * (_local2 - _local3))); var demoninator = (((y4 - y3) * (x2 - _local2)) - ((x4 - _local3) * (y2 - _local1))); if (demoninator == 0) { return([]); } var uA = (numeratorA / demoninator); var uB = (numeratorB / demoninator); if (((0 <= uA) && (uA <= 1)) && ((0 <= uB) && (uB <= 1))) { var x = (_local2 + (uA * (x2 - _local2))); var y = (_local1 + (uA * (y2 - _local1))); return([new Point(x, y)]); } return([]); }; ClassIntersection.prototype.getCircleLine = function (circle, line) { var _local1 = line; if (_local1.length() <= 0) { return([]); } var _local3 = _local1.p0.x; var _local2 = _local1.p0.y; var x2 = _local1.p1.x; var y2 = _local1.p1.y; var x3 = circle.x; var y3 = circle.y; var r = circle.radius; var dx = (x2 - _local3); var dy = (y2 - _local2); var a = ((dx * dx) + (dy * dy)); var b = (2 * ((dx * (_local3 - x3)) + (dy * (_local2 - y3)))); var c = ((((((x3 * x3) + (y3 * y3)) + (_local3 * _local3)) + (_local2 * _local2)) - (2 * ((x3 * _local3) + (y3 * _local2)))) - (r * r)); var discriminant = ((b * b) - ((4 * a) * c)); if (discriminant < 0) { return([]); } if (discriminant == 0) { return([_local1.p0.lerp(_local1.p1, (-b) / (2 * a))]); } var e = Math.sqrt(discriminant); var u1 = (((-b) + e) / (2 * a)); var u2 = (((-b) - e) / (2 * a)); var points = []; if ((0 <= u1) && (u1 <= 1)) { points.push(_local1.p0.lerp(_local1.p1, u1)); } if ((0 <= u2) && (u2 <= 1)) { points.push(_local1.p0.lerp(_local1.p1, u2)); } return(points); }; ClassIntersection.prototype.getArcLine = function (arc, line) { var POI = this.getCircleLine(arc, line); var noOfPoints = POI.length; if (noOfPoints < 1) { return([]); } var startAngle = arc.startAngle; var endAngle = arc.endAngle; var points = []; var _local2 = 0; while (_local2 < noOfPoints) { var P = POI[_local2]; var normalVector = arc.getVector(P); var _local1 = normalVector.getAngle(); var _local3 = _local1 + (Math.PI*2); if (((startAngle <= _local1) && (_local1 <= endAngle)) || ((startAngle <= _local3) && (_local3 <= endAngle))) { points.push(P); } _local2++; } return(points); }; _global.Intersection = new ClassIntersection(); ClassPinball = function () { var _local1 = this; _local1.gravity = new Vector(0, 0.9); _local1.ballRadius = 5; _local1.gameScreen = {width:772, height:265, width2:386, height2:90}; _local1.tableSize = {width:341, height:1019}; }; ClassPinball.prototype.init = function (pinball_mc) { var _local1 = this; var _local2 = pinball_mc; _local1.pinball_mc = _local2; _local1.initTable(_local2.lines_mc); _local1.initPaddles(_local2.paddles_mc); _local1.initSpring(_local2.spring_mc); _local1.initTriggers(_local2.triggers_mc); _local1.initBalls(_local2.balls_mc); _level0.lives = 5; _level0.score = 0; _level0.scoreboard.balls.gotoAndStop(_level0.lives + 1); }; ClassPinball.prototype.start = function () { var _local1 = this; var pinball_mc = _local1.pinball_mc; _timeline.Jake.gotoAndPlay(1); _local1.addScore(0); _local1.addBall(337, 880, _local1.ballRadius, new Vector(0, 0)); pinball_mc.gameScreen = _local1.gameScreen; pinball_mc.tableSize = _local1.tableSize; pinball_mc.ball = _local1.balls[0]; pinball_mc.bTilted = false; pinball_mc.tilt_delay = 5; pinball_mc.onEnterFrame = function () { var _local1 = this; if (_level0.bPaused) { } else { Pinball.doSpring(); Pinball.doPaddles(); Pinball.doBalls(); if (Key.isDown(32)) { if (!_local1.bTilted) { _local1.bTilted = true; trace("tilt"); if (!_local1.ball.mc.bHold) { var _local3 = 1 + (Math.random() * 4); if (Math.random() < 0.5) { _local3 = _local3 * -1; } var _local2 = 1 + (Math.random() * 4); if (Math.random() < 0.5) { _local2 = _local2 * -1; } _local1.ball.velocity.addVector(new Vector(_local3, _local2)); } else { trace("ball is held"); } } } else if (_local1.bTilted) { _local1.bTilted = false; } if (pinball_mc.OPT_scroll.bScroll || (pinball_mc.OPT_scroll.bScroll == undefined)) { Pinball.positionTable(_local1.ball.y); } } }; }; ClassPinball.prototype.positionTable = function (bally) { var _local2 = this; var dest_y = (_local2.gameScreen.height2 - bally); var dy = ((dest_y - pinball_mc._y) * 2); var _local1 = pinball_mc._y + (dy / 6); var min = 0; var _local3 = _local2.gameScreen.height - _local2.tableSize.height; if (_local1 > min) { _local1 = min; } else if (_local1 < _local3) { _local1 = _local3; } if (_local2.bTilted) { _local1 = _local1 - 5; } pinball_mc._y = Math.round(_local1); }; ClassPinball.prototype.initTable = function (mc) { this.lines_mc = mc; var _local1 = this.pinball_mc; Obstacles.clearAll(); Obstacles.addInnerArc(195, 681, 154.175, Math.toRadians(285), Math.toRadians(360), 0, null, -1); Obstacles.addInnerArc(182, 660, 145.275, Math.toRadians(180), Math.toRadians(243), 0, null, 2); Obstacles.addOuterCircle(326, 763, 4.75, 0, null, 3); Obstacles.addOuterCircle(62, 789, 4.75, 0, null, 3); Obstacles.addOuterCircle(62, 845, 4.75, 0, null, 3); Obstacles.addOuterCircle(302, 789, 4.75, 0, null, 3); Obstacles.addOuterCircle(302, 846, 4.75, 0, null, 3); Obstacles.addOuterCircle(240, 524, 10.85, 0, null, 2); Obstacles.addOuterCircle(59, 995, 6.45, 0, null, 3); Obstacles.addOuterCircle(120, 1018, 5.7, 0, null, -1); Obstacles.addOuterCircle(233, 1018, 5.7, 0, null, -1); Obstacles.addOuterCircle(292, 993, 6.45, 0, null, 3); Obstacles.addOuterCircle(111, 523, 10.05, 0, null, 2); Obstacles.addInnerArc(196, 679, 151.125, Math.toRadians(285), Math.toRadians(360), 0, null, -1); Obstacles.addLine(new Point(64, 780), new Point(48, 761), 12, _local1.anglebounce_left, 3); Obstacles.addLine(new Point(319, 760), new Point(299, 781), 12, _local1.anglebounce_right, 3); Obstacles.addLine(new Point(123, 1013), new Point(60, 989), 0, null, 3); Obstacles.addLine(new Point(52, 993), new Point(52, 1024), 0, null, -1); Obstacles.addLine(new Point(299, 1026), new Point(299, 995), 0, null, -1); Obstacles.addLine(new Point(292, 986), new Point(229, 1014), 0, null, 3); Obstacles.addLine(new Point(298, 849), new Point(326, 877), 0, null, 3); Obstacles.addLine(new Point(323, 760), new Point(298, 786), 0, null, 3); Obstacles.addLine(new Point(33, 879), new Point(64, 849), 0, null, 3); Obstacles.addLine(new Point(66, 786), new Point(37, 751), 0, null, 3); Obstacles.addLine(new Point(297, 790), new Point(297, 846), 0, null, 3); Obstacles.addLine(new Point(322, 862), new Point(322, 1015), 0, null, 3); Obstacles.addLine(new Point(33, 1015), new Point(33, 876), 0, null, 3); Obstacles.addLine(new Point(67, 844), new Point(67, 790), 0, null, 3); Obstacles.addLine(new Point(40, 760), new Point(40, 601), 0, null, -1); Obstacles.addLine(new Point(343, 615), new Point(343, 953), 0, null, -1); Obstacles.addLine(new Point(331, 952), new Point(331, 763), 0, null, 3); Obstacles.addLine(new Point(347, 950), new Point(330, 950), 0, null, 3); Obstacles.addOuterCircle(80, 899, 4.75, 0, null, 3); Obstacles.addOuterCircle(80, 937, 4.75, 0, null, 3); Obstacles.addOuterCircle(108, 949, 5.75, 0, null, 3); Obstacles.addLine(new Point(75, 899), new Point(75, 936), 0, null, 3); Obstacles.addLine(new Point(77, 940), new Point(106, 954), 0, null, 3); Obstacles.addLine(new Point(113, 947), new Point(83, 896), 13.5, _local1.bumper_left1, 3); Obstacles.addOuterCircle(273, 899, 4.75, 0, null, 3); Obstacles.addOuterCircle(273, 938, 4.75, 0, null, 3); Obstacles.addOuterCircle(244, 951, 5.75, 0, null, 3); Obstacles.addLine(new Point(246, 956), new Point(275, 942), 0, null, 3); Obstacles.addLine(new Point(278, 938), new Point(278, 899), 0, null, 3); Obstacles.addLine(new Point(269, 897), new Point(239, 949), 13.5, _local1.bumper_right1, 3); Obstacles.addOuterCircle(136, 629, 12.5, 10, _local1.bumper_2, 2); Obstacles.addOuterCircle(82, 684, 12.5, 10, _local1.bumper_1, -1); Obstacles.addOuterCircle(136, 747, 12.5, 10, _local1.bumper_6, 3); Obstacles.addOuterCircle(216, 747, 12.5, 10, _local1.bumper_5, 3); Obstacles.addOuterCircle(269, 685, 12.5, 10, _local1.bumper_4, -1); Obstacles.addOuterCircle(216, 629, 12.5, 10, _local1.bumper_3, 2); Obstacles.addOuterCircle(136, 629, 12.5, 10, _local1.bumper_2, 2); Obstacles.addOuterCircle(82, 684, 12.5, 10, _local1.bumper_1, -1); Obstacles.addOuterCircle(136, 747, 12.5, 10, _local1.bumper_6, 3); Obstacles.addOuterCircle(216, 747, 12.5, 10, _local1.bumper_5, 3); Obstacles.addOuterCircle(269, 685, 12.5, 10, _local1.bumper_4, -1); Obstacles.addOuterCircle(216, 629, 12.5, 10, _local1.bumper_3, 2); Obstacles.addOuterCircle(243, 573, 5.5, 5, _local1.bumper_8, 2); Obstacles.addOuterCircle(243, 592, 5.5, 5, _local1.bumper_8, 2); Obstacles.addOuterCircle(272, 596, 5.5, 5, _local1.bumper_9, 2); Obstacles.addOuterCircle(272, 615, 5.5, 5, _local1.bumper_9, 2); Obstacles.addOuterCircle(110, 573, 5.5, 5, _local1.bumper_11, 2); Obstacles.addOuterCircle(110, 592, 5.5, 5, _local1.bumper_11, 2); Obstacles.addOuterCircle(81, 596, 5.5, 5, _local1.bumper_10, 2); Obstacles.addOuterCircle(81, 615, 5.5, 5, _local1.bumper_10, 2); Obstacles.addLine(new Point(75, 596), new Point(75, 615), 0, _local1.bumper_10, 2); Obstacles.addLine(new Point(86, 615), new Point(86, 596), 0, _local1.bumper_10, 2); Obstacles.addLine(new Point(104, 573), new Point(104, 591), 0, _local1.bumper_11, 2); Obstacles.addLine(new Point(115, 591), new Point(115, 573), 0, _local1.bumper_11, 2); Obstacles.addLine(new Point(237, 573), new Point(237, 591), 0, _local1.bumper_8, 2); Obstacles.addLine(new Point(266, 596), new Point(266, 615), 0, _local1.bumper_9, 2); Obstacles.addLine(new Point(277, 615), new Point(277, 596), 0, _local1.bumper_9, 2); Obstacles.addLine(new Point(248, 591), new Point(248, 573), 0, _local1.bumper_8, 2); Obstacles.addOuterCircle(301, 899, 1.85, 0, null, 3); Obstacles.addOuterCircle(300, 955, 2.55, 0, null, 3); Obstacles.addOuterCircle(237, 983, 2.4, 0, null, 3); Obstacles.addOuterCircle(54, 900, 1.85, 0, null, 3); Obstacles.addOuterCircle(55, 955, 2.55, 0, null, 3); Obstacles.addOuterCircle(122, 984, 2.4, 0, null, 3); Obstacles.addLine(new Point(54, 957), new Point(123, 986), 0, null, 3); Obstacles.addLine(new Point(123, 982), new Point(55, 954), 0, null, 3); Obstacles.addLine(new Point(56, 953), new Point(56, 900), 0, null, 3); Obstacles.addLine(new Point(52, 900), new Point(52, 955), 0, null, 3); Obstacles.addLine(new Point(303, 954), new Point(303, 900), 0, null, 3); Obstacles.addLine(new Point(238, 986), new Point(303, 957), 0, null, 3); Obstacles.addLine(new Point(299, 899), new Point(299, 953), 0, null, 3); Obstacles.addLine(new Point(298, 953), new Point(235, 981), 0, null, 3); Obstacles.addInnerArc(181, 172, 146.975, Math.toRadians(270), Math.toRadians(360), 0, null, -1); Obstacles.addInnerArc(181, 172, 146.975, Math.toRadians(180), Math.toRadians(270), 0, null, -1); Obstacles.addOuterCircle(52, 350, 4.75, 0, null, 2); Obstacles.addOuterCircle(301, 350, 4.75, 0, null, 2); Obstacles.addOuterCircle(301, 292, 4.75, 0, null, 1); Obstacles.addInnerArc(43, 473, 9.975, Math.toRadians(175), Math.toRadians(135), 0, null, -1); Obstacles.addInnerArc(311, 474, 9.875, Math.toRadians(45), Math.toRadians(2), 0, null, -1); Obstacles.addOuterCircle(52, 290, 4.75, 0, null, 1); Obstacles.addLine(new Point(317, 253), new Point(301, 277), 12, _local1.anglebounce_right1, 1); Obstacles.addLine(new Point(56, 278), new Point(46, 253), 12, _local1.anglebounce_left1, 1); Obstacles.addLine(new Point(56, 288), new Point(37, 241), 0, null, 1); Obstacles.addLine(new Point(39, 248), new Point(39, 125), 0, null, 1); Obstacles.addLine(new Point(319, 480), new Point(238, 514), 0, null, 2); Obstacles.addLine(new Point(325, 120), new Point(325, 252), 0, null, 1); Obstacles.addLine(new Point(321, 375), new Point(321, 485), 0, null, 2); Obstacles.addLine(new Point(297, 352), new Point(325, 380), 0, null, 2); Obstacles.addLine(new Point(326, 245), new Point(297, 290), 0, null, 1); Obstacles.addLine(new Point(296, 292), new Point(296, 350), 0, null, -1); Obstacles.addLine(new Point(115, 513), new Point(35, 479), 0, null, 2); Obstacles.addLine(new Point(33, 477), new Point(33, 367), 0, null, 2); Obstacles.addLine(new Point(33, 377), new Point(56, 353), 0, null, 2); Obstacles.addLine(new Point(57, 350), new Point(57, 289), 0, null, -1); Obstacles.addOuterArc(193, 168, 135.2, Math.toRadians(178), Math.toRadians(240), 0, null, 1); Obstacles.addInnerArc(200, 121, 91.9, Math.toRadians(166), Math.toRadians(224), 0, null, 1); Obstacles.addOuterCircle(65, 173, 5.8, 0, null, 1); Obstacles.addOuterCircle(104, 144, 8.7, 0, null, 1); Obstacles.addOuterCircle(130, 56, 5.15, 0, null, 1); Obstacles.addLine(new Point(68, 178), new Point(108, 151), 0, null, 1); Obstacles.addOuterArc(172, 169, 135.95, Math.toRadians(299), Math.toRadians(360), 0, null, 1); Obstacles.addInnerArc(168, 122, 90.95, Math.toRadians(0), Math.toRadians(15), 0, null, 1); Obstacles.addOuterCircle(300, 173, 5.8, 0, null, 1); Obstacles.addOuterCircle(260, 145, 5.8, 0, null, 1); Obstacles.addOuterCircle(235, 56, 5.15, 0, null, 1); Obstacles.addInnerArc(168, 122, 90.95, Math.toRadians(315), Math.toRadians(360), 0, null, 1); Obstacles.addOuterArc(172, 169, 135.95, Math.toRadians(0), Math.toRadians(2), 0, null, 1); Obstacles.addLine(new Point(258, 150), new Point(297, 178), 0, null, 1); Obstacles.addOuterCircle(80, 400, 4.75, 0, null, 2); Obstacles.addOuterCircle(80, 437, 4.75, 0, null, 2); Obstacles.addOuterCircle(109, 450, 5.75, 0, null, 2); Obstacles.addLine(new Point(75, 400), new Point(75, 437), 0, null, 2); Obstacles.addLine(new Point(78, 441), new Point(107, 455), 0, null, 2); Obstacles.addLine(new Point(114, 447), new Point(84, 397), 13.5, _local1.bumper_right2, 2); Obstacles.addOuterCircle(274, 400, 4.75, 0, null, 2); Obstacles.addOuterCircle(273, 438, 4.75, 0, null, 2); Obstacles.addOuterCircle(244, 451, 5.75, 0, null, 2); Obstacles.addLine(new Point(247, 457), new Point(276, 442), 0, null, 2); Obstacles.addLine(new Point(278, 438), new Point(278, 400), 0, null, 2); Obstacles.addLine(new Point(269, 398), new Point(239, 449), 13.5, _local1.bumper_right2, 2); Obstacles.addOuterCircle(104, 368, 12.5, 10, _local1.bumper_13, 2); Obstacles.addOuterCircle(248, 368, 12.5, 10, _local1.bumper_14, 2); Obstacles.addOuterCircle(177, 292, 12.5, 10, _local1.bumper_15, 1); Obstacles.addOuterCircle(226, 178, 12.5, 10, _local1.bumper_17, 1); Obstacles.addOuterCircle(128, 177, 12.5, 10, _local1.bumper_16, 1); Obstacles.addOuterCircle(206, 94, 5.8, 5, _local1.bumper_20, 1); Obstacles.addOuterCircle(206, 114, 5.8, 5, _local1.bumper_20, 1); Obstacles.addOuterCircle(162, 94, 5.8, 5, _local1.bumper_19, 1); Obstacles.addOuterCircle(162, 114, 5.8, 5, _local1.bumper_19, 1); Obstacles.addOuterCircle(135, 108, 5.8, 5, _local1.bumper_18, 1); Obstacles.addOuterCircle(135, 128, 5.8, 5, _local1.bumper_18, 1); Obstacles.addOuterCircle(234, 108, 5.8, 5, _local1.bumper_21, 1); Obstacles.addOuterCircle(234, 128, 5.8, 5, _local1.bumper_21, 1); Obstacles.addLine(new Point(229, 108), new Point(229, 127), 0, _local1.bumper_21, 1); Obstacles.addLine(new Point(240, 128), new Point(240, 108), 0, _local1.bumper_21, 1); Obstacles.addLine(new Point(130, 108), new Point(130, 127), 0, _local1.bumper_18, 1); Obstacles.addLine(new Point(141, 128), new Point(141, 108), 0, _local1.bumper_18, 1); Obstacles.addLine(new Point(157, 94), new Point(157, 113), 0, _local1.bumper_19, 1); Obstacles.addLine(new Point(168, 113), new Point(168, 94), 0, _local1.bumper_19, 1); Obstacles.addLine(new Point(200, 94), new Point(200, 113), 0, _local1.bumper_20, 1); Obstacles.addLine(new Point(212, 113), new Point(212, 94), 0, _local1.bumper_20, 1); Obstacles.addOuterCircle(301, 402, 1.85, 0, null, 2); Obstacles.addOuterCircle(300, 458, 2.55, 0, null, 2); Obstacles.addOuterCircle(247, 482, 2.4, 0, null, 2); Obstacles.addOuterCircle(54, 403, 1.85, 0, null, 2); Obstacles.addOuterCircle(55, 458, 2.55, 0, null, 2); Obstacles.addOuterCircle(112, 482, 2.4, 0, null, 2); Obstacles.addLine(new Point(54, 460), new Point(111, 484), 0, null, 2); Obstacles.addLine(new Point(113, 480), new Point(57, 456), 0, null, 2); Obstacles.addLine(new Point(56, 456), new Point(56, 403), 0, null, 2); Obstacles.addLine(new Point(52, 403), new Point(52, 458), 0, null, 2); Obstacles.addLine(new Point(303, 457), new Point(303, 403), 0, null, 2); Obstacles.addLine(new Point(248, 484), new Point(302, 460), 0, null, 2); Obstacles.addLine(new Point(299, 402), new Point(299, 456), 0, null, 2); Obstacles.addLine(new Point(298, 456), new Point(246, 479), 0, null, 2); Obstacles.addLine(new Point(331.3, 489), new Point(317.5, 489), 0, null, 1); }; ClassPinball.prototype.initPaddles = function (mc) { var _local1 = this; _local1.paddles_mc = mc; trace("ziggy"); var _local2 = _local1.pinball_mc; Obstacles.addPaddle(new Circle(123, 989, 7.5), new Circle(171, 1009, 2), -Math.toRadians(50), _local2.paddle_left, 1); Obstacles.addPaddle(new Circle(235, 989, 7.5), new Circle(190, 1009, 2), Math.toRadians(50), _local2.paddle_right, 1); Obstacles.addPaddle(new Circle(116, 488, 7.5), new Circle(161, 508, 2), -Math.toRadians(50), _local2.paddle_left2, 1); Obstacles.addPaddle(new Circle(243.3, 488, 7.5), new Circle(198.4, 508, 2), Math.toRadians(50), _local2.paddle_right2, 1); _local1.leftPaddle1 = Obstacles.paddles[0].paddle; _local1.rightPaddle1 = Obstacles.paddles[1].paddle; _local1.leftPaddle2 = Obstacles.paddles[2].paddle; _local1.rightPaddle2 = Obstacles.paddles[3].paddle; _local1.bIsKeyDown_LEFT = false; _local1.bIsKeyDown_RIGHT = false; }; ClassPinball.prototype.initSpring = function (mc) { this.spring_mc = mc; this.spring_mc.bFired = false; }; ClassPinball.prototype.initTriggers = function (mc) { this.triggers_mc = mc; Events.clearTriggers(); var _local1 = this.pinball_mc; Events.addLineTrigger(new Point(347, 690), new Point(325, 711), "springBlocker", "blocker_1"); _local1.blocker_1._visible = false; _local1.blocker_4._visible = false; _local1.blocker_5._visible = false; Events.addCircleTrigger(178, 587, 7, "holeTop", "hole1", "null"); Events.addCircleTrigger(185, 124, 11, "holeHold", "hole2", "null"); _local1.light1.gotoAndStop(1); _local1.light2.gotoAndStop(1); Events.addLineTrigger(new Point(165.1, 92.5), new Point(187.1, 92.5), "leftPillarLight"); Events.addLineTrigger(new Point(192.1, 86.8), new Point(214.1, 86.8), "rightPillarLight"); Events.addCircleTrigger(95, 568, 8.25, "light", "tablelight3", "null", 1000); Events.addCircleTrigger(177, 659, 8.25, "light", "tablelight2", "null", 1000); Events.addCircleTrigger(177, 718, 8.25, "light", "tablelight1", "null", 1000); Events.addCircleTrigger(124, 546, 8.25, "light", "tablelight4", "null", 1000); Events.addCircleTrigger(258, 568, 8.25, "light", "tablelight6", "null", 1000); Events.addCircleTrigger(230, 546, 8.25, "light", "tablelight5", "null", 1000); Events.addCircleTrigger(73, 800, 7.25, "lightswitch", "leftLight1", "leftSwitch1", 1000); Events.addCircleTrigger(73, 817, 7.25, "lightswitch", "leftLight2", "leftSwitch2", 1000); Events.addCircleTrigger(73, 837, 7.25, "lightswitch", "leftLight3", "leftSwitch3", 1000); Events.addCircleTrigger(289, 800, 7.25, "lightswitch", "rightLight1", "rightSwitch1", 1000); Events.addCircleTrigger(289, 817, 7.25, "lightswitch", "rightLight2", "rightSwitch2", 1000); Events.addCircleTrigger(289, 837, 7.25, "lightswitch", "rightLight3", "rightSwitch3", 1000); Events.addCircleTrigger(176, 197, 7.25, "light", "tablelight9", "null", 2500); Events.addCircleTrigger(218, 215, 7.25, "light", "tablelight10", "null", 2500); Events.addCircleTrigger(235, 256, 7.25, "light", "tablelight22", "null", 2500); Events.addCircleTrigger(132, 215, 7.25, "light", "tablelight8", "null", 2500); Events.addCircleTrigger(115, 256, 7.25, "light", "tablelight7", "null", 2500); Events.addCircleTrigger(76, 88, 6.2, "light", "tablelight14", "null", 3000); Events.addCircleTrigger(62, 112, 6.2, "light", "tablelight13", "null", 3000); Events.addCircleTrigger(53, 141, 6.2, "light", "tablelight12", "null", 3000); Events.addCircleTrigger(97, 66, 6.2, "light", "tablelight15", "null", 3000); Events.addCircleTrigger(289, 88, 6.2, "light", "tablelight17", "null", 3000); Events.addCircleTrigger(301, 112, 6.2, "light", "tablelight18", "null", 3000); Events.addCircleTrigger(311, 141, 6.2, "light", "tablelight19", "null", 3000); Events.addCircleTrigger(268, 66, 6.2, "light", "tablelight16", "null", 3000); Events.addCircleTrigger(61, 304, 7.25, "lightswitch", "leftLight4", "leftSwitch4", 2000); Events.addCircleTrigger(61, 321, 7.25, "lightswitch", "leftLight5", "leftSwitch5", 2000); Events.addCircleTrigger(61, 339, 7.25, "lightswitch", "leftLight6", "leftSwitch6", 2000); Events.addCircleTrigger(293, 304, 7.25, "lightswitch", "rightLight1", "rightSwitch1", 2000); Events.addCircleTrigger(293, 321, 7.25, "lightswitch", "rightLight5", "rightSwitch5", 2000); Events.addCircleTrigger(293, 339, 7.25, "lightswitch", "rightLight6", "rightSwitch6", 2000); Events.addLineTrigger(new Point(267, 185), new Point(294, 198), "rightRail", "null"); Events.addLineTrigger(new Point(69, 198), new Point(96, 185), "leftRail", "null"); }; ClassPinball.prototype.initBalls = function (mc) { var _local1 = this; _local1.balls_mc = mc; _local1.balls = []; _local1.depth = 0; }; ClassPinball.prototype.addBall = function (x, y, radius, velocity) { var _local2 = this; var _local3 = _local2.balls_mc.attachMovie("ball", "ball" + _local2.depth, _local2.depth); _local2.depth++; var _local1 = new ClassBall(x, y, radius, _local3); _local1.velocity = velocity; _local1.mc._x = x; _local1.mc._y = y; _local1.mc.bHold = false; _local2.balls.push(_local1); }; ClassPinball.prototype.clear = function (mc) { mc.clear(); }; ClassPinball.prototype.addScore = function (s) { _level0.scorenum = _level0.scorenum + s; _level0.score = _timeline.formatScore(_level0.scorenum); var _local1 = 1; while (_local1 < 9) { _level0.scoreboard["s" + _local1] = _level0.score[_local1 - 1]; _local1++; } }; ClassPinball.prototype.playSound = function (s) { this.pinball_mc.soundfx.gotoAndPlay(s); }; ClassPinball.prototype.loseLife = function (mc) { var _local1 = this; mc.removeMovieClip(); _level0.lives--; _level0.scoreboard.balls.gotoAndStop(_level0.lives + 1); if (_level0.lives < 1) { _local1.playSound("gameover"); _timeline.Jake.gotoAndPlay("looseBall"); _local1.gameOver(); } else { _local1.playSound("loselife"); _local1.initTable(pinball_mc.lines_mc); _local1.initPaddles(pinball_mc.paddles_mc); _local1.initSpring(pinball_mc.spring_mc); _local1.initTriggers(pinball_mc.triggers_mc); _local1.initBalls(pinball_mc.balls_mc); _local1.start(); } }; ClassPinball.prototype.gameOver = function () { var _local1 = this.pinball_mc; delete _local1.onEnterFrame; _timeline.gameOver(); }; ClassPinball.prototype.doSpring = function () { var _local1 = this.spring_mc; if (Key.isDown(40)) { _local1.bFired = true; var _local3 = _local1._currentframe + 4; if (_local3 > 100) { _local3 = 100; } _local1.gotoAndStop(_local3); } else if (_local1.bFired) { _local1.bFired = false; var _local2 = this.pinball_mc.ball; if ((940 < _local2.y) && (_local2.y < 955)) { var power = (Math.floor(_local1._currentframe / 3) + (Math.random() * 3)); _local2.velocity.y = -power; } _local1.gotoAndPlay("release"); this.playSound("launch"); } }; ClassPinball.prototype.doBalls = function () { var _local2 = this; _local2.clear(_local2.balls_mc); var len = _local2.balls.length; var i = 0; while (i < len) { var _local1 = _local2.balls[i]; var _local3 = _local1.duplicate(); var velocity = _local1.velocity; velocity.addVector(_local2.gravity); if (velocity.length() > 0.0001) { _local1.moveBy(velocity); var list = Obstacles.checkForCollisions(_local3, _local1); Obstacles.resolveCollisions(_local3, _local1, list); Events.checkTriggers(_local3, _local1); if (_local1.y > (_local2.tableSize.height + 20)) { _local2.loseLife(_local1.mc); } } _local1.mc._x = _local1.x; _local1.mc._y = _local1.y; if (pinball_mc.OPT_collision.bShowLines) { _local1.draw(_local2.balls_mc, 255); } if (pinball_mc.OPT_motion.bShowLines) { var trail_mc = _local2.balls_mc.createEmptyMovieClip("trail" + _local2.depth, _local2.depth); _local2.depth++; trail_mc.onEnterFrame = function () { var _local1 = this; if (_local1._alpha < 1) { delete _local1.onEnterFrame; _local1.removeMovieClip(); } _local1._alpha--; }; var trail = new Line(_local3, _local1); trail.draw(trail_mc, 3355443); } i++; } }; ClassPinball.prototype.doPaddles = function () { var _local1 = this; if (Key.isDown(37)) { if (!_local1.bIsKeyDown_LEFT) { _local1.bIsKeyDown_LEFT = true; var paddle = _local1.leftPaddle1; var c0 = paddle.c0; var c1 = paddle.c1; var origin = paddle.origin; var startAngle = paddle.startAngle; var endAngle = paddle.endAngle; paddle.rotate(paddle.angle); paddle.mc._rotation = Math.toDegrees(paddle.angle); var len = _local1.balls.length; var i = 0; while (i < len) { var _local2 = _local1.balls[i]; var minDist = (c0.getVector(c1).length() + c1.radius); var dist = c0.getVector(_local2).length(); if ((dist < minDist) && (_local2.x > c0.x)) { trace("able to hit"); var _local3 = origin.getVector(_local2).getAngle(); var angle2 = (_local3 + (Math.PI*2)); if (((startAngle <= _local3) && (_local3 <= endAngle)) || ((startAngle <= angle2) && (angle2 <= endAngle))) { trace("should colllide here"); BallCollision.resolvePaddle(paddle, _local2); Pinball.playSound("hitball"); } } i++; } var paddle = _local1.leftPaddle2; var c0 = paddle.c0; var c1 = paddle.c1; var origin = paddle.origin; var startAngle = paddle.startAngle; var endAngle = paddle.endAngle; paddle.rotate(paddle.angle); paddle.mc._rotation = Math.toDegrees(paddle.angle); var len = _local1.balls.length; var i = 0; while (i < len) { var _local2 = _local1.balls[i]; var minDist = (c0.getVector(c1).length() + c1.radius); var dist = c0.getVector(_local2).length(); if ((dist < minDist) && (_local2.x > c0.x)) { trace("able to hit"); var _local3 = origin.getVector(_local2).getAngle(); var angle2 = (_local3 + (Math.PI*2)); if (((startAngle <= _local3) && (_local3 <= endAngle)) || ((startAngle <= angle2) && (angle2 <= endAngle))) { trace("should colllide here"); BallCollision.resolvePaddle(paddle, _local2); Pinball.playSound("hitball"); } } i++; } _local1.playSound("paddle_up"); } } else if (_local1.bIsKeyDown_LEFT) { _local1.bIsKeyDown_LEFT = false; _local1.leftPaddle1.rotate(-_local1.leftPaddle1.angle); _local1.leftPaddle1.mc._rotation = 0; _local1.leftPaddle2.rotate(-_local1.leftPaddle2.angle); _local1.leftPaddle2.mc._rotation = 0; _local1.playSound("paddle_down"); } if (Key.isDown(39)) { if (!_local1.bIsKeyDown_RIGHT) { _local1.bIsKeyDown_RIGHT = true; var paddle = _local1.rightPaddle1; var c0 = paddle.c0; var c1 = paddle.c1; var origin = paddle.origin; var startAngle = paddle.startAngle; var endAngle = paddle.endAngle; paddle.rotate(paddle.angle); paddle.mc._rotation = Math.toDegrees(paddle.angle); var len = _local1.balls.length; var i = 0; while (i < len) { var _local2 = _local1.balls[i]; var minDist = (c0.getVector(c1).length() + c1.radius); var dist = c0.getVector(_local2).length(); if ((dist < minDist) && (_local2.x < c0.x)) { var _local3 = origin.getVector(_local2).getAngle(); var angle2 = (_local3 + (Math.PI*2)); if (((startAngle <= _local3) && (_local3 <= endAngle)) || ((startAngle <= angle2) && (angle2 <= endAngle))) { BallCollision.resolvePaddle(paddle, _local2); Pinball.playSound("hitball"); } } i++; } var paddle = _local1.rightPaddle2; var c0 = paddle.c0; var c1 = paddle.c1; var origin = paddle.origin; var startAngle = paddle.startAngle; var endAngle = paddle.endAngle; paddle.rotate(paddle.angle); paddle.mc._rotation = Math.toDegrees(paddle.angle); var len = _local1.balls.length; var i = 0; while (i < len) { var _local2 = _local1.balls[i]; var minDist = (c0.getVector(c1).length() + c1.radius); var dist = c0.getVector(_local2).length(); if ((dist < minDist) && (_local2.x < c0.x)) { var _local3 = origin.getVector(_local2).getAngle(); var angle2 = (_local3 + (Math.PI*2)); if (((startAngle <= _local3) && (_local3 <= endAngle)) || ((startAngle <= angle2) && (angle2 <= endAngle))) { BallCollision.resolvePaddle(paddle, _local2); Pinball.playSound("hitball"); } } i++; } _local1.playSound("paddle_up"); } } else if (_local1.bIsKeyDown_RIGHT) { _local1.bIsKeyDown_RIGHT = false; _local1.rightPaddle1.rotate(-_local1.rightPaddle1.angle); _local1.rightPaddle1.mc._rotation = 0; _local1.rightPaddle2.rotate(-_local1.rightPaddle1.angle); _local1.rightPaddle2.mc._rotation = 0; _local1.playSound("paddle_down"); } Obstacles.clearPaddles(_local1.paddles_mc); }; ClassPinball.prototype.paddleCollisions = function (mypaddle) { var paddle = this[mypaddle + j]; var c0 = paddle.c0; var c1 = paddle.c1; var origin = paddle.origin; var startAngle = paddle.startAngle; var endAngle = paddle.endAngle; paddle.rotate(paddle.angle); paddle.mc._rotation = Math.toDegrees(paddle.angle); var len = this.balls.length; var _local3 = 0; while (_local3 < len) { var _local1 = this.balls[_local3]; var minDist = (c0.getVector(c1).length() + c1.radius); var dist = c0.getVector(_local1).length(); if ((dist < minDist) && (_local1.x > c0.x)) { trace("able to hit"); var _local2 = origin.getVector(_local1).getAngle(); var angle2 = (_local2 + (Math.PI*2)); if (((startAngle <= _local2) && (_local2 <= endAngle)) || ((startAngle <= angle2) && (angle2 <= endAngle))) { trace("should colllide here"); BallCollision.resolvePaddle(paddle, _local1); Pinball.playSound("hitball"); } } _local3++; } }; _global.Pinball = new ClassPinball(); _global.ClassBall = function (x, y, radius, mc) { super(x, y, radius); this.velocity = new Vector(0, 0); this.mc = mc; }; ClassBall.prototype = new Circle(); ClassBall.prototype.draw = function (mc, colour) { var _local1 = this; mc.lineStyle(0, 0, 100); var arc = (Math.PI*2); var segs = Math.ceil(Math.abs(arc) / (Math.PI/4)); var _local3 = arc / segs; var _local2 = 0; var ax = (_local1.x + (Math.cos(_local2) * _local1.radius)); var ay = (_local1.y + (Math.sin(_local2) * _local1.radius)); mc.moveTo(ax, ay); if (segs > 0) { var angleMid; var bx; var by; var cx; var cy; mc.beginFill(colour, 100); var i = 0; while (i < segs) { _local2 = _local2 + _local3; angleMid = _local2 - (_local3 / 2); bx = _local1.x + (Math.cos(_local2) * _local1.radius); by = _local1.y + (Math.sin(_local2) * _local1.radius); cx = _local1.x + (Math.cos(angleMid) * (_local1.radius / Math.cos(_local3 / 2))); cy = _local1.y + (Math.sin(angleMid) * (_local1.radius / Math.cos(_local3 / 2))); mc.curveTo(cx, cy, bx, by); i++; } mc.beginFill(); } }; ClassBall.prototype.toString = function () { var _local1 = this; var _local2 = ((((((((((("[class 'Ball' x: " + (Math.round(_local1.x * 1000) / 1000)) + ", y: ") + (Math.round(_local1.y * 1000) / 1000)) + ", radius: ") + _local1.radius) + ", velocity.x: ") + _local1.velocity.x) + ", velocity.y: ") + _local1.velocity.y) + ", mc: ") + _local1.mc) + "]"; return(_local2); }; ClassBall.prototype.trace = function () { trace(this.toString()); }; ClassBallCollision = function () { }; ClassBallCollision.prototype.checkLine = function (oldBall, newBall, obstacle) { var _local3 = obstacle.getNormal(); var _local1 = obstacle.duplicate(); _local1.moveBy(_local3.multiply(newBall.radius)); var motionLine = new Line(oldBall, newBall); var _local2 = Intersection.getLineLine(_local1, motionLine); return(_local2); }; ClassBallCollision.prototype.resolveLine = function (ball, pointOfImpact, obstacle, force) { var _local1 = obstacle.getNormal(); this.setNewVelocity(ball, obstacle, pointOfImpact, _local1, force); }; ClassBallCollision.prototype.checkOuterCircle = function (oldBall, newBall, obstacle) { var _local2 = obstacle.duplicate().addRadius(newBall.radius); var _local3 = new Line(oldBall, newBall); var _local1 = Intersection.getCircleLine(_local2, _local3); return(_local1); }; ClassBallCollision.prototype.resolveOuterCircle = function (ball, pointOfImpact, obstacle, force) { var _local1 = obstacle.getNormal(pointOfImpact); this.setNewVelocity(ball, obstacle, pointOfImpact, _local1, force); }; ClassBallCollision.prototype.checkInnerCircle = function (oldBall, newBall, obstacle) { var _local2 = obstacle.duplicate().subtractRadius(newBall.radius); var _local3 = new Line(oldBall, newBall); var _local1 = Intersection.getCircleLine(_local2, _local3); return(_local1); }; ClassBallCollision.prototype.resolveInnerCircle = function (ball, pointOfImpact, obstacle, force) { var _local1 = obstacle.getNormal(pointOfImpact).negate(); this.setNewVelocity(ball, obstacle, pointOfImpact, _local1, force); }; ClassBallCollision.prototype.checkOuterArc = function (oldBall, newBall, obstacle) { var _local2 = obstacle.duplicate().addRadius(newBall.radius); var _local3 = new Line(oldBall, newBall); var _local1 = Intersection.getArcLine(_local2, _local3); return(_local1); }; ClassBallCollision.prototype.resolveOuterArc = function (ball, pointOfImpact, obstacle, force) { var _local1 = obstacle.getNormal(pointOfImpact); this.setNewVelocity(ball, obstacle, pointOfImpact, _local1, force); }; ClassBallCollision.prototype.checkInnerArc = function (oldBall, newBall, obstacle) { var _local2 = obstacle.duplicate().subtractRadius(newBall.radius); var _local3 = new Line(oldBall, newBall); var _local1 = Intersection.getArcLine(_local2, _local3); return(_local1); }; ClassBallCollision.prototype.resolveInnerArc = function (ball, pointOfImpact, obstacle, force) { var _local1 = obstacle.getNormal(pointOfImpact).negate(); this.setNewVelocity(ball, obstacle, pointOfImpact, _local1, force); }; ClassBallCollision.prototype.setNewVelocity = function (ball, obstacle, POI, normalVector, force) { ball.moveTo(POI.addVector(normalVector.multiply(0.5))); var _local3 = 0.6; var friction = 0.9; var _local2 = obstacle.getTangent(POI).getAngle(); var _local1 = ball.velocity; _local1.rotate(-_local2); _local1.y = _local1.y * (-_local3); if ((_local1.y * _local1.y) < 1) { _timeline.txt_state.text = "sliding"; _local1.y = _local1.y * 0; _local1.x = _local1.x * 1; } else { _timeline.txt_state.text = "in motion"; _local1.x = _local1.x * friction; } _local1.rotate(_local2); var forceVector = normalVector.Multiply(force); _local1.addVector(forceVector); this.resolveBallSpeed(_local1); }; ClassBallCollision.prototype.resolvePaddle = function (paddle, ball) { var _local1 = ball; var POI; var midpoint; var t0; var t1; var _local2 = _local1.velocity; var _local3 = paddle.c0; var c1 = paddle.c1; var intersecting_line = new Line(new Point(_local3.x, _local3.y - _local3.radius), new Point(_local1.x, _local1.y + _local1.radius)); intersecting_line.scale(1000); POI = Intersection.getCircleLine(_local3, intersecting_line); midpoint = POI[0].getMidPoint(POI[1]); t0 = _local3.addVector(_local3.getVector(midpoint).normalise().multiply(_local3.radius)); POI = Intersection.getCircleLine(_local1, intersecting_line); midpoint = POI[0].getMidPoint(POI[1]); t1 = _local1.addVector(_local1.getVector(midpoint).normalise().multiply(_local1.radius)); var tangent = new Line(t0, t1); var angleOfTangent = tangent.getAngle(); var lengthOfTangent = tangent.length(); _local2.rotate(-angleOfTangent); _local2.y = _local2.y * -2; _local2.rotate(angleOfTangent); _local2.y = -Math.abs(_local2.y); _local2.y = _local2.y - lengthOfTangent; _local2.x = _local2.x * 2.7; this.resolveBallSpeed(_local2); var lineOfMotion = new Line(_local1, _local1.addVector(_local2)); lineOfMotion.scale(1000); var POI = Intersection.getLineLine(lineOfMotion, paddle.maxLine); _local1.moveTo(POI[0].moveBy(paddle.maxLine.getNormal())); }; ClassBallCollision.prototype.resolveBallSpeed = function (velocity) { var _local2 = velocity.length(); var _local1 = 30; if (_local2 > _local1) { velocity.normalise().multiply(_local1); } }; _global.BallCollision = new ClassBallCollision(); ClassObstacles = function () { var _local1 = this; _local1.lines = []; _local1.outerCircles = []; _local1.innerCircles = []; _local1.outerArcs = []; _local1.innerArcs = []; _local1.paddles = []; }; ClassObstacles.prototype.clearAll = function () { var _local1 = this; _local1.lines = []; _local1.outerCircles = []; _local1.innerCircles = []; _local1.outerArcs = []; _local1.innerArcs = []; _local1.paddles = []; }; ClassObstacles.prototype.clearLine = function (id) { this.lines[id] = null; }; ClassObstacles.prototype.clearOuterCircles = function (id) { this.outerCircles[id] = null; }; ClassObstacles.prototype.clearInnerCircles = function (id) { this.innerCircles[id] = null; }; ClassObstacles.prototype.clearOuterArcs = function (id) { this.outerArcs[id] = null; }; ClassObstacles.prototype.clearIinnerArcs = function (id) { this.innerArcs[id] = null; }; ClassObstacles.prototype.addLine = function (p0, p1, force, mc, bound) { var _local1 = p1; var _local2 = p0; var line = new Line(_local2, _local1); var min = _local2.min(_local1); var max = _local2.max(_local1); this.lines.push({line:line, force:force, mc:mc, bound:bound, min:min, max:max}); return(this.lines.length - 1); }; ClassObstacles.prototype.drawLines = function (mc, ballRadius) { var len = this.lines.length; var _local2 = 0; while (_local2 < len) { var _local1 = this.lines[_local2].line; _local1.draw(mc, 16711680); var normalVector = _local1.getNormal(); var _local3 = _local1.duplicate(); _local3.moveBy(normalVector.multiply(ballRadius)); _local3.draw(mc, 13421772); _local2++; } }; ClassObstacles.prototype.addOuterCircle = function (x, y, radius, force, mc, bound) { var _local1 = radius; var _local2 = y; var _local3 = x; var circle = new Circle(_local3, _local2, _local1); var min = new Point(_local3 - _local1, _local2 - _local1); var max = new Point(_local3 + _local1, _local2 + _local1); this.outerCircles.push({circle:circle, force:force, mc:mc, bound:bound, min:min, max:max}); return(this.outerCircles.length - 1); }; ClassObstacles.prototype.drawOuterCircles = function (mc, ballRadius) { var len = this.outerCircles.length; var _local1 = 0; while (_local1 < len) { var _local2 = this.outerCircles[_local1].circle; _local2.draw(mc, 16711935); var _local3 = _local2.duplicate().addRadius(ballRadius); _local3.draw(mc, 13421772); _local1++; } }; ClassObstacles.prototype.addInnerCircle = function (x, y, radius, force, mc, bound) { var _local1 = radius; var _local2 = y; var _local3 = x; var circle = new Circle(_local3, _local2, _local1); var min = new Point(_local3 - _local1, _local2 - _local1); var max = new Point(_local3 + _local1, _local2 + _local1); this.innerCircles.push({circle:circle, force:force, mc:mc, bound:bound, min:min, max:max}); return(this.innerCircles.length - 1); }; ClassObstacles.prototype.drawInnerCircles = function (mc, ballRadius) { var len = this.innerCircles.length; var _local1 = 0; while (_local1 < len) { var _local2 = this.innerCircles[_local1].circle; _local2.draw(mc, 16711680); var _local3 = _local2.duplicate().subtractRadius(ballRadius); _local3.draw(mc, 13421772); _local1++; } }; ClassObstacles.prototype.addOuterArc = function (x, y, radius, startAngle, endAngle, force, mc, bound) { var _local1 = radius; var _local2 = y; var _local3 = x; var arc = new Arc(_local3, _local2, _local1, startAngle, endAngle); var min = new Point(_local3 - _local1, _local2 - _local1); var max = new Point(_local3 + _local1, _local2 + _local1); this.outerArcs.push({arc:arc, force:force, mc:mc, bound:bound, min:min, max:max}); return(this.outerArcs.length - 1); }; ClassObstacles.prototype.drawOuterArcs = function (mc, ballRadius) { var len = this.outerArcs.length; var _local1 = 0; while (_local1 < len) { var _local2 = this.outerArcs[_local1].arc; _local2.draw(mc, 65280); var _local3 = _local2.duplicate().addRadius(ballRadius); _local3.draw(mc, 13421772); _local1++; } }; ClassObstacles.prototype.addInnerArc = function (x, y, radius, startAngle, endAngle, force, mc, bound) { var _local1 = radius; var _local2 = y; var _local3 = x; var arc = new Arc(_local3, _local2, _local1, startAngle, endAngle); var min = new Point(_local3 - _local1, _local2 - _local1); var max = new Point(_local3 + _local1, _local2 + _local1); this.innerArcs.push({arc:arc, force:force, mc:mc, bound:bound, min:min, max:max}); return(this.innerArcs.length - 1); }; ClassObstacles.prototype.drawInnerArcs = function (mc, ballRadius) { var len = this.innerArcs.length; var _local1 = 0; while (_local1 < len) { var _local2 = this.innerArcs[_local1].arc; _local2.draw(mc, 255); var _local3 = _local2.duplicate().subtractRadius(ballRadius); _local3.draw(mc, 13421772); _local1++; } }; ClassObstacles.prototype.addPaddle = function (c0, c1, angle, mc, bound) { var paddle = new ClassPaddle(c0, c1, angle, mc); this.paddles.push({paddle:paddle, mc:mc, bound:bound}); return(this.paddles.length - 1); }; ClassObstacles.prototype.drawPaddles = function (mc, ballRadius) { var _local3 = this.paddles.length; var _local1 = 0; while (_local1 < _local3) { var _local2 = this.paddles[_local1].paddle; _local2.draw(mc, 16711935, ballRadius); _local1++; } }; ClassObstacles.prototype.clearPaddles = function (mc) { mc.clear(); }; ClassObstacles.prototype.drawCollisionLines = function (mc, ballRadius) { var _local1 = mc; var _local2 = ballRadius; var _local3 = this; _local3.drawPaddles(_local1, _local2); _local3.drawLines(_local1, _local2); _local3.drawOuterCircles(_local1, _local2); _local3.drawInnerCircles(_local1, _local2); _local3.drawOuterArcs(_local1, _local2); _local3.drawInnerArcs(_local1, _local2); }; ClassObstacles.prototype.clearCollisionLines = function (mc) { mc.clear(); }; ClassObstacles.prototype.checkForCollisions = function (oldBall, newBall) { var len; var _local3; var _local1; var obstacle; var force; var mc; var pointOfImpact; var _local2; var list = []; var bound = Math.ceil(newBall.y / _global.splitrange); var offset = (newBall.radius + 2); var ball_min = oldBall.min(newBall); ball_min.x = ball_min.x - offset; ball_min.y = ball_min.y - offset; var ball_max = oldBall.max(newBall); ball_max.x = ball_max.x + offset; ball_max.y = ball_max.y + offset; len = this.lines.length; _local3 = 0; while (_local3 < len) { var line = this.lines[_local3]; if ((line.bound == bound) || (line.bound == -1)) { if (this.checkBoundingBox(ball_min, ball_max, line.min, line.max)) { obstacle = line.line; force = line.force; mc = line.mc; pointOfImpact = BallCollision.checkLine(oldBall, newBall, obstacle); _local1 = 0; while (_local1 < pointOfImpact.length) { _local2 = pointOfImpact[_local1]; list.push({pointOfImpact:_local2, obstacle:obstacle, force:force, mc:mc, type:0}); _local1++; } } } _local3++; } len = this.outerCircles.length; _local3 = 0; while (_local3 < len) { var outerCircle = this.outerCircles[_local3]; if ((outerCircle.bound == bound) || (outerCircle.bound == -1)) { if (this.checkBoundingBox(ball_min, ball_max, outerCircle.min, outerCircle.max)) { obstacle = outerCircle.circle; force = outerCircle.force; mc = outerCircle.mc; pointOfImpact = BallCollision.checkOuterCircle(oldBall, newBall, obstacle); _local1 = 0; while (_local1 < pointOfImpact.length) { _local2 = pointOfImpact[_local1]; list.push({pointOfImpact:_local2, obstacle:obstacle, force:force, mc:mc, type:1}); _local1++; } } } _local3++; } len = this.innerCircles.length; _local3 = 0; while (_local3 < len) { var innerCircle = this.innerCircles[_local3]; if ((innerCircle.bound == bound) || (innerCircle.bound == -1)) { if (this.checkBoundingBox(ball_min, ball_max, innerCircle.min, innerCircle.max)) { obstacle = innerCircle.circle; force = innerCircle.force; mc = innerCircle.mc; pointOfImpact = BallCollision.checkInnerCircle(oldBall, newBall, obstacle); _local1 = 0; while (_local1 < pointOfImpact.length) { _local2 = pointOfImpact[_local1]; list.push({pointOfImpact:_local2, obstacle:obstacle, force:force, mc:mc, type:2}); _local1++; } } } _local3++; } len = this.outerArcs.length; _local3 = 0; while (_local3 < len) { var outerArc = this.outerArcs[_local3]; if ((outerArc.bound == bound) || (outerArc.bound == -1)) { if (this.checkBoundingBox(ball_min, ball_max, outerArc.min, outerArc.max)) { obstacle = outerArc.arc; force = outerArc.force; mc = outerArc.mc; pointOfImpact = BallCollision.checkOuterArc(oldBall, newBall, obstacle); _local1 = 0; while (_local1 < pointOfImpact.length) { _local2 = pointOfImpact[_local1]; _local2 = pointOfImpact[_local1]; list.push({pointOfImpact:_local2, obstacle:obstacle, force:force, mc:mc, type:3}); _local1++; } } } _local3++; } len = this.innerArcs.length; _local3 = 0; while (_local3 < len) { var innerArc = this.innerArcs[_local3]; if ((innerArc.bound == bound) || (innerArc.bound == -1)) { if (this.checkBoundingBox(ball_min, ball_max, innerArc.min, innerArc.max)) { obstacle = innerArc.arc; force = innerArc.force; mc = innerArc.mc; pointOfImpact = BallCollision.checkInnerArc(oldBall, newBall, obstacle); _local1 = 0; while (_local1 < pointOfImpact.length) { _local2 = pointOfImpact[_local1]; list.push({pointOfImpact:_local2, obstacle:obstacle, force:force, mc:mc, type:4}); _local1++; } } } _local3++; } if (bound == 3) { len = 2; _local3 = 0; while (_local3 < len) { obstacle = this.paddles[_local3].paddle; force = 0; mc = this.paddles[_local3].mc; var impact_c0 = BallCollision.checkOuterCircle(oldBall, newBall, obstacle.c0); var impact_c1 = BallCollision.checkOuterCircle(oldBall, newBall, obstacle.c1); var impact_t0 = BallCollision.checkLine(oldBall, newBall, obstacle.t0); var impact_t1 = BallCollision.checkLine(oldBall, newBall, obstacle.t1); _local1 = 0; while (_local1 < impact_c0.length) { _local2 = impact_c0[_local1]; list.push({pointOfImpact:_local2, obstacle:obstacle.c0, force:force, mc:mc, type:1}); _local1++; } _local1 = 0; while (_local1 < impact_c1.length) { _local2 = impact_c1[_local1]; list.push({pointOfImpact:_local2, obstacle:obstacle.c1, force:force, mc:mc, type:1}); _local1++; } _local1 = 0; while (_local1 < impact_t0.length) { _local2 = impact_t0[_local1]; list.push({pointOfImpact:_local2, obstacle:obstacle.t0, force:force, mc:mc, type:0}); _local1++; } _local1 = 0; while (_local1 < impact_t1.length) { _local2 = impact_t1[_local1]; list.push({pointOfImpact:_local2, obstacle:obstacle.t1, force:force, mc:mc, type:0}); _local1++; } _local3++; } } if (bound == 2) { len = 4; _local3 = 2; while (_local3 < len) { obstacle = this.paddles[_local3].paddle; force = 0; mc = this.paddles[_local3].mc; var impact_c0 = BallCollision.checkOuterCircle(oldBall, newBall, obstacle.c0); var impact_c1 = BallCollision.checkOuterCircle(oldBall, newBall, obstacle.c1); var impact_t0 = BallCollision.checkLine(oldBall, newBall, obstacle.t0); var impact_t1 = BallCollision.checkLine(oldBall, newBall, obstacle.t1); _local1 = 0; while (_local1 < impact_c0.length) { _local2 = impact_c0[_local1]; list.push({pointOfImpact:_local2, obstacle:obstacle.c0, force:force, mc:mc, type:1}); _local1++; } _local1 = 0; while (_local1 < impact_c1.length) { _local2 = impact_c1[_local1]; list.push({pointOfImpact:_local2, obstacle:obstacle.c1, force:force, mc:mc, type:1}); _local1++; } _local1 = 0; while (_local1 < impact_t0.length) { _local2 = impact_t0[_local1]; list.push({pointOfImpact:_local2, obstacle:obstacle.t0, force:force, mc:mc, type:0}); _local1++; } _local1 = 0; while (_local1 < impact_t1.length) { _local2 = impact_t1[_local1]; list.push({pointOfImpact:_local2, obstacle:obstacle.t1, force:force, mc:mc, type:0}); _local1++; } _local3++; } } return(list); }; ClassObstacles.prototype.resolveCollisions = function (oldBall, newBall, list) { var len = list.length; if (len > 0) { var _local2 = list[0]; var closestDist = oldBall.getVector(_local2.pointOfImpact).length(); var _local1 = 1; while (_local1 < len) { var _local3 = list[_local1]; var dist = oldBall.getVector(_local3.pointOfImpact).length(); if (dist < closestDist) { closestDist = dist; _local2 = _local3; } _local1++; } _local2.mc.gotoAndPlay("hit"); var score = (_local2.force * 200); switch (_local2.force) { case 13.5 : Pinball.playSound("bouncers"); break; case 12 : Pinball.playSound("bumpers"); break; case 10 : Pinball.playSound("mini_bouncers"); Pinball.playSound("ping"); break; case 5 : Pinball.playSound("mini_bouncers"); } if (score > 0) { Pinball.addScore(score); } switch (_local2.type) { case 0 : BallCollision.resolveLine(newBall, _local2.pointOfImpact, _local2.obstacle, _local2.force); return; case 1 : BallCollision.resolveOuterCircle(newBall, _local2.pointOfImpact, _local2.obstacle, _local2.force); return; case 2 : BallCollision.resolveInnerCircle(newBall, _local2.pointOfImpact, _local2.obstacle, _local2.force); return; case 3 : BallCollision.resolveOuterArc(newBall, _local2.pointOfImpact, _local2.obstacle, _local2.force); return; case 4 : BallCollision.resolveInnerArc(newBall, _local2.pointOfImpact, _local2.obstacle, _local2.force); } } }; ClassObstacles.prototype.checkBoundingBox = function (min1, max1, min2, max2) { if (max1.x < min2.x) { return(false); } if (min1.x > max2.x) { return(false); } if (max1.y < min2.y) { return(false); } if (min1.y > max2.y) { return(false); } return(true); }; _global.Obstacles = new ClassObstacles(); _global.ClassPaddle = function (c0, c1, angle, mc) { var _local1 = this; _local1.c0 = c0; _local1.c1 = c1; _local1.angle = angle; _local1.mc = mc; if (_local1.c0.x < _local1.c1.x) { _local1.t0 = _local1.c1.getTangentOfTwoCircles(_local1.c0); _local1.t1 = _local1.c0.getTangentOfTwoCircles(_local1.c1); _local1.init("left"); } else { _local1.t0 = _local1.c0.getTangentOfTwoCircles(_local1.c1); _local1.t1 = _local1.c1.getTangentOfTwoCircles(_local1.c0); _local1.init("right"); } _local1.mc._x = _local1.c0.x; _local1.mc._y = _local1.c0.y; }; ClassPaddle.prototype.init = function (type) { var _local1 = this; var _local2 = Pinball.ballRadius; _local1.minLine = _local1.t1.duplicate().scale(1000); _local1.minLine.moveBy(_local1.minLine.getNormal().multiply(_local2)); var tangent1 = _local1.t1.duplicate().moveBy(_local1.t1.getNormal().multiply(_local2)); var vect1 = tangent1.getVector().normalise().multiply(tangent1.length() + c1.radius); var p1 = tangent1.p0.duplicate().moveBy(vect1); _local1.rotate(_local1.angle); _local1.maxLine = _local1.t0.duplicate().scale(1000); _local1.maxLine.moveBy(_local1.maxLine.getNormal().multiply(_local2)); var _local3 = _local1.t0.duplicate().moveBy(_local1.t0.getNormal().multiply(_local2)); var vect0 = _local3.getVector().normalise().multiply(_local3.length() + c1.radius); var p0 = _local3.p1.duplicate().moveBy(vect0.negate()); _local1.rotate(-_local1.angle); _local1.origin = Intersection.getLineLine(_local1.maxLine, _local1.minLine)[0]; if (type == "left") { _local1.startAngle = _local1.origin.getVector(p0).getAngle(); _local1.endAngle = _local1.origin.getVector(p1).getAngle(); } else if (type == "right") { _local1.startAngle = _local1.origin.getVector(p1).getAngle(); _local1.endAngle = _local1.origin.getVector(p0).getAngle(); } if (_local1.startAngle > _local1.endAngle) { _local1.endAngle = _local1.endAngle + (Math.PI*2); } _local1.mc._rotation = 0; }; ClassPaddle.prototype.rotate = function (a) { var _local1 = this; _local1.c1.rotateAbout(_local1.c0, a); if (_local1.c0.x < _local1.c1.x) { _local1.t0 = _local1.c1.getTangentOfTwoCircles(_local1.c0); _local1.t1 = _local1.c0.getTangentOfTwoCircles(_local1.c1); } else { _local1.t0 = _local1.c0.getTangentOfTwoCircles(_local1.c1); _local1.t1 = _local1.c1.getTangentOfTwoCircles(_local1.c0); } }; ClassPaddle.prototype.draw = function (mc, colour, ballRadius) { var _local1 = this; var _local2 = mc; var _local3 = ballRadius; _local2.lineStyle(0, colour, 100); _local1.c0.draw(_local2, colour); _local1.c1.draw(_local2, colour); _local1.t0.draw(_local2, 16711680); _local1.t1.draw(_local2, 255); _local1.c0.duplicate().addRadius(_local3).draw(_local2, 13421772); _local1.c1.duplicate().addRadius(_local3).draw(_local2, 13421772); _local1.t0.duplicate().moveBy(_local1.t0.getNormal().multiply(_local3)).draw(_local2, 13421772); _local1.t1.duplicate().moveBy(_local1.t1.getNormal().multiply(_local3)).draw(_local2, 13421772); }; ClassPaddle.prototype.toString = function () { var _local1 = this; var _local2 = ((((((((("[class 'Paddle' c0: " + _local1.c0.toString()) + ", c1: ") + _local1.c1.toString()) + ", angle: ") + Math.toDegrees(_local1.angle)) + ", startAngle: ") + Math.toDegrees(_local1.startAngle)) + ", endAngle: ") + Math.toDegrees(_local1.endAngle)) + "]"; return(_local2); }; ClassPaddle.prototype.trace = function () { trace(this.toString()); }; ClassEvents = function () { this.lineTriggers = []; this.circleTriggers = []; }; ClassEvents.prototype.addLineTrigger = function (p0, p1, event, mc) { var _local2 = this; var _local3 = p1; var shape = new Line(p0, _local3); var min = p0.min(_local3); var max = p0.max(_local3); var _local1 = {mc:mc, shape:shape, event:event, min:min, max:max}; _local1.trace = function () { trace((this.shape + ", ") + this.event); }; _local2.lineTriggers.push(_local1); }; ClassEvents.prototype.addCircleTrigger = function (x, y, radius, event, mc, switchmc, scr) { var _local2 = radius; var _local3 = this; var shape = new Circle(x, y, _local2); var min = new Point(x - _local2, y - _local2); var max = new Point(x + _local2, y + _local2); var _local1 = {mc:mc, shape:shape, score:scr, event:event, min:min, max:max}; if (switchmc != null) { _local1.switchmc = switchmc; _local1.switchmc.gotoAndStop(1); } _local1.mc.gotoAndStop(1); _local1.trace = function () { trace((this.shape + ", ") + this.event); }; _local3.circleTriggers.push(_local1); }; ClassEvents.prototype.checkLineTrigger = function (oldBall, newBall, trigger) { var _local2 = trigger.shape; var _local3 = new Line(oldBall, newBall); var _local1 = Intersection.getLineLine(_local2, _local3); if (_local1.length > 0) { return(trigger); } return(null); }; ClassEvents.prototype.checkCircleTrigger = function (oldBall, newBall, trigger) { var _local2 = trigger.shape; var _local3 = new Line(oldBall, newBall); var _local1 = Intersection.getCircleLine(_local2, _local3); if (_local1.length > 0) { return(trigger); } return(null); }; ClassEvents.prototype.checkTriggers = function (oldBall, newBall) { var _local3; var len; var _local1; var _local2; var event; var offset = (newBall.radius + 2); var ball_min = oldBall.min(newBall); ball_min.x = ball_min.x - offset; ball_min.y = ball_min.y - offset; var ball_max = oldBall.max(newBall); ball_max.x = ball_max.x + offset; ball_max.y = ball_max.y + offset; len = this.lineTriggers.length; _local3 = 0; while (_local3 < len) { _local1 = this.lineTriggers[_local3]; if (Obstacles.checkBoundingBox(ball_min, ball_max, _local1.min, _local1.max)) { _local2 = this.checkLineTrigger(oldBall, newBall, _local1); if (_local2 != null) { this[_local2.event](_local2); } } _local3++; } len = this.circleTriggers.length; _local3 = 0; while (_local3 < len) { _local1 = this.circleTriggers[_local3]; if (Obstacles.checkBoundingBox(ball_min, ball_max, _local1.min, _local1.max)) { _local2 = this.checkCircleTrigger(oldBall, newBall, _local1); if (_local2 != null) { this[_local2.event](_local2); } } _local3++; } }; ClassEvents.prototype.clearTriggers = function () { this.lineTriggers = []; this.circleTriggers = []; }; ClassEvents.prototype.springBlocker = function (triggerObj) { if (!Pinball.pinball_mc[triggerObj.mc]._visible) { Obstacles.addLine(new Point(347, 737), new Point(325, 758), 0, null, -1); Pinball.playSound("gate"); Pinball.pinball_mc[triggerObj.mc]._visible = true; _level0.keydown.gotoAndStop("idle"); } }; ClassEvents.prototype.startBlocker = function () { if (Pinball.pinball_mc.blocker_2._visible) { Obstacles.clearLine(Pinball.pinball_mc.blocker_2.id); Pinball.pinball_mc.blocker_2._visible = false; Obstacles.addLine(new Point(260.5, 30.9), new Point(238.2, 63.7), 0, null, 0); Obstacles.addLine(new Point(246.2, 63.7), new Point(268.5, 30.9), 0, null, 0); Pinball.pinball_mc.blocker_3._visible = true; } }; ClassEvents.prototype.holeTop = function (triggerObj) { var _local1 = this; Pinball.gravity.x = 0; Pinball.gravity.y = 0; _timeline.Jake.gotoAndPlay("jump"); Pinball.pinball_mc.dragoneyes.gotoAndPlay("hit"); var _local2 = Pinball.pinball_mc[triggerObj.mc]; var x = _local2._x; var _local3 = _local2._y; if (_local2._currentframe == 1) { _local2.gotoAndPlay("in"); } if (Math.floor(Math.random() * 2) < 1) { destHole = Pinball.pinball_mc.hole3; if (Pinball.pinball_mc.blocker_4._visible) { Obstacles.clearLine(Pinball.pinball_mc.blocker_4.id); Pinball.pinball_mc.blocker_4._visible = false; } } else { destHole = Pinball.pinball_mc.hole4; if (Pinball.pinball_mc.blocker_5._visible) { Obstacles.clearLine(Pinball.pinball_mc.blocker_5.id); Pinball.pinball_mc.blocker_5._visible = false; } } var ball = Pinball.pinball_mc.ball; ball.x = x; ball.y = _local3; ball.velocity.x = 0; ball.velocity.y = 0; var ball_mc = ball.mc; ball_mc._visible = false; ball_mc.destHole = destHole; ball_mc.ball = ball; ball_mc.delay = 15; ball_mc.onEnterFrame = function () { var _local1 = this; _local1.delay--; if (_local1.delay < 1) { delete _local1.onEnterFrame; destHole.gotoAndPlay("out"); ball.x = destHole._x; ball.y = destHole._y; ball_mc.delay = 10; _local1.onEnterFrame = function () { var _local1 = this; _local1.delay--; if (_local1.delay < 1) { delete _local1.onEnterFrame; _local1._visible = true; Pinball.gravity.x = 0; Pinball.gravity.y = 0.7; } }; } }; Pinball.addScore(100000); Pinball.playSound("dragon"); }; ClassEvents.prototype.holeLeft = function () { var _local1 = this; Pinball.gravity.x = 0; Pinball.gravity.y = 0; var _local2 = Pinball.pinball_mc.hole5; var x = _local2._x; var _local3 = _local2._y; if (_local2._currentframe == 1) { _local2.gotoAndPlay("in"); } destHole = Pinball.pinball_mc.hole3; if (!Pinball.pinball_mc.blocker_4._visible) { var line = new Line(new Point(47, 531), new Point(14.7, 516.5)); Obstacles.lines[Pinball.pinball_mc.blocker_4.id] = {line:line, force:0, mc:null, bound:1}; Pinball.pinball_mc.blocker_4._visible = true; } var ball = Pinball.pinball_mc.ball; ball.x = x; ball.y = _local3; ball.velocity.x = 0; ball.velocity.y = 0; var ball_mc = ball.mc; ball_mc._visible = false; ball_mc.destHole = destHole; ball_mc.ball = ball; ball_mc.delay = 15; ball_mc.onEnterFrame = function () { var _local1 = this; _local1.delay--; if (_local1.delay < 1) { delete _local1.onEnterFrame; destHole.gotoAndPlay("out"); ball.x = destHole._x; ball.y = destHole._y; ball_mc.delay = 10; _local1.onEnterFrame = function () { var _local1 = this; _local1.delay--; if (_local1.delay < 1) { delete _local1.onEnterFrame; _local1._visible = true; Pinball.gravity.x = 0; Pinball.gravity.y = 0.7; } }; } }; Pinball.playSound("teleport"); }; ClassEvents.prototype.holeRight = function () { var _local1 = this; Pinball.gravity.x = 0; Pinball.gravity.y = 0; var _local2 = Pinball.pinball_mc.hole6; var x = _local2._x; var _local3 = _local2._y; if (_local2._currentframe == 1) { _local2.gotoAndPlay("in"); } destHole = Pinball.pinball_mc.hole4; if (!Pinball.pinball_mc.blocker_5._visible) { var line = new Line(new Point(310.9, 516.4), new Point(278.5, 531)); Obstacles.lines[Pinball.pinball_mc.blocker_5.id] = {line:line, force:0, mc:null, bound:1}; Pinball.pinball_mc.blocker_5._visible = true; } var ball = Pinball.pinball_mc.ball; ball.x = x; ball.y = _local3; ball.velocity.x = 0; ball.velocity.y = 0; var ball_mc = ball.mc; ball_mc._visible = false; ball_mc.destHole = destHole; ball_mc.ball = ball; ball_mc.delay = 15; ball_mc.onEnterFrame = function () { var _local1 = this; _local1.delay--; if (_local1.delay < 1) { delete _local1.onEnterFrame; destHole.gotoAndPlay("out"); ball.x = destHole._x; ball.y = destHole._y; ball_mc.delay = 10; _local1.onEnterFrame = function () { var _local1 = this; _local1.delay--; if (_local1.delay < 1) { delete _local1.onEnterFrame; _local1._visible = true; Pinball.gravity.x = 0; Pinball.gravity.y = 0.7; } }; } }; Pinball.playSound("teleport"); }; ClassEvents.prototype.holeHold = function () { var _local3 = this; var building = Pinball.pinball_mc.building; if (building._currentframe == 1) { building.gotoAndPlay("hit"); Pinball.gravity.x = 0; Pinball.gravity.y = 0; var _local2 = Pinball.pinball_mc.hole2; var x = (_local2._x - 1); var y = (_local2._y - 1); var ball = Pinball.pinball_mc.ball; ball.x = x; ball.y = y; ball.velocity.x = 0; ball.velocity.y = 0; var _local1 = ball.mc; _local1.ball = ball; _local1.delay = 50; _local1.building = building; _local1.bHold = true; _local1.onEnterFrame = function () { var _local1 = this; _local1.delay--; if (_local1.delay < 1) { delete _local1.onEnterFrame; building.gotoAndPlay("hit"); _local1.bHold = false; Pinball.gravity.x = 0; Pinball.gravity.y = 0.7; ball.velocity.x = 20; ball.velocity.y = 0; var _local2 = Math.toRadians(90 + Math.floor(Math.random() * 50)); ball.velocity.rotate(_local2); Pinball.playSound("fire"); } Pinball.addScore(200); }; Pinball.playSound("hold"); } }; ClassEvents.prototype.leftPillarLight = function () { var _local2 = this; var _local1 = Pinball.pinball_mc.light1; if (_local1._currentframe == 1) { _local1.gotoAndPlay("hit"); _local1.delay = 300; _local1.onEnterFrame = function () { var _local1 = this; _local1.delay--; if (_local1.delay < 1) { delete _local1.onEnterFrame; _local1.gotoAndStop(1); } }; Pinball.addScore(10000); Pinball.playSound("lights"); } }; ClassEvents.prototype.rightPillarLight = function () { var _local2 = this; var _local1 = Pinball.pinball_mc.light2; if (_local1._currentframe == 1) { _local1.gotoAndPlay("hit"); _local1.delay = 300; _local1.onEnterFrame = function () { var _local1 = this; _local1.delay--; if (_local1.delay < 1) { delete _local1.onEnterFrame; _local1.gotoAndStop(1); } }; Pinball.addScore(10000); Pinball.playSound("lights"); } }; ClassEvents.prototype.timerLight0 = function () { var _local3 = Pinball.pinball_mc; var light = _local3.timerLight0; if (light._currentframe == 1) { light.gotoAndPlay("hit"); var bResult = true; var _local1 = 0; while (_local1 < 5) { var _local2 = _local3["timerLight" + _local1]; if (_local2._currentframe == 1) { bResult = false; break; } _local1++; } if (bResult) { trace("BONUS"); _local1 = 0; while (_local1 < 5) { var _local2 = _local3["timerLight" + _local1]; _local2.gotoAndPlay("bonusFlash"); _local1++; } Pinball.addScore(100000); } else { light.delay = 400; light.onEnterFrame = function () { var _local1 = this; _local1.delay--; if (_local1.delay < 1) { delete _local1.onEnterFrame; _local1.gotoAndStop(1); } }; } Pinball.addScore(5000); Pinball.playSound("lights"); } }; ClassEvents.prototype.timerLight1 = function () { var _local3 = Pinball.pinball_mc; var light = _local3.timerLight1; if (light._currentframe == 1) { light.gotoAndPlay("hit"); var bResult = true; var _local1 = 0; while (_local1 < 5) { var _local2 = _local3["timerLight" + _local1]; if (_local2._currentframe == 1) { bResult = false; break; } _local1++; } if (bResult) { trace("BONUS"); _local1 = 0; while (_local1 < 5) { var _local2 = _local3["timerLight" + _local1]; _local2.gotoAndPlay("bonusFlash"); _local1++; } Pinball.addScore(100000); } else { light.delay = 400; light.onEnterFrame = function () { var _local1 = this; _local1.delay--; if (_local1.delay < 1) { delete _local1.onEnterFrame; _local1.gotoAndStop(1); } }; } Pinball.addScore(5000); Pinball.playSound("lights"); } }; ClassEvents.prototype.timerLight2 = function () { var _local3 = Pinball.pinball_mc; var light = _local3.timerLight2; if (light._currentframe == 1) { light.gotoAndPlay("hit"); var bResult = true; var _local1 = 0; while (_local1 < 5) { var _local2 = _local3["timerLight" + _local1]; if (_local2._currentframe == 1) { bResult = false; break; } _local1++; } if (bResult) { trace("BONUS"); _local1 = 0; while (_local1 < 5) { var _local2 = _local3["timerLight" + _local1]; _local2.gotoAndPlay("bonusFlash"); _local1++; } Pinball.addScore(100000); } else { light.delay = 400; light.onEnterFrame = function () { var _local1 = this; _local1.delay--; if (_local1.delay < 1) { delete _local1.onEnterFrame; _local1.gotoAndStop(1); } }; } Pinball.addScore(5000); Pinball.playSound("lights"); } }; ClassEvents.prototype.timerLight3 = function () { var _local3 = Pinball.pinball_mc; var light = _local3.timerLight3; if (light._currentframe == 1) { light.gotoAndPlay("hit"); var bResult = true; var _local1 = 0; while (_local1 < 5) { var _local2 = _local3["timerLight" + _local1]; if (_local2._currentframe == 1) { bResult = false; break; } _local1++; } if (bResult) { trace("BONUS"); _local1 = 0; while (_local1 < 5) { var _local2 = _local3["timerLight" + _local1]; _local2.gotoAndPlay("bonusFlash"); _local1++; } Pinball.addScore(100000); } else { light.delay = 400; light.onEnterFrame = function () { var _local1 = this; _local1.delay--; if (_local1.delay < 1) { delete _local1.onEnterFrame; _local1.gotoAndStop(1); } }; } Pinball.addScore(5000); Pinball.playSound("lights"); } }; ClassEvents.prototype.timerLight4 = function () { var _local3 = Pinball.pinball_mc; var light = _local3.timerLight4; if (light._currentframe == 1) { light.gotoAndPlay("hit"); var bResult = true; var _local1 = 0; while (_local1 < 5) { var _local2 = _local3["timerLight" + _local1]; if (_local2._currentframe == 1) { bResult = false; break; } _local1++; } if (bResult) { trace("BONUS"); _local1 = 0; while (_local1 < 5) { var _local2 = _local3["timerLight" + _local1]; _local2.gotoAndPlay("bonusFlash"); _local1++; } Pinball.addScore(100000); } else { light.delay = 400; light.onEnterFrame = function () { var _local1 = this; _local1.delay--; if (_local1.delay < 1) { delete _local1.onEnterFrame; _local1.gotoAndStop(1); } }; } Pinball.addScore(5000); Pinball.playSound("lights"); } }; ClassEvents.prototype.light = function (triggerObj) { var _local2 = this; var _local3 = Pinball.pinball_mc; var _local1 = _local3[triggerObj.mc]; if (_local1._currentframe == 1) { _local1.gotoAndPlay("hit"); _local1.delay = 120; trace("hit"); _local1.onEnterFrame = function () { var _local1 = this; _local1.delay--; if (_local1.delay < 1) { delete _local1.onEnterFrame; _local1.gotoAndStop(1); } }; Pinball.addScore(triggerObj.score); Pinball.playSound("lights"); } }; ClassEvents.prototype.lightswitch = function (triggerObj) { var _local2 = this; var _local3 = triggerObj; var pinball_mc = Pinball.pinball_mc; var light = pinball_mc[_local3.mc]; var _local1 = pinball_mc[_local3.switchmc]; _local1.light = light; if (_local1._currentframe == 1) { _local1.gotoAndPlay("hit"); light.gotoAndPlay("hit"); _local1.delay = 200; trace("lightswitch!!"); var lineID = 0; var dir = 0; if (pinball_mc.leftSwitch1._currentframe != 1) { if (pinball_mc.leftSwitch2._currentframe != 1) { if (pinball_mc.leftSwitch3._currentframe != 1) { pinball_mc.blocker_4._visible = true; lineID = Obstacles.addLine(new Point(55, 898), new Point(31, 884), 0, null, 3); dir = -1; trace("line created left" + lineID); } } } if (pinball_mc.rightSwitch1._currentframe != 1) { if (pinball_mc.rightSwitch2._currentframe != 1) { if (pinball_mc.rightSwitch3._currentframe != 1) { pinball_mc.blocker_5._visible = true; lineID = Obstacles.addLine(new Point(324, 884), new Point(301, 897), 0, null, 3); dir = 1; trace("line created right" + lineID); } } } _local1.onEnterFrame = function () { var _local1 = this; _local1.delay--; if (_local1.delay < 1) { delete _local1.onEnterFrame; _local1.gotoAndStop(1); _local1.light.gotoAndStop(1); if (lineID != 0) { trace("clear here " + dir); Obstacles.clearLine(lineID); if (dir == 1) { pinball_mc.blocker_5._visible = false; } if (dir == -1) { pinball_mc.blocker_4._visible = false; } } } }; Pinball.addScore(_local3.score); Pinball.playSound("switches"); } }; ClassEvents.prototype.leftRail = function () { var _local3 = this; var _local2 = Pinball.pinball_mc; var ball = _local2.ball; if (ball.velocity.y < -15) { Pinball.gravity.x = 0; Pinball.gravity.y = 0; ball.x = 279.3; ball.y = 196; ball.velocity.x = 0; ball.velocity.y = 0; _local2.rail.gotoAndPlay("clockwise"); var _local1 = ball.mc; _local1._visible = false; _local1.ball = ball; _local1.delay = 50; Pinball.pinball_mc.OPT_scroll.bScroll = false; _local1.onEnterFrame = function () { var _local1 = this; _local1.delay--; if (_local1.delay < 1) { delete _local1.onEnterFrame; Pinball.gravity.x = 0; Pinball.gravity.y = 0.7; Pinball.pinball_mc.OPT_scroll.bScroll = true; ball.velocity.x = -2; ball.velocity.y = 3; _local1._visible = true; } Pinball.addScore(300); }; Pinball.playSound("rail"); _local2.runners.gotoAndPlay("play"); } }; ClassEvents.prototype.rightRail = function () { var _local3 = this; var _local2 = Pinball.pinball_mc; var ball = _local2.ball; if (ball.velocity.y < -18) { Pinball.gravity.x = 0; Pinball.gravity.y = 0; ball.x = 88.5; ball.y = 196; ball.velocity.x = 0; ball.velocity.y = 0; _local2.rail.gotoAndPlay("anticlockwise"); var _local1 = ball.mc; _local1._visible = false; _local1.ball = ball; _local1.delay = 50; Pinball.pinball_mc.OPT_scroll.bScroll = false; _local1.onEnterFrame = function () { var _local1 = this; _local1.delay--; if (_local1.delay < 1) { delete _local1.onEnterFrame; Pinball.gravity.x = 0; Pinball.gravity.y = 0.7; Pinball.pinball_mc.OPT_scroll.bScroll = true; ball.velocity.x = 1; ball.velocity.y = 3; _local1._visible = true; } Pinball.addScore(300); }; Pinball.playSound("rail"); _local2.runners.gotoAndPlay("play"); } }; _global.Events = new ClassEvents();
Symbol 251 MovieClip Frame 6
trace("**INIT**"); stop();
Symbol 251 MovieClip Frame 7
trace("**SCORE**"); var i = 1; while (i < 9) { this["s" + i] = _level0.score[i - 1]; i++; } stop();
Symbol 251 MovieClip Frame 10
stop(); Pinball.init(pinball_mc); Pinball.start(); trace("start"); fader.gotoAndPlay(2);
Symbol 273 MovieClip Frame 1
stop();
Symbol 277 MovieClip Frame 1
s1 = (s2 = (s3 = (s4 = (s5 = (s6 = (s7 = (s8 = 0)))))));
Symbol 285 Button
on (release) { _level0.bPaused = true; _level0.game_mc.table_mc.popUp_mc.gotoAndStop("help"); }
Symbol 287 Button
on (release) { _level0.bPaused = true; _level0.game_mc.table_mc.popUp_mc.gotoAndStop("confirm"); }
Symbol 291 MovieClip Frame 56
play();
Symbol 291 MovieClip Frame 90
rnd = Math.ceil(Math.random() * 500); i = 0; this.onEnterFrame = function () { i++; if (i > rnd) { delete this.onEnterFrame; this.gotoAndPlay(56); } }; stop();
Symbol 301 MovieClip Frame 1
stop();
Symbol 301 MovieClip Frame 30
stop();
Symbol 305 MovieClip Frame 1
stop();
Symbol 305 MovieClip Frame 2
stop();
Symbol 305 MovieClip Frame 40
stop();
Symbol 306 MovieClip Frame 1
stop();
Symbol 306 MovieClip Frame 40
stop();
Symbol 319 MovieClip Frame 1
animation = false; stop();
Symbol 319 MovieClip Frame 12
l_paddle.gotoAndStop(2);
Symbol 319 MovieClip Frame 41
l_paddle.gotoAndPlay(3);
Symbol 319 MovieClip Frame 78
twanger.gotoAndStop(2);
Symbol 319 MovieClip Frame 99
twanger.gotoAndPlay(3);
Symbol 319 MovieClip Frame 145
r_paddle.gotoAndStop(2);
Symbol 319 MovieClip Frame 166
r_paddle.gotoAndPlay(3);
Symbol 319 MovieClip Frame 235
animation = true; startoffgame(); stop();
Symbol 321 MovieClip Frame 23
gotoAndPlay (1);
Symbol 321 MovieClip Frame 24
stop();
Symbol 363 MovieClip Frame 159
gotoAndPlay (1);
Symbol 363 MovieClip Frame 209
gotoAndPlay (1);
Symbol 363 MovieClip Frame 280
stop();
Symbol 382 Button
on (release) { gotoAndPlay ("ready"); }

Library Items

Symbol 1 GraphicUsed by:2
Symbol 2 MovieClip [component]Uses:1
Symbol 3 BitmapUsed by:4
Symbol 4 GraphicUses:3Used by:5
Symbol 5 MovieClipUses:4Used by:6
Symbol 6 MovieClip [ball]Uses:5Used by:89 177 273
Symbol 7 GraphicUsed by:Timeline
Symbol 8 BitmapUsed by:9
Symbol 9 GraphicUses:8Used by:Timeline
Symbol 10 GraphicUsed by:Timeline
Symbol 11 ShapeTweeningUsed by:13
Symbol 12 GraphicUsed by:13
Symbol 13 MovieClipUses:11 12Used by:14
Symbol 14 MovieClipUses:13Used by:Timeline
Symbol 15 GraphicUsed by:22
Symbol 16 GraphicUsed by:17
Symbol 17 MovieClipUses:16Used by:22
Symbol 18 GraphicUsed by:22
Symbol 19 BitmapUsed by:20
Symbol 20 GraphicUses:19Used by:22
Symbol 21 GraphicUsed by:22
Symbol 22 MovieClipUses:15 17 18 20 21Used by:Timeline
Symbol 23 GraphicUsed by:67 248
Symbol 24 GraphicUsed by:67
Symbol 25 FontUsed by:26 39 56 76 201 202 203 204 205 206 207 208 209 213 214 217 220 225 227 230 245 247 264 265 266 267 268 269 270 271 272 274 275 280 286 294 380 384
Symbol 26 TextUses:25Used by:27
Symbol 27 MovieClipUses:26Used by:67
Symbol 28 GraphicUsed by:67 248
Symbol 29 GraphicUsed by:67 248
Symbol 30 GraphicUsed by:67 248
Symbol 31 GraphicUsed by:54 66 67 244 248
Symbol 32 GraphicUsed by:67 248
Symbol 33 GraphicUsed by:67 248
Symbol 34 GraphicUsed by:67 248
Symbol 35 GraphicUsed by:67
Symbol 36 GraphicUsed by:37
Symbol 37 MovieClipUses:36Used by:67
Symbol 38 SoundUsed by:67
Symbol 39 TextUses:25Used by:40
Symbol 40 MovieClipUses:39Used by:67
Symbol 41 GraphicUsed by:42
Symbol 42 MovieClipUses:41Used by:67 248 321
Symbol 43 GraphicUsed by:55 67
Symbol 44 GraphicUsed by:54 67
Symbol 45 GraphicUsed by:54 67
Symbol 46 BitmapUsed by:48
Symbol 47 BitmapUsed by:48
Symbol 48 GraphicUses:46 47Used by:54 67 301
Symbol 49 BitmapUsed by:50
Symbol 50 GraphicUses:49Used by:54 67 301
Symbol 51 BitmapUsed by:52
Symbol 52 GraphicUses:51Used by:54 66 67 244 301 305 306
Symbol 53 SoundUsed by:54 67 192
Symbol 54 MovieClipUses:44 45 48 50 31 52 53Used by:67 248
Symbol 55 MovieClipUses:43Used by:67
Symbol 56 TextUses:25Used by:57
Symbol 57 MovieClipUses:56Used by:67
Symbol 58 GraphicUsed by:66 67 244
Symbol 59 BitmapUsed by:60 61 65
Symbol 60 GraphicUses:59Used by:66 67
Symbol 61 GraphicUses:59Used by:66 67 305 306
Symbol 62 GraphicUsed by:63
Symbol 63 MovieClipUses:62Used by:66 67 244
Symbol 64 SoundUsed by:67 192
Symbol 65 GraphicUses:59Used by:66 67 305 306
Symbol 66 MovieClipUses:58 60 61 52 63 31 65Used by:67
Symbol 67 MovieClipUses:23 24 27 28 29 30 31 32 33 34 35 37 38 40 42 43 54 55 44 45 48 50 52 53 57 58 60 61 63 64 65 66Used by:Timeline
Symbol 68 GraphicUsed by:69 79 216 219 222 226 229 382
Symbol 69 MovieClipUses:68Used by:79 216 219 222 226 229 382
Symbol 70 GraphicUsed by:71 79 216 219 222 226 229 382
Symbol 71 MovieClipUses:70Used by:79 216 219 222 226 229 382
Symbol 72 GraphicUsed by:73 79 216 219 222 226 229 382
Symbol 73 MovieClipUses:72Used by:79 216 219 222 226 229 382
Symbol 74 GraphicUsed by:75 79 216 219 222 226 229 382
Symbol 75 MovieClipUses:74Used by:79 216 219 222 226 229 382
Symbol 76 TextUses:25Used by:77 79
Symbol 77 MovieClipUses:76Used by:79
Symbol 78 SoundUsed by:79 216 219 222 226 229 382
Symbol 79 ButtonUses:69 71 73 75 77 68 70 72 74 76 78Used by:Timeline
Symbol 80 BitmapUsed by:81
Symbol 81 GraphicUses:80Used by:Timeline
Symbol 82 GraphicUsed by:252 301
Symbol 83 BitmapUsed by:85
Symbol 84 BitmapUsed by:85
Symbol 85 GraphicUses:83 84Used by:223 251
Symbol 86 BitmapUsed by:87
Symbol 87 GraphicUses:86Used by:88
Symbol 88 MovieClipUses:87Used by:89
Symbol 89 MovieClipUses:88 6Used by:223 251
Symbol 90 BitmapUsed by:91
Symbol 91 GraphicUses:90Used by:98
Symbol 92 BitmapUsed by:93
Symbol 93 GraphicUses:92Used by:98
Symbol 94 BitmapUsed by:95
Symbol 95 GraphicUses:94Used by:98
Symbol 96 BitmapUsed by:97
Symbol 97 GraphicUses:96Used by:98
Symbol 98 MovieClipUses:91 93 95 97Used by:223 251
Symbol 99 BitmapUsed by:100
Symbol 100 GraphicUses:99Used by:223 251
Symbol 101 BitmapUsed by:103
Symbol 102 BitmapUsed by:103
Symbol 103 GraphicUses:101 102Used by:108
Symbol 104 BitmapUsed by:105
Symbol 105 GraphicUses:104Used by:108
Symbol 106 BitmapUsed by:107
Symbol 107 GraphicUses:106Used by:108
Symbol 108 MovieClipUses:103 105 107Used by:223 251  Timeline
Symbol 109 BitmapUsed by:110
Symbol 110 GraphicUses:109Used by:117
Symbol 111 BitmapUsed by:112
Symbol 112 GraphicUses:111Used by:117
Symbol 113 BitmapUsed by:114
Symbol 114 GraphicUses:113Used by:117
Symbol 115 BitmapUsed by:116
Symbol 116 GraphicUses:115Used by:117
Symbol 117 MovieClipUses:110 112 114 116Used by:223 251
Symbol 118 BitmapUsed by:119
Symbol 119 GraphicUses:118Used by:122
Symbol 120 BitmapUsed by:121
Symbol 121 GraphicUses:120Used by:122
Symbol 122 MovieClipUses:119 121Used by:223 251
Symbol 123 GraphicUsed by:125
Symbol 124 GraphicUsed by:125
Symbol 125 MovieClipUses:123 124Used by:223 251
Symbol 126 BitmapUsed by:127
Symbol 127 GraphicUses:126Used by:128
Symbol 128 MovieClipUses:127Used by:223 251
Symbol 129 BitmapUsed by:130
Symbol 130 GraphicUses:129Used by:131
Symbol 131 MovieClipUses:130Used by:223 251
Symbol 132 BitmapUsed by:133
Symbol 133 GraphicUses:132Used by:134
Symbol 134 MovieClipUses:133Used by:223 251
Symbol 135 BitmapUsed by:136
Symbol 136 GraphicUses:135Used by:137
Symbol 137 MovieClipUses:136Used by:223 251
Symbol 138 BitmapUsed by:139
Symbol 139 GraphicUses:138Used by:140
Symbol 140 MovieClipUses:139Used by:223 251
Symbol 141 BitmapUsed by:142
Symbol 142 GraphicUses:141Used by:148
Symbol 143 BitmapUsed by:144
Symbol 144 GraphicUses:143Used by:148
Symbol 145 GraphicUsed by:148 153
Symbol 146 GraphicUsed by:148 153
Symbol 147 GraphicUsed by:148 153
Symbol 148 MovieClipUses:142 144 145 146 147Used by:223 251
Symbol 149 BitmapUsed by:150
Symbol 150 GraphicUses:149Used by:153
Symbol 151 BitmapUsed by:152
Symbol 152 GraphicUses:151Used by:153
Symbol 153 MovieClipUses:150 152 145 146 147Used by:223 251
Symbol 154 GraphicUsed by:161
Symbol 155 BitmapUsed by:156
Symbol 156 GraphicUses:155Used by:161
Symbol 157 BitmapUsed by:158
Symbol 158 GraphicUses:157Used by:161
Symbol 159 BitmapUsed by:160
Symbol 160 GraphicUses:159Used by:161
Symbol 161 MovieClipUses:154 156 158 160Used by:223 251
Symbol 162 BitmapUsed by:163
Symbol 163 GraphicUses:162Used by:223 251
Symbol 164 GraphicUsed by:165 166
Symbol 165 MovieClipUses:164Used by:223 251
Symbol 166 MovieClipUses:164Used by:223 251
Symbol 167 BitmapUsed by:168
Symbol 168 GraphicUses:167Used by:171
Symbol 169 BitmapUsed by:170
Symbol 170 GraphicUses:169Used by:171
Symbol 171 MovieClipUses:168 170Used by:223 251
Symbol 172 MovieClipUsed by:223 251
Symbol 173 BitmapUsed by:174
Symbol 174 GraphicUses:173Used by:177
Symbol 175 BitmapUsed by:176
Symbol 176 GraphicUses:175Used by:177
Symbol 177 MovieClipUses:174 176 6Used by:223 251
Symbol 178 SoundUsed by:192
Symbol 179 SoundUsed by:192
Symbol 180 SoundUsed by:192
Symbol 181 SoundUsed by:192  Timeline
Symbol 182 SoundUsed by:192  Timeline
Symbol 183 SoundUsed by:192
Symbol 184 SoundUsed by:192
Symbol 185 SoundUsed by:192
Symbol 186 SoundUsed by:192
Symbol 187 SoundUsed by:192
Symbol 188 SoundUsed by:192
Symbol 189 SoundUsed by:192
Symbol 190 SoundUsed by:192
Symbol 191 SoundUsed by:192
Symbol 192 MovieClipUses:53 178 179 180 181 182 64 183 184 185 186 187 188 189 190 191Used by:223 251
Symbol 193 GraphicUsed by:196
Symbol 194 FontUsed by:195
Symbol 195 EditableTextUses:194Used by:196
Symbol 196 MovieClipUses:193 195Used by:197
Symbol 197 MovieClipUses:196Used by:223 251
Symbol 198 GraphicUsed by:199  Timeline
Symbol 199 MovieClipUses:198Used by:200 250
Symbol 200 MovieClipUses:199Used by:251
Symbol 201 EditableTextUses:25Used by:251
Symbol 202 EditableTextUses:25Used by:251
Symbol 203 EditableTextUses:25Used by:251
Symbol 204 EditableTextUses:25Used by:251
Symbol 205 EditableTextUses:25Used by:251
Symbol 206 EditableTextUses:25Used by:251
Symbol 207 EditableTextUses:25Used by:251
Symbol 208 EditableTextUses:25Used by:251
Symbol 209 EditableTextUses:25Used by:251
Symbol 210 GraphicUsed by:251 277
Symbol 211 GraphicUsed by:212
Symbol 212 MovieClipUses:211Used by:251
Symbol 213 TextUses:25Used by:251
Symbol 214 TextUses:25Used by:215 216
Symbol 215 MovieClipUses:214Used by:216
Symbol 216 ButtonUses:69 71 73 75 215 68 70 72 74 214 78Used by:251
Symbol 217 TextUses:25Used by:218 219 226
Symbol 218 MovieClipUses:217Used by:219 226
Symbol 219 ButtonUses:69 71 73 75 218 68 70 72 74 217 78Used by:251
Symbol 220 TextUses:25Used by:221 222
Symbol 221 MovieClipUses:220Used by:222
Symbol 222 ButtonUses:69 71 73 75 221 68 70 72 74 220 78Used by:251
Symbol 223 MovieClipUses:85 89 98 100 108 117 122 125 128 131 134 137 140 148 153 161 163 165 166 171 172 177 192 197Used by:251
Symbol 224 GraphicUsed by:249
Symbol 225 TextUses:25Used by:249
Symbol 226 ButtonUses:69 71 73 75 218 68 70 72 74 217 78Used by:249
Symbol 227 TextUses:25Used by:228 229
Symbol 228 MovieClipUses:227Used by:229
Symbol 229 ButtonUses:69 71 73 75 228 68 70 72 74 227 78Used by:249
Symbol 230 TextUses:25Used by:248
Symbol 231 GraphicUsed by:238 246
Symbol 232 GraphicUsed by:233 238 246
Symbol 233 MovieClipUses:232Used by:238 246
Symbol 234 GraphicUsed by:235 238 246
Symbol 235 MovieClipUses:234Used by:238 246
Symbol 236 GraphicUsed by:238 246
Symbol 237 SoundUsed by:238 246
Symbol 238 ButtonUses:231 233 235 236 232 234 237Used by:248
Symbol 239 BitmapUsed by:240 241 242 243
Symbol 240 GraphicUses:239Used by:244
Symbol 241 GraphicUses:239Used by:244
Symbol 242 GraphicUses:239Used by:244
Symbol 243 GraphicUses:239Used by:244
Symbol 244 MovieClipUses:58 240 241 52 63 31 242 243Used by:248
Symbol 245 TextUses:25Used by:248
Symbol 246 ButtonUses:231 233 235 236 232 234 237Used by:248
Symbol 247 TextUses:25Used by:248
Symbol 248 MovieClipUses:54 230 28 29 30 31 32 23 33 34 42 238 244 245 246 247Used by:249
Symbol 249 MovieClipUses:224 225 226 229 248Used by:251
Symbol 250 MovieClipUses:199Used by:251
Symbol 251 MovieClipUses:85 89 98 100 108 117 122 125 128 131 134 137 140 148 153 161 163 165 166 171 172 177 192 197 200 201 202 203 204 205 206 207 208 209 210 212 213 216 219 222 223 249 250Used by:252
Symbol 252 MovieClipUses:82 251Used by:Timeline
Symbol 253 BitmapUsed by:257 364
Symbol 254 BitmapUsed by:257
Symbol 255 BitmapUsed by:257
Symbol 256 BitmapUsed by:257 364
Symbol 257 GraphicUses:253 254 255 256Used by:Timeline
Symbol 258 BitmapUsed by:259
Symbol 259 GraphicUses:258Used by:Timeline
Symbol 260 BitmapUsed by:261
Symbol 261 GraphicUses:260Used by:Timeline
Symbol 262 BitmapUsed by:263
Symbol 263 GraphicUses:262Used by:277
Symbol 264 EditableTextUses:25Used by:277
Symbol 265 EditableTextUses:25Used by:277
Symbol 266 EditableTextUses:25Used by:277
Symbol 267 EditableTextUses:25Used by:277
Symbol 268 EditableTextUses:25Used by:277
Symbol 269 EditableTextUses:25Used by:277
Symbol 270 EditableTextUses:25Used by:277
Symbol 271 EditableTextUses:25Used by:277
Symbol 272 EditableTextUses:25Used by:277
Symbol 273 MovieClipUses:6Used by:277
Symbol 274 EditableTextUses:25Used by:277
Symbol 275 TextUses:25Used by:277
Symbol 276 GraphicUsed by:277
Symbol 277 MovieClipUses:263 264 265 266 267 268 269 270 271 272 210 273 274 275 276Used by:Timeline
Symbol 278 GraphicUsed by:285 287
Symbol 279 GraphicUsed by:285 287
Symbol 280 TextUses:25Used by:285
Symbol 281 GraphicUsed by:285 287
Symbol 282 GraphicUsed by:285 287
Symbol 283 SoundUsed by:285 287
Symbol 284 SoundUsed by:285 287
Symbol 285 ButtonUses:278 279 280 281 282 283 284Used by:Timeline
Symbol 286 TextUses:25Used by:287
Symbol 287 ButtonUses:278 279 286 281 282 283 284Used by:Timeline
Symbol 288 BitmapUsed by:289
Symbol 289 GraphicUses:288Used by:291
Symbol 290 GraphicUsed by:291
Symbol 291 MovieClipUses:289 290Used by:Timeline
Symbol 292 ShapeTweeningUsed by:319
Symbol 293 GraphicUsed by:319
Symbol 294 EditableTextUses:25Used by:296
Symbol 295 GraphicUsed by:296
Symbol 296 ButtonUses:294 295Used by:319
Symbol 297 ShapeTweeningUsed by:319
Symbol 298 ShapeTweeningUsed by:319
Symbol 299 GraphicUsed by:319
Symbol 300 GraphicUsed by:319
Symbol 301 MovieClipUses:82 48 50 52Used by:319
Symbol 302 GraphicUsed by:319
Symbol 303 GraphicUsed by:319
Symbol 304 GraphicUsed by:319
Symbol 305 MovieClipUses:61 52 65Used by:319
Symbol 306 MovieClipUses:61 52 65Used by:319
Symbol 307 GraphicUsed by:319
Symbol 308 GraphicUsed by:319
Symbol 309 GraphicUsed by:319
Symbol 310 GraphicUsed by:319
Symbol 311 GraphicUsed by:319
Symbol 312 GraphicUsed by:319
Symbol 313 GraphicUsed by:319
Symbol 314 GraphicUsed by:319
Symbol 315 GraphicUsed by:319
Symbol 316 GraphicUsed by:319
Symbol 317 GraphicUsed by:319
Symbol 318 GraphicUsed by:319
Symbol 319 MovieClipUses:292 293 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318Used by:Timeline
Symbol 320 GraphicUsed by:321
Symbol 321 MovieClipUses:320 42Used by:Timeline
Symbol 322 GraphicUsed by:363  Timeline
Symbol 323 GraphicUsed by:363  Timeline
Symbol 324 GraphicUsed by:363  Timeline
Symbol 325 GraphicUsed by:363  Timeline
Symbol 326 GraphicUsed by:363  Timeline
Symbol 327 GraphicUsed by:363
Symbol 328 GraphicUsed by:363
Symbol 329 GraphicUsed by:363
Symbol 330 GraphicUsed by:363
Symbol 331 GraphicUsed by:363
Symbol 332 GraphicUsed by:363
Symbol 333 GraphicUsed by:363
Symbol 334 GraphicUsed by:363
Symbol 335 GraphicUsed by:363
Symbol 336 GraphicUsed by:363
Symbol 337 GraphicUsed by:363
Symbol 338 GraphicUsed by:363
Symbol 339 GraphicUsed by:363
Symbol 340 GraphicUsed by:363
Symbol 341 GraphicUsed by:363
Symbol 342 GraphicUsed by:363
Symbol 343 GraphicUsed by:363
Symbol 344 GraphicUsed by:363
Symbol 345 GraphicUsed by:363
Symbol 346 GraphicUsed by:363
Symbol 347 GraphicUsed by:363
Symbol 348 GraphicUsed by:363
Symbol 349 GraphicUsed by:363
Symbol 350 GraphicUsed by:363
Symbol 351 GraphicUsed by:363
Symbol 352 GraphicUsed by:363
Symbol 353 GraphicUsed by:363
Symbol 354 GraphicUsed by:363
Symbol 355 GraphicUsed by:363
Symbol 356 GraphicUsed by:363
Symbol 357 GraphicUsed by:363
Symbol 358 GraphicUsed by:363
Symbol 359 GraphicUsed by:363
Symbol 360 GraphicUsed by:363
Symbol 361 GraphicUsed by:363
Symbol 362 GraphicUsed by:363
Symbol 363 MovieClipUses:322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362Used by:Timeline
Symbol 364 GraphicUses:253 256Used by:Timeline
Symbol 365 GraphicUsed by:Timeline
Symbol 366 GraphicUsed by:Timeline
Symbol 367 GraphicUsed by:Timeline
Symbol 368 GraphicUsed by:Timeline
Symbol 369 GraphicUsed by:Timeline
Symbol 370 GraphicUsed by:Timeline
Symbol 371 GraphicUsed by:Timeline
Symbol 372 GraphicUsed by:Timeline
Symbol 373 GraphicUsed by:Timeline
Symbol 374 GraphicUsed by:Timeline
Symbol 375 GraphicUsed by:Timeline
Symbol 376 GraphicUsed by:Timeline
Symbol 377 GraphicUsed by:Timeline
Symbol 378 GraphicUsed by:Timeline
Symbol 379 GraphicUsed by:Timeline
Symbol 380 TextUses:25Used by:381 382
Symbol 381 MovieClipUses:380Used by:382
Symbol 382 ButtonUses:69 71 73 75 381 68 70 72 74 380 78Used by:Timeline
Symbol 383 GraphicUsed by:386
Symbol 384 TextUses:25Used by:386
Symbol 385 GraphicUsed by:386
Symbol 386 MovieClipUses:383 384 385Used by:Timeline
Symbol 387 GraphicUsed by:400
Symbol 388 GraphicUsed by:389
Symbol 389 MovieClipUses:388Used by:400
Symbol 390 GraphicUsed by:400
Symbol 391 GraphicUsed by:392
Symbol 392 MovieClipUses:391Used by:400
Symbol 393 GraphicUsed by:400
Symbol 394 GraphicUsed by:395
Symbol 395 MovieClipUses:394Used by:400
Symbol 396 GraphicUsed by:400
Symbol 397 GraphicUsed by:398
Symbol 398 MovieClipUses:397Used by:400
Symbol 399 GraphicUsed by:400
Symbol 400 MovieClipUses:387 389 390 392 393 395 396 398 399Used by:Timeline
Symbol 401 MovieClipUsed by:Timeline

Instance Names

"mc_mask"Frame 1Symbol 14 MovieClip
"loadingBar"Frame 1Symbol 22 MovieClip
"game_mc"Frame 11Symbol 252 MovieClip
"scoreboard"Frame 40Symbol 277 MovieClip
"instructions"Frame 92Symbol 319 MovieClip
"keydown"Frame 92Symbol 321 MovieClip
"Jake"Frame 100Symbol 363 MovieClip
"submit_score_container"Frame 113Symbol 401 MovieClip
"l1"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l2"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l4"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l7"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l3"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l5"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l8"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l11"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l6"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l9"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l12"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l18"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l10"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l13"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l17"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l19"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l14"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l16"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l20"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l26"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l15"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l21"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l25"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l27"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l22"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l24"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l28"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l31"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l23"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l29"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l30"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"l32"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"ball_mc"Symbol 177 MovieClip Frame 5Symbol 6 MovieClip [ball]
"linebound"Symbol 197 MovieClip Frame 1Symbol 196 MovieClip
"hole3"Symbol 223 MovieClip Frame 1Symbol 89 MovieClip
"hole1"Symbol 223 MovieClip Frame 1Symbol 89 MovieClip
"hole4"Symbol 223 MovieClip Frame 1Symbol 89 MovieClip
"hole6"Symbol 223 MovieClip Frame 1Symbol 89 MovieClip
"hole2"Symbol 223 MovieClip Frame 1Symbol 89 MovieClip
"bumper_5"Symbol 223 MovieClip Frame 1Symbol 98 MovieClip
"bumper_right1"Symbol 223 MovieClip Frame 1Symbol 108 MovieClip
"bumper_left1"Symbol 223 MovieClip Frame 1Symbol 108 MovieClip
"bumper_1"Symbol 223 MovieClip Frame 1Symbol 117 MovieClip
"bumper_2"Symbol 223 MovieClip Frame 1Symbol 117 MovieClip
"bumper_3"Symbol 223 MovieClip Frame 1Symbol 117 MovieClip
"bumper_4"Symbol 223 MovieClip Frame 1Symbol 117 MovieClip
"bumper_5"Symbol 223 MovieClip Frame 1Symbol 117 MovieClip
"bumper_6"Symbol 223 MovieClip Frame 1Symbol 117 MovieClip
"bumper_8"Symbol 223 MovieClip Frame 1Symbol 122 MovieClip
"bumper_9"Symbol 223 MovieClip Frame 1Symbol 122 MovieClip
"bumper_11"Symbol 223 MovieClip Frame 1Symbol 122 MovieClip
"bumper_10"Symbol 223 MovieClip Frame 1Symbol 122 MovieClip
"bumper_right2"Symbol 223 MovieClip Frame 1Symbol 108 MovieClip
"bumper_left2"Symbol 223 MovieClip Frame 1Symbol 108 MovieClip
"bumper_15"Symbol 223 MovieClip Frame 1Symbol 117 MovieClip
"bumper_16"Symbol 223 MovieClip Frame 1Symbol 117 MovieClip
"bumper_17"Symbol 223 MovieClip Frame 1Symbol 117 MovieClip
"bumper_14"Symbol 223 MovieClip Frame 1Symbol 117 MovieClip
"bumper_13"Symbol 223 MovieClip Frame 1Symbol 117 MovieClip
"bumper_20"Symbol 223 MovieClip Frame 1Symbol 122 MovieClip
"bumper_21"Symbol 223 MovieClip Frame 1Symbol 122 MovieClip
"bumper_19"Symbol 223 MovieClip Frame 1Symbol 122 MovieClip
"bumper_18"Symbol 223 MovieClip Frame 1Symbol 122 MovieClip
"anglebounce_right"Symbol 223 MovieClip Frame 1Symbol 125 MovieClip
"anglebounce_left"Symbol 223 MovieClip Frame 1Symbol 125 MovieClip
"anglebounce_right1"Symbol 223 MovieClip Frame 1Symbol 125 MovieClip
"anglebounce_left1"Symbol 223 MovieClip Frame 1Symbol 125 MovieClip
"dragoneyes"Symbol 223 MovieClip Frame 1Symbol 128 MovieClip
"building"Symbol 223 MovieClip Frame 1Symbol 131 MovieClip
"blocker_1"Symbol 223 MovieClip Frame 1Symbol 134 MovieClip
"blocker_4"Symbol 223 MovieClip Frame 1Symbol 137 MovieClip
"blocker_5"Symbol 223 MovieClip Frame 1Symbol 140 MovieClip
"leftLight1"Symbol 223 MovieClip Frame 1Symbol 148 MovieClip
"leftLight2"Symbol 223 MovieClip Frame 1Symbol 148 MovieClip
"leftLight3"Symbol 223 MovieClip Frame 1Symbol 148 MovieClip
"tablelight1"Symbol 223 MovieClip Frame 1Symbol 148 MovieClip
"tablelight2"Symbol 223 MovieClip Frame 1Symbol 148 MovieClip
"tablelight3"Symbol 223 MovieClip Frame 1Symbol 148 MovieClip
"tablelight4"Symbol 223 MovieClip Frame 1Symbol 148 MovieClip
"tablelight5"Symbol 223 MovieClip Frame 1Symbol 148 MovieClip
"tablelight6"Symbol 223 MovieClip Frame 1Symbol 148 MovieClip
"rightLight1"Symbol 223 MovieClip Frame 1Symbol 148 MovieClip
"rightLight2"Symbol 223 MovieClip Frame 1Symbol 148 MovieClip
"rightLight3"Symbol 223 MovieClip Frame 1Symbol 148 MovieClip
"rightLight4"Symbol 223 MovieClip Frame 1Symbol 148 MovieClip
"rightLight5"Symbol 223 MovieClip Frame 1Symbol 148 MovieClip
"rightLight6"Symbol 223 MovieClip Frame 1Symbol 148 MovieClip
"leftLight4"Symbol 223 MovieClip Frame 1Symbol 148 MovieClip
"leftLight5"Symbol 223 MovieClip Frame 1Symbol 148 MovieClip
"leftLight6"Symbol 223 MovieClip Frame 1Symbol 148 MovieClip
"tablelight11"Symbol 223 MovieClip Frame 1Symbol 148 MovieClip
"tablelight7"Symbol 223 MovieClip Frame 1Symbol 153 MovieClip
"tablelight8"Symbol 223 MovieClip Frame 1Symbol 153 MovieClip
"tablelight9"Symbol 223 MovieClip Frame 1Symbol 153 MovieClip
"tablelight10"Symbol 223 MovieClip Frame 1Symbol 153 MovieClip
"tablelight12"Symbol 223 MovieClip Frame 1Symbol 153 MovieClip
"tablelight13"Symbol 223 MovieClip Frame 1Symbol 153 MovieClip
"tablelight14"Symbol 223 MovieClip Frame 1Symbol 153 MovieClip
"tablelight15"Symbol 223 MovieClip Frame 1Symbol 153 MovieClip
"tablelight19"Symbol 223 MovieClip Frame 1Symbol 153 MovieClip
"tablelight18"Symbol 223 MovieClip Frame 1Symbol 153 MovieClip
"tablelight17"Symbol 223 MovieClip Frame 1Symbol 153 MovieClip
"tablelight16"Symbol 223 MovieClip Frame 1Symbol 153 MovieClip
"tablelight22"Symbol 223 MovieClip Frame 1Symbol 153 MovieClip
"spring_mc"Symbol 223 MovieClip Frame 1Symbol 161 MovieClip
"paddle_left"Symbol 223 MovieClip Frame 1Symbol 165 MovieClip
"paddle_right"Symbol 223 MovieClip Frame 1Symbol 166 MovieClip
"paddle_left2"Symbol 223 MovieClip Frame 1Symbol 165 MovieClip
"paddle_right2"Symbol 223 MovieClip Frame 1Symbol 166 MovieClip
"rightSwitch4"Symbol 223 MovieClip Frame 1Symbol 171 MovieClip
"rightSwitch5"Symbol 223 MovieClip Frame 1Symbol 171 MovieClip
"rightSwitch6"Symbol 223 MovieClip Frame 1Symbol 171 MovieClip
"leftSwitch4"Symbol 223 MovieClip Frame 1Symbol 171 MovieClip
"leftSwitch5"Symbol 223 MovieClip Frame 1Symbol 171 MovieClip
"leftSwitch6"Symbol 223 MovieClip Frame 1Symbol 171 MovieClip
"leftSwitch1"Symbol 223 MovieClip Frame 1Symbol 171 MovieClip
"leftSwitch2"Symbol 223 MovieClip Frame 1Symbol 171 MovieClip
"leftSwitch3"Symbol 223 MovieClip Frame 1Symbol 171 MovieClip
"rightSwitch1"Symbol 223 MovieClip Frame 1Symbol 171 MovieClip
"rightSwitch2"Symbol 223 MovieClip Frame 1Symbol 171 MovieClip
"rightSwitch3"Symbol 223 MovieClip Frame 1Symbol 171 MovieClip
"balls_mc"Symbol 223 MovieClip Frame 1Symbol 172 MovieClip
"rail"Symbol 223 MovieClip Frame 1Symbol 177 MovieClip
"soundfx"Symbol 223 MovieClip Frame 1Symbol 192 MovieClip
"editor"Symbol 223 MovieClip Frame 1Symbol 197 MovieClip
"triggers_mc"Symbol 223 MovieClip Frame 1Symbol 172 MovieClip
"paddles_mc"Symbol 223 MovieClip Frame 1Symbol 172 MovieClip
"lines_mc"Symbol 223 MovieClip Frame 1Symbol 172 MovieClip
"hole3"Symbol 251 MovieClip Frame 1Symbol 89 MovieClip
"hole1"Symbol 251 MovieClip Frame 1Symbol 89 MovieClip
"hole4"Symbol 251 MovieClip Frame 1Symbol 89 MovieClip
"hole6"Symbol 251 MovieClip Frame 1Symbol 89 MovieClip
"hole2"Symbol 251 MovieClip Frame 1Symbol 89 MovieClip
"bumper_5"Symbol 251 MovieClip Frame 1Symbol 98 MovieClip
"bumper_right1"Symbol 251 MovieClip Frame 1Symbol 108 MovieClip
"bumper_left1"Symbol 251 MovieClip Frame 1Symbol 108 MovieClip
"bumper_1"Symbol 251 MovieClip Frame 1Symbol 117 MovieClip
"bumper_2"Symbol 251 MovieClip Frame 1Symbol 117 MovieClip
"bumper_3"Symbol 251 MovieClip Frame 1Symbol 117 MovieClip
"bumper_4"Symbol 251 MovieClip Frame 1Symbol 117 MovieClip
"bumper_5"Symbol 251 MovieClip Frame 1Symbol 117 MovieClip
"bumper_6"Symbol 251 MovieClip Frame 1Symbol 117 MovieClip
"bumper_8"Symbol 251 MovieClip Frame 1Symbol 122 MovieClip
"bumper_9"Symbol 251 MovieClip Frame 1Symbol 122 MovieClip
"bumper_11"Symbol 251 MovieClip Frame 1Symbol 122 MovieClip
"bumper_10"Symbol 251 MovieClip Frame 1Symbol 122 MovieClip
"bumper_right2"Symbol 251 MovieClip Frame 1Symbol 108 MovieClip
"bumper_left2"Symbol 251 MovieClip Frame 1Symbol 108 MovieClip
"bumper_15"Symbol 251 MovieClip Frame 1Symbol 117 MovieClip
"bumper_16"Symbol 251 MovieClip Frame 1Symbol 117 MovieClip
"bumper_17"Symbol 251 MovieClip Frame 1Symbol 117 MovieClip
"bumper_14"Symbol 251 MovieClip Frame 1Symbol 117 MovieClip
"bumper_13"Symbol 251 MovieClip Frame 1Symbol 117 MovieClip
"bumper_20"Symbol 251 MovieClip Frame 1Symbol 122 MovieClip
"bumper_21"Symbol 251 MovieClip Frame 1Symbol 122 MovieClip
"bumper_19"Symbol 251 MovieClip Frame 1Symbol 122 MovieClip
"bumper_18"Symbol 251 MovieClip Frame 1Symbol 122 MovieClip
"anglebounce_right"Symbol 251 MovieClip Frame 1Symbol 125 MovieClip
"anglebounce_left"Symbol 251 MovieClip Frame 1Symbol 125 MovieClip
"anglebounce_right1"Symbol 251 MovieClip Frame 1Symbol 125 MovieClip
"anglebounce_left1"Symbol 251 MovieClip Frame 1Symbol 125 MovieClip
"dragoneyes"Symbol 251 MovieClip Frame 1Symbol 128 MovieClip
"building"Symbol 251 MovieClip Frame 1Symbol 131 MovieClip
"blocker_1"Symbol 251 MovieClip Frame 1Symbol 134 MovieClip
"blocker_4"Symbol 251 MovieClip Frame 1Symbol 137 MovieClip
"blocker_5"Symbol 251 MovieClip Frame 1Symbol 140 MovieClip
"leftLight1"Symbol 251 MovieClip Frame 1Symbol 148 MovieClip
"leftLight2"Symbol 251 MovieClip Frame 1Symbol 148 MovieClip
"leftLight3"Symbol 251 MovieClip Frame 1Symbol 148 MovieClip
"tablelight1"Symbol 251 MovieClip Frame 1Symbol 148 MovieClip
"tablelight2"Symbol 251 MovieClip Frame 1Symbol 148 MovieClip
"tablelight3"Symbol 251 MovieClip Frame 1Symbol 148 MovieClip
"tablelight4"Symbol 251 MovieClip Frame 1Symbol 148 MovieClip
"tablelight5"Symbol 251 MovieClip Frame 1Symbol 148 MovieClip
"tablelight6"Symbol 251 MovieClip Frame 1Symbol 148 MovieClip
"rightLight1"Symbol 251 MovieClip Frame 1Symbol 148 MovieClip
"rightLight2"Symbol 251 MovieClip Frame 1Symbol 148 MovieClip
"rightLight3"Symbol 251 MovieClip Frame 1Symbol 148 MovieClip
"rightLight4"Symbol 251 MovieClip Frame 1Symbol 148 MovieClip
"rightLight5"Symbol 251 MovieClip Frame 1Symbol 148 MovieClip
"rightLight6"Symbol 251 MovieClip Frame 1Symbol 148 MovieClip
"leftLight4"Symbol 251 MovieClip Frame 1Symbol 148 MovieClip
"leftLight5"Symbol 251 MovieClip Frame 1Symbol 148 MovieClip
"leftLight6"Symbol 251 MovieClip Frame 1Symbol 148 MovieClip
"tablelight11"Symbol 251 MovieClip Frame 1Symbol 148 MovieClip
"tablelight7"Symbol 251 MovieClip Frame 1Symbol 153 MovieClip
"tablelight8"Symbol 251 MovieClip Frame 1Symbol 153 MovieClip
"tablelight9"Symbol 251 MovieClip Frame 1Symbol 153 MovieClip
"tablelight10"Symbol 251 MovieClip Frame 1Symbol 153 MovieClip
"tablelight12"Symbol 251 MovieClip Frame 1Symbol 153 MovieClip
"tablelight13"Symbol 251 MovieClip Frame 1Symbol 153 MovieClip
"tablelight14"Symbol 251 MovieClip Frame 1Symbol 153 MovieClip
"tablelight15"Symbol 251 MovieClip Frame 1Symbol 153 MovieClip
"tablelight19"Symbol 251 MovieClip Frame 1Symbol 153 MovieClip
"tablelight18"Symbol 251 MovieClip Frame 1Symbol 153 MovieClip
"tablelight17"Symbol 251 MovieClip Frame 1Symbol 153 MovieClip
"tablelight16"Symbol 251 MovieClip Frame 1Symbol 153 MovieClip
"tablelight22"Symbol 251 MovieClip Frame 1Symbol 153 MovieClip
"spring_mc"Symbol 251 MovieClip Frame 1Symbol 161 MovieClip
"paddle_left"Symbol 251 MovieClip Frame 1Symbol 165 MovieClip
"paddle_right"Symbol 251 MovieClip Frame 1Symbol 166 MovieClip
"paddle_left2"Symbol 251 MovieClip Frame 1Symbol 165 MovieClip
"paddle_right2"Symbol 251 MovieClip Frame 1Symbol 166 MovieClip
"rightSwitch4"Symbol 251 MovieClip Frame 1Symbol 171 MovieClip
"rightSwitch5"Symbol 251 MovieClip Frame 1Symbol 171 MovieClip
"rightSwitch6"Symbol 251 MovieClip Frame 1Symbol 171 MovieClip
"leftSwitch4"Symbol 251 MovieClip Frame 1Symbol 171 MovieClip
"leftSwitch5"Symbol 251 MovieClip Frame 1Symbol 171 MovieClip
"leftSwitch6"Symbol 251 MovieClip Frame 1Symbol 171 MovieClip
"leftSwitch1"Symbol 251 MovieClip Frame 1Symbol 171 MovieClip
"leftSwitch2"Symbol 251 MovieClip Frame 1Symbol 171 MovieClip
"leftSwitch3"Symbol 251 MovieClip Frame 1Symbol 171 MovieClip
"rightSwitch1"Symbol 251 MovieClip Frame 1Symbol 171 MovieClip
"rightSwitch2"Symbol 251 MovieClip Frame 1Symbol 171 MovieClip
"rightSwitch3"Symbol 251 MovieClip Frame 1Symbol 171 MovieClip
"balls_mc"Symbol 251 MovieClip Frame 1Symbol 172 MovieClip
"rail"Symbol 251 MovieClip Frame 1Symbol 177 MovieClip
"soundfx"Symbol 251 MovieClip Frame 1Symbol 192 MovieClip
"editor"Symbol 251 MovieClip Frame 1Symbol 197 MovieClip
"triggers_mc"Symbol 251 MovieClip Frame 1Symbol 172 MovieClip
"paddles_mc"Symbol 251 MovieClip Frame 1Symbol 172 MovieClip
"lines_mc"Symbol 251 MovieClip Frame 1Symbol 172 MovieClip
"pinball_mc"Symbol 251 MovieClip Frame 10Symbol 223 MovieClip
"popUp_mc"Symbol 251 MovieClip Frame 10Symbol 249 MovieClip
"popUp_mc"Symbol 251 MovieClip Frame 10Symbol 249 MovieClip
"fader"Symbol 251 MovieClip Frame 10Symbol 250 MovieClip
"table_mc"Symbol 252 MovieClip Frame 1Symbol 251 MovieClip
"balls"Symbol 277 MovieClip Frame 1Symbol 273 MovieClip
"twanger"Symbol 319 MovieClip Frame 12Symbol 301 MovieClip
"l_paddle"Symbol 319 MovieClip Frame 12Symbol 305 MovieClip
"r_paddle"Symbol 319 MovieClip Frame 12Symbol 306 MovieClip

Special Tags

ExportAssets (56)Timeline Frame 1Symbol 2 as "component"
ExportAssets (56)Timeline Frame 1Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 11Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 40Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 40Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 40Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 40Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 40Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 40Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 40Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 40Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 40Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 40Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 40Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 40Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 40Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 40Symbol 6 as "ball"
ExportAssets (56)Timeline Frame 40Symbol 6 as "ball"

Labels

"loader"Frame 1
"ready"Frame 4
"instructions"Frame 11
"splash"Frame 101
"high_score"Frame 113
"in"Symbol 89 MovieClip Frame 5
"out"Symbol 89 MovieClip Frame 20
"off"Symbol 98 MovieClip Frame 1
"hit"Symbol 98 MovieClip Frame 5
"off"Symbol 108 MovieClip Frame 1
"hit"Symbol 108 MovieClip Frame 10
"off"Symbol 117 MovieClip Frame 1
"hit"Symbol 117 MovieClip Frame 10
"off"Symbol 122 MovieClip Frame 1
"hit"Symbol 122 MovieClip Frame 10
"off"Symbol 125 MovieClip Frame 1
"hit"Symbol 125 MovieClip Frame 10
"off"Symbol 128 MovieClip Frame 1
"hit"Symbol 128 MovieClip Frame 10
"off"Symbol 131 MovieClip Frame 1
"hit"Symbol 131 MovieClip Frame 5
"off"Symbol 148 MovieClip Frame 1
"hit"Symbol 148 MovieClip Frame 10
"off"Symbol 153 MovieClip Frame 1
"hit"Symbol 153 MovieClip Frame 10
"release"Symbol 161 MovieClip Frame 105
"off"Symbol 171 MovieClip Frame 1
"hit"Symbol 171 MovieClip Frame 5
"clockwise"Symbol 177 MovieClip Frame 5
"anticlockwise"Symbol 177 MovieClip Frame 60
"launch"Symbol 192 MovieClip Frame 5
"paddle_up"Symbol 192 MovieClip Frame 15
"paddle_down"Symbol 192 MovieClip Frame 24
"ping"Symbol 192 MovieClip Frame 34
"loselife"Symbol 192 MovieClip Frame 44
"bouncers"Symbol 192 MovieClip Frame 54
"mini_bouncers"Symbol 192 MovieClip Frame 64
"bumpers"Symbol 192 MovieClip Frame 74
"hold"Symbol 192 MovieClip Frame 84
"lights"Symbol 192 MovieClip Frame 94
"switches"Symbol 192 MovieClip Frame 104
"gate"Symbol 192 MovieClip Frame 114
"fire"Symbol 192 MovieClip Frame 124
"rail"Symbol 192 MovieClip Frame 134
"hitball"Symbol 192 MovieClip Frame 144
"dragon"Symbol 192 MovieClip Frame 154
"gameover"Symbol 192 MovieClip Frame 170
"off"Symbol 249 MovieClip Frame 1
"confirm"Symbol 249 MovieClip Frame 6
"help"Symbol 249 MovieClip Frame 14
"init"Symbol 251 MovieClip Frame 6
"start"Symbol 251 MovieClip Frame 10
"loop"Symbol 291 MovieClip Frame 56
"idle"Symbol 321 MovieClip Frame 24
"jump"Symbol 363 MovieClip Frame 162
"looseBall"Symbol 363 MovieClip Frame 229

Dynamic Text Variables

_nameSymbol 195 EditableText""
s1Symbol 201 EditableText"0"
s2Symbol 202 EditableText"0"
s3Symbol 203 EditableText"0"
s4Symbol 204 EditableText"0"
s5Symbol 205 EditableText"0"
s6Symbol 206 EditableText"0"
s7Symbol 207 EditableText"0"
s8Symbol 208 EditableText"0"
s9Symbol 209 EditableText"0"
s1Symbol 264 EditableText"0"
s2Symbol 265 EditableText"0"
s3Symbol 266 EditableText"0"
s4Symbol 267 EditableText"0"
s5Symbol 268 EditableText"0"
s6Symbol 269 EditableText"0"
s7Symbol 270 EditableText"0"
s8Symbol 271 EditableText"0"
s9Symbol 272 EditableText"0"
_level0.livesSymbol 274 EditableText"0"




http://swfchan.com/24/118480/info.shtml
Created: 7/3 -2019 05:01:35 Last modified: 7/3 -2019 05:01:35 Server time: 06/05 -2024 16:30:23