| STORY LOOP FURRY PORN GAMES C SERVICES [?] [R] RND POPULAR | Archived flashes: 234835 |
| /disc/ · /res/ — /show/ · /fap/ · /gg/ · /swf/ | P0001 · P2685 · P5369 |
![]() | This is the info page for Flash #268130 |
| <p align="center"><font face="Verdana_13pt_st" size="13" color="#000000" letterSpacing="0.000000" kerning="1">0%</font></p> |
| loading... |
| help |
| back to level select |
| This game has been URL-Locked! If you are reading this message then this version of the game has been stolen and hosted on a site without the prior permission of Nitrome! For licencing information please contact: enquiries@nitrome.com |
| R - reset shape C - clear screen CTRL - add point /test shape DEL - delete point/ delete blocks when dragging them. |
| original shape: |
ActionScript [AS3]
Section 1//b2CircleDef (Box2D.Collision.Shapes.b2CircleDef) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; public class b2CircleDef extends b2ShapeDef { public var localPosition:b2Vec2; public var radius:Number; public function b2CircleDef(){ localPosition = new b2Vec2(0, 0); super(); type = b2Shape.e_circleShape; radius = 1; } } }//package Box2D.Collision.ShapesSection 2//b2CircleShape (Box2D.Collision.Shapes.b2CircleShape) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2CircleShape extends b2Shape { public var m_radius:Number; public var m_localPosition:b2Vec2; public function b2CircleShape(_arg1:b2ShapeDef){ var _local2:b2CircleDef; m_localPosition = new b2Vec2(); super(_arg1); _local2 = (_arg1 as b2CircleDef); m_type = e_circleShape; m_localPosition.SetV(_local2.localPosition); m_radius = _local2.radius; } override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; _local3 = _arg1.R; _local4 = (_arg1.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); _local5 = (_arg1.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y))); _local4 = (_arg2.x - _local4); _local5 = (_arg2.y - _local5); return ((((_local4 * _local4) + (_local5 * _local5)) <= (m_radius * m_radius))); } public function ():b2Vec2{ return (m_localPosition); } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local6:b2Mat22; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local6 = _arg1.R; _local7 = (_arg1.position.x + ((_local6.col1.x * m_localPosition.x) + (_local6.col2.x * m_localPosition.y))); _local8 = (_arg1.position.x + ((_local6.col1.y * m_localPosition.x) + (_local6.col2.y * m_localPosition.y))); _local9 = (_arg4.p1.x - _local7); _local10 = (_arg4.p1.y - _local8); _local11 = (((_local9 * _local9) + (_local10 * _local10)) - (m_radius * m_radius)); if (_local11 < 0){ return (false); }; _local12 = (_arg4.p2.x - _arg4.p1.x); _local13 = (_arg4.p2.y - _arg4.p1.y); _local14 = ((_local9 * _local12) + (_local10 * _local13)); _local15 = ((_local12 * _local12) + (_local13 * _local13)); _local16 = ((_local14 * _local14) - (_local15 * _local11)); if ((((_local16 < 0)) || ((_local15 < Number.MIN_VALUE)))){ return (false); }; _local17 = -((_local14 + Math.sqrt(_local16))); if ((((0 <= _local17)) && ((_local17 <= (_arg5 * _local15))))){ _local17 = (_local17 / _local15); _arg2[0] = _local17; _arg3.x = (_local9 + (_local17 * _local12)); _arg3.y = (_local10 + (_local17 * _local13)); _arg3.Normalize(); return (true); }; return (false); } override public function ComputeMass(_arg1:b2MassData):void{ _arg1.mass = (((m_density * b2Settings.b2_pi) * m_radius) * m_radius); _arg1.center.SetV(m_localPosition); _arg1.I = (_arg1.mass * (((0.5 * m_radius) * m_radius) + ((m_localPosition.x * m_localPosition.x) + (m_localPosition.y * m_localPosition.y)))); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local4 = _arg2.R; _local5 = (_arg2.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); _local6 = (_arg2.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _local4 = _arg3.R; _local7 = (_arg3.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); _local8 = (_arg3.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _arg1.lowerBound.Set((((_local5 < _local7)) ? _local5 : _local7 - m_radius), (((_local6 < _local8)) ? _local6 : _local8 - m_radius)); _arg1.upperBound.Set((((_local5 > _local7)) ? _local5 : _local7 + m_radius), (((_local6 > _local8)) ? _local6 : _local8 + m_radius)); } public function ():Number{ return (m_radius); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:Number; var _local3:Number; _local2 = (m_localPosition.x - _arg1.x); _local3 = (m_localPosition.y - _arg1.y); _local2 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); m_sweepRadius = ((_local2 + m_radius) - b2Settings.b2_toiSlop); } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; _local3 = _arg2.R; _local4 = (_arg2.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); _local5 = (_arg2.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y))); _arg1.lowerBound.Set((_local4 - m_radius), (_local5 - m_radius)); _arg1.upperBound.Set((_local4 + m_radius), (_local5 + m_radius)); } } }//package Box2D.Collision.ShapesSection 3//b2FilterData (Box2D.Collision.Shapes.b2FilterData) package Box2D.Collision.Shapes { public class b2FilterData { public var maskBits:uint;// = 0xFFFF public var groupIndex:int;// = 0 public var categoryBits:uint;// = 1 public function b2FilterData(){ categoryBits = 1; maskBits = 0xFFFF; groupIndex = 0; super(); } public function Copy():b2FilterData{ var _local1:b2FilterData; _local1 = new b2FilterData(); _local1.categoryBits = categoryBits; _local1.maskBits = maskBits; _local1.groupIndex = groupIndex; return (_local1); } } }//package Box2D.Collision.ShapesSection 4//b2MassData (Box2D.Collision.Shapes.b2MassData) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; public class b2MassData { public var mass:Number;// = 0 public var center:b2Vec2; public var I:Number;// = 0 public function b2MassData(){ mass = 0; center = new b2Vec2(0, 0); I = 0; super(); } } }//package Box2D.Collision.ShapesSection 5//b2PolygonDef (Box2D.Collision.Shapes.b2PolygonDef) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2PolygonDef extends b2ShapeDef { public var vertexCount:int; public var vertices:Array; private static var s_mat:b2Mat22 = new b2Mat22(); public function b2PolygonDef(){ var _local1:int; vertices = new Array(b2Settings.b2_maxPolygonVertices); super(); type = b2Shape.e_polygonShape; vertexCount = 0; _local1 = 0; while (_local1 < b2Settings.b2_maxPolygonVertices) { vertices[_local1] = new b2Vec2(); _local1++; }; } public function SetAsOrientedBox(_arg1:Number, _arg2:Number, _arg3:b2Vec2=null, _arg4:Number=0):void{ var _local5:b2Vec2; var _local6:b2Mat22; var _local7:int; vertexCount = 4; vertices[0].Set(-(_arg1), -(_arg2)); vertices[1].Set(_arg1, -(_arg2)); vertices[2].Set(_arg1, _arg2); vertices[3].Set(-(_arg1), _arg2); if (_arg3){ _local5 = _arg3; _local6 = s_mat; _local6.Set(_arg4); _local7 = 0; while (_local7 < vertexCount) { _arg3 = vertices[_local7]; _arg1 = (_local5.x + ((_local6.col1.x * _arg3.x) + (_local6.col2.x * _arg3.y))); _arg3.y = (_local5.y + ((_local6.col1.y * _arg3.x) + (_local6.col2.y * _arg3.y))); _arg3.x = _arg1; _local7++; }; }; } public function SetAsBox(_arg1:Number, _arg2:Number):void{ vertexCount = 4; vertices[0].Set(-(_arg1), -(_arg2)); vertices[1].Set(_arg1, -(_arg2)); vertices[2].Set(_arg1, _arg2); vertices[3].Set(-(_arg1), _arg2); } } }//package Box2D.Collision.ShapesSection 6//b2PolygonShape (Box2D.Collision.Shapes.b2PolygonShape) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2PolygonShape extends b2Shape { public var :Array; public var :Array; private var :b2Vec2; public var :b2OBB; public var :Array; public var :b2Vec2; public var :int; private static var s_computeMat:b2Mat22 = new b2Mat22(); private static var s_sweptAABB1:b2AABB = new b2AABB(); private static var s_sweptAABB2:b2AABB = new b2AABB(); public function b2PolygonShape(_arg1:b2ShapeDef){ var _local2:b2PolygonDef; var _local3:int; var _local4:int; var _local5:int; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; = new b2Vec2(); = new b2OBB(); = new Array(b2Settings.b2_maxPolygonVertices); = new Array(b2Settings.b2_maxPolygonVertices); = new Array(b2Settings.b2_maxPolygonVertices); super(_arg1); m_type = e_polygonShape; _local2 = (_arg1 as b2PolygonDef); = _local2.vertexCount; _local4 = _local3; _local5 = _local3; _local3 = 0; while (_local3 < ) { [_local3] = _local2.vertices[_local3].Copy(); _local3++; }; _local3 = 0; while (_local3 < ) { _local4 = _local3; _local5 = (((_local3 + 1) < )) ? (_local3 + 1) : 0; _local6 = ( [_local5].x - [_local4].x); _local7 = ( [_local5].y - [_local4].y); _local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7))); [_local3] = new b2Vec2((_local7 / _local8), (-(_local6) / _local8)); _local3++; }; = ComputeCentroid(_local2.vertices, _local2.vertexCount); ComputeOBB( , , ); _local3 = 0; while (_local3 < ) { _local4 = (((_local3 - 1) >= 0)) ? (_local3 - 1) : ( - 1); _local5 = _local3; _local9 = [_local4].x; _local10 = [_local4].y; _local11 = [_local5].x; _local12 = [_local5].y; _local13 = ( [_local3].x - .x); _local14 = ( [_local3].y - .y); _local15 = (((_local9 * _local13) + (_local10 * _local14)) - b2Settings.b2_toiSlop); _local16 = (((_local11 * _local13) + (_local12 * _local14)) - b2Settings.b2_toiSlop); _local17 = (1 / ((_local9 * _local12) - (_local10 * _local11))); [_local3] = new b2Vec2(((_local17 * ((_local12 * _local15) - (_local10 * _local16))) + .x), ((_local17 * ((_local9 * _local16) - (_local11 * _local15))) + .y)); _local3++; }; } override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Vec2; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; var _local10:Number; _local4 = _arg1.R; _local5 = (_arg2.x - _arg1.position.x); _local6 = (_arg2.y - _arg1.position.y); _local7 = ((_local5 * _local4.col1.x) + (_local6 * _local4.col1.y)); _local8 = ((_local5 * _local4.col2.x) + (_local6 * _local4.col2.y)); _local9 = 0; while (_local9 < ) { _local3 = [_local9]; _local5 = (_local7 - _local3.x); _local6 = (_local8 - _local3.y); _local3 = [_local9]; _local10 = ((_local3.x * _local5) + (_local3.y * _local6)); if (_local10 > 0){ return (false); }; _local9++; }; return (true); } public function GetCoreVertices():Array{ return ( ); } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:b2Mat22; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:int; var _local20:Number; var _local21:Number; _local6 = 0; _local7 = _arg5; _local8 = (_arg4.p1.x - _arg1.position.x); _local9 = (_arg4.p1.y - _arg1.position.y); _local10 = _arg1.R; _local12 = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); _local13 = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); _local8 = (_arg4.p2.x - _arg1.position.x); _local9 = (_arg4.p2.y - _arg1.position.y); _local10 = _arg1.R; _local14 = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); _local15 = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); _local16 = (_local14 - _local12); _local17 = (_local15 - _local13); _local18 = -1; _local19 = 0; while (_local19 < ) { _local11 = [_local19]; _local8 = (_local11.x - _local12); _local9 = (_local11.y - _local13); _local11 = [_local19]; _local20 = ((_local11.x * _local8) + (_local11.y * _local9)); _local21 = ((_local11.x * _local16) + (_local11.y * _local17)); if ((((_local21 < 0)) && ((_local20 < (_local6 * _local21))))){ _local6 = (_local20 / _local21); _local18 = _local19; } else { if ((((_local21 > 0)) && ((_local20 < (_local7 * _local21))))){ _local7 = (_local20 / _local21); }; }; if (_local7 < _local6){ return (false); }; _local19++; }; if (_local18 >= 0){ _arg2[0] = _local6; _local10 = _arg1.R; _local11 = [_local18]; _arg3.x = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _arg3.y = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); return (true); }; return (false); } public function ():b2Vec2{ return ( ); } override public function ComputeMass(_arg1:b2MassData):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; _local2 = 0; _local3 = 0; _local4 = 0; _local5 = 0; _local6 = 0; _local7 = 0; _local8 = (1 / 3); _local9 = 0; while (_local9 < ) { _local10 = [_local9]; _local11 = (((_local9 + 1) < )) ? [int((_local9 + 1))] : [0]; _local12 = (_local10.x - _local6); _local13 = (_local10.y - _local7); _local14 = (_local11.x - _local6); _local15 = (_local11.y - _local7); _local16 = ((_local12 * _local15) - (_local13 * _local14)); _local17 = (0.5 * _local16); _local4 = (_local4 + _local17); _local2 = (_local2 + ((_local17 * _local8) * ((_local6 + _local10.x) + _local11.x))); _local3 = (_local3 + ((_local17 * _local8) * ((_local7 + _local10.y) + _local11.y))); _local18 = _local6; _local19 = _local7; _local20 = _local12; _local21 = _local13; _local22 = _local14; _local23 = _local15; _local24 = ((_local8 * ((0.25 * (((_local20 * _local20) + (_local22 * _local20)) + (_local22 * _local22))) + ((_local18 * _local20) + (_local18 * _local22)))) + ((0.5 * _local18) * _local18)); _local25 = ((_local8 * ((0.25 * (((_local21 * _local21) + (_local23 * _local21)) + (_local23 * _local23))) + ((_local19 * _local21) + (_local19 * _local23)))) + ((0.5 * _local19) * _local19)); _local5 = (_local5 + (_local16 * (_local24 + _local25))); _local9++; }; _arg1.mass = (m_density * _local4); _local2 = (_local2 * (1 / _local4)); _local3 = (_local3 * (1 / _local4)); _arg1.center.Set(_local2, _local3); _arg1.I = (m_density * _local5); } public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:b2Vec2; var _local5:b2Mat22; var _local6:Number; var _local7:Number; var _local8:int; var _local9:Number; var _local10:int; var _local11:Number; _local5 = _arg1.R; _local6 = ((_arg2 * _local5.col1.x) + (_arg3 * _local5.col1.y)); _local7 = ((_arg2 * _local5.col2.x) + (_arg3 * _local5.col2.y)); _local8 = 0; _local4 = [0]; _local9 = ((_local4.x * _local6) + (_local4.y * _local7)); _local10 = 1; while (_local10 < ) { _local4 = [_local10]; _local11 = ((_local4.x * _local6) + (_local4.y * _local7)); if (_local11 > _local9){ _local8 = _local10; _local9 = _local11; }; _local10++; }; _local5 = _arg1.R; _local4 = [_local8]; .x = (_arg1.position.x + ((_local5.col1.x * _local4.x) + (_local5.col2.x * _local4.y))); .y = (_arg1.position.y + ((_local5.col1.y * _local4.x) + (_local5.col2.y * _local4.y))); return ( ); } public function GetVertexCount():int{ return ( ); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2AABB; var _local5:b2AABB; _local4 = s_sweptAABB1; _local5 = s_sweptAABB2; ComputeAABB(_local4, _arg2); ComputeAABB(_local5, _arg3); _arg1.lowerBound.Set(((_local4.lowerBound.x < _local5.lowerBound.x)) ? _local4.lowerBound.x : _local5.lowerBound.x, ((_local4.lowerBound.y < _local5.lowerBound.y)) ? _local4.lowerBound.y : _local5.lowerBound.y); _arg1.upperBound.Set(((_local4.upperBound.x > _local5.upperBound.x)) ? _local4.upperBound.x : _local5.upperBound.x, ((_local4.upperBound.y > _local5.upperBound.y)) ? _local4.upperBound.y : _local5.upperBound.y); } public function GetVertices():Array{ return ( ); } public function ():Array{ return ( ); } public function GetOBB():b2OBB{ return ( ); } public function GetFirstVertex(_arg1:b2XForm):b2Vec2{ return (b2Math.b2MulX(_arg1, [0])); } public function (_arg1:b2XForm):b2Vec2{ return (b2Math.b2MulX(_arg1, )); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:b2Vec2; var _local3:int; var _local4:Number; var _local5:Number; m_sweepRadius = 0; _local3 = 0; while (_local3 < ) { _local2 = [_local3]; _local4 = (_local2.x - _arg1.x); _local5 = (_local2.y - _arg1.y); _local4 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5))); if (_local4 > m_sweepRadius){ m_sweepRadius = _local4; }; _local3++; }; } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22; var _local4:b2Vec2; var _local5:b2Mat22; var _local6:b2Mat22; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local5 = s_computeMat; _local3 = _arg2.R; _local4 = .R.col1; _local5.col1.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); _local5.col1.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); _local4 = .R.col2; _local5.col2.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); _local5.col2.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); _local5.Abs(); _local6 = _local5; _local4 = .extents; _local7 = ((_local6.col1.x * _local4.x) + (_local6.col2.x * _local4.y)); _local8 = ((_local6.col1.y * _local4.x) + (_local6.col2.y * _local4.y)); _local3 = _arg2.R; _local4 = .center; _local9 = (_arg2.position.x + ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y))); _local10 = (_arg2.position.y + ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y))); _arg1.lowerBound.Set((_local9 - _local7), (_local10 - _local8)); _arg1.upperBound.Set((_local9 + _local7), (_local10 + _local8)); } public static function ComputeCentroid(_arg1:Array, _arg2:int):b2Vec2{ var _local3:b2Vec2; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:int; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; _local3 = new b2Vec2(); _local4 = 0; _local5 = 0; _local6 = 0; _local7 = (1 / 3); _local8 = 0; while (_local8 < _arg2) { _local9 = _arg1[_local8]; _local10 = (((_local8 + 1) < _arg2)) ? _arg1[int((_local8 + 1))] : _arg1[0]; _local11 = (_local9.x - _local5); _local12 = (_local9.y - _local6); _local13 = (_local10.x - _local5); _local14 = (_local10.y - _local6); _local15 = ((_local11 * _local14) - (_local12 * _local13)); _local16 = (0.5 * _local15); _local4 = (_local4 + _local16); _local3.x = (_local3.x + ((_local16 * _local7) * ((_local5 + _local9.x) + _local10.x))); _local3.y = (_local3.y + ((_local16 * _local7) * ((_local6 + _local9.y) + _local10.y))); _local8++; }; _local3.x = (_local3.x * (1 / _local4)); _local3.y = (_local3.y * (1 / _local4)); return (_local3); } public static function ComputeOBB(_arg1:b2OBB, _arg2:Array, _arg3:int):void{ var _local4:int; var _local5:Array; var _local6:Number; var _local7:b2Vec2; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:b2Mat22; _local5 = new Array((b2Settings.b2_maxPolygonVertices + 1)); _local4 = 0; while (_local4 < _arg3) { _local5[_local4] = _arg2[_local4]; _local4++; }; _local5[_arg3] = _local5[0]; _local6 = Number.MAX_VALUE; _local4 = 1; while (_local4 <= _arg3) { _local7 = _local5[int((_local4 - 1))]; _local8 = (_local5[_local4].x - _local7.x); _local9 = (_local5[_local4].y - _local7.y); _local10 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); _local8 = (_local8 / _local10); _local9 = (_local9 / _local10); _local11 = -(_local9); _local12 = _local8; _local13 = Number.MAX_VALUE; _local14 = Number.MAX_VALUE; _local15 = -(Number.MAX_VALUE); _local16 = -(Number.MAX_VALUE); _local17 = 0; while (_local17 < _arg3) { _local19 = (_local5[_local17].x - _local7.x); _local20 = (_local5[_local17].y - _local7.y); _local21 = ((_local8 * _local19) + (_local9 * _local20)); _local22 = ((_local11 * _local19) + (_local12 * _local20)); if (_local21 < _local13){ _local13 = _local21; }; if (_local22 < _local14){ _local14 = _local22; }; if (_local21 > _local15){ _local15 = _local21; }; if (_local22 > _local16){ _local16 = _local22; }; _local17++; }; _local18 = ((_local15 - _local13) * (_local16 - _local14)); if (_local18 < (0.95 * _local6)){ _local6 = _local18; _arg1.R.col1.x = _local8; _arg1.R.col1.y = _local9; _arg1.R.col2.x = _local11; _arg1.R.col2.y = _local12; _local23 = (0.5 * (_local13 + _local15)); _local24 = (0.5 * (_local14 + _local16)); _local25 = _arg1.R; _arg1.center.x = (_local7.x + ((_local25.col1.x * _local23) + (_local25.col2.x * _local24))); _arg1.center.y = (_local7.y + ((_local25.col1.y * _local23) + (_local25.col2.y * _local24))); _arg1.extents.x = (0.5 * (_local15 - _local13)); _arg1.extents.y = (0.5 * (_local16 - _local14)); }; _local4++; }; } } }//package Box2D.Collision.ShapesSection 7//b2Shape (Box2D.Collision.Shapes.b2Shape) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; public class b2Shape { public var m_type:int; public var m_sweepRadius:Number; public var m_density:Number; public var :b2FilterData; public var m_friction:Number; public var m_next:b2Shape; public var m_restitution:Number; public var m_userData; public var m_isSensor:Boolean; public var :uint; public var m_body:b2Body; public static const e_polygonShape:int = 1; public static const e_unknownShape:int = -1; public static const e_circleShape:int = 0; public static const e_shapeTypeCount:int = 2; private static var s_resetAABB:b2AABB = new b2AABB(); private static var s_syncAABB:b2AABB = new b2AABB(); private static var s_proxyAABB:b2AABB = new b2AABB(); public function b2Shape(_arg1:b2ShapeDef){ m_userData = _arg1.userData; m_friction = _arg1.friction; m_restitution = _arg1.restitution; m_density = _arg1.density; m_body = null; m_sweepRadius = 0; m_next = null; = b2Pair.b2_nullProxy; = _arg1.filter.Copy(); m_isSensor = _arg1.isSensor; } public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ return (false); } public function ():Number{ return (m_sweepRadius); } public function GetNext():b2Shape{ return (m_next); } public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ } public function GetType():int{ return (m_type); } public function ():Number{ return (m_restitution); } public function ():Number{ return (m_friction); } public function GetFilterData():b2FilterData{ return (.Copy()); } public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ return (false); } public function RefilterProxy(_arg1:b2BroadPhase, _arg2:b2XForm):void{ var _local3:b2AABB; var _local4:Boolean; if ( == b2Pair.b2_nullProxy){ return; }; _arg1.DestroyProxy(); _local3 = s_resetAABB; ComputeAABB(_local3, _arg2); _local4 = _arg1.InRange(_local3); if (_local4){ = _arg1.CreateProxy(_local3, this); } else { = b2Pair.b2_nullProxy; }; } public function (_arg1:b2FilterData):void{ = _arg1.Copy(); } public function GetUserData(){ return (m_userData); } public function Synchronize(_arg1:b2BroadPhase, _arg2:b2XForm, _arg3:b2XForm):Boolean{ var _local4:b2AABB; if ( == b2Pair.b2_nullProxy){ return (false); }; _local4 = s_syncAABB; ComputeSweptAABB(_local4, _arg2, _arg3); if (_arg1.InRange(_local4)){ _arg1.MoveProxy(, _local4); return (true); }; return (false); } public function ComputeMass(_arg1:b2MassData):void{ } public function ():Boolean{ return (m_isSensor); } public function DestroyProxy(_arg1:b2BroadPhase):void{ if ( != b2Pair.b2_nullProxy){ _arg1.DestroyProxy(); = b2Pair.b2_nullProxy; }; } public function UpdateSweepRadius(_arg1:b2Vec2):void{ } public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ } public function GetBody():b2Body{ return (m_body); } public function CreateProxy(_arg1:b2BroadPhase, _arg2:b2XForm):void{ var _local3:b2AABB; var _local4:Boolean; _local3 = s_proxyAABB; ComputeAABB(_local3, _arg2); _local4 = _arg1.InRange(_local3); if (_local4){ = _arg1.CreateProxy(_local3, this); } else { = b2Pair.b2_nullProxy; }; } public function SetUserData(_arg1):void{ m_userData = _arg1; } public static function Destroy(_arg1:b2Shape, _arg2):void{ } public static function Create(_arg1:b2ShapeDef, _arg2):b2Shape{ switch (_arg1.type){ case e_circleShape: return (new b2CircleShape(_arg1)); case e_polygonShape: return (new b2PolygonShape(_arg1)); default: return (null); }; } } }//package Box2D.Collision.ShapesSection 8//b2ShapeDef (Box2D.Collision.Shapes.b2ShapeDef) package Box2D.Collision.Shapes { public class b2ShapeDef { public var isSensor:Boolean;// = false public var density:Number;// = 0 public var type:int;// = -1 public var restitution:Number;// = 0 public var userData;// = null public var filter:b2FilterData; public var friction:Number;// = 0.2 public function b2ShapeDef(){ type = b2Shape.e_unknownShape; userData = null; friction = 0.2; restitution = 0; density = 0; isSensor = false; filter = new b2FilterData(); super(); } } }//package Box2D.Collision.ShapesSection 9//b2AABB (Box2D.Collision.b2AABB) package Box2D.Collision { import Box2D.Common.Math.*; public class b2AABB { public var upperBound:b2Vec2; public var lowerBound:b2Vec2; public function b2AABB(){ lowerBound = new b2Vec2(); upperBound = new b2Vec2(); super(); } public function IsValid():Boolean{ var _local1:Number; var _local2:Number; var _local3:Boolean; _local1 = (upperBound.x - lowerBound.x); _local2 = (upperBound.y - lowerBound.y); _local3 = (((_local1 >= 0)) && ((_local2 >= 0))); _local3 = ((((_local3) && (lowerBound.IsValid()))) && (upperBound.IsValid())); return (_local3); } } }//package Box2D.CollisionSection 10//b2Bound (Box2D.Collision.b2Bound) package Box2D.Collision { public class b2Bound { public var proxyId:uint; public var stabbingCount:uint; public var value:uint; public function Swap(_arg1:b2Bound):void{ var _local2:uint; var _local3:uint; var _local4:uint; _local2 = value; _local3 = proxyId; _local4 = stabbingCount; value = _arg1.value; proxyId = _arg1.proxyId; stabbingCount = _arg1.stabbingCount; _arg1.value = _local2; _arg1.proxyId = _local3; _arg1.stabbingCount = _local4; } public function IsLower():Boolean{ return (((value & 1) == 0)); } public function IsUpper():Boolean{ return (((value & 1) == 1)); } } }//package Box2D.CollisionSection 11//b2BoundValues (Box2D.Collision.b2BoundValues) package Box2D.Collision { public class b2BoundValues { public var lowerValues:Array; public var upperValues:Array; public function b2BoundValues(){ lowerValues = [0, 0]; upperValues = [0, 0]; super(); } } }//package Box2D.CollisionSection 12//b2BroadPhase (Box2D.Collision.b2BroadPhase) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2BroadPhase { public var m_quantizationFactor:b2Vec2; public var m_worldAABB:b2AABB; public var m_bounds:Array; public var :uint; public var m_proxyCount:int; public var m_proxyPool:Array; public var :int; public var m_pairManager:b2PairManager; public var :uint; public var :Array; public static const b2_nullEdge:uint = b2Settings.USHRT_MAX; public static const b2_invalid:uint = b2Settings.USHRT_MAX; public static var s_validate:Boolean = false; public function b2BroadPhase(_arg1:b2AABB, _arg2:b2PairCallback){ var _local3:int; var _local4:Number; var _local5:Number; var _local6:b2Proxy; var _local7:int; m_pairManager = new b2PairManager(); m_proxyPool = new Array(b2Settings.b2_maxPairs); m_bounds = new Array((2 * b2Settings.b2_maxProxies)); = new Array(b2Settings.b2_maxProxies); m_quantizationFactor = new b2Vec2(); super(); m_pairManager.Initialize(this, _arg2); m_worldAABB = _arg1; m_proxyCount = 0; _local3 = 0; while (_local3 < b2Settings.b2_maxProxies) { [_local3] = 0; _local3++; }; m_bounds = new Array(2); _local3 = 0; while (_local3 < 2) { m_bounds[_local3] = new Array((2 * b2Settings.b2_maxProxies)); _local7 = 0; while (_local7 < (2 * b2Settings.b2_maxProxies)) { m_bounds[_local3][_local7] = new b2Bound(); _local7++; }; _local3++; }; _local4 = (_arg1.upperBound.x - _arg1.lowerBound.x); _local5 = (_arg1.upperBound.y - _arg1.lowerBound.y); m_quantizationFactor.x = (b2Settings.USHRT_MAX / _local4); m_quantizationFactor.y = (b2Settings.USHRT_MAX / _local5); _local3 = 0; while (_local3 < (b2Settings.b2_maxProxies - 1)) { _local6 = new b2Proxy(); m_proxyPool[_local3] = _local6; _local6.SetNext((_local3 + 1)); _local6.timeStamp = 0; _local6.overlapCount = b2_invalid; _local6.userData = null; _local3++; }; _local6 = new b2Proxy(); m_proxyPool[int((b2Settings.b2_maxProxies - 1))] = _local6; _local6.SetNext(b2Pair.b2_nullProxy); _local6.timeStamp = 0; _local6.overlapCount = b2_invalid; _local6.userData = null; = 0; = 1; = 0; } public function QueryAABB(_arg1:b2AABB, _arg2, _arg3:int):int{ var _local4:Array; var _local5:Array; var _local6:uint; var _local7:uint; var _local8:Array; var _local9:Array; var _local10:int; var _local11:int; var _local12:b2Proxy; _local4 = new Array(); _local5 = new Array(); (_local4, _local5, _arg1); _local8 = [_local6]; _local9 = [_local7]; (_local8, _local9, _local4[0], _local5[0], m_bounds[0], (2 * m_proxyCount), 0); (_local8, _local9, _local4[1], _local5[1], m_bounds[1], (2 * m_proxyCount), 1); _local10 = 0; _local11 = 0; while ((((_local11 < )) && ((_local10 < _arg3)))) { _local12 = m_proxyPool[ [_local11]]; _arg2[_local11] = _local12.userData; _local11++; _local10++; }; = 0; (); return (_local10); } public function Commit():void{ m_pairManager.Commit(); } public function (_arg1:int):b2Proxy{ var _local2:b2Proxy; _local2 = m_proxyPool[_arg1]; if ((((_arg1 == b2Pair.b2_nullProxy)) || ((_local2.IsValid() == false)))){ return (null); }; return (_local2); } private function ():void{ var _local1:uint; if ( == b2Settings.USHRT_MAX){ _local1 = 0; while (_local1 < b2Settings.b2_maxProxies) { (m_proxyPool[_local1] as b2Proxy).timeStamp = 0; _local1++; }; = 1; } else { ++; }; } private function (_arg1:Array, _arg2:Array, _arg3:uint, _arg4:uint, _arg5:Array, _arg6:uint, _arg7:int):void{ var _local8:uint; var _local9:uint; var _local10:b2Bound; var _local11:uint; var _local12:int; var _local13:int; var _local14:b2Proxy; _local8 = BinarySearch(_arg5, _arg6, _arg3); _local9 = BinarySearch(_arg5, _arg6, _arg4); _local11 = _local8; while (_local11 < _local9) { _local10 = _arg5[_local11]; if (_local10.IsLower()){ (_local10.proxyId); }; _local11++; }; if (_local8 > 0){ _local12 = (_local8 - 1); _local10 = _arg5[_local12]; _local13 = _local10.stabbingCount; while (_local13) { _local10 = _arg5[_local12]; if (_local10.IsLower()){ _local14 = m_proxyPool[_local10.proxyId]; if (_local8 <= _local14.upperBounds[_arg7]){ (_local10.proxyId); _local13--; }; }; _local12--; }; }; _arg1[0] = _local8; _arg2[0] = _local9; } private function (_arg1:b2Proxy, _arg2:b2Proxy):Boolean{ var _local3:int; var _local4:Array; var _local5:b2Bound; var _local6:b2Bound; _local3 = 0; while (_local3 < 2) { _local4 = m_bounds[_local3]; _local5 = _local4[_arg1.lowerBounds[_local3]]; _local6 = _local4[_arg2.upperBounds[_local3]]; if (_local5.value > _local6.value){ return (false); }; _local5 = _local4[_arg1.upperBounds[_local3]]; _local6 = _local4[_arg2.lowerBounds[_local3]]; if (_local5.value < _local6.value){ return (false); }; _local3++; }; return (true); } private function (_arg1:Array, _arg2:Array, _arg3:b2AABB):void{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; _local4 = _arg3.lowerBound.x; _local5 = _arg3.lowerBound.y; _local4 = b2Math.b2Min(_local4, m_worldAABB.upperBound.x); _local5 = b2Math.b2Min(_local5, m_worldAABB.upperBound.y); _local4 = b2Math.b2Max(_local4, m_worldAABB.lowerBound.x); _local5 = b2Math.b2Max(_local5, m_worldAABB.lowerBound.y); _local6 = _arg3.upperBound.x; _local7 = _arg3.upperBound.y; _local6 = b2Math.b2Min(_local6, m_worldAABB.upperBound.x); _local7 = b2Math.b2Min(_local7, m_worldAABB.upperBound.y); _local6 = b2Math.b2Max(_local6, m_worldAABB.lowerBound.x); _local7 = b2Math.b2Max(_local7, m_worldAABB.lowerBound.y); _arg1[0] = (uint((m_quantizationFactor.x * (_local4 - m_worldAABB.lowerBound.x))) & (b2Settings.USHRT_MAX - 1)); _arg2[0] = ((uint((m_quantizationFactor.x * (_local6 - m_worldAABB.lowerBound.x))) & 0xFFFF) | 1); _arg1[1] = (uint((m_quantizationFactor.y * (_local5 - m_worldAABB.lowerBound.y))) & (b2Settings.USHRT_MAX - 1)); _arg2[1] = ((uint((m_quantizationFactor.y * (_local7 - m_worldAABB.lowerBound.y))) & 0xFFFF) | 1); } public function CreateProxy(_arg1:b2AABB, _arg2):uint{ var _local3:uint; var _local4:b2Proxy; var _local5:uint; var _local6:uint; var _local7:Array; var _local8:Array; var _local9:int; var _local10:int; var _local11:Array; var _local12:uint; var _local13:uint; var _local14:Array; var _local15:Array; var _local16:Array; var _local17:int; var _local18:int; var _local19:b2Bound; var _local20:b2Bound; var _local21:b2Bound; var _local22:int; var _local23:b2Proxy; _local5 = ; _local4 = m_proxyPool[_local5]; = _local4.GetNext(); _local4.overlapCount = 0; _local4.userData = _arg2; _local6 = (2 * m_proxyCount); _local7 = new Array(); _local8 = new Array(); (_local7, _local8, _arg1); _local9 = 0; while (_local9 < 2) { _local11 = m_bounds[_local9]; _local14 = [_local12]; _local15 = [_local13]; (_local14, _local15, _local7[_local9], _local8[_local9], _local11, _local6, _local9); _local12 = _local14[0]; _local13 = _local15[0]; _local16 = new Array(); _local18 = (_local6 - _local13); _local17 = 0; while (_local17 < _local18) { _local16[_local17] = new b2Bound(); _local19 = _local16[_local17]; _local20 = _local11[int((_local13 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local18 = _local16.length; _local22 = (_local13 + 2); _local17 = 0; while (_local17 < _local18) { _local20 = _local16[_local17]; _local19 = _local11[int((_local22 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local16 = new Array(); _local18 = (_local13 - _local12); _local17 = 0; while (_local17 < _local18) { _local16[_local17] = new b2Bound(); _local19 = _local16[_local17]; _local20 = _local11[int((_local12 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local18 = _local16.length; _local22 = (_local12 + 1); _local17 = 0; while (_local17 < _local18) { _local20 = _local16[_local17]; _local19 = _local11[int((_local22 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local13++; _local19 = _local11[_local12]; _local20 = _local11[_local13]; _local19.value = _local7[_local9]; _local19.proxyId = _local5; _local20.value = _local8[_local9]; _local20.proxyId = _local5; _local21 = _local11[int((_local12 - 1))]; _local19.stabbingCount = ((_local12 == 0)) ? 0 : _local21.stabbingCount; _local21 = _local11[int((_local13 - 1))]; _local20.stabbingCount = _local21.stabbingCount; _local3 = _local12; while (_local3 < _local13) { _local21 = _local11[_local3]; _local21.stabbingCount++; _local3++; }; _local3 = _local12; while (_local3 < (_local6 + 2)) { _local19 = _local11[_local3]; _local23 = m_proxyPool[_local19.proxyId]; if (_local19.IsLower()){ _local23.lowerBounds[_local9] = _local3; } else { _local23.upperBounds[_local9] = _local3; }; _local3++; }; _local9++; }; m_proxyCount++; _local10 = 0; while (_local10 < ) { m_pairManager.AddBufferedPair(_local5, [_local10]); _local10++; }; m_pairManager.Commit(); = 0; (); return (_local5); } public function DestroyProxy(_arg1:uint):void{ var _local2:b2Bound; var _local3:b2Bound; var _local4:b2Proxy; var _local5:int; var _local6:int; var _local7:int; var _local8:Array; var _local9:uint; var _local10:uint; var _local11:uint; var _local12:uint; var _local13:Array; var _local14:int; var _local15:int; var _local16:int; var _local17:uint; var _local18:int; var _local19:b2Proxy; _local4 = m_proxyPool[_arg1]; _local5 = (2 * m_proxyCount); _local6 = 0; while (_local6 < 2) { _local8 = m_bounds[_local6]; _local9 = _local4.lowerBounds[_local6]; _local10 = _local4.upperBounds[_local6]; _local2 = _local8[_local9]; _local11 = _local2.value; _local3 = _local8[_local10]; _local12 = _local3.value; _local13 = new Array(); _local15 = ((_local10 - _local9) - 1); _local14 = 0; while (_local14 < _local15) { _local13[_local14] = new b2Bound(); _local2 = _local13[_local14]; _local3 = _local8[int(((_local9 + 1) + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = _local13.length; _local16 = _local9; _local14 = 0; while (_local14 < _local15) { _local3 = _local13[_local14]; _local2 = _local8[int((_local16 + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local13 = new Array(); _local15 = ((_local5 - _local10) - 1); _local14 = 0; while (_local14 < _local15) { _local13[_local14] = new b2Bound(); _local2 = _local13[_local14]; _local3 = _local8[int(((_local10 + 1) + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = _local13.length; _local16 = (_local10 - 1); _local14 = 0; while (_local14 < _local15) { _local3 = _local13[_local14]; _local2 = _local8[int((_local16 + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = (_local5 - 2); _local17 = _local9; while (_local17 < _local15) { _local2 = _local8[_local17]; _local19 = m_proxyPool[_local2.proxyId]; if (_local2.IsLower()){ _local19.lowerBounds[_local6] = _local17; } else { _local19.upperBounds[_local6] = _local17; }; _local17++; }; _local15 = (_local10 - 1); _local18 = _local9; while (_local18 < _local15) { _local2 = _local8[_local18]; _local2.stabbingCount--; _local18++; }; ([0], [0], _local11, _local12, _local8, (_local5 - 2), _local6); _local6++; }; _local7 = 0; while (_local7 < ) { m_pairManager.RemoveBufferedPair(_arg1, [_local7]); _local7++; }; m_pairManager.Commit(); = 0; (); _local4.userData = null; _local4.overlapCount = b2_invalid; _local4.lowerBounds[0] = b2_invalid; _local4.lowerBounds[1] = b2_invalid; _local4.upperBounds[0] = b2_invalid; _local4.upperBounds[1] = b2_invalid; _local4.SetNext(); = _arg1; m_proxyCount--; } public function (_arg1:b2BoundValues, _arg2:b2Proxy):Boolean{ var _local3:int; var _local4:Array; var _local5:b2Bound; _local3 = 0; while (_local3 < 2) { _local4 = m_bounds[_local3]; _local5 = _local4[_arg2.upperBounds[_local3]]; if (_arg1.lowerValues[_local3] > _local5.value){ return (false); }; _local5 = _local4[_arg2.lowerBounds[_local3]]; if (_arg1.upperValues[_local3] < _local5.value){ return (false); }; _local3++; }; return (true); } public function Validate():void{ var _local1:b2Pair; var _local2:b2Proxy; var _local3:b2Proxy; var _local4:Boolean; var _local5:int; var _local6:b2Bound; var _local7:uint; var _local8:uint; var _local9:uint; var _local10:b2Bound; _local5 = 0; while (_local5 < 2) { _local6 = m_bounds[_local5]; _local7 = (2 * m_proxyCount); _local8 = 0; _local9 = 0; while (_local9 < _local7) { _local10 = _local6[_local9]; if (_local10.IsLower() == true){ _local8++; } else { _local8--; }; _local9++; }; _local5++; }; } private function (_arg1:uint):void{ var _local2:b2Proxy; _local2 = m_proxyPool[_arg1]; if (_local2.timeStamp < ){ _local2.timeStamp = ; _local2.overlapCount = 1; } else { _local2.overlapCount = 2; [ ] = _arg1; ++; }; } public function InRange(_arg1:b2AABB):Boolean{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local2 = _arg1.lowerBound.x; _local3 = _arg1.lowerBound.y; _local2 = (_local2 - m_worldAABB.upperBound.x); _local3 = (_local3 - m_worldAABB.upperBound.y); _local4 = m_worldAABB.lowerBound.x; _local5 = m_worldAABB.lowerBound.y; _local4 = (_local4 - _arg1.upperBound.x); _local5 = (_local5 - _arg1.upperBound.y); _local2 = b2Math.b2Max(_local2, _local4); _local3 = b2Math.b2Max(_local3, _local5); return ((b2Math.b2Max(_local2, _local3) < 0)); } public function MoveProxy(_arg1:uint, _arg2:b2AABB):void{ var _local3:Array; var _local4:int; var _local5:uint; var _local6:uint; var _local7:b2Bound; var _local8:b2Bound; var _local9:b2Bound; var _local10:uint; var _local11:b2Proxy; var _local12:uint; var _local13:b2Proxy; var _local14:b2BoundValues; var _local15:b2BoundValues; var _local16:Array; var _local17:uint; var _local18:uint; var _local19:uint; var _local20:uint; var _local21:int; var _local22:int; var _local23:uint; var _local24:b2Proxy; if ((((_arg1 == b2Pair.b2_nullProxy)) || ((b2Settings.b2_maxProxies <= _arg1)))){ return; }; if (_arg2.IsValid() == false){ return; }; _local12 = (2 * m_proxyCount); _local13 = m_proxyPool[_arg1]; _local14 = new b2BoundValues(); (_local14.lowerValues, _local14.upperValues, _arg2); _local15 = new b2BoundValues(); _local5 = 0; while (_local5 < 2) { _local7 = m_bounds[_local5][_local13.lowerBounds[_local5]]; _local15.lowerValues[_local5] = _local7.value; _local7 = m_bounds[_local5][_local13.upperBounds[_local5]]; _local15.upperValues[_local5] = _local7.value; _local5++; }; _local5 = 0; while (_local5 < 2) { _local16 = m_bounds[_local5]; _local17 = _local13.lowerBounds[_local5]; _local18 = _local13.upperBounds[_local5]; _local19 = _local14.lowerValues[_local5]; _local20 = _local14.upperValues[_local5]; _local7 = _local16[_local17]; _local21 = (_local19 - _local7.value); _local7.value = _local19; _local7 = _local16[_local18]; _local22 = (_local20 - _local7.value); _local7.value = _local20; if (_local21 < 0){ _local6 = _local17; while ((((_local6 > 0)) && ((_local19 < (_local16[int((_local6 - 1))] as b2Bound).value)))) { _local7 = _local16[_local6]; _local8 = _local16[int((_local6 - 1))]; _local23 = _local8.proxyId; _local24 = m_proxyPool[_local8.proxyId]; _local8.stabbingCount++; if (_local8.IsUpper() == true){ if ( (_local14, _local24)){ m_pairManager.AddBufferedPair(_arg1, _local23); }; _local3 = _local24.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount++; } else { _local3 = _local24.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount--; }; _local3 = _local13.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.Swap(_local8); _local6--; }; }; if (_local22 > 0){ _local6 = _local18; while ((((_local6 < (_local12 - 1))) && (((_local16[int((_local6 + 1))] as b2Bound).value <= _local20)))) { _local7 = _local16[_local6]; _local9 = _local16[int((_local6 + 1))]; _local10 = _local9.proxyId; _local11 = m_proxyPool[_local10]; _local9.stabbingCount++; if (_local9.IsLower() == true){ if ( (_local14, _local11)){ m_pairManager.AddBufferedPair(_arg1, _local10); }; _local3 = _local11.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount++; } else { _local3 = _local11.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount--; }; _local3 = _local13.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.Swap(_local9); _local6++; }; }; if (_local21 > 0){ _local6 = _local17; while ((((_local6 < (_local12 - 1))) && (((_local16[int((_local6 + 1))] as b2Bound).value <= _local19)))) { _local7 = _local16[_local6]; _local9 = _local16[int((_local6 + 1))]; _local10 = _local9.proxyId; _local11 = m_proxyPool[_local10]; _local9.stabbingCount--; if (_local9.IsUpper()){ if ( (_local15, _local11)){ m_pairManager.RemoveBufferedPair(_arg1, _local10); }; _local3 = _local11.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount--; } else { _local3 = _local11.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount++; }; _local3 = _local13.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.Swap(_local9); _local6++; }; }; if (_local22 < 0){ _local6 = _local18; while ((((_local6 > 0)) && ((_local20 < (_local16[int((_local6 - 1))] as b2Bound).value)))) { _local7 = _local16[_local6]; _local8 = _local16[int((_local6 - 1))]; _local23 = _local8.proxyId; _local24 = m_proxyPool[_local23]; _local8.stabbingCount--; if (_local8.IsLower() == true){ if ( (_local15, _local24)){ m_pairManager.RemoveBufferedPair(_arg1, _local23); }; _local3 = _local24.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount--; } else { _local3 = _local24.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount++; }; _local3 = _local13.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.Swap(_local8); _local6--; }; }; _local5++; }; } public static function BinarySearch(_arg1:Array, _arg2:int, _arg3:uint):uint{ var _local4:int; var _local5:int; var _local6:int; var _local7:b2Bound; _local4 = 0; _local5 = (_arg2 - 1); while (_local4 <= _local5) { _local6 = ((_local4 + _local5) / 2); _local7 = _arg1[_local6]; if (_local7.value > _arg3){ _local5 = (_local6 - 1); } else { if (_local7.value < _arg3){ _local4 = (_local6 + 1); } else { return (uint(_local6)); }; }; }; return (uint(_local4)); } } }//package Box2D.CollisionSection 13//b2BufferedPair (Box2D.Collision.b2BufferedPair) package Box2D.Collision { public class b2BufferedPair { public var proxyId1:uint; public var proxyId2:uint; } }//package Box2D.CollisionSection 14//b2Collision (Box2D.Collision.b2Collision) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2Collision { public static const b2_nullFeature:uint = 0xFF; private static var b2CollidePolyTempVec:b2Vec2 = new b2Vec2(); public static function EdgeSeparation(_arg1:b2PolygonShape, _arg2:b2XForm, _arg3:int, _arg4:b2PolygonShape, _arg5:b2XForm):Number{ var _local6:int; var _local7:Array; var _local8:Array; var _local9:int; var _local10:Array; var _local11:b2Mat22; var _local12:b2Vec2; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:int; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; _local6 = _arg1. ; _local7 = _arg1. ; _local8 = _arg1. ; _local9 = _arg4. ; _local10 = _arg4. ; _local11 = _arg2.R; _local12 = _local8[_arg3]; _local13 = ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y)); _local14 = ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y)); _local11 = _arg5.R; _local15 = ((_local11.col1.x * _local13) + (_local11.col1.y * _local14)); _local16 = ((_local11.col2.x * _local13) + (_local11.col2.y * _local14)); _local17 = 0; _local18 = Number.MAX_VALUE; _local19 = 0; while (_local19 < _local9) { _local12 = _local10[_local19]; _local25 = ((_local12.x * _local15) + (_local12.y * _local16)); if (_local25 < _local18){ _local18 = _local25; _local17 = _local19; }; _local19++; }; _local12 = _local7[_arg3]; _local11 = _arg2.R; _local20 = (_arg2.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); _local21 = (_arg2.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local12 = _local10[_local17]; _local11 = _arg5.R; _local22 = (_arg5.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); _local23 = (_arg5.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local22 = (_local22 - _local20); _local23 = (_local23 - _local21); _local24 = ((_local22 * _local13) + (_local23 * _local14)); return (_local24); } public static function b2TestOverlap(_arg1:b2AABB, _arg2:b2AABB):Boolean{ var _local3:b2Vec2; var _local4:b2Vec2; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local3 = _arg2.lowerBound; _local4 = _arg1.upperBound; _local5 = (_local3.x - _local4.x); _local6 = (_local3.y - _local4.y); _local3 = _arg1.lowerBound; _local4 = _arg2.upperBound; _local7 = (_local3.x - _local4.x); _local8 = (_local3.y - _local4.y); if ((((_local5 > 0)) || ((_local6 > 0)))){ return (false); }; if ((((_local7 > 0)) || ((_local8 > 0)))){ return (false); }; return (true); } public static function FindIncidentEdge(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:int, _arg5:b2PolygonShape, _arg6:b2XForm):void{ var _local7:int; var _local8:Array; var _local9:int; var _local10:Array; var _local11:Array; var _local12:b2Mat22; var _local13:b2Vec2; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:int; var _local20:ClipVertex; var _local21:int; var _local22:int; var _local23:Number; _local7 = _arg2. ; _local8 = _arg2. ; _local9 = _arg5. ; _local10 = _arg5. ; _local11 = _arg5. ; _local12 = _arg3.R; _local13 = _local8[_arg4]; _local14 = ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y)); _local15 = ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y)); _local12 = _arg6.R; _local16 = ((_local12.col1.x * _local14) + (_local12.col1.y * _local15)); _local15 = ((_local12.col2.x * _local14) + (_local12.col2.y * _local15)); _local14 = _local16; _local17 = 0; _local18 = Number.MAX_VALUE; _local19 = 0; while (_local19 < _local9) { _local13 = _local11[_local19]; _local23 = ((_local14 * _local13.x) + (_local15 * _local13.y)); if (_local23 < _local18){ _local18 = _local23; _local17 = _local19; }; _local19++; }; _local21 = _local17; _local22 = (((_local21 + 1) < _local9)) ? (_local21 + 1) : 0; _local20 = _arg1[0]; _local13 = _local10[_local21]; _local12 = _arg6.R; _local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y))); _local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y))); _local20.id..referenceEdge = _arg4; _local20.id..incidentEdge = _local21; _local20.id..incidentVertex = 0; _local20 = _arg1[1]; _local13 = _local10[_local22]; _local12 = _arg6.R; _local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y))); _local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y))); _local20.id..referenceEdge = _arg4; _local20.id..incidentEdge = _local22; _local20.id..incidentVertex = 1; } public static function b2CollidePolygons(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):void{ var _local6:ClipVertex; var _local7:int; var _local8:Array; var _local9:Number; var _local10:int; var _local11:Array; var _local12:Number; var _local13:b2PolygonShape; var _local14:b2PolygonShape; var _local15:b2XForm; var _local16:b2XForm; var _local17:int; var _local18:uint; var _local19:Number; var _local20:Number; var _local21:Array; var _local22:int; var _local23:Array; var _local24:b2Vec2; var _local25:b2Vec2; var _local26:b2Vec2; var _local27:b2Vec2; var _local28:b2Vec2; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Array; var _local33:Array; var _local34:int; var _local35:int; var _local36:int; var _local37:b2Vec2; var _local38:Number; var _local39:b2ManifoldPoint; _arg1.pointCount = 0; _local7 = 0; _local8 = [_local7]; _local9 = FindMaxSeparation(_local8, _arg2, _arg3, _arg4, _arg5); _local7 = _local8[0]; if (_local9 > 0){ return; }; _local10 = 0; _local11 = [_local10]; _local12 = FindMaxSeparation(_local11, _arg4, _arg5, _arg2, _arg3); _local10 = _local11[0]; if (_local12 > 0){ return; }; _local15 = new b2XForm(); _local16 = new b2XForm(); _local19 = 0.98; _local20 = 0.001; if (_local12 > ((_local19 * _local9) + _local20)){ _local13 = _arg4; _local14 = _arg2; _local15.Set(_arg5); _local16.Set(_arg3); _local17 = _local10; _local18 = 1; } else { _local13 = _arg2; _local14 = _arg4; _local15.Set(_arg3); _local16.Set(_arg5); _local17 = _local7; _local18 = 0; }; _local21 = [new ClipVertex(), new ClipVertex()]; FindIncidentEdge(_local21, _local13, _local15, _local17, _local14, _local16); _local22 = _local13. ; _local23 = _local13. ; _local24 = _local23[_local17]; _local25 = _local24.Copy(); if ((_local17 + 1) < _local22){ _local24 = _local23[int((_local17 + 1))]; _local37 = _local24.Copy(); } else { _local24 = _local23[0]; _local37 = _local24.Copy(); }; _local26 = b2Math.SubtractVV(_local37, _local25); _local27 = b2Math.b2MulMV(_local15.R, b2Math.SubtractVV(_local37, _local25)); _local27.Normalize(); _local28 = b2Math.b2CrossVF(_local27, 1); _local25 = b2Math.b2MulX(_local15, _local25); _local37 = b2Math.b2MulX(_local15, _local37); _local29 = b2Math.b2Dot(_local28, _local25); _local30 = -(b2Math.b2Dot(_local27, _local25)); _local31 = b2Math.b2Dot(_local27, _local37); _local32 = [new ClipVertex(), new ClipVertex()]; _local33 = [new ClipVertex(), new ClipVertex()]; _local34 = ClipSegmentToLine(_local32, _local21, _local27.Negative(), _local30); if (_local34 < 2){ return; }; _local34 = ClipSegmentToLine(_local33, _local32, _local27, _local31); if (_local34 < 2){ return; }; _arg1.normal = (_local18) ? _local28.Negative() : _local28.Copy(); _local35 = 0; _local36 = 0; while (_local36 < b2Settings.b2_maxManifoldPoints) { _local6 = _local33[_local36]; _local38 = (b2Math.b2Dot(_local28, _local6.v) - _local29); if (_local38 <= 0){ _local39 = _arg1.points[_local35]; _local39.separation = _local38; _local39.localPoint1 = b2Math.b2MulXT(_arg3, _local6.v); _local39.localPoint2 = b2Math.b2MulXT(_arg5, _local6.v); _local39.id.key = _local6.id._key; _local39.id..flip = _local18; _local35++; }; _local36++; }; _arg1.pointCount = _local35; } public static function FindMaxSeparation(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):Number{ var _local6:int; var _local7:Array; var _local8:b2Vec2; var _local9:b2Mat22; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:int; var _local15:Number; var _local16:int; var _local17:Number; var _local18:int; var _local19:Number; var _local20:int; var _local21:Number; var _local22:int; var _local23:Number; var _local24:int; var _local25:Number; _local6 = _arg2. ; _local7 = _arg2. ; _local9 = _arg5.R; _local8 = _arg4. ; _local10 = (_arg5.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y))); _local11 = (_arg5.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y))); _local9 = _arg3.R; _local8 = _arg2. ; _local10 = (_local10 - (_arg3.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y)))); _local11 = (_local11 - (_arg3.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y)))); _local12 = ((_local10 * _arg3.R.col1.x) + (_local11 * _arg3.R.col1.y)); _local13 = ((_local10 * _arg3.R.col2.x) + (_local11 * _arg3.R.col2.y)); _local14 = 0; _local15 = -(Number.MAX_VALUE); _local16 = 0; while (_local16 < _local6) { _local8 = _local7[_local16]; _local25 = ((_local8.x * _local12) + (_local8.y * _local13)); if (_local25 > _local15){ _local15 = _local25; _local14 = _local16; }; _local16++; }; _local17 = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5); if (_local17 > 0){ return (_local17); }; _local18 = (((_local14 - 1) >= 0)) ? (_local14 - 1) : (_local6 - 1); _local19 = EdgeSeparation(_arg2, _arg3, _local18, _arg4, _arg5); if (_local19 > 0){ return (_local19); }; _local20 = (((_local14 + 1) < _local6)) ? (_local14 + 1) : 0; _local21 = EdgeSeparation(_arg2, _arg3, _local20, _arg4, _arg5); if (_local21 > 0){ return (_local21); }; if ((((_local19 > _local17)) && ((_local19 > _local21)))){ _local24 = -1; _local22 = _local18; _local23 = _local19; } else { if (_local21 > _local17){ _local24 = 1; _local22 = _local20; _local23 = _local21; } else { _arg1[0] = _local14; return (_local17); }; }; while (true) { if (_local24 == -1){ _local14 = (((_local22 - 1) >= 0)) ? (_local22 - 1) : (_local6 - 1); } else { _local14 = (((_local22 + 1) < _local6)) ? (_local22 + 1) : 0; }; _local17 = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5); if (_local17 > 0){ return (_local17); }; if (_local17 > _local23){ _local22 = _local14; _local23 = _local17; } else { break; }; }; _arg1[0] = _local22; return (_local23); } public static function ClipSegmentToLine(_arg1:Array, _arg2:Array, _arg3:b2Vec2, _arg4:Number):int{ var _local5:ClipVertex; var _local6:int; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:b2Vec2; var _local13:ClipVertex; _local6 = 0; _local5 = _arg2[0]; _local7 = _local5.v; _local5 = _arg2[1]; _local8 = _local5.v; _local9 = (b2Math.b2Dot(_arg3, _local7) - _arg4); _local10 = (b2Math.b2Dot(_arg3, _local8) - _arg4); if (_local9 <= 0){ var _temp1 = _local6; _local6 = (_local6 + 1); var _local14 = _temp1; _arg1[_local14] = _arg2[0]; }; if (_local10 <= 0){ var _temp2 = _local6; _local6 = (_local6 + 1); _local14 = _temp2; _arg1[_local14] = _arg2[1]; }; if ((_local9 * _local10) < 0){ _local11 = (_local9 / (_local9 - _local10)); _local5 = _arg1[_local6]; _local12 = _local5.v; _local12.x = (_local7.x + (_local11 * (_local8.x - _local7.x))); _local12.y = (_local7.y + (_local11 * (_local8.y - _local7.y))); _local5 = _arg1[_local6]; if (_local9 > 0){ _local13 = _arg2[0]; _local5.id = _local13.id; } else { _local13 = _arg2[1]; _local5.id = _local13.id; }; _local6++; }; return (_local6); } public static function b2CollideCircles(_arg1:b2Manifold, _arg2:b2CircleShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{ var _local6:b2Mat22; var _local7:b2Vec2; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:b2ManifoldPoint; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; _arg1.pointCount = 0; _local6 = _arg3.R; _local7 = _arg2.m_localPosition; _local8 = (_arg3.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); _local9 = (_arg3.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); _local6 = _arg5.R; _local7 = _arg4.m_localPosition; _local10 = (_arg5.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); _local11 = (_arg5.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); _local12 = (_local10 - _local8); _local13 = (_local11 - _local9); _local14 = ((_local12 * _local12) + (_local13 * _local13)); _local15 = _arg2.m_radius; _local16 = _arg4.m_radius; _local17 = (_local15 + _local16); if (_local14 > (_local17 * _local17)){ return; }; if (_local14 < Number.MIN_VALUE){ _local18 = -(_local17); _arg1.normal.Set(0, 1); } else { _local24 = Math.sqrt(_local14); _local18 = (_local24 - _local17); _local25 = (1 / _local24); _arg1.normal.x = (_local25 * _local12); _arg1.normal.y = (_local25 * _local13); }; _arg1.pointCount = 1; _local19 = _arg1.points[0]; _local19.id.key = 0; _local19.separation = _local18; _local8 = (_local8 + (_local15 * _arg1.normal.x)); _local9 = (_local9 + (_local15 * _arg1.normal.y)); _local10 = (_local10 - (_local16 * _arg1.normal.x)); _local11 = (_local11 - (_local16 * _arg1.normal.y)); _local20 = (0.5 * (_local8 + _local10)); _local21 = (0.5 * (_local9 + _local11)); _local22 = (_local20 - _arg3.position.x); _local23 = (_local21 - _arg3.position.y); _local19.localPoint1.x = ((_local22 * _arg3.R.col1.x) + (_local23 * _arg3.R.col1.y)); _local19.localPoint1.y = ((_local22 * _arg3.R.col2.x) + (_local23 * _arg3.R.col2.y)); _local22 = (_local20 - _arg5.position.x); _local23 = (_local21 - _arg5.position.y); _local19.localPoint2.x = ((_local22 * _arg5.R.col1.x) + (_local23 * _arg5.R.col1.y)); _local19.localPoint2.y = ((_local22 * _arg5.R.col2.x) + (_local23 * _arg5.R.col2.y)); } public static function b2CollidePolygonAndCircle(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{ var _local6:b2ManifoldPoint; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:b2Vec2; var _local12:b2Mat22; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:Number; var _local20:Number; var _local21:int; var _local22:Array; var _local23:Array; var _local24:int; var _local25:int; var _local26:int; var _local27:b2Vec2; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; _arg1.pointCount = 0; _local12 = _arg5.R; _local11 = _arg4.m_localPosition; _local13 = (_arg5.position.x + ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y))); _local14 = (_arg5.position.y + ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y))); _local7 = (_local13 - _arg3.position.x); _local8 = (_local14 - _arg3.position.y); _local12 = _arg3.R; _local15 = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local16 = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local18 = 0; _local19 = -(Number.MAX_VALUE); _local20 = _arg4.m_radius; _local21 = _arg2. ; _local22 = _arg2. ; _local23 = _arg2. ; _local24 = 0; while (_local24 < _local21) { _local11 = _local22[_local24]; _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); _local11 = _local23[_local24]; _local34 = ((_local11.x * _local7) + (_local11.y * _local8)); if (_local34 > _local20){ return; }; if (_local34 > _local19){ _local19 = _local34; _local18 = _local24; }; _local24++; }; if (_local19 < Number.MIN_VALUE){ _arg1.pointCount = 1; _local11 = _local23[_local18]; _local12 = _arg3.R; _arg1.normal.x = ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y)); _arg1.normal.y = ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y)); _local6 = _arg1.points[0]; _local6.id..incidentEdge = _local18; _local6.id..incidentVertex = b2_nullFeature; _local6.id..referenceEdge = 0; _local6.id..flip = 0; _local9 = (_local13 - (_local20 * _arg1.normal.x)); _local10 = (_local14 - (_local20 * _arg1.normal.y)); _local7 = (_local9 - _arg3.position.x); _local8 = (_local10 - _arg3.position.y); _local12 = _arg3.R; _local6.localPoint1.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint1.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local7 = (_local9 - _arg5.position.x); _local8 = (_local10 - _arg5.position.y); _local12 = _arg5.R; _local6.localPoint2.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint2.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local6.separation = (_local19 - _local20); return; }; _local25 = _local18; _local26 = (((_local25 + 1) < _local21)) ? (_local25 + 1) : 0; _local11 = _local22[_local25]; _local27 = _local22[_local26]; _local28 = (_local27.x - _local11.x); _local29 = (_local27.y - _local11.y); _local30 = Math.sqrt(((_local28 * _local28) + (_local29 * _local29))); _local28 = (_local28 / _local30); _local29 = (_local29 / _local30); _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); _local31 = ((_local7 * _local28) + (_local8 * _local29)); _local6 = _arg1.points[0]; if (_local31 <= 0){ _local32 = _local11.x; _local33 = _local11.y; _local6.id..incidentEdge = b2_nullFeature; _local6.id..incidentVertex = _local25; } else { if (_local31 >= _local30){ _local32 = _local27.x; _local33 = _local27.y; _local6.id..incidentEdge = b2_nullFeature; _local6.id..incidentVertex = _local26; } else { _local32 = ((_local28 * _local31) + _local11.x); _local33 = ((_local29 * _local31) + _local11.y); _local6.id..incidentEdge = _local18; _local6.id..incidentVertex = 0; }; }; _local7 = (_local15 - _local32); _local8 = (_local16 - _local33); _local17 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8))); _local7 = (_local7 / _local17); _local8 = (_local8 / _local17); if (_local17 > _local20){ return; }; _arg1.pointCount = 1; _local12 = _arg3.R; _arg1.normal.x = ((_local12.col1.x * _local7) + (_local12.col2.x * _local8)); _arg1.normal.y = ((_local12.col1.y * _local7) + (_local12.col2.y * _local8)); _local9 = (_local13 - (_local20 * _arg1.normal.x)); _local10 = (_local14 - (_local20 * _arg1.normal.y)); _local7 = (_local9 - _arg3.position.x); _local8 = (_local10 - _arg3.position.y); _local12 = _arg3.R; _local6.localPoint1.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint1.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local7 = (_local9 - _arg5.position.x); _local8 = (_local10 - _arg5.position.y); _local12 = _arg5.R; _local6.localPoint2.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint2.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local6.separation = (_local17 - _local20); _local6.id..referenceEdge = 0; _local6.id..flip = 0; } } }//package Box2D.CollisionSection 15//b2ContactID (Box2D.Collision.b2ContactID) package Box2D.Collision { public class b2ContactID { public var _key:uint; public var :Features; public function b2ContactID(){ = new Features(); super(); . = this; } public function Set(_arg1:b2ContactID):void{ key = _arg1._key; } public function Copy():b2ContactID{ var _local1:b2ContactID; _local1 = new b2ContactID(); _local1.key = key; return (_local1); } public function get key():uint{ return (_key); } public function set key(_arg1:uint):void{ _key = _arg1; . = (_key & 0xFF); . = (((_key & 0xFF00) >> 8) & 0xFF); . = (((_key & 0xFF0000) >> 16) & 0xFF); . = (((_key & 4278190080) >> 24) & 0xFF); } } }//package Box2D.CollisionSection 16//b2ContactPoint (Box2D.Collision.b2ContactPoint) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class b2ContactPoint { public var separation:Number; public var normal:b2Vec2; public var position:b2Vec2; public var restitution:Number; public var shape1:b2Shape; public var shape2:b2Shape; public var id:b2ContactID; public var friction:Number; public var velocity:b2Vec2; public function b2ContactPoint(){ position = new b2Vec2(); velocity = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.CollisionSection 17//b2Distance (Box2D.Collision.b2Distance) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2Distance { private static var s_p2s:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var s_p1s:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var s_points:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var gPoint:b2Point = new b2Point(); public static var g_GJK_Iterations:int = 0; public static function InPoints(_arg1:b2Vec2, _arg2:Array, _arg3:int):Boolean{ var _local4:Number; var _local5:int; var _local6:b2Vec2; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local4 = (100 * Number.MIN_VALUE); _local5 = 0; while (_local5 < _arg3) { _local6 = _arg2[_local5]; _local7 = Math.abs((_arg1.x - _local6.x)); _local8 = Math.abs((_arg1.y - _local6.y)); _local9 = Math.max(Math.abs(_arg1.x), Math.abs(_local6.x)); _local10 = Math.max(Math.abs(_arg1.y), Math.abs(_local6.y)); if ((((_local7 < (_local4 * (_local9 + 1)))) && ((_local8 < (_local4 * (_local10 + 1)))))){ return (true); }; _local5++; }; return (false); } public static function DistanceGeneric(_arg1:b2Vec2, _arg2:b2Vec2, _arg3, _arg4:b2XForm, _arg5, _arg6:b2XForm):Number{ var _local7:b2Vec2; var _local8:Array; var _local9:Array; var _local10:Array; var _local11:int; var _local12:Number; var _local13:int; var _local14:int; var _local15:Number; var _local16:Number; var _local17:b2Vec2; var _local18:b2Vec2; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:int; _local8 = s_p1s; _local9 = s_p2s; _local10 = s_points; _local11 = 0; _arg1.SetV(_arg3.GetFirstVertex(_arg4)); _arg2.SetV(_arg5.GetFirstVertex(_arg6)); _local12 = 0; _local13 = 20; _local14 = 0; while (_local14 < _local13) { _local15 = (_arg2.x - _arg1.x); _local16 = (_arg2.y - _arg1.y); _local17 = _arg3.Support(_arg4, _local15, _local16); _local18 = _arg5.Support(_arg6, -(_local15), -(_local16)); _local12 = ((_local15 * _local15) + (_local16 * _local16)); _local19 = (_local18.x - _local17.x); _local20 = (_local18.y - _local17.y); _local21 = ((_local15 * _local19) + (_local16 * _local20)); if ((_local12 - ((_local15 * _local19) + (_local16 * _local20))) <= (0.01 * _local12)){ if (_local11 == 0){ _arg1.SetV(_local17); _arg2.SetV(_local18); }; g_GJK_Iterations = _local14; return (Math.sqrt(_local12)); }; switch (_local11){ case 0: _local7 = _local8[0]; _local7.SetV(_local17); _local7 = _local9[0]; _local7.SetV(_local18); _local7 = _local10[0]; _local7.x = _local19; _local7.y = _local20; _arg1.SetV(_local8[0]); _arg2.SetV(_local9[0]); _local11++; break; case 1: _local7 = _local8[1]; _local7.SetV(_local17); _local7 = _local9[1]; _local7.SetV(_local18); _local7 = _local10[1]; _local7.x = _local19; _local7.y = _local20; _local11 = ProcessTwo(_arg1, _arg2, _local8, _local9, _local10); break; case 2: _local7 = _local8[2]; _local7.SetV(_local17); _local7 = _local9[2]; _local7.SetV(_local18); _local7 = _local10[2]; _local7.x = _local19; _local7.y = _local20; _local11 = ProcessThree(_arg1, _arg2, _local8, _local9, _local10); break; }; if (_local11 == 3){ g_GJK_Iterations = _local14; return (0); }; _local22 = -(Number.MAX_VALUE); _local23 = 0; while (_local23 < _local11) { _local7 = _local10[_local23]; _local22 = b2Math.b2Max(_local22, ((_local7.x * _local7.x) + (_local7.y * _local7.y))); _local23++; }; if ((((_local11 == 3)) || ((_local12 <= ((100 * Number.MIN_VALUE) * _local22))))){ g_GJK_Iterations = _local14; _local15 = (_arg2.x - _arg1.x); _local16 = (_arg2.y - _arg1.y); _local12 = ((_local15 * _local15) + (_local16 * _local16)); return (Math.sqrt(_local12)); }; _local14++; }; g_GJK_Iterations = _local13; return (Math.sqrt(_local12)); } public static function DistanceCC(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2CircleShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{ var _local7:b2Mat22; var _local8:b2Vec2; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; _local7 = _arg4.R; _local8 = _arg3.m_localPosition; _local9 = (_arg4.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local10 = (_arg4.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local7 = _arg6.R; _local8 = _arg5.m_localPosition; _local11 = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local12 = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local13 = (_local11 - _local9); _local14 = (_local12 - _local10); _local15 = ((_local13 * _local13) + (_local14 * _local14)); _local16 = (_arg3.m_radius - b2Settings.b2_toiSlop); _local17 = (_arg5.m_radius - b2Settings.b2_toiSlop); _local18 = (_local16 + _local17); if (_local15 > (_local18 * _local18)){ _local19 = Math.sqrt(((_local13 * _local13) + (_local14 * _local14))); _local13 = (_local13 / _local19); _local14 = (_local14 / _local19); _local20 = (_local19 - _local18); _arg1.x = (_local9 + (_local16 * _local13)); _arg1.y = (_local10 + (_local16 * _local14)); _arg2.x = (_local11 - (_local17 * _local13)); _arg2.y = (_local12 - (_local17 * _local14)); return (_local20); }; if (_local15 > (Number.MIN_VALUE * Number.MIN_VALUE)){ _local19 = Math.sqrt(((_local13 * _local13) + (_local14 * _local14))); _local13 = (_local13 / _local19); _local14 = (_local14 / _local19); _arg1.x = (_local9 + (_local16 * _local13)); _arg1.y = (_local10 + (_local16 * _local14)); _arg2.x = _arg1.x; _arg2.y = _arg1.y; return (0); }; _arg1.x = _local9; _arg1.y = _local10; _arg2.x = _arg1.x; _arg2.y = _arg1.y; return (0); } public static function ProcessThree(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{ var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:b2Vec2; var _local13:b2Vec2; var _local14:b2Vec2; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local39:Number; var _local40:Number; var _local41:Number; _local6 = _arg5[0]; _local7 = _arg5[1]; _local8 = _arg5[2]; _local9 = _arg3[0]; _local10 = _arg3[1]; _local11 = _arg3[2]; _local12 = _arg4[0]; _local13 = _arg4[1]; _local14 = _arg4[2]; _local15 = _local6.x; _local16 = _local6.y; _local17 = _local7.x; _local18 = _local7.y; _local19 = _local8.x; _local20 = _local8.y; _local21 = (_local17 - _local15); _local22 = (_local18 - _local16); _local23 = (_local19 - _local15); _local24 = (_local20 - _local16); _local25 = (_local19 - _local17); _local26 = (_local20 - _local18); _local27 = -(((_local15 * _local21) + (_local16 * _local22))); _local28 = ((_local17 * _local21) + (_local18 * _local22)); _local29 = -(((_local15 * _local23) + (_local16 * _local24))); _local30 = ((_local19 * _local23) + (_local20 * _local24)); _local31 = -(((_local17 * _local25) + (_local18 * _local26))); _local32 = ((_local19 * _local25) + (_local20 * _local26)); if ((((_local30 <= 0)) && ((_local32 <= 0)))){ _arg1.SetV(_local11); _arg2.SetV(_local14); _local9.SetV(_local11); _local12.SetV(_local14); _local6.SetV(_local8); return (1); }; _local33 = ((_local21 * _local24) - (_local22 * _local23)); _local34 = (_local33 * ((_local15 * _local18) - (_local16 * _local17))); _local36 = (_local33 * ((_local17 * _local20) - (_local18 * _local19))); if ((((((((_local36 <= 0)) && ((_local31 >= 0)))) && ((_local32 >= 0)))) && (((_local31 + _local32) > 0)))){ _local35 = (_local31 / (_local31 + _local32)); _arg1.x = (_local10.x + (_local35 * (_local11.x - _local10.x))); _arg1.y = (_local10.y + (_local35 * (_local11.y - _local10.y))); _arg2.x = (_local13.x + (_local35 * (_local14.x - _local13.x))); _arg2.y = (_local13.y + (_local35 * (_local14.y - _local13.y))); _local9.SetV(_local11); _local12.SetV(_local14); _local6.SetV(_local8); return (2); }; _local37 = (_local33 * ((_local19 * _local16) - (_local20 * _local15))); if ((((((((_local37 <= 0)) && ((_local29 >= 0)))) && ((_local30 >= 0)))) && (((_local29 + _local30) > 0)))){ _local35 = (_local29 / (_local29 + _local30)); _arg1.x = (_local9.x + (_local35 * (_local11.x - _local9.x))); _arg1.y = (_local9.y + (_local35 * (_local11.y - _local9.y))); _arg2.x = (_local12.x + (_local35 * (_local14.x - _local12.x))); _arg2.y = (_local12.y + (_local35 * (_local14.y - _local12.y))); _local10.SetV(_local11); _local13.SetV(_local14); _local7.SetV(_local8); return (2); }; _local38 = ((_local36 + _local37) + _local34); _local38 = (1 / _local38); _local39 = (_local36 * _local38); _local40 = (_local37 * _local38); _local41 = ((1 - _local39) - _local40); _arg1.x = (((_local39 * _local9.x) + (_local40 * _local10.x)) + (_local41 * _local11.x)); _arg1.y = (((_local39 * _local9.y) + (_local40 * _local10.y)) + (_local41 * _local11.y)); _arg2.x = (((_local39 * _local12.x) + (_local40 * _local13.x)) + (_local41 * _local14.x)); _arg2.y = (((_local39 * _local12.y) + (_local40 * _local13.y)) + (_local41 * _local14.y)); return (3); } public static function DistancePC(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2PolygonShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{ var _local7:b2Mat22; var _local8:b2Vec2; var _local9:b2Point; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; _local9 = gPoint; _local8 = _arg5.m_localPosition; _local7 = _arg6.R; _local9.p.x = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local9.p.y = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local10 = DistanceGeneric(_arg1, _arg2, _arg3, _arg4, _local9, b2Math.b2XForm_identity); _local11 = (_arg5.m_radius - b2Settings.b2_toiSlop); if (_local10 > _local11){ _local10 = (_local10 - _local11); _local12 = (_arg2.x - _arg1.x); _local13 = (_arg2.y - _arg1.y); _local14 = Math.sqrt(((_local12 * _local12) + (_local13 * _local13))); _local12 = (_local12 / _local14); _local13 = (_local13 / _local14); _arg2.x = (_arg2.x - (_local11 * _local12)); _arg2.y = (_arg2.y - (_local11 * _local13)); } else { _local10 = 0; _arg2.x = _arg1.x; _arg2.y = _arg1.y; }; return (_local10); } public static function Distance(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Shape, _arg4:b2XForm, _arg5:b2Shape, _arg6:b2XForm):Number{ var _local7:int; var _local8:int; _local7 = _arg3.m_type; _local8 = _arg5.m_type; if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_circleShape)))){ return (DistanceCC(_arg1, _arg2, (_arg3 as b2CircleShape), _arg4, (_arg5 as b2CircleShape), _arg6)); }; if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_circleShape)))){ return (DistancePC(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2CircleShape), _arg6)); }; if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_polygonShape)))){ return (DistancePC(_arg2, _arg1, (_arg5 as b2PolygonShape), _arg6, (_arg3 as b2CircleShape), _arg4)); }; if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_polygonShape)))){ return (DistanceGeneric(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2PolygonShape), _arg6)); }; return (0); } public static function ProcessTwo(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{ var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local6 = _arg5[0]; _local7 = _arg5[1]; _local8 = _arg3[0]; _local9 = _arg3[1]; _local10 = _arg4[0]; _local11 = _arg4[1]; _local12 = -(_local7.x); _local13 = -(_local7.y); _local14 = (_local6.x - _local7.x); _local15 = (_local6.y - _local7.y); _local16 = Math.sqrt(((_local14 * _local14) + (_local15 * _local15))); _local14 = (_local14 / _local16); _local15 = (_local15 / _local16); _local17 = ((_local12 * _local14) + (_local13 * _local15)); if ((((_local17 <= 0)) || ((_local16 < Number.MIN_VALUE)))){ _arg1.SetV(_local9); _arg2.SetV(_local11); _local8.SetV(_local9); _local10.SetV(_local11); _local6.SetV(_local7); return (1); }; _local17 = (_local17 / _local16); _arg1.x = (_local9.x + (_local17 * (_local8.x - _local9.x))); _arg1.y = (_local9.y + (_local17 * (_local8.y - _local9.y))); _arg2.x = (_local11.x + (_local17 * (_local10.x - _local11.x))); _arg2.y = (_local11.y + (_local17 * (_local10.y - _local11.y))); return (2); } } }//package Box2D.CollisionSection 18//b2Manifold (Box2D.Collision.b2Manifold) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2Manifold { public var points:Array; public var pointCount:int;// = 0 public var normal:b2Vec2; public function b2Manifold(){ var _local1:int; pointCount = 0; super(); points = new Array(b2Settings.b2_maxManifoldPoints); _local1 = 0; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ManifoldPoint(); _local1++; }; normal = new b2Vec2(); } public function Set(_arg1:b2Manifold):void{ var _local2:int; pointCount = _arg1.pointCount; _local2 = 0; while (_local2 < b2Settings.b2_maxManifoldPoints) { (points[_local2] as b2ManifoldPoint).Set(_arg1.points[_local2]); _local2++; }; normal.SetV(_arg1.normal); } public function Reset():void{ var _local1:int; _local1 = 0; while (_local1 < b2Settings.b2_maxManifoldPoints) { (points[_local1] as b2ManifoldPoint).Reset(); _local1++; }; normal.SetZero(); pointCount = 0; } } }//package Box2D.CollisionSection 19//b2ManifoldPoint (Box2D.Collision.b2ManifoldPoint) package Box2D.Collision { import Box2D.Common.Math.*; public class b2ManifoldPoint { public var separation:Number; public var localPoint2:b2Vec2; public var normalImpulse:Number; public var tangentImpulse:Number; public var localPoint1:b2Vec2; public var id:b2ContactID; public function b2ManifoldPoint(){ localPoint1 = new b2Vec2(); localPoint2 = new b2Vec2(); id = new b2ContactID(); super(); } public function Set(_arg1:b2ManifoldPoint):void{ localPoint1.SetV(_arg1.localPoint1); localPoint2.SetV(_arg1.localPoint2); separation = _arg1.separation; normalImpulse = _arg1.normalImpulse; tangentImpulse = _arg1.tangentImpulse; id.key = _arg1.id.key; } public function Reset():void{ localPoint1.SetZero(); localPoint2.SetZero(); separation = 0; normalImpulse = 0; tangentImpulse = 0; id.key = 0; } } }//package Box2D.CollisionSection 20//b2OBB (Box2D.Collision.b2OBB) package Box2D.Collision { import Box2D.Common.Math.*; public class b2OBB { public var R:b2Mat22; public var center:b2Vec2; public var extents:b2Vec2; public function b2OBB(){ R = new b2Mat22(); center = new b2Vec2(); extents = new b2Vec2(); super(); } } }//package Box2D.CollisionSection 21//b2Pair (Box2D.Collision.b2Pair) package Box2D.Collision { import Box2D.Common.*; public class b2Pair { public var userData;// = null public var proxyId1:uint; public var proxyId2:uint; public var status:uint; public var next:uint; public static var e_pairFinal:uint = 4; public static var b2_tableMask:int = (b2_tableCapacity - 1); public static var e_pairRemoved:uint = 2; public static var b2_nullPair:uint = b2Settings.USHRT_MAX; public static var e_pairBuffered:uint = 1; public static var b2_nullProxy:uint = b2Settings.USHRT_MAX; public static var b2_tableCapacity:int = b2Settings.b2_maxPairs; public function b2Pair(){ userData = null; super(); } public function SetBuffered():void{ status = (status | e_pairBuffered); } public function IsBuffered():Boolean{ return (((status & e_pairBuffered) == e_pairBuffered)); } public function IsFinal():Boolean{ return (((status & e_pairFinal) == e_pairFinal)); } public function ClearRemoved():void{ status = (status & ~(e_pairRemoved)); } public function SetFinal():void{ status = (status | e_pairFinal); } public function IsRemoved():Boolean{ return (((status & e_pairRemoved) == e_pairRemoved)); } public function ClearBuffered():void{ status = (status & ~(e_pairBuffered)); } public function SetRemoved():void{ status = (status | e_pairRemoved); } } }//package Box2D.CollisionSection 22//b2PairCallback (Box2D.Collision.b2PairCallback) package Box2D.Collision { public class b2PairCallback { public function PairRemoved(_arg1, _arg2, _arg3):void{ } public function PairAdded(_arg1, _arg2){ return (null); } } }//package Box2D.CollisionSection 23//b2PairManager (Box2D.Collision.b2PairManager) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2PairManager { public var m_pairCount:int; public var :Array; public var :b2PairCallback; public var m_pairs:Array; public var :int; public var m_hashTable:Array; public var m_broadPhase:b2BroadPhase; public var :uint; public function b2PairManager(){ var _local1:uint; super(); m_hashTable = new Array(b2Pair.b2_tableCapacity); _local1 = 0; while (_local1 < b2Pair.b2_tableCapacity) { m_hashTable[_local1] = b2Pair.b2_nullPair; _local1++; }; m_pairs = new Array(b2Settings.b2_maxPairs); _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairs[_local1] = new b2Pair(); _local1++; }; = new Array(b2Settings.b2_maxPairs); _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { [_local1] = new b2BufferedPair(); _local1++; }; _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairs[_local1].proxyId1 = b2Pair.b2_nullProxy; m_pairs[_local1].proxyId2 = b2Pair.b2_nullProxy; m_pairs[_local1].userData = null; m_pairs[_local1].status = 0; m_pairs[_local1].next = (_local1 + 1); _local1++; }; m_pairs[int((b2Settings.b2_maxPairs - 1))].next = b2Pair.b2_nullPair; m_pairCount = 0; = 0; } private function (_arg1:uint, _arg2:uint, _arg3:uint):b2Pair{ var _local4:b2Pair; var _local5:uint; _local5 = m_hashTable[_arg3]; _local4 = m_pairs[_local5]; while (((!((_local5 == b2Pair.b2_nullPair))) && ((Equals(_local4, _arg1, _arg2) == false)))) { _local5 = _local4.next; _local4 = m_pairs[_local5]; }; if (_local5 == b2Pair.b2_nullPair){ return (null); }; return (_local4); } private function (_arg1:uint, _arg2:uint):b2Pair{ var _local3:uint; var _local4:uint; if (_arg1 > _arg2){ _local4 = _arg1; _arg1 = _arg2; _arg2 = _local4; }; _local3 = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); return ((_arg1, _arg2, _local3)); } private function ():void{ } public function Commit():void{ var _local1:b2BufferedPair; var _local2:int; var _local3:int; var _local4:Array; var _local5:b2Pair; var _local6:b2Proxy; var _local7:b2Proxy; _local3 = 0; _local4 = m_broadPhase.m_proxyPool; _local2 = 0; while (_local2 < ) { _local1 = [_local2]; _local5 = (_local1.proxyId1, _local1.proxyId2); _local5.ClearBuffered(); _local6 = _local4[_local5.proxyId1]; _local7 = _local4[_local5.proxyId2]; if (_local5.IsRemoved()){ if (_local5.IsFinal() == true){ .PairRemoved(_local6.userData, _local7.userData, _local5.userData); }; _local1 = [_local3]; _local1.proxyId1 = _local5.proxyId1; _local1.proxyId2 = _local5.proxyId2; _local3++; } else { if (_local5.IsFinal() == false){ _local5.userData = .PairAdded(_local6.userData, _local7.userData); _local5.SetFinal(); }; }; _local2++; }; _local2 = 0; while (_local2 < _local3) { _local1 = [_local2]; (_local1.proxyId1, _local1.proxyId2); _local2++; }; = 0; if (b2BroadPhase.s_validate){ (); }; } public function RemoveBufferedPair(_arg1:int, _arg2:int):void{ var _local3:b2BufferedPair; var _local4:b2Pair; _local4 = (_arg1, _arg2); if (_local4 == null){ return; }; if (_local4.IsBuffered() == false){ _local4.SetBuffered(); _local3 = []; _local3.proxyId1 = _local4.proxyId1; _local3.proxyId2 = _local4.proxyId2; ++; }; _local4.SetRemoved(); if (b2BroadPhase.s_validate){ (); }; } private function (_arg1:uint, _arg2:uint){ var _local3:b2Pair; var _local4:uint; var _local5:uint; var _local6:b2Pair; var _local7:uint; var _local8:uint; var _local9:*; if (_arg1 > _arg2){ _local7 = _arg1; _arg1 = _arg2; _arg2 = _local7; }; _local4 = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); _local5 = m_hashTable[_local4]; _local6 = null; while (_local5 != b2Pair.b2_nullPair) { if (Equals(m_pairs[_local5], _arg1, _arg2)){ _local8 = _local5; _local3 = m_pairs[_local5]; if (_local6){ _local6.next = _local3.next; } else { m_hashTable[_local4] = _local3.next; }; _local3 = m_pairs[_local8]; _local9 = _local3.userData; _local3.next = ; _local3.proxyId1 = b2Pair.b2_nullProxy; _local3.proxyId2 = b2Pair.b2_nullProxy; _local3.userData = null; _local3.status = 0; = _local8; m_pairCount--; return (_local9); } else { _local6 = m_pairs[_local5]; _local5 = _local6.next; }; }; return (null); } public function Initialize(_arg1:b2BroadPhase, _arg2:b2PairCallback):void{ m_broadPhase = _arg1; = _arg2; } public function AddBufferedPair(_arg1:int, _arg2:int):void{ var _local3:b2BufferedPair; var _local4:b2Pair; _local4 = (_arg1, _arg2); if (_local4.IsBuffered() == false){ _local4.SetBuffered(); _local3 = []; _local3.proxyId1 = _local4.proxyId1; _local3.proxyId2 = _local4.proxyId2; ++; }; _local4.ClearRemoved(); if (b2BroadPhase.s_validate){ (); }; } private function (_arg1:uint, _arg2:uint):b2Pair{ var _local3:uint; var _local4:b2Pair; var _local5:uint; var _local6:uint; if (_arg1 > _arg2){ _local6 = _arg1; _arg1 = _arg2; _arg2 = _local6; }; _local3 = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); _local4 = (_arg1, _arg2, _local3); if (_local4 != null){ return (_local4); }; _local5 = ; _local4 = m_pairs[_local5]; = _local4.next; _local4.proxyId1 = _arg1; _local4.proxyId2 = _arg2; _local4.status = 0; _local4.userData = null; _local4.next = m_hashTable[_local3]; m_hashTable[_local3] = _local5; m_pairCount++; return (_local4); } private function ():void{ } public static function EqualsPair(_arg1:b2BufferedPair, _arg2:b2BufferedPair):Boolean{ return ((((_arg1.proxyId1 == _arg2.proxyId1)) && ((_arg1.proxyId2 == _arg2.proxyId2)))); } public static function Hash(_arg1:uint, _arg2:uint):uint{ var _local3:uint; _local3 = (((_arg2 << 16) & 4294901760) | _arg1); _local3 = (~(_local3) + ((_local3 << 15) & 4294934528)); _local3 = (_local3 ^ ((_local3 >> 12) & 1048575)); _local3 = (_local3 + ((_local3 << 2) & 4294967292)); _local3 = (_local3 ^ ((_local3 >> 4) & 268435455)); _local3 = (_local3 * 2057); _local3 = (_local3 ^ ((_local3 >> 16) & 0xFFFF)); return (_local3); } public static function Equals(_arg1:b2Pair, _arg2:uint, _arg3:uint):Boolean{ return ((((_arg1.proxyId1 == _arg2)) && ((_arg1.proxyId2 == _arg3)))); } } }//package Box2D.CollisionSection 24//b2Point (Box2D.Collision.b2Point) package Box2D.Collision { import Box2D.Common.Math.*; public class b2Point { public var p:b2Vec2; public function b2Point(){ p = new b2Vec2(); super(); } public function GetFirstVertex(_arg1:b2XForm):b2Vec2{ return (p); } public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ return (p); } } }//package Box2D.CollisionSection 25//b2Proxy (Box2D.Collision.b2Proxy) package Box2D.Collision { public class b2Proxy { public var overlapCount:uint; public var lowerBounds:Array; public var upperBounds:Array; public var userData;// = null public var timeStamp:uint; public function b2Proxy(){ lowerBounds = [uint(0), uint(0)]; upperBounds = [uint(0), uint(0)]; userData = null; super(); } public function GetNext():uint{ return (lowerBounds[0]); } public function IsValid():Boolean{ return (!((overlapCount == b2BroadPhase.b2_invalid))); } public function SetNext(_arg1:uint):void{ lowerBounds[0] = (_arg1 & 0xFFFF); } } }//package Box2D.CollisionSection 26//b2Segment (Box2D.Collision.b2Segment) package Box2D.Collision { import Box2D.Common.Math.*; public class b2Segment { public var p1:b2Vec2; public var p2:b2Vec2; public function b2Segment(){ p1 = new b2Vec2(); p2 = new b2Vec2(); super(); } public function TestSegment(_arg1:Array, _arg2:b2Vec2, _arg3:b2Segment, _arg4:Number):Boolean{ var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; _local5 = _arg3.p1; _local6 = (_arg3.p2.x - _local5.x); _local7 = (_arg3.p2.y - _local5.y); _local8 = (p2.x - p1.x); _local9 = (p2.y - p1.y); _local10 = _local9; _local11 = -(_local8); _local12 = (100 * Number.MIN_VALUE); _local13 = -(((_local6 * _local10) + (_local7 * _local11))); if (_local13 > _local12){ _local14 = (_local5.x - p1.x); _local15 = (_local5.y - p1.y); _local16 = ((_local14 * _local10) + (_local15 * _local11)); if ((((0 <= _local16)) && ((_local16 <= (_arg4 * _local13))))){ _local17 = ((-(_local7) * _local15) + (_local7 * _local14)); if (((((-(_local12) * _local13) <= _local17)) && ((_local17 <= (_local13 * (1 + _local12)))))){ _local16 = (_local16 / _local13); _local18 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); _local10 = (_local10 / _local18); _local11 = (_local11 / _local18); _arg1[0] = _local16; _arg2.Set(_local10, _local11); return (true); }; }; }; return (false); } } }//package Box2D.CollisionSection 27//b2TimeOfImpact (Box2D.Collision.b2TimeOfImpact) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2TimeOfImpact { public static var s_xf1:b2XForm = new b2XForm(); public static var s_xf2:b2XForm = new b2XForm(); public static var s_p1:b2Vec2 = new b2Vec2(); public static var s_p2:b2Vec2 = new b2Vec2(); public static function TimeOfImpact(_arg1:b2Shape, _arg2:b2Sweep, _arg3:b2Shape, _arg4:b2Sweep):Number{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:b2Vec2; var _local18:b2Vec2; var _local19:int; var _local20:int; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:b2XForm; var _local27:b2XForm; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; _local7 = _arg1.m_sweepRadius; _local8 = _arg3.m_sweepRadius; _local9 = _arg2.t0; _local10 = (_arg2.c.x - _arg2.c0.x); _local11 = (_arg2.c.y - _arg2.c0.y); _local12 = (_arg4.c.x - _arg4.c0.x); _local13 = (_arg4.c.y - _arg4.c0.y); _local14 = (_arg2.a - _arg2.a0); _local15 = (_arg4.a - _arg4.a0); _local16 = 0; _local17 = s_p1; _local18 = s_p2; _local19 = 20; _local20 = 0; _local21 = 0; _local22 = 0; _local23 = 0; _local24 = 0; while (true) { _local25 = (((1 - _local16) * _local9) + _local16); _local26 = s_xf1; _local27 = s_xf2; _arg2.GetXForm(_local26, _local25); _arg4.GetXForm(_local27, _local25); _local23 = b2Distance.Distance(_local17, _local18, _arg1, _local26, _arg3, _local27); if (_local20 == 0){ if (_local23 > (2 * b2Settings.b2_toiSlop)){ _local24 = (1.5 * b2Settings.b2_toiSlop); } else { _local5 = (0.05 * b2Settings.b2_toiSlop); _local6 = (_local23 - (0.5 * b2Settings.b2_toiSlop)); _local24 = ((_local5 > _local6)) ? _local5 : _local6; }; }; if (((((_local23 - _local24) < (0.05 * b2Settings.b2_toiSlop))) || ((_local20 == _local19)))){ break; }; _local21 = (_local18.x - _local17.x); _local22 = (_local18.y - _local17.y); _local28 = Math.sqrt(((_local21 * _local21) + (_local22 * _local22))); _local21 = (_local21 / _local28); _local22 = (_local22 / _local28); _local29 = ((((_local21 * (_local10 - _local12)) + (_local22 * (_local11 - _local13))) + (((_local14 < 0)) ? -(_local14) : _local14 * _local7)) + (((_local15 < 0)) ? -(_local15) : _local15 * _local8)); if (_local29 == 0){ _local16 = 1; break; }; _local30 = ((_local23 - _local24) / _local29); _local31 = (_local16 + _local30); if ((((_local31 < 0)) || ((1 < _local31)))){ _local16 = 1; break; }; if (_local31 < ((1 + (100 * Number.MIN_VALUE)) * _local16)){ break; }; _local16 = _local31; _local20++; }; return (_local16); } } }//package Box2D.CollisionSection 28//ClipVertex (Box2D.Collision.ClipVertex) package Box2D.Collision { import Box2D.Common.Math.*; public class ClipVertex { public var v:b2Vec2; public var id:b2ContactID; public function ClipVertex(){ v = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.CollisionSection 29//Features (Box2D.Collision.Features) package Box2D.Collision { public class Features { public var :int; public var :int; public var :int; public var :int; public var :b2ContactID; public function get referenceEdge():int{ return (); } public function set incidentVertex(_arg1:int):void{ = _arg1; ._key = (( ._key & 4278255615) | (( << 16) & 0xFF0000)); } public function get flip():int{ return (); } public function get incidentEdge():int{ return (); } public function set referenceEdge(_arg1:int):void{ = _arg1; ._key = (( ._key & 4294967040) | ( & 0xFF)); } public function set flip(_arg1:int):void{ = _arg1; ._key = (( ._key & 0xFFFFFF) | (( << 24) & 4278190080)); } public function get incidentVertex():int{ return ( ); } public function set incidentEdge(_arg1:int):void{ = _arg1; ._key = (( ._key & 4294902015) | (( << 8) & 0xFF00)); } } }//package Box2D.CollisionSection 30//b2Mat22 (Box2D.Common.Math.b2Mat22) package Box2D.Common.Math { public class b2Mat22 { public var col1:b2Vec2; public var col2:b2Vec2; public function b2Mat22(_arg1:Number=0, _arg2:b2Vec2=null, _arg3:b2Vec2=null){ var _local4:Number; var _local5:Number; col1 = new b2Vec2(); col2 = new b2Vec2(); super(); if (((!((_arg2 == null))) && (!((_arg3 == null))))){ col1.SetV(_arg2); col2.SetV(_arg3); } else { _local4 = Math.cos(_arg1); _local5 = Math.sin(_arg1); col1.x = _local4; col2.x = -(_local5); col1.y = _local5; col2.y = _local4; }; } public function SetIdentity():void{ col1.x = 1; col2.x = 0; col1.y = 0; col2.y = 1; } public function Set(_arg1:Number):void{ var _local2:Number; var _local3:Number; _local2 = Math.cos(_arg1); _local3 = Math.sin(_arg1); col1.x = _local2; col2.x = -(_local3); col1.y = _local3; col2.y = _local2; } public function (_arg1:b2Vec2, _arg2:b2Vec2):void{ col1.SetV(_arg1); col2.SetV(_arg2); } public function SetZero():void{ col1.x = 0; col2.x = 0; col1.y = 0; col2.y = 0; } public function SetM(_arg1:b2Mat22):void{ col1.SetV(_arg1.col1); col2.SetV(_arg1.col2); } public function AddM(_arg1:b2Mat22):void{ col1.x = (col1.x + _arg1.col1.x); col1.y = (col1.y + _arg1.col1.y); col2.x = (col2.x + _arg1.col2.x); col2.y = (col2.y + _arg1.col2.y); } public function Abs():void{ col1.Abs(); col2.Abs(); } public function Copy():b2Mat22{ return (new b2Mat22(0, col1, col2)); } public function Invert(_arg1:b2Mat22):b2Mat22{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; _local2 = col1.x; _local3 = col2.x; _local4 = col1.y; _local5 = col2.y; _local6 = ((_local2 * _local5) - (_local3 * _local4)); _local6 = (1 / _local6); _arg1.col1.x = (_local6 * _local5); _arg1.col2.x = (-(_local6) * _local3); _arg1.col1.y = (-(_local6) * _local4); _arg1.col2.y = (_local6 * _local2); return (_arg1); } public function GetAngle():Number{ return (Math.atan2(col1.y, col1.x)); } public function Solve(_arg1:b2Vec2, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local4 = col1.x; _local5 = col2.x; _local6 = col1.y; _local7 = col2.y; _local8 = ((_local4 * _local7) - (_local5 * _local6)); _local8 = (1 / _local8); _arg1.x = (_local8 * ((_local7 * _arg2) - (_local5 * _arg3))); _arg1.y = (_local8 * ((_local4 * _arg3) - (_local6 * _arg2))); return (_arg1); } } }//package Box2D.Common.MathSection 31//b2Math (Box2D.Common.Math.b2Math) package Box2D.Common.Math { public class b2Math { public static const b2Mat22_identity:b2Mat22 = new b2Mat22(0, new b2Vec2(1, 0), new b2Vec2(0, 1)); public static const b2XForm_identity:b2XForm = new b2XForm(b2Vec2_zero, b2Mat22_identity); public static const b2Vec2_zero:b2Vec2 = new b2Vec2(0, 0); public static function b2CrossVF(_arg1:b2Vec2, _arg2:Number):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg2 * _arg1.y), (-(_arg2) * _arg1.x)); return (_local3); } public static function AddVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg1.x + _arg2.x), (_arg1.y + _arg2.y)); return (_local3); } public static function b2IsValid(_arg1:Number):Boolean{ return (isFinite(_arg1)); } public static function b2MinV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(b2Min(_arg1.x, _arg2.x), b2Min(_arg1.y, _arg2.y)); return (_local3); } public static function b2MulX(_arg1:b2XForm, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = b2MulMV(_arg1.R, _arg2); _local3.x = (_local3.x + _arg1.position.x); _local3.y = (_local3.y + _arg1.position.y); return (_local3); } public static function b2DistanceSquared(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number; var _local4:Number; _local3 = (_arg1.x - _arg2.x); _local4 = (_arg1.y - _arg2.y); return (((_local3 * _local3) + (_local4 * _local4))); } public static function b2Swap(_arg1:Array, _arg2:Array):void{ var _local3:*; _local3 = _arg1[0]; _arg1[0] = _arg2[0]; _arg2[0] = _local3; } public static function b2AbsM(_arg1:b2Mat22):b2Mat22{ var _local2:b2Mat22; _local2 = new b2Mat22(0, b2AbsV(_arg1.col1), b2AbsV(_arg1.col2)); return (_local2); } public static function SubtractVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg1.x - _arg2.x), (_arg1.y - _arg2.y)); return (_local3); } public static function b2MulXT(_arg1:b2XForm, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; var _local4:Number; _local3 = SubtractVV(_arg2, _arg1.position); _local4 = ((_local3.x * _arg1.R.col1.x) + (_local3.y * _arg1.R.col1.y)); _local3.y = ((_local3.x * _arg1.R.col2.x) + (_local3.y * _arg1.R.col2.y)); _local3.x = _local4; return (_local3); } public static function b2Abs(_arg1:Number):Number{ return (((_arg1 > 0)) ? _arg1 : -(_arg1)); } public static function b2Clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ return (b2Max(_arg2, b2Min(_arg1, _arg3))); } public static function b2AbsV(_arg1:b2Vec2):b2Vec2{ var _local2:b2Vec2; _local2 = new b2Vec2(b2Abs(_arg1.x), b2Abs(_arg1.y)); return (_local2); } public static function MulFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg1 * _arg2.x), (_arg1 * _arg2.y)); return (_local3); } public static function b2CrossVV(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.y) - (_arg1.y * _arg2.x))); } public static function b2Dot(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.x) + (_arg1.y * _arg2.y))); } public static function b2CrossFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((-(_arg1) * _arg2.y), (_arg1 * _arg2.x)); return (_local3); } public static function AddMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22; _local3 = new b2Mat22(0, AddVV(_arg1.col1, _arg2.col1), AddVV(_arg1.col2, _arg2.col2)); return (_local3); } public static function b2Distance(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number; var _local4:Number; _local3 = (_arg1.x - _arg2.x); _local4 = (_arg1.y - _arg2.y); return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4)))); } public static function b2MulTMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2Mat22; _local3 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col1), b2Dot(_arg1.col2, _arg2.col1)); _local4 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col2), b2Dot(_arg1.col2, _arg2.col2)); _local5 = new b2Mat22(0, _local3, _local4); return (_local5); } public static function b2MaxV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(b2Max(_arg1.x, _arg2.x), b2Max(_arg1.y, _arg2.y)); return (_local3); } public static function b2IsPowerOfTwo(_arg1:uint):Boolean{ var _local2:Boolean; _local2 = (((_arg1 > 0)) && (((_arg1 & (_arg1 - 1)) == 0))); return (_local2); } public static function b2ClampV(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):b2Vec2{ return (b2MaxV(_arg2, b2MinV(_arg1, _arg3))); } public static function b2RandomRange(_arg1:Number, _arg2:Number):Number{ var _local3:Number; _local3 = Math.random(); _local3 = (((_arg2 - _arg1) * _local3) + _arg1); return (_local3); } public static function b2MulTMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(b2Dot(_arg2, _arg1.col1), b2Dot(_arg2, _arg1.col2)); return (_local3); } public static function b2Min(_arg1:Number, _arg2:Number):Number{ return (((_arg1 < _arg2)) ? _arg1 : _arg2); } public static function b2Random():Number{ return (((Math.random() * 2) - 1)); } public static function b2MulMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22; _local3 = new b2Mat22(0, b2MulMV(_arg1, _arg2.col1), b2MulMV(_arg1, _arg2.col2)); return (_local3); } public static function b2NextPowerOfTwo(_arg1:uint):uint{ _arg1 = (_arg1 | ((_arg1 >> 1) & 2147483647)); _arg1 = (_arg1 | ((_arg1 >> 2) & 1073741823)); _arg1 = (_arg1 | ((_arg1 >> 4) & 268435455)); _arg1 = (_arg1 | ((_arg1 >> 8) & 0xFFFFFF)); _arg1 = (_arg1 | ((_arg1 >> 16) & 0xFFFF)); return ((_arg1 + 1)); } public static function b2Max(_arg1:Number, _arg2:Number):Number{ return (((_arg1 > _arg2)) ? _arg1 : _arg2); } public static function b2MulMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(((_arg1.col1.x * _arg2.x) + (_arg1.col2.x * _arg2.y)), ((_arg1.col1.y * _arg2.x) + (_arg1.col2.y * _arg2.y))); return (_local3); } } }//package Box2D.Common.MathSection 32//b2Sweep (Box2D.Common.Math.b2Sweep) package Box2D.Common.Math { public class b2Sweep { public var localCenter:b2Vec2; public var c:b2Vec2; public var a:Number; public var c0:b2Vec2; public var a0:Number; public var t0:Number; public function b2Sweep(){ localCenter = new b2Vec2(); c0 = new b2Vec2(); c = new b2Vec2(); super(); } public function Advance(_arg1:Number):void{ var _local2:Number; if ((((t0 < _arg1)) && (((1 - t0) > Number.MIN_VALUE)))){ _local2 = ((_arg1 - t0) / (1 - t0)); c0.x = (((1 - _local2) * c0.x) + (_local2 * c.x)); c0.y = (((1 - _local2) * c0.y) + (_local2 * c.y)); a0 = (((1 - _local2) * a0) + (_local2 * a)); t0 = _arg1; }; } public function GetXForm(_arg1:b2XForm, _arg2:Number):void{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; if ((1 - t0) > Number.MIN_VALUE){ _local4 = ((_arg2 - t0) / (1 - t0)); _arg1.position.x = (((1 - _local4) * c0.x) + (_local4 * c.x)); _arg1.position.y = (((1 - _local4) * c0.y) + (_local4 * c.y)); _local5 = (((1 - _local4) * a0) + (_local4 * a)); _arg1.R.Set(_local5); } else { _arg1.position.SetV(c); _arg1.R.Set(a); }; _local3 = _arg1.R; _arg1.position.x = (_arg1.position.x - ((_local3.col1.x * localCenter.x) + (_local3.col2.x * localCenter.y))); _arg1.position.y = (_arg1.position.y - ((_local3.col1.y * localCenter.x) + (_local3.col2.y * localCenter.y))); } } }//package Box2D.Common.MathSection 33//b2Vec2 (Box2D.Common.Math.b2Vec2) package Box2D.Common.Math { public class b2Vec2 { public var x:Number; public var y:Number; public function b2Vec2(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function Set(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function Multiply(_arg1:Number):void{ x = (x * _arg1); y = (y * _arg1); } public function Length():Number{ return (Math.sqrt(((x * x) + (y * y)))); } public function LengthSquared():Number{ return (((x * x) + (y * y))); } public function SetZero():void{ x = 0; y = 0; } public function Add(_arg1:b2Vec2):void{ x = (x + _arg1.x); y = (y + _arg1.y); } public function (_arg1:b2Vec2):void{ x = ((x > _arg1.x)) ? x : _arg1.x; y = ((y > _arg1.y)) ? y : _arg1.y; } public function SetV(_arg1:b2Vec2):void{ x = _arg1.x; y = _arg1.y; } public function Negative():b2Vec2{ return (new b2Vec2(-(x), -(y))); } public function (_arg1:Number):void{ var _local2:Number; _local2 = x; x = (_arg1 * y); y = (-(_arg1) * _local2); } public function Abs():void{ if (x < 0){ x = -(x); }; if (y < 0){ y = -(y); }; } public function Copy():b2Vec2{ return (new b2Vec2(x, y)); } public function (_arg1:b2Mat22):void{ var _local2:Number; _local2 = b2Math.b2Dot(this, _arg1.col1); y = b2Math.b2Dot(this, _arg1.col2); x = _local2; } public function IsValid():Boolean{ return (((b2Math.b2IsValid(x)) && (b2Math.b2IsValid(y)))); } public function (_arg1:b2Vec2):void{ x = ((x < _arg1.x)) ? x : _arg1.x; y = ((y < _arg1.y)) ? y : _arg1.y; } public function (_arg1:b2Mat22):void{ var _local2:Number; _local2 = x; x = ((_arg1.col1.x * _local2) + (_arg1.col2.x * y)); y = ((_arg1.col1.y * _local2) + (_arg1.col2.y * y)); } public function Normalize():Number{ var _local1:Number; var _local2:Number; _local1 = Math.sqrt(((x * x) + (y * y))); if (_local1 < Number.MIN_VALUE){ return (0); }; _local2 = (1 / _local1); x = (x * _local2); y = (y * _local2); return (_local1); } public function Subtract(_arg1:b2Vec2):void{ x = (x - _arg1.x); y = (y - _arg1.y); } public function (_arg1:Number):void{ var _local2:Number; _local2 = x; x = (-(_arg1) * y); y = (_arg1 * _local2); } public static function Make(_arg1:Number, _arg2:Number):b2Vec2{ return (new b2Vec2(_arg1, _arg2)); } } }//package Box2D.Common.MathSection 34//b2XForm (Box2D.Common.Math.b2XForm) package Box2D.Common.Math { public class b2XForm { public var R:b2Mat22; public var position:b2Vec2; public function b2XForm(_arg1:b2Vec2=null, _arg2:b2Mat22=null):void{ position = new b2Vec2(); R = new b2Mat22(); super(); if (_arg1){ position.SetV(_arg1); R.SetM(_arg2); }; } public function Initialize(_arg1:b2Vec2, _arg2:b2Mat22):void{ position.SetV(_arg1); R.SetM(_arg2); } public function Set(_arg1:b2XForm):void{ position.SetV(_arg1.position); R.SetM(_arg1.R); } public function SetIdentity():void{ position.SetZero(); R.SetIdentity(); } } }//package Box2D.Common.MathSection 35//b2Color (Box2D.Common.b2Color) package Box2D.Common { import Box2D.Common.Math.*; public class b2Color { private var :uint;// = 0 private var :uint;// = 0 private var :uint;// = 0 public function b2Color(_arg1:Number, _arg2:Number, _arg3:Number){ = 0; = 0; = 0; super(); = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1))); = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1))); } public function Set(_arg1:Number, _arg2:Number, _arg3:Number):void{ = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1))); = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1))); } public function get color():uint{ return ((( | ( << 8)) | ( << 16))); } public function set r(_arg1:Number):void{ = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function set b(_arg1:Number):void{ = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function set g(_arg1:Number):void{ = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } } }//package Box2D.CommonSection 36//b2Settings (Box2D.Common.b2Settings) package Box2D.Common { import Box2D.Common.Math.*; public class b2Settings { public static const b2_angularSleepTolerance:Number = 0.0111111111111111; public static const b2_linearSleepTolerance:Number = 0.01; public static const b2_angularSlop:Number = 0.0349065850398866; public static const b2_linearSlop:Number = 0.005; public static const b2_pi:Number = 3.14159265358979; public static const b2_maxProxies:int = 0x0800; public static const b2_maxAngularVelocitySquared:Number = 62500; public static const b2_maxPolygonVertices:int = 8; public static const b2_velocityThreshold:Number = 1; public static const b2_contactBaumgarte:Number = 0.2; public static const b2_maxPairs:int = 16384; public static const b2_maxTOIContactsPerIsland:int = 32; public static const b2_timeToSleep:Number = 0.5; public static const b2_maxManifoldPoints:int = 2; public static const b2_maxAngularVelocity:Number = 250; public static const b2_maxAngularCorrection:Number = 0.139626340159546; public static const USHRT_MAX:int = 0xFFFF; public static const b2_maxLinearVelocity:Number = 200; public static const b2_maxLinearCorrection:Number = 0.2; public static const b2_toiSlop:Number = 0.04; public static const b2_maxLinearVelocitySquared:Number = 40000; public static function b2Assert(_arg1:Boolean):void{ var _local2:b2Vec2; if (!_arg1){ _local2.x++; }; } } }//package Box2D.CommonSection 37//b2CircleContact (Box2D.Dynamics.Contacts.b2CircleContact) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; public class b2CircleContact extends b2Contact { private var :Array; private var :b2Manifold; public var m_manifold:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2CircleContact(_arg1:b2Shape, _arg2:b2Shape){ var _local3:b2ManifoldPoint; = [new b2Manifold()]; = new b2Manifold(); super(_arg1, _arg2); m_manifold = [0]; m_manifold.pointCount = 0; _local3 = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function GetManifolds():Array{ return ( ); } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local5:b2Body; var _local6:b2Body; var _local7:b2ContactPoint; var _local8:b2ManifoldPoint; _local5 = m_shape1.m_body; _local6 = m_shape2.m_body; .Set(m_manifold); b2Collision.b2CollideCircles(m_manifold, (m_shape1 as b2CircleShape), _local5.m_xf, (m_shape2 as b2CircleShape), _local6.m_xf); _local7 = s_evalCP; _local7.shape1 = m_shape1; _local7.shape2 = m_shape2; _local7.friction = m_friction; _local7.restitution = m_restitution; if (m_manifold.pointCount > 0){ m_manifoldCount = 1; _local8 = m_manifold.points[0]; if (.pointCount == 0){ _local8.normalImpulse = 0; _local8.tangentImpulse = 0; if (_arg1){ _local7.position = _local5.GetWorldPoint(_local8.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local8.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local8.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local8.separation; _local7.id.key = _local8.id._key; _arg1.Add(_local7); }; } else { _local4 = .points[0]; _local8.normalImpulse = _local4.normalImpulse; _local8.tangentImpulse = _local4.tangentImpulse; if (_arg1){ _local7.position = _local5.GetWorldPoint(_local8.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local8.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local8.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local8.separation; _local7.id.key = _local8.id._key; _arg1.Persist(_local7); }; }; } else { m_manifoldCount = 0; if ((((.pointCount > 0)) && (_arg1))){ _local4 = .points[0]; _local7.position = _local5.GetWorldPoint(_local4.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local4.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local4.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(.normal); _local7.separation = _local4.separation; _local7.id.key = _local4.id._key; _arg1.Remove(_local7); }; }; } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2CircleContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.ContactsSection 38//b2Contact (Box2D.Dynamics.Contacts.b2Contact) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2Contact { public var m_shape1:b2Shape; public var m_shape2:b2Shape; public var m_prev:b2Contact; public var m_toi:Number; public var m_next:b2Contact; public var m_friction:Number; public var m_manifoldCount:int; public var m_node1:b2ContactEdge; public var m_node2:b2ContactEdge; public var m_restitution:Number; public var m_flags:uint; public static var e_toiFlag:uint = 8; public static var e_nonSolidFlag:uint = 1; public static var e_slowFlag:uint = 2; public static var e_islandFlag:uint = 4; public static var s_registers:Array; public static var s_initialized:Boolean = false; public function b2Contact(_arg1:b2Shape=null, _arg2:b2Shape=null){ m_node1 = new b2ContactEdge(); m_node2 = new b2ContactEdge(); super(); m_flags = 0; if (((!(_arg1)) || (!(_arg2)))){ m_shape1 = null; m_shape2 = null; return; }; if (((_arg1.()) || (_arg2.()))){ m_flags = (m_flags | e_nonSolidFlag); }; m_shape1 = _arg1; m_shape2 = _arg2; m_manifoldCount = 0; m_friction = Math.sqrt((m_shape1.m_friction * m_shape2.m_friction)); m_restitution = b2Math.b2Max(m_shape1.m_restitution, m_shape2.m_restitution); m_prev = null; m_next = null; m_node1.contact = null; m_node1.prev = null; m_node1.next = null; m_node1.other = null; m_node2.contact = null; m_node2.prev = null; m_node2.next = null; m_node2.other = null; } public function ():b2Shape{ return (m_shape1); } public function ():Boolean{ return (((m_flags & e_nonSolidFlag) == 0)); } public function GetNext():b2Contact{ return (m_next); } public function GetManifolds():Array{ return (null); } public function ():b2Shape{ return (m_shape2); } public function ():int{ return (m_manifoldCount); } public function Update(_arg1:b2ContactListener):void{ var _local2:int; var _local3:int; var _local4:b2Body; var _local5:b2Body; _local2 = m_manifoldCount; Evaluate(_arg1); _local3 = m_manifoldCount; _local4 = m_shape1.m_body; _local5 = m_shape2.m_body; if ((((_local3 == 0)) && ((_local2 > 0)))){ _local4.WakeUp(); _local5.WakeUp(); }; if (((((((_local4.IsStatic()) || (_local4.IsBullet()))) || (_local5.IsStatic()))) || (_local5.IsBullet()))){ m_flags = (m_flags & ~(e_slowFlag)); } else { m_flags = (m_flags | e_slowFlag); }; } public function Evaluate(_arg1:b2ContactListener):void{ } public static function InitializeRegisters():void{ var _local1:int; var _local2:int; s_registers = new Array(b2Shape.e_shapeTypeCount); _local1 = 0; while (_local1 < b2Shape.e_shapeTypeCount) { s_registers[_local1] = new Array(b2Shape.e_shapeTypeCount); _local2 = 0; while (_local2 < b2Shape.e_shapeTypeCount) { s_registers[_local1][_local2] = new b2ContactRegister(); _local2++; }; _local1++; }; AddType(b2CircleContact.Create, b2CircleContact.Destroy, b2Shape.e_circleShape, b2Shape.e_circleShape); AddType(b2PolyAndCircleContact.Create, b2PolyAndCircleContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_circleShape); AddType(b2PolygonContact.Create, b2PolygonContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_polygonShape); } public static function Destroy(_arg1:b2Contact, _arg2):void{ var _local3:int; var _local4:int; var _local5:b2ContactRegister; var _local6:Function; if (_arg1.m_manifoldCount > 0){ _arg1.m_shape1.m_body.WakeUp(); _arg1.m_shape2.m_body.WakeUp(); }; _local3 = _arg1.m_shape1.m_type; _local4 = _arg1.m_shape2.m_type; _local5 = s_registers[_local3][_local4]; _local6 = _local5.destroyFcn; _local6(_arg1, _arg2); } public static function AddType(_arg1:Function, _arg2:Function, _arg3:int, _arg4:int):void{ s_registers[_arg3][_arg4].createFcn = _arg1; s_registers[_arg3][_arg4].destroyFcn = _arg2; s_registers[_arg3][_arg4].primary = true; if (_arg3 != _arg4){ s_registers[_arg4][_arg3].createFcn = _arg1; s_registers[_arg4][_arg3].destroyFcn = _arg2; s_registers[_arg4][_arg3].primary = false; }; } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ var _local4:int; var _local5:int; var _local6:b2ContactRegister; var _local7:Function; var _local8:b2Contact; var _local9:int; var _local10:b2Manifold; if (s_initialized == false){ InitializeRegisters(); s_initialized = true; }; _local4 = _arg1.m_type; _local5 = _arg2.m_type; _local6 = s_registers[_local4][_local5]; _local7 = _local6.createFcn; if (_local7 != null){ if (_local6.primary){ return (_local7(_arg1, _arg2, _arg3)); }; _local8 = _local7(_arg2, _arg1, _arg3); _local9 = 0; while (_local9 < _local8.m_manifoldCount) { _local10 = _local8.GetManifolds()[_local9]; _local8.GetManifolds()[_local9].normal = _local10.normal.Negative(); _local9++; }; return (_local8); //unresolved jump }; return (null); } } }//package Box2D.Dynamics.ContactsSection 39//b2ContactConstraint (Box2D.Dynamics.Contacts.b2ContactConstraint) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2ContactConstraint { public var points:Array; public var restitution:Number; public var body1:b2Body; public var manifold:b2Manifold; public var normal:b2Vec2; public var body2:b2Body; public var friction:Number; public var pointCount:int; public function b2ContactConstraint(){ var _local1:int; normal = new b2Vec2(); super(); points = new Array(b2Settings.b2_maxManifoldPoints); _local1 = 0; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ContactConstraintPoint(); _local1++; }; } } }//package Box2D.Dynamics.ContactsSection 40//b2ContactConstraintPoint (Box2D.Dynamics.Contacts.b2ContactConstraintPoint) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; public class b2ContactConstraintPoint { public var r2:b2Vec2; public var separation:Number; public var positionImpulse:Number; public var normalImpulse:Number; public var equalizedMass:Number; public var tangentMass:Number; public var tangentImpulse:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var normalMass:Number; public var velocityBias:Number; public var r1:b2Vec2; public function b2ContactConstraintPoint(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); r1 = new b2Vec2(); r2 = new b2Vec2(); super(); } } }//package Box2D.Dynamics.ContactsSection 41//b2ContactEdge (Box2D.Dynamics.Contacts.b2ContactEdge) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; public class b2ContactEdge { public var next:b2ContactEdge; public var other:b2Body; public var contact:b2Contact; public var prev:b2ContactEdge; } }//package Box2D.Dynamics.ContactsSection 42//b2ContactRegister (Box2D.Dynamics.Contacts.b2ContactRegister) package Box2D.Dynamics.Contacts { public class b2ContactRegister { public var primary:Boolean; public var createFcn:Function; public var destroyFcn:Function; } }//package Box2D.Dynamics.ContactsSection 43//b2ContactResult (Box2D.Dynamics.Contacts.b2ContactResult) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; public class b2ContactResult { public var normal:b2Vec2; public var position:b2Vec2; public var shape1:b2Shape; public var shape2:b2Shape; public var normalImpulse:Number; public var tangentImpulse:Number; public var id:b2ContactID; public function b2ContactResult(){ position = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Dynamics.ContactsSection 44//b2ContactSolver (Box2D.Dynamics.Contacts.b2ContactSolver) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2ContactSolver { public var :int; public var m_constraints:Array; public var m_allocator; public var :b2TimeStep; public function b2ContactSolver(_arg1:b2TimeStep, _arg2:Array, _arg3:int, _arg4){ var _local5:b2Contact; var _local6:int; var _local7:b2Vec2; var _local8:b2Mat22; var _local9:int; var _local10:b2Body; var _local11:b2Body; var _local12:int; var _local13:Array; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:int; var _local23:b2Manifold; var _local24:Number; var _local25:Number; var _local26:b2ContactConstraint; var _local27:uint; var _local28:b2ManifoldPoint; var _local29:b2ContactConstraintPoint; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local39:Number; var _local40:Number; var _local41:Number; var _local42:Number; var _local43:Number; var _local44:Number; var _local45:Number; var _local46:Number; var _local47:Number; = new b2TimeStep(); m_constraints = new Array(); super(); .dt = _arg1.dt; .inv_dt = _arg1.inv_dt; .maxIterations = _arg1.maxIterations; m_allocator = _arg4; = 0; _local6 = 0; while (_local6 < _arg3) { _local5 = _arg2[_local6]; = ( + _local5.m_manifoldCount); _local6++; }; _local6 = 0; while (_local6 < ) { m_constraints[_local6] = new b2ContactConstraint(); _local6++; }; _local9 = 0; _local6 = 0; while (_local6 < _arg3) { _local5 = _arg2[_local6]; _local10 = _local5.m_shape1.m_body; _local11 = _local5.m_shape2.m_body; _local12 = _local5.m_manifoldCount; _local13 = _local5.GetManifolds(); _local14 = _local5.m_friction; _local15 = _local5.m_restitution; _local16 = _local10.m_linearVelocity.x; _local17 = _local10.m_linearVelocity.y; _local18 = _local11.m_linearVelocity.x; _local19 = _local11.m_linearVelocity.y; _local20 = _local10.m_angularVelocity; _local21 = _local11.m_angularVelocity; _local22 = 0; while (_local22 < _local12) { _local23 = _local13[_local22]; _local24 = _local23.normal.x; _local25 = _local23.normal.y; _local26 = m_constraints[_local9]; _local26.body1 = _local10; _local26.body2 = _local11; _local26.manifold = _local23; _local26.normal.x = _local24; _local26.normal.y = _local25; _local26.pointCount = _local23.pointCount; _local26.friction = _local14; _local26.restitution = _local15; _local27 = 0; while (_local27 < _local26.pointCount) { _local28 = _local23.points[_local27]; _local29 = _local26.points[_local27]; _local29.normalImpulse = _local28.normalImpulse; _local29.tangentImpulse = _local28.tangentImpulse; _local29.separation = _local28.separation; _local29.positionImpulse = 0; _local29.localAnchor1.SetV(_local28.localPoint1); _local29.localAnchor2.SetV(_local28.localPoint2); _local8 = _local10.m_xf.R; _local32 = (_local28.localPoint1.x - _local10.m_sweep.localCenter.x); _local33 = (_local28.localPoint1.y - _local10.m_sweep.localCenter.y); _local30 = ((_local8.col1.x * _local32) + (_local8.col2.x * _local33)); _local33 = ((_local8.col1.y * _local32) + (_local8.col2.y * _local33)); _local32 = _local30; _local29.r1.Set(_local32, _local33); _local8 = _local11.m_xf.R; _local34 = (_local28.localPoint2.x - _local11.m_sweep.localCenter.x); _local35 = (_local28.localPoint2.y - _local11.m_sweep.localCenter.y); _local30 = ((_local8.col1.x * _local34) + (_local8.col2.x * _local35)); _local35 = ((_local8.col1.y * _local34) + (_local8.col2.y * _local35)); _local34 = _local30; _local29.r2.Set(_local34, _local35); _local36 = ((_local32 * _local32) + (_local33 * _local33)); _local37 = ((_local34 * _local34) + (_local35 * _local35)); _local38 = ((_local32 * _local24) + (_local33 * _local25)); _local39 = ((_local34 * _local24) + (_local35 * _local25)); _local40 = (_local10.m_invMass + _local11.m_invMass); _local40 = (_local40 + ((_local10.m_invI * (_local36 - (_local38 * _local38))) + (_local11.m_invI * (_local37 - (_local39 * _local39))))); _local29.normalMass = (1 / _local40); _local41 = ((_local10.m_mass * _local10.m_invMass) + (_local11.m_mass * _local11.m_invMass)); _local41 = (_local41 + (((_local10.m_mass * _local10.m_invI) * (_local36 - (_local38 * _local38))) + ((_local11.m_mass * _local11.m_invI) * (_local37 - (_local39 * _local39))))); _local29.equalizedMass = (1 / _local41); _local42 = _local25; _local43 = -(_local24); _local44 = ((_local32 * _local42) + (_local33 * _local43)); _local45 = ((_local34 * _local42) + (_local35 * _local43)); _local46 = (_local10.m_invMass + _local11.m_invMass); _local46 = (_local46 + ((_local10.m_invI * (_local36 - (_local44 * _local44))) + (_local11.m_invI * (_local37 - (_local45 * _local45))))); _local29.tangentMass = (1 / _local46); _local29.velocityBias = 0; if (_local29.separation > 0){ _local29.velocityBias = (-60 * _local29.separation); }; _local30 = (((_local18 + (-(_local21) * _local35)) - _local16) - (-(_local20) * _local33)); _local31 = (((_local19 + (_local21 * _local34)) - _local17) - (_local20 * _local32)); _local47 = ((_local26.normal.x * _local30) + (_local26.normal.y * _local31)); if (_local47 < -(b2Settings.b2_velocityThreshold)){ _local29.velocityBias = (_local29.velocityBias + (-(_local26.restitution) * _local47)); }; _local27++; }; _local9++; _local22++; }; _local6++; }; } public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2Mat22; var _local5:int; var _local6:b2ContactConstraint; var _local7:b2Body; var _local8:b2Body; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:int; var _local20:b2ContactConstraintPoint; var _local21:Number; var _local22:Number; var _local23:b2ContactConstraintPoint; _local5 = 0; while (_local5 < ) { _local6 = m_constraints[_local5]; _local7 = _local6.body1; _local8 = _local6.body2; _local9 = _local7.m_invMass; _local10 = _local7.m_invI; _local11 = _local8.m_invMass; _local12 = _local8.m_invI; _local13 = _local6.normal.x; _local14 = _local6.normal.y; _local15 = _local14; _local16 = -(_local13); if (_arg1.warmStarting){ _local19 = _local6.pointCount; _local18 = 0; while (_local18 < _local19) { _local20 = _local6.points[_local18]; _local6.points[_local18].normalImpulse = (_local20.normalImpulse * _arg1.dtRatio); _local20.tangentImpulse = (_local20.tangentImpulse * _arg1.dtRatio); _local21 = ((_local20.normalImpulse * _local13) + (_local20.tangentImpulse * _local15)); _local22 = ((_local20.normalImpulse * _local14) + (_local20.tangentImpulse * _local16)); _local7.m_angularVelocity = (_local7.m_angularVelocity - (_local10 * ((_local20.r1.x * _local22) - (_local20.r1.y * _local21)))); _local7.m_linearVelocity.x = (_local7.m_linearVelocity.x - (_local9 * _local21)); _local7.m_linearVelocity.y = (_local7.m_linearVelocity.y - (_local9 * _local22)); _local8.m_angularVelocity = (_local8.m_angularVelocity + (_local12 * ((_local20.r2.x * _local22) - (_local20.r2.y * _local21)))); _local8.m_linearVelocity.x = (_local8.m_linearVelocity.x + (_local11 * _local21)); _local8.m_linearVelocity.y = (_local8.m_linearVelocity.y + (_local11 * _local22)); _local18++; }; } else { _local19 = _local6.pointCount; _local18 = 0; while (_local18 < _local19) { _local23 = _local6.points[_local18]; _local23.normalImpulse = 0; _local23.tangentImpulse = 0; _local18++; }; }; _local5++; }; } public function SolvePositionConstraints(_arg1:Number):Boolean{ var _local2:Number; var _local3:b2Mat22; var _local4:b2Vec2; var _local5:int; var _local6:b2ContactConstraint; var _local7:b2Body; var _local8:b2Body; var _local9:b2Vec2; var _local10:Number; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:int; var _local20:int; var _local21:b2ContactConstraintPoint; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; _local2 = 0; _local5 = 0; while (_local5 < ) { _local6 = m_constraints[_local5]; _local7 = _local6.body1; _local8 = _local6.body2; _local9 = _local7.m_sweep.c; _local10 = _local7.m_sweep.a; _local11 = _local8.m_sweep.c; _local12 = _local8.m_sweep.a; _local13 = (_local7.m_mass * _local7.m_invMass); _local14 = (_local7.m_mass * _local7.m_invI); _local15 = (_local8.m_mass * _local8.m_invMass); _local16 = (_local8.m_mass * _local8.m_invI); _local17 = _local6.normal.x; _local18 = _local6.normal.y; _local19 = _local6.pointCount; _local20 = 0; while (_local20 < _local19) { _local21 = _local6.points[_local20]; _local3 = _local7.m_xf.R; _local4 = _local7.m_sweep.localCenter; _local22 = (_local21.localAnchor1.x - _local4.x); _local23 = (_local21.localAnchor1.y - _local4.y); _local26 = ((_local3.col1.x * _local22) + (_local3.col2.x * _local23)); _local23 = ((_local3.col1.y * _local22) + (_local3.col2.y * _local23)); _local22 = _local26; _local3 = _local8.m_xf.R; _local4 = _local8.m_sweep.localCenter; _local24 = (_local21.localAnchor2.x - _local4.x); _local25 = (_local21.localAnchor2.y - _local4.y); _local26 = ((_local3.col1.x * _local24) + (_local3.col2.x * _local25)); _local25 = ((_local3.col1.y * _local24) + (_local3.col2.y * _local25)); _local24 = _local26; _local27 = (_local9.x + _local22); _local28 = (_local9.y + _local23); _local29 = (_local11.x + _local24); _local30 = (_local11.y + _local25); _local31 = (_local29 - _local27); _local32 = (_local30 - _local28); _local33 = (((_local31 * _local17) + (_local32 * _local18)) + _local21.separation); _local2 = b2Math.b2Min(_local2, _local33); _local34 = (_arg1 * b2Math.b2Clamp((_local33 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0)); _local35 = (-(_local21.equalizedMass) * _local34); _local36 = _local21.positionImpulse; _local21.positionImpulse = b2Math.b2Max((_local36 + _local35), 0); _local35 = (_local21.positionImpulse - _local36); _local37 = (_local35 * _local17); _local38 = (_local35 * _local18); _local9.x = (_local9.x - (_local13 * _local37)); _local9.y = (_local9.y - (_local13 * _local38)); _local10 = (_local10 - (_local14 * ((_local22 * _local38) - (_local23 * _local37)))); _local7.m_sweep.a = _local10; _local7.SynchronizeTransform(); _local11.x = (_local11.x + (_local15 * _local37)); _local11.y = (_local11.y + (_local15 * _local38)); _local12 = (_local12 + (_local16 * ((_local24 * _local38) - (_local25 * _local37)))); _local8.m_sweep.a = _local12; _local8.SynchronizeTransform(); _local20++; }; _local5++; }; return ((_local2 >= (-1.5 * b2Settings.b2_linearSlop))); } public function SolveVelocityConstraints():void{ var _local1:int; var _local2:b2ContactConstraintPoint; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:b2Mat22; var _local18:b2Vec2; var _local19:int; var _local20:b2ContactConstraint; var _local21:b2Body; var _local22:b2Body; var _local23:Number; var _local24:Number; var _local25:b2Vec2; var _local26:b2Vec2; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:int; var _local38:Number; _local19 = 0; while (_local19 < ) { _local20 = m_constraints[_local19]; _local21 = _local20.body1; _local22 = _local20.body2; _local23 = _local21.m_angularVelocity; _local24 = _local22.m_angularVelocity; _local25 = _local21.m_linearVelocity; _local26 = _local22.m_linearVelocity; _local27 = _local21.m_invMass; _local28 = _local21.m_invI; _local29 = _local22.m_invMass; _local30 = _local22.m_invI; _local31 = _local20.normal.x; _local32 = _local20.normal.y; _local33 = _local32; _local34 = -(_local31); _local35 = _local20.friction; _local37 = _local20.pointCount; _local1 = 0; while (_local1 < _local37) { _local2 = _local20.points[_local1]; _local7 = (((_local26.x + (-(_local24) * _local2.r2.y)) - _local25.x) - (-(_local23) * _local2.r1.y)); _local8 = (((_local26.y + (_local24 * _local2.r2.x)) - _local25.y) - (_local23 * _local2.r1.x)); _local9 = ((_local7 * _local31) + (_local8 * _local32)); _local11 = (-(_local2.normalMass) * (_local9 - _local2.velocityBias)); _local10 = ((_local7 * _local33) + (_local8 * _local34)); _local12 = (_local2.tangentMass * -(_local10)); _local13 = b2Math.b2Max((_local2.normalImpulse + _local11), 0); _local11 = (_local13 - _local2.normalImpulse); _local38 = (_local35 * _local2.normalImpulse); _local14 = b2Math.b2Clamp((_local2.tangentImpulse + _local12), -(_local38), _local38); _local12 = (_local14 - _local2.tangentImpulse); _local15 = ((_local11 * _local31) + (_local12 * _local33)); _local16 = ((_local11 * _local32) + (_local12 * _local34)); _local25.x = (_local25.x - (_local27 * _local15)); _local25.y = (_local25.y - (_local27 * _local16)); _local23 = (_local23 - (_local28 * ((_local2.r1.x * _local16) - (_local2.r1.y * _local15)))); _local26.x = (_local26.x + (_local29 * _local15)); _local26.y = (_local26.y + (_local29 * _local16)); _local24 = (_local24 + (_local30 * ((_local2.r2.x * _local16) - (_local2.r2.y * _local15)))); _local2.normalImpulse = _local13; _local2.tangentImpulse = _local14; _local1++; }; _local21.m_angularVelocity = _local23; _local22.m_angularVelocity = _local24; _local19++; }; } public function FinalizeVelocityConstraints():void{ var _local1:int; var _local2:b2ContactConstraint; var _local3:b2Manifold; var _local4:int; var _local5:b2ManifoldPoint; var _local6:b2ContactConstraintPoint; _local1 = 0; while (_local1 < ) { _local2 = m_constraints[_local1]; _local3 = _local2.manifold; _local4 = 0; while (_local4 < _local2.pointCount) { _local5 = _local3.points[_local4]; _local6 = _local2.points[_local4]; _local5.normalImpulse = _local6.normalImpulse; _local5.tangentImpulse = _local6.tangentImpulse; _local4++; }; _local1++; }; } } }//package Box2D.Dynamics.ContactsSection 45//b2NullContact (Box2D.Dynamics.Contacts.b2NullContact) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; public class b2NullContact extends b2Contact { override public function GetManifolds():Array{ return (null); } override public function Evaluate(_arg1:b2ContactListener):void{ } } }//package Box2D.Dynamics.ContactsSection 46//b2PolyAndCircleContact (Box2D.Dynamics.Contacts.b2PolyAndCircleContact) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2PolyAndCircleContact extends b2Contact { private var :Array; private var :b2Manifold; public var m_manifold:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolyAndCircleContact(_arg1:b2Shape, _arg2:b2Shape){ var _local3:b2ManifoldPoint; = [new b2Manifold()]; = new b2Manifold(); super(_arg1, _arg2); m_manifold = [0]; b2Settings.b2Assert((m_shape1.m_type == b2Shape.e_polygonShape)); b2Settings.b2Assert((m_shape2.m_type == b2Shape.e_circleShape)); m_manifold.pointCount = 0; _local3 = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function GetManifolds():Array{ return ( ); } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:int; var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2ManifoldPoint; var _local6:b2Body; var _local7:b2Body; var _local8:Array; var _local9:b2ContactPoint; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; _local6 = m_shape1.m_body; _local7 = m_shape2.m_body; .Set(m_manifold); b2Collision.b2CollidePolygonAndCircle(m_manifold, (m_shape1 as b2PolygonShape), _local6.m_xf, (m_shape2 as b2CircleShape), _local7.m_xf); _local8 = [false, false]; _local9 = s_evalCP; _local9.shape1 = m_shape1; _local9.shape2 = m_shape2; _local9.friction = m_friction; _local9.restitution = m_restitution; if (m_manifold.pointCount > 0){ _local2 = 0; while (_local2 < m_manifold.pointCount) { _local10 = m_manifold.points[_local2]; _local10.normalImpulse = 0; _local10.tangentImpulse = 0; _local11 = false; _local12 = _local10.id._key; _local13 = 0; while (_local13 < .pointCount) { if (_local8[_local13] == true){ } else { _local5 = .points[_local13]; if (_local5.id._key == _local12){ _local8[_local13] = true; _local10.normalImpulse = _local5.normalImpulse; _local10.tangentImpulse = _local5.tangentImpulse; _local11 = true; if (_arg1 != null){ _local9.position = _local6.GetWorldPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m_manifold.normal); _local9.separation = _local10.separation; _local9.id.key = _local12; _arg1.Persist(_local9); }; break; }; }; _local13++; }; if ((((_local11 == false)) && (!((_arg1 == null))))){ _local9.position = _local6.GetWorldPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m_manifold.normal); _local9.separation = _local10.separation; _local9.id.key = _local12; _arg1.Add(_local9); }; _local2++; }; m_manifoldCount = 1; } else { m_manifoldCount = 0; }; if (_arg1 == null){ return; }; _local2 = 0; while (_local2 < .pointCount) { if (_local8[_local2]){ } else { _local5 = .points[_local2]; _local9.position = _local6.GetWorldPoint(_local5.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local5.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local5.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(.normal); _local9.separation = _local5.separation; _local9.id.key = _local5.id._key; _arg1.Remove(_local9); }; _local2++; }; } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolyAndCircleContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.ContactsSection 47//b2PolygonContact (Box2D.Dynamics.Contacts.b2PolygonContact) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; public class b2PolygonContact extends b2Contact { private var :Array; private var :b2Manifold; public var m_manifold:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolygonContact(_arg1:b2Shape, _arg2:b2Shape):void{ = new b2Manifold(); = [new b2Manifold()]; super(_arg1, _arg2); m_manifold = [0]; m_manifold.pointCount = 0; } override public function GetManifolds():Array{ return ( ); } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local5:b2Body; var _local6:b2Body; var _local7:b2ContactPoint; var _local8:int; var _local9:Array; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; _local5 = m_shape1.m_body; _local6 = m_shape2.m_body; .Set(m_manifold); b2Collision.b2CollidePolygons(m_manifold, (m_shape1 as b2PolygonShape), _local5.m_xf, (m_shape2 as b2PolygonShape), _local6.m_xf); _local9 = [false, false]; _local7 = s_evalCP; _local7.shape1 = m_shape1; _local7.shape2 = m_shape2; _local7.friction = m_friction; _local7.restitution = m_restitution; if (m_manifold.pointCount > 0){ _local8 = 0; while (_local8 < m_manifold.pointCount) { _local10 = m_manifold.points[_local8]; _local10.normalImpulse = 0; _local10.tangentImpulse = 0; _local11 = false; _local12 = _local10.id._key; _local13 = 0; while (_local13 < .pointCount) { if (_local9[_local13] == true){ } else { _local4 = .points[_local13]; if (_local4.id._key == _local12){ _local9[_local13] = true; _local10.normalImpulse = _local4.normalImpulse; _local10.tangentImpulse = _local4.tangentImpulse; _local11 = true; if (_arg1 != null){ _local7.position = _local5.GetWorldPoint(_local10.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local10.separation; _local7.id.key = _local12; _arg1.Persist(_local7); }; break; }; }; _local13++; }; if ((((_local11 == false)) && (!((_arg1 == null))))){ _local7.position = _local5.GetWorldPoint(_local10.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local10.separation; _local7.id.key = _local12; _arg1.Add(_local7); }; _local8++; }; m_manifoldCount = 1; } else { m_manifoldCount = 0; }; if (_arg1 == null){ return; }; _local8 = 0; while (_local8 < .pointCount) { if (_local9[_local8]){ } else { _local4 = .points[_local8]; _local7.position = _local5.GetWorldPoint(_local4.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local4.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local4.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(.normal); _local7.separation = _local4.separation; _local7.id.key = _local4.id._key; _arg1.Remove(_local7); }; _local8++; }; } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolygonContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.ContactsSection 48//b2DistanceJoint (Box2D.Dynamics.Joints.b2DistanceJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2DistanceJoint extends b2Joint { public var m_mass:Number; public var :b2Vec2; public var m_impulse:Number; public var :Number; public var :Number; public var m_localAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var :Number; public var m_gamma:Number; public var :Number; public function b2DistanceJoint(_arg1:b2DistanceJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); = new b2Vec2(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); = _arg1.length; = _arg1.frequencyHz; = _arg1.dampingRatio; m_impulse = 0; m_gamma = 0; = 0; m_inv_dt = 0; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2; _local1 = new b2Vec2(); _local1.SetV(); _local1.Multiply((m_inv_dt * m_impulse)); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:b2Mat22; var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; if ( > 0){ return (true); }; _local2 = m_body1; _local3 = m_body2; _local1 = _local2.m_xf.R; _local4 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local5 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local6 = ((_local1.col1.x * _local4) + (_local1.col2.x * _local5)); _local5 = ((_local1.col1.y * _local4) + (_local1.col2.y * _local5)); _local4 = _local6; _local1 = _local3.m_xf.R; _local7 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local8 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local6 = ((_local1.col1.x * _local7) + (_local1.col2.x * _local8)); _local8 = ((_local1.col1.y * _local7) + (_local1.col2.y * _local8)); _local7 = _local6; _local9 = (((_local3.m_sweep.c.x + _local7) - _local2.m_sweep.c.x) - _local4); _local10 = (((_local3.m_sweep.c.y + _local8) - _local2.m_sweep.c.y) - _local5); _local11 = Math.sqrt(((_local9 * _local9) + (_local10 * _local10))); _local9 = (_local9 / _local11); _local10 = (_local10 / _local11); _local12 = (_local11 - ); _local12 = b2Math.b2Clamp(_local12, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local13 = (-(m_mass) * _local12); .Set(_local9, _local10); _local14 = (_local13 * .x); _local15 = (_local13 * .y); _local2.m_sweep.c.x = (_local2.m_sweep.c.x - (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y - (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a - (_local2.m_invI * ((_local4 * _local15) - (_local5 * _local14)))); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + (_local3.m_invMass * _local14)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + (_local3.m_invMass * _local15)); _local3.m_sweep.a = (_local3.m_sweep.a + (_local3.m_invI * ((_local7 * _local15) - (_local8 * _local14)))); _local2.SynchronizeTransform(); _local3.SynchronizeTransform(); return ((b2Math.b2Abs(_local12) < b2Settings.b2_linearSlop)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:Number; var _local4:b2Body; var _local5:b2Body; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; m_inv_dt = _arg1.inv_dt; _local4 = m_body1; _local5 = m_body2; _local2 = _local4.m_xf.R; _local6 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local4.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local6) + (_local2.col2.x * _local7)); _local7 = ((_local2.col1.y * _local6) + (_local2.col2.y * _local7)); _local6 = _local3; _local2 = _local5.m_xf.R; _local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local5.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9)); _local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9)); _local8 = _local3; .x = (((_local5.m_sweep.c.x + _local8) - _local4.m_sweep.c.x) - _local6); .y = (((_local5.m_sweep.c.y + _local9) - _local4.m_sweep.c.y) - _local7); _local10 = Math.sqrt(((.x * .x) + (.y * .y))); if (_local10 > b2Settings.b2_linearSlop){ .Multiply((1 / _local10)); } else { .SetZero(); }; _local11 = ((_local6 * .y) - (_local7 * .x)); _local12 = ((_local8 * .y) - (_local9 * .x)); _local13 = (((_local4.m_invMass + ((_local4.m_invI * _local11) * _local11)) + _local5.m_invMass) + ((_local5.m_invI * _local12) * _local12)); m_mass = (1 / _local13); if ( > 0){ _local14 = (_local10 - ); _local15 = ((2 * Math.PI) * ); _local16 = (((2 * m_mass) * ) * _local15); _local17 = ((m_mass * _local15) * _local15); m_gamma = (1 / (_arg1.dt * (_local16 + (_arg1.dt * _local17)))); = (((_local14 * _arg1.dt) * _local17) * m_gamma); m_mass = (1 / (_local13 + m_gamma)); }; if (_arg1.warmStarting){ m_impulse = (m_impulse * _arg1.dtRatio); _local18 = (m_impulse * .x); _local19 = (m_impulse * .y); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x - (_local4.m_invMass * _local18)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y - (_local4.m_invMass * _local19)); _local4.m_angularVelocity = (_local4.m_angularVelocity - (_local4.m_invI * ((_local6 * _local19) - (_local7 * _local18)))); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + (_local5.m_invMass * _local18)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + (_local5.m_invMass * _local19)); _local5.m_angularVelocity = (_local5.m_angularVelocity + (_local5.m_invI * ((_local8 * _local19) - (_local9 * _local18)))); } else { m_impulse = 0; }; } override public function GetReactionTorque():Number{ return (0); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:b2Body; var _local4:b2Body; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local3 = m_body1; _local4 = m_body2; _local2 = _local3.m_xf.R; _local5 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local7 = ((_local2.col1.x * _local5) + (_local2.col2.x * _local6)); _local6 = ((_local2.col1.y * _local5) + (_local2.col2.y * _local6)); _local5 = _local7; _local2 = _local4.m_xf.R; _local8 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local7 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9)); _local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9)); _local8 = _local7; _local10 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local6)); _local11 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local5)); _local12 = (_local4.m_linearVelocity.x + (-(_local4.m_angularVelocity) * _local9)); _local13 = (_local4.m_linearVelocity.y + (_local4.m_angularVelocity * _local8)); _local14 = ((.x * (_local12 - _local10)) + (.y * (_local13 - _local11))); _local15 = (-(m_mass) * ((_local14 + ) + (m_gamma * m_impulse))); m_impulse = (m_impulse + _local15); _local16 = (_local15 * .x); _local17 = (_local15 * .y); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x - (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y - (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity - (_local3.m_invI * ((_local5 * _local17) - (_local6 * _local16)))); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x + (_local4.m_invMass * _local16)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + (_local4.m_invMass * _local17)); _local4.m_angularVelocity = (_local4.m_angularVelocity + (_local4.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); } } }//package Box2D.Dynamics.JointsSection 49//b2DistanceJointDef (Box2D.Dynamics.Joints.b2DistanceJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2DistanceJointDef extends b2JointDef { public var length:Number; public var dampingRatio:Number; public var frequencyHz:Number; public var localAnchor2:b2Vec2; public var localAnchor1:b2Vec2; public function b2DistanceJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_distanceJoint; length = 1; frequencyHz = 0; dampingRatio = 0; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):void{ var _local5:Number; var _local6:Number; body1 = _arg1; body2 = _arg2; localAnchor1.SetV(body1.GetLocalPoint(_arg3)); localAnchor2.SetV(body2.GetLocalPoint(_arg4)); _local5 = (_arg4.x - _arg3.x); _local6 = (_arg4.y - _arg3.y); length = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); frequencyHz = 0; dampingRatio = 0; } } }//package Box2D.Dynamics.JointsSection 50//b2GearJoint (Box2D.Dynamics.Joints.b2GearJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2GearJoint extends b2Joint { public var m_force:Number; public var m_mass:Number; public var :b2PrismaticJoint; public var :b2PrismaticJoint; public var :b2Body; public var :b2Body; public var m_constant:Number; public var :b2RevoluteJoint; public var :b2RevoluteJoint; public var m_groundAnchor1:b2Vec2; public var m_groundAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_ratio:Number; public var :b2Jacobian; public function b2GearJoint(_arg1:b2GearJointDef){ var _local2:int; var _local3:int; var _local4:Number; var _local5:Number; m_groundAnchor1 = new b2Vec2(); m_groundAnchor2 = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); = new b2Jacobian(); super(_arg1); _local2 = _arg1. .m_type; _local3 = _arg1. .m_type; = null; = null; = null; = null; = _arg1. .m_body1; m_body1 = _arg1. .m_body2; if (_local2 == b2Joint.e_revoluteJoint){ = (_arg1. as b2RevoluteJoint); m_groundAnchor1.SetV(.m_localAnchor1); m_localAnchor1.SetV(.m_localAnchor2); _local4 = .GetJointAngle(); } else { = (_arg1. as b2PrismaticJoint); m_groundAnchor1.SetV( .m_localAnchor1); m_localAnchor1.SetV( .m_localAnchor2); _local4 = .GetJointTranslation(); }; = _arg1. .m_body1; m_body2 = _arg1. .m_body2; if (_local3 == b2Joint.e_revoluteJoint){ = (_arg1. as b2RevoluteJoint); m_groundAnchor2.SetV(.m_localAnchor1); m_localAnchor2.SetV(.m_localAnchor2); _local5 = .GetJointAngle(); } else { = (_arg1. as b2PrismaticJoint); m_groundAnchor2.SetV(.m_localAnchor1); m_localAnchor2.SetV(.m_localAnchor2); _local5 = .GetJointTranslation(); }; m_ratio = _arg1.ratio; m_constant = (_local4 + (m_ratio * _local5)); m_force = 0; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2; _local1 = new b2Vec2((m_force * .linear2.x), (m_force * .linear2.y)); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; _local1 = 0; _local2 = m_body1; _local3 = m_body2; if (){ _local4 = .GetJointAngle(); } else { _local4 = .GetJointTranslation(); }; if (){ _local5 = .GetJointAngle(); } else { _local5 = .GetJointTranslation(); }; _local6 = (m_constant - (_local4 + (m_ratio * _local5))); _local7 = (-(m_mass) * _local6); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + ((_local2.m_invMass * _local7) * .linear1.x)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + ((_local2.m_invMass * _local7) * .linear1.y)); _local2.m_sweep.a = (_local2.m_sweep.a + ((_local2.m_invI * _local7) * .angular1)); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local3.m_invMass * _local7) * .linear2.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local3.m_invMass * _local7) * .linear2.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local3.m_invI * _local7) * .angular2)); _local2.SynchronizeTransform(); _local3.SynchronizeTransform(); return ((_local1 < b2Settings.b2_linearSlop)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Body; var _local5:b2Body; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:b2Mat22; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; _local2 = ; _local3 = ; _local4 = m_body1; _local5 = m_body2; _local14 = 0; .SetZero(); if (){ .angular1 = -1; _local14 = (_local14 + _local4.m_invI); } else { _local10 = _local2.m_xf.R; _local11 = .m_localXAxis1; _local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); _local10 = _local4.m_xf.R; _local8 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local4.m_sweep.localCenter.y); _local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9)); _local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9)); _local8 = _local13; _local12 = ((_local8 * _local7) - (_local9 * _local6)); .linear1.Set(-(_local6), -(_local7)); .angular1 = -(_local12); _local14 = (_local14 + (_local4.m_invMass + ((_local4.m_invI * _local12) * _local12))); }; if (){ .angular2 = -(m_ratio); _local14 = (_local14 + ((m_ratio * m_ratio) * _local5.m_invI)); } else { _local10 = _local3.m_xf.R; _local11 = .m_localXAxis1; _local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); _local10 = _local5.m_xf.R; _local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local5.m_sweep.localCenter.y); _local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9)); _local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9)); _local8 = _local13; _local12 = ((_local8 * _local7) - (_local9 * _local6)); .linear2.Set((-(m_ratio) * _local6), (-(m_ratio) * _local7)); .angular2 = (-(m_ratio) * _local12); _local14 = (_local14 + ((m_ratio * m_ratio) * (_local5.m_invMass + ((_local5.m_invI * _local12) * _local12)))); }; m_mass = (1 / _local14); if (_arg1.warmStarting){ _local15 = (_arg1.dt * m_force); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x + ((_local4.m_invMass * _local15) * .linear1.x)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + ((_local4.m_invMass * _local15) * .linear1.y)); _local4.m_angularVelocity = (_local4.m_angularVelocity + ((_local4.m_invI * _local15) * .angular1)); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + ((_local5.m_invMass * _local15) * .linear2.x)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + ((_local5.m_invMass * _local15) * .linear2.y)); _local5.m_angularVelocity = (_local5.m_angularVelocity + ((_local5.m_invI * _local15) * .angular2)); } else { m_force = 0; }; } override public function GetReactionTorque():Number{ var _local1:b2Mat22; var _local2:Number; var _local3:Number; var _local4:Number; _local1 = m_body2.m_xf.R; _local2 = (m_localAnchor1.x - m_body2.m_sweep.localCenter.x); _local3 = (m_localAnchor1.y - m_body2.m_sweep.localCenter.y); _local4 = ((_local1.col1.x * _local2) + (_local1.col2.x * _local3)); _local3 = ((_local1.col1.y * _local2) + (_local1.col2.y * _local3)); _local2 = _local4; _local4 = ((m_force * .angular2) - ((_local2 * (m_force * .linear2.y)) - (_local3 * (m_force * .linear2.x)))); return (_local4); } public function GetRatio():Number{ return (m_ratio); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; _local2 = m_body1; _local3 = m_body2; _local4 = .Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); _local5 = ((-(_arg1.inv_dt) * m_mass) * _local4); m_force = (m_force + _local5); _local6 = (_arg1.dt * _local5); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local2.m_invMass * _local6) * .linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local2.m_invMass * _local6) * .linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local2.m_invI * _local6) * .angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local3.m_invMass * _local6) * .linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local3.m_invMass * _local6) * .linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _local6) * .angular2)); } } }//package Box2D.Dynamics.JointsSection 51//b2GearJointDef (Box2D.Dynamics.Joints.b2GearJointDef) package Box2D.Dynamics.Joints { public class b2GearJointDef extends b2JointDef { public var :b2Joint; public var :b2Joint; public var ratio:Number; public function b2GearJointDef(){ type = b2Joint.e_gearJoint; = null; = null; ratio = 1; } } }//package Box2D.Dynamics.JointsSection 52//b2Jacobian (Box2D.Dynamics.Joints.b2Jacobian) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2Jacobian { public var linear1:b2Vec2; public var linear2:b2Vec2; public var angular2:Number; public var angular1:Number; public function b2Jacobian(){ linear1 = new b2Vec2(); linear2 = new b2Vec2(); super(); } public function Set(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):void{ linear1.SetV(_arg1); angular1 = _arg2; linear2.SetV(_arg3); angular2 = _arg4; } public function SetZero():void{ linear1.SetZero(); angular1 = 0; linear2.SetZero(); angular2 = 0; } public function Compute(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):Number{ return ((((((linear1.x * _arg1.x) + (linear1.y * _arg1.y)) + (angular1 * _arg2)) + ((linear2.x * _arg3.x) + (linear2.y * _arg3.y))) + (angular2 * _arg4))); } } }//package Box2D.Dynamics.JointsSection 53//b2Joint (Box2D.Dynamics.Joints.b2Joint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2Joint { public var m_islandFlag:Boolean; public var m_body1:b2Body; public var m_prev:b2Joint; public var m_next:b2Joint; public var m_type:int; public var m_collideConnected:Boolean; public var m_node1:b2JointEdge; public var m_node2:b2JointEdge; public var m_inv_dt:Number; public var m_userData; public var m_body2:b2Body; public static const e_unknownJoint:int = 0; public static const e_inactiveLimit:int = 0; public static const e_atUpperLimit:int = 2; public static const e_atLowerLimit:int = 1; public static const e_gearJoint:int = 6; public static const e_revoluteJoint:int = 1; public static const e_equalLimits:int = 3; public static const e_distanceJoint:int = 3; public static const e_pulleyJoint:int = 4; public static const e_prismaticJoint:int = 2; public static const e_mouseJoint:int = 5; public function b2Joint(_arg1:b2JointDef){ m_node1 = new b2JointEdge(); m_node2 = new b2JointEdge(); super(); m_type = _arg1.type; m_prev = null; m_next = null; m_body1 = _arg1.body1; m_body2 = _arg1.body2; m_collideConnected = _arg1.collideConnected; m_islandFlag = false; m_userData = _arg1.userData; } public function GetAnchor1():b2Vec2{ return (null); } public function GetAnchor2():b2Vec2{ return (null); } public function InitVelocityConstraints(_arg1:b2TimeStep):void{ } public function GetType():int{ return (m_type); } public function ():b2Body{ return (m_body2); } public function GetNext():b2Joint{ return (m_next); } public function GetReactionTorque():Number{ return (0); } public function GetUserData(){ return (m_userData); } public function GetReactionForce():b2Vec2{ return (null); } public function SolvePositionConstraints():Boolean{ return (false); } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function ():b2Body{ return (m_body1); } public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ } public function InitPositionConstraints():void{ } public static function Destroy(_arg1:b2Joint, _arg2):void{ } public static function Create(_arg1:b2JointDef, _arg2):b2Joint{ var _local3:b2Joint; _local3 = null; switch (_arg1.type){ case e_distanceJoint: _local3 = new b2DistanceJoint((_arg1 as b2DistanceJointDef)); break; case e_mouseJoint: _local3 = new b2MouseJoint((_arg1 as b2MouseJointDef)); break; case e_prismaticJoint: _local3 = new b2PrismaticJoint((_arg1 as b2PrismaticJointDef)); break; case e_revoluteJoint: _local3 = new b2RevoluteJoint((_arg1 as b2RevoluteJointDef)); break; case e_pulleyJoint: _local3 = new b2PulleyJoint((_arg1 as b2PulleyJointDef)); break; case e_gearJoint: _local3 = new b2GearJoint((_arg1 as b2GearJointDef)); break; default: break; }; return (_local3); } } }//package Box2D.Dynamics.JointsSection 54//b2JointDef (Box2D.Dynamics.Joints.b2JointDef) package Box2D.Dynamics.Joints { import Box2D.Dynamics.*; public class b2JointDef { public var collideConnected:Boolean; public var body1:b2Body; public var body2:b2Body; public var userData; public var type:int; public function b2JointDef(){ type = b2Joint.e_unknownJoint; userData = null; body1 = null; body2 = null; collideConnected = false; } } }//package Box2D.Dynamics.JointsSection 55//b2JointEdge (Box2D.Dynamics.Joints.b2JointEdge) package Box2D.Dynamics.Joints { import Box2D.Dynamics.*; public class b2JointEdge { public var joint:b2Joint; public var other:b2Body; public var next:b2JointEdge; public var prev:b2JointEdge; } }//package Box2D.Dynamics.JointsSection 56//b2MouseJoint (Box2D.Dynamics.Joints.b2MouseJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2MouseJoint extends b2Joint { public var :Number; public var m_mass:b2Mat22; public var :b2Vec2; public var m_impulse:b2Vec2; public var :b2Vec2; private var :b2Mat22; private var :b2Mat22; private var K:b2Mat22; public var m_gamma:Number; public var :b2Vec2; public var :Number; public function b2MouseJoint(_arg1:b2MouseJointDef){ var _local2:Number; var _local3:Number; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; K = new b2Mat22(); = new b2Mat22(); = new b2Mat22(); = new b2Vec2(); = new b2Vec2(); m_impulse = new b2Vec2(); m_mass = new b2Mat22(); = new b2Vec2(); super(_arg1); .SetV(_arg1.target); _local2 = (.x - m_body2.m_xf.position.x); _local3 = (.y - m_body2.m_xf.position.y); _local4 = m_body2.m_xf.R; .x = ((_local2 * _local4.col1.x) + (_local3 * _local4.col1.y)); .y = ((_local2 * _local4.col2.x) + (_local3 * _local4.col2.y)); = _arg1.maxForce; m_impulse.SetZero(); _local5 = m_body2.m_mass; _local6 = ((2 * b2Settings.b2_pi) * _arg1.frequencyHz); _local7 = (((2 * _local5) * _arg1.dampingRatio) * _local6); _local8 = ((_arg1.timeStep * _local5) * (_local6 * _local6)); m_gamma = (1 / (_local7 + _local8)); = (_local8 / (_local7 + _local8)); } override public function GetAnchor1():b2Vec2{ return (); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint()); } override public function GetReactionForce():b2Vec2{ return (m_impulse); } override public function SolvePositionConstraints():Boolean{ return (true); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local2 = m_body2; _local3 = _local2.m_xf.R; _local4 = (.x - _local2.m_sweep.localCenter.x); _local5 = (.y - _local2.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local7 = _local2.m_invMass; _local8 = _local2.m_invI; .col1.x = _local7; .col2.x = 0; .col1.y = 0; .col2.y = _local7; .col1.x = ((_local8 * _local5) * _local5); .col2.x = ((-(_local8) * _local4) * _local5); .col1.y = ((-(_local8) * _local4) * _local5); .col2.y = ((_local8 * _local4) * _local4); K.SetM(); K.AddM(); K.col1.x = (K.col1.x + m_gamma); K.col2.y = (K.col2.y + m_gamma); K.Invert(m_mass); .x = ((_local2.m_sweep.c.x + _local4) - .x); .y = ((_local2.m_sweep.c.y + _local5) - .y); _local2.m_angularVelocity = (_local2.m_angularVelocity * 0.98); _local9 = (_arg1.dt * m_impulse.x); _local10 = (_arg1.dt * m_impulse.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local7 * _local9)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local7 * _local10)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local8 * ((_local4 * _local10) - (_local5 * _local9)))); } override public function GetReactionTorque():Number{ return (0); } public function SetTarget(_arg1:b2Vec2):void{ if (m_body2.IsSleeping()){ m_body2.WakeUp(); }; = _arg1; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; _local2 = m_body2; _local3 = _local2.m_xf.R; _local6 = (.x - _local2.m_sweep.localCenter.x); _local7 = (.y - _local2.m_sweep.localCenter.y); _local4 = ((_local3.col1.x * _local6) + (_local3.col2.x * _local7)); _local7 = ((_local3.col1.y * _local6) + (_local3.col2.y * _local7)); _local6 = _local4; _local8 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local7)); _local9 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local6)); _local3 = m_mass; _local4 = ((_local8 + (( * _arg1.inv_dt) * .x)) + ((m_gamma * _arg1.dt) * m_impulse.x)); _local5 = ((_local9 + (( * _arg1.inv_dt) * .y)) + ((m_gamma * _arg1.dt) * m_impulse.y)); _local10 = (-(_arg1.inv_dt) * ((_local3.col1.x * _local4) + (_local3.col2.x * _local5))); _local11 = (-(_arg1.inv_dt) * ((_local3.col1.y * _local4) + (_local3.col2.y * _local5))); _local12 = m_impulse.x; _local13 = m_impulse.y; m_impulse.x = (m_impulse.x + _local10); m_impulse.y = (m_impulse.y + _local11); _local14 = m_impulse.Length(); if (_local14 > ){ m_impulse.Multiply(( / _local14)); }; _local10 = (m_impulse.x - _local12); _local11 = (m_impulse.y - _local13); _local15 = (_arg1.dt * _local10); _local16 = (_arg1.dt * _local11); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local15)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local16)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local6 * _local16) - (_local7 * _local15)))); } } }//package Box2D.Dynamics.JointsSection 57//b2MouseJointDef (Box2D.Dynamics.Joints.b2MouseJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2MouseJointDef extends b2JointDef { public var frequencyHz:Number; public var dampingRatio:Number; public var maxForce:Number; public var target:b2Vec2; public var timeStep:Number; public function b2MouseJointDef(){ target = new b2Vec2(); super(); type = b2Joint.e_mouseJoint; maxForce = 0; frequencyHz = 5; dampingRatio = 0.7; timeStep = (1 / 60); } } }//package Box2D.Dynamics.JointsSection 58//b2PrismaticJoint (Box2D.Dynamics.Joints.b2PrismaticJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PrismaticJoint extends b2Joint { public var m_limitForce:Number; public var :Number; public var :Number; public var m_localXAxis1:b2Vec2; public var m_torque:Number; public var m_enableLimit:Boolean; public var m_motorForce:Number; public var m_force:Number; public var :b2Vec2; public var m_motorMass:Number; public var :Number; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var :Number; public var m_limitState:int; public var :Number; public var :Number; public var :b2Jacobian; public var m_limitPositionImpulse:Number; public var m_motorSpeed:Number; public var :b2Jacobian; public var m_enableMotor:Boolean; public function b2PrismaticJoint(_arg1:b2PrismaticJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_localXAxis1 = new b2Vec2(); = new b2Vec2(); = new b2Jacobian(); = new b2Jacobian(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_localXAxis1.SetV(_arg1.); .x = -(m_localXAxis1.y); .y = m_localXAxis1.x; = _arg1.referenceAngle; .SetZero(); = 0; m_force = 0; = 0; m_torque = 0; .SetZero(); m_motorMass = 0; m_motorForce = 0; m_limitForce = 0; m_limitPositionImpulse = 0; = _arg1.; = _arg1.; = _arg1.; m_motorSpeed = _arg1.motorSpeed; m_enableLimit = _arg1.enableLimit; m_enableMotor = _arg1.enableMotor; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function GetUpperLimit():Number{ return (); } public function GetLowerLimit():Number{ return ( ); } public function GetJointTranslation():Number{ var _local1:b2Body; var _local2:b2Body; var _local3:b2Mat22; var _local4:b2Vec2; var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:b2Vec2; var _local9:Number; _local1 = m_body1; _local2 = m_body2; _local4 = _local1.GetWorldPoint(m_localAnchor1); _local5 = _local2.GetWorldPoint(m_localAnchor2); _local6 = (_local5.x - _local4.x); _local7 = (_local5.y - _local4.y); _local8 = _local1.GetWorldVector(m_localXAxis1); _local9 = ((_local8.x * _local6) + (_local8.y * _local7)); return (_local9); } public function SetLimits(_arg1:Number, _arg2:Number):void{ = _arg1; = _arg2; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } override public function GetReactionForce():b2Vec2{ var _local1:b2Mat22; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = m_body1.m_xf.R; _local2 = (m_limitForce * ((_local1.col1.x * m_localXAxis1.x) + (_local1.col2.x * m_localXAxis1.y))); _local3 = (m_limitForce * ((_local1.col1.y * m_localXAxis1.x) + (_local1.col2.y * m_localXAxis1.y))); _local4 = (m_force * ((_local1.col1.x * .x) + (_local1.col2.x * .y))); _local5 = (m_force * ((_local1.col1.y * .x) + (_local1.col2.y * .y))); return (new b2Vec2(((m_limitForce * _local2) + (m_force * _local4)), ((m_limitForce * _local3) + (m_force * _local5)))); } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:Number; var _local3:b2Body; var _local4:b2Body; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:b2Mat22; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; _local3 = m_body1; _local4 = m_body2; _local5 = _local3.m_invMass; _local6 = _local4.m_invMass; _local7 = _local3.m_invI; _local8 = _local4.m_invI; _local9 = _local3.m_xf.R; _local11 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local12 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12)); _local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12)); _local11 = _local10; _local9 = _local4.m_xf.R; _local13 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local14 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14)); _local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14)); _local13 = _local10; _local15 = (_local3.m_sweep.c.x + _local11); _local16 = (_local3.m_sweep.c.y + _local12); _local17 = (_local4.m_sweep.c.x + _local13); _local18 = (_local4.m_sweep.c.y + _local14); _local19 = (_local17 - _local15); _local20 = (_local18 - _local16); _local9 = _local3.m_xf.R; _local21 = ((_local9.col1.x * .x) + (_local9.col2.x * .y)); _local22 = ((_local9.col1.y * .x) + (_local9.col2.y * .y)); _local23 = ((_local21 * _local19) + (_local22 * _local20)); _local23 = b2Math.b2Clamp(_local23, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local24 = (-() * _local23); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local24) * .linear1.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local24) * .linear1.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local24) * .angular1)); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local24) * .linear2.x)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local24) * .linear2.y)); _local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local24) * .angular2)); _local25 = b2Math.b2Abs(_local23); _local26 = ((_local4.m_sweep.a - _local3.m_sweep.a) - ); _local26 = b2Math.b2Clamp(_local26, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); _local27 = (-() * _local26); _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * _local27)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * _local27)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); _local28 = b2Math.b2Abs(_local26); if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local9 = _local3.m_xf.R; _local11 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local12 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12)); _local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12)); _local11 = _local10; _local9 = _local4.m_xf.R; _local13 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local14 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14)); _local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14)); _local13 = _local10; _local15 = (_local3.m_sweep.c.x + _local11); _local16 = (_local3.m_sweep.c.y + _local12); _local17 = (_local4.m_sweep.c.x + _local13); _local18 = (_local4.m_sweep.c.y + _local14); _local19 = (_local17 - _local15); _local20 = (_local18 - _local16); _local9 = _local3.m_xf.R; _local29 = ((_local9.col1.x * m_localXAxis1.x) + (_local9.col2.x * m_localXAxis1.y)); _local30 = ((_local9.col1.y * m_localXAxis1.x) + (_local9.col2.y * m_localXAxis1.y)); _local31 = ((_local29 * _local19) + (_local30 * _local20)); _local32 = 0; if (m_limitState == e_equalLimits){ _local1 = b2Math.b2Clamp(_local31, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local32 = (-(m_motorMass) * _local1); _local25 = b2Math.b2Max(_local25, b2Math.b2Abs(_local26)); } else { if (m_limitState == e_atLowerLimit){ _local1 = (_local31 - ); _local25 = b2Math.b2Max(_local25, -(_local1)); _local1 = b2Math.b2Clamp((_local1 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local32 = (-(m_motorMass) * _local1); _local2 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Max((m_limitPositionImpulse + _local32), 0); _local32 = (m_limitPositionImpulse - _local2); } else { if (m_limitState == e_atUpperLimit){ _local1 = (_local31 - ); _local25 = b2Math.b2Max(_local25, _local1); _local1 = b2Math.b2Clamp((_local1 - b2Settings.b2_linearSlop), 0, b2Settings.b2_maxLinearCorrection); _local32 = (-(m_motorMass) * _local1); _local2 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Min((m_limitPositionImpulse + _local32), 0); _local32 = (m_limitPositionImpulse - _local2); }; }; }; _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local32) * .linear1.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local32) * .linear1.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local32) * .angular1)); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local32) * .linear2.x)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local32) * .linear2.y)); _local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local32) * .angular2)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); }; return ((((_local25 <= b2Settings.b2_linearSlop)) && ((_local28 <= b2Settings.b2_angularSlop)))); } public function GetJointSpeed():Number{ var _local1:b2Body; var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:b2Vec2; var _local16:b2Vec2; var _local17:b2Vec2; var _local18:Number; var _local19:Number; var _local20:Number; _local1 = m_body1; _local2 = m_body2; _local3 = _local1.m_xf.R; _local4 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local5 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local3 = _local2.m_xf.R; _local7 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local8 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local7) + (_local3.col2.x * _local8)); _local8 = ((_local3.col1.y * _local7) + (_local3.col2.y * _local8)); _local7 = _local6; _local9 = (_local1.m_sweep.c.x + _local4); _local10 = (_local1.m_sweep.c.y + _local5); _local11 = (_local2.m_sweep.c.x + _local7); _local12 = (_local2.m_sweep.c.y + _local8); _local13 = (_local11 - _local9); _local14 = (_local12 - _local10); _local15 = _local1.GetWorldVector(m_localXAxis1); _local16 = _local1.m_linearVelocity; _local17 = _local2.m_linearVelocity; _local18 = _local1.m_angularVelocity; _local19 = _local2.m_angularVelocity; _local20 = (((_local13 * (-(_local18) * _local15.y)) + (_local14 * (_local18 * _local15.x))) + ((_local15.x * (((_local17.x + (-(_local19) * _local8)) - _local16.x) - (-(_local18) * _local5))) + (_local15.y * (((_local17.y + (_local19 * _local7)) - _local16.y) - (_local18 * _local4))))); return (_local20); } public function SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local6 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; _local10 = _local2.m_invMass; _local11 = _local3.m_invMass; _local12 = _local2.m_invI; _local13 = _local3.m_invI; _local4 = _local2.m_xf.R; _local14 = ((_local4.col1.x * .x) + (_local4.col2.x * .y)); _local15 = ((_local4.col1.y * .x) + (_local4.col2.y * .y)); _local16 = ((_local3.m_sweep.c.x + _local8) - _local2.m_sweep.c.x); _local17 = ((_local3.m_sweep.c.y + _local9) - _local2.m_sweep.c.y); .linear1.x = -(_local14); .linear1.y = -(_local15); .linear2.x = _local14; .linear2.y = _local15; .angular1 = -(((_local16 * _local15) - (_local17 * _local14))); .angular2 = ((_local8 * _local15) - (_local9 * _local14)); = (((_local10 + ((_local12 * .angular1) * .angular1)) + _local11) + ((_local13 * .angular2) * .angular2)); = (1 / ); = (_local12 + _local13); if ( > Number.MIN_VALUE){ = (1 / ); }; if (((m_enableLimit) || (m_enableMotor))){ _local4 = _local2.m_xf.R; _local18 = ((_local4.col1.x * m_localXAxis1.x) + (_local4.col2.x * m_localXAxis1.y)); _local19 = ((_local4.col1.y * m_localXAxis1.x) + (_local4.col2.y * m_localXAxis1.y)); .linear1.x = -(_local18); .linear1.y = -(_local19); .linear2.x = _local18; .linear2.y = _local19; .angular1 = -(((_local16 * _local19) - (_local17 * _local18))); .angular2 = ((_local8 * _local19) - (_local9 * _local18)); m_motorMass = (((_local10 + ((_local12 * .angular1) * .angular1)) + _local11) + ((_local13 * .angular2) * .angular2)); m_motorMass = (1 / m_motorMass); if (m_enableLimit){ _local20 = (_local16 - _local6); _local21 = (_local17 - _local7); _local22 = ((_local18 * _local20) + (_local19 * _local21)); if (b2Math.b2Abs(( - )) < (2 * b2Settings.b2_linearSlop)){ m_limitState = e_equalLimits; } else { if (_local22 <= ){ if (m_limitState != e_atLowerLimit){ m_limitForce = 0; }; m_limitState = e_atLowerLimit; } else { if (_local22 >= ){ if (m_limitState != e_atUpperLimit){ m_limitForce = 0; }; m_limitState = e_atUpperLimit; } else { m_limitState = e_inactiveLimit; m_limitForce = 0; }; }; }; }; }; if (m_enableMotor == false){ m_motorForce = 0; }; if (m_enableLimit == false){ m_limitForce = 0; }; if (_arg1.warmStarting){ _local23 = (_arg1.dt * ((m_force * .linear1.x) + ((m_motorForce + m_limitForce) * .linear1.x))); _local24 = (_arg1.dt * ((m_force * .linear1.y) + ((m_motorForce + m_limitForce) * .linear1.y))); _local25 = (_arg1.dt * ((m_force * .linear2.x) + ((m_motorForce + m_limitForce) * .linear2.x))); _local26 = (_arg1.dt * ((m_force * .linear2.y) + ((m_motorForce + m_limitForce) * .linear2.y))); _local27 = (_arg1.dt * (((m_force * .angular1) - m_torque) + ((m_motorForce + m_limitForce) * .angular1))); _local28 = (_arg1.dt * (((m_force * .angular2) + m_torque) + ((m_motorForce + m_limitForce) * .angular2))); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local10 * _local23)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local10 * _local24)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local12 * _local27)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local11 * _local25)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local11 * _local26)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local13 * _local28)); } else { m_force = 0; m_torque = 0; m_limitForce = 0; m_motorForce = 0; }; m_limitPositionImpulse = 0; } public function ():Number{ return (m_motorForce); } public function (_arg1:Number):void{ = _arg1; } public function EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } override public function GetReactionTorque():Number{ return (m_torque); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_invMass; _local5 = _local3.m_invMass; _local6 = _local2.m_invI; _local7 = _local3.m_invI; _local9 = .Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); _local10 = ((-(_arg1.inv_dt) * ) * _local9); m_force = (m_force + _local10); _local11 = (_arg1.dt * _local10); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * .linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * .linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * .angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * .linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * .linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * .angular2)); _local12 = (_local3.m_angularVelocity - _local2.m_angularVelocity); _local13 = ((-(_arg1.inv_dt) * ) * _local12); m_torque = (m_torque + _local13); _local14 = (_arg1.dt * _local13); _local2.m_angularVelocity = (_local2.m_angularVelocity - (_local6 * _local14)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local7 * _local14)); if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){ _local15 = (.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity) - m_motorSpeed); _local16 = ((-(_arg1.inv_dt) * m_motorMass) * _local15); _local17 = m_motorForce; m_motorForce = b2Math.b2Clamp((m_motorForce + _local16), -( ), ); _local16 = (m_motorForce - _local17); _local11 = (_arg1.dt * _local16); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * .linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * .linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * .angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * .linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * .linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * .angular2)); }; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local18 = .Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); _local19 = ((-(_arg1.inv_dt) * m_motorMass) * _local18); if (m_limitState == e_equalLimits){ m_limitForce = (m_limitForce + _local19); } else { if (m_limitState == e_atLowerLimit){ _local8 = m_limitForce; m_limitForce = b2Math.b2Max((m_limitForce + _local19), 0); _local19 = (m_limitForce - _local8); } else { if (m_limitState == e_atUpperLimit){ _local8 = m_limitForce; m_limitForce = b2Math.b2Min((m_limitForce + _local19), 0); _local19 = (m_limitForce - _local8); }; }; }; _local11 = (_arg1.dt * _local19); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * .linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * .linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * .angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * .linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * .linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * .angular2)); }; } } }//package Box2D.Dynamics.JointsSection 59//b2PrismaticJointDef (Box2D.Dynamics.Joints.b2PrismaticJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PrismaticJointDef extends b2JointDef { public var :b2Vec2; public var referenceAngle:Number; public var :Number; public var motorSpeed:Number; public var :Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var enableLimit:Boolean; public var enableMotor:Boolean; public var :Number; public function b2PrismaticJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); = new b2Vec2(); super(); type = b2Joint.e_prismaticJoint; .Set(1, 0); referenceAngle = 0; enableLimit = false; = 0; = 0; enableMotor = false; = 0; motorSpeed = 0; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):void{ body1 = _arg1; body2 = _arg2; localAnchor1 = body1.GetLocalPoint(_arg3); localAnchor2 = body2.GetLocalPoint(_arg3); = body1.GetLocalVector(_arg4); referenceAngle = (body2.GetAngle() - body1.GetAngle()); } } }//package Box2D.Dynamics.JointsSection 60//b2PulleyJoint (Box2D.Dynamics.Joints.b2PulleyJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PulleyJoint extends b2Joint { public var :b2Body; public var :Number; public var :Number; public var :Number; public var :int; public var :int; public var :Number; public var m_force:Number; public var :Number; public var m_constant:Number; public var :int; public var m_ratio:Number; public var m_groundAnchor1:b2Vec2; public var m_groundAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var :Number; public var :Number; public var :Number; public var :Number; public var :b2Vec2; public var :b2Vec2; public var :Number; public static const b2_minPulleyLength:Number = 2; public function b2PulleyJoint(_arg1:b2PulleyJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_groundAnchor1 = new b2Vec2(); m_groundAnchor2 = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); = new b2Vec2(); = new b2Vec2(); super(_arg1); = m_body1.m_world.; m_groundAnchor1.x = (_arg1. .x - .m_xf.position.x); m_groundAnchor1.y = (_arg1. .y - .m_xf.position.y); m_groundAnchor2.x = (_arg1. .x - .m_xf.position.x); m_groundAnchor2.y = (_arg1. .y - .m_xf.position.y); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_ratio = _arg1.ratio; m_constant = (_arg1. + (m_ratio * _arg1. )); = b2Math.b2Min(_arg1. , (m_constant - (m_ratio * b2_minPulleyLength))); = b2Math.b2Min(_arg1. , ((m_constant - b2_minPulleyLength) / m_ratio)); m_force = 0; = 0; = 0; } public function GetGroundAnchor2():b2Vec2{ var _local1:b2Vec2; _local1 = .m_xf.position.Copy(); _local1.Add(m_groundAnchor2); return (_local1); } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2; _local1 = .Copy(); _local1.Multiply(m_force); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:b2Body; var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; _local1 = m_body1; _local2 = m_body2; _local4 = (.m_xf.position.x + m_groundAnchor1.x); _local5 = (.m_xf.position.y + m_groundAnchor1.y); _local6 = (.m_xf.position.x + m_groundAnchor2.x); _local7 = (.m_xf.position.y + m_groundAnchor2.y); _local23 = 0; if ( == e_atUpperLimit){ _local3 = _local1.m_xf.R; _local8 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local8) + (_local3.col2.x * _local9)); _local9 = ((_local3.col1.y * _local8) + (_local3.col2.y * _local9)); _local8 = _local22; _local3 = _local2.m_xf.R; _local10 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local10) + (_local3.col2.x * _local11)); _local11 = ((_local3.col1.y * _local10) + (_local3.col2.y * _local11)); _local10 = _local22; _local12 = (_local1.m_sweep.c.x + _local8); _local13 = (_local1.m_sweep.c.y + _local9); _local14 = (_local2.m_sweep.c.x + _local10); _local15 = (_local2.m_sweep.c.y + _local11); .Set((_local12 - _local4), (_local13 - _local5)); .Set((_local14 - _local6), (_local15 - _local7)); _local16 = .Length(); _local17 = .Length(); if (_local16 > b2Settings.b2_linearSlop){ .Multiply((1 / _local16)); } else { .SetZero(); }; if (_local17 > b2Settings.b2_linearSlop){ .Multiply((1 / _local17)); } else { .SetZero(); }; _local18 = ((m_constant - _local16) - (m_ratio * _local17)); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-() * _local18); _local20 = ; = b2Math.b2Max(0, ( + _local19)); _local19 = ( - _local20); _local12 = (-(_local19) * .x); _local13 = (-(_local19) * .y); _local14 = ((-(m_ratio) * _local19) * .x); _local15 = ((-(m_ratio) * _local19) * .y); _local1.m_sweep.c.x = (_local1.m_sweep.c.x + (_local1.m_invMass * _local12)); _local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1.m_invMass * _local13)); _local1.m_sweep.a = (_local1.m_sweep.a + (_local1.m_invI * ((_local8 * _local13) - (_local9 * _local12)))); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a + (_local2.m_invI * ((_local10 * _local15) - (_local11 * _local14)))); _local1.SynchronizeTransform(); _local2.SynchronizeTransform(); }; if ( == e_atUpperLimit){ _local3 = _local1.m_xf.R; _local8 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local8) + (_local3.col2.x * _local9)); _local9 = ((_local3.col1.y * _local8) + (_local3.col2.y * _local9)); _local8 = _local22; _local12 = (_local1.m_sweep.c.x + _local8); _local13 = (_local1.m_sweep.c.y + _local9); .Set((_local12 - _local4), (_local13 - _local5)); _local16 = .Length(); if (_local16 > b2Settings.b2_linearSlop){ .x = (.x * (1 / _local16)); .y = (.y * (1 / _local16)); } else { .SetZero(); }; _local18 = ( - _local16); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-() * _local18); _local21 = ; = b2Math.b2Max(0, ( + _local19)); _local19 = ( - _local21); _local12 = (-(_local19) * .x); _local13 = (-(_local19) * .y); _local1.m_sweep.c.x = (_local1.m_sweep.c.x + (_local1.m_invMass * _local12)); _local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1.m_invMass * _local13)); _local1.m_sweep.a = (_local1.m_sweep.a + (_local1.m_invI * ((_local8 * _local13) - (_local9 * _local12)))); _local1.SynchronizeTransform(); }; if ( == e_atUpperLimit){ _local3 = _local2.m_xf.R; _local10 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local10) + (_local3.col2.x * _local11)); _local11 = ((_local3.col1.y * _local10) + (_local3.col2.y * _local11)); _local10 = _local22; _local14 = (_local2.m_sweep.c.x + _local10); _local15 = (_local2.m_sweep.c.y + _local11); .Set((_local14 - _local6), (_local15 - _local7)); _local17 = .Length(); if (_local17 > b2Settings.b2_linearSlop){ .x = (.x * (1 / _local17)); .y = (.y * (1 / _local17)); } else { .SetZero(); }; _local18 = ( - _local17); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-() * _local18); _local21 = ; = b2Math.b2Max(0, ( + _local19)); _local19 = ( - _local21); _local14 = (-(_local19) * .x); _local15 = (-(_local19) * .y); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a + (_local2.m_invI * ((_local10 * _local15) - (_local11 * _local14)))); _local2.SynchronizeTransform(); }; return ((_local23 < b2Settings.b2_linearSlop)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local5 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local7; _local10 = (_local2.m_sweep.c.x + _local5); _local11 = (_local2.m_sweep.c.y + _local6); _local12 = (_local3.m_sweep.c.x + _local8); _local13 = (_local3.m_sweep.c.y + _local9); _local14 = (.m_xf.position.x + m_groundAnchor1.x); _local15 = (.m_xf.position.y + m_groundAnchor1.y); _local16 = (.m_xf.position.x + m_groundAnchor2.x); _local17 = (.m_xf.position.y + m_groundAnchor2.y); .Set((_local10 - _local14), (_local11 - _local15)); .Set((_local12 - _local16), (_local13 - _local17)); _local18 = .Length(); _local19 = .Length(); if (_local18 > b2Settings.b2_linearSlop){ .Multiply((1 / _local18)); } else { .SetZero(); }; if (_local19 > b2Settings.b2_linearSlop){ .Multiply((1 / _local19)); } else { .SetZero(); }; _local20 = ((m_constant - _local18) - (m_ratio * _local19)); if (_local20 > 0){ = e_inactiveLimit; m_force = 0; } else { = e_atUpperLimit; = 0; }; if (_local18 < ){ = e_inactiveLimit; = 0; } else { = e_atUpperLimit; = 0; }; if (_local19 < ){ = e_inactiveLimit; = 0; } else { = e_atUpperLimit; = 0; }; _local21 = ((_local5 * .y) - (_local6 * .x)); _local22 = ((_local8 * .y) - (_local9 * .x)); = (_local2.m_invMass + ((_local2.m_invI * _local21) * _local21)); = (_local3.m_invMass + ((_local3.m_invI * _local22) * _local22)); = ( + ((m_ratio * m_ratio) * )); = (1 / ); = (1 / ); = (1 / ); if (_arg1.warmStarting){ _local23 = ((_arg1.dt * (-(m_force) - )) * .x); _local24 = ((_arg1.dt * (-(m_force) - )) * .y); _local25 = ((_arg1.dt * ((-(m_ratio) * m_force) - )) * .x); _local26 = ((_arg1.dt * ((-(m_ratio) * m_force) - )) * .y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local23)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local24)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local24) - (_local6 * _local23)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local25)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local26)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local26) - (_local9 * _local25)))); } else { m_force = 0; = 0; = 0; }; } override public function GetReactionTorque():Number{ return (0); } public function GetRatio():Number{ return (m_ratio); } public function ():Number{ var _local1:b2Vec2; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = m_body2.GetWorldPoint(m_localAnchor2); _local2 = (.m_xf.position.x + m_groundAnchor2.x); _local3 = (.m_xf.position.y + m_groundAnchor2.y); _local4 = (_local1.x - _local2); _local5 = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local5 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local7; if ( == e_atUpperLimit){ _local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5)); _local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)); _local18 = (-(((.x * _local10) + (.y * _local11))) - (m_ratio * ((.x * _local12) + (.y * _local13)))); _local19 = ((-(_arg1.inv_dt) * ) * _local18); _local20 = m_force; m_force = b2Math.b2Max(0, (m_force + _local19)); _local19 = (m_force - _local20); _local14 = ((-(_arg1.dt) * _local19) * .x); _local15 = ((-(_arg1.dt) * _local19) * .y); _local16 = (((-(_arg1.dt) * m_ratio) * _local19) * .x); _local17 = (((-(_arg1.dt) * m_ratio) * _local19) * .y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local14)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local15)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local15) - (_local6 * _local14)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); }; if ( == e_atUpperLimit){ _local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5)); _local18 = -(((.x * _local10) + (.y * _local11))); _local19 = ((-(_arg1.inv_dt) * ) * _local18); _local20 = ; = b2Math.b2Max(0, ( + _local19)); _local19 = ( - _local20); _local14 = ((-(_arg1.dt) * _local19) * .x); _local15 = ((-(_arg1.dt) * _local19) * .y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local14)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local15)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local15) - (_local6 * _local14)))); }; if ( == e_atUpperLimit){ _local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)); _local18 = -(((.x * _local12) + (.y * _local13))); _local19 = ((-(_arg1.inv_dt) * ) * _local18); _local20 = ; = b2Math.b2Max(0, ( + _local19)); _local19 = ( - _local20); _local16 = ((-(_arg1.dt) * _local19) * .x); _local17 = ((-(_arg1.dt) * _local19) * .y); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); }; } public function ():Number{ var _local1:b2Vec2; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = m_body1.GetWorldPoint(m_localAnchor1); _local2 = (.m_xf.position.x + m_groundAnchor1.x); _local3 = (.m_xf.position.y + m_groundAnchor1.y); _local4 = (_local1.x - _local2); _local5 = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } public function GetGroundAnchor1():b2Vec2{ var _local1:b2Vec2; _local1 = .m_xf.position.Copy(); _local1.Add(m_groundAnchor1); return (_local1); } } }//package Box2D.Dynamics.JointsSection 61//b2PulleyJointDef (Box2D.Dynamics.Joints.b2PulleyJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PulleyJointDef extends b2JointDef { public var :Number; public var :Number; public var :Number; public var :Number; public var ratio:Number; public var :b2Vec2; public var :b2Vec2; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public function b2PulleyJointDef(){ = new b2Vec2(); = new b2Vec2(); localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_pulleyJoint; .Set(-1, 1); .Set(1, 1); localAnchor1.Set(-1, 0); localAnchor2.Set(1, 0); = 0; = 0; = 0; = 0; ratio = 1; collideConnected = true; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2, _arg5:b2Vec2, _arg6:b2Vec2, _arg7:Number):void{ var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; body1 = _arg1; body2 = _arg2; .SetV(_arg3); .SetV(_arg4); localAnchor1 = body1.GetLocalPoint(_arg5); localAnchor2 = body2.GetLocalPoint(_arg6); _local8 = (_arg5.x - _arg3.x); _local9 = (_arg5.y - _arg3.y); = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); _local10 = (_arg6.x - _arg4.x); _local11 = (_arg6.y - _arg4.y); = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); ratio = _arg7; _local12 = ( + (ratio * )); = (_local12 - (ratio * b2PulleyJoint.b2_minPulleyLength)); = ((_local12 - b2PulleyJoint.b2_minPulleyLength) / ratio); } } }//package Box2D.Dynamics.JointsSection 62//b2RevoluteJoint (Box2D.Dynamics.Joints.b2RevoluteJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2RevoluteJoint extends b2Joint { public var m_limitForce:Number; public var m_motorForce:Number; public var :b2Mat22; public var m_enableLimit:Boolean; public var m_limitState:int; public var m_motorMass:Number; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; private var :b2Mat22; private var :b2Mat22; private var :b2Mat22; private var K:b2Mat22; public var :b2Vec2; public var m_motorSpeed:Number; public var m_enableMotor:Boolean; public var m_limitPositionImpulse:Number; public var :Number; public var :Number; public var :Number; public var :Number; public static var tImpulse:b2Vec2 = new b2Vec2(); public function b2RevoluteJoint(_arg1:b2RevoluteJointDef){ K = new b2Mat22(); = new b2Mat22(); = new b2Mat22(); = new b2Mat22(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); = new b2Vec2(); = new b2Mat22(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); = _arg1.referenceAngle; .Set(0, 0); m_motorForce = 0; m_limitForce = 0; m_limitPositionImpulse = 0; = _arg1. ; = _arg1. ; = _arg1. ; m_motorSpeed = _arg1.motorSpeed; m_enableLimit = _arg1.enableLimit; m_enableMotor = _arg1.enableMotor; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function GetUpperLimit():Number{ return (); } public function GetLowerLimit():Number{ return (); } public function SetLimits(_arg1:Number, _arg2:Number):void{ = _arg1; = _arg2; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } override public function GetReactionForce():b2Vec2{ return (); } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:Number; var _local3:b2Body; var _local4:b2Body; var _local5:Number; var _local6:b2Mat22; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; _local3 = m_body1; _local4 = m_body2; _local5 = 0; _local6 = _local3.m_xf.R; _local7 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local8 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local9 = ((_local6.col1.x * _local7) + (_local6.col2.x * _local8)); _local8 = ((_local6.col1.y * _local7) + (_local6.col2.y * _local8)); _local7 = _local9; _local6 = _local4.m_xf.R; _local10 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local9 = ((_local6.col1.x * _local10) + (_local6.col2.x * _local11)); _local11 = ((_local6.col1.y * _local10) + (_local6.col2.y * _local11)); _local10 = _local9; _local12 = (_local3.m_sweep.c.x + _local7); _local13 = (_local3.m_sweep.c.y + _local8); _local14 = (_local4.m_sweep.c.x + _local10); _local15 = (_local4.m_sweep.c.y + _local11); _local16 = (_local14 - _local12); _local17 = (_local15 - _local13); _local5 = Math.sqrt(((_local16 * _local16) + (_local17 * _local17))); _local18 = _local3.m_invMass; _local19 = _local4.m_invMass; _local20 = _local3.m_invI; _local21 = _local4.m_invI; .col1.x = (_local18 + _local19); .col2.x = 0; .col1.y = 0; .col2.y = (_local18 + _local19); .col1.x = ((_local20 * _local8) * _local8); .col2.x = ((-(_local20) * _local7) * _local8); .col1.y = ((-(_local20) * _local7) * _local8); .col2.y = ((_local20 * _local7) * _local7); .col1.x = ((_local21 * _local11) * _local11); .col2.x = ((-(_local21) * _local10) * _local11); .col1.y = ((-(_local21) * _local10) * _local11); .col2.y = ((_local21 * _local10) * _local10); K.SetM(); K.AddM(); K.AddM( ); K.Solve(tImpulse, -(_local16), -(_local17)); _local22 = tImpulse.x; _local23 = tImpulse.y; _local3.m_sweep.c.x = (_local3.m_sweep.c.x - (_local3.m_invMass * _local22)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y - (_local3.m_invMass * _local23)); _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * ((_local7 * _local23) - (_local8 * _local22)))); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + (_local4.m_invMass * _local22)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + (_local4.m_invMass * _local23)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * ((_local10 * _local23) - (_local11 * _local22)))); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); _local24 = 0; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local25 = ((_local4.m_sweep.a - _local3.m_sweep.a) - ); _local26 = 0; if (m_limitState == e_equalLimits){ _local2 = b2Math.b2Clamp(_local25, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); _local26 = (-(m_motorMass) * _local2); _local24 = b2Math.b2Abs(_local2); } else { if (m_limitState == e_atLowerLimit){ _local2 = (_local25 - ); _local24 = b2Math.b2Max(0, -(_local2)); _local2 = b2Math.b2Clamp((_local2 + b2Settings.b2_angularSlop), -(b2Settings.b2_maxAngularCorrection), 0); _local26 = (-(m_motorMass) * _local2); _local1 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Max((m_limitPositionImpulse + _local26), 0); _local26 = (m_limitPositionImpulse - _local1); } else { if (m_limitState == e_atUpperLimit){ _local2 = (_local25 - ); _local24 = b2Math.b2Max(0, _local2); _local2 = b2Math.b2Clamp((_local2 - b2Settings.b2_angularSlop), 0, b2Settings.b2_maxAngularCorrection); _local26 = (-(m_motorMass) * _local2); _local1 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Min((m_limitPositionImpulse + _local26), 0); _local26 = (m_limitPositionImpulse - _local1); }; }; }; _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * _local26)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * _local26)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); }; return ((((_local5 <= b2Settings.b2_linearSlop)) && ((_local24 <= b2Settings.b2_angularSlop)))); } public function GetJointSpeed():Number{ return ((m_body2.m_angularVelocity - m_body1.m_angularVelocity)); } public function SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } public function (_arg1:Number):void{ = _arg1; } public function GetJointAngle():Number{ return (((m_body2.m_sweep.a - m_body1.m_sweep.a) - )); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local6 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; _local10 = _local2.m_invMass; _local11 = _local3.m_invMass; _local12 = _local2.m_invI; _local13 = _local3.m_invI; .col1.x = (_local10 + _local11); .col2.x = 0; .col1.y = 0; .col2.y = (_local10 + _local11); .col1.x = ((_local12 * _local7) * _local7); .col2.x = ((-(_local12) * _local6) * _local7); .col1.y = ((-(_local12) * _local6) * _local7); .col2.y = ((_local12 * _local6) * _local6); .col1.x = ((_local13 * _local9) * _local9); .col2.x = ((-(_local13) * _local8) * _local9); .col1.y = ((-(_local13) * _local8) * _local9); .col2.y = ((_local13 * _local8) * _local8); K.SetM(); K.AddM(); K.AddM( ); K.Invert(); m_motorMass = (1 / (_local12 + _local13)); if (m_enableMotor == false){ m_motorForce = 0; }; if (m_enableLimit){ _local14 = ((_local3.m_sweep.a - _local2.m_sweep.a) - ); if (b2Math.b2Abs(( - )) < (2 * b2Settings.b2_angularSlop)){ m_limitState = e_equalLimits; } else { if (_local14 <= ){ if (m_limitState != e_atLowerLimit){ m_limitForce = 0; }; m_limitState = e_atLowerLimit; } else { if (_local14 >= ){ if (m_limitState != e_atUpperLimit){ m_limitForce = 0; }; m_limitState = e_atUpperLimit; } else { m_limitState = e_inactiveLimit; m_limitForce = 0; }; }; }; } else { m_limitForce = 0; }; if (_arg1.warmStarting){ _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - ((_arg1.dt * _local10) * .x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - ((_arg1.dt * _local10) * .y)); _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_arg1.dt * _local12) * ((((_local6 * .y) - (_local7 * .x)) + m_motorForce) + m_limitForce))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_arg1.dt * _local11) * .x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_arg1.dt * _local11) * .y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_arg1.dt * _local13) * ((((_local8 * .y) - (_local9 * .x)) + m_motorForce) + m_limitForce))); } else { .SetZero(); m_motorForce = 0; m_limitForce = 0; }; m_limitPositionImpulse = 0; } public function EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } public function ():Number{ return (m_motorForce); } override public function GetReactionTorque():Number{ return (m_limitForce); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local6 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; _local11 = (((_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)) - _local2.m_linearVelocity.x) - (-(_local2.m_angularVelocity) * _local7)); _local12 = (((_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)) - _local2.m_linearVelocity.y) - (_local2.m_angularVelocity * _local6)); _local13 = (-(_arg1.inv_dt) * ((.col1.x * _local11) + (.col2.x * _local12))); _local14 = (-(_arg1.inv_dt) * ((.col1.y * _local11) + (.col2.y * _local12))); .x = (.x + _local13); .y = (.y + _local14); _local15 = (_arg1.dt * _local13); _local16 = (_arg1.dt * _local14); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - (_local2.m_invMass * _local15)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - (_local2.m_invMass * _local16)); _local2.m_angularVelocity = (_local2.m_angularVelocity - (_local2.m_invI * ((_local6 * _local16) - (_local7 * _local15)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local15)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local16)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local16) - (_local9 * _local15)))); if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){ _local17 = ((_local3.m_angularVelocity - _local2.m_angularVelocity) - m_motorSpeed); _local18 = ((-(_arg1.inv_dt) * m_motorMass) * _local17); _local19 = m_motorForce; m_motorForce = b2Math.b2Clamp((m_motorForce + _local18), -(), ); _local18 = (m_motorForce - _local19); _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_local2.m_invI * _arg1.dt) * _local18)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _arg1.dt) * _local18)); }; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local20 = (_local3.m_angularVelocity - _local2.m_angularVelocity); _local21 = ((-(_arg1.inv_dt) * m_motorMass) * _local20); if (m_limitState == e_equalLimits){ m_limitForce = (m_limitForce + _local21); } else { if (m_limitState == e_atLowerLimit){ _local10 = m_limitForce; m_limitForce = b2Math.b2Max((m_limitForce + _local21), 0); _local21 = (m_limitForce - _local10); } else { if (m_limitState == e_atUpperLimit){ _local10 = m_limitForce; m_limitForce = b2Math.b2Min((m_limitForce + _local21), 0); _local21 = (m_limitForce - _local10); }; }; }; _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_local2.m_invI * _arg1.dt) * _local21)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _arg1.dt) * _local21)); }; } } }//package Box2D.Dynamics.JointsSection 63//b2RevoluteJointDef (Box2D.Dynamics.Joints.b2RevoluteJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2RevoluteJointDef extends b2JointDef { public var referenceAngle:Number; public var :Number; public var :Number; public var motorSpeed:Number; public var :Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var enableLimit:Boolean; public var enableMotor:Boolean; public function b2RevoluteJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_revoluteJoint; localAnchor1.Set(0, 0); localAnchor2.Set(0, 0); referenceAngle = 0; = 0; = 0; = 0; motorSpeed = 0; enableLimit = false; enableMotor = false; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2):void{ body1 = _arg1; body2 = _arg2; localAnchor1 = body1.GetLocalPoint(_arg3); localAnchor2 = body2.GetLocalPoint(_arg3); referenceAngle = (body2.GetAngle() - body1.GetAngle()); } } }//package Box2D.Dynamics.JointsSection 64//b2Body (Box2D.Dynamics.b2Body) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Joints.*; import Box2D.Dynamics.Contacts.*; public class b2Body { public var m_next:b2Body; public var m_contactList:b2ContactEdge; public var m_angularVelocity:Number; public var m_shapeList:b2Shape; public var m_force:b2Vec2; public var m_mass:Number; public var m_sweep:b2Sweep; public var m_xf:b2XForm; public var m_torque:Number; public var m_userData; public var m_flags:uint; public var m_world:b2World; public var m_prev:b2Body; public var m_invMass:Number; public var m_type:int; public var m_linearDamping:Number; public var m_angularDamping:Number; public var m_invI:Number; public var m_linearVelocity:b2Vec2; public var m_sleepTime:Number; public var m_shapeCount:int; public var m_jointList:b2JointEdge; public var :Number; public static var e_fixedRotationFlag:uint = 64; public static var e_frozenFlag:uint = 2; public static var e_maxTypes:uint = 3; public static var e_sleepFlag:uint = 8; private static var s_massData:b2MassData = new b2MassData(); public static var e_bulletFlag:uint = 32; public static var e_staticType:uint = 1; public static var e_islandFlag:uint = 4; public static var e_allowSleepFlag:uint = 16; private static var s_xf1:b2XForm = new b2XForm(); public static var e_dynamicType:uint = 2; public function b2Body(_arg1:b2BodyDef, _arg2:b2World){ var _local3:b2Mat22; var _local4:b2Vec2; m_xf = new b2XForm(); m_sweep = new b2Sweep(); m_linearVelocity = new b2Vec2(); m_force = new b2Vec2(); super(); m_flags = 0; if (_arg1.){ m_flags = (m_flags | e_bulletFlag); }; if (_arg1.){ m_flags = (m_flags | e_fixedRotationFlag); }; if (_arg1.){ m_flags = (m_flags | e_allowSleepFlag); }; if (_arg1. ){ m_flags = (m_flags | e_sleepFlag); }; m_world = _arg2; m_xf.position.SetV(_arg1.position); m_xf.R.Set(_arg1.); m_sweep.localCenter.SetV(_arg1..center); m_sweep.t0 = 1; m_sweep.a0 = (m_sweep.a = _arg1.); _local3 = m_xf.R; _local4 = m_sweep.localCenter; m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); m_jointList = null; m_contactList = null; m_prev = null; m_next = null; m_linearDamping = _arg1.linearDamping; m_angularDamping = _arg1. ; m_force.Set(0, 0); m_torque = 0; m_linearVelocity.SetZero(); m_angularVelocity = 0; m_sleepTime = 0; m_invMass = 0; = 0; m_invI = 0; m_mass = _arg1..mass; if (m_mass > 0){ m_invMass = (1 / m_mass); }; if ((m_flags & b2Body.e_fixedRotationFlag) == 0){ = _arg1..I; }; if ( > 0){ m_invI = (1 / ); }; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; m_userData = _arg1.userData; m_shapeList = null; m_shapeCount = 0; } public function (_arg1:b2Vec2):b2Vec2{ return (new b2Vec2((m_linearVelocity.x - (m_angularVelocity * (_arg1.y - m_sweep.c.y))), (m_linearVelocity.y + (m_angularVelocity * (_arg1.x - m_sweep.c.x))))); } public function SetLinearVelocity(_arg1:b2Vec2):void{ m_linearVelocity.SetV(_arg1); } public function WakeUp():void{ m_flags = (m_flags & ~(e_sleepFlag)); m_sleepTime = 0; } public function ():b2Vec2{ return (m_sweep.localCenter); } public function ApplyTorque(_arg1:Number):void{ if (IsSleeping()){ WakeUp(); }; m_torque = (m_torque + _arg1); } public function ():Boolean{ return (((m_flags & e_frozenFlag) == e_frozenFlag)); } public function ():Boolean{ return ((m_type == e_dynamicType)); } public function GetLinearVelocity():b2Vec2{ return (m_linearVelocity); } public function SynchronizeTransform():void{ var _local1:b2Mat22; var _local2:b2Vec2; m_xf.R.Set(m_sweep.a); _local1 = m_xf.R; _local2 = m_sweep.localCenter; m_xf.position.x = (m_sweep.c.x - ((_local1.col1.x * _local2.x) + (_local1.col2.x * _local2.y))); m_xf.position.y = (m_sweep.c.y - ((_local1.col1.y * _local2.x) + (_local1.col2.y * _local2.y))); } public function ():Number{ return (); } public function IsSleeping():Boolean{ return (((m_flags & e_sleepFlag) == e_sleepFlag)); } public function SetMassFromShapes():void{ var _local1:b2Shape; var _local2:Number; var _local3:Number; var _local4:b2MassData; var _local5:b2Mat22; var _local6:b2Vec2; var _local7:int; if (m_world.m_lock == true){ return; }; m_mass = 0; m_invMass = 0; = 0; m_invI = 0; _local2 = 0; _local3 = 0; _local4 = s_massData; _local1 = m_shapeList; while (_local1) { _local1.ComputeMass(_local4); m_mass = (m_mass + _local4.mass); _local2 = (_local2 + (_local4.mass * _local4.center.x)); _local3 = (_local3 + (_local4.mass * _local4.center.y)); = ( + _local4.I); _local1 = _local1.m_next; }; if (m_mass > 0){ m_invMass = (1 / m_mass); _local2 = (_local2 * m_invMass); _local3 = (_local3 * m_invMass); }; if (((( > 0)) && (((m_flags & e_fixedRotationFlag) == 0)))){ = ( - (m_mass * ((_local2 * _local2) + (_local3 * _local3)))); m_invI = (1 / ); } else { = 0; m_invI = 0; }; m_sweep.localCenter.Set(_local2, _local3); _local5 = m_xf.R; _local6 = m_sweep.localCenter; m_sweep.c.x = ((_local5.col1.x * _local6.x) + (_local5.col2.x * _local6.y)); m_sweep.c.y = ((_local5.col1.y * _local6.x) + (_local5.col2.y * _local6.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); _local1 = m_shapeList; while (_local1) { _local1.UpdateSweepRadius(m_sweep.localCenter); _local1 = _local1.m_next; }; _local7 = m_type; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; if (_local7 != m_type){ _local1 = m_shapeList; while (_local1) { _local1.RefilterProxy(m_world.m_broadPhase, m_xf); _local1 = _local1.m_next; }; }; } public function ():void{ m_flags = (m_flags | e_sleepFlag); m_sleepTime = 0; m_linearVelocity.SetZero(); m_angularVelocity = 0; m_force.SetZero(); m_torque = 0; } public function GetJointList():b2JointEdge{ return (m_jointList); } public function SetXForm(_arg1:b2Vec2, _arg2:Number):Boolean{ var _local3:b2Shape; var _local4:b2Mat22; var _local5:b2Vec2; var _local6:Boolean; var _local7:Boolean; if (m_world.m_lock == true){ return (true); }; if (()){ return (false); }; m_xf.R.Set(_arg2); m_xf.position.SetV(_arg1); _local4 = m_xf.R; _local5 = m_sweep.localCenter; m_sweep.c.x = ((_local4.col1.x * _local5.x) + (_local4.col2.x * _local5.y)); m_sweep.c.y = ((_local4.col1.y * _local5.x) + (_local4.col2.y * _local5.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); m_sweep.a0 = (m_sweep.a = _arg2); _local6 = false; _local3 = m_shapeList; while (_local3) { _local7 = _local3.Synchronize(m_world.m_broadPhase, m_xf, m_xf); if (_local7 == false){ _local6 = true; break; }; _local3 = _local3.m_next; }; if (_local6 == true){ m_flags = (m_flags | e_frozenFlag); m_linearVelocity.SetZero(); m_angularVelocity = 0; _local3 = m_shapeList; while (_local3) { _local3.DestroyProxy(m_world.m_broadPhase); _local3 = _local3.m_next; }; return (false); }; m_world.m_broadPhase.Commit(); return (true); } public function GetLocalPoint(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulXT(m_xf, _arg1)); } public function ApplyForce(_arg1:b2Vec2, _arg2:b2Vec2):void{ if (IsSleeping()){ WakeUp(); }; m_force.x = (m_force.x + _arg1.x); m_force.y = (m_force.y + _arg1.y); m_torque = (m_torque + (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x))); } public function SynchronizeShapes():Boolean{ var _local1:b2XForm; var _local2:b2Mat22; var _local3:b2Vec2; var _local4:b2Shape; var _local5:Boolean; _local1 = s_xf1; _local1.R.Set(m_sweep.a0); _local2 = _local1.R; _local3 = m_sweep.localCenter; _local1.position.x = (m_sweep.c0.x - ((_local2.col1.x * _local3.x) + (_local2.col2.x * _local3.y))); _local1.position.y = (m_sweep.c0.y - ((_local2.col1.y * _local3.x) + (_local2.col2.y * _local3.y))); _local5 = true; _local4 = m_shapeList; while (_local4) { _local5 = _local4.Synchronize(m_world.m_broadPhase, _local1, m_xf); if (_local5 == false){ break; }; _local4 = _local4.m_next; }; if (_local5 == false){ m_flags = (m_flags | e_frozenFlag); m_linearVelocity.SetZero(); m_angularVelocity = 0; _local4 = m_shapeList; while (_local4) { _local4.DestroyProxy(m_world.m_broadPhase); _local4 = _local4.m_next; }; return (false); }; return (true); } public function GetAngle():Number{ return (m_sweep.a); } public function GetXForm():b2XForm{ return (m_xf); } public function ApplyImpulse(_arg1:b2Vec2, _arg2:b2Vec2):void{ if (IsSleeping()){ WakeUp(); }; m_linearVelocity.x = (m_linearVelocity.x + (m_invMass * _arg1.x)); m_linearVelocity.y = (m_linearVelocity.y + (m_invMass * _arg1.y)); m_angularVelocity = (m_angularVelocity + (m_invI * (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x)))); } public function GetNext():b2Body{ return (m_next); } public function GetMass():Number{ return (m_mass); } public function GetLinearVelocityFromLocalPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22; var _local3:b2Vec2; _local2 = m_xf.R; _local3 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y))); _local3.x = (_local3.x + m_xf.position.x); _local3.y = (_local3.y + m_xf.position.y); return (new b2Vec2((m_linearVelocity.x - (m_angularVelocity * (_local3.y - m_sweep.c.y))), (m_linearVelocity.y + (m_angularVelocity * (_local3.x - m_sweep.c.x))))); } public function GetAngularVelocity():Number{ return (m_angularVelocity); } public function SetAngularVelocity(_arg1:Number):void{ m_angularVelocity = _arg1; } public function SetMass(_arg1:b2MassData):void{ var _local2:b2Shape; var _local3:b2Mat22; var _local4:b2Vec2; var _local5:int; if (m_world.m_lock == true){ return; }; m_invMass = 0; = 0; m_invI = 0; m_mass = _arg1.mass; if (m_mass > 0){ m_invMass = (1 / m_mass); }; if ((m_flags & b2Body.e_fixedRotationFlag) == 0){ = _arg1.I; }; if ( > 0){ m_invI = (1 / ); }; m_sweep.localCenter.SetV(_arg1.center); _local3 = m_xf.R; _local4 = m_sweep.localCenter; m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); _local2 = m_shapeList; while (_local2) { _local2.UpdateSweepRadius(m_sweep.localCenter); _local2 = _local2.m_next; }; _local5 = m_type; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; if (_local5 != m_type){ _local2 = m_shapeList; while (_local2) { _local2.RefilterProxy(m_world.m_broadPhase, m_xf); _local2 = _local2.m_next; }; }; } public function IsStatic():Boolean{ return ((m_type == e_staticType)); } public function GetWorldVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulMV(m_xf.R, _arg1)); } public function GetShapeList():b2Shape{ return (m_shapeList); } public function Advance(_arg1:Number):void{ m_sweep.Advance(_arg1); m_sweep.c.SetV(m_sweep.c0); m_sweep.a = m_sweep.a0; SynchronizeTransform(); } public function (_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_bulletFlag); } else { m_flags = (m_flags & ~(e_bulletFlag)); }; } public function CreateShape(_arg1:b2ShapeDef):b2Shape{ var _local2:b2Shape; if (m_world.m_lock == true){ return (null); }; _local2 = b2Shape.Create(_arg1, m_world.m_blockAllocator); _local2.m_next = m_shapeList; m_shapeList = _local2; m_shapeCount++; _local2.m_body = this; _local2.CreateProxy(m_world.m_broadPhase, m_xf); _local2.UpdateSweepRadius(m_sweep.localCenter); return (_local2); } public function IsConnected(_arg1:b2Body):Boolean{ var _local2:b2JointEdge; _local2 = m_jointList; while (_local2) { if (_local2.other == _arg1){ return ((_local2.joint.m_collideConnected == false)); }; _local2 = _local2.next; }; return (false); } public function (_arg1:b2Shape):void{ var _local2:b2Shape; var _local3:b2Shape; var _local4:Boolean; if (m_world.m_lock == true){ return; }; _arg1.DestroyProxy(m_world.m_broadPhase); _local2 = m_shapeList; _local3 = null; _local4 = false; while (_local2 != null) { if (_local2 == _arg1){ if (_local3){ _local3.m_next = _arg1.m_next; } else { m_shapeList = _arg1.m_next; }; _local4 = true; break; }; _local3 = _local2; _local2 = _local2.m_next; }; _arg1.m_body = null; _arg1.m_next = null; m_shapeCount--; b2Shape.Destroy(_arg1, m_world.m_blockAllocator); } public function GetUserData(){ return (m_userData); } public function IsBullet():Boolean{ return (((m_flags & e_bulletFlag) == e_bulletFlag)); } public function GetWorldCenter():b2Vec2{ return (m_sweep.c); } public function (_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_allowSleepFlag); } else { m_flags = (m_flags & ~(e_allowSleepFlag)); WakeUp(); }; } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function GetLocalVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulTMV(m_xf.R, _arg1)); } public function GetWorldPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22; var _local3:b2Vec2; _local2 = m_xf.R; _local3 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y))); _local3.x = (_local3.x + m_xf.position.x); _local3.y = (_local3.y + m_xf.position.y); return (_local3); } public function ():b2World{ return (m_world); } public function GetPosition():b2Vec2{ return (m_xf.position); } } }//package Box2D.DynamicsSection 65//b2BodyDef (Box2D.Dynamics.b2BodyDef) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class b2BodyDef { public var :Boolean; public var position:b2Vec2; public var :Boolean; public var :Boolean; public var userData; public var :Number; public var :Boolean; public var :Number; public var linearDamping:Number; public var :b2MassData; public function b2BodyDef(){ = new b2MassData(); position = new b2Vec2(); super(); .center.SetZero(); .mass = 0; .I = 0; userData = null; position.Set(0, 0); = 0; linearDamping = 0; = 0; = true; = false; = false; = false; } } }//package Box2D.DynamicsSection 66//b2BoundaryListener (Box2D.Dynamics.b2BoundaryListener) package Box2D.Dynamics { public class b2BoundaryListener { public function Violation(_arg1:b2Body):void{ } } }//package Box2D.DynamicsSection 67//b2ContactFilter (Box2D.Dynamics.b2ContactFilter) package Box2D.Dynamics { import Box2D.Collision.Shapes.*; public class b2ContactFilter { public static var b2_defaultFilter:b2ContactFilter = new (b2ContactFilter); ; public function ShouldCollide(_arg1:b2Shape, _arg2:b2Shape):Boolean{ var _local3:b2FilterData; var _local4:b2FilterData; var _local5:Boolean; _local3 = _arg1.GetFilterData(); _local4 = _arg2.GetFilterData(); if ((((_local3.groupIndex == _local4.groupIndex)) && (!((_local3.groupIndex == 0))))){ return ((_local3.groupIndex > 0)); }; _local5 = ((!(((_local3.maskBits & _local4.categoryBits) == 0))) && (!(((_local3.categoryBits & _local4.maskBits) == 0)))); return (_local5); } } }//package Box2D.DynamicsSection 68//b2ContactListener (Box2D.Dynamics.b2ContactListener) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; public class b2ContactListener { public function Add(_arg1:b2ContactPoint):void{ } public function Remove(_arg1:b2ContactPoint):void{ } public function Persist(_arg1:b2ContactPoint):void{ } public function Result(_arg1:b2ContactResult):void{ } } }//package Box2D.DynamicsSection 69//b2ContactManager (Box2D.Dynamics.b2ContactManager) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; public class b2ContactManager extends b2PairCallback { public var m_world:b2World; public var :Boolean; public var :b2NullContact; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2ContactManager(){ = new b2NullContact(); super(); m_world = null; = false; } override public function PairAdded(_arg1, _arg2){ var _local3:b2Shape; var _local4:b2Shape; var _local5:b2Body; var _local6:b2Body; var _local7:b2Contact; _local3 = (_arg1 as b2Shape); _local4 = (_arg2 as b2Shape); _local5 = _local3.m_body; _local6 = _local4.m_body; if (((_local5.IsStatic()) && (_local6.IsStatic()))){ return (); }; if (_local3.m_body == _local4.m_body){ return (); }; if (_local6.IsConnected(_local5)){ return (); }; if (((!((m_world.m_contactFilter == null))) && ((m_world.m_contactFilter.ShouldCollide(_local3, _local4) == false)))){ return (); }; _local7 = b2Contact.Create(_local3, _local4, m_world.m_blockAllocator); if (_local7 == null){ return (); }; _local3 = _local7.m_shape1; _local4 = _local7.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; _local7.m_prev = null; _local7.m_next = m_world.m_contactList; if (m_world.m_contactList != null){ m_world.m_contactList.m_prev = _local7; }; m_world.m_contactList = _local7; _local7.m_node1.contact = _local7; _local7.m_node1.other = _local6; _local7.m_node1.prev = null; _local7.m_node1.next = _local5.m_contactList; if (_local5.m_contactList != null){ _local5.m_contactList.prev = _local7.m_node1; }; _local5.m_contactList = _local7.m_node1; _local7.m_node2.contact = _local7; _local7.m_node2.other = _local5; _local7.m_node2.prev = null; _local7.m_node2.next = _local6.m_contactList; if (_local6.m_contactList != null){ _local6.m_contactList.prev = _local7.m_node2; }; _local6.m_contactList = _local7.m_node2; m_world.m_contactCount++; return (_local7); } override public function PairRemoved(_arg1, _arg2, _arg3):void{ var _local4:b2Contact; if (_arg3 == null){ return; }; _local4 = (_arg3 as b2Contact); if (_local4 == ){ return; }; Destroy(_local4); } public function Destroy(_arg1:b2Contact):void{ var _local2:b2Shape; var _local3:b2Shape; var _local4:int; var _local5:b2Body; var _local6:b2Body; var _local7:b2Body; var _local8:b2Body; var _local9:Array; var _local10:b2ContactPoint; var _local11:int; var _local12:b2Manifold; var _local13:int; var _local14:b2ManifoldPoint; var _local15:b2Vec2; var _local16:b2Vec2; _local2 = _arg1.m_shape1; _local3 = _arg1.m_shape2; _local4 = _arg1.m_manifoldCount; if ((((_local4 > 0)) && (m_world.m_contactListener))){ _local7 = _local2.m_body; _local8 = _local3.m_body; _local9 = _arg1.GetManifolds(); _local10 = s_evalCP; _local10.shape1 = _arg1.m_shape1; _local10.shape2 = _arg1.m_shape1; _local10.friction = _arg1.m_friction; _local10.restitution = _arg1.m_restitution; _local11 = 0; while (_local11 < _local4) { _local12 = _local9[_local11]; _local10.normal.SetV(_local12.normal); _local13 = 0; while (_local13 < _local12.pointCount) { _local14 = _local12.points[_local13]; _local10.position = _local7.GetWorldPoint(_local14.localPoint1); _local15 = _local7.GetLinearVelocityFromLocalPoint(_local14.localPoint1); _local16 = _local8.GetLinearVelocityFromLocalPoint(_local14.localPoint2); _local10.velocity.Set((_local16.x - _local15.x), (_local16.y - _local15.y)); _local10.separation = _local14.separation; _local10.id.key = _local14.id._key; m_world.m_contactListener.Remove(_local10); _local13++; }; _local11++; }; }; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_world.m_contactList){ m_world.m_contactList = _arg1.m_next; }; _local5 = _local2.m_body; _local6 = _local3.m_body; if (_arg1.m_node1.prev){ _arg1.m_node1.prev.next = _arg1.m_node1.next; }; if (_arg1.m_node1.next){ _arg1.m_node1.next.prev = _arg1.m_node1.prev; }; if (_arg1.m_node1 == _local5.m_contactList){ _local5.m_contactList = _arg1.m_node1.next; }; if (_arg1.m_node2.prev){ _arg1.m_node2.prev.next = _arg1.m_node2.next; }; if (_arg1.m_node2.next){ _arg1.m_node2.next.prev = _arg1.m_node2.prev; }; if (_arg1.m_node2 == _local6.m_contactList){ _local6.m_contactList = _arg1.m_node2.next; }; b2Contact.Destroy(_arg1, m_world.m_blockAllocator); m_world.m_contactCount--; } public function Collide():void{ var _local1:b2Contact; var _local2:b2Body; var _local3:b2Body; _local1 = m_world.m_contactList; while (_local1) { _local2 = _local1.m_shape1.m_body; _local3 = _local1.m_shape2.m_body; if (((_local2.IsSleeping()) && (_local3.IsSleeping()))){ } else { _local1.Update(m_world.m_contactListener); }; _local1 = _local1.m_next; }; } } }//package Box2D.DynamicsSection 70//b2DebugDraw (Box2D.Dynamics.b2DebugDraw) package Box2D.Dynamics { import flash.display.*; import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2DebugDraw { public var :Number;// = 1 public var :Number;// = 1 public var :Number;// = 1 public var :Number;// = 1 public var :uint; public var m_sprite:Sprite; public var :Number;// = 1 public static var e_coreShapeBit:uint = 4; public static var e_shapeBit:uint = 1; public static var e_centerOfMassBit:uint = 64; public static var e_aabbBit:uint = 8; public static var e_obbBit:uint = 16; public static var e_pairBit:uint = 32; public static var e_jointBit:uint = 2; public function b2DebugDraw(){ = 1; = 1; = 1; = 1; = 1; super(); = 0; } public function DrawSolidPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ var _local4:int; m_sprite.graphics.lineStyle(, _arg3.color, ); m_sprite.graphics.moveTo((_arg1[0].x * ), (_arg1[0].y * )); m_sprite.graphics.beginFill(_arg3.color, ); _local4 = 1; while (_local4 < _arg2) { m_sprite.graphics.lineTo((_arg1[_local4].x * ), (_arg1[_local4].y * )); _local4++; }; m_sprite.graphics.lineTo((_arg1[0].x * ), (_arg1[0].y * )); m_sprite.graphics.endFill(); } public function DrawCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(, _arg3.color, ); m_sprite.graphics.drawCircle((_arg1.x * ), (_arg1.y * ), (_arg2 * )); } public function DrawXForm(_arg1:b2XForm):void{ m_sprite.graphics.lineStyle(, 0xFF0000, ); m_sprite.graphics.moveTo((_arg1.position.x * ), (_arg1.position.y * )); m_sprite.graphics.lineTo(((_arg1.position.x + ( * _arg1.R.col1.x)) * ), ((_arg1.position.y + ( * _arg1.R.col1.y)) * )); m_sprite.graphics.lineStyle(, 0xFF00, ); m_sprite.graphics.moveTo((_arg1.position.x * ), (_arg1.position.y * )); m_sprite.graphics.lineTo(((_arg1.position.x + ( * _arg1.R.col2.x)) * ), ((_arg1.position.y + ( * _arg1.R.col2.y)) * )); } public function (_arg1:uint):void{ = ( & ~(_arg1)); } public function DrawSolidCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:b2Color):void{ m_sprite.graphics.lineStyle(, _arg4.color, ); m_sprite.graphics.moveTo(0, 0); m_sprite.graphics.beginFill(_arg4.color, ); m_sprite.graphics.drawCircle((_arg1.x * ), (_arg1.y * ), (_arg2 * )); m_sprite.graphics.endFill(); m_sprite.graphics.moveTo((_arg1.x * ), (_arg1.y * )); m_sprite.graphics.lineTo(((_arg1.x + (_arg3.x * _arg2)) * ), ((_arg1.y + (_arg3.y * _arg2)) * )); } public function (_arg1:uint):void{ = _arg1; } public function (_arg1:uint):void{ = ( | _arg1); } public function DrawSegment(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(, _arg3.color, ); m_sprite.graphics.moveTo((_arg1.x * ), (_arg1.y * )); m_sprite.graphics.lineTo((_arg2.x * ), (_arg2.y * )); } public function GetFlags():uint{ return (); } public function DrawPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ var _local4:int; m_sprite.graphics.lineStyle(, _arg3.color, ); m_sprite.graphics.moveTo((_arg1[0].x * ), (_arg1[0].y * )); _local4 = 1; while (_local4 < _arg2) { m_sprite.graphics.lineTo((_arg1[_local4].x * ), (_arg1[_local4].y * )); _local4++; }; m_sprite.graphics.lineTo((_arg1[0].x * ), (_arg1[0].y * )); } } }//package Box2D.DynamicsSection 71//b2DestructionListener (Box2D.Dynamics.b2DestructionListener) package Box2D.Dynamics { import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Joints.*; public class b2DestructionListener { public function SayGoodbyeJoint(_arg1:b2Joint):void{ } public function SayGoodbyeShape(_arg1:b2Shape):void{ } } }//package Box2D.DynamicsSection 72//b2Island (Box2D.Dynamics.b2Island) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2Island { public var :Array; public var :b2ContactListener; public var m_positionIterationCount:int; public var :int; public var m_bodies:Array; public var :int; public var m_contactCount:int; public var m_contacts:Array; public var m_contactCapacity:int; public var m_jointCount:int; public var m_allocator; public var m_bodyCount:int; private static var s_reportCR:b2ContactResult = new b2ContactResult(); public function b2Island(_arg1:int, _arg2:int, _arg3:int, _arg4, _arg5:b2ContactListener){ var _local6:int; super(); = _arg1; m_contactCapacity = _arg2; = _arg3; m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; m_allocator = _arg4; = _arg5; m_bodies = new Array(_arg1); _local6 = 0; while (_local6 < _arg1) { m_bodies[_local6] = null; _local6++; }; m_contacts = new Array(_arg2); _local6 = 0; while (_local6 < _arg2) { m_contacts[_local6] = null; _local6++; }; = new Array(_arg3); _local6 = 0; while (_local6 < _arg3) { [_local6] = null; _local6++; }; m_positionIterationCount = 0; } public function AddBody(_arg1:b2Body):void{ var _local2 = m_bodyCount++; m_bodies[_local2] = _arg1; } public function AddJoint(_arg1:b2Joint):void{ var _local2 = m_jointCount++; [_local2] = _arg1; } public function (_arg1:Array):void{ var _local2:b2Mat22; var _local3:b2Vec2; var _local4:int; var _local5:b2Contact; var _local6:b2ContactConstraint; var _local7:b2ContactResult; var _local8:b2Body; var _local9:int; var _local10:Array; var _local11:int; var _local12:b2Manifold; var _local13:int; var _local14:b2ManifoldPoint; var _local15:b2ContactConstraintPoint; if ( == null){ return; }; _local4 = 0; while (_local4 < m_contactCount) { _local5 = m_contacts[_local4]; _local6 = _arg1[_local4]; _local7 = s_reportCR; _local7.shape1 = _local5.m_shape1; _local7.shape2 = _local5.m_shape2; _local8 = _local7.shape1.m_body; _local9 = _local5.m_manifoldCount; _local10 = _local5.GetManifolds(); _local11 = 0; while (_local11 < _local9) { _local12 = _local10[_local11]; _local7.normal.SetV(_local12.normal); _local13 = 0; while (_local13 < _local12.pointCount) { _local14 = _local12.points[_local13]; _local15 = _local6.points[_local13]; _local7.position = _local8.GetWorldPoint(_local14.localPoint1); _local7.normalImpulse = _local15.normalImpulse; _local7.tangentImpulse = _local15.tangentImpulse; _local7.id.key = _local14.id.key; .Result(_local7); _local13++; }; _local11++; }; _local4++; }; } public function Solve(_arg1:b2TimeStep, _arg2:b2Vec2, _arg3:Boolean, _arg4:Boolean):void{ var _local5:int; var _local6:b2Body; var _local7:b2Joint; var _local8:b2ContactSolver; var _local9:int; var _local10:Boolean; var _local11:Boolean; var _local12:Boolean; var _local13:Number; var _local14:Number; var _local15:Number; _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.IsStatic()){ } else { _local6.m_linearVelocity.x = (_local6.m_linearVelocity.x + (_arg1.dt * (_arg2.x + (_local6.m_invMass * _local6.m_force.x)))); _local6.m_linearVelocity.y = (_local6.m_linearVelocity.y + (_arg1.dt * (_arg2.y + (_local6.m_invMass * _local6.m_force.y)))); _local6.m_angularVelocity = (_local6.m_angularVelocity + ((_arg1.dt * _local6.m_invI) * _local6.m_torque)); _local6.m_force.SetZero(); _local6.m_torque = 0; _local6.m_linearVelocity.Multiply(b2Math.b2Clamp((1 - (_arg1.dt * _local6.m_linearDamping)), 0, 1)); _local6.m_angularVelocity = (_local6.m_angularVelocity * b2Math.b2Clamp((1 - (_arg1.dt * _local6.m_angularDamping)), 0, 1)); if (_local6.m_linearVelocity.LengthSquared() > b2Settings.b2_maxLinearVelocitySquared){ _local6.m_linearVelocity.Normalize(); _local6.m_linearVelocity.x = (_local6.m_linearVelocity.x * b2Settings.b2_maxLinearVelocity); _local6.m_linearVelocity.y = (_local6.m_linearVelocity.y * b2Settings.b2_maxLinearVelocity); }; if ((_local6.m_angularVelocity * _local6.m_angularVelocity) > b2Settings.b2_maxAngularVelocitySquared){ if (_local6.m_angularVelocity < 0){ _local6.m_angularVelocity = -(b2Settings.b2_maxAngularVelocity); } else { _local6.m_angularVelocity = b2Settings.b2_maxAngularVelocity; }; }; }; _local5++; }; _local8 = new b2ContactSolver(_arg1, m_contacts, m_contactCount, m_allocator); _local8.InitVelocityConstraints(_arg1); _local5 = 0; while (_local5 < m_jointCount) { _local7 = [_local5]; _local7.InitVelocityConstraints(_arg1); _local5++; }; _local5 = 0; while (_local5 < _arg1.maxIterations) { _local8.SolveVelocityConstraints(); _local9 = 0; while (_local9 < m_jointCount) { _local7 = [_local9]; _local7.SolveVelocityConstraints(_arg1); _local9++; }; _local5++; }; _local8.FinalizeVelocityConstraints(); _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.IsStatic()){ } else { _local6.m_sweep.c0.SetV(_local6.m_sweep.c); _local6.m_sweep.a0 = _local6.m_sweep.a; _local6.m_sweep.c.x = (_local6.m_sweep.c.x + (_arg1.dt * _local6.m_linearVelocity.x)); _local6.m_sweep.c.y = (_local6.m_sweep.c.y + (_arg1.dt * _local6.m_linearVelocity.y)); _local6.m_sweep.a = (_local6.m_sweep.a + (_arg1.dt * _local6.m_angularVelocity)); _local6.SynchronizeTransform(); }; _local5++; }; if (_arg3){ _local5 = 0; while (_local5 < m_jointCount) { _local7 = [_local5]; _local7.InitPositionConstraints(); _local5++; }; m_positionIterationCount = 0; while (m_positionIterationCount < _arg1.maxIterations) { _local10 = _local8.SolvePositionConstraints(b2Settings.b2_contactBaumgarte); _local11 = true; _local5 = 0; while (_local5 < m_jointCount) { _local7 = [_local5]; _local12 = _local7.SolvePositionConstraints(); _local11 = ((_local11) && (_local12)); _local5++; }; if (((_local10) && (_local11))){ break; }; m_positionIterationCount++; }; }; (_local8.m_constraints); if (_arg4){ _local13 = Number.MAX_VALUE; _local14 = (b2Settings.b2_linearSleepTolerance * b2Settings.b2_linearSleepTolerance); _local15 = (b2Settings.b2_angularSleepTolerance * b2Settings.b2_angularSleepTolerance); _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.m_invMass == 0){ } else { if ((_local6.m_flags & b2Body.e_allowSleepFlag) == 0){ _local6.m_sleepTime = 0; _local13 = 0; }; if (((((((_local6.m_flags & b2Body.e_allowSleepFlag) == 0)) || (((_local6.m_angularVelocity * _local6.m_angularVelocity) > _local15)))) || ((b2Math.b2Dot(_local6.m_linearVelocity, _local6.m_linearVelocity) > _local14)))){ _local6.m_sleepTime = 0; _local13 = 0; } else { _local6.m_sleepTime = (_local6.m_sleepTime + _arg1.dt); _local13 = b2Math.b2Min(_local13, _local6.m_sleepTime); }; }; _local5++; }; if (_local13 >= b2Settings.b2_timeToSleep){ _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; m_bodies[_local5].m_flags = (_local6.m_flags | b2Body.e_sleepFlag); _local6.m_linearVelocity.SetZero(); _local6.m_angularVelocity = 0; _local5++; }; }; }; } public function AddContact(_arg1:b2Contact):void{ var _local2 = m_contactCount++; m_contacts[_local2] = _arg1; } public function Clear():void{ m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; } public function SolveTOI(_arg1:b2TimeStep):void{ var _local2:int; var _local3:b2ContactSolver; var _local4:Number; var _local5:b2Body; var _local6:Boolean; _local3 = new b2ContactSolver(_arg1, m_contacts, m_contactCount, m_allocator); _local2 = 0; while (_local2 < _arg1.maxIterations) { _local3.SolveVelocityConstraints(); _local2++; }; _local2 = 0; while (_local2 < m_bodyCount) { _local5 = m_bodies[_local2]; if (_local5.IsStatic()){ } else { _local5.m_sweep.c0.SetV(_local5.m_sweep.c); _local5.m_sweep.a0 = _local5.m_sweep.a; _local5.m_sweep.c.x = (_local5.m_sweep.c.x + (_arg1.dt * _local5.m_linearVelocity.x)); _local5.m_sweep.c.y = (_local5.m_sweep.c.y + (_arg1.dt * _local5.m_linearVelocity.y)); _local5.m_sweep.a = (_local5.m_sweep.a + (_arg1.dt * _local5.m_angularVelocity)); _local5.SynchronizeTransform(); }; _local2++; }; _local4 = 0.75; _local2 = 0; while (_local2 < _arg1.maxIterations) { _local6 = _local3.SolvePositionConstraints(_local4); if (_local6){ break; }; _local2++; }; (_local3.m_constraints); } } }//package Box2D.DynamicsSection 73//b2TimeStep (Box2D.Dynamics.b2TimeStep) package Box2D.Dynamics { public class b2TimeStep { public var warmStarting:Boolean; public var positionCorrection:Boolean; public var dt:Number; public var maxIterations:int; public var dtRatio:Number; public var inv_dt:Number; } }//package Box2D.DynamicsSection 74//b2World (Box2D.Dynamics.b2World) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2World { public var :Number; public var :b2BoundaryListener; public var m_contactList:b2Contact; public var m_blockAllocator; public var m_contactListener:b2ContactListener; public var :Boolean; public var m_broadPhase:b2BroadPhase; public var :b2DestructionListener; public var m_jointCount:int; public var m_bodyCount:int; public var m_lock:Boolean; public var m_positionIterationCount:int; public var :b2Body; public var m_contactCount:int; public var :b2DebugDraw; public var m_contactFilter:b2ContactFilter; public var m_bodyList:b2Body; public var ; public var m_jointList:b2Joint; public var :b2Vec2; public var :b2ContactManager; private static var s_jointColor:b2Color = new b2Color(0.5, 0.8, 0.8); public static var m_continuousPhysics:Boolean; public static var m_warmStarting:Boolean; private static var s_coreColor:b2Color = new b2Color(0.9, 0.6, 0.6); public static var m_positionCorrection:Boolean; private static var s_xf:b2XForm = new b2XForm(); public function b2World(_arg1:b2AABB, _arg2:b2Vec2, _arg3:Boolean){ var _local4:b2BodyDef; = new b2ContactManager(); super(); = null; = null; m_contactFilter = b2ContactFilter.b2_defaultFilter; m_contactListener = null; = null; m_bodyList = null; m_contactList = null; m_jointList = null; m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; m_positionCorrection = true; m_warmStarting = true; m_continuousPhysics = true; = _arg3; = _arg2; m_lock = false; = 0; .m_world = this; m_broadPhase = new b2BroadPhase(_arg1, ); _local4 = new b2BodyDef(); = CreateBody(_local4); } public function (_arg1:b2Joint):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2XForm; var _local5:b2XForm; var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Color; var _local11:b2PulleyJoint; var _local12:b2Vec2; var _local13:b2Vec2; _local2 = _arg1.m_body1; _local3 = _arg1.m_body2; _local4 = _local2.m_xf; _local5 = _local3.m_xf; _local6 = _local4.position; _local7 = _local5.position; _local8 = _arg1.GetAnchor1(); _local9 = _arg1.GetAnchor2(); _local10 = s_jointColor; switch (_arg1.m_type){ case b2Joint.e_distanceJoint: .DrawSegment(_local8, _local9, _local10); break; case b2Joint.e_pulleyJoint: _local11 = (_arg1 as b2PulleyJoint); _local12 = _local11.GetGroundAnchor1(); _local13 = _local11.GetGroundAnchor2(); .DrawSegment(_local12, _local8, _local10); .DrawSegment(_local13, _local9, _local10); .DrawSegment(_local12, _local13, _local10); break; case b2Joint.e_mouseJoint: .DrawSegment(_local8, _local9, _local10); break; default: if (_local2 != ){ .DrawSegment(_local6, _local8, _local10); }; .DrawSegment(_local8, _local9, _local10); if (_local3 != ){ .DrawSegment(_local7, _local9, _local10); }; }; } public function (_arg1:b2Shape):void{ _arg1.RefilterProxy(m_broadPhase, _arg1.m_body.m_xf); } public function (_arg1:b2DebugDraw):void{ = _arg1; } public function (_arg1:Boolean):void{ m_continuousPhysics = _arg1; } public function ():int{ return (m_broadPhase.m_proxyCount); } public function ():void{ var _local1:uint; var _local2:int; var _local3:b2Body; var _local4:b2Shape; var _local5:b2Joint; var _local6:b2BroadPhase; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Color; var _local11:b2XForm; var _local12:b2AABB; var _local13:b2AABB; var _local14:Array; var _local15:Boolean; var _local16:uint; var _local17:b2Pair; var _local18:b2Proxy; var _local19:b2Proxy; var _local20:b2Vec2; var _local21:b2Vec2; var _local22:b2Proxy; var _local23:b2PolygonShape; var _local24:b2OBB; var _local25:b2Vec2; var _local26:b2Mat22; var _local27:b2Vec2; var _local28:Number; if ( == null){ return; }; .m_sprite.graphics.clear(); _local1 = .GetFlags(); _local7 = new b2Vec2(); _local8 = new b2Vec2(); _local9 = new b2Vec2(); _local10 = new b2Color(0, 0, 0); _local12 = new b2AABB(); _local13 = new b2AABB(); _local14 = [new b2Vec2(), new b2Vec2(), new b2Vec2(), new b2Vec2()]; if ((_local1 & b2DebugDraw.e_shapeBit)){ _local15 = ((_local1 & b2DebugDraw.e_coreShapeBit) == b2DebugDraw.e_coreShapeBit); _local3 = m_bodyList; while (_local3) { _local11 = _local3.m_xf; _local4 = _local3.GetShapeList(); while (_local4) { if (_local3.IsStatic()){ (_local4, _local11, new b2Color(0.5, 0.9, 0.5), _local15); } else { if (_local3.IsSleeping()){ (_local4, _local11, new b2Color(0.5, 0.5, 0.9), _local15); } else { (_local4, _local11, new b2Color(0.9, 0.9, 0.9), _local15); }; }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; if ((_local1 & b2DebugDraw.e_jointBit)){ _local5 = m_jointList; while (_local5) { (_local5); _local5 = _local5.m_next; }; }; if ((_local1 & b2DebugDraw.e_pairBit)){ _local6 = m_broadPhase; _local7.Set((1 / _local6.m_quantizationFactor.x), (1 / _local6.m_quantizationFactor.y)); _local10.Set(0.9, 0.9, 0.3); _local2 = 0; while (_local2 < b2Pair.b2_tableCapacity) { _local16 = _local6.m_pairManager.m_hashTable[_local2]; while (_local16 != b2Pair.b2_nullPair) { _local17 = _local6.m_pairManager.m_pairs[_local16]; _local18 = _local6.m_proxyPool[_local17.proxyId1]; _local19 = _local6.m_proxyPool[_local17.proxyId2]; _local12.lowerBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local18.lowerBounds[0]].value)); _local12.lowerBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local18.lowerBounds[1]].value)); _local12.upperBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local18.upperBounds[0]].value)); _local12.upperBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local18.upperBounds[1]].value)); _local13.lowerBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local19.lowerBounds[0]].value)); _local13.lowerBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local19.lowerBounds[1]].value)); _local13.upperBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local19.upperBounds[0]].value)); _local13.upperBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local19.upperBounds[1]].value)); _local8.x = (0.5 * (_local12.lowerBound.x + _local12.upperBound.x)); _local8.y = (0.5 * (_local12.lowerBound.y + _local12.upperBound.y)); _local9.x = (0.5 * (_local13.lowerBound.x + _local13.upperBound.x)); _local9.y = (0.5 * (_local13.lowerBound.y + _local13.upperBound.y)); .DrawSegment(_local8, _local9, _local10); _local16 = _local17.next; }; _local2++; }; }; if ((_local1 & b2DebugDraw.e_aabbBit)){ _local6 = m_broadPhase; _local20 = _local6.m_worldAABB.lowerBound; _local21 = _local6.m_worldAABB.upperBound; _local7.Set((1 / _local6.m_quantizationFactor.x), (1 / _local6.m_quantizationFactor.y)); _local10.Set(0.9, 0.3, 0.9); _local2 = 0; while (_local2 < b2Settings.b2_maxProxies) { _local22 = _local6.m_proxyPool[_local2]; if (_local22.IsValid() == false){ } else { _local12.lowerBound.x = (_local20.x + (_local7.x * _local6.m_bounds[0][_local22.lowerBounds[0]].value)); _local12.lowerBound.y = (_local20.y + (_local7.y * _local6.m_bounds[1][_local22.lowerBounds[1]].value)); _local12.upperBound.x = (_local20.x + (_local7.x * _local6.m_bounds[0][_local22.upperBounds[0]].value)); _local12.upperBound.y = (_local20.y + (_local7.y * _local6.m_bounds[1][_local22.upperBounds[1]].value)); _local14[0].Set(_local12.lowerBound.x, _local12.lowerBound.y); _local14[1].Set(_local12.upperBound.x, _local12.lowerBound.y); _local14[2].Set(_local12.upperBound.x, _local12.upperBound.y); _local14[3].Set(_local12.lowerBound.x, _local12.upperBound.y); .DrawPolygon(_local14, 4, _local10); }; _local2++; }; _local14[0].Set(_local20.x, _local20.y); _local14[1].Set(_local21.x, _local20.y); _local14[2].Set(_local21.x, _local21.y); _local14[3].Set(_local20.x, _local21.y); .DrawPolygon(_local14, 4, new b2Color(0.3, 0.9, 0.9)); }; if ((_local1 & b2DebugDraw.e_obbBit)){ _local10.Set(0.5, 0.3, 0.5); _local3 = m_bodyList; while (_local3) { _local11 = _local3.m_xf; _local4 = _local3.GetShapeList(); while (_local4) { if (_local4.m_type != b2Shape.e_polygonShape){ } else { _local23 = (_local4 as b2PolygonShape); _local24 = _local23.GetOBB(); _local25 = _local24.extents; _local14[0].Set(-(_local25.x), -(_local25.y)); _local14[1].Set(_local25.x, -(_local25.y)); _local14[2].Set(_local25.x, _local25.y); _local14[3].Set(-(_local25.x), _local25.y); _local2 = 0; while (_local2 < 4) { _local26 = _local24.R; _local27 = _local14[_local2]; _local28 = (_local24.center.x + ((_local26.col1.x * _local27.x) + (_local26.col2.x * _local27.y))); _local14[_local2].y = (_local24.center.y + ((_local26.col1.y * _local27.x) + (_local26.col2.y * _local27.y))); _local14[_local2].x = _local28; _local26 = _local11.R; _local28 = (_local11.position.x + ((_local26.col1.x * _local27.x) + (_local26.col2.x * _local27.y))); _local14[_local2].y = (_local11.position.y + ((_local26.col1.y * _local27.x) + (_local26.col2.y * _local27.y))); _local14[_local2].x = _local28; _local2++; }; .DrawPolygon(_local14, 4, _local10); }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; if ((_local1 & b2DebugDraw.e_centerOfMassBit)){ _local3 = m_bodyList; while (_local3) { _local11 = s_xf; _local11.R = _local3.m_xf.R; _local11.position = _local3.GetWorldCenter(); .DrawXForm(_local11); _local3 = _local3.m_next; }; }; } public function DestroyBody(_arg1:b2Body):void{ var _local2:b2JointEdge; var _local3:b2Shape; var _local4:b2JointEdge; var _local5:b2Shape; if (m_lock == true){ return; }; _local2 = _arg1.m_jointList; while (_local2) { _local4 = _local2; _local2 = _local2.next; if ( ){ .SayGoodbyeJoint(_local4.joint); }; DestroyJoint(_local4.joint); }; _local3 = _arg1.m_shapeList; while (_local3) { _local5 = _local3; _local3 = _local3.m_next; if ( ){ .SayGoodbyeShape(_local5); }; _local5.DestroyProxy(m_broadPhase); b2Shape.Destroy(_local5, m_blockAllocator); }; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_bodyList){ m_bodyList = _arg1.m_next; }; m_bodyCount--; } public function (_arg1:b2ContactFilter):void{ m_contactFilter = _arg1; } public function ():b2Body{ return (); } public function (_arg1:b2Shape, _arg2:b2XForm, _arg3:b2Color, _arg4:Boolean):void{ var _local5:b2Color; var _local6:b2CircleShape; var _local7:b2Vec2; var _local8:Number; var _local9:b2Vec2; var _local10:int; var _local11:b2PolygonShape; var _local12:int; var _local13:Array; var _local14:Array; var _local15:Array; _local5 = s_coreColor; switch (_arg1.m_type){ case b2Shape.e_circleShape: _local6 = (_arg1 as b2CircleShape); _local7 = b2Math.b2MulX(_arg2, _local6.m_localPosition); _local8 = _local6.m_radius; _local9 = _arg2.R.col1; .DrawSolidCircle(_local7, _local8, _local9, _arg3); if (_arg4){ .DrawCircle(_local7, (_local8 - b2Settings.b2_toiSlop), _local5); }; break; case b2Shape.e_polygonShape: _local11 = (_arg1 as b2PolygonShape); _local12 = _local11.GetVertexCount(); _local13 = _local11.GetVertices(); _local14 = new Array(b2Settings.b2_maxPolygonVertices); _local10 = 0; while (_local10 < _local12) { _local14[_local10] = b2Math.b2MulX(_arg2, _local13[_local10]); _local10++; }; .DrawSolidPolygon(_local14, _local12, _arg3); if (_arg4){ _local15 = _local11.GetCoreVertices(); _local10 = 0; while (_local10 < _local12) { _local14[_local10] = b2Math.b2MulX(_arg2, _local15[_local10]); _local10++; }; .DrawPolygon(_local14, _local12, _local5); }; break; }; } public function ():int{ return (m_contactCount); } public function Solve(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Island; var _local4:b2Contact; var _local5:b2Joint; var _local6:int; var _local7:Array; var _local8:b2Body; var _local9:int; var _local10:int; var _local11:b2Body; var _local12:b2ContactEdge; var _local13:b2JointEdge; var _local14:Boolean; m_positionIterationCount = 0; _local3 = new b2Island(m_bodyCount, m_contactCount, m_jointCount, , m_contactListener); _local2 = m_bodyList; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); _local2 = _local2.m_next; }; _local4 = m_contactList; while (_local4) { _local4.m_flags = (_local4.m_flags & ~(b2Contact.e_islandFlag)); _local4 = _local4.m_next; }; _local5 = m_jointList; while (_local5) { _local5.m_islandFlag = false; _local5 = _local5.m_next; }; _local6 = m_bodyCount; _local7 = new Array(_local6); _local8 = m_bodyList; while (_local8) { if ((_local8.m_flags & ((b2Body.e_islandFlag | b2Body.e_sleepFlag) | b2Body.e_frozenFlag))){ } else { if (_local8.IsStatic()){ } else { _local3.Clear(); _local9 = 0; var _temp1 = _local9; _local9 = (_local9 + 1); var _local15 = _temp1; _local7[_local15] = _local8; _local8.m_flags = (_local8.m_flags | b2Body.e_islandFlag); while (_local9 > 0) { --_local9; _local2 = _local7[_local9]; _local3.AddBody(_local2); _local2.m_flags = (_local2.m_flags & ~(b2Body.e_sleepFlag)); if (_local2.IsStatic()){ } else { _local12 = _local2.m_contactList; while (_local12) { if ((_local12.contact.m_flags & (b2Contact.e_islandFlag | b2Contact.e_nonSolidFlag))){ } else { if (_local12.contact.m_manifoldCount == 0){ } else { _local3.AddContact(_local12.contact); _local12.contact.m_flags = (_local12.contact.m_flags | b2Contact.e_islandFlag); _local11 = _local12.other; if ((_local11.m_flags & b2Body.e_islandFlag)){ } else { var _temp2 = _local9; _local9 = (_local9 + 1); var _local16 = _temp2; _local7[_local16] = _local11; _local11.m_flags = (_local11.m_flags | b2Body.e_islandFlag); }; }; }; _local12 = _local12.next; }; _local13 = _local2.m_jointList; while (_local13) { if (_local13.joint.m_islandFlag == true){ } else { _local3.AddJoint(_local13.joint); _local13.joint.m_islandFlag = true; _local11 = _local13.other; if ((_local11.m_flags & b2Body.e_islandFlag)){ } else { var _temp3 = _local9; _local9 = (_local9 + 1); _local16 = _temp3; _local7[_local16] = _local11; _local11.m_flags = (_local11.m_flags | b2Body.e_islandFlag); }; }; _local13 = _local13.next; }; }; }; _local3.Solve(_arg1, , m_positionCorrection, ); if (_local3.m_positionIterationCount > m_positionIterationCount){ m_positionIterationCount = _local3.m_positionIterationCount; }; _local10 = 0; while (_local10 < _local3.m_bodyCount) { _local2 = _local3.m_bodies[_local10]; if (_local2.IsStatic()){ _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); }; _local10++; }; }; }; _local8 = _local8.m_next; }; _local2 = m_bodyList; while (_local2) { if ((_local2.m_flags & (b2Body.e_sleepFlag | b2Body.e_frozenFlag))){ } else { if (_local2.IsStatic()){ } else { _local14 = _local2.SynchronizeShapes(); if ((((_local14 == false)) && (!(( == null))))){ .Violation(_local2); }; }; }; _local2 = _local2.m_next; }; m_broadPhase.Commit(); } public function (_arg1:b2AABB, _arg2:Array, _arg3:int):int{ var _local4:Array; var _local5:int; var _local6:int; _local4 = new Array(_arg3); _local5 = m_broadPhase.QueryAABB(_arg1, _local4, _arg3); _local6 = 0; while (_local6 < _local5) { _arg2[_local6] = _local4[_local6]; _local6++; }; return (_local5); } public function (_arg1:b2Vec2):void{ = _arg1; } public function SolveTOI(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Shape; var _local4:b2Shape; var _local5:b2Body; var _local6:b2Body; var _local7:b2ContactEdge; var _local8:b2Island; var _local9:int; var _local10:Array; var _local11:b2Contact; var _local12:b2Contact; var _local13:Number; var _local14:b2Body; var _local15:int; var _local16:b2TimeStep; var _local17:int; var _local18:Number; var _local19:Number; var _local20:b2Body; var _local21:Boolean; _local8 = new b2Island(m_bodyCount, b2Settings.b2_maxTOIContactsPerIsland, 0, , m_contactListener); _local9 = m_bodyCount; _local10 = new Array(_local9); _local2 = m_bodyList; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); _local2.m_sweep.t0 = 0; _local2 = _local2.m_next; }; _local11 = m_contactList; while (_local11) { _local11.m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag))); _local11 = _local11.m_next; }; while (true) { _local12 = null; _local13 = 1; _local11 = m_contactList; for (;_local11;(_local11 = _local11.m_next)) { if ((_local11.m_flags & (b2Contact.e_slowFlag | b2Contact.e_nonSolidFlag))){ } else { _local18 = 1; if ((_local11.m_flags & b2Contact.e_toiFlag)){ _local18 = _local11.m_toi; } else { _local3 = _local11.m_shape1; _local4 = _local11.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; if (((((_local5.IsStatic()) || (_local5.IsSleeping()))) && (((_local6.IsStatic()) || (_local6.IsSleeping()))))){ continue; }; _local19 = _local5.m_sweep.t0; if (_local5.m_sweep.t0 < _local6.m_sweep.t0){ _local19 = _local6.m_sweep.t0; _local5.m_sweep.Advance(_local19); } else { if (_local6.m_sweep.t0 < _local5.m_sweep.t0){ _local19 = _local5.m_sweep.t0; _local6.m_sweep.Advance(_local19); }; }; _local18 = b2TimeOfImpact.TimeOfImpact(_local11.m_shape1, _local5.m_sweep, _local11.m_shape2, _local6.m_sweep); if ((((_local18 > 0)) && ((_local18 < 1)))){ _local18 = (((1 - _local18) * _local19) + _local18); if (_local18 > 1){ _local18 = 1; }; }; _local11.m_toi = _local18; _local11.m_flags = (_local11.m_flags | b2Contact.e_toiFlag); }; if ((((Number.MIN_VALUE < _local18)) && ((_local18 < _local13)))){ _local12 = _local11; _local13 = _local18; }; }; }; if ((((_local12 == null)) || (((1 - (100 * Number.MIN_VALUE)) < _local13)))){ break; }; _local3 = _local12.m_shape1; _local4 = _local12.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; _local5.Advance(_local13); _local6.Advance(_local13); _local12.Update(m_contactListener); _local12.m_flags = (_local12.m_flags & ~(b2Contact.e_toiFlag)); if (_local12.m_manifoldCount == 0){ } else { _local14 = _local5; if (_local14.IsStatic()){ _local14 = _local6; }; _local8.Clear(); _local15 = 0; var _temp1 = _local15; _local15 = (_local15 + 1); var _local22 = _temp1; _local10[_local22] = _local14; _local14.m_flags = (_local14.m_flags | b2Body.e_islandFlag); while (_local15 > 0) { --_local15; _local2 = _local10[_local15]; _local8.AddBody(_local2); _local2.m_flags = (_local2.m_flags & ~(b2Body.e_sleepFlag)); if (_local2.IsStatic()){ } else { _local7 = _local2.m_contactList; while (_local7) { if (_local8.m_contactCount == _local8.m_contactCapacity){ } else { if ((_local7.contact.m_flags & ((b2Contact.e_islandFlag | b2Contact.e_slowFlag) | b2Contact.e_nonSolidFlag))){ } else { if (_local7.contact.m_manifoldCount == 0){ } else { _local8.AddContact(_local7.contact); _local7.contact.m_flags = (_local7.contact.m_flags | b2Contact.e_islandFlag); _local20 = _local7.other; if ((_local20.m_flags & b2Body.e_islandFlag)){ } else { if (_local20.IsStatic() == false){ _local20.Advance(_local13); _local20.WakeUp(); }; var _temp2 = _local15; _local15 = (_local15 + 1); var _local23 = _temp2; _local10[_local23] = _local20; _local20.m_flags = (_local20.m_flags | b2Body.e_islandFlag); }; }; }; }; _local7 = _local7.next; }; }; }; _local16 = new b2TimeStep(); _local16.dt = ((1 - _local13) * _arg1.dt); _local16.inv_dt = (1 / _local16.dt); _local16.maxIterations = _arg1.maxIterations; _local8.SolveTOI(_local16); _local17 = 0; while (_local17 < _local8.m_bodyCount) { _local2 = _local8.m_bodies[_local17]; _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); if ((_local2.m_flags & (b2Body.e_sleepFlag | b2Body.e_frozenFlag))){ } else { if (_local2.IsStatic()){ } else { _local21 = _local2.SynchronizeShapes(); if ((((_local21 == false)) && (!(( == null))))){ .Violation(_local2); }; _local7 = _local2.m_contactList; while (_local7) { _local7.contact.m_flags = (_local7.contact.m_flags & ~(b2Contact.e_toiFlag)); _local7 = _local7.next; }; }; }; _local17++; }; _local17 = 0; while (_local17 < _local8.m_contactCount) { _local11 = _local8.m_contacts[_local17]; _local8.m_contacts[_local17].m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag))); _local17++; }; m_broadPhase.Commit(); }; }; } public function GetJointList():b2Joint{ return (m_jointList); } public function Validate():void{ m_broadPhase.Validate(); } public function ():int{ return (m_broadPhase.m_pairManager.m_pairCount); } public function ():b2Body{ return (m_bodyList); } public function (_arg1:Boolean):void{ m_warmStarting = _arg1; } public function (_arg1:Boolean):void{ m_positionCorrection = _arg1; } public function CreateJoint(_arg1:b2JointDef):b2Joint{ var _local2:b2Joint; var _local3:b2Body; var _local4:b2Shape; _local2 = b2Joint.Create(_arg1, m_blockAllocator); _local2.m_prev = null; _local2.m_next = m_jointList; if (m_jointList){ m_jointList.m_prev = _local2; }; m_jointList = _local2; m_jointCount++; _local2.m_node1.joint = _local2; _local2.m_node1.other = _local2.m_body2; _local2.m_node1.prev = null; _local2.m_node1.next = _local2.m_body1.m_jointList; if (_local2.m_body1.m_jointList){ _local2.m_body1.m_jointList.prev = _local2.m_node1; }; _local2.m_body1.m_jointList = _local2.m_node1; _local2.m_node2.joint = _local2; _local2.m_node2.other = _local2.m_body1; _local2.m_node2.prev = null; _local2.m_node2.next = _local2.m_body2.m_jointList; if (_local2.m_body2.m_jointList){ _local2.m_body2.m_jointList.prev = _local2.m_node2; }; _local2.m_body2.m_jointList = _local2.m_node2; if (_arg1.collideConnected == false){ _local3 = ((_arg1.body1.m_shapeCount < _arg1.body2.m_shapeCount)) ? _arg1.body1 : _arg1.body2; _local4 = _local3.m_shapeList; while (_local4) { _local4.RefilterProxy(m_broadPhase, _local3.m_xf); _local4 = _local4.m_next; }; }; return (_local2); } public function DestroyJoint(_arg1:b2Joint):void{ var _local2:Boolean; var _local3:b2Body; var _local4:b2Body; var _local5:b2Body; var _local6:b2Shape; _local2 = _arg1.m_collideConnected; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_jointList){ m_jointList = _arg1.m_next; }; _local3 = _arg1.m_body1; _local4 = _arg1.m_body2; _local3.WakeUp(); _local4.WakeUp(); if (_arg1.m_node1.prev){ _arg1.m_node1.prev.next = _arg1.m_node1.next; }; if (_arg1.m_node1.next){ _arg1.m_node1.next.prev = _arg1.m_node1.prev; }; if (_arg1.m_node1 == _local3.m_jointList){ _local3.m_jointList = _arg1.m_node1.next; }; _arg1.m_node1.prev = null; _arg1.m_node1.next = null; if (_arg1.m_node2.prev){ _arg1.m_node2.prev.next = _arg1.m_node2.next; }; if (_arg1.m_node2.next){ _arg1.m_node2.next.prev = _arg1.m_node2.prev; }; if (_arg1.m_node2 == _local4.m_jointList){ _local4.m_jointList = _arg1.m_node2.next; }; _arg1.m_node2.prev = null; _arg1.m_node2.next = null; b2Joint.Destroy(_arg1, m_blockAllocator); m_jointCount--; if (_local2 == false){ _local5 = ((_local3.m_shapeCount < _local4.m_shapeCount)) ? _local3 : _local4; _local6 = _local5.m_shapeList; while (_local6) { _local6.RefilterProxy(m_broadPhase, _local5.m_xf); _local6 = _local6.m_next; }; }; } public function (_arg1:b2ContactListener):void{ m_contactListener = _arg1; } public function CreateBody(_arg1:b2BodyDef):b2Body{ var _local2:b2Body; if (m_lock == true){ return (null); }; _local2 = new b2Body(_arg1, this); _local2.m_prev = null; _local2.m_next = m_bodyList; if (m_bodyList){ m_bodyList.m_prev = _local2; }; m_bodyList = _local2; m_bodyCount++; return (_local2); } public function (_arg1:b2BoundaryListener):void{ = _arg1; } public function (_arg1:b2DestructionListener):void{ = _arg1; } public function Step(_arg1:Number, _arg2:int):void{ var _local3:b2TimeStep; m_lock = true; _local3 = new b2TimeStep(); _local3.dt = _arg1; _local3.maxIterations = _arg2; if (_arg1 > 0){ _local3.inv_dt = (1 / _arg1); } else { _local3.inv_dt = 0; }; _local3.dtRatio = ( * _arg1); _local3.positionCorrection = m_positionCorrection; _local3.warmStarting = m_warmStarting; .Collide(); if (_local3.dt > 0){ Solve(_local3); }; if (((m_continuousPhysics) && ((_local3.dt > 0)))){ SolveTOI(_local3); }; (); = _local3.inv_dt; m_lock = false; } public function ():int{ return (m_bodyCount); } public function ():int{ return (m_jointCount); } } }//package Box2D.DynamicsSection 75//b2Controller (com.boristhebrave.Box2D.Controllers.b2Controller) package com.boristhebrave.Box2D.Controllers { import Box2D.Dynamics.*; public class b2Controller { public var m_prev:b2Controller; public var m_next:b2Controller; public function (_arg1:b2DebugDraw):void{ } public function GetNext():b2Controller{ return (m_next); } public function Step(_arg1:Number):void{ } public function ():b2Controller{ return (m_prev); } } }//package com.boristhebrave.Box2D.ControllersSection 76//b2GravityController (com.boristhebrave.Box2D.Controllers.b2GravityController) package com.boristhebrave.Box2D.Controllers { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2GravityController extends b2MultiController { public var G:Number;// = 1 public var :Boolean;// = true public function b2GravityController(){ G = 1; = true; super(); } override public function Step(_arg1:Number):void{ var _local2:int; var _local3:b2Body; var _local4:b2Vec2; var _local5:Number; var _local6:int; var _local7:b2Body; var _local8:b2Vec2; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:b2Vec2; _local2 = 0; _local3 = null; _local4 = null; _local5 = 0; _local6 = 0; _local7 = null; _local8 = null; _local9 = 0; _local10 = 0; _local11 = 0; _local12 = null; if (){ _local2 = 0; while (_local2 < m_bodies.length) { _local3 = m_bodies[_local2]; _local4 = _local3.GetWorldCenter(); _local5 = _local3.GetMass(); _local6 = 0; while (_local6 < _local2) { _local7 = m_bodies[_local6]; _local8 = _local7.GetWorldCenter(); _local9 = (_local8.x - _local4.x); _local10 = (_local8.y - _local4.y); _local11 = ((_local9 * _local9) + (_local10 * _local10)); if (_local11 < Number.MIN_VALUE){ } else { _local12 = new b2Vec2(_local9, _local10); _local12.Multiply(((((G / _local11) / Math.sqrt(_local11)) * _local5) * _local7.GetMass())); if (!_local3.IsSleeping()){ _local3.ApplyForce(_local12, _local4); }; _local12.Multiply(-1); if (!_local7.IsSleeping()){ _local7.ApplyForce(_local12, _local8); }; }; _local6++; }; _local2++; }; } else { _local2 = 0; while (_local2 < m_bodies.length) { _local3 = m_bodies[_local2]; _local4 = _local3.GetWorldCenter(); _local5 = _local3.GetMass(); _local6 = 0; while (_local6 < _local2) { _local7 = m_bodies[_local2]; _local8 = _local7.GetWorldCenter(); _local9 = (_local8.x - _local4.x); _local10 = (_local8.y - _local4.y); _local11 = ((_local9 * _local9) + (_local10 * _local10)); if (_local11 < Number.MIN_VALUE){ } else { _local12 = new b2Vec2(_local9, _local10); _local12.Multiply((((G / _local11) * _local5) * _local7.GetMass())); if (!_local3.IsSleeping()){ _local3.ApplyForce(_local12, _local4); }; _local12.Multiply(-1); if (!_local7.IsSleeping()){ _local7.ApplyForce(_local12, _local8); }; }; _local6++; }; _local2++; }; }; } public static function FromBodies(_arg1:Array):b2GravityController{ var _local2:b2GravityController; var _local3:*; _local2 = new (b2GravityController); _local3 = 0; while (_local3 < _arg1.length) { _local2.AddBody(_arg1[_local3]); _local3++; }; return (_local2); } } }//package com.boristhebrave.Box2D.ControllersSection 77//b2MultiController (com.boristhebrave.Box2D.Controllers.b2MultiController) package com.boristhebrave.Box2D.Controllers { import Box2D.Dynamics.*; public class b2MultiController extends b2Controller { var m_bodies:Array; public function b2MultiController(){ m_bodies = []; super(); } public function AddBody(_arg1:b2Body):void{ m_bodies.push(_arg1); } public function (_arg1:b2Body):void{ var body = _arg1; m_bodies = m_bodies.filter(function (_arg1){ return (!((_arg1 == body))); }); } public function (_arg1:Array):void{ var _local2:*; _local2 = 0; while (_local2 < _arg1.length) { AddBody(_arg1[_local2]); _local2++; }; } public function ():void{ var _local1:int; _local1 = 0; while (_local1 < m_bodies.length) { m_bodies[_local1].WakeUp(); _local1++; }; } public function ():Array{ return (m_bodies); } public static function FromBodies(_arg1:Array):b2MultiController{ var _local2:b2MultiController; var _local3:*; _local2 = new (b2MultiController); _local3 = 0; while (_local3 < _arg1.length) { _local2.AddBody(_arg1[_local3]); _local3++; }; return (_local2); } } }//package com.boristhebrave.Box2D.ControllersSection 78//BalanceGame (com.nitrome.balancer.BalanceGame) package com.nitrome.balancer { import flash.display.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import flash.events.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; import com.boristhebrave.Box2D.Controllers.*; import General.*; import com.nitrome.util.*; import flash.geom.*; public class BalanceGame { public var m_physScale:Number;// = 30 var fishes:Array; var cannons:Array; var draggingBlockRotation:Number; var stamps0:MovieClip; var stamps1:MovieClip; var stamps2:MovieClip; var sky:MovieClip; public var m_bomb:b2Body; var sparks:Array; public var m_world:b2World; public var m_iterations:int;// = 12 var sea:MovieClip; var hills:MovieClip; var shakeYOff:Number;// = 0 var shortedBody:b2Body; var circuitCompleted:Boolean;// = false var :Array; var chestClosing:Boolean;// = false var :Number;// = 0 var teslaBlocks:Array; public var m_input:Input; var debugArea:MovieClip; var chests:Array; var helpSigns:Array; var container:MovieClip; var signsLayer:MovieClip; var screws:Array; public var score:Number; var chestDisplay:ChestDisplay; var :MovieClip; var waterAreas:Array; var sparksLayer:MovieClip; var noDragLayer:MovieClip; var mousePressed:Boolean;// = false var :MovieClip; public var m_timeStep:Number;// = 0.0333333333333333 var shortCircuit:Boolean;// = false var ;// = false var blockList:Array; var openChest:Boolean;// = false var landClip:MovieClip; var :Number;// = 0 var levelComplete:Boolean;// = false var chestClicked:Block; var scrolling:Boolean;// = false public var m_mouseJoint:b2MouseJoint; var ;// = 1 var startElementBody:b2Body; var shakeXOff:Number;// = 0 static var blockBeingDragged:Block; static var CHESTOPENFRAME:Number = 11; static var rootLine:MovieClip; static var persistantContacts:Array; static var waterClip:MovieClip; static var glassPanels:Array; static var wheelBlocksToMove:Array; static var metalJoints:Array; static var newContacts:Array; static var firstFrame:Boolean = true; public static var mouseYWorld:Number; public static var paused:Boolean = false; public static var mouseXWorldPhys:Number; static var deadZones:Array; public static var mouseYWorldPhys:Number; static var endElementBody:b2Body; static var looseJoints:Array; static var panelOpen:Boolean = false; static var STARTSCORE:Number = 10000; static var levelElementsLayer:MovieClip; static var screenShake:Number = 0; static var draggingBlock:Boolean = false; public static var mouseXWorld:Number; public function BalanceGame(_arg1:MovieClip, _arg2:MovieClip){ var _local3:b2AABB; var _local4:b2Vec2; var _local5:Boolean; var _local6:ContactListener_game; m_iterations = 12; m_timeStep = (1 / 30); m_physScale = 30; mousePressed = false; circuitCompleted = false; shortCircuit = false; openChest = false; chestClosing = false; shakeXOff = 0; shakeYOff = 0; = 0; = 0; scrolling = false; score = STARTSCORE; levelComplete = false; = 1; = false; super(); rootLine = _arg1; Key.initialize(_arg1.stage); this. = _arg2; (); _local3 = new b2AABB(); _local3.lowerBound.Set(-1000, -1000); _local3.upperBound.Set(1000, 1000); _local4 = new b2Vec2(0, 10); _local5 = true; m_world = new b2World(_local3, _local4, _local5); m_input = new Input(rootLine); blockList = new Array(); newContacts = new Array(); looseJoints = new Array(); persistantContacts = new Array(); metalJoints = new Array(); sparks = new Array(); wheelBlocksToMove = new Array(); chests = new Array(); screws = new Array(); addScenery(); _local6 = new ContactListener_game(); m_world.(_local6); addInitialBlocks(); fillChest(); score = Controller.levelScore; levelComplete = false; (); CustomCursor.setup(rootLine); rootLine.addEventListener(Event.ENTER_FRAME, update, false, 0, true); } public function unpause(){ addScenery(); addInitialBlocks(); fillChest(); paused = false; } public function stopGame(){ rootLine.removeEventListener(Event.ENTER_FRAME, update); } function (){ if (hills.x > 0){ hills.x = (hills.x - 800); }; if (hills.x < -800){ hills.x = (hills.x + 800); }; if (sea.x > 0){ sea.x = (sea.x - 567); }; if (sea.x < -567){ sea.x = (sea.x + 567); }; } function scrollDown(){ var _local1:Number; var _local2:*; if (((container.y + rootLine.myController.scrollEdges[2]) - Math.round(( * 4))) > 550){ container.y = (container.y - Math.round(( * 4))); hills.y = (hills.y - Math.round(( * 2))); sea.y = (sea.y - Math.round()); sky.y = (sky.y - Math.round()); scrolling = true; if ( < 4){ = ( + 0.25); }; _local1 = Math.round(( * 4)); } else { _local2 = container.y; container.y = (550 - rootLine.myController.scrollEdges[2]); _local1 = (_local2 - container.y); if (_local1 > 0){ hills.y = (hills.y - Math.round((_local1 * 0.5))); sea.y = (sea.y - Math.round((_local1 * 0.25))); sky.y = (sky.y - Math.round((_local1 * 0.25))); }; }; return (_local1); } function updateFishes(){ var _local1:int; _local1 = 0; while (_local1 < fishes.length) { fishes[_local1].fish.update(circuitCompleted); _local1++; }; } function (){ .addChild(new BGColour()); sky = new Sky(); sky.x = 0; sky.y = ((550 - Math.floor((rootLine.myController.scrollEdges[5] * 0.25))) + Math.floor(((rootLine.myController.scrollEdges[2] - 275) * 0.25))); .addChild(sky); sea = new Sea(); sea.x = (-276 - Math.floor((rootLine.myController.scrollEdges[4] * 0.25))); sea.y = ((549 - Math.floor((rootLine.myController.scrollEdges[5] * 0.25))) + Math.floor(((rootLine.myController.scrollEdges[2] - 275) * 0.25))); .addChild(sea); hills = new Hills(); hills.x = (-254 - Math.floor((rootLine.myController.scrollEdges[4] * 0.75))); hills.y = ((549 - Math.floor((rootLine.myController.scrollEdges[5] * 0.5))) + Math.floor(((rootLine.myController.scrollEdges[2] - 275) * 0.5))); .addChild(hills); container = new MovieClip(); container.x = (275 - rootLine.myController.scrollEdges[4]); container.y = (275 - rootLine.myController.scrollEdges[5]); .addChild(container); = new MovieClip(); landClip = new MovieClip(); waterClip = new MovieClip(); debugArea = new MovieClip(); stamps0 = new MovieClip(); stamps1 = new MovieClip(); stamps2 = new MovieClip(); levelElementsLayer = new MovieClip(); sparksLayer = new MovieClip(); signsLayer = new MovieClip(); noDragLayer = new MovieClip(); container.addChild(stamps0); container.addChild(signsLayer); container.addChild( ); container.addChild(waterClip); container.addChild(stamps2); container.addChild(landClip); container.addChild(stamps1); container.addChild(sparksLayer); container.addChild(levelElementsLayer); container.addChild(noDragLayer); container.addChild(debugArea); } function updateElectrifiedWater(){ var _local1:int; _local1 = 0; while (_local1 < waterAreas.length) { if (!circuitCompleted){ waterAreas[_local1].electrified = false; }; waterAreas[_local1].updateElectrified(); _local1++; }; } function initFishes(){ var _local1:int; var _local2:int; _local1 = 0; while (_local1 < fishes.length) { _local2 = 0; while (_local2 < waterAreas.length) { if (fishes[_local1].hitTestObject(waterAreas[_local2].sprite)){ fishes[_local1].water = waterAreas[_local2]; break; }; _local2++; }; _local1++; }; } function fillChest(){ var _local1:int; chestDisplay.emptyOut(); _local1 = 0; while (_local1 < rootLine.levelBlocks.levelBlocks.length) { chestDisplay.addLevelBlock(rootLine.levelBlocks.levelBlocks[_local1].shapeID, rootLine.levelBlocks.levelBlocks[_local1].material, rootLine.levelBlocks.levelBlocks[_local1].sticky, rootLine.levelBlocks.levelBlocks[_local1].preDefinedBlock, rootLine.levelBlocks.levelBlocks[_local1].preDefinedBlockID, rootLine.levelBlocks.levelBlocks[_local1].rotation); _local1++; }; chestDisplay.gameClass = this; } function updateWheelBlocks(){ var _local1:int; _local1 = 0; while (_local1 < wheelBlocksToMove.length) { if (wheelBlocksToMove[_local1].b1.GetUserData().material == Block.WHEELBLOCKR){ wheelBlocksToMove[_local1].b1.ApplyForce(new b2Vec2(12, 0), wheelBlocksToMove[_local1].b1.GetWorldCenter()); }; if (wheelBlocksToMove[_local1].b2.GetUserData().material == Block.WHEELBLOCKR){ wheelBlocksToMove[_local1].b2.ApplyForce(new b2Vec2(12, 0), wheelBlocksToMove[_local1].b2.GetWorldCenter()); }; if (wheelBlocksToMove[_local1].b1.GetUserData().material == Block.WHEELBLOCKL){ wheelBlocksToMove[_local1].b1.ApplyForce(new b2Vec2(-12, 0), wheelBlocksToMove[_local1].b1.GetWorldCenter()); }; if (wheelBlocksToMove[_local1].b2.GetUserData().material == Block.WHEELBLOCKL){ wheelBlocksToMove[_local1].b2.ApplyForce(new b2Vec2(-12, 0), wheelBlocksToMove[_local1].b2.GetWorldCenter()); }; _local1++; }; wheelBlocksToMove = new Array(); } function scrollRight(){ var _local1:Number; var _local2:*; if (((container.x - Math.round(( * 4))) + rootLine.myController.scrollEdges[1]) > 550){ container.x = (container.x - Math.round(( * 4))); hills.x = (hills.x - Math.round(( * 3))); sea.x = (sea.x - Math.round()); scrolling = true; if ( < 4){ = ( + 0.25); }; _local1 = Math.round(( * 4)); } else { _local2 = container.x; container.x = (550 - rootLine.myController.scrollEdges[1]); _local1 = (_local2 - container.x); if (_local1 > 0){ hills.x = (hills.x - Math.round((_local1 * 0.75))); sea.x = (sea.x - Math.round((_local1 * 0.25))); }; }; (); return (_local1); } function scrollUp(){ var _local1:Number; var _local2:*; if (((container.y + rootLine.myController.scrollEdges[0]) + Math.round(( * 4))) < 0){ container.y = (container.y + Math.round(( * 4))); hills.y = (hills.y + Math.round(( * 2))); sea.y = (sea.y + Math.round()); sky.y = (sky.y + Math.round()); scrolling = true; if ( < 4){ = ( + 0.25); }; _local1 = Math.round(( * 4)); } else { _local2 = container.y; container.y = -(rootLine.myController.scrollEdges[0]); _local1 = (container.y - _local2); if (_local1 > 0){ hills.y = (hills.y + Math.round((_local1 * 0.5))); sea.y = (sea.y + Math.round((_local1 * 0.25))); sky.y = (sky.y + Math.round((_local1 * 0.25))); }; }; return (_local1); } function bottomDepth(_arg1:Block){ if (((((_arg1.isHeavy) || ((_arg1.material == Block.BALLOON)))) || ((_arg1.material == Block.DEADZONE)))){ _arg1.container.setChildIndex(_arg1.sprite, 0); }; } function (){ var _local1:int; if (sparks.length > 0){ _local1 = (sparks.length - 1); while (_local1 >= 0) { sparks[_local1].update(); if (((!(circuitCompleted)) || (((shortCircuit) && ((sparks[_local1].path[sparks[_local1].positionInPath] == shortedBody)))))){ sparks[_local1].fizzleOut(); }; if (sparks[_local1].live == false){ if (((((circuitCompleted) && (!(shortCircuit)))) && (!(sparks[_local1].dying)))){ if (endElementBody.GetUserData().blockRef.elementClip.head.endHead.currentFrame == 1){ endElementBody.GetUserData().blockRef.elementClip.head.endHead.gotoAndStop(2); }; }; sparksLayer.removeChild(sparks[_local1]); sparks.splice(_local1, 1); }; _local1--; }; }; } function showHelpMessage(_arg1:String){ rootLine.helpDisplay.helpMessage = _arg1; rootLine.helpDisplay.play(); panelOpen = true; paused = true; if (endElementBody.GetUserData().blockRef.elementClip.head.endHead.currentFrame == 2){ endElementBody.GetUserData().blockRef.elementClip.head.endHead.endHead.mouth.stop(); }; } function putBackInChest(_arg1:Block){ var _local2:int; if (_arg1.material == Block.SCREW){ _local2 = 0; while (_local2 < screws.length) { if (screws[_local2] == _arg1){ screws.splice(_local2, 1); break; }; _local2++; }; }; chestDisplay.addLevelBlock(_arg1.solidBody.GetUserData().shapeID, _arg1.solidBody.GetUserData().material, _arg1.solidBody.GetUserData().magnetic, _arg1.solidBody.GetUserData().preDefinedBlock, _arg1.solidBody.GetUserData().preDefinedBlockID, _arg1.defaultRotation); _arg1.whiteOut(); } function joinNewContactedBodies(){ var _local1:Number; var _local2:Object; var _local3:b2Body; var _local4:b2Body; var _local5:b2Body; var _local6:b2JointEdge; var _local7:b2Body; var _local8:Boolean; var _local9:b2DistanceJointDef; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:b2AABB; var _local13:b2AABB; var _local14:b2Vec2; var _local15:b2Vec2; var _local16:b2Vec2; var _local17:b2PolygonShape; var _local18:b2PolygonShape; var _local19:*; _local1 = 0; while (_local1 < newContacts.length) { _local2 = newContacts[_local1]; _local3 = _local2.b1; _local4 = _local2.b2; _local17 = (_local2.shape1 as b2PolygonShape); _local18 = (_local2.shape2 as b2PolygonShape); _local16 = _local2.point; _local6 = _local3.GetJointList(); _local8 = false; if (_local6){ _local5 = _local6.other; if (_local4 != _local5){ _local8 = false; _local6 = _local6.next; while (((!(_local8)) && (_local6))) { if (_local6.other == _local4){ _local8 = true; }; _local6 = _local6.next; }; } else { _local8 = true; }; }; if (!_local8){ _local9 = new b2DistanceJointDef(); _local10 = _local3.GetWorldCenter(); _local11 = _local4.GetWorldCenter(); if (_local3.GetUserData().scenery){ _local10 = _local16; } else { if (_local4.GetUserData().scenery){ _local11 = _local16; }; }; _local9.Initialize(_local3, _local4, _local10, _local11); _local9.collideConnected = true; _local9.frequencyHz = 1.5; _local9.dampingRatio = 1; _local9.length = 0; _local2.joint = m_world.CreateJoint(_local9); _local2.position = new b2Vec2(); _local2.position.x = _local16.x; _local2.position.y = _local16.y; _local3.GetUserData().looseJoint = _local4; _local3.GetUserData().frameCount = 0; _local4.GetUserData().looseJoint = _local3; _local4.GetUserData().frameCount = 0; _local19 = new b2GravityController(); _local19.AddBody(_local3); _local19.AddBody(_local4); _local2.sucker = _local19; _local2.frameCount = 0; looseJoints.push(_local2); }; _local1++; }; newContacts = new Array(); } function topDepth(_arg1:Block){ _arg1.container.setChildIndex(_arg1.sprite, (_arg1.container.numChildren - 1)); } function doScreenShake(){ if (screenShake > 0){ container.x = (container.x - shakeXOff); container.y = (container.y - shakeYOff); screenShake--; if (screenShake > 0){ shakeXOff = Math.ceil(((Math.random() * (screenShake * 2)) - screenShake)); shakeYOff = Math.ceil(((Math.random() * (screenShake * 2)) - screenShake)); container.x = (container.x + shakeXOff); container.y = (container.y + shakeYOff); } else { shakeXOff = 0; shakeYOff = 0; }; }; } public function (){ container.x = (275 + rootLine.myController.scrollEdges[4]); container.y = (275 + rootLine.myController.scrollEdges[5]); hills.x = (hills.x + (rootLine.myController.scrollEdges[4] * 0.75)); hills.y = (hills.y + (rootLine.myController.scrollEdges[5] * 0.5)); sea.x = (sea.x + (rootLine.myController.scrollEdges[4] * 0.25)); sea.y = (sea.y + (rootLine.myController.scrollEdges[5] * 0.25)); sky.y = (sky.y + (rootLine.myController.scrollEdges[5] * 0.25)); } function addBlock(_arg1:Number){ var _local2:Number; var _local3:Number; var _local4:int; var _local5:Block; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:b2Vec2; rootLine.blockDrawer.findEquivilentPreDefinedBlock(); _local2 = mouseXWorld; _local3 = mouseYWorld; _local2 = (_local2 - container.x); _local3 = (_local3 - container.y); if (((rootLine.blockDrawer.preDefinedBlock) && ((LevelElementDefs.ALLBLOCKS[rootLine.blockDrawer.preDefinedBlockID][1] == Block.SCREW)))){ _local5 = new Block(this.m_world, stamps1); } else { _local5 = new Block(this.m_world, ); }; _local5.shapeID = rootLine.blockDrawer.lastSelectedShape; _local4 = 0; while (_local4 < rootLine["blockDrawer"].pointList.length) { _local5.addVertex(new b2Vec2((rootLine["blockDrawer"].pointList[_local4].x / 30), (rootLine["blockDrawer"].pointList[_local4].y / 30))); _local4++; }; _local5.rotation = ((_arg1 * Math.PI) / 180); _local5.position = new b2Vec2((_local2 / 30), (_local3 / 30)); _local5.defaultRotation = _arg1; _local6 = 0; if (rootLine.blockDrawer["metalCheck"].selected){ _local6 = 1; }; if (!rootLine.blockDrawer.preDefinedBlock){ _local5.setMaterial(_local6, rootLine.blockDrawer["magCheck"].selected, false, rootLine.blockDrawer["heavyCheck"].selected); } else { _local5.setMaterial(LevelElementDefs.ALLBLOCKS[rootLine.blockDrawer.preDefinedBlockID][1], rootLine.blockDrawer["magCheck"].selected, false, rootLine.blockDrawer["heavyCheck"].selected); }; _local5.preDefinedBlock = rootLine.blockDrawer.preDefinedBlock; _local5.preDefinedBlockID = rootLine.blockDrawer.preDefinedBlockID; _local5.solidify(); _local5.solidBody.GetUserData().shapeID = rootLine.blockDrawer.lastSelectedShape; blockList.push(_local5); _local7 = 0; _local8 = 0; if ((((_local5.shapeID == 11)) || ((_local5.shapeID == 9)))){ _local9 = _local5.localToGlobal(_local5.centerPoint()); _local7 = ((_local2 / 30) - _local9.x); _local8 = ((_local3 / 30) - _local9.y); }; _local5.solidBody.SetXForm(new b2Vec2(((_local2 / 30) + _local7), ((_local3 / 30) + _local8)), _local5.solidBody.GetAngle()); dragThisBlock(_local5); bottomDepth(_local5); if (_local5.material == Block.SCREW){ screws.push(_local5); }; } function scrollLeft(){ var _local1:Number; var _local2:*; if (((container.x + rootLine.myController.scrollEdges[3]) + Math.round(( * 4))) < 0){ container.x = (container.x + Math.round(( * 4))); hills.x = (hills.x + Math.round(( * 3))); sea.x = (sea.x + Math.round()); scrolling = true; _local1 = Math.round(( * 4)); if ( < 4){ = ( + 0.25); }; } else { _local2 = container.x; container.x = -(rootLine.myController.scrollEdges[3]); _local1 = (container.x - _local2); if (_local1 > 0){ hills.x = (hills.x + Math.round((_local1 * 0.75))); sea.x = (sea.x + Math.round((_local1 * 0.25))); }; }; (); return (_local1); } function killBlocks(){ var _local1:int; var _local2:b2ContactEdge; if (deadZones.length > 0){ _local1 = 0; while (_local1 < deadZones.length) { _local2 = deadZones[_local1].solidBody.m_contactList; while (_local2) { if (((_local2.contact) && ((_local2.contact.m_manifoldCount > 0)))){ if (((!(_local2.other.GetUserData().scenery)) && (!(_local2.other.GetUserData().sceneryElement)))){ if (((!((_local2.other.GetUserData().material == Block.ANTIDEAD))) && (!(_local2.other.GetUserData().whitingOut)))){ if (((draggingBlock) && ((_local2.other.GetUserData().blockRef == blockBeingDragged)))){ dropBlock(); }; putBackInChest(_local2.other.GetUserData().blockRef); NitromeGame.sound_manager.playSound("deathground"); }; }; }; _local2 = _local2.next; }; _local1++; }; }; } function offscreen(_arg1:DisplayObject):Boolean{ if ((((((((_arg1.x < (rootLine.myController.scrollEdges[3] - 30))) || ((_arg1.y < (rootLine.myController.scrollEdges[0] - 30))))) || ((_arg1.x > (rootLine.myController.scrollEdges[1] + 30))))) || ((_arg1.y > (rootLine.myController.scrollEdges[2] + 30))))){ return (true); }; return (false); } function notInPath(_arg1:b2Body, _arg2:Array):Boolean{ var _local3:int; _local3 = 0; while (_local3 < _arg2.length) { if (_arg2[_local3] == _arg1){ return (false); }; _local3++; }; return (true); } function (){ var _local1:String; var _local2:Number; var _local3:Number; _local1 = ""; _local2 = Math.floor((score / 25)); _local3 = Math.floor((_local2 / 60)); _local2 = (_local2 - (_local3 * 60)); if (_local2 < 10){ _local1 = ((_local3 + ":0") + _local2); } else { _local1 = ((_local3 + ":") + _local2); }; rootLine.scoreDisplay.text = _local1; rootLine.levelDisplay.text = ("LV:" + Controller.selectedLevel); rootLine.totalScoreDisplay.text = Controller.totalScore; } function dragThisBlock(_arg1:Block){ var _local2:b2JointEdge; var _local3:b2MouseJointDef; var _local4:b2MassData; if (_arg1.screwed){ _arg1.theScrew.screwed = false; _arg1.theScrew.theScrew = null; _arg1.theScrew.solidBody.SetMassFromShapes(); _arg1.screwed = false; _arg1.theScrew = null; _arg1.solidBody.SetMassFromShapes(); }; draggingBlock = true; blockBeingDragged = _arg1; spliceOutLooseJoints(_arg1.solidBody); _local2 = _arg1.solidBody.GetJointList(); while (_local2) { if (_local2.joint){ m_world.DestroyJoint(_local2.joint); }; _local2 = _local2.next; }; if (_arg1.solidBody.GetMass() == 0){ _local4 = new b2MassData(); _local4.mass = 3; _arg1.solidBody.SetMass(_local4); }; _local3 = new b2MouseJointDef(); _local3.body1 = _arg1.solidBody; _local3.body2 = _arg1.solidBody; _local3.target.Set(mouseXWorldPhys, mouseYWorldPhys); _local3.maxForce = 450; _local3.timeStep = m_timeStep; m_mouseJoint = (m_world.CreateJoint(_local3) as b2MouseJoint); _arg1.solidBody.WakeUp(); draggingBlockRotation = _arg1.solidBody.GetAngle(); } function isCircuitComplete(){ var _local1:Boolean; var _local2:Number; var _local3:b2JointEdge; var _local4:b2Body; var _local5:b2Body; var _local6:Boolean; var _local7:b2ContactEdge; var _local8:int; var _local9:b2Vec2; var _local10:int; var _local11:Number; var _local12:Number; var _local13:b2Vec2; var _local14:Number; var _local15:Spark; _local1 = false; _local2 = 0; _local6 = true; if (circuitCompleted){ _local6 = false; }; if (!levelComplete){ = new Array(); }; shortCircuit = false; if (((((startElementBody) && (endElementBody))) && (!(levelComplete)))){ endElementBody.GetUserData().circuitElement = false; startElementBody.GetUserData().circuitElement = true; .push(startElementBody); while (!(_local1)) { _local1 = true; _local5 = m_world.m_bodyList; while (_local5) { if (((_local5) && (_local5.GetUserData()))){ _local5.GetUserData().tested = true; if (_local5.GetUserData().circuitElement){ _local7 = _local5.m_contactList; while (_local7) { if (((_local7.contact) && ((_local7.contact.m_manifoldCount > 0)))){ if ((((((_local7.other.GetUserData().material == Block.METAL)) || ((_local7.other.GetUserData().material == Block.WATER)))) && ((_local7.other.GetUserData().circuitElement == false)))){ if ((((_local7.other.GetUserData().material == Block.WATER)) || (((draggingBlock) && ((blockBeingDragged == _local7.other.GetUserData().blockRef)))))){ shortCircuit = true; shortedBody = _local5; _local7.other.GetUserData().blockRef.electrified = true; if (notInPath(_local5, )){ .push(_local5); }; break; } else { if (notInPath(_local5, )){ .push(_local5); }; if (notInPath(_local7.other, )){ .push(_local7.other); }; _local7.other.GetUserData().circuitElement = true; _local5.GetUserData().circuitElement = true; _local1 = false; _local2++; }; }; }; _local7 = _local7.next; }; _local8 = 0; while (_local8 < teslaBlocks.length) { if (teslaBlocks[_local8].solidBody.GetUserData().circuitElement){ _local9 = new b2Vec2(teslaBlocks[_local8].solidBody.GetWorldCenter().x, teslaBlocks[_local8].solidBody.GetWorldCenter().y); _local11 = _local8; _local12 = Infinity; _local10 = 0; while (_local10 < teslaBlocks.length) { if (((!((_local10 == _local8))) && ((teslaBlocks[_local10].solidBody.GetUserData().circuitElement == false)))){ _local13 = new b2Vec2(teslaBlocks[_local10].solidBody.GetWorldCenter().x, teslaBlocks[_local10].solidBody.GetWorldCenter().y); _local13.Subtract(_local9); _local14 = Math.abs(_local13.Length()); if (_local14 <= LevelElementDefs.TESLADISTANCE){ if (_local14 < _local12){ _local12 = _local14; _local11 = _local10; }; }; }; _local10++; }; if (_local11 != _local8){ teslaBlocks[_local11].solidBody.GetUserData().circuitElement = true; _local1 = false; if (notInPath(teslaBlocks[_local11].solidBody, )){ .push(teslaBlocks[_local11].solidBody); }; }; }; _local8++; }; _local3 = _local5.GetJointList(); while (_local3) { _local4 = _local3.other; if (((_local4.GetUserData()) && (!((_local4.GetUserData().circuitElement == null))))){ if ((((_local4.GetUserData().material == Block.METAL)) && ((((_local4.GetUserData().circuitElement == false)) || ((((_local5.GetUserData().circuitElement == false)) && ((_local4.GetUserData().circuitElement == true)))))))){ _local4.GetUserData().circuitElement = true; _local1 = false; _local2++; if (notInPath(_local5, )){ .push(_local5); }; if (notInPath(_local4, )){ .push(_local4); }; }; }; _local3 = _local3.next; }; }; }; _local5 = _local5.m_next; }; if (endElementBody.GetUserData().circuitElement == true){ _local1 = true; }; }; }; if ((((endElementBody.GetUserData().circuitElement == true)) || (levelComplete))){ circuitCompleted = true; if (_local6){ NitromeGame.sound_manager.playSound("electric"); }; if (Math.random() >= 0.8){ _local15 = new Spark(); if (!levelComplete){ while ([(.length - 1)] != endElementBody) { .pop(); }; }; _local15.setBlockList(); _local15.setWorld(this.m_world); _local15.setStartBlock(this.startElementBody); _local15.setEndBlock(endElementBody); _local15.x = (startElementBody.GetWorldCenter().x * 30); _local15.y = (startElementBody.GetWorldCenter().y * 30); _local15.x = (_local15.x + (Math.floor((Math.random() * 10)) - 5)); _local15.y = (_local15.y + (Math.floor((Math.random() * 10)) - 5)); sparksLayer.addChild(_local15); sparks.push(_local15); }; } else { circuitCompleted = false; }; if (endElementBody){ if (!circuitCompleted){ endElementBody.GetUserData().blockRef.elementClip.head.endHead.gotoAndStop(1); = 1; } else { if (endElementBody.GetUserData().blockRef.elementClip.head.endHead.currentFrame == 1){ } else { if (endElementBody.GetUserData().blockRef.elementClip.head.endHead.currentFrame == 2){ if (endElementBody.GetUserData().blockRef.elementClip.head.endHead.endHead.mouth.currentFrame == 110){ endElementBody.GetUserData().blockRef.elementClip.head.endHead.gotoAndStop(3); if (((!(levelComplete)) && (!(rootLine.myController.titleScreen)))){ rootLine.play(); NitromeGame.sound_manager.playSound("charged"); }; if (!rootLine.myController.titleScreen){ levelComplete = true; }; } else { if (((endElementBody.GetUserData().blockRef.elementClip.head.endHead.endHead.mouth.currentFrame - 1) % 14) == 0){ NitromeGame.sound_manager.playSound(("chargeup" + )); ++; if ( > 8){ = 8; }; }; }; }; }; }; }; _local8 = 0; while (_local8 < teslaBlocks.length) { if (!teslaBlocks[_local8].firstFrame){ if (teslaBlocks[_local8].solidBody.GetUserData().circuitElement == true){ if (teslaBlocks[_local8].animClip.tesla.currentFrame == 1){ teslaBlocks[_local8].animClip.tesla.gotoAndStop(2); }; } else { if (teslaBlocks[_local8].animClip.tesla.currentFrame != 1){ teslaBlocks[_local8].animClip.tesla.gotoAndStop(1); }; }; }; _local8++; }; } function update(_arg1:Event):void{ var _local2:Number; var _local3:Number; var _local4:b2JointEdge; var _local5:Number; var _local6:Number; var _local7:b2ContactEdge; var _local8:b2PrismaticJointDef; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:Block; var _local13:b2Vec2; var _local14:b2Body; var _local15:b2Vec2; var _local16:b2Vec2; var _local17:b2Vec2; var _local18:int; var _local19:int; var _local20:Boolean; var _local21:b2Vec2; doScreenShake(); if (Key.isDown(32)){ if (((rootLine.inGameHelpMessage) && ((rootLine.inGameHelpMessage.currentFrame > 1)))){ rootLine.inGameHelpMessage.play(); }; if (((rootLine.pauseMessage) && ((rootLine.pauseMessage.currentFrame > 1)))){ rootLine.pauseMessage.play(); }; if (((rootLine.startMessage) && ((rootLine.startMessage.currentFrame == 29)))){ rootLine.startMessage.play(); }; if (((rootLine.levelCompleteMessage) && ((rootLine.levelCompleteMessage.currentFrame == 29)))){ rootLine.levelCompleteMessage.play(); }; if (((rootLine.helpDisplay) && ((rootLine.helpDisplay.currentFrame > 1)))){ rootLine.helpDisplay.play(); }; if (((rootLine.levelCompleteMessage) && ((rootLine.levelCompleteMessage.currentFrame > 1)))){ rootLine.levelCompleteMessage.play(); }; }; if ((((paused == false)) && (!(levelComplete)))){ UpdateMouseWorld(); m_world.Step(m_timeStep, m_iterations); if (score > 0){ score--; }; (); if (newContacts.length >= 1){ joinNewContactedBodies(); }; updateWheelBlocks(); _local5 = 0; teslaBlocks = new Array(); _local6 = (blockList.length - 1); for (;_local6 >= 0;_local6--) { blockList[_local6].updateBitmap(circuitCompleted); if (((((((!((blockList[_local6] == blockBeingDragged))) || (!(draggingBlock)))) && (blockList[_local6].animClip))) && (blockList[_local6].animClip.block))){ blockList[_local6].animClip.block.cogs.stop(); blockList[_local6].animClip.block.frontCogs.stop(); }; if ((((((blockList[_local6] == blockBeingDragged)) && (draggingBlock))) && ((blockList[_local6].material == Block.WEIGHTLESS)))){ blockList[_local6].animClip.block.cogs.play(); blockList[_local6].animClip.block.frontCogs.play(); }; if ((((((blockList[_local6] == blockBeingDragged)) && (draggingBlock))) && ((blockList[_local6].material == Block.SCREW)))){ if (blockList[_local6].animClip.screw.currentFrame < 16){ blockList[_local6].animClip.screw.gotoAndPlay(16); NitromeGame.sound_manager.playSound("screw"); }; }; if ((((((blockList[_local6] == blockBeingDragged)) && (draggingBlock))) && (blockList[_local6].isTesla))){ if (blockList[_local6].animClip.tesla.currentFrame != 1){ blockList[_local6].animClip.tesla.gotoAndStop(1); }; }; if (blockList[_local6].whitingOut){ if (blockList[_local6].whiteOutAlpha <= 0){ spliceOutLooseJoints(blockList[_local6].solidBody); blockList[_local6].deleteFromWorld(); blockList.splice(_local6, 1); continue; }; } else { if (((((!(draggingBlock)) || (((draggingBlock) && (!((blockList[_local6] == blockBeingDragged))))))) && (offscreen(blockList[_local6].sprite)))){ putBackInChest(blockList[_local6]); continue; }; }; _local4 = blockList[_local6].solidBody.GetJointList(); while (_local4) { if (Math.abs(_local4.joint.GetReactionTorque()) > 500){ spliceOutLooseJoints(blockList[_local6].solidBody); if (_local4.joint){ m_world.DestroyJoint(_local4.joint); }; }; _local4 = _local4.next; }; blockList[_local6].solidBody.GetUserData().circuitElement = false; blockList[_local6].solidBody.GetUserData().tested = false; if (((blockList[_local6].isTesla) && (((!(draggingBlock)) || (!((blockBeingDragged == blockList[_local6]))))))){ teslaBlocks.push(blockList[_local6]); }; if (((blockList[_local6].touchingWater) && ((((((!(blockList[_local6].material) == Block.WEIGHTLESS)) && ((!(blockList[_local6].material) == Block.SCREW)))) || (((draggingBlock) && ((blockBeingDragged == blockList[_local6])))))))){ blockList[_local6].touchingWater = false; _local7 = blockList[_local6].solidBody.m_contactList; while (_local7) { if (((_local7.contact) && ((_local7.contact.m_manifoldCount > 0)))){ if (_local7.other.GetUserData().material == Block.WATER){ blockList[_local6].touchingWater = true; break; }; }; _local7 = _local7.next; }; }; }; _local6 = 0; while (_local6 < cannons.length) { cannons[_local6].updateBitmap(); _local6++; }; _local6 = (looseJoints.length - 1); while (_local6 >= 0) { if (((draggingBlock) && ((((looseJoints[_local6].b1 == blockBeingDragged.solidBody)) || ((looseJoints[_local6].b2 == blockBeingDragged.solidBody)))))){ if (looseJoints[_local6].joint){ m_world.DestroyJoint(looseJoints[_local6].joint); }; looseJoints.splice(_local6, 1); } else { if (((((Math.abs((looseJoints[_local6].b1.GetAngle() - looseJoints[_local6].b2.GetAngle())) % ((90 * Math.PI) / 180)) < ((1 * Math.PI) / 180))) && ((looseJoints[_local6].frameCount >= 20)))){ _local8 = new b2PrismaticJointDef(); _local9 = new b2Vec2(1, 0); _local10 = looseJoints[_local6].position; _local8.Initialize(looseJoints[_local6].b1, looseJoints[_local6].b2, _local10, _local9); _local8.enableLimit = true; m_world.CreateJoint(_local8); if ((((looseJoints[_local6].b1.GetUserData().blockRef.material == Block.METAL)) && ((looseJoints[_local6].b2.GetUserData().blockRef.material == Block.METAL)))){ NitromeGame.sound_manager.playSound("wom"); } else { NitromeGame.sound_manager.playSound("sticky"); }; if (looseJoints[_local6].joint){ m_world.DestroyJoint(looseJoints[_local6].joint); }; looseJoints.splice(_local6, 1); } else { looseJoints[_local6].frameCount++; looseJoints[_local6].sucker.Step(m_timeStep); }; }; _local6--; }; killBlocks(); isCircuitComplete(); updateFishes(); updateElectrifiedWater(); (); if (!Input.mouseDown){ if (mousePressed){ dropBlock(); if (((openChest) && (chestDisplay.hitTestPoint(mouseXWorld, mouseYWorld, true)))){ chestDisplay.unClicked(); }; }; mousePressed = false; } else { if (!mousePressed){ if (((openChest) && (!(chestDisplay.hitTestPoint(mouseXWorld, mouseYWorld, true))))){ openChest = false; chestClosing = true; chestDisplay.closeIt(); _local6 = 0; while (_local6 < chests.length) { if ((((chests[_local6].animClip.chest.currentFrame > 1)) && ((chests[_local6].animClip.chest.currentFrame <= CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("close"); NitromeGame.sound_manager.playSound("creak"); }; _local6++; }; }; if (((openChest) && (chestDisplay.hitTestPoint(mouseXWorld, mouseYWorld, true)))){ chestDisplay.clicked(mouseXWorld, mouseYWorld); }; _local11 = new b2Vec2(mouseXWorldPhys, mouseYWorldPhys); _local6 = 0; while (_local6 < screws.length) { if (screws[_local6].sprite.hitTestPoint(mouseXWorld, mouseYWorld, true)){ _local12 = screws[_local6]; break; }; _local6++; }; if (_local12 == null){ _local6 = 0; while (_local6 < blockList.length) { if (blockList[_local6].testPoint(_local11)){ _local12 = blockList[_local6]; break; }; _local6++; }; }; if (((_local12) && (!(_local12.whitingOut)))){ dragThisBlock(_local12); } else { _local6 = 0; while (_local6 < helpSigns.length) { if (helpSigns[_local6].testPoint(_local11)){ showHelpMessage(helpSigns[_local6].solidBody.GetUserData().message); break; }; _local6++; }; if (((!(openChest)) && (!(chestClosing)))){ _local6 = 0; while (_local6 < chests.length) { if (chests[_local6].testPoint(_local11)){ openChest = true; chestClicked = chests[_local6]; _local2 = (chestClicked.sprite.y + chestClicked.sprite.getBounds(chestClicked.sprite).top); _local3 = (chestClicked.sprite.x + chestClicked.sprite.getBounds(chestClicked.sprite).left); _local3 = (_local3 + (chestClicked.sprite.width / 2)); chestDisplay.openIt(chestClicked, _local3, _local2); if ((((chests[_local6].animClip.chest.currentFrame == 1)) || ((chests[_local6].animClip.chest.currentFrame > CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("open"); NitromeGame.sound_manager.playSound("creak"); }; }; _local6++; }; }; }; _local6 = 0; while (_local6 < glassPanels.length) { if (glassPanels[_local6].testPoint(_local11)){ glassTap(_local11); }; _local6++; }; }; chestClosing = false; mousePressed = true; }; if (m_mouseJoint){ _local13 = new b2Vec2(mouseXWorldPhys, mouseYWorldPhys); m_mouseJoint.SetTarget(_local13); blockBeingDragged.solidBody.GetUserData().blockRef.rattleDelayCount = 0; spliceOutLooseJoints(blockBeingDragged.solidBody); _local4 = blockBeingDragged.solidBody.GetJointList(); while (_local4) { if (((_local4.joint) && (!((_local4.joint == m_mouseJoint))))){ m_world.DestroyJoint(_local4.joint); }; _local4 = _local4.next; }; blockBeingDragged.solidBody.SetAngularVelocity((blockBeingDragged.solidBody.GetAngularVelocity() / 1.5)); _local7 = blockBeingDragged.solidBody.m_contactList; while (_local7) { if (((_local7.contact) && ((_local7.contact.m_manifoldCount > 0)))){ if (_local7.other.GetUserData().material == Block.NODRAG){ if (_local7.other.GetUserData().blockRef.testPoint(m_mouseJoint.GetAnchor2())){ _local14 = blockBeingDragged.solidBody; blockBeingDragged.solidBody.SetLinearVelocity(_local14.GetLinearVelocity().Negative()); _local14.GetLinearVelocity().Multiply(0.25); _local14.SetAngularVelocity(-(_local14.GetAngularVelocity())); dropBlock(); break; }; }; }; _local7 = _local7.next; }; } else { if (blockBeingDragged){ _local6 = 0; while (_local6 < chests.length) { if (bodyIsTouchingBody(blockBeingDragged.solidBody, chests[_local6].solidBody)){ putBackInChest(blockBeingDragged); if ((((chests[_local6].animClip.chest.currentFrame > 1)) && ((chests[_local6].animClip.chest.currentFrame <= CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("close"); NitromeGame.sound_manager.playSound("creak"); blockBeingDragged = null; }; break; } else { if ((((blockBeingDragged.material == Block.SCREW)) || ((blockBeingDragged.material == Block.WEIGHTLESS)))){ if (chests[_local6].sprite.hitTestObject(blockBeingDragged.sprite)){ putBackInChest(blockBeingDragged); if ((((chests[_local6].animClip.chest.currentFrame > 1)) && ((chests[_local6].animClip.chest.currentFrame <= CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("close"); NitromeGame.sound_manager.playSound("creak"); blockBeingDragged = null; }; break; }; }; }; _local6++; }; }; }; if (((blockBeingDragged) && (!(openChest)))){ _local15 = blockBeingDragged.solidBody.GetWorldCenter(); _local6 = 0; while (_local6 < chests.length) { _local16 = new b2Vec2(_local15.x, _local15.y); _local16.Subtract(chests[_local6].solidBody.GetWorldCenter()); if (((bodyIsTouchingBody(blockBeingDragged.solidBody, chests[_local6].solidBody)) || ((_local16.Length() <= 5)))){ if ((((chests[_local6].animClip.chest.currentFrame == 1)) || ((chests[_local6].animClip.chest.currentFrame > CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("open"); NitromeGame.sound_manager.playSound("creak"); }; } else { if ((((chests[_local6].animClip.chest.currentFrame > 1)) && ((chests[_local6].animClip.chest.currentFrame <= CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("close"); NitromeGame.sound_manager.playSound("creak"); }; }; _local6++; }; }; if (!openChest){ _local17 = new b2Vec2(100, 100); if (((draggingBlock) && (blockBeingDragged))){ _local21 = blockBeingDragged.solidBody.GetWorldCenter(); _local17 = new b2Vec2(_local21.x, _local21.y); new b2Vec2(_local21.x, _local21.y).x = (_local17.x * 30); _local17.y = (_local17.y * 30); _local17.x = (_local17.x + container.x); _local17.y = (_local17.y + container.y); }; scrolling = false; _local18 = 0; _local19 = 0; _local20 = false; if (((((((Input.isKeyDown(Key.RIGHT)) || (Input.isKeyDown(Key.D)))) || (rootLine.rightScroll.hitTestPoint(mouseXWorld, mouseYWorld)))) || ((_local17.x > 525)))){ scrollRight(); _local18 = 1; }; if (((((((Input.isKeyDown(Key.LEFT)) || (Input.isKeyDown(Key.A)))) || (((((rootLine.leftScroll.hitTestPoint(mouseXWorld, mouseYWorld)) && (!((mouseXWorld == 0))))) && (!((mouseYWorld == 0))))))) || ((_local17.x < 25)))){ scrollLeft(); _local18 = -1; }; if (scrolling == false){ = 0; } else { _local20 = true; }; scrolling = false; if (((((((Input.isKeyDown(Key.UP)) || (Input.isKeyDown(Key.W)))) || (((((rootLine.topScroll.hitTestPoint(mouseXWorld, mouseYWorld)) && (!((mouseXWorld == 0))))) && (!((mouseYWorld == 0))))))) || ((_local17.y < 25)))){ scrollUp(); _local19 = -1; }; if (((((((Input.isKeyDown(Key.DOWN)) || (Input.isKeyDown(Key.S)))) || (rootLine.bottomScroll.hitTestPoint(mouseXWorld, mouseYWorld)))) || ((_local17.y > 525)))){ scrollDown(); _local19 = 1; }; if (scrolling == false){ = 0; } else { _local20 = true; }; if (_local20){ if ((((_local18 == -1)) && ((_local19 == 0)))){ CustomCursor.setCursor(CursorL); }; if ((((_local18 == 1)) && ((_local19 == 0)))){ CustomCursor.setCursor(CursorR); }; if ((((_local18 == 0)) && ((_local19 == -1)))){ CustomCursor.setCursor(CursorU); }; if ((((_local18 == 0)) && ((_local19 == 1)))){ CustomCursor.setCursor(CursorD); }; if ((((_local18 == -1)) && ((_local19 == -1)))){ CustomCursor.setCursor(CursorUL); }; if ((((_local18 == -1)) && ((_local19 == 1)))){ CustomCursor.setCursor(CursorDL); }; if ((((_local18 == 1)) && ((_local19 == -1)))){ CustomCursor.setCursor(CursorUR); }; if ((((_local18 == 1)) && ((_local19 == 1)))){ CustomCursor.setCursor(CursorDR); }; } else { CustomCursor.setCursor(null); }; } else { CustomCursor.setCursor(null); }; if (chestClicked != null){ _local2 = (chestClicked.sprite.y + chestClicked.sprite.getBounds(chestClicked.sprite).top); _local2 = (_local2 + container.y); _local3 = (chestClicked.sprite.x + chestClicked.sprite.getBounds(chestClicked.sprite).left); _local3 = (_local3 + (chestClicked.sprite.width / 2)); _local3 = (_local3 + container.x); chestDisplay.update(mouseXWorld, mouseYWorld); }; if (openChest){ if (_local2 < 200){ scrollUp(); }; if (_local2 > 350){ scrollDown(); }; if (_local3 < 200){ scrollLeft(); }; if (_local3 > 350){ scrollRight(); }; }; Input.update(); if (firstFrame){ firstFrame = false; }; } else { CustomCursor.setCursor(null); if (levelComplete){ isCircuitComplete(); (); }; }; } public function UpdateMouseWorld():void{ mouseXWorldPhys = ((Input.mouseX - container.x) / m_physScale); mouseYWorldPhys = ((Input.mouseY - container.y) / m_physScale); mouseXWorld = Input.mouseX; mouseYWorld = Input.mouseY; } function addInitialBlocks(){ var _local1:int; var _local2:int; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Block; var _local7:b2Vec2; var _local8:Block; var _local9:b2MassData; firstFrame = true; if (!rootLine.myController.titleScreen){ paused = true; }; _local1 = 0; while (_local1 < rootLine.myController.blocksInPlay.length) { _local3 = rootLine.myController.blocksInPlay[_local1].x; _local4 = rootLine.myController.blocksInPlay[_local1].y; _local5 = rootLine.myController.blocksInPlay[_local1].rotation; if (!rootLine.myController.blocksInPlay[_local1].preDefinedBlock){ rootLine.blockDrawer.selectBlock(rootLine.myController.blocksInPlay[_local1].shapeID); rootLine.blockDrawer.findEquivilentPreDefinedBlock_2(rootLine.myController.blocksInPlay[_local1].material, rootLine.myController.blocksInPlay[_local1].magnetic); } else { rootLine.blockDrawer.selectPreDefinedBlock(rootLine.myController.blocksInPlay[_local1].preDefinedBlockID); }; if (((rootLine.blockDrawer.preDefinedBlock) && ((LevelElementDefs.ALLBLOCKS[rootLine.blockDrawer.preDefinedBlockID][1] == Block.SCREW)))){ _local6 = new Block(this.m_world, stamps1); } else { _local6 = new Block(this.m_world, ); }; _local2 = 0; while (_local2 < rootLine["blockDrawer"].pointList.length) { _local6.addVertex(new b2Vec2((rootLine["blockDrawer"].pointList[_local2].x / 30), (rootLine["blockDrawer"].pointList[_local2].y / 30))); _local2++; }; _local6.rotation = _local5; _local6.position = new b2Vec2(_local3, _local4); _local6.setMaterial(rootLine.myController.blocksInPlay[_local1].material, rootLine.myController.blocksInPlay[_local1].magnetic, false, rootLine.myController.blocksInPlay[_local1].heavy); _local6.preDefinedBlock = rootLine.blockDrawer.preDefinedBlock; _local6.preDefinedBlockID = rootLine.blockDrawer.preDefinedBlockID; _local6.solidify(); _local6.solidBody.GetUserData().shapeID = rootLine.myController.blocksInPlay[_local1].shapeID; blockList.push(_local6); if (_local6.material == Block.SCREW){ _local7 = _local6.solidBody.GetPosition(); _local2 = 0; while (_local2 < blockList.length) { if (blockList[_local2].testPoint(_local7)){ _local8 = blockList[_local2]; break; }; _local2++; }; if (_local8){ _local6.screwed = true; _local6.theScrew = _local8; _local8.screwed = true; _local8.theScrew = _local6; _local9 = new b2MassData(); _local9.mass = 0; _local8.solidBody.SetMass(_local9); _local8.solidBody.SetLinearVelocity(new b2Vec2(0, 0)); _local8.solidBody.SetAngularVelocity(0); }; screws.push(_local6); }; _local1++; }; } function spliceOutLooseJoints(_arg1:b2Body){ var _local2:int; var _local3:b2JointEdge; if (looseJoints.length >= 1){ _local2 = (looseJoints.length - 1); while (_local2 >= 0) { if ((((looseJoints[_local2].b1 == _arg1)) || ((looseJoints[_local2].b2 == _arg1)))){ if (looseJoints[_local2].joint){ m_world.DestroyJoint(looseJoints[_local2].joint); }; looseJoints.splice(_local2, 1); }; _local2--; }; }; } function dropBlock(){ var _local1:MovieClip; var _local2:*; var _local3:b2Vec2; var _local4:Block; var _local5:b2MassData; if (m_mouseJoint){ m_world.DestroyJoint(m_mouseJoint); m_mouseJoint = null; draggingBlock = false; if ((((blockBeingDragged.material == Block.WEIGHTLESS)) || ((blockBeingDragged.material == Block.SCREW)))){ blockBeingDragged.solidBody.SetMassFromShapes(); blockBeingDragged.solidBody.SetLinearVelocity(new b2Vec2(0, 0)); blockBeingDragged.solidBody.SetAngularVelocity(0); if (blockBeingDragged.material == Block.WEIGHTLESS){ shakeTheScreen(5); _local1 = new GroundSmack(); _local1.x = (blockBeingDragged.solidBody.GetWorldCenter().x * 30); _local1.y = ((blockBeingDragged.solidBody.GetWorldCenter().y * 30) - 10); _local1.alpha = 0.8; signsLayer.addChild(_local1); NitromeGame.sound_manager.playSound("slap"); }; if (blockBeingDragged.material == Block.SCREW){ _local3 = blockBeingDragged.solidBody.GetPosition(); _local2 = 0; while (_local2 < blockList.length) { if (blockList[_local2].testPoint(_local3)){ _local4 = blockList[_local2]; break; }; _local2++; }; if (_local4){ blockBeingDragged.screwed = true; blockBeingDragged.theScrew = _local4; _local4.screwed = true; _local4.theScrew = blockBeingDragged; _local5 = new b2MassData(); _local5.mass = 0; _local4.solidBody.SetMass(_local5); _local4.solidBody.SetLinearVelocity(new b2Vec2(0, 0)); _local4.solidBody.SetAngularVelocity(0); }; blockBeingDragged.animClip.screw.gotoAndPlay(1); NitromeGame.sound_manager.playSound("screw"); }; }; }; } function (){ var _local1:int; var _local2:int; var _local3:int; var _local4:b2Body; _local1 = 0; while (_local1 < blockList.length) { blockList[_local1].deleteFromWorld(); _local1++; }; _local4 = m_world.m_bodyList; while (_local4) { if (_local4){ if (((_local4.GetUserData()) && (_local4.GetUserData().blockRef))){ _local4.GetUserData().blockRef.deleteFromWorld(); } else { m_world.DestroyBody(_local4); }; }; _local4 = _local4.m_next; }; _local1 = ( ["numChildren"] - 1); while (_local1 >= 0) { .removeChildAt(_local1); _local1--; }; } function addScenery(){ var _local1:int; var _local2:int; var _local3:Block; var _local4:Sprite; var _local5:Sprite; var _local6:*; var _local7:Number; var _local8:MovieClip; var _local9:*; var _local10:Bitmap; var _local11:*; var _local12:Bitmap; var _local13:Number; var _local14:Number; var _local15:int; openChest = false; helpSigns = new Array(); deadZones = new Array(); cannons = new Array(); waterAreas = new Array(); fishes = new Array(); glassPanels = new Array(); chests = new Array(); if (((rootLine.myController) && ((rootLine.myController.levelStaticBlocks.length > 0)))){ _local1 = 0; while (_local1 < rootLine.myController.levelStaticBlocks.length) { if (rootLine.myController.waterFlag[_local1] == true){ _local3 = new Block(this.m_world, waterClip); } else { if (rootLine.myController.noDragFlag[_local1] == true){ _local3 = new Block(this.m_world, noDragLayer); } else { _local3 = new Block(this.m_world, landClip); }; }; _local2 = 0; while (_local2 < rootLine.myController.levelStaticBlocks[_local1].length) { _local3.addVertex(new b2Vec2((rootLine.myController.levelStaticBlocks[_local1][_local2].x / 30), (rootLine.myController.levelStaticBlocks[_local1][_local2].y / 30))); _local2++; }; if (rootLine.myController.waterFlag[_local1] == true){ _local3.setMaterial(2, false, true); waterAreas.push(_local3); } else { if (rootLine.myController.noDragFlag[_local1] == true){ _local3.setMaterial(Block.NODRAG, false, true); glassPanels.push(_local3); } else { if (rootLine.myController.deadZoneFlag[_local1] == true){ _local3.setMaterial(Block.DEADZONE, false, true); deadZones.push(_local3); } else { _local3.setMaterial(0, false, true); }; }; }; _local3.solidify(); _local1++; }; _local1 = 0; while (_local1 < deadZones.length) { bottomDepth(deadZones[_local1]); _local1++; }; _local4 = new Sprite(); _local5 = new Sprite(); _local1 = 0; while (_local1 < rootLine.myController.levelStamps.length) { _local8 = new AllStamps(); _local8.x = rootLine.myController.levelStamps[_local1].x; _local8.y = rootLine.myController.levelStamps[_local1].y; _local8.gotoAndStop(rootLine.myController.levelStamps[_local1].object); _local8.ID = _local1; if (LevelElementDefs.STAMPLAYERS[(rootLine.myController.levelStamps[_local1].object - 2)] == 0){ _local4.addChild(_local8); } else { if (LevelElementDefs.STAMPLAYERS[(rootLine.myController.levelStamps[_local1].object - 2)] == 1){ _local5.addChild(_local8); } else { if (LevelElementDefs.STAMPLAYERS[(rootLine.myController.levelStamps[_local1].object - 2)] == 3){ signsLayer.addChild(_local8); fishes.push(_local8); } else { this[("stamps" + LevelElementDefs.STAMPLAYERS[(rootLine.myController.levelStamps[_local1].object - 2)])].addChild(_local8); }; }; }; _local1++; }; if (_local4.width > 0){ _local6 = _local4.getBounds(_local4).left; _local7 = _local4.getBounds(_local4).top; _local9 = new BitmapData(_local4.width, _local4.height, true, 0); _local9.draw(_local4, new Matrix(1, 0, 0, 1, -(_local6), -(_local7))); _local10 = new Bitmap(_local9, "auto", true); _local10.x = _local6; _local10.y = _local7; stamps0.addChild(_local10); }; if (_local5.width > 0){ _local6 = _local5.getBounds(_local5).left; _local7 = _local5.getBounds(_local5).top; _local11 = new BitmapData(_local5.width, _local5.height, true, 0); _local11.draw(_local5, new Matrix(1, 0, 0, 1, -(_local6), -(_local7))); _local12 = new Bitmap(_local11, "auto", true); _local12.x = _local6; _local12.y = _local7; stamps1.addChild(_local12); }; _local1 = 0; while (_local1 < rootLine.myController.levelStaticMCBlocks.length) { _local13 = rootLine.myController.levelStaticMCBlocks[_local1].object; _local14 = LevelElementDefs.shapeID[(_local13 - 1)]; if ((((_local13 == 4)) || ((_local13 == 3)))){ _local3 = new Block(this.m_world, signsLayer); } else { _local3 = new Block(this.m_world, levelElementsLayer); }; _local2 = 0; while (_local2 < rootLine.blockDrawer.shapeLibrary[_local14].length) { _local3.addVertex(new b2Vec2((rootLine.blockDrawer.shapeLibrary[_local14][_local2].x / 30), (rootLine.blockDrawer.shapeLibrary[_local14][_local2].y / 30))); _local2++; }; _local3.position = new b2Vec2((rootLine.myController.levelStaticMCBlocks[_local1].x / 30), (rootLine.myController.levelStaticMCBlocks[_local1].y / 30)); _local3.rotation = 0; _local3.setMaterial(LevelElementDefs.material[(_local13 - 1)], LevelElementDefs.sticky[(_local13 - 1)], true); _local15 = 1; if ((((((_local13 == 1)) || ((_local13 == 2)))) || ((_local13 == 5)))){ _local15 = rootLine.myController.levelStaticMCBlocks[_local1].frame; }; _local3.setSceneryElement(true, _local13, _local15); _local3.solidify(); _local3.shapeID = _local14; if (_local13 == 1){ startElementBody = _local3.solidBody; _local3.solidBody.GetUserData().circuitElement = true; }; if (_local13 == 2){ endElementBody = _local3.solidBody; }; if (_local13 == 3){ chests.push(_local3); }; if (_local13 == 4){ _local3.solidBody.GetUserData().message = rootLine.myController.levelStaticMCBlocks[_local1].message; helpSigns.push(_local3); }; if (_local13 == 5){ cannons.push(_local3); _local3.rattleDelayCount = (-10 * cannons.length); }; _local1++; }; chestDisplay = new ChestDisplay(); chestDisplay.scaleX = 0; chestDisplay.scaleY = 0; chestDisplay.x = -1000000; chestDisplay.y = -1000000; chestDisplay.rootLine = rootLine; chestDisplay.blockController = this; signsLayer.addChild(chestDisplay); initFishes(); firstFrame = true; }; } public static function bodyIsTouchingBody(_arg1:b2Body, _arg2:b2Body):Boolean{ var _local3:b2ContactEdge; if (((!(_arg1)) || (!(_arg2)))){ return (false); }; _local3 = _arg1.m_contactList; while (_local3) { if (((_local3.contact) && ((_local3.contact.m_manifoldCount > 0)))){ if (_local3.other == _arg2){ return (true); }; }; _local3 = _local3.next; }; return (false); } public static function glassTap(_arg1:b2Vec2){ var _local2:MovieClip; _local2 = new SmashClip(); _local2.x = (_arg1.x * 30); _local2.y = (_arg1.y * 30); _local2.alpha = 0.8; _local2.scaleX = (_local2.scaleY = 0.5); levelElementsLayer.addChild(_local2); NitromeGame.sound_manager.playSound("glassTap"); } public static function addDust(_arg1:b2Vec2, _arg2:Block, _arg3:Block){ var _local4:MovieClip; var _local5:Number; if (((((!(draggingBlock)) || (((!((_arg2 == blockBeingDragged))) && (!((_arg3 == blockBeingDragged))))))) && ((((_arg2.touchingWater == false)) && ((_arg3.touchingWater == false)))))){ if ((((_arg3. == 0)) || ((_arg2. == 0)))){ _local4 = new DustClip(); _local4.x = (_arg1.x * 30); _local4.y = (_arg1.y * 30); _local4.alpha = 0.8; levelElementsLayer.addChild(_local4); if (_arg2. == 0){ _arg2. = 20; } else { _arg3. = 20; }; if ((((_arg2.material == Block.METAL)) && ((_arg3.material == Block.METAL)))){ _local5 = (Math.floor((Math.random() * 4)) + 1); NitromeGame.sound_manager.playSound(("metal_" + String(_local5))); } else { if ((((_arg2.material == Block.BALLOON)) || ((_arg3.material == Block.BALLOON)))){ NitromeGame.sound_manager.playSound("balloon"); } else { NitromeGame.sound_manager.playSound("slap"); }; }; }; }; } public static function addSmash(_arg1:b2Vec2, _arg2:Block, _arg3:Block){ var _local4:MovieClip; if (((((((!(draggingBlock)) || (((!((_arg2 == blockBeingDragged))) && (!((_arg3 == blockBeingDragged))))))) && ((((_arg2.touchingWater == false)) && ((_arg3.touchingWater == false)))))) && ((((((((_arg2.material == Block.METAL)) || (_arg2.isHeavy))) && (!(_arg2.sceneryElement)))) || ((((((_arg3.material == Block.METAL)) || (_arg3.isHeavy))) && (!(_arg3.sceneryElement)))))))){ _local4 = new SmashClip(); _local4.x = (_arg1.x * 30); _local4.y = (_arg1.y * 30); _local4.alpha = 0.8; levelElementsLayer.addChild(_local4); _arg2. = 40; _arg3. = 40; shakeTheScreen(10); }; } public static function panelOff(){ panelOpen = false; paused = false; if (endElementBody.GetUserData().blockRef.elementClip.head.endHead.currentFrame == 2){ if (endElementBody.GetUserData().blockRef.elementClip.head.endHead.endHead.mouth.currentFrame < 110){ endElementBody.GetUserData().blockRef.elementClip.head.endHead.endHead.mouth.play(); }; }; } public static function shakeTheScreen(_arg1:Number){ screenShake = _arg1; } public static function wheelBlockCollision(_arg1:Object):void{ wheelBlocksToMove.push(_arg1); } public static function addSplash(_arg1:b2Vec2){ var _local2:MovieClip; if (!firstFrame){ _local2 = new SplashClip(); _local2.x = (_arg1.x * 30); _local2.y = (_arg1.y * 30); waterClip.addChild(_local2); NitromeGame.sound_manager.playSound("splash"); }; } public static function registerContact(_arg1:Object):void{ newContacts.push(_arg1); } } }//package com.nitrome.balancerSection 79//Block (com.nitrome.balancer.Block) package com.nitrome.balancer { import flash.display.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; import com.nitrome.util.*; import flash.geom.*; import flash.filters.*; public class Block { var animClip:MovieClip; public var :Number;// = 1 public var :Number; public var :Number; var magnetic:Boolean;// = false public var :Number;// = 10 public var texture:BitmapData; var isTesla:Boolean;// = false var :Number;// = 0 var rattleDelayCount;// = 0 public var :Number; var material:Number;// = 0 public var position:b2Vec2; public var :Number;// = 136 var :Boolean;// = false var preDefinedBlock:Boolean;// = false public var :Number;// = 0 var :Array; public var :Array; var theScrew:Block; public var :Number;// = 0.4 public var :Array; var :Sprite; public var elementClip:MovieClip; var :Array; public var :BitmapData; public var :Array; public var rotation:Number; var :Number;// = 0 var container:MovieClip; var shapeID:Number;// = 0 var :b2World; public var touchingWater:Boolean;// = false var firstFrame:Boolean;// = true var :int;// = -30 var electrified:Boolean;// = false var sceneryElement:Boolean;// = false public var :Number;// = 6894119 public var :Number;// = 0x808080 var preDefinedBlockID:Number;// = 0 var :Array; public var sprite:MovieClip; var heavy:Boolean;// = false var smackable:Boolean;// = false var isHeavy:Boolean;// = false var :int;// = 1 public var :Boolean;// = false public var :Number;// = 0 public var :Boolean;// = false public var velocity:b2Vec2; var defaultRotation:Number;// = 0 var whitingOut:Boolean;// = false var scenery:Boolean;// = false var density:Number;// = 0.5 public var solidBody:b2Body; var screwed:Boolean;// = false var :Sprite; var whiteOutAlpha:Number;// = 1 static var WHEELBLOCKR = 6; static var RATTLEDELAY = 130; static var ANTIDEAD = 14; static var FOODBLOCK = 9; static var DEADZONE = 11; static var WEIGHTLESS = 4; static var BALLOON = 3; static var METAL = 1; static var RATTLER = 5; static var WOOD = 0; static var CANNONBALLMASS = 1; static var NODRAG = 8; public static var rockTexture:BitmapData; static var TESLA = 10; static var CANNONBALLPOWER = 15; static var WHEELBLOCKL = 7; static var SCREW = 13; static var RATTLETIME = 40; static var WATER = 2; static var HEAVY = 12; public function Block(_arg1:b2World, _arg2:MovieClip){ = 1; = 0x808080; = 0.4; = 6894119; = false; = 136; = 10; touchingWater = false; = 0; = 0; = false; material = 0; magnetic = false; scenery = false; heavy = false; sceneryElement = false; = 0; = false; isTesla = false; isHeavy = false; = 1; density = 0.5; preDefinedBlock = false; preDefinedBlockID = 0; rattleDelayCount = 0; screwed = false; shapeID = 0; whitingOut = false; = 0; whiteOutAlpha = 1; electrified = false; = -30; firstFrame = true; defaultRotation = 0; smackable = false; = new Array(1, 1.1, 1.25, 1.1); super(); if (!rockTexture){ rockTexture = new MetalTexture(0x0100, 0x0100); }; texture = rockTexture; solidBody = null; = []; = []; = []; this. = _arg1; this.container = _arg2; = new Array(); } public function ():void{ (); if (solidBody){ position = solidBody.GetPosition(); rotation = solidBody.GetAngle(); velocity = solidBody.GetLinearVelocity(); = solidBody.GetAngularVelocity(); .DestroyBody(solidBody); }; solidBody = null; = []; } public function ():b2Vec2{ var _local1:b2AABB; _local1 = getBoundingBox(); if (!_local1){ return (null); }; return (new b2Vec2(((_local1.lowerBound.x + _local1.upperBound.x) / 2), ((_local1.lowerBound.y + _local1.upperBound.y) / 2))); } public function testPoint(_arg1:b2Vec2):Boolean{ var _local2:Number; if (!solidBody){ return (false); }; _local2 = 0; while (_local2 < .length) { if ([_local2].TestPoint(solidBody.m_xf, _arg1)){ return (true); }; _local2++; }; return (false); } function updateElectrified(){ var _local1:Array; var _local2:Array; var _local3:ColorMatrixFilter; if (this.electrified){ if ( < 4){ if ( >= 0){ _local2 = new Array(); _local2 = _local2.concat([[ ], 0, 0, 0, 0]); _local2 = _local2.concat([0, [ ], 0, 0, 0]); _local2 = _local2.concat([0, 0, [ ], 0, 0]); _local2 = _local2.concat([0, 0, 0, 1, 0]); _local3 = new ColorMatrixFilter(_local2); _local1 = new Array(); _local1.push(_local3); sprite.filters = _local1; }; ++; } else { _local1 = new Array(); sprite.filters = _local1; = 0; }; this.electrified = false; } else { _local1 = new Array(); sprite.filters = _local1; = -30; }; } function centerPoint():b2Vec2{ var _local1:Number; var _local2:Number; var _local3:Number; _local1 = 0; _local2 = 0; _local3 = 0; while (_local3 < .length) { _local1 = (_local1 + [_local3].x); _local2 = (_local2 + [_local3].y); _local3++; }; return (new b2Vec2((_local1 / .length), (_local2 / .length))); } public function (_arg1:Number):void{ .splice(_arg1, 1); .splice(_arg1, 1); } public function (_arg1:b2Vec2):b2Vec2{ if (!solidBody){ return (new b2Vec2((_arg1.x / 30), (_arg1.y / 30))); }; return (solidBody.GetLocalPoint(new b2Vec2((_arg1.x / 30), (_arg1.y / 30)))); } public function updateBitmap(_arg1:Boolean=false):void{ var _local2:Matrix; var _local3:Array; var _local4:ColorMatrixFilter; var _local5:Array; var _local6:Boolean; var _local7:int; var _local8:b2ContactEdge; if (((sprite) && (solidBody))){ if (Math.abs(solidBody.GetLinearVelocity().Length()) > 2){ smackable = true; solidBody.GetUserData().smackable = true; } else { smackable = false; solidBody.GetUserData().smackable = false; }; if ((( ) && (_arg1))){ rattleDelayCount = 0; }; if ( > 0){ --; }; if ( > 0){ --; }; if (whitingOut){ if ( < 15){ = ( + 3); } else { whiteOutAlpha = (whiteOutAlpha - 0.2); }; if (whiteOutAlpha > 0){ _local3 = new Array(); _local3 = _local3.concat([(1 + ), 0, 0, 0, 0]); _local3 = _local3.concat([0, (1 + ), 0, 0, 0]); _local3 = _local3.concat([0, 0, (1 + ), 0, 0]); _local3 = _local3.concat([0, 0, 0, whiteOutAlpha, 0]); _local4 = new ColorMatrixFilter(_local3); _local5 = new Array(); _local5.push(_local4); sprite.filters = _local5; }; return; }; _local2 = new Matrix(); _local2.translate(, ); _local2.rotate(solidBody.GetAngle()); _local2.translate((solidBody.GetPosition().x * 30), (solidBody.GetPosition().y * 30)); sprite.transform.matrix = _local2; if ( ){ .rotation = -(sprite.rotation); } else { if ((((this.preDefinedBlockID == 56)) && (!(firstFrame)))){ animClip.bees.rotation = -(sprite.rotation); }; }; if (material == BALLOON){ solidBody.ApplyImpulse(new b2Vec2(0, -5.75), solidBody.GetWorldCenter()); }; if ((( ) || (((sceneryElement) && (( == 5)))))){ if (.length > 0){ _local7 = (.length - 1); while (_local7 >= 0) { [_local7].clip.x = ([_local7].physObject.GetPosition().x * 30); [_local7].clip.y = ([_local7].physObject.GetPosition().y * 30); [_local7].clip.texture.rotation = ([_local7].physObject.GetAngle() * (180 / Math.PI)); if ([_local7].clip.hasHit){ if ([_local7].clip.hitFrames >= 30){ [_local7].clip.smackable = false; [_local7].physObject.GetShapeList().m_isSensor = true; [_local7].clip.alpha = ([_local7].clip.alpha - 0.017); [_local7].clip.hitFrames++; if (((([_local7].clip.y > 550)) || (([_local7].clip.hitFrames >= 90)))){ container.removeChild([_local7].clip); .splice(_local7, 1); }; } else { [_local7].clip.hitFrames++; }; }; _local7--; }; }; rattleDelayCount++; if (rattleDelayCount == (RATTLEDELAY - 8)){ if (! ){ animClip.head.cannon.gotoAndPlay(2); }; }; _local6 = false; if ( ){ _local8 = solidBody.m_contactList; while (_local8) { if (((_local8.contact) && ((_local8.contact.m_manifoldCount > 0)))){ if (_local8.other.GetUserData().material == Block.FOODBLOCK){ _local6 = true; break; }; }; _local8 = _local8.next; }; }; if (rattleDelayCount >= RATTLEDELAY){ if ( ){ if (((!(_arg1)) || (((_arg1) && (!(this.solidBody.GetUserData().circuitElement)))))){ if (!_local6){ solidBody.ApplyTorque(((Math.random() * 200) - 100)); if (rattleDelayCount >= (RATTLEDELAY + RATTLETIME)){ rattleDelayCount = 0; }; if (((!(firstFrame)) && (!((this.animClip.monster.currentFrame == 10))))){ this.animClip.monster.gotoAndStop("angry"); }; NitromeGame.sound_manager.playSound("monster_angry"); } else { rattleDelayCount = 0; if (((!(firstFrame)) && (!((this.animClip.monster.currentFrame == 30))))){ this.animClip.monster.gotoAndStop("hungry"); NitromeGame.sound_manager.playSound("monster_happy"); }; }; }; } else { (); rattleDelayCount = 0; }; } else { if ((( ) && (((!(_arg1)) || (((_arg1) && (!(this.solidBody.GetUserData().circuitElement)))))))){ if (!_local6){ if (((!(firstFrame)) && (!((this.animClip.monster.currentFrame == 1))))){ this.animClip.monster.gotoAndStop("normal"); }; } else { if (((!(firstFrame)) && (!((this.animClip.monster.currentFrame == 30))))){ this.animClip.monster.gotoAndStop("hungry"); }; NitromeGame.sound_manager.playSound("monster_happy"); }; }; }; if ((((( ) && (this.solidBody.GetUserData().circuitElement))) && (_arg1))){ if (((!(firstFrame)) && (!((this.animClip.monster.currentFrame == 20))))){ this.animClip.monster.gotoAndStop("shock"); }; }; }; }; firstFrame = false; } public function getBoundingBox():b2AABB{ var _local1:b2AABB; var _local2:Number; var _local3:b2Vec2; if (.length < 1){ return (null); }; _local1 = new b2AABB(); _local2 = 0; while (_local2 < .length) { _local3 = localToGlobal([_local2]); if (_local2 == 0){ _local1.lowerBound.Set(_local3.x, _local3.y); _local1.upperBound.Set(_local3.x, _local3.y); } else { if (_local3.x < _local1.lowerBound.x){ _local1.lowerBound.x = _local3.x; }; if (_local3.x > _local1.upperBound.x){ _local1.upperBound.x = _local3.x; }; if (_local3.y < _local1.lowerBound.y){ _local1.lowerBound.y = _local3.y; }; if (_local3.y > _local1.upperBound.y){ _local1.upperBound.y = _local3.y; }; }; _local2++; }; return (_local1); } public function ():Number{ return (solidBody.GetMass()); } public function solidify():void{ var _local1:b2CircleDef; var _local2:b2BodyDef; var _local3:Array; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:Boolean; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:b2PolygonDef; var _local16:b2PolygonDef; var _local17:int; if (material != SCREW){ if (scenery){ if (material == WATER){ texture = null; } else { if (material == NODRAG){ texture = new GlassTexture2(0x0100, 0x0100); } else { if (material == DEADZONE){ texture = new DeathTile(0x0100, 0x0100); = true; = 5322926; = 4364774; = 25; } else { texture = new FloorTile(0x0100, 0x0100); }; }; }; } else { if (material == WOOD){ texture = new WoodTexture(0x0100, 0x0100); }; if (material == METAL){ texture = new MetalTexture(0x0100, 0x0100); }; }; _local2 = new b2BodyDef(); _local2.userData = {block:this}; if ((((material == WHEELBLOCKL)) || ((material == WHEELBLOCKR)))){ _local2.linearDamping = 0.25; }; solidBody = .CreateBody(_local2); = []; if (((!((shapeID == 6))) && (!((shapeID == 7))))){ _local3 = .slice(); while (_local3.length > 3) { _local4 = 0; _local5 = -1; _local6 = 0; while (_local6 < _local3.length) { _local7 = _local3[_local6]; _local8 = _local3[((_local6 + 1) % _local3.length)]; _local9 = _local3[((_local6 + 2) % _local3.length)]; _local10 = false; _local11 = 0; while (_local11 < _local3.length) { if ((((((_local3[_local11] == _local7)) || ((_local3[_local11] == _local8)))) || ((_local3[_local11] == _local9)))){ } else { if (Geometry.pointInsideTriangle(_local7, _local8, _local9, _local3[_local11])){ _local10 = true; break; }; }; _local11++; }; if (_local10){ } else { _local12 = Math.atan2((_local8.y - _local7.y), (_local8.x - _local7.x)); _local13 = Math.atan2((_local9.y - _local8.y), (_local9.x - _local8.x)); _local14 = (_local13 - _local12); while (_local14 < -(Math.PI)) { _local14 = (_local14 + (Math.PI * 2)); }; while (_local14 > Math.PI) { _local14 = (_local14 - (Math.PI * 2)); }; if (_local14 > _local4){ _local4 = _local14; _local5 = _local6; }; }; _local6++; }; if (_local5 == -1){ break; }; _local7 = _local3[_local5]; _local8 = _local3[((_local5 + 1) % _local3.length)]; _local9 = _local3[((_local5 + 2) % _local3.length)]; .push(([_local7, _local8, _local9])); _local3.splice(((_local5 + 1) % _local3.length), 1); }; .push((_local3)); } else { if (shapeID == 6){ _local15 = new b2PolygonDef(); _local15.SetAsOrientedBox(0.5, 0.5, new b2Vec2((5 / 30), (5 / 30)), 0); _local15.density = this.density; _local15.restitution = 0.4; _local15.friction = 1; .push(solidBody.CreateShape(_local15)); }; if (shapeID == 7){ _local16 = new b2PolygonDef(); _local16.SetAsOrientedBox(1, 1, new b2Vec2((0 / 30), (-10 / 30)), 0); _local16.density = this.density; _local16.restitution = 0.4; _local16.friction = 1; .push(solidBody.CreateShape(_local16)); }; }; if ((((((material == METAL)) || ((material == WHEELBLOCKR)))) || ((material == WHEELBLOCKL)))){ _local17 = 0; _local17 = 0; while (_local17 < .length) { _local1 = new b2CircleDef(); _local1.radius = (1.5 / 30); _local1.localPosition = [_local17]; _local1.isSensor = true; solidBody.CreateShape(_local1); _local17++; }; }; if (((!(scenery)) && (!((material == WEIGHTLESS))))){ solidBody.SetMassFromShapes(); }; if (position){ solidBody.SetXForm(position, rotation); }; if (velocity){ solidBody.SetLinearVelocity(velocity); solidBody.SetAngularVelocity(); }; (); } else { _local2 = new b2BodyDef(); _local2.userData = {block:this}; solidBody = .CreateBody(_local2); _local1 = new b2CircleDef(); _local1.radius = (1 / 30); _local1.localPosition = new b2Vec2(0, 0); _local1.isSensor = true; solidBody.CreateShape(_local1); sprite = new MovieClip(); elementClip = new PreDefinedBlocks(); elementClip.gotoAndStop((this.preDefinedBlockID + 1)); sprite.addChild(elementClip); animClip = elementClip; = 0; = 0; if (position){ solidBody.SetXForm(position, rotation); }; updateBitmap(); container.addChild(sprite); }; solidBody.GetUserData().block = true; solidBody.GetUserData().magnetic = this.magnetic; solidBody.GetUserData().material = this.material; solidBody.GetUserData().preDefinedBlock = this.preDefinedBlock; solidBody.GetUserData().preDefinedBlockID = this.preDefinedBlockID; solidBody.GetUserData().scenery = this.scenery; solidBody.GetUserData().blockRef = this; solidBody.GetUserData().looseJoint = null; solidBody.GetUserData().circuitElement = false; } function (){ var _local1:b2BodyDef; var _local2:MovieClip; var _local3:b2Body; var _local4:b2CircleDef; var _local5:b2Vec2; var _local6:Object; _local1 = new b2BodyDef(); _local2 = new CannonBall(); _local1.userData = _local2; _local1.userData.blockRef = this; _local1.userData.smackable = true; _local3 = .CreateBody(_local1); _local4 = new b2CircleDef(); _local4.radius = 0.5; _local4.localPosition = new b2Vec2(0, 0); _local4.density = CANNONBALLMASS; _local3.CreateShape(_local4); _local3.SetMassFromShapes(); switch (){ case 1: _local5 = new b2Vec2((solidBody.GetWorldCenter().x + 1.5), (solidBody.GetWorldCenter().y - 0.3)); _local3.SetXForm(_local5, 0); _local3.ApplyImpulse(new b2Vec2(CANNONBALLPOWER, 0), _local3.GetWorldCenter()); break; case 2: _local5 = new b2Vec2((solidBody.GetWorldCenter().x + 0.3), (solidBody.GetWorldCenter().y - 1.5)); _local3.SetXForm(_local5, 0); _local3.ApplyImpulse(new b2Vec2(0, -(CANNONBALLPOWER)), _local3.GetWorldCenter()); break; case 3: _local5 = new b2Vec2((solidBody.GetWorldCenter().x - 1.5), (solidBody.GetWorldCenter().y - 0.3)); _local3.SetXForm(_local5, 0); _local3.ApplyImpulse(new b2Vec2(-(CANNONBALLPOWER), 0), _local3.GetWorldCenter()); break; case 4: _local5 = new b2Vec2((solidBody.GetWorldCenter().x + 0.3), (solidBody.GetWorldCenter().y + 1.5)); _local3.SetXForm(_local5, 0); _local3.ApplyImpulse(new b2Vec2(0, CANNONBALLPOWER), _local3.GetWorldCenter()); break; }; container.addChild(_local2); container.setChildIndex(_local2, 0); _local6 = new Object(); _local6.clip = _local2; _local6.physObject = _local3; _local2.x = (_local3.GetPosition().x * 30); _local2.y = (_local3.GetPosition().y * 30); _local2.isCannonBall = true; _local2.hasHit = false; _local2.hitFrames = 0; .push(_local6); touchingWater = false; BlockEditor.shakeTheScreen(5); NitromeGame.sound_manager.playSound("cannon"); } function whiteOut(){ var _local1:b2MassData; var _local2:b2Shape; whitingOut = true; _local1 = new b2MassData(); _local1.mass = 0; solidBody.SetMass(_local1); _local2 = solidBody.GetShapeList(); while (_local2) { _local2.m_isSensor = true; _local2 = _local2.GetNext(); }; } public function localToGlobal(_arg1:b2Vec2):b2Vec2{ if (!solidBody){ return (new b2Vec2((_arg1.x * 30), (_arg1.y * 30))); }; return (solidBody.GetWorldPoint(_arg1)); } public function (_arg1:b2Vec2):b2Vec2{ return (solidBody.GetLocalPoint(_arg1)); } public function ():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:MovieClip; var _local5:Sprite; var _local6:Boolean; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:MovieClip; var _local11:*; var _local12:Bitmap; if (.length < 3){ = null; return; }; _local1 = Infinity; _local2 = -(Infinity); _local3 = 0; while (_local3 < .length) { if ([_local3].x < _local1){ _local1 = [_local3].x; }; if ([_local3].x > _local2){ _local2 = [_local3].x; }; _local3++; }; _local1 = (_local1 * 30); _local2 = (_local2 * 30); _local4 = new MovieClip(); _local4.graphics.clear(); _local5 = new Sprite(); _local5.graphics.clear(); _local6 = false; if (!sceneryElement){ if (!preDefinedBlock){ if (texture){ _local4.graphics.beginBitmapFill(texture); } else { _local4.graphics.beginFill(6303386, 0.75); }; _local4.graphics.moveTo(([0].x * 30), ([0].y * 30)); _local3 = 1; while (_local3 < .length) { _local4.graphics.lineTo(([_local3].x * 30), ([_local3].y * 30)); _local3++; }; _local4.graphics.endFill(); } else { elementClip = new PreDefinedBlocks(); elementClip.gotoAndStop((this.preDefinedBlockID + 1)); _local4.addChild(elementClip); _local6 = true; }; } else { elementClip = new GamePieces(); if ((((this. == 1)) || ((this. == 2)))){ elementClip.head.gotoAndStop(( + (4 * (this. - 1)))); } else { if (this. == 5){ elementClip.head.gotoAndStop(( + 8)); } else { elementClip.gotoAndStop(this.); }; }; _local4.addChild(elementClip); _local6 = true; }; _local7 = ( ) ? : 0; = (_local4.getBounds(_local4).left - _local7); = (_local4.getBounds(_local4).top - _local7); if (!_local6){ _local8 = Math.ceil((_local4.width + (_local7 * 2))); _local9 = Math.ceil((_local4.height + (_local7 * 2))); if (_local8 < 1){ _local8 = 1; }; if (_local9 < 1){ _local9 = 1; }; = new BitmapData(_local8, _local9, true, 0); .draw(_local4, new Matrix(1, 0, 0, 1, -(), -())); if (material == NODRAG){ = 51; }; if (((((scenery) && (!(sceneryElement)))) && (!((material == WATER))))){ if (material != DEADZONE){ .applyFilter(, new Rectangle(0, 0, .width, .height), new Point(), new GlowFilter(4294954137, 0.3, 20, 20, 3, 1, true, false)); } else { .applyFilter(, new Rectangle(0, 0, .width, .height), new Point(), new GlowFilter(4285699071, 0.5, 20, 20, 3, 1, true, false)); }; .applyFilter(, new Rectangle(0, 0, .width, .height), new Point(), new GlowFilter(, 1, 2, 2, 10, 1, true)); }; if ( ){ .applyFilter(, new Rectangle(0, 0, .width, .height), new Point(), new GlowFilter(, 1, ( * 2), ( * 2), 2, 1)); }; if (((((magnetic) && (!(sceneryElement)))) && (!(preDefinedBlock)))){ .applyFilter(, new Rectangle(0, 0, .width, .height), new Point(), new GlowFilter(4294901760, 0.3, 20, 20, 3, 1, true, false)); }; sprite = new MovieClip(); sprite.addChild(new Bitmap(, "auto", true)); } else { sprite = new MovieClip(); _local4.x = -(); _local4.y = -(); sprite.addChild(_local4); animClip = elementClip; }; if ((((((((material == METAL)) && (!(sceneryElement)))) && (!(isTesla)))) && (!( )))){ _local5.graphics.beginFill(0xFFFFFF); _local5.graphics.moveTo(([0].x * 30), ([0].y * 30)); _local3 = 1; while (_local3 < .length) { _local5.graphics.lineTo(([_local3].x * 30), ([_local3].y * 30)); _local3++; }; _local5.graphics.endFill(); sprite.addChild(_local5); _local5.x = -(); _local5.y = -(); _local10 = new Shine(); _local11 = new BitmapData(_local10.width, _local10.height, true, 0); _local11.draw(_local10, new Matrix(1, 0, 0, 1, (_local10.width / 2), (_local10.height / 2))); = new Sprite(); _local12 = new Bitmap(_local11, "auto", true); _local12.x = (-(_local10.width) / 2); _local12.y = (-(_local10.height) / 2); .addChild(_local12); .blendMode = BlendMode.OVERLAY; sprite.addChild( ); .mask = _local5; }; updateBitmap(); if (material == NODRAG){ sprite.alpha = 0.5; sprite.blendMode = BlendMode.OVERLAY; }; container.addChild(sprite); } public function (_arg1:b2Vec2, _arg2:b2Vec2):Array{ return (null); } public function ():b2AABB{ var _local1:b2AABB; var _local2:Number; var _local3:b2Vec2; if (.length < 1){ return (null); }; _local1 = new b2AABB(); _local2 = 0; while (_local2 < .length) { _local3 = [_local2]; if (_local2 == 0){ _local1.lowerBound.Set(_local3.x, _local3.y); _local1.upperBound.Set(_local3.x, _local3.y); } else { if (_local3.x < _local1.lowerBound.x){ _local1.lowerBound.x = _local3.x; }; if (_local3.x > _local1.upperBound.x){ _local1.upperBound.x = _local3.x; }; if (_local3.y < _local1.lowerBound.y){ _local1.lowerBound.y = _local3.y; }; if (_local3.y > _local1.upperBound.y){ _local1.upperBound.y = _local3.y; }; }; _local2++; }; return (_local1); } function setSceneryElement(_arg1:Boolean, _arg2:Number, _arg3:int=1){ this.sceneryElement = _arg1; this. = _arg2; this. = _arg3; } public function addVertex(_arg1:b2Vec2, _arg2:Boolean=true):void{ .push(_arg1.Copy()); .push(_arg2); } function setMaterial(_arg1:Number, _arg2:Boolean, _arg3:Boolean, _arg4:Boolean=false){ this.material = _arg1; this.magnetic = _arg2; this.scenery = _arg3; this.heavy = _arg4; this.density = 0.5; if ((((_arg1 == WHEELBLOCKL)) || ((_arg1 == WHEELBLOCKR)))){ this.density = 1.3; }; if (_arg1 == WEIGHTLESS){ this.density = 0; }; if (_arg1 == BALLOON){ this.density = 3.5; }; if (_arg1 == RATTLER){ this.material = METAL; = true; isTesla = false; isHeavy = false; this.density = 0.5; }; if (_arg1 == TESLA){ this.material = METAL; isTesla = true; isHeavy = false; = false; this.density = 0.5; }; if (_arg1 == HEAVY){ this.material = WOOD; this.density = 3; isHeavy = true; = false; isTesla = false; }; if (_arg1 == SCREW){ this.density = 0; }; } function deleteFromWorld(){ var _local1:int; if ((() && ((.length > 0)))){ _local1 = 0; while (_local1 < .length) { .DestroyBody([_local1].physObject); container.removeChild([_local1].clip); _local1++; }; }; .DestroyBody(this.solidBody); container.removeChild(this.sprite); } public function insertVertex(_arg1:Number, _arg2:b2Vec2, _arg3:Boolean=true):void{ .splice(_arg1, 0, _arg2); .splice(_arg1, 0, _arg3); } private function (_arg1:Array):b2PolygonShape{ var _local2:b2PolygonDef; _local2 = new b2PolygonDef(); _local2.vertexCount = _arg1.length; _local2.vertices = _arg1.slice(); _local2.density = this.density; _local2.restitution = 0.4; if (((!((material == WHEELBLOCKR))) && (!((material == WHEELBLOCKL))))){ _local2.friction = 1; } else { _local2.friction = 0.3; }; if ((((material == WATER)) || ((material == NODRAG)))){ _local2.isSensor = true; }; if (sceneryElement){ _local2.isSensor = LevelElementDefs.sensor[( - 1)]; }; return ((solidBody.CreateShape(_local2) as b2PolygonShape)); } public function (_arg1:b2Vec2):b2Vec2{ var _local2:b2Vec2; if (!solidBody){ return (new b2Vec2((_arg1.x * 30), (_arg1.y * 30))); }; _local2 = solidBody.GetWorldPoint(new b2Vec2(_arg1.x, _arg1.y)); _local2.x = (_local2.x * 30); _local2.y = (_local2.y * 30); return (_local2); } public function ():void{ if (((sprite) && (sprite.parent))){ sprite.parent.removeChild(sprite); }; if (){ .dispose(); }; = null; sprite = null; } } }//package com.nitrome.balancerSection 80//BlockDrawer (com.nitrome.balancer.BlockDrawer) package com.nitrome.balancer { import fl.controls.*; import flash.display.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import flash.events.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; import com.nitrome.util.*; import flash.geom.*; import flash.net.*; import flash.external.*; public class BlockDrawer extends MovieClip { public var node:blockNode; public var saveLibrary_button:Button; public var metalCheck:CheckBox; public var saveEditedBlock_button:Button; var blockdefs_data:String;// = "<BalanceBlockLibrary><NumBlocks data="36"/><BlockDef_1 data="-60,-10,60,-10,60,20,-60,20"/><BlockDef_2 data="-30,-40,30,-40,30,-10,60,-10,60,20,0,20,0,-10,-30,-10"/><BlockDef_3 data="0,-10,0,-40,60,-40,60,-10,30,-10,30,20,-30,20,-30,-10"/><BlockDef_4 data="-30,-20,60,-20,60,10,30,10,30,40,0,40,0,10,-30,10"/><BlockDef_5 data="-30,-20,30,-20,30,-50,60,-50,60,-20,60,10,-30,10"/><BlockDef_6 data="-30,-20,-30,-50,0,-50,0,-20,60,-20,60,10,-30,10"/><BlockDef_7 data="-10,-10,20,-10,20,20,-10,20"/><BlockDef_8 data="-30,-40,30,-40,30,20,-30,20"/><BlockDef_9 data="30,-10,30,20,0,20"/><BlockDef_10 data="60,-40,60,50,-30,50"/><BlockDef_11 data="40,-20,40,30,-10,30"/><BlockDef_12 data="50,-20,50,40,-10,40"/><BlockDef_13 data="0,-30,0,0,30,0,30,-30,60,-30,60,30,-30,30,-30,-30"/><BlockDef_14 data="0,0,0,-30,30,-30,30,0,60,0,60,30,30,30,30,60,0,60,0,30,-30,30,-30,0"/><BlockDef_15 data="-30,-30,90,-30,90,30,60,30,60,60,30,60,30,30,-30,30"/><BlockDef_16 data="-30,-30,90,-30,90,30,30,30,30,60,0,60,0,30,-30,30"/><BlockDef_17 data="-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,30,30,30,60,0,60,0,30,-60,30"/><BlockDef_18 data="-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,60,30,60,60,30,60,30,30,-60,30"/><BlockDef_19 data="-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,0,30,0,60,-30,60,-30,30,-60,30"/><BlockDef_20 data="-10,-50,20,-50,20,40,50,40,50,70,-40,70,-40,40,-10,40"/><BlockDef_21 data="-40,-50,50,-50,50,40,-40,40"/><BlockDef_22 data="-40,-50,40,-50,40,20,-40,20"/><BlockDef_23 data="-20,-20,20,-20,20,20,-20,20"/><BlockDef_24 data="-60,-70,60,-70,60,50,-60,50"/><BlockDef_25 data="-20,-30,30,-30,40,20,-30,20"/><BlockDef_26 data="-120,-10,120,-10,120,20,-120,20"/><BlockDef_27 data="-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,-60,30"/><BlockDef_28 data="-60,-60,-30,-60,-30,0,30,0,30,-60,60,-60,60,30,-60,30"/><BlockDef_29 data="-30,-70,30,-70,30,20,-30,20"/><BlockDef_30 data="-20,-20,50,-20,50,30,-20,30"/><BlockDef_31 data="-30,-40,30,-40,30,0,-10,0,-10,30,-30,30"/><BlockDef_32 data="-30,-40,30,-40,30,30,-30,30"/><BlockDef_33 data="-30,-40,-10,-40,-10,10,0,10,0,-10,10,-10,10,10,20,10,20,-40,40,-40,40,30,-30,30"/><BlockDef_34 data="-30,-40,30,-40,30,-20,-10,-20,-10,-10,30,-10,30,0,-10,0,-10,10,30,10,30,30,-30,30"/><BlockDef_35 data="-30,-40,30,-40,30,0,20,0,20,20,30,20,30,30,0,30,0,0,-10,0,-10,30,-30,30"/><BlockDef_36 data="-30,-30,-10,-30,-10,20,10,20,10,-30,30,-30,30,40,-30,40"/></BalanceBlockLibrary>" var preDefinedBlock:Boolean;// = false var pointList:Array; public var heavyCheck:CheckBox; public var shapeClip:MovieClip; var lastSelectedShape:Number; public var viewLibrary_button:Button; public var addToLibrary_button:Button; public var magCheck:CheckBox; public var editLevel_button:Button; public var rememberLevel_button:Button; var lastClosestNode:int; var preDefinedBlockID:Number;// = 0 var mode; var shapeLibrary:Array; public var blockScroller:UIScrollBar; static var MOVINGNODE = 1; static var LIBRARY = 2; static var WAITING = 0; public function BlockDrawer(){ blockdefs_data = "<BalanceBlockLibrary><NumBlocks data=\"36\"/><BlockDef_1 data=\"-60,-10,60,-10,60,20,-60,20\"/><BlockDef_2 data=\"-30,-40,30,-40,30,-10,60,-10,60,20,0,20,0,-10,-30,-10\"/><BlockDef_3 data=\"0,-10,0,-40,60,-40,60,-10,30,-10,30,20,-30,20,-30,-10\"/><BlockDef_4 data=\"-30,-20,60,-20,60,10,30,10,30,40,0,40,0,10,-30,10\"/><BlockDef_5 data=\"-30,-20,30,-20,30,-50,60,-50,60,-20,60,10,-30,10\"/><BlockDef_6 data=\"-30,-20,-30,-50,0,-50,0,-20,60,-20,60,10,-30,10\"/><BlockDef_7 data=\"-10,-10,20,-10,20,20,-10,20\"/><BlockDef_8 data=\"-30,-40,30,-40,30,20,-30,20\"/><BlockDef_9 data=\"30,-10,30,20,0,20\"/><BlockDef_10 data=\"60,-40,60,50,-30,50\"/><BlockDef_11 data=\"40,-20,40,30,-10,30\"/><BlockDef_12 data=\"50,-20,50,40,-10,40\"/><BlockDef_13 data=\"0,-30,0,0,30,0,30,-30,60,-30,60,30,-30,30,-30,-30\"/><BlockDef_14 data=\"0,0,0,-30,30,-30,30,0,60,0,60,30,30,30,30,60,0,60,0,30,-30,30,-30,0\"/><BlockDef_15 data=\"-30,-30,90,-30,90,30,60,30,60,60,30,60,30,30,-30,30\"/><BlockDef_16 data=\"-30,-30,90,-30,90,30,30,30,30,60,0,60,0,30,-30,30\"/><BlockDef_17 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,30,30,30,60,0,60,0,30,-60,30\"/><BlockDef_18 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,60,30,60,60,30,60,30,30,-60,30\"/><BlockDef_19 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,0,30,0,60,-30,60,-30,30,-60,30\"/><BlockDef_20 data=\"-10,-50,20,-50,20,40,50,40,50,70,-40,70,-40,40,-10,40\"/><BlockDef_21 data=\"-40,-50,50,-50,50,40,-40,40\"/><BlockDef_22 data=\"-40,-50,40,-50,40,20,-40,20\"/><BlockDef_23 data=\"-20,-20,20,-20,20,20,-20,20\"/><BlockDef_24 data=\"-60,-70,60,-70,60,50,-60,50\"/><BlockDef_25 data=\"-20,-30,30,-30,40,20,-30,20\"/><BlockDef_26 data=\"-120,-10,120,-10,120,20,-120,20\"/><BlockDef_27 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,-60,30\"/><BlockDef_28 data=\"-60,-60,-30,-60,-30,0,30,0,30,-60,60,-60,60,30,-60,30\"/><BlockDef_29 data=\"-30,-70,30,-70,30,20,-30,20\"/><BlockDef_30 data=\"-20,-20,50,-20,50,30,-20,30\"/><BlockDef_31 data=\"-30,-40,30,-40,30,0,-10,0,-10,30,-30,30\"/><BlockDef_32 data=\"-30,-40,30,-40,30,30,-30,30\"/><BlockDef_33 data=\"-30,-40,-10,-40,-10,10,0,10,0,-10,10,-10,10,10,20,10,20,-40,40,-40,40,30,-30,30\"/><BlockDef_34 data=\"-30,-40,30,-40,30,-20,-10,-20,-10,-10,30,-10,30,0,-10,0,-10,10,30,10,30,30,-30,30\"/><BlockDef_35 data=\"-30,-40,30,-40,30,0,20,0,20,20,30,20,30,30,0,30,0,0,-10,0,-10,30,-30,30\"/><BlockDef_36 data=\"-30,-30,-10,-30,-10,20,10,20,10,-30,30,-30,30,40,-30,40\"/></BalanceBlockLibrary>"; preDefinedBlock = false; preDefinedBlockID = 0; mode = WAITING; super(); addFrameScript(0, frame1); clearPointList(); shapeLibrary = new Array(); lastSelectedShape = -1; addToLibrary_button.addEventListener(MouseEvent.CLICK, ); viewLibrary_button.addEventListener(MouseEvent.CLICK, ); saveEditedBlock_button.addEventListener(MouseEvent.CLICK, ); saveLibrary_button.addEventListener(MouseEvent.CLICK, ); readLibraryFromFile(); (); (); (); (); (); (); (); (); (); } function (){ try { heavyCheck["componentInspectorSetting"] = true; } catch(e:Error) { }; heavyCheck.enabled = true; heavyCheck.label = "heavy"; heavyCheck.labelPlacement = "right"; heavyCheck.selected = false; heavyCheck.visible = true; try { heavyCheck["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ var _local1:*; var _local2:int; var _local3:*; if (((!((mode == LIBRARY))) && (!(preDefinedBlock)))){ _local1 = new Array(); _local2 = 0; while (_local2 < pointList.length) { _local3 = new Point(); _local3.x = pointList[_local2].x; _local3.y = pointList[_local2].y; _local1.push(_local3); _local2++; }; shapeLibrary.push(_local1); }; } function (){ try { metalCheck["componentInspectorSetting"] = true; } catch(e:Error) { }; metalCheck.enabled = true; metalCheck.label = "metal"; metalCheck.labelPlacement = "right"; metalCheck.selected = false; metalCheck.visible = true; try { metalCheck["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { editLevel_button["componentInspectorSetting"] = true; } catch(e:Error) { }; editLevel_button.emphasized = false; editLevel_button.enabled = true; editLevel_button.label = "Edit Level"; editLevel_button.labelPlacement = "right"; editLevel_button.selected = false; editLevel_button.toggle = false; editLevel_button.visible = true; try { editLevel_button["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame1(){ stop(); } function findEquivilentPreDefinedBlock_2(_arg1:Number, _arg2:Boolean){ var _local3:int; if (!preDefinedBlock){ _local3 = 0; while (_local3 < LevelElementDefs.ALLBLOCKS.length) { if (LevelElementDefs.ALLBLOCKS[_local3][0] == lastSelectedShape){ if (LevelElementDefs.ALLBLOCKS[_local3][1] == _arg1){ if (_arg2 == LevelElementDefs.ALLBLOCKS[_local3][2]){ selectPreDefinedBlock(_local3); break; }; }; }; _local3++; }; }; } function (_arg1:Event):void{ var _local2:String; var _local3:Number; var _local4:Number; var _local5:String; _local2 = ""; _local2 = (_local2 + "<BalanceBlockLibrary>\n"); _local2 = (_local2 + (("<NumBlocks data=\"" + shapeLibrary.length) + "\"/>\n")); _local3 = 0; while (_local3 < shapeLibrary.length) { _local2 = (_local2 + (("<BlockDef_" + (_local3 + 1)) + " data=\"")); _local4 = 0; while (_local4 < shapeLibrary[_local3].length) { if (_local4 > 0){ _local2 = (_local2 + ","); }; _local2 = (_local2 + shapeLibrary[_local3][_local4].x); _local2 = (_local2 + ("," + shapeLibrary[_local3][_local4].y)); _local4++; }; _local2 = (_local2 + "\"/>\n"); _local3++; }; _local2 = (_local2 + "</BalanceBlockLibrary>\n"); _local5 = loaderInfo.url; _local5 = _local5.substring(0, _local5.lastIndexOf("/")); _local5 = (_local5 + "/blockdefs.xml"); ExternalInterface.call("saveFile", _local5, _local2, true); } function (_arg1:Event):void{ var _local2:*; var _local3:int; var _local4:*; if (((!((mode == LIBRARY))) && (!(preDefinedBlock)))){ _local2 = new Array(); _local3 = 0; while (_local3 < pointList.length) { _local4 = new Point(); _local4.x = pointList[_local3].x; _local4.y = pointList[_local3].y; _local2.push(_local4); _local3++; }; shapeLibrary[lastSelectedShape] = _local2; mode = LIBRARY; selectBlock(lastSelectedShape); }; } function clearPointList(){ preDefinedBlock = false; pointList = new Array(); this["shapeClip"].graphics.clear(); pointList.push(new Point(-20, -20)); pointList.push(new Point(20, -20)); pointList.push(new Point(20, 20)); pointList.push(new Point(-20, 20)); redraw(this["shapeClip"], pointList, Infinity); } function showClosestNode(_arg1:Number, _arg2:Number){ var _local3:uint; var _local4:*; if (((!((mode == LIBRARY))) && (!(preDefinedBlock)))){ _arg1 = (_arg1 - this.x); _arg2 = (_arg2 - this.y); switch (mode){ case WAITING: _local4 = -1; _local3 = 0; while (_local3 < pointList.length) { if ((((Math.abs((_arg1 - pointList[_local3].x)) <= 5)) && ((Math.abs((_arg2 - pointList[_local3].y)) <= 5)))){ _local4 = _local3; break; }; _local3++; }; if (_local4 == -1){ hideNodeDisplay(); } else { this["node"].visible = true; this["node"].x = pointList[_local4].x; this["node"].y = pointList[_local4].y; }; lastClosestNode = _local4; break; case MOVINGNODE: if (lastClosestNode != -1){ this["node"].visible = true; this["node"].x = _arg1; this["node"].y = _arg2; pointList[lastClosestNode].x = (_arg1 - (_arg1 % 10)); pointList[lastClosestNode].y = (_arg2 - (_arg2 % 10)); redraw(this["shapeClip"], pointList, Infinity); }; break; }; }; } function xmlBlocksLoaded():void{ var _local1:*; var _local2:*; var _local3:XML; var _local4:Number; var _local5:Array; var _local6:Point; var _local7:Array; _local1 = 0; _local2 = 0; _local3 = new XML(); _local3 = new XML(blockdefs_data); _local4 = Number(_local3["NumBlocks"].@data); _local1 = 0; while (_local1 < _local4) { _local5 = _local3[("BlockDef_" + (_local1 + 1))].@data.split(","); _local7 = new Array(); _local2 = 0; while (_local2 < _local5.length) { _local6 = new Point(_local5[_local2], _local5[(_local2 + 1)]); _local7.push(_local6); _local2 = (_local2 + 2); }; shapeLibrary.push(_local7); _local1++; }; } function (_arg1:Event):void{ (); } function (){ try { saveEditedBlock_button["componentInspectorSetting"] = true; } catch(e:Error) { }; saveEditedBlock_button.emphasized = false; saveEditedBlock_button.enabled = true; saveEditedBlock_button.label = "Save Changes"; saveEditedBlock_button.labelPlacement = "right"; saveEditedBlock_button.selected = false; saveEditedBlock_button.toggle = false; saveEditedBlock_button.visible = true; try { saveEditedBlock_button["componentInspectorSetting"] = false; } catch(e:Error) { }; } function selectBlock(_arg1){ var _local2:int; var _local3:*; lastSelectedShape = _arg1; pointList = new Array(); this["shapeClip"].graphics.clear(); _local2 = 0; while (_local2 < shapeLibrary[_arg1].length) { _local3 = new Point(shapeLibrary[_arg1][_local2].x, shapeLibrary[_arg1][_local2].y); pointList.push(_local3); _local2++; }; preDefinedBlock = false; (); } function (){ var _local1:*; var _local2:*; if (mode == LIBRARY){ (); gotoAndStop(1); mode = WAITING; if (preDefinedBlock){ _local1 = new PreDefinedBlocks(); _local1.gotoAndStop((preDefinedBlockID + 1)); this["shapeClip"].addChild(_local1); } else { redraw(this["shapeClip"], pointList, Infinity); }; if (lastSelectedShape != -1){ _local2 = new MovieClip(); redraw(_local2, shapeLibrary[lastSelectedShape], 0xFF0000); shapeClip.addChild(_local2); _local2.x = -280; _local2.y = 0; }; this["shapeClip"].y = 0; this["shapeClip"].x = 0; this["blockScroller"].x = -500; } else { (); shapeClip.graphics.clear(); (); gotoAndStop(2); mode = LIBRARY; this["blockScroller"].setScrollProperties(this["shapeClip"].height, 0, (this["shapeClip"].y + this["shapeClip"].getBounds(this["shapeClip"]).bottom)); this["blockScroller"].x = 215; this["shapeClip"].x = -110; }; } function (_arg1:Event):void{ (); } function stopDraggingNode(){ if (((!((mode == LIBRARY))) && (!(preDefinedBlock)))){ mode = WAITING; }; } function (){ try { magCheck["componentInspectorSetting"] = true; } catch(e:Error) { }; magCheck.enabled = true; magCheck.label = "sticky"; magCheck.labelPlacement = "right"; magCheck.selected = false; magCheck.visible = true; try { magCheck["componentInspectorSetting"] = false; } catch(e:Error) { }; } function deleteVertex(){ if (((!((mode == LIBRARY))) && (!(preDefinedBlock)))){ if (((!((lastClosestNode == -1))) && ((pointList.length > 3)))){ pointList.splice(lastClosestNode, 1); hideNodeDisplay(); redraw(this["shapeClip"], pointList, Infinity); }; }; } function (){ try { addToLibrary_button["componentInspectorSetting"] = true; } catch(e:Error) { }; addToLibrary_button.emphasized = false; addToLibrary_button.enabled = true; addToLibrary_button.label = "Add To Library"; addToLibrary_button.labelPlacement = "right"; addToLibrary_button.selected = false; addToLibrary_button.toggle = false; addToLibrary_button.visible = true; try { addToLibrary_button["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { rememberLevel_button["componentInspectorSetting"] = true; } catch(e:Error) { }; rememberLevel_button.emphasized = false; rememberLevel_button.enabled = true; rememberLevel_button.label = "Remember Layout"; rememberLevel_button.labelPlacement = "right"; rememberLevel_button.selected = false; rememberLevel_button.toggle = false; rememberLevel_button.visible = true; try { rememberLevel_button["componentInspectorSetting"] = false; } catch(e:Error) { }; } function selectFromLibraryClicked(_arg1:Event):void{ selectBlock(_arg1.target.libraryID); } function (_arg1:int, _arg2:int){ var _local3:*; if (((!((mode == LIBRARY))) && (!(preDefinedBlock)))){ _arg1 = (_arg1 - this.x); _arg2 = (_arg2 - this.y); _local3 = new Point(_arg1, _arg2); pointList.push(_local3); }; } function startDraggingNode(){ if (((!((mode == LIBRARY))) && (!(preDefinedBlock)))){ if (lastClosestNode != -1){ mode = MOVINGNODE; return (true); }; mode = WAITING; return (false); }; } function (){ var _local1:MovieClip; _local1 = this["shapeClip"]; while (_local1.numChildren > 0) { _local1.removeChildAt(0); }; } function (){ var _local1:int; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:MovieClip; _local2 = -10000; _local3 = -60; _local4 = 0; _local5 = 0; _local1 = 0; while (_local1 < LevelElementDefs.ALLBLOCKS.length) { _local6 = new PreDefinedBlocks(); _local6.gotoAndStop((_local1 + 1)); this["shapeClip"].addChild(_local6); if (_local2 == -10000){ _local2 = -265; _local2 = (_local2 - _local6.getBounds(_local6).left); } else { _local2 = (_local2 + _local4); _local2 = (_local2 - _local6.getBounds(_local6).left); if ((_local6.getBounds(_local6).right + _local2) > 275){ _local2 = -265; _local2 = (_local2 - _local6.getBounds(_local6).left); _local3 = (_local3 + (_local5 + 10)); _local5 = 0; }; }; _local4 = _local6.width; if (_local6.height > _local5){ _local5 = _local6.height; }; _local6.x = _local2; _local6.y = (_local3 - _local6.getBounds(_local6).top); _local6.libraryID = _local1; _local6.addEventListener(MouseEvent.CLICK, ); _local1++; }; _local2 = -10000; _local3 = (_local3 + _local5); _local1 = 0; while (_local1 < this.shapeLibrary.length) { _local6 = new MovieClip(); this["shapeClip"].addChild(redraw(_local6, shapeLibrary[_local1], Infinity)); if (_local2 == -10000){ _local2 = -265; _local2 = (_local2 - _local6.getBounds(_local6).left); } else { _local2 = (_local2 + _local4); _local2 = (_local2 - _local6.getBounds(_local6).left); if ((_local6.getBounds(_local6).right + _local2) > 275){ _local2 = -265; _local2 = (_local2 - _local6.getBounds(_local6).left); _local3 = (_local3 + (_local5 + 10)); _local5 = 0; }; }; _local4 = _local6.width; if (_local6.height > _local5){ _local5 = _local6.height; }; _local6.x = _local2; _local6.y = (_local3 - _local6.getBounds(_local6).top); _local6.libraryID = _local1; _local6.addEventListener(MouseEvent.CLICK, selectFromLibraryClicked); _local1++; }; } function (){ try { viewLibrary_button["componentInspectorSetting"] = true; } catch(e:Error) { }; viewLibrary_button.emphasized = false; viewLibrary_button.enabled = true; viewLibrary_button.label = "View Library"; viewLibrary_button.labelPlacement = "right"; viewLibrary_button.selected = false; viewLibrary_button.toggle = false; viewLibrary_button.visible = true; try { viewLibrary_button["componentInspectorSetting"] = false; } catch(e:Error) { }; } function readLibraryFromFile(){ xmlBlocksLoaded(); } function selectPreDefinedBlock(_arg1){ var _local2:int; var _local3:Number; var _local4:*; lastSelectedShape = LevelElementDefs.ALLBLOCKS[_arg1][0]; pointList = new Array(); this["shapeClip"].graphics.clear(); _local2 = 0; while (_local2 < shapeLibrary[lastSelectedShape].length) { _local4 = new Point(shapeLibrary[lastSelectedShape][_local2].x, shapeLibrary[lastSelectedShape][_local2].y); pointList.push(_local4); _local2++; }; preDefinedBlock = true; preDefinedBlockID = _arg1; _local3 = LevelElementDefs.ALLBLOCKS[_arg1][1]; if (_local3 == Block.METAL){ metalCheck.selected = true; } else { metalCheck.selected = false; }; magCheck.selected = LevelElementDefs.ALLBLOCKS[_arg1][2]; (); } function findEquivilentPreDefinedBlock(){ var _local1:int; if (!preDefinedBlock){ _local1 = 0; while (_local1 < LevelElementDefs.ALLBLOCKS.length) { if (LevelElementDefs.ALLBLOCKS[_local1][0] == lastSelectedShape){ if (((((metalCheck.selected) && ((LevelElementDefs.ALLBLOCKS[_local1][1] == Block.METAL)))) || (((!(metalCheck.selected)) && ((LevelElementDefs.ALLBLOCKS[_local1][1] == Block.WOOD)))))){ if (magCheck.selected == LevelElementDefs.ALLBLOCKS[_local1][2]){ selectPreDefinedBlock(_local1); break; }; }; }; _local1++; }; }; } function insertVertex(_arg1:Number, _arg2:Number){ var _local3:b2Vec2; var _local4:int; var _local5:b2Vec2; var _local6:b2Vec2; var _local7:b2Vec2; var _local8:Point; if (((!((mode == LIBRARY))) && (!(preDefinedBlock)))){ _local3 = new b2Vec2((_arg1 - this.x), (_arg2 - this.y)); _local4 = 0; while (_local4 < pointList.length) { _local5 = new b2Vec2(pointList[_local4].x, pointList[_local4].y); _local6 = new b2Vec2(pointList[((_local4 + 1) % pointList.length)].x, pointList[((_local4 + 1) % pointList.length)].y); if (Geometry.squareDistancePointToSegment(_local5, _local6, _local3) < (10 * 10)){ _local7 = Geometry.nearestPointOnSegment(_local5, _local6, _local3); _local8 = new Point(_local7.x, _local7.y); pointList.splice((_local4 + 1), 0, _local8); showClosestNode(_arg1, _arg2); startDraggingNode(); return; }; _local4++; }; }; } function hideNodeDisplay(){ if (((!((mode == LIBRARY))) && (!(preDefinedBlock)))){ this["node"].visible = false; }; } function (){ try { saveLibrary_button["componentInspectorSetting"] = true; } catch(e:Error) { }; saveLibrary_button.emphasized = false; saveLibrary_button.enabled = true; saveLibrary_button.label = "Save Library"; saveLibrary_button.labelPlacement = "right"; saveLibrary_button.selected = false; saveLibrary_button.toggle = false; saveLibrary_button.visible = true; try { saveLibrary_button["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (_arg1:Event):void{ selectPreDefinedBlock(_arg1.currentTarget.libraryID); } function redraw(_arg1:MovieClip, _arg2:Array, _arg3:Number, _arg4:Number=0.5):MovieClip{ var _local5:int; while (_arg1.numChildren > 0) { _arg1.removeChildAt(0); }; if (_arg3 == Infinity){ _arg3 = 1193046; }; _arg1.graphics.clear(); _arg1.graphics.beginFill(_arg3, _arg4); _arg1.graphics.moveTo(_arg2[0].x, _arg2[0].y); _local5 = 1; while (_local5 < _arg2.length) { _arg1.graphics.lineTo(_arg2[_local5].x, _arg2[_local5].y); _local5++; }; _arg1.graphics.endFill(); _arg1.graphics.lineStyle(4, 0xFF0000, 1); _local5 = 0; while (_local5 < _arg2.length) { _arg1.graphics.moveTo((_arg2[_local5].x - 1), (_arg2[_local5].y - 1)); _arg1.graphics.lineTo((_arg2[_local5].x + 1), (_arg2[_local5].y + 1)); _local5++; }; return (_arg1); } } }//package com.nitrome.balancerSection 81//BlockDrawer_game (com.nitrome.balancer.BlockDrawer_game) package com.nitrome.balancer { import fl.controls.*; import flash.display.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; import flash.geom.*; import flash.net.*; public class BlockDrawer_game extends MovieClip { public var metalCheck:CheckBox; var pointList:Array; var preDefinedBlock:Boolean;// = false var blockdefs_data:String;// = "<BalanceBlockLibrary><NumBlocks data="36"/><BlockDef_1 data="-60,-10,60,-10,60,20,-60,20"/><BlockDef_2 data="-30,-40,30,-40,30,-10,60,-10,60,20,0,20,0,-10,-30,-10"/><BlockDef_3 data="0,-10,0,-40,60,-40,60,-10,30,-10,30,20,-30,20,-30,-10"/><BlockDef_4 data="-30,-20,60,-20,60,10,30,10,30,40,0,40,0,10,-30,10"/><BlockDef_5 data="-30,-20,30,-20,30,-50,60,-50,60,-20,60,10,-30,10"/><BlockDef_6 data="-30,-20,-30,-50,0,-50,0,-20,60,-20,60,10,-30,10"/><BlockDef_7 data="-10,-10,20,-10,20,20,-10,20"/><BlockDef_8 data="-30,-40,30,-40,30,20,-30,20"/><BlockDef_9 data="30,-10,30,20,0,20"/><BlockDef_10 data="60,-40,60,50,-30,50"/><BlockDef_11 data="40,-20,40,30,-10,30"/><BlockDef_12 data="50,-20,50,40,-10,40"/><BlockDef_13 data="0,-30,0,0,30,0,30,-30,60,-30,60,30,-30,30,-30,-30"/><BlockDef_14 data="0,0,0,-30,30,-30,30,0,60,0,60,30,30,30,30,60,0,60,0,30,-30,30,-30,0"/><BlockDef_15 data="-30,-30,90,-30,90,30,60,30,60,60,30,60,30,30,-30,30"/><BlockDef_16 data="-30,-30,90,-30,90,30,30,30,30,60,0,60,0,30,-30,30"/><BlockDef_17 data="-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,30,30,30,60,0,60,0,30,-60,30"/><BlockDef_18 data="-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,60,30,60,60,30,60,30,30,-60,30"/><BlockDef_19 data="-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,0,30,0,60,-30,60,-30,30,-60,30"/><BlockDef_20 data="-10,-50,20,-50,20,40,50,40,50,70,-40,70,-40,40,-10,40"/><BlockDef_21 data="-40,-50,50,-50,50,40,-40,40"/><BlockDef_22 data="-40,-50,40,-50,40,20,-40,20"/><BlockDef_23 data="-20,-20,20,-20,20,20,-20,20"/><BlockDef_24 data="-60,-70,60,-70,60,50,-60,50"/><BlockDef_25 data="-20,-30,30,-30,40,20,-30,20"/><BlockDef_26 data="-120,-10,120,-10,120,20,-120,20"/><BlockDef_27 data="-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,-60,30"/><BlockDef_28 data="-60,-60,-30,-60,-30,0,30,0,30,-60,60,-60,60,30,-60,30"/><BlockDef_29 data="-30,-70,30,-70,30,20,-30,20"/><BlockDef_30 data="-20,-20,50,-20,50,30,-20,30"/><BlockDef_31 data="-30,-40,30,-40,30,0,-10,0,-10,30,-30,30"/><BlockDef_32 data="-30,-40,30,-40,30,30,-30,30"/><BlockDef_33 data="-30,-40,-10,-40,-10,10,0,10,0,-10,10,-10,10,10,20,10,20,-40,40,-40,40,30,-30,30"/><BlockDef_34 data="-30,-40,30,-40,30,-20,-10,-20,-10,-10,30,-10,30,0,-10,0,-10,10,30,10,30,30,-30,30"/><BlockDef_35 data="-30,-40,30,-40,30,0,20,0,20,20,30,20,30,30,0,30,0,0,-10,0,-10,30,-30,30"/><BlockDef_36 data="-30,-30,-10,-30,-10,20,10,20,10,-30,30,-30,30,40,-30,40"/></BalanceBlockLibrary>" public var magCheck:CheckBox; public var heavyCheck:CheckBox; var lastClosestNode:int; var preDefinedBlockID:Number;// = 0 var mode; var lastSelectedShape:Number; var shapeLibrary:Array; static var MOVINGNODE = 1; static var LIBRARY = 2; static var WAITING = 0; public function BlockDrawer_game(){ preDefinedBlock = false; preDefinedBlockID = 0; mode = WAITING; blockdefs_data = "<BalanceBlockLibrary><NumBlocks data=\"36\"/><BlockDef_1 data=\"-60,-10,60,-10,60,20,-60,20\"/><BlockDef_2 data=\"-30,-40,30,-40,30,-10,60,-10,60,20,0,20,0,-10,-30,-10\"/><BlockDef_3 data=\"0,-10,0,-40,60,-40,60,-10,30,-10,30,20,-30,20,-30,-10\"/><BlockDef_4 data=\"-30,-20,60,-20,60,10,30,10,30,40,0,40,0,10,-30,10\"/><BlockDef_5 data=\"-30,-20,30,-20,30,-50,60,-50,60,-20,60,10,-30,10\"/><BlockDef_6 data=\"-30,-20,-30,-50,0,-50,0,-20,60,-20,60,10,-30,10\"/><BlockDef_7 data=\"-10,-10,20,-10,20,20,-10,20\"/><BlockDef_8 data=\"-30,-40,30,-40,30,20,-30,20\"/><BlockDef_9 data=\"30,-10,30,20,0,20\"/><BlockDef_10 data=\"60,-40,60,50,-30,50\"/><BlockDef_11 data=\"40,-20,40,30,-10,30\"/><BlockDef_12 data=\"50,-20,50,40,-10,40\"/><BlockDef_13 data=\"0,-30,0,0,30,0,30,-30,60,-30,60,30,-30,30,-30,-30\"/><BlockDef_14 data=\"0,0,0,-30,30,-30,30,0,60,0,60,30,30,30,30,60,0,60,0,30,-30,30,-30,0\"/><BlockDef_15 data=\"-30,-30,90,-30,90,30,60,30,60,60,30,60,30,30,-30,30\"/><BlockDef_16 data=\"-30,-30,90,-30,90,30,30,30,30,60,0,60,0,30,-30,30\"/><BlockDef_17 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,30,30,30,60,0,60,0,30,-60,30\"/><BlockDef_18 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,60,30,60,60,30,60,30,30,-60,30\"/><BlockDef_19 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,0,30,0,60,-30,60,-30,30,-60,30\"/><BlockDef_20 data=\"-10,-50,20,-50,20,40,50,40,50,70,-40,70,-40,40,-10,40\"/><BlockDef_21 data=\"-40,-50,50,-50,50,40,-40,40\"/><BlockDef_22 data=\"-40,-50,40,-50,40,20,-40,20\"/><BlockDef_23 data=\"-20,-20,20,-20,20,20,-20,20\"/><BlockDef_24 data=\"-60,-70,60,-70,60,50,-60,50\"/><BlockDef_25 data=\"-20,-30,30,-30,40,20,-30,20\"/><BlockDef_26 data=\"-120,-10,120,-10,120,20,-120,20\"/><BlockDef_27 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,-60,30\"/><BlockDef_28 data=\"-60,-60,-30,-60,-30,0,30,0,30,-60,60,-60,60,30,-60,30\"/><BlockDef_29 data=\"-30,-70,30,-70,30,20,-30,20\"/><BlockDef_30 data=\"-20,-20,50,-20,50,30,-20,30\"/><BlockDef_31 data=\"-30,-40,30,-40,30,0,-10,0,-10,30,-30,30\"/><BlockDef_32 data=\"-30,-40,30,-40,30,30,-30,30\"/><BlockDef_33 data=\"-30,-40,-10,-40,-10,10,0,10,0,-10,10,-10,10,10,20,10,20,-40,40,-40,40,30,-30,30\"/><BlockDef_34 data=\"-30,-40,30,-40,30,-20,-10,-20,-10,-10,30,-10,30,0,-10,0,-10,10,30,10,30,30,-30,30\"/><BlockDef_35 data=\"-30,-40,30,-40,30,0,20,0,20,20,30,20,30,30,0,30,0,0,-10,0,-10,30,-30,30\"/><BlockDef_36 data=\"-30,-30,-10,-30,-10,20,10,20,10,-30,30,-30,30,40,-30,40\"/></BalanceBlockLibrary>"; super(); addFrameScript(0, frame1); clearPointList(); shapeLibrary = new Array(); lastSelectedShape = -1; readLibraryFromFile(); (); (); (); } function selectBlock(_arg1){ var _local2:int; var _local3:*; lastSelectedShape = _arg1; pointList = new Array(); _local2 = 0; while (_local2 < shapeLibrary[_arg1].length) { _local3 = new Point(shapeLibrary[_arg1][_local2].x, shapeLibrary[_arg1][_local2].y); pointList.push(_local3); _local2++; }; preDefinedBlock = false; } function frame1(){ stop(); } function (){ try { magCheck["componentInspectorSetting"] = true; } catch(e:Error) { }; magCheck.enabled = true; magCheck.label = "sticky"; magCheck.labelPlacement = "right"; magCheck.selected = false; magCheck.visible = true; try { magCheck["componentInspectorSetting"] = false; } catch(e:Error) { }; } function clearPointList(){ preDefinedBlock = false; pointList = new Array(); pointList.push(new Point(-20, -20)); pointList.push(new Point(20, -20)); pointList.push(new Point(20, 20)); pointList.push(new Point(-20, 20)); } function (){ try { metalCheck["componentInspectorSetting"] = true; } catch(e:Error) { }; metalCheck.enabled = true; metalCheck.label = "metal"; metalCheck.labelPlacement = "right"; metalCheck.selected = false; metalCheck.visible = true; try { metalCheck["componentInspectorSetting"] = false; } catch(e:Error) { }; } function selectPreDefinedBlock(_arg1){ var _local2:int; var _local3:Number; var _local4:*; lastSelectedShape = LevelElementDefs.ALLBLOCKS[_arg1][0]; pointList = new Array(); _local2 = 0; while (_local2 < shapeLibrary[lastSelectedShape].length) { _local4 = new Point(shapeLibrary[lastSelectedShape][_local2].x, shapeLibrary[lastSelectedShape][_local2].y); pointList.push(_local4); _local2++; }; preDefinedBlock = true; preDefinedBlockID = _arg1; _local3 = LevelElementDefs.ALLBLOCKS[_arg1][1]; if (_local3 == Block.METAL){ metalCheck.selected = true; } else { metalCheck.selected = false; }; magCheck.selected = LevelElementDefs.ALLBLOCKS[_arg1][2]; } function findEquivilentPreDefinedBlock(){ var _local1:int; if (!preDefinedBlock){ _local1 = 0; while (_local1 < LevelElementDefs.ALLBLOCKS.length) { if (LevelElementDefs.ALLBLOCKS[_local1][0] == lastSelectedShape){ if (((((metalCheck.selected) && ((LevelElementDefs.ALLBLOCKS[_local1][1] == Block.METAL)))) || (((!(metalCheck.selected)) && ((LevelElementDefs.ALLBLOCKS[_local1][1] == Block.WOOD)))))){ if (magCheck.selected == LevelElementDefs.ALLBLOCKS[_local1][2]){ selectPreDefinedBlock(_local1); break; }; }; }; _local1++; }; }; } function readLibraryFromFile(){ xmlBlocksLoaded(); } function (){ try { heavyCheck["componentInspectorSetting"] = true; } catch(e:Error) { }; heavyCheck.enabled = true; heavyCheck.label = "heavy"; heavyCheck.labelPlacement = "right"; heavyCheck.selected = false; heavyCheck.visible = true; try { heavyCheck["componentInspectorSetting"] = false; } catch(e:Error) { }; } function xmlBlocksLoaded():void{ var _local1:*; var _local2:*; var _local3:XML; var _local4:Number; var _local5:Array; var _local6:Point; var _local7:Array; _local1 = 0; _local2 = 0; _local3 = new XML(); _local3 = new XML(blockdefs_data); _local4 = Number(_local3["NumBlocks"].@data); _local1 = 0; while (_local1 < _local4) { _local5 = _local3[("BlockDef_" + (_local1 + 1))].@data.split(","); _local7 = new Array(); _local2 = 0; while (_local2 < _local5.length) { _local6 = new Point(_local5[_local2], _local5[(_local2 + 1)]); _local7.push(_local6); _local2 = (_local2 + 2); }; shapeLibrary.push(_local7); _local1++; }; } } }//package com.nitrome.balancerSection 82//BlockEditor (com.nitrome.balancer.BlockEditor) package com.nitrome.balancer { import flash.display.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import flash.events.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; import com.boristhebrave.Box2D.Controllers.*; import General.*; import com.nitrome.util.*; import flash.geom.*; public class BlockEditor { var shakeXOff:Number;// = 0 public var m_physScale:Number;// = 30 var container:MovieClip; var fishes:Array; var chests:Array; var helpSigns:Array; var chestDisplay:ChestDisplay; var draggingBlockRotation:Number; var screws:Array; var cannons:Array; var paused:Boolean;// = false var waterAreas:Array; public var m_bomb:b2Body; var sparks:Array; var mousePressed:Boolean;// = false public var m_world:b2World; public var m_iterations:int;// = 12 public var m_timeStep:Number;// = 0.0333333333333333 var shortCircuit:Boolean;// = false var blockList:Array; var openChest:Boolean;// = false var shortedBody:b2Body; var circuitCompleted:Boolean;// = false var endElementBody:b2Body; var chestClicked:Block; var shakeYOff:Number;// = 0 var chestClosing:Boolean;// = false public var m_mouseJoint:b2MouseJoint; var startElementBody:b2Body; var teslaBlocks:Array; public var m_input:Input; static var blockBeingDragged:Block; static var CHESTOPENFRAME:Number = 10; static var persistantContacts:Array; static var deadZones:Array; static var wheelBlocksToMove:Array; public static var mouseYWorldPhys:Number; static var newContacts:Array; static var metalJoints:Array; public static var mouseYWorld:Number; static var looseJoints:Array; public static var mouseXWorldPhys:Number; static var rootLine:MovieClip; static var screenShake:Number = 0; static var draggingBlock:Boolean = false; public static var mouseXWorld:Number; public function BlockEditor(_arg1:MovieClip){ var _local2:b2AABB; var _local3:b2Vec2; var _local4:Boolean; var _local5:ContactListener_editor2; m_iterations = 12; m_timeStep = (1 / 30); m_physScale = 30; mousePressed = false; paused = false; circuitCompleted = false; shortCircuit = false; openChest = false; chestClosing = false; shakeXOff = 0; shakeYOff = 0; super(); rootLine = _arg1; _local2 = new b2AABB(); _local2.lowerBound.Set(-1000, -1000); _local2.upperBound.Set(1000, 1000); _local3 = new b2Vec2(0, 10); _local4 = true; m_world = new b2World(_local2, _local3, _local4); m_input = new Input(rootLine); blockList = new Array(); rootLine["shadowBlock"].setBlockDrawer(rootLine["blockDrawer"]); rootLine["shadowBlock"].visible = false; newContacts = new Array(); looseJoints = new Array(); persistantContacts = new Array(); metalJoints = new Array(); sparks = new Array(); wheelBlocksToMove = new Array(); chests = new Array(); screws = new Array(); addScenery(); _local5 = new ContactListener_editor2(); m_world.(_local5); addInitialBlocks(); fillChest(); rootLine.blockDrawer.editLevel_button.addEventListener(MouseEvent.CLICK, ); rootLine.blockDrawer.rememberLevel_button.addEventListener(MouseEvent.CLICK, ); rootLine.addEventListener(Event.ENTER_FRAME, update, false, 0, true); } function updateFishes(){ var _local1:int; _local1 = 0; while (_local1 < fishes.length) { fishes[_local1].fish.update(circuitCompleted); _local1++; }; } function initFishes(){ var _local1:int; var _local2:int; _local1 = 0; while (_local1 < fishes.length) { _local2 = 0; while (_local2 < waterAreas.length) { if (fishes[_local1].hitTestObject(waterAreas[_local2].sprite)){ fishes[_local1].water = waterAreas[_local2]; break; }; _local2++; }; _local1++; }; } function killBlocks(){ var _local1:int; var _local2:b2ContactEdge; if (deadZones.length > 0){ _local1 = 0; while (_local1 < deadZones.length) { _local2 = deadZones[_local1].solidBody.m_contactList; while (_local2) { if (((_local2.contact) && ((_local2.contact.m_manifoldCount > 0)))){ if (((!(_local2.other.GetUserData().scenery)) && (!(_local2.other.GetUserData().sceneryElement)))){ if (((!((_local2.other.GetUserData().material == Block.ANTIDEAD))) && (!(_local2.other.GetUserData().whitingOut)))){ if (((draggingBlock) && ((_local2.other.GetUserData().blockRef == blockBeingDragged)))){ dropBlock(); }; putBackInChest(_local2.other.GetUserData().blockRef); }; }; }; _local2 = _local2.next; }; _local1++; }; }; } function offscreen(_arg1:DisplayObject):Boolean{ if ((((((((_arg1.x < (rootLine.myLevelEditor.scrollEdges[3] - 150))) || ((_arg1.y < (rootLine.myLevelEditor.scrollEdges[0] - 150))))) || ((_arg1.x > (rootLine.myLevelEditor.scrollEdges[1] + 150))))) || ((_arg1.y > (rootLine.myLevelEditor.scrollEdges[2] + 150))))){ return (true); }; return (false); } function scrollDown(){ rootLine["testArea"].y = (rootLine["testArea"].y - 4); rootLine["landClip"].y = (rootLine["landClip"].y - 4); rootLine["waterClip"].y = (rootLine["waterClip"].y - 4); rootLine["debugArea"].y = (rootLine["debugArea"].y - 4); rootLine["stamps0"].y = (rootLine["stamps0"].y - 4); rootLine["stamps1"].y = (rootLine["stamps1"].y - 4); rootLine["stamps2"].y = (rootLine["stamps2"].y - 4); rootLine["levelElementsLayer"].y = (rootLine["levelElementsLayer"].y - 4); rootLine["sparksLayer"].y = (rootLine["sparksLayer"].y - 4); rootLine["signsLayer"].y = (rootLine["signsLayer"].y - 4); rootLine["noDragLayer"].y = (rootLine["noDragLayer"].y - 4); rootLine.hills.y = (rootLine.hills.y - 2); rootLine.sea.y = (rootLine.sea.y - 1); rootLine.sky.y = (rootLine.sky.y - 1); } function (_arg1:Number, _arg2:Number){ var _local3:int; var _local4:Block; var _local5:Number; rootLine.blockDrawer.findEquivilentPreDefinedBlock(); _arg1 = (_arg1 - rootLine.testArea.x); _arg2 = (_arg2 - rootLine.testArea.y); if (((rootLine.blockDrawer.preDefinedBlock) && ((LevelElementDefs.ALLBLOCKS[rootLine.blockDrawer.preDefinedBlockID][1] == Block.SCREW)))){ _local4 = new Block(this.m_world, rootLine.levelElementsLayer); } else { _local4 = new Block(this.m_world, rootLine.testArea); }; _local4.shapeID = rootLine.blockDrawer.lastSelectedShape; _local3 = 0; while (_local3 < rootLine["blockDrawer"].pointList.length) { _local4.addVertex(new b2Vec2((rootLine["blockDrawer"].pointList[_local3].x / 30), (rootLine["blockDrawer"].pointList[_local3].y / 30))); _local3++; }; _local4.rotation = ((rootLine["shadowBlock"].rotation * Math.PI) / 180); _local4.position = new b2Vec2((_arg1 / 30), (_arg2 / 30)); _local5 = 0; if (rootLine.blockDrawer["metalCheck"].selected){ _local5 = 1; }; if (!rootLine.blockDrawer.preDefinedBlock){ _local4.setMaterial(_local5, rootLine.blockDrawer["magCheck"].selected, false, rootLine.blockDrawer["heavyCheck"].selected); } else { _local4.setMaterial(LevelElementDefs.ALLBLOCKS[rootLine.blockDrawer.preDefinedBlockID][1], rootLine.blockDrawer["magCheck"].selected, false, rootLine.blockDrawer["heavyCheck"].selected); }; _local4.preDefinedBlock = rootLine.blockDrawer.preDefinedBlock; _local4.preDefinedBlockID = rootLine.blockDrawer.preDefinedBlockID; _local4.solidify(); _local4.solidBody.GetUserData().shapeID = rootLine.blockDrawer.lastSelectedShape; blockList.push(_local4); bottomDepth(_local4); if (_local4.material == Block.SCREW){ screws.push(_local4); }; } function (_arg1:Event):void{ rootLine.gotoAndStop("editLevel"); rootLine.myLevelEditor.resumeEditing(); } function (_arg1:Event):void{ rootLine.myLevelEditor.rememberBlocks(blockList); } function (){ var _local1:*; var _local2:b2Body; var _local3:b2Body; _local1 = 0; while (_local1 < blockList.length) { blockList[_local1].deleteFromWorld(); _local1++; }; blockList = new Array(); looseJoints = new Array(); sparks = new Array(); chests = new Array(); screws = new Array(); _local2 = m_world.m_bodyList; while (_local2) { _local3 = _local2; _local2 = _local2.m_next; m_world.DestroyBody(_local3); }; while (rootLine.waterClip.numChildren > 0) { rootLine.waterClip.removeChildAt(0); }; while (rootLine.landClip.numChildren > 0) { rootLine.landClip.removeChildAt(0); }; while (rootLine.stamps0.numChildren > 0) { rootLine.stamps0.removeChildAt(0); }; while (rootLine.stamps1.numChildren > 0) { rootLine.stamps1.removeChildAt(0); }; while (rootLine.stamps2.numChildren > 0) { rootLine.stamps2.removeChildAt(0); }; while (rootLine.sparksLayer.numChildren > 0) { rootLine.sparksLayer.removeChildAt(0); }; while (rootLine.noDragLayer.numChildren > 0) { rootLine.noDragLayer.removeChildAt(0); }; while (rootLine.levelElementsLayer.numChildren > 0) { rootLine.levelElementsLayer.removeChildAt(0); }; while (rootLine.testArea.numChildren > 0) { rootLine.testArea.removeChildAt(0); }; while (rootLine.signsLayer.numChildren > 0) { rootLine.signsLayer.removeChildAt(0); }; } function dragThisBlock(_arg1:Block){ var _local2:b2JointEdge; var _local3:b2MouseJointDef; var _local4:b2MassData; if (_arg1.screwed){ _arg1.theScrew.screwed = false; _arg1.theScrew.theScrew = null; _arg1.theScrew.solidBody.SetMassFromShapes(); _arg1.screwed = false; _arg1.theScrew = null; _arg1.solidBody.SetMassFromShapes(); }; draggingBlock = true; blockBeingDragged = _arg1; spliceOutLooseJoints(_arg1.solidBody); _local2 = _arg1.solidBody.GetJointList(); while (_local2) { m_world.DestroyJoint(_local2.joint); _local2 = _local2.next; }; if (_arg1.solidBody.GetMass() == 0){ _local4 = new b2MassData(); _local4.mass = 5; _arg1.solidBody.SetMass(_local4); }; _local3 = new b2MouseJointDef(); _local3.body1 = _arg1.solidBody; _local3.body2 = _arg1.solidBody; _local3.target.Set(mouseXWorldPhys, mouseYWorldPhys); _local3.maxForce = 450; _local3.timeStep = m_timeStep; m_mouseJoint = (m_world.CreateJoint(_local3) as b2MouseJoint); _arg1.solidBody.WakeUp(); draggingBlockRotation = _arg1.solidBody.GetAngle(); } public function unpause(){ rootLine["shadowBlock"].setBlockDrawer(rootLine["blockDrawer"]); addScenery(); addInitialBlocks(); fillChest(); this.paused = false; } function fillChest(){ var _local1:int; chestDisplay.emptyOut(); _local1 = 0; while (_local1 < rootLine.levelBlocks.levelBlocks.length) { chestDisplay.addLevelBlock(rootLine.levelBlocks.levelBlocks[_local1].shapeID, rootLine.levelBlocks.levelBlocks[_local1].material, rootLine.levelBlocks.levelBlocks[_local1].sticky, rootLine.levelBlocks.levelBlocks[_local1].preDefinedBlock, rootLine.levelBlocks.levelBlocks[_local1].preDefinedBlockID, rootLine.levelBlocks.levelBlocks[_local1].rotation); _local1++; }; chestDisplay.gameClass = this; } function isCircuitComplete(){ var _local1:Boolean; var _local2:Number; var _local3:b2JointEdge; var _local4:b2Body; var _local5:b2Body; var _local6:Array; var _local7:b2ContactEdge; var _local8:int; var _local9:b2Vec2; var _local10:int; var _local11:Number; var _local12:Number; var _local13:b2Vec2; var _local14:Number; var _local15:Spark; _local1 = false; _local2 = 0; _local6 = new Array(); shortCircuit = false; if (((startElementBody) && (endElementBody))){ endElementBody.GetUserData().circuitElement = false; startElementBody.GetUserData().circuitElement = true; _local6.push(startElementBody); while (!(_local1)) { _local1 = true; _local5 = m_world.m_bodyList; while (_local5) { if (((_local5) && (_local5.GetUserData()))){ _local5.GetUserData().tested = true; if (_local5.GetUserData().circuitElement){ _local7 = _local5.m_contactList; while (_local7) { if (((_local7.contact) && ((_local7.contact.m_manifoldCount > 0)))){ if ((((((_local7.other.GetUserData().material == Block.METAL)) || ((_local7.other.GetUserData().material == Block.WATER)))) && ((_local7.other.GetUserData().circuitElement == false)))){ if ((((_local7.other.GetUserData().material == Block.WATER)) || (((draggingBlock) && ((blockBeingDragged == _local7.other.GetUserData().blockRef)))))){ shortCircuit = true; shortedBody = _local5; _local7.other.GetUserData().blockRef.electrified = true; if (notInPath(_local5, _local6)){ _local6.push(_local5); }; break; } else { if (notInPath(_local5, _local6)){ _local6.push(_local5); }; if (notInPath(_local7.other, _local6)){ _local6.push(_local7.other); }; _local7.other.GetUserData().circuitElement = true; _local5.GetUserData().circuitElement = true; _local1 = false; _local2++; }; }; }; _local7 = _local7.next; }; _local8 = 0; while (_local8 < teslaBlocks.length) { if (teslaBlocks[_local8].solidBody.GetUserData().circuitElement){ _local9 = new b2Vec2(teslaBlocks[_local8].solidBody.GetWorldCenter().x, teslaBlocks[_local8].solidBody.GetWorldCenter().y); _local11 = _local8; _local12 = Infinity; _local10 = 0; while (_local10 < teslaBlocks.length) { if (((!((_local10 == _local8))) && ((teslaBlocks[_local10].solidBody.GetUserData().circuitElement == false)))){ _local13 = new b2Vec2(teslaBlocks[_local10].solidBody.GetWorldCenter().x, teslaBlocks[_local10].solidBody.GetWorldCenter().y); _local13.Subtract(_local9); _local14 = Math.abs(_local13.Length()); if (_local14 <= LevelElementDefs.TESLADISTANCE){ if (_local14 < _local12){ _local12 = _local14; _local11 = _local10; }; }; }; _local10++; }; if (_local11 != _local8){ teslaBlocks[_local11].solidBody.GetUserData().circuitElement = true; _local1 = false; if (notInPath(teslaBlocks[_local11].solidBody, _local6)){ _local6.push(teslaBlocks[_local11].solidBody); teslaBlocks[_local11].sprite.alpha = 0.5; }; }; }; _local8++; }; _local3 = _local5.GetJointList(); while (_local3) { _local4 = _local3.other; if (((_local4.GetUserData()) && (!((_local4.GetUserData().circuitElement == null))))){ if ((((_local4.GetUserData().material == Block.METAL)) && ((((_local4.GetUserData().circuitElement == false)) || ((((_local5.GetUserData().circuitElement == false)) && ((_local4.GetUserData().circuitElement == true)))))))){ _local4.GetUserData().circuitElement = true; _local1 = false; _local2++; if (notInPath(_local5, _local6)){ _local6.push(_local5); }; if (notInPath(_local4, _local6)){ _local6.push(_local4); }; }; }; _local3 = _local3.next; }; }; }; _local5 = _local5.m_next; }; if (endElementBody.GetUserData().circuitElement == true){ _local1 = true; }; }; if (endElementBody.GetUserData().circuitElement == true){ rootLine.circuitComplete.gotoAndStop(2); circuitCompleted = true; if (Math.random() >= 0.8){ _local15 = new Spark(); while (_local6[(_local6.length - 1)] != endElementBody) { _local6.pop(); }; _local15.setBlockList(_local6); _local15.setWorld(this.m_world); _local15.setStartBlock(this.startElementBody); _local15.setEndBlock(this.endElementBody); _local15.x = (startElementBody.GetWorldCenter().x * 30); _local15.y = (startElementBody.GetWorldCenter().y * 30); _local15.x = (_local15.x + (Math.floor((Math.random() * 10)) - 5)); _local15.y = (_local15.y + (Math.floor((Math.random() * 10)) - 5)); rootLine.sparksLayer.addChild(_local15); sparks.push(_local15); }; } else { rootLine.circuitComplete.gotoAndStop(1); circuitCompleted = false; }; }; if (endElementBody){ if (!circuitCompleted){ endElementBody.GetUserData().blockRef.elementClip.head.endHead.gotoAndStop(1); } else { if (endElementBody.GetUserData().blockRef.elementClip.head.endHead.currentFrame == 1){ } else { if (endElementBody.GetUserData().blockRef.elementClip.head.endHead.currentFrame == 2){ if (endElementBody.GetUserData().blockRef.elementClip.head.endHead.endHead.mouth.currentFrame == 110){ endElementBody.GetUserData().blockRef.elementClip.head.endHead.gotoAndStop(3); }; }; }; }; }; } function update(_arg1:Event):void{ var _local2:Number; var _local3:Number; var _local4:b2JointEdge; var _local5:Number; var _local6:Number; var _local7:b2ContactEdge; var _local8:MovieClip; var _local9:b2PrismaticJointDef; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:b2Vec2; var _local13:Block; var _local14:b2Vec2; var _local15:b2Body; var _local16:b2Vec2; var _local17:b2Vec2; doScreenShake(); if (paused == false){ UpdateMouseWorld(); m_world.Step(m_timeStep, m_iterations); if (newContacts.length >= 1){ joinNewContactedBodies(); }; updateWheelBlocks(); _local5 = 0; teslaBlocks = new Array(); _local6 = (blockList.length - 1); for (;_local6 >= 0;_local6--) { blockList[_local6].updateBitmap(circuitCompleted); if (((((((!((blockList[_local6] == blockBeingDragged))) || (!(draggingBlock)))) && (blockList[_local6].animClip))) && (blockList[_local6].animClip.block))){ blockList[_local6].animClip.block.cogs.stop(); blockList[_local6].animClip.block.frontCogs.stop(); }; if ((((((blockList[_local6] == blockBeingDragged)) && (draggingBlock))) && ((blockList[_local6].material == Block.WEIGHTLESS)))){ blockList[_local6].animClip.block.cogs.play(); blockList[_local6].animClip.block.frontCogs.play(); }; if (blockList[_local6].whitingOut){ if (blockList[_local6].whiteOutAlpha <= 0){ spliceOutLooseJoints(blockList[_local6].solidBody); blockList[_local6].deleteFromWorld(); blockList.splice(_local6, 1); continue; }; } else { if (offscreen(blockList[_local6].sprite)){ if (((draggingBlock) && ((blockBeingDragged == blockList[_local6])))){ dropBlock(); }; putBackInChest(blockList[_local6]); continue; }; }; _local4 = blockList[_local6].solidBody.GetJointList(); while (_local4) { if (Math.abs(_local4.joint.GetReactionTorque()) > 500){ spliceOutLooseJoints(blockList[_local6].solidBody); if (_local4.joint){ m_world.DestroyJoint(_local4.joint); }; }; _local4 = _local4.next; }; blockList[_local6].solidBody.GetUserData().circuitElement = false; blockList[_local6].solidBody.GetUserData().tested = false; if (((blockList[_local6].isTesla) && (((!(draggingBlock)) || (!((blockBeingDragged == blockList[_local6]))))))){ teslaBlocks.push(blockList[_local6]); blockList[_local6].sprite.alpha = 1; }; if (((blockList[_local6].touchingWater) && ((((((!(blockList[_local6].material) == Block.WEIGHTLESS)) && ((!(blockList[_local6].material) == Block.SCREW)))) || (((draggingBlock) && ((blockBeingDragged == blockList[_local6])))))))){ blockList[_local6].touchingWater = false; _local7 = blockList[_local6].solidBody.m_contactList; while (_local7) { if (((_local7.contact) && ((_local7.contact.m_manifoldCount > 0)))){ if (_local7.other.GetUserData().material == Block.WATER){ blockList[_local6].touchingWater = true; break; }; }; _local7 = _local7.next; }; }; }; _local6 = 0; while (_local6 < cannons.length) { cannons[_local6].updateBitmap(); _local6++; }; _local6 = (looseJoints.length - 1); while (_local6 >= 0) { if (((draggingBlock) && ((((looseJoints[_local6].b1 == blockBeingDragged.solidBody)) || ((looseJoints[_local6].b2 == blockBeingDragged.solidBody)))))){ if (looseJoints[_local6].joint){ m_world.DestroyJoint(looseJoints[_local6].joint); }; looseJoints.splice(_local6, 1); } else { if (((((Math.abs((looseJoints[_local6].b1.GetAngle() - looseJoints[_local6].b2.GetAngle())) % ((90 * Math.PI) / 180)) < ((1 * Math.PI) / 180))) && ((looseJoints[_local6].frameCount >= 20)))){ _local9 = new b2PrismaticJointDef(); _local10 = new b2Vec2(1, 0); _local11 = looseJoints[_local6].position; _local9.Initialize(looseJoints[_local6].b1, looseJoints[_local6].b2, _local11, _local10); _local9.enableLimit = true; m_world.CreateJoint(_local9); if (looseJoints[_local6].joint){ m_world.DestroyJoint(looseJoints[_local6].joint); }; looseJoints.splice(_local6, 1); } else { looseJoints[_local6].frameCount++; looseJoints[_local6].sucker.Step(m_timeStep); }; }; _local6--; }; killBlocks(); isCircuitComplete(); updateFishes(); updateElectrifiedWater(); if (sparks.length > 0){ _local6 = (sparks.length - 1); while (_local6 >= 0) { sparks[_local6].update(); if (((!(circuitCompleted)) || (((shortCircuit) && ((sparks[_local6].path[sparks[_local6].positionInPath] == shortedBody)))))){ sparks[_local6].fizzleOut(); }; if (sparks[_local6].live == false){ if (((((circuitCompleted) && (!(shortCircuit)))) && (!(sparks[_local6].dying)))){ if (endElementBody.GetUserData().blockRef.elementClip.head.endHead.currentFrame == 1){ endElementBody.GetUserData().blockRef.elementClip.head.endHead.gotoAndStop(2); }; }; rootLine.sparksLayer.removeChild(sparks[_local6]); sparks.splice(_local6, 1); }; _local6--; }; }; if (!Input.mouseDown){ if (mousePressed){ dropBlock(); if (rootLine["blockDrawer"].hitTestPoint(mouseXWorld, mouseYWorld, true)){ } else { if (Input.isKeyDown(Key.CONTROL)){ (mouseXWorld, mouseYWorld); }; }; rootLine["blockDrawer"].stopDraggingNode(); if (((openChest) && (chestDisplay.hitTestPoint(mouseXWorld, mouseYWorld, true)))){ chestDisplay.unClicked(); }; }; mousePressed = false; if (((rootLine.legalArea.hitTestPoint(mouseXWorld, mouseYWorld, true)) && ((rootLine["blockDrawer"].pointList.length >= 3)))){ if (Input.isKeyDown(Key.CONTROL)){ if (rootLine["shadowBlock"].visible == false){ rootLine["shadowBlock"].x = mouseXWorld; rootLine["shadowBlock"].y = mouseYWorld; }; if ((rootLine["shadowBlock"].x - mouseXWorld) > 30){ rootLine["shadowBlock"].rotation = (rootLine["shadowBlock"].rotation + ((rootLine["shadowBlock"].x - mouseXWorld) / 10)); }; if ((rootLine["shadowBlock"].x - mouseXWorld) < -30){ rootLine["shadowBlock"].rotation = (rootLine["shadowBlock"].rotation + ((rootLine["shadowBlock"].x - mouseXWorld) / 10)); }; rootLine["shadowBlock"].x = (rootLine["shadowBlock"].x - ((rootLine["shadowBlock"].x - mouseXWorld) / 3)); rootLine["shadowBlock"].y = (rootLine["shadowBlock"].y - ((rootLine["shadowBlock"].y - mouseYWorld) / 3)); rootLine["shadowBlock"].visible = true; rootLine["shadowBlock"].redraw(); rootLine["blockDrawer"].hideNodeDisplay(); } else { rootLine["shadowBlock"].visible = false; }; } else { rootLine["shadowBlock"].visible = false; rootLine["shadowBlock"].rotation = 0; rootLine["blockDrawer"].showClosestNode(mouseXWorld, mouseYWorld); }; } else { if (!mousePressed){ if (((openChest) && (!(chestDisplay.hitTestPoint(mouseXWorld, mouseYWorld))))){ openChest = false; chestClosing = true; chestDisplay.closeIt(); _local6 = 0; while (_local6 < chests.length) { if ((((chests[_local6].animClip.chest.currentFrame > 1)) && ((chests[_local6].animClip.chest.currentFrame <= CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("close"); }; _local6++; }; }; if (((openChest) && (chestDisplay.hitTestPoint(mouseXWorld, mouseYWorld, true)))){ chestDisplay.clicked(mouseXWorld, mouseYWorld); }; if (rootLine["blockDrawer"].hitTestPoint(mouseXWorld, mouseYWorld, true)){ if (((!(rootLine["blockDrawer"].startDraggingNode())) && (Input.isKeyDown(Key.CONTROL)))){ rootLine["blockDrawer"].insertVertex(mouseXWorld, mouseYWorld); }; } else { _local12 = new b2Vec2(mouseXWorldPhys, mouseYWorldPhys); _local6 = 0; while (_local6 < screws.length) { if (screws[_local6].sprite.hitTestPoint(mouseXWorld, mouseYWorld, true)){ _local13 = screws[_local6]; break; }; _local6++; }; if (_local13 == null){ _local6 = 0; while (_local6 < blockList.length) { if (blockList[_local6].testPoint(_local12)){ _local13 = blockList[_local6]; break; }; _local6++; }; }; if (((_local13) && (!(_local13.whitingOut)))){ dragThisBlock(_local13); } else { _local6 = 0; while (_local6 < helpSigns.length) { if (helpSigns[_local6].testPoint(_local12)){ showHelpMessage(helpSigns[_local6].solidBody.GetUserData().message); break; }; _local6++; }; if (((!(openChest)) && (!(chestClosing)))){ _local6 = 0; while (_local6 < chests.length) { if (chests[_local6].testPoint(_local12)){ openChest = true; chestClicked = chests[_local6]; _local2 = (chestClicked.sprite.y + chestClicked.sprite.getBounds(chestClicked.sprite).top); _local3 = (chestClicked.sprite.x + chestClicked.sprite.getBounds(chestClicked.sprite).left); _local3 = (_local3 + (chestClicked.sprite.width / 2)); chestDisplay.openIt(chestClicked, _local3, _local2); if ((((chests[_local6].animClip.chest.currentFrame == 1)) || ((chests[_local6].animClip.chest.currentFrame > CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("open"); }; }; _local6++; }; }; }; }; }; chestClosing = false; rootLine["blockDrawer"].showClosestNode(mouseXWorld, mouseYWorld); mousePressed = true; }; if (Input.isKeyPressed(Key.DELETE)){ if (draggingBlock){ _local6 = 0; while (_local6 < blockList.length) { if (blockList[_local6] == blockBeingDragged){ dropBlock(); spliceOutLooseJoints(blockList[_local6].solidBody); blockList[_local6].deleteFromWorld(); blockList.splice(_local6, 1); break; }; _local6++; }; }; rootLine["blockDrawer"].deleteVertex(); }; if (Input.isKeyPressed(Key.C)){ (); addScenery(); }; if (Input.isKeyPressed(Key.R)){ rootLine["blockDrawer"].clearPointList(); }; _local8 = rootLine["shadowBlock"]; rootLine.setChildIndex(_local8, (rootLine.numChildren - 1)); if (m_mouseJoint){ _local14 = new b2Vec2(mouseXWorldPhys, mouseYWorldPhys); m_mouseJoint.SetTarget(_local14); blockBeingDragged.solidBody.GetUserData().blockRef.rattleDelayCount = 0; spliceOutLooseJoints(blockBeingDragged.solidBody); _local4 = blockBeingDragged.solidBody.GetJointList(); while (_local4) { if (_local4.joint != m_mouseJoint){ m_world.DestroyJoint(_local4.joint); }; _local4 = _local4.next; }; blockBeingDragged.solidBody.SetAngularVelocity((blockBeingDragged.solidBody.GetAngularVelocity() / 1.5)); _local7 = blockBeingDragged.solidBody.m_contactList; while (_local7) { if (((_local7.contact) && ((_local7.contact.m_manifoldCount > 0)))){ if (_local7.other.GetUserData().material == Block.NODRAG){ if (_local7.other.GetUserData().blockRef.testPoint(m_mouseJoint.GetAnchor2())){ _local15 = blockBeingDragged.solidBody; blockBeingDragged.solidBody.SetLinearVelocity(_local15.GetLinearVelocity().Negative()); _local15.GetLinearVelocity().Multiply(0.25); _local15.SetAngularVelocity(-(_local15.GetAngularVelocity())); dropBlock(); break; }; }; }; _local7 = _local7.next; }; } else { if (blockBeingDragged){ _local6 = 0; while (_local6 < chests.length) { if (bodyIsTouchingBody(blockBeingDragged.solidBody, chests[_local6].solidBody)){ putBackInChest(blockBeingDragged); if ((((chests[_local6].animClip.chest.currentFrame > 1)) && ((chests[_local6].animClip.chest.currentFrame <= CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("close"); blockBeingDragged = null; }; break; } else { if ((((blockBeingDragged.material == Block.SCREW)) || ((blockBeingDragged.material == Block.WEIGHTLESS)))){ if (chests[_local6].sprite.hitTestObject(blockBeingDragged.sprite)){ putBackInChest(blockBeingDragged); if ((((chests[_local6].animClip.chest.currentFrame > 1)) && ((chests[_local6].animClip.chest.currentFrame <= CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("close"); blockBeingDragged = null; }; break; }; }; }; _local6++; }; }; }; if (blockBeingDragged){ _local16 = blockBeingDragged.solidBody.GetWorldCenter(); _local6 = 0; while (_local6 < chests.length) { _local17 = new b2Vec2(_local16.x, _local16.y); _local17.Subtract(chests[_local6].solidBody.GetWorldCenter()); if (((bodyIsTouchingBody(blockBeingDragged.solidBody, chests[_local6].solidBody)) || ((_local17.Length() <= 5)))){ if ((((chests[_local6].animClip.chest.currentFrame == 1)) || ((chests[_local6].animClip.chest.currentFrame > CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("open"); }; } else { if ((((chests[_local6].animClip.chest.currentFrame > 1)) && ((chests[_local6].animClip.chest.currentFrame <= CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("close"); }; }; _local6++; }; }; if (rootLine.blockDrawer.mode == BlockDrawer.LIBRARY){ rootLine.blockDrawer["shapeClip"].y = -(rootLine.blockDrawer["blockScroller"].scrollPosition); }; if (!openChest){ if (Input.isKeyDown(Key.RIGHT)){ scrollRight(); }; if (Input.isKeyDown(Key.LEFT)){ scrollLeft(); }; if (Input.isKeyDown(Key.UP)){ scrollUp(); }; if (Input.isKeyDown(Key.DOWN)){ scrollDown(); }; }; if (chestClicked != null){ _local2 = (chestClicked.sprite.y + chestClicked.sprite.getBounds(chestClicked.sprite).top); _local2 = (_local2 + rootLine.testArea.y); _local3 = (chestClicked.sprite.x + chestClicked.sprite.getBounds(chestClicked.sprite).left); _local3 = (_local3 + (chestClicked.sprite.width / 2)); _local3 = (_local3 + rootLine.testArea.x); chestDisplay.update(); }; if (openChest){ if (_local2 < 200){ scrollUp(); }; if (_local2 > 350){ scrollDown(); }; if (_local3 < 200){ scrollLeft(); }; if (_local3 > 350){ scrollRight(); }; }; Input.update(); }; } function notInPath(_arg1:b2Body, _arg2:Array):Boolean{ var _local3:int; _local3 = 0; while (_local3 < _arg2.length) { if (_arg2[_local3] == _arg1){ return (false); }; _local3++; }; return (true); } function (){ var _local1:b2GravityController; var _local2:Number; var _local3:Object; var _local4:Number; var _local5:Boolean; var _local6:b2DistanceJointDef; _local2 = 0; _local2 = 0; while (_local2 < persistantContacts.length) { _local1 = new b2GravityController(); _local1.AddBody(persistantContacts[_local2].b1); _local1.AddBody(persistantContacts[_local2].b2); _local1.Step(m_timeStep); _local2++; }; _local4 = 0; _local5 = false; _local2 = (metalJoints.length - 1); while (_local2 >= 0) { if (metalJoints[_local2].joint != null){ if (Math.abs(metalJoints[_local2].joint.GetReactionForce().Length()) > 20){ m_world.DestroyJoint(metalJoints[_local2].joint); metalJoints.splice(_local2, 1); }; } else { metalJoints.splice(_local2, 1); }; _local2--; }; _local2 = 0; while (_local2 < persistantContacts.length) { if (((!((persistantContacts[_local2].b1.GetUserData().material == Block.METAL))) || (!((persistantContacts[_local2].b2.GetUserData().material == Block.METAL))))){ } else { _local5 = false; _local4 = 0; while (_local4 < metalJoints.length) { if ((((((metalJoints[_local4].b1 == persistantContacts[_local2].b1)) || ((metalJoints[_local4].b1 == persistantContacts[_local2].b2)))) && ((((metalJoints[_local4].b2 == persistantContacts[_local2].b1)) || ((metalJoints[_local4].b2 == persistantContacts[_local2].b2)))))){ _local5 = true; break; }; _local4++; }; if (!_local5){ _local3 = new Object(); _local3.b1 = persistantContacts[_local2].b1; _local3.b2 = persistantContacts[_local2].b2; _local6 = new b2DistanceJointDef(); _local6.Initialize(persistantContacts[_local2].b1, persistantContacts[_local2].b2, persistantContacts[_local2].b1.GetWorldCenter(), persistantContacts[_local2].b2.GetWorldCenter()); _local3.joint = m_world.CreateJoint(_local6); metalJoints.push(_local3); }; }; _local2++; }; persistantContacts = new Array(); } function scrollRight(){ rootLine["testArea"].x = (rootLine["testArea"].x - 4); rootLine["landClip"].x = (rootLine["landClip"].x - 4); rootLine["waterClip"].x = (rootLine["waterClip"].x - 4); rootLine["debugArea"].x = (rootLine["debugArea"].x - 4); rootLine["stamps0"].x = (rootLine["stamps0"].x - 4); rootLine["stamps1"].x = (rootLine["stamps1"].x - 4); rootLine["stamps2"].x = (rootLine["stamps2"].x - 4); rootLine["levelElementsLayer"].x = (rootLine["levelElementsLayer"].x - 4); rootLine["sparksLayer"].x = (rootLine["sparksLayer"].x - 4); rootLine["signsLayer"].x = (rootLine["signsLayer"].x - 4); rootLine["noDragLayer"].x = (rootLine["noDragLayer"].x - 4); rootLine.hills.x = (rootLine.hills.x - 3); rootLine.sea.x = (rootLine.sea.x - 1); } function updateWheelBlocks(){ var _local1:int; _local1 = 0; while (_local1 < wheelBlocksToMove.length) { if (wheelBlocksToMove[_local1].b1.GetUserData().material == Block.WHEELBLOCKR){ wheelBlocksToMove[_local1].b1.ApplyForce(new b2Vec2(12, 0), wheelBlocksToMove[_local1].b1.GetWorldCenter()); }; if (wheelBlocksToMove[_local1].b2.GetUserData().material == Block.WHEELBLOCKR){ wheelBlocksToMove[_local1].b2.ApplyForce(new b2Vec2(12, 0), wheelBlocksToMove[_local1].b2.GetWorldCenter()); }; if (wheelBlocksToMove[_local1].b1.GetUserData().material == Block.WHEELBLOCKL){ wheelBlocksToMove[_local1].b1.ApplyForce(new b2Vec2(-12, 0), wheelBlocksToMove[_local1].b1.GetWorldCenter()); }; if (wheelBlocksToMove[_local1].b2.GetUserData().material == Block.WHEELBLOCKL){ wheelBlocksToMove[_local1].b2.ApplyForce(new b2Vec2(-12, 0), wheelBlocksToMove[_local1].b2.GetWorldCenter()); }; _local1++; }; wheelBlocksToMove = new Array(); } function (_arg1:b2Body, _arg2:b2Body, _arg3:Number, _arg4:Number, _arg5:Number){ var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; _local6 = _arg1.GetPosition(); _local7 = _arg2.GetPosition(); _local8 = _local7; _local8.Subtract(_local6); _local9 = _arg1.GetLinearVelocity(); _local10 = _arg2.GetLinearVelocity(); _local11 = _local10; _local11.Subtract(_local9); _local12 = _local8.Normalize(); _local13 = ((_local11.x * _local8.x) + (_local11.y * _local8.y)); _local14 = ((-(_arg3) * (_local12 - _arg5)) - (_arg4 * _local13)); _local8.Multiply(_local14); _arg2.ApplyForce(_local8, _arg1.GetPosition()); _local8.Multiply(-1); _arg1.ApplyForce(_local8, _arg2.GetPosition()); _arg1.WakeUp(); _arg2.WakeUp(); } public function UpdateMouseWorld():void{ mouseXWorldPhys = ((Input.mouseX - rootLine.testArea.x) / m_physScale); mouseYWorldPhys = ((Input.mouseY - rootLine.testArea.y) / m_physScale); mouseXWorld = Input.mouseX; mouseYWorld = Input.mouseY; } function spliceOutLooseJoints(_arg1:b2Body){ var _local2:int; var _local3:b2JointEdge; if (looseJoints.length >= 1){ _local2 = (looseJoints.length - 1); while (_local2 >= 0) { if ((((looseJoints[_local2].b1 == _arg1)) || ((looseJoints[_local2].b2 == _arg1)))){ if (looseJoints[_local2].joint){ m_world.DestroyJoint(looseJoints[_local2].joint); }; looseJoints.splice(_local2, 1); }; _local2--; }; }; } function addInitialBlocks(){ var _local1:int; var _local2:int; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Block; var _local7:b2Vec2; var _local8:Block; var _local9:b2MassData; _local1 = 0; while (_local1 < rootLine.myLevelEditor.blocksInPlay.length) { _local3 = rootLine.myLevelEditor.blocksInPlay[_local1].x; _local4 = rootLine.myLevelEditor.blocksInPlay[_local1].y; _local5 = rootLine.myLevelEditor.blocksInPlay[_local1].rotation; if (!rootLine.myLevelEditor.blocksInPlay[_local1].preDefinedBlock){ rootLine.blockDrawer.selectBlock(rootLine.myLevelEditor.blocksInPlay[_local1].shapeID); rootLine.blockDrawer.findEquivilentPreDefinedBlock_2(rootLine.myLevelEditor.blocksInPlay[_local1].material, rootLine.myLevelEditor.blocksInPlay[_local1].magnetic); } else { rootLine.blockDrawer.selectPreDefinedBlock(rootLine.myLevelEditor.blocksInPlay[_local1].preDefinedBlockID); }; if (((rootLine.blockDrawer.preDefinedBlock) && ((LevelElementDefs.ALLBLOCKS[rootLine.blockDrawer.preDefinedBlockID][1] == Block.SCREW)))){ _local6 = new Block(this.m_world, rootLine.levelElementsLayer); } else { _local6 = new Block(this.m_world, rootLine.testArea); }; _local2 = 0; while (_local2 < rootLine["blockDrawer"].pointList.length) { _local6.addVertex(new b2Vec2((rootLine["blockDrawer"].pointList[_local2].x / 30), (rootLine["blockDrawer"].pointList[_local2].y / 30))); _local2++; }; _local6.rotation = _local5; _local6.position = new b2Vec2(_local3, _local4); _local6.setMaterial(rootLine.myLevelEditor.blocksInPlay[_local1].material, rootLine.myLevelEditor.blocksInPlay[_local1].magnetic, false, false); _local6.preDefinedBlock = rootLine.blockDrawer.preDefinedBlock; _local6.preDefinedBlockID = rootLine.blockDrawer.preDefinedBlockID; _local6.solidify(); _local6.solidBody.GetUserData().shapeID = rootLine.myLevelEditor.blocksInPlay[_local1].shapeID; blockList.push(_local6); if (_local6.material == Block.SCREW){ _local7 = _local6.solidBody.GetPosition(); _local2 = 0; while (_local2 < blockList.length) { if (blockList[_local2].testPoint(_local7)){ _local8 = blockList[_local2]; break; }; _local2++; }; if (_local8){ _local6.screwed = true; _local6.theScrew = _local8; _local8.screwed = true; _local8.theScrew = _local6; _local9 = new b2MassData(); _local9.mass = 0; _local8.solidBody.SetMass(_local9); _local8.solidBody.SetLinearVelocity(new b2Vec2(0, 0)); _local8.solidBody.SetAngularVelocity(0); }; screws.push(_local6); }; _local1++; }; } function updateElectrifiedWater(){ var _local1:int; _local1 = 0; while (_local1 < waterAreas.length) { if (!circuitCompleted){ waterAreas[_local1].electrified = false; }; waterAreas[_local1].updateElectrified(); _local1++; }; } function bottomDepth(_arg1:Block){ if (((((_arg1.isHeavy) || ((_arg1.material == Block.BALLOON)))) || ((_arg1.material == Block.DEADZONE)))){ _arg1.container.setChildIndex(_arg1.sprite, 0); }; } function scrollUp(){ rootLine["testArea"].y = (rootLine["testArea"].y + 4); rootLine["landClip"].y = (rootLine["landClip"].y + 4); rootLine["waterClip"].y = (rootLine["waterClip"].y + 4); rootLine["debugArea"].y = (rootLine["debugArea"].y + 4); rootLine["stamps0"].y = (rootLine["stamps0"].y + 4); rootLine["stamps1"].y = (rootLine["stamps1"].y + 4); rootLine["stamps2"].y = (rootLine["stamps2"].y + 4); rootLine["levelElementsLayer"].y = (rootLine["levelElementsLayer"].y + 4); rootLine["sparksLayer"].y = (rootLine["sparksLayer"].y + 4); rootLine["signsLayer"].y = (rootLine["signsLayer"].y + 4); rootLine["noDragLayer"].y = (rootLine["noDragLayer"].y + 4); rootLine.hills.y = (rootLine.hills.y + 2); rootLine.sea.y = (rootLine.sea.y + 1); rootLine.sky.y = (rootLine.sky.y + 1); } function showHelpMessage(_arg1:String){ rootLine.helpDisplay.helpMessage = _arg1; rootLine.helpDisplay.play(); } function dropBlock(){ var _local1:*; var _local2:b2Vec2; var _local3:Block; var _local4:b2MassData; if (m_mouseJoint){ m_world.DestroyJoint(m_mouseJoint); m_mouseJoint = null; draggingBlock = false; if ((((blockBeingDragged.material == Block.WEIGHTLESS)) || ((blockBeingDragged.material == Block.SCREW)))){ blockBeingDragged.solidBody.SetMassFromShapes(); blockBeingDragged.solidBody.SetLinearVelocity(new b2Vec2(0, 0)); blockBeingDragged.solidBody.SetAngularVelocity(0); if (blockBeingDragged.material == Block.WEIGHTLESS){ shakeTheScreen(5); }; if (blockBeingDragged.material == Block.SCREW){ _local2 = blockBeingDragged.solidBody.GetPosition(); _local1 = 0; while (_local1 < blockList.length) { if (blockList[_local1].testPoint(_local2)){ _local3 = blockList[_local1]; break; }; _local1++; }; if (_local3){ blockBeingDragged.screwed = true; blockBeingDragged.theScrew = _local3; _local3.screwed = true; _local3.theScrew = blockBeingDragged; _local4 = new b2MassData(); _local4.mass = 0; _local3.solidBody.SetMass(_local4); _local3.solidBody.SetLinearVelocity(new b2Vec2(0, 0)); _local3.solidBody.SetAngularVelocity(0); }; }; }; }; } function joinNewContactedBodies(){ var _local1:Number; var _local2:Object; var _local3:b2Body; var _local4:b2Body; var _local5:b2Body; var _local6:b2JointEdge; var _local7:b2Body; var _local8:Boolean; var _local9:b2DistanceJointDef; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:b2AABB; var _local13:b2AABB; var _local14:b2Vec2; var _local15:b2Vec2; var _local16:b2Vec2; var _local17:b2PolygonShape; var _local18:b2PolygonShape; var _local19:*; _local1 = 0; while (_local1 < newContacts.length) { _local2 = newContacts[_local1]; _local3 = _local2.b1; _local4 = _local2.b2; _local17 = (_local2.shape1 as b2PolygonShape); _local18 = (_local2.shape2 as b2PolygonShape); _local16 = _local2.point; _local6 = _local3.GetJointList(); _local8 = false; if (_local6){ _local5 = _local6.other; if (_local4 != _local5){ _local8 = false; _local6 = _local6.next; while (((!(_local8)) && (_local6))) { if (_local6.other == _local4){ _local8 = true; }; _local6 = _local6.next; }; } else { _local8 = true; }; }; if (!_local8){ _local9 = new b2DistanceJointDef(); _local10 = _local3.GetWorldCenter(); _local11 = _local4.GetWorldCenter(); if (_local3.GetUserData().scenery){ _local10 = _local16; } else { if (_local4.GetUserData().scenery){ _local11 = _local16; }; }; _local9.Initialize(_local3, _local4, _local10, _local11); _local9.collideConnected = true; _local9.frequencyHz = 1.5; _local9.dampingRatio = 1; _local9.length = 0; _local2.joint = m_world.CreateJoint(_local9); _local2.position = new b2Vec2(); _local2.position.x = _local16.x; _local2.position.y = _local16.y; _local3.GetUserData().looseJoint = _local4; _local3.GetUserData().frameCount = 0; _local4.GetUserData().looseJoint = _local3; _local4.GetUserData().frameCount = 0; _local19 = new b2GravityController(); _local19.AddBody(_local3); _local19.AddBody(_local4); _local2.sucker = _local19; _local2.frameCount = 0; looseJoints.push(_local2); }; _local1++; }; newContacts = new Array(); } function putBackInChest(_arg1:Block){ var _local2:int; if (_arg1.material == Block.SCREW){ _local2 = 0; while (_local2 < screws.length) { if (screws[_local2] == _arg1){ screws.splice(_local2, 1); break; }; _local2++; }; }; chestDisplay.addLevelBlock(_arg1.solidBody.GetUserData().shapeID, _arg1.solidBody.GetUserData().material, _arg1.solidBody.GetUserData().magnetic, _arg1.solidBody.GetUserData().preDefinedBlock, _arg1.solidBody.GetUserData().preDefinedBlockID, 0); _arg1.whiteOut(); } function addScenery(){ var _local1:int; var _local2:int; var _local3:Block; var _local4:Sprite; var _local5:Sprite; var _local6:*; var _local7:Number; var _local8:MovieClip; var _local9:*; var _local10:Bitmap; var _local11:*; var _local12:Bitmap; var _local13:Number; var _local14:Number; var _local15:int; var _local16:b2PolygonDef; var _local17:b2BodyDef; var _local18:b2Body; helpSigns = new Array(); deadZones = new Array(); cannons = new Array(); fishes = new Array(); waterAreas = new Array(); if (((rootLine.myLevelEditor) && ((rootLine.myLevelEditor.levelStaticBlocks.length > 0)))){ _local1 = 0; while (_local1 < rootLine.myLevelEditor.levelStaticBlocks.length) { if (rootLine.myLevelEditor.waterFlag[_local1] == true){ _local3 = new Block(this.m_world, rootLine.waterClip); } else { if (rootLine.myLevelEditor.noDragFlag[_local1] == true){ _local3 = new Block(this.m_world, rootLine.noDragLayer); } else { _local3 = new Block(this.m_world, rootLine.landClip); }; }; _local2 = 0; while (_local2 < rootLine.myLevelEditor.levelStaticBlocks[_local1].length) { _local3.addVertex(new b2Vec2((rootLine.myLevelEditor.levelStaticBlocks[_local1][_local2].x / 30), (rootLine.myLevelEditor.levelStaticBlocks[_local1][_local2].y / 30))); _local2++; }; if (rootLine.myLevelEditor.waterFlag[_local1] == true){ _local3.setMaterial(2, false, true); waterAreas.push(_local3); } else { if (rootLine.myLevelEditor.noDragFlag[_local1] == true){ _local3.setMaterial(Block.NODRAG, false, true); } else { if (rootLine.myLevelEditor.deadZoneFlag[_local1] == true){ _local3.setMaterial(Block.DEADZONE, false, true); deadZones.push(_local3); } else { _local3.setMaterial(0, false, true); }; }; }; _local3.solidify(); _local1++; }; _local1 = 0; while (_local1 < deadZones.length) { topDepth(deadZones[_local1]); _local1++; }; _local4 = new Sprite(); _local5 = new Sprite(); _local1 = 0; while (_local1 < rootLine.myLevelEditor.levelStamps.length) { _local8 = new AllStamps(); _local8.x = rootLine.myLevelEditor.levelStamps[_local1].x; _local8.y = rootLine.myLevelEditor.levelStamps[_local1].y; _local8.gotoAndStop(rootLine.myLevelEditor.levelStamps[_local1].object); _local8.ID = _local1; if (LevelElementDefs.STAMPLAYERS[(rootLine.myLevelEditor.levelStamps[_local1].object - 2)] == 0){ _local4.addChild(_local8); } else { if (LevelElementDefs.STAMPLAYERS[(rootLine.myLevelEditor.levelStamps[_local1].object - 2)] == 1){ _local5.addChild(_local8); } else { if (LevelElementDefs.STAMPLAYERS[(rootLine.myLevelEditor.levelStamps[_local1].object - 2)] == 3){ rootLine["signsLayer"].addChild(_local8); fishes.push(_local8); } else { rootLine[("stamps" + LevelElementDefs.STAMPLAYERS[(rootLine.myLevelEditor.levelStamps[_local1].object - 2)])].addChild(_local8); }; }; }; _local1++; }; if (_local4.width > 0){ _local6 = _local4.getBounds(_local4).left; _local7 = _local4.getBounds(_local4).top; _local9 = new BitmapData(_local4.width, _local4.height, true, 0); _local9.draw(_local4, new Matrix(1, 0, 0, 1, -(_local6), -(_local7))); _local10 = new Bitmap(_local9, "auto", true); _local10.x = _local6; _local10.y = _local7; rootLine.stamps0.addChild(_local10); }; if (_local5.width > 0){ _local6 = _local5.getBounds(_local5).left; _local7 = _local5.getBounds(_local5).top; _local11 = new BitmapData(_local5.width, _local5.height, true, 0); _local11.draw(_local5, new Matrix(1, 0, 0, 1, -(_local6), -(_local7))); _local12 = new Bitmap(_local11, "auto", true); _local12.x = _local6; _local12.y = _local7; rootLine.stamps1.addChild(_local12); }; _local1 = 0; while (_local1 < rootLine.myLevelEditor.levelStaticMCBlocks.length) { _local13 = rootLine.myLevelEditor.levelStaticMCBlocks[_local1].object; _local14 = LevelElementDefs.shapeID[(_local13 - 1)]; if (_local13 == 4){ _local3 = new Block(this.m_world, rootLine.signsLayer); } else { _local3 = new Block(this.m_world, rootLine.levelElementsLayer); }; _local2 = 0; while (_local2 < rootLine.blockDrawer.shapeLibrary[_local14].length) { _local3.addVertex(new b2Vec2((rootLine.blockDrawer.shapeLibrary[_local14][_local2].x / 30), (rootLine.blockDrawer.shapeLibrary[_local14][_local2].y / 30))); _local2++; }; _local3.position = new b2Vec2((rootLine.myLevelEditor.levelStaticMCBlocks[_local1].x / 30), (rootLine.myLevelEditor.levelStaticMCBlocks[_local1].y / 30)); _local3.rotation = 0; _local3.setMaterial(LevelElementDefs.material[(_local13 - 1)], LevelElementDefs.sticky[(_local13 - 1)], true); _local15 = 1; if ((((((_local13 == 1)) || ((_local13 == 2)))) || ((_local13 == 5)))){ _local15 = rootLine.myLevelEditor.levelStaticMCBlocks[_local1].frame; }; _local3.setSceneryElement(true, _local13, _local15); _local3.solidify(); if (_local13 == 1){ startElementBody = _local3.solidBody; _local3.solidBody.GetUserData().circuitElement = true; }; if (_local13 == 2){ endElementBody = _local3.solidBody; }; if (_local13 == 3){ chests.push(_local3); }; if (_local13 == 4){ _local3.solidBody.GetUserData().message = rootLine.myLevelEditor.levelStaticMCBlocks[_local1].message; helpSigns.push(_local3); }; if (_local13 == 5){ cannons.push(_local3); _local3.rattleDelayCount = (-10 * cannons.length); }; _local1++; }; chestDisplay = new ChestDisplay(); chestDisplay.scaleX = 0; chestDisplay.scaleY = 0; chestDisplay.x = -1000000; chestDisplay.y = -1000000; chestDisplay.rootLine = rootLine; chestDisplay.blockController = this; rootLine.signsLayer.addChild(chestDisplay); initFishes(); } else { _local16 = new b2PolygonDef(); _local17 = new b2BodyDef(); _local17.position.Set((-95 / m_physScale), ((360 / m_physScale) / 2)); _local16.SetAsBox((100 / m_physScale), ((400 / m_physScale) / 2)); _local18 = m_world.CreateBody(_local17); _local18.CreateShape(_local16); _local18.SetMassFromShapes(); _local17.position.Set(((640 + 95) / m_physScale), ((360 / m_physScale) / 2)); _local18 = m_world.CreateBody(_local17); _local18.CreateShape(_local16); _local18.SetMassFromShapes(); _local17.position.Set(((640 / m_physScale) / 2), (-95 / m_physScale)); _local16.SetAsBox(((680 / m_physScale) / 2), (100 / m_physScale)); _local18 = m_world.CreateBody(_local17); _local18.CreateShape(_local16); _local18.SetMassFromShapes(); _local17.position.Set(((640 / m_physScale) / 2), ((360 + 95) / m_physScale)); _local18 = m_world.CreateBody(_local17); _local18.CreateShape(_local16); _local18.SetMassFromShapes(); }; } function addBlock(_arg1:Number){ var _local2:Number; var _local3:Number; var _local4:int; var _local5:Block; var _local6:Number; var _local7:b2Vec2; var _local8:*; var _local9:*; rootLine.blockDrawer.findEquivilentPreDefinedBlock(); _local2 = mouseXWorld; _local3 = mouseYWorld; _local2 = (_local2 - rootLine.testArea.x); _local3 = (_local3 - rootLine.testArea.y); if (((rootLine.blockDrawer.preDefinedBlock) && ((LevelElementDefs.ALLBLOCKS[rootLine.blockDrawer.preDefinedBlockID][1] == Block.SCREW)))){ _local5 = new Block(this.m_world, rootLine.levelElementsLayer); } else { _local5 = new Block(this.m_world, rootLine.testArea); }; _local5.shapeID = rootLine.blockDrawer.lastSelectedShape; _local4 = 0; while (_local4 < rootLine["blockDrawer"].pointList.length) { _local5.addVertex(new b2Vec2((rootLine["blockDrawer"].pointList[_local4].x / 30), (rootLine["blockDrawer"].pointList[_local4].y / 30))); _local4++; }; _local5.rotation = ((_arg1 * Math.PI) / 180); _local5.position = new b2Vec2((_local2 / 30), (_local3 / 30)); _local6 = 0; if (rootLine.blockDrawer["metalCheck"].selected){ _local6 = 1; }; if (!rootLine.blockDrawer.preDefinedBlock){ _local5.setMaterial(_local6, rootLine.blockDrawer["magCheck"].selected, false, rootLine.blockDrawer["heavyCheck"].selected); } else { _local5.setMaterial(LevelElementDefs.ALLBLOCKS[rootLine.blockDrawer.preDefinedBlockID][1], rootLine.blockDrawer["magCheck"].selected, false, rootLine.blockDrawer["heavyCheck"].selected); }; _local5.preDefinedBlock = rootLine.blockDrawer.preDefinedBlock; _local5.preDefinedBlockID = rootLine.blockDrawer.preDefinedBlockID; _local5.solidify(); _local5.solidBody.GetUserData().shapeID = rootLine.blockDrawer.lastSelectedShape; blockList.push(_local5); _local7 = _local5.localToGlobal(_local5.centerPoint()); _local8 = ((_local2 / 30) - _local7.x); _local9 = ((_local3 / 30) - _local7.y); _local5.solidBody.SetXForm(new b2Vec2(((_local2 / 30) + _local8), ((_local3 / 30) + _local9)), _local5.solidBody.GetAngle()); dragThisBlock(_local5); bottomDepth(_local5); if (_local5.material == Block.SCREW){ screws.push(_local5); }; } function topDepth(_arg1:Block){ _arg1.container.setChildIndex(_arg1.sprite, (_arg1.container.numChildren - 1)); } function doScreenShake(){ if (screenShake > 0){ rootLine["testArea"].x = (rootLine["testArea"].x - shakeXOff); rootLine["landClip"].x = (rootLine["landClip"].x - shakeXOff); rootLine["waterClip"].x = (rootLine["waterClip"].x - shakeXOff); rootLine["debugArea"].x = (rootLine["debugArea"].x - shakeXOff); rootLine["stamps0"].x = (rootLine["stamps0"].x - shakeXOff); rootLine["stamps1"].x = (rootLine["stamps1"].x - shakeXOff); rootLine["stamps2"].x = (rootLine["stamps2"].x - shakeXOff); rootLine["levelElementsLayer"].x = (rootLine["levelElementsLayer"].x - shakeXOff); rootLine["sparksLayer"].x = (rootLine["sparksLayer"].x - shakeXOff); rootLine["signsLayer"].x = (rootLine["signsLayer"].x - shakeXOff); rootLine["noDragLayer"].x = (rootLine["noDragLayer"].x - shakeXOff); rootLine["testArea"].y = (rootLine["testArea"].y - shakeYOff); rootLine["landClip"].y = (rootLine["landClip"].y - shakeYOff); rootLine["waterClip"].y = (rootLine["waterClip"].y - shakeYOff); rootLine["debugArea"].y = (rootLine["debugArea"].y - shakeYOff); rootLine["stamps0"].y = (rootLine["stamps0"].y - shakeYOff); rootLine["stamps1"].y = (rootLine["stamps1"].y - shakeYOff); rootLine["stamps2"].y = (rootLine["stamps2"].y - shakeYOff); rootLine["levelElementsLayer"].y = (rootLine["levelElementsLayer"].y - shakeYOff); rootLine["sparksLayer"].y = (rootLine["sparksLayer"].y - shakeYOff); rootLine["signsLayer"].y = (rootLine["signsLayer"].y - shakeYOff); rootLine["noDragLayer"].y = (rootLine["noDragLayer"].y - shakeYOff); screenShake--; if (screenShake > 0){ shakeXOff = (Math.floor((Math.random() * 10)) - 5); shakeYOff = (Math.floor((Math.random() * 10)) - 5); rootLine["testArea"].x = (rootLine["testArea"].x + shakeXOff); rootLine["landClip"].x = (rootLine["landClip"].x + shakeXOff); rootLine["waterClip"].x = (rootLine["waterClip"].x + shakeXOff); rootLine["debugArea"].x = (rootLine["debugArea"].x + shakeXOff); rootLine["stamps0"].x = (rootLine["stamps0"].x + shakeXOff); rootLine["stamps1"].x = (rootLine["stamps1"].x + shakeXOff); rootLine["stamps2"].x = (rootLine["stamps2"].x + shakeXOff); rootLine["levelElementsLayer"].x = (rootLine["levelElementsLayer"].x + shakeXOff); rootLine["sparksLayer"].x = (rootLine["sparksLayer"].x + shakeXOff); rootLine["signsLayer"].x = (rootLine["signsLayer"].x + shakeXOff); rootLine["noDragLayer"].x = (rootLine["noDragLayer"].x + shakeXOff); rootLine["testArea"].y = (rootLine["testArea"].y + shakeYOff); rootLine["landClip"].y = (rootLine["landClip"].y + shakeYOff); rootLine["waterClip"].y = (rootLine["waterClip"].y + shakeYOff); rootLine["debugArea"].y = (rootLine["debugArea"].y + shakeYOff); rootLine["stamps0"].y = (rootLine["stamps0"].y + shakeYOff); rootLine["stamps1"].y = (rootLine["stamps1"].y + shakeYOff); rootLine["stamps2"].y = (rootLine["stamps2"].y + shakeYOff); rootLine["levelElementsLayer"].y = (rootLine["levelElementsLayer"].y + shakeYOff); rootLine["sparksLayer"].y = (rootLine["sparksLayer"].y + shakeYOff); rootLine["signsLayer"].y = (rootLine["signsLayer"].y + shakeYOff); rootLine["noDragLayer"].y = (rootLine["noDragLayer"].y + shakeYOff); } else { shakeXOff = 0; shakeYOff = 0; }; }; } function scrollLeft(){ rootLine["testArea"].x = (rootLine["testArea"].x + 4); rootLine["landClip"].x = (rootLine["landClip"].x + 4); rootLine["waterClip"].x = (rootLine["waterClip"].x + 4); rootLine["debugArea"].x = (rootLine["debugArea"].x + 4); rootLine["stamps0"].x = (rootLine["stamps0"].x + 4); rootLine["stamps1"].x = (rootLine["stamps1"].x + 4); rootLine["stamps2"].x = (rootLine["stamps2"].x + 4); rootLine["levelElementsLayer"].x = (rootLine["levelElementsLayer"].x + 4); rootLine["sparksLayer"].x = (rootLine["sparksLayer"].x + 4); rootLine["signsLayer"].x = (rootLine["signsLayer"].x + 4); rootLine["noDragLayer"].x = (rootLine["noDragLayer"].x + 4); rootLine.hills.x = (rootLine.hills.x + 3); rootLine.sea.x = (rootLine.sea.x + 1); } public static function bodyIsTouchingBody(_arg1:b2Body, _arg2:b2Body):Boolean{ var _local3:b2ContactEdge; if (((!(_arg1)) || (!(_arg2)))){ return (false); }; _local3 = _arg1.m_contactList; while (_local3) { if (((_local3.contact) && ((_local3.contact.m_manifoldCount > 0)))){ if (_local3.other == _arg2){ return (true); }; }; _local3 = _local3.next; }; return (false); } public static function addSplash(_arg1:b2Vec2){ var _local2:MovieClip; _local2 = new SplashClip(); _local2.x = (_arg1.x * 30); _local2.y = (_arg1.y * 30); rootLine.waterClip.addChild(_local2); } public static function registerPersistantContact(_arg1:Object):void{ persistantContacts.push(_arg1); } public static function addDust(_arg1:b2Vec2, _arg2:Block, _arg3:Block){ var _local4:MovieClip; if (((((!(draggingBlock)) || (((!((_arg2 == blockBeingDragged))) && (!((_arg3 == blockBeingDragged))))))) && ((((_arg2.touchingWater == false)) && ((_arg3.touchingWater == false)))))){ if ((((_arg3. == 0)) || ((_arg2. == 0)))){ _local4 = new DustClip(); _local4.x = (_arg1.x * 30); _local4.y = (_arg1.y * 30); _local4.alpha = 0.8; rootLine.levelElementsLayer.addChild(_local4); if (_arg2. == 0){ _arg2. = 20; } else { _arg3. = 20; }; }; }; } public static function wheelBlockCollision(_arg1:Object):void{ wheelBlocksToMove.push(_arg1); } public static function shakeTheScreen(_arg1:Number){ screenShake = _arg1; } public static function addSmash(_arg1:b2Vec2, _arg2:Block, _arg3:Block){ var _local4:MovieClip; if (((((((!(draggingBlock)) || (((!((_arg2 == blockBeingDragged))) && (!((_arg3 == blockBeingDragged))))))) && ((((_arg2.touchingWater == false)) && ((_arg3.touchingWater == false)))))) && ((((((((_arg2.material == Block.METAL)) || (_arg2.isHeavy))) && (!(_arg2.sceneryElement)))) || ((((((_arg3.material == Block.METAL)) || (_arg2.isHeavy))) && (!(_arg3.sceneryElement)))))))){ _local4 = new SmashClip(); _local4.x = (_arg1.x * 30); _local4.y = (_arg1.y * 30); _local4.alpha = 0.8; rootLine.levelElementsLayer.addChild(_local4); _arg2. = 40; _arg3. = 40; shakeTheScreen(10); }; } public static function registerContact(_arg1:Object):void{ newContacts.push(_arg1); } } }//package com.nitrome.balancerSection 83//ChestDisplay (com.nitrome.balancer.ChestDisplay) package com.nitrome.balancer { import flash.display.*; import flash.events.*; import flash.filters.*; public class ChestDisplay extends MovieClip { var blockController:Object; var scrolling:Boolean;// = false var :Block; var levelBlocks:Array; public var pieces:MovieClip; var ;// = 225 var :Number;// = 275 var :MovieClip; var :Number;// = 0 public var arrowRight:MovieClip; var ;// = -105 var gameClass:Object; public var arrowLeft:MovieClip; var :Number;// = 0 var mode:Number; var rootLine:MovieClip; static var OFFY:Number = -50; static var OFF = 0; static var CLOSING = 2; static var OPENING = 1; static var ONX:Number = 275; static var ON = 3; public function ChestDisplay(){ = 275; mode = OFF; = -105; = 225; scrolling = false; = 0; = 0; super(); addFrameScript(0, frame1, 1, frame2); levelBlocks = new Array(); } function openIt(_arg1:Block, _arg2:Number, _arg3:Number){ this. = _arg1; mode = OPENING; this.x = _arg2; this.y = (_arg3 + 30); = (_arg3 - 50); ONX = _arg2; this.scaleX = (this.scaleY = 0); (); } function (_arg1:Event){ if (this["pieces"].x < ){ this["pieces"].x = (this["pieces"].x + 20); scrolling = true; = 1; = 0; }; } function clicked(_arg1:Number, _arg2:Number){ var _local3:int; if (this["arrowLeft"].hitTestPoint(_arg1, _arg2, false)){ (null); } else { if (this["arrowRight"].hitTestPoint(_arg1, _arg2, false)){ (null); } else { _local3 = 0; while (_local3 < this["pieces"].numChildren) { if (this["pieces"].getChildAt(_local3).hitTestPoint(_arg1, _arg2, true)){ (this["pieces"].getChildAt(_local3).getChildAt(0)["libraryID"]); break; }; _local3++; }; }; }; } function closeIt(){ mode = CLOSING; } function unClicked(){ (null); } function selectFromLibraryClicked(_arg1:Event){ rootLine.blockDrawer.mode = 2; if (!levelBlocks[_arg1.currentTarget.libraryID].preDefinedBlock){ rootLine.blockDrawer.selectBlock(levelBlocks[_arg1.currentTarget.libraryID].shapeID); } else { rootLine.blockDrawer.selectPreDefinedBlock(levelBlocks[_arg1.currentTarget.libraryID].preDefinedBlockID); }; if (levelBlocks[_arg1.currentTarget.libraryID].material == 0){ rootLine.blockDrawer.metalCheck.selected = false; } else { rootLine.blockDrawer.metalCheck.selected = true; }; rootLine.blockDrawer.magCheck.selected = levelBlocks[_arg1.currentTarget.libraryID].sticky; rootLine.blockDrawer.preDefinedBlock = levelBlocks[_arg1.currentTarget.libraryID].preDefinedBlock; rootLine.blockDrawer.preDefinedBlockID = levelBlocks[_arg1.currentTarget.libraryID].preDefinedBlockID; gameClass.addBlock(levelBlocks[_arg1.currentTarget.libraryID].rotation); (_arg1.currentTarget.libraryID); closeIt(); gameClass.openChest = false; } function frame1(){ stop(); } function (_arg1){ levelBlocks.splice(_arg1, 1); (); } function (_arg1:Event){ scrolling = false; } function (){ var _local1:MovieClip; _local1 = this["pieces"]; while (_local1.numChildren > 0) { _local1.removeChildAt(0); }; this["pieces"].x = ; } function (_arg1:Event){ if (this["pieces"].x > ( - (this["pieces"].width - ( / 2)))){ this["pieces"].x = (this["pieces"].x - 20); scrolling = true; = -1; = 0; }; } function (_arg1:Number){ rootLine.blockDrawer.mode = 2; if (!levelBlocks[_arg1].preDefinedBlock){ rootLine.blockDrawer.selectBlock(levelBlocks[_arg1].shapeID); } else { rootLine.blockDrawer.selectPreDefinedBlock(levelBlocks[_arg1].preDefinedBlockID); }; if (levelBlocks[_arg1].material == 0){ rootLine.blockDrawer.metalCheck.selected = false; } else { rootLine.blockDrawer.metalCheck.selected = true; }; rootLine.blockDrawer.magCheck.selected = levelBlocks[_arg1].sticky; rootLine.blockDrawer.preDefinedBlock = levelBlocks[_arg1].preDefinedBlock; rootLine.blockDrawer.preDefinedBlockID = levelBlocks[_arg1].preDefinedBlockID; gameClass.addBlock(levelBlocks[_arg1].rotation); (_arg1); closeIt(); gameClass.openChest = false; } function (){ var _local1:int; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:MovieClip; var _local7:Number; var _local8:MovieClip; var _local9:int; var _local10:GlowFilter; _local2 = 30; _local3 = 5; _local4 = 0; _local5 = 0; (); _local1 = 0; while (_local1 < this.levelBlocks.length) { _local6 = new MovieClip(); _local7 = 0; if (this.levelBlocks[_local1].material == 0){ _local7 = 0x996600; } else { _local7 = 6724044; }; = new MovieClip(); if (!levelBlocks[_local1].preDefinedBlock){ _local9 = 0; while (_local9 < LevelElementDefs.ALLBLOCKS.length) { if ((((((LevelElementDefs.ALLBLOCKS[_local9][0] == levelBlocks[_local1].shapeID)) && ((LevelElementDefs.ALLBLOCKS[_local9][1] == levelBlocks[_local1].material)))) && ((LevelElementDefs.ALLBLOCKS[_local9][2] == levelBlocks[_local1].sticky)))){ levelBlocks[_local1].preDefinedBlock = true; levelBlocks[_local1].preDefinedBlockID = _local9; break; }; _local9++; }; if (!levelBlocks[_local1].preDefinedBlock){ if (((this.levelBlocks[_local1].sticky) && (!(levelBlocks[_local1].preDefinedBlock)))){ _local10 = new GlowFilter(0xFF0000, 1, 2, 2, 10, 1, true); _local6.filters = [_local10]; }; _local6 = rootLine.blockDrawer.redraw(_local6, rootLine.blockDrawer.shapeLibrary[levelBlocks[_local1].shapeID], _local7, 1); .addChild(_local6); } else { _local8 = new PreDefinedBlocks(); _local8.gotoAndStop((levelBlocks[_local1].preDefinedBlockID + 1)); _local6.addChild(_local8); .addChild(_local6); }; } else { _local8 = new PreDefinedBlocks(); _local8.gotoAndStop((levelBlocks[_local1].preDefinedBlockID + 1)); _local6.addChild(_local8); .addChild(_local6); }; _local6.rotation = levelBlocks[_local1].rotation; this["pieces"].addChild(); _local2 = (_local2 + _local4); _local2 = (_local2 - (.getBounds().left / 2)); _local2 = (_local2 + 10); if (.height > _local5){ _local5 = .height; }; .x = _local2; .y = (_local3 - (.getBounds().top / 2)); .scaleX = (.scaleY = 0.5); _local4 = .width; _local6.libraryID = _local1; _local1++; }; } function frame2(){ stop(); } function emptyOut(){ levelBlocks = new Array(); (); } function update(_arg1:Number=0, _arg2:Number=0){ var _local3:int; var _local4:*; if (mode == OPENING){ if (this.scaleX >= 0.1){ this.y = (this.y + (( - this.y) / 4)); }; this.scaleX = (this.scaleX + 0.07); this.scaleY = (this.scaleY + 0.07); if (this.scaleX > 1){ this.scaleX = 1; }; if (this.scaleY > 1){ this.scaleY = 1; }; if ((((((Math.abs((this.y - )) < 5)) && ((this.scaleX > 0.9)))) && ((this.scaleY > 0.9)))){ this.y = ; this.scaleX = 1; this.scaleY = 1; mode = ON; }; }; if (mode == ON){ this.y = ; _local3 = 0; while (_local3 < this["pieces"].numChildren) { if (this["pieces"].getChildAt(_local3).hitTestPoint(_arg1, _arg2, false)){ if (this["pieces"].getChildAt(_local3).scaleX < 0.7){ this["pieces"].getChildAt(_local3).scaleX = (this["pieces"].getChildAt(_local3).scaleX + 0.05); }; if (this["pieces"].getChildAt(_local3).scaleY < 0.7){ this["pieces"].getChildAt(_local3).scaleY = (this["pieces"].getChildAt(_local3).scaleY + 0.05); }; } else { if (this["pieces"].getChildAt(_local3).scaleX > 0.5){ this["pieces"].getChildAt(_local3).scaleX = (this["pieces"].getChildAt(_local3).scaleX - 0.05); }; if (this["pieces"].getChildAt(_local3).scaleY > 0.5){ this["pieces"].getChildAt(_local3).scaleY = (this["pieces"].getChildAt(_local3).scaleY - 0.05); }; }; _local3++; }; if (this["arrowLeft"].hitTestPoint(_arg1, _arg2, false)){ this["arrowLeft"].gotoAndStop(2); } else { this["arrowLeft"].gotoAndStop(1); }; if (this["arrowRight"].hitTestPoint(_arg1, _arg2, false)){ this["arrowRight"].gotoAndStop(2); } else { this["arrowRight"].gotoAndStop(1); }; }; if (mode == CLOSING){ _local4 = (.sprite.y + 15); this.y = (this.y + ((_local4 - this.y) / 3)); this.scaleX = (this.scaleX - 0.1); this.scaleY = (this.scaleY - 0.1); if (this.scaleX < 0){ this.scaleX = 0; }; if (this.scaleY < 0){ this.scaleY = 0; }; if ((((((((Math.abs((this.y - )) < 3)) && ((Math.abs((this.x - ONX)) < 3)))) && ((this.scaleX <= 0.1)))) && ((this.scaleY <= 0.1)))){ this.y = -10000; mode = OFF; }; }; if (scrolling){ if ( > 5){ if (((( == 1)) && ((this["pieces"].x < )))){ this["pieces"].x = (this["pieces"].x + 10); }; if (((( == -1)) && ((this["pieces"].x > ( - (this["pieces"].width - ( / 2))))))){ this["pieces"].x = (this["pieces"].x - 10); }; } else { ++; }; }; } function addLevelBlock(_arg1:Number, _arg2:Number, _arg3:Boolean, _arg4:Boolean=false, _arg5:Number=0, _arg6:Number=0){ var _local7:Object; _local7 = new Object(); _local7.shapeID = _arg1; _local7.material = _arg2; _local7.sticky = _arg3; _local7.preDefinedBlock = _arg4; _local7.preDefinedBlockID = _arg5; _local7.rotation = _arg6; levelBlocks.push(_local7); } } }//package com.nitrome.balancerSection 84//ContactListener_editor2 (com.nitrome.balancer.ContactListener_editor2) package com.nitrome.balancer { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class ContactListener_editor2 extends b2ContactListener { override public function Add(_arg1:b2ContactPoint):void{ var _local2:b2Vec2; if ((((((_arg1.shape1.GetBody().GetUserData().material == Block.WATER)) || ((_arg1.shape2.GetBody().GetUserData().material == Block.WATER)))) && (((!((_arg1.shape1.GetBody().GetUserData().material == Block.SCREW))) && (!((_arg1.shape2.GetBody().GetUserData().material == Block.SCREW))))))){ if ((((_arg1.shape1.GetBody().GetUserData().blockRef.touchingWater == false)) || ((_arg1.shape2.GetBody().GetUserData().blockRef.touchingWater == false)))){ _local2 = new b2Vec2(_arg1.position.x, _arg1.position.y); if (((!(_arg1.shape1.GetBody().GetUserData().isCannonBall)) && (!(_arg1.shape2.GetBody().GetUserData().isCannonBall)))){ if (_arg1.shape1.GetBody().GetUserData().material != Block.WATER){ _local2.x = _arg1.shape1.GetBody().GetWorldCenter().x; _local2.y = _arg1.shape2.GetBody().GetUserData().blockRef.getBoundingBox().lowerBound.y; if (!_arg1.shape2.GetBody().GetUserData().blockRef.testPoint(_local2)){ _local2 = _arg1.position; }; } else { _local2.x = _arg1.shape2.GetBody().GetWorldCenter().x; _local2.y = _arg1.shape1.GetBody().GetUserData().blockRef.getBoundingBox().lowerBound.y; if (!_arg1.shape1.GetBody().GetUserData().blockRef.testPoint(_local2)){ _local2 = _arg1.position; }; }; BlockEditor.addSplash(_local2); } else { if (((((((_arg1.shape1.GetBody().GetUserData().isCannonBall) && (!(_arg1.shape2.GetBody().GetUserData().hasHit)))) || (((_arg1.shape2.GetBody().GetUserData().isCannonBall) && (!(_arg1.shape2.GetBody().GetUserData().hasHit)))))) || (((_arg1.shape1.GetBody().GetUserData().isCannonBall) && (!(_arg1.shape1.GetBody().GetUserData().hasHit)))))){ _local2 = _arg1.position; BlockEditor.addSplash(_local2); }; }; }; _arg1.shape1.GetBody().GetUserData().blockRef.touchingWater = true; _arg1.shape2.GetBody().GetUserData().blockRef.touchingWater = true; }; } override public function Result(_arg1:b2ContactResult):void{ var _local2:Boolean; var _local3:Object; var _local4:b2AABB; var _local5:b2AABB; _local2 = false; if (((_arg1.shape1.GetBody().GetUserData().smackable) || (_arg1.shape2.GetBody().GetUserData().smackable))){ if ((((Math.abs(_arg1.normalImpulse) > 40)) || (((((_arg1.shape1.GetBody().GetUserData().blockRef.isHeavy) || (_arg1.shape2.GetBody().GetUserData().blockRef.isHeavy))) && ((Math.abs(_arg1.normalImpulse) > 30)))))){ BlockEditor.addDust(_arg1.position, _arg1.shape1.GetBody().GetUserData().blockRef, _arg1.shape2.GetBody().GetUserData().blockRef); BlockEditor.addSmash(_arg1.position, _arg1.shape1.GetBody().GetUserData().blockRef, _arg1.shape2.GetBody().GetUserData().blockRef); } else { if (Math.abs(_arg1.normalImpulse) > 10){ BlockEditor.addDust(_arg1.position, _arg1.shape1.GetBody().GetUserData().blockRef, _arg1.shape2.GetBody().GetUserData().blockRef); }; }; }; if (_arg1.shape1.GetBody().GetUserData().isCannonBall){ _arg1.shape1.GetBody().GetUserData().hasHit = true; } else { if (_arg1.shape2.GetBody().GetUserData().isCannonBall){ _arg1.shape2.GetBody().GetUserData().hasHit = true; } else { if (((_arg1.shape1.GetBody().GetUserData()) && (_arg1.shape2.GetBody().GetUserData()))){ if ((((_arg1.shape1.GetBody().GetUserData().material == Block.WATER)) || ((_arg1.shape2.GetBody().GetUserData().material == Block.WATER)))){ _local2 = false; } else { if ((((((_arg1.shape1.GetBody().GetUserData().magnetic == true)) || ((_arg1.shape2.GetBody().GetUserData().magnetic == true)))) && ((((_arg1.shape1.GetBody().GetUserData().material == Block.METAL)) && ((_arg1.shape2.GetBody().GetUserData().material == Block.METAL)))))){ _local2 = true; }; if ((((((_arg1.shape1.GetBody().GetUserData().magnetic == true)) && (!((_arg1.shape1.GetBody().GetUserData().material == Block.METAL))))) || ((((_arg1.shape2.GetBody().GetUserData().magnetic == true)) && (!((_arg1.shape2.GetBody().GetUserData().material == Block.METAL))))))){ _local2 = true; }; }; }; }; }; if (((((((((_local2) || ((_arg1.shape1.GetBody().GetUserData().material == Block.WHEELBLOCKR)))) || ((_arg1.shape2.GetBody().GetUserData().material == Block.WHEELBLOCKR)))) || ((_arg1.shape1.GetBody().GetUserData().material == Block.WHEELBLOCKL)))) || ((_arg1.shape2.GetBody().GetUserData().material == Block.WHEELBLOCKL)))){ _local3 = new Object(); _local3.b1 = _arg1.shape1.GetBody(); _local3.b2 = _arg1.shape2.GetBody(); _local4 = new b2AABB(); _arg1.shape1.ComputeAABB(_local4, _arg1.shape1.GetBody().GetXForm()); _local3.bounds1 = _local4; _local5 = new b2AABB(); _arg1.shape2.ComputeAABB(_local5, _arg1.shape2.GetBody().GetXForm()); _local3.bounds2 = _local5; _local3.shape1 = _arg1.shape1; _local3.shape2 = _arg1.shape2; _local3.point = new b2Vec2(); _local3.point.x = _arg1.position.x; _local3.point.y = _arg1.position.y; if (_local2){ BlockEditor.registerContact(_local3); } else { BlockEditor.wheelBlockCollision(_local3); }; }; } } }//package com.nitrome.balancerSection 85//ContactListener_game (com.nitrome.balancer.ContactListener_game) package com.nitrome.balancer { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class ContactListener_game extends b2ContactListener { override public function Add(_arg1:b2ContactPoint):void{ var _local2:b2Vec2; if ((((((_arg1.shape1.GetBody().GetUserData().material == Block.WATER)) || ((_arg1.shape2.GetBody().GetUserData().material == Block.WATER)))) && (((!((_arg1.shape1.GetBody().GetUserData().material == Block.SCREW))) && (!((_arg1.shape2.GetBody().GetUserData().material == Block.SCREW))))))){ if ((((_arg1.shape1.GetBody().GetUserData().blockRef.touchingWater == false)) || ((_arg1.shape2.GetBody().GetUserData().blockRef.touchingWater == false)))){ _local2 = new b2Vec2(_arg1.position.x, _arg1.position.y); if (((!(_arg1.shape1.GetBody().GetUserData().isCannonBall)) && (!(_arg1.shape2.GetBody().GetUserData().isCannonBall)))){ if (_arg1.shape1.GetBody().GetUserData().material != Block.WATER){ _local2.x = _arg1.shape1.GetBody().GetWorldCenter().x; _local2.y = _arg1.shape2.GetBody().GetUserData().blockRef.getBoundingBox().lowerBound.y; if (!_arg1.shape2.GetBody().GetUserData().blockRef.testPoint(_local2)){ _local2 = _arg1.position; }; } else { _local2.x = _arg1.shape2.GetBody().GetWorldCenter().x; _local2.y = _arg1.shape1.GetBody().GetUserData().blockRef.getBoundingBox().lowerBound.y; if (!_arg1.shape1.GetBody().GetUserData().blockRef.testPoint(_local2)){ _local2 = _arg1.position; }; }; BalanceGame.addSplash(_local2); } else { if (((((((_arg1.shape1.GetBody().GetUserData().isCannonBall) && (!(_arg1.shape2.GetBody().GetUserData().hasHit)))) || (((_arg1.shape2.GetBody().GetUserData().isCannonBall) && (!(_arg1.shape2.GetBody().GetUserData().hasHit)))))) || (((_arg1.shape1.GetBody().GetUserData().isCannonBall) && (!(_arg1.shape1.GetBody().GetUserData().hasHit)))))){ _local2 = _arg1.position; BalanceGame.addSplash(_local2); }; }; }; _arg1.shape1.GetBody().GetUserData().blockRef.touchingWater = true; _arg1.shape2.GetBody().GetUserData().blockRef.touchingWater = true; }; } override public function Result(_arg1:b2ContactResult):void{ var _local2:Boolean; var _local3:Object; var _local4:b2AABB; var _local5:b2AABB; _local2 = false; if (((((_arg1.shape1.GetBody().GetUserData().smackable) || (_arg1.shape2.GetBody().GetUserData().smackable))) && (((!((_arg1.shape1.GetBody().GetUserData().blockRef.shapeID == 21))) && (!((_arg1.shape2.GetBody().GetUserData().blockRef.shapeID == 21))))))){ if ((((Math.abs(_arg1.normalImpulse) > 40)) || (((((_arg1.shape1.GetBody().GetUserData().blockRef.isHeavy) || (_arg1.shape2.GetBody().GetUserData().blockRef.isHeavy))) && ((Math.abs(_arg1.normalImpulse) > 30)))))){ BalanceGame.addDust(_arg1.position, _arg1.shape1.GetBody().GetUserData().blockRef, _arg1.shape2.GetBody().GetUserData().blockRef); BalanceGame.addSmash(_arg1.position, _arg1.shape1.GetBody().GetUserData().blockRef, _arg1.shape2.GetBody().GetUserData().blockRef); } else { if (Math.abs(_arg1.normalImpulse) > 10){ BalanceGame.addDust(_arg1.position, _arg1.shape1.GetBody().GetUserData().blockRef, _arg1.shape2.GetBody().GetUserData().blockRef); }; }; }; if (_arg1.shape1.GetBody().GetUserData().isCannonBall){ _arg1.shape1.GetBody().GetUserData().hasHit = true; _arg1.shape1.GetBody().GetUserData().smackable = false; } else { if (_arg1.shape2.GetBody().GetUserData().isCannonBall){ _arg1.shape2.GetBody().GetUserData().hasHit = true; _arg1.shape2.GetBody().GetUserData().smackable = false; } else { if (((_arg1.shape1.GetBody().GetUserData()) && (_arg1.shape2.GetBody().GetUserData()))){ if ((((_arg1.shape1.GetBody().GetUserData().material == Block.WATER)) || ((_arg1.shape2.GetBody().GetUserData().material == Block.WATER)))){ _local2 = false; } else { if ((((((_arg1.shape1.GetBody().GetUserData().magnetic == true)) || ((_arg1.shape2.GetBody().GetUserData().magnetic == true)))) && ((((_arg1.shape1.GetBody().GetUserData().material == Block.METAL)) && ((_arg1.shape2.GetBody().GetUserData().material == Block.METAL)))))){ _local2 = true; }; if ((((((_arg1.shape1.GetBody().GetUserData().magnetic == true)) && (!((_arg1.shape1.GetBody().GetUserData().material == Block.METAL))))) || ((((_arg1.shape2.GetBody().GetUserData().magnetic == true)) && (!((_arg1.shape2.GetBody().GetUserData().material == Block.METAL))))))){ _local2 = true; }; }; }; }; }; if (((((((((_local2) || ((_arg1.shape1.GetBody().GetUserData().material == Block.WHEELBLOCKR)))) || ((_arg1.shape2.GetBody().GetUserData().material == Block.WHEELBLOCKR)))) || ((_arg1.shape1.GetBody().GetUserData().material == Block.WHEELBLOCKL)))) || ((_arg1.shape2.GetBody().GetUserData().material == Block.WHEELBLOCKL)))){ _local3 = new Object(); _local3.b1 = _arg1.shape1.GetBody(); _local3.b2 = _arg1.shape2.GetBody(); _local4 = new b2AABB(); _arg1.shape1.ComputeAABB(_local4, _arg1.shape1.GetBody().GetXForm()); _local3.bounds1 = _local4; _local5 = new b2AABB(); _arg1.shape2.ComputeAABB(_local5, _arg1.shape2.GetBody().GetXForm()); _local3.bounds2 = _local5; _local3.shape1 = _arg1.shape1; _local3.shape2 = _arg1.shape2; _local3.point = new b2Vec2(); _local3.point.x = _arg1.position.x; _local3.point.y = _arg1.position.y; if (_local2){ BalanceGame.registerContact(_local3); } else { BalanceGame.wheelBlockCollision(_local3); }; }; } } }//package com.nitrome.balancerSection 86//Controller (com.nitrome.balancer.Controller) package com.nitrome.balancer { import flash.geom.*; import flash.net.*; public class Controller { var :Array; var scrollEdges:Array; var :Array; var levelStaticMCBlocks:Array; var blocksInPlay:Array; var noDragFlag:Array; var waterFlag:Array; public var titleScreen:Boolean;// = false var :Boolean;// = false var :Array; var levelStamps:Array; var :Array; var levelStaticBlocks:Array; var deadZoneFlag:Array; public static var selectedLevel:Number = 0; public static var levelScore:Number = 10000; public static var totalScore:Number = 0; static var rootLine:Object; public function Controller(_arg1:Object){ = false; titleScreen = false; super(); rootLine = _arg1; = new Array(); ["0a51d1a48cc8d1776ceb56cf4793bd27"] = "<BalanceLevel><NumStaticBlocks data=\"13\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-260,120,-140,120,-140,240,-260,240\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,120,-100,120,-100,160,-140,160\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,-330,-80,-330,-80,-300,-100,-280,-100,-220,-210,-220\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,-330,-210,-330,-210,-220,-320,-220\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,160,-100,160,-100,200,-140,200\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,120,-260,120,-260,240,-320,240\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,200,-100,200,-100,240,-140,240\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,240,-100,240,-100,390,-320,390\"/><BlockDef_9 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-100,290,330,290,330,350,-100,350\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"1\" data=\"-150,-109.2,80,-109.15,80,-70,50,-40,50,10,40,20,30,30,-80,30,-210,30,-210,80,-260,80,-330,80,-330,30,-330,-50,-150,-50\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,80,-260,80,-260,120,-320,120\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-260,80,-210,80,-210,30,-100,30,-100,80,-100,120,-260,120\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,-220,-100,-220,-100,-110,-150,-100,-150,-60,-280,-60,-320,-60\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"3,-160,-350\"/><ElementDef_2 data=\"2,-150,130,2\"/><ElementDef_3 data=\"1,-150,-210,2\"/><NumStamps data=\"87\"/><StampDef_1 data=\"38,-80,290\"/><StampDef_2 data=\"38,-40,290\"/><StampDef_3 data=\"38,0,290\"/><StampDef_4 data=\"38,40,290\"/><StampDef_5 data=\"38,80,290\"/><StampDef_6 data=\"38,120,290\"/><StampDef_7 data=\"38,160,290\"/><StampDef_8 data=\"38,200,290\"/><StampDef_9 data=\"38,240,290\"/><StampDef_10 data=\"38,280,290\"/><StampDef_11 data=\"38,320,290\"/><StampDef_12 data=\"76,-136,-99.65\"/><StampDef_13 data=\"77,-84,-100.35\"/><StampDef_14 data=\"77,-21,-99.55000000000001\"/><StampDef_15 data=\"78,71,-99.6\"/><StampDef_16 data=\"81,35,-98\"/><StampDef_17 data=\"80,15,-100.5\"/><StampDef_18 data=\"78,-163,-50.94999999999999\"/><StampDef_19 data=\"77,-215,-50.900000000000006\"/><StampDef_20 data=\"77,-279,-51.099999999999994\"/><StampDef_21 data=\"81,-327.5,-48.849999999999994\"/><StampDef_22 data=\"65,21,-3\"/><StampDef_23 data=\"70,-10,-11\"/><StampDef_24 data=\"66,-279,1.5\"/><StampDef_25 data=\"69,-95,-66\"/><StampDef_26 data=\"65,-166,7\"/><StampDef_27 data=\"75,-86,-37\"/><StampDef_28 data=\"71,-58,-63\"/><StampDef_29 data=\"72,-263,21\"/><StampDef_30 data=\"71,-246,23\"/><StampDef_31 data=\"73,-140,5\"/><StampDef_32 data=\"73,38,-59\"/><StampDef_33 data=\"72,-292,58\"/><StampDef_34 data=\"74,-291,58\"/><StampDef_35 data=\"48,-49,-39\"/><StampDef_36 data=\"53,40,-15\"/><StampDef_37 data=\"52,63,-84\"/><StampDef_38 data=\"50,-227,66\"/><StampDef_39 data=\"52,-188,-33\"/><StampDef_40 data=\"49,-296,-30.5\"/><StampDef_41 data=\"53,-304,-20\"/><StampDef_42 data=\"51,-3,7\"/><StampDef_43 data=\"51,-75,21\"/><StampDef_44 data=\"50,-84,13\"/><StampDef_45 data=\"57,-9,-118.6\"/><StampDef_46 data=\"59,20,-111.15\"/><StampDef_47 data=\"59,-63,-115.4\"/><StampDef_48 data=\"62,-74,-109.4\"/><StampDef_49 data=\"47,-128,-122\"/><StampDef_50 data=\"45,71.5,-118.65\"/><StampDef_51 data=\"3,-284,-323.5\"/><StampDef_52 data=\"3,-196,-324.5\"/><StampDef_53 data=\"14,-136,-324\"/><StampDef_54 data=\"35,-201.5,-210\"/><StampDef_55 data=\"32,-288,-115\"/><StampDef_56 data=\"33,-280,-130\"/><StampDef_57 data=\"34,-187,-89\"/><StampDef_58 data=\"34,-292,-287.5\"/><StampDef_59 data=\"36,-299,-202\"/><StampDef_60 data=\"36,-114.5,-304\"/><StampDef_61 data=\"32,-120,258\"/><StampDef_62 data=\"34,-298,305.5\"/><StampDef_63 data=\"34,-164.5,179.95\"/><StampDef_64 data=\"32,-295,142\"/><StampDef_65 data=\"35,-251,266\"/><StampDef_66 data=\"36,-260,257\"/><StampDef_67 data=\"36,-139,310\"/><StampDef_68 data=\"33,-198.95,320\"/><StampDef_69 data=\"33,-236,209\"/><StampDef_70 data=\"33,-169.5,-305\"/><StampDef_71 data=\"35,-240,-178\"/><StampDef_72 data=\"14,-109,-325\"/><StampDef_73 data=\"4,-89,-328\"/><StampDef_74 data=\"9,-226.5,-345\"/><StampDef_75 data=\"7,-292,-345.5\"/><StampDef_76 data=\"10,-310,-338\"/><StampDef_77 data=\"93,-70,320\"/><StampDef_78 data=\"93,-10,320\"/><StampDef_79 data=\"93,50,320\"/><StampDef_80 data=\"93,110,320\"/><StampDef_81 data=\"93,170,320\"/><StampDef_82 data=\"93,230,320\"/><StampDef_83 data=\"93,290,320\"/><StampDef_84 data=\"93,350,320\"/><StampDef_85 data=\"11,-250,-365.5\"/><StampDef_86 data=\"5,-256,-347.5\"/><StampDef_87 data=\"43,-103,-336\"/><NumLevelBlocks data=\"19\"/><LevelBlockDef_1 data=\"5,1,1,0,0,0\"/><LevelBlockDef_2 data=\"11,0,1,180,0,0\"/><LevelBlockDef_3 data=\"3,1,1,0,1,0\"/><LevelBlockDef_4 data=\"7,0,1,0,1,6\"/><LevelBlockDef_5 data=\"4,1,1,0,0,0\"/><LevelBlockDef_6 data=\"5,1,1,0,0,0\"/><LevelBlockDef_7 data=\"22,1,1,0,0,0\"/><LevelBlockDef_8 data=\"6,1,1,0,0,0\"/><LevelBlockDef_9 data=\"6,1,1,0,0,0\"/><LevelBlockDef_10 data=\"22,1,1,0,0,0\"/><LevelBlockDef_11 data=\"6,1,1,0,0,0\"/><LevelBlockDef_12 data=\"6,1,1,0,0,0\"/><LevelBlockDef_13 data=\"22,1,1,0,0,0\"/><LevelBlockDef_14 data=\"6,1,1,0,0,0\"/><LevelBlockDef_15 data=\"4,1,1,0,0,0\"/><LevelBlockDef_16 data=\"5,1,1,0,0,0\"/><LevelBlockDef_17 data=\"3,1,1,0,1,0\"/><LevelBlockDef_18 data=\"11,0,1,180,0,0\"/><LevelBlockDef_19 data=\"3,1,0,0,1,0\"/><NumInitialBlocks data=\"0\"/><ScrollLimits data=\"-316,314,-547,322,0,-110\"/><Score data=\"8000\" /></BalanceLevel>"; ["0ad36322267fbc967dc04c3acecfcb6b"] = "<BalanceLevel><NumStaticBlocks data=\"40\"/><BlockDef_1 water=\"0\" nodrag=\"1\" deadzone=\"0\" data=\"-140,-220,-70,-220,-70,-150,80,-150,80,-110,-70,-110,-70,-90,80,-90,80,-50,-70,-50,-70,30,150,30,150,140,130,160,60,160,60,260,40,280,-30,280,-50,260,-50,160,-120,160,-140,140\"/><BlockDef_2 water=\"0\" nodrag=\"1\" deadzone=\"0\" data=\"-140,-270,-120,-290,-40,-290,-40,-360,-20,-380,40,-380,60,-360,60,-290,130,-290,150,-270,150,10,-50,10,-50,-30,100,-30,100,-170,-50,-170,-50,-240,-140,-240\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,-400,80,-400,80,-340,50,-310,-30,-310,-60,-340\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-240,-280,-240,-280,-120,-320,-80,-450,-80\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-80,-320,-80,-320,-40,-360,-40\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-40,-320,-40,-320,0,-360,0\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-80,-360,-80,-360,0,-450,0\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,0,-360,0,-360,80,-450,80\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-490,-240,-450,-240,-450,-200,-490,-200\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-530,-240,-490,-240,-490,-200,-530,-200\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-530,-200,-450,-200,-450,0,-530,0\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-490,0,-450,0,-450,40,-490,40\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-530,0,-490,0,-490,40,-530,40\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-490,40,-450,40,-450,80,-490,80\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-530,40,-490,40,-490,80,-530,80\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-530,80,-450,80,-450,260,-530,260\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-530,260,-400,260,-400,330,-530,330\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-280,180,-180,180,-180,280,-280,280\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-280,280,-230,280,-230,330,-280,330\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,280,-180,280,-180,330,-230,330\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-180,180,-80,180,-80,280,-180,280\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-180,280,-80,280,-80,330,-180,330\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-80,180,90,180,90,330,-80,330\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"90,290,130,290,130,330,90,330\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"130,290,170,290,170,330,130,330\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"90,250,130,250,130,290,90,290\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"130,250,170,250,170,290,130,290\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"90,180,170,180,170,250,90,250\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,180,280,180,280,290,170,290\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,290,280,290,280,330,170,330\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,180,360,180,360,330,280,330\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,-30,360,-30,360,180,280,180\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,-240,360,-240,360,-30,200,-30,170,-60\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,210,-400,210,-400,260,-450,260\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-400,210,-280,210,-280,330,-400,330\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"240,-30,280,-30,280,10\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,80,-320,80,-320,210,-450,210\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,40,-320,40,-320,80,-360,80\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,0,-320,0,-320,40,-360,40\"/><BlockDef_40 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,180,-280,180,-280,210,-320,210\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"1,0,210,1\"/><ElementDef_2 data=\"2,210,-130,4\"/><ElementDef_3 data=\"3,-330,-260\"/><ElementDef_4 data=\"4,-210,140,you cannot click or drag your|shapes through these glass|panels. and its right in the way.| typical!!!\"/><NumStamps data=\"108\"/><StampDef_1 data=\"90,4,265\"/><StampDef_2 data=\"90,10,-365\"/><StampDef_3 data=\"2,-52,-396\"/><StampDef_4 data=\"3,4,-396\"/><StampDef_5 data=\"4,77,-395\"/><StampDef_6 data=\"14,53,-396\"/><StampDef_7 data=\"3,-223,186\"/><StampDef_8 data=\"3,-136,186\"/><StampDef_9 data=\"14,-74.5,186\"/><StampDef_10 data=\"15,-46.5,185\"/><StampDef_11 data=\"3,91.5,185\"/><StampDef_12 data=\"3,177.5,185\"/><StampDef_13 data=\"14,240,185\"/><StampDef_14 data=\"4,271,184\"/><StampDef_15 data=\"3,-340,-234\"/><StampDef_16 data=\"4,-285,-236\"/><StampDef_17 data=\"3,-426,-234\"/><StampDef_18 data=\"3,-514,-234\"/><StampDef_19 data=\"3,234,-235\"/><StampDef_20 data=\"3,321,-236\"/><StampDef_21 data=\"2,178.5,-235.95\"/><StampDef_22 data=\"14,-286,186\"/><StampDef_23 data=\"2,-316,185\"/><StampDef_24 data=\"32,-251,251\"/><StampDef_25 data=\"34,-214,217\"/><StampDef_26 data=\"35,-197,261\"/><StampDef_27 data=\"35,-98,243\"/><StampDef_28 data=\"34,-380,278\"/><StampDef_29 data=\"33,-335,242\"/><StampDef_30 data=\"36,-311,281\"/><StampDef_31 data=\"36,-428,114\"/><StampDef_32 data=\"32,-390,135\"/><StampDef_33 data=\"33,-432,192\"/><StampDef_34 data=\"34,-331,100\"/><StampDef_35 data=\"33,-458,279\"/><StampDef_36 data=\"33,-474,129\"/><StampDef_37 data=\"32,-121,300\"/><StampDef_38 data=\"35,-432,18\"/><StampDef_39 data=\"36,-387,55\"/><StampDef_40 data=\"32,-327,-119\"/><StampDef_41 data=\"33,-367,-123\"/><StampDef_42 data=\"33,-423,-198\"/><StampDef_43 data=\"33,-305,-199\"/><StampDef_44 data=\"36,-352,-172\"/><StampDef_45 data=\"36,-432,-108\"/><StampDef_46 data=\"36,-382,-56\"/><StampDef_47 data=\"33,-374,-17\"/><StampDef_48 data=\"33,-469,-40\"/><StampDef_49 data=\"34,-477,-151\"/><StampDef_50 data=\"36,-336,-25\"/><StampDef_51 data=\"32,-33,288\"/><StampDef_52 data=\"35,130,218\"/><StampDef_53 data=\"33,104,208\"/><StampDef_54 data=\"34,245,210\"/><StampDef_55 data=\"32,206,266\"/><StampDef_56 data=\"34,28,277\"/><StampDef_57 data=\"33,65.5,228\"/><StampDef_58 data=\"34,69,316\"/><StampDef_59 data=\"32,329,271\"/><StampDef_60 data=\"33,337,197\"/><StampDef_61 data=\"36,299,217\"/><StampDef_62 data=\"33,309,33\"/><StampDef_63 data=\"34,338,108\"/><StampDef_64 data=\"33,320,-101\"/><StampDef_65 data=\"33,265,-57\"/><StampDef_66 data=\"34,323,-55\"/><StampDef_67 data=\"32,323,-201\"/><StampDef_68 data=\"32,280.5,-133.95\"/><StampDef_69 data=\"35,232,-198\"/><StampDef_70 data=\"36,-153,215\"/><StampDef_71 data=\"36,-469,-216\"/><StampDef_72 data=\"36,304,152\"/><StampDef_73 data=\"36,46,-362\"/><StampDef_74 data=\"32,-21,-338\"/><StampDef_75 data=\"34,38,-330\"/><StampDef_76 data=\"35,-48,-375\"/><StampDef_77 data=\"35,-8,-379\"/><StampDef_78 data=\"35,-477,215\"/><StampDef_79 data=\"36,233,298\"/><StampDef_80 data=\"35,294,90\"/><StampDef_81 data=\"6,-274,158\"/><StampDef_82 data=\"43,-181,174\"/><StampDef_83 data=\"42,-90,171\"/><StampDef_84 data=\"40,253,163\"/><StampDef_85 data=\"43,263,171\"/><StampDef_86 data=\"41,150,182\"/><StampDef_87 data=\"7,222,143\"/><StampDef_88 data=\"13,199,162\"/><StampDef_89 data=\"12,208,165\"/><StampDef_90 data=\"9,108,164\"/><StampDef_91 data=\"7,-252,164\"/><StampDef_92 data=\"10,-153,144\"/><StampDef_93 data=\"5,-144,164\"/><StampDef_94 data=\"5,-468,-257\"/><StampDef_95 data=\"7,-388,-279\"/><StampDef_96 data=\"13,-408,-260\"/><StampDef_97 data=\"10,-399,-251\"/><StampDef_98 data=\"11,-457,-257\"/><StampDef_99 data=\"5,208,-258\"/><StampDef_100 data=\"7,242,-258\"/><StampDef_101 data=\"11,311,-285\"/><StampDef_102 data=\"6,316,-263\"/><StampDef_103 data=\"10,264,-252\"/><StampDef_104 data=\"43,176.5,-245.95\"/><StampDef_105 data=\"5,38,-420\"/><StampDef_106 data=\"7,-22,-414\"/><StampDef_107 data=\"10,-3,-410\"/><StampDef_108 data=\"41,-43,-399\"/><NumLevelBlocks data=\"2\"/><LevelBlockDef_1 data=\"7,1,0,0,1,2\"/><LevelBlockDef_2 data=\"7,1,0,0,1,2\"/><NumInitialBlocks data=\"3\"/><InitialBlockDef_1 data=\"8.332499326146344,5.337719103771313,0.00061435543624667,1,0,1,2,true,7\"/><InitialBlockDef_2 data=\"7.869015967037591,-8.663784906444087,-0.0021197795087796924,1,0,1,2,true,7\"/><InitialBlockDef_3 data=\"-8.581803295232392,5.003801583353006,-1.5689418075004724,1,0,1,2,true,7\"/><ScrollLimits data=\"-479,351,-578,302,-40,-70\"/><Score data=\"7000\" /></BalanceLevel>"; ["0b72e561842b29a8b14b4585d06e8b17"] = "<BalanceLevel><NumStaticBlocks data=\"41\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"10,170,180,170,180,230,180,310,10,310\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-400,-430,-250,-430,-250,-210,-250,-210,-250,-130,-170,-130,-197,-103,-197.5,-90.5,-167,-59,-250,-60,-250,20,-320,20,-320,80,-320,170,-400,170,-400,20,-250,20,-250,-210,-400,-210\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,-60,-168,-59,-168,20,-250,20\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,-210,-130,-210,-130,-170,-170,-130,-250,-130\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"490,170,630,170,630,310,520,310,520,230,490,200\"/><BlockDef_6 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"280,240,520,240,520,310,280,310\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"20,-210,100,-210,100,-130,60,-130,20,-170\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,-270,250,-270,250,-130,100,-130\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"210,-310,250,-310,250,-270,210,-270\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,-310,210,-310,210,-270,170,-270\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"210,-350,250,-350,250,-310,210,-310\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,-350,210,-350,210,-310,170,-310\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,-440,250,-440,250,-350,170,-350\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"250,-440,550,-440,550,-130,250,-130\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"550,-440,730,-440,730,-310,550,-310\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"550,-310,630,-310,630,-230,550,-230\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"630,-270,670,-270,670,-230,630,-230\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"670,-270,730,-270,730,-230,670,-230\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"630,-310,670,-310,670,-270,630,-270\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"670,-310,730,-310,730,-270,670,-270\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-400,-210,-250,-210,-250,20,-400,20\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,20,-170,20,-190,40,-191,67,-170,88,-170,170,-320,170\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,170,-170,170,-170,210,-210,210\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,210,-170,210,-170,250,-210,250\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,170,-210,170,-210,210,-250,210\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,210,-210,210,-210,250,-250,250\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-400,170,-250,170,-250,310,-400,310\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,250,-170,250,-170,310,-250,310\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"250,-130,400,-130,400,-80,300,-80\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,-130,550,-130,500,-80,400,-80\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-170,170,10,170,10,310,-170,310\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,120,230,120,230,180,180,180\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,230,280,230,280,310,180,310\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"550,-230,590,-230,570,-210,550,-190\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"630,170,670,170,670,210,630,210\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"670,170,730,170,730,210,670,210\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"630,210,670,210,670,250,630,250\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"670,210,730,210,730,250,670,250\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"630,250,730,250,730,310,630,310\"/><BlockDef_40 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,120,310,120,310,200,280,230,230,230\"/><BlockDef_41 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,180,230,180,230,230,180,230\"/><NumElementBlocks data=\"6\"/><ElementDef_1 data=\"5,-220,-90,1\"/><ElementDef_2 data=\"2,-300,-270,2\"/><ElementDef_3 data=\"1,100,220,1\"/><ElementDef_4 data=\"3,550,150\"/><ElementDef_5 data=\"5,-220,60,1\"/><ElementDef_6 data=\"4,260,80,You can use a spare block|to hold your tower steady.\"/><NumStamps data=\"179\"/><StampDef_1 data=\"3,-113,177\"/><StampDef_2 data=\"3,-27,176.5\"/><StampDef_3 data=\"2,-166,175.5\"/><StampDef_4 data=\"4,48.5,174\"/><StampDef_5 data=\"14,24,176\"/><StampDef_6 data=\"4,-137,-205.5\"/><StampDef_7 data=\"3,-193,-203.5\"/><StampDef_8 data=\"2,-246,-205.5\"/><StampDef_9 data=\"2,26,-206.5\"/><StampDef_10 data=\"14,55,-205\"/><StampDef_11 data=\"4,98,-207\"/><StampDef_12 data=\"15,81,-206\"/><StampDef_13 data=\"2,107,-267\"/><StampDef_14 data=\"4,170,-265.5\"/><StampDef_15 data=\"14,138,-265\"/><StampDef_16 data=\"2,186,125\"/><StampDef_17 data=\"4,300,123.5\"/><StampDef_18 data=\"3,243,125\"/><StampDef_19 data=\"2,498,173.5\"/><StampDef_20 data=\"3,554,176.5\"/><StampDef_21 data=\"3,641,176.5\"/><StampDef_22 data=\"14,701,176\"/><StampDef_23 data=\"2,158.5,172\"/><StampDef_24 data=\"4,172,172\"/><StampDef_25 data=\"38,300,250\"/><StampDef_26 data=\"38,340,250\"/><StampDef_27 data=\"38,380,250\"/><StampDef_28 data=\"38,420,250\"/><StampDef_29 data=\"38,460,250\"/><StampDef_30 data=\"38,500,250\"/><StampDef_31 data=\"32,-282,-180\"/><StampDef_32 data=\"33,-305,-164\"/><StampDef_33 data=\"34,-273.5,-140.5\"/><StampDef_34 data=\"33,-344,-49\"/><StampDef_35 data=\"33,-380,0\"/><StampDef_36 data=\"32,-276,-3\"/><StampDef_37 data=\"32,-380,-142\"/><StampDef_38 data=\"36,-297,-29\"/><StampDef_39 data=\"36,-382,-35\"/><StampDef_40 data=\"36,-314,-119\"/><StampDef_41 data=\"36,-376,-194\"/><StampDef_42 data=\"34,-295,-370\"/><StampDef_43 data=\"33,-349,-389\"/><StampDef_44 data=\"32,-368.5,-286.05\"/><StampDef_45 data=\"36,-361,-319\"/><StampDef_46 data=\"36,-346.5,-223.05\"/><StampDef_47 data=\"36,-388,-243\"/><StampDef_48 data=\"36,-265,-400\"/><StampDef_49 data=\"36,-389,-355\"/><StampDef_50 data=\"36,-214,-166\"/><StampDef_51 data=\"32,-163,-170\"/><StampDef_52 data=\"35,-186,-153\"/><StampDef_53 data=\"34,-224,-44\"/><StampDef_54 data=\"35,-210,0\"/><StampDef_55 data=\"34,-292,121\"/><StampDef_56 data=\"34,-195,145\"/><StampDef_57 data=\"35,-284,36\"/><StampDef_58 data=\"33,-354,145\"/><StampDef_59 data=\"34,-390,84\"/><StampDef_60 data=\"36,-225,112\"/><StampDef_61 data=\"36,-182,-36\"/><StampDef_62 data=\"36,-336,60\"/><StampDef_63 data=\"32,-346,265\"/><StampDef_64 data=\"33,-332,246\"/><StampDef_65 data=\"34,-265,277\"/><StampDef_66 data=\"33,-272,190\"/><StampDef_67 data=\"36,-374,203\"/><StampDef_68 data=\"36,-185,230\"/><StampDef_69 data=\"32,-89,212\"/><StampDef_70 data=\"34,-62,236\"/><StampDef_71 data=\"34,-1,198\"/><StampDef_72 data=\"34,-135,294\"/><StampDef_73 data=\"36,-138,250\"/><StampDef_74 data=\"36,-25,286\"/><StampDef_75 data=\"36,-213,274\"/><StampDef_76 data=\"36,-226,190\"/><StampDef_77 data=\"36,-295,-64\"/><StampDef_78 data=\"36,70.5,279\"/><StampDef_79 data=\"32,102,281\"/><StampDef_80 data=\"33,156.5,266\"/><StampDef_81 data=\"36,162.5,233\"/><StampDef_82 data=\"36,168,296\"/><StampDef_83 data=\"36,23.5,247\"/><StampDef_84 data=\"36,226,250\"/><StampDef_85 data=\"34,279,153\"/><StampDef_86 data=\"32,259,182\"/><StampDef_87 data=\"35,292,199\"/><StampDef_88 data=\"35,206,148\"/><StampDef_89 data=\"35,-107,277\"/><StampDef_90 data=\"35,255,279\"/><StampDef_91 data=\"35,576,275\"/><StampDef_92 data=\"32,599,258\"/><StampDef_93 data=\"34,554,231\"/><StampDef_94 data=\"33,604,208\"/><StampDef_95 data=\"32,694,281\"/><StampDef_96 data=\"35,644,288\"/><StampDef_97 data=\"34,694,220\"/><StampDef_98 data=\"35,517,192\"/><StampDef_99 data=\"35,649,194\"/><StampDef_100 data=\"36,656,226\"/><StampDef_101 data=\"36,543,290\"/><StampDef_102 data=\"36,217,208\"/><StampDef_103 data=\"32,76,-176\"/><StampDef_104 data=\"34,35,-185\"/><StampDef_105 data=\"36,63,-143\"/><StampDef_106 data=\"36,205,-204\"/><StampDef_107 data=\"36,131,-239\"/><StampDef_108 data=\"36,126,-164\"/><StampDef_109 data=\"36,400,-186\"/><StampDef_110 data=\"36,363,-309\"/><StampDef_111 data=\"36,310,-196\"/><StampDef_112 data=\"34,154,-151\"/><StampDef_113 data=\"34,154,-244\"/><StampDef_114 data=\"34,227,-175\"/><StampDef_115 data=\"34,152,-195\"/><StampDef_116 data=\"33,236,-260\"/><StampDef_117 data=\"32,305,-297\"/><StampDef_118 data=\"32,387,-259\"/><StampDef_119 data=\"32,338,-149\"/><StampDef_120 data=\"32,525,-376\"/><StampDef_121 data=\"32,526,-160\"/><StampDef_122 data=\"33,489,-305\"/><StampDef_123 data=\"33,506,-283\"/><StampDef_124 data=\"33,276,-393\"/><StampDef_125 data=\"33,272,-229\"/><StampDef_126 data=\"33,408,-361\"/><StampDef_127 data=\"33,190,-384\"/><StampDef_128 data=\"33,237,-404\"/><StampDef_129 data=\"34,188,-295\"/><StampDef_130 data=\"35,198,-374\"/><StampDef_131 data=\"35,230,-327\"/><StampDef_132 data=\"35,412,-250\"/><StampDef_133 data=\"35,644,-354\"/><StampDef_134 data=\"34,493,-102\"/><StampDef_135 data=\"33,411,-117\"/><StampDef_136 data=\"35,420,-107\"/><StampDef_137 data=\"36,457,-90\"/><StampDef_138 data=\"36,326,-103\"/><StampDef_139 data=\"32,690,-247\"/><StampDef_140 data=\"34,588,-267\"/><StampDef_141 data=\"34,696,-289\"/><StampDef_142 data=\"35,412,-180\"/><StampDef_143 data=\"35,598,-396\"/><StampDef_144 data=\"33,697,-410\"/><StampDef_145 data=\"32,684,-392\"/><StampDef_146 data=\"32,351,-426\"/><StampDef_147 data=\"6,-99,151\"/><StampDef_148 data=\"91,123,-324.5\"/><StampDef_149 data=\"7,143,-287\"/><StampDef_150 data=\"10,162,-279\"/><StampDef_151 data=\"8,108,-279\"/><StampDef_152 data=\"8,-144,-224\"/><StampDef_153 data=\"11,-163,-246\"/><StampDef_154 data=\"13,-186,-228.5\"/><StampDef_155 data=\"9,-175,-219\"/><StampDef_156 data=\"12,-238,-221\"/><StampDef_157 data=\"12,77,-223\"/><StampDef_158 data=\"9,58,-226\"/><StampDef_159 data=\"43,35,-218\"/><StampDef_160 data=\"9,-46,155\"/><StampDef_161 data=\"93,310,280\"/><StampDef_162 data=\"93,360,280\"/><StampDef_163 data=\"93,420,280\"/><StampDef_164 data=\"93,470,280\"/><StampDef_165 data=\"93,530,280\"/><StampDef_166 data=\"91,-27.30000000000001,113.85000000000002\"/><StampDef_167 data=\"92,222,77\"/><StampDef_168 data=\"11,8,136\"/><StampDef_169 data=\"5,5,153\"/><StampDef_170 data=\"8,36.5,157\"/><StampDef_171 data=\"12,-160,159\"/><StampDef_172 data=\"12,204,108\"/><StampDef_173 data=\"8,613,159\"/><StampDef_174 data=\"9,667,126\"/><StampDef_175 data=\"6,665,149\"/><StampDef_176 data=\"11,645,151\"/><StampDef_177 data=\"43,165.3,161\"/><StampDef_178 data=\"9,241,106\"/><StampDef_179 data=\"41,292,122\"/><NumLevelBlocks data=\"13\"/><LevelBlockDef_1 data=\"7,0,0,0,1,3\"/><LevelBlockDef_2 data=\"4,0,0,0,1,7\"/><LevelBlockDef_3 data=\"7,0,0,0,1,3\"/><LevelBlockDef_4 data=\"4,0,0,0,1,7\"/><LevelBlockDef_5 data=\"7,0,0,0,1,13\"/><LevelBlockDef_6 data=\"5,0,0,0,1,8\"/><LevelBlockDef_7 data=\"7,0,0,0,1,14\"/><LevelBlockDef_8 data=\"5,0,0,0,1,8\"/><LevelBlockDef_9 data=\"3,0,0,0,1,1\"/><LevelBlockDef_10 data=\"7,0,0,0,1,5\"/><LevelBlockDef_11 data=\"3,0,0,0,1,1\"/><LevelBlockDef_12 data=\"27,0,0,0,0,0\"/><LevelBlockDef_13 data=\"7,0,0,0,1,13\"/><NumInitialBlocks data=\"12\"/><InitialBlockDef_1 data=\"-7.338170808612601,-11.651810723103594,12.566263360855428,1,0,1,2,true,7\"/><InitialBlockDef_2 data=\"-7.00138789730008,-7.994813308221931,4.712460605545344,1,0,1,2,true,7\"/><InitialBlockDef_3 data=\"-5.335274191037716,-7.66188972489849,18.84985847872288,1,0,1,4,true,7\"/><InitialBlockDef_4 data=\"-7.336854214766233,-9.656342586063577,0.00010095478050851162,1,0,1,4,true,7\"/><InitialBlockDef_5 data=\"-5.339610870464444,-10.323440215073408,3.141975544584017,1,0,1,2,true,7\"/><InitialBlockDef_6 data=\"-5.3428097435947866,-11.65168211305856,0.00042877485039434553,1,0,1,4,true,7\"/><InitialBlockDef_7 data=\"2.3376542911215568,-7.66175789808833,-3.1415767072446537,1,0,1,0,true,3\"/><InitialBlockDef_8 data=\"2.3353058448609283,-9.326057611251438,-0.0022737251528626165,1,0,1,0,true,3\"/><InitialBlockDef_9 data=\"2.3408514839105483,-10.32154060046447,-0.002520782144500059,1,0,0,0,true,5\"/><InitialBlockDef_10 data=\"5.010078967336383,-10.001292316231405,-1.5751803177474952,1,0,0,0,true,4\"/><InitialBlockDef_11 data=\"4.331858862906868,-12.664229868090707,3.137251090506384,1,0,0,0,true,4\"/><InitialBlockDef_12 data=\"3.32773781662603,-13.656204133706789,3.137492684502242,1,0,0,0,true,4\"/><ScrollLimits data=\"-394,713,-421,299,0,0\"/><Score data=\"10000\" /></BalanceLevel>"; ["5a0d2949597fa95ae3a63cff8c108e68"] = "<BalanceLevel><NumStaticBlocks data=\"42\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-230,-230,-230,-230,250,-290,250\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,250,-150,250,-150,390,-290,390\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,250,-110,250,-110,290,-150,290\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,290,-110,290,-110,330,-150,330\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,250,-70,250,-70,290,-110,290\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,290,-70,290,-70,330,-110,330\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,330,-70,330,-70,390,-150,390\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-70,250,80,250,80,390,-70,390\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,250,170,250,170,340,80,340\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,340,170,340,170,390,80,390\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,340,210,340,210,390,170,390\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"210,340,250,340,250,390,210,390\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,250,250,250,250,340,170,340\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"250,250,290,250,290,390,250,390\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,90,-230,90,-230,250,-290,250\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,50,-230,50,-230,90,-270,90\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,10,-230,10,-230,50,-270,50\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,10,-270,10,-270,50,-290,50\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,50,-270,50,-270,90,-290,90\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-100,-230,-100,-230,10,-290,10\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-230,-230,-230,-230,-100,-290,-100\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-390,-140,-390,-140,-230,-290,-230\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,-390,-100,-390,-100,-350,-140,-350\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,-350,-100,-350,-100,-310,-140,-310\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,-390,-60,-390,-60,-350,-100,-350\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,-350,-60,-350,-60,-310,-100,-310\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,-310,-60,-310,-60,-230,-140,-230\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"120,-390,290,-390,290,-230,120,-230\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,-390,120,-390,120,-230,-60,-230\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-230,290,-230,290,-130,230,-130\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-130,270,-130,270,-90,230,-90\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-90,270,-90,270,-50,230,-50\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,-130,290,-130,290,-90,270,-90\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,-90,290,-90,290,-50,270,-50\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-50,290,-50,290,60,230,60\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,60,290,60,290,170,230,170\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,210,270,210,270,250,230,250\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,210,290,210,290,250,270,250\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,170,270,170,270,210,230,210\"/><BlockDef_40 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,170,290,170,290,210,270,210\"/><BlockDef_41 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,-230,-160,-230,-230,-160\"/><BlockDef_42 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"160,-230,230,-230,230,-160\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"1,-10,300,1\"/><ElementDef_2 data=\"2,-10,-270,3\"/><ElementDef_3 data=\"4,60,210,remember only metal shapes can|conduct. You can use the wooden| crates or other shapes to support|the structure.\"/><NumStamps data=\"78\"/><StampDef_1 data=\"3,-174,256\"/><StampDef_2 data=\"2,-229,255\"/><StampDef_3 data=\"3,-86.5,256\"/><StampDef_4 data=\"3,83.5,256\"/><StampDef_5 data=\"3,169,255\"/><StampDef_6 data=\"4,224,254\"/><StampDef_7 data=\"92,-158,220\"/><StampDef_8 data=\"91,151,201\"/><StampDef_9 data=\"92,191,217\"/><StampDef_10 data=\"41,-205,235\"/><StampDef_11 data=\"41,-175.5,253\"/><StampDef_12 data=\"40,120,240\"/><StampDef_13 data=\"42,215,242\"/><StampDef_14 data=\"91,-81.5,195\"/><StampDef_15 data=\"8,-118.5,232\"/><StampDef_16 data=\"43,-115,242\"/><StampDef_17 data=\"43,-97.5,249\"/><StampDef_18 data=\"7,-138,244\"/><StampDef_19 data=\"10,89.5,242\"/><StampDef_20 data=\"32,-132,350\"/><StampDef_21 data=\"35,-40.5,352\"/><StampDef_22 data=\"32,4,359\"/><StampDef_23 data=\"35,51.5,313\"/><StampDef_24 data=\"34,153,279\"/><StampDef_25 data=\"32,232,323\"/><StampDef_26 data=\"35,193,354\"/><StampDef_27 data=\"32,-243,282\"/><StampDef_28 data=\"34,-222,351\"/><StampDef_29 data=\"35,-167,279\"/><StampDef_30 data=\"35,-89.5,302\"/><StampDef_31 data=\"36,-81.5,336\"/><StampDef_32 data=\"36,-266,350\"/><StampDef_33 data=\"36,-174,315\"/><StampDef_34 data=\"36,107,313\"/><StampDef_35 data=\"33,139,366\"/><StampDef_36 data=\"33,-256,144\"/><StampDef_37 data=\"32,-275,203\"/><StampDef_38 data=\"35,252,105\"/><StampDef_39 data=\"32,276,153\"/><StampDef_40 data=\"35,254,230\"/><StampDef_41 data=\"35,-262,-38\"/><StampDef_42 data=\"32,-270,-71\"/><StampDef_43 data=\"35,-259,58\"/><StampDef_44 data=\"36,-237,21\"/><StampDef_45 data=\"36,-240,176\"/><StampDef_46 data=\"32,249,-17\"/><StampDef_47 data=\"35,268,5\"/><StampDef_48 data=\"33,-180,-267\"/><StampDef_49 data=\"32,-201,-293\"/><StampDef_50 data=\"33,-152,-310\"/><StampDef_51 data=\"36,-186,-372\"/><StampDef_52 data=\"33,-259,-344\"/><StampDef_53 data=\"36,-261,-251\"/><StampDef_54 data=\"36,-248,-159\"/><StampDef_55 data=\"35,-241,-144\"/><StampDef_56 data=\"32,-4,-335\"/><StampDef_57 data=\"34,28,-346\"/><StampDef_58 data=\"34,-73.44999999999999,-248\"/><StampDef_59 data=\"33,-74,-325\"/><StampDef_60 data=\"32,98,-249\"/><StampDef_61 data=\"33,208,-311\"/><StampDef_62 data=\"36,46.55000000000001,-289\"/><StampDef_63 data=\"36,-30,-353\"/><StampDef_64 data=\"36,-122,-369\"/><StampDef_65 data=\"36,201,-267\"/><StampDef_66 data=\"32,156,-360\"/><StampDef_67 data=\"33,263,-250\"/><StampDef_68 data=\"33,274,-373\"/><StampDef_69 data=\"33,142,-282\"/><StampDef_70 data=\"33,257,-158\"/><StampDef_71 data=\"34,243,-75\"/><StampDef_72 data=\"36,247,-170\"/><StampDef_73 data=\"36,241,37\"/><StampDef_74 data=\"36,199,280\"/><StampDef_75 data=\"36,-267,-211\"/><StampDef_76 data=\"33,-209,-202\"/><StampDef_77 data=\"36,201,-219\"/><StampDef_78 data=\"36,215,-194\"/><NumLevelBlocks data=\"0\"/><NumInitialBlocks data=\"17\"/><InitialBlockDef_1 data=\"-3.676520847640205,7.67162049261918,0.000046174981404494884,0,0,1,5,true,7\"/><InitialBlockDef_2 data=\"5.999872304713911,2.343913772956485,-7.853457302379845,0,0,1,3,true,7\"/><InitialBlockDef_3 data=\"-6.337358926898724,7.338495143819507,-1.5707394272402095,0,0,1,13,true,7\"/><InitialBlockDef_4 data=\"-6.659205050420217,2.6821867575627087,6.2836061216152554,1,0,1,2,true,7\"/><InitialBlockDef_5 data=\"6.327763316883452,0.3448693020711798,1.5716753736128997,1,0,1,2,true,7\"/><InitialBlockDef_6 data=\"-0.10813258478193631,5.675245480213353,0.0014591114525208421,1,0,1,4,true,7\"/><InitialBlockDef_7 data=\"-0.12913592238918795,7.670211695349067,0.0014566259765213087,1,0,1,4,true,7\"/><InitialBlockDef_8 data=\"-4.661260760164953,4.676558093311134,3.141434706975283,1,0,1,0,true,3\"/><InitialBlockDef_9 data=\"-7.3352536029445785,4.343519725286872,1.5711979078814626,1,0,1,32,true,5\"/><InitialBlockDef_10 data=\"4.986754807056608,-0.6556797010575689,-10.995806611121468,1,0,1,32,true,5\"/><InitialBlockDef_11 data=\"5.997806319535396,6.337147453610561,1.5708054769266984,0,0,1,8,true,5\"/><InitialBlockDef_12 data=\"5.332333964546453,5.340198942265998,-1.5698091376656291,0,0,1,1,true,3\"/><InitialBlockDef_13 data=\"-5.006539145592985,7.338264781685611,-1.5709503225323747,0,0,1,7,true,4\"/><InitialBlockDef_14 data=\"4.331456934451483,7.3363123429858,1.572245037778816,0,0,1,14,true,7\"/><InitialBlockDef_15 data=\"6.999412689321864,1.678507977883833,0.0002545130959842278,0,0,1,11,true,6\"/><InitialBlockDef_16 data=\"7.000821432819119,3.341164197317944,7.853197428445699,0,0,1,1,true,3\"/><InitialBlockDef_17 data=\"-6.669834360648768,0.685784164356451,0.0011790970364040402,1,0,1,2,true,7\"/><ScrollLimits data=\"-279,277,-373,378,0,10\"/><Score data=\"5000\" /></BalanceLevel>"; ["6f574d60af7a9aa3fca5cdadcd0bb75b"] = "<BalanceLevel><NumStaticBlocks data=\"46\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"360,10,400,10,400,50,360,50\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,10,440,10,440,50,400,50\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"360,50,400,50,400,90,360,90\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,50,440,50,440,90,400,90\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"360,90,440,90,440,240,360,240\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,240,440,240,440,420,260,420\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,240,260,240,260,280,220,280\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,240,220,240,220,280,180,280\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,280,260,280,260,320,220,320\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,280,220,280,220,320,180,320\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,320,260,320,260,420,180,420\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,240,180,240,180,320,100,320\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,320,180,320,180,420,100,420\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-40,240,100,240,100,420,-40,420\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,240,-40,240,-40,420,-210,420\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-280,240,-210,240,-210,310,-280,310\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,240,-280,240,-280,310,-350,310\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,310,-280,310,-280,420,-350,420\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-280,310,-210,310,-210,420,-280,420\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,200,-310,200,-310,240,-350,240\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,160,-310,160,-310,200,-350,200\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,10,-310,10,-310,160,-350,160\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-120,-70,-80,-70,-80,-30,-120,10\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-200,-70,-120,-70,-120,10,-200,10\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,-70,-200,-70,-200,10,-270,10\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,-290,-270,-290,-270,10,-350,10\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,-350,-270,-350,-270,-290,-350,-290\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,-330,-230,-330,-230,-290,-270,-290\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,-330,-190,-330,-190,-290,-230,-290\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,-350,-230,-350,-230,-330,-270,-330\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,-350,-190,-350,-190,-330,-230,-330\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,-350,-90,-350,-90,-290,-190,-290\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-90,-350,140,-350,140,-180,-40,-180,-40,-200,-90,-200\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-200,-40,-200,-40,-150,-160,-150\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,-220,180,-220,180,-180,140,-180\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,-260,180,-260,180,-220,140,-220\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,-220,220,-220,220,-180,180,-180\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,-260,220,-260,220,-220,180,-220\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,-350,220,-350,220,-260,140,-260\"/><BlockDef_40 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,-350,440,-350,440,-70,220,-70\"/><BlockDef_41 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,-180,220,-180,220,-70,130,-70,110,-90\"/><BlockDef_42 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-50,-120,110,-120,110,-90,-50,-90\"/><BlockDef_43 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"360,-70,440,-70,440,10,360,10\"/><BlockDef_44 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"320,-70,360,-70,360,-30\"/><BlockDef_45 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,10,-270,10,-310,50\"/><BlockDef_46 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,-290,-230,-290,-270,-250\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"2,0,-220,3\"/><ElementDef_2 data=\"1,-110,290,1\"/><ElementDef_3 data=\"3,180,220\"/><ElementDef_4 data=\"4,20,200,Hmmmmmm!!!||monster loves bananas.\"/><NumStamps data=\"110\"/><StampDef_1 data=\"2,-304,244\"/><StampDef_2 data=\"3,-247,245\"/><StampDef_3 data=\"14,-185.5,245\"/><StampDef_4 data=\"15,-159.5,244\"/><StampDef_5 data=\"3,-16,245\"/><StampDef_6 data=\"3,72,245\"/><StampDef_7 data=\"3,161,244\"/><StampDef_8 data=\"3,249,243\"/><StampDef_9 data=\"14,311,243\"/><StampDef_10 data=\"15,336,243\"/><StampDef_11 data=\"4,354,242\"/><StampDef_12 data=\"2,-151,-196\"/><StampDef_13 data=\"14,-123,-195\"/><StampDef_14 data=\"4,-94,-197\"/><StampDef_15 data=\"3,31,-115\"/><StampDef_16 data=\"4,106,-115\"/><StampDef_17 data=\"14,80,-116\"/><StampDef_18 data=\"2,-42,-116\"/><StampDef_19 data=\"15,-22,-114\"/><StampDef_20 data=\"2,-264,-65\"/><StampDef_21 data=\"3,-209,-64\"/><StampDef_22 data=\"14,-147,-64\"/><StampDef_23 data=\"14,-120,-64\"/><StampDef_24 data=\"4,-90,-65\"/><StampDef_25 data=\"91,-252,185\"/><StampDef_26 data=\"5,331,219\"/><StampDef_27 data=\"5,-283.5,222\"/><StampDef_28 data=\"8,298,199\"/><StampDef_29 data=\"6,266,217\"/><StampDef_30 data=\"11,119,224\"/><StampDef_31 data=\"10,279,225\"/><StampDef_32 data=\"92,96,189\"/><StampDef_33 data=\"8,77,226\"/><StampDef_34 data=\"7,-42,224\"/><StampDef_35 data=\"10,-234,229\"/><StampDef_36 data=\"92,-192,214\"/><StampDef_37 data=\"5,-233,-88\"/><StampDef_38 data=\"9,-198,-84\"/><StampDef_39 data=\"12,88,-136\"/><StampDef_40 data=\"42,65,-130\"/><StampDef_41 data=\"43,-13,230\"/><StampDef_42 data=\"43,-99,-78\"/><StampDef_43 data=\"8,-109,-213\"/><StampDef_44 data=\"10,-126,-207\"/><StampDef_45 data=\"33,-256,-15\"/><StampDef_46 data=\"35,-216,-44\"/><StampDef_47 data=\"32,-147,-11\"/><StampDef_48 data=\"36,-103,-40\"/><StampDef_49 data=\"33,-163,-28\"/><StampDef_50 data=\"32,-304,-135\"/><StampDef_51 data=\"34,-286,-158\"/><StampDef_52 data=\"36,-320,-173\"/><StampDef_53 data=\"35,-320,-49\"/><StampDef_54 data=\"34,-295,-269\"/><StampDef_55 data=\"36,-206,-312\"/><StampDef_56 data=\"32,-326,113\"/><StampDef_57 data=\"34,-334,35\"/><StampDef_58 data=\"33,-301,276\"/><StampDef_59 data=\"36,-328,295\"/><StampDef_60 data=\"33,-235,350\"/><StampDef_61 data=\"34,-327,332\"/><StampDef_62 data=\"32,-105.94999999999999,356\"/><StampDef_63 data=\"34,-134,370\"/><StampDef_64 data=\"36,3,284\"/><StampDef_65 data=\"36,-187,298\"/><StampDef_66 data=\"33,60,328\"/><StampDef_67 data=\"35,-2,337\"/><StampDef_68 data=\"32,81,271\"/><StampDef_69 data=\"33,158,351\"/><StampDef_70 data=\"35,124,303\"/><StampDef_71 data=\"34,243,298\"/><StampDef_72 data=\"33,368,321\"/><StampDef_73 data=\"32,308,274\"/><StampDef_74 data=\"32,415,356\"/><StampDef_75 data=\"34,288,356\"/><StampDef_76 data=\"33,412,250\"/><StampDef_77 data=\"36,207,268\"/><StampDef_78 data=\"36,-314,-311\"/><StampDef_79 data=\"36,-288,-210\"/><StampDef_80 data=\"36,-136,-316\"/><StampDef_81 data=\"32,-110,-307\"/><StampDef_82 data=\"33,-68,-264\"/><StampDef_83 data=\"32,-74,-176\"/><StampDef_84 data=\"36,-135,-169\"/><StampDef_85 data=\"34,278,-136\"/><StampDef_86 data=\"32,350,-187\"/><StampDef_87 data=\"33,379,-114\"/><StampDef_88 data=\"34,274,-256\"/><StampDef_89 data=\"33,409,-307\"/><StampDef_90 data=\"32,252,-330\"/><StampDef_91 data=\"32,403,-33\"/><StampDef_92 data=\"34,376,-5\"/><StampDef_93 data=\"33,421,71\"/><StampDef_94 data=\"34,376,142\"/><StampDef_95 data=\"34,425,194\"/><StampDef_96 data=\"36,420,122\"/><StampDef_97 data=\"36,417,-188\"/><StampDef_98 data=\"36,338,-295\"/><StampDef_99 data=\"36,142,-107\"/><StampDef_100 data=\"33,-182.5,341\"/><StampDef_101 data=\"36,-49.5,323\"/><StampDef_102 data=\"36,98,-299\"/><StampDef_103 data=\"34,38,-292\"/><StampDef_104 data=\"34,-26,-325\"/><StampDef_105 data=\"32,152,-155\"/><StampDef_106 data=\"34,192,-105\"/><StampDef_107 data=\"34,171,-289\"/><StampDef_108 data=\"33,62,-104\"/><StampDef_109 data=\"36,118,-209\"/><StampDef_110 data=\"36,26,-100\"/><NumLevelBlocks data=\"6\"/><LevelBlockDef_1 data=\"7,1,0,0,1,2\"/><LevelBlockDef_2 data=\"7,1,0,0,1,2\"/><LevelBlockDef_3 data=\"7,1,0,0,1,2\"/><LevelBlockDef_4 data=\"7,1,0,0,1,2\"/><LevelBlockDef_5 data=\"5,1,0,0,1,32\"/><LevelBlockDef_6 data=\"7,1,0,0,1,4\"/><NumInitialBlocks data=\"3\"/><InitialBlockDef_1 data=\"-8.00351317992086,-2.998979152221446,0.0022446559422733795,5,0,1,18,true,7\"/><InitialBlockDef_2 data=\"-0.31804479753250287,-4.664710000132489,3.142053821994207,1,0,1,0,true,3\"/><InitialBlockDef_3 data=\"-3.994999638585316,-7.328812627251027,-6.283184950478529,9,0,1,21,true,7\"/><ScrollLimits data=\"-335,433,-334,371,-40,0\"/><Score data=\"5000\" /></BalanceLevel>"; ["7e97a62afed321eb47d19020056eeea1"] = "<BalanceLevel><NumStaticBlocks data=\"37\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-340,110,-300,110,-300,150,-340,150\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-300,110,-260,110,-260,150,-300,150\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-300,70,-260,70,-260,110,-300,110\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-340,70,-300,70,-300,110,-340,110\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-340,-20,-260,-20,-260,70,-340,70\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-340,-210,-260,-210,-260,-20,-340,-20\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-260,-210,-190,-210,-260,-140\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-340,-290,-190,-290,-190,-210,-340,-210\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,-250,-150,-250,-150,-210,-190,-210\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,-290,-150,-290,-150,-250,-190,-250\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,-250,-110,-250,-110,-210,-150,-210\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,-290,-110,-290,-110,-250,-150,-250\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,-210,0,-210,0,-150\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"0,-210,140,-210,140,-150,0,-150\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,-210,200,-210,140,-150\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"0,30,140,30,140,210,0,210\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"0,210,80,210,80,290,0,290\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,210,140,210,140,270,80,270\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,270,140,270,140,290,80,290\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-120,150,0,150,0,290,-120,290\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-340,150,-120,150,-120,290,-340,290\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,150,280,150,280,290,140,290\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,150,540,150,540,290,280,290\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"440,110,480,110,480,150,440,150\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"480,110,540,110,540,150,480,150\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"440,70,480,70,480,110,440,110\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"480,70,540,70,540,110,480,110\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"440,-30,540,-30,540,70,440,70\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"440,-210,540,-210,540,-30,440,-30\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"360,-290,540,-290,540,-210,360,-210\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"320,-250,360,-250,360,-210,320,-210\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,-250,320,-250,320,-210,280,-210\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,-290,320,-290,320,-250,280,-250\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"320,-290,360,-290,360,-250,320,-250\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"120,-290,280,-290,280,-210,120,-210\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"380,-210,440,-210,440,-150\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-290,120,-290,120,-210,-110,-210\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"1,-190,200,1\"/><ElementDef_2 data=\"2,360,200,1\"/><ElementDef_3 data=\"4,70,-10,Tesla blocks can connect a|circuit through air and ground.|Try placing the two Teslas|close enough to each other.\"/><NumStamps data=\"91\"/><StampDef_1 data=\"3,-71,155\"/><StampDef_2 data=\"2,-127.1,153.8\"/><StampDef_3 data=\"15,-22,154\"/><StampDef_4 data=\"4,-4,154\"/><StampDef_5 data=\"2,-253.5,155\"/><StampDef_6 data=\"15,-236.5,156\"/><StampDef_7 data=\"2,148,154\"/><StampDef_8 data=\"3,204,155\"/><StampDef_9 data=\"14,266,154\"/><StampDef_10 data=\"14,301,155\"/><StampDef_11 data=\"4,432.95000000000005,153\"/><StampDef_12 data=\"15,414.95,154\"/><StampDef_13 data=\"32,116,108\"/><StampDef_14 data=\"35,30,105\"/><StampDef_15 data=\"32,51,232\"/><StampDef_16 data=\"33,20,229\"/><StampDef_17 data=\"36,30,258\"/><StampDef_18 data=\"36,-89,215\"/><StampDef_19 data=\"33,-78,201\"/><StampDef_20 data=\"32,-52,268\"/><StampDef_21 data=\"33,123,245\"/><StampDef_22 data=\"33,74,158\"/><StampDef_23 data=\"36,43,172\"/><StampDef_24 data=\"34,-213.5,255\"/><StampDef_25 data=\"33,-168,268\"/><StampDef_26 data=\"36,-181.5,248\"/><StampDef_27 data=\"36,-249.5,258\"/><StampDef_28 data=\"32,-327.5,207\"/><StampDef_29 data=\"34,-284,173\"/><StampDef_30 data=\"33,-313,269\"/><StampDef_31 data=\"32,255,223\"/><StampDef_32 data=\"36,233,197\"/><StampDef_33 data=\"33,191,264\"/><StampDef_34 data=\"33,172,185\"/><StampDef_35 data=\"32,367,251\"/><StampDef_36 data=\"36,387,263\"/><StampDef_37 data=\"33,305,255\"/><StampDef_38 data=\"35,415.95,211\"/><StampDef_39 data=\"37,414.95,247\"/><StampDef_40 data=\"32,504,223\"/><StampDef_41 data=\"34,481,164\"/><StampDef_42 data=\"34,-316,84\"/><StampDef_43 data=\"36,-276,-4\"/><StampDef_44 data=\"32,-326,27\"/><StampDef_45 data=\"32,-289,-182\"/><StampDef_46 data=\"34,-321,-105\"/><StampDef_47 data=\"33,-275,-68\"/><StampDef_48 data=\"32,117,-167\"/><StampDef_49 data=\"34,27,-197\"/><StampDef_50 data=\"36,92,-188\"/><StampDef_51 data=\"36,-216,-255\"/><StampDef_52 data=\"33,-306,-250\"/><StampDef_53 data=\"32,-79,-233\"/><StampDef_54 data=\"33,-69,-249\"/><StampDef_55 data=\"33,456,-18\"/><StampDef_56 data=\"32,518,26\"/><StampDef_57 data=\"36,437,249\"/><StampDef_58 data=\"32,504,-151\"/><StampDef_59 data=\"35,479,-103\"/><StampDef_60 data=\"33,257,-259\"/><StampDef_61 data=\"36,171,-256\"/><StampDef_62 data=\"34,67,-267\"/><StampDef_63 data=\"34,3,-231\"/><StampDef_64 data=\"36,-164,-226\"/><StampDef_65 data=\"36,501,92\"/><StampDef_66 data=\"36,427,-196\"/><StampDef_67 data=\"34,470,-263\"/><StampDef_68 data=\"32,384,-265\"/><StampDef_69 data=\"35,219,-226\"/><StampDef_70 data=\"35,514,-226\"/><StampDef_71 data=\"35,-240,-178\"/><StampDef_72 data=\"36,-237,-199\"/><StampDef_73 data=\"6,-44,127\"/><StampDef_74 data=\"12,-114,136\"/><StampDef_75 data=\"9,-96,132\"/><StampDef_76 data=\"8,-241,139\"/><StampDef_77 data=\"5,167,131\"/><StampDef_78 data=\"91,196,92\"/><StampDef_79 data=\"11,216,137\"/><StampDef_80 data=\"8,304,136\"/><StampDef_81 data=\"43,285,142\"/><StampDef_82 data=\"92,247.95,124\"/><StampDef_83 data=\"9,424,139\"/><StampDef_84 data=\"2,5,35\"/><StampDef_85 data=\"3,60,36\"/><StampDef_86 data=\"14,108,36\"/><StampDef_87 data=\"4,136,34\"/><StampDef_88 data=\"42,26,21\"/><StampDef_89 data=\"43,51,26\"/><StampDef_90 data=\"12,130,18\"/><StampDef_91 data=\"10,114,27\"/><NumLevelBlocks data=\"0\"/><NumInitialBlocks data=\"5\"/><InitialBlockDef_1 data=\"-6.249372310939516,4.335227022227238,-0.0007527718127870725,1,0,1,2,true,7\"/><InitialBlockDef_2 data=\"12.46262056402453,4.336711745944849,0.0005075168426837335,1,0,1,2,true,7\"/><InitialBlockDef_3 data=\"12.473866848021453,2.3406808637927075,0.0007147788588225243,1,0,1,4,true,7\"/><InitialBlockDef_4 data=\"-6.119814548340412,2.3377897961501546,0.00007295221115725641,10,0,1,22,true,7\"/><InitialBlockDef_5 data=\"12.578714018795019,0.3454566832168333,0.0008546512280962939,10,0,1,22,true,7\"/><ScrollLimits data=\"-328,519,-275,280,0,0\"/><Score data=\"2000\" /></BalanceLevel>"; ["8a7b4b32cc5c73b549deece3d9c5378e"] = "<BalanceLevel><NumStaticBlocks data=\"35\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-170,-100,-100,-100,-100,-40,-170,-40\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,-100,-40,-100,-40,-70,-70,-40,-100,-40\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-100,-170,-100,-170,20,-290,20\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,20,-170,20,-170,80,-230,80\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,20,-230,20,-230,80,-290,80\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,80,-170,80,-170,140,-230,140\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,80,-230,80,-230,140,-290,140\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,140,-140,140,-140,290,-290,290\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"50,140,90,140,90,180,50,180\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"90,140,130,140,130,180,90,180\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"50,180,90,180,90,220,50,220\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"90,180,130,180,130,220,90,220\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"50,220,130,220,130,290,50,290\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,140,50,140,50,290,-140,290\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"130,140,280,140,280,290,130,290\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,140,430,140,430,290,280,290\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,-420,310,-420,310,-380\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"310,-460,390,-460,390,-380,310,-380\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,-460,310,-460,310,-420,270,-420\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"390,-460,450,-460,450,-380,390,-380\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,-550,360,-550,360,-460,270,-460\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"360,-550,450,-550,450,-460,360,-460\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,-750,450,-750,450,-550,270,-550\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-750,270,-750,270,-710,230,-710\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"60,-750,230,-750,230,-710,80,-710,60,-730\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,-750,-80,-750,-80,-730,-100,-710,-210,-710\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,-750,-210,-750,-210,-710,-250,-710\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,-710,-210,-710,-210,-670,-250,-670\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-710,-250,-710,-250,-670,-290,-670\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-750,-250,-750,-250,-710,-290,-710\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-670,-210,-670,-210,-600,-290,-600\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,-600,-210,-600,-210,-560,-250,-560\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,-560,-210,-560,-250,-520\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-600,-250,-600,-250,-460,-290,-460\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-460,-250,-460,-290,-420\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"1,-50,190,1\"/><ElementDef_2 data=\"3,-140,-120\"/><ElementDef_3 data=\"2,310,-620,4\"/><ElementDef_4 data=\"4,80,100,Try building a really tall tower|using these screws. They are|great for holding shapes in place.\"/><NumStamps data=\"75\"/><StampDef_1 data=\"4,-49,-97\"/><StampDef_2 data=\"15,-69,-97\"/><StampDef_3 data=\"14,-94,-95\"/><StampDef_4 data=\"3,-157,-96\"/><StampDef_5 data=\"3,-245,-96\"/><StampDef_6 data=\"3,44.5,144\"/><StampDef_7 data=\"3,131.5,143\"/><StampDef_8 data=\"3,219.5,143\"/><StampDef_9 data=\"3,308.5,143\"/><StampDef_10 data=\"3,395.5,143\"/><StampDef_11 data=\"2,-165,143\"/><StampDef_12 data=\"14,-134,144\"/><StampDef_13 data=\"14,-108,144\"/><StampDef_14 data=\"32,162,177\"/><StampDef_15 data=\"35,190,208\"/><StampDef_16 data=\"32,266,176\"/><StampDef_17 data=\"34,266,248\"/><StampDef_18 data=\"34,68,247\"/><StampDef_19 data=\"36,159,259\"/><StampDef_20 data=\"34,375,193\"/><StampDef_21 data=\"33,390,250\"/><StampDef_22 data=\"34,320,241\"/><StampDef_23 data=\"33,64,197\"/><StampDef_24 data=\"36,115,167\"/><StampDef_25 data=\"36,-38,247\"/><StampDef_26 data=\"33,-57,250\"/><StampDef_27 data=\"32,-259,223\"/><StampDef_28 data=\"34,-185,226\"/><StampDef_29 data=\"36,-247,158\"/><StampDef_30 data=\"36,-222,272\"/><StampDef_31 data=\"36,-121.5,195\"/><StampDef_32 data=\"36,19,259\"/><StampDef_33 data=\"32,-268,-35\"/><StampDef_34 data=\"33,-195,-57\"/><StampDef_35 data=\"36,-218,-9\"/><StampDef_36 data=\"35,-260,54\"/><StampDef_37 data=\"36,-208,102\"/><StampDef_38 data=\"32,-111.94999999999999,279\"/><StampDef_39 data=\"33,-79,-65\"/><StampDef_40 data=\"36,-54,-74\"/><StampDef_41 data=\"36,-242,-74\"/><StampDef_42 data=\"33,-279,118\"/><StampDef_43 data=\"35,-189,59\"/><StampDef_44 data=\"35,-156,184\"/><StampDef_45 data=\"36,320,177\"/><StampDef_46 data=\"36,-124,-69\"/><StampDef_47 data=\"32,-267,-642\"/><StampDef_48 data=\"33,-230,-613\"/><StampDef_49 data=\"36,-222,-653\"/><StampDef_50 data=\"36,-265,-566\"/><StampDef_51 data=\"33,-269,-486\"/><StampDef_52 data=\"33,-135,-728\"/><StampDef_53 data=\"34,-269,-734\"/><StampDef_54 data=\"36,-224,-730\"/><StampDef_55 data=\"36,111,-728\"/><StampDef_56 data=\"32,170,-735\"/><StampDef_57 data=\"33,210.05,-724\"/><StampDef_58 data=\"33,360,-726\"/><StampDef_59 data=\"32,394,-627\"/><StampDef_60 data=\"33,377,-593\"/><StampDef_61 data=\"36,374.5,-638.95\"/><StampDef_62 data=\"36,336.5,-683.95\"/><StampDef_63 data=\"36,299,-516\"/><StampDef_64 data=\"32,335,-483\"/><StampDef_65 data=\"33,341,-529\"/><StampDef_66 data=\"33,331,-393\"/><StampDef_67 data=\"34,366,-430\"/><StampDef_68 data=\"33,417,-499\"/><StampDef_69 data=\"33,417,-398\"/><StampDef_70 data=\"36,292,-444\"/><StampDef_71 data=\"36,389,-529\"/><StampDef_72 data=\"36,414,-695\"/><StampDef_73 data=\"34,298,-720\"/><StampDef_74 data=\"34,282,-536\"/><StampDef_75 data=\"34,416,163\"/><NumLevelBlocks data=\"7\"/><LevelBlockDef_1 data=\"7,13,0,0,1,25\"/><LevelBlockDef_2 data=\"4,1,0,0,0,0\"/><LevelBlockDef_3 data=\"7,1,0,0,1,4\"/><LevelBlockDef_4 data=\"7,13,0,0,1,25\"/><LevelBlockDef_5 data=\"5,1,0,270,0,0\"/><LevelBlockDef_6 data=\"3,1,0,90,1,0\"/><LevelBlockDef_7 data=\"3,1,0,270,1,0\"/><NumInitialBlocks data=\"7\"/><InitialBlockDef_1 data=\"0.16229754785468337,3.669401304780319,-1.5678866065179535,1,0,1,32,true,5\"/><InitialBlockDef_2 data=\"-0.03403033283294177,-0.3300266665445183,1.5760464665477132,1,0,1,32,true,5\"/><InitialBlockDef_3 data=\"0.24625998118718015,-0.7503691032482428,0,13,0,1,25,true,7\"/><InitialBlockDef_4 data=\"5.742704036019163,4.00306182689991,0.0005061134740617885,1,0,1,34,true,2\"/><InitialBlockDef_5 data=\"8.741840955361207,4.004273252240089,3.1416107839918563,1,0,1,0,true,3\"/><InitialBlockDef_6 data=\"8.740307701820154,2.0047018508250103,-3.1411794823653447,1,0,1,32,true,5\"/><InitialBlockDef_7 data=\"7.70580098677157,1.3412320600729786,0.0010203028686610396,1,0,1,32,true,5\"/><ScrollLimits data=\"-284,418,-738,275,10,-10\"/><Score data=\"6000\" /></BalanceLevel>"; ["9ad2c0debc3e535dd6cf8933830af4da"] = "<BalanceLevel><NumStaticBlocks data=\"27\"/><BlockDef_1 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-440,220,-60,220,-60,290,-440,290\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-440,-500,210,-500,210,-300,-440,-300\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,-90,-120,-90,-120,-50,-350,-50\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-90,-350,-90,-350,20,-450,20\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,-50,-270,-50,-270,20,-350,20\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,-50,-120,-50,-190,20\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,-50,-190,-50,-190,20,-270,20\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,20,-410,20,-410,140,-450,140\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,140,-340,140,-340,190,-380,230,-380,290,-450,290\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-410,20,-340,20,-410,90\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-220,-410,-220,-410,-90,-450,-90\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-300,-410,-300,-410,-220,-450,-220\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-500,-240,-500,-240,-300,-450,-300\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,-340,-200,-340,-200,-300,-240,-300\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,-380,-200,-380,-200,-340,-240,-340\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-200,-340,-160,-340,-160,-300,-200,-300\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-200,-380,-160,-380,-160,-340,-200,-340\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,-500,-160,-500,-160,-380,-240,-380\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-420,-30,-420,-30,-300,-160,-300\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,-30,200,100,70,100\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"120,100,200,100,200,180,120,180\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"70,100,120,100,120,180,-10,180\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"160,180,200,180,200,220,160,220\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"120,180,160,180,160,220,120,220\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"120,220,200,220,200,290,120,290\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,220,120,220,120,290,-60,290\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-10,180,120,180,120,220,-50,220\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"1,40,210,1\"/><ElementDef_2 data=\"2,100,-340,3\"/><ElementDef_3 data=\"3,-190,-110\"/><ElementDef_4 data=\"4,-380,100,we love triangles! do you?\"/><NumStamps data=\"99\"/><StampDef_1 data=\"38,-420,230\"/><StampDef_2 data=\"38,-380,230\"/><StampDef_3 data=\"38,-340,230\"/><StampDef_4 data=\"38,-300,230\"/><StampDef_5 data=\"38,-260,230\"/><StampDef_6 data=\"38,-220,230\"/><StampDef_7 data=\"38,-180,230\"/><StampDef_8 data=\"38,-140,230\"/><StampDef_9 data=\"38,-100,230\"/><StampDef_10 data=\"38,-60,230\"/><StampDef_11 data=\"93,-90,260\"/><StampDef_12 data=\"93,-150,260\"/><StampDef_13 data=\"93,-210,260\"/><StampDef_14 data=\"93,-270,260\"/><StampDef_15 data=\"93,-330,260\"/><StampDef_16 data=\"93,-390,260\"/><StampDef_17 data=\"93,-450,260\"/><StampDef_18 data=\"3,-348,-85\"/><StampDef_19 data=\"3,-260,-86\"/><StampDef_20 data=\"4,-124,-88\"/><StampDef_21 data=\"14,-145,-86\"/><StampDef_22 data=\"15,-211,-86\"/><StampDef_23 data=\"14,-184,-85\"/><StampDef_24 data=\"2,-404,-85\"/><StampDef_25 data=\"30,106.5,67\"/><StampDef_26 data=\"30,44.5,129\"/><StampDef_27 data=\"30,-26,203\"/><StampDef_28 data=\"33,-333,1\"/><StampDef_29 data=\"32,-295,-34\"/><StampDef_30 data=\"34,-288,2\"/><StampDef_31 data=\"36,-425,-8\"/><StampDef_32 data=\"33,-393,-33\"/><StampDef_33 data=\"32,-163,-32\"/><StampDef_34 data=\"34,-133,-63\"/><StampDef_35 data=\"35,-215,-68\"/><StampDef_36 data=\"34,-217,0\"/><StampDef_37 data=\"37,-390,46\"/><StampDef_38 data=\"33,-427,123\"/><StampDef_39 data=\"34,-431,-171\"/><StampDef_40 data=\"36,-430,-121\"/><StampDef_41 data=\"36,-421,-55\"/><StampDef_42 data=\"36,-302,-67\"/><StampDef_43 data=\"36,-426,186\"/><StampDef_44 data=\"32,-429,255\"/><StampDef_45 data=\"32,-315,-321\"/><StampDef_46 data=\"34,-361,-391\"/><StampDef_47 data=\"34,-278,-382\"/><StampDef_48 data=\"36,-258,-400\"/><StampDef_49 data=\"36,-409,-335\"/><StampDef_50 data=\"32,-435,-386\"/><StampDef_51 data=\"33,-252,-316\"/><StampDef_52 data=\"33,-431,-263\"/><StampDef_53 data=\"33,-74,-378\"/><StampDef_54 data=\"32,-54,-360\"/><StampDef_55 data=\"34,-116,-327\"/><StampDef_56 data=\"36,-142,-377\"/><StampDef_57 data=\"36,-41,-404\"/><StampDef_58 data=\"36,-46,-317\"/><StampDef_59 data=\"36,-211,-405\"/><StampDef_60 data=\"36,-317,-409\"/><StampDef_61 data=\"32,-184,-361\"/><StampDef_62 data=\"33,-126.94999999999999,-415\"/><StampDef_63 data=\"33,103.55000000000001,-410\"/><StampDef_64 data=\"34,137.55,-413\"/><StampDef_65 data=\"32,37.55000000000001,-372\"/><StampDef_66 data=\"33,15,-422\"/><StampDef_67 data=\"33,2,-319\"/><StampDef_68 data=\"36,-8,-362\"/><StampDef_69 data=\"36,52.05000000000001,-413\"/><StampDef_70 data=\"36,180,-312\"/><StampDef_71 data=\"36,165,-411\"/><StampDef_72 data=\"36,151,137\"/><StampDef_73 data=\"32,172,159\"/><StampDef_74 data=\"35,178,116\"/><StampDef_75 data=\"35,136,80\"/><StampDef_76 data=\"35,179,52\"/><StampDef_77 data=\"37,136,243\"/><StampDef_78 data=\"32,39,266\"/><StampDef_79 data=\"33,-35,264\"/><StampDef_80 data=\"36,176,266\"/><StampDef_81 data=\"36,97,123\"/><StampDef_82 data=\"32,79.5,139\"/><StampDef_83 data=\"34,141,196\"/><StampDef_84 data=\"34,192,207\"/><StampDef_85 data=\"9,-251,-109\"/><StampDef_86 data=\"91,-293,-149\"/><StampDef_87 data=\"92,-357,-126\"/><StampDef_88 data=\"5,-385,-106\"/><StampDef_89 data=\"8,-270,-99\"/><StampDef_90 data=\"11,-335,-101\"/><StampDef_91 data=\"10,-317,-96\"/><StampDef_92 data=\"30,168.5,5\"/><StampDef_93 data=\"7,155,-3\"/><StampDef_94 data=\"10,137,18\"/><StampDef_95 data=\"12,-34,194\"/><StampDef_96 data=\"34,-359,154\"/><StampDef_97 data=\"36,-402,169\"/><StampDef_98 data=\"36,-359,193\"/><StampDef_99 data=\"35,-389,204\"/><NumLevelBlocks data=\"13\"/><LevelBlockDef_1 data=\"9,1,0,180,1,29\"/><LevelBlockDef_2 data=\"9,1,0,0,1,29\"/><LevelBlockDef_3 data=\"9,1,0,180,1,29\"/><LevelBlockDef_4 data=\"11,1,0,90,1,30\"/><LevelBlockDef_5 data=\"11,1,0,270,1,30\"/><LevelBlockDef_6 data=\"11,1,0,0,1,30\"/><LevelBlockDef_7 data=\"11,1,0,180,1,30\"/><LevelBlockDef_8 data=\"11,1,0,90,1,30\"/><LevelBlockDef_9 data=\"11,1,0,270,1,30\"/><LevelBlockDef_10 data=\"11,1,0,0,1,30\"/><LevelBlockDef_11 data=\"11,1,0,180,1,30\"/><LevelBlockDef_12 data=\"11,1,0,90,1,30\"/><LevelBlockDef_13 data=\"11,1,0,270,1,30\"/><NumInitialBlocks data=\"0\"/><ScrollLimits data=\"-438,189,-419,275,-110,-20\"/><Score data=\"5000\" /></BalanceLevel>"; ["9fd80278799c1e3e8a257d7b978eda51"] = "<BalanceLevel><NumStaticBlocks data=\"33\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,180,-330,80,-330,40,-210,40,-140,40,-140,100,-160,130,-160,180\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,250,-20,250,-20,360,-160,360\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-20,250,50,250,50,360,-20,360\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"70,250,220,290,220,360,50,360,50,250\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-200,-260,-200,-260,-140,-330,-140\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-260,-200,-200,-200,-200,-170,-220,-140,-260,-140\"/><BlockDef_7 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-160,180,430,180,430,290,220,290,70,250,-160,250\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"430,220,500,220,500,290,430,290\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"430,290,500,290,500,360,430,360\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"510,-190,510,-270,570,-270,570,20,430,20,430,-190\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"430,20,570,20,570,220,430,220\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-440,-550,-320,-550,-320,-520,-320,-470,-410,-410,-410,-200,-330,-200,-410,-200,-440,-200\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-550,30,-550,30,-430,-70,-430,-110,-470\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"160,-550,430,-550,430,-510,350,-510,350,-350,230,-350,160,-410\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-440,-200,-330,-200,-330,-80,-440,-80\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-410,-80,-330,-80,-330,0,-410,0\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-440,-80,-410,-80,-410,0,-440,0\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-400,180,-160,180,-160,360,-400,360\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-440,180,-400,180,-400,260,-440,260\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-440,260,-400,260,-400,360,-440,360\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-440,0,-330,0,-330,180,-440,180\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,-550,-220,-550,-220,-490,-320,-490\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-220,-550,-110,-550,-110,-490,-220,-490\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,290,430,290,430,360,220,360\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"350,-430,430,-430,430,-350,350,-350\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"350,-510,430,-510,430,-430,350,-430\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"430,-490,570,-490,570,-350,430,-350\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"430,-350,510,-350,510,-270,430,-270\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"510,-350,570,-350,570,-270,510,-270\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"430,-550,570,-550,570,-490,430,-490\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"430,-270,510,-270,510,-190,430,-190\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"30,-550,160,-550,160,-430,30,-430\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"500,220,570,220,570,360,500,360\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"1,-220,90,1\"/><ElementDef_2 data=\"3,-250,-220\"/><ElementDef_3 data=\"2,470,-100,4\"/><ElementDef_4 data=\"4,-350,-240,these balloon blocks float| upwards. Try using them to|support your bridge.\"/><NumStamps data=\"138\"/><StampDef_1 data=\"38,-140,190\"/><StampDef_2 data=\"38,-100,190\"/><StampDef_3 data=\"38,-60,190\"/><StampDef_4 data=\"38,-20,190\"/><StampDef_5 data=\"38,20,190\"/><StampDef_6 data=\"38,60,190\"/><StampDef_7 data=\"38,100,190\"/><StampDef_8 data=\"38,140,190\"/><StampDef_9 data=\"38,180,190\"/><StampDef_10 data=\"38,220,190\"/><StampDef_11 data=\"38,260,190\"/><StampDef_12 data=\"38,300,190\"/><StampDef_13 data=\"38,340,190\"/><StampDef_14 data=\"38,380,190\"/><StampDef_15 data=\"38,420,190\"/><StampDef_16 data=\"4,-148.5,43\"/><StampDef_17 data=\"15,-162.7,43\"/><StampDef_18 data=\"14,-282.5,45.5\"/><StampDef_19 data=\"14,-308.5,45.5\"/><StampDef_20 data=\"2,-329,45\"/><StampDef_21 data=\"15,-266.5,44\"/><StampDef_22 data=\"32,-247,147.5\"/><StampDef_23 data=\"33,-200.5,142\"/><StampDef_24 data=\"36,-163.5,102\"/><StampDef_25 data=\"36,-218,133\"/><StampDef_26 data=\"33,-277.5,62\"/><StampDef_27 data=\"5,-305,22.5\"/><StampDef_28 data=\"10,-276,31\"/><StampDef_29 data=\"11,-155,21\"/><StampDef_30 data=\"35,-286.5,100\"/><StampDef_31 data=\"3,-342,-194\"/><StampDef_32 data=\"3,-269,-194\"/><StampDef_33 data=\"4,-204,-195\"/><StampDef_34 data=\"15,-219.5,-194.5\"/><StampDef_35 data=\"15,-393,-193.5\"/><StampDef_36 data=\"2,-408.5,-195\"/><StampDef_37 data=\"39,250,240\"/><StampDef_38 data=\"39,330,260\"/><StampDef_39 data=\"39,370,220\"/><StampDef_40 data=\"32,-402,92.5\"/><StampDef_41 data=\"32,-367,288\"/><StampDef_42 data=\"35,-378,257\"/><StampDef_43 data=\"32,-215,277\"/><StampDef_44 data=\"35,-228,259\"/><StampDef_45 data=\"34,-307,223\"/><StampDef_46 data=\"35,-178,199\"/><StampDef_47 data=\"36,-169,295\"/><StampDef_48 data=\"36,-366,199\"/><StampDef_49 data=\"36,-359,24\"/><StampDef_50 data=\"36,-358,154\"/><StampDef_51 data=\"33,-430,27\"/><StampDef_52 data=\"33,-34,269\"/><StampDef_53 data=\"32,-124,290\"/><StampDef_54 data=\"32,83,277\"/><StampDef_55 data=\"36,-111,284\"/><StampDef_56 data=\"32,-347,-174.5\"/><StampDef_57 data=\"33,-413,-160\"/><StampDef_58 data=\"36,-371,-141\"/><StampDef_59 data=\"35,-345,-54\"/><StampDef_60 data=\"32,-354,-40\"/><StampDef_61 data=\"33,-226,-157\"/><StampDef_62 data=\"33,-318.5,76\"/><StampDef_63 data=\"36,39,293\"/><StampDef_64 data=\"32,480,240.5\"/><StampDef_65 data=\"34,410,306.5\"/><StampDef_66 data=\"35,251,303\"/><StampDef_67 data=\"36,349,313\"/><StampDef_68 data=\"36,172,300\"/><StampDef_69 data=\"36,-425,-20\"/><StampDef_70 data=\"36,-256,-164\"/><StampDef_71 data=\"32,518,42.5\"/><StampDef_72 data=\"35,449,66\"/><StampDef_73 data=\"34,504,55\"/><StampDef_74 data=\"32,447,136\"/><StampDef_75 data=\"32,488,-32.5\"/><StampDef_76 data=\"34,524.5,-157.45\"/><StampDef_77 data=\"33,525,-104\"/><StampDef_78 data=\"36,534,-76\"/><StampDef_79 data=\"36,490.5,-161.95\"/><StampDef_80 data=\"32,451,-443.5\"/><StampDef_81 data=\"33,459,-460\"/><StampDef_82 data=\"33,518,-376\"/><StampDef_83 data=\"32,447,-288.5\"/><StampDef_84 data=\"32,297,-365\"/><StampDef_85 data=\"33,314,-485\"/><StampDef_86 data=\"34,227,-437\"/><StampDef_87 data=\"36,518,-452\"/><StampDef_88 data=\"36,531,-306\"/><StampDef_89 data=\"36,459,-306\"/><StampDef_90 data=\"36,449,-227\"/><StampDef_91 data=\"36,322,-433\"/><StampDef_92 data=\"36,405,-492\"/><StampDef_93 data=\"37,405,-368\"/><StampDef_94 data=\"37,540,-119\"/><StampDef_95 data=\"37,182,-407\"/><StampDef_96 data=\"32,-59,-452.5\"/><StampDef_97 data=\"37,-52,-464.5\"/><StampDef_98 data=\"37,-45,-458\"/><StampDef_99 data=\"37,96,-494.5\"/><StampDef_100 data=\"32,61,-443\"/><StampDef_101 data=\"35,149,-440\"/><StampDef_102 data=\"35,-364,-472\"/><StampDef_103 data=\"32,-394,-471\"/><StampDef_104 data=\"33,-380,-506\"/><StampDef_105 data=\"33,-429,-304\"/><StampDef_106 data=\"36,-425,-383\"/><StampDef_107 data=\"36,-328,-497\"/><StampDef_108 data=\"36,-195,-500\"/><StampDef_109 data=\"32,-154,-514\"/><StampDef_110 data=\"33,-264,-512\"/><StampDef_111 data=\"33,-9,-484\"/><StampDef_112 data=\"33,536,297\"/><StampDef_113 data=\"37,524,182.5\"/><StampDef_114 data=\"7,-303,-213\"/><StampDef_115 data=\"12,-391,-209\"/><StampDef_116 data=\"43,-373,-204\"/><StampDef_117 data=\"93,-130,220\"/><StampDef_118 data=\"93,-70,220\"/><StampDef_119 data=\"93,-10,220\"/><StampDef_120 data=\"93,50,220\"/><StampDef_121 data=\"93,110,220\"/><StampDef_122 data=\"93,170,220\"/><StampDef_123 data=\"93,230,220\"/><StampDef_124 data=\"93,290,220\"/><StampDef_125 data=\"93,350,220\"/><StampDef_126 data=\"93,390,220\"/><StampDef_127 data=\"93,450,220\"/><StampDef_128 data=\"93,170,280\"/><StampDef_129 data=\"93,120,280\"/><StampDef_130 data=\"93,70,280\"/><StampDef_131 data=\"93,400,280\"/><StampDef_132 data=\"93,340,280\"/><StampDef_133 data=\"93,280,280\"/><StampDef_134 data=\"93,220,280\"/><StampDef_135 data=\"41,406,275\"/><StampDef_136 data=\"42,367,282\"/><StampDef_137 data=\"43,281,282\"/><StampDef_138 data=\"41,258,296\"/><NumLevelBlocks data=\"19\"/><LevelBlockDef_1 data=\"7,1,1,0,1,24\"/><LevelBlockDef_2 data=\"7,1,1,0,1,24\"/><LevelBlockDef_3 data=\"7,1,1,0,1,24\"/><LevelBlockDef_4 data=\"7,3,0,0,1,16\"/><LevelBlockDef_5 data=\"7,1,1,0,1,24\"/><LevelBlockDef_6 data=\"7,1,1,0,1,24\"/><LevelBlockDef_7 data=\"7,1,1,0,1,24\"/><LevelBlockDef_8 data=\"7,3,0,0,1,16\"/><LevelBlockDef_9 data=\"7,1,1,0,1,24\"/><LevelBlockDef_10 data=\"7,1,1,0,1,24\"/><LevelBlockDef_11 data=\"7,1,1,0,1,24\"/><LevelBlockDef_12 data=\"7,3,0,0,1,16\"/><LevelBlockDef_13 data=\"7,1,1,0,1,24\"/><LevelBlockDef_14 data=\"7,1,1,0,1,24\"/><LevelBlockDef_15 data=\"7,1,1,0,1,24\"/><LevelBlockDef_16 data=\"7,3,0,0,1,16\"/><LevelBlockDef_17 data=\"7,1,1,0,1,24\"/><LevelBlockDef_18 data=\"7,1,1,0,1,24\"/><LevelBlockDef_19 data=\"7,1,1,0,1,24\"/><NumInitialBlocks data=\"0\"/><ScrollLimits data=\"-430,544,-514,320,-150,-70\"/><Score data=\"6000\" /></BalanceLevel>"; ["67afd706dc8364ee86225a395639304a"] = "<BalanceLevel><NumStaticBlocks data=\"48\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,-200,-110,-200,-110,-170,-140,-170,-140,-140,-110,-140,-110,-20,-140,-20,-140,10,-110,10,-110,70,-140,70,-140,100,-110,100,-110,290,-240,290\"/><BlockDef_2 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-110,120,220,120,220,290,-110,290\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-380,-200,-240,-200,-240,-60,-380,-60\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,-200,-140,-200,-140,-110,-240,-110\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,-200,-110,-200,-110,-170,-140,-170\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,-140,-110,-140,-110,-110,-140,-110\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-200,-110,-110,-110,-110,-20,-200,-20\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,-110,-200,-110,-200,-70,-240,-70\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,-70,-200,-70,-200,-20,-240,-20\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-60,-240,-60,-240,120,-450,120\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,-20,-140,-20,-140,70,-240,70\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,40,-110,40,-110,70,-140,70\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,10,-110,10,-110,40,-140,40\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,70,-140,70,-140,160,-240,160\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,100,-110,100,-110,120,-140,130\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,160,-110,160,-110,290,-240,290\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,130,-110,130,-110,160,-140,160\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-290,-380,-290,-380,-60,-450,-60\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-440,-380,-440,-380,-290,-450,-290\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-690,-210,-690,-210,-440,-450,-440\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,-500,-150,-500,-150,-440,-210,-440\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,-500,-90,-500,-90,-440,-150,-440\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,-560,-150,-560,-150,-500,-210,-500\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,-560,-90,-560,-90,-500,-150,-500\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,-690,-90,-690,-90,-560,-210,-560\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-90,-690,160,-690,160,-440,-90,-440\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"160,-480,200,-480,200,-440,160,-440\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,-480,240,-480,240,-440,200,-440\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"160,-520,200,-520,200,-480,160,-480\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,-520,240,-520,240,-480,200,-480\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"240,-600,400,-600,400,-440,240,-440\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"160,-600,240,-600,240,-520,160,-520\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"160,-690,400,-690,400,-600,160,-600\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,-440,400,-440,400,-270,220,-270\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,-270,310,-270,310,-180,220,-180\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"310,-270,400,-270,400,-180,310,-180\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,-50,280,-50,280,10,220,10\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,-20,400,-20,400,100,280,100\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"250,10,280,10,280,40,250,40\"/><BlockDef_40 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,-180,400,-180,400,-20,280,-20\"/><BlockDef_41 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,-180,280,-180,280,-80,220,-80\"/><BlockDef_42 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,40,280,40,280,100,220,100\"/><BlockDef_43 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,100,350,100,350,240,220,240\"/><BlockDef_44 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"350,100,400,100,400,150,350,150\"/><BlockDef_45 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"350,150,400,150,400,200,350,200\"/><BlockDef_46 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"350,200,400,200,400,290,350,290\"/><BlockDef_47 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,240,350,240,350,290,220,290\"/><BlockDef_48 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,120,-240,120,-240,290,-450,290\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"2,290,-70,4\"/><ElementDef_2 data=\"3,-160,-220\"/><ElementDef_3 data=\"1,80,-480,3\"/><NumStamps data=\"151\"/><StampDef_1 data=\"38,-80,130\"/><StampDef_2 data=\"38,-40,130\"/><StampDef_3 data=\"38,0,130\"/><StampDef_4 data=\"38,40,130\"/><StampDef_5 data=\"38,80,130\"/><StampDef_6 data=\"38,120,130\"/><StampDef_7 data=\"38,160,130\"/><StampDef_8 data=\"38,200,130\"/><StampDef_9 data=\"38,-120,130\"/><StampDef_10 data=\"2,-373,-194\"/><StampDef_11 data=\"3,-319,-194\"/><StampDef_12 data=\"3,-233,-194\"/><StampDef_13 data=\"4,-118,-195\"/><StampDef_14 data=\"14,-171,-194\"/><StampDef_15 data=\"14,-145,-195\"/><StampDef_16 data=\"32,-268,-32\"/><StampDef_17 data=\"33,-265,22\"/><StampDef_18 data=\"32,-402,67\"/><StampDef_19 data=\"33,-355,-29\"/><StampDef_20 data=\"36,-305,90\"/><StampDef_21 data=\"36,-414,1\"/><StampDef_22 data=\"36,-330,33\"/><StampDef_23 data=\"36,-396,218\"/><StampDef_24 data=\"33,-326,192\"/><StampDef_25 data=\"32,-279,260\"/><StampDef_26 data=\"32,-273,142\"/><StampDef_27 data=\"34,-384,147\"/><StampDef_28 data=\"34,-355.95,257\"/><StampDef_29 data=\"34,-129,190\"/><StampDef_30 data=\"32,-213,178\"/><StampDef_31 data=\"33,-172,248\"/><StampDef_32 data=\"36,-128,256\"/><StampDef_33 data=\"36,-228,257\"/><StampDef_34 data=\"36,-175,204\"/><StampDef_35 data=\"36,-203,90\"/><StampDef_36 data=\"34,-167,132\"/><StampDef_37 data=\"34,-154,1\"/><StampDef_38 data=\"34,-209,34\"/><StampDef_39 data=\"36,-122,58\"/><StampDef_40 data=\"36,-136,-82\"/><StampDef_41 data=\"34,-178,-42\"/><StampDef_42 data=\"33,-183,-92\"/><StampDef_43 data=\"33,-348,-173\"/><StampDef_44 data=\"34,-265,-86\"/><StampDef_45 data=\"32,-423,-115\"/><StampDef_46 data=\"33,-404,-248\"/><StampDef_47 data=\"33,-394,-164\"/><StampDef_48 data=\"34,-169,-144\"/><StampDef_49 data=\"33,-352,-97\"/><StampDef_50 data=\"36,-275,-157\"/><StampDef_51 data=\"36,-309,-117\"/><StampDef_52 data=\"36,-413,-415\"/><StampDef_53 data=\"32,-394,-373\"/><StampDef_54 data=\"33,-427,-329\"/><StampDef_55 data=\"33,-252,-498\"/><StampDef_56 data=\"32,-369,-565\"/><StampDef_57 data=\"32,-236,-653\"/><StampDef_58 data=\"33,-352,-590\"/><StampDef_59 data=\"33,-237,-547\"/><StampDef_60 data=\"34,-403,-486\"/><StampDef_61 data=\"33,-315,-497\"/><StampDef_62 data=\"34,-406,-657\"/><StampDef_63 data=\"34,-123,-602\"/><StampDef_64 data=\"36,-260,-456\"/><StampDef_65 data=\"36,-294,-618\"/><StampDef_66 data=\"36,-179,-634\"/><StampDef_67 data=\"33,-115,-656\"/><StampDef_68 data=\"32,-106,-451\"/><StampDef_69 data=\"33,-170,-485\"/><StampDef_70 data=\"36,-195,-457\"/><StampDef_71 data=\"36,-120,-542\"/><StampDef_72 data=\"34,-133,-531\"/><StampDef_73 data=\"32,128,-614\"/><StampDef_74 data=\"35,87.5,-544\"/><StampDef_75 data=\"32,-31,-555\"/><StampDef_76 data=\"33,41,-616\"/><StampDef_77 data=\"34,46,-567\"/><StampDef_78 data=\"34,-55,-660\"/><StampDef_79 data=\"34,88,-679\"/><StampDef_80 data=\"36,-21,-485\"/><StampDef_81 data=\"36,-351,-463\"/><StampDef_82 data=\"33,368,-656\"/><StampDef_83 data=\"34,263,-628\"/><StampDef_84 data=\"32,369,-489\"/><StampDef_85 data=\"35,271,-556\"/><StampDef_86 data=\"33,359,-568\"/><StampDef_87 data=\"32,218,-676\"/><StampDef_88 data=\"32,267,-459\"/><StampDef_89 data=\"34,196,-545\"/><StampDef_90 data=\"33,217,-460\"/><StampDef_91 data=\"36,182,-493\"/><StampDef_92 data=\"36,298,-455\"/><StampDef_93 data=\"32,373,-313\"/><StampDef_94 data=\"32,252,-384\"/><StampDef_95 data=\"33,349,-337\"/><StampDef_96 data=\"33,373,-419\"/><StampDef_97 data=\"33,294,-302\"/><StampDef_98 data=\"36,317,-395\"/><StampDef_99 data=\"36,241,-234\"/><StampDef_100 data=\"32,278,-203\"/><StampDef_101 data=\"33,285,-245\"/><StampDef_102 data=\"33,378,-201\"/><StampDef_103 data=\"32,348,-240\"/><StampDef_104 data=\"34,368,-52\"/><StampDef_105 data=\"32,321,-136\"/><StampDef_106 data=\"33,387,-143\"/><StampDef_107 data=\"35,236.5,-141.95\"/><StampDef_108 data=\"35,308,48\"/><StampDef_109 data=\"35,359,79\"/><StampDef_110 data=\"33,364,14\"/><StampDef_111 data=\"33,261,-9\"/><StampDef_112 data=\"32,250,75\"/><StampDef_113 data=\"32,248,219\"/><StampDef_114 data=\"34,319,147\"/><StampDef_115 data=\"33,326,215\"/><StampDef_116 data=\"33,255,150\"/><StampDef_117 data=\"36,294,190\"/><StampDef_118 data=\"36,312,263\"/><StampDef_119 data=\"32,273,275\"/><StampDef_120 data=\"34,388,250\"/><StampDef_121 data=\"36,363,124\"/><StampDef_122 data=\"36,322,219\"/><StampDef_123 data=\"11,-365,-215\"/><StampDef_124 data=\"42,-363,-206\"/><StampDef_125 data=\"92,-338,-239\"/><StampDef_126 data=\"10,-324,-209\"/><StampDef_127 data=\"8,-273,-231\"/><StampDef_128 data=\"5,-285,-215\"/><StampDef_129 data=\"7,-254,-215\"/><StampDef_130 data=\"41,-219,-215\"/><StampDef_131 data=\"93,-80,160\"/><StampDef_132 data=\"93,-20,160\"/><StampDef_133 data=\"93,40,160\"/><StampDef_134 data=\"93,100,160\"/><StampDef_135 data=\"93,160,160\"/><StampDef_136 data=\"93,220,160\"/><StampDef_137 data=\"93,200,220\"/><StampDef_138 data=\"93,140,220\"/><StampDef_139 data=\"93,80,220\"/><StampDef_140 data=\"93,20,220\"/><StampDef_141 data=\"93,-40,220\"/><StampDef_142 data=\"93,-100,220\"/><StampDef_143 data=\"93,-80,280\"/><StampDef_144 data=\"93,-20,280\"/><StampDef_145 data=\"93,40,280\"/><StampDef_146 data=\"93,100,280\"/><StampDef_147 data=\"93,160,280\"/><StampDef_148 data=\"93,220,280\"/><StampDef_149 data=\"39,-46.69999999999999,241.25\"/><StampDef_150 data=\"39,185.39999999999998,199.85000000000002\"/><StampDef_151 data=\"39,44.89999999999998,246.8\"/><NumLevelBlocks data=\"11\"/><LevelBlockDef_1 data=\"5,0,0,0,1,8\"/><LevelBlockDef_2 data=\"19,0,0,0,0,0\"/><LevelBlockDef_3 data=\"12,0,0,270,0,0\"/><LevelBlockDef_4 data=\"19,0,0,90,0,0\"/><LevelBlockDef_5 data=\"19,1,0,270,1,28\"/><LevelBlockDef_6 data=\"13,1,0,0,1,35\"/><LevelBlockDef_7 data=\"12,1,0,0,1,36\"/><LevelBlockDef_8 data=\"19,1,0,0,1,28\"/><LevelBlockDef_9 data=\"12,1,0,180,1,36\"/><LevelBlockDef_10 data=\"7,1,0,0,1,4\"/><LevelBlockDef_11 data=\"6,1,1,0,1,43\"/><NumInitialBlocks data=\"4\"/><InitialBlockDef_1 data=\"-11.662568185442852,-7.661564963052393,0.00001840511425814619,0,0,1,52,true,12\"/><InitialBlockDef_2 data=\"6.3242648400228445,-2.3251708557315798,-0.005195158263048192,1,0,1,33,true,1\"/><InitialBlockDef_3 data=\"6.66452454549372,-0.6636430467828196,1.56721987253515,0,0,1,7,true,4\"/><InitialBlockDef_4 data=\"-11.662936810945817,-8.989799750644128,-0.0000010901642650882867,0,0,1,1,true,3\"/><ScrollLimits data=\"-424,389,-678,275,50,-220\"/><Score data=\"8000\" /></BalanceLevel>"; ["96d95a15485b5e3beddc6eb1470d5334"] = "<BalanceLevel><NumStaticBlocks data=\"29\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,70,-220,70,-220,160,-70,160,-70,290,-290,290\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,160,220,290,0,290,0,160\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-210,-290,-290,-20,-290,-20,-210,-220,-210\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,-50,-10,-50,-10,0,-40,0,-60,-20\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-10,-50,40,-50,40,0,-10,0\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,0,220,0,220,40\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-220,-210,-180,-210,-220,-170\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"60,-210,100,-210,100,-170\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"40,-50,100,-50,100,-140,190,-140,190,0,40,0\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,-140,290,-140,290,0,190,0\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,0,290,0,290,100,220,100\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,180,290,180,290,290,220,290\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,100,260,100,260,140,220,140\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,100,290,100,290,140,260,140\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,140,260,140,260,180,220,180\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,140,290,140,290,180,260,180\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"240,-210,290,-210,290,-140,240,-140\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,-210,240,-210,240,-140,170,-140\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,-210,170,-210,170,-140,100,-140\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-70,160,0,160,0,230,-70,230\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-70,230,0,230,0,290,-70,290\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,0,-220,0,-220,70,-290,70\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-40,-260,-40,-260,0,-290,0\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-260,-40,-220,-40,-220,0,-260,0\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-260,-80,-220,-80,-220,-40,-260,-40\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-80,-260,-80,-260,-40,-290,-40\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-210,-220,-210,-220,-80,-290,-80\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-20,-290,140,-290,140,-210,-20,-210\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,-290,290,-290,290,-210,140,-210\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"1,-180,210,1\"/><ElementDef_2 data=\"2,140,210,1\"/><ElementDef_3 data=\"4,-20,-90,Drag around the metal shapes| with your mouse. Create a circuit| between the two robot| heads to complete the level. \"/><NumStamps data=\"70\"/><StampDef_1 data=\"2,-50,-45\"/><StampDef_2 data=\"3,5,-45\"/><StampDef_3 data=\"4,95,-46\"/><StampDef_4 data=\"14,65,-45\"/><StampDef_5 data=\"2,-119.69999999999999,165\"/><StampDef_6 data=\"3,-65,166\"/><StampDef_7 data=\"3,19,166\"/><StampDef_8 data=\"4,86,164\"/><StampDef_9 data=\"14,66,166\"/><StampDef_10 data=\"2,197,165\"/><StampDef_11 data=\"4,211,165\"/><StampDef_12 data=\"32,-51,192\"/><StampDef_13 data=\"35,-178,257\"/><StampDef_14 data=\"32,-121.5,255\"/><StampDef_15 data=\"34,-206,262\"/><StampDef_16 data=\"34,-250.5,214\"/><StampDef_17 data=\"33,-159,273\"/><StampDef_18 data=\"32,145.05,267\"/><StampDef_19 data=\"35,109.94999999999999,260\"/><StampDef_20 data=\"36,161.95,260\"/><StampDef_21 data=\"36,197.95,221\"/><StampDef_22 data=\"35,200.95,240\"/><StampDef_23 data=\"37,93,219\"/><StampDef_24 data=\"34,-13,214\"/><StampDef_25 data=\"35,53,218\"/><StampDef_26 data=\"36,19,258\"/><StampDef_27 data=\"35,-49,271\"/><StampDef_28 data=\"32,235,18\"/><StampDef_29 data=\"34,258,68\"/><StampDef_30 data=\"36,267,32\"/><StampDef_31 data=\"32,265,203\"/><StampDef_32 data=\"35,258,251\"/><StampDef_33 data=\"32,126,-122\"/><StampDef_34 data=\"32,246,-73\"/><StampDef_35 data=\"35,162,-90\"/><StampDef_36 data=\"32,-146,-246\"/><StampDef_37 data=\"32,-247,-149\"/><StampDef_38 data=\"35,-209,-199\"/><StampDef_39 data=\"35,-258,-162\"/><StampDef_40 data=\"34,-236,-26\"/><StampDef_41 data=\"32,237,-256\"/><StampDef_42 data=\"37,226,-243\"/><StampDef_43 data=\"34,119,-23\"/><StampDef_44 data=\"36,201,-18\"/><StampDef_45 data=\"35,29,-26\"/><StampDef_46 data=\"36,0,-18\"/><StampDef_47 data=\"36,-49,-29\"/><StampDef_48 data=\"34,209,-189\"/><StampDef_49 data=\"34,20,-257\"/><StampDef_50 data=\"32,96,-246\"/><StampDef_51 data=\"34,-59,-230\"/><StampDef_52 data=\"36,-231,-238\"/><StampDef_53 data=\"33,-263,-265\"/><StampDef_54 data=\"32,254,231\"/><StampDef_55 data=\"35,-253,86\"/><StampDef_56 data=\"34,-268,34\"/><StampDef_57 data=\"34,-28,-14\"/><StampDef_58 data=\"34,-275,-102\"/><StampDef_59 data=\"36,-241,116\"/><StampDef_60 data=\"5,-92,142\"/><StampDef_61 data=\"8,-55,146\"/><StampDef_62 data=\"42,205,151\"/><StampDef_63 data=\"10,33,122\"/><StampDef_64 data=\"6,51,138\"/><StampDef_65 data=\"10,-37,155\"/><StampDef_66 data=\"91,-6,113\"/><StampDef_67 data=\"11,87,-90\"/><StampDef_68 data=\"13,67,-69\"/><StampDef_69 data=\"42,17,-60\"/><StampDef_70 data=\"8,-48,-54\"/><NumLevelBlocks data=\"0\"/><NumInitialBlocks data=\"5\"/><InitialBlockDef_1 data=\"-4.210617101369331,4.337009843177967,-1.5687891084792545,1,0,1,2,false,7\"/><InitialBlockDef_2 data=\"5.38083333743559,4.336006613945036,-1.571349014726071,1,0,1,2,false,7\"/><InitialBlockDef_3 data=\"2.710420021994183,4.337147886604103,1.569015751222347,1,0,1,2,false,7\"/><InitialBlockDef_4 data=\"-2.5466343649779626,4.6711862699919875,0.00031105651935585204,1,0,1,4,false,7\"/><InitialBlockDef_5 data=\"2.3383609819738287,-2.33135295600763,-0.000002195029185833119,1,0,1,4,false,7\"/><ScrollLimits data=\"-275,275,-275,275,0,0\"/><Score data=\"2000\" /></BalanceLevel>"; ["432ceb3f43d492c228bf242fd62cdddb"] = "<BalanceLevel><NumStaticBlocks data=\"27\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,70,-100,230,-330,230,-330,120,-270,120,-270,70\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,-170,620,-170,620,10,400,10\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,-30,-190,-30,-190,10,-210,40,-270,40\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-420,-30,-270,-30,-270,120,-400,120,-400,40,-420,10\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-440,120,-330,120,-330,230,-440,230\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-510,230,-290,230,-290,320,-510,320\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-510,120,-440,120,-440,230,-510,230\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"0,260,110,260,110,320,0,320\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,260,0,260,0,320,-100,320\"/><BlockDef_10 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"110,280,400,280,400,320,110,320\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,220,510,220,510,330,400,330\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"510,300,590,300,590,330,510,330\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"590,220,630,220,630,330,590,330\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,10,510,10,510,120,620,120,620,220,400,220\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,-240,480,-240,480,-170,400,-170\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"480,-290,620,-290,620,-170,480,-170\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,-290,480,-290,480,-240,400,-240\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"510,10,620,10,620,120,510,120\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,230,-100,230,-100,320,-190,320\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"510,220,550,220,550,260,510,260\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"550,220,590,220,590,260,550,260\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"510,260,550,260,550,300,510,300\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"550,260,590,260,590,300,550,300\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,230,-190,230,-190,280,-240,280\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,230,-240,230,-240,280,-290,280\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,280,-240,280,-240,320,-290,320\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,280,-190,280,-190,320,-240,320\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"3,-340,-50\"/><ElementDef_2 data=\"1,-180,120,1\"/><ElementDef_3 data=\"2,440,-80,4\"/><ElementDef_4 data=\"4,-240,-70,these blocks weigh a ton.| maybe they could be used as a|counter weight.\"/><NumStamps data=\"108\"/><StampDef_1 data=\"38,130,280\"/><StampDef_2 data=\"38,170,280\"/><StampDef_3 data=\"38,210,280\"/><StampDef_4 data=\"38,250,280\"/><StampDef_5 data=\"38,290,280\"/><StampDef_6 data=\"38,330,280\"/><StampDef_7 data=\"38,370,280\"/><StampDef_8 data=\"38,410,280\"/><StampDef_9 data=\"3,-36,265.5\"/><StampDef_10 data=\"3,51,266\"/><StampDef_11 data=\"4,105,264\"/><StampDef_12 data=\"2,-92,264.5\"/><StampDef_13 data=\"3,-354,-23\"/><StampDef_14 data=\"3,-265,-23.5\"/><StampDef_15 data=\"2,-410,-25.5\"/><StampDef_16 data=\"4,-198,-26\"/><StampDef_17 data=\"15,-215,-26\"/><StampDef_18 data=\"15,-120.69999999999999,76\"/><StampDef_19 data=\"4,-104,75\"/><StampDef_20 data=\"14,-240.5,77\"/><StampDef_21 data=\"2,-260,75\"/><StampDef_22 data=\"3,-464,127\"/><StampDef_23 data=\"4,-410,124\"/><StampDef_24 data=\"40,71.5,243.5\"/><StampDef_25 data=\"42,-79.5,251\"/><StampDef_26 data=\"12,-55,248\"/><StampDef_27 data=\"10,-393,-42.5\"/><StampDef_28 data=\"9,-470,106\"/><StampDef_29 data=\"41,-425,108\"/><StampDef_30 data=\"8,-453,114.5\"/><StampDef_31 data=\"41,-16.5,246\"/><StampDef_32 data=\"7,-35,242\"/><StampDef_33 data=\"32,-394,3\"/><StampDef_34 data=\"33,-295,52\"/><StampDef_35 data=\"34,-373,183.5\"/><StampDef_36 data=\"32,-388,201.5\"/><StampDef_37 data=\"32,-176,176\"/><StampDef_38 data=\"33,-210.5,171\"/><StampDef_39 data=\"36,-124.5,135\"/><StampDef_40 data=\"35,-126,157.5\"/><StampDef_41 data=\"34,-471,148.5\"/><StampDef_42 data=\"34,-206,1\"/><StampDef_43 data=\"34,-462,289\"/><StampDef_44 data=\"36,-368,203\"/><StampDef_45 data=\"36,-230.5,126\"/><StampDef_46 data=\"36,-219,19\"/><StampDef_47 data=\"33,-311,249\"/><StampDef_48 data=\"35,-301,258\"/><StampDef_49 data=\"36,-318,266\"/><StampDef_50 data=\"36,-288,167\"/><StampDef_51 data=\"34,-143,282\"/><StampDef_52 data=\"34,-361,81\"/><StampDef_53 data=\"34,-466,261.5\"/><StampDef_54 data=\"34,-18,298\"/><StampDef_55 data=\"33,97,284\"/><StampDef_56 data=\"37,92,297.5\"/><StampDef_57 data=\"36,-375,295\"/><StampDef_58 data=\"36,-56,288\"/><StampDef_59 data=\"36,59,290\"/><StampDef_60 data=\"32,426,239.5\"/><StampDef_61 data=\"35,484,291\"/><StampDef_62 data=\"35,569,233\"/><StampDef_63 data=\"32,582,56.5\"/><StampDef_64 data=\"34,563,78\"/><StampDef_65 data=\"32,452,131.5\"/><StampDef_66 data=\"35,440,119\"/><StampDef_67 data=\"34,463,117.5\"/><StampDef_68 data=\"34,525,175.5\"/><StampDef_69 data=\"34,421,36\"/><StampDef_70 data=\"32,432,-217.5\"/><StampDef_71 data=\"34,568,-206.5\"/><StampDef_72 data=\"36,551,-133\"/><StampDef_73 data=\"36,571,44\"/><StampDef_74 data=\"36,587,137\"/><StampDef_75 data=\"36,444,-233\"/><StampDef_76 data=\"36,411,-258\"/><StampDef_77 data=\"36,576,309\"/><StampDef_78 data=\"36,572,-51\"/><StampDef_79 data=\"37,579,-59.5\"/><StampDef_80 data=\"37,500,-82\"/><StampDef_81 data=\"33,502,-52\"/><StampDef_82 data=\"37,489.5,-134.95\"/><StampDef_83 data=\"32,515.5,-99.94999999999999\"/><StampDef_84 data=\"34,459,-18\"/><StampDef_85 data=\"34,499,-257\"/><StampDef_86 data=\"36,537,272\"/><StampDef_87 data=\"35,-222,303\"/><StampDef_88 data=\"43,35,251\"/><StampDef_89 data=\"7,-284,-45\"/><StampDef_90 data=\"43,-262,-36\"/><StampDef_91 data=\"35,-401,261\"/><StampDef_92 data=\"35,-479,192\"/><StampDef_93 data=\"35,-334,12\"/><StampDef_94 data=\"35,-216,249\"/><StampDef_95 data=\"35,-243,185\"/><StampDef_96 data=\"36,-255.5,133\"/><StampDef_97 data=\"36,-154,192\"/><StampDef_98 data=\"36,471,188\"/><StampDef_99 data=\"36,488,253\"/><StampDef_100 data=\"36,484,63\"/><StampDef_101 data=\"36,545,-18\"/><StampDef_102 data=\"36,509,-207\"/><StampDef_103 data=\"36,576,-251\"/><StampDef_104 data=\"93,140,310\"/><StampDef_105 data=\"93,200,310\"/><StampDef_106 data=\"93,260,310\"/><StampDef_107 data=\"93,320,310\"/><StampDef_108 data=\"93,380,310\"/><NumLevelBlocks data=\"12\"/><LevelBlockDef_1 data=\"25,1,0,0,0,0\"/><LevelBlockDef_2 data=\"25,1,0,0,0,0\"/><LevelBlockDef_3 data=\"24,1,0,0,1,23\"/><LevelBlockDef_4 data=\"25,1,0,0,0,0\"/><LevelBlockDef_5 data=\"25,1,0,0,0,0\"/><LevelBlockDef_6 data=\"24,1,0,0,1,23\"/><LevelBlockDef_7 data=\"25,1,0,0,0,0\"/><LevelBlockDef_8 data=\"25,1,0,0,0,0\"/><LevelBlockDef_9 data=\"24,1,0,0,1,23\"/><LevelBlockDef_10 data=\"25,1,0,0,0,0\"/><LevelBlockDef_11 data=\"25,1,0,0,0,0\"/><LevelBlockDef_12 data=\"24,1,0,0,1,23\"/><NumInitialBlocks data=\"6\"/><InitialBlockDef_1 data=\"0.669695386411064,8.005163135995124,0.000060997771543335316,1,0,1,55,true,25\"/><InitialBlockDef_2 data=\"0.6728262314113284,7.0116769155695655,0.00008970146098905913,1,0,1,55,true,25\"/><InitialBlockDef_3 data=\"0.6760575075772102,6.018083593698272,0.00011666346481231661,1,0,1,55,true,25\"/><InitialBlockDef_4 data=\"0.6844542567226473,5.0245995894304984,0.00012337221171495358,1,0,1,55,true,25\"/><InitialBlockDef_5 data=\"3.097338353048211,4.030364277344601,0.0003064132280042491,12,0,1,23,true,24\"/><InitialBlockDef_6 data=\"-2.1568506587570546,4.029614725747798,0.00015869159170181523,12,0,1,23,true,24\"/><ScrollLimits data=\"-491,599,-267,311,-160,30\"/><Score data=\"10000\" /></BalanceLevel>"; ["952cf03332afbb2b7d0d74a42a4988fb"] = "<BalanceLevel><NumStaticBlocks data=\"24\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,-110,-260,-110,-260,-10,-350,-10\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,-10,-260,-10,-260,80,-350,80\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,80,-260,80,-260,160,-350,160\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-260,-110,-190,-110,-260,-40\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-300,80,-260,80,-260,120,-300,120\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-300,120,-260,120,-260,160,-300,160\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,80,-300,80,-300,120,-350,120\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,120,-300,120,-300,160,-350,160\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,-270,-190,-270,-190,-110,-350,-110\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,-370,-190,-370,-190,-270,-350,-270\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,-370,-60,-370,-60,-260,-190,-260\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,-310,-10,-310,-10,-260,-60,-260\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,-370,-10,-370,-10,-310,-60,-310\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-10,-370,190,-370,190,-260,-10,-260\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,-370,290,-370,290,-260,190,-260\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,-260,290,-260,290,-110,190,-110\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-10,-110,110,-110,110,10,10,10,-10,-10\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,-110,290,-110,290,160,110,160\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,160,290,160,290,290,200,290\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"20,160,200,160,200,290,20,290\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,160,-200,160,-200,290,-350,290\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-50,230,20,230,20,290,-50,290\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-50,160,20,160,20,230,-50,230\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-200,160,-50,160,-50,290,-200,290\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"1,-120,210,1\"/><ElementDef_2 data=\"2,80,-60,1\"/><ElementDef_3 data=\"4,-20,120,Your blocks come in a variety of| shapes and sizes. Why dont you| try and stack them to create a| circuit.\"/><NumStamps data=\"75\"/><StampDef_1 data=\"2,-1.0500000000000114,-105\"/><StampDef_2 data=\"4,29.94999999999999,-105\"/><StampDef_3 data=\"15,12.949999999999989,-105\"/><StampDef_4 data=\"2,141,-106\"/><StampDef_5 data=\"14,160,-105\"/><StampDef_6 data=\"4,180,-107\"/><StampDef_7 data=\"3,-26,166\"/><StampDef_8 data=\"3,48,165\"/><StampDef_9 data=\"4,103,163\"/><StampDef_10 data=\"2,-255,165\"/><StampDef_11 data=\"3,-205,166\"/><StampDef_12 data=\"43,-210,154\"/><StampDef_13 data=\"41,-237,145\"/><StampDef_14 data=\"8,99,144\"/><StampDef_15 data=\"7,78,118\"/><StampDef_16 data=\"13,61,138\"/><StampDef_17 data=\"10,-51,147\"/><StampDef_18 data=\"11,-191,143\"/><StampDef_19 data=\"5,166,-129\"/><StampDef_20 data=\"10,137,-120\"/><StampDef_21 data=\"12,28,-124\"/><StampDef_22 data=\"42,11.949999999999989,-119\"/><StampDef_23 data=\"32,-116.5,263\"/><StampDef_24 data=\"33,-62.5,254\"/><StampDef_25 data=\"34,-222.5,206\"/><StampDef_26 data=\"32,-319,140\"/><StampDef_27 data=\"34,-281,6\"/><StampDef_28 data=\"32,80,195\"/><StampDef_29 data=\"33,147,232\"/><StampDef_30 data=\"36,181,182\"/><StampDef_31 data=\"32,-313,252\"/><StampDef_32 data=\"33,-148.5,259\"/><StampDef_33 data=\"35,-274,92\"/><StampDef_34 data=\"36,-249,190\"/><StampDef_35 data=\"36,-251,255\"/><StampDef_36 data=\"32,-214,-135\"/><StampDef_37 data=\"33,-229,-152\"/><StampDef_38 data=\"32,155,30\"/><StampDef_39 data=\"34,183,59\"/><StampDef_40 data=\"32,241,-47\"/><StampDef_41 data=\"32,50,272\"/><StampDef_42 data=\"32,266,236\"/><StampDef_43 data=\"35,265,178\"/><StampDef_44 data=\"35,-11,201\"/><StampDef_45 data=\"32,-332,-74\"/><StampDef_46 data=\"35,-313,-240\"/><StampDef_47 data=\"32,-92,-325\"/><StampDef_48 data=\"34,-113,-311\"/><StampDef_49 data=\"35,-256,-343\"/><StampDef_50 data=\"32,-282,-309\"/><StampDef_51 data=\"34,-312,-147\"/><StampDef_52 data=\"34,258,-237\"/><StampDef_53 data=\"32,222,-289\"/><StampDef_54 data=\"33,236,-308\"/><StampDef_55 data=\"32,91,-288\"/><StampDef_56 data=\"36,108,-304\"/><StampDef_57 data=\"36,23,-340\"/><StampDef_58 data=\"36,196,127\"/><StampDef_59 data=\"36,214,-163\"/><StampDef_60 data=\"34,168,-354\"/><StampDef_61 data=\"36,-27,-278\"/><StampDef_62 data=\"36,-326,183\"/><StampDef_63 data=\"36,-210,-247\"/><StampDef_64 data=\"36,268,79\"/><StampDef_65 data=\"32,51,-4\"/><StampDef_66 data=\"35,79.94999999999999,-16\"/><StampDef_67 data=\"35,10.949999999999989,-53\"/><StampDef_68 data=\"36,8,269\"/><StampDef_69 data=\"35,-264,-204\"/><StampDef_70 data=\"35,-210,-293\"/><StampDef_71 data=\"35,169,-30\"/><StampDef_72 data=\"35,256,-141\"/><StampDef_73 data=\"35,22,-289\"/><StampDef_74 data=\"35,-38,-340\"/><StampDef_75 data=\"35,-162,-338\"/><NumLevelBlocks data=\"0\"/><NumInitialBlocks data=\"6\"/><InitialBlockDef_1 data=\"3.3202264292144776,-4.33034308398139,3.1405876097442262,1,0,1,0,true,3\"/><InitialBlockDef_2 data=\"-7.997412381090939,2.3402842624197078,1.571457691030105,1,0,1,2,true,7\"/><InitialBlockDef_3 data=\"2.335179607589451,4.3373063590248915,7.854638782949576,1,0,1,2,true,7\"/><InitialBlockDef_4 data=\"-7.669884541694079,4.669855502459052,-0.00040565245514818807,1,0,1,4,true,7\"/><InitialBlockDef_5 data=\"2.671671537273981,2.6754048065729474,12.566450672631852,1,0,1,4,true,7\"/><InitialBlockDef_6 data=\"-3.822190434278517,4.667649726938079,-0.0008190394677240921,1,0,1,2,true,7\"/><ScrollLimits data=\"-334,275,-355,275,-40,0\"/><Score data=\"2000\" /></BalanceLevel>"; ["5469df897345e6c8558ab0c8a08ddbfa"] = "<BalanceLevel><NumStaticBlocks data=\"57\"/><BlockDef_1 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-210,100,190,100,190,250,-210,250\"/><BlockDef_2 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"220,-20,670,-20,670,250,220,250\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"490,-300,550,-300,550,-240,490,-240\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,60,-210,60,-210,140,-290,140\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,140,-210,140,-210,290,-290,290\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,30,-110,30,-110,60,-140,60\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,60,-50,60,-50,90,-210,90\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,250,-170,250,-170,290,-210,290\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-170,250,-130,250,-130,290,-170,290\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,0,190,0,190,90,100,90\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"40,30,100,30,100,90,40,90\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-20,60,40,60,40,90,-20,90\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-130,250,40,250,40,290,-130,290\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"40,250,220,250,220,290,40,290\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,90,220,90,220,250,190,250\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,-60,220,-60,220,-20,190,-20\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,-20,220,-20,220,90,190,90\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,250,400,250,400,290,220,290\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,250,440,250,440,290,400,290\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"440,250,480,250,480,290,440,290\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"480,250,580,250,580,290,480,290\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"580,250,670,250,670,290,580,290\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"670,160,800,160,800,290,670,290\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"800,160,910,160,910,290,800,290\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"860,100,910,100,910,160,860,160\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"800,100,860,100,860,160,800,160\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"800,-90,910,-90,910,100,800,100\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"670,30,800,30,800,160,670,160\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"670,-90,800,-90,800,30,670,30\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"10,-90,160,-90,160,-30,10,-30\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"60,-150,130,-150,130,-90,60,-90\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-90,10,-90,10,0,-110,0\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-150,0,-150,0,-90,-110,-90\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"130,-150,220,-150,220,-120,130,-120\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,-240,310,-240,310,-180,220,-180\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,-180,280,-180,280,-120,220,-120\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"250,-120,280,-120,280,-90,250,-90\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"310,-240,370,-240,370,-210,310,-210\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"370,-240,460,-240,460,-150,370,-150\"/><BlockDef_40 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"370,-150,430,-150,430,-90,370,-90\"/><BlockDef_41 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"430,-150,460,-150,460,-120,430,-120\"/><BlockDef_42 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"460,-150,490,-150,490,-120,460,-120\"/><BlockDef_43 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"460,-180,490,-180,490,-150,460,-150\"/><BlockDef_44 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"310,-90,340,-90,340,-60,310,-60\"/><BlockDef_45 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"250,-60,460,-60,460,-30,250,-30\"/><BlockDef_46 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"460,-90,520,-90,520,-30,460,-30\"/><BlockDef_47 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"520,-60,640,-60,640,-30,520,-30\"/><BlockDef_48 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"550,-90,580,-90,580,-60,550,-60\"/><BlockDef_49 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"520,-210,550,-210,550,-60,520,-60\"/><BlockDef_50 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"550,-210,580,-210,580,-180,550,-180\"/><BlockDef_51 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"640,-440,790,-440,790,-310,640,-310\"/><BlockDef_52 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"580,-440,640,-440,640,-380,580,-380\"/><BlockDef_53 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"580,-380,640,-380,640,-320,580,-320\"/><BlockDef_54 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"580,-320,640,-320,640,-270,580,-270\"/><BlockDef_55 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"610,-270,640,-270,640,-240,610,-240\"/><BlockDef_56 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"580,-150,610,-150,610,-120,580,-120\"/><BlockDef_57 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"610,-240,640,-240,640,-120,610,-120\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"1,-70,-70,4\"/><ElementDef_2 data=\"2,700,-350,3\"/><ElementDef_3 data=\"3,280,-260\"/><NumStamps data=\"254\"/><StampDef_1 data=\"38,-190,110\"/><StampDef_2 data=\"38,-150,110\"/><StampDef_3 data=\"38,-110,110\"/><StampDef_4 data=\"38,-70,110\"/><StampDef_5 data=\"38,-30,110\"/><StampDef_6 data=\"38,10,110\"/><StampDef_7 data=\"38,50,110\"/><StampDef_8 data=\"38,90,110\"/><StampDef_9 data=\"38,130,110\"/><StampDef_10 data=\"38,170,110\"/><StampDef_11 data=\"93,-180,140\"/><StampDef_12 data=\"93,-120,140\"/><StampDef_13 data=\"93,-60,140\"/><StampDef_14 data=\"93,0,140\"/><StampDef_15 data=\"93,60,140\"/><StampDef_16 data=\"93,120,140\"/><StampDef_17 data=\"93,180,140\"/><StampDef_18 data=\"93,160,200\"/><StampDef_19 data=\"93,160,260\"/><StampDef_20 data=\"93,100,200\"/><StampDef_21 data=\"93,100,260\"/><StampDef_22 data=\"93,40,200\"/><StampDef_23 data=\"93,40,260\"/><StampDef_24 data=\"93,-20,200\"/><StampDef_25 data=\"93,-20,260\"/><StampDef_26 data=\"93,-80,200\"/><StampDef_27 data=\"93,-80,260\"/><StampDef_28 data=\"93,-140,200\"/><StampDef_29 data=\"93,-200,200\"/><StampDef_30 data=\"93,-200,260\"/><StampDef_31 data=\"39,-127,165.10000000000002\"/><StampDef_32 data=\"39,104,209.95\"/><StampDef_33 data=\"39,-12,154.14999999999998\"/><StampDef_34 data=\"39,-34,220\"/><StampDef_35 data=\"93,-150,260\"/><StampDef_36 data=\"93,-110,260\"/><StampDef_37 data=\"40,-160,238\"/><StampDef_38 data=\"41,-114,237\"/><StampDef_39 data=\"42,52,244\"/><StampDef_40 data=\"40,153,234\"/><StampDef_41 data=\"43,118,243\"/><StampDef_42 data=\"38,240,-10\"/><StampDef_43 data=\"38,280,-10\"/><StampDef_44 data=\"38,320,-10\"/><StampDef_45 data=\"38,360,-10\"/><StampDef_46 data=\"38,400,-10\"/><StampDef_47 data=\"38,440,-10\"/><StampDef_48 data=\"38,480,-10\"/><StampDef_49 data=\"38,520,-10\"/><StampDef_50 data=\"38,560,-10\"/><StampDef_51 data=\"38,600,-10\"/><StampDef_52 data=\"38,640,-10\"/><StampDef_53 data=\"38,680,-10\"/><StampDef_54 data=\"93,250,20\"/><StampDef_55 data=\"93,310,20\"/><StampDef_56 data=\"93,370,20\"/><StampDef_57 data=\"93,430,20\"/><StampDef_58 data=\"93,490,20\"/><StampDef_59 data=\"93,540,20\"/><StampDef_60 data=\"93,600,20\"/><StampDef_61 data=\"93,650,20\"/><StampDef_62 data=\"93,370,80\"/><StampDef_63 data=\"93,430,80\"/><StampDef_64 data=\"93,490,80\"/><StampDef_65 data=\"93,550,80\"/><StampDef_66 data=\"93,600,80\"/><StampDef_67 data=\"93,650,80\"/><StampDef_68 data=\"93,650,140\"/><StampDef_69 data=\"93,590,140\"/><StampDef_70 data=\"93,530,140\"/><StampDef_71 data=\"93,470,140\"/><StampDef_72 data=\"93,410,140\"/><StampDef_73 data=\"93,350,140\"/><StampDef_74 data=\"93,290,140\"/><StampDef_75 data=\"93,230,140\"/><StampDef_76 data=\"93,310,200\"/><StampDef_77 data=\"93,370,200\"/><StampDef_78 data=\"93,430,200\"/><StampDef_79 data=\"93,490,200\"/><StampDef_80 data=\"93,550,200\"/><StampDef_81 data=\"93,610,200\"/><StampDef_82 data=\"93,670,200\"/><StampDef_83 data=\"93,640,260\"/><StampDef_84 data=\"93,590,260\"/><StampDef_85 data=\"93,530,260\"/><StampDef_86 data=\"93,470,260\"/><StampDef_87 data=\"93,410,260\"/><StampDef_88 data=\"93,350,260\"/><StampDef_89 data=\"93,290,260\"/><StampDef_90 data=\"93,230,260\"/><StampDef_91 data=\"39,302.6,184.64999999999998\"/><StampDef_92 data=\"39,521.8,76.39999999999998\"/><StampDef_93 data=\"39,604.85,169.95\"/><StampDef_94 data=\"93,250,80\"/><StampDef_95 data=\"93,310,80\"/><StampDef_96 data=\"39,310,100\"/><StampDef_97 data=\"40,460,233\"/><StampDef_98 data=\"41,554,236\"/><StampDef_99 data=\"43,584,241\"/><StampDef_100 data=\"42,291,241\"/><StampDef_101 data=\"40,620,235\"/><StampDef_102 data=\"42,642,241\"/><StampDef_103 data=\"93,250,200\"/><StampDef_104 data=\"4,-148,63\"/><StampDef_105 data=\"14,-178,64\"/><StampDef_106 data=\"3,-240,64\"/><StampDef_107 data=\"2,-131,32\"/><StampDef_108 data=\"4,-118,32\"/><StampDef_109 data=\"2,-101.5,-145\"/><StampDef_110 data=\"4,-8.5,-146\"/><StampDef_111 data=\"14,-71.5,-145\"/><StampDef_112 data=\"14,-37.5,-145\"/><StampDef_113 data=\"2,68,-145\"/><StampDef_114 data=\"3,124,-144\"/><StampDef_115 data=\"14,185,-145\"/><StampDef_116 data=\"4,215,-146\"/><StampDef_117 data=\"3,276,-235\"/><StampDef_118 data=\"3,361,-235\"/><StampDef_119 data=\"14,424,-236\"/><StampDef_120 data=\"4,452,-237\"/><StampDef_121 data=\"2,225,-235\"/><StampDef_122 data=\"2,496,-295\"/><StampDef_123 data=\"4,545,-294\"/><StampDef_124 data=\"14,522,-294\"/><StampDef_125 data=\"2,590,-436\"/><StampDef_126 data=\"3,645,-435\"/><StampDef_127 data=\"3,731,-435\"/><StampDef_128 data=\"4,786,-436\"/><StampDef_129 data=\"2,678,-86\"/><StampDef_130 data=\"3,735,-85\"/><StampDef_131 data=\"3,821,-84\"/><StampDef_132 data=\"3,908,-85\"/><StampDef_133 data=\"32,-247,197\"/><StampDef_134 data=\"35,-229,214\"/><StampDef_135 data=\"34,-225,157\"/><StampDef_136 data=\"32,-47,270\"/><StampDef_137 data=\"34,-80,261\"/><StampDef_138 data=\"36,-116,273\"/><StampDef_139 data=\"35,23,272\"/><StampDef_140 data=\"36,-193,267\"/><StampDef_141 data=\"32,-271,275\"/><StampDef_142 data=\"32,137,276\"/><StampDef_143 data=\"35,104,262\"/><StampDef_144 data=\"35,-261,94\"/><StampDef_145 data=\"32,57,46\"/><StampDef_146 data=\"35,79,68\"/><StampDef_147 data=\"32,168,27\"/><StampDef_148 data=\"37,151,48\"/><StampDef_149 data=\"36,116,21\"/><StampDef_150 data=\"36,-117,74\"/><StampDef_151 data=\"36,257,270\"/><StampDef_152 data=\"32,316,269\"/><StampDef_153 data=\"33,376,277\"/><StampDef_154 data=\"36,356,260\"/><StampDef_155 data=\"36,205,158\"/><StampDef_156 data=\"33,203,183\"/><StampDef_157 data=\"33,-71,74\"/><StampDef_158 data=\"33,51,-69\"/><StampDef_159 data=\"34,136,-59\"/><StampDef_160 data=\"36,108,-78\"/><StampDef_161 data=\"36,204,-42\"/><StampDef_162 data=\"36,209,59\"/><StampDef_163 data=\"36,77,-127\"/><StampDef_164 data=\"33,112,-110\"/><StampDef_165 data=\"32,254,-202\"/><StampDef_166 data=\"34,294,-212\"/><StampDef_167 data=\"34,251,-140\"/><StampDef_168 data=\"34,430,-178\"/><StampDef_169 data=\"32,399,-207\"/><StampDef_170 data=\"36,434,-211\"/><StampDef_171 data=\"36,386,-115\"/><StampDef_172 data=\"36,477,-137\"/><StampDef_173 data=\"33,325,-72\"/><StampDef_174 data=\"33,503,-43\"/><StampDef_175 data=\"36,474,-71\"/><StampDef_176 data=\"35,411,-46\"/><StampDef_177 data=\"35,517,-265\"/><StampDef_178 data=\"35,413,-130\"/><StampDef_179 data=\"35,626,-143\"/><StampDef_180 data=\"33,618,-228\"/><StampDef_181 data=\"36,634,-189\"/><StampDef_182 data=\"36,539,-163\"/><StampDef_183 data=\"32,537,-103\"/><StampDef_184 data=\"32,623,-45\"/><StampDef_185 data=\"36,599,-47\"/><StampDef_186 data=\"36,564,-76\"/><StampDef_187 data=\"32,595.55,-365\"/><StampDef_188 data=\"34,624,-338\"/><StampDef_189 data=\"35,596,-299\"/><StampDef_190 data=\"35,773,-415\"/><StampDef_191 data=\"36,705.55,-410\"/><StampDef_192 data=\"34,733,-419\"/><StampDef_193 data=\"34,539,-252\"/><StampDef_194 data=\"34,652,-407\"/><StampDef_195 data=\"34,-39.5,-22\"/><StampDef_196 data=\"34,533,264\"/><StampDef_197 data=\"35,563,259\"/><StampDef_198 data=\"36,453,262\"/><StampDef_199 data=\"32,778,176\"/><StampDef_200 data=\"34,755,194\"/><StampDef_201 data=\"34,782,251\"/><StampDef_202 data=\"32,694,243\"/><StampDef_203 data=\"32,892,218\"/><StampDef_204 data=\"34,863,183\"/><StampDef_205 data=\"36,845,233\"/><StampDef_206 data=\"36,687,181\"/><StampDef_207 data=\"36,701,72\"/><StampDef_208 data=\"33,755,85\"/><StampDef_209 data=\"32,777,45\"/><StampDef_210 data=\"36,717,133\"/><StampDef_211 data=\"32,870,22\"/><StampDef_212 data=\"33,835,-17\"/><StampDef_213 data=\"33,703,-57\"/><StampDef_214 data=\"34,750,-30\"/><StampDef_215 data=\"34,881,-59\"/><StampDef_216 data=\"34,890,126\"/><StampDef_217 data=\"36,693,10\"/><StampDef_218 data=\"36,840,61\"/><StampDef_219 data=\"36,871,140\"/><StampDef_220 data=\"36,780,-8\"/><StampDef_221 data=\"36,635,266\"/><StampDef_222 data=\"36,167,72\"/><StampDef_223 data=\"36,-230,111\"/><StampDef_224 data=\"36,-7.5,-69\"/><StampDef_225 data=\"6,729,-111\"/><StampDef_226 data=\"91,819,-146\"/><StampDef_227 data=\"7,800,-107\"/><StampDef_228 data=\"10,881,-129\"/><StampDef_229 data=\"13,862,-111\"/><StampDef_230 data=\"43,680,-98\"/><StampDef_231 data=\"5,758,-458\"/><StampDef_232 data=\"92,611,-488\"/><StampDef_233 data=\"11,631,-457\"/><StampDef_234 data=\"40,674,-457\"/><StampDef_235 data=\"42,714,-449\"/><StampDef_236 data=\"8,361,-254\"/><StampDef_237 data=\"9,430,-275\"/><StampDef_238 data=\"5,419,-258\"/><StampDef_239 data=\"91,385,-297\"/><StampDef_240 data=\"42,336,-247\"/><StampDef_241 data=\"40,95,-166\"/><StampDef_242 data=\"7,162,-190\"/><StampDef_243 data=\"13,186,-170\"/><StampDef_244 data=\"5,145,-168\"/><StampDef_245 data=\"12,199,-165\"/><StampDef_246 data=\"12,-21,-163\"/><StampDef_247 data=\"5,-55,-168\"/><StampDef_248 data=\"9,-90,-166\"/><StampDef_249 data=\"43,87,-157\"/><StampDef_250 data=\"10,539,-311\"/><StampDef_251 data=\"11,513,-314\"/><StampDef_252 data=\"6,-229,36\"/><StampDef_253 data=\"7,-174,43\"/><StampDef_254 data=\"10,-155,50\"/><NumLevelBlocks data=\"1\"/><LevelBlockDef_1 data=\"22,1,1,0,1,42\"/><NumInitialBlocks data=\"23\"/><InitialBlockDef_1 data=\"-1.3344847030116052,2.0367422767306222,1.5619338091322799,1,0,1,32,true,5\"/><InitialBlockDef_2 data=\"5.334874579455232,7.005056997698171,-3.141587070175666,0,1,1,6,true,7\"/><InitialBlockDef_3 data=\"-2.6716430831220834,1.3380219882243882,-0.00007194399169771009,1,0,1,2,true,7\"/><InitialBlockDef_4 data=\"1.003319024040364,1.0035902821589961,-1.5724828849858432,1,0,1,0,true,3\"/><InitialBlockDef_5 data=\"2.3336586627003184,-0.33294550523325406,0.0000040098046160273235,1,0,1,0,true,3\"/><InitialBlockDef_6 data=\"6.000070762504113,-0.9981138556121202,-1.5715475611066747,1,0,1,32,true,5\"/><InitialBlockDef_7 data=\"4.661666628569152,-3.6661111103764363,5.972587114587121e-8,1,0,1,10,true,6\"/><InitialBlockDef_8 data=\"7.999528371575731,-0.9967467367583802,-1.5708748454050727,1,0,1,31,true,4\"/><InitialBlockDef_9 data=\"9.999670719133364,-2.9976522041950933,-1.5689959719043418,1,0,1,32,true,5\"/><InitialBlockDef_10 data=\"15.141965819555093,7.338357328188258,-1.5707835858499424,0,1,1,6,true,7\"/><InitialBlockDef_11 data=\"10.688553511908355,-5.987846675349427,1.5829433428636337,1,0,1,0,true,3\"/><InitialBlockDef_12 data=\"13.326482106901734,-2.333900985952183,0.002773374950840089,1,0,1,31,true,4\"/><InitialBlockDef_13 data=\"16.9985777233657,-3.99944553924511,-1.570100167031425,1,0,1,32,true,5\"/><InitialBlockDef_14 data=\"17.332369504351554,-7.664635784178446,3.140108033526883,1,0,1,31,true,4\"/><InitialBlockDef_15 data=\"21.997291945823626,-0.9956251729229066,-1.5690246638001804,1,0,1,31,true,4\"/><InitialBlockDef_16 data=\"19.995175053871076,-2.6616666656598142,1.570796332922356,0,0,1,11,true,6\"/><InitialBlockDef_17 data=\"19.32955498576273,-4.999633594579586,1.5713634337679467,1,0,1,36,true,12\"/><InitialBlockDef_18 data=\"19.997167022132807,-7.000405169092347,-1.5695754751583015,1,0,1,31,true,4\"/><InitialBlockDef_19 data=\"18.670957644116665,-10.99806738818732,1.5715055174526318,1,1,1,41,true,3\"/><InitialBlockDef_20 data=\"15.671708396661232,-8.658855151191734,0.000045304173770159685,1,1,1,43,true,6\"/><InitialBlockDef_21 data=\"15.653659713140234,-9.659964986314835,0.004453982071026442,1,1,1,43,true,6\"/><InitialBlockDef_22 data=\"14.676867839078072,-8.666644680617825,0.00028939521157060936,1,0,1,10,true,6\"/><InitialBlockDef_23 data=\"0.9993412429260464,-3.6616661941668793,-2.8482262198323665e-7,1,0,1,4,true,7\"/><ScrollLimits data=\"-275,897,-618,280,0,0\"/><Score data=\"7500\" /></BalanceLevel>"; ["5525a3be11e00da140e5477d13a1751d"] = "<BalanceLevel><NumStaticBlocks data=\"36\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,10,-270,10,-270,150,-320,150\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,-30,-270,-30,-270,10,-320,10\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,-70,-270,-70,-270,-30,-320,-30\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,-260,-270,-260,-270,-70,-320,-70\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,150,-170,150,-170,290,-320,290\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,-340,-160,-340,-160,-260,-320,-260\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,-260,-210,-260,-270,-200\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-340,-70,-340,-70,-260,-160,-260\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-70,-340,110,-340,110,-260,-70,-260\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,-340,210,-340,210,-260,110,-260\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"210,-300,250,-300,250,-260,210,-260\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"250,-300,290,-300,290,-260,250,-260\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"210,-340,250,-340,250,-300,210,-300\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"250,-340,290,-340,290,-300,250,-300\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"290,-340,400,-340,400,-260,290,-260\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,-340,500,-340,500,-260,400,-260\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-170,150,-30,150,-30,290,-170,290\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-30,150,40,150,40,220,-30,220\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"40,150,110,150,110,220,40,220\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-30,220,40,220,40,290,-30,290\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"40,220,110,220,110,290,40,290\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,150,270,150,270,190,230,190\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,150,310,150,310,190,270,190\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,190,310,190,310,230,270,230\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,190,270,190,270,230,230,230\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,150,230,150,230,290,110,290\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,230,310,230,310,290,230,290\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"310,150,460,150,460,290,310,290\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"310,50,410,50,410,150,310,150\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"410,50,500,50,500,150,410,150\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"460,150,500,150,500,290,460,290\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"310,-110,500,-110,500,50,310,50\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"460,-260,500,-260,500,-220,460,-220\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"460,-220,500,-220,500,-180,460,-180\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"460,-180,500,-180,500,-110,460,-110\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,-260,460,-260,460,-200\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"1,-190,200,1\"/><ElementDef_2 data=\"2,380,-60,1\"/><ElementDef_3 data=\"4,60,110,this portable ground block can|be dragged and will stay fixed|in midair. Useful!\"/><NumStamps data=\"83\"/><StampDef_1 data=\"3,-8,155\"/><StampDef_2 data=\"3,79,155\"/><StampDef_3 data=\"3,167,155\"/><StampDef_4 data=\"3,255,155\"/><StampDef_5 data=\"4,309,154\"/><StampDef_6 data=\"2,-267,155\"/><StampDef_7 data=\"14,-246.5,156\"/><StampDef_8 data=\"92,-100,119\"/><StampDef_9 data=\"92,165,104\"/><StampDef_10 data=\"92,273,127\"/><StampDef_11 data=\"3,-94,156\"/><StampDef_12 data=\"13,125,129\"/><StampDef_13 data=\"7,88,132\"/><StampDef_14 data=\"10,223,141\"/><StampDef_15 data=\"9,240,137\"/><StampDef_16 data=\"11,-53,136\"/><StampDef_17 data=\"8,23,118\"/><StampDef_18 data=\"91,-31,96\"/><StampDef_19 data=\"5,11,134\"/><StampDef_20 data=\"43,-74,143\"/><StampDef_21 data=\"12,-248,138\"/><StampDef_22 data=\"91,198,113\"/><StampDef_23 data=\"15,330.95,-104\"/><StampDef_24 data=\"2,315,-105\"/><StampDef_25 data=\"4,453.95,-106\"/><StampDef_26 data=\"15,436.95,-104\"/><StampDef_27 data=\"32,141,207\"/><StampDef_28 data=\"33,158,189\"/><StampDef_29 data=\"34,211,254\"/><StampDef_30 data=\"36,213,196\"/><StampDef_31 data=\"36,58,242\"/><StampDef_32 data=\"33,89,259\"/><StampDef_33 data=\"34,-73,196\"/><StampDef_34 data=\"32,-107.5,235\"/><StampDef_35 data=\"35,18,179\"/><StampDef_36 data=\"37,-19,273\"/><StampDef_37 data=\"37,-60,257\"/><StampDef_38 data=\"37,289,254\"/><StampDef_39 data=\"33,293,173\"/><StampDef_40 data=\"33,440,219\"/><StampDef_41 data=\"32,369,176\"/><StampDef_42 data=\"33,385,257\"/><StampDef_43 data=\"33,-290,262\"/><StampDef_44 data=\"32,-301,205\"/><StampDef_45 data=\"35,-195,252\"/><StampDef_46 data=\"36,18,235\"/><StampDef_47 data=\"36,263,209\"/><StampDef_48 data=\"36,66,178\"/><StampDef_49 data=\"32,-299,65\"/><StampDef_50 data=\"34,-284,119\"/><StampDef_51 data=\"36,-283,-49\"/><StampDef_52 data=\"36,-281,36\"/><StampDef_53 data=\"32,384,-2\"/><StampDef_54 data=\"35,431,1\"/><StampDef_55 data=\"36,458.95,-31\"/><StampDef_56 data=\"36,325,23\"/><StampDef_57 data=\"32,472,96\"/><StampDef_58 data=\"35,332,76\"/><StampDef_59 data=\"36,385,116\"/><StampDef_60 data=\"36,335,226\"/><StampDef_61 data=\"36,468,172\"/><StampDef_62 data=\"32,-301,-177\"/><StampDef_63 data=\"33,-283,-117\"/><StampDef_64 data=\"33,-222,-288\"/><StampDef_65 data=\"32,-294,-321\"/><StampDef_66 data=\"34,-175,-328\"/><StampDef_67 data=\"33,-84,-286\"/><StampDef_68 data=\"36,-251,-245\"/><StampDef_69 data=\"32,74,-281\"/><StampDef_70 data=\"34,56,-299\"/><StampDef_71 data=\"33,-27,-323\"/><StampDef_72 data=\"36,-129,-297\"/><StampDef_73 data=\"36,-15,-282\"/><StampDef_74 data=\"36,187,-328\"/><StampDef_75 data=\"34,183,-288\"/><StampDef_76 data=\"34,383,-293\"/><StampDef_77 data=\"36,326,-333\"/><StampDef_78 data=\"32,323,-283\"/><StampDef_79 data=\"33,485,-149\"/><StampDef_80 data=\"34,448,-304\"/><StampDef_81 data=\"35,446,-240\"/><StampDef_82 data=\"36,265,-287\"/><StampDef_83 data=\"36,432,120\"/><NumLevelBlocks data=\"0\"/><NumInitialBlocks data=\"4\"/><InitialBlockDef_1 data=\"-6.139605922761299,4.337675489506442,0.000657988190675436,10,0,1,22,true,7\"/><InitialBlockDef_2 data=\"12.883527110253477,-4.331690191194804,-0.0012026870604569294,10,0,1,22,true,7\"/><InitialBlockDef_3 data=\"2.4073925083204695,-2.4609265563712275,0,4,0,1,15,true,7\"/><InitialBlockDef_4 data=\"2.3135936504316614,-4.455922995139511,2.435965892579893e-7,10,0,1,22,true,7\"/><ScrollLimits data=\"-303,472,-331,275,-20,-50\"/><Score data=\"3000\" /></BalanceLevel>"; ["7404f66dc38e85348cfc56d112bc1aed"] = "<BalanceLevel><NumStaticBlocks data=\"27\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,130,-310,130,-310,240,-430,240\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,240,-370,240,-370,290,-430,290\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-370,240,-310,240,-310,290,-370,290\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,130,-250,130,-250,190,-310,190\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,190,-190,190,-190,290,-310,290\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,130,-190,130,-190,190,-250,190\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,130,-100,130,-100,220,-190,220\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,220,-100,220,-100,290,-190,290\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,130,60,130,60,290,-100,290\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"60,130,100,130,100,170,60,170\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,130,140,130,140,170,100,170\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"60,170,100,170,100,210,60,210\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,170,140,170,140,210,100,210\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"60,210,140,210,140,290,60,290\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,130,290,130,290,290,140,290\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-340,-220,-250,-220,-290,-180,-340,-180\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,-220,-340,-220,-340,-130,-430,-130\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-340,-180,-290,-180,-340,-130\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,-350,-250,-350,-250,-220,-430,-220\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,-350,-110,-350,-110,-220,-250,-220\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-260,-70,-260,-70,-220,-110,-220\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-70,-260,-30,-260,-30,-220,-70,-220\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-300,-70,-300,-70,-260,-110,-260\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-70,-300,-30,-300,-30,-260,-70,-260\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-350,-30,-350,-30,-300,-110,-300\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-30,-350,100,-350,100,-220,-30,-220\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,-350,290,-350,290,-220,100,-220\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"1,170,-260,3\"/><ElementDef_2 data=\"2,-30,180,1\"/><ElementDef_3 data=\"3,-270,110\"/><ElementDef_4 data=\"4,-160,90,if you get stuck there is always|a help and reset button in the|top right. which is handy! \"/><NumStamps data=\"71\"/><StampDef_1 data=\"3,-389,136\"/><StampDef_2 data=\"3,-304,136\"/><StampDef_3 data=\"3,-217,135\"/><StampDef_4 data=\"3,-129,135\"/><StampDef_5 data=\"4,-74,134\"/><StampDef_6 data=\"2,26,132\"/><StampDef_7 data=\"3,82,132\"/><StampDef_8 data=\"3,169,131\"/><StampDef_9 data=\"3,256,130\"/><StampDef_10 data=\"32,-208,208\"/><StampDef_11 data=\"32,-398,177\"/><StampDef_12 data=\"33,-387,160\"/><StampDef_13 data=\"36,-333,212\"/><StampDef_14 data=\"35,-401,225\"/><StampDef_15 data=\"35,-244,251\"/><StampDef_16 data=\"34,-276,207\"/><StampDef_17 data=\"36,-215,159\"/><StampDef_18 data=\"35,-119,252\"/><StampDef_19 data=\"32,-23.94999999999999,234\"/><StampDef_20 data=\"34,27,226\"/><StampDef_21 data=\"32,184,242\"/><StampDef_22 data=\"35,171,227\"/><StampDef_23 data=\"33,245,202\"/><StampDef_24 data=\"32,188,163\"/><StampDef_25 data=\"33,247,266\"/><StampDef_26 data=\"36,116,193\"/><StampDef_27 data=\"36,0,249\"/><StampDef_28 data=\"36,-137,197\"/><StampDef_29 data=\"36,-298,155\"/><StampDef_30 data=\"36,-343,270\"/><StampDef_31 data=\"34,99,264\"/><StampDef_32 data=\"33,-70.05,237\"/><StampDef_33 data=\"36,28.94999999999999,192\"/><StampDef_34 data=\"34,81,149\"/><StampDef_35 data=\"32,69,-239\"/><StampDef_36 data=\"32,-396,-153\"/><StampDef_37 data=\"33,-357,-206\"/><StampDef_38 data=\"35,-405,-210\"/><StampDef_39 data=\"36,-326,-167\"/><StampDef_40 data=\"34,-301,-198\"/><StampDef_41 data=\"32,-273,-310\"/><StampDef_42 data=\"33,-393,-311\"/><StampDef_43 data=\"34,-318,-276\"/><StampDef_44 data=\"36,-386,-263\"/><StampDef_45 data=\"36,-136,-246\"/><StampDef_46 data=\"34,-157,-266\"/><StampDef_47 data=\"33,-227,-241\"/><StampDef_48 data=\"32,-181,-330\"/><StampDef_49 data=\"34,-47,-236\"/><StampDef_50 data=\"36,-44,-323\"/><StampDef_51 data=\"34,15,-293\"/><StampDef_52 data=\"36,80,-322\"/><StampDef_53 data=\"36,233.5,-311\"/><StampDef_54 data=\"32,176.5,-326\"/><StampDef_55 data=\"33,140.5,-326\"/><StampDef_56 data=\"35,234.5,-293\"/><StampDef_57 data=\"5,103,108\"/><StampDef_58 data=\"7,239,108\"/><StampDef_59 data=\"10,256,117\"/><StampDef_60 data=\"12,48,116\"/><StampDef_61 data=\"12,-108,118\"/><StampDef_62 data=\"42,-396,121\"/><StampDef_63 data=\"10,-332,95\"/><StampDef_64 data=\"40,-337,114\"/><StampDef_65 data=\"92,-372,80\"/><StampDef_66 data=\"11,-352,112\"/><StampDef_67 data=\"9,68,112\"/><StampDef_68 data=\"7,166,85\"/><StampDef_69 data=\"6,178,103\"/><StampDef_70 data=\"43,-202,121\"/><StampDef_71 data=\"10,-172,119\"/><NumLevelBlocks data=\"5\"/><LevelBlockDef_1 data=\"3,1,0,0,1,0\"/><LevelBlockDef_2 data=\"7,1,1,0,1,24\"/><LevelBlockDef_3 data=\"3,1,0,270,1,0\"/><LevelBlockDef_4 data=\"3,1,1,180,1,41\"/><LevelBlockDef_5 data=\"7,1,0,0,1,4\"/><NumInitialBlocks data=\"6\"/><InitialBlockDef_1 data=\"3.011810317861767,3.67110253473143,-12.565859486110758,5,0,1,18,true,7\"/><InitialBlockDef_2 data=\"3.0321490982783685,-0.3203211287880891,0.0008504685095976913,0,0,1,3,true,7\"/><InitialBlockDef_3 data=\"6.681559658473597,-6.672058393127069,-3.1423246229300927,1,1,1,24,true,7\"/><InitialBlockDef_4 data=\"4.686884113802097,-6.669920722062641,-3.143101847761043,1,1,1,24,true,7\"/><InitialBlockDef_5 data=\"6.7120707620941396,3.6702558758636235,-0.0014690446617235046,0,0,1,14,true,7\"/><InitialBlockDef_6 data=\"3.133394839371886,1.675752912624221,0.0004395175915293051,0,0,1,13,true,7\"/><ScrollLimits data=\"-419,266,-335,273,0,0\"/><Score data=\"4000\" /></BalanceLevel>"; ["331502f2076b02e9c469fd04633243c4"] = "<BalanceLevel><NumStaticBlocks data=\"38\"/><BlockDef_1 water=\"0\" nodrag=\"1\" deadzone=\"0\" data=\"-300,-150,280,-150,300,-130,300,-100,280,-80,-300,-80,-320,-100,-320,-130\"/><BlockDef_2 water=\"0\" nodrag=\"1\" deadzone=\"0\" data=\"-300,-60,280,-60,300,-40,300,40,280,60,-300,60,-320,40,-320,-40\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,240,-330,240,-330,300,-450,300\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,240,-290,240,-290,300,-330,300\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,240,-250,240,-250,300,-290,300\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-610,70,-450,70,-450,300,-610,300\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-120,240,20,240,20,300,-120,300\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,240,-120,240,-120,300,-250,300\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"20,240,60,240,60,300,20,300\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"60,240,100,240,100,300,60,300\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,240,260,240,260,300,100,300\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,140,370,140,370,300,260,300\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,100,300,100,300,140,260,140\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,60,300,60,300,100,260,100\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"300,100,370,100,370,140,300,140\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"300,60,370,60,370,100,300,100\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,-160,370,-160,370,60,260,60\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,70,-280,70,-280,120,-330,120\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-510,-160,-280,-160,-280,70,-510,70\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-410,-290,-280,-290,-280,-160,-410,-160\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-280,-290,-60,-290,-60,-160,-280,-160\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,-290,10,-290,10,-230,-60,-230\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,-230,10,-230,10,-160,-60,-160\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"10,-230,80,-230,80,-160,10,-160\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"10,-290,80,-290,80,-230,10,-230\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,-290,260,-290,260,-160,80,-160\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-200,-410,-200,-410,-160,-450,-160\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-490,-200,-450,-200,-450,-160,-490,-160\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-490,-240,-450,-240,-450,-200,-490,-200\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-240,-410,-240,-410,-200,-450,-200\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-490,-290,-410,-290,-410,-240,-490,-240\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-610,-290,-490,-290,-490,-160,-610,-160\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-610,-160,-510,-160,-510,70,-610,70\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,-200,300,-200,300,-160,260,-160\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"300,-200,370,-200,370,-160,300,-160\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,-240,300,-240,300,-200,260,-200\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"300,-240,370,-240,370,-200,300,-200\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,-290,370,-290,370,-240,260,-240\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"1,-190,-200,3\"/><ElementDef_2 data=\"2,180,-200,3\"/><ElementDef_3 data=\"4,-250,200,your almost there.|just this last tricky level.||you can do it!!!\"/><NumStamps data=\"112\"/><StampDef_1 data=\"90,-300,40\"/><StampDef_2 data=\"90,-301,-40\"/><StampDef_3 data=\"90,-299,-99\"/><StampDef_4 data=\"90,-299,-132\"/><StampDef_5 data=\"90,280,39\"/><StampDef_6 data=\"90,280,-40\"/><StampDef_7 data=\"90,280,-134\"/><StampDef_8 data=\"90,280,-100\"/><StampDef_9 data=\"3,-307,244\"/><StampDef_10 data=\"3,-222,244\"/><StampDef_11 data=\"3,-135,244\"/><StampDef_12 data=\"3,-46,245\"/><StampDef_13 data=\"3,41,245\"/><StampDef_14 data=\"3,129,245\"/><StampDef_15 data=\"2,-448,244\"/><StampDef_16 data=\"3,-394,245\"/><StampDef_17 data=\"4,255,245\"/><StampDef_18 data=\"14,225,245\"/><StampDef_19 data=\"14,188,245\"/><StampDef_20 data=\"32,-510,252\"/><StampDef_21 data=\"33,-485,232\"/><StampDef_22 data=\"34,-513,127\"/><StampDef_23 data=\"36,-462,172\"/><StampDef_24 data=\"36,-523,201\"/><StampDef_25 data=\"33,-352,266\"/><StampDef_26 data=\"36,-404,266\"/><StampDef_27 data=\"36,-264,265\"/><StampDef_28 data=\"36,-469,94\"/><StampDef_29 data=\"36,-357,20\"/><StampDef_30 data=\"32,-375,-4\"/><StampDef_31 data=\"33,-317,-18\"/><StampDef_32 data=\"34,-477,22\"/><StampDef_33 data=\"34,-453,-79\"/><StampDef_34 data=\"34,-336,-139\"/><StampDef_35 data=\"34,-528,-78\"/><StampDef_36 data=\"33,-298,98\"/><StampDef_37 data=\"34,-413,-133\"/><StampDef_38 data=\"34,-339,-239\"/><StampDef_39 data=\"33,-449,-259\"/><StampDef_40 data=\"34,-293,-193\"/><StampDef_41 data=\"36,-362,-188\"/><StampDef_42 data=\"36,-390,-257\"/><StampDef_43 data=\"36,-522,-205\"/><StampDef_44 data=\"34,-520,-265\"/><StampDef_45 data=\"36,-430,-175\"/><StampDef_46 data=\"36,-425,37\"/><StampDef_47 data=\"36,-375,-82\"/><StampDef_48 data=\"36,-480,-133\"/><StampDef_49 data=\"36,-469,-223\"/><StampDef_50 data=\"36,-296,-262\"/><StampDef_51 data=\"32,-183,267\"/><StampDef_52 data=\"34,-138,269\"/><StampDef_53 data=\"34,0,267\"/><StampDef_54 data=\"33,-70,271\"/><StampDef_55 data=\"33,166,269\"/><StampDef_56 data=\"34,239,269\"/><StampDef_57 data=\"32,293,181\"/><StampDef_58 data=\"33,316,224\"/><StampDef_59 data=\"35,310,157\"/><StampDef_60 data=\"36,334,189\"/><StampDef_61 data=\"36,289,252\"/><StampDef_62 data=\"36,129,264\"/><StampDef_63 data=\"36,-427,-24\"/><StampDef_64 data=\"34,-77,-190\"/><StampDef_65 data=\"36,-72,-251\"/><StampDef_66 data=\"32,-186.5,-266\"/><StampDef_67 data=\"35,-259.5,-264\"/><StampDef_68 data=\"35,-17,-264\"/><StampDef_69 data=\"35,49,-257\"/><StampDef_70 data=\"32,51,-183\"/><StampDef_71 data=\"34,35,-206\"/><StampDef_72 data=\"36,-9,-216\"/><StampDef_73 data=\"34,-112,-237\"/><StampDef_74 data=\"34,119.55000000000001,-261\"/><StampDef_75 data=\"32,306,-261\"/><StampDef_76 data=\"34,276,-224\"/><StampDef_77 data=\"35,326,-183\"/><StampDef_78 data=\"36,290,-188\"/><StampDef_79 data=\"36,326,-220\"/><StampDef_80 data=\"36,188,-265\"/><StampDef_81 data=\"36,101,-182\"/><StampDef_82 data=\"36,-33,-177\"/><StampDef_83 data=\"36,309,-77\"/><StampDef_84 data=\"32,321,-124\"/><StampDef_85 data=\"32,324,15\"/><StampDef_86 data=\"34,287,7\"/><StampDef_87 data=\"34,321,-47\"/><StampDef_88 data=\"36,270,-74\"/><StampDef_89 data=\"36,279,116\"/><StampDef_90 data=\"36,325,82\"/><StampDef_91 data=\"35,321,119\"/><StampDef_92 data=\"33,285,76\"/><StampDef_93 data=\"34,79,260\"/><StampDef_94 data=\"36,-318,106\"/><StampDef_95 data=\"6,-401,217\"/><StampDef_96 data=\"5,-301,220\"/><StampDef_97 data=\"5,212,222\"/><StampDef_98 data=\"6,148,218\"/><StampDef_99 data=\"92,189,188\"/><StampDef_100 data=\"92,-354,190\"/><StampDef_101 data=\"8,-338,226\"/><StampDef_102 data=\"9,-44,195\"/><StampDef_103 data=\"13,-45,218\"/><StampDef_104 data=\"42,-140,229\"/><StampDef_105 data=\"41,-107,224\"/><StampDef_106 data=\"11,98,224\"/><StampDef_107 data=\"8,78,230\"/><StampDef_108 data=\"10,251,227\"/><StampDef_109 data=\"7,-3,223\"/><StampDef_110 data=\"43,-280,231\"/><StampDef_111 data=\"10,-216,228\"/><StampDef_112 data=\"9,-192,223\"/><NumLevelBlocks data=\"8\"/><LevelBlockDef_1 data=\"7,1,0,0,1,2\"/><LevelBlockDef_2 data=\"7,1,0,0,1,2\"/><LevelBlockDef_3 data=\"7,1,0,0,1,2\"/><LevelBlockDef_4 data=\"7,1,0,0,1,2\"/><LevelBlockDef_5 data=\"7,3,1,0,1,17\"/><LevelBlockDef_6 data=\"7,3,1,0,1,17\"/><LevelBlockDef_7 data=\"5,1,1,0,0,0\"/><LevelBlockDef_8 data=\"4,1,1,0,0,0\"/><NumInitialBlocks data=\"8\"/><InitialBlockDef_1 data=\"-11.998760676238659,3.6611814812257446,-0.00011681769248816035,3,1,1,17,true,7\"/><InitialBlockDef_2 data=\"-11.949008133264346,5.655401103519746,-0.00032153212173360125,3,1,1,17,true,7\"/><InitialBlockDef_3 data=\"4.921872323351624,7.660306132404366,0.005226590525661722,1,1,0,17,true,5\"/><InitialBlockDef_4 data=\"-6.254226580241942,7.667115584683997,0.00023775392210468127,1,1,0,17,true,4\"/><InitialBlockDef_5 data=\"-3.2571697356585974,7.337499757885257,-0.0013191834873806758,1,0,1,2,true,7\"/><InitialBlockDef_6 data=\"-1.2596292456803706,7.3325124540995175,-0.0019101719770433215,1,0,1,2,true,7\"/><InitialBlockDef_7 data=\"0.7362062884251522,7.337343743183908,-0.0006593016855240439,1,0,1,2,true,7\"/><InitialBlockDef_8 data=\"2.925142449911565,7.338264611450634,0.0007392784479249167,1,0,1,2,true,7\"/><ScrollLimits data=\"-529,348,-276,275,-10,-10\"/><Score data=\"10000\" /></BalanceLevel>"; ["16413899c74c67c48a527e4665ccec38"] = "<BalanceLevel><NumStaticBlocks data=\"19\"/><BlockDef_1 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-160,100,140,100,140,290,-160,290\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-440,-130,-330,-130,-330,-20,-440,-20\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-410,-20,-370,-20,-370,20,-410,20\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-370,20,-330,20,-330,60,-370,60\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-370,-20,-330,-20,-330,20,-370,20\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-410,20,-370,20,-370,60,-410,60\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-130,-160,-130,-160,60,-330,60\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,60,-160,60,-160,180,-290,180\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-410,60,-290,60,-290,180,-410,180\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-410,180,-160,180,-160,290,-410,290\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-440,-20,-410,-20,-400,290,-440,290\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,-130,190,-130,190,-90,140,-90\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"250,-130,340,-130,340,-20,250,-20\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"250,-20,340,-20,340,90,250,90\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,-130,250,-130,250,-90,190,-90\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,-90,250,-90,250,90,140,90\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,180,340,180,340,290,140,290\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,90,230,90,230,180,140,180\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,90,340,90,340,180,230,180\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"1,-210,10,2\"/><ElementDef_2 data=\"2,180,10,4\"/><ElementDef_3 data=\"3,-200,-150\"/><ElementDef_4 data=\"4,-310,-170,these blocks are magnetic. they will stick to all other| metal shapes. you can also| stick them to the robot heads.\"/><NumStamps data=\"83\"/><StampDef_1 data=\"38,-140,110\"/><StampDef_2 data=\"38,-100,110\"/><StampDef_3 data=\"38,-60,110\"/><StampDef_4 data=\"38,-20,110\"/><StampDef_5 data=\"38,20,110\"/><StampDef_6 data=\"38,60,110\"/><StampDef_7 data=\"38,100,110\"/><StampDef_8 data=\"38,140,110\"/><StampDef_9 data=\"93,-130,130\"/><StampDef_10 data=\"93,-10,130\"/><StampDef_11 data=\"93,-10,130\"/><StampDef_12 data=\"93,50,130\"/><StampDef_13 data=\"93,110,130\"/><StampDef_14 data=\"93,-130,190\"/><StampDef_15 data=\"93,-70,190\"/><StampDef_16 data=\"93,110,250\"/><StampDef_17 data=\"93,-130,310\"/><StampDef_18 data=\"93,-70,310\"/><StampDef_19 data=\"93,-10,310\"/><StampDef_20 data=\"93,50,310\"/><StampDef_21 data=\"93,110,310\"/><StampDef_22 data=\"32,-270,78\"/><StampDef_23 data=\"35,-201,135\"/><StampDef_24 data=\"34,-260,1\"/><StampDef_25 data=\"32,-272,-28\"/><StampDef_26 data=\"36,-272,20\"/><StampDef_27 data=\"32,-377,158\"/><StampDef_28 data=\"35,-388,143\"/><StampDef_29 data=\"34,-315,128\"/><StampDef_30 data=\"33,-365,82\"/><StampDef_31 data=\"33,-354,-3\"/><StampDef_32 data=\"32,-216,271\"/><StampDef_33 data=\"35,-234,255\"/><StampDef_34 data=\"34,-183,202\"/><StampDef_35 data=\"33,-370,245\"/><StampDef_36 data=\"33,-278,196\"/><StampDef_37 data=\"36,-313,253\"/><StampDef_38 data=\"36,-385,-59\"/><StampDef_39 data=\"36,-234,108\"/><StampDef_40 data=\"32,208,156\"/><StampDef_41 data=\"35,195,141\"/><StampDef_42 data=\"37,162,230\"/><StampDef_43 data=\"32,246,251\"/><StampDef_44 data=\"33,225,218\"/><StampDef_45 data=\"34,265,101\"/><StampDef_46 data=\"35,236.5,5.050000000000011\"/><StampDef_47 data=\"36,241.5,37.05000000000001\"/><StampDef_48 data=\"34,228,-77\"/><StampDef_49 data=\"37,153.5,61.05000000000001\"/><StampDef_50 data=\"37,152,169\"/><StampDef_51 data=\"37,-305,-77\"/><StampDef_52 data=\"3,-349,-124\"/><StampDef_53 data=\"3,-276,-124\"/><StampDef_54 data=\"14,-228,-124\"/><StampDef_55 data=\"14,-202,-125\"/><StampDef_56 data=\"4,-168,-127\"/><StampDef_57 data=\"15,-187,-126\"/><StampDef_58 data=\"2,146,-129\"/><StampDef_59 data=\"3,198,-129\"/><StampDef_60 data=\"14,260,-130\"/><StampDef_61 data=\"32,275,142\"/><StampDef_62 data=\"33,150.5,-102.94999999999999\"/><StampDef_63 data=\"35,200.5,-48.94999999999999\"/><StampDef_64 data=\"9,-253,-143\"/><StampDef_65 data=\"12,-271,-139\"/><StampDef_66 data=\"7,-377,-163\"/><StampDef_67 data=\"5,-364,-145.95\"/><StampDef_68 data=\"7,153,-150\"/><StampDef_69 data=\"10,256,-149\"/><StampDef_70 data=\"12,239,-173\"/><StampDef_71 data=\"6,204,-157\"/><StampDef_72 data=\"36,-190,-99\"/><StampDef_73 data=\"93,50,250\"/><StampDef_74 data=\"93,-10,250\"/><StampDef_75 data=\"93,-10,190\"/><StampDef_76 data=\"93,-70,130\"/><StampDef_77 data=\"93,-130,250\"/><StampDef_78 data=\"93,-70,250\"/><StampDef_79 data=\"39,-12.850000000000023,246\"/><StampDef_80 data=\"93,50,190\"/><StampDef_81 data=\"93,110,190\"/><StampDef_82 data=\"39,21.25,178.64999999999998\"/><StampDef_83 data=\"39,-66.5,159.35000000000002\"/><NumLevelBlocks data=\"3\"/><LevelBlockDef_1 data=\"7,1,1,0,1,24\"/><LevelBlockDef_2 data=\"7,1,1,0,1,24\"/><LevelBlockDef_3 data=\"3,1,1,180,1,41\"/><NumInitialBlocks data=\"2\"/><InitialBlockDef_1 data=\"3.6703007614763905,0.4718394995231503,0.00010572168986427862,1,1,1,24,true,7\"/><InitialBlockDef_2 data=\"6.420215476726167,-4.9949011150503235,0.000012982448095400746,1,1,1,24,true,7\"/><ScrollLimits data=\"-391,275,-370,275,-60,-30\"/><Score data=\"3000\" /></BalanceLevel>"; ["30662498f1312057946605fe2128567b"] = "<BalanceLevel><NumStaticBlocks data=\"53\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,-260,-150,-80,-190,-40,-190,-260\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"450,-260,640,-260,640,-40,490,-40,450,-80\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-40,-290,-40,-290,240,590,240,590,110,640,110,640,300,-330,300\"/><BlockDef_4 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-290,0,590,0,590,240,-290,240\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,240,-200,240,-200,300,-330,300\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-200,240,-140,240,-140,300,-200,300\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,240,-80,240,-80,300,-140,300\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-80,240,110,240,110,300,-80,300\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,240,150,240,150,280,110,280\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,280,150,280,150,300,110,300\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"150,240,190,240,190,280,150,280\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"150,280,190,280,190,300,150,300\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,240,330,240,330,300,190,300\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"330,240,630,240,630,300,330,300\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,200,-290,200,-290,240,-330,240\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,160,-290,160,-290,200,-330,200\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,60,-290,60,-290,160,-330,160\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-40,-290,-40,-290,60,-330,60\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"590,70,640,70,640,110,590,110\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"590,30,640,30,640,70,590,70\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"590,-40,640,-40,640,30,590,30\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-40,-230,-40,-290,20\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-150,-190,-150,-190,-40,-330,-40\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-260,-190,-260,-190,-150,-330,-150\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,-300,-150,-300,-150,-260,-190,-260\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,-390,-110,-390,-110,-350,-150,-350\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-390,-70,-390,-70,-350,-110,-350\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,-390,-150,-390,-150,-300,-190,-300\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,-350,-70,-350,-150,-270\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-330,-260,-330,-260,-260,-330,-260\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-260,-330,-190,-330,-190,-260,-260,-260\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-510,-290,-510,-290,-470,-330,-470\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-470,-290,-470,-290,-330,-330,-330\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-550,-290,-550,-290,-510,-330,-510\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-660,-290,-660,-290,-550,-330,-550\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-660,-230,-660,-290,-600\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-700,-60,-700,-60,-660,-330,-660\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,-700,60,-700,60,-660,-60,-660\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"60,-700,100,-700,100,-660,60,-660\"/><BlockDef_40 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,-700,140,-700,140,-660,100,-660\"/><BlockDef_41 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,-700,240,-700,240,-660,140,-660\"/><BlockDef_42 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"240,-700,350,-700,350,-660,240,-660\"/><BlockDef_43 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"350,-700,640,-700,640,-660,350,-660\"/><BlockDef_44 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"600,-660,640,-660,640,-490,600,-490\"/><BlockDef_45 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"600,-490,640,-490,640,-450,600,-450\"/><BlockDef_46 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"600,-450,640,-450,640,-410,600,-410\"/><BlockDef_47 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"600,-410,640,-410,640,-300,600,-300\"/><BlockDef_48 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"380,-350,450,-350,450,-280\"/><BlockDef_49 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"450,-390,600,-390,600,-260,450,-260\"/><BlockDef_50 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"600,-300,640,-300,640,-260,600,-260\"/><BlockDef_51 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"380,-390,450,-390,450,-350,380,-350\"/><BlockDef_52 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"530,-40,590,-40,590,20\"/><BlockDef_53 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"540,-660,600,-660,600,-600\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"1,-200,-180,2\"/><ElementDef_2 data=\"2,490,-180,4\"/><ElementDef_3 data=\"3,450,-410\"/><ElementDef_4 data=\"4,-120,-430,this is going to test your bridge|building skills. remember not to|let any metal shapes touch|the water though!\"/><NumStamps data=\"213\"/><StampDef_1 data=\"38,-270,0\"/><StampDef_2 data=\"38,-230,0\"/><StampDef_3 data=\"38,-190,0\"/><StampDef_4 data=\"38,-150,0\"/><StampDef_5 data=\"38,-110,0\"/><StampDef_6 data=\"38,-70,0\"/><StampDef_7 data=\"38,-30,0\"/><StampDef_8 data=\"38,10,0\"/><StampDef_9 data=\"38,50,0\"/><StampDef_10 data=\"38,90,0\"/><StampDef_11 data=\"38,130,0\"/><StampDef_12 data=\"38,170,0\"/><StampDef_13 data=\"38,210,0\"/><StampDef_14 data=\"38,250,0\"/><StampDef_15 data=\"38,290,0\"/><StampDef_16 data=\"38,330,0\"/><StampDef_17 data=\"38,370,0\"/><StampDef_18 data=\"38,410,0\"/><StampDef_19 data=\"38,450,0\"/><StampDef_20 data=\"38,490,0\"/><StampDef_21 data=\"38,530,0\"/><StampDef_22 data=\"38,570,0\"/><StampDef_23 data=\"93,-260,30\"/><StampDef_24 data=\"93,-200,30\"/><StampDef_25 data=\"93,-80,30\"/><StampDef_26 data=\"93,-260,90\"/><StampDef_27 data=\"93,-260,150\"/><StampDef_28 data=\"93,-260,210\"/><StampDef_29 data=\"93,-200,210\"/><StampDef_30 data=\"93,-200,150\"/><StampDef_31 data=\"93,-140,150\"/><StampDef_32 data=\"93,-140,210\"/><StampDef_33 data=\"93,-80,210\"/><StampDef_34 data=\"93,-80,150\"/><StampDef_35 data=\"93,-80,90\"/><StampDef_36 data=\"93,-20,90\"/><StampDef_37 data=\"93,-20,150\"/><StampDef_38 data=\"93,-20,210\"/><StampDef_39 data=\"93,40,210\"/><StampDef_40 data=\"93,40,150\"/><StampDef_41 data=\"93,40,90\"/><StampDef_42 data=\"93,100,90\"/><StampDef_43 data=\"93,100,150\"/><StampDef_44 data=\"93,100,210\"/><StampDef_45 data=\"93,160,210\"/><StampDef_46 data=\"93,160,150\"/><StampDef_47 data=\"93,160,30\"/><StampDef_48 data=\"93,220,90\"/><StampDef_49 data=\"93,220,150\"/><StampDef_50 data=\"93,220,210\"/><StampDef_51 data=\"93,280,210\"/><StampDef_52 data=\"93,280,150\"/><StampDef_53 data=\"93,280,90\"/><StampDef_54 data=\"93,280,30\"/><StampDef_55 data=\"93,340,30\"/><StampDef_56 data=\"93,340,150\"/><StampDef_57 data=\"93,340,210\"/><StampDef_58 data=\"93,400,210\"/><StampDef_59 data=\"93,400,150\"/><StampDef_60 data=\"93,400,90\"/><StampDef_61 data=\"93,400,30\"/><StampDef_62 data=\"93,460,30\"/><StampDef_63 data=\"93,520,30\"/><StampDef_64 data=\"93,580,30\"/><StampDef_65 data=\"93,580,90\"/><StampDef_66 data=\"93,460,90\"/><StampDef_67 data=\"93,460,150\"/><StampDef_68 data=\"93,520,150\"/><StampDef_69 data=\"93,580,150\"/><StampDef_70 data=\"93,580,210\"/><StampDef_71 data=\"93,520,210\"/><StampDef_72 data=\"93,460,210\"/><StampDef_73 data=\"39,452.25,177.05\"/><StampDef_74 data=\"39,373.45,138.7\"/><StampDef_75 data=\"39,464.35,121.10000000000002\"/><StampDef_76 data=\"39,-59.849999999999994,111.75\"/><StampDef_77 data=\"39,-115.6,150.60000000000002\"/><StampDef_78 data=\"39,-19.30000000000001,138.14999999999998\"/><StampDef_79 data=\"39,-29.05000000000001,183.10000000000002\"/><StampDef_80 data=\"93,-140,90\"/><StampDef_81 data=\"93,-200,90\"/><StampDef_82 data=\"93,-140,30\"/><StampDef_83 data=\"93,-20,30\"/><StampDef_84 data=\"93,40,30\"/><StampDef_85 data=\"93,100,30\"/><StampDef_86 data=\"93,160,90\"/><StampDef_87 data=\"93,220,30\"/><StampDef_88 data=\"93,340,90\"/><StampDef_89 data=\"93,520,90\"/><StampDef_90 data=\"4,594,-386\"/><StampDef_91 data=\"3,540,-385\"/><StampDef_92 data=\"2,388,-384\"/><StampDef_93 data=\"3,453,-384\"/><StampDef_94 data=\"15,403,-383\"/><StampDef_95 data=\"3,-127,-385\"/><StampDef_96 data=\"2,-183,-385\"/><StampDef_97 data=\"4,-72,-386\"/><StampDef_98 data=\"2,-281,-325\"/><StampDef_99 data=\"14,-250,-324\"/><StampDef_100 data=\"14,-224,-324\"/><StampDef_101 data=\"4,-193,-325\"/><StampDef_102 data=\"40,-240,223\"/><StampDef_103 data=\"41,-195,226\"/><StampDef_104 data=\"42,-108,232\"/><StampDef_105 data=\"43,-74,233\"/><StampDef_106 data=\"43,404,233\"/><StampDef_107 data=\"40,445,225\"/><StampDef_108 data=\"42,506,233\"/><StampDef_109 data=\"42,-115,-400\"/><StampDef_110 data=\"12,-76,-406\"/><StampDef_111 data=\"8,-91,-399\"/><StampDef_112 data=\"5,-165,-406\"/><StampDef_113 data=\"9,-141,-407\"/><StampDef_114 data=\"9,396,-406\"/><StampDef_115 data=\"8,504,-403\"/><StampDef_116 data=\"11,585,-408\"/><StampDef_117 data=\"41,554,-405\"/><StampDef_118 data=\"43,526,-397\"/><StampDef_119 data=\"43,-212,-336\"/><StampDef_120 data=\"41,-270,-344\"/><StampDef_121 data=\"32,-215,-58\"/><StampDef_122 data=\"37,-232,-80\"/><StampDef_123 data=\"37,-311,-63\"/><StampDef_124 data=\"34,-276,-119\"/><StampDef_125 data=\"35,-220.5,-124\"/><StampDef_126 data=\"35,-310,11\"/><StampDef_127 data=\"32,-304,-239\"/><StampDef_128 data=\"35,-261.5,-237\"/><StampDef_129 data=\"34,-290,-186\"/><StampDef_130 data=\"34,-308,92\"/><StampDef_131 data=\"32,-319,131\"/><StampDef_132 data=\"36,-295,145\"/><StampDef_133 data=\"36,-303,220\"/><StampDef_134 data=\"32,-226.95,267\"/><StampDef_135 data=\"33,-243,252\"/><StampDef_136 data=\"34,-282,267\"/><StampDef_137 data=\"34,-171,-98\"/><StampDef_138 data=\"34,-171.5,-283\"/><StampDef_139 data=\"36,-102,-332\"/><StampDef_140 data=\"32,-169,-356\"/><StampDef_141 data=\"35,-279,-29\"/><StampDef_142 data=\"35,-49,262\"/><StampDef_143 data=\"32,-3,277\"/><StampDef_144 data=\"34,59,251\"/><StampDef_145 data=\"36,82,268\"/><StampDef_146 data=\"36,-110,260\"/><StampDef_147 data=\"34,-167,249\"/><StampDef_148 data=\"34,-181,280\"/><StampDef_149 data=\"32,222,260\"/><StampDef_150 data=\"35,276,262\"/><StampDef_151 data=\"36,259,249\"/><StampDef_152 data=\"36,137,264\"/><StampDef_153 data=\"36,465,261\"/><StampDef_154 data=\"32,428,258\"/><StampDef_155 data=\"33,368,275\"/><StampDef_156 data=\"35,553,261\"/><StampDef_157 data=\"34,608,264\"/><StampDef_158 data=\"34,608,145\"/><StampDef_159 data=\"32,621,199\"/><StampDef_160 data=\"33,-312,-308\"/><StampDef_161 data=\"35,-275,-277\"/><StampDef_162 data=\"35,607,-23\"/><StampDef_163 data=\"32,620,49\"/><StampDef_164 data=\"36,602,87\"/><StampDef_165 data=\"36,557,-27\"/><StampDef_166 data=\"32,561,-151\"/><StampDef_167 data=\"34,578,-171\"/><StampDef_168 data=\"33,555,-197\"/><StampDef_169 data=\"33,490,-95\"/><StampDef_170 data=\"32,595,-68\"/><StampDef_171 data=\"32,574,-322\"/><StampDef_172 data=\"32,492,-354\"/><StampDef_173 data=\"34,553,-308\"/><StampDef_174 data=\"33,605,-238\"/><StampDef_175 data=\"36,552,-94\"/><StampDef_176 data=\"36,604,-119\"/><StampDef_177 data=\"36,575,-244\"/><StampDef_178 data=\"36,523,-64\"/><StampDef_179 data=\"36,613,9\"/><StampDef_180 data=\"36,485,-304\"/><StampDef_181 data=\"36,562,-362\"/><StampDef_182 data=\"34,523,-279\"/><StampDef_183 data=\"34,419,-340\"/><StampDef_184 data=\"33,388,-366\"/><StampDef_185 data=\"36,438,-367\"/><StampDef_186 data=\"36,615,-357\"/><StampDef_187 data=\"36,614,-528\"/><StampDef_188 data=\"32,619,-574\"/><StampDef_189 data=\"34,623,-467\"/><StampDef_190 data=\"34,581,-645\"/><StampDef_191 data=\"34,491,-678\"/><StampDef_192 data=\"33,612,-677\"/><StampDef_193 data=\"33,-212,-302\"/><StampDef_194 data=\"33,-307,-377\"/><StampDef_195 data=\"32,-318,-444\"/><StampDef_196 data=\"36,-301,-422\"/><StampDef_197 data=\"36,-304,-496\"/><StampDef_198 data=\"36,-317,-587\"/><StampDef_199 data=\"33,-304,-618\"/><StampDef_200 data=\"34,-246,-677\"/><StampDef_201 data=\"36,-268,-645\"/><StampDef_202 data=\"36,-309,-675\"/><StampDef_203 data=\"36,-87,-364\"/><StampDef_204 data=\"32,-98,-678\"/><StampDef_205 data=\"32,40,-669\"/><StampDef_206 data=\"34,-13,-691\"/><StampDef_207 data=\"36,-164,-676\"/><StampDef_208 data=\"36,125,-676\"/><StampDef_209 data=\"34,207,-677\"/><StampDef_210 data=\"35,166,-674\"/><StampDef_211 data=\"35,320,-675\"/><StampDef_212 data=\"36,391,-674\"/><StampDef_213 data=\"34,445,-672\"/><NumLevelBlocks data=\"6\"/><LevelBlockDef_1 data=\"26,1,0,0,0,0\"/><LevelBlockDef_2 data=\"26,1,0,0,0,0\"/><LevelBlockDef_3 data=\"22,1,0,0,0,0\"/><LevelBlockDef_4 data=\"4,1,0,0,0,0\"/><LevelBlockDef_5 data=\"4,1,0,0,0,0\"/><LevelBlockDef_6 data=\"5,1,0,0,0,0\"/><NumInitialBlocks data=\"23\"/><InitialBlockDef_1 data=\"-3.78168208381202,7.004977119099947,1.5707631474693566,0,0,1,14,true,7\"/><InitialBlockDef_2 data=\"8.215681911963303,5.005144754958101,7.856774770168817,0,0,1,14,true,7\"/><InitialBlockDef_3 data=\"8.831210308060333,7.0049841485083535,7.853992398379274,0,0,1,14,true,7\"/><InitialBlockDef_4 data=\"-5.492897216510839,6.669650317139531,3.1395797481297842,0,0,1,14,true,7\"/><InitialBlockDef_5 data=\"4.075818771647086,5.00931355253546,1.5713121970928003,0,0,1,13,true,7\"/><InitialBlockDef_6 data=\"2.205223568302669,7.336600905321858,-0.001733481108994677,0,0,1,13,true,7\"/><InitialBlockDef_7 data=\"-0.4825017064731029,6.671687948955326,-9.424785737074513,0,0,1,3,true,7\"/><InitialBlockDef_8 data=\"5.30916225761921,7.004999657614464,-1.5707952887725118,0,0,1,5,true,7\"/><InitialBlockDef_9 data=\"14.893427662176972,7.003409497033996,17.277572350744336,0,0,1,5,true,7\"/><InitialBlockDef_10 data=\"-5.410708456235912,4.673952954283375,-3.1439335612264934,0,0,1,5,true,7\"/><InitialBlockDef_11 data=\"18.772284964551417,7.0037764869676815,4.711721169226044,0,0,1,5,true,7\"/><InitialBlockDef_12 data=\"12.231034306538437,7.00279159350863,1.5694455866982904,0,0,1,14,true,7\"/><InitialBlockDef_13 data=\"6.6656862392900535,7.004561740823799,1.570412980750895,0,0,1,3,true,7\"/><InitialBlockDef_14 data=\"18.66097671676016,4.674404130512503,-3.141454123961961,0,0,1,3,true,7\"/><InitialBlockDef_15 data=\"1.8320808819705536,5.340473006067623,-6.285821841207314,0,0,1,3,true,7\"/><InitialBlockDef_16 data=\"-3.411762538515502,4.676221993526365,-3.142028672010677,0,0,1,5,true,7\"/><InitialBlockDef_17 data=\"-7.954522551219268,-11.66205548081779,-6.2835770979907775,5,0,1,18,true,7\"/><InitialBlockDef_18 data=\"12.894265852669648,5.3382955164891,-4.713996380639577,0,0,1,53,true,19\"/><InitialBlockDef_19 data=\"16.224421011331966,6.3371878157396715,3.139927006372262,0,0,1,53,true,19\"/><InitialBlockDef_20 data=\"-8.27334738526489,5.67166666576707,-6.283185306639827,0,0,1,53,true,19\"/><InitialBlockDef_21 data=\"-1.682217241122418,3.6807993626703865,4.7132773339187075,0,0,1,53,true,19\"/><InitialBlockDef_22 data=\"6.757744932504697,5.009356926715305,4.712037887727921,0,0,1,5,true,7\"/><InitialBlockDef_23 data=\"-1.0361055592669433,5.009661055873587,-7.853136238164203,0,0,1,3,true,7\"/><ScrollLimits data=\"-321,623,-688,280,10,0\"/><Score data=\"15000\" /></BalanceLevel>"; ["52206852b5a84cf2e6fe54fbb14af742"] = "<BalanceLevel><NumStaticBlocks data=\"58\"/><BlockDef_1 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-380,160,-90,160,-90,270,-380,270\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-590,150,-380,150,-380,270,370,270,370,60,620,60,620,380,-590,380\"/><BlockDef_3 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-20,160,370,160,370,270,-20,270\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"370,60,490,60,490,180,370,180\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"490,60,550,60,550,120,490,120\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"550,60,610,60,610,120,550,120\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"490,120,550,120,550,180,490,180\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"550,120,610,120,610,180,550,180\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"370,180,610,180,610,380,370,380\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"250,270,370,270,370,380,250,380\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"210,270,250,270,250,310,210,310\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,270,210,270,210,310,170,310\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,310,210,310,210,350,170,350\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"210,310,250,310,250,350,210,350\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,350,250,350,250,380,170,380\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"30,270,170,270,170,380,30,380\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-50,270,30,270,30,340,-50,340\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-50,340,30,340,30,380,-50,380\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-220,270,-50,270,-50,380,-220,380\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,270,-220,270,-220,320,-270,320\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,270,-270,270,-270,320,-320,320\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,320,-270,320,-270,380,-320,380\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,320,-220,320,-220,380,-270,380\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,270,-320,270,-320,380,-500,380\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,150,-380,150,-380,270,-500,270\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-90,200,-20,200,-20,270,-90,270\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-120,100,0,100,0,160,-20,160,-20,200,-90,200,-90,160,-120,160\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,70,-70,70,-70,100,-100,100\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,40,-70,40,-70,70,-100,70\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,100,-120,100,-120,160,-190,160\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"0,100,70,100,70,160,0,160\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"70,100,140,100,140,160,70,160\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,100,170,100,170,130,140,130\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,130,170,130,170,160,140,160\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-10,40,20,40,20,70,-10,70\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-40,10,-10,10,-10,40,-40,40\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-10,10,20,10,20,40,-10,40\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,40,170,40,170,100,110,100\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"50,40,110,40,110,100,50,100\"/><BlockDef_40 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,-20,170,-20,170,40,110,40\"/><BlockDef_41 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,-80,170,-80,170,-20,110,-20\"/><BlockDef_42 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,-80,110,-80,110,-50,80,-50\"/><BlockDef_43 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,-50,110,-50,110,-20,80,-20\"/><BlockDef_44 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,-110,170,-110,170,-80,140,-80\"/><BlockDef_45 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,-140,170,-140,170,-110,140,-110\"/><BlockDef_46 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,40,-130,40,-130,70,-160,70\"/><BlockDef_47 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,10,-130,10,-130,40,-160,40\"/><BlockDef_48 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-200,50,-200,50,10,-160,10\"/><BlockDef_49 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"50,-170,110,-170,110,-110,50,-110\"/><BlockDef_50 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"50,-200,80,-200,80,-170,50,-170\"/><BlockDef_51 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,-200,110,-200,110,-170,80,-170\"/><BlockDef_52 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,-200,140,-200,140,-170,110,-170\"/><BlockDef_53 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,-200,170,-200,170,-170,140,-170\"/><BlockDef_54 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-370,20,-370,20,-200,-160,-200\"/><BlockDef_55 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-20,-400,20,-400,20,-370,-20,-370\"/><BlockDef_56 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,-400,-20,-400,-20,-370,-60,-370\"/><BlockDef_57 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-400,-60,-400,-60,-370,-160,-370\"/><BlockDef_58 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-400,-160,-400,-160,-200,-360,-200\"/><NumElementBlocks data=\"6\"/><ElementDef_1 data=\"2,-30,-280,2\"/><ElementDef_2 data=\"1,-280,-240,3\"/><ElementDef_3 data=\"3,440,40\"/><ElementDef_4 data=\"3,-450,130\"/><ElementDef_5 data=\"4,-550,110,there can be more than one chest|per level. The same objects can|be found in both so you can|easily switch shapes between them.\"/><ElementDef_6 data=\"4,-310,230,A circuit is broken if a metal|shape is touching water.|Electricity and water do not mix!\"/><NumStamps data=\"163\"/><StampDef_1 data=\"38,-360,170\"/><StampDef_2 data=\"38,-320,170\"/><StampDef_3 data=\"38,-280,170\"/><StampDef_4 data=\"38,-240,170\"/><StampDef_5 data=\"38,-200,170\"/><StampDef_6 data=\"38,-160,170\"/><StampDef_7 data=\"38,-120,170\"/><StampDef_8 data=\"38,-80,170\"/><StampDef_9 data=\"38,350,170\"/><StampDef_10 data=\"38,310,170\"/><StampDef_11 data=\"38,270,170\"/><StampDef_12 data=\"38,230,170\"/><StampDef_13 data=\"38,190,170\"/><StampDef_14 data=\"39,-161.05,217.3\"/><StampDef_15 data=\"39,-276.05,200.10000000000002\"/><StampDef_16 data=\"39,94,225.39999999999998\"/><StampDef_17 data=\"39,269.95,201.3\"/><StampDef_18 data=\"39,138.1,194\"/><StampDef_19 data=\"38,150,170\"/><StampDef_20 data=\"38,110,170\"/><StampDef_21 data=\"38,70,170\"/><StampDef_22 data=\"38,30,170\"/><StampDef_23 data=\"38,-10,170\"/><StampDef_24 data=\"3,-542,155\"/><StampDef_25 data=\"3,-454,155\"/><StampDef_26 data=\"15,-405,155\"/><StampDef_27 data=\"4,-386,154\"/><StampDef_28 data=\"3,569,66\"/><StampDef_29 data=\"14,505,66\"/><StampDef_30 data=\"3,443,66\"/><StampDef_31 data=\"15,392,66\"/><StampDef_32 data=\"2,377,65\"/><StampDef_33 data=\"93,10,200\"/><StampDef_34 data=\"93,70,200\"/><StampDef_35 data=\"93,10,260\"/><StampDef_36 data=\"93,70,260\"/><StampDef_37 data=\"93,130,260\"/><StampDef_38 data=\"93,130,200\"/><StampDef_39 data=\"93,190,210\"/><StampDef_40 data=\"93,190,270\"/><StampDef_41 data=\"93,250,200\"/><StampDef_42 data=\"93,250,260\"/><StampDef_43 data=\"93,310,270\"/><StampDef_44 data=\"93,310,210\"/><StampDef_45 data=\"93,370,210\"/><StampDef_46 data=\"93,370,270\"/><StampDef_47 data=\"93,-350,200\"/><StampDef_48 data=\"93,-290,200\"/><StampDef_49 data=\"93,-230,200\"/><StampDef_50 data=\"93,-170,200\"/><StampDef_51 data=\"93,-120,200\"/><StampDef_52 data=\"93,-120,260\"/><StampDef_53 data=\"93,-180,260\"/><StampDef_54 data=\"93,-240,260\"/><StampDef_55 data=\"93,-300,260\"/><StampDef_56 data=\"93,-360,260\"/><StampDef_57 data=\"32,413,215\"/><StampDef_58 data=\"34,553,200\"/><StampDef_59 data=\"32,581,342\"/><StampDef_60 data=\"35,563,326\"/><StampDef_61 data=\"34,448,321\"/><StampDef_62 data=\"32,524,92\"/><StampDef_63 data=\"35,435,81\"/><StampDef_64 data=\"36,524,265\"/><StampDef_65 data=\"36,382.05,357\"/><StampDef_66 data=\"33,267,290\"/><StampDef_67 data=\"32,317.05,370\"/><StampDef_68 data=\"34,187,277\"/><StampDef_69 data=\"36,232,327\"/><StampDef_70 data=\"35,145,347\"/><StampDef_71 data=\"35,466,151\"/><StampDef_72 data=\"35,384,295\"/><StampDef_73 data=\"35,52,286\"/><StampDef_74 data=\"37,68,344\"/><StampDef_75 data=\"36,343,303\"/><StampDef_76 data=\"32,-80,295\"/><StampDef_77 data=\"34,-181,349\"/><StampDef_78 data=\"35,-105,342\"/><StampDef_79 data=\"36,-166,288\"/><StampDef_80 data=\"37,-25,293\"/><StampDef_81 data=\"37,10,325\"/><StampDef_82 data=\"32,-9,371\"/><StampDef_83 data=\"33,-300,293\"/><StampDef_84 data=\"35,-238,277\"/><StampDef_85 data=\"32,-299,343\"/><StampDef_86 data=\"33,-238,369\"/><StampDef_87 data=\"32,-481,289\"/><StampDef_88 data=\"33,-411,350\"/><StampDef_89 data=\"34,-348,287\"/><StampDef_90 data=\"35,-467,350\"/><StampDef_91 data=\"32,-574,191\"/><StampDef_92 data=\"35,-562,201\"/><StampDef_93 data=\"33,-567,332\"/><StampDef_94 data=\"34,-520,245\"/><StampDef_95 data=\"35,-416,199\"/><StampDef_96 data=\"33,-469,180\"/><StampDef_97 data=\"35,-449,244\"/><StampDef_98 data=\"36,-392,236\"/><StampDef_99 data=\"36,-74,212\"/><StampDef_100 data=\"32,-24,114\"/><StampDef_101 data=\"34,-82,116\"/><StampDef_102 data=\"35,-45,149\"/><StampDef_103 data=\"33,-41,244\"/><StampDef_104 data=\"33,-177,119\"/><StampDef_105 data=\"32,93,134\"/><StampDef_106 data=\"32,143,11\"/><StampDef_107 data=\"36,-141,141\"/><StampDef_108 data=\"36,-82,53\"/><StampDef_109 data=\"33,8,23\"/><StampDef_110 data=\"34,156,111\"/><StampDef_111 data=\"33,73,53\"/><StampDef_112 data=\"36,149,286\"/><StampDef_113 data=\"32,-129,-148\"/><StampDef_114 data=\"34,-6,-141\"/><StampDef_115 data=\"33,-66,-67\"/><StampDef_116 data=\"35,9,-42\"/><StampDef_117 data=\"37,-141,-17\"/><StampDef_118 data=\"32,93,-152\"/><StampDef_119 data=\"35,78,-130\"/><StampDef_120 data=\"36,-145,56\"/><StampDef_121 data=\"36,159,-130\"/><StampDef_122 data=\"36,163,-2\"/><StampDef_123 data=\"36,36,124\"/><StampDef_124 data=\"33,-66,-187\"/><StampDef_125 data=\"32,-86,-284\"/><StampDef_126 data=\"35,-92,-265\"/><StampDef_127 data=\"35,-46,-232\"/><StampDef_128 data=\"34,-37.5,-361.05\"/><StampDef_129 data=\"33,-87,-317\"/><StampDef_130 data=\"36,-73.5,-235.05\"/><StampDef_131 data=\"36,-103,-301\"/><StampDef_132 data=\"36,-275,-300\"/><StampDef_133 data=\"33,-307,-305\"/><StampDef_134 data=\"36,-218.5,-272\"/><StampDef_135 data=\"36,-343.5,-309\"/><StampDef_136 data=\"36,123,-187\"/><StampDef_137 data=\"35,65,-188\"/><StampDef_138 data=\"36,128,-62\"/><StampDef_139 data=\"34,152,-40\"/><StampDef_140 data=\"33,391,149\"/><StampDef_141 data=\"33,594,143\"/><StampDef_142 data=\"34,593,98\"/><StampDef_143 data=\"36,523,150\"/><StampDef_144 data=\"36,207.05,373\"/><StampDef_145 data=\"36,-65,186\"/><StampDef_146 data=\"36,-178,-216\"/><StampDef_147 data=\"33,-257,-314\"/><StampDef_148 data=\"33,-137,-226\"/><StampDef_149 data=\"35,-149,-323\"/><StampDef_150 data=\"36,-110,-385\"/><StampDef_151 data=\"34,-258,-364\"/><StampDef_152 data=\"32,-343,-385\"/><StampDef_153 data=\"33,-176,-378\"/><StampDef_154 data=\"42,-395,140\"/><StampDef_155 data=\"42,601,51\"/><StampDef_156 data=\"13,515,39\"/><StampDef_157 data=\"92,580,16\"/><StampDef_158 data=\"11,563,44\"/><StampDef_159 data=\"12,543,51\"/><StampDef_160 data=\"8,383,46\"/><StampDef_161 data=\"12,-516,137\"/><StampDef_162 data=\"11,-554,135\"/><StampDef_163 data=\"5,-585,132\"/><NumLevelBlocks data=\"0\"/><NumInitialBlocks data=\"18\"/><InitialBlockDef_1 data=\"-5.329916212473766,3.003942966255248,-0.0010572317934531353,1,0,0,0,true,4\"/><InitialBlockDef_2 data=\"-2.335963222676149,0.6640480611145059,3.1410876579337943,1,0,0,0,true,5\"/><InitialBlockDef_3 data=\"-0.33560176271782427,2.671634612669046,-3.141563912383067,1,0,1,0,true,3\"/><InitialBlockDef_4 data=\"1.000597790852387,1.3357562205172389,1.5723414888327216,1,0,0,0,true,5\"/><InitialBlockDef_5 data=\"3.0000227905478596,0.3365037681399767,-1.5684381589579384,1,0,0,0,true,2\"/><InitialBlockDef_6 data=\"3.671434379638767,-3.330020344012822,3.142286786754056,1,0,0,0,true,4\"/><InitialBlockDef_7 data=\"5.675002801300234,-5.328299449913419,3.146612009657239,1,0,0,0,true,4\"/><InitialBlockDef_8 data=\"0.9859198675827441,8.273985494027434,-3.143554408465766,1,1,0,0,true,22\"/><InitialBlockDef_9 data=\"7.942183392658958,8.335651789157014,-0.004288083202822038,1,1,0,0,true,22\"/><InitialBlockDef_10 data=\"5.621110542414176,8.334812588708965,-1.5761468894724786,1,1,0,0,true,22\"/><InitialBlockDef_11 data=\"-5.993915741740495,8.670590146231778,-0.001076715236416087,1,0,0,0,true,5\"/><InitialBlockDef_12 data=\"-3.99523533424452,7.3270019484910485,3.1419822099826313,1,0,0,0,true,5\"/><InitialBlockDef_13 data=\"6.6155973867776785,8.661364620044726,4.7071358355315045,1,0,1,10,true,6\"/><InitialBlockDef_14 data=\"-0.34001014034778226,8.662020500472993,10.995753207052678,1,0,1,10,true,6\"/><InitialBlockDef_15 data=\"4.291927871497119,8.301098662215288,6.280104242796447,1,0,1,10,true,6\"/><InitialBlockDef_16 data=\"3.2978149330898217,8.329340221550945,-3.144675986851554,1,1,0,0,true,22\"/><InitialBlockDef_17 data=\"1.9811893516539842,8.655369322735105,-14.141791251041264,1,0,1,10,true,6\"/><InitialBlockDef_18 data=\"11.337736981078207,7.669972251667396,-3.1419175536659956,0,0,1,3,true,7\"/><ScrollLimits data=\"-581,611,-385,371,-300,20\"/><Score data=\"5000\" /></BalanceLevel>"; ["a3beec60abb9d8f57478f368975bf404"] = "<BalanceLevel><NumStaticBlocks data=\"41\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,280,-70,280,-70,380,-290,380\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,-200,390,-200,390,-70,300,-70,300,-90,170,-90\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-80,-220,-80,-90,-220,-90,-220,-220,-150,-220\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-10,-210,-10,-210,170,-290,170\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"520,-90,660,-90,660,280,590,280,590,30,520,30\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"390,-200,520,-200,520,-70,390,-70\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"520,-170,560,-170,560,-130,520,-130\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"560,-170,600,-170,600,-130,560,-130\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"520,-130,560,-130,560,-90,520,-90\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"560,-130,600,-130,600,-90,560,-90\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"390,-290,520,-290,520,-200,390,-200\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"520,-290,660,-290,660,-170,520,-170\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"600,-170,660,-170,660,-90,600,-90\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"520,30,590,30,590,100\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"300,-70,520,-70,520,30,300,30\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,280,590,280,590,380,400,380\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,-90,-210,-90,-210,-50,-250,-50\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,-50,-210,-50,-210,-10,-250,-10\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-50,-250,-50,-250,-10,-290,-10\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-90,-250,-90,-250,-50,-290,-50\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,170,-210,170,-210,280,-290,280\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"590,280,630,280,630,320,590,320\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"630,280,660,280,660,320,630,320\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"590,320,630,320,630,380,590,380\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"630,320,660,320,660,380,630,380\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,280,300,280,300,380,200,380\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"300,280,400,280,400,380,300,380\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"120,280,160,280,160,320,120,320\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"160,280,200,280,200,320,160,320\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"120,320,160,320,160,380,120,380\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"160,320,200,320,200,380,160,380\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,-290,-80,-290,-80,-220,-150,-220\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-290,-150,-290,-150,-220,-290,-220\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-220,-220,-220,-220,-90,-290,-90\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,-290,310,-290,310,-200,170,-200\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"310,-240,350,-240,350,-200,310,-200\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"310,-290,350,-290,350,-240,310,-240\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"350,-240,390,-240,390,-200,350,-200\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"350,-290,390,-290,390,-240,350,-240\"/><BlockDef_40 water=\"0\" nodrag=\"1\" deadzone=\"0\" data=\"-240,10,-240,-230,-220,-250,310,-250,330,-230,330,10,310,30,-220,30\"/><BlockDef_41 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-70,280,120,280,120,380,-70,380\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"1,-150,-130,3\"/><ElementDef_2 data=\"2,220,-130,3\"/><ElementDef_3 data=\"3,430,260\"/><ElementDef_4 data=\"4,530,240,sticky balloons smothered in| honey. They could be useful in|sticking to other shapes.\"/><NumStamps data=\"106\"/><StampDef_1 data=\"90,-220,9.800000000000011\"/><StampDef_2 data=\"90,-220,-231.3\"/><StampDef_3 data=\"90,310,10.399999999999977\"/><StampDef_4 data=\"90,310,-229.35\"/><StampDef_5 data=\"3,-150,287\"/><StampDef_6 data=\"2,-205,285\"/><StampDef_7 data=\"3,-64,286.5\"/><StampDef_8 data=\"3,21,286\"/><StampDef_9 data=\"3,109,286\"/><StampDef_10 data=\"3,198,285.5\"/><StampDef_11 data=\"3,287,286\"/><StampDef_12 data=\"4,582,285\"/><StampDef_13 data=\"3,374,286.5\"/><StampDef_14 data=\"3,463,286\"/><StampDef_15 data=\"15,513,285.5\"/><StampDef_16 data=\"15,528.5,285\"/><StampDef_17 data=\"14,554,286\"/><StampDef_18 data=\"32,520,313\"/><StampDef_19 data=\"34,570,327\"/><StampDef_20 data=\"36,573,307\"/><StampDef_21 data=\"32,420,325\"/><StampDef_22 data=\"33,321,312\"/><StampDef_23 data=\"36,448,331\"/><StampDef_24 data=\"35,369,324\"/><StampDef_25 data=\"34,216,328\"/><StampDef_26 data=\"36,237,311\"/><StampDef_27 data=\"36,283,328\"/><StampDef_28 data=\"32,-44,315\"/><StampDef_29 data=\"34,-3,329\"/><StampDef_30 data=\"33,41,311\"/><StampDef_31 data=\"33,99,326\"/><StampDef_32 data=\"36,176,308\"/><StampDef_33 data=\"36,-226,318\"/><StampDef_34 data=\"32,-191,340\"/><StampDef_35 data=\"32,-117,313\"/><StampDef_36 data=\"34,-99,336\"/><StampDef_37 data=\"34,-167,308\"/><StampDef_38 data=\"34,-241,222\"/><StampDef_39 data=\"32,-227,185\"/><StampDef_40 data=\"34,-237,48\"/><StampDef_41 data=\"33,-225,82\"/><StampDef_42 data=\"36,-238,121\"/><StampDef_43 data=\"32,-174,-259\"/><StampDef_44 data=\"34,-218,-251.3\"/><StampDef_45 data=\"36,-165,-232\"/><StampDef_46 data=\"36,-98,-231\"/><StampDef_47 data=\"35,-102,-265\"/><StampDef_48 data=\"37,-146,-197\"/><StampDef_49 data=\"32,-95.5,-202\"/><StampDef_50 data=\"34,-229,-36\"/><StampDef_51 data=\"33,-244,-70\"/><StampDef_52 data=\"36,-222,-79\"/><StampDef_53 data=\"36,-247,-175\"/><StampDef_54 data=\"32,-250,303\"/><StampDef_55 data=\"32,623,199\"/><StampDef_56 data=\"35,597,240\"/><StampDef_57 data=\"35,613,79\"/><StampDef_58 data=\"36,600,110\"/><StampDef_59 data=\"36,629,329\"/><StampDef_60 data=\"36,-203,-201\"/><StampDef_61 data=\"32,542,-70\"/><StampDef_62 data=\"33,582,-38\"/><StampDef_63 data=\"34,628,-77\"/><StampDef_64 data=\"35,621,7\"/><StampDef_65 data=\"35,538,10\"/><StampDef_66 data=\"36,570,49\"/><StampDef_67 data=\"36,621,304\"/><StampDef_68 data=\"36,353,-9\"/><StampDef_69 data=\"32,378,-32\"/><StampDef_70 data=\"34,459,10\"/><StampDef_71 data=\"33,455,-48\"/><StampDef_72 data=\"34,407,-183\"/><StampDef_73 data=\"32,482,-154\"/><StampDef_74 data=\"34,420,-124\"/><StampDef_75 data=\"36,499,-93\"/><StampDef_76 data=\"34,588,-234\"/><StampDef_77 data=\"34,541,-273\"/><StampDef_78 data=\"32,628,-194\"/><StampDef_79 data=\"32,412,-278\"/><StampDef_80 data=\"33,480,-228\"/><StampDef_81 data=\"34,365,-222\"/><StampDef_82 data=\"36,424,-223\"/><StampDef_83 data=\"36,571,-199\"/><StampDef_84 data=\"36,579,-146\"/><StampDef_85 data=\"32,227,-244\"/><StampDef_86 data=\"34,282.05,-266\"/><StampDef_87 data=\"34,280,-217\"/><StampDef_88 data=\"34,310,-128\"/><StampDef_89 data=\"33,302,-183\"/><StampDef_90 data=\"36,361,-105\"/><StampDef_91 data=\"91,-147,225\"/><StampDef_92 data=\"92,-75,254\"/><StampDef_93 data=\"5,-178,266\"/><StampDef_94 data=\"8,-128,267\"/><StampDef_95 data=\"10,-109,273\"/><StampDef_96 data=\"41,-13,266\"/><StampDef_97 data=\"11,19,266\"/><StampDef_98 data=\"91,253,226\"/><StampDef_99 data=\"9,236,264\"/><StampDef_100 data=\"8,290,268\"/><StampDef_101 data=\"40,184,265.5\"/><StampDef_102 data=\"43,152,274\"/><StampDef_103 data=\"12,271,272\"/><StampDef_104 data=\"13,346,261\"/><StampDef_105 data=\"7,489,264\"/><StampDef_106 data=\"12,510,268\"/><NumLevelBlocks data=\"10\"/><LevelBlockDef_1 data=\"27,1,0,0,1,37\"/><LevelBlockDef_2 data=\"27,1,0,0,1,37\"/><LevelBlockDef_3 data=\"7,1,1,0,1,24\"/><LevelBlockDef_4 data=\"7,1,1,0,1,24\"/><LevelBlockDef_5 data=\"7,1,1,0,1,24\"/><LevelBlockDef_6 data=\"7,3,1,0,1,17\"/><LevelBlockDef_7 data=\"7,3,1,0,1,17\"/><LevelBlockDef_8 data=\"7,3,1,0,1,17\"/><LevelBlockDef_9 data=\"7,3,1,0,1,17\"/><LevelBlockDef_10 data=\"7,3,1,0,1,17\"/><NumInitialBlocks data=\"0\"/><ScrollLimits data=\"-252,629,-275,343,310,60\"/><Score data=\"8000\" /></BalanceLevel>"; ["b521ae10992a61fd98144dc0971a9a99"] = "<BalanceLevel><NumStaticBlocks data=\"31\"/><BlockDef_1 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-100,210,300,210,300,240,150,240,150,290,50,290,50,240,-100,240\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,150,-390,150,-390,240,-500,240\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,240,-390,240,-390,290,-500,290\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-390,150,-330,150,-330,210,-390,210\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-390,210,-270,210,-270,290,-390,290\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,150,-270,150,-270,210,-330,210\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,150,-100,150,-100,290,-270,290\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,240,50,240,50,290,-100,290\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"150,240,190,240,190,290,150,290\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,240,230,240,230,290,190,290\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,240,300,240,300,290,230,290\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"450,150,510,150,510,290,450,290\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"300,150,450,150,450,290,300,290\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,-310,-430,-310,-430,-140,-500,-140\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,-310,-340,-310,-340,-220,-430,-220\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,-140,-430,-140,-500,-70\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-340,-260,-300,-260,-300,-220,-340,-220\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-340,-310,-300,-310,-300,-260,-340,-260\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-300,-260,-260,-260,-260,-220,-300,-220\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-300,-310,-260,-310,-260,-260,-300,-260\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-310,-20,-310,-110,-220\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-260,-310,-110,-310,-110,-220,-260,-220\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,-310,450,-310,450,-220,280,-220\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"450,-220,530,-220,530,-90,450,-90\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"450,-90,530,-90,530,-10\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"450,-260,490,-260,490,-220,450,-220\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"450,-310,490,-310,490,-260,450,-260\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"490,-260,530,-260,530,-220,490,-220\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"490,-310,530,-310,530,-260,490,-260\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,-310,280,-310,280,-220\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"390,-220,450,-220,450,-160\"/><NumElementBlocks data=\"5\"/><ElementDef_1 data=\"3,-310,130\"/><ElementDef_2 data=\"1,-180,200,1\"/><ElementDef_3 data=\"2,370,200,1\"/><ElementDef_4 data=\"4,-430,110,shapes can be stored and retrieved| in the big chest. If a shape is| lost off screen then it will| reappear inside your chest.\"/><ElementDef_5 data=\"4,450,110,Only metal blocks conduct|electricity. avoid contact with|water - it will short out|your circuit.\"/><NumStamps data=\"91\"/><StampDef_1 data=\"38,-80,220\"/><StampDef_2 data=\"38,-40,220\"/><StampDef_3 data=\"38,0,220\"/><StampDef_4 data=\"38,40,220\"/><StampDef_5 data=\"38,80,220\"/><StampDef_6 data=\"38,120,220\"/><StampDef_7 data=\"38,160,220\"/><StampDef_8 data=\"38,200,220\"/><StampDef_9 data=\"38,280,220\"/><StampDef_10 data=\"93,-70,243\"/><StampDef_11 data=\"93,-10,240\"/><StampDef_12 data=\"93,50,240\"/><StampDef_13 data=\"93,110,240\"/><StampDef_14 data=\"93,160,240\"/><StampDef_15 data=\"93,280,240\"/><StampDef_16 data=\"93,80,300\"/><StampDef_17 data=\"93,140,300\"/><StampDef_18 data=\"3,-459,156\"/><StampDef_19 data=\"3,-386,156\"/><StampDef_20 data=\"3,-312,155\"/><StampDef_21 data=\"14,-264,155\"/><StampDef_22 data=\"14,-238,155\"/><StampDef_23 data=\"4,-108.5,154\"/><StampDef_24 data=\"15,-126.5,155\"/><StampDef_25 data=\"2,308,154\"/><StampDef_26 data=\"15,323,155\"/><StampDef_27 data=\"3,465,155\"/><StampDef_28 data=\"32,-203.5,258\"/><StampDef_29 data=\"35,-179.5,246\"/><StampDef_30 data=\"33,-252.5,210\"/><StampDef_31 data=\"36,-123,244\"/><StampDef_32 data=\"32,-472,223\"/><StampDef_33 data=\"33,-403,179\"/><StampDef_34 data=\"36,-407,223\"/><StampDef_35 data=\"34,-325,259\"/><StampDef_36 data=\"36,-299,228\"/><StampDef_37 data=\"36,-361,243\"/><StampDef_38 data=\"35,-363,239\"/><StampDef_39 data=\"37,-310,174\"/><StampDef_40 data=\"35,-462,266\"/><StampDef_41 data=\"32,27,262\"/><StampDef_42 data=\"34,-16.94999999999999,254\"/><StampDef_43 data=\"34,-75,267\"/><StampDef_44 data=\"32,377,256\"/><StampDef_45 data=\"35,336.95,253\"/><StampDef_46 data=\"35,267,265\"/><StampDef_47 data=\"36,469,181\"/><StampDef_48 data=\"32,491,221\"/><StampDef_49 data=\"34,480,266\"/><StampDef_50 data=\"35,170,251\"/><StampDef_51 data=\"32,-456,-161\"/><StampDef_52 data=\"33,-485,-241\"/><StampDef_53 data=\"34,-446,-279\"/><StampDef_54 data=\"35,-490,-109\"/><StampDef_55 data=\"36,-361,-245\"/><StampDef_56 data=\"37,-404,-246\"/><StampDef_57 data=\"32,-280,-286\"/><StampDef_58 data=\"35,-207,-242\"/><StampDef_59 data=\"32,-179,-264\"/><StampDef_60 data=\"35,-126,-234\"/><StampDef_61 data=\"32,-77,-287\"/><StampDef_62 data=\"36,-275,-235\"/><StampDef_63 data=\"32,479,-136\"/><StampDef_64 data=\"34,500,-191\"/><StampDef_65 data=\"35,378,-253\"/><StampDef_66 data=\"32,308,-274\"/><StampDef_67 data=\"34,295,-263\"/><StampDef_68 data=\"32,473,-284\"/><StampDef_69 data=\"33,504,-65\"/><StampDef_70 data=\"36,430,-265\"/><StampDef_71 data=\"36,233,-283\"/><StampDef_72 data=\"36,264,-256\"/><StampDef_73 data=\"36,429.95,224\"/><StampDef_74 data=\"36,216,269\"/><StampDef_75 data=\"9,-369,135\"/><StampDef_76 data=\"93,220,240\"/><StampDef_77 data=\"38,240,220\"/><StampDef_78 data=\"42,8,233\"/><StampDef_79 data=\"43,-75,233\"/><StampDef_80 data=\"41,270,228\"/><StampDef_81 data=\"43,241,232\"/><StampDef_82 data=\"10,-387,139\"/><StampDef_83 data=\"5,-476,133\"/><StampDef_84 data=\"7,-255,134\"/><StampDef_85 data=\"43,-237,140\"/><StampDef_86 data=\"42,-116.5,142\"/><StampDef_87 data=\"8,317,138\"/><StampDef_88 data=\"5,495.05,133\"/><StampDef_89 data=\"9,446,137\"/><StampDef_90 data=\"10,431.95,142\"/><StampDef_91 data=\"35,421,-207\"/><NumLevelBlocks data=\"4\"/><LevelBlockDef_1 data=\"7,0,0,0,1,14\"/><LevelBlockDef_2 data=\"26,1,0,180,1,38\"/><LevelBlockDef_3 data=\"5,1,0,0,1,32\"/><LevelBlockDef_4 data=\"3,1,0,180,1,0\"/><NumInitialBlocks data=\"5\"/><InitialBlockDef_1 data=\"-2.335389635104653,7.338277968417699,0.00012772790414495265,0,0,1,5,true,7\"/><InitialBlockDef_2 data=\"9.002126639772698,7.338205013969623,-0.0001283342968154248,0,0,1,3,true,7\"/><InitialBlockDef_3 data=\"1.1586492049706627,7.338479667879949,-0.00011665860346312057,0,0,1,13,true,7\"/><InitialBlockDef_4 data=\"-1.011382357074728,5.6768714209267035,0.00009101792626700182,1,0,1,31,true,4\"/><InitialBlockDef_5 data=\"12.054826174393988,4.338251302869027,-3.141516376680281,1,0,1,0,true,3\"/><ScrollLimits data=\"-490,503,-286,270,-180,-10\"/><Score data=\"3000\" /></BalanceLevel>"; ["b911ba778652c7beb6655cc15e558cb9"] = "<BalanceLevel><NumStaticBlocks data=\"51\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-103,249,142,249,142,170,190,170,190,210,190,320,-103,320\"/><BlockDef_2 water=\"0\" nodrag=\"1\" deadzone=\"0\" data=\"-120,170,160,170,180,190,180,340,160,360,-120,360,-140,340,-140,190\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-30,-420,200,-420,200,-290,-30,-290\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"340,100,420,100,420,210,340,210\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"340,60,380,60,380,100,340,100\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"340,20,380,20,380,60,340,60\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"380,60,420,60,420,100,380,100\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"380,20,420,20,420,60,380,60\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"340,-290,420,-290,420,20,340,20\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-460,360,-420,360,-420,400,-460,400\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-460,320,-420,320,-420,360,-460,360\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,110,-420,110,-420,320,-500,320\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,360,-460,360,-460,400,-500,400\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,320,-460,320,-460,360,-500,360\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,-290,-420,-290,-420,-180,-500,-180\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,-180,-460,-180,-460,-140,-500,-140\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-460,-180,-420,-180,-420,-140,-460,-140\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,-140,-460,-140,-460,-100,-500,-100\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-460,-140,-420,-140,-420,-100,-460,-100\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-420,-290,-360,-290,-420,-230\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-420,150,-360,210,-420,210\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,-290,340,-290,340,-230\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"340,150,340,210,280,210\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-420,210,-230,210,-230,400,-420,400\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,10,-420,10,-420,110,-500,110\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,360,-190,360,-190,400,-230,400\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,360,-150,360,-150,400,-190,400\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,320,-190,320,-190,360,-230,360\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,320,-150,320,-150,360,-190,360\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,209,-103,210,-103,319,-230,320\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,-100,-420,-100,-420,10,-500,10\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,320,190,320,190,400,-150,400\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,210,420,210,420,400,190,400\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-157,170,-103,170,-103,210,-157,209\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,-420,420,-420,420,-290,280,-290\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,-380,-360,-380,-360,-290,-500,-290\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-420,-230,-420,-230,-290,-360,-290\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,-330,-190,-330,-190,-290,-230,-290\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,-330,-150,-330,-150,-290,-190,-290\"/><BlockDef_40 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,-370,-190,-370,-190,-330,-230,-330\"/><BlockDef_41 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,-370,-150,-370,-150,-330,-190,-330\"/><BlockDef_42 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,-420,-30,-420,-30,-290,-150,-290\"/><BlockDef_43 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"240,-330,280,-330,280,-290,240,-290\"/><BlockDef_44 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,-330,240,-330,240,-290,200,-290\"/><BlockDef_45 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"240,-370,280,-370,280,-330,240,-330\"/><BlockDef_46 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,-370,240,-370,240,-330,200,-330\"/><BlockDef_47 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,-420,-150,-420,-150,-370,-230,-370\"/><BlockDef_48 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,-420,-460,-420,-460,-380,-500,-380\"/><BlockDef_49 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-460,-420,-360,-420,-360,-380,-460,-380\"/><BlockDef_50 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,-420,280,-420,280,-370,200,-370\"/><BlockDef_51 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,-290,-150,-290,-190,-250,-270,-250\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"1,20,300,1\"/><ElementDef_2 data=\"2,20,-330,3\"/><ElementDef_3 data=\"3,-240,190\"/><NumStamps data=\"125\"/><StampDef_1 data=\"90,-119,340.1\"/><StampDef_2 data=\"90,160,341.45\"/><StampDef_3 data=\"90,164,191.39999999999998\"/><StampDef_4 data=\"90,-122,189.89999999999998\"/><StampDef_5 data=\"3,-306,217\"/><StampDef_6 data=\"3,-219,217\"/><StampDef_7 data=\"4,-166,215\"/><StampDef_8 data=\"2,-150,175\"/><StampDef_9 data=\"19,-372.5,201.5\"/><StampDef_10 data=\"22,-358,214\"/><StampDef_11 data=\"20,-412,159.5\"/><StampDef_12 data=\"27,-383,188\"/><StampDef_13 data=\"20,-403,171\"/><StampDef_14 data=\"20,-375,197.5\"/><StampDef_15 data=\"2,148,175\"/><StampDef_16 data=\"4,-109.5,175\"/><StampDef_17 data=\"20,-367,205.5\"/><StampDef_18 data=\"14,-130,176\"/><StampDef_19 data=\"4,188,175.5\"/><StampDef_20 data=\"14,169,177\"/><StampDef_21 data=\"2,196,216.5\"/><StampDef_22 data=\"3,243,216\"/><StampDef_23 data=\"26,326.5,166.5\"/><StampDef_24 data=\"26,300.5,192.5\"/><StampDef_25 data=\"22,-356,214\"/><StampDef_26 data=\"23,286,210.5\"/><StampDef_27 data=\"2,-97,255\"/><StampDef_28 data=\"14,-67.5,256.5\"/><StampDef_29 data=\"4,-33.5,254\"/><StampDef_30 data=\"15,-48.5,255\"/><StampDef_31 data=\"14,103.39999999999998,255.85000000000002\"/><StampDef_32 data=\"4,133,253\"/><StampDef_33 data=\"2,82.5,255\"/><StampDef_34 data=\"32,-203,248\"/><StampDef_35 data=\"35,-181,269\"/><StampDef_36 data=\"34,-129,231\"/><StampDef_37 data=\"33,-125,303\"/><StampDef_38 data=\"32,-374,348\"/><StampDef_39 data=\"33,-353,328\"/><StampDef_40 data=\"33,-266,336\"/><StampDef_41 data=\"34,-379,253\"/><StampDef_42 data=\"33,-296,268\"/><StampDef_43 data=\"36,-253,250\"/><StampDef_44 data=\"36,-307,355\"/><StampDef_45 data=\"36,-164,345\"/><StampDef_46 data=\"34,-80,362\"/><StampDef_47 data=\"32,23.5,373\"/><StampDef_48 data=\"34,106,337\"/><StampDef_49 data=\"34,91,373\"/><StampDef_50 data=\"34,169,369\"/><StampDef_51 data=\"34,-208,374\"/><StampDef_52 data=\"34,-451,252\"/><StampDef_53 data=\"32,-462,156\"/><StampDef_54 data=\"33,-435,196\"/><StampDef_55 data=\"36,-448,345\"/><StampDef_56 data=\"36,-141,199\"/><StampDef_57 data=\"36,-449,48\"/><StampDef_58 data=\"36,-66,282\"/><StampDef_59 data=\"34,154,293\"/><StampDef_60 data=\"34,171,218\"/><StampDef_61 data=\"36,109,301\"/><StampDef_62 data=\"36,172,259\"/><StampDef_63 data=\"33,-436,81\"/><StampDef_64 data=\"32,-468,-56\"/><StampDef_65 data=\"33,-439,-12\"/><StampDef_66 data=\"34,-434,-79\"/><StampDef_67 data=\"34,244,280\"/><StampDef_68 data=\"32,369,345\"/><StampDef_69 data=\"34,333,293\"/><StampDef_70 data=\"36,283,351\"/><StampDef_71 data=\"33,382,232\"/><StampDef_72 data=\"32,221,329\"/><StampDef_73 data=\"33,302,245\"/><StampDef_74 data=\"33,-470,-157\"/><StampDef_75 data=\"33,-461,-266\"/><StampDef_76 data=\"32,-441,-212\"/><StampDef_77 data=\"32,403,124\"/><StampDef_78 data=\"35,358,120\"/><StampDef_79 data=\"34,379,178\"/><StampDef_80 data=\"34,375,-54\"/><StampDef_81 data=\"32,397,-78\"/><StampDef_82 data=\"32,359,-198\"/><StampDef_83 data=\"33,379,-153\"/><StampDef_84 data=\"36,357,40\"/><StampDef_85 data=\"36,357,-117\"/><StampDef_86 data=\"36,391,-264\"/><StampDef_87 data=\"36,-401,-277\"/><StampDef_88 data=\"32,-452,-361\"/><StampDef_89 data=\"34,-388,-325\"/><StampDef_90 data=\"36,-397,-362\"/><StampDef_91 data=\"36,-282,-372\"/><StampDef_92 data=\"32,-258,-330\"/><StampDef_93 data=\"33,-311,-343\"/><StampDef_94 data=\"33,-413,-401\"/><StampDef_95 data=\"32,-253,-398\"/><StampDef_96 data=\"32,-72,-353\"/><StampDef_97 data=\"33,-105,-326\"/><StampDef_98 data=\"33,-131,-392\"/><StampDef_99 data=\"33,-342,-399\"/><StampDef_100 data=\"34,-204,-268\"/><StampDef_101 data=\"36,-247,-270\"/><StampDef_102 data=\"35,-176,-349\"/><StampDef_103 data=\"35,153,-344\"/><StampDef_104 data=\"32,177,-361\"/><StampDef_105 data=\"34,123,-387\"/><StampDef_106 data=\"36,113,-315\"/><StampDef_107 data=\"36,177,-304\"/><StampDef_108 data=\"32,306,-334\"/><StampDef_109 data=\"33,376,-378\"/><StampDef_110 data=\"34,374,-322\"/><StampDef_111 data=\"34,319,-390\"/><StampDef_112 data=\"33,257,-349\"/><StampDef_113 data=\"35,219,-315\"/><StampDef_114 data=\"34,230,-389\"/><StampDef_115 data=\"34,327,-271\"/><StampDef_116 data=\"34,396,73\"/><StampDef_117 data=\"91,261,154\"/><StampDef_118 data=\"5,229,193\"/><StampDef_119 data=\"10,307,171\"/><StampDef_120 data=\"7,288.5,187.5\"/><StampDef_121 data=\"91,-328,168\"/><StampDef_122 data=\"7,-301,195\"/><StampDef_123 data=\"12,-346,200\"/><StampDef_124 data=\"9,-393,161\"/><StampDef_125 data=\"11,-129,157\"/><NumLevelBlocks data=\"11\"/><LevelBlockDef_1 data=\"7,1,0,0,1,18\"/><LevelBlockDef_2 data=\"7,1,0,0,1,4\"/><LevelBlockDef_3 data=\"7,1,0,0,1,4\"/><LevelBlockDef_4 data=\"3,1,0,0,1,0\"/><LevelBlockDef_5 data=\"27,1,0,0,1,37\"/><LevelBlockDef_6 data=\"7,1,0,0,1,18\"/><LevelBlockDef_7 data=\"7,1,0,0,1,2\"/><LevelBlockDef_8 data=\"7,1,0,0,1,2\"/><LevelBlockDef_9 data=\"5,1,0,0,1,32\"/><LevelBlockDef_10 data=\"4,1,0,0,1,31\"/><LevelBlockDef_11 data=\"7,1,0,0,1,2\"/><NumInitialBlocks data=\"4\"/><InitialBlockDef_1 data=\"-2.4364137986054506,7.663651421703755,-0.003230788749854459,5,0,1,18,true,7\"/><InitialBlockDef_2 data=\"-0.4416158827905647,7.658967669239057,-0.0033212857853175187,5,0,1,18,true,7\"/><InitialBlockDef_3 data=\"1.7263865621676127,7.650556644992999,-0.0039341442083750565,5,0,1,18,true,7\"/><InitialBlockDef_4 data=\"3.7247804287885415,7.640989187836487,-0.0035455717720221107,5,0,1,18,true,7\"/><ScrollLimits data=\"-469,406,-400,377,10,90\"/><Score data=\"10000\" /></BalanceLevel>"; ["b25389210da30ebf3c145a6c3ab02b4c"] = "<BalanceLevel><NumStaticBlocks data=\"78\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,-10,-150,-10,-150,100,-270,100\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,100,-210,100,-210,160,-270,160\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,100,-150,100,-150,160,-210,160\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,-10,-270,-10,-270,30,-310,30\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,-10,-310,-10,-310,30,-350,30\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,30,-310,30,-310,70,-350,70\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,30,-270,30,-270,70,-310,70\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,70,-270,70,-270,160,-350,160\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-380,70,-350,70,-350,160,-380,160\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-380,-10,-350,-10,-350,70,-380,70\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-310,-170,-310,-170,-270,-290,-270\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-170,-310,-130,-310,-170,-270\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-470,-130,-470,-130,-310,-290,-310\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-380,-390,-290,-390,-290,-270,-380,-270\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-380,-470,-290,-470,-290,-390,-380,-390\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-380,-660,-130,-660,-130,-470,-380,-470\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-130,-660,0,-660,0,-560,-130,-560\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"0,-600,40,-600,40,-560,0,-560\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"40,-600,80,-600,80,-560,40,-560\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"0,-660,40,-660,40,-600,0,-600\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"40,-660,80,-660,80,-600,40,-600\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,-660,200,-660,200,-560,80,-560\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,-660,290,-660,290,-540,200,-540\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-130,-560,-50,-560,-130,-480\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-380,-270,-280,-270,-380,-170\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,-540,290,-540,290,-450,200,-450\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,-450,290,-450,290,-320,200,-320\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,-410,200,-410,200,-320,110,-320\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"290,-410,390,-410,390,-320,290,-320\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,-320,390,-320,390,-80,110,-80\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-380,160,-150,160,-150,280,-380,280\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,160,-30,160,-30,280,-150,280\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-30,160,110,160,110,280,-30,280\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,160,390,160,390,280,110,280\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,-80,190,-80,190,0,110,0\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,-80,350,-80,350,0,270,0\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,-80,230,-80,230,-40,190,-40\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-80,270,-80,270,-40,230,-40\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"350,-80,390,-80,390,-40,350,-40\"/><BlockDef_40 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"350,-40,390,-40,390,0,350,0\"/><BlockDef_41 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-40,270,-40,270,0,230,0\"/><BlockDef_42 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,-40,230,-40,230,0,190,0\"/><BlockDef_43 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,0,390,0,390,160,230,160\"/><BlockDef_44 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,0,230,0,230,120,110,120\"/><BlockDef_45 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,120,150,120,150,160,110,160\"/><BlockDef_46 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"150,120,190,120,190,160,150,160\"/><BlockDef_47 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,120,230,120,230,160,190,160\"/><BlockDef_48 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,40,-90,40,-150,100\"/><BlockDef_49 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,-10,-90,-10,-90,40,-150,40\"/><BlockDef_50 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"390,220,490,220,490,280,390,280\"/><BlockDef_51 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"490,30,750,30,750,280,490,280\"/><BlockDef_52 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"750,160,790,160,790,200,750,200\"/><BlockDef_53 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"790,160,830,160,830,200,790,200\"/><BlockDef_54 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"750,200,790,200,790,240,750,240\"/><BlockDef_55 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"790,200,830,200,830,240,790,240\"/><BlockDef_56 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"830,160,870,160,870,280,830,280\"/><BlockDef_57 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"750,240,830,240,830,280,750,280\"/><BlockDef_58 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"750,30,870,30,870,160,750,160\"/><BlockDef_59 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"290,-660,390,-660,390,-560,290,-560\"/><BlockDef_60 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"390,-600,430,-600,430,-560,390,-560\"/><BlockDef_61 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"390,-660,430,-660,430,-600,390,-600\"/><BlockDef_62 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"430,-600,470,-600,470,-560,430,-560\"/><BlockDef_63 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"430,-660,470,-660,470,-600,430,-600\"/><BlockDef_64 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"470,-660,570,-660,570,-560,470,-560\"/><BlockDef_65 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"570,-600,610,-600,610,-560,570,-560\"/><BlockDef_66 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"650,-660,870,-660,870,-420,650,-420\"/><BlockDef_67 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"610,-600,650,-600,650,-560,610,-560\"/><BlockDef_68 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"570,-660,610,-660,610,-600,570,-600\"/><BlockDef_69 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"610,-660,650,-660,650,-600,610,-600\"/><BlockDef_70 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"570,-560,650,-560,650,-480\"/><BlockDef_71 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"650,-420,690,-420,690,-380,650,-380\"/><BlockDef_72 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"690,-420,730,-420,730,-380,690,-380\"/><BlockDef_73 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"650,-380,690,-380,690,-340,650,-340\"/><BlockDef_74 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"690,-380,730,-380,730,-340,690,-340\"/><BlockDef_75 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"730,-420,820,-420,820,-340,730,-340\"/><BlockDef_76 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"820,-420,870,-420,870,-220,820,-220\"/><BlockDef_77 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"650,-340,820,-340,820,-180,700,-180,650,-230\"/><BlockDef_78 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"820,-220,870,-220,870,-180,820,-180\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"3,-200,-30\"/><ElementDef_2 data=\"1,30,210,1\"/><ElementDef_3 data=\"3,690,10\"/><ElementDef_4 data=\"2,530,110,4\"/><NumStamps data=\"239\"/><StampDef_1 data=\"3,-340,-4\"/><StampDef_2 data=\"3,-254,-5\"/><StampDef_3 data=\"3,-168,-6\"/><StampDef_4 data=\"4,-100,-6\"/><StampDef_5 data=\"15,-119,-6\"/><StampDef_6 data=\"2,-144,163\"/><StampDef_7 data=\"3,-86,165\"/><StampDef_8 data=\"15,-22,164\"/><StampDef_9 data=\"15,-37.5,165\"/><StampDef_10 data=\"15,86,165\"/><StampDef_11 data=\"4,105,165\"/><StampDef_12 data=\"2,116,-405\"/><StampDef_13 data=\"4,192,-406\"/><StampDef_14 data=\"4,383,-407\"/><StampDef_15 data=\"2,295,-407\"/><StampDef_16 data=\"3,338,-407\"/><StampDef_17 data=\"14,147,-404\"/><StampDef_18 data=\"15,172,-404\"/><StampDef_19 data=\"2,394,226\"/><StampDef_20 data=\"14,424,226\"/><StampDef_21 data=\"14,450,226\"/><StampDef_22 data=\"4,480,225\"/><StampDef_23 data=\"3,627,36\"/><StampDef_24 data=\"3,713,36\"/><StampDef_25 data=\"3,799,36\"/><StampDef_26 data=\"14,857,36\"/><StampDef_27 data=\"2,493,36\"/><StampDef_28 data=\"3,538,36\"/><StampDef_29 data=\"32,311,-376\"/><StampDef_30 data=\"33,354,-350\"/><StampDef_31 data=\"34,375,-383\"/><StampDef_32 data=\"36,376,-339\"/><StampDef_33 data=\"36,311,-338\"/><StampDef_34 data=\"32,336,-259\"/><StampDef_35 data=\"33,258,-291\"/><StampDef_36 data=\"34,350,-155\"/><StampDef_37 data=\"32,147,-144\"/><StampDef_38 data=\"35,163,-161\"/><StampDef_39 data=\"37,274,-120\"/><StampDef_40 data=\"32,140,-282\"/><StampDef_41 data=\"33,160,-263\"/><StampDef_42 data=\"36,253,-213\"/><StampDef_43 data=\"36,373,-207\"/><StampDef_44 data=\"36,374,-301\"/><StampDef_45 data=\"36,364,-96\"/><StampDef_46 data=\"36,204,-111\"/><StampDef_47 data=\"36,132,-215\"/><StampDef_48 data=\"36,196,-297\"/><StampDef_49 data=\"32,319,-27\"/><StampDef_50 data=\"33,332,-46\"/><StampDef_51 data=\"35,285,-63\"/><StampDef_52 data=\"36,136,-27\"/><StampDef_53 data=\"32,152,-41\"/><StampDef_54 data=\"36,174,-15\"/><StampDef_55 data=\"35,208,-59\"/><StampDef_56 data=\"35,255,61\"/><StampDef_57 data=\"32,277,80\"/><StampDef_58 data=\"33,290,63\"/><StampDef_59 data=\"34,368,124\"/><StampDef_60 data=\"32,365,35\"/><StampDef_61 data=\"36,312,141\"/><StampDef_62 data=\"36,150,85\"/><StampDef_63 data=\"32,165,67\"/><StampDef_64 data=\"33,125,25\"/><StampDef_65 data=\"34,203,21\"/><StampDef_66 data=\"35,203,108\"/><StampDef_67 data=\"35,172,239\"/><StampDef_68 data=\"32,205,214\"/><StampDef_69 data=\"32,336,254\"/><StampDef_70 data=\"32,295,177\"/><StampDef_71 data=\"36,361,233\"/><StampDef_72 data=\"36,266,17\"/><StampDef_73 data=\"36,128,185\"/><StampDef_74 data=\"33,274,251\"/><StampDef_75 data=\"34,379,176\"/><StampDef_76 data=\"34,91.5,254\"/><StampDef_77 data=\"33,32.5,262\"/><StampDef_78 data=\"32,-123,193\"/><StampDef_79 data=\"33,-81,229\"/><StampDef_80 data=\"34,-58.5,186\"/><StampDef_81 data=\"36,-127,249\"/><StampDef_82 data=\"36,-55,267\"/><StampDef_83 data=\"35,-97,267\"/><StampDef_84 data=\"35,223,-177\"/><StampDef_85 data=\"35,-210,221\"/><StampDef_86 data=\"32,-261,190\"/><StampDef_87 data=\"34,-267,248\"/><StampDef_88 data=\"33,-176,180\"/><StampDef_89 data=\"37,-177,262\"/><StampDef_90 data=\"32,-345,185\"/><StampDef_91 data=\"33,-326,202\"/><StampDef_92 data=\"33,-348,258\"/><StampDef_93 data=\"33,-181,38\"/><StampDef_94 data=\"32,-203,64\"/><StampDef_95 data=\"33,-245,27\"/><StampDef_96 data=\"33,-330,92\"/><StampDef_97 data=\"35,-303,113\"/><StampDef_98 data=\"32,-105,18\"/><StampDef_99 data=\"34,-127,56\"/><StampDef_100 data=\"34,-331,16\"/><StampDef_101 data=\"34,-288,51\"/><StampDef_102 data=\"36,-175,135\"/><StampDef_103 data=\"36,-247,127\"/><StampDef_104 data=\"35,-231,136\"/><StampDef_105 data=\"35,245,-355\"/><StampDef_106 data=\"33,230,-370\"/><StampDef_107 data=\"33,272,-432\"/><StampDef_108 data=\"32,140,-374\"/><StampDef_109 data=\"33,160,-351\"/><StampDef_110 data=\"33,224,-521\"/><StampDef_111 data=\"32,267,-503\"/><StampDef_112 data=\"34,229,-477\"/><StampDef_113 data=\"35,258,-529\"/><StampDef_114 data=\"35,224,-607\"/><StampDef_115 data=\"33,272,-623\"/><StampDef_116 data=\"32,104,-598\"/><StampDef_117 data=\"36,271,-574\"/><StampDef_118 data=\"36,136,134\"/><StampDef_119 data=\"36,-222,-393\"/><StampDef_120 data=\"32,-190,-358\"/><StampDef_121 data=\"34,-149,-433\"/><StampDef_122 data=\"35,-145,-337\"/><StampDef_123 data=\"37,-264,-332\"/><StampDef_124 data=\"32,-259,-441\"/><StampDef_125 data=\"32,-330,-337\"/><StampDef_126 data=\"34,-307,-409\"/><StampDef_127 data=\"33,-341,-455\"/><StampDef_128 data=\"36,-241,-287\"/><StampDef_129 data=\"33,-341,-243\"/><StampDef_130 data=\"34,-203,-282\"/><StampDef_131 data=\"33,-175,-556\"/><StampDef_132 data=\"32,-198,-581\"/><StampDef_133 data=\"33,-290,-514\"/><StampDef_134 data=\"34,-324,-608\"/><StampDef_135 data=\"35,-215,-516\"/><StampDef_136 data=\"36,-250,-562\"/><StampDef_137 data=\"36,-332,-504\"/><StampDef_138 data=\"36,-163,-608\"/><StampDef_139 data=\"36,-145,-488\"/><StampDef_140 data=\"36,-328,-291\"/><StampDef_141 data=\"36,-70,-597\"/><StampDef_142 data=\"32,-28,-579\"/><StampDef_143 data=\"34,-30,-623\"/><StampDef_144 data=\"35,-104,-620\"/><StampDef_145 data=\"35,-102,-579\"/><StampDef_146 data=\"35,-110,-527\"/><StampDef_147 data=\"35,-235,-633\"/><StampDef_148 data=\"35,351,-604\"/><StampDef_149 data=\"36,170,-588\"/><StampDef_150 data=\"36,32,-580\"/><StampDef_151 data=\"36,452,-578\"/><StampDef_152 data=\"36,416,-616\"/><StampDef_153 data=\"32,518,-582\"/><StampDef_154 data=\"32,326,-574\"/><StampDef_155 data=\"33,544,-615\"/><StampDef_156 data=\"33,502,-602\"/><StampDef_157 data=\"33,635,-575\"/><StampDef_158 data=\"33,752,-531\"/><StampDef_159 data=\"32,773,-511\"/><StampDef_160 data=\"32,832,-587\"/><StampDef_161 data=\"32,687,-621\"/><StampDef_162 data=\"32,680,-445\"/><StampDef_163 data=\"32,738,-299\"/><StampDef_164 data=\"32,678,-236\"/><StampDef_165 data=\"32,843,-194\"/><StampDef_166 data=\"35,828,-210\"/><StampDef_167 data=\"35,690,-254\"/><StampDef_168 data=\"35,786,-244\"/><StampDef_169 data=\"33,675,-311\"/><StampDef_170 data=\"33,792,-397\"/><StampDef_171 data=\"33,681,-524\"/><StampDef_172 data=\"33,837,-496\"/><StampDef_173 data=\"36,731,-221\"/><StampDef_174 data=\"36,810,-324\"/><StampDef_175 data=\"36,775,-195\"/><StampDef_176 data=\"36,845,-298\"/><StampDef_177 data=\"36,753,-365\"/><StampDef_178 data=\"36,711,-403\"/><StampDef_179 data=\"36,661,-364\"/><StampDef_180 data=\"36,812,-463\"/><StampDef_181 data=\"36,718,-496\"/><StampDef_182 data=\"36,781,-597\"/><StampDef_183 data=\"36,702,-574\"/><StampDef_184 data=\"36,587,-578\"/><StampDef_185 data=\"36,633,-620\"/><StampDef_186 data=\"36,444,-618\"/><StampDef_187 data=\"36,624,-540\"/><StampDef_188 data=\"34,453,-583\"/><StampDef_189 data=\"34,68,-627\"/><StampDef_190 data=\"34,465,257\"/><StampDef_191 data=\"36,419,253\"/><StampDef_192 data=\"32,712,210\"/><StampDef_193 data=\"32,631,93\"/><StampDef_194 data=\"32,557,228\"/><StampDef_195 data=\"34,570,208\"/><StampDef_196 data=\"34,705,119\"/><StampDef_197 data=\"33,633,248\"/><StampDef_198 data=\"33,647,145\"/><StampDef_199 data=\"36,736,261\"/><StampDef_200 data=\"36,512,254\"/><StampDef_201 data=\"36,511,184\"/><StampDef_202 data=\"36,699,62\"/><StampDef_203 data=\"36,820,117\"/><StampDef_204 data=\"33,787,140\"/><StampDef_205 data=\"33,778,59\"/><StampDef_206 data=\"32,851,73\"/><StampDef_207 data=\"32,851,253\"/><StampDef_208 data=\"33,783,259\"/><StampDef_209 data=\"36,809,176\"/><StampDef_210 data=\"36,843,234\"/><StampDef_211 data=\"36,701,197\"/><StampDef_212 data=\"36,595.5,132.05\"/><StampDef_213 data=\"33,588.5,109.05000000000001\"/><StampDef_214 data=\"5,837,13\"/><StampDef_215 data=\"91,808,-25\"/><StampDef_216 data=\"92,577,-11\"/><StampDef_217 data=\"5,545,12\"/><StampDef_218 data=\"8,596,17\"/><StampDef_219 data=\"9,767,-13\"/><StampDef_220 data=\"13,767,9\"/><StampDef_221 data=\"12,639,21\"/><StampDef_222 data=\"43,515,20\"/><StampDef_223 data=\"40,419,205\"/><StampDef_224 data=\"42,473,211\"/><StampDef_225 data=\"12,429,208\"/><StampDef_226 data=\"7,-309,-24\"/><StampDef_227 data=\"9,-107,-23\"/><StampDef_228 data=\"6,-362,-32\"/><StampDef_229 data=\"11,-267,-47\"/><StampDef_230 data=\"5,-267,-28\"/><StampDef_231 data=\"12,-131,-18\"/><StampDef_232 data=\"5,-88,143\"/><StampDef_233 data=\"8,-122,147\"/><StampDef_234 data=\"11,-33,143\"/><StampDef_235 data=\"43,-59,152\"/><StampDef_236 data=\"9,179,-425\"/><StampDef_237 data=\"42,144,-419\"/><StampDef_238 data=\"11,367,-427\"/><StampDef_239 data=\"8,346,-419\"/><NumLevelBlocks data=\"17\"/><LevelBlockDef_1 data=\"3,1,0,0,1,0\"/><LevelBlockDef_2 data=\"7,1,0,0,1,22\"/><LevelBlockDef_3 data=\"4,1,0,0,0,0\"/><LevelBlockDef_4 data=\"5,1,0,180,0,0\"/><LevelBlockDef_5 data=\"5,1,0,0,0,0\"/><LevelBlockDef_6 data=\"4,1,0,270,0,0\"/><LevelBlockDef_7 data=\"3,1,0,0,1,0\"/><LevelBlockDef_8 data=\"3,1,0,90,1,0\"/><LevelBlockDef_9 data=\"7,1,0,0,1,4\"/><LevelBlockDef_10 data=\"4,1,0,270,0,0\"/><LevelBlockDef_11 data=\"4,1,0,0,0,0\"/><LevelBlockDef_12 data=\"4,1,0,90,0,0\"/><LevelBlockDef_13 data=\"3,1,0,0,1,0\"/><LevelBlockDef_14 data=\"3,1,0,90,1,0\"/><LevelBlockDef_15 data=\"3,1,0,180,1,0\"/><LevelBlockDef_16 data=\"7,1,0,0,1,22\"/><LevelBlockDef_17 data=\"7,0,0,0,1,3\"/><NumInitialBlocks data=\"0\"/><ScrollLimits data=\"-352,857,-631,271,0,0\"/><Score data=\"10000\" /></BalanceLevel>"; ["bc27c2a0c144aab9863092bb2161ad58"] = "<BalanceLevel><NumStaticBlocks data=\"29\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-250,-320,-250,-320,-60,-360,-60\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,110,-110,110,-110,150,-130,170,-130,290,-360,290\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-130,220,-90,220,-90,260,-130,260\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-90,220,-50,220,-50,260,-90,260\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-130,260,-90,260,-90,290,-130,290\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-90,260,-50,260,-50,290,-90,290\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-50,220,90,220,90,290,-50,290\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"290,70,330,70,330,110,290,110\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"70,110,330,110,330,290,90,290,90,170,70,150\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"290,30,330,30,330,70,290,70\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"290,-110,330,-110,330,30,290,30\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"290,-250,330,-250,330,-110,290,-110\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-60,-320,-60,-320,110,-360,110\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,-250,-250,-250,-320,-180\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-130,-250,-60,-250,-60,-180,-130,-180\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-130,-180,-20,-180,-20,-130,-80,-130\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-20,-180,30,-180,30,-130,-20,-130\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"30,-180,100,-180,50,-130,30,-130\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"30,-250,100,-250,100,-180,30,-180\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-200,-250,-130,-250,-130,-180\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,-250,170,-250,100,-180\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-250,290,-250,290,-190\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-350,-200,-350,-200,-250,-360,-250\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-200,-350,100,-350,100,-250,-200,-250\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,-300,150,-300,150,-250,100,-250\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,-350,150,-350,150,-300,100,-300\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"150,-300,200,-300,200,-250,150,-250\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"150,-350,200,-350,200,-300,150,-300\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,-350,330,-350,330,-250,200,-250\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"1,-250,160,1\"/><ElementDef_2 data=\"2,210,160,1\"/><ElementDef_3 data=\"4,-100,180,This caged monster is angry and| cannot sit still. However it can| be dragged around and used| like any other block.\"/><ElementDef_4 data=\"4,-30,-220,drag your mouse to the edges|of the screen or use the arrow|and w s a d keys to scroll|around levels.\"/><NumStamps data=\"78\"/><StampDef_1 data=\"2,-317.5,115\"/><StampDef_2 data=\"15,-297.5,116\"/><StampDef_3 data=\"2,-189.7,115\"/><StampDef_4 data=\"14,-170.5,116\"/><StampDef_5 data=\"15,-143,115\"/><StampDef_6 data=\"4,-122,113\"/><StampDef_7 data=\"2,81,114\"/><StampDef_8 data=\"14,111,115\"/><StampDef_9 data=\"14,137,115\"/><StampDef_10 data=\"15,164,114\"/><StampDef_11 data=\"15,267,115\"/><StampDef_12 data=\"4,287,114\"/><StampDef_13 data=\"32,-244.5,212\"/><StampDef_14 data=\"33,-191,206\"/><StampDef_15 data=\"32,-326,254\"/><StampDef_16 data=\"36,-224,224\"/><StampDef_17 data=\"36,-317,168\"/><StampDef_18 data=\"33,-288,216\"/><StampDef_19 data=\"35,-131,136\"/><StampDef_20 data=\"34,-160,258\"/><StampDef_21 data=\"36,-243.95,269\"/><StampDef_22 data=\"34,-68,233\"/><StampDef_23 data=\"33,-11,235\"/><StampDef_24 data=\"36,74,263\"/><StampDef_25 data=\"32,28,275\"/><StampDef_26 data=\"32,183,219\"/><StampDef_27 data=\"35,211.95,211\"/><StampDef_28 data=\"36,-341,203\"/><StampDef_29 data=\"33,95,134\"/><StampDef_30 data=\"32,307,254\"/><StampDef_31 data=\"35,267.95,173\"/><StampDef_32 data=\"33,303,45\"/><StampDef_33 data=\"36,313,-87\"/><StampDef_34 data=\"32,321,-34\"/><StampDef_35 data=\"32,-66,-152\"/><StampDef_36 data=\"33,-33,-144\"/><StampDef_37 data=\"2,-51,-174\"/><StampDef_38 data=\"14,-23,-174\"/><StampDef_39 data=\"4,30,-175\"/><StampDef_40 data=\"14,4,-175\"/><StampDef_41 data=\"35,-118,-240\"/><StampDef_42 data=\"36,-78,-214\"/><StampDef_43 data=\"35,-172,-316\"/><StampDef_44 data=\"32,-48,-320\"/><StampDef_45 data=\"32,78,-275\"/><StampDef_46 data=\"35,63,-293\"/><StampDef_47 data=\"35,-298,-236\"/><StampDef_48 data=\"33,90,-306\"/><StampDef_49 data=\"35,86,-214\"/><StampDef_50 data=\"32,-321,-325\"/><StampDef_51 data=\"34,-259,-302\"/><StampDef_52 data=\"32,-345,-116\"/><StampDef_53 data=\"35,-335,-132\"/><StampDef_54 data=\"34,-343,13\"/><StampDef_55 data=\"36,113,141\"/><StampDef_56 data=\"35,-229,271\"/><StampDef_57 data=\"35,142,268\"/><StampDef_58 data=\"32,317,-199\"/><StampDef_59 data=\"35,308,-166\"/><StampDef_60 data=\"34,233,-285\"/><StampDef_61 data=\"34,302,-326\"/><StampDef_62 data=\"36,170,-267\"/><StampDef_63 data=\"36,135,-330\"/><StampDef_64 data=\"43,41,213\"/><StampDef_65 data=\"41,5,226\"/><StampDef_66 data=\"7,-305,95\"/><StampDef_67 data=\"9,-128,75\"/><StampDef_68 data=\"5,-142,92\"/><StampDef_69 data=\"91,-176,62\"/><StampDef_70 data=\"12,-188.7,97\"/><StampDef_71 data=\"12,-115,101\"/><StampDef_72 data=\"9,277,93\"/><StampDef_73 data=\"8,100,75\"/><StampDef_74 data=\"6,122,87\"/><StampDef_75 data=\"7,129,90\"/><StampDef_76 data=\"41,69,207\"/><StampDef_77 data=\"42,-66,215\"/><StampDef_78 data=\"43,-104,216\"/><NumLevelBlocks data=\"0\"/><NumInitialBlocks data=\"6\"/><InitialBlockDef_1 data=\"-3.6418329624978454,3.001303931185471,-3.143441262502685,1,0,1,32,true,5\"/><InitialBlockDef_2 data=\"3.311996876310138,3.0025515632728426,3.139092330975698,1,0,1,31,true,4\"/><InitialBlockDef_3 data=\"-9.661530485608722,0.6715380556271433,1.570958351076641,1,0,1,38,true,26\"/><InitialBlockDef_4 data=\"-9.667028650140946,-3.9846615868965443,0.0003671958907523856,1,0,1,2,true,7\"/><InitialBlockDef_5 data=\"-9.667691011622342,-1.9899631781545064,0.00025258146639102306,1,0,1,4,true,7\"/><InitialBlockDef_6 data=\"-0.7453208257098156,6.666809983738476,-6.283104930846674,5,0,1,18,true,7\"/><ScrollLimits data=\"-347,321,-334,275,-50,0\"/><Score data=\"3000\" /></BalanceLevel>"; ["blockdefs"] = "<BalanceBlockLibrary><NumBlocks data=\"36\"/><BlockDef_1 data=\"-60,-10,60,-10,60,20,-60,20\"/><BlockDef_2 data=\"-30,-40,30,-40,30,-10,60,-10,60,20,0,20,0,-10,-30,-10\"/><BlockDef_3 data=\"0,-10,0,-40,60,-40,60,-10,30,-10,30,20,-30,20,-30,-10\"/><BlockDef_4 data=\"-30,-20,60,-20,60,10,30,10,30,40,0,40,0,10,-30,10\"/><BlockDef_5 data=\"-30,-20,30,-20,30,-50,60,-50,60,-20,60,10,-30,10\"/><BlockDef_6 data=\"-30,-20,-30,-50,0,-50,0,-20,60,-20,60,10,-30,10\"/><BlockDef_7 data=\"-10,-10,20,-10,20,20,-10,20\"/><BlockDef_8 data=\"-30,-40,30,-40,30,20,-30,20\"/><BlockDef_9 data=\"30,-10,30,20,0,20\"/><BlockDef_10 data=\"60,-40,60,50,-30,50\"/><BlockDef_11 data=\"40,-20,40,30,-10,30\"/><BlockDef_12 data=\"50,-20,50,40,-10,40\"/><BlockDef_13 data=\"0,-30,0,0,30,0,30,-30,60,-30,60,30,-30,30,-30,-30\"/><BlockDef_14 data=\"0,0,0,-30,30,-30,30,0,60,0,60,30,30,30,30,60,0,60,0,30,-30,30,-30,0\"/><BlockDef_15 data=\"-30,-30,90,-30,90,30,60,30,60,60,30,60,30,30,-30,30\"/><BlockDef_16 data=\"-30,-30,90,-30,90,30,30,30,30,60,0,60,0,30,-30,30\"/><BlockDef_17 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,30,30,30,60,0,60,0,30,-60,30\"/><BlockDef_18 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,60,30,60,60,30,60,30,30,-60,30\"/><BlockDef_19 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,0,30,0,60,-30,60,-30,30,-60,30\"/><BlockDef_20 data=\"-10,-50,20,-50,20,40,50,40,50,70,-40,70,-40,40,-10,40\"/><BlockDef_21 data=\"-40,-50,50,-50,50,40,-40,40\"/><BlockDef_22 data=\"-40,-50,40,-50,40,20,-40,20\"/><BlockDef_23 data=\"-20,-20,20,-20,20,20,-20,20\"/><BlockDef_24 data=\"-60,-70,60,-70,60,50,-60,50\"/><BlockDef_25 data=\"-20,-30,30,-30,40,20,-30,20\"/><BlockDef_26 data=\"-120,-10,120,-10,120,20,-120,20\"/><BlockDef_27 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,-60,30\"/><BlockDef_28 data=\"-60,-60,-30,-60,-30,0,30,0,30,-60,60,-60,60,30,-60,30\"/><BlockDef_29 data=\"-30,-70,30,-70,30,20,-30,20\"/><BlockDef_30 data=\"-20,-20,50,-20,50,30,-20,30\"/><BlockDef_31 data=\"-30,-40,30,-40,30,0,-10,0,-10,30,-30,30\"/><BlockDef_32 data=\"-30,-40,30,-40,30,30,-30,30\"/><BlockDef_33 data=\"-30,-40,-10,-40,-10,10,0,10,0,-10,10,-10,10,10,20,10,20,-40,40,-40,40,30,-30,30\"/><BlockDef_34 data=\"-30,-40,30,-40,30,-20,-10,-20,-10,-10,30,-10,30,0,-10,0,-10,10,30,10,30,30,-30,30\"/><BlockDef_35 data=\"-30,-40,30,-40,30,0,20,0,20,20,30,20,30,30,0,30,0,0,-10,0,-10,30,-30,30\"/><BlockDef_36 data=\"-30,-30,-10,-30,-10,20,10,20,10,-30,30,-30,30,40,-30,40\"/></BalanceBlockLibrary>"; ["ce92a03ac60382683ad7badafe5de0ad"] = "<BalanceLevel><NumStaticBlocks data=\"9\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"1\" data=\"280,190,290,190,380,100,520,100,590,170,590,290,730,290,730,170,810,90,870,90,950,11,991,11,990,90,1070,80,1078,11,1130,10,1130,340,320,340,320,260,280,260\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"10,110,180,100,180,130,160,150,160,190,10,190\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"160,190,280,190,280,300,160,300\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,260,320,260,320,300,280,300\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,300,320,300,320,340,280,340\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"160,300,280,300,280,340,160,340\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"10,190,160,190,160,340,10,340\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-80,110,10,100,10,340,-80,340\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"1\" data=\"880,-260,1130,-260,1130,-200,1040,-200,1020,-220,900,-220,880,-240\"/><NumElementBlocks data=\"5\"/><ElementDef_1 data=\"1,220,240,1\"/><ElementDef_2 data=\"2,1030,60,1\"/><ElementDef_3 data=\"3,100,80\"/><ElementDef_4 data=\"4,0,60,Beware!!!||deadly ground is harmful to your|shapes. However coffin blocks|can be placed down without| being affected.\"/><ElementDef_5 data=\"3,920,-280\"/><NumStamps data=\"158\"/><StampDef_1 data=\"87,580,173.3\"/><StampDef_2 data=\"77,474,109.89999999999998\"/><StampDef_3 data=\"80,510,110.14999999999998\"/><StampDef_4 data=\"89,370,123.35000000000002\"/><StampDef_5 data=\"89,376,116.60000000000002\"/><StampDef_6 data=\"89,382,111.19999999999999\"/><StampDef_7 data=\"77,412,109.80000000000001\"/><StampDef_8 data=\"89,384,109.39999999999998\"/><StampDef_9 data=\"89,378,114.94999999999999\"/><StampDef_10 data=\"86,546,137.64999999999998\"/><StampDef_11 data=\"80,514.5,110.05000000000001\"/><StampDef_12 data=\"80,510,110.35000000000002\"/><StampDef_13 data=\"76,601,299.95\"/><StampDef_14 data=\"77,652,299.7\"/><StampDef_15 data=\"89,805,107\"/><StampDef_16 data=\"89,812,100.35000000000002\"/><StampDef_17 data=\"89,810,102.60000000000002\"/><StampDef_18 data=\"89,810,102.39999999999998\"/><StampDef_19 data=\"89,875,97.60000000000002\"/><StampDef_20 data=\"80,874.5,100.10000000000002\"/><StampDef_21 data=\"77,841,100.25\"/><StampDef_22 data=\"89,880,93.44999999999999\"/><StampDef_23 data=\"89,885,89.30000000000001\"/><StampDef_24 data=\"89,885,87.85000000000002\"/><StampDef_25 data=\"89,809,103.19999999999999\"/><StampDef_26 data=\"77,1053.95,21.30000000000001\"/><StampDef_27 data=\"77,1117.95,21.149999999999977\"/><StampDef_28 data=\"69,417.5,223.5\"/><StampDef_29 data=\"67,507.5,178.5\"/><StampDef_30 data=\"69,544.5,293.5\"/><StampDef_31 data=\"65,354.5,291.5\"/><StampDef_32 data=\"72,521,277\"/><StampDef_33 data=\"74,569,218\"/><StampDef_34 data=\"73,362,186\"/><StampDef_35 data=\"72,318,236\"/><StampDef_36 data=\"75,417,294\"/><StampDef_37 data=\"73,456,147\"/><StampDef_38 data=\"67,823,254\"/><StampDef_39 data=\"65,1074,173\"/><StampDef_40 data=\"69,1054,291\"/><StampDef_41 data=\"66,973,221\"/><StampDef_42 data=\"68,835,143\"/><StampDef_43 data=\"75,1086,272\"/><StampDef_44 data=\"74,835,228\"/><StampDef_45 data=\"72,963,186.5\"/><StampDef_46 data=\"71,932,290\"/><StampDef_47 data=\"70,1055.5,228.5\"/><StampDef_48 data=\"75,940,97\"/><StampDef_49 data=\"74,949,307\"/><StampDef_50 data=\"70,753,261\"/><StampDef_51 data=\"70,786,175\"/><StampDef_52 data=\"48,498,232\"/><StampDef_53 data=\"51,556,185\"/><StampDef_54 data=\"51,358,234\"/><StampDef_55 data=\"53,475,302\"/><StampDef_56 data=\"53,407,149\"/><StampDef_57 data=\"53,640,316\"/><StampDef_58 data=\"48,900,180.5\"/><StampDef_59 data=\"49,1036,109\"/><StampDef_60 data=\"48,1004,114.5\"/><StampDef_61 data=\"51,1088.95,71\"/><StampDef_62 data=\"51,1009,294\"/><StampDef_63 data=\"50,784,298\"/><StampDef_64 data=\"51,1052,127\"/><StampDef_65 data=\"49,754,206.5\"/><StampDef_66 data=\"3,-43,106.5\"/><StampDef_67 data=\"3,44,106\"/><StampDef_68 data=\"3,131,106\"/><StampDef_69 data=\"4,175,105\"/><StampDef_70 data=\"2,166.75,196\"/><StampDef_71 data=\"46,500.5,82.5\"/><StampDef_72 data=\"62,325,149\"/><StampDef_73 data=\"60,325,155.75\"/><StampDef_74 data=\"64,559,145\"/><StampDef_75 data=\"59,475,91.80000000000001\"/><StampDef_76 data=\"62,459,99\"/><StampDef_77 data=\"55,358,113.75\"/><StampDef_78 data=\"41,854,77\"/><StampDef_79 data=\"43,829,86.19999999999999\"/><StampDef_80 data=\"44,396,90\"/><StampDef_81 data=\"45,421.5,91.5\"/><StampDef_82 data=\"57,694,286\"/><StampDef_83 data=\"59,624,284\"/><StampDef_84 data=\"62,611,291.4\"/><StampDef_85 data=\"46,666.5,274.5\"/><StampDef_86 data=\"42,971.95,2.5999999999999943\"/><StampDef_87 data=\"55,923,25.5\"/><StampDef_88 data=\"89,891,82.05000000000001\"/><StampDef_89 data=\"89,897,76\"/><StampDef_90 data=\"44,744,140.89999999999998\"/><StampDef_91 data=\"63,738,161.89999999999998\"/><StampDef_92 data=\"62,792,97.89999999999998\"/><StampDef_93 data=\"60,788,111.19999999999999\"/><StampDef_94 data=\"7,161,82.5\"/><StampDef_95 data=\"53,1085.95,104\"/><StampDef_96 data=\"60,1096.95,9.050000000000011\"/><StampDef_97 data=\"59,1096.95,6.050000000000011\"/><StampDef_98 data=\"62,901,68.55000000000001\"/><StampDef_99 data=\"80,285,200\"/><StampDef_100 data=\"89,301,192\"/><StampDef_101 data=\"80,294,200\"/><StampDef_102 data=\"89,298,196\"/><StampDef_103 data=\"89,295,200\"/><StampDef_104 data=\"80,285,200\"/><StampDef_105 data=\"89,299,194\"/><StampDef_106 data=\"83,326,166\"/><StampDef_107 data=\"89,352,141\"/><StampDef_108 data=\"89,359,134\"/><StampDef_109 data=\"89,365,128\"/><StampDef_110 data=\"88,520,113\"/><StampDef_111 data=\"88,516,109\"/><StampDef_112 data=\"80,509,110\"/><StampDef_113 data=\"81,696,302\"/><StampDef_114 data=\"78,721,300\"/><StampDef_115 data=\"81,696,302\"/><StampDef_116 data=\"83,779,132\"/><StampDef_117 data=\"82,745,167\"/><StampDef_118 data=\"83,923,49\"/><StampDef_119 data=\"89,947.95,25\"/><StampDef_120 data=\"89,953,20\"/><StampDef_121 data=\"81,965.95,23\"/><StampDef_122 data=\"89,946,27\"/><StampDef_123 data=\"79,987.95,21\"/><StampDef_124 data=\"81,1005.95,23\"/><StampDef_125 data=\"32,127,212\"/><StampDef_126 data=\"34,109,228\"/><StampDef_127 data=\"32,-25,142\"/><StampDef_128 data=\"34,-22,276\"/><StampDef_129 data=\"35,77,296\"/><StampDef_130 data=\"35,152,130\"/><StampDef_131 data=\"34,56,144\"/><StampDef_132 data=\"35,34,216\"/><StampDef_133 data=\"35,191,313\"/><StampDef_134 data=\"36,272.5,281\"/><StampDef_135 data=\"35,220.5,283\"/><StampDef_136 data=\"33,-52,219\"/><StampDef_137 data=\"34,305.5,276\"/><StampDef_138 data=\"34,-24,328\"/><StampDef_139 data=\"6,-73,79\"/><StampDef_140 data=\"10,49,90\"/><StampDef_141 data=\"91,-22,43\"/><StampDef_142 data=\"7,31,87\"/><StampDef_143 data=\"49,1053,-219\"/><StampDef_144 data=\"53,1076,-231\"/><StampDef_145 data=\"52,940,-231\"/><StampDef_146 data=\"53,924,-238\"/><StampDef_147 data=\"74,990,-237\"/><StampDef_148 data=\"70,1102,-233\"/><StampDef_149 data=\"76,894,-252\"/><StampDef_150 data=\"77,946,-252\"/><StampDef_151 data=\"81,994,-250\"/><StampDef_152 data=\"77,1042,-252\"/><StampDef_153 data=\"79,1078,-252\"/><StampDef_154 data=\"81,1100,-250\"/><StampDef_155 data=\"81,1133,-250\"/><StampDef_156 data=\"41,1096,-271\"/><StampDef_157 data=\"44,991,-274\"/><StampDef_158 data=\"56,1066,-274\"/><NumLevelBlocks data=\"11\"/><LevelBlockDef_1 data=\"28,14,0,0,1,26\"/><LevelBlockDef_2 data=\"26,1,0,0,1,38\"/><LevelBlockDef_3 data=\"19,1,0,0,1,28\"/><LevelBlockDef_4 data=\"28,14,0,270,1,26\"/><LevelBlockDef_5 data=\"5,1,0,0,1,32\"/><LevelBlockDef_6 data=\"26,1,0,180,1,38\"/><LevelBlockDef_7 data=\"2,1,0,0,1,34\"/><LevelBlockDef_8 data=\"28,14,0,0,1,26\"/><LevelBlockDef_9 data=\"2,1,0,0,1,34\"/><LevelBlockDef_10 data=\"25,1,0,0,0,0\"/><LevelBlockDef_11 data=\"5,1,0,0,1,32\"/><NumInitialBlocks data=\"0\"/><ScrollLimits data=\"-51,1119,-457,327,240,20\"/><Score data=\"10000\" /></BalanceLevel>"; ["d60bce2af0b93b5a9934386c89bca1e4"] = "<BalanceLevel><NumStaticBlocks data=\"29\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-270,-160,-270,-160,-230,-130,-180,-130,-140,-150,-120,-180,-130,-190,-100,-180,-90,-150,-100,-130,-80,-130,10,-150,30,-180,20,-190,40,-180,60,-150,50,-130,70,-130,100,-160,150,-290,150\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,-270,310,-270,310,-60,180,-60\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,150,-160,150,-160,180,-130,180,-130,310,-290,310\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-130,180,50,180,50,310,-130,310\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"50,180,90,180,90,220,50,220\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"90,180,130,180,130,220,90,220\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"50,220,90,220,90,260,50,260\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"90,220,130,220,130,260,90,260\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"50,260,130,260,130,310,50,310\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"130,180,310,180,310,310,130,310\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,100,260,100,260,180,180,180\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,20,260,20,260,100,180,100\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,100,310,100,310,180,260,180\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,-60,310,-60,310,100,260,100\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,-20,220,-20,220,20,180,20\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,-60,220,-60,220,-20,180,-20\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,-20,260,-20,260,20,220,20\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,-60,260,-60,260,-20,220,-20\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,-410,310,-410,310,-270,180,-270\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-410,-160,-410,-160,-270,-290,-270\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-320,-110,-320,-110,-270,-160,-270\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-370,-110,-370,-110,-320,-160,-320\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-370,-60,-370,-60,-320,-110,-320\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-320,-60,-320,-60,-270,-110,-270\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-410,-60,-410,-60,-370,-160,-370\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,-410,80,-410,80,-270,-60,-270\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"130,-320,180,-320,180,-270,130,-270\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,-320,130,-320,130,-270,80,-270\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,-410,180,-410,180,-320,80,-320\"/><NumElementBlocks data=\"5\"/><ElementDef_1 data=\"5,-170,50,1\"/><ElementDef_2 data=\"5,-170,-100,1\"/><ElementDef_3 data=\"1,-30,230,1\"/><ElementDef_4 data=\"2,220,-190,4\"/><ElementDef_5 data=\"4,-110,140,cannons!!!||how are you supposed to build|a tower with all that going on?\"/><NumStamps data=\"80\"/><StampDef_1 data=\"3,122,185\"/><StampDef_2 data=\"4,177,184\"/><StampDef_3 data=\"14,60.30000000000001,186\"/><StampDef_4 data=\"2,31.30000000000001,185\"/><StampDef_5 data=\"14,-105,185\"/><StampDef_6 data=\"4,-78,184\"/><StampDef_7 data=\"2,-156,186\"/><StampDef_8 data=\"14,-131,185\"/><StampDef_9 data=\"32,-155,214\"/><StampDef_10 data=\"33,-235,243\"/><StampDef_11 data=\"32,-255,170\"/><StampDef_12 data=\"34,-170,273\"/><StampDef_13 data=\"36,-143,258\"/><StampDef_14 data=\"36,-195,191\"/><StampDef_15 data=\"36,-262,278\"/><StampDef_16 data=\"33,-153,86\"/><StampDef_17 data=\"32,-248,-29\"/><StampDef_18 data=\"33,-160,-44\"/><StampDef_19 data=\"34,-203,110\"/><StampDef_20 data=\"36,-254,90\"/><StampDef_21 data=\"36,-236,14\"/><StampDef_22 data=\"36,-231,-185\"/><StampDef_23 data=\"32,-164,-193\"/><StampDef_24 data=\"33,-180,-211\"/><StampDef_25 data=\"33,-188,-19\"/><StampDef_26 data=\"33,-232,-137\"/><StampDef_27 data=\"34,-253,-249\"/><StampDef_28 data=\"34,-99.5,278\"/><StampDef_29 data=\"33,36.5,250\"/><StampDef_30 data=\"36,-21.5,282\"/><StampDef_31 data=\"36,-112.5,231\"/><StampDef_32 data=\"36,-243.5,-83.5\"/><StampDef_33 data=\"34,-128,-288\"/><StampDef_34 data=\"32,99,282\"/><StampDef_35 data=\"33,116,235\"/><StampDef_36 data=\"35,73,205\"/><StampDef_37 data=\"34,274,235\"/><StampDef_38 data=\"32,178,212\"/><StampDef_39 data=\"33,217,269\"/><StampDef_40 data=\"36,257,207\"/><StampDef_41 data=\"36,166,276\"/><StampDef_42 data=\"32,-182,-379\"/><StampDef_43 data=\"33,-251,-358\"/><StampDef_44 data=\"34,-201,-318\"/><StampDef_45 data=\"36,-177,-356\"/><StampDef_46 data=\"36,-241,-296\"/><StampDef_47 data=\"36,202,114\"/><StampDef_48 data=\"34,233,144\"/><StampDef_49 data=\"32,289,54\"/><StampDef_50 data=\"34,238,-9\"/><StampDef_51 data=\"34,196,58\"/><StampDef_52 data=\"32,195,-40\"/><StampDef_53 data=\"33,298,-45\"/><StampDef_54 data=\"36,220,45\"/><StampDef_55 data=\"36,287,135\"/><StampDef_56 data=\"36,263,-113\"/><StampDef_57 data=\"33,192,-108\"/><StampDef_58 data=\"34,272.5,-257.95\"/><StampDef_59 data=\"34,290,-200\"/><StampDef_60 data=\"37,280,-83\"/><StampDef_61 data=\"37,-80,-350\"/><StampDef_62 data=\"33,46,-335\"/><StampDef_63 data=\"32,-9,-294\"/><StampDef_64 data=\"32,-29,-382\"/><StampDef_65 data=\"32,157,-370\"/><StampDef_66 data=\"32,270,-367\"/><StampDef_67 data=\"34,247,-350\"/><StampDef_68 data=\"36,132,-345\"/><StampDef_69 data=\"36,101,-384\"/><StampDef_70 data=\"36,-30,-316\"/><StampDef_71 data=\"34,105,-297\"/><StampDef_72 data=\"33,212,-313\"/><StampDef_73 data=\"33,292,-300\"/><StampDef_74 data=\"33,229,-81\"/><StampDef_75 data=\"8,-148,168\"/><StampDef_76 data=\"9,-130,164\"/><StampDef_77 data=\"13,68,159\"/><StampDef_78 data=\"9,108,165\"/><StampDef_79 data=\"11,148,141\"/><StampDef_80 data=\"5,148,161\"/><NumLevelBlocks data=\"0\"/><NumInitialBlocks data=\"9\"/><InitialBlockDef_1 data=\"5.0013636876783885,5.337326748377416,-0.0009707173097554884,1,0,1,2,true,7\"/><InitialBlockDef_2 data=\"0.9907002333084013,4.669991461833676,3.1409208422396504,1,0,1,2,true,7\"/><InitialBlockDef_3 data=\"0.6670057382074408,3.007784369916774,-4.714014823495985,1,0,1,2,true,7\"/><InitialBlockDef_4 data=\"2.999725009051105,3.3403966743494595,-0.002140534522575202,1,0,1,2,true,7\"/><InitialBlockDef_5 data=\"-1.3311010222304143,3.005848660685856,1.5718675958129626,1,0,1,2,true,7\"/><InitialBlockDef_6 data=\"2.664838245349232,5.004244316063678,7.853770610168871,1,0,1,2,true,7\"/><InitialBlockDef_7 data=\"-1.011214629842159,3.0099623701794935,0,13,0,1,25,true,7\"/><InitialBlockDef_8 data=\"-0.6719630586100919,5.001903264301565,-1.5702462832453303,1,0,1,2,true,7\"/><InitialBlockDef_9 data=\"4.999864748280427,3.3414932180490897,-0.0006042958101131897,0,0,1,13,true,7\"/><ScrollLimits data=\"-275,296,-390,292,10,-50\"/><Score data=\"6000\" /></BalanceLevel>"; ["d443c89a835481a653e6b6b5781e2475"] = "<BalanceLevel><NumStaticBlocks data=\"30\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,-300,90,-300,90,-160,-210,-160\"/><BlockDef_2 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-120,160,120,160,120,290,-120,290\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-120,260,120,260,120,290,-120,290\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-120,260,40,260,40,290,-120,290\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"40,260,80,260,80,290,40,290\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,260,120,260,120,290,80,290\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,60,-120,60,-120,220,-290,220\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,220,-200,220,-200,290,-360,290\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-200,220,-120,220,-120,290,-200,290\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,140,-290,140,-290,220,-360,220\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,100,-290,100,-290,140,-330,140\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,60,-290,60,-290,100,-330,100\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,100,-330,100,-330,140,-360,140\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,60,-330,60,-330,100,-360,100\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-60,-290,-60,-290,60,-360,60\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-160,-290,-160,-290,-60,-360,-60\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-300,-210,-300,-210,-160,-360,-160\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"90,-300,130,-300,130,-260,90,-260\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"90,-260,130,-260,130,-220,90,-220\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"90,-220,170,-220,170,-160,90,-160\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"130,-300,170,-300,170,-260,130,-260\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"130,-260,170,-260,170,-220,130,-220\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,-300,290,-300,290,-160,170,-160\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"120,-160,290,-160,290,110,120,110\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"120,110,180,110,180,170,120,170\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,110,240,110,240,170,180,170\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"120,170,180,170,180,230,120,230\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,170,240,170,240,230,180,230\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"240,110,290,110,290,230,240,230\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"120,230,290,230,290,290,120,290\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"1,160,10,4\"/><ElementDef_2 data=\"2,10,-200,3\"/><ElementDef_3 data=\"4,-180,20,These crates are covered in |sticky honey. They will stick to| other shapes and even walls| and ceilings.\"/><NumStamps data=\"69\"/><StampDef_1 data=\"38,-100,170\"/><StampDef_2 data=\"38,-60,170\"/><StampDef_3 data=\"38,-20,170\"/><StampDef_4 data=\"38,20,170\"/><StampDef_5 data=\"38,60,170\"/><StampDef_6 data=\"38,100,170\"/><StampDef_7 data=\"2,-285,65\"/><StampDef_8 data=\"14,-256,66\"/><StampDef_9 data=\"3,-194,65\"/><StampDef_10 data=\"4,-127,65\"/><StampDef_11 data=\"15,-146,65\"/><StampDef_12 data=\"32,-141,91\"/><StampDef_13 data=\"35,-173,117\"/><StampDef_14 data=\"32,-266,201\"/><StampDef_15 data=\"33,-178,195\"/><StampDef_16 data=\"93,-90,200\"/><StampDef_17 data=\"93,-30,200\"/><StampDef_18 data=\"93,30,200\"/><StampDef_19 data=\"93,90,200\"/><StampDef_20 data=\"93,90,260\"/><StampDef_21 data=\"93,30,260\"/><StampDef_22 data=\"93,-30,260\"/><StampDef_23 data=\"93,-90,260\"/><StampDef_24 data=\"34,-273,89\"/><StampDef_25 data=\"36,-228,145\"/><StampDef_26 data=\"32,-222,284\"/><StampDef_27 data=\"33,-328,241\"/><StampDef_28 data=\"35,-138,251\"/><StampDef_29 data=\"35,-325,-9\"/><StampDef_30 data=\"32,-307,-121\"/><StampDef_31 data=\"35,-344,-91\"/><StampDef_32 data=\"35,-343,160\"/><StampDef_33 data=\"32,7,284\"/><StampDef_34 data=\"34,-79.94999999999999,276\"/><StampDef_35 data=\"36,-342,115\"/><StampDef_36 data=\"33,-302,35\"/><StampDef_37 data=\"33,157,254\"/><StampDef_38 data=\"32,210,276\"/><StampDef_39 data=\"33,264,244\"/><StampDef_40 data=\"32,217,125\"/><StampDef_41 data=\"33,149,147\"/><StampDef_42 data=\"32,-237,-223\"/><StampDef_43 data=\"34,-262,-201\"/><StampDef_44 data=\"33,-302,-255\"/><StampDef_45 data=\"36,-336,-193\"/><StampDef_46 data=\"36,-92,-199\"/><StampDef_47 data=\"32,-55,-263\"/><StampDef_48 data=\"34,-140,-228\"/><StampDef_49 data=\"32,122,-182\"/><StampDef_50 data=\"34,11.550000000000011,-267\"/><StampDef_51 data=\"34,-54.44999999999999,-233\"/><StampDef_52 data=\"37,-37.44999999999999,-277\"/><StampDef_53 data=\"36,156,-242\"/><StampDef_54 data=\"36,72.55000000000001,-269\"/><StampDef_55 data=\"33,257,-210\"/><StampDef_56 data=\"32,218,-269\"/><StampDef_57 data=\"36,218,-194\"/><StampDef_58 data=\"33,252,-100\"/><StampDef_59 data=\"34,151,-125\"/><StampDef_60 data=\"34,272,165\"/><StampDef_61 data=\"33,272,1\"/><StampDef_62 data=\"34,217,65\"/><StampDef_63 data=\"37,-115,-283\"/><StampDef_64 data=\"36,-183,-182\"/><StampDef_65 data=\"43,-228,53\"/><StampDef_66 data=\"8,-140,50\"/><StampDef_67 data=\"11,-243,31\"/><StampDef_68 data=\"40,-262,44\"/><StampDef_69 data=\"10,-210,46\"/><NumLevelBlocks data=\"0\"/><NumInitialBlocks data=\"9\"/><InitialBlockDef_1 data=\"-3.980665123545484,-4.3384663800778895,-1.5708273376113318,0,1,1,6,true,7\"/><InitialBlockDef_2 data=\"-2.6508754435164428,-4.33843364821116,1.5708457524988195,0,1,1,6,true,7\"/><InitialBlockDef_3 data=\"-8.303615082678705,-0.9912298121631892,-1.5674680119562097,1,0,1,4,true,7\"/><InitialBlockDef_4 data=\"-8.650763192479756,1.3368853222228736,0.0016117697812936805,1,0,1,4,true,7\"/><InitialBlockDef_5 data=\"-8.553570124715177,-2.654748106443968,0.0046996078911529324,1,0,1,34,true,2\"/><InitialBlockDef_6 data=\"-0.3436021168432318,-4.670908014216268,3.142629304926058,0,1,1,39,true,22\"/><InitialBlockDef_7 data=\"-3.003681258324247,3.533813660839475,-0.000990017667741615,0,1,1,56,true,7\"/><InitialBlockDef_8 data=\"2.671713852469418,-4.334209280552454,1.570782063351964,0,1,1,56,true,7\"/><InitialBlockDef_9 data=\"3.0041427370010307,3.4216333651384496,0.0006461298265810469,0,1,1,56,true,7\"/><ScrollLimits data=\"-348,275,-288,285,-50,0\"/><Score data=\"4000\" /></BalanceLevel>"; ["d4014502e01cb6fb22c20988f6131e51"] = "<BalanceLevel><NumStaticBlocks data=\"17\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"1\" data=\"-40,-50,40,-50,40,220,40,290,-40,290,-40,220\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-90,-280,10,-280,10,-240,-90,-240\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-90,-240,90,-240,50,-200,-50,-200\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"10,-280,50,-280,50,-240,10,-240\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"50,-280,90,-280,90,-240,50,-240\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-300,-30,-180,90,-300,90\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-300,90,-230,90,-230,160,-300,160\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,90,-180,90,-110,160,-230,160\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-300,160,-100,160,-100,290,-300,290\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,160,-40,220,-100,220\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,220,-40,220,-40,290,-100,290\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"40,220,100,220,100,290,40,290\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,160,100,220,40,220\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,160,300,160,300,290,100,290\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"240,30,240,160,110,160\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"240,30,300,30,300,160,240,160\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"300,-30,300,30,240,30\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"1,-190,180,1\"/><ElementDef_2 data=\"2,180,180,1\"/><ElementDef_3 data=\"3,0,-300\"/><NumStamps data=\"71\"/><StampDef_1 data=\"3,-28,-275\"/><StampDef_2 data=\"2,-83,-276\"/><StampDef_3 data=\"14,34,-275\"/><StampDef_4 data=\"4,82,-276\"/><StampDef_5 data=\"14,61,-275\"/><StampDef_6 data=\"76,-27,-40\"/><StampDef_7 data=\"79,-2,-40\"/><StampDef_8 data=\"78,29,-40\"/><StampDef_9 data=\"80,5,-40\"/><StampDef_10 data=\"65,16,208\"/><StampDef_11 data=\"66,-8,70\"/><StampDef_12 data=\"69,-18,275\"/><StampDef_13 data=\"67,6,-7\"/><StampDef_14 data=\"73,21,128\"/><StampDef_15 data=\"75,-16,157\"/><StampDef_16 data=\"72,22,250\"/><StampDef_17 data=\"73,-23,8\"/><StampDef_18 data=\"72,24,22\"/><StampDef_19 data=\"63,-36,195\"/><StampDef_20 data=\"48,20,169\"/><StampDef_21 data=\"51,29,185\"/><StampDef_22 data=\"53,-24,233\"/><StampDef_23 data=\"51,-24,194\"/><StampDef_24 data=\"51,24,275\"/><StampDef_25 data=\"52,21,52\"/><StampDef_26 data=\"53,0,40\"/><StampDef_27 data=\"53,-25,104\"/><StampDef_28 data=\"51,24,88\"/><StampDef_29 data=\"48,-26,39\"/><StampDef_30 data=\"50,-29,227\"/><StampDef_31 data=\"64,-39,99\"/><StampDef_32 data=\"63,33,51\"/><StampDef_33 data=\"35,-13,-217\"/><StampDef_34 data=\"35,-50,-257\"/><StampDef_35 data=\"32,38,-214\"/><StampDef_36 data=\"35,23,-255\"/><StampDef_37 data=\"36,55,-230\"/><StampDef_38 data=\"36,-58,-224\"/><StampDef_39 data=\"33,-24,-225\"/><StampDef_40 data=\"35,85,262\"/><StampDef_41 data=\"32,184.95,235\"/><StampDef_42 data=\"35,225.95000000000005,242\"/><StampDef_43 data=\"35,146,238\"/><StampDef_44 data=\"32,279,185\"/><StampDef_45 data=\"35,278,257\"/><StampDef_46 data=\"36,256,218\"/><StampDef_47 data=\"36,110,186\"/><StampDef_48 data=\"36,114,261\"/><StampDef_49 data=\"36,84,201\"/><StampDef_50 data=\"36,274,105\"/><StampDef_51 data=\"34,263,127\"/><StampDef_52 data=\"33,252,43\"/><StampDef_53 data=\"34,284,58\"/><StampDef_54 data=\"33,49,240\"/><StampDef_55 data=\"33,201,96\"/><StampDef_56 data=\"33,286,3\"/><StampDef_57 data=\"33,-166,257\"/><StampDef_58 data=\"32,-249,254\"/><StampDef_59 data=\"33,-113.5,198\"/><StampDef_60 data=\"34,-117,257\"/><StampDef_61 data=\"34,-267,45\"/><StampDef_62 data=\"34,-216,71\"/><StampDef_63 data=\"34,-269.5,121\"/><StampDef_64 data=\"36,-268,75\"/><StampDef_65 data=\"36,-116.5,230\"/><StampDef_66 data=\"36,-272.5,210\"/><StampDef_67 data=\"36,-76,206\"/><StampDef_68 data=\"33,-57,245\"/><StampDef_69 data=\"36,-184,106\"/><StampDef_70 data=\"36,-188,229\"/><StampDef_71 data=\"36,65,-246\"/><NumLevelBlocks data=\"9\"/><LevelBlockDef_1 data=\"11,1,1,180,1,50\"/><LevelBlockDef_2 data=\"11,1,1,270,1,50\"/><LevelBlockDef_3 data=\"5,1,0,270,1,32\"/><LevelBlockDef_4 data=\"4,1,0,90,1,31\"/><LevelBlockDef_5 data=\"1,1,0,90,1,33\"/><LevelBlockDef_6 data=\"1,1,0,90,1,33\"/><LevelBlockDef_7 data=\"2,1,0,90,1,34\"/><LevelBlockDef_8 data=\"2,1,0,90,1,34\"/><LevelBlockDef_9 data=\"26,1,0,0,1,38\"/><NumInitialBlocks data=\"0\"/><ScrollLimits data=\"-285,288,-513,275,0,-50\"/><Score data=\"7500\" /></BalanceLevel>"; ["dd2d169ced24b0d1b7506070b9be78ba"] = "<BalanceLevel><NumStaticBlocks data=\"54\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1030,-110,1220,-110,1220,10,1030,10\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"380,-330,450,-330,450,-260,410,-260,380,-290\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-80,-250,-40,-250,-40,-210,-80,-210\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,-210,-40,-210,-100,-150\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-120,-250,-80,-250,-80,-210,-120,-210\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-250,-120,-250,-120,-210,-160,-210\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-260,-250,-160,-250,-160,-150,-260,-150\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-210,-100,-210,-100,-150,-160,-150\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,-250,-360,-250,-360,-150,-430,-150\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-250,-260,-250,-260,-150,-360,-150\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,90,-390,90,-390,130,-430,130\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,50,-390,50,-390,90,-430,90\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,-70,-390,-70,-390,50,-430,50\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,-150,-390,-150,-390,-70,-430,-70\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-390,-150,-340,-150,-390,-100\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-280,130,-100,130,-100,290,-280,290\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,130,-360,130,-360,210,-430,210\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,210,-360,210,-360,290,-430,290\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,130,-280,130,-280,210,-360,210\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,210,-280,210,-280,290,-360,290\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,130,-40,130,-40,190,-100,190\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,190,-40,190,-100,250\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,-570,430,-570,430,-430,280,-430\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,-380,330,-380,330,-330,280,-330\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,-430,330,-430,330,-380,280,-380\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"330,-430,430,-430,430,-330,330,-330\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,-430,280,-430,280,-330\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,-570,280,-570,280,-430,180,-430\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"450,-330,520,-330,520,-260,450,-260\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"520,-330,660,-330,660,-260,520,-260\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,-570,180,-570,180,-490,100,-490\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"340,-330,380,-330,380,-290\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"20,-570,100,-570,100,-490\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"660,-330,700,-330,700,-300,660,-260\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,-570,-360,-570,-360,-480,-430,-480\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-570,-230,-570,-230,-480,-360,-480\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,-570,-110,-570,-200,-480,-230,-480\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,-400,-390,-400,-390,-250,-430,-250\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,-480,-390,-480,-390,-440,-430,-440\"/><BlockDef_40 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,-440,-390,-440,-390,-400,-430,-400\"/><BlockDef_41 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1030,10,1090,10,1090,70\"/><BlockDef_42 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1090,10,1160,10,1160,70,1090,70\"/><BlockDef_43 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1160,10,1220,10,1220,70,1160,70\"/><BlockDef_44 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1160,70,1220,70,1220,220,1160,220\"/><BlockDef_45 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1160,220,1220,220,1220,290,1160,290\"/><BlockDef_46 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-100,240,1160,240,1160,290,-100,290\"/><BlockDef_47 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1080,-560,1220,-560,1220,-460,1080,-460\"/><BlockDef_48 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1080,-460,1120,-460,1120,-420,1080,-420\"/><BlockDef_49 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1120,-460,1160,-460,1160,-420,1120,-420\"/><BlockDef_50 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1080,-420,1120,-420,1120,-380\"/><BlockDef_51 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1120,-420,1160,-420,1160,-380,1120,-380\"/><BlockDef_52 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1160,-460,1220,-460,1220,-380,1160,-380\"/><BlockDef_53 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1160,-380,1220,-380,1220,-320\"/><BlockDef_54 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"950,-560,1080,-560,1080,-490,1000,-490\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"1,-190,180,1\"/><ElementDef_2 data=\"2,1110,-60,1\"/><ElementDef_3 data=\"3,-100,-270\"/><ElementDef_4 data=\"3,590,-350\"/><NumStamps data=\"198\"/><StampDef_1 data=\"38,-80,250\"/><StampDef_2 data=\"38,-40,250\"/><StampDef_3 data=\"38,0,250\"/><StampDef_4 data=\"38,40,250\"/><StampDef_5 data=\"38,80,250\"/><StampDef_6 data=\"38,120,250\"/><StampDef_7 data=\"38,160,250\"/><StampDef_8 data=\"38,200,250\"/><StampDef_9 data=\"38,240,250\"/><StampDef_10 data=\"38,280,250\"/><StampDef_11 data=\"38,320,250\"/><StampDef_12 data=\"38,360,250\"/><StampDef_13 data=\"38,400,250\"/><StampDef_14 data=\"38,440,250\"/><StampDef_15 data=\"38,480,250\"/><StampDef_16 data=\"38,520,250\"/><StampDef_17 data=\"38,560,250\"/><StampDef_18 data=\"38,600,250\"/><StampDef_19 data=\"38,640,250\"/><StampDef_20 data=\"38,680,250\"/><StampDef_21 data=\"38,720,250\"/><StampDef_22 data=\"38,760,250\"/><StampDef_23 data=\"38,800,250\"/><StampDef_24 data=\"38,840,250\"/><StampDef_25 data=\"38,880,250\"/><StampDef_26 data=\"38,920,250\"/><StampDef_27 data=\"38,960,250\"/><StampDef_28 data=\"38,1000,250\"/><StampDef_29 data=\"38,1040,250\"/><StampDef_30 data=\"38,1080,250\"/><StampDef_31 data=\"38,1120,250\"/><StampDef_32 data=\"38,1160,250\"/><StampDef_33 data=\"93,-70,270\"/><StampDef_34 data=\"93,-10,270\"/><StampDef_35 data=\"93,50,270\"/><StampDef_36 data=\"93,110,270\"/><StampDef_37 data=\"93,170,270\"/><StampDef_38 data=\"93,230,270\"/><StampDef_39 data=\"93,290,270\"/><StampDef_40 data=\"93,350,270\"/><StampDef_41 data=\"93,410,270\"/><StampDef_42 data=\"93,470,270\"/><StampDef_43 data=\"93,530,270\"/><StampDef_44 data=\"93,590,270\"/><StampDef_45 data=\"93,650,270\"/><StampDef_46 data=\"93,710,270\"/><StampDef_47 data=\"93,770,270\"/><StampDef_48 data=\"93,830,270\"/><StampDef_49 data=\"93,880,270\"/><StampDef_50 data=\"93,940,270\"/><StampDef_51 data=\"93,1000,270\"/><StampDef_52 data=\"93,1060,270\"/><StampDef_53 data=\"93,1120,270\"/><StampDef_54 data=\"93,1180,270\"/><StampDef_55 data=\"3,492,-325\"/><StampDef_56 data=\"2,437,-326\"/><StampDef_57 data=\"3,580,-325\"/><StampDef_58 data=\"14,643,-326\"/><StampDef_59 data=\"15,671,-327\"/><StampDef_60 data=\"4,692,-327\"/><StampDef_61 data=\"3,-329,-244\"/><StampDef_62 data=\"3,-241,-244\"/><StampDef_63 data=\"3,-156,-245\"/><StampDef_64 data=\"14,-94,-246\"/><StampDef_65 data=\"15,-67,-246\"/><StampDef_66 data=\"4,-47,-247\"/><StampDef_67 data=\"2,-386,-245\"/><StampDef_68 data=\"3,-328,135\"/><StampDef_69 data=\"2,-384,134\"/><StampDef_70 data=\"14,-265,134\"/><StampDef_71 data=\"15,-239.25,134\"/><StampDef_72 data=\"4,-41.5,133\"/><StampDef_73 data=\"3,-97,135\"/><StampDef_74 data=\"15,1054.95,-104\"/><StampDef_75 data=\"15,1067.95,-104\"/><StampDef_76 data=\"2,1037,-105\"/><StampDef_77 data=\"3,1206,-105\"/><StampDef_78 data=\"32,-340,226\"/><StampDef_79 data=\"33,-301,262\"/><StampDef_80 data=\"34,-293,158\"/><StampDef_81 data=\"33,-403,254\"/><StampDef_82 data=\"34,-394,162\"/><StampDef_83 data=\"36,-377,186\"/><StampDef_84 data=\"36,-180,234\"/><StampDef_85 data=\"33,-201.5,241\"/><StampDef_86 data=\"32,-117,266\"/><StampDef_87 data=\"33,-84.5,202\"/><StampDef_88 data=\"34,-52,157\"/><StampDef_89 data=\"36,-73,170\"/><StampDef_90 data=\"36,-162,249\"/><StampDef_91 data=\"33,-252.5,243\"/><StampDef_92 data=\"34,-408,2\"/><StampDef_93 data=\"36,-415,-49\"/><StampDef_94 data=\"36,-306,-180\"/><StampDef_95 data=\"32,-280,-211\"/><StampDef_96 data=\"33,-343,-215\"/><StampDef_97 data=\"36,-341,-167\"/><StampDef_98 data=\"32,-182,-168\"/><StampDef_99 data=\"34,-237,-168\"/><StampDef_100 data=\"33,-203,-217\"/><StampDef_101 data=\"33,-111,-161\"/><StampDef_102 data=\"34,-144,-196\"/><StampDef_103 data=\"35,-112,-195\"/><StampDef_104 data=\"36,-380,-138\"/><StampDef_105 data=\"33,-60,-227\"/><StampDef_106 data=\"36,-105,-226\"/><StampDef_107 data=\"35,-405,61\"/><StampDef_108 data=\"37,-416,104\"/><StampDef_109 data=\"32,-413,-108\"/><StampDef_110 data=\"34,-412,-226\"/><StampDef_111 data=\"34,-384,-177\"/><StampDef_112 data=\"36,-330,182\"/><StampDef_113 data=\"36,-195,275\"/><StampDef_114 data=\"36,-409,-336\"/><StampDef_115 data=\"32,-414,-420\"/><StampDef_116 data=\"32,-282,-516\"/><StampDef_117 data=\"33,-247,-494\"/><StampDef_118 data=\"34,-342,-496\"/><StampDef_119 data=\"33,-323,-541\"/><StampDef_120 data=\"33,-401,-524\"/><StampDef_121 data=\"32,-180,-538\"/><StampDef_122 data=\"34,-403,-305\"/><StampDef_123 data=\"32,379,-393\"/><StampDef_124 data=\"34,402,-371\"/><StampDef_125 data=\"34,353,-351\"/><StampDef_126 data=\"34,392,-519\"/><StampDef_127 data=\"33,305,-467\"/><StampDef_128 data=\"34,418,-455\"/><StampDef_129 data=\"36,344,-516\"/><StampDef_130 data=\"36,371,-462\"/><StampDef_131 data=\"36,211,-465\"/><StampDef_132 data=\"34,259,-528\"/><StampDef_133 data=\"33,202,-526\"/><StampDef_134 data=\"33,242,-478\"/><StampDef_135 data=\"32,241,-400\"/><StampDef_136 data=\"36,265,-416\"/><StampDef_137 data=\"36,305,-352\"/><StampDef_138 data=\"36,263,-376\"/><StampDef_139 data=\"36,122,-521\"/><StampDef_140 data=\"33,146,-505\"/><StampDef_141 data=\"34,84,-531\"/><StampDef_142 data=\"34,418,-290\"/><StampDef_143 data=\"33,436,-306\"/><StampDef_144 data=\"36,391,-318\"/><StampDef_145 data=\"36,502,-281\"/><StampDef_146 data=\"33,584,-289\"/><StampDef_147 data=\"32,616,-275\"/><StampDef_148 data=\"34,640,-309\"/><StampDef_149 data=\"36,537,-291\"/><StampDef_150 data=\"36,679,-306\"/><StampDef_151 data=\"35,304,-404\"/><StampDef_152 data=\"35,1183,175\"/><StampDef_153 data=\"32,1206,107\"/><StampDef_154 data=\"34,1175,124\"/><StampDef_155 data=\"33,1208,202\"/><StampDef_156 data=\"33,1207,142\"/><StampDef_157 data=\"35,1193,239\"/><StampDef_158 data=\"32,1118,33\"/><StampDef_159 data=\"32,1205,-44\"/><StampDef_160 data=\"34,1051.95,-9\"/><StampDef_161 data=\"34,1111,-10\"/><StampDef_162 data=\"36,1082,-3\"/><StampDef_163 data=\"36,1167.95,-14\"/><StampDef_164 data=\"33,1193,46\"/><StampDef_165 data=\"7,1187,-126\"/><StampDef_166 data=\"10,1171,-118\"/><StampDef_167 data=\"6,1236,-131\"/><StampDef_168 data=\"43,1041,-117\"/><StampDef_169 data=\"12,1061,-123\"/><StampDef_170 data=\"9,-335,113\"/><StampDef_171 data=\"11,-296,90\"/><StampDef_172 data=\"6,-281,107\"/><StampDef_173 data=\"10,-359,119\"/><StampDef_174 data=\"5,-89,111\"/><StampDef_175 data=\"7,-52,116\"/><StampDef_176 data=\"6,-201,-271\"/><StampDef_177 data=\"5,-313,-268\"/><StampDef_178 data=\"12,-355,-261\"/><StampDef_179 data=\"9,-281,-267\"/><StampDef_180 data=\"92,-257,-301\"/><StampDef_181 data=\"43,-152,-258\"/><StampDef_182 data=\"41,-124,133\"/><StampDef_183 data=\"5,521,-347\"/><StampDef_184 data=\"7,485,-345\"/><StampDef_185 data=\"13,668,-353\"/><StampDef_186 data=\"12,681,-347\"/><StampDef_187 data=\"41,455,-345\"/><StampDef_188 data=\"10,503,-341\"/><StampDef_189 data=\"32,1179,-417\"/><StampDef_190 data=\"35,1197,-440\"/><StampDef_191 data=\"34,1103,-500\"/><StampDef_192 data=\"33,1183,-519\"/><StampDef_193 data=\"34,1135,-398\"/><StampDef_194 data=\"35,1000,-524\"/><StampDef_195 data=\"34,1039,-508\"/><StampDef_196 data=\"32,1064,-536\"/><StampDef_197 data=\"36,1150,-483\"/><StampDef_198 data=\"36,1099,-439\"/><NumLevelBlocks data=\"10\"/><LevelBlockDef_1 data=\"5,1,0,180,1,32\"/><LevelBlockDef_2 data=\"5,1,0,0,1,32\"/><LevelBlockDef_3 data=\"4,1,0,0,1,31\"/><LevelBlockDef_4 data=\"4,1,0,180,1,31\"/><LevelBlockDef_5 data=\"4,1,0,0,1,31\"/><LevelBlockDef_6 data=\"4,1,0,180,1,31\"/><LevelBlockDef_7 data=\"4,1,0,0,1,31\"/><LevelBlockDef_8 data=\"4,1,0,180,1,31\"/><LevelBlockDef_9 data=\"4,1,0,0,1,31\"/><LevelBlockDef_10 data=\"5,1,0,0,1,32\"/><NumInitialBlocks data=\"12\"/><InitialBlockDef_1 data=\"1.1451506242668714,5.673840998932982,0,4,0,1,15,false,7\"/><InitialBlockDef_2 data=\"5.5373959305073726,-2.4648403696209553,0,4,0,1,15,false,7\"/><InitialBlockDef_3 data=\"11.676040415731594,2.8305470815119915,0,4,0,1,15,false,7\"/><InitialBlockDef_4 data=\"17.638663381101043,-5.566123305206655,0,4,0,1,15,false,7\"/><InitialBlockDef_5 data=\"30.870351611968132,1.1840723493261263,0,4,0,1,15,false,7\"/><InitialBlockDef_6 data=\"-11.410133744274864,4.004791265572708,-0.00007936312365073499,1,0,1,32,false,5\"/><InitialBlockDef_7 data=\"-9.410572299241098,2.6714253540152972,-3.1424191421354086,1,0,1,32,false,5\"/><InitialBlockDef_8 data=\"-11.426232223311848,2.0089000228302716,-0.0001894086876771228,1,0,1,32,false,5\"/><InitialBlockDef_9 data=\"-9.423379862842461,0.6761080599608666,-3.14276073550149,1,0,1,32,false,5\"/><InitialBlockDef_10 data=\"-10.374465965088207,0.015252577638035503,-0.001015064493746357,1,0,1,31,false,4\"/><InitialBlockDef_11 data=\"-10.375071126240607,-1.3237529852426757,-3.141768699998008,1,0,1,31,false,4\"/><InitialBlockDef_12 data=\"22.633333333333333,5.433333333333334,0,4,0,1,15,false,7\"/><ScrollLimits data=\"-416,1207,-541,278,-110,-20\"/><Score data=\"7500\" /></BalanceLevel>"; ["dec2ed540054b695c09e903543774df9"] = "<BalanceLevel><NumStaticBlocks data=\"28\"/><BlockDef_1 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-70,50,370,50,370,190,-70,190\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,-170,-110,-170,-110,-90,-190,-90\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-170,-30,-170,-30,-90,-110,-90\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-30,-130,10,-130,10,-90,-30,-90\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-30,-170,10,-170,10,-130,-30,-130\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"10,-130,50,-130,50,-90,10,-90\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"10,-170,50,-170,50,-130,10,-130\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"50,-170,130,-170,130,-90,50,-90\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-170,-190,-170,-190,-70,-290,-70\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-70,-190,-70,-190,40,-290,40\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,40,-250,40,-250,80,-290,80\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,40,-210,40,-210,80,-250,80\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,40,-70,40,-70,190,-210,190\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,80,-210,80,-210,190,-290,190\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,190,-70,190,-70,280,-290,280\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-70,190,-30,190,-30,230,-70,230\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-30,190,10,190,10,230,-30,230\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-70,230,-30,230,-30,280,-70,280\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-30,230,10,230,10,280,-30,280\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"10,190,110,190,110,280,10,280\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,190,290,190,290,280,110,280\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"290,190,330,190,330,230,290,230\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"330,190,370,190,370,230,330,230\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"290,230,330,230,330,280,290,280\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"330,230,370,230,370,280,330,280\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"370,140,570,140,570,280,370,280\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"370,-40,570,-40,570,140,370,140\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"130,-170,220,-170,220,-120,190,-90,130,-90\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"2,-130,90,1\"/><ElementDef_2 data=\"1,450,10,1\"/><ElementDef_3 data=\"3,-110,-190\"/><NumStamps data=\"112\"/><StampDef_1 data=\"38,-20,60\"/><StampDef_2 data=\"38,20,60\"/><StampDef_3 data=\"38,60,60\"/><StampDef_4 data=\"38,100,60\"/><StampDef_5 data=\"38,140,60\"/><StampDef_6 data=\"38,180,60\"/><StampDef_7 data=\"38,220,60\"/><StampDef_8 data=\"38,260,60\"/><StampDef_9 data=\"38,300,60\"/><StampDef_10 data=\"38,340,60\"/><StampDef_11 data=\"38,380,60\"/><StampDef_12 data=\"39,254.5,112.39999999999998\"/><StampDef_13 data=\"39,47.19999999999999,159.8\"/><StampDef_14 data=\"39,94.05000000000001,100.89999999999998\"/><StampDef_15 data=\"39,257.7,162.5\"/><StampDef_16 data=\"39,159.10000000000002,129\"/><StampDef_17 data=\"38,-60,60\"/><StampDef_18 data=\"39,3,132.10000000000002\"/><StampDef_19 data=\"14,520.3,-34\"/><StampDef_20 data=\"14,546,-34\"/><StampDef_21 data=\"2,379.5,-35\"/><StampDef_22 data=\"15,398.75,-34\"/><StampDef_23 data=\"4,-73,44\"/><StampDef_24 data=\"2,-184.05,45\"/><StampDef_25 data=\"3,-248,-165\"/><StampDef_26 data=\"3,-160,-165\"/><StampDef_27 data=\"3,-72,-165\"/><StampDef_28 data=\"3,15,-165\"/><StampDef_29 data=\"3,103,-166\"/><StampDef_30 data=\"14,166,-166\"/><StampDef_31 data=\"4,212,-166\"/><StampDef_32 data=\"14,192,-166\"/><StampDef_33 data=\"32,-214,-47\"/><StampDef_34 data=\"33,-257,12\"/><StampDef_35 data=\"35,-209,14\"/><StampDef_36 data=\"35,37,-113\"/><StampDef_37 data=\"33,-276,-46\"/><StampDef_38 data=\"34,-47,-144\"/><StampDef_39 data=\"32,-144,-111\"/><StampDef_40 data=\"33,-257,-136\"/><StampDef_41 data=\"34,-211,-110\"/><StampDef_42 data=\"33,112,-143\"/><StampDef_43 data=\"32,206,-132\"/><StampDef_44 data=\"33,184,-109\"/><StampDef_45 data=\"36,149,-134\"/><StampDef_46 data=\"36,-82,-112\"/><StampDef_47 data=\"36,-175,-145\"/><StampDef_48 data=\"36,-155,149\"/><StampDef_49 data=\"33,-121.05000000000001,156\"/><StampDef_50 data=\"35,-255,157\"/><StampDef_51 data=\"32,-230,100\"/><StampDef_52 data=\"32,-118,238\"/><StampDef_53 data=\"34,-184,249\"/><StampDef_54 data=\"35,-259,226\"/><StampDef_55 data=\"32,85,217\"/><StampDef_56 data=\"35,43,251\"/><StampDef_57 data=\"33,-15,205\"/><StampDef_58 data=\"32,265,215\"/><StampDef_59 data=\"34,239,236\"/><StampDef_60 data=\"33,166,203\"/><StampDef_61 data=\"36,183,251\"/><StampDef_62 data=\"36,-16,252\"/><StampDef_63 data=\"36,456,220\"/><StampDef_64 data=\"32,419,180\"/><StampDef_65 data=\"33,488,168\"/><StampDef_66 data=\"33,542,254\"/><StampDef_67 data=\"33,396,255\"/><StampDef_68 data=\"36,347,249\"/><StampDef_69 data=\"36,517,63\"/><StampDef_70 data=\"32,519.5,33\"/><StampDef_71 data=\"34,456,65\"/><StampDef_72 data=\"35,388,101\"/><StampDef_73 data=\"33,518,120\"/><StampDef_74 data=\"33,337,204\"/><StampDef_75 data=\"91,25,-224\"/><StampDef_76 data=\"92,90,-201\"/><StampDef_77 data=\"91,-217,-225\"/><StampDef_78 data=\"5,178,-189\"/><StampDef_79 data=\"13,-13,-190\"/><StampDef_80 data=\"8,-4,-186\"/><StampDef_81 data=\"11,-54,-187\"/><StampDef_82 data=\"10,145,-186\"/><StampDef_83 data=\"8,-249,-184\"/><StampDef_84 data=\"42,-191,-180\"/><StampDef_85 data=\"91,534,-96\"/><StampDef_86 data=\"8,517,-53\"/><StampDef_87 data=\"10,389,-51\"/><StampDef_88 data=\"40,568,-57\"/><StampDef_89 data=\"93,-40,80\"/><StampDef_90 data=\"93,20,80\"/><StampDef_91 data=\"93,80,80\"/><StampDef_92 data=\"93,140,80\"/><StampDef_93 data=\"93,200,80\"/><StampDef_94 data=\"93,-40,140\"/><StampDef_95 data=\"93,20,140\"/><StampDef_96 data=\"93,80,140\"/><StampDef_97 data=\"93,130,140\"/><StampDef_98 data=\"93,190,140\"/><StampDef_99 data=\"93,-40,200\"/><StampDef_100 data=\"93,20,200\"/><StampDef_101 data=\"93,80,200\"/><StampDef_102 data=\"93,140,200\"/><StampDef_103 data=\"93,190,200\"/><StampDef_104 data=\"93,260,80\"/><StampDef_105 data=\"93,310,80\"/><StampDef_106 data=\"93,370,80\"/><StampDef_107 data=\"93,250,140\"/><StampDef_108 data=\"93,310,140\"/><StampDef_109 data=\"93,370,140\"/><StampDef_110 data=\"93,250,200\"/><StampDef_111 data=\"93,310,200\"/><StampDef_112 data=\"93,370,200\"/><NumLevelBlocks data=\"7\"/><LevelBlockDef_1 data=\"4,1,1,0,0,0\"/><LevelBlockDef_2 data=\"7,0,1,0,1,6\"/><LevelBlockDef_3 data=\"7,1,0,0,1,4\"/><LevelBlockDef_4 data=\"7,1,0,0,1,2\"/><LevelBlockDef_5 data=\"7,1,1,0,1,24\"/><LevelBlockDef_6 data=\"7,1,0,0,1,22\"/><LevelBlockDef_7 data=\"7,1,0,0,1,22\"/><NumInitialBlocks data=\"0\"/><ScrollLimits data=\"-275,555,-384,267,50,-90\"/><Score data=\"5000\" /></BalanceLevel>"; ["ec9e83ba7de071ab5a1e48bc5dde301d"] = "<BalanceLevel><NumStaticBlocks data=\"3\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,0,-70,0,-70,110,-230,110\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"1\" data=\"-310,-650,-123,-650,-123,-575,-123,-277,-120,-280,100,-280,100,-230,80,-210,-100,-210,-130,-180,-230,-180,-230,110,-70,110,-70,0,-40,0,-40,200,440,200,440,-20,560,-20,560,-170,440,-170,440,-540,280,-540,230,-580,-120,-580,-120,-650,750,-650,750,290,-310,290\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"440,-170,560,-170,560,-20,440,-20\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"1,-160,50,1\"/><ElementDef_2 data=\"2,480,-90,4\"/><ElementDef_3 data=\"3,30,-300\"/><NumStamps data=\"228\"/><StampDef_1 data=\"76,-109,-270\"/><StampDef_2 data=\"77,-57,-270\"/><StampDef_3 data=\"81,-10,-268\"/><StampDef_4 data=\"77,38,-270\"/><StampDef_5 data=\"78,90,-270\"/><StampDef_6 data=\"76,-57,9\"/><StampDef_7 data=\"78,-49,9\"/><StampDef_8 data=\"80,-59,9\"/><StampDef_9 data=\"76,-31,210\"/><StampDef_10 data=\"77,21,210\"/><StampDef_11 data=\"77,85,210\"/><StampDef_12 data=\"77,148,210\"/><StampDef_13 data=\"77,212,210\"/><StampDef_14 data=\"77,275,210\"/><StampDef_15 data=\"77,339,210\"/><StampDef_16 data=\"77,402,210\"/><StampDef_17 data=\"78,431,210\"/><StampDef_18 data=\"80,415,210\"/><StampDef_19 data=\"80,410,210\"/><StampDef_20 data=\"2,-220.5,5\"/><StampDef_21 data=\"15,-201.5,6\"/><StampDef_22 data=\"14,-93.1,5.350000000000023\"/><StampDef_23 data=\"65,-90,142\"/><StampDef_24 data=\"72,-67,180\"/><StampDef_25 data=\"75,-172,208\"/><StampDef_26 data=\"67,-270,116\"/><StampDef_27 data=\"69,-260,267\"/><StampDef_28 data=\"74,-230,129\"/><StampDef_29 data=\"71,-292,218\"/><StampDef_30 data=\"67,-237,188\"/><StampDef_31 data=\"67,-16,269\"/><StampDef_32 data=\"58,137,247\"/><StampDef_33 data=\"63,119,249\"/><StampDef_34 data=\"71,119,249\"/><StampDef_35 data=\"68,185,242\"/><StampDef_36 data=\"72,-86,255\"/><StampDef_37 data=\"73,-86,264\"/><StampDef_38 data=\"73,301,259\"/><StampDef_39 data=\"72,325,241\"/><StampDef_40 data=\"72,-177,274\"/><StampDef_41 data=\"72,-263.5,17\"/><StampDef_42 data=\"72,471,243\"/><StampDef_43 data=\"66,506,204\"/><StampDef_44 data=\"59,49,197\"/><StampDef_45 data=\"66,-121,-598\"/><StampDef_46 data=\"73,-121,-623\"/><StampDef_47 data=\"74,-121,-617\"/><StampDef_48 data=\"62,69,271\"/><StampDef_49 data=\"62,69,267\"/><StampDef_50 data=\"62,80,267\"/><StampDef_51 data=\"73,72,271\"/><StampDef_52 data=\"67,-263,-162\"/><StampDef_53 data=\"69,-256,-90\"/><StampDef_54 data=\"75,-287,-52\"/><StampDef_55 data=\"75,412,270\"/><StampDef_56 data=\"67,353,279\"/><StampDef_57 data=\"65,591,248\"/><StampDef_58 data=\"73,570,268\"/><StampDef_59 data=\"74,559,267\"/><StampDef_60 data=\"74,586,115\"/><StampDef_61 data=\"73,567,138\"/><StampDef_62 data=\"65,484,59\"/><StampDef_63 data=\"69,575,19\"/><StampDef_64 data=\"73,478,127\"/><StampDef_65 data=\"72,524,10\"/><StampDef_66 data=\"74,463,7\"/><StampDef_67 data=\"74,564,-335\"/><StampDef_68 data=\"67,519,-279\"/><StampDef_69 data=\"65,584,-221\"/><StampDef_70 data=\"68,486,-467\"/><StampDef_71 data=\"66,584,-576\"/><StampDef_72 data=\"69,614,-419\"/><StampDef_73 data=\"69,466,-205\"/><StampDef_74 data=\"69,310,-610\"/><StampDef_75 data=\"65,433,-595\"/><StampDef_76 data=\"67,203,-603\"/><StampDef_77 data=\"69,118,-632\"/><StampDef_78 data=\"72,241,271\"/><StampDef_79 data=\"72,622,190\"/><StampDef_80 data=\"72,615,-112\"/><StampDef_81 data=\"75,608,-39\"/><StampDef_82 data=\"75,467,-370\"/><StampDef_83 data=\"75,521,-608\"/><StampDef_84 data=\"71,577,-512\"/><StampDef_85 data=\"73,575,-512\"/><StampDef_86 data=\"73,546,-417\"/><StampDef_87 data=\"73,364,-573\"/><StampDef_88 data=\"72,255,-615\"/><StampDef_89 data=\"72,398,-632\"/><StampDef_90 data=\"72,148,-610\"/><StampDef_91 data=\"67,-61,-617\"/><StampDef_92 data=\"73,15,-607\"/><StampDef_93 data=\"74,50,-601\"/><StampDef_94 data=\"74,-201,-447\"/><StampDef_95 data=\"69,-204,-535\"/><StampDef_96 data=\"66,-265,-463\"/><StampDef_97 data=\"65,-152,-219\"/><StampDef_98 data=\"69,-287,-314\"/><StampDef_99 data=\"72,-55.5,61\"/><StampDef_100 data=\"72,-61,-239\"/><StampDef_101 data=\"73,12,-233\"/><StampDef_102 data=\"75,72,-237\"/><StampDef_103 data=\"75,-265,-242\"/><StampDef_104 data=\"72,-176,-318\"/><StampDef_105 data=\"73,-159,-299\"/><StampDef_106 data=\"72,-278,-383\"/><StampDef_107 data=\"71,-201,-366\"/><StampDef_108 data=\"71,-207,-210\"/><StampDef_109 data=\"73,-266,-597\"/><StampDef_110 data=\"72,-266,-598\"/><StampDef_111 data=\"67,-154,-407\"/><StampDef_112 data=\"67,-201,-628\"/><StampDef_113 data=\"67,5,-241\"/><StampDef_114 data=\"48,-183,153\"/><StampDef_115 data=\"49,-168,133\"/><StampDef_116 data=\"51,-154,158\"/><StampDef_117 data=\"52,-87,214\"/><StampDef_118 data=\"49,-113,230\"/><StampDef_119 data=\"49,-226,236\"/><StampDef_120 data=\"51,-279,160\"/><StampDef_121 data=\"49,35,242\"/><StampDef_122 data=\"50,161.05,264\"/><StampDef_123 data=\"50,256,234\"/><StampDef_124 data=\"53,-36,242\"/><StampDef_125 data=\"53,-187,248\"/><StampDef_126 data=\"53,84,226\"/><StampDef_127 data=\"48,497,260\"/><StampDef_128 data=\"48,503,100\"/><StampDef_129 data=\"49,509,243\"/><StampDef_130 data=\"51,265,242\"/><StampDef_131 data=\"51,393,238\"/><StampDef_132 data=\"51,-53,91\"/><StampDef_133 data=\"53,-58.5,35\"/><StampDef_134 data=\"53,-253,72\"/><StampDef_135 data=\"53,217,265\"/><StampDef_136 data=\"53,566,223\"/><StampDef_137 data=\"48,587,170\"/><StampDef_138 data=\"48,584,-78\"/><StampDef_139 data=\"49,460,160\"/><StampDef_140 data=\"49,594,66\"/><StampDef_141 data=\"49,494,0\"/><StampDef_142 data=\"51,543,62\"/><StampDef_143 data=\"51,589,-133\"/><StampDef_144 data=\"51,504,-198\"/><StampDef_145 data=\"48,584,-286\"/><StampDef_146 data=\"49,465,-323\"/><StampDef_147 data=\"51,587,-386\"/><StampDef_148 data=\"48,-134,274\"/><StampDef_149 data=\"48,-249,-52\"/><StampDef_150 data=\"51,-276,-21\"/><StampDef_151 data=\"51,-111,-240\"/><StampDef_152 data=\"48,-138,-249\"/><StampDef_153 data=\"51,-27,-222\"/><StampDef_154 data=\"48,41,-236\"/><StampDef_155 data=\"49,-73,-253\"/><StampDef_156 data=\"53,-116,-207\"/><StampDef_157 data=\"48,-232,-301\"/><StampDef_158 data=\"49,-146,-470\"/><StampDef_159 data=\"50,-227,-492\"/><StampDef_160 data=\"48,-221,-408\"/><StampDef_161 data=\"48,-296,-419\"/><StampDef_162 data=\"49,-286,-434\"/><StampDef_163 data=\"49,-288,-208\"/><StampDef_164 data=\"51,-219,-285\"/><StampDef_165 data=\"51,-147,-362\"/><StampDef_166 data=\"51,-149,-574\"/><StampDef_167 data=\"50,-163,-590\"/><StampDef_168 data=\"48,-279,-631\"/><StampDef_169 data=\"49,-266,-547\"/><StampDef_170 data=\"53,-242,-351\"/><StampDef_171 data=\"53,-25,-598\"/><StampDef_172 data=\"48,69,-630\"/><StampDef_173 data=\"49,-16,-625\"/><StampDef_174 data=\"49,108,-597\"/><StampDef_175 data=\"49,293,-559\"/><StampDef_176 data=\"48,352,-629\"/><StampDef_177 data=\"48,152,241\"/><StampDef_178 data=\"59,470,-276\"/><StampDef_179 data=\"63,513,-250\"/><StampDef_180 data=\"74,510,-252\"/><StampDef_181 data=\"72,466,-546\"/><StampDef_182 data=\"53,594,-302\"/><StampDef_183 data=\"53,487,-415\"/><StampDef_184 data=\"49,524,-365\"/><StampDef_185 data=\"49,522,-563\"/><StampDef_186 data=\"51,591,-619\"/><StampDef_187 data=\"48,540,-547\"/><StampDef_188 data=\"49,513,-500\"/><StampDef_189 data=\"50,608,-468\"/><StampDef_190 data=\"50,460.05,-627\"/><StampDef_191 data=\"49,398,-574\"/><StampDef_192 data=\"53,414,-563\"/><StampDef_193 data=\"40,-8,185\"/><StampDef_194 data=\"43,26,195\"/><StampDef_195 data=\"41,384,186\"/><StampDef_196 data=\"42,318,192\"/><StampDef_197 data=\"42,-31,-289\"/><StampDef_198 data=\"55,123,194\"/><StampDef_199 data=\"46,249,185\"/><StampDef_200 data=\"44,222,190\"/><StampDef_201 data=\"45,269,191\"/><StampDef_202 data=\"47,100,188\"/><StampDef_203 data=\"46,415,184\"/><StampDef_204 data=\"59,356,193\"/><StampDef_205 data=\"62,346,203\"/><StampDef_206 data=\"62,195,207\"/><StampDef_207 data=\"45,-42,-10\"/><StampDef_208 data=\"46,86,-296\"/><StampDef_209 data=\"46,-61,-15\"/><StampDef_210 data=\"44,-98,-291\"/><StampDef_211 data=\"45,-74,-290\"/><StampDef_212 data=\"62,-11,-288\"/><StampDef_213 data=\"62,-9,-585\"/><StampDef_214 data=\"59,251,-557\"/><StampDef_215 data=\"60,248,-564\"/><StampDef_216 data=\"62,408,-535\"/><StampDef_217 data=\"63,440,81\"/><StampDef_218 data=\"60,441,-270\"/><StampDef_219 data=\"59,-34,-579\"/><StampDef_220 data=\"59,444,-261\"/><StampDef_221 data=\"63,-39,123\"/><StampDef_222 data=\"62,-93,-208\"/><StampDef_223 data=\"64,42,-212\"/><StampDef_224 data=\"59,-190,-184\"/><StampDef_225 data=\"62,-126,-444\"/><StampDef_226 data=\"12,-201.25,-12\"/><StampDef_227 data=\"7,-92.10000000000002,-8.649999999999977\"/><StampDef_228 data=\"9,-218,-14\"/><NumLevelBlocks data=\"16\"/><LevelBlockDef_1 data=\"7,14,0,0,1,26\"/><LevelBlockDef_2 data=\"3,1,1,180,0,0\"/><LevelBlockDef_3 data=\"7,14,0,0,1,26\"/><LevelBlockDef_4 data=\"3,0,0,270,1,1\"/><LevelBlockDef_5 data=\"4,1,1,0,0,0\"/><LevelBlockDef_6 data=\"7,1,1,0,1,24\"/><LevelBlockDef_7 data=\"7,1,0,0,1,4\"/><LevelBlockDef_8 data=\"7,1,0,0,1,2\"/><LevelBlockDef_9 data=\"5,1,1,90,0,0\"/><LevelBlockDef_10 data=\"22,1,1,0,0,0\"/><LevelBlockDef_11 data=\"22,1,1,0,0,0\"/><LevelBlockDef_12 data=\"22,1,1,0,0,0\"/><LevelBlockDef_13 data=\"5,1,1,180,0,0\"/><LevelBlockDef_14 data=\"3,1,1,90,0,0\"/><LevelBlockDef_15 data=\"22,1,0,0,0,0\"/><LevelBlockDef_16 data=\"22,1,0,0,0,0\"/><NumInitialBlocks data=\"0\"/><ScrollLimits data=\"-295,616,-632,273,20,-100\"/><Score data=\"10000\" /></BalanceLevel>"; ["title_screen"] = "<BalanceLevel><NumStaticBlocks data=\"39\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,120,-280,120,-280,160,-310,160\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-280,120,-240,120,-240,160,-280,160\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,160,-280,160,-280,200,-310,200\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-280,160,-240,160,-240,200,-280,200\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,200,-240,200,-240,290,-310,290\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,200,-20,200,-20,280,-100,280\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-20,240,230,240,230,290,-20,290\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,200,300,200,300,290,230,290\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-20,300,-20,300,200,230,200\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-120,300,-120,300,-20,230,-20\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-160,270,-160,270,-120,230,-120\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-200,270,-200,270,-160,230,-160\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-300,300,-300,300,-200,230,-200\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"60,-300,230,-300,230,-230,60,-230\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"20,-270,60,-270,60,-230,20,-230\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-20,-270,20,-270,20,-230,-20,-230\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-20,-300,20,-300,20,-270,-20,-270\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"20,-300,60,-300,60,-270,20,-270\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-120,-300,-20,-300,-20,-230,-120,-230\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,-300,-200,-300,-200,-230,-310,-230\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-270,-120,-270,-120,-230,-160,-230\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-200,-270,-160,-270,-160,-230,-200,-230\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-200,-300,-160,-300,-160,-270,-200,-270\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-300,-120,-300,-120,-270,-160,-270\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,50,-240,50,-240,120,-310,120\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,-20,-240,-20,-240,50,-310,50\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,-160,-240,-160,-240,-20,-310,-20\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,-230,-240,-230,-240,-160,-310,-160\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,-200,300,-200,300,-160,270,-160\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,-160,300,-160,300,-120,270,-120\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,250,-100,250,-100,290,-240,290\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,120,-100,120,-100,250,-240,250\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,120,230,120,230,240,100,240\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,160,-60,160,-60,200,-100,200\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,120,-60,120,-60,160,-100,160\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,160,-20,160,-20,200,-60,200\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,120,-20,120,-20,160,-60,160\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-20,120,100,120,100,240,-20,240\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,280,-20,280,-20,290,-100,290\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"2,590,-160,1\"/><ElementDef_2 data=\"1,-290,-50,2\"/><ElementDef_3 data=\"2,270,-50,4\"/><NumStamps data=\"74\"/><StampDef_1 data=\"2,-232,125\"/><StampDef_2 data=\"3,-177,126\"/><StampDef_3 data=\"3,-92,126\"/><StampDef_4 data=\"3,-6,125\"/><StampDef_5 data=\"3,79,126\"/><StampDef_6 data=\"3,166,126\"/><StampDef_7 data=\"4,222,125\"/><StampDef_8 data=\"5,-128,102\"/><StampDef_9 data=\"7,-203,75\"/><StampDef_10 data=\"13,-202,100\"/><StampDef_11 data=\"92,-157,68\"/><StampDef_12 data=\"11,-185,103\"/><StampDef_13 data=\"43,-228,110\"/><StampDef_14 data=\"41,-211,124\"/><StampDef_15 data=\"6,151,98\"/><StampDef_16 data=\"10,-88,106\"/><StampDef_17 data=\"91,97,65\"/><StampDef_18 data=\"7,75,104\"/><StampDef_19 data=\"12,55,112\"/><StampDef_20 data=\"41,208,105\"/><StampDef_21 data=\"8,-39,110\"/><StampDef_22 data=\"32,-221,158\"/><StampDef_23 data=\"34,-159,189\"/><StampDef_24 data=\"35,-118,147\"/><StampDef_25 data=\"35,-219,233\"/><StampDef_26 data=\"35,-114,235\"/><StampDef_27 data=\"35,28,197\"/><StampDef_28 data=\"37,-4,151\"/><StampDef_29 data=\"36,-118,183\"/><StampDef_30 data=\"36,83,170\"/><StampDef_31 data=\"32,79,223\"/><StampDef_32 data=\"32,209,151\"/><StampDef_33 data=\"36,180,183\"/><StampDef_34 data=\"35,120,152\"/><StampDef_35 data=\"36,-53,170\"/><StampDef_36 data=\"35,137,223\"/><StampDef_37 data=\"33,210,268\"/><StampDef_38 data=\"34,12,267\"/><StampDef_39 data=\"32,-57,233\"/><StampDef_40 data=\"35,149,251\"/><StampDef_41 data=\"35,83.05000000000001,276\"/><StampDef_42 data=\"34,-185,279\"/><StampDef_43 data=\"36,-131,267\"/><StampDef_44 data=\"36,-265,270\"/><StampDef_45 data=\"32,272,231\"/><StampDef_46 data=\"35,-276,243\"/><StampDef_47 data=\"33,-266,186\"/><StampDef_48 data=\"32,-253,7\"/><StampDef_49 data=\"33,-274,38\"/><StampDef_50 data=\"35,-256,74\"/><StampDef_51 data=\"36,-276,140\"/><StampDef_52 data=\"36,-266,90\"/><StampDef_53 data=\"36,251,189\"/><StampDef_54 data=\"35,254,98\"/><StampDef_55 data=\"35,-179,-253\"/><StampDef_56 data=\"32,-260,-254\"/><StampDef_57 data=\"34,-220,-243\"/><StampDef_58 data=\"36,-205,-266\"/><StampDef_59 data=\"36,-263,-192\"/><StampDef_60 data=\"37,-255.5,-144\"/><StampDef_61 data=\"33,-280.5,-172\"/><StampDef_62 data=\"33,269,34\"/><StampDef_63 data=\"32,259,-179\"/><StampDef_64 data=\"36,242,77\"/><StampDef_65 data=\"36,-85,-255\"/><StampDef_66 data=\"34,-46,-265\"/><StampDef_67 data=\"35,-35,-240\"/><StampDef_68 data=\"34,120,-259\"/><StampDef_69 data=\"32,149,-243\"/><StampDef_70 data=\"34,199,-265\"/><StampDef_71 data=\"36,253,-249\"/><StampDef_72 data=\"36,43,-258\"/><StampDef_73 data=\"36,96,-241\"/><StampDef_74 data=\"36,5,-269\"/><NumLevelBlocks data=\"0\"/><NumInitialBlocks data=\"7\"/><InitialBlockDef_1 data=\"-7.004657008698117,2.9955659964342924,-0.00003389789677704374,1,0,0,0,false,30\"/><InitialBlockDef_2 data=\"6.666921356835889,3.0021500959401877,0.003563752508368783,1,0,0,0,false,30\"/><InitialBlockDef_3 data=\"-4.767457566405463,3.0046698633972686,-0.0003313465287832898,1,0,0,0,false,31\"/><InitialBlockDef_4 data=\"-2.5403837591456404,3.002027525323671,-0.002925995129961732,1,0,0,0,false,32\"/><InitialBlockDef_5 data=\"-0.00497064847081341,3.002719544707326,0.002165048180150129,1,0,0,0,false,33\"/><InitialBlockDef_6 data=\"2.196109115873994,3.002131877584406,-0.000582037947775893,1,0,0,0,false,34\"/><InitialBlockDef_7 data=\"4.433333405105383,2.671666666662504,-4.165574411969396e-12,1,0,0,0,false,35\"/><ScrollLimits data=\"-275,275,-275,275,0,0\"/><Score data=\"10000\" /></BalanceLevel>"; } function (_arg1:String):void{ var _local2:*; var _local3:*; var _local4:Array; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:XML; var _local9:Number; var _local10:Object; var _local11:Boolean; var _local12:Point; var _local13:Array; var _local14:Boolean; var _local15:Number; var _local16:Object; var _local17:Array; _local2 = 0; _local3 = 0; _local8 = new XML(); _local8 = new XML( [_arg1]); levelStaticBlocks = new Array(); = new Array(); levelStaticMCBlocks = new Array(); waterFlag = new Array(); levelStamps = new Array(); _local9 = Number(_local8["NumStaticBlocks"].@data); _local2 = 0; while (_local2 < _local9) { _local4 = _local8[("BlockDef_" + (_local2 + 1))].@data.split(","); _local5 = _local8[("BlockDef_" + (_local2 + 1))].@water; if (_local8[("BlockDef_" + (_local2 + 1))].@nodrag != undefined){ _local6 = _local8[("BlockDef_" + (_local2 + 1))].@nodrag; } else { _local6 = 0; }; if (_local8[("BlockDef_" + (_local2 + 1))].@deadzone != undefined){ _local7 = _local8[("BlockDef_" + (_local2 + 1))].@deadzone; } else { _local7 = 0; }; _local13 = new Array(); _local3 = 0; while (_local3 < _local4.length) { _local12 = new Point(_local4[_local3], _local4[(_local3 + 1)]); _local13.push(_local12); _local3 = (_local3 + 2); }; levelStaticBlocks.push(_local13); if (_local5 == 0){ waterFlag.push(false); } else { waterFlag.push(true); }; if (_local6 == 0){ noDragFlag.push(false); } else { noDragFlag.push(true); }; if (_local7 == 0){ deadZoneFlag.push(false); } else { deadZoneFlag.push(true); }; _local2++; }; if (_local8["NumElementBlocks"]){ _local9 = Number(_local8["NumElementBlocks"].@data); _local2 = 0; while (_local2 < _local9) { _local4 = _local8[("ElementDef_" + (_local2 + 1))].@data.split(","); _local10 = new Object(); _local10.object = Number(_local4[0]); _local10.x = _local4[1]; _local10.y = _local4[2]; if (_local4[0] == 4){ _local10.message = _local4[3]; }; if ((((((_local4[0] == 1)) || ((_local4[0] == 2)))) || ((_local4[0] == 5)))){ if (_local4[3] != undefined){ _local10.frame = Number(_local4[3]); } else { _local10.frame = 1; }; }; levelStaticMCBlocks.push(_local10); _local2++; }; }; if (_local8["NumStamps"]){ _local9 = Number(_local8["NumStamps"].@data); _local2 = 0; while (_local2 < _local9) { _local4 = _local8[("StampDef_" + (_local2 + 1))].@data.split(","); _local10 = new Object(); _local10.object = _local4[0]; _local10.x = _local4[1]; _local10.y = _local4[2]; levelStamps.push(_local10); _local2++; }; }; if (_local8["NumLevelBlocks"]){ rootLine.levelBlocks.clearLevelBlocks(); _local9 = Number(_local8["NumLevelBlocks"].@data); _local11 = false; _local2 = 0; while (_local2 < _local9) { _local4 = _local8[("LevelBlockDef_" + (_local2 + 1))].@data.split(","); if (_local4[2] == 0){ _local11 = false; } else { _local11 = true; }; _local14 = false; _local15 = 0; if (_local4[4] != undefined){ if (_local4[4] == 1){ _local14 = true; _local15 = _local4[5]; }; }; rootLine.levelBlocks.addLevelBlock(_local4[0], _local4[1], _local11, _local14, _local15, _local4[3]); _local2++; }; }; blocksInPlay = new Array(); if (_local8["NumInitialBlocks"]){ _local9 = Number(_local8["NumInitialBlocks"].@data); _local11 = false; _local2 = 0; while (_local2 < _local9) { _local4 = _local8[("InitialBlockDef_" + (_local2 + 1))].@data.split(","); _local16 = new Object(); _local16.x = _local4[0]; _local16.y = _local4[1]; _local16.rotation = _local4[2]; _local16.material = _local4[3]; if (_local4[4] == 0){ _local16.magnetic = false; } else { _local16.magnetic = true; }; if (_local4[5] == 0){ _local16.preDefinedBlock = false; } else { _local16.preDefinedBlock = true; }; _local16.preDefinedBlockID = _local4[6]; if (_local4[7] == 0){ _local16.heavy = false; } else { _local16.heavy = true; }; _local16.shapeID = _local4[8]; blocksInPlay.push(_local16); _local2++; }; }; if (_local8["ScrollLimits"] != undefined){ _local17 = new Array(); _local17 = _local8["ScrollLimits"].@data.split(","); if (_local17[4]){ } else { _local17[4] = 0; _local17[5] = 0; }; scrollEdges = new Array(Number(_local17[2]), Number(_local17[1]), Number(_local17[3]), Number(_local17[0]), Number(_local17[4]), Number(_local17[5])); }; if (_local8["Score"] != undefined){ levelScore = Number(_local8["Score"].@data); } else { levelScore = 10000; }; = true; (); } public function loadLevel(_arg1:String):void{ = false; levelStaticBlocks = new Array(); = new Array(); levelStaticMCBlocks = new Array(); waterFlag = new Array(); noDragFlag = new Array(); deadZoneFlag = new Array(); levelStamps = new Array(); blocksInPlay = new Array(); (_arg1); } public function unlockNextLevel(){ selectedLevel++; NitromeGame.setLevelUnlocked(selectedLevel); } public function loadSelectedLevel(){ var _local1:*; _local1 = NitromeGame.getLevelName(selectedLevel); loadLevel(_local1); } function (){ if (!titleScreen){ rootLine.gotoAndPlay("play_game"); } else { NitromeGame.transition.doTween("show_title"); }; } public static function closeHelp(){ rootLine.inGameHelpMessage.play(); } public static function closeLevelComplete(){ rootLine.levelCompleteMessage.play(); } public static function pauseGame(){ BalanceGame.paused = true; rootLine.pauseMessage.play(); } public static function endGame(){ rootLine.myBalanceGame.stopGame(); } public static function startLevel(){ rootLine.startMessage.play(); } static function setRootLine(_arg1:Object){ rootLine = _arg1; } public static function continueGame(){ rootLine.pauseMessage.play(); } public static function levelComplete(){ if (selectedLevel < 32){ rootLine.play(); } else { NitromeGame.transition.doTween("congrats"); }; } public static function showHelp(){ BalanceGame.paused = true; rootLine.inGameHelpMessage.play(); } public static function closeHint(){ rootLine.helpDisplay.play(); } } }//package com.nitrome.balancerSection 87//Fishy (com.nitrome.balancer.Fishy) package com.nitrome.balancer { import flash.display.*; public class Fishy extends MovieClip { var water:Block; var :Number; var :Boolean;// = true public var fishClip:MovieClip; var :Number;// = 0 var :Boolean;// = true static var FRYDELAY:Number = 30; public function Fishy(){ = true; = true; = -(Infinity); = 0; super(); this.gotoAndPlay(Math.floor((Math.random() * 55))); } function (){ = false; this.stop(); this.fishClip.gotoAndStop("dead"); } function setup(_arg1:Block){ = (_arg1.sprite.y + _arg1.sprite.getBounds(_arg1.sprite).top); this.water = _arg1; } function update(_arg1:Boolean){ if (water == null){ setup(this.parent["water"]); } else { if ( == false){ if (){ this.fishClip.deadFish.gotoAndPlay(Math.floor((Math.random() * 10))); = false; }; if ( > (FRYDELAY + 15)){ if (this.parent.y > ){ this.parent.y--; }; } else { ++; }; }; if ( == true){ if (((water.electrified) && (_arg1))){ if ( >= FRYDELAY){ (); } else { ++; }; } else { = 0; }; }; }; } } }//package com.nitrome.balancerSection 88//LevelBlocks_game (com.nitrome.balancer.LevelBlocks_game) package com.nitrome.balancer { import flash.display.*; import flash.events.*; public class LevelBlocks_game extends MovieClip { var levelBlocks:Array; var rootLine:MovieClip; public function LevelBlocks_game(){ levelBlocks = new Array(); } function clearLevelBlocks(){ levelBlocks = new Array(); } function addLevelBlock(_arg1:Number, _arg2:Number, _arg3:Boolean, _arg4:Boolean=false, _arg5:Number=0, _arg6:Number=0){ var _local7:Object; _local7 = new Object(); _local7.shapeID = _arg1; _local7.material = _arg2; _local7.sticky = _arg3; _local7.preDefinedBlock = _arg4; _local7.preDefinedBlockID = _arg5; _local7.rotation = _arg6; levelBlocks.push(_local7); } } }//package com.nitrome.balancerSection 89//LevelElementDefs (com.nitrome.balancer.LevelElementDefs) package com.nitrome.balancer { public class LevelElementDefs { static var BLOCK62:Array = new Array(34, Block.METAL, false); static var material:Array = new Array(Block.METAL, Block.METAL, Block.WOOD, Block.WOOD, Block.METAL); static var ALLBLOCKS:Array = new Array(BLOCK1, BLOCK2, BLOCK3, BLOCK4, BLOCK5, BLOCK6, BLOCK7, BLOCK8, BLOCK9, BLOCK10, BLOCK11, BLOCK12, BLOCK13, BLOCK14, BLOCK15, BLOCK16, BLOCK17, BLOCK18, BLOCK19, BLOCK20, BLOCK21, BLOCK22, BLOCK23, BLOCK24, BLOCK25, BLOCK26, BLOCK27, BLOCK28, BLOCK29, BLOCK30, BLOCK31, BLOCK32, BLOCK33, BLOCK34, BLOCK35, BLOCK36, BLOCK37, BLOCK38, BLOCK39, BLOCK40, BLOCK41, BLOCK42, BLOCK43, BLOCK44, BLOCK45, BLOCK46, BLOCK47, BLOCK48, BLOCK49, BLOCK50, BLOCK51, BLOCK52, BLOCK53, BLOCK54, BLOCK55, BLOCK56, BLOCK57, BLOCK58, BLOCK59, BLOCK60, BLOCK61, BLOCK62, BLOCK63); static var BLOCK10:Array = new Array(6, Block.WOOD, false); static var BLOCK11:Array = new Array(6, Block.METAL, false); static var BLOCK13:Array = new Array(6, Block.WOOD, false); static var BLOCK14:Array = new Array(7, Block.WOOD, false); static var BLOCK15:Array = new Array(7, Block.WOOD, false); static var BLOCK16:Array = new Array(7, Block.WEIGHTLESS, false); static var BLOCK17:Array = new Array(7, Block.BALLOON, false); static var BLOCK18:Array = new Array(7, Block.BALLOON, true); static var BLOCK19:Array = new Array(7, Block.RATTLER, false); static var BLOCK12:Array = new Array(6, Block.WOOD, false); static var BLOCK1:Array = new Array(3, Block.METAL, false); static var BLOCK2:Array = new Array(3, Block.WOOD, false); static var BLOCK3:Array = new Array(7, Block.METAL, false); static var BLOCK4:Array = new Array(7, Block.WOOD, false); static var BLOCK5:Array = new Array(7, Block.METAL, false); static var BLOCK6:Array = new Array(7, Block.WOOD, false); static var BLOCK7:Array = new Array(7, Block.WOOD, true); static var BLOCK8:Array = new Array(4, Block.WOOD, false); static var BLOCK9:Array = new Array(5, Block.WOOD, false); static var BLOCK22:Array = new Array(7, Block.FOODBLOCK, false); static var BLOCK23:Array = new Array(7, Block.TESLA, false); static var BLOCK24:Array = new Array(24, Block.HEAVY, false); static var BLOCK25:Array = new Array(7, Block.METAL, true); static var BLOCK26:Array = new Array(7, Block.SCREW, false); static var BLOCK20:Array = new Array(7, Block.WHEELBLOCKR, false); static var BLOCK28:Array = new Array(22, Block.METAL, false); static var BLOCK29:Array = new Array(19, Block.METAL, false); static var BLOCK27:Array = new Array(28, Block.ANTIDEAD, false); static var shapeID:Array = new Array(20, 20, 21, 29, 7); static var BLOCK21:Array = new Array(7, Block.WHEELBLOCKL, false); static var BLOCK30:Array = new Array(9, Block.METAL, false); static var BLOCK31:Array = new Array(11, Block.METAL, false); static var BLOCK32:Array = new Array(4, Block.METAL, false); static var BLOCK33:Array = new Array(5, Block.METAL, false); static var BLOCK34:Array = new Array(1, Block.METAL, false); static var BLOCK35:Array = new Array(2, Block.METAL, false); static var BLOCK36:Array = new Array(13, Block.METAL, false); static var BLOCK37:Array = new Array(12, Block.METAL, false); static var BLOCK38:Array = new Array(27, Block.METAL, false); static var BLOCK39:Array = new Array(26, Block.METAL, false); static var BLOCK40:Array = new Array(22, Block.WOOD, true); static var BLOCK42:Array = new Array(3, Block.METAL, true); static var BLOCK43:Array = new Array(22, Block.METAL, true); static var BLOCK44:Array = new Array(6, Block.METAL, true); static var BLOCK45:Array = new Array(5, Block.METAL, true); static var BLOCK46:Array = new Array(4, Block.METAL, true); static var BLOCK47:Array = new Array(1, Block.METAL, true); static var BLOCK41:Array = new Array(6, Block.WOOD, true); static var BLOCK49:Array = new Array(12, Block.METAL, true); static var STAMPLAYERS:Array = new Array(1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0); static var BLOCK48:Array = new Array(2, Block.METAL, true); static var sensor:Array = new Array(false, false, false, true, false); static var BLOCK51:Array = new Array(11, Block.METAL, true); static var BLOCK53:Array = new Array(12, Block.WOOD, false); static var BLOCK55:Array = new Array(11, Block.WOOD, true); static var BLOCK50:Array = new Array(9, Block.METAL, true); static var BLOCK52:Array = new Array(27, Block.WOOD, false); static var BLOCK54:Array = new Array(19, Block.WOOD, false); static var BLOCK56:Array = new Array(25, Block.METAL, false); static var BLOCK58:Array = new Array(30, Block.METAL, false); static var sticky:Array = new Array(false, false, false, false, false); static var BLOCK63:Array = new Array(35, Block.METAL, false); static var TESLADISTANCE = 9; static var BLOCK60:Array = new Array(32, Block.METAL, false); static var BLOCK61:Array = new Array(33, Block.METAL, false); static var BLOCK57:Array = new Array(7, Block.WOOD, true); static var BLOCK59:Array = new Array(31, Block.METAL, false); } }//package com.nitrome.balancerSection 90//Spark (com.nitrome.balancer.Spark) package com.nitrome.balancer { import flash.display.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class Spark extends MovieClip { var live:Boolean;// = true var path:Array; var dying:Boolean;// = false var :b2Body; var :Number;// = 0 var :Block; var :Block; var positionInPath:Number;// = 0 var :b2Body; var ;// = 0 var ;// = 0 var :Number;// = 0 var ;// = 0 var ;// = 30 var blockList:Array; var m_world:b2World; static var MAXYSPEED = 8; static var MAXXSPEED = 8; static var ACCELLERATION = 2; public function Spark(){ = 0; = 0; = 0; = 0; live = true; dying = false; positionInPath = 0; = 30; = 0; super(); addFrameScript(0, frame1, 1194, ); path = new Array(); } function (){ stop(); } function setEndBlock(_arg1:b2Body){ this. = _arg1.GetUserData().blockRef; this. = _arg1; } function setWorld(_arg1:b2World){ this.m_world = _arg1; } function (_arg1:b2Body){ var _local2:b2Body; _local2 = m_world.m_bodyList; while (_local2) { if (((_local2) && (_local2.GetUserData()))){ if (_local2 == _arg1){ return (_local2); }; }; _local2 = _local2.m_next; }; return (_arg1); } function frame1(){ stop(); } function (){ var _local1:b2Body; if (path.length == 0){ path = blockList; positionInPath = 0; } else { positionInPath++; }; if (positionInPath == path.length){ (); return; }; _local1 = path[positionInPath]; = (_local1.GetWorldCenter().x * 30); = (_local1.GetWorldCenter().y * 30); = ( + (Math.floor((Math.random() * 10)) - 5)); = ( + (Math.floor((Math.random() * 10)) - 5)); = 0; } function setBlockList(_arg1:Array){ this.blockList = _arg1; } function setStartBlock(_arg1:b2Body){ this. = _arg1.GetUserData().blockRef; this. = _arg1; (); } function fizzleOut(){ dying = true; } function update(){ var _local1:Boolean; var _local2:Boolean; if (dying){ this.play(); if (this.currentFrame > 40){ live = false; }; }; ++; _local1 = false; _local2 = false; if ( > x){ = ( + ACCELLERATION); if ( > MAXXSPEED){ = MAXXSPEED; }; x = (x + ); if (Math.abs((x - )) <= (MAXXSPEED * 2)){ _local1 = true; }; }; if ( < x){ = ( - ACCELLERATION); if ( < -(MAXXSPEED)){ = -(MAXXSPEED); }; x = (x + ); if (Math.abs((x - )) <= (MAXXSPEED * 2)){ _local1 = true; }; }; if ( > y){ = ( + ACCELLERATION); if ( > MAXYSPEED){ = MAXYSPEED; }; y = (y + ); if (Math.abs((y - )) <= (MAXYSPEED * 2)){ _local2 = true; }; }; if ( < y){ = ( - ACCELLERATION); if ( < -(MAXYSPEED)){ = -(MAXYSPEED); }; y = (y + ); if (Math.abs((y - )) <= (MAXYSPEED * 2)){ _local2 = true; }; }; if (((((((_local1) || ((x == )))) && (((_local2) || ((y == )))))) || (( >= )))){ (); }; } function (){ live = false; } function (_arg1:b2Body):Boolean{ var _local2:int; var _local3:Boolean; _local3 = false; _local2 = 0; while (_local2 < path.length) { if (path[_local2] == _arg1){ _local3 = true; break; }; _local2++; }; return (_local3); } } }//package com.nitrome.balancerSection 91//ArmorButton (com.nitrome.game.ArmorButton) package com.nitrome.game { import flash.display.*; public dynamic class ArmorButton extends MovieClip { } }//package com.nitrome.gameSection 92//BackToTitleButton (com.nitrome.game.BackToTitleButton) package com.nitrome.game { import flash.events.*; import flash.utils.*; public class BackToTitleButton extends SimpleButton { public var __setPropDict:Dictionary; public var __id3_:BalancerFont; public function BackToTitleButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); } function frame10(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function (){ try { __id3_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id3_.align = "center"; __id3_.align_vert = "center"; __id3_.color = 0xCCCCCC; __id3_.id = "None"; __id3_.line_spacing = 18; __id3_.text = "Back"; __id3_.tracking = 0; try { __id3_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame15(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.transition.doTween("title_screen"); } function (){ try { __id3_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id3_.align = "center"; __id3_.align_vert = "center"; __id3_.color = 0xFFFFFF; __id3_.id = "None"; __id3_.line_spacing = 18; __id3_.text = "Back"; __id3_.tracking = 0; try { __id3_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package com.nitrome.gameSection 93//BalancerFont (com.nitrome.game.BalancerFont) package com.nitrome.game { public class BalancerFont extends TextComponent { public function BalancerFont(){ _tracking = 0; _line_spacing = 18; _id = "None"; } override public function get id():String{ return (_id); } override public function set id(_arg1:String){ _id = _arg1; } override public function set tracking(_arg1:int){ _tracking = _arg1; } override protected function getClassNameFromChar(_arg1:String):String{ if (_arg1 == "Space"){ return ("SPACE"); }; if (_arg1 == "."){ return ("STOP"); }; if (_arg1 == "?"){ return ("QUESTION"); }; if (_arg1 == ","){ return ("COMMA"); }; if (_arg1 == "!"){ return ("EXCLAMATION"); }; if (_arg1 == "\\"){ return ("BACKSLASH"); }; if (_arg1 == "/"){ return ("FORWARDSLASH"); }; if (_arg1 == "="){ return ("EQUALS"); }; if (_arg1 == "+"){ return ("PLUS"); }; if (_arg1 == "("){ return ("LEFTBRACKET"); }; if (_arg1 == ")"){ return ("RIGHTBRACKET"); }; if (_arg1 == "-"){ return ("HYPHEN"); }; if (_arg1 == "\""){ return ("QUOTES"); }; if (_arg1 == ":"){ return ("COLON"); }; if (_arg1 == "�"){ return ("POUND"); }; if (_arg1 == "_"){ return ("UNDERSCORE"); }; if (_arg1 == "@"){ return ("AT"); }; if (_arg1 == "'"){ return ("APOSTROPHE"); }; if ((((((_arg1 == "\n")) || ((_arg1 == "\r")))) || ((_arg1 == "|")))){ return ("NEWLINE"); }; return (_arg1); } override public function get tracking():int{ return (_tracking); } override public function set line_spacing(_arg1:int){ _line_spacing = _arg1; } override public function get line_spacing():int{ return (_line_spacing); } } }//package com.nitrome.gameSection 94//CloseHelpButton (com.nitrome.game.CloseHelpButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class CloseHelpButton extends SimpleButton { public var __id33_:BalancerFont; public var __setPropDict:Dictionary; public function CloseHelpButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function (){ try { __id33_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id33_.align = "center"; __id33_.align_vert = "center"; __id33_.color = 0xFFFFFF; __id33_.id = "None"; __id33_.line_spacing = 18; __id33_.text = "Resume"; __id33_.tracking = 0; try { __id33_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 1)) && ((int(__setPropDict[__id33_]) <= 10))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 11)) && ((int(__setPropDict[__id33_]) <= 20))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 11)) && ((int(__setPropDict[__id33_]) <= 20))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 11)) && ((int(__setPropDict[__id33_]) <= 20))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 1)) && ((int(__setPropDict[__id33_]) <= 10))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 11)) && ((int(__setPropDict[__id33_]) <= 20))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 11)) && ((int(__setPropDict[__id33_]) <= 20))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 11)) && ((int(__setPropDict[__id33_]) <= 20))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 11)) && ((int(__setPropDict[__id33_]) <= 20))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 1)) && ((int(__setPropDict[__id33_]) <= 10))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 11)) && ((int(__setPropDict[__id33_]) <= 20))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 1)) && ((int(__setPropDict[__id33_]) <= 10))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 1)) && ((int(__setPropDict[__id33_]) <= 10))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 1)) && ((int(__setPropDict[__id33_]) <= 10))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 11)) && ((int(__setPropDict[__id33_]) <= 20))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 1)) && ((int(__setPropDict[__id33_]) <= 10))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 1)) && ((int(__setPropDict[__id33_]) <= 10))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 1)) && ((int(__setPropDict[__id33_]) <= 10))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 1)) && ((int(__setPropDict[__id33_]) <= 10))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 11)) && ((int(__setPropDict[__id33_]) <= 20))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function (){ try { __id33_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id33_.align = "center"; __id33_.align_vert = "center"; __id33_.color = 0xCCCCCC; __id33_.id = "None"; __id33_.line_spacing = 18; __id33_.text = "Resume"; __id33_.tracking = 0; try { __id33_["componentInspectorSetting"] = false; } catch(e:Error) { }; } override public function onClick(_arg1:MouseEvent):void{ Controller.closeHelp(); } } }//package com.nitrome.gameSection 95//CongratulationsSubmitScoreButton (com.nitrome.game.CongratulationsSubmitScoreButton) package com.nitrome.game { import flash.utils.*; public dynamic class CongratulationsSubmitScoreButton extends SubmitScoreButton { public var __setPropDict:Dictionary; public var __id4_:BalancerFont; public function CongratulationsSubmitScoreButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); } function (){ try { __id4_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id4_.align = "center"; __id4_.align_vert = "center"; __id4_.color = 0xCCCCCC; __id4_.id = "None"; __id4_.line_spacing = 18; __id4_.text = "Submit Score"; __id4_.tracking = 0; try { __id4_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { __id4_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id4_.align = "center"; __id4_.align_vert = "center"; __id4_.color = 0xFFFFFF; __id4_.id = "None"; __id4_.line_spacing = 18; __id4_.text = "Submit Score"; __id4_.tracking = 0; try { __id4_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame; (); }; } } }//package com.nitrome.gameSection 96//ContinueGameButton (com.nitrome.game.ContinueGameButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class ContinueGameButton extends SimpleButton { public var __id21_:BalancerFont; public var __setPropDict:Dictionary; public function ContinueGameButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function (){ try { __id21_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id21_.align = "center"; __id21_.align_vert = "center"; __id21_.color = 0xCCCCCC; __id21_.id = "None"; __id21_.line_spacing = 18; __id21_.text = "Resume"; __id21_.tracking = 0; try { __id21_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { __id21_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id21_.align = "center"; __id21_.align_vert = "center"; __id21_.color = 0xFFFFFF; __id21_.id = "None"; __id21_.line_spacing = 18; __id21_.text = "Resume"; __id21_.tracking = 0; try { __id21_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 1)) && ((int(__setPropDict[__id21_]) <= 10))))))){ __setPropDict[__id21_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 11)) && ((int(__setPropDict[__id21_]) <= 20))))))){ __setPropDict[__id21_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 11)) && ((int(__setPropDict[__id21_]) <= 20))))))){ __setPropDict[__id21_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 11)) && ((int(__setPropDict[__id21_]) <= 20))))))){ __setPropDict[__id21_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 1)) && ((int(__setPropDict[__id21_]) <= 10))))))){ __setPropDict[__id21_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 11)) && ((int(__setPropDict[__id21_]) <= 20))))))){ __setPropDict[__id21_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 11)) && ((int(__setPropDict[__id21_]) <= 20))))))){ __setPropDict[__id21_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 11)) && ((int(__setPropDict[__id21_]) <= 20))))))){ __setPropDict[__id21_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 11)) && ((int(__setPropDict[__id21_]) <= 20))))))){ __setPropDict[__id21_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 1)) && ((int(__setPropDict[__id21_]) <= 10))))))){ __setPropDict[__id21_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 11)) && ((int(__setPropDict[__id21_]) <= 20))))))){ __setPropDict[__id21_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 1)) && ((int(__setPropDict[__id21_]) <= 10))))))){ __setPropDict[__id21_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 1)) && ((int(__setPropDict[__id21_]) <= 10))))))){ __setPropDict[__id21_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 1)) && ((int(__setPropDict[__id21_]) <= 10))))))){ __setPropDict[__id21_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 1)) && ((int(__setPropDict[__id21_]) <= 10))))))){ __setPropDict[__id21_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 1)) && ((int(__setPropDict[__id21_]) <= 10))))))){ __setPropDict[__id21_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 1)) && ((int(__setPropDict[__id21_]) <= 10))))))){ __setPropDict[__id21_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 11)) && ((int(__setPropDict[__id21_]) <= 20))))))){ __setPropDict[__id21_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 11)) && ((int(__setPropDict[__id21_]) <= 20))))))){ __setPropDict[__id21_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 1)) && ((int(__setPropDict[__id21_]) <= 10))))))){ __setPropDict[__id21_] = currentFrame; (); }; } override public function onClick(_arg1:MouseEvent):void{ Controller.continueGame(); } } }//package com.nitrome.gameSection 97//CreditsButton (com.nitrome.game.CreditsButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class CreditsButton extends SimpleButton { public var __setPropDict:Dictionary; public var __id8_:BalancerFont; public function CreditsButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); } function (){ try { __id8_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id8_.align = "center"; __id8_.align_vert = "center"; __id8_.color = 0xFFFFFF; __id8_.id = "None"; __id8_.line_spacing = 18; __id8_.text = "Credits"; __id8_.tracking = 0; try { __id8_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function (){ try { __id8_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id8_.align = "center"; __id8_.align_vert = "center"; __id8_.color = 0xCCCCCC; __id8_.id = "None"; __id8_.line_spacing = 18; __id8_.text = "Credits"; __id8_.tracking = 0; try { __id8_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame19(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } override public function onClick(_arg1:MouseEvent):void{ Controller.endGame(); NitromeGame.transition.doTween("credits"); } } }//package com.nitrome.gameSection 98//EndGameButton (com.nitrome.game.EndGameButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class EndGameButton extends SimpleButton { public var __id22_:BalancerFont; public var __setPropDict:Dictionary; public function EndGameButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function (){ try { __id22_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id22_.align = "center"; __id22_.align_vert = "center"; __id22_.color = 0xCCCCCC; __id22_.id = "None"; __id22_.line_spacing = 18; __id22_.text = "Quit"; __id22_.tracking = 0; try { __id22_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 1)) && ((int(__setPropDict[__id22_]) <= 10))))))){ __setPropDict[__id22_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 11)) && ((int(__setPropDict[__id22_]) <= 20))))))){ __setPropDict[__id22_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 11)) && ((int(__setPropDict[__id22_]) <= 20))))))){ __setPropDict[__id22_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 11)) && ((int(__setPropDict[__id22_]) <= 20))))))){ __setPropDict[__id22_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 1)) && ((int(__setPropDict[__id22_]) <= 10))))))){ __setPropDict[__id22_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 11)) && ((int(__setPropDict[__id22_]) <= 20))))))){ __setPropDict[__id22_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 11)) && ((int(__setPropDict[__id22_]) <= 20))))))){ __setPropDict[__id22_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 11)) && ((int(__setPropDict[__id22_]) <= 20))))))){ __setPropDict[__id22_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 11)) && ((int(__setPropDict[__id22_]) <= 20))))))){ __setPropDict[__id22_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 1)) && ((int(__setPropDict[__id22_]) <= 10))))))){ __setPropDict[__id22_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 11)) && ((int(__setPropDict[__id22_]) <= 20))))))){ __setPropDict[__id22_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 1)) && ((int(__setPropDict[__id22_]) <= 10))))))){ __setPropDict[__id22_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 1)) && ((int(__setPropDict[__id22_]) <= 10))))))){ __setPropDict[__id22_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 1)) && ((int(__setPropDict[__id22_]) <= 10))))))){ __setPropDict[__id22_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 11)) && ((int(__setPropDict[__id22_]) <= 20))))))){ __setPropDict[__id22_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 1)) && ((int(__setPropDict[__id22_]) <= 10))))))){ __setPropDict[__id22_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 1)) && ((int(__setPropDict[__id22_]) <= 10))))))){ __setPropDict[__id22_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 1)) && ((int(__setPropDict[__id22_]) <= 10))))))){ __setPropDict[__id22_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 11)) && ((int(__setPropDict[__id22_]) <= 20))))))){ __setPropDict[__id22_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 1)) && ((int(__setPropDict[__id22_]) <= 10))))))){ __setPropDict[__id22_] = currentFrame; (); }; } override public function onClick(_arg1:MouseEvent):void{ var e = _arg1; NitromeGame.transition.doTween(function (){ Controller.endGame(); NitromeGame.timeline.gotoAndStop("title_screen"); }); } function (){ try { __id22_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id22_.align = "center"; __id22_.align_vert = "center"; __id22_.color = 0xFFFFFF; __id22_.id = "None"; __id22_.line_spacing = 18; __id22_.text = "Quit"; __id22_.tracking = 0; try { __id22_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package com.nitrome.gameSection 99//ExitToLevelSelectButton (com.nitrome.game.ExitToLevelSelectButton) package com.nitrome.game { import flash.display.*; public dynamic class ExitToLevelSelectButton extends MovieClip { } }//package com.nitrome.gameSection 100//FxToggle (com.nitrome.game.FxToggle) package com.nitrome.game { import flash.events.*; public class FxToggle extends SimpleButton { public function FxToggle(){ if (!NitromeGame.sfx){ gotoAndStop("_off_up"); } else { gotoAndStop("_on_up"); }; } override protected function updateGraphic():void{ if (over){ if (NitromeGame.sound_manager.sfx){ gotoAndStop("_on_over"); } else { if (!NitromeGame.sound_manager.sfx){ gotoAndStop("_off_over"); }; }; } else { if (NitromeGame.sound_manager.sfx){ gotoAndStop("_on_up"); } else { if (!NitromeGame.sound_manager.sfx){ gotoAndStop("_off_up"); }; }; }; } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.sound_manager.toggleSfx(); updateGraphic(); } } }//package com.nitrome.gameSection 101//HelpButton (com.nitrome.game.HelpButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class HelpButton extends SimpleButton { public var __id6_:BalancerFont; public var __setPropDict:Dictionary; public function HelpButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function (){ try { __id6_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id6_.align = "center"; __id6_.align_vert = "center"; __id6_.color = 0xCCCCCC; __id6_.id = "None"; __id6_.line_spacing = 18; __id6_.text = "Help"; __id6_.tracking = 0; try { __id6_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { __id6_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id6_.align = "center"; __id6_.align_vert = "center"; __id6_.color = 0xFFFFFF; __id6_.id = "None"; __id6_.line_spacing = 18; __id6_.text = "Help"; __id6_.tracking = 0; try { __id6_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame; (); }; } override public function onClick(_arg1:MouseEvent):void{ Controller.endGame(); NitromeGame.transition.doTween("help"); } } }//package com.nitrome.gameSection 102//InGameHelpButton (com.nitrome.game.InGameHelpButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; public class InGameHelpButton extends SimpleButton { override public function onClick(_arg1:MouseEvent):void{ Controller.showHelp(); } } }//package com.nitrome.gameSection 103//IngameSubmitScoreButton (com.nitrome.game.IngameSubmitScoreButton) package com.nitrome.game { import flash.utils.*; public dynamic class IngameSubmitScoreButton extends SubmitScoreButton { public var __setPropDict:Dictionary; public var __id25_:NumbskullFont; public function IngameSubmitScoreButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); } function frame10(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 1)) && ((int(__setPropDict[__id25_]) <= 10))))))){ __setPropDict[__id25_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 11)) && ((int(__setPropDict[__id25_]) <= 20))))))){ __setPropDict[__id25_] = currentFrame; (); }; } function (){ try { __id25_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id25_.align = "center"; __id25_.align_vert = "top"; __id25_.color = 11977954; __id25_.id = "None"; __id25_.line_spacing = 18; __id25_.text = "submit score"; __id25_.tracking = 0; try { __id25_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame18(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 11)) && ((int(__setPropDict[__id25_]) <= 20))))))){ __setPropDict[__id25_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 1)) && ((int(__setPropDict[__id25_]) <= 10))))))){ __setPropDict[__id25_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 1)) && ((int(__setPropDict[__id25_]) <= 10))))))){ __setPropDict[__id25_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 1)) && ((int(__setPropDict[__id25_]) <= 10))))))){ __setPropDict[__id25_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 1)) && ((int(__setPropDict[__id25_]) <= 10))))))){ __setPropDict[__id25_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 11)) && ((int(__setPropDict[__id25_]) <= 20))))))){ __setPropDict[__id25_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 11)) && ((int(__setPropDict[__id25_]) <= 20))))))){ __setPropDict[__id25_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 11)) && ((int(__setPropDict[__id25_]) <= 20))))))){ __setPropDict[__id25_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 11)) && ((int(__setPropDict[__id25_]) <= 20))))))){ __setPropDict[__id25_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 1)) && ((int(__setPropDict[__id25_]) <= 10))))))){ __setPropDict[__id25_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 11)) && ((int(__setPropDict[__id25_]) <= 20))))))){ __setPropDict[__id25_] = currentFrame; (); }; } function (){ try { __id25_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id25_.align = "center"; __id25_.align_vert = "top"; __id25_.color = 2574473; __id25_.id = "None"; __id25_.line_spacing = 18; __id25_.text = "submit score"; __id25_.tracking = 0; try { __id25_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame9(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 1)) && ((int(__setPropDict[__id25_]) <= 10))))))){ __setPropDict[__id25_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 1)) && ((int(__setPropDict[__id25_]) <= 10))))))){ __setPropDict[__id25_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 1)) && ((int(__setPropDict[__id25_]) <= 10))))))){ __setPropDict[__id25_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 11)) && ((int(__setPropDict[__id25_]) <= 20))))))){ __setPropDict[__id25_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 1)) && ((int(__setPropDict[__id25_]) <= 10))))))){ __setPropDict[__id25_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 11)) && ((int(__setPropDict[__id25_]) <= 20))))))){ __setPropDict[__id25_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 11)) && ((int(__setPropDict[__id25_]) <= 20))))))){ __setPropDict[__id25_] = currentFrame; (); }; } } }//package com.nitrome.gameSection 104//LevelStartButton (com.nitrome.game.LevelStartButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class LevelStartButton extends SimpleButton { private var :Boolean; public var numberField:BalancerFont; private var :Number; public var __setPropDict:Dictionary; public function LevelStartButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); = Number(name.substr(6)); = NitromeGame.getLevelUnlocked( ); useHandCursor = (buttonMode = ); this.addEventListener(Event.ENTER_FRAME, enterFrame); } public function addedToStage(_arg1:Event):void{ updateGraphic(); } function frame10(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } public function enterFrame(_arg1:Event):void{ updateGraphic(); this.removeEventListener(Event.ENTER_FRAME, enterFrame); } function frame4(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame; (); }; } function (){ try { numberField["componentInspectorSetting"] = true; } catch(e:Error) { }; numberField.align = "center"; numberField.align_vert = "center"; numberField.color = 0xFFFFFF; numberField.id = "None"; numberField.line_spacing = 18; numberField.text = "1"; numberField.tracking = 0; try { numberField["componentInspectorSetting"] = false; } catch(e:Error) { }; } override protected function updateGraphic():void{ if ( ){ if (over){ gotoAndStop("over"); } else { gotoAndStop("up"); }; } else { gotoAndStop("locked"); }; if (numberField){ numberField.text = String( ); numberField.visible = ; numberField.color = ((( ) && (over))) ? 0xFFFFFF : 0xCCCCCC; }; } override public function onClick(_arg1:MouseEvent):void{ var e = _arg1; if ( ){ NitromeGame.transition.doTween(function (){ NitromeGame.timeline.gotoAndStop("game"); Controller.selectedLevel = ; Score.value = 0; }); }; } } }//package com.nitrome.gameSection 105//LoadIndicator (com.nitrome.game.LoadIndicator) package com.nitrome.game { import flash.display.*; public class LoadIndicator extends MovieClip { public function LoadIndicator(_arg1:Number=0, _arg2:Number=0){ addFrameScript(6, frame7, 11, frame12); x = _arg1; y = _arg2; } public function ():void{ stop(); if (parent){ parent.removeChild(this); }; } function frame12(){ (); } public function finishedLoading():void{ gotoAndPlay("outAnimation"); } function frame7(){ gotoAndPlay("loop"); } } }//package com.nitrome.gameSection 106//MusicToggle (com.nitrome.game.MusicToggle) package com.nitrome.game { import flash.events.*; public class MusicToggle extends SimpleButton { public function MusicToggle(){ if (!NitromeGame.music){ gotoAndStop("_off_up"); } else { gotoAndStop("_on_up"); }; } override protected function updateGraphic():void{ if (over){ if (NitromeGame.sound_manager.music){ gotoAndStop("_on_over"); } else { if (!NitromeGame.sound_manager.music){ gotoAndStop("_off_over"); }; }; } else { if (NitromeGame.sound_manager.music){ gotoAndStop("_on_up"); } else { if (!NitromeGame.sound_manager.music){ gotoAndStop("_off_up"); }; }; }; } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.sound_manager.toggleMusic(); updateGraphic(); } } }//package com.nitrome.gameSection 107//NextLevelButton (com.nitrome.game.NextLevelButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class NextLevelButton extends SimpleButton { public var __setPropDict:Dictionary; public var __id0_:BalancerFont; public function NextLevelButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function (){ try { __id0_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id0_.align = "center"; __id0_.align_vert = "center"; __id0_.color = 0xCCCCCC; __id0_.id = "None"; __id0_.line_spacing = 18; __id0_.text = "Next Level"; __id0_.tracking = 0; try { __id0_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 10))))))){ __setPropDict[__id0_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 11)) && ((int(__setPropDict[__id0_]) <= 20))))))){ __setPropDict[__id0_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 11)) && ((int(__setPropDict[__id0_]) <= 20))))))){ __setPropDict[__id0_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 11)) && ((int(__setPropDict[__id0_]) <= 20))))))){ __setPropDict[__id0_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 10))))))){ __setPropDict[__id0_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 11)) && ((int(__setPropDict[__id0_]) <= 20))))))){ __setPropDict[__id0_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 11)) && ((int(__setPropDict[__id0_]) <= 20))))))){ __setPropDict[__id0_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 11)) && ((int(__setPropDict[__id0_]) <= 20))))))){ __setPropDict[__id0_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 10))))))){ __setPropDict[__id0_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 11)) && ((int(__setPropDict[__id0_]) <= 20))))))){ __setPropDict[__id0_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 10))))))){ __setPropDict[__id0_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 10))))))){ __setPropDict[__id0_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 10))))))){ __setPropDict[__id0_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 11)) && ((int(__setPropDict[__id0_]) <= 20))))))){ __setPropDict[__id0_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 11)) && ((int(__setPropDict[__id0_]) <= 20))))))){ __setPropDict[__id0_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 10))))))){ __setPropDict[__id0_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 10))))))){ __setPropDict[__id0_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 10))))))){ __setPropDict[__id0_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 10))))))){ __setPropDict[__id0_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 11)) && ((int(__setPropDict[__id0_]) <= 20))))))){ __setPropDict[__id0_] = currentFrame; (); }; } function (){ try { __id0_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id0_.align = "center"; __id0_.align_vert = "center"; __id0_.color = 0xFFFFFF; __id0_.id = "None"; __id0_.line_spacing = 18; __id0_.text = "Next Level"; __id0_.tracking = 0; try { __id0_["componentInspectorSetting"] = false; } catch(e:Error) { }; } override public function onClick(_arg1:MouseEvent):void{ Controller.closeLevelComplete(); } } }//package com.nitrome.gameSection 108//NitromeLink (com.nitrome.game.NitromeLink) package com.nitrome.game { import flash.display.*; import flash.events.*; import flash.net.*; public class NitromeLink extends SimpleButton { public function NitromeLink(){ this.addEventListener(MouseEvent.CLICK, ); } public function (_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.nitrome.com/"), "_blank"); } } }//package com.nitrome.gameSection 109//PauseButton (com.nitrome.game.PauseButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; public class PauseButton extends SimpleButton { override public function onClick(_arg1:MouseEvent):void{ Controller.pauseGame(); } } }//package com.nitrome.gameSection 110//PauseSubmitScoreButton (com.nitrome.game.PauseSubmitScoreButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class PauseSubmitScoreButton extends SimpleButton { public var __id5_:BalancerFont; public var __setPropDict:Dictionary; public function PauseSubmitScoreButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); if (Score.value == 0){ visible = false; }; } function (){ try { __id5_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id5_.align = "center"; __id5_.align_vert = "center"; __id5_.color = 0xFFFFFF; __id5_.id = "None"; __id5_.line_spacing = 18; __id5_.text = "Submit Score"; __id5_.tracking = 0; try { __id5_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame; (); }; } override public function onClick(_arg1:MouseEvent):void{ var e = _arg1; NitromeGame.transition.doTween(function (){ Controller.endGame(); NitromeGame.timeline.gotoAndStop("submit_score"); }); } function (){ try { __id5_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id5_.align = "center"; __id5_.align_vert = "center"; __id5_.color = 0xCCCCCC; __id5_.id = "None"; __id5_.line_spacing = 18; __id5_.text = "Submit Score"; __id5_.tracking = 0; try { __id5_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package com.nitrome.gameSection 111//PlayButton (com.nitrome.game.PlayButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class PlayButton extends SimpleButton { public var __setPropDict:Dictionary; public var __id2_:BalancerFont; public function PlayButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); } function frame10(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame; (); }; } function (){ try { __id2_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id2_.align = "center"; __id2_.align_vert = "center"; __id2_.color = 0xCCCCCC; __id2_.id = "None"; __id2_.line_spacing = 18; __id2_.text = "Play"; __id2_.tracking = 0; try { __id2_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { __id2_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id2_.align = "center"; __id2_.align_vert = "center"; __id2_.color = 0xFFFFFF; __id2_.id = "None"; __id2_.line_spacing = 18; __id2_.text = "Play"; __id2_.tracking = 0; try { __id2_["componentInspectorSetting"] = false; } catch(e:Error) { }; } override public function onClick(_arg1:MouseEvent):void{ Controller.endGame(); NitromeGame.transition.doTween("level_select"); } } }//package com.nitrome.gameSection 112//Preloader (com.nitrome.game.Preloader) package com.nitrome.game { import flash.display.*; import flash.events.*; import flash.text.*; public class Preloader extends MovieClip { public var progress:TextField; public var __id1_:BalancerFont; public function Preloader(){ addEventListener(Event.ENTER_FRAME, enterFrame); (); } function (){ try { __id1_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id1_.align = "center"; __id1_.align_vert = "center"; __id1_.color = 0xFFFFFF; __id1_.id = "None"; __id1_.line_spacing = 18; __id1_.text = "Loading..."; __id1_.tracking = 1; try { __id1_["componentInspectorSetting"] = false; } catch(e:Error) { }; } public function finishedLoading(){ if (hasEventListener(Event.COMPLETE)){ removeEventListener(Event.ENTER_FRAME, enterFrame); dispatchEvent(new Event(Event.COMPLETE)); }; } public function enterFrame(_arg1:Event):void{ var _local2:Number; var _local3:TextField; if (stage.loaderInfo.bytesLoaded < stage.loaderInfo.bytesTotal){ _local2 = Math.floor(((100 * stage.loaderInfo.bytesLoaded) / stage.loaderInfo.bytesTotal)); _local3 = (getChildByName("progress") as TextField); _local3.text = (_local2.toString() + "%"); } else { (root as MovieClip).stop(); finishedLoading(); }; } } }//package com.nitrome.gameSection 113//ResetButton (com.nitrome.game.ResetButton) package com.nitrome.game { import flash.events.*; public class ResetButton extends SimpleButton { override public function onClick(_arg1:MouseEvent):void{ NitromeGame.transition.doTween("game"); } } }//package com.nitrome.gameSection 114//RestartLevelButton (com.nitrome.game.RestartLevelButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class RestartLevelButton extends SimpleButton { public var __setPropDict:Dictionary; public var __id24_:NumbskullFont; public function RestartLevelButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function (){ try { __id24_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id24_.align = "center"; __id24_.align_vert = "top"; __id24_.color = 2574473; __id24_.id = "None"; __id24_.line_spacing = 18; __id24_.text = "restart level"; __id24_.tracking = 0; try { __id24_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 1)) && ((int(__setPropDict[__id24_]) <= 10))))))){ __setPropDict[__id24_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 11)) && ((int(__setPropDict[__id24_]) <= 20))))))){ __setPropDict[__id24_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 11)) && ((int(__setPropDict[__id24_]) <= 20))))))){ __setPropDict[__id24_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 11)) && ((int(__setPropDict[__id24_]) <= 20))))))){ __setPropDict[__id24_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 1)) && ((int(__setPropDict[__id24_]) <= 10))))))){ __setPropDict[__id24_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 11)) && ((int(__setPropDict[__id24_]) <= 20))))))){ __setPropDict[__id24_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 11)) && ((int(__setPropDict[__id24_]) <= 20))))))){ __setPropDict[__id24_] = currentFrame; (); }; } function (){ try { __id24_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id24_.align = "center"; __id24_.align_vert = "top"; __id24_.color = 11977954; __id24_.id = "None"; __id24_.line_spacing = 18; __id24_.text = "restart level"; __id24_.tracking = 0; try { __id24_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame19(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 11)) && ((int(__setPropDict[__id24_]) <= 20))))))){ __setPropDict[__id24_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 1)) && ((int(__setPropDict[__id24_]) <= 10))))))){ __setPropDict[__id24_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 11)) && ((int(__setPropDict[__id24_]) <= 20))))))){ __setPropDict[__id24_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 11)) && ((int(__setPropDict[__id24_]) <= 20))))))){ __setPropDict[__id24_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 1)) && ((int(__setPropDict[__id24_]) <= 10))))))){ __setPropDict[__id24_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 1)) && ((int(__setPropDict[__id24_]) <= 10))))))){ __setPropDict[__id24_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 1)) && ((int(__setPropDict[__id24_]) <= 10))))))){ __setPropDict[__id24_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 11)) && ((int(__setPropDict[__id24_]) <= 20))))))){ __setPropDict[__id24_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 1)) && ((int(__setPropDict[__id24_]) <= 10))))))){ __setPropDict[__id24_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 1)) && ((int(__setPropDict[__id24_]) <= 10))))))){ __setPropDict[__id24_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 1)) && ((int(__setPropDict[__id24_]) <= 10))))))){ __setPropDict[__id24_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 1)) && ((int(__setPropDict[__id24_]) <= 10))))))){ __setPropDict[__id24_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 11)) && ((int(__setPropDict[__id24_]) <= 20))))))){ __setPropDict[__id24_] = currentFrame; (); }; } override public function onClick(_arg1:MouseEvent):void{ var e = _arg1; NitromeGame.transition.doTween(function (){ Controller.endGame(); Score.value = 0; }); } } }//package com.nitrome.gameSection 115//Score (com.nitrome.game.Score) package com.nitrome.game { public class Score { private static var r:int; private static var _value:int; private static var hash:String; public static function init():void{ r = (int((Math.random() * 2000000)) - 1000000); _value = r; hash = _value.toString(16); } public static function verify():Boolean{ return ((_value.toString(16) == hash)); } public static function get value():int{ return ((_value - r)); } public static function set value(_arg1:int):void{ var _local2:Boolean; _local2 = verify(); r = (int((Math.random() * 2000000)) - 1000000); _value = (r + _arg1); if (_local2){ hash = _value.toString(16); }; } } }//package com.nitrome.gameSection 116//ScoresButton (com.nitrome.game.ScoresButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class ScoresButton extends SimpleButton { public var __id7_:BalancerFont; public var __setPropDict:Dictionary; public function ScoresButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); } function (){ try { __id7_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id7_.align = "center"; __id7_.align_vert = "center"; __id7_.color = 0xCCCCCC; __id7_.id = "None"; __id7_.line_spacing = 18; __id7_.text = "Scores"; __id7_.tracking = 0; try { __id7_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame; (); }; } function (){ try { __id7_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id7_.align = "center"; __id7_.align_vert = "center"; __id7_.color = 0xFFFFFF; __id7_.id = "None"; __id7_.line_spacing = 18; __id7_.text = "Scores"; __id7_.tracking = 0; try { __id7_["componentInspectorSetting"] = false; } catch(e:Error) { }; } override public function onClick(_arg1:MouseEvent):void{ Controller.endGame(); NitromeGame.transition.doTween("view_scores"); } } }//package com.nitrome.gameSection 117//SimpleButton (com.nitrome.game.SimpleButton) package com.nitrome.game { import flash.display.*; import flash.events.*; public class SimpleButton extends MovieClip { protected var over:Boolean;// = false public function SimpleButton(){ over = false; super(); mouseChildren = false; buttonMode = true; this.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); this.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); this.addEventListener(MouseEvent.MOUSE_DOWN, onClick); stop(); } protected function onMouseOver(_arg1:MouseEvent):void{ over = true; updateGraphic(); } protected function onMouseOut(_arg1:MouseEvent):void{ over = false; updateGraphic(); } protected function updateGraphic():void{ if (over){ gotoAndStop("_over"); } else { gotoAndStop("_up"); }; } public function onClick(_arg1:MouseEvent):void{ } } }//package com.nitrome.gameSection 118//SoundManager (com.nitrome.game.SoundManager) package com.nitrome.game { import flash.display.*; import flash.media.*; public class SoundManager extends SoundManagerSuper { protected const MENU_VOLUME:Number = 0.5; protected const GAME_VOLUME:Number = 0.5; public var charged:MovieClip; public var nitrome:MovieClip; public var balloon:MovieClip; public var monster_happy:MovieClip; public var slap:MovieClip; public var screw:MovieClip; public var splash:MovieClip; public var creak:MovieClip; public var wom:MovieClip; public var glassTap:MovieClip; public var metal_1:MovieClip; public var metal_2:MovieClip; public var deathground:MovieClip; public var monster_angry:MovieClip; public var cannon:MovieClip; public var metal_3:MovieClip; public var metal_4:MovieClip; public var tesla:MovieClip; public var electric:MovieClip; public var chargeup1:MovieClip; public var chargeup2:MovieClip; public var chargeup4:MovieClip; public var chargeup6:MovieClip; public var chargeup7:MovieClip; public var chargeup8:MovieClip; public var chargeup3:MovieClip; public var chargeup5:MovieClip; public var sticky:MovieClip; public static const GAME:uint = 1; public static const MENU:uint = 0; public function SoundManager(){ NitromeGame.sound_manager = this; music_sounds.push(new MenuMusic()); music_sounds.push(new GameMusic()); transforms.push(new SoundTransform(MENU_VOLUME, 0)); transforms.push(new SoundTransform(GAME_VOLUME, 0)); channels.push(new SoundChannel()); channels.push(new SoundChannel()); volumes.push(MENU_VOLUME); volumes.push(GAME_VOLUME); = uint.MAX_VALUE; } } }//package com.nitrome.gameSection 119//SoundManagerSuper (com.nitrome.game.SoundManagerSuper) package com.nitrome.game { import flash.display.*; import flash.events.*; public class SoundManagerSuper extends Sprite { protected const CROSS_FADE_SPEED:Number = 0.05; public var :int; protected var :Boolean;// = true public var :Boolean;// = false protected var transforms:Array; protected var volumes:Array; protected var music_sounds:Array; protected var :int; protected var :Boolean;// = true protected var channels:Array; protected var :Array; public function SoundManagerSuper(){ var _local1:int; var _local2:MovieClip; = new Array(); music_sounds = new Array(); channels = new Array(); transforms = new Array(); volumes = new Array(); = true; = true; = false; super(); = NitromeGame.music; = NitromeGame.sfx; _local1 = 0; while (_local1 < numChildren) { _local2 = (getChildAt(_local1) as MovieClip); if (_local2 != null){ [_local2.name] = _local2; }; _local1++; }; } public function set sfx(_arg1:Boolean):void{ = _arg1; } public function get music():Boolean{ return (); } public function toggleMusic():void{ if (){ (); } else { (); }; } public function playSound(_arg1:String):void{ if (){ if ([_arg1] != null){ [_arg1].gotoAndPlay(2); }; }; } private function (_arg1:Event):void{ if (transforms[].volume > 0){ transforms[].volume = (transforms[].volume - CROSS_FADE_SPEED); channels[].soundTransform = transforms[]; }; if (transforms[].volume < 1){ transforms[].volume = (transforms[].volume + CROSS_FADE_SPEED); channels[].soundTransform = transforms[]; }; if ((((transforms[].volume >= volumes[])) && ((transforms[].volume <= 0)))){ channels[].stop(); = false; _arg1.target.removeEventListener(Event.ENTER_FRAME, ); }; } public function ():void{ NitromeGame.music = ( = true); playMusic(, true); } public function set music(_arg1:Boolean):void{ = _arg1; } public function playMusic(_arg1:uint, _arg2:Boolean=false):void{ var _local3:uint; if (((!(( == _arg1))) || (_arg2))){ if (_arg1 < music_sounds.length){ if (){ _local3 = 0; while (_local3 < music_sounds.length) { if (_local3 == _arg1){ } else { if (channels[_local3] != null){ channels[_local3].stop(); }; }; _local3++; }; transforms[_arg1].volume = volumes[_arg1]; channels[_arg1] = music_sounds[_arg1].play(0, int.MAX_VALUE, transforms[_arg1]); }; = _arg1; }; }; } public function ():void{ NitromeGame.sfx = ( = false); } public function toggleSfx():void{ = !(); NitromeGame.sfx = !(NitromeGame.sfx); } public function ():void{ var _local1:uint; _local1 = 0; while (_local1 < channels.length) { if (channels[_local1] != null){ channels[_local1].stop(); }; _local1++; }; NitromeGame.music = ( = false); } public function get sfx():Boolean{ return (); } public function ():void{ NitromeGame.sfx = ( = true); } public function (_arg1:int):void{ if (((((!()) || (( == _arg1)))) || ( ))){ return; }; transforms[_arg1].volume = 0; channels[_arg1] = music_sounds[_arg1].play(0, int.MAX_VALUE, transforms[_arg1]); = ; = _arg1; = true; addEventListener(Event.ENTER_FRAME, ); } } }//package com.nitrome.gameSection 120//StartLevelButton (com.nitrome.game.StartLevelButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class StartLevelButton extends SimpleButton { public var __setPropDict:Dictionary; public var __id31_:BalancerFont; public function StartLevelButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function (){ try { __id31_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id31_.align = "center"; __id31_.align_vert = "center"; __id31_.color = 0xCCCCCC; __id31_.id = "None"; __id31_.line_spacing = 18; __id31_.text = "Play"; __id31_.tracking = 0; try { __id31_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 1)) && ((int(__setPropDict[__id31_]) <= 10))))))){ __setPropDict[__id31_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 11)) && ((int(__setPropDict[__id31_]) <= 20))))))){ __setPropDict[__id31_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 11)) && ((int(__setPropDict[__id31_]) <= 20))))))){ __setPropDict[__id31_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 11)) && ((int(__setPropDict[__id31_]) <= 20))))))){ __setPropDict[__id31_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 1)) && ((int(__setPropDict[__id31_]) <= 10))))))){ __setPropDict[__id31_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 11)) && ((int(__setPropDict[__id31_]) <= 20))))))){ __setPropDict[__id31_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 11)) && ((int(__setPropDict[__id31_]) <= 20))))))){ __setPropDict[__id31_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 11)) && ((int(__setPropDict[__id31_]) <= 20))))))){ __setPropDict[__id31_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 11)) && ((int(__setPropDict[__id31_]) <= 20))))))){ __setPropDict[__id31_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 1)) && ((int(__setPropDict[__id31_]) <= 10))))))){ __setPropDict[__id31_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 11)) && ((int(__setPropDict[__id31_]) <= 20))))))){ __setPropDict[__id31_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 1)) && ((int(__setPropDict[__id31_]) <= 10))))))){ __setPropDict[__id31_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 1)) && ((int(__setPropDict[__id31_]) <= 10))))))){ __setPropDict[__id31_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 1)) && ((int(__setPropDict[__id31_]) <= 10))))))){ __setPropDict[__id31_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 11)) && ((int(__setPropDict[__id31_]) <= 20))))))){ __setPropDict[__id31_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 1)) && ((int(__setPropDict[__id31_]) <= 10))))))){ __setPropDict[__id31_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 1)) && ((int(__setPropDict[__id31_]) <= 10))))))){ __setPropDict[__id31_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 1)) && ((int(__setPropDict[__id31_]) <= 10))))))){ __setPropDict[__id31_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 1)) && ((int(__setPropDict[__id31_]) <= 10))))))){ __setPropDict[__id31_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 11)) && ((int(__setPropDict[__id31_]) <= 20))))))){ __setPropDict[__id31_] = currentFrame; (); }; } function (){ try { __id31_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id31_.align = "center"; __id31_.align_vert = "center"; __id31_.color = 0xFFFFFF; __id31_.id = "None"; __id31_.line_spacing = 18; __id31_.text = "Play"; __id31_.tracking = 0; try { __id31_["componentInspectorSetting"] = false; } catch(e:Error) { }; } override public function onClick(_arg1:MouseEvent):void{ Controller.startLevel(); } } }//package com.nitrome.gameSection 121//SubmitScoreButton (com.nitrome.game.SubmitScoreButton) package com.nitrome.game { import flash.events.*; public class SubmitScoreButton extends SimpleButton { public function SubmitScoreButton(){ if (Score.value == 0){ visible = false; }; } override public function onClick(_arg1:MouseEvent):void{ var e = _arg1; NitromeGame.transition.doTween(function (){ NitromeGame.timeline.gotoAndStop("submit_score"); }); } } }//package com.nitrome.gameSection 122//TemplateFont (com.nitrome.game.TemplateFont) package com.nitrome.game { public class TemplateFont extends TextComponent { public function TemplateFont(){ _tracking = 0; _line_spacing = 18; _id = "None"; } override public function get id():String{ return (_id); } override public function set id(_arg1:String){ _id = _arg1; } override public function set tracking(_arg1:int){ _tracking = _arg1; } override protected function getClassNameFromChar(_arg1:String):String{ if (_arg1 == "Space"){ return ("SPACE"); }; if (_arg1 == "."){ return ("STOP"); }; if (_arg1 == "?"){ return ("QUESTION"); }; if (_arg1 == ","){ return ("COMMA"); }; if (_arg1 == "!"){ return ("EXCLAMATION"); }; if (_arg1 == "\\"){ return ("BACKSLASH"); }; if (_arg1 == "/"){ return ("FORWARDSLASH"); }; if (_arg1 == "="){ return ("EQUALS"); }; if (_arg1 == "+"){ return ("PLUS"); }; if (_arg1 == "("){ return ("LEFTBRACKET"); }; if (_arg1 == ")"){ return ("RIGHTBRACKET"); }; if (_arg1 == "-"){ return ("HYPHEN"); }; if (_arg1 == "\""){ return ("QUOTES"); }; if (_arg1 == ":"){ return ("COLON"); }; if (_arg1 == "�"){ return ("POUND"); }; if (_arg1 == "_"){ return ("UNDERSCORE"); }; if (_arg1 == "@"){ return ("AT"); }; if (_arg1 == "'"){ return ("APOSTROPHE"); }; if ((((((_arg1 == "\n")) || ((_arg1 == "\r")))) || ((_arg1 == "|")))){ return ("NEWLINE"); }; return (_arg1); } override public function get tracking():int{ return (_tracking); } override public function set line_spacing(_arg1:int){ _line_spacing = _arg1; } override public function get line_spacing():int{ return (_line_spacing); } } }//package com.nitrome.gameSection 123//TextComponent (com.nitrome.game.TextComponent) package com.nitrome.game { import flash.display.*; import flash.utils.*; import flash.geom.*; public class TextComponent extends Sprite { protected var :String;// = "center" protected var :Array; protected var :String;// = "enter text" protected var _tracking:int;// = 0 protected var :ColorTransform;// = null private var :Number;// = 0 protected var :Array; protected var _id:String;// = "None" private var :Number;// = 0 protected var :String;// = "center" private var :Sprite; protected var :Sprite; protected var _line_spacing:int;// = 18 protected var :uint;// = 0xFFFFFF public function TextComponent(){ = "enter text"; _tracking = 0; = "center"; = "center"; _line_spacing = 18; _id = "None"; = 0xFFFFFF; = null; = 0; = 0; super(); init(); (); draw(); } public function get align():String{ return (); } private function init():void{ = new Array(); = new Array(); = width; = height; scaleX = 1; scaleY = 1; removeChildAt(0); } public function set align(_arg1:String){ = _arg1; draw(); } private function ():void{ = new Sprite(); addChild(); } public function get align_vert():String{ return (); } public function get text():String{ return (); } public function set id(_arg1:String){ _id = _arg1; draw(); } protected function draw():void{ var line:*; var i:int; var isLivePreview:Boolean; var c:*; var class_name:String; var class_id:Class; var temp:Sprite; var j:int; var x_tracking:*; .graphics.clear(); if ( != null){ this.removeChild(); }; = new Sprite(); = new Array(); line = 0; .push(.addChild(new Sprite())); = new Array(); .push(new Array()); i = 0; while (i < .length) { = .toUpperCase(); c = .charAt(i); class_name = getClassNameFromChar(c); if (class_name == "NEWLINE"){ line = (line + 1); .push(new Array()); .push(.addChild(new Sprite())); [line].y = (line_spacing * line); } else { if (class_name != ""){ try { class_id = (getDefinitionByName(((("Text_" + _id) + "_") + class_name)) as Class); } catch(e:ReferenceError) { try { class_id = (getDefinitionByName((("Text_" + _id) + "_SPACE")) as Class); } catch(e:ReferenceError) { break; }; }; if (Class != null){ temp = (new (class_id) as Sprite); [line].push( [line].addChild(temp)); }; }; }; i = (i + 1); }; i = 0; while (i < .length) { j = 1; while (j < [i].length) { x_tracking = _tracking; if ( [i][(j - 1)].kerning != null){ x_tracking = (x_tracking + [i][(j - 1)].kerning._x); } else { x_tracking = (x_tracking + [i][(j - 1)].width); }; [i][j].x = ( [i][(j - 1)].x + x_tracking); j = (j + 1); }; if ( == "center"){ [i].x = ( [i].x + int((( * 0.5) - ( [i].width * 0.5)))); } else { if ( == "right"){ [i].x = ( [i].x + int(( - [i].width))); }; }; i = (i + 1); }; if ( == "bottom"){ .y = (.y + int(( - .height))); } else { if ( == "center"){ .y = (.y + int((( * 0.5) - (.height * 0.5)))); }; }; if ( != null){ .transform.colorTransform = ; }; .cacheAsBitmap = true; this.addChild(); this.cacheAsBitmap = true; isLivePreview = ((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent"))); if (((isLivePreview) && (( == "")))){ .graphics.clear(); .graphics.lineStyle(1, 0); .graphics.beginFill(0xFFFFFF, 0.5); .graphics.drawRoundRect(0, 0, , , 10, 10); .graphics.endFill(); }; } public function get id():String{ return (_id); } public function set align_vert(_arg1:String){ = _arg1; draw(); } public function get color():uint{ return (); } public function set text(_arg1:String){ = _arg1; draw(); } public function set tracking(_arg1:int){ _tracking = _arg1; draw(); } public function setSize(_arg1:Number, _arg2:Number):void{ = _arg1; = _arg2; draw(); } protected function getClassNameFromChar(_arg1:String):String{ if (_arg1 == "Space"){ return ("SPACE"); }; if (_arg1 == "."){ return ("STOP"); }; if (_arg1 == "?"){ return ("QUESTION"); }; if (_arg1 == ","){ return ("COMMA"); }; if (_arg1 == "!"){ return ("EXCLAMATION"); }; if (_arg1 == "\\"){ return ("BACKSLASH"); }; if (_arg1 == "/"){ return ("FORWARDSLASH"); }; if (_arg1 == "="){ return ("EQUALS"); }; if (_arg1 == "+"){ return ("PLUS"); }; if (_arg1 == "("){ return ("LEFTBRACKET"); }; if (_arg1 == ")"){ return ("RIGHTBRACKET"); }; if (_arg1 == "-"){ return ("HYPHEN"); }; if (_arg1 == "\""){ return ("QUOTES"); }; if (_arg1 == ":"){ return ("COLON"); }; if (_arg1 == "�"){ return ("POUND"); }; if (_arg1 == "_"){ return ("UNDERSCORE"); }; if (_arg1 == "@"){ return ("AT"); }; if (_arg1 == "'"){ return ("APOSTROPHE"); }; if ((((((_arg1 == "\n")) || ((_arg1 == "\r")))) || ((_arg1 == "|")))){ return ("NEWLINE"); }; return (_arg1); } public function get tracking():int{ return (_tracking); } public function set color(_arg1:uint):void{ = _arg1; if (_arg1 == 0xFFFFFF){ = null; } else { = new ColorTransform((((_arg1 >> 16) % 0x0100) / 0xFF), (((_arg1 >> 8) % 0x0100) / 0xFF), ((_arg1 % 0x0100) / 0xFF)); }; draw(); } public function set line_spacing(_arg1:int){ _line_spacing = _arg1; draw(); } public function get line_spacing():int{ return (_line_spacing); } } }//package com.nitrome.gameSection 124//Transition (com.nitrome.game.Transition) package com.nitrome.game { import flash.display.*; public class Transition extends MovieClip { private var :Function;// = null public function Transition(){ = null; super(); addFrameScript(0, frame1, 12, frame13); NitromeGame.transition = this; stop(); mouseEnabled = false; mouseChildren = false; } function frame1(){ (); } function frame13(){ (); } protected function ():void{ if ( != null){ gotoAndPlay(1); } else { stop(); this.visible = false; }; } public function doTween(_arg1:Object):void{ var target = _arg1; play(); if ((target is Function)){ = (target as Function); } else { = function (){ NitromeGame.timeline.gotoAndStop(target); }; }; this.visible = true; } protected function ():void{ if ( != null){ (); = null; }; } } }//package com.nitrome.gameSection 125//ArrowButton (com.nitrome.highscore.ArrowButton) package com.nitrome.highscore { import flash.events.*; import com.nitrome.game.*; public class ArrowButton extends SimpleButton { var :HighScoreBoard; public function ArrowButton(){ = (parent as HighScoreBoard); visible = false; } public function hide():void{ visible = false; } override public function onClick(_arg1:MouseEvent):void{ if (name == "_prev_arrow"){ .shiftScoresPrev(); } else { if (name == "_next_arrow"){ .shiftScoresNext(); }; }; } public function show():void{ visible = true; } } }//package com.nitrome.highscoreSection 126//ClearButton (com.nitrome.highscore.ClearButton) package com.nitrome.highscore { import flash.events.*; import com.nitrome.game.*; public class ClearButton extends SimpleButton { private var :ScoreSubmitPanel; public function ClearButton(){ = (parent as ScoreSubmitPanel); } override public function onClick(_arg1:MouseEvent):void{ .clearName(); } } }//package com.nitrome.highscoreSection 127//HighScoreBoard (com.nitrome.highscore.HighScoreBoard) package com.nitrome.highscore { import flash.display.*; import flash.events.*; import flash.net.*; public class HighScoreBoard extends MovieClip { public const MAX_DIGITS:int = 8; private const MAX_RANK:int = 100; public const NUM_LINES:int = 10; public var _score_line_7:ScoreLine; private var :Array; private var :Boolean;// = false public var _next_arrow:NextArrow; private var :URLRequest; private var :URLVariables; public var _score_line_10:ScoreLine; private var :ArrowButton; public var _prev_arrow:PrevArrow; private var :int; public var _score_line_1:ScoreLine; public var _score_line_2:ScoreLine; public var _score_line_3:ScoreLine; public var _score_line_4:ScoreLine; public var _score_line_5:ScoreLine; public var _score_line_6:ScoreLine; public var _score_line_8:ScoreLine; public var _score_line_9:ScoreLine; private var :URLLoader; private var :ArrowButton; public function HighScoreBoard(){ var _local1:int; = false; super(); if (((root) && (((((((((root as MovieClip).currentLabel == "game")) || (((root as MovieClip).currentLabel == "congrats")))) || (((root as MovieClip).currentLabel == "help")))) || (((root as MovieClip).currentLabel == "credits")))))){ return; }; = new Array(NUM_LINES); if (NitromeGame.isAtURL(NitromeGame.NITROME) == false){ gotoAndStop("off"); } else { _local1 = 0; while (_local1 < .length) { [_local1] = (getChildByName(("_score_line_" + (_local1 + 1))) as HighScoreLine); _local1++; }; = (getChildByName("_prev_arrow") as ArrowButton); = (getChildByName("_next_arrow") as ArrowButton); addEventListener(Event.ADDED_TO_STAGE, init); }; } public function (_arg1:int):void{ = _arg1; = new URLLoader(); = new URLVariables(); = new URLRequest(NitromeGame.RETRIEVE_URL); .method = URLRequestMethod.POST; .data = ; .dataFormat = URLLoaderDataFormat.VARIABLES; .addEventListener(Event.COMPLETE, ); .addEventListener(IOErrorEvent.IO_ERROR, ); .min_rank = String(_arg1); .game_name = NitromeGame.game_id; .time_based = (NitromeGame.time_based) ? "1" : "0"; .load(); } private function (_arg1:Event):void{ var _local2:String; _local2 = _arg1.target.data.result; (_local2); } private function init(_arg1:Event):void{ (1); _arg1.target.removeEventListener(Event.ADDED_TO_STAGE, init); } public function shiftScoresPrev():void{ var _local1:int; _local1 = ( - 10); if (_local1 < 1){ _local1 = 1; }; (_local1); } public function set zero_fill(_arg1:Boolean):void{ = _arg1; } private function (_arg1:IOErrorEvent):void{ } public function get zero_fill():Boolean{ return (); } public function (_arg1:Array):void{ var _local2:int; var _local3:String; var _local4:String; if (_arg1.length > 0){ _local2 = 0; while (_local2 <= 9) { _local3 = String(_arg1[_local2].user_name); _local4 = String(_arg1[_local2].score); if ((((_local3 == "")) || ((_local3 == null)))){ [_local2].hide(); .hide(); } else { [_local2].displayData(( + _local2), _local3, _local4); }; _local2++; }; //unresolved jump }; } public function (_arg1:String):void{ var _local2:int; var _local3:Object; if (_arg1 != "0"){ _local2 = 0; while (_local2 < .length) { _local3 = NitromeGame.getHighScoreLine(_arg1, (_local2 + 1)); if (_local3 == null){ [_local2].hide(); } else { [_local2].displayData(( + _local2), _local3.username, _local3.score); }; _local2++; }; if (NitromeGame.displayNextButton(_arg1)){ .show(); } else { .hide(); }; if (NitromeGame.displayPreviousButton(_arg1)){ .show(); } else { .hide(); }; }; } public function shiftScoresNext():void{ var _local1:int; _local1 = ( + 10); (_local1); } } }//package com.nitrome.highscoreSection 128//HighScoreLine (com.nitrome.highscore.HighScoreLine) package com.nitrome.highscore { import flash.display.*; import flash.events.*; public class HighScoreLine extends Sprite { private const FADE_SPEED:Number = 0.3; private var :int; private var :BalancerFont; private var :BalancerFont; public var _score_text:BalancerFont; private var :Boolean; private var :BalancerFont; private var :int; public var _rank_text:BalancerFont; public var _name_text:BalancerFont; private var :HighScoreBoard; public function HighScoreLine(){ visible = false; = false; = (getChildByName("_score_text") as BalancerFont); = (getChildByName("_name_text") as BalancerFont); = (getChildByName("_rank_text") as BalancerFont); = (parent as HighScoreBoard); } public function hide():void{ visible = false; = true; } private function (_arg1:Event):void{ if ( >= ){ alpha = (alpha + FADE_SPEED); if (alpha >= 1){ _arg1.target.removeEventListener(Event.ENTER_FRAME, ); }; }; ++; } public function displayData(_arg1:int, _arg2:String, _arg3:String):void{ var _local4:int; var _local5:int; var _local6:int; var _local7:int; .text = String((_arg1 + ".")); .text = _arg2.toUpperCase(); if ( .zero_fill){ _local4 = .MAX_DIGITS; _local5 = _arg3.length; _local6 = (_local4 - _local5); _local7 = 1; while (_local7 <= _local6) { _arg3 = ("0" + _arg3); _local7++; }; .text = _arg3; } else { .text = _arg3; }; alpha = 0; visible = true; = (((_arg1 - 1) % .NUM_LINES) * int((1 / FADE_SPEED))); = 0; addEventListener(Event.ENTER_FRAME, ); } } }//package com.nitrome.highscoreSection 129//LetterButton (com.nitrome.highscore.LetterButton) package com.nitrome.highscore { import flash.events.*; import com.nitrome.game.*; public class LetterButton extends SimpleButton { private var :TextComponent; public var _letter:BalancerFont; private var :String; private var :ScoreSubmitPanel; public function LetterButton(){ = (parent as ScoreSubmitPanel); = name; = (getChildByName("_letter") as TextComponent); addEventListener(Event.ADDED_TO_STAGE, init); } private function init(_arg1:Event):void{ .text = ; _arg1.target.removeEventListener(Event.ADDED_TO_STAGE, init); } override protected function onMouseOut(_arg1:MouseEvent):void{ super.onMouseOut(_arg1); .color = 0xCCCCCC; } override public function onClick(_arg1:MouseEvent):void{ .addLetter( ); } override protected function onMouseOver(_arg1:MouseEvent):void{ super.onMouseOver(_arg1); .color = 0xFFFFFF; } } }//package com.nitrome.highscoreSection 130//ScoreSubmitPanel (com.nitrome.highscore.ScoreSubmitPanel) package com.nitrome.highscore { import flash.display.*; import flash.events.*; import com.nitrome.game.*; import flash.net.*; import flash.ui.*; public class ScoreSubmitPanel extends MovieClip { private const MAX_LENGTH:Number = 10; private var :URLLoader; public var C:LetterButton; public var D:LetterButton; public var E:LetterButton; public var F:LetterButton; public var H:LetterButton; public var I:LetterButton; public var J:LetterButton; public var L:LetterButton; public var A:LetterButton; public var K:LetterButton; public var W:LetterButton; public var X:LetterButton; public var R:LetterButton; public var T:LetterButton; public var U:LetterButton; public var V:LetterButton; public var G:LetterButton; public var Y:LetterButton; public var Z:LetterButton; public var S:LetterButton; public var N:LetterButton; public var O:LetterButton; private var :TextComponent; public var Q:LetterButton; public var M:LetterButton; public var _score_text:BalancerFont; private var :MovieClip; public var B:LetterButton; public var P:LetterButton; private var :TextComponent; public var _name_text:BalancerFont; private var :SubmitButton; public var _submit_button:SubmitButton; public var _clear_button:ClearButton; private var :URLRequest; private var :URLVariables; public function ScoreSubmitPanel(){ = (getChildByName("_submit_button") as SubmitButton); = (getChildByName("_name_text") as TextComponent); = (getChildByName("_score_text") as TextComponent); addEventListener(Event.ADDED_TO_STAGE, init); } public function addLetter(_arg1:String):void{ var _local2:String; var _local3:String; _local2 = .text; if (_local2.length < MAX_LENGTH){ _arg1 = _arg1.toUpperCase(); _local3 = (_local2 + _arg1); .text = _local3; .enable(); }; } private function (_arg1:IOErrorEvent):void{ NitromeGame.timeline.gotoAndStop("view_scores"); } public function clearName():void{ .disable(); .text = ""; } private function keyPressed(_arg1:KeyboardEvent):void{ var _local2:int; _local2 = _arg1.charCode; if ((((((_local2 >= 65)) && ((_local2 <= 90)))) || ((((_local2 >= 97)) && ((_local2 <= 122)))))){ addLetter(String.fromCharCode(_local2)); }; if ((((_arg1.keyCode == Keyboard.BACKSPACE)) || ((_arg1.keyCode == Keyboard.DELETE)))){ clearName(); }; } private function (_arg1:Event):void{ NitromeGame.timeline.gotoAndStop("view_scores"); } private function init(_arg1:Event):void{ if (NitromeGame.isAtURL(NitromeGame.NITROME) == false){ gotoAndStop("off"); } else { stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed); _arg1.target.removeEventListener(Event.ADDED_TO_STAGE, init); }; } public function submitScore():void{ var _local1:String; stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyPressed); _local1 = .text; if (_local1 != ""){ = new URLLoader(); = new URLVariables(); = new URLRequest(NitromeGame.SUBMIT_URL); .method = URLRequestMethod.POST; .data = ; .addEventListener(Event.COMPLETE, ); .addEventListener(IOErrorEvent.IO_ERROR, ); .data_string = NitromeGame.getScoreData(Score.value, _local1); .time_based = "0"; .data = ; .load(); } else { NitromeGame.timeline.gotoAndStop("view_scores"); }; } } }//package com.nitrome.highscoreSection 131//SubmitButton (com.nitrome.highscore.SubmitButton) package com.nitrome.highscore { import flash.events.*; import com.nitrome.game.*; public class SubmitButton extends SimpleButton { private var :Boolean;// = false private var disabled:Boolean;// = true private var :ScoreSubmitPanel; public function SubmitButton(){ = false; disabled = true; super(); gotoAndStop("_up"); = (parent as ScoreSubmitPanel); } public function enable():void{ disabled = false; useHandCursor = true; buttonMode = true; updateGraphic(); } override protected function updateGraphic():void{ if (((!(over)) || (disabled))){ gotoAndStop("_up"); } else { gotoAndStop("_over"); }; } public function disable():void{ disabled = true; useHandCursor = false; buttonMode = false; updateGraphic(); } override public function onClick(_arg1:MouseEvent):void{ if (disabled){ gotoAndStop("_up"); } else { if (! ){ .submitScore(); = true; }; }; } } }//package com.nitrome.highscoreSection 132//CustomCursor (com.nitrome.util.CustomCursor) package com.nitrome.util { import flash.display.*; import flash.events.*; import flash.ui.*; public class CustomCursor { public static var cursor:Sprite; protected static var cursorClass:Class; protected static var parent:DisplayObjectContainer; protected static function mouseLeave(_arg1:Event):void{ if (cursor){ cursor.visible = false; }; } protected static function addedToStage(_arg1:Event):void{ parent.removeEventListener(Event.ADDED_TO_STAGE, addedToStage); parent.stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMove); parent.stage.addEventListener(Event.MOUSE_LEAVE, mouseLeave); } protected static function mouseMove(_arg1:MouseEvent):void{ if (cursor){ cursor.x = (parent.mouseX << 0); cursor.y = (parent.mouseY << 0); if (!cursor.visible){ cursor.visible = true; }; _arg1.updateAfterEvent(); }; } public static function setCursor(_arg1:Class, _arg2:Number=0){ if (_arg1 == cursorClass){ if (((cursor) && (!((cursor.rotation == _arg2))))){ cursor.rotation = _arg2; }; return; }; if (cursor){ parent.removeChild(cursor); cursor = null; }; if (_arg1){ Mouse.hide(); } else { Mouse.show(); }; cursorClass = _arg1; if (_arg1 == null){ return; }; cursor = new cursorClass(); cursor.x = (parent.mouseX << 0); cursor.y = (parent.mouseY << 0); cursor.rotation = _arg2; cursor.mouseEnabled = false; cursor.mouseChildren = false; parent.addChild(cursor); } public static function setup(_arg1:DisplayObjectContainer):void{ parent = _arg1; if (parent.stage){ parent.stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMove); parent.stage.addEventListener(Event.MOUSE_LEAVE, mouseLeave); } else { parent.addEventListener(Event.ADDED_TO_STAGE, addedToStage); }; } } }//package com.nitrome.utilSection 133//Geometry (com.nitrome.util.Geometry) package com.nitrome.util { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; public class Geometry { public static function segmentTouchesRectangle(_arg1:b2AABB, _arg2:b2Vec2, _arg3:b2Vec2):Boolean{ var _local4:b2Vec2; var _local5:Number; var _local6:Array; var _local7:Number; var _local8:Number; var _local9:Number; if ((((_arg2.x < _arg1.lowerBound.x)) && ((_arg3.x < _arg1.lowerBound.x)))){ return (false); }; if ((((_arg2.x > _arg1.upperBound.x)) && ((_arg3.x > _arg1.upperBound.x)))){ return (false); }; if ((((_arg2.y < _arg1.lowerBound.y)) && ((_arg3.y < _arg1.lowerBound.y)))){ return (false); }; if ((((_arg2.y > _arg1.upperBound.y)) && ((_arg3.y > _arg1.upperBound.y)))){ return (false); }; _local4 = new b2Vec2((_arg3.y - _arg2.y), (_arg2.x - _arg3.x)); _local5 = b2Math.b2Dot(_local4, _arg2); _local6 = [new b2Vec2(_arg1.lowerBound.x, _arg1.lowerBound.y), new b2Vec2(_arg1.upperBound.x, _arg1.lowerBound.y), new b2Vec2(_arg1.upperBound.x, _arg1.upperBound.y), new b2Vec2(_arg1.lowerBound.x, _arg1.upperBound.y)]; _local7 = 0; _local8 = 0; while (_local8 < 4) { _local9 = b2Math.b2Dot(_local4, _local6[_local8]); if (_local9 > _local5){ _local7++; }; _local8++; }; return ((((_local7 > 0)) && ((_local7 < 4)))); } public static function nearestPointOnLine(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):b2Vec2{ var _local4:b2Vec2; var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; _local4 = new b2Vec2((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); _local4.Normalize(); _local5 = new b2Vec2(_local4.y, -(_local4.x)); _local6 = b2Math.b2Dot(_local4, _arg3); _local7 = b2Math.b2Dot(_local5, _arg1); _local8 = ((_local6 * _local4.x) + (_local7 * _local5.x)); _local9 = ((_local6 * _local4.y) + (_local7 * _local5.y)); return (new b2Vec2(_local8, _local9)); } public static function between(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):Number{ var _local4:b2Vec2; var _local5:Number; var _local6:Number; var _local7:Number; _local4 = new b2Vec2((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); _local4.Normalize(); _local5 = b2Math.b2Dot(_arg1, _local4); _local6 = b2Math.b2Dot(_arg2, _local4); _local7 = b2Math.b2Dot(_arg3, _local4); if (_local5 == _local6){ return (0); }; return (((_local7 - _local5) / (_local6 - _local5))); } public static function nearestPointOnSegment(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):b2Vec2{ var _local4:b2Vec2; var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; _local4 = new b2Vec2((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); _local4.Normalize(); _local5 = new b2Vec2(_local4.y, -(_local4.x)); _local6 = b2Math.b2Dot(_local4, _arg1); _local7 = b2Math.b2Dot(_local4, _arg2); _local8 = b2Math.b2Dot(_local4, _arg3); _local9 = b2Math.b2Dot(_local5, _arg1); if (_local8 < _local6){ _local8 = _local6; }; if (_local8 > _local7){ _local8 = _local7; }; _local10 = ((_local8 * _local4.x) + (_local9 * _local5.x)); _local11 = ((_local8 * _local4.y) + (_local9 * _local5.y)); return (new b2Vec2(_local10, _local11)); } public static function setupPolygon(_arg1:b2PolygonDef, _arg2:Number, _arg3:Number, _arg4:b2Vec2=null, _arg5:Number=0):b2PolygonDef{ var _local6:Number; var _local7:Number; var _local8:Number; if (!_arg1){ _arg1 = new b2PolygonDef(); }; _arg1.vertexCount = _arg2; _local7 = (360 / _arg2); if (_arg4){ _local6 = 0; while (_local6 < _arg2) { _local8 = (_local6 * _local7); _arg1.vertices[_local6] = new b2Vec2(((Trig.getCos((_local8 + _arg5)) * _arg3) + _arg4.x), ((Trig.getSin((_local8 + _arg5)) * _arg3) + _arg4.y)); _local6++; }; } else { _local6 = 0; while (_local6 < _arg2) { _local8 = (_local6 * _local7); _arg1.vertices[_local6] = new b2Vec2((Trig.getCos((_local8 + _arg5)) * _arg3), (Trig.getSin((_local8 + _arg5)) * _arg3)); _local6++; }; }; return (_arg1); } public static function isLeft(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):Number{ return ((((_arg2.x - _arg1.x) * (_arg3.y - _arg1.y)) - ((_arg3.x - _arg1.x) * (_arg2.y - _arg1.y)))); } public static function pointInsideTriangle(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2, _arg4:b2Vec2):Boolean{ var _local5:b2Vec2; var _local6:b2Vec2; var _local7:Number; var _local8:Number; var _local9:Number; _local5 = new b2Vec2((_arg2.y - _arg1.y), -((_arg2.x - _arg1.x))); _local7 = b2Math.b2Dot(_local5, _arg1); _local8 = b2Math.b2Dot(_local5, _arg3); _local9 = b2Math.b2Dot(_local5, _arg4); if (((_local9 - _local7) * (_local8 - _local7)) < 0){ return (false); }; _local5 = new b2Vec2((_arg3.y - _arg2.y), -((_arg3.x - _arg2.x))); _local7 = b2Math.b2Dot(_local5, _arg2); _local8 = b2Math.b2Dot(_local5, _arg1); _local9 = b2Math.b2Dot(_local5, _arg4); if (((_local9 - _local7) * (_local8 - _local7)) < 0){ return (false); }; _local5 = new b2Vec2((_arg1.y - _arg3.y), -((_arg1.x - _arg3.x))); _local7 = b2Math.b2Dot(_local5, _arg3); _local8 = b2Math.b2Dot(_local5, _arg2); _local9 = b2Math.b2Dot(_local5, _arg4); if (((_local9 - _local7) * (_local8 - _local7)) < 0){ return (false); }; return (true); } public static function lerpVec2(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Number):b2Vec2{ return (new b2Vec2((_arg1.x + ((_arg2.x - _arg1.x) * _arg3)), (_arg1.y + ((_arg2.y - _arg1.y) * _arg3)))); } public static function squareDistancePointToPoint(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number; var _local4:Number; _local3 = (_arg2.x - _arg1.x); _local4 = (_arg2.y - _arg1.y); return (((_local3 * _local3) + (_local4 * _local4))); } public static function squareDistancePointToSegment(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):Number{ var _local4:b2Vec2; var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; _local4 = new b2Vec2((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); _local4.Normalize(); _local5 = new b2Vec2(_local4.y, -(_local4.x)); _local6 = b2Math.b2Dot(_local4, _arg1); _local7 = b2Math.b2Dot(_local4, _arg2); _local8 = b2Math.b2Dot(_local4, _arg3); _local9 = b2Math.b2Dot(_local5, _arg1); if (_local8 < _local6){ _local8 = _local6; }; if (_local8 > _local7){ _local8 = _local7; }; _local10 = ((_local8 * _local4.x) + (_local9 * _local5.x)); _local11 = ((_local8 * _local4.y) + (_local9 * _local5.y)); _local12 = (_local10 - _arg3.x); _local13 = (_local11 - _arg3.y); return (((_local12 * _local12) + (_local13 * _local13))); } public static function segmentIntersection(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2, _arg4:b2Vec2):b2Vec2{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; _local7 = ((_arg1.x < _arg2.x)) ? _arg1.x : _arg2.x; _local8 = ((_arg1.x > _arg2.x)) ? _arg1.x : _arg2.x; _local9 = ((_arg3.x < _arg4.x)) ? _arg3.x : _arg4.x; _local10 = ((_arg3.x > _arg4.x)) ? _arg3.x : _arg4.x; if (_local8 < _local9){ return (null); }; if (_local7 > _local10){ return (null); }; _local11 = ((_arg1.y < _arg2.y)) ? _arg1.y : _arg2.y; _local12 = ((_arg1.y > _arg2.y)) ? _arg1.y : _arg2.y; _local13 = ((_arg3.y < _arg4.y)) ? _arg3.y : _arg4.y; _local14 = ((_arg3.y > _arg4.y)) ? _arg3.y : _arg4.y; if (_local12 < _local13){ return (null); }; if (_local11 > _local14){ return (null); }; _local5 = isLeft(_arg1, _arg2, _arg3); _local6 = isLeft(_arg1, _arg2, _arg4); if ((_local5 * _local6) >= 0){ return (null); }; _local5 = isLeft(_arg3, _arg4, _arg1); _local6 = isLeft(_arg3, _arg4, _arg2); if ((_local5 * _local6) >= 0){ return (null); }; return (lineIntersection(_arg1, _arg2, _arg3, _arg4)); } public static function lineIntersection(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2, _arg4:b2Vec2):b2Vec2{ var _local5:b2Vec2; var _local6:b2Vec2; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; _local5 = new b2Vec2((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); _local6 = new b2Vec2((_arg4.x - _arg3.x), (_arg4.y - _arg3.y)); _local7 = (_arg3.x - _arg1.x); _local8 = (_arg3.y - _arg1.y); _local9 = ((_local7 * _local6.y) - (_local8 * _local6.x)); _local10 = ((_local5.x * _local6.y) - (_local5.y * _local6.x)); _local11 = (_local9 / _local10); _local12 = (_arg1.x + (_local5.x * _local11)); _local13 = (_arg1.y + (_local5.y * _local11)); return (new b2Vec2(_local12, _local13)); } } }//package com.nitrome.utilSection 134//Key (com.nitrome.util.Key) package com.nitrome.util { import flash.display.*; import flash.events.*; public class Key { public static const LEFT:uint = 37; public static const NUMPAD_DECIMAL:uint = 110; public static const A:uint = 65; public static const B:uint = 66; public static const C:uint = 67; public static const D:uint = 68; public static const E:uint = 69; public static const F:uint = 70; public static const G:uint = 71; public static const H:uint = 72; public static const I:uint = 73; public static const J:uint = 74; public static const K:uint = 75; public static const L:uint = 76; public static const M:uint = 77; public static const N:uint = 78; public static const O:uint = 79; public static const MINUS:uint = 189; public static const Q:uint = 81; public static const PAGE_DOWN:uint = 34; public static const S:uint = 83; public static const T:uint = 84; public static const U:uint = 85; public static const V:uint = 86; public static const P:uint = 80; public static const X:uint = 88; public static const R:uint = 82; public static const ALTERNATE:uint = 18; public static const QUOTE:uint = 222; public static const W:uint = 87; public static const BACKSPACE:uint = 8; public static const Y:uint = 89; public static const SHIFT:uint = 16; public static const PAGE_UP:uint = 33; public static const Z:uint = 90; public static const ESCAPE:uint = 27; public static const NUMPAD_ADD:uint = 107; public static const SEMICOLON:uint = 186; public static const UP:uint = 38; public static const DOWN:uint = 40; public static const F1:uint = 112; public static const F3:uint = 114; public static const F5:uint = 116; public static const F6:uint = 117; public static const F7:uint = 118; public static const F8:uint = 119; public static const F2:uint = 113; public static const F4:uint = 115; public static const ENTER:uint = 13; public static const INSERT:uint = 45; public static const END:uint = 35; public static const COMMA:uint = 188; public static const NUMBER_3:uint = 51; public static const NUMBER_5:uint = 53; public static const NUMBER_6:uint = 54; public static const NUMBER_0:uint = 48; public static const F9:uint = 120; public static const NUMBER_4:uint = 52; public static const NUMBER_7:uint = 55; public static const NUMBER_8:uint = 56; public static const NUMBER_2:uint = 50; public static const LEFTBRACKET:uint = 219; public static const NUMBER_9:uint = 57; public static const NUMBER_1:uint = 49; public static const BACKSLASH:uint = 220; public static const NUMPAD_MULTIPLY:uint = 106; public static const HOME:uint = 36; public static const F10:uint = 121; public static const F11:uint = 122; public static const F12:uint = 123; public static const F13:uint = 124; public static const F14:uint = 125; public static const SPACE:uint = 32; public static const F15:uint = 126; public static const RIGHTBRACKET:uint = 221; public static const EQUAL:uint = 187; public static const COMMAND:uint = 15; public static const CONTROL:uint = 17; public static const NUMPAD_ENTER:uint = 108; public static const NUMPAD:uint = 21; public static const TAB:uint = 9; public static const SLASH:uint = 191; public static const DELETE:uint = 46; public static const NUMPAD_DIVIDE:uint = 111; public static const NUMPAD_1:uint = 97; public static const NUMPAD_2:uint = 98; public static const NUMPAD_3:uint = 99; public static const NUMPAD_4:uint = 100; public static const NUMPAD_5:uint = 101; public static const NUMPAD_6:uint = 102; public static const NUMPAD_7:uint = 103; public static const NUMPAD_8:uint = 104; public static const NUMPAD_9:uint = 105; public static const PERIOD:uint = 190; public static const CAPS_LOCK:uint = 20; public static const NUMPAD_0:uint = 96; public static const BACKQUOTE:uint = 192; public static const NUMPAD_SUBTRACT:uint = 109; public static const RIGHT:uint = 39; protected static var keysDown:Object = new Object(); protected static var initialized:Boolean = false; public static function terminate(_arg1:Stage):void{ if (initialized){ _arg1.removeEventListener(KeyboardEvent.KEY_DOWN, keyPressed); _arg1.removeEventListener(KeyboardEvent.KEY_UP, keyReleased); _arg1.removeEventListener(Event.DEACTIVATE, clearKeys); initialized = false; keysDown = new Object(); }; } public static function isReady():Boolean{ return (initialized); } public static function keyReleased(_arg1:KeyboardEvent):void{ if ((_arg1.keyCode in keysDown)){ delete keysDown[_arg1.keyCode]; }; } public static function keyPressed(_arg1:KeyboardEvent):void{ keysDown[_arg1.keyCode] = true; } public static function isDown(_arg1:uint):Boolean{ if (!initialized){ }; return (Boolean((_arg1 in keysDown))); } public static function initialize(_arg1:Stage):void{ if (!initialized){ _arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed); _arg1.addEventListener(KeyboardEvent.KEY_UP, keyReleased); _arg1.addEventListener(Event.DEACTIVATE, clearKeys); initialized = true; }; } public static function clearKeys(_arg1:Event):void{ keysDown = new Object(); } } }//package com.nitrome.utilSection 135//Lock (com.nitrome.util.Lock) package com.nitrome.util { import flash.display.*; import flash.net.*; public class Lock extends MovieClip { public function Lock(){ addFrameScript(1, frame2); } function frame2(){ stop(); } public static function urlLock(_arg1:Stage):void{ var _local2:String; if (NitromeGame.isAtURL(NitromeGame.ARMOR) == true){ } else { _arg1.addChild(new (Lock)); _local2 = ("http://www.nitrome.com/games/" + NitromeGame.game_id); navigateToURL(new URLRequest(_local2), "_blank"); }; } } }//package com.nitrome.utilSection 136//MD5 (com.nitrome.util.MD5) package com.nitrome.util { public class MD5 { private var :int;// = 8 private var :String;// = "" public function MD5(_arg1:String=null, _arg2:int=0){ = ""; = 8; super(); if (_arg1 != null){ this. = _arg1; }; if (((((!((_arg2 == 0))) && ((_arg2 == 8)))) || ((_arg2 == 16)))){ this. = _arg2; }; } private function (_arg1:Array):String{ var _local2:String; var _local3:String; var _local4:int; var _local5:int; var _local6:int; _local2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; _local3 = new String(""); _local4 = 0; while (_local4 < (_arg1.length * 4)) { _local5 = (((((_arg1[(_local4 >> 2)] >> (8 * (_local4 % 4))) & 0xFF) << 16) | (((_arg1[((_local4 + 1) >> 2)] >> (8 * ((_local4 + 1) % 4))) & 0xFF) << 8)) | ((_arg1[((_local4 + 2) >> 2)] >> (8 * ((_local4 + 2) % 4))) & 0xFF)); _local6 = 0; while (_local6 < 4) { if (((_local4 * 8) + (_local6 * 6)) > (_arg1.length * 32)){ _local3 = (_local3 + ); } else { _local3 = (_local3 + _local2.charAt(((_local5 >> (6 * (3 - _local6))) & 63))); }; _local6++; }; _local4 = (_local4 + 3); }; return (_local3); } private function (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):int{ return ( ( ( ( (_arg2, _arg1), (_arg4, _arg6)), _arg5), _arg3)); } private function (_arg1:Array):String{ var _local2:String; var _local3:int; var _local4:int; _local2 = new String(""); _local3 = ((1 << ) - 1); _local4 = 0; while (_local4 < (_arg1.length * 32)) { _local2 = (_local2 + String.fromCharCode(((_arg1[(_local4 >> 5)] >>> (_local4 % 32)) & _local3))); _local4 = (_local4 + ); }; return (_local2); } private function (_arg1:String, _arg2:String):Array{ var _local3:Array; var _local4:Array; var _local5:Array; var _local6:int; var _local7:Array; _local3 = new Array( (_arg1)); if (_local3.length > 16){ _local3 = (_local3, (_arg1.length * )); }; _local4 = new Array(16); _local5 = new Array(16); _local6 = 0; while (_local6 < 16) { _local4[_local6] = (_local3[_local6] ^ 909522486); _local5[_local6] = (_local3[_local6] ^ 1549556828); _local6++; }; _local7 = new Array( (_local4.concat( (_arg2)), (0x0200 + (_arg2.length * )))); return ( (_local5.concat(_local7), (0x0200 + 128))); } private function (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return ((((_arg2 & _arg4) | (_arg3 & ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7)); } private function (_arg1:String, _arg2:String):String{ return ( ( (_arg1, _arg2))); } public function hash(_arg1:String):String{ return ( (_arg1)); } private function (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (((_arg3 ^ (_arg2 | ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7)); } private function (_arg1:String):String{ return ( ( ( (_arg1), (_arg1.length * )))); } private function (_arg1:int, _arg2:int):int{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } private function (_arg1:Array, _arg2:int):Array{ var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:int; var _local11:int; _arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (_arg2 % 32))); _arg1[((((_arg2 + 64) >>> 9) << 4) + 14)] = _arg2; _local3 = 1732584193; _local4 = -271733879; _local5 = -1732584194; _local6 = 271733878; _local7 = 0; while (_local7 < _arg1.length) { _local8 = _local3; _local9 = _local4; _local10 = _local5; _local11 = _local6; _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 7, -680876936); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 1)], 12, -389564586); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 17, 606105819); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 3)], 22, -1044525330); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 7, -176418897); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 5)], 12, 1200080426); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 17, -1473231341); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 7)], 22, -45705983); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 7, 1770035416); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 9)], 12, -1958414417); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 17, -42063); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 11)], 22, -1990404162); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 7, 1804603682); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 13)], 12, -40341101); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 17, -1502002290); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 15)], 22, 1236535329); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 5, -165796510); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 6)], 9, -1069501632); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 14, 643717713); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 0)], 20, -373897302); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 5, -701558691); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 10)], 9, 38016083); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 14, -660478335); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 4)], 20, -405537848); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 5, 568446438); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 14)], 9, -1019803690); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 14, -187363961); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 8)], 20, 1163531501); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 5, -1444681467); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 2)], 9, -51403784); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 14, 1735328473); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 12)], 20, -1926607734); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 4, -378558); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 8)], 11, -2022574463); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 16, 1839030562); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 14)], 23, -35309556); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 4, -1530992060); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 4)], 11, 1272893353); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 16, -155497632); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 10)], 23, -1094730640); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 4, 681279174); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 0)], 11, -358537222); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 16, -722521979); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 6)], 23, 76029189); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 4, -640364487); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 12)], 11, -421815835); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 16, 530742520); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 2)], 23, -995338651); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 6, -198630844); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 7)], 10, 1126891415); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 15, -1416354905); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 5)], 21, -57434055); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 6, 1700485571); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 3)], 10, -1894986606); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 15, -1051523); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 1)], 21, -2054922799); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 6, 1873313359); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 15)], 10, -30611744); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 15, -1560198380); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 13)], 21, 1309151649); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 6, -145523070); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 11)], 10, -1120210379); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 15, 718787259); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 9)], 21, -343485551); _local3 = (_local3, _local8); _local4 = (_local4, _local9); _local5 = (_local5, _local10); _local6 = (_local6, _local11); _local7 = (_local7 + 16); }; return (new Array(_local3, _local4, _local5, _local6)); } private function (_arg1:String):String{ return (( ( (_arg1), (_arg1.length * )))); } private function (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return ((((_arg2 ^ _arg3) ^ _arg4), _arg1, _arg2, _arg5, _arg6, _arg7)); } private function (_arg1:String, _arg2:String):String{ return (( (_arg1, _arg2))); } private function (_arg1:String):Array{ var _local2:Array; var _local3:int; var _local4:int; _local2 = new Array(); _local3 = ((1 << ) - 1); _local4 = 0; while (_local4 < (_arg1.length * )) { _local2[(_local4 >> 5)] = (_local2[(_local4 >> 5)] | ((_arg1.charCodeAt((_local4 / )) & _local3) << (_local4 % 32))); _local4 = (_local4 + ); }; return (_local2); } private function (_arg1:Array):String{ var _local2:String; var _local3:String; var _local4:int; _local2 = "0123456789abcdef"; _local3 = new String(""); _local4 = 0; while (_local4 < (_arg1.length * 4)) { _local3 = (_local3 + (_local2.charAt(((_arg1[(_local4 >> 2)] >> (((_local4 % 4) * 8) + 4)) & 15)) + _local2.charAt(((_arg1[(_local4 >> 2)] >> ((_local4 % 4) * 8)) & 15)))); _local4++; }; return (_local3); } private function (_arg1:Number, _arg2:Number):Number{ var _local3:int; var _local4:int; _local3 = ((_arg1 & 0xFFFF) + (_arg2 & 0xFFFF)); _local4 = (((_arg1 >> 16) + (_arg2 >> 16)) + (_local3 >> 16)); return (((_local4 << 16) | (_local3 & 0xFFFF))); } private function (_arg1:String):String{ return ( ( ( (_arg1), (_arg1.length * )))); } private function (_arg1:String, _arg2:String):String{ return ( ( (_arg1, _arg2))); } private function (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return ((((_arg2 & _arg3) | (~(_arg2) & _arg4)), _arg1, _arg2, _arg5, _arg6, _arg7)); } } }//package com.nitrome.utilSection 137//Trig (com.nitrome.util.Trig) package com.nitrome.util { public class Trig { protected static var hasSetup:Boolean = false; public static var cos:Array; public static var sin:Array; public static function getCos(_arg1:Number):Number{ _arg1 = (_arg1 % 360); if (_arg1 < 0){ _arg1 = (_arg1 + 360); }; return (cos[(_arg1 << 0)]); } public static function getSin(_arg1:Number):Number{ _arg1 = (_arg1 % 360); if (_arg1 < 0){ _arg1 = (_arg1 + 360); }; return (sin[(_arg1 << 0)]); } public static function setup():void{ var _local1:int; if (hasSetup){ return; }; sin = []; cos = []; _local1 = 0; while (_local1 <= 360) { sin[_local1] = Math.sin(((_local1 * Math.PI) / 180)); cos[_local1] = Math.cos(((_local1 * Math.PI) / 180)); _local1++; }; } } }//package com.nitrome.utilSection 138//BaseButton (fl.controls.BaseButton) package fl.controls { import flash.display.*; import flash.events.*; import fl.core.*; import fl.events.*; import flash.utils.*; public class BaseButton extends UIComponent { protected var _selected:Boolean;// = false private var :String; protected var :Timer; protected var mouseState:String; protected var background:DisplayObject; private var :Boolean;// = false protected var :Boolean;// = false private static var defaultStyles:Object = {upSkin:"Button_upSkin", downSkin:"Button_downSkin", overSkin:"Button_overSkin", disabledSkin:"Button_disabledSkin", selectedDisabledSkin:"Button_selectedDisabledSkin", selectedUpSkin:"Button_selectedUpSkin", selectedDownSkin:"Button_selectedDownSkin", selectedOverSkin:"Button_selectedOverSkin", focusRectSkin:null, focusRectPadding:null, repeatDelay:500, repeatInterval:35}; public function BaseButton(){ _selected = false; = false; = false; super(); buttonMode = true; mouseChildren = false; useHandCursor = false; (); setMouseState("up"); = new Timer(1, 0); .addEventListener(TimerEvent.TIMER, buttonDown, false, 0, true); } protected function endPress():void{ .reset(); } public function set mouseStateLocked(_arg1:Boolean):void{ = _arg1; if (_arg1 == false){ setMouseState( ); } else { = mouseState; }; } public function get autoRepeat():Boolean{ return (); } public function set autoRepeat(_arg1:Boolean):void{ = _arg1; } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; mouseEnabled = _arg1; } public function get selected():Boolean{ return (_selected); } protected function (_arg1:MouseEvent):void{ if (_arg1.type == MouseEvent.MOUSE_DOWN){ setMouseState("down"); startPress(); } else { if ((((_arg1.type == MouseEvent.ROLL_OVER)) || ((_arg1.type == MouseEvent.MOUSE_UP)))){ setMouseState("over"); endPress(); } else { if (_arg1.type == MouseEvent.ROLL_OUT){ setMouseState("up"); endPress(); }; }; }; } public function setMouseState(_arg1:String):void{ if (){ = _arg1; return; }; if (mouseState == _arg1){ return; }; mouseState = _arg1; invalidate(InvalidationType.STATE); } protected function startPress():void{ if (){ .delay = Number(getStyleValue("repeatDelay")); .start(); }; dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true)); } protected function buttonDown(_arg1:TimerEvent):void{ if (!){ endPress(); return; }; if ( .currentCount == 1){ .delay = Number(getStyleValue("repeatInterval")); }; dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true)); } public function set selected(_arg1:Boolean):void{ if (_selected == _arg1){ return; }; _selected = _arg1; invalidate(InvalidationType.STATE); } override public function get enabled():Boolean{ return (super.enabled); } override protected function draw():void{ if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ drawBackground(); invalidate(InvalidationType.SIZE, false); }; if (isInvalid(InvalidationType.SIZE)){ drawLayout(); }; super.draw(); } protected function ():void{ addEventListener(MouseEvent.ROLL_OVER, , false, 0, true); addEventListener(MouseEvent.MOUSE_DOWN, , false, 0, true); addEventListener(MouseEvent.MOUSE_UP, , false, 0, true); addEventListener(MouseEvent.ROLL_OUT, , false, 0, true); } protected function drawLayout():void{ background.width = width; background.height = height; } protected function drawBackground():void{ var _local1:String; var _local2:DisplayObject; _local1 = (enabled) ? mouseState : "disabled"; if (selected){ _local1 = (("selected" + _local1.substr(0, 1).toUpperCase()) + _local1.substr(1)); }; _local1 = (_local1 + "Skin"); _local2 = background; background = getDisplayObjectInstance(getStyleValue(_local1)); addChildAt(background, 0); if (((!((_local2 == null))) && (!((_local2 == background))))){ removeChild(_local2); }; } public static function getStyleDefinition():Object{ return (defaultStyles); } } }//package fl.controlsSection 139//Button (fl.controls.Button) package fl.controls { import flash.display.*; import fl.core.*; import fl.managers.*; public class Button extends LabelButton implements IFocusManagerComponent { protected var :DisplayObject; protected var :Boolean;// = false private static var defaultStyles:Object = {emphasizedSkin:"Button_emphasizedSkin", emphasizedPadding:2}; public static var createAccessibilityImplementation:Function; public function Button(){ = false; super(); } override public function drawFocus(_arg1:Boolean):void{ var _local2:Number; var _local3:*; super.drawFocus(_arg1); if (_arg1){ _local2 = Number(getStyleValue("emphasizedPadding")); if ((((_local2 < 0)) || (!( )))){ _local2 = 0; }; _local3 = getStyleValue("focusRectPadding"); _local3 = ((_local3)==null) ? 2 : _local3; _local3 = (_local3 + _local2); uiFocusRect.x = -(_local3); uiFocusRect.y = -(_local3); uiFocusRect.width = (width + (_local3 * 2)); uiFocusRect.height = (height + (_local3 * 2)); }; } public function set emphasized(_arg1:Boolean):void{ = _arg1; invalidate(InvalidationType.STYLES); } override protected function draw():void{ if (((isInvalid(InvalidationType.STYLES)) || (isInvalid(InvalidationType.SIZE)))){ (); }; super.draw(); if ( != null){ setChildIndex( , (numChildren - 1)); }; } public function get emphasized():Boolean{ return ( ); } override protected function initializeAccessibility():void{ if (Button.createAccessibilityImplementation != null){ Button.createAccessibilityImplementation(this); }; } protected function ():void{ var _local1:Object; var _local2:Number; if ( != null){ removeChild( ); }; = null; if (! ){ return; }; _local1 = getStyleValue("emphasizedSkin"); if (_local1 != null){ = getDisplayObjectInstance(_local1); }; if ( != null){ addChildAt( , 0); _local2 = Number(getStyleValue("emphasizedPadding")); .x = ( .y = -(_local2)); .width = (width + (_local2 * 2)); .height = (height + (_local2 * 2)); }; } public static function getStyleDefinition():Object{ return (UIComponent.mergeStyles(LabelButton.getStyleDefinition(), defaultStyles)); } } }//package fl.controlsSection 140//ButtonLabelPlacement (fl.controls.ButtonLabelPlacement) package fl.controls { public class ButtonLabelPlacement { public static const TOP:String = "top"; public static const LEFT:String = "left"; public static const BOTTOM:String = "bottom"; public static const RIGHT:String = "right"; } }//package fl.controlsSection 141//CheckBox (fl.controls.CheckBox) package fl.controls { import flash.display.*; public class CheckBox extends LabelButton { private static var defaultStyles:Object = {icon:null, upIcon:"CheckBox_upIcon", downIcon:"CheckBox_downIcon", overIcon:"CheckBox_overIcon", disabledIcon:"CheckBox_disabledIcon", selectedDisabledIcon:"CheckBox_selectedDisabledIcon", focusRectSkin:null, focusRectPadding:null, selectedUpIcon:"CheckBox_selectedUpIcon", selectedDownIcon:"CheckBox_selectedDownIcon", selectedOverIcon:"CheckBox_selectedOverIcon", textFormat:null, disabledTextFormat:null, embedFonts:null, textPadding:5}; public static var createAccessibilityImplementation:Function; override public function drawFocus(_arg1:Boolean):void{ var _local2:Number; super.drawFocus(_arg1); if (_arg1){ _local2 = Number(getStyleValue("focusRectPadding")); uiFocusRect.x = (background.x - _local2); uiFocusRect.y = (background.y - _local2); uiFocusRect.width = (background.width + (_local2 << 1)); uiFocusRect.height = (background.height + (_local2 << 1)); }; } override public function get autoRepeat():Boolean{ return (false); } override public function set autoRepeat(_arg1:Boolean):void{ } override public function set toggle(_arg1:Boolean):void{ throw (new Error("Warning: You cannot change a CheckBox's toggle.")); } override public function get toggle():Boolean{ return (true); } override protected function configUI():void{ var _local1:Shape; var _local2:Graphics; super.configUI(); super.toggle = true; _local1 = new Shape(); _local2 = _local1.graphics; _local2.beginFill(0, 0); _local2.drawRect(0, 0, 100, 100); _local2.endFill(); background = (_local1 as DisplayObject); addChildAt(background, 0); } override protected function drawLayout():void{ var _local1:Number; super.drawLayout(); _local1 = Number(getStyleValue("textPadding")); switch (_labelPlacement){ case ButtonLabelPlacement.RIGHT: icon.x = _local1; textField.x = (icon.x + (icon.width + _local1)); background.width = ((textField.x + textField.width) + _local1); background.height = (Math.max(textField.height, icon.height) + (_local1 * 2)); break; case ButtonLabelPlacement.LEFT: icon.x = ((width - icon.width) - _local1); textField.x = (((width - icon.width) - (_local1 * 2)) - textField.width); background.width = ((textField.width + icon.width) + (_local1 * 3)); background.height = (Math.max(textField.height, icon.height) + (_local1 * 2)); break; case ButtonLabelPlacement.TOP: case ButtonLabelPlacement.BOTTOM: background.width = (Math.max(textField.width, icon.width) + (_local1 * 2)); background.height = ((textField.height + icon.height) + (_local1 * 3)); break; }; background.x = Math.min((icon.x - _local1), (textField.x - _local1)); background.y = Math.min((icon.y - _local1), (textField.y - _local1)); } override protected function drawBackground():void{ } override protected function initializeAccessibility():void{ if (CheckBox.createAccessibilityImplementation != null){ CheckBox.createAccessibilityImplementation(this); }; } public static function getStyleDefinition():Object{ return (defaultStyles); } } }//package fl.controlsSection 142//LabelButton (fl.controls.LabelButton) package fl.controls { import flash.display.*; import flash.events.*; import fl.core.*; import fl.managers.*; import fl.events.*; import flash.text.*; import flash.ui.*; public class LabelButton extends BaseButton implements IFocusManagerComponent { protected var _labelPlacement:String;// = "right" protected var :Boolean;// = false protected var icon:DisplayObject; protected var :String; protected var mode:String;// = "center" public var textField:TextField; protected var :String;// = "Label" private static var defaultStyles:Object = {icon:null, upIcon:null, downIcon:null, overIcon:null, disabledIcon:null, selectedDisabledIcon:null, selectedUpIcon:null, selectedDownIcon:null, selectedOverIcon:null, textFormat:null, disabledTextFormat:null, textPadding:5, embedFonts:false}; public static var createAccessibilityImplementation:Function; public function LabelButton(){ _labelPlacement = ButtonLabelPlacement.RIGHT; = false; = "Label"; mode = "center"; super(); } protected function (_arg1:MouseEvent):void{ selected = !(selected); dispatchEvent(new Event(Event.CHANGE, true)); } public function get labelPlacement():String{ return (_labelPlacement); } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ if (!enabled){ return; }; if (_arg1.keyCode == Keyboard.SPACE){ if ( == null){ = mouseState; }; setMouseState("down"); startPress(); }; } protected function (){ var _local1:Object; _local1 = getStyleValue("embedFonts"); if (_local1 != null){ textField.embedFonts = _local1; }; } override protected function keyUpHandler(_arg1:KeyboardEvent):void{ if (!enabled){ return; }; if (_arg1.keyCode == Keyboard.SPACE){ setMouseState( ); = null; endPress(); dispatchEvent(new MouseEvent(MouseEvent.CLICK)); }; } override public function get selected():Boolean{ return (( ) ? _selected : false); } public function set labelPlacement(_arg1:String):void{ _labelPlacement = _arg1; invalidate(InvalidationType.SIZE); } public function set toggle(_arg1:Boolean):void{ if (((!(_arg1)) && (super.selected))){ selected = false; }; = _arg1; if ( ){ addEventListener(MouseEvent.CLICK, , false, 0, true); } else { removeEventListener(MouseEvent.CLICK, ); }; invalidate(InvalidationType.STATE); } public function get label():String{ return ( ); } override public function set selected(_arg1:Boolean):void{ _selected = _arg1; if ( ){ invalidate(InvalidationType.STATE); }; } override protected function draw():void{ if (textField.text != ){ label = ; }; if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ drawBackground(); (); (); invalidate(InvalidationType.SIZE, false); }; if (isInvalid(InvalidationType.SIZE)){ drawLayout(); }; if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){ if (((isFocused) && (focusManager.showFocusIndicator))){ drawFocus(true); }; }; validate(); } public function get toggle():Boolean{ return ( ); } override protected function configUI():void{ super.configUI(); textField = new TextField(); textField.type = TextFieldType.DYNAMIC; textField.selectable = false; addChild(textField); } override protected function drawLayout():void{ var _local1:Number; var _local2:String; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local1 = Number(getStyleValue("textPadding")); _local2 = ((((icon == null)) && ((mode == "center")))) ? ButtonLabelPlacement.TOP : _labelPlacement; textField.height = (textField.textHeight + 4); _local3 = (textField.textWidth + 4); _local4 = (textField.textHeight + 4); _local5 = ((icon)==null) ? 0 : (icon.width + _local1); _local6 = ((icon)==null) ? 0 : (icon.height + _local1); textField.visible = (label.length > 0); if (icon != null){ icon.x = Math.round(((width - icon.width) / 2)); icon.y = Math.round(((height - icon.height) / 2)); }; if (textField.visible == false){ textField.width = 0; textField.height = 0; } else { if ((((_local2 == ButtonLabelPlacement.BOTTOM)) || ((_local2 == ButtonLabelPlacement.TOP)))){ _local7 = Math.max(0, Math.min(_local3, (width - (2 * _local1)))); if ((height - 2) > _local4){ _local8 = _local4; } else { _local8 = (height - 2); }; _local3 = _local7; textField.width = _local3; _local4 = _local8; textField.height = _local4; textField.x = Math.round(((width - _local3) / 2)); textField.y = Math.round(((((height - textField.height) - _local6) / 2) + ((_local2)==ButtonLabelPlacement.BOTTOM) ? _local6 : 0)); if (icon != null){ icon.y = Math.round(((_local2)==ButtonLabelPlacement.BOTTOM) ? (textField.y - _local6) : ((textField.y + textField.height) + _local1)); }; } else { _local7 = Math.max(0, Math.min(_local3, ((width - _local5) - (2 * _local1)))); _local3 = _local7; textField.width = _local3; textField.x = Math.round(((((width - _local3) - _local5) / 2) + ((_local2)!=ButtonLabelPlacement.LEFT) ? _local5 : 0)); textField.y = Math.round(((height - textField.height) / 2)); if (icon != null){ icon.x = Math.round(((_local2)!=ButtonLabelPlacement.LEFT) ? (textField.x - _local5) : ((textField.x + _local3) + _local1)); }; }; }; super.drawLayout(); } override protected function initializeAccessibility():void{ if (LabelButton.createAccessibilityImplementation != null){ LabelButton.createAccessibilityImplementation(this); }; } protected function ():void{ var _local1:DisplayObject; var _local2:String; var _local3:Object; _local1 = icon; _local2 = (enabled) ? mouseState : "disabled"; if (selected){ _local2 = (("selected" + _local2.substr(0, 1).toUpperCase()) + _local2.substr(1)); }; _local2 = (_local2 + "Icon"); _local3 = getStyleValue(_local2); if (_local3 == null){ _local3 = getStyleValue("icon"); }; if (_local3 != null){ icon = getDisplayObjectInstance(_local3); }; if (icon != null){ addChildAt(icon, 1); }; if (((!((_local1 == null))) && (!((_local1 == icon))))){ removeChild(_local1); }; } public function set label(_arg1:String):void{ = _arg1; if (textField.text != ){ textField.text = ; dispatchEvent(new ComponentEvent(ComponentEvent.LABEL_CHANGE)); }; invalidate(InvalidationType.SIZE); invalidate(InvalidationType.STYLES); } protected function ():void{ var _local1:Object; var _local2:TextFormat; var _local3:TextFormat; _local1 = UIComponent.getStyleDefinition(); _local2 = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat); textField.setTextFormat(_local2); _local3 = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat); if (_local3 != null){ textField.setTextFormat(_local3); } else { _local3 = _local2; }; textField.defaultTextFormat = _local3; (); } public static function getStyleDefinition():Object{ return (mergeStyles(defaultStyles, BaseButton.getStyleDefinition())); } } }//package fl.controlsSection 143//ScrollBar (fl.controls.ScrollBar) package fl.controls { import flash.events.*; import fl.core.*; import fl.events.*; public class ScrollBar extends UIComponent { private var :String;// = "vertical" protected var inDrag:Boolean;// = false protected var :BaseButton; private var :Number;// = 0 protected var :BaseButton; private var :Number;// = 10 private var :Number; private var :Number;// = 0 private var :Number;// = 0 protected var :BaseButton; private var :Number;// = 0 private var :Number;// = 1 protected var :LabelButton; protected static const THUMB_STYLES:Object = {disabledSkin:"thumbDisabledSkin", downSkin:"thumbDownSkin", overSkin:"thumbOverSkin", upSkin:"thumbUpSkin", icon:"thumbIcon", textPadding:0}; public static const WIDTH:Number = 15; protected static const DOWN_ARROW_STYLES:Object = {disabledSkin:"downArrowDisabledSkin", downSkin:"downArrowDownSkin", overSkin:"downArrowOverSkin", upSkin:"downArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; protected static const UP_ARROW_STYLES:Object = {disabledSkin:"upArrowDisabledSkin", downSkin:"upArrowDownSkin", overSkin:"upArrowOverSkin", upSkin:"upArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; protected static const TRACK_STYLES:Object = {disabledSkin:"trackDisabledSkin", downSkin:"trackDownSkin", overSkin:"trackOverSkin", upSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; private static var defaultStyles:Object = {downArrowDisabledSkin:"ScrollArrowDown_disabledSkin", downArrowDownSkin:"ScrollArrowDown_downSkin", downArrowOverSkin:"ScrollArrowDown_overSkin", downArrowUpSkin:"ScrollArrowDown_upSkin", thumbDisabledSkin:"ScrollThumb_upSkin", thumbDownSkin:"ScrollThumb_downSkin", thumbOverSkin:"ScrollThumb_overSkin", thumbUpSkin:"ScrollThumb_upSkin", trackDisabledSkin:"ScrollTrack_skin", trackDownSkin:"ScrollTrack_skin", trackOverSkin:"ScrollTrack_skin", trackUpSkin:"ScrollTrack_skin", upArrowDisabledSkin:"ScrollArrowUp_disabledSkin", upArrowDownSkin:"ScrollArrowUp_downSkin", upArrowOverSkin:"ScrollArrowUp_overSkin", upArrowUpSkin:"ScrollArrowUp_upSkin", thumbIcon:"ScrollBar_thumbIcon", repeatDelay:500, repeatInterval:35}; public function ScrollBar(){ = 10; = 0; = 1; = 0; = 0; = 0; = ScrollBarDirection.VERTICAL; inDrag = false; super(); (); focusEnabled = false; } public function get minScrollPosition():Number{ return ( ); } public function set minScrollPosition(_arg1:Number):void{ setScrollProperties(, _arg1, ); } public function setScrollPosition(_arg1:Number, _arg2:Boolean=true):void{ var _local3:Number; _local3 = scrollPosition; = Math.max( , Math.min(, _arg1)); if (_local3 == ){ return; }; if (_arg2){ dispatchEvent(new ScrollEvent(, (scrollPosition - _local3), scrollPosition)); }; (); } public function set scrollPosition(_arg1:Number):void{ setScrollPosition(_arg1, true); } public function get pageScrollSize():Number{ return ((()==0) ? : ); } public function set pageSize(_arg1:Number):void{ if (_arg1 > 0){ = _arg1; }; } public function setScrollProperties(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0):void{ this.pageSize = _arg1; = _arg2; = _arg3; if (_arg4 >= 0){ = _arg4; }; enabled = ( > ); setScrollPosition( , false); (); } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; .enabled = ( .enabled = ( .enabled = (.enabled = ((enabled) && (( > )))))); (); } protected function ():void{ var _local1:Number; _local1 = (( - ) + ); if (((((( .height <= 12)) || (( <= )))) || ((((_local1 == 0)) || (isNaN(_local1)))))){ .height = 12; .visible = false; } else { .height = Math.max(13, (( / _local1) * .height)); .y = ( .y + (( .height - .height) * (( - ) / ( - )))); .visible = enabled; }; } protected function (_arg1:MouseEvent):void{ inDrag = true; = (mouseY - .y); .mouseStateLocked = true; mouseChildren = false; stage.addEventListener(MouseEvent.MOUSE_MOVE, , false, 0, true); stage.addEventListener(MouseEvent.MOUSE_UP, , false, 0, true); } protected function (_arg1:MouseEvent):void{ inDrag = false; mouseChildren = true; .mouseStateLocked = false; stage.removeEventListener(MouseEvent.MOUSE_MOVE, ); stage.removeEventListener(MouseEvent.MOUSE_UP, ); } public function set pageScrollSize(_arg1:Number):void{ if (_arg1 >= 0){ = _arg1; }; } protected function (_arg1:MouseEvent):void{ var _local2:Number; _local2 = Math.max(0, Math.min(( .height - .height), ((mouseY - .y) - ))); setScrollPosition((((_local2 / ( .height - .height)) * ( - )) + )); } public function set direction(_arg1:String):void{ var _local2:Boolean; if ( == _arg1){ return; }; = _arg1; if (isLivePreview){ return; }; setScaleY(1); _local2 = ( == ScrollBarDirection.HORIZONTAL); if (((_local2) && (componentInspectorSetting))){ if (rotation == 90){ return; }; setScaleX(-1); rotation = -90; }; if (!componentInspectorSetting){ if (((_local2) && ((rotation == 0)))){ rotation = -90; setScaleX(-1); } else { if (((!(_local2)) && ((rotation == -90)))){ rotation = 0; setScaleX(1); }; }; }; invalidate(InvalidationType.SIZE); } public function set lineScrollSize(_arg1:Number):void{ if (_arg1 > 0){ = _arg1; }; } override public function get height():Number{ return ((()==ScrollBarDirection.HORIZONTAL) ? super.width : super.height); } protected function (_arg1:ComponentEvent):void{ var _local2:Number; var _local3:Number; _arg1.stopImmediatePropagation(); if (_arg1.currentTarget == ){ setScrollPosition(( - )); } else { if (_arg1.currentTarget == ){ setScrollPosition(( + )); } else { _local2 = ((( .mouseY / .height) * ( - )) + ); _local3 = ((pageScrollSize)==0) ? pageSize : pageScrollSize; if ( < _local2){ setScrollPosition(Math.min(_local2, ( + _local3))); } else { if ( > _local2){ setScrollPosition(Math.max(_local2, ( - _local3))); }; }; }; }; } public function get pageSize():Number{ return (); } public function set maxScrollPosition(_arg1:Number):void{ setScrollProperties(, , _arg1); } public function get scrollPosition():Number{ return ( ); } override public function get enabled():Boolean{ return (super.enabled); } override protected function draw():void{ var _local1:Number; if (isInvalid(InvalidationType.SIZE)){ _local1 = super.height; .move(0, Math.max(.height, (_local1 - .height))); .setSize(WIDTH, Math.max(0, (_local1 - (.height + .height)))); (); }; if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ (); }; .drawNow(); .drawNow(); .drawNow(); .drawNow(); validate(); } override protected function configUI():void{ super.configUI(); = new BaseButton(); .move(0, 14); .useHandCursor = false; .autoRepeat = true; .focusEnabled = false; addChild( ); = new LabelButton(); .label = ""; .setSize(WIDTH, 15); .move(0, 15); .focusEnabled = false; addChild( ); = new BaseButton(); .setSize(WIDTH, 14); .autoRepeat = true; .focusEnabled = false; addChild(); = new BaseButton(); .setSize(WIDTH, 14); .move(0, 0); .autoRepeat = true; .focusEnabled = false; addChild(); .addEventListener(ComponentEvent.BUTTON_DOWN, , false, 0, true); .addEventListener(ComponentEvent.BUTTON_DOWN, , false, 0, true); .addEventListener(ComponentEvent.BUTTON_DOWN, , false, 0, true); .addEventListener(MouseEvent.MOUSE_DOWN, , false, 0, true); enabled = false; } public function get direction():String{ return (); } public function get lineScrollSize():Number{ return ( ); } override public function setSize(_arg1:Number, _arg2:Number):void{ if ( == ScrollBarDirection.HORIZONTAL){ super.setSize(_arg2, _arg1); } else { super.setSize(_arg1, _arg2); }; } public function get maxScrollPosition():Number{ return (); } override public function get width():Number{ return ((()==ScrollBarDirection.HORIZONTAL) ? super.height : super.width); } protected function ():void{ copyStylesToChild(, DOWN_ARROW_STYLES); copyStylesToChild( , THUMB_STYLES); copyStylesToChild( , TRACK_STYLES); copyStylesToChild(, UP_ARROW_STYLES); } public static function getStyleDefinition():Object{ return (defaultStyles); } } }//package fl.controlsSection 144//ScrollBarDirection (fl.controls.ScrollBarDirection) package fl.controls { public class ScrollBarDirection { public static const HORIZONTAL:String = "horizontal"; public static const VERTICAL:String = "vertical"; } }//package fl.controlsSection 145//UIScrollBar (fl.controls.UIScrollBar) package fl.controls { import flash.events.*; import fl.core.*; import fl.events.*; import flash.text.*; public class UIScrollBar extends ScrollBar { protected var :Boolean;// = false protected var :TextField; protected var :Boolean;// = false private static var defaultStyles:Object = {}; public function UIScrollBar(){ = false; = false; super(); } protected function (_arg1:Event):void{ if (inDrag){ return; }; if (!enabled){ return; }; = true; (); scrollPosition = ((direction)==ScrollBarDirection.HORIZONTAL) ? .scrollH : .scrollV; = false; } override public function set minScrollPosition(_arg1:Number):void{ super.minScrollPosition = ((_arg1)<0) ? 0 : _arg1; } override public function setScrollPosition(_arg1:Number, _arg2:Boolean=true):void{ super.setScrollPosition(_arg1, _arg2); if (! ){ = false; return; }; (); } override public function setScrollProperties(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0):void{ var _local5:Number; var _local6:Number; _local5 = _arg3; _local6 = ((_arg2)<0) ? 0 : _arg2; if ( != null){ if (direction == ScrollBarDirection.HORIZONTAL){ _local5 = ((_arg3)> .maxScrollH) ? .maxScrollH : _local5; } else { _local5 = ((_arg3)> .maxScrollV) ? .maxScrollV : _local5; }; }; super.setScrollProperties(_arg1, _local6, _local5, _arg4); } public function get scrollTargetName():String{ return ( .name); } public function get scrollTarget():TextField{ return ( ); } protected function ():void{ var _local1:Boolean; var _local2:Number; if ( == null){ setScrollProperties(pageSize, minScrollPosition, maxScrollPosition, pageScrollSize); scrollPosition = 0; } else { _local1 = (direction == ScrollBarDirection.HORIZONTAL); _local2 = (_local1) ? .width : 10; setScrollProperties(_local2, (_local1) ? 0 : 1, (_local1) ? .maxScrollH : .maxScrollV, pageScrollSize); scrollPosition = (_local1) ? .scrollH : .scrollV; }; } public function update():void{ = true; (); = false; } public function set scrollTargetName(_arg1:String):void{ var target = _arg1; try { scrollTarget = (parent.getChildByName(target) as TextField); } catch(error:Error) { throw (new Error("ScrollTarget not found, or is not a TextField")); }; } override public function set direction(_arg1:String):void{ if (isLivePreview){ return; }; super.direction = _arg1; (); } protected function (_arg1:Event):void{ = true; setScrollPosition(((direction)==ScrollBarDirection.HORIZONTAL) ? .scrollH : .scrollV, true); (); = false; } override public function set maxScrollPosition(_arg1:Number):void{ var _local2:Number; _local2 = _arg1; if ( != null){ if (direction == ScrollBarDirection.HORIZONTAL){ _local2 = ((_local2)> .maxScrollH) ? .maxScrollH : _local2; } else { _local2 = ((_local2)> .maxScrollV) ? .maxScrollV : _local2; }; }; super.maxScrollPosition = _local2; } protected function (_arg1:ScrollEvent=null):void{ if ( ){ return; }; if (direction == ScrollBarDirection.HORIZONTAL){ .scrollH = scrollPosition; } else { .scrollV = scrollPosition; }; } override protected function draw():void{ if (isInvalid(InvalidationType.DATA)){ (); }; super.draw(); } public function set scrollTarget(_arg1:TextField):void{ if ( != null){ .removeEventListener(Event.CHANGE, , false); .removeEventListener(TextEvent.TEXT_INPUT, , false); .removeEventListener(Event.SCROLL, , false); removeEventListener(ScrollEvent.SCROLL, , false); }; = _arg1; if ( != null){ .addEventListener(Event.CHANGE, , false, 0, true); .addEventListener(TextEvent.TEXT_INPUT, , false, 0, true); .addEventListener(Event.SCROLL, , false, 0, true); addEventListener(ScrollEvent.SCROLL, , false, 0, true); }; invalidate(InvalidationType.DATA); } override public function get direction():String{ return (super.direction); } public static function getStyleDefinition():Object{ return (UIComponent.mergeStyles(defaultStyles, ScrollBar.getStyleDefinition())); } } }//package fl.controlsSection 146//ComponentShim (fl.core.ComponentShim) package fl.core { import flash.display.*; public dynamic class ComponentShim extends MovieClip { } }//package fl.coreSection 147//InvalidationType (fl.core.InvalidationType) package fl.core { public class InvalidationType { public static const SIZE:String = "size"; public static const ALL:String = "all"; public static const DATA:String = "data"; public static const SCROLL:String = "scroll"; public static const STATE:String = "state"; public static const STYLES:String = "styles"; public static const SELECTED:String = "selected"; public static const RENDERER_STYLES:String = "rendererStyles"; } }//package fl.coreSection 148//UIComponent (fl.core.UIComponent) package fl.core { import flash.display.*; import flash.events.*; import fl.managers.*; import fl.events.*; import flash.text.*; import flash.utils.*; import flash.system.*; public class UIComponent extends Sprite { protected var :Boolean;// = true private var :Boolean;// = true protected var :Number; protected var :Number; protected var :String;// = null protected var :Number; public var :IFocusManagerComponent; protected var :Boolean;// = false protected var uiFocusRect:DisplayObject; protected var :Number; public var :String;// = "3.0.0.15" protected var isFocused:Boolean;// = false protected var :Dictionary; private var :Boolean;// = true private var :TextField; protected var :Boolean;// = false protected var :Boolean;// = false protected var :Object; protected var :Object; protected var isLivePreview:Boolean;// = false protected var :String;// = null protected var :Object; protected var _x:Number; protected var :Number; public static var inCallLaterPhase:Boolean = false; private static var defaultStyles:Object = {focusRectSkin:"focusRectSkin", focusRectPadding:2, textFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), disabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultTextFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultDisabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0)}; public static var createAccessibilityImplementation:Function; private static var focusManagers:Dictionary = new Dictionary(false); public function UIComponent(){ = "3.0.0.15"; isLivePreview = false; = false; = true; isFocused = false; = true; = true; = null; = null; = false; = false; super(); = {}; = {}; = {}; = new Dictionary(); StyleManager.registerInstance(this); configUI(); invalidate(InvalidationType.ALL); tabEnabled = (this is IFocusManagerComponent); focusRect = false; if (tabEnabled){ addEventListener(FocusEvent.FOCUS_IN, ); addEventListener(FocusEvent.FOCUS_OUT, ); addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); }; (); addEventListener(Event.ENTER_FRAME, , false, 0, true); } public function drawFocus(_arg1:Boolean):void{ var _local2:Number; isFocused = _arg1; if (((!((uiFocusRect == null))) && (contains(uiFocusRect)))){ removeChild(uiFocusRect); uiFocusRect = null; }; if (_arg1){ uiFocusRect = (getDisplayObjectInstance(getStyleValue("focusRectSkin")) as Sprite); if (uiFocusRect == null){ return; }; _local2 = Number(getStyleValue("focusRectPadding")); uiFocusRect.x = -(_local2); uiFocusRect.y = -(_local2); uiFocusRect.width = (width + (_local2 * 2)); uiFocusRect.height = (height + (_local2 * 2)); addChildAt(uiFocusRect, 0); }; } private function (_arg1:Event):void{ var _local2:Dictionary; var _local3:Object; if (_arg1.type == Event.ADDED_TO_STAGE){ removeEventListener(Event.ADDED_TO_STAGE, ); stage.addEventListener(Event.RENDER, , false, 0, true); stage.invalidate(); return; }; _arg1.target.removeEventListener(Event.RENDER, ); if (stage == null){ addEventListener(Event.ADDED_TO_STAGE, , false, 0, true); return; }; inCallLaterPhase = true; _local2 = ; for (_local3 in _local2) { _local3(); delete _local2[_local3]; }; inCallLaterPhase = false; } private function (_arg1:Event):void{ removeEventListener("addedToStage", ); (); } protected function getStyleValue(_arg1:String):Object{ return ((([_arg1])==null) ? [_arg1] : [_arg1]); } protected function (_arg1:DisplayObject):Boolean{ return ((_arg1 == this)); } override public function get scaleX():Number{ return ((width / )); } override public function get scaleY():Number{ return ((height / )); } override public function set height(_arg1:Number):void{ if ( == _arg1){ return; }; setSize(width, _arg1); } protected function keyDownHandler(_arg1:KeyboardEvent):void{ } protected function (_arg1:FocusEvent):void{ var _local2:IFocusManager; if ( ((_arg1.target as DisplayObject))){ _local2 = focusManager; if (((_local2) && (_local2.showFocusIndicator))){ drawFocus(true); isFocused = true; }; }; } public function (_arg1:String, _arg2:Object):void{ if (((([_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){ return; }; [_arg1] = _arg2; invalidate(InvalidationType.STYLES); } override public function get visible():Boolean{ return (super.visible); } public function get componentInspectorSetting():Boolean{ return (); } override public function get x():Number{ return ((isNaN(_x)) ? super.x : _x); } override public function get y():Number{ return ((isNaN()) ? super.y : ); } protected function (_arg1:Boolean){ var enabled = _arg1; if ( != null){ if (enabled){ IME.enabled = true; = IME.conversionMode; try { if (((!()) && (!((IME.conversionMode == IMEConversionMode.UNKNOWN))))){ IME.conversionMode = ; }; = false; } catch(e:Error) { = true; throw (new Error(("IME mode not supported: " + ))); }; } else { if (((!((IME.conversionMode == IMEConversionMode.UNKNOWN))) && (!(( == IMEConversionMode.UNKNOWN))))){ IME.conversionMode = ; }; IME.enabled = false; }; }; } public function set enabled(_arg1:Boolean):void{ if (_arg1 == ){ return; }; = _arg1; invalidate(InvalidationType.STATE); } public function (_arg1:String, _arg2:Object):void{ if (((([_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){ return; }; [_arg1] = _arg2; if ([_arg1] == null){ invalidate(InvalidationType.STYLES); }; } protected function keyUpHandler(_arg1:KeyboardEvent):void{ } public function set focusEnabled(_arg1:Boolean):void{ = _arg1; } override public function set scaleX(_arg1:Number):void{ setSize(( * _arg1), height); } public function get mouseFocusEnabled():Boolean{ return ( ); } override public function set scaleY(_arg1:Number):void{ setSize(width, ( * _arg1)); } protected function getDisplayObjectInstance(_arg1:Object):DisplayObject{ var classDef:Object; var skin = _arg1; classDef = null; if ((skin is Class)){ return ((new (skin) as DisplayObject)); }; if ((skin is DisplayObject)){ (skin as DisplayObject).x = 0; (skin as DisplayObject).y = 0; return ((skin as DisplayObject)); }; try { classDef = getDefinitionByName(skin.toString()); } catch(e:Error) { try { classDef = (loaderInfo.applicationDomain.getDefinition(skin.toString()) as Object); } catch(e:Error) { }; }; if (classDef == null){ return (null); }; return ((new (classDef) as DisplayObject)); } protected function copyStylesToChild(_arg1:UIComponent, _arg2:Object):void{ var _local3:String; for (_local3 in _arg2) { _arg1.(_local3, getStyleValue(_arg2[_local3])); }; } protected function ():void{ } protected function (_arg1:Function):void{ if (inCallLaterPhase){ return; }; [_arg1] = true; if (stage != null){ stage.addEventListener(Event.RENDER, , false, 0, true); stage.invalidate(); } else { addEventListener(Event.ADDED_TO_STAGE, , false, 0, true); }; } protected function ():void{ if (focusManagers[stage] == null){ focusManagers[stage] = new FocusManager(stage); }; } override public function set visible(_arg1:Boolean):void{ var _local2:String; if (super.visible == _arg1){ return; }; super.visible = _arg1; _local2 = (_arg1) ? ComponentEvent.SHOW : ComponentEvent.HIDE; dispatchEvent(new ComponentEvent(_local2, true)); } protected function (_arg1:Event):void{ removeEventListener(Event.ENTER_FRAME, ); initializeAccessibility(); } public function set componentInspectorSetting(_arg1:Boolean):void{ = _arg1; if (){ (); } else { (); }; } override public function set x(_arg1:Number):void{ move(_arg1, ); } public function drawNow():void{ draw(); } override public function set y(_arg1:Number):void{ move(_x, _arg1); } protected function ():Boolean{ var className:String; if (parent == null){ return (false); }; try { className = getQualifiedClassName(parent); } catch(e:Error) { }; return ((className == "fl.livepreview::LivePreviewParent")); } protected function (_arg1:FocusEvent):void{ if ( ((_arg1.target as DisplayObject))){ drawFocus(false); isFocused = false; }; } public function set mouseFocusEnabled(_arg1:Boolean):void{ = _arg1; } public function getFocus():InteractiveObject{ if (stage){ return (stage.focus); }; return (null); } protected function validate():void{ = {}; } override public function get height():Number{ return ( ); } public function invalidate(_arg1:String="all", _arg2:Boolean=true):void{ [_arg1] = true; if (_arg2){ this.(draw); }; } public function get enabled():Boolean{ return (); } protected function ():Number{ return (super.scaleX); } protected function ():Number{ return (super.scaleY); } public function get focusEnabled():Boolean{ return ( ); } protected function ():void{ } protected function draw():void{ if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){ if (((isFocused) && (focusManager.showFocusIndicator))){ drawFocus(true); }; }; validate(); } protected function configUI():void{ var _local1:Number; var _local2:Number; var _local3:Number; isLivePreview = (); _local1 = rotation; rotation = 0; _local2 = super.width; _local3 = super.height; var _local4 = 1; super.scaleY = _local4; super.scaleX = _local4; setSize(_local2, _local3); move(super.x, super.y); rotation = _local1; = _local2; = _local3; if (numChildren > 0){ removeChildAt(0); }; } protected function setScaleX(_arg1:Number):void{ super.scaleX = _arg1; } protected function setScaleY(_arg1:Number):void{ super.scaleY = _arg1; } private function ():void{ if (stage == null){ addEventListener(Event.ADDED_TO_STAGE, , false, 0, true); } else { (); }; } public function set focusManager(_arg1:IFocusManager):void{ UIComponent.focusManagers[this] = _arg1; } public function (_arg1:String):void{ (_arg1, null); } protected function isInvalid(_arg1:String, ... _args):Boolean{ if ((([_arg1]) || ([InvalidationType.ALL]))){ return (true); }; while (_args.length > 0) { if ([_args.pop()]){ return (true); }; }; return (false); } public function setSize(_arg1:Number, _arg2:Number):void{ = _arg1; = _arg2; invalidate(InvalidationType.SIZE); dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE, false)); } override public function set width(_arg1:Number):void{ if ( == _arg1){ return; }; setSize(_arg1, height); } public function setFocus():void{ if (stage){ stage.focus = this; }; } protected function initializeAccessibility():void{ if (UIComponent.createAccessibilityImplementation != null){ UIComponent.createAccessibilityImplementation(this); }; } public function get focusManager():IFocusManager{ var _local1:DisplayObject; _local1 = this; while (_local1) { if (UIComponent.focusManagers[_local1] != null){ return (IFocusManager(UIComponent.focusManagers[_local1])); }; _local1 = _local1.parent; }; return (null); } override public function get width():Number{ return ( ); } public function move(_arg1:Number, _arg2:Number):void{ _x = _arg1; = _arg2; super.x = Math.round(_arg1); super.y = Math.round(_arg2); dispatchEvent(new ComponentEvent(ComponentEvent.MOVE)); } public function ():void{ invalidate(InvalidationType.ALL, false); draw(); } public function (_arg1:String):Object{ return ([_arg1]); } public static function getStyleDefinition():Object{ return (defaultStyles); } public static function mergeStyles(... _args):Object{ var _local2:Object; var _local3:uint; var _local4:uint; var _local5:Object; var _local6:String; _local2 = {}; _local3 = _args.length; _local4 = 0; while (_local4 < _local3) { _local5 = _args[_local4]; for (_local6 in _local5) { if (_local2[_local6] != null){ } else { _local2[_local6] = _args[_local4][_local6]; }; }; _local4++; }; return (_local2); } } }//package fl.coreSection 149//ComponentEvent (fl.events.ComponentEvent) package fl.events { import flash.events.*; public class ComponentEvent extends Event { public static const HIDE:String = "hide"; public static const BUTTON_DOWN:String = "buttonDown"; public static const MOVE:String = "move"; public static const RESIZE:String = "resize"; public static const ENTER:String = "enter"; public static const LABEL_CHANGE:String = "labelChange"; public static const SHOW:String = "show"; public function ComponentEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function toString():String{ return (formatToString("ComponentEvent", "type", "bubbles", "cancelable")); } override public function clone():Event{ return (new ComponentEvent(type, bubbles, cancelable)); } } }//package fl.eventsSection 150//ScrollEvent (fl.events.ScrollEvent) package fl.events { import flash.events.*; public class ScrollEvent extends Event { private var :Number; private var :String; private var :Number; public static const SCROLL:String = "scroll"; public function ScrollEvent(_arg1:String, _arg2:Number, _arg3:Number){ super(ScrollEvent.SCROLL, false, false); = _arg1; = _arg2; = _arg3; } override public function clone():Event{ return (new ScrollEvent(, , )); } public function get position():Number{ return (); } override public function toString():String{ return (formatToString("ScrollEvent", "type", "bubbles", "cancelable", "direction", "delta", "position")); } public function get delta():Number{ return (); } public function get direction():String{ return (); } } }//package fl.eventsSection 151//FocusManager (fl.managers.FocusManager) package fl.managers { import fl.controls.*; import flash.display.*; import flash.events.*; import fl.core.*; import flash.text.*; import flash.utils.*; import flash.ui.*; public class FocusManager implements IFocusManager { private var :Dictionary; private var :Boolean;// = true private var :Button; private var :Array; private var :DisplayObjectContainer; private var :Boolean;// = true private var :Boolean;// = false private var :Button; private var :Boolean;// = true private var :InteractiveObject; private var :String; public function FocusManager(_arg1:DisplayObjectContainer){ = false; = true; = true; = true; super(); = new Dictionary(true); if (_arg1 != null){ = _arg1; (DisplayObject(_arg1)); _arg1.addEventListener(Event.ADDED, ); _arg1.addEventListener(Event.REMOVED, ); (); }; } public function get showFocusIndicator():Boolean{ return (); } private function (_arg1:int, _arg2:Boolean, _arg3:Boolean, _arg4:String):int{ var _local5:int; var _local6:int; var _local7:DisplayObject; var _local8:IFocusManagerGroup; var _local9:int; var _local10:DisplayObject; var _local11:IFocusManagerGroup; _local5 = .length; _local6 = _arg1; while (true) { if (_arg2){ _arg1--; } else { _arg1++; }; if (_arg3){ if (((_arg2) && ((_arg1 < 0)))){ break; }; if (((!(_arg2)) && ((_arg1 == _local5)))){ break; }; } else { _arg1 = ((_arg1 + _local5) % _local5); if (_local6 == _arg1){ break; }; }; if (([_arg1], _arg4)){ _local7 = DisplayObject(([_arg1])); if ((_local7 is IFocusManagerGroup)){ _local8 = IFocusManagerGroup(_local7); _local9 = 0; while (_local9 < .length) { _local10 = [_local9]; if ((_local10 is IFocusManagerGroup)){ _local11 = IFocusManagerGroup(_local10); if ((((_local11.groupName == _local8.groupName)) && (_local11.selected))){ _arg1 = _local9; break; }; }; _local9++; }; }; return (_arg1); }; }; return (_arg1); } public function set form(_arg1:DisplayObjectContainer):void{ = _arg1; } private function (_arg1:DisplayObject, _arg2:Boolean=false):void{ var focusable:IFocusManagerComponent; var io:InteractiveObject; var doc:DisplayObjectContainer; var i:int; var child:DisplayObject; var o = _arg1; var skipTopLevel = _arg2; if (!skipTopLevel){ if ((o is IFocusManagerComponent)){ focusable = IFocusManagerComponent(o); if (focusable.focusEnabled){ if (((focusable.tabEnabled) && ( (o)))){ [o] = true; = true; }; o.addEventListener(Event.TAB_ENABLED_CHANGE, ); o.addEventListener(Event.TAB_INDEX_CHANGE, ); }; } else { if ((o is InteractiveObject)){ io = (o as InteractiveObject); if (((((io) && (io.tabEnabled))) && (((io) == io)))){ [io] = true; = true; }; io.addEventListener(Event.TAB_ENABLED_CHANGE, ); io.addEventListener(Event.TAB_INDEX_CHANGE, ); }; }; }; if ((o is DisplayObjectContainer)){ doc = DisplayObjectContainer(o); o.addEventListener(Event.TAB_CHILDREN_CHANGE, ); if ((((((doc is Stage)) || ((doc.parent is Stage)))) || (doc.tabChildren))){ i = 0; while (i < doc.numChildren) { try { child = doc.getChildAt(i); if (child != null){ (doc.getChildAt(i)); }; } catch(error:SecurityError) { }; i = (i + 1); }; }; }; } private function getChildIndex(_arg1:DisplayObjectContainer, _arg2:DisplayObject):int{ return (_arg1.getChildIndex(_arg2)); } private function (_arg1:FocusEvent):void{ if ((_arg1.relatedObject is TextField)){ return; }; _arg1.preventDefault(); } private function (_arg1:FocusEvent):void{ var _local2:InteractiveObject; _local2 = (_arg1.target as InteractiveObject); } private function (_arg1:DisplayObject, _arg2:String):Boolean{ var _local3:IFocusManagerGroup; if (!(_arg1)){ return (false); }; if ((_arg1 is IFocusManagerGroup)){ _local3 = IFocusManagerGroup(_arg1); if (_arg2 == _local3.groupName){ return (false); }; }; return (true); } public function (_arg1:InteractiveObject):InteractiveObject{ var _local2:InteractiveObject; _local2 = _arg1; while (_arg1) { if ((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))){ return (_arg1); }; _arg1 = _arg1.parent; }; return (_local2); } private function ():void{ var _local1:Object; var _local2:InteractiveObject; = []; for (_local1 in ) { _local2 = InteractiveObject(_local1); if (((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))){ .push(_local2); }; }; .sort( ); } private function (_arg1:DisplayObject):void{ var _local2:Object; var _local3:DisplayObject; if ((_arg1 is DisplayObjectContainer)){ _arg1.removeEventListener(Event.TAB_CHILDREN_CHANGE, ); _arg1.removeEventListener(Event.TAB_INDEX_CHANGE, ); for (_local2 in ) { _local3 = DisplayObject(_local2); if (DisplayObjectContainer(_arg1).contains(_local3)){ if (_local3 == ){ = null; }; _local3.removeEventListener(Event.TAB_ENABLED_CHANGE, ); delete [_local2]; = true; }; }; }; } private function (_arg1:Event):void{ var _local2:DisplayObject; _local2 = DisplayObject(_arg1.target); if (_local2.stage){ (DisplayObject(_arg1.target)); }; } private function (_arg1:InteractiveObject):InteractiveObject{ while (_arg1 != InteractiveObject(form)) { if ((((((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))) && (IFocusManagerComponent(_arg1).mouseFocusEnabled))) && (UIComponent(_arg1).enabled))){ return (_arg1); }; _arg1 = _arg1.parent; if (_arg1 == null){ break; }; }; return (null); } private function (_arg1:Event):void{ var _local2:DisplayObjectContainer; if (_arg1.target != _arg1.currentTarget){ return; }; = true; _local2 = DisplayObjectContainer(_arg1.target); if (_local2.tabChildren){ (_local2, true); } else { (_local2); }; } public function ():void{ .dispatchEvent(new MouseEvent(MouseEvent.CLICK)); } public function getFocus():InteractiveObject{ var _local1:InteractiveObject; _local1 = form.stage.focus; return ((_local1)); } private function (_arg1:DisplayObject):Boolean{ var _local2:DisplayObjectContainer; var _local3:TextField; var _local4:SimpleButton; _local2 = DisplayObject(form).parent; while (_arg1 != _local2) { if ((_arg1 is UIComponent)){ if (!UIComponent(_arg1).enabled){ return (false); }; } else { if ((_arg1 is TextField)){ _local3 = TextField(_arg1); if ((((_local3.type == TextFieldType.DYNAMIC)) || (!(_local3.selectable)))){ return (false); }; } else { if ((_arg1 is SimpleButton)){ _local4 = SimpleButton(_arg1); if (!_local4.enabled){ return (false); }; }; }; }; if (!_arg1.visible){ return (false); }; _arg1 = _arg1.parent; }; return (true); } public function set defaultButton(_arg1:Button):void{ var _local2:Button; _local2 = (_arg1) ? Button(_arg1) : null; if (_local2 != ){ if ( ){ .emphasized = false; }; if (){ .emphasized = false; }; = _local2; = _local2; if (_local2){ _local2.emphasized = true; }; }; } private function (_arg1:Event):void{ var _local2:InteractiveObject; _local2 = InteractiveObject(_arg1.target); } public function setFocus(_arg1:InteractiveObject):void{ if ((_arg1 is IFocusManagerComponent)){ IFocusManagerComponent(_arg1).setFocus(); } else { form.stage.focus = _arg1; }; } private function (_arg1:FocusEvent):void{ var _local2:InteractiveObject; if (!()){ return; }; _local2 = (_arg1.shiftKey); if (_local2){ setFocus(_local2); }; } private function ():Boolean{ var _local1:Object; for (_local1 in ) { return (true); }; return (false); } private function (_arg1:Event):void{ = true; } private function ():void{ var _local1:Object; var _local2:InteractiveObject; = []; for (_local1 in ) { _local2 = InteractiveObject(_local1); if (((((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))) && ((_local2.tabIndex > 0)))){ (); return; }; .push(_local2); }; .sort( ); } private function (_arg1:FocusEvent):void{ showFocusIndicator = true; if ((((((_arg1.keyCode == Keyboard.TAB)) || ((_arg1.keyCode == 0)))) && (!(_arg1.isDefaultPrevented())))){ (_arg1); _arg1.preventDefault(); }; } private function (_arg1:DisplayObject):int{ var _local2:int; var _local3:int; _local2 = .length; _local3 = 0; _local3 = 0; while (_local3 < _local2) { if ([_local3] == _arg1){ return (_local3); }; _local3++; }; return (-1); } public function ():void{ } private function (_arg1:Event):void{ var _local2:int; var _local3:DisplayObject; var _local4:InteractiveObject; _local3 = DisplayObject(_arg1.target); if ((((_local3 is IFocusManagerComponent)) && (( [_local3] == true)))){ if (_local3 == ){ IFocusManagerComponent( ).drawFocus(false); = null; }; _local3.removeEventListener(Event.TAB_ENABLED_CHANGE, ); delete [_local3]; = true; } else { if ((((_local3 is InteractiveObject)) && (( [_local3] == true)))){ _local4 = (_local3 as InteractiveObject); if (_local4){ if (_local4 == ){ = null; }; delete [_local4]; = true; }; _local3.addEventListener(Event.TAB_ENABLED_CHANGE, ); }; }; (_local3); } private function (_arg1:InteractiveObject, _arg2:InteractiveObject):Number{ var _local3:String; var _local4:String; var _local5:int; var _local6:String; var _local7:String; var _local8:String; var _local9:DisplayObject; var _local10:DisplayObject; _local3 = ""; _local4 = ""; _local8 = "0000"; _local9 = DisplayObject(_arg1); _local10 = DisplayObject(_arg2); while (((!((_local9 == DisplayObject(form)))) && (_local9.parent))) { _local5 = getChildIndex(_local9.parent, _local9); _local6 = _local5.toString(16); if (_local6.length < 4){ _local7 = (_local8.substring(0, (4 - _local6.length)) + _local6); }; _local3 = (_local7 + _local3); _local9 = _local9.parent; }; while (((!((_local10 == DisplayObject(form)))) && (_local10.parent))) { _local5 = getChildIndex(_local10.parent, _local10); _local6 = _local5.toString(16); if (_local6.length < 4){ _local7 = (_local8.substring(0, (4 - _local6.length)) + _local6); }; _local4 = (_local7 + _local4); _local10 = _local10.parent; }; return (((_local3 > _local4)) ? 1 : ((_local3 < _local4)) ? -1 : 0); } public function get defaultButton():Button{ return ( ); } private function (_arg1:Event):void{ var _local2:InteractiveObject; _local2 = InteractiveObject(_arg1.target); if ( ){ if (( is IFocusManagerComponent)){ IFocusManagerComponent( ).setFocus(); } else { form.stage.focus = ; }; }; = "ACTIVATE"; } public function ():void{ } public function set defaultButtonEnabled(_arg1:Boolean):void{ = _arg1; } public function (_arg1:Boolean=false):InteractiveObject{ var _local2:DisplayObject; var _local3:String; var _local4:int; var _local5:Boolean; var _local6:int; var _local7:int; var _local8:IFocusManagerGroup; if (!()){ return (null); }; if ( ){ (); = false; }; _local2 = form.stage.focus; _local2 = DisplayObject((InteractiveObject(_local2))); _local3 = ""; if ((_local2 is IFocusManagerGroup)){ _local8 = IFocusManagerGroup(_local2); _local3 = _local8.groupName; }; _local4 = (_local2); _local5 = false; _local6 = _local4; if (_local4 == -1){ if (_arg1){ _local4 = .length; }; _local5 = true; }; _local7 = (_local4, _arg1, _local5, _local3); return (([_local7])); } private function (_arg1:MouseEvent):void{ var _local2:InteractiveObject; if (_arg1.isDefaultPrevented()){ return; }; _local2 = (InteractiveObject(_arg1.target)); if (!_local2){ return; }; showFocusIndicator = false; if (((((!((_local2 == ))) || (( == "ACTIVATE")))) && (!((_local2 is TextField))))){ setFocus(_local2); }; = "MOUSEDOWN"; } private function (_arg1:DisplayObject):Boolean{ var _local2:DisplayObjectContainer; _local2 = _arg1.parent; while (((((_local2) && (!((_local2 is Stage))))) && (!(((_local2.parent) && ((_local2.parent is Stage))))))) { if (!_local2.tabChildren){ return (false); }; _local2 = _local2.parent; }; return (true); } public function get nextTabIndex():int{ return (0); } private function keyDownHandler(_arg1:KeyboardEvent):void{ if (_arg1.keyCode == Keyboard.TAB){ = "KEY"; if ( ){ (); = false; }; }; if (((((((defaultButtonEnabled) && ((_arg1.keyCode == Keyboard.ENTER)))) && (defaultButton))) && (.enabled))){ (); }; } private function (_arg1:FocusEvent):void{ var _local2:InteractiveObject; var _local3:Button; _local2 = InteractiveObject(_arg1.target); if (form.contains(_local2)){ = (InteractiveObject(_local2)); if (( is Button)){ _local3 = Button( ); if (){ .emphasized = false; = _local3; _local3.emphasized = true; }; } else { if ((() && (!(( == ))))){ .emphasized = false; = ; .emphasized = true; }; }; }; } private function (_arg1:Event):void{ var _local2:InteractiveObject; var _local3:Boolean; = true; _local2 = InteractiveObject(_arg1.target); _local3 = ( [_local2] == true); if (_local2.tabEnabled){ if (((!(_local3)) && ( (_local2)))){ if (!(_local2 is IFocusManagerComponent)){ _local2.focusRect = false; }; [_local2] = true; }; } else { if (_local3){ delete [_local2]; }; }; } public function set showFocusIndicator(_arg1:Boolean):void{ = _arg1; } public function get form():DisplayObjectContainer{ return (); } private function (_arg1:InteractiveObject, _arg2:InteractiveObject):int{ return (((_arg1.tabIndex > _arg2.tabIndex)) ? 1 : ((_arg1.tabIndex < _arg2.tabIndex)) ? -1 : (_arg1, _arg2)); } public function ():void{ if ( ){ return; }; form.stage.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, , false, 0, true); form.stage.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, , false, 0, true); form.addEventListener(FocusEvent.FOCUS_IN, , true); form.addEventListener(FocusEvent.FOCUS_OUT, , true); form.stage.addEventListener(Event.ACTIVATE, , false, 0, true); form.stage.addEventListener(Event.DEACTIVATE, , false, 0, true); form.addEventListener(MouseEvent.MOUSE_DOWN, ); form.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true); = true; if ( ){ setFocus( ); }; } public function ():void{ form.stage.removeEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, ); form.stage.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE, ); form.removeEventListener(FocusEvent.FOCUS_IN, , true); form.removeEventListener(FocusEvent.FOCUS_OUT, , true); form.stage.removeEventListener(Event.ACTIVATE, ); form.stage.removeEventListener(Event.DEACTIVATE, ); form.removeEventListener(MouseEvent.MOUSE_DOWN, ); form.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true); = false; } public function get defaultButtonEnabled():Boolean{ return ( ); } } }//package fl.managersSection 152//IFocusManager (fl.managers.IFocusManager) package fl.managers { import fl.controls.*; import flash.display.*; public interface IFocusManager { function getFocus():InteractiveObject; function ():void; function set defaultButton(_arg1:Button):void; function set showFocusIndicator(_arg1:Boolean):void; function get defaultButtonEnabled():Boolean; function get nextTabIndex():int; function get defaultButton():Button; function get showFocusIndicator():Boolean; function setFocus(_arg1:InteractiveObject):void; function ():void; function ():void; function set defaultButtonEnabled(_arg1:Boolean):void; function ():void; function (_arg1:InteractiveObject):InteractiveObject; function (_arg1:Boolean=false):InteractiveObject; } }//package fl.managersSection 153//IFocusManagerComponent (fl.managers.IFocusManagerComponent) package fl.managers { public interface IFocusManagerComponent { function set focusEnabled(_arg1:Boolean):void; function drawFocus(_arg1:Boolean):void; function setFocus():void; function get focusEnabled():Boolean; function get tabEnabled():Boolean; function get tabIndex():int; function get mouseFocusEnabled():Boolean; } }//package fl.managersSection 154//IFocusManagerGroup (fl.managers.IFocusManagerGroup) package fl.managers { public interface IFocusManagerGroup { function set groupName(_arg1:String):void; function set selected(_arg1:Boolean):void; function get groupName():String; function get selected():Boolean; } }//package fl.managersSection 155//StyleManager (fl.managers.StyleManager) package fl.managers { import fl.core.*; import flash.text.*; import flash.utils.*; public class StyleManager { private var globalStyles:Object; private var :Dictionary; private var styleToClassesHash:Object; private var classToStylesDict:Dictionary; private var classToInstancesDict:Dictionary; private static var _instance:StyleManager; public function StyleManager(){ styleToClassesHash = {}; classToInstancesDict = new Dictionary(true); classToStylesDict = new Dictionary(true); = new Dictionary(true); globalStyles = UIComponent.getStyleDefinition(); } public static function clearComponentStyle(_arg1:Object, _arg2:String):void{ var _local3:Class; var _local4:Object; _local3 = getClassDef(_arg1); _local4 = getInstance().classToStylesDict[_local3]; if (((!((_local4 == null))) && (!((_local4[_arg2] == null))))){ delete _local4[_arg2]; invalidateComponentStyle(_local3, _arg2); }; } private static function getClassDef(_arg1:Object):Class{ var component = _arg1; if ((component is Class)){ return ((component as Class)); }; try { return ((getDefinitionByName(getQualifiedClassName(component)) as Class)); } catch(e:Error) { if ((component is UIComponent)){ try { return ((component.loaderInfo.applicationDomain.getDefinition(getQualifiedClassName(component)) as Class)); } catch(e:Error) { }; }; }; return (null); } public static function (_arg1:String):void{ (_arg1, null); } public static function setComponentStyle(_arg1:Object, _arg2:String, _arg3:Object):void{ var _local4:Class; var _local5:Object; _local4 = getClassDef(_arg1); _local5 = getInstance().classToStylesDict[_local4]; if (_local5 == null){ _local5 = (getInstance().classToStylesDict[_local4] = {}); }; if (_local5 == _arg3){ return; }; _local5[_arg2] = _arg3; invalidateComponentStyle(_local4, _arg2); } private static function setSharedStyles(_arg1:UIComponent):void{ var _local2:StyleManager; var _local3:Class; var _local4:Object; var _local5:String; _local2 = getInstance(); _local3 = getClassDef(_arg1); _local4 = _local2. [_local3]; for (_local5 in _local4) { _arg1.(_local5, getSharedStyle(_arg1, _local5)); }; } public static function getComponentStyle(_arg1:Object, _arg2:String):Object{ var _local3:Class; var _local4:Object; _local3 = getClassDef(_arg1); _local4 = getInstance().classToStylesDict[_local3]; return (((_local4)==null) ? null : _local4[_arg2]); } private static function getInstance(){ if (_instance == null){ _instance = new (StyleManager); }; return (_instance); } private static function invalidateComponentStyle(_arg1:Class, _arg2:String):void{ var _local3:Dictionary; var _local4:Object; var _local5:UIComponent; _local3 = getInstance().classToInstancesDict[_arg1]; if (_local3 == null){ return; }; for (_local4 in _local3) { _local5 = (_local4 as UIComponent); if (_local5 == null){ } else { _local5.(_arg2, getSharedStyle(_local5, _arg2)); }; }; } private static function invalidateStyle(_arg1:String):void{ var _local2:Dictionary; var _local3:Object; _local2 = getInstance().styleToClassesHash[_arg1]; if (_local2 == null){ return; }; for (_local3 in _local2) { invalidateComponentStyle(Class(_local3), _arg1); }; } public static function registerInstance(_arg1:UIComponent):void{ var inst:StyleManager; var classDef:Class; var target:Class; var defaultStyles:Object; var styleToClasses:Object; var n:String; var instance = _arg1; inst = getInstance(); classDef = getClassDef(instance); if (classDef == null){ return; }; if (inst.classToInstancesDict[classDef] == null){ inst.classToInstancesDict[classDef] = new Dictionary(true); target = classDef; while (defaultStyles == null) { if (target["getStyleDefinition"] != null){ defaultStyles = target["getStyleDefinition"](); break; }; try { target = (instance.loaderInfo.applicationDomain.getDefinition(getQualifiedSuperclassName(target)) as Class); } catch(err:Error) { try { target = (getDefinitionByName(getQualifiedSuperclassName(target)) as Class); } catch(e:Error) { defaultStyles = UIComponent.getStyleDefinition(); break; }; }; }; styleToClasses = inst.styleToClassesHash; for (n in defaultStyles) { if (styleToClasses[n] == null){ styleToClasses[n] = new Dictionary(true); }; styleToClasses[n][classDef] = true; }; inst. [classDef] = defaultStyles; inst.classToStylesDict[classDef] = {}; }; inst.classToInstancesDict[classDef][instance] = true; setSharedStyles(instance); } public static function (_arg1:String):Object{ return (getInstance().globalStyles[_arg1]); } private static function getSharedStyle(_arg1:UIComponent, _arg2:String):Object{ var _local3:Class; var _local4:StyleManager; var _local5:Object; _local3 = getClassDef(_arg1); _local4 = getInstance(); _local5 = _local4.classToStylesDict[_local3][_arg2]; if (_local5 != null){ return (_local5); }; _local5 = _local4.globalStyles[_arg2]; if (_local5 != null){ return (_local5); }; return (_local4. [_local3][_arg2]); } public static function (_arg1:String, _arg2:Object):void{ var _local3:Object; _local3 = getInstance().globalStyles; if ((((_local3[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){ return; }; _local3[_arg1] = _arg2; invalidateStyle(_arg1); } } }//package fl.managersSection 156//Input (General.Input) package General { import flash.display.*; import flash.events.*; public class Input { public static var mouseOffsetX:Number = 0; private static var keyArr:Array; public static var mouseDragX:Number = 0; public static var mouseDragY:Number = 0; public static var mouseOffsetY:Number = 0; public static var ascii:Array; public static var mouseX:Number = 0; public static var mouseY:Number = 0; public static var mouseOver:Boolean = false; private static var bufferSize:int; public static var mouse:Sprite = new Sprite(); public static var mouseDown:Boolean = false; public static var mouseReleased:Boolean = false; public static var lastKey:int = 0; public static var m_stageMc:Sprite; private static var keyState:Array; public static var timeSinceLastKey = 0; public static var mousePressed:Boolean = false; private static var keyBuffer:Array; public function Input(_arg1:Sprite){ var _local2:int; var _local3:int; super(); m_stageMc = _arg1; ascii = new Array(222); (); keyState = new Array(222); keyArr = new Array(); _local2 = 0; while (_local2 < 222) { keyState[_local2] = new int(0); if (ascii[_local2] != undefined){ keyArr.push(_local2); }; _local2++; }; bufferSize = 5; keyBuffer = new Array(bufferSize); _local3 = 0; while (_local3 < bufferSize) { keyBuffer[_local3] = new Array(0, 0); _local3++; }; _arg1.stage.addEventListener(KeyboardEvent.KEY_DOWN, , false, 0, true); _arg1.stage.addEventListener(KeyboardEvent.KEY_UP, , false, 0, true); _arg1.stage.addEventListener(MouseEvent.MOUSE_DOWN, , false, 0, true); _arg1.stage.addEventListener(MouseEvent.MOUSE_UP, , false, 0, true); _arg1.stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMove, false, 0, true); _arg1.stage.addEventListener(Event.MOUSE_LEAVE, mouseLeave, false, 0, true); mouse.graphics.lineStyle(0.1, 0, 100); mouse.graphics.moveTo(0, 0); mouse.graphics.lineTo(0, 0.1); } public function (_arg1:MouseEvent){ mouseDown = false; mouseReleased = true; } public function (_arg1:KeyboardEvent){ keyState[_arg1.keyCode] = Math.max(keyState[_arg1.keyCode], 1); lastKey = _arg1.keyCode; } private function (){ ascii[65] = "A"; ascii[66] = "B"; ascii[67] = "C"; ascii[68] = "D"; ascii[69] = "E"; ascii[70] = "F"; ascii[71] = "G"; ascii[72] = "H"; ascii[73] = "I"; ascii[74] = "J"; ascii[75] = "K"; ascii[76] = "L"; ascii[77] = "M"; ascii[78] = "N"; ascii[79] = "O"; ascii[80] = "P"; ascii[81] = "Q"; ascii[82] = "R"; ascii[83] = "S"; ascii[84] = "T"; ascii[85] = "U"; ascii[86] = "V"; ascii[87] = "W"; ascii[88] = "X"; ascii[89] = "Y"; ascii[90] = "Z"; ascii[48] = "0"; ascii[49] = "1"; ascii[50] = "2"; ascii[51] = "3"; ascii[52] = "4"; ascii[53] = "5"; ascii[54] = "6"; ascii[55] = "7"; ascii[56] = "8"; ascii[57] = "9"; ascii[32] = "Spacebar"; ascii[17] = "Ctrl"; ascii[16] = "Shift"; ascii[192] = "~"; ascii[38] = "up"; ascii[40] = "down"; ascii[37] = "left"; ascii[39] = "right"; ascii[96] = "Numpad 0"; ascii[97] = "Numpad 1"; ascii[98] = "Numpad 2"; ascii[99] = "Numpad 3"; ascii[100] = "Numpad 4"; ascii[101] = "Numpad 5"; ascii[102] = "Numpad 6"; ascii[103] = "Numpad 7"; ascii[104] = "Numpad 8"; ascii[105] = "Numpad 9"; ascii[111] = "Numpad /"; ascii[106] = "Numpad *"; ascii[109] = "Numpad -"; ascii[107] = "Numpad +"; ascii[110] = "Numpad ."; ascii[45] = "Insert"; ascii[46] = "Delete"; ascii[33] = "Page Up"; ascii[34] = "Page Down"; ascii[35] = "End"; ascii[36] = "Home"; ascii[112] = "F1"; ascii[113] = "F2"; ascii[114] = "F3"; ascii[115] = "F4"; ascii[116] = "F5"; ascii[117] = "F6"; ascii[118] = "F7"; ascii[119] = "F8"; ascii[188] = ","; ascii[190] = "."; ascii[186] = ";"; ascii[222] = "'"; ascii[219] = "["; ascii[221] = "]"; ascii[189] = "-"; ascii[187] = "+"; ascii[220] = "\\"; ascii[191] = "/"; ascii[9] = "TAB"; ascii[8] = "Backspace"; } public function mouseMove(_arg1:MouseEvent){ if (mouseDown != _arg1.buttonDown){ mouseDown = _arg1.buttonDown; mouseReleased = !(_arg1.buttonDown); mousePressed = _arg1.buttonDown; mouseDragX = 0; mouseDragY = 0; }; mouseX = (_arg1.stageX - m_stageMc.x); mouseY = (_arg1.stageY - m_stageMc.y); mouseOffsetX = (mouseX - mouse.x); mouseOffsetY = (mouseY - mouse.y); if (mouseDown){ mouseDragX = (mouseDragX + mouseOffsetX); mouseDragY = (mouseDragY + mouseOffsetY); }; mouse.x = mouseX; mouse.y = mouseY; } public function (_arg1:KeyboardEvent){ var _local2:int; keyState[_arg1.keyCode] = -1; _local2 = (bufferSize - 1); while (_local2 > 0) { keyBuffer[_local2] = keyBuffer[(_local2 - 1)]; _local2--; }; keyBuffer[0] = [_arg1.keyCode, 0]; } public function mouseLeave(_arg1:Event){ mouseReleased = mouseDown; mouseDown = false; } public function (_arg1:MouseEvent){ mousePressed = true; mouseDown = true; mouseDragX = 0; mouseDragY = 0; } public static function getKeyHold(_arg1:int):int{ return (Math.max(0, keyState[_arg1])); } public static function update(){ var _local1:int; var _local2:int; _local1 = 0; while (_local1 < keyArr.length) { if (keyState[keyArr[_local1]] != 0){ var _local3 = keyState; var _local4 = keyArr[_local1]; var _local5 = (_local3[_local4] + 1); _local3[_local4] = _local5; }; _local1++; }; _local2 = 0; while (_local2 < bufferSize) { _local3 = keyBuffer[_local2]; _local4 = 1; _local5 = (_local3[_local4] + 1); _local3[_local4] = _local5; _local2++; }; mouseReleased = false; mousePressed = false; mouseOver = false; } public static function isKeyPressed(_arg1:int):Boolean{ timeSinceLastKey = 0; return ((keyState[_arg1] == 1)); } public static function isKeyDown(_arg1:int):Boolean{ return ((keyState[_arg1] > 0)); } public static function getKeyString(_arg1:uint):String{ return (ascii[_arg1]); } public static function isKeyReleased(_arg1:int):Boolean{ return ((keyState[_arg1] == -1)); } public static function isKeyInBuffer(_arg1:int, _arg2:int, _arg3:int){ return ((((keyBuffer[_arg2][0] == _arg1)) && ((keyBuffer[_arg2][1] <= _arg3)))); } } }//package GeneralSection 157//ag_intro_mc_295 (PowerUp_fla.ag_intro_mc_295) package PowerUp_fla { import flash.display.*; public dynamic class ag_intro_mc_295 extends MovieClip { public function ag_intro_mc_295(){ addFrameScript(0, frame1, 217, ); } function (){ (parent as MovieClip).gotoAndStop("nitrome"); } function frame1(){ gotoAndPlay(2); } } }//package PowerUp_flaSection 158//balloon_24 (PowerUp_fla.balloon_24) package PowerUp_fla { import flash.display.*; public dynamic class balloon_24 extends MovieClip { public function balloon_24(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 159//cannon_19 (PowerUp_fla.cannon_19) package PowerUp_fla { import flash.display.*; public dynamic class cannon_19 extends MovieClip { public function cannon_19(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 160//cannon_292 (PowerUp_fla.cannon_292) package PowerUp_fla { import flash.display.*; public dynamic class cannon_292 extends MovieClip { public var cannon:MovieClip; } }//package PowerUp_flaSection 161//cannon_fire_145 (PowerUp_fla.cannon_fire_145) package PowerUp_fla { import flash.display.*; public dynamic class cannon_fire_145 extends MovieClip { public function cannon_fire_145(){ addFrameScript(16, frame17); } function frame17(){ stop(); } } }//package PowerUp_flaSection 162//cannon_jon_288 (PowerUp_fla.cannon_jon_288) package PowerUp_fla { import flash.display.*; public dynamic class cannon_jon_288 extends MovieClip { public function cannon_jon_288(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 163//charged_23 (PowerUp_fla.charged_23) package PowerUp_fla { import flash.display.*; public dynamic class charged_23 extends MovieClip { public function charged_23(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 164//chargeup_22 (PowerUp_fla.chargeup_22) package PowerUp_fla { import flash.display.*; public dynamic class chargeup_22 extends MovieClip { public function chargeup_22(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 165//chargeup2_31 (PowerUp_fla.chargeup2_31) package PowerUp_fla { import flash.display.*; public dynamic class chargeup2_31 extends MovieClip { public function chargeup2_31(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 166//chargeup3_32 (PowerUp_fla.chargeup3_32) package PowerUp_fla { import flash.display.*; public dynamic class chargeup3_32 extends MovieClip { public function chargeup3_32(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 167//chargeup4_33 (PowerUp_fla.chargeup4_33) package PowerUp_fla { import flash.display.*; public dynamic class chargeup4_33 extends MovieClip { public function chargeup4_33(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 168//chargeup5_35 (PowerUp_fla.chargeup5_35) package PowerUp_fla { import flash.display.*; public dynamic class chargeup5_35 extends MovieClip { public function chargeup5_35(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 169//chargeup6_34 (PowerUp_fla.chargeup6_34) package PowerUp_fla { import flash.display.*; public dynamic class chargeup6_34 extends MovieClip { public function chargeup6_34(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 170//chargeup7_36 (PowerUp_fla.chargeup7_36) package PowerUp_fla { import flash.display.*; public dynamic class chargeup7_36 extends MovieClip { public function chargeup7_36(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 171//chargeup8_37 (PowerUp_fla.chargeup8_37) package PowerUp_fla { import flash.display.*; public dynamic class chargeup8_37 extends MovieClip { public function chargeup8_37(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 172//chest_creak_20 (PowerUp_fla.chest_creak_20) package PowerUp_fla { import flash.display.*; public dynamic class chest_creak_20 extends MovieClip { public function chest_creak_20(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 173//chestArrow_131 (PowerUp_fla.chestArrow_131) package PowerUp_fla { import flash.display.*; public dynamic class chestArrow_131 extends MovieClip { public function chestArrow_131(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 174//chestArrow_r_132 (PowerUp_fla.chestArrow_r_132) package PowerUp_fla { import flash.display.*; public dynamic class chestArrow_r_132 extends MovieClip { public function chestArrow_r_132(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 175//chestClip_291 (PowerUp_fla.chestClip_291) package PowerUp_fla { import flash.display.*; public dynamic class chestClip_291 extends MovieClip { public function chestClip_291(){ addFrameScript(0, frame1, 10, frame11); } function frame1(){ stop(); } function frame11(){ stop(); } } }//package PowerUp_flaSection 176//congratulationsclip_341 (PowerUp_fla.congratulationsclip_341) package PowerUp_fla { import flash.display.*; import flash.events.*; import com.nitrome.game.*; public dynamic class congratulationsclip_341 extends MovieClip { public var captain:MovieClip; public var guy3:MovieClip; public var guy2:MovieClip; public var guy1:MovieClip; public var scoreField:BalancerFont; public var __id37_:BalancerFont; public function congratulationsclip_341(){ addFrameScript(0, frame1); (); (); } function (){ try { scoreField["componentInspectorSetting"] = true; } catch(e:Error) { }; scoreField.align = "center"; scoreField.align_vert = "center"; scoreField.color = 0xFFFFFF; scoreField.id = "None"; scoreField.line_spacing = 18; scoreField.text = "Your final score is 0!"; scoreField.tracking = 1; try { scoreField["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame1(){ addEventListener(Event.ENTER_FRAME, , false, 0, true); scoreField.text = ("Your final score is " + Score.value.toString()); guy1.gotoAndPlay(8); guy2.gotoAndPlay(3); guy3.gotoAndPlay(13); } function (){ try { __id37_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id37_.align = "center"; __id37_.align_vert = "center"; __id37_.color = 0xFFFFFF; __id37_.id = "None"; __id37_.line_spacing = 18; __id37_.text = "Thank you for powering up|our death rays!|Let the Invasion begin!"; __id37_.tracking = 1; try { __id37_["componentInspectorSetting"] = false; } catch(e:Error) { }; } public function (_arg1:Event):void{ } } }//package PowerUp_flaSection 177//death_ground_28 (PowerUp_fla.death_ground_28) package PowerUp_fla { import flash.display.*; public dynamic class death_ground_28 extends MovieClip { public function death_ground_28(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 178//deepthud_13 (PowerUp_fla.deepthud_13) package PowerUp_fla { import flash.display.*; public dynamic class deepthud_13 extends MovieClip { public function deepthud_13(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 179//e2_300 (PowerUp_fla.e2_300) package PowerUp_fla { import flash.display.*; public dynamic class e2_300 extends MovieClip { public function e2_300(){ addFrameScript(103, ); } function (){ stop(); } } }//package PowerUp_flaSection 180//electric_30 (PowerUp_fla.electric_30) package PowerUp_fla { import flash.display.*; public dynamic class electric_30 extends MovieClip { public function electric_30(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 181//endHead_290 (PowerUp_fla.endHead_290) package PowerUp_fla { import flash.display.*; public dynamic class endHead_290 extends MovieClip { public function endHead_290(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 182//endHead_frames_2_287 (PowerUp_fla.endHead_frames_2_287) package PowerUp_fla { import flash.display.*; public dynamic class endHead_frames_2_287 extends MovieClip { public var endHead:MovieClip; public function endHead_frames_2_287(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 183//endHead_frames_280 (PowerUp_fla.endHead_frames_280) package PowerUp_fla { import flash.display.*; public dynamic class endHead_frames_280 extends MovieClip { public var endHead:MovieClip; public function endHead_frames_280(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 184//Fish_147 (PowerUp_fla.Fish_147) package PowerUp_fla { import flash.display.*; public dynamic class Fish_147 extends MovieClip { public var deadFish:MovieClip; public function Fish_147(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 185//glasstap_27 (PowerUp_fla.glasstap_27) package PowerUp_fla { import flash.display.*; public dynamic class glasstap_27 extends MovieClip { public function glasstap_27(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 186//help_tab_334 (PowerUp_fla.help_tab_334) package PowerUp_fla { import flash.display.*; public dynamic class help_tab_334 extends MovieClip { public function help_tab_334(){ addFrameScript(29, frame30); } function frame30(){ stop(); } } }//package PowerUp_flaSection 187//help_tab_close_337 (PowerUp_fla.help_tab_close_337) package PowerUp_fla { import flash.display.*; public dynamic class help_tab_close_337 extends MovieClip { public function help_tab_close_337(){ addFrameScript(25, frame26); } function frame26(){ stop(); } } }//package PowerUp_flaSection 188//helpDisplay_321 (PowerUp_fla.helpDisplay_321) package PowerUp_fla { import flash.display.*; import com.nitrome.balancer.*; import flash.events.*; import flash.text.*; import flash.utils.*; import flash.media.*; import flash.geom.*; import flash.net.*; import flash.filters.*; import flash.ui.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.printing.*; import flash.xml.*; public dynamic class helpDisplay_321 extends MovieClip { public var helpText:MovieClip; public var buttonBlanker:SimpleButton; public function helpDisplay_321(){ addFrameScript(0, frame1, 1, frame2, 10, frame11, 29, frame30, 57, frame58); } function frame1(){ stop(); } function frame2(){ buttonBlanker.useHandCursor = false; } function frame30(){ stop(); buttonBlanker.addEventListener(MouseEvent.MOUSE_DOWN, closeBox); } function frame11(){ helpText.helpText.text = this.helpMessage; } public function closeBox(_arg1:Event){ play(); } function frame58(){ BalanceGame.panelOff(); } } }//package PowerUp_flaSection 189//helpscreen_314 (PowerUp_fla.helpscreen_314) package PowerUp_fla { import flash.display.*; public dynamic class helpscreen_314 extends MovieClip { public var endHead:MovieClip; } }//package PowerUp_flaSection 190//helpText_324 (PowerUp_fla.helpText_324) package PowerUp_fla { import flash.display.*; public dynamic class helpText_324 extends MovieClip { public var helpText:BalancerFont; public function helpText_324(){ (); } function (){ try { helpText["componentInspectorSetting"] = true; } catch(e:Error) { }; helpText.align = "center"; helpText.align_vert = "center"; helpText.color = 0xFFFFFF; helpText.id = "None"; helpText.line_spacing = 18; helpText.text = "enter text, -"; helpText.tracking = 1; try { helpText["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package PowerUp_flaSection 191//ingame_help_screen_335 (PowerUp_fla.ingame_help_screen_335) package PowerUp_fla { import flash.display.*; public dynamic class ingame_help_screen_335 extends MovieClip { public var __id32_:BalancerFont; public function ingame_help_screen_335(){ (); } function (){ try { __id32_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id32_.align = "center"; __id32_.align_vert = "top"; __id32_.color = 0xFFFFFF; __id32_.id = "None"; __id32_.line_spacing = 18; __id32_.text = "Move the boxes with the mouse.|Use the metal ones to create a|circuit between the robot heads."; __id32_.tracking = 1; try { __id32_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package PowerUp_flaSection 192//inGameHelp_333 (PowerUp_fla.inGameHelp_333) package PowerUp_fla { import flash.display.*; import com.nitrome.balancer.*; import flash.events.*; public dynamic class inGameHelp_333 extends MovieClip { public var buttonBlanker:SimpleButton; public function inGameHelp_333(){ addFrameScript(0, frame1, 1, frame2, 35, frame36, 72, frame73); } function frame73(){ BalanceGame.panelOff(); } function frame1(){ stop(); } function frame2(){ buttonBlanker.useHandCursor = false; } function frame36(){ stop(); buttonBlanker.addEventListener(MouseEvent.MOUSE_DOWN, closeBox); } public function closeBox(_arg1:Event){ play(); } } }//package PowerUp_flaSection 193//instances_2 (PowerUp_fla.instances_2) package PowerUp_fla { import fl.controls.*; import flash.display.*; import flash.utils.*; public dynamic class instances_2 extends MovieClip { public var __setPropDict:Dictionary; public var InstanceName_0:ScrollBar_thumbIcon; public var __id27_:UIScrollBar; public function instances_2(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2); } function (){ try { __id27_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id27_.direction = "vertical"; __id27_.scrollTargetName = "InstanceName_0"; __id27_.visible = true; try { __id27_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame1(){ stop(); } function frame2(){ if ((((__setPropDict[__id27_] == undefined)) || (!((int(__setPropDict[__id27_]) == 2))))){ __setPropDict[__id27_] = currentFrame; (); }; } } }//package PowerUp_flaSection 194//levelCompleteMessage_338 (PowerUp_fla.levelCompleteMessage_338) package PowerUp_fla { import flash.display.*; import com.nitrome.balancer.*; import flash.events.*; import flash.text.*; import flash.utils.*; import flash.media.*; import flash.geom.*; import flash.net.*; import flash.filters.*; import flash.ui.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.printing.*; import flash.xml.*; public dynamic class levelCompleteMessage_338 extends MovieClip { public var buttonBlanker:SimpleButton; public var levelCompleteText:MovieClip; public function levelCompleteMessage_338(){ addFrameScript(0, frame1, 9, frame10, 28, frame29, 57, frame58); } function frame10(){ levelCompleteText.levelScore.text = this.levelScore; levelCompleteText.timeBonus.text = this.timeBonus; levelCompleteText.totalScore.text = this.totalScore; } function frame1(){ buttonBlanker.useHandCursor = false; } function frame29(){ stop(); buttonBlanker.addEventListener(MouseEvent.MOUSE_DOWN, closeBox); } public function closeBox(_arg1:Event){ play(); } function frame58(){ stop(); Controller.levelComplete(); } } }//package PowerUp_flaSection 195//levelCompleteText_339 (PowerUp_fla.levelCompleteText_339) package PowerUp_fla { import flash.display.*; public dynamic class levelCompleteText_339 extends MovieClip { public var __id34_:BalancerFont; public var __id35_:BalancerFont; public var timeBonus:BalancerFont; public var levelScore:BalancerFont; public var __id36_:BalancerFont; public var totalScore:BalancerFont; public function levelCompleteText_339(){ (); (); (); (); (); (); } function (){ try { __id35_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id35_.align = "left"; __id35_.align_vert = "center"; __id35_.color = 0xFFFFFF; __id35_.id = "None"; __id35_.line_spacing = 18; __id35_.text = "Level Score:"; __id35_.tracking = 1; try { __id35_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { totalScore["componentInspectorSetting"] = true; } catch(e:Error) { }; totalScore.align = "right"; totalScore.align_vert = "center"; totalScore.color = 0xFFFFFF; totalScore.id = "None"; totalScore.line_spacing = 18; totalScore.text = "10000"; totalScore.tracking = 1; try { totalScore["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { levelScore["componentInspectorSetting"] = true; } catch(e:Error) { }; levelScore.align = "right"; levelScore.align_vert = "center"; levelScore.color = 0xFFFFFF; levelScore.id = "None"; levelScore.line_spacing = 18; levelScore.text = "10000"; levelScore.tracking = 1; try { levelScore["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { __id34_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id34_.align = "left"; __id34_.align_vert = "center"; __id34_.color = 0xFFFFFF; __id34_.id = "None"; __id34_.line_spacing = 18; __id34_.text = "Total Score: "; __id34_.tracking = 1; try { __id34_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { timeBonus["componentInspectorSetting"] = true; } catch(e:Error) { }; timeBonus.align = "right"; timeBonus.align_vert = "center"; timeBonus.color = 0xFFFFFF; timeBonus.id = "None"; timeBonus.line_spacing = 18; timeBonus.text = "10000"; timeBonus.tracking = 1; try { timeBonus["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { __id36_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id36_.align = "left"; __id36_.align_vert = "center"; __id36_.color = 0xFFFFFF; __id36_.id = "None"; __id36_.line_spacing = 18; __id36_.text = "Time Bonus:"; __id36_.tracking = 1; try { __id36_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package PowerUp_flaSection 196//MainTimeline (PowerUp_fla.MainTimeline) package PowerUp_fla { import flash.display.*; import com.nitrome.balancer.*; import flash.events.*; import flash.text.*; import flash.utils.*; import com.nitrome.game.*; import com.nitrome.util.*; import flash.media.*; import flash.geom.*; import flash.net.*; import flash.filters.*; import flash.ui.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.printing.*; import flash.xml.*; public dynamic class MainTimeline extends MovieClip { public var rightScroll:MovieClip; public var __id29_:BalancerFont; public var levelBlocks:LevelBlocks_game; public var helpDisplay:MovieClip; public var ; public var inGameHelpMessage:MovieClip; public var levelCompleteMessage:MovieClip; public var myController:Controller; public var __setPropDict:Dictionary; public var game_container:MovieClip; public var preloader:Preloader; public var topScroll:MovieClip; public var inGameHelp:InGameHelpButton; public var levelDisplay:BalancerFont; public var __id30_:BalancerFont; public var button10:LevelStartButton; public var button11:LevelStartButton; public var button12:LevelStartButton; public var button13:LevelStartButton; public var button14:LevelStartButton; public var button15:LevelStartButton; public var button16:LevelStartButton; public var bottomScroll:MovieClip; public var button18:LevelStartButton; public var button19:LevelStartButton; public var :Number; public var button21:LevelStartButton; public var button23:LevelStartButton; public var button25:LevelStartButton; public var button26:LevelStartButton; public var button27:LevelStartButton; public var button28:LevelStartButton; public var button22:LevelStartButton; public var button24:LevelStartButton; public var button29:LevelStartButton; public var button17:LevelStartButton; public var pauseGame:PauseButton; public var button31:LevelStartButton; public var button20:LevelStartButton; public var button30:LevelStartButton; public var button32:LevelStartButton; public var pauseMessage:MovieClip; public var totalScoreDisplay:BalancerFont; public var button1:LevelStartButton; public var button4:LevelStartButton; public var button5:LevelStartButton; public var button6:LevelStartButton; public var button7:LevelStartButton; public var button9:LevelStartButton; public var button3:LevelStartButton; public var startMessage:MovieClip; public var button8:LevelStartButton; public var button2:LevelStartButton; public var myBalanceGame:BalanceGame; public var leftScroll:MovieClip; public var scoreDisplay:BalancerFont; public var blockDrawer:BlockDrawer; public function MainTimeline(){ __setPropDict = new Dictionary(true); super(); addFrameScript(1, frame2, 5, frame6, 15, frame16, 25, frame26, 26, , 35, frame36, 65, , 70, , 79, , 80, , 81, , 89, , 90, , 27, , 28, frame29, 29, frame30, 30, , 31, frame32, 32, , 33, , 34, , 82, , 83, , 84, , 85, , 86, , 87, , 88, , 45, frame46, 46, , 47, , 48, , 49, , 50, , 51, , 52, , 53, , 54, , 66, , 67, , 68, , 69, , 71, , 72, frame73, 73, , 74, , 75, , 76, , 77, , 78, ); } function frame16(){ stop(); = new SoundManager(); .x = -100; .y = -100; (root as MovieClip).addChild( ); } function frame2(){ preloader.addEventListener(Event.COMPLETE, function (_arg1:Event){ NitromeGame.init((root as MovieClip), "powerup", "rumble", 32); stage.showDefaultContextMenu = false; (root as MovieClip).gotoAndStop("armor"); }); stop(); } function frame6(){ stop(); } function frame26(){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame; (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame; (); }; Lock.urlLock(stage); NitromeGame.sound_manager.playMusic(SoundManager.MENU); myController = new Controller(this); myController.titleScreen = true; myController.loadLevel("title_screen"); stop(); } function frame29(){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame; (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame; (); }; } function frame36(){ Score.value = 0; } function (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame; (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame; (); }; myBalanceGame = new BalanceGame(this, game_container); BalanceGame.paused = false; stop(); } function (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame; (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame; (); }; } function frame32(){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame; (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame; (); }; } function (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame; (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame; (); }; } function (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame; (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame; (); }; } function (){ try { levelDisplay["componentInspectorSetting"] = true; } catch(e:Error) { }; levelDisplay.align = "left"; levelDisplay.align_vert = "center"; levelDisplay.color = 0xFFFFFF; levelDisplay.id = "None"; levelDisplay.line_spacing = 18; levelDisplay.text = "Lv:32"; levelDisplay.tracking = 1; try { levelDisplay["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame; (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame; (); }; } function (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame; (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame; (); }; } function (){ if ((((__setPropDict[__id29_] == undefined)) || (!((((int(__setPropDict[__id29_]) >= 46)) && ((int(__setPropDict[__id29_]) <= 55))))))){ __setPropDict[__id29_] = currentFrame; (); }; } function (){ if ((((__setPropDict[__id29_] == undefined)) || (!((((int(__setPropDict[__id29_]) >= 46)) && ((int(__setPropDict[__id29_]) <= 55))))))){ __setPropDict[__id29_] = currentFrame; (); }; } function frame30(){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame; (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame; (); }; } function (){ if ((((__setPropDict[__id29_] == undefined)) || (!((((int(__setPropDict[__id29_]) >= 46)) && ((int(__setPropDict[__id29_]) <= 55))))))){ __setPropDict[__id29_] = currentFrame; (); }; } function frame46(){ if ((((__setPropDict[__id29_] == undefined)) || (!((((int(__setPropDict[__id29_]) >= 46)) && ((int(__setPropDict[__id29_]) <= 55))))))){ __setPropDict[__id29_] = currentFrame; (); }; } function (){ if ((((__setPropDict[__id29_] == undefined)) || (!((((int(__setPropDict[__id29_]) >= 46)) && ((int(__setPropDict[__id29_]) <= 55))))))){ __setPropDict[__id29_] = currentFrame; (); }; } function (){ if ((((__setPropDict[__id29_] == undefined)) || (!((((int(__setPropDict[__id29_]) >= 46)) && ((int(__setPropDict[__id29_]) <= 55))))))){ __setPropDict[__id29_] = currentFrame; (); }; } function (){ if ((((__setPropDict[__id29_] == undefined)) || (!((((int(__setPropDict[__id29_]) >= 46)) && ((int(__setPropDict[__id29_]) <= 55))))))){ __setPropDict[__id29_] = currentFrame; (); }; } function (){ if ((((__setPropDict[__id29_] == undefined)) || (!((((int(__setPropDict[__id29_]) >= 46)) && ((int(__setPropDict[__id29_]) <= 55))))))){ __setPropDict[__id29_] = currentFrame; (); }; } function (){ if ((((__setPropDict[__id29_] == undefined)) || (!((((int(__setPropDict[__id29_]) >= 46)) && ((int(__setPropDict[__id29_]) <= 55))))))){ __setPropDict[__id29_] = currentFrame; (); }; } function (){ if ((((__setPropDict[__id29_] == undefined)) || (!((((int(__setPropDict[__id29_]) >= 46)) && ((int(__setPropDict[__id29_]) <= 55))))))){ __setPropDict[__id29_] = currentFrame; (); }; } function (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame; (); }; NitromeGame.sound_manager.playMusic(SoundManager.GAME); myController = new Controller(this); myController.titleScreen = false; Controller.totalScore = Score.value; myController.loadSelectedLevel(); } function (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame; (); }; } function (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame; (); }; } function (){ try { __id29_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id29_.align = "center"; __id29_.align_vert = "top"; __id29_.color = 0xFFFFFF; __id29_.id = "None"; __id29_.line_spacing = 18; __id29_.text = "Move the boxes with the mouse.|Use the metal ones to create a|circuit between the robot heads."; __id29_.tracking = 1; try { __id29_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame; (); }; } function frame73(){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame; (); }; } function (){ try { totalScoreDisplay["componentInspectorSetting"] = true; } catch(e:Error) { }; totalScoreDisplay.align = "left"; totalScoreDisplay.align_vert = "center"; totalScoreDisplay.color = 0xFFFFFF; totalScoreDisplay.id = "None"; totalScoreDisplay.line_spacing = 18; totalScoreDisplay.text = "00000000"; totalScoreDisplay.tracking = 1; try { totalScoreDisplay["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame; (); }; } function (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame; (); }; } function (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame; (); }; } function (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame; (); }; } function (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame; (); }; } function (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame; (); }; } function (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame; (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame; (); }; myBalanceGame = new BalanceGame(this, game_container); stop(); } function (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame; (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame; (); }; = (Score.value + ((Controller.levelScore / 10) + myBalanceGame.score)); Score.value = ; Controller.totalScore = ; } function (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame; (); }; stop(); NitromeGame.transition.doTween("the_game"); } function (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame; (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame; (); }; } function (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame; (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame; (); }; } function (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame; (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame; (); }; } function (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame; (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame; (); }; } function (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame; (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame; (); }; stop(); levelCompleteMessage.levelScore = (Controller.levelScore / 10); levelCompleteMessage.timeBonus = myBalanceGame.score; levelCompleteMessage.levelTotal = ((Controller.levelScore / 10) + myBalanceGame.score); levelCompleteMessage.totalScore = ; myController.unlockNextLevel(); } function (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame; (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame; (); }; } function (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame; (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame; (); }; } function (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame; (); }; } function (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame; (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame; (); }; } function (){ try { scoreDisplay["componentInspectorSetting"] = true; } catch(e:Error) { }; scoreDisplay.align = "left"; scoreDisplay.align_vert = "center"; scoreDisplay.color = 0xFFFFFF; scoreDisplay.id = "None"; scoreDisplay.line_spacing = 18; scoreDisplay.text = "5:00"; scoreDisplay.tracking = 1; try { scoreDisplay["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame; (); }; } function (){ NitromeGame.sound_manager.playMusic(SoundManager.MENU); } function (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame; (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame; (); }; stop(); myBalanceGame.stopGame(); NitromeGame.transition.doTween("game"); } function (){ try { __id30_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id30_.align = "center"; __id30_.align_vert = "center"; __id30_.color = 0xFFFFFF; __id30_.id = "None"; __id30_.line_spacing = 18; __id30_.text = "Loading Level"; __id30_.tracking = 0; try { __id30_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package PowerUp_flaSection 197//metal_1_15 (PowerUp_fla.metal_1_15) package PowerUp_fla { import flash.display.*; public dynamic class metal_1_15 extends MovieClip { public function metal_1_15(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 198//metal_2_16 (PowerUp_fla.metal_2_16) package PowerUp_fla { import flash.display.*; public dynamic class metal_2_16 extends MovieClip { public function metal_2_16(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 199//metal_3_25 (PowerUp_fla.metal_3_25) package PowerUp_fla { import flash.display.*; public dynamic class metal_3_25 extends MovieClip { public function metal_3_25(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 200//metal_4_26 (PowerUp_fla.metal_4_26) package PowerUp_fla { import flash.display.*; public dynamic class metal_4_26 extends MovieClip { public function metal_4_26(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 201//monster_angry_29 (PowerUp_fla.monster_angry_29) package PowerUp_fla { import flash.display.*; public dynamic class monster_angry_29 extends MovieClip { public function monster_angry_29(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 202//monster_happy_39 (PowerUp_fla.monster_happy_39) package PowerUp_fla { import flash.display.*; public dynamic class monster_happy_39 extends MovieClip { public function monster_happy_39(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 203//monsterFrames_251 (PowerUp_fla.monsterFrames_251) package PowerUp_fla { import flash.display.*; public dynamic class monsterFrames_251 extends MovieClip { public function monsterFrames_251(){ addFrameScript(0, frame1, 29, frame30); } function frame1(){ stop(); } function frame30(){ stop(); } } }//package PowerUp_flaSection 204//moving_block_247 (PowerUp_fla.moving_block_247) package PowerUp_fla { import flash.display.*; public dynamic class moving_block_247 extends MovieClip { public var frontCogs:MovieClip; public var cogs:MovieClip; } }//package PowerUp_flaSection 205//nextlevelbutton_76 (PowerUp_fla.nextlevelbutton_76) package PowerUp_fla { import flash.display.*; import flash.utils.*; public dynamic class nextlevelbutton_76 extends MovieClip { public var __setPropDict:Dictionary; public var __id23_:NumbskullFont; public function nextlevelbutton_76(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function (){ try { __id23_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id23_.align = "center"; __id23_.align_vert = "top"; __id23_.color = 11977954; __id23_.id = "None"; __id23_.line_spacing = 18; __id23_.text = "next level"; __id23_.tracking = 0; try { __id23_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 1)) && ((int(__setPropDict[__id23_]) <= 10))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 11)) && ((int(__setPropDict[__id23_]) <= 20))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 11)) && ((int(__setPropDict[__id23_]) <= 20))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 1)) && ((int(__setPropDict[__id23_]) <= 10))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 11)) && ((int(__setPropDict[__id23_]) <= 20))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 11)) && ((int(__setPropDict[__id23_]) <= 20))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 11)) && ((int(__setPropDict[__id23_]) <= 20))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 11)) && ((int(__setPropDict[__id23_]) <= 20))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 1)) && ((int(__setPropDict[__id23_]) <= 10))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 11)) && ((int(__setPropDict[__id23_]) <= 20))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 11)) && ((int(__setPropDict[__id23_]) <= 20))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 1)) && ((int(__setPropDict[__id23_]) <= 10))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 1)) && ((int(__setPropDict[__id23_]) <= 10))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 1)) && ((int(__setPropDict[__id23_]) <= 10))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 1)) && ((int(__setPropDict[__id23_]) <= 10))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 11)) && ((int(__setPropDict[__id23_]) <= 20))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 1)) && ((int(__setPropDict[__id23_]) <= 10))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 1)) && ((int(__setPropDict[__id23_]) <= 10))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 1)) && ((int(__setPropDict[__id23_]) <= 10))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 11)) && ((int(__setPropDict[__id23_]) <= 20))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function (){ try { __id23_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id23_.align = "center"; __id23_.align_vert = "top"; __id23_.color = 2574473; __id23_.id = "None"; __id23_.line_spacing = 18; __id23_.text = "next level"; __id23_.tracking = 0; try { __id23_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package PowerUp_flaSection 206//nitrome_12 (PowerUp_fla.nitrome_12) package PowerUp_fla { import flash.display.*; public dynamic class nitrome_12 extends MovieClip { public function nitrome_12(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 207//nitrome_intro_299 (PowerUp_fla.nitrome_intro_299) package PowerUp_fla { import flash.display.*; public dynamic class nitrome_intro_299 extends MovieClip { public function nitrome_intro_299(){ addFrameScript(31, frame32, 35, frame36, 40, frame41, 45, frame46, 61, , 100, , 140, ); } function (){ NitromeGame.sound_manager.playSound("nitrome"); } function frame36(){ NitromeGame.sound_manager.playSound("metal_3"); } function frame46(){ NitromeGame.sound_manager.playSound("metal_4"); } function frame41(){ NitromeGame.sound_manager.playSound("metal_2"); } function frame32(){ NitromeGame.sound_manager.playSound("metal_1"); } function (){ stop(); NitromeGame.transition.doTween("title_screen"); } function (){ NitromeGame.sound_manager.playSound("electric"); } } }//package PowerUp_flaSection 208//pausedText_332 (PowerUp_fla.pausedText_332) package PowerUp_fla { import flash.display.*; import com.nitrome.game.*; public dynamic class pausedText_332 extends MovieClip { public var default_resume:ContinueGameButton; } }//package PowerUp_flaSection 209//pauseMessage_331 (PowerUp_fla.pauseMessage_331) package PowerUp_fla { import flash.display.*; import com.nitrome.balancer.*; import flash.events.*; public dynamic class pauseMessage_331 extends MovieClip { public var buttonBlanker:SimpleButton; public function pauseMessage_331(){ addFrameScript(0, frame1, 1, frame2, 29, frame30, 57, frame58); } function frame1(){ stop(); } function frame2(){ buttonBlanker.useHandCursor = false; } function frame30(){ stop(); buttonBlanker.addEventListener(MouseEvent.MOUSE_DOWN, closeBox); } public function closeBox(_arg1:Event){ play(); } function frame58(){ BalanceGame.panelOff(); } } }//package PowerUp_flaSection 210//robot_head_end_dial_286 (PowerUp_fla.robot_head_end_dial_286) package PowerUp_fla { import flash.display.*; public dynamic class robot_head_end_dial_286 extends MovieClip { public function robot_head_end_dial_286(){ addFrameScript(105, ); } function (){ stop(); } } }//package PowerUp_flaSection 211//robot_head_end_fill_cjt_282 (PowerUp_fla.robot_head_end_fill_cjt_282) package PowerUp_fla { import flash.display.*; public dynamic class robot_head_end_fill_cjt_282 extends MovieClip { public var mouth:MovieClip; } }//package PowerUp_flaSection 212//robot_mouth_power_284 (PowerUp_fla.robot_mouth_power_284) package PowerUp_fla { import flash.display.*; public dynamic class robot_mouth_power_284 extends MovieClip { public function robot_mouth_power_284(){ addFrameScript(109, ); } function (){ stop(); } } }//package PowerUp_flaSection 213//screw_259 (PowerUp_fla.screw_259) package PowerUp_fla { import flash.display.*; public dynamic class screw_259 extends MovieClip { public function screw_259(){ addFrameScript(14, frame15, 29, frame30); } function frame15(){ stop(); } function frame30(){ stop(); } } }//package PowerUp_flaSection 214//screw_38 (PowerUp_fla.screw_38) package PowerUp_fla { import flash.display.*; public dynamic class screw_38 extends MovieClip { public function screw_38(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 215//slap_17 (PowerUp_fla.slap_17) package PowerUp_fla { import flash.display.*; public dynamic class slap_17 extends MovieClip { public function slap_17(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 216//spark_help_318 (PowerUp_fla.spark_help_318) package PowerUp_fla { import flash.display.*; public dynamic class spark_help_318 extends MovieClip { public function spark_help_318(){ addFrameScript(0, frame1, 1194, ); } function (){ stop(); } function frame1(){ stop(); } } }//package PowerUp_flaSection 217//sparks_310 (PowerUp_fla.sparks_310) package PowerUp_fla { import flash.display.*; public dynamic class sparks_310 extends MovieClip { public function sparks_310(){ addFrameScript(40, frame41); } function frame41(){ gotoAndPlay(11); } } }//package PowerUp_flaSection 218//splash_14 (PowerUp_fla.splash_14) package PowerUp_fla { import flash.display.*; public dynamic class splash_14 extends MovieClip { public function splash_14(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 219//startHead_267 (PowerUp_fla.startHead_267) package PowerUp_fla { import flash.display.*; public dynamic class startHead_267 extends MovieClip { public var endHead:MovieClip; public var cannon:MovieClip; public function startHead_267(){ addFrameScript(0, frame1, 8, frame9); } function frame1(){ stop(); } function frame9(){ stop(); } } }//package PowerUp_flaSection 220//startMessage_327 (PowerUp_fla.startMessage_327) package PowerUp_fla { import flash.display.*; import com.nitrome.balancer.*; import flash.events.*; import flash.text.*; import flash.utils.*; import flash.media.*; import flash.geom.*; import flash.net.*; import flash.filters.*; import flash.ui.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.printing.*; import flash.xml.*; public dynamic class startMessage_327 extends MovieClip { public var buttonBlanker:SimpleButton; public var startText:MovieClip; public function startMessage_327(){ addFrameScript(0, frame1, 9, frame10, 28, frame29, 57, frame58); } function frame10(){ startText.levelTitle.gotoAndStop(Controller.selectedLevel); } function frame1(){ buttonBlanker.useHandCursor = false; } function frame29(){ stop(); buttonBlanker.addEventListener(MouseEvent.MOUSE_DOWN, closeBox); } public function closeBox(_arg1:Event){ play(); } function frame58(){ stop(); BalanceGame.panelOff(); } } }//package PowerUp_flaSection 221//startText_328 (PowerUp_fla.startText_328) package PowerUp_fla { import flash.display.*; public dynamic class startText_328 extends MovieClip { public var levelTitle:MovieClip; } }//package PowerUp_flaSection 222//sticky_18 (PowerUp_fla.sticky_18) package PowerUp_fla { import flash.display.*; public dynamic class sticky_18 extends MovieClip { public function sticky_18(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 223//tesla_21 (PowerUp_fla.tesla_21) package PowerUp_fla { import flash.display.*; public dynamic class tesla_21 extends MovieClip { public function tesla_21(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_flaSection 224//tesla_256 (PowerUp_fla.tesla_256) package PowerUp_fla { import flash.display.*; public dynamic class tesla_256 extends MovieClip { public function tesla_256(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); NitromeGame.sound_manager.playSound("tesla"); } } }//package PowerUp_flaSection 225//AllStamps (AllStamps) package { import flash.display.*; import com.nitrome.balancer.*; public dynamic class AllStamps extends MovieClip { public var fish:Fishy; } }//packageSection 226//BalancerFont (BalancerFont) package { import com.nitrome.game.*; public dynamic class BalancerFont extends BalancerFont { } }//packageSection 227//BGColour (BGColour) package { import flash.display.*; public dynamic class BGColour extends MovieClip { } }//packageSection 228//blockNode (blockNode) package { import flash.display.*; public dynamic class blockNode extends MovieClip { } }//packageSection 229//Button_disabledSkin (Button_disabledSkin) package { import flash.display.*; public dynamic class Button_disabledSkin extends MovieClip { } }//packageSection 230//Button_downSkin (Button_downSkin) package { import flash.display.*; public dynamic class Button_downSkin extends MovieClip { } }//packageSection 231//Button_emphasizedSkin (Button_emphasizedSkin) package { import flash.display.*; public dynamic class Button_emphasizedSkin extends MovieClip { } }//packageSection 232//Button_overSkin (Button_overSkin) package { import flash.display.*; public dynamic class Button_overSkin extends MovieClip { } }//packageSection 233//Button_selectedDisabledSkin (Button_selectedDisabledSkin) package { import flash.display.*; public dynamic class Button_selectedDisabledSkin extends MovieClip { } }//packageSection 234//Button_selectedDownSkin (Button_selectedDownSkin) package { import flash.display.*; public dynamic class Button_selectedDownSkin extends MovieClip { } }//packageSection 235//Button_selectedOverSkin (Button_selectedOverSkin) package { import flash.display.*; public dynamic class Button_selectedOverSkin extends MovieClip { } }//packageSection 236//Button_selectedUpSkin (Button_selectedUpSkin) package { import flash.display.*; public dynamic class Button_selectedUpSkin extends MovieClip { } }//packageSection 237//Button_upSkin (Button_upSkin) package { import flash.display.*; public dynamic class Button_upSkin extends MovieClip { } }//packageSection 238//CannonBall (CannonBall) package { import flash.display.*; public dynamic class CannonBall extends MovieClip { public var texture:MovieClip; } }//packageSection 239//CheckBox_disabledIcon (CheckBox_disabledIcon) package { import flash.display.*; public dynamic class CheckBox_disabledIcon extends MovieClip { } }//packageSection 240//CheckBox_downIcon (CheckBox_downIcon) package { import flash.display.*; public dynamic class CheckBox_downIcon extends MovieClip { } }//packageSection 241//CheckBox_overIcon (CheckBox_overIcon) package { import flash.display.*; public dynamic class CheckBox_overIcon extends MovieClip { } }//packageSection 242//CheckBox_selectedDisabledIcon (CheckBox_selectedDisabledIcon) package { import flash.display.*; public dynamic class CheckBox_selectedDisabledIcon extends MovieClip { } }//packageSection 243//CheckBox_selectedDownIcon (CheckBox_selectedDownIcon) package { import flash.display.*; public dynamic class CheckBox_selectedDownIcon extends MovieClip { } }//packageSection 244//CheckBox_selectedOverIcon (CheckBox_selectedOverIcon) package { import flash.display.*; public dynamic class CheckBox_selectedOverIcon extends MovieClip { } }//packageSection 245//CheckBox_selectedUpIcon (CheckBox_selectedUpIcon) package { import flash.display.*; public dynamic class CheckBox_selectedUpIcon extends MovieClip { } }//packageSection 246//CheckBox_upIcon (CheckBox_upIcon) package { import flash.display.*; public dynamic class CheckBox_upIcon extends MovieClip { } }//packageSection 247//ClearButton (ClearButton) package { import flash.utils.*; import com.nitrome.highscore.*; public dynamic class ClearButton extends ClearButton { public var __id10_:BalancerFont; public var __setPropDict:Dictionary; public function ClearButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); } function (){ try { __id10_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id10_.align = "center"; __id10_.align_vert = "center"; __id10_.color = 0xCCCCCC; __id10_.id = "None"; __id10_.line_spacing = 18; __id10_.text = "Clear"; __id10_.tracking = 0; try { __id10_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame; (); }; } function (){ try { __id10_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id10_.align = "center"; __id10_.align_vert = "center"; __id10_.color = 0xFFFFFF; __id10_.id = "None"; __id10_.line_spacing = 18; __id10_.text = "Clear"; __id10_.tracking = 0; try { __id10_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame9(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame; (); }; } } }//packageSection 248//CursorD (CursorD) package { import flash.display.*; public dynamic class CursorD extends MovieClip { } }//packageSection 249//CursorDL (CursorDL) package { import flash.display.*; public dynamic class CursorDL extends MovieClip { } }//packageSection 250//CursorDR (CursorDR) package { import flash.display.*; public dynamic class CursorDR extends MovieClip { } }//packageSection 251//CursorL (CursorL) package { import flash.display.*; public dynamic class CursorL extends MovieClip { } }//packageSection 252//CursorR (CursorR) package { import flash.display.*; public dynamic class CursorR extends MovieClip { } }//packageSection 253//CursorU (CursorU) package { import flash.display.*; public dynamic class CursorU extends MovieClip { } }//packageSection 254//CursorUL (CursorUL) package { import flash.display.*; public dynamic class CursorUL extends MovieClip { } }//packageSection 255//CursorUR (CursorUR) package { import flash.display.*; public dynamic class CursorUR extends MovieClip { } }//packageSection 256//DeadZoneTexture (DeadZoneTexture) package { import flash.display.*; public dynamic class DeadZoneTexture extends BitmapData { public function DeadZoneTexture(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//packageSection 257//DeathTile (DeathTile) package { import flash.display.*; public dynamic class DeathTile extends BitmapData { public function DeathTile(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//packageSection 258//DeleteBlock (DeleteBlock) package { import flash.display.*; public dynamic class DeleteBlock extends MovieClip { } }//packageSection 259//DustClip (DustClip) package { import flash.display.*; public dynamic class DustClip extends MovieClip { public function DustClip(){ addFrameScript(18, frame19); } function frame19(){ stop(); parent.removeChild(this); } } }//packageSection 260//FloorTile (FloorTile) package { import flash.display.*; public dynamic class FloorTile extends BitmapData { public function FloorTile(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//packageSection 261//focusRectSkin (focusRectSkin) package { import flash.display.*; public dynamic class focusRectSkin extends MovieClip { } }//packageSection 262//GameMusic (GameMusic) package { import flash.media.*; public dynamic class GameMusic extends Sound { } }//packageSection 263//GamePieces (GamePieces) package { import flash.display.*; public dynamic class GamePieces extends MovieClip { public var chest:MovieClip; public var head:MovieClip; public function GamePieces(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//packageSection 264//GlassTexture (GlassTexture) package { import flash.display.*; public dynamic class GlassTexture extends BitmapData { public function GlassTexture(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//packageSection 265//GlassTexture2 (GlassTexture2) package { import flash.display.*; public dynamic class GlassTexture2 extends BitmapData { public function GlassTexture2(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//packageSection 266//GroundSmack (GroundSmack) package { import flash.display.*; public dynamic class GroundSmack extends MovieClip { } }//packageSection 267//HelpSign (HelpSign) package { import flash.display.*; public dynamic class HelpSign extends MovieClip { } }//packageSection 268//HighScoreBoard (HighScoreBoard) package { import flash.utils.*; import com.nitrome.highscore.*; public dynamic class HighScoreBoard extends HighScoreBoard { public var __id20_:BalancerFont; public var __id17_:BalancerFont; public var __id18_:BalancerFont; public var __setPropDict:Dictionary; public var __id19_:BalancerFont; public function HighScoreBoard(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19); } function (){ try { __id18_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id18_.align = "center"; __id18_.align_vert = "top"; __id18_.color = 0xFFFFFF; __id18_.id = "None"; __id18_.line_spacing = 18; __id18_.text = "at nitrome.com"; __id18_.tracking = 1; try { __id18_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 10)) && ((int(__setPropDict[__id19_]) <= 19))))))){ __setPropDict[__id19_] = currentFrame; (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 10)) && ((int(__setPropDict[__id17_]) <= 19))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 10)) && ((int(__setPropDict[__id18_]) <= 19))))))){ __setPropDict[__id18_] = currentFrame; (); }; if ((((__setPropDict[__id20_] == undefined)) || (!((((int(__setPropDict[__id20_]) >= 10)) && ((int(__setPropDict[__id20_]) <= 19))))))){ __setPropDict[__id20_] = currentFrame; (); }; stop(); } function frame14(){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 10)) && ((int(__setPropDict[__id19_]) <= 19))))))){ __setPropDict[__id19_] = currentFrame; (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 10)) && ((int(__setPropDict[__id17_]) <= 19))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 10)) && ((int(__setPropDict[__id18_]) <= 19))))))){ __setPropDict[__id18_] = currentFrame; (); }; if ((((__setPropDict[__id20_] == undefined)) || (!((((int(__setPropDict[__id20_]) >= 10)) && ((int(__setPropDict[__id20_]) <= 19))))))){ __setPropDict[__id20_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 10)) && ((int(__setPropDict[__id19_]) <= 19))))))){ __setPropDict[__id19_] = currentFrame; (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 10)) && ((int(__setPropDict[__id17_]) <= 19))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 10)) && ((int(__setPropDict[__id18_]) <= 19))))))){ __setPropDict[__id18_] = currentFrame; (); }; if ((((__setPropDict[__id20_] == undefined)) || (!((((int(__setPropDict[__id20_]) >= 10)) && ((int(__setPropDict[__id20_]) <= 19))))))){ __setPropDict[__id20_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 10)) && ((int(__setPropDict[__id19_]) <= 19))))))){ __setPropDict[__id19_] = currentFrame; (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 10)) && ((int(__setPropDict[__id17_]) <= 19))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 10)) && ((int(__setPropDict[__id18_]) <= 19))))))){ __setPropDict[__id18_] = currentFrame; (); }; if ((((__setPropDict[__id20_] == undefined)) || (!((((int(__setPropDict[__id20_]) >= 10)) && ((int(__setPropDict[__id20_]) <= 19))))))){ __setPropDict[__id20_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 10)) && ((int(__setPropDict[__id19_]) <= 19))))))){ __setPropDict[__id19_] = currentFrame; (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 10)) && ((int(__setPropDict[__id17_]) <= 19))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 10)) && ((int(__setPropDict[__id18_]) <= 19))))))){ __setPropDict[__id18_] = currentFrame; (); }; if ((((__setPropDict[__id20_] == undefined)) || (!((((int(__setPropDict[__id20_]) >= 10)) && ((int(__setPropDict[__id20_]) <= 19))))))){ __setPropDict[__id20_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 10)) && ((int(__setPropDict[__id19_]) <= 19))))))){ __setPropDict[__id19_] = currentFrame; (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 10)) && ((int(__setPropDict[__id17_]) <= 19))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 10)) && ((int(__setPropDict[__id18_]) <= 19))))))){ __setPropDict[__id18_] = currentFrame; (); }; if ((((__setPropDict[__id20_] == undefined)) || (!((((int(__setPropDict[__id20_]) >= 10)) && ((int(__setPropDict[__id20_]) <= 19))))))){ __setPropDict[__id20_] = currentFrame; (); }; } function (){ try { __id17_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id17_.align = "center"; __id17_.align_vert = "top"; __id17_.color = 0xFFFFFF; __id17_.id = "None"; __id17_.line_spacing = 18; __id17_.text = "highscores are available"; __id17_.tracking = 1; try { __id17_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame13(){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 10)) && ((int(__setPropDict[__id19_]) <= 19))))))){ __setPropDict[__id19_] = currentFrame; (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 10)) && ((int(__setPropDict[__id17_]) <= 19))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 10)) && ((int(__setPropDict[__id18_]) <= 19))))))){ __setPropDict[__id18_] = currentFrame; (); }; if ((((__setPropDict[__id20_] == undefined)) || (!((((int(__setPropDict[__id20_]) >= 10)) && ((int(__setPropDict[__id20_]) <= 19))))))){ __setPropDict[__id20_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 10)) && ((int(__setPropDict[__id19_]) <= 19))))))){ __setPropDict[__id19_] = currentFrame; (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 10)) && ((int(__setPropDict[__id17_]) <= 19))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 10)) && ((int(__setPropDict[__id18_]) <= 19))))))){ __setPropDict[__id18_] = currentFrame; (); }; if ((((__setPropDict[__id20_] == undefined)) || (!((((int(__setPropDict[__id20_]) >= 10)) && ((int(__setPropDict[__id20_]) <= 19))))))){ __setPropDict[__id20_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 10)) && ((int(__setPropDict[__id19_]) <= 19))))))){ __setPropDict[__id19_] = currentFrame; (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 10)) && ((int(__setPropDict[__id17_]) <= 19))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 10)) && ((int(__setPropDict[__id18_]) <= 19))))))){ __setPropDict[__id18_] = currentFrame; (); }; if ((((__setPropDict[__id20_] == undefined)) || (!((((int(__setPropDict[__id20_]) >= 10)) && ((int(__setPropDict[__id20_]) <= 19))))))){ __setPropDict[__id20_] = currentFrame; (); }; } function frame1(){ stop(); } function (){ try { __id20_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id20_.align = "center"; __id20_.align_vert = "top"; __id20_.color = 0xFFFFFF; __id20_.id = "None"; __id20_.line_spacing = 18; __id20_.text = "nitrome.com"; __id20_.tracking = 1; try { __id20_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame11(){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 10)) && ((int(__setPropDict[__id19_]) <= 19))))))){ __setPropDict[__id19_] = currentFrame; (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 10)) && ((int(__setPropDict[__id17_]) <= 19))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 10)) && ((int(__setPropDict[__id18_]) <= 19))))))){ __setPropDict[__id18_] = currentFrame; (); }; if ((((__setPropDict[__id20_] == undefined)) || (!((((int(__setPropDict[__id20_]) >= 10)) && ((int(__setPropDict[__id20_]) <= 19))))))){ __setPropDict[__id20_] = currentFrame; (); }; } function (){ try { __id19_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id19_.align = "center"; __id19_.align_vert = "top"; __id19_.color = 0xFFFFFF; __id19_.id = "None"; __id19_.line_spacing = 18; __id19_.text = "click to play at"; __id19_.tracking = 1; try { __id19_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//packageSection 269//Hills (Hills) package { import flash.display.*; public dynamic class Hills extends MovieClip { } }//packageSection 270//LetterButton (LetterButton) package { import com.nitrome.highscore.*; public dynamic class LetterButton extends LetterButton { public function LetterButton(){ addFrameScript(0, frame1); (); } function frame1(){ stop(); } function (){ try { _letter["componentInspectorSetting"] = true; } catch(e:Error) { }; _letter.align = "center"; _letter.align_vert = "center"; _letter.color = 0xCCCCCC; _letter.id = "None"; _letter.line_spacing = 18; _letter.text = "A"; _letter.tracking = 0; try { _letter["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//packageSection 271//MenuMusic (MenuMusic) package { import flash.media.*; public dynamic class MenuMusic extends Sound { } }//packageSection 272//MetalTexture (MetalTexture) package { import flash.display.*; public dynamic class MetalTexture extends BitmapData { public function MetalTexture(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//packageSection 273//NextArrow (NextArrow) package { import flash.utils.*; import com.nitrome.highscore.*; public dynamic class NextArrow extends ArrowButton { public var __setPropDict:Dictionary; public var __id15_:BalancerFont; public function NextArrow(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function frame10(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame; (); }; } function (){ try { __id15_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id15_.align = "center"; __id15_.align_vert = "center"; __id15_.color = 0xCCCCCC; __id15_.id = "None"; __id15_.line_spacing = 18; __id15_.text = "Next"; __id15_.tracking = 0; try { __id15_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame20(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame; (); }; } function (){ try { __id15_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id15_.align = "center"; __id15_.align_vert = "center"; __id15_.color = 0xFFFFFF; __id15_.id = "None"; __id15_.line_spacing = 18; __id15_.text = "Next"; __id15_.tracking = 0; try { __id15_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//packageSection 274//NitromeGame (NitromeGame) package { import flash.display.*; import com.nitrome.game.*; import com.nitrome.util.*; import flash.net.*; public class NitromeGame { public static const NITROME:uint = 0; private static const DOMAINS:Array = new Array(".nitrome.com/", ".miniclip.com/", ".candystand.com/", ".armorgames.com/"); public static const CANDYSTAND:uint = 2; private static const NITROME_URL:Array = new Array("http://www.nitrome.com/", "http://cdn.nitrome.com/", "http://nitrome.com/", "http://www.nitrome.co.uk/", "http://www.nitrome.net/", "http://www.nitromegames.com/", "http://www.nitromegames.co.uk/", "http://www.nitrome-games.com/", "http://www.nitrome-games.co.uk/", "http://www.nitromeimages.com/"); public static const ARMOR:uint = 3; private static const CANDYSTAND_URL:Array = new Array("http://www.candystand.com/", "http://candystand.com/"); public static const MINICLIP:uint = 1; public static const SUBMIT_URL:String = "http://www.nitrome.com/php/submit_score.php"; private static const ARMOR_URL:Array = new Array("http://www.armorgames.com/", "http://armorgames.com/", "http://cache.armorgames.com/"); private static const MINICLIP_URL:Array = new Array("http://www.miniclip.com/", "http://miniclip.com/"); public static const RETRIEVE_URL:String = "http://www.nitrome.com/php/retrieve_scores.php"; private static var _level_id:String; private static var _leading_zero:Boolean = false; private static var ar_1:Array = new Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "/", ":", ".", "_", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-"); private static var ar_2:Array = new Array("_", "7", "c", "2", "l", "r", "a", "h", "i", ".", "g", "m", "v", "1", "b", "q", "3", "z", "w", "o", "u", "t", "s", "0", "d", "f", "8", "n", "5", "k", ":", "j", "p", "/", "4", "6", "e", "9", "y", "x", "-"); private static var _total_levels:int; private static var adj:Number = 1.75; private static var _url:String; public static var global:Object = new Object(); public static var timeline:MovieClip; private static var _game_id:String; private static var ff:Array = new Array(); private static var ar_key:String = "ctdngevfaqki8_lb:psoj90ux127hm/4w5y3rz.6-"; public static var transition:Transition; private static var _time_based:Boolean = false; public static var sound_manager:SoundManager; private static var _selected_level:int = 1; public static function setLastSavedScore(_arg1:int, _arg2:int=1):void{ var _local3:String; var _local4:SharedObject; _local3 = (("so_" + game_id) + String(_arg2)); _local4 = SharedObject.getLocal(_local3); _local4.data.last_saved_score = _arg1; _local4.flush(); _local4.close(); } public static function lockAllLevels(_arg1:int=1):void{ var _local2:String; var _local3:SharedObject; var _local4:Array; var _local5:int; _local2 = (("so_" + game_id) + _arg1); _local3 = SharedObject.getLocal(_local2); _local4 = new Array(total_levels); _local5 = 0; while (_local5 < _local4.length) { _local4[_local5] = 0; _local5++; }; _local4[0] = 1; _local3.data.levels_unlocked = _local4; _local3.flush(); _local3.close(); } public static function get game_id():String{ return (_game_id); } public static function set leading_zero(_arg1:Boolean):void{ _leading_zero = _arg1; } public static function set sfx(_arg1:Boolean):void{ var _local2:String; var _local3:SharedObject; _local2 = ("so_" + game_id); _local3 = SharedObject.getLocal(_local2); _local3.data.sfxon = _arg1; _local3.flush(); _local3.close(); } public static function unlockAllLevels(_arg1:int=1):void{ var _local2:String; var _local3:SharedObject; var _local4:Array; var _local5:int; _local2 = (("so_" + game_id) + _arg1); _local3 = SharedObject.getLocal(_local2); _local4 = new Array(total_levels); _local5 = 0; while (_local5 < _local4.length) { _local4[_local5] = 1; _local5++; }; _local3.data.levels_unlocked = _local4; _local3.flush(); _local3.close(); } private static function decryptString(_arg1:String, _arg2:String):String{ var _local3:String; var _local4:Number; var _local5:int; var _local6:*; var _local7:int; var _local8:int; var _local9:Number; var _local10:int; var _local11:String; adj = 1.75; ff = convertKey(_arg1); _local3 = ""; _local4 = 0; _local5 = 0; while (_local5 < _arg2.length) { _local6 = _arg2.substr(_local5, 1); _local8 = 0; while (_local8 < ar_2.length) { if (ar_2[_local8] == _local6){ _local7 = _local8; break; }; _local8++; }; adj = applyFudgeFactor(); _local9 = (_local4 + adj); _local10 = (_local7 - Math.round(_local9)); _local10 = checkRange(_local10); _local4 = (_local9 + _local7); _local11 = ar_1[_local10]; _local3 = (_local3 + _local11); _local5++; }; return (_local3); } public static function init(_arg1:MovieClip, _arg2:String, _arg3:String, _arg4:Number):void{ timeline = _arg1; _url = _arg1.loaderInfo.url; _level_id = _arg3; _total_levels = _arg4; _game_id = _arg2.toLowerCase(); } public static function displayNextButton(_arg1:String):Boolean{ var _local2:Array; var _local3:String; _local2 = _arg1.split("|"); _local3 = _local2[10]; if (_local3 == "1"){ return (true); }; if (_local3 == "0"){ return (false); }; return (false); } public static function set time_based(_arg1:Boolean):void{ _time_based = _arg1; } public static function get sfx():Boolean{ var _local1:String; var _local2:SharedObject; var _local3:Boolean; var _local4:*; _local1 = ("so_" + game_id); _local2 = SharedObject.getLocal(_local1); _local3 = false; for each (_local4 in _local2.data) { _local3 = true; break; }; if (_local3){ if (_local2.data.sfxon != undefined){ return (_local2.data.sfxon); }; return (true); //unresolved jump }; return (true); } public static function getScoreData(_arg1:int, _arg2:String):String{ var _local3:String; var _local4:String; _local3 = ((((String(_arg1) + "_") + game_id) + "_") + _arg2.toLowerCase()); _local4 = encryptString(ar_key, _local3); return (_local4); } public static function getTotalScore(_arg1:int=1):int{ var _local2:String; var _local3:SharedObject; var _local4:Boolean; var _local5:*; var _local6:int; var _local7:int; _local2 = (("so_" + game_id) + String(_arg1)); _local3 = SharedObject.getLocal(_local2); _local4 = false; for each (_local5 in _local3.data) { _local4 = true; break; }; if (!_local4){ return (0); }; if (_local3.data.level_scores == undefined){ return (0); }; _local6 = 0; _local7 = 0; while (_local7 < _local3.data.level_scores.length) { if (((!((_local3.data.level_scores[_local7] == undefined))) && (!(isNaN(_local3.data.level_scores[_local7]))))){ _local6 = (_local6 + _local3.data.level_scores[_local7]); }; _local7++; }; return (_local6); } private static function convertKey(_arg1:String):Array{ var _local2:Array; var _local3:int; var _local4:int; var _local5:String; var _local6:int; var _local7:int; _local2 = new Array(); _local2.push(_arg1.length); _local3 = 0; _local4 = 0; while (_local4 < _arg1.length) { _local5 = _arg1.substr(_local4, 1); _local7 = 0; while (_local7 < ar_1.length) { if (ar_1[_local7] == _local5){ _local6 = _local7; break; }; _local7++; }; _local2.push(_local6); _local3 = (_local3 + _local6); _local4++; }; _local2.push(_local3); return (_local2); } private static function checkRange(_arg1:int):int{ var _local2:int; _arg1 = Math.round(_arg1); _local2 = ar_1.length; while (_arg1 >= _local2) { _arg1 = (_arg1 - _local2); }; while (_arg1 < 0) { _arg1 = (_arg1 + _local2); }; return (_arg1); } public static function getSwfPath():String{ var _local1:String; var _local2:int; _local1 = url; _local2 = _local1.length; while (_local2 >= 0) { if (_local1.charAt(_local2) == "/"){ _local1 = _local1.slice(0, (_local2 + 1)); break; }; _local2--; }; return (_local1); } public static function get music():Boolean{ var _local1:String; var _local2:SharedObject; var _local3:Boolean; var _local4:*; _local1 = ("so_" + game_id); _local2 = SharedObject.getLocal(_local1); _local3 = false; for each (_local4 in _local2.data) { _local3 = true; break; }; if (_local3){ if (_local2.data.musicon != undefined){ return (_local2.data.musicon); }; return (true); //unresolved jump }; return (true); } public static function get level_id():String{ return (_level_id); } public static function setLevelUnlocked(_arg1:int, _arg2:int=1):void{ var _local3:String; var _local4:SharedObject; var _local5:Boolean; var _local6:*; var _local7:Array; var _local8:int; _local3 = (("so_" + game_id) + _arg2); _local4 = SharedObject.getLocal(_local3); _local5 = false; for each (_local6 in _local4.data) { _local5 = true; break; }; _local7 = new Array(total_levels); if (!_local5){ _local8 = 0; while (_local8 < _local7.length) { _local7[_local8] = 0; _local8++; }; _local7[0] = 1; } else { if (_local4.data.levels_unlocked == undefined){ _local8 = 0; while (_local8 < _local7.length) { _local7[_local8] = 0; _local8++; }; _local7[0] = 1; } else { _local7 = _local4.data.levels_unlocked; }; }; _local7[(_arg1 - 1)] = 1; _local4.data.levels_unlocked = _local7; _local4.flush(); _local4.close(); } public static function get total_levels():int{ return (_total_levels); } public static function isAtURL(... _args):Boolean{ var _local2:int; var _local3:Array; var _local4:Boolean; var _local5:int; var _local6:String; var _local7:String; if (_args.length == 0){ _args.push(NITROME); }; _local2 = 0; while (_local2 < _args.length) { if (_args[_local2] == NITROME){ _local3 = NITROME_URL; } else { if (_args[_local2] == MINICLIP){ _local3 = MINICLIP_URL; } else { if (_args[_local2] == CANDYSTAND){ _local3 = CANDYSTAND_URL; } else { if (_args[_local2] == ARMOR){ _local3 = ARMOR_URL; }; }; }; }; _local4 = false; _local5 = 0; while (_local5 < _local3.length) { _local6 = _local3[_local5]; if (url.substr(0, _local6.length) == _local6){ _local4 = true; break; }; _local5++; }; _local5 = 1; while (_local5 <= 30) { _local7 = DOMAINS[_args[_local2]]; if (url.substr(_local5, _local7.length) == _local7){ _local4 = true; }; _local5++; }; return (_local4); _local2++; }; return (false); } private static function encryptString(_arg1:String, _arg2:String):String{ var _local3:String; var _local4:Number; var _local5:int; var _local6:String; var _local7:int; var _local8:int; var _local9:Number; var _local10:int; var _local11:String; adj = 1.75; ff = convertKey(_arg1); _local3 = ""; _local4 = 0; _local5 = 0; while (_local5 < _arg2.length) { _local6 = _arg2.substr(_local5, 1); _local8 = 0; while (_local8 < ar_1.length) { if (ar_1[_local8] == _local6){ _local7 = _local8; break; }; _local8++; }; adj = applyFudgeFactor(); _local9 = (_local4 + adj); _local10 = (Math.round(_local9) + _local7); _local10 = checkRange(_local10); _local4 = (_local9 + _local10); _local11 = ar_2[_local10]; _local3 = (_local3 + _local11); _local5++; }; return (_local3); } public static function set selected_level(_arg1:int):void{ _selected_level = _arg1; } public static function get leading_zero():Boolean{ return (_leading_zero); } public static function set music(_arg1:Boolean):void{ var _local2:String; var _local3:SharedObject; _local2 = ("so_" + game_id); _local3 = SharedObject.getLocal(_local2); _local3.data.musicon = _arg1; _local3.flush(); _local3.close(); } public static function get time_based():Boolean{ return (_time_based); } public static function getLevelScore(_arg1:int, _arg2:int=1):int{ var _local3:String; var _local4:SharedObject; var _local5:Boolean; var _local6:*; _local3 = (("so_" + game_id) + String(_arg2)); _local4 = SharedObject.getLocal(_local3); _local5 = false; for each (_local6 in _local4.data) { _local5 = true; break; }; if (!_local5){ return (0); }; if (_local4.data.level_scores == undefined){ return (0); }; if (_local4.data.level_scores[_arg1] == undefined){ return (0); }; return (_local4.data.level_scores[_arg1]); } public static function getLevelUnlocked(_arg1:int, _arg2:int=1):Boolean{ var _local3:String; var _local4:SharedObject; var _local5:Boolean; var _local6:*; var _local7:Array; var _local8:int; _local3 = (("so_" + game_id) + _arg2); _local4 = SharedObject.getLocal(_local3); _local5 = false; for each (_local6 in _local4.data) { _local5 = true; break; }; _local7 = new Array(total_levels); if (!_local5){ _local8 = 0; while (_local8 < _local7.length) { _local7[_local8] = 0; _local8++; }; _local7[0] = 1; _local4.data.levels_unlocked = _local7; _local4.flush(); _local4.close(); if (_arg1 == 1){ return (true); }; return (false); } else { if (_local4.data.levels_unlocked == undefined){ _local8 = 0; while (_local8 < _local7.length) { _local7[_local8] = 0; _local8++; }; _local7[0] = 1; _local4.data.levels_unlocked = _local7; _local4.flush(); _local4.close(); if (_arg1 == 1){ return (true); }; return (false); } else { if (_local4.data.levels_unlocked[(_arg1 - 1)] == 1){ return (true); }; if (_local4.data.levels_unlocked[(_arg1 - 1)] == 0){ return (false); }; }; }; return (false); } public static function displayPreviousButton(_arg1:String):Boolean{ var _local2:Array; var _local3:String; _local2 = _arg1.split("|"); _local3 = _local2[11]; if (_local3 == "1"){ return (true); }; if (_local3 == "0"){ return (false); }; return (false); } public static function get selected_level():int{ return (_selected_level); } public static function setLevelScore(_arg1:int, _arg2:int, _arg3:int=1):void{ var _local4:String; var _local5:SharedObject; var _local6:Boolean; var _local7:*; _local4 = (("so_" + game_id) + _arg3); _local5 = SharedObject.getLocal(_local4); _local6 = false; for each (_local7 in _local5.data) { _local6 = true; break; }; if (!_local6){ _local5.data.level_scores = new Array(); _local5.data.level_scores[_arg2] = _arg1; } else { if (_local5.data.level_scores == undefined){ _local5.data.level_scores = new Array(); _local5.data.level_scores[_arg2] = _arg1; } else { _local5.data.level_scores[_arg2] = _arg1; }; }; _local5.flush(); _local5.close(); } private static function applyFudgeFactor():Number{ var _local1:Number; _local1 = Number(ff.shift()); _local1 = (_local1 + adj); ff.push(_local1); return (_local1); } public static function getHighScoreLine(_arg1:String, _arg2:int):Object{ var _local3:Array; var _local4:String; var _local5:Array; var _local6:Object; _local3 = _arg1.split("|"); _local4 = _local3[(_arg2 - 1)]; if ((((((((_local4 == "0")) || ((_local4 == "1")))) || ((_local4 == null)))) || ((_local4 == "")))){ return (null); }; _local5 = _local4.split("_"); if ((((_local5[1] == "n")) || ((_local5[2] == "n")))){ return (null); }; _local6 = new Object(); _local6.username = _local5[2]; _local6.score = _local5[1]; _local6.rank = _local5[0]; return (_local6); } public static function get url():String{ return (_url); } public static function getLastSavedScore(_arg1:int=1):int{ var _local2:String; var _local3:SharedObject; var _local4:Boolean; var _local5:*; _local2 = (("so_" + game_id) + String(_arg1)); _local3 = SharedObject.getLocal(_local2); _local4 = false; for each (_local5 in _local3.data) { _local4 = true; break; }; if (!_local4){ return (0); }; if (_local3.data.last_saved_score == undefined){ return (0); }; return (_local3.data.last_saved_score); } public static function getLevelName(_arg1:Number, _arg2:String=""):String{ var _local3:MD5; var _local4:String; var _local5:String; _local3 = new MD5(); _local4 = ""; if (leading_zero){ if (_arg1 < 10){ _local4 = "0"; }; }; _local5 = _local3.hash(String(((level_id + _local4) + _arg1))); return ((_local5 + _arg2)); } } }//packageSection 275//NumbskullFont (NumbskullFont) package { import com.nitrome.game.*; public dynamic class NumbskullFont extends TemplateFont { } }//packageSection 276//PreDefinedBlocks (PreDefinedBlocks) package { import flash.display.*; public dynamic class PreDefinedBlocks extends MovieClip { public var tesla:MovieClip; public var bees:MovieClip; public var screw:MovieClip; public var block:MovieClip; public var monster:MovieClip; public function PreDefinedBlocks(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//packageSection 277//PrevArrow (PrevArrow) package { import flash.utils.*; import com.nitrome.highscore.*; public dynamic class PrevArrow extends ArrowButton { public var __setPropDict:Dictionary; public var __id16_:BalancerFont; public function PrevArrow(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); } function (){ try { __id16_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id16_.align = "center"; __id16_.align_vert = "center"; __id16_.color = 0xFFFFFF; __id16_.id = "None"; __id16_.line_spacing = 18; __id16_.text = "Prev"; __id16_.tracking = 0; try { __id16_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { __id16_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id16_.align = "center"; __id16_.align_vert = "center"; __id16_.color = 0xCCCCCC; __id16_.id = "None"; __id16_.line_spacing = 18; __id16_.text = "Prev"; __id16_.tracking = 0; try { __id16_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 1)) && ((int(__setPropDict[__id16_]) <= 10))))))){ __setPropDict[__id16_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 11)) && ((int(__setPropDict[__id16_]) <= 20))))))){ __setPropDict[__id16_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 11)) && ((int(__setPropDict[__id16_]) <= 20))))))){ __setPropDict[__id16_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 11)) && ((int(__setPropDict[__id16_]) <= 20))))))){ __setPropDict[__id16_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 1)) && ((int(__setPropDict[__id16_]) <= 10))))))){ __setPropDict[__id16_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 1)) && ((int(__setPropDict[__id16_]) <= 10))))))){ __setPropDict[__id16_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 1)) && ((int(__setPropDict[__id16_]) <= 10))))))){ __setPropDict[__id16_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 1)) && ((int(__setPropDict[__id16_]) <= 10))))))){ __setPropDict[__id16_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 11)) && ((int(__setPropDict[__id16_]) <= 20))))))){ __setPropDict[__id16_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 11)) && ((int(__setPropDict[__id16_]) <= 20))))))){ __setPropDict[__id16_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 11)) && ((int(__setPropDict[__id16_]) <= 20))))))){ __setPropDict[__id16_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 1)) && ((int(__setPropDict[__id16_]) <= 10))))))){ __setPropDict[__id16_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 1)) && ((int(__setPropDict[__id16_]) <= 10))))))){ __setPropDict[__id16_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 11)) && ((int(__setPropDict[__id16_]) <= 20))))))){ __setPropDict[__id16_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 1)) && ((int(__setPropDict[__id16_]) <= 10))))))){ __setPropDict[__id16_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 1)) && ((int(__setPropDict[__id16_]) <= 10))))))){ __setPropDict[__id16_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 1)) && ((int(__setPropDict[__id16_]) <= 10))))))){ __setPropDict[__id16_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 11)) && ((int(__setPropDict[__id16_]) <= 20))))))){ __setPropDict[__id16_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 11)) && ((int(__setPropDict[__id16_]) <= 20))))))){ __setPropDict[__id16_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 11)) && ((int(__setPropDict[__id16_]) <= 20))))))){ __setPropDict[__id16_] = currentFrame; (); }; } } }//packageSection 278//RotateBlock (RotateBlock) package { import flash.display.*; public dynamic class RotateBlock extends MovieClip { } }//packageSection 279//ScoreLine (ScoreLine) package { import com.nitrome.highscore.*; public dynamic class ScoreLine extends HighScoreLine { public function ScoreLine(){ (); (); (); } function (){ try { _name_text["componentInspectorSetting"] = true; } catch(e:Error) { }; _name_text.align = "left"; _name_text.align_vert = "top"; _name_text.color = 0xFFFFFF; _name_text.id = "None"; _name_text.line_spacing = 18; _name_text.text = "Carl"; _name_text.tracking = 1; try { _name_text["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { _score_text["componentInspectorSetting"] = true; } catch(e:Error) { }; _score_text.align = "right"; _score_text.align_vert = "top"; _score_text.color = 0xFFFFFF; _score_text.id = "None"; _score_text.line_spacing = 18; _score_text.text = "000"; _score_text.tracking = 1; try { _score_text["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { _rank_text["componentInspectorSetting"] = true; } catch(e:Error) { }; _rank_text.align = "left"; _rank_text.align_vert = "top"; _rank_text.color = 0xFFFFFF; _rank_text.id = "None"; _rank_text.line_spacing = 18; _rank_text.text = "1."; _rank_text.tracking = 1; try { _rank_text["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//packageSection 280//ScoreSubmitPanel (ScoreSubmitPanel) package { import flash.utils.*; import com.nitrome.game.*; import com.nitrome.highscore.*; public dynamic class ScoreSubmitPanel extends ScoreSubmitPanel { public var __setPropDict:Dictionary; public var __id11_:BalancerFont; public var __id12_:BalancerFont; public var __id13_:BalancerFont; public var __id14_:BalancerFont; public function ScoreSubmitPanel(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9); } function (){ try { _score_text["componentInspectorSetting"] = true; } catch(e:Error) { }; _score_text.align = "center"; _score_text.align_vert = "center"; _score_text.color = 0xFFFFFF; _score_text.id = "None"; _score_text.line_spacing = 18; _score_text.text = "Your score is 0"; _score_text.tracking = 0; try { _score_text["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { _name_text["componentInspectorSetting"] = true; } catch(e:Error) { }; _name_text.align = "center"; _name_text.align_vert = "top"; _name_text.color = 0xFFFFFF; _name_text.id = "None"; _name_text.line_spacing = 18; _name_text.text = ""; _name_text.tracking = 1; try { _name_text["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { __id13_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id13_.align = "center"; __id13_.align_vert = "top"; __id13_.color = 0xFFFFFF; __id13_.id = "None"; __id13_.line_spacing = 18; __id13_.text = "click to play at"; __id13_.tracking = 1; try { __id13_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame19(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 10)) && ((int(__setPropDict[__id12_]) <= 19))))))){ __setPropDict[__id12_] = currentFrame; (); }; if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 10)) && ((int(__setPropDict[__id14_]) <= 19))))))){ __setPropDict[__id14_] = currentFrame; (); }; if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 10)) && ((int(__setPropDict[__id11_]) <= 19))))))){ __setPropDict[__id11_] = currentFrame; (); }; if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 10)) && ((int(__setPropDict[__id13_]) <= 19))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame10(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 10)) && ((int(__setPropDict[__id12_]) <= 19))))))){ __setPropDict[__id12_] = currentFrame; (); }; if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 10)) && ((int(__setPropDict[__id14_]) <= 19))))))){ __setPropDict[__id14_] = currentFrame; (); }; if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 10)) && ((int(__setPropDict[__id11_]) <= 19))))))){ __setPropDict[__id11_] = currentFrame; (); }; if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 10)) && ((int(__setPropDict[__id13_]) <= 19))))))){ __setPropDict[__id13_] = currentFrame; (); }; stop(); } function frame12(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 10)) && ((int(__setPropDict[__id12_]) <= 19))))))){ __setPropDict[__id12_] = currentFrame; (); }; if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 10)) && ((int(__setPropDict[__id14_]) <= 19))))))){ __setPropDict[__id14_] = currentFrame; (); }; if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 10)) && ((int(__setPropDict[__id11_]) <= 19))))))){ __setPropDict[__id11_] = currentFrame; (); }; if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 10)) && ((int(__setPropDict[__id13_]) <= 19))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 10)) && ((int(__setPropDict[__id12_]) <= 19))))))){ __setPropDict[__id12_] = currentFrame; (); }; if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 10)) && ((int(__setPropDict[__id14_]) <= 19))))))){ __setPropDict[__id14_] = currentFrame; (); }; if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 10)) && ((int(__setPropDict[__id11_]) <= 19))))))){ __setPropDict[__id11_] = currentFrame; (); }; if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 10)) && ((int(__setPropDict[__id13_]) <= 19))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 9))))))){ __setPropDict[_name_text] = currentFrame; (); }; if ((((__setPropDict[_score_text] == undefined)) || (!((((int(__setPropDict[_score_text]) >= 1)) && ((int(__setPropDict[_score_text]) <= 9))))))){ __setPropDict[_score_text] = currentFrame; (); }; stop(); _score_text.text = ("YOUR SCORE IS " + Score.value); } function frame17(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 10)) && ((int(__setPropDict[__id12_]) <= 19))))))){ __setPropDict[__id12_] = currentFrame; (); }; if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 10)) && ((int(__setPropDict[__id14_]) <= 19))))))){ __setPropDict[__id14_] = currentFrame; (); }; if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 10)) && ((int(__setPropDict[__id11_]) <= 19))))))){ __setPropDict[__id11_] = currentFrame; (); }; if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 10)) && ((int(__setPropDict[__id13_]) <= 19))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 10)) && ((int(__setPropDict[__id12_]) <= 19))))))){ __setPropDict[__id12_] = currentFrame; (); }; if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 10)) && ((int(__setPropDict[__id14_]) <= 19))))))){ __setPropDict[__id14_] = currentFrame; (); }; if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 10)) && ((int(__setPropDict[__id11_]) <= 19))))))){ __setPropDict[__id11_] = currentFrame; (); }; if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 10)) && ((int(__setPropDict[__id13_]) <= 19))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 9))))))){ __setPropDict[_name_text] = currentFrame; (); }; if ((((__setPropDict[_score_text] == undefined)) || (!((((int(__setPropDict[_score_text]) >= 1)) && ((int(__setPropDict[_score_text]) <= 9))))))){ __setPropDict[_score_text] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 10)) && ((int(__setPropDict[__id12_]) <= 19))))))){ __setPropDict[__id12_] = currentFrame; (); }; if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 10)) && ((int(__setPropDict[__id14_]) <= 19))))))){ __setPropDict[__id14_] = currentFrame; (); }; if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 10)) && ((int(__setPropDict[__id11_]) <= 19))))))){ __setPropDict[__id11_] = currentFrame; (); }; if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 10)) && ((int(__setPropDict[__id13_]) <= 19))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 9))))))){ __setPropDict[_name_text] = currentFrame; (); }; if ((((__setPropDict[_score_text] == undefined)) || (!((((int(__setPropDict[_score_text]) >= 1)) && ((int(__setPropDict[_score_text]) <= 9))))))){ __setPropDict[_score_text] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 9))))))){ __setPropDict[_name_text] = currentFrame; (); }; if ((((__setPropDict[_score_text] == undefined)) || (!((((int(__setPropDict[_score_text]) >= 1)) && ((int(__setPropDict[_score_text]) <= 9))))))){ __setPropDict[_score_text] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 9))))))){ __setPropDict[_name_text] = currentFrame; (); }; if ((((__setPropDict[_score_text] == undefined)) || (!((((int(__setPropDict[_score_text]) >= 1)) && ((int(__setPropDict[_score_text]) <= 9))))))){ __setPropDict[_score_text] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 9))))))){ __setPropDict[_name_text] = currentFrame; (); }; if ((((__setPropDict[_score_text] == undefined)) || (!((((int(__setPropDict[_score_text]) >= 1)) && ((int(__setPropDict[_score_text]) <= 9))))))){ __setPropDict[_score_text] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 9))))))){ __setPropDict[_name_text] = currentFrame; (); }; if ((((__setPropDict[_score_text] == undefined)) || (!((((int(__setPropDict[_score_text]) >= 1)) && ((int(__setPropDict[_score_text]) <= 9))))))){ __setPropDict[_score_text] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 10)) && ((int(__setPropDict[__id12_]) <= 19))))))){ __setPropDict[__id12_] = currentFrame; (); }; if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 10)) && ((int(__setPropDict[__id14_]) <= 19))))))){ __setPropDict[__id14_] = currentFrame; (); }; if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 10)) && ((int(__setPropDict[__id11_]) <= 19))))))){ __setPropDict[__id11_] = currentFrame; (); }; if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 10)) && ((int(__setPropDict[__id13_]) <= 19))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 9))))))){ __setPropDict[_name_text] = currentFrame; (); }; if ((((__setPropDict[_score_text] == undefined)) || (!((((int(__setPropDict[_score_text]) >= 1)) && ((int(__setPropDict[_score_text]) <= 9))))))){ __setPropDict[_score_text] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 10)) && ((int(__setPropDict[__id12_]) <= 19))))))){ __setPropDict[__id12_] = currentFrame; (); }; if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 10)) && ((int(__setPropDict[__id14_]) <= 19))))))){ __setPropDict[__id14_] = currentFrame; (); }; if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 10)) && ((int(__setPropDict[__id11_]) <= 19))))))){ __setPropDict[__id11_] = currentFrame; (); }; if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 10)) && ((int(__setPropDict[__id13_]) <= 19))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 10)) && ((int(__setPropDict[__id12_]) <= 19))))))){ __setPropDict[__id12_] = currentFrame; (); }; if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 10)) && ((int(__setPropDict[__id14_]) <= 19))))))){ __setPropDict[__id14_] = currentFrame; (); }; if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 10)) && ((int(__setPropDict[__id11_]) <= 19))))))){ __setPropDict[__id11_] = currentFrame; (); }; if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 10)) && ((int(__setPropDict[__id13_]) <= 19))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 9))))))){ __setPropDict[_name_text] = currentFrame; (); }; if ((((__setPropDict[_score_text] == undefined)) || (!((((int(__setPropDict[_score_text]) >= 1)) && ((int(__setPropDict[_score_text]) <= 9))))))){ __setPropDict[_score_text] = currentFrame; (); }; } function (){ try { __id14_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id14_.align = "center"; __id14_.align_vert = "top"; __id14_.color = 0xFFFFFF; __id14_.id = "None"; __id14_.line_spacing = 18; __id14_.text = "nitrome.com"; __id14_.tracking = 1; try { __id14_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { __id11_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id11_.align = "center"; __id11_.align_vert = "top"; __id11_.color = 0xFFFFFF; __id11_.id = "None"; __id11_.line_spacing = 18; __id11_.text = "highscores are available"; __id11_.tracking = 1; try { __id11_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { __id12_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id12_.align = "center"; __id12_.align_vert = "top"; __id12_.color = 0xFFFFFF; __id12_.id = "None"; __id12_.line_spacing = 18; __id12_.text = "at nitrome.com"; __id12_.tracking = 1; try { __id12_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//packageSection 281//ScrollArrowDown_disabledSkin (ScrollArrowDown_disabledSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_disabledSkin extends MovieClip { } }//packageSection 282//ScrollArrowDown_downSkin (ScrollArrowDown_downSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_downSkin extends MovieClip { } }//packageSection 283//ScrollArrowDown_overSkin (ScrollArrowDown_overSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_overSkin extends MovieClip { } }//packageSection 284//ScrollArrowDown_upSkin (ScrollArrowDown_upSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_upSkin extends MovieClip { } }//packageSection 285//ScrollArrowUp_disabledSkin (ScrollArrowUp_disabledSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_disabledSkin extends MovieClip { } }//packageSection 286//ScrollArrowUp_downSkin (ScrollArrowUp_downSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_downSkin extends MovieClip { } }//packageSection 287//ScrollArrowUp_overSkin (ScrollArrowUp_overSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_overSkin extends MovieClip { } }//packageSection 288//ScrollArrowUp_upSkin (ScrollArrowUp_upSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_upSkin extends MovieClip { } }//packageSection 289//ScrollBar_thumbIcon (ScrollBar_thumbIcon) package { import flash.display.*; public dynamic class ScrollBar_thumbIcon extends MovieClip { } }//packageSection 290//ScrollThumb_downSkin (ScrollThumb_downSkin) package { import flash.display.*; public dynamic class ScrollThumb_downSkin extends MovieClip { } }//packageSection 291//ScrollThumb_overSkin (ScrollThumb_overSkin) package { import flash.display.*; public dynamic class ScrollThumb_overSkin extends MovieClip { } }//packageSection 292//ScrollThumb_upSkin (ScrollThumb_upSkin) package { import flash.display.*; public dynamic class ScrollThumb_upSkin extends MovieClip { } }//packageSection 293//ScrollTrack_skin (ScrollTrack_skin) package { import flash.display.*; public dynamic class ScrollTrack_skin extends MovieClip { } }//packageSection 294//Sea (Sea) package { import flash.display.*; public dynamic class Sea extends MovieClip { } }//packageSection 295//Shine (Shine) package { import flash.display.*; public dynamic class Shine extends MovieClip { } }//packageSection 296//Sky (Sky) package { import flash.display.*; public dynamic class Sky extends MovieClip { } }//packageSection 297//SmashClip (SmashClip) package { import flash.display.*; public dynamic class SmashClip extends MovieClip { public function SmashClip(){ addFrameScript(7, frame8); } function frame8(){ stop(); parent.removeChild(this); } } }//packageSection 298//SplashClip (SplashClip) package { import flash.display.*; public dynamic class SplashClip extends MovieClip { public function SplashClip(){ addFrameScript(18, frame19); } function frame19(){ stop(); parent.removeChild(this); } } }//packageSection 299//SubmitButton (SubmitButton) package { import flash.utils.*; import com.nitrome.highscore.*; public dynamic class SubmitButton extends SubmitButton { public var __setPropDict:Dictionary; public var __id9_:BalancerFont; public function SubmitButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); } function frame10(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame; (); }; } function (){ try { __id9_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id9_.align = "center"; __id9_.align_vert = "center"; __id9_.color = 0xFFFFFF; __id9_.id = "None"; __id9_.line_spacing = 18; __id9_.text = "Submit"; __id9_.tracking = 0; try { __id9_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame1(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame; (); }; } function (){ try { __id9_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id9_.align = "center"; __id9_.align_vert = "center"; __id9_.color = 0xCCCCCC; __id9_.id = "None"; __id9_.line_spacing = 18; __id9_.text = "Submit"; __id9_.tracking = 0; try { __id9_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame20(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame; (); }; } } }//packageSection 300//Text_None_0 (Text_None_0) package { import flash.display.*; public dynamic class Text_None_0 extends Sprite { } }//packageSection 301//Text_None_1 (Text_None_1) package { import flash.display.*; public dynamic class Text_None_1 extends Sprite { } }//packageSection 302//Text_None_2 (Text_None_2) package { import flash.display.*; public dynamic class Text_None_2 extends Sprite { } }//packageSection 303//Text_None_3 (Text_None_3) package { import flash.display.*; public dynamic class Text_None_3 extends Sprite { } }//packageSection 304//Text_None_4 (Text_None_4) package { import flash.display.*; public dynamic class Text_None_4 extends Sprite { } }//packageSection 305//Text_None_5 (Text_None_5) package { import flash.display.*; public dynamic class Text_None_5 extends Sprite { } }//packageSection 306//Text_None_6 (Text_None_6) package { import flash.display.*; public dynamic class Text_None_6 extends Sprite { } }//packageSection 307//Text_None_7 (Text_None_7) package { import flash.display.*; public dynamic class Text_None_7 extends Sprite { } }//packageSection 308//Text_None_8 (Text_None_8) package { import flash.display.*; public dynamic class Text_None_8 extends Sprite { } }//packageSection 309//Text_None_9 (Text_None_9) package { import flash.display.*; public dynamic class Text_None_9 extends Sprite { } }//packageSection 310//Text_None_A (Text_None_A) package { import flash.display.*; public dynamic class Text_None_A extends Sprite { } }//packageSection 311//Text_None_APOSTROPHE (Text_None_APOSTROPHE) package { import flash.display.*; public dynamic class Text_None_APOSTROPHE extends Sprite { } }//packageSection 312//Text_None_B (Text_None_B) package { import flash.display.*; public dynamic class Text_None_B extends Sprite { } }//packageSection 313//Text_None_C (Text_None_C) package { import flash.display.*; public dynamic class Text_None_C extends Sprite { } }//packageSection 314//Text_None_COLON (Text_None_COLON) package { import flash.display.*; public dynamic class Text_None_COLON extends Sprite { } }//packageSection 315//Text_None_COMMA (Text_None_COMMA) package { import flash.display.*; public dynamic class Text_None_COMMA extends Sprite { } }//packageSection 316//Text_None_D (Text_None_D) package { import flash.display.*; public dynamic class Text_None_D extends Sprite { } }//packageSection 317//Text_None_E (Text_None_E) package { import flash.display.*; public dynamic class Text_None_E extends Sprite { } }//packageSection 318//Text_None_EXCLAMATION (Text_None_EXCLAMATION) package { import flash.display.*; public dynamic class Text_None_EXCLAMATION extends Sprite { } }//packageSection 319//Text_None_F (Text_None_F) package { import flash.display.*; public dynamic class Text_None_F extends Sprite { } }//packageSection 320//Text_None_FORWARDSLASH (Text_None_FORWARDSLASH) package { import flash.display.*; public dynamic class Text_None_FORWARDSLASH extends Sprite { } }//packageSection 321//Text_None_G (Text_None_G) package { import flash.display.*; public dynamic class Text_None_G extends Sprite { } }//packageSection 322//Text_None_H (Text_None_H) package { import flash.display.*; public dynamic class Text_None_H extends Sprite { } }//packageSection 323//Text_None_HYPHEN (Text_None_HYPHEN) package { import flash.display.*; public dynamic class Text_None_HYPHEN extends Sprite { } }//packageSection 324//Text_None_I (Text_None_I) package { import flash.display.*; public dynamic class Text_None_I extends Sprite { } }//packageSection 325//Text_None_J (Text_None_J) package { import flash.display.*; public dynamic class Text_None_J extends Sprite { } }//packageSection 326//Text_None_K (Text_None_K) package { import flash.display.*; public dynamic class Text_None_K extends Sprite { } }//packageSection 327//Text_None_L (Text_None_L) package { import flash.display.*; public dynamic class Text_None_L extends Sprite { } }//packageSection 328//Text_None_M (Text_None_M) package { import flash.display.*; public dynamic class Text_None_M extends Sprite { } }//packageSection 329//Text_None_N (Text_None_N) package { import flash.display.*; public dynamic class Text_None_N extends Sprite { } }//packageSection 330//Text_None_O (Text_None_O) package { import flash.display.*; public dynamic class Text_None_O extends Sprite { } }//packageSection 331//Text_None_P (Text_None_P) package { import flash.display.*; public dynamic class Text_None_P extends Sprite { } }//packageSection 332//Text_None_Q (Text_None_Q) package { import flash.display.*; public dynamic class Text_None_Q extends Sprite { } }//packageSection 333//Text_None_QUESTION (Text_None_QUESTION) package { import flash.display.*; public dynamic class Text_None_QUESTION extends Sprite { } }//packageSection 334//Text_None_R (Text_None_R) package { import flash.display.*; public dynamic class Text_None_R extends Sprite { } }//packageSection 335//Text_None_S (Text_None_S) package { import flash.display.*; public dynamic class Text_None_S extends Sprite { } }//packageSection 336//Text_None_SPACE (Text_None_SPACE) package { import flash.display.*; public dynamic class Text_None_SPACE extends MovieClip { } }//packageSection 337//Text_None_STOP (Text_None_STOP) package { import flash.display.*; public dynamic class Text_None_STOP extends Sprite { } }//packageSection 338//Text_None_T (Text_None_T) package { import flash.display.*; public dynamic class Text_None_T extends Sprite { } }//packageSection 339//Text_None_U (Text_None_U) package { import flash.display.*; public dynamic class Text_None_U extends Sprite { } }//packageSection 340//Text_None_V (Text_None_V) package { import flash.display.*; public dynamic class Text_None_V extends Sprite { } }//packageSection 341//Text_None_W (Text_None_W) package { import flash.display.*; public dynamic class Text_None_W extends Sprite { } }//packageSection 342//Text_None_X (Text_None_X) package { import flash.display.*; public dynamic class Text_None_X extends Sprite { } }//packageSection 343//Text_None_Y (Text_None_Y) package { import flash.display.*; public dynamic class Text_None_Y extends Sprite { } }//packageSection 344//Text_None_Z (Text_None_Z) package { import flash.display.*; public dynamic class Text_None_Z extends Sprite { } }//packageSection 345//WaterTexture (WaterTexture) package { import flash.display.*; public dynamic class WaterTexture extends BitmapData { public function WaterTexture(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//packageSection 346//WoodTexture (WoodTexture) package { import flash.display.*; public dynamic class WoodTexture extends BitmapData { public function WoodTexture(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Library Items
| Symbol 1 Bitmap | Used by:2 230 236 250 | |
| Symbol 2 Graphic | Uses:1 | Used by:3 |
| Symbol 3 MovieClip | Uses:2 | Used by:136 234 235 |
| Symbol 4 Graphic | Used by:135 310 | |
| Symbol 5 Bitmap | Used by:6 | |
| Symbol 6 Graphic | Uses:5 | Used by:7 |
| Symbol 7 MovieClip {Text_None_0} | Uses:6 | Used by:135 310 |
| Symbol 8 Bitmap | Used by:9 | |
| Symbol 9 Graphic | Uses:8 | Used by:10 |
| Symbol 10 MovieClip {Text_None_1} | Uses:9 | Used by:135 310 |
| Symbol 11 Bitmap | Used by:12 | |
| Symbol 12 Graphic | Uses:11 | Used by:13 |
| Symbol 13 MovieClip {Text_None_2} | Uses:12 | Used by:135 310 |
| Symbol 14 Bitmap | Used by:15 | |
| Symbol 15 Graphic | Uses:14 | Used by:16 |
| Symbol 16 MovieClip {Text_None_3} | Uses:15 | Used by:135 310 |
| Symbol 17 Bitmap | Used by:18 | |
| Symbol 18 Graphic | Uses:17 | Used by:19 |
| Symbol 19 MovieClip {Text_None_4} | Uses:18 | Used by:135 310 |
| Symbol 20 Bitmap | Used by:21 | |
| Symbol 21 Graphic | Uses:20 | Used by:22 |
| Symbol 22 MovieClip {Text_None_5} | Uses:21 | Used by:135 310 |
| Symbol 23 Bitmap | Used by:24 | |
| Symbol 24 Graphic | Uses:23 | Used by:25 |
| Symbol 25 MovieClip {Text_None_6} | Uses:24 | Used by:135 310 |
| Symbol 26 Bitmap | Used by:27 | |
| Symbol 27 Graphic | Uses:26 | Used by:28 |
| Symbol 28 MovieClip {Text_None_7} | Uses:27 | Used by:135 310 |
| Symbol 29 Bitmap | Used by:30 | |
| Symbol 30 Graphic | Uses:29 | Used by:31 |
| Symbol 31 MovieClip {Text_None_8} | Uses:30 | Used by:135 310 |
| Symbol 32 Bitmap | Used by:33 | |
| Symbol 33 Graphic | Uses:32 | Used by:34 |
| Symbol 34 MovieClip {Text_None_9} | Uses:33 | Used by:135 310 |
| Symbol 35 Bitmap | Used by:36 | |
| Symbol 36 Graphic | Uses:35 | Used by:37 |
| Symbol 37 MovieClip {Text_None_A} | Uses:36 | Used by:135 310 |
| Symbol 38 Bitmap | Used by:39 50 | |
| Symbol 39 Graphic | Uses:38 | Used by:40 |
| Symbol 40 MovieClip {Text_None_APOSTROPHE} | Uses:39 | Used by:135 310 |
| Symbol 41 Bitmap | Used by:42 | |
| Symbol 42 Graphic | Uses:41 | Used by:43 |
| Symbol 43 MovieClip {Text_None_B} | Uses:42 | Used by:135 310 |
| Symbol 44 Bitmap | Used by:45 | |
| Symbol 45 Graphic | Uses:44 | Used by:46 |
| Symbol 46 MovieClip {Text_None_C} | Uses:45 | Used by:135 310 |
| Symbol 47 Bitmap | Used by:48 | |
| Symbol 48 Graphic | Uses:47 | Used by:49 |
| Symbol 49 MovieClip {Text_None_COLON} | Uses:48 | Used by:135 310 |
| Symbol 50 Graphic | Uses:38 | Used by:51 |
| Symbol 51 MovieClip {Text_None_COMMA} | Uses:50 | Used by:135 310 |
| Symbol 52 Bitmap | Used by:53 | |
| Symbol 53 Graphic | Uses:52 | Used by:54 |
| Symbol 54 MovieClip {Text_None_D} | Uses:53 | Used by:135 310 |
| Symbol 55 Bitmap | Used by:56 | |
| Symbol 56 Graphic | Uses:55 | Used by:57 |
| Symbol 57 MovieClip {Text_None_E} | Uses:56 | Used by:135 310 |
| Symbol 58 Bitmap | Used by:59 | |
| Symbol 59 Graphic | Uses:58 | Used by:60 |
| Symbol 60 MovieClip {Text_None_EXCLAMATION} | Uses:59 | Used by:135 310 |
| Symbol 61 Bitmap | Used by:62 | |
| Symbol 62 Graphic | Uses:61 | Used by:63 |
| Symbol 63 MovieClip {Text_None_F} | Uses:62 | Used by:135 310 |
| Symbol 64 Bitmap | Used by:65 | |
| Symbol 65 Graphic | Uses:64 | Used by:66 |
| Symbol 66 MovieClip {Text_None_G} | Uses:65 | Used by:135 310 |
| Symbol 67 Bitmap | Used by:68 | |
| Symbol 68 Graphic | Uses:67 | Used by:69 |
| Symbol 69 MovieClip {Text_None_H} | Uses:68 | Used by:135 310 |
| Symbol 70 Bitmap | Used by:71 | |
| Symbol 71 Graphic | Uses:70 | Used by:72 |
| Symbol 72 MovieClip {Text_None_HYPHEN} | Uses:71 | Used by:135 310 |
| Symbol 73 Bitmap | Used by:74 | |
| Symbol 74 Graphic | Uses:73 | Used by:75 |
| Symbol 75 MovieClip {Text_None_I} | Uses:74 | Used by:135 310 |
| Symbol 76 Bitmap | Used by:77 | |
| Symbol 77 Graphic | Uses:76 | Used by:78 |
| Symbol 78 MovieClip {Text_None_J} | Uses:77 | Used by:135 310 |
| Symbol 79 Bitmap | Used by:80 | |
| Symbol 80 Graphic | Uses:79 | Used by:81 |
| Symbol 81 MovieClip {Text_None_K} | Uses:80 | Used by:135 310 |
| Symbol 82 Bitmap | Used by:83 | |
| Symbol 83 Graphic | Uses:82 | Used by:84 |
| Symbol 84 MovieClip {Text_None_L} | Uses:83 | Used by:135 310 |
| Symbol 85 Bitmap | Used by:86 | |
| Symbol 86 Graphic | Uses:85 | Used by:87 |
| Symbol 87 MovieClip {Text_None_M} | Uses:86 | Used by:135 310 |
| Symbol 88 Bitmap | Used by:89 | |
| Symbol 89 Graphic | Uses:88 | Used by:90 |
| Symbol 90 MovieClip {Text_None_N} | Uses:89 | Used by:135 310 |
| Symbol 91 Bitmap | Used by:92 | |
| Symbol 92 Graphic | Uses:91 | Used by:93 |
| Symbol 93 MovieClip {Text_None_O} | Uses:92 | Used by:135 310 |
| Symbol 94 Bitmap | Used by:95 | |
| Symbol 95 Graphic | Uses:94 | Used by:96 |
| Symbol 96 MovieClip {Text_None_P} | Uses:95 | Used by:135 310 |
| Symbol 97 Bitmap | Used by:98 | |
| Symbol 98 Graphic | Uses:97 | Used by:99 |
| Symbol 99 MovieClip {Text_None_Q} | Uses:98 | Used by:135 310 |
| Symbol 100 Bitmap | Used by:101 | |
| Symbol 101 Graphic | Uses:100 | Used by:102 |
| Symbol 102 MovieClip {Text_None_QUESTION} | Uses:101 | Used by:135 238 310 1326 |
| Symbol 103 Bitmap | Used by:104 | |
| Symbol 104 Graphic | Uses:103 | Used by:105 |
| Symbol 105 MovieClip {Text_None_R} | Uses:104 | Used by:135 310 |
| Symbol 106 Bitmap | Used by:107 | |
| Symbol 107 Graphic | Uses:106 | Used by:108 |
| Symbol 108 MovieClip {Text_None_S} | Uses:107 | Used by:135 310 |
| Symbol 109 Bitmap | Used by:110 | |
| Symbol 110 Graphic | Uses:109 | Used by:111 |
| Symbol 111 MovieClip {Text_None_STOP} | Uses:110 | Used by:135 310 |
| Symbol 112 Bitmap | Used by:113 | |
| Symbol 113 Graphic | Uses:112 | Used by:114 |
| Symbol 114 MovieClip {Text_None_T} | Uses:113 | Used by:135 310 |
| Symbol 115 Bitmap | Used by:116 | |
| Symbol 116 Graphic | Uses:115 | Used by:117 |
| Symbol 117 MovieClip {Text_None_U} | Uses:116 | Used by:135 310 |
| Symbol 118 Bitmap | Used by:119 | |
| Symbol 119 Graphic | Uses:118 | Used by:120 |
| Symbol 120 MovieClip {Text_None_V} | Uses:119 | Used by:135 310 |
| Symbol 121 Bitmap | Used by:122 | |
| Symbol 122 Graphic | Uses:121 | Used by:123 |
| Symbol 123 MovieClip {Text_None_W} | Uses:122 | Used by:135 310 |
| Symbol 124 Bitmap | Used by:125 | |
| Symbol 125 Graphic | Uses:124 | Used by:126 |
| Symbol 126 MovieClip {Text_None_X} | Uses:125 | Used by:135 310 |
| Symbol 127 Bitmap | Used by:128 | |
| Symbol 128 Graphic | Uses:127 | Used by:129 |
| Symbol 129 MovieClip {Text_None_Y} | Uses:128 | Used by:135 310 |
| Symbol 130 Bitmap | Used by:131 | |
| Symbol 131 Graphic | Uses:130 | Used by:132 |
| Symbol 132 MovieClip {Text_None_Z} | Uses:131 | Used by:135 310 |
| Symbol 133 Graphic | Used by:134 | |
| Symbol 134 MovieClip {Text_None_SPACE} | Uses:133 | Used by:135 310 |
| Symbol 135 MovieClip {BalancerFont} | Uses:4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120 123 126 129 132 134 | Used by:136 142 232 233 234 235 238 239 240 241 242 243 244 249 252 253 254 255 301 302 1447 1499 1508 1509 1519 1527 Timeline |
| Symbol 136 MovieClip {com.nitrome.game.NextLevelButton} | Uses:3 135 | Used by:1520 |
| Symbol 137 Graphic | Used by:138 | |
| Symbol 138 MovieClip {com.nitrome.game.ArmorButton} | Uses:137 | Used by:Timeline |
| Symbol 139 Graphic | Used by:416 Timeline | |
| Symbol 140 Font | Used by:141 | |
| Symbol 141 EditableText | Uses:140 | Used by:142 |
| Symbol 142 MovieClip {com.nitrome.game.Preloader} | Uses:135 141 | Used by:1326 Timeline |
| Symbol 143 Graphic | Used by:Timeline | |
| Symbol 144 Bitmap | Used by:145 | |
| Symbol 145 Graphic | Uses:144 | Used by:146 |
| Symbol 146 MovieClip {CursorUL} | Uses:145 | Used by:1326 |
| Symbol 147 Bitmap | Used by:148 | |
| Symbol 148 Graphic | Uses:147 | Used by:149 |
| Symbol 149 MovieClip {CursorUR} | Uses:148 | Used by:1326 |
| Symbol 150 Bitmap | Used by:151 | |
| Symbol 151 Graphic | Uses:150 | Used by:152 |
| Symbol 152 MovieClip {CursorDL} | Uses:151 | Used by:1326 |
| Symbol 153 Bitmap | Used by:154 | |
| Symbol 154 Graphic | Uses:153 | Used by:155 |
| Symbol 155 MovieClip {CursorDR} | Uses:154 | Used by:1326 |
| Symbol 156 Bitmap | Used by:157 | |
| Symbol 157 Graphic | Uses:156 | Used by:158 |
| Symbol 158 MovieClip {CursorD} | Uses:157 | Used by:1326 |
| Symbol 159 Bitmap | Used by:160 | |
| Symbol 160 Graphic | Uses:159 | Used by:161 |
| Symbol 161 MovieClip {CursorU} | Uses:160 | Used by:1326 |
| Symbol 162 Bitmap | Used by:163 | |
| Symbol 163 Graphic | Uses:162 | Used by:164 |
| Symbol 164 MovieClip {CursorR} | Uses:163 | Used by:1326 |
| Symbol 165 Bitmap | Used by:166 | |
| Symbol 166 Graphic | Uses:165 | Used by:167 |
| Symbol 167 MovieClip {CursorL} | Uses:166 | Used by:1326 |
| Symbol 168 Sound | Used by:169 | |
| Symbol 169 MovieClip {PowerUp_fla.nitrome_12} | Uses:168 | Used by:225 |
| Symbol 170 Sound | Used by:171 | |
| Symbol 171 MovieClip {PowerUp_fla.deepthud_13} | Uses:170 | Used by:225 |
| Symbol 172 Sound | Used by:173 | |
| Symbol 173 MovieClip {PowerUp_fla.splash_14} | Uses:172 | Used by:225 |
| Symbol 174 Sound | Used by:175 | |
| Symbol 175 MovieClip {PowerUp_fla.metal_1_15} | Uses:174 | Used by:225 |
| Symbol 176 Sound | Used by:177 195 | |
| Symbol 177 MovieClip {PowerUp_fla.metal_2_16} | Uses:176 | Used by:225 |
| Symbol 178 Sound | Used by:179 | |
| Symbol 179 MovieClip {PowerUp_fla.slap_17} | Uses:178 | Used by:225 |
| Symbol 180 Sound | Used by:181 | |
| Symbol 181 MovieClip {PowerUp_fla.sticky_18} | Uses:180 | Used by:225 |
| Symbol 182 Sound | Used by:184 | |
| Symbol 183 Sound | Used by:184 | |
| Symbol 184 MovieClip {PowerUp_fla.cannon_19} | Uses:182 183 | Used by:225 |
| Symbol 185 Sound | Used by:186 | |
| Symbol 186 MovieClip {PowerUp_fla.chest_creak_20} | Uses:185 | Used by:225 |
| Symbol 187 Sound | Used by:188 | |
| Symbol 188 MovieClip {PowerUp_fla.tesla_21} | Uses:187 | Used by:225 |
| Symbol 189 Sound | Used by:190 | |
| Symbol 190 MovieClip {PowerUp_fla.chargeup_22} | Uses:189 | Used by:225 |
| Symbol 191 Sound | Used by:192 | |
| Symbol 192 MovieClip {PowerUp_fla.charged_23} | Uses:191 | Used by:225 |
| Symbol 193 Sound | Used by:194 | |
| Symbol 194 MovieClip {PowerUp_fla.balloon_24} | Uses:193 | Used by:225 |
| Symbol 195 MovieClip {PowerUp_fla.metal_3_25} | Uses:176 | Used by:225 |
| Symbol 196 Sound | Used by:197 | |
| Symbol 197 MovieClip {PowerUp_fla.metal_4_26} | Uses:196 | Used by:225 |
| Symbol 198 Sound | Used by:199 | |
| Symbol 199 MovieClip {PowerUp_fla.glasstap_27} | Uses:198 | Used by:225 |
| Symbol 200 Sound | Used by:201 | |
| Symbol 201 MovieClip {PowerUp_fla.death_ground_28} | Uses:200 | Used by:225 |
| Symbol 202 Sound | Used by:203 | |
| Symbol 203 MovieClip {PowerUp_fla.monster_angry_29} | Uses:202 | Used by:225 |
| Symbol 204 Sound | Used by:205 | |
| Symbol 205 MovieClip {PowerUp_fla.electric_30} | Uses:204 | Used by:225 |
| Symbol 206 Sound | Used by:207 | |
| Symbol 207 MovieClip {PowerUp_fla.chargeup2_31} | Uses:206 | Used by:225 |
| Symbol 208 Sound | Used by:209 | |
| Symbol 209 MovieClip {PowerUp_fla.chargeup3_32} | Uses:208 | Used by:225 |
| Symbol 210 Sound | Used by:211 | |
| Symbol 211 MovieClip {PowerUp_fla.chargeup4_33} | Uses:210 | Used by:225 |
| Symbol 212 Sound | Used by:213 | |
| Symbol 213 MovieClip {PowerUp_fla.chargeup6_34} | Uses:212 | Used by:225 |
| Symbol 214 Sound | Used by:215 | |
| Symbol 215 MovieClip {PowerUp_fla.chargeup5_35} | Uses:214 | Used by:225 |
| Symbol 216 Sound | Used by:217 | |
| Symbol 217 MovieClip {PowerUp_fla.chargeup7_36} | Uses:216 | Used by:225 |
| Symbol 218 Sound | Used by:219 | |
| Symbol 219 MovieClip {PowerUp_fla.chargeup8_37} | Uses:218 | Used by:225 |
| Symbol 220 Sound | Used by:221 | |
| Symbol 221 MovieClip {PowerUp_fla.screw_38} | Uses:220 | Used by:225 |
| Symbol 222 Sound | Used by:223 | |
| Symbol 223 MovieClip {PowerUp_fla.monster_happy_39} | Uses:222 | Used by:225 |
| Symbol 224 Graphic | Used by:225 | |
| Symbol 225 MovieClip {com.nitrome.game.SoundManager} | Uses:169 171 173 175 177 179 181 184 186 188 190 192 194 195 197 199 201 203 205 207 209 211 213 215 217 219 221 223 224 | Used by:1326 |
| Symbol 226 Font | Used by:227 | |
| Symbol 227 Text | Uses:226 | Used by:228 |
| Symbol 228 MovieClip | Uses:227 | Used by:229 |
| Symbol 229 MovieClip {com.nitrome.game.LoadIndicator} | Uses:228 | Used by:1326 |
| Symbol 230 Graphic | Uses:1 | Used by:231 |
| Symbol 231 MovieClip | Uses:230 | Used by:232 233 239 240 241 242 243 253 254 301 302 1499 1509 |
| Symbol 232 MovieClip {com.nitrome.game.PlayButton} | Uses:231 135 | Used by:1326 Timeline |
| Symbol 233 MovieClip {com.nitrome.game.BackToTitleButton} | Uses:231 135 | Used by:1326 1527 Timeline |
| Symbol 234 MovieClip {com.nitrome.game.CongratulationsSubmitScoreButton} | Uses:3 135 | Used by:1326 |
| Symbol 235 MovieClip {com.nitrome.game.PauseSubmitScoreButton} | Uses:3 135 | Used by:1326 |
| Symbol 236 Graphic | Uses:1 | Used by:237 |
| Symbol 237 MovieClip | Uses:236 | Used by:238 244 |
| Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} | Uses:237 135 102 | Used by:1326 Timeline |
| Symbol 239 MovieClip {com.nitrome.game.HelpButton} | Uses:231 135 | Used by:1326 Timeline |
| Symbol 240 MovieClip {com.nitrome.game.ScoresButton} | Uses:231 135 | Used by:1326 |
| Symbol 241 MovieClip {com.nitrome.game.CreditsButton} | Uses:231 135 | Used by:1326 Timeline |
| Symbol 242 MovieClip {SubmitButton} | Uses:231 135 | Used by:249 1326 |
| Symbol 243 MovieClip {ClearButton} | Uses:231 135 | Used by:249 1326 |
| Symbol 244 MovieClip {LetterButton} | Uses:237 135 | Used by:249 1326 |
| Symbol 245 Bitmap | Used by:246 1431 | |
| Symbol 246 Graphic | Uses:245 | Used by:249 255 |
| Symbol 247 Graphic | Used by:248 323 | |
| Symbol 248 Button {com.nitrome.game.NitromeLink} | Uses:247 | Used by:249 255 1326 |
| Symbol 249 MovieClip {ScoreSubmitPanel} | Uses:242 243 244 135 246 248 | Used by:1326 |
| Symbol 250 Graphic | Uses:1 | Used by:251 |
| Symbol 251 MovieClip | Uses:250 | Used by:252 1519 |
| Symbol 252 MovieClip {ScoreLine} | Uses:251 135 | Used by:255 1326 |
| Symbol 253 MovieClip {NextArrow} | Uses:231 135 | Used by:255 1326 |
| Symbol 254 MovieClip {PrevArrow} | Uses:231 135 | Used by:255 1326 |
| Symbol 255 MovieClip {HighScoreBoard} | Uses:252 253 254 135 246 248 | Used by:1326 |
| Symbol 256 Graphic | Used by:257 | |
| Symbol 257 MovieClip | Uses:256 | Used by:258 |
| Symbol 258 MovieClip | Uses:257 | Used by:269 |
| Symbol 259 Graphic | Used by:269 | |
| Symbol 260 Graphic | Used by:269 | |
| Symbol 261 Graphic | Used by:269 | |
| Symbol 262 Graphic | Used by:269 | |
| Symbol 263 Graphic | Used by:269 | |
| Symbol 264 Graphic | Used by:269 Timeline | |
| Symbol 265 Graphic | Used by:269 | |
| Symbol 266 Graphic | Used by:269 | |
| Symbol 267 Graphic | Used by:269 | |
| Symbol 268 Graphic | Used by:269 | |
| Symbol 269 MovieClip {com.nitrome.game.Transition} | Uses:258 259 260 261 262 263 264 265 266 267 268 | Used by:1326 Timeline |
| Symbol 270 Bitmap | Used by:271 | |
| Symbol 271 Graphic | Uses:270 | Used by:272 |
| Symbol 272 MovieClip | Uses:271 | Used by:276 |
| Symbol 273 Bitmap | Used by:275 | |
| Symbol 274 Bitmap | Used by:275 279 | |
| Symbol 275 Graphic | Uses:273 274 | Used by:276 |
| Symbol 276 MovieClip {com.nitrome.game.PauseButton} | Uses:272 275 | Used by:1326 Timeline |
| Symbol 277 Bitmap | Used by:278 | |
| Symbol 278 Graphic | Uses:277 | Used by:284 |
| Symbol 279 Graphic | Uses:274 | Used by:284 |
| Symbol 280 Font | Used by:281 | |
| Symbol 281 Text | Uses:280 | Used by:284 |
| Symbol 282 Bitmap | Used by:283 | |
| Symbol 283 Graphic | Uses:282 | Used by:284 |
| Symbol 284 MovieClip {com.nitrome.game.InGameHelpButton} | Uses:278 279 281 283 | Used by:1326 Timeline |
| Symbol 285 Bitmap | Used by:286 | |
| Symbol 286 Graphic | Uses:285 | Used by:287 |
| Symbol 287 MovieClip | Uses:286 | Used by:293 |
| Symbol 288 Bitmap | Used by:290 | |
| Symbol 289 Bitmap | Used by:290 | |
| Symbol 290 Graphic | Uses:288 289 | Used by:293 |
| Symbol 291 Bitmap | Used by:292 | |
| Symbol 292 Graphic | Uses:291 | Used by:293 300 |
| Symbol 293 MovieClip {com.nitrome.game.MusicToggle} | Uses:287 290 292 | Used by:1326 Timeline |
| Symbol 294 Bitmap | Used by:295 | |
| Symbol 295 Graphic | Uses:294 | Used by:296 |
| Symbol 296 MovieClip | Uses:295 | Used by:300 |
| Symbol 297 Bitmap | Used by:299 | |
| Symbol 298 Bitmap | Used by:299 | |
| Symbol 299 Graphic | Uses:297 298 | Used by:300 |
| Symbol 300 MovieClip {com.nitrome.game.FxToggle} | Uses:296 299 292 | Used by:1326 Timeline |
| Symbol 301 MovieClip {com.nitrome.game.ContinueGameButton} | Uses:231 135 | Used by:1326 1503 |
| Symbol 302 MovieClip {com.nitrome.game.EndGameButton} | Uses:231 135 | Used by:1326 1503 |
| Symbol 303 Bitmap | Used by:306 | |
| Symbol 304 Bitmap | Used by:306 | |
| Symbol 305 Bitmap | Used by:306 | |
| Symbol 306 Graphic | Uses:303 304 305 | Used by:311 312 313 |
| Symbol 307 Bitmap | Used by:308 | |
| Symbol 308 Graphic | Uses:307 | Used by:309 |
| Symbol 309 MovieClip {Text_None_FORWARDSLASH} | Uses:308 | Used by:310 |
| Symbol 310 MovieClip {NumbskullFont} | Uses:4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120 123 126 129 132 134 309 | Used by:311 312 313 |
| Symbol 311 MovieClip {PowerUp_fla.nextlevelbutton_76} | Uses:306 310 | Used by:1326 |
| Symbol 312 MovieClip {com.nitrome.game.RestartLevelButton} | Uses:306 310 | Used by:1326 |
| Symbol 313 MovieClip {com.nitrome.game.IngameSubmitScoreButton} | Uses:306 310 | Used by:1326 |
| Symbol 314 Graphic | Used by:318 | |
| Symbol 315 Font | Used by:316 | |
| Symbol 316 Text | Uses:315 | Used by:318 |
| Symbol 317 Graphic | Used by:318 | |
| Symbol 318 MovieClip {com.nitrome.game.ExitToLevelSelectButton} | Uses:314 316 317 | Used by:1326 |
| Symbol 319 Font | Used by:320 | |
| Symbol 320 Text | Uses:319 | Used by:323 |
| Symbol 321 Bitmap | Used by:322 | |
| Symbol 322 Graphic | Uses:321 | Used by:323 |
| Symbol 323 MovieClip {com.nitrome.util.Lock} | Uses:247 320 322 | Used by:1326 |
| Symbol 324 Bitmap | Used by:325 | |
| Symbol 325 Graphic | Uses:324 | Used by:326 |
| Symbol 326 MovieClip | Uses:325 | Used by:330 |
| Symbol 327 Bitmap | Used by:329 | |
| Symbol 328 Bitmap | Used by:329 | |
| Symbol 329 Graphic | Uses:327 328 | Used by:330 |
| Symbol 330 MovieClip {com.nitrome.game.ResetButton} | Uses:326 329 | Used by:1326 Timeline |
| Symbol 331 Graphic | Used by:332 341 | |
| Symbol 332 MovieClip {CheckBox_upIcon} | Uses:331 | Used by:351 1326 |
| Symbol 333 Graphic | Used by:334 342 | |
| Symbol 334 MovieClip {CheckBox_overIcon} | Uses:333 | Used by:351 1326 |
| Symbol 335 Graphic | Used by:336 343 | |
| Symbol 336 MovieClip {CheckBox_downIcon} | Uses:335 | Used by:351 1326 |
| Symbol 337 Graphic | Used by:338 | |
| Symbol 338 MovieClip {CheckBox_disabledIcon} | Uses:337 | Used by:351 1326 |
| Symbol 339 Graphic | Used by:340 | |
| Symbol 340 MovieClip | Uses:339 | Used by:341 342 343 345 |
| Symbol 341 MovieClip {CheckBox_selectedUpIcon} | Uses:331 340 | Used by:351 1326 |
| Symbol 342 MovieClip {CheckBox_selectedOverIcon} | Uses:333 340 | Used by:351 1326 |
| Symbol 343 MovieClip {CheckBox_selectedDownIcon} | Uses:335 340 | Used by:351 1326 |
| Symbol 344 Graphic | Used by:345 | |
| Symbol 345 MovieClip {CheckBox_selectedDisabledIcon} | Uses:344 340 | Used by:351 1326 |
| Symbol 346 Graphic | Used by:347 | |
| Symbol 347 MovieClip {focusRectSkin} | Uses:346 | Used by:351 383 402 1326 |
| Symbol 348 Graphic | Used by:349 | |
| Symbol 349 MovieClip | Uses:348 | Used by:351 383 402 |
| Symbol 350 MovieClip {fl.core.ComponentShim} | Used by:351 383 402 | |
| Symbol 351 MovieClip {fl.controls.CheckBox} | Uses:349 350 332 334 336 338 341 342 343 345 347 | Used by:352 411 1326 |
| Symbol 352 MovieClip {com.nitrome.balancer.BlockDrawer_game} | Uses:351 | Used by:1326 |
| Symbol 353 Graphic | Used by:354 | |
| Symbol 354 MovieClip {blockNode} | Uses:353 | Used by:411 1326 |
| Symbol 355 Graphic | Used by:356 | |
| Symbol 356 MovieClip {ScrollTrack_skin} | Uses:355 | Used by:383 1326 |
| Symbol 357 Graphic | Used by:360 | |
| Symbol 358 Graphic | Used by:359 362 366 376 | |
| Symbol 359 MovieClip | Uses:358 | Used by:360 370 372 |
| Symbol 360 MovieClip {ScrollArrowUp_downSkin} | Uses:357 359 | Used by:383 1326 |
| Symbol 361 Graphic | Used by:362 | |
| Symbol 362 MovieClip {ScrollArrowDown_downSkin} | Uses:361 358 | Used by:383 1326 |
| Symbol 363 Graphic | Used by:364 | |
| Symbol 364 MovieClip {ScrollThumb_downSkin} | Uses:363 | Used by:383 1326 |
| Symbol 365 Graphic | Used by:366 | |
| Symbol 366 MovieClip {ScrollArrowDown_overSkin} | Uses:365 358 | Used by:383 1326 |
| Symbol 367 Graphic | Used by:368 | |
| Symbol 368 MovieClip {ScrollThumb_overSkin} | Uses:367 | Used by:383 1326 |
| Symbol 369 Graphic | Used by:370 | |
| Symbol 370 MovieClip {ScrollArrowUp_overSkin} | Uses:369 359 | Used by:383 1326 |
| Symbol 371 Graphic | Used by:372 | |
| Symbol 372 MovieClip {ScrollArrowUp_upSkin} | Uses:371 359 | Used by:383 1326 |
| Symbol 373 Graphic | Used by:374 | |
| Symbol 374 MovieClip {ScrollThumb_upSkin} | Uses:373 | Used by:383 1326 |
| Symbol 375 Graphic | Used by:376 | |
| Symbol 376 MovieClip {ScrollArrowDown_upSkin} | Uses:375 358 | Used by:383 1326 |
| Symbol 377 Graphic | Used by:378 | |
| Symbol 378 MovieClip {ScrollArrowDown_disabledSkin} | Uses:377 | Used by:383 1326 |
| Symbol 379 Graphic | Used by:380 | |
| Symbol 380 MovieClip {ScrollArrowUp_disabledSkin} | Uses:379 | Used by:383 1326 |
| Symbol 381 Graphic | Used by:382 | |
| Symbol 382 MovieClip {ScrollBar_thumbIcon} | Uses:381 | Used by:383 1326 |
| Symbol 383 MovieClip {fl.controls.UIScrollBar} | Uses:349 350 347 356 360 362 364 366 368 370 372 374 376 378 380 382 | Used by:411 1326 |
| Symbol 384 Graphic | Used by:385 | |
| Symbol 385 MovieClip {Button_disabledSkin} | Uses:384 | Used by:402 1326 |
| Symbol 386 Graphic | Used by:387 | |
| Symbol 387 MovieClip {Button_downSkin} | Uses:386 | Used by:402 1326 |
| Symbol 388 Graphic | Used by:389 | |
| Symbol 389 MovieClip {Button_emphasizedSkin} | Uses:388 | Used by:402 1326 |
| Symbol 390 Graphic | Used by:391 | |
| Symbol 391 MovieClip {Button_overSkin} | Uses:390 | Used by:402 1326 |
| Symbol 392 Graphic | Used by:393 | |
| Symbol 393 MovieClip {Button_selectedDisabledSkin} | Uses:392 | Used by:402 1326 |
| Symbol 394 Graphic | Used by:395 | |
| Symbol 395 MovieClip {Button_selectedDownSkin} | Uses:394 | Used by:402 1326 |
| Symbol 396 Graphic | Used by:397 | |
| Symbol 397 MovieClip {Button_selectedOverSkin} | Uses:396 | Used by:402 1326 |
| Symbol 398 Graphic | Used by:399 | |
| Symbol 399 MovieClip {Button_selectedUpSkin} | Uses:398 | Used by:402 1326 |
| Symbol 400 Graphic | Used by:401 | |
| Symbol 401 MovieClip {Button_upSkin} | Uses:400 | Used by:402 1326 |
| Symbol 402 MovieClip {fl.controls.Button} | Uses:349 350 385 387 389 391 393 395 397 399 401 347 | Used by:411 1326 |
| Symbol 403 Graphic | Used by:411 | |
| Symbol 404 Graphic | Used by:411 | |
| Symbol 405 Font | Used by:406 407 | |
| Symbol 406 Text | Uses:405 | Used by:411 |
| Symbol 407 Text | Uses:405 | Used by:411 |
| Symbol 408 Graphic | Used by:411 | |
| Symbol 409 MovieClip | Used by:411 | |
| Symbol 410 Graphic | Used by:411 | |
| Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} | Uses:403 354 404 406 407 383 408 409 402 351 410 | Used by:1326 Timeline |
| Symbol 412 Graphic | Used by:413 | |
| Symbol 413 MovieClip {DeleteBlock} | Uses:412 | Used by:1326 |
| Symbol 414 Graphic | Used by:415 | |
| Symbol 415 MovieClip {RotateBlock} | Uses:414 | Used by:1326 |
| Symbol 416 MovieClip {BGColour} | Uses:139 | Used by:1326 |
| Symbol 417 Bitmap | Used by:418 | |
| Symbol 418 Graphic | Uses:417 | Used by:419 |
| Symbol 419 MovieClip {Hills} | Uses:418 | Used by:1326 |
| Symbol 420 Bitmap | Used by:421 | |
| Symbol 421 Graphic | Uses:420 | Used by:425 |
| Symbol 422 Bitmap | Used by:423 | |
| Symbol 423 Graphic | Uses:422 | Used by:424 |
| Symbol 424 MovieClip | Uses:423 | Used by:425 |
| Symbol 425 MovieClip {CannonBall} | Uses:421 424 | Used by:1326 |
| Symbol 426 Bitmap | Used by:427 | |
| Symbol 427 Graphic | Uses:426 | Used by:441 |
| Symbol 428 Bitmap | Used by:429 | |
| Symbol 429 Graphic | Uses:428 | Used by:433 |
| Symbol 430 Graphic | Used by:433 438 | |
| Symbol 431 Bitmap | Used by:432 | |
| Symbol 432 Graphic | Uses:431 | Used by:433 |
| Symbol 433 MovieClip {PowerUp_fla.chestArrow_131} | Uses:429 430 432 | Used by:441 |
| Symbol 434 Bitmap | Used by:435 | |
| Symbol 435 Graphic | Uses:434 | Used by:438 |
| Symbol 436 Bitmap | Used by:437 | |
| Symbol 437 Graphic | Uses:436 | Used by:438 |
| Symbol 438 MovieClip {PowerUp_fla.chestArrow_r_132} | Uses:435 430 437 | Used by:441 |
| Symbol 439 Graphic | Used by:441 | |
| Symbol 440 MovieClip | Used by:441 Timeline | |
| Symbol 441 MovieClip {com.nitrome.balancer.ChestDisplay} | Uses:427 433 438 439 440 | Used by:1326 |
| Symbol 442 Bitmap | Used by:443 | |
| Symbol 443 Graphic | Uses:442 | Used by:460 |
| Symbol 444 Bitmap | Used by:445 | |
| Symbol 445 Graphic | Uses:444 | Used by:460 |
| Symbol 446 Bitmap | Used by:447 | |
| Symbol 447 Graphic | Uses:446 | Used by:460 |
| Symbol 448 Bitmap | Used by:449 | |
| Symbol 449 Graphic | Uses:448 | Used by:460 |
| Symbol 450 Bitmap | Used by:451 | |
| Symbol 451 Graphic | Uses:450 | Used by:460 |
| Symbol 452 Bitmap | Used by:453 | |
| Symbol 453 Graphic | Uses:452 | Used by:460 |
| Symbol 454 Bitmap | Used by:455 | |
| Symbol 455 Graphic | Uses:454 | Used by:460 |
| Symbol 456 Bitmap | Used by:457 | |
| Symbol 457 Graphic | Uses:456 | Used by:460 |
| Symbol 458 Bitmap | Used by:459 | |
| Symbol 459 Graphic | Uses:458 | Used by:460 |
| Symbol 460 MovieClip {DustClip} | Uses:443 445 447 449 451 453 455 457 459 | Used by:1326 |
| Symbol 461 Bitmap | Used by:462 1404 | |
| Symbol 462 Graphic | Uses:461 | Used by:463 |
| Symbol 463 MovieClip {Sea} | Uses:462 | Used by:1326 |
| Symbol 464 Bitmap | Used by:465 | |
| Symbol 465 Graphic | Uses:464 | Used by:466 |
| Symbol 466 MovieClip {Sky} | Uses:465 | Used by:1326 Timeline |
| Symbol 467 Bitmap | Used by:468 | |
| Symbol 468 Graphic | Uses:467 | Used by:481 |
| Symbol 469 Bitmap | Used by:470 | |
| Symbol 470 Graphic | Uses:469 | Used by:481 |
| Symbol 471 Bitmap | Used by:472 | |
| Symbol 472 Graphic | Uses:471 | Used by:481 |
| Symbol 473 Bitmap | Used by:474 | |
| Symbol 474 Graphic | Uses:473 | Used by:481 |
| Symbol 475 Bitmap | Used by:476 | |
| Symbol 476 Graphic | Uses:475 | Used by:481 |
| Symbol 477 Bitmap | Used by:478 | |
| Symbol 478 Graphic | Uses:477 | Used by:481 |
| Symbol 479 Bitmap | Used by:480 | |
| Symbol 480 Graphic | Uses:479 | Used by:481 |
| Symbol 481 MovieClip {SmashClip} | Uses:468 470 472 474 476 478 480 | Used by:1326 |
| Symbol 482 Bitmap | Used by:483 | |
| Symbol 483 Graphic | Uses:482 | Used by:488 1086 1394 |
| Symbol 484 Bitmap | Used by:485 | |
| Symbol 485 Graphic | Uses:484 | Used by:488 1086 1394 |
| Symbol 486 Bitmap | Used by:487 | |
| Symbol 487 Graphic | Uses:486 | Used by:488 1086 1394 |
| Symbol 488 MovieClip | Uses:483 485 487 | Used by:489 |
| Symbol 489 MovieClip | Uses:488 | Used by:490 |
| Symbol 490 MovieClip | Uses:489 | Used by:491 1417 |
| Symbol 491 MovieClip {com.nitrome.balancer.Spark} | Uses:490 | Used by:1326 |
| Symbol 492 Bitmap | Used by:493 | |
| Symbol 493 Graphic | Uses:492 | Used by:510 |
| Symbol 494 Bitmap | Used by:495 | |
| Symbol 495 Graphic | Uses:494 | Used by:510 |
| Symbol 496 Bitmap | Used by:497 | |
| Symbol 497 Graphic | Uses:496 | Used by:510 |
| Symbol 498 Bitmap | Used by:499 | |
| Symbol 499 Graphic | Uses:498 | Used by:510 |
| Symbol 500 Bitmap | Used by:501 | |
| Symbol 501 Graphic | Uses:500 | Used by:510 |
| Symbol 502 Bitmap | Used by:503 | |
| Symbol 503 Graphic | Uses:502 | Used by:510 |
| Symbol 504 Bitmap | Used by:505 | |
| Symbol 505 Graphic | Uses:504 | Used by:510 |
| Symbol 506 Bitmap | Used by:507 | |
| Symbol 507 Graphic | Uses:506 | Used by:510 |
| Symbol 508 Bitmap | Used by:509 | |
| Symbol 509 Graphic | Uses:508 | Used by:510 |
| Symbol 510 MovieClip {SplashClip} | Uses:493 495 497 499 501 503 505 507 509 | Used by:1326 |
| Symbol 511 Graphic | Used by:512 | |
| Symbol 512 MovieClip {com.nitrome.balancer.LevelBlocks_game} | Uses:511 | Used by:1326 Timeline |
| Symbol 513 Bitmap | Used by:514 | |
| Symbol 514 Graphic | Uses:513 | Used by:529 |
| Symbol 515 Bitmap | Used by:516 | |
| Symbol 516 Graphic | Uses:515 | Used by:529 |
| Symbol 517 Bitmap | Used by:518 | |
| Symbol 518 Graphic | Uses:517 | Used by:529 |
| Symbol 519 Bitmap | Used by:520 | |
| Symbol 520 Graphic | Uses:519 | Used by:529 |
| Symbol 521 Bitmap | Used by:522 | |
| Symbol 522 Graphic | Uses:521 | Used by:529 |
| Symbol 523 Bitmap | Used by:524 | |
| Symbol 524 Graphic | Uses:523 | Used by:529 |
| Symbol 525 Bitmap | Used by:526 | |
| Symbol 526 Graphic | Uses:525 | Used by:529 |
| Symbol 527 Bitmap | Used by:528 | |
| Symbol 528 Graphic | Uses:527 | Used by:529 |
| Symbol 529 MovieClip {PowerUp_fla.cannon_fire_145} | Uses:514 516 518 520 522 524 526 528 | Used by:530 1290 |
| Symbol 530 MovieClip {GroundSmack} | Uses:529 | Used by:1326 |
| Symbol 531 Graphic | Used by:547 1310 | |
| Symbol 532 Bitmap | Used by:533 | |
| Symbol 533 Graphic | Uses:532 | Used by:540 |
| Symbol 534 Bitmap | Used by:535 | |
| Symbol 535 Graphic | Uses:534 | Used by:540 |
| Symbol 536 Bitmap | Used by:537 | |
| Symbol 537 Graphic | Uses:536 | Used by:540 |
| Symbol 538 Bitmap | Used by:539 | |
| Symbol 539 Graphic | Uses:538 | Used by:540 |
| Symbol 540 MovieClip | Uses:533 535 537 539 | Used by:546 |
| Symbol 541 Bitmap | Used by:542 | |
| Symbol 542 Graphic | Uses:541 | Used by:543 |
| Symbol 543 MovieClip | Uses:542 | Used by:544 |
| Symbol 544 MovieClip | Uses:543 | Used by:545 |
| Symbol 545 MovieClip | Uses:544 | Used by:546 |
| Symbol 546 MovieClip {PowerUp_fla.Fish_147} | Uses:540 545 | Used by:547 |
| Symbol 547 MovieClip {com.nitrome.balancer.Fishy} | Uses:531 546 | Used by:809 1326 |
| Symbol 548 Graphic | Used by:549 | |
| Symbol 549 MovieClip | Uses:548 | Used by:809 |
| Symbol 550 Bitmap | Used by:551 | |
| Symbol 551 Graphic | Uses:550 | Used by:552 |
| Symbol 552 MovieClip | Uses:551 | Used by:809 |
| Symbol 553 Bitmap | Used by:554 | |
| Symbol 554 Graphic | Uses:553 | Used by:555 |
| Symbol 555 MovieClip | Uses:554 | Used by:809 |
| Symbol 556 Bitmap | Used by:557 | |
| Symbol 557 Graphic | Uses:556 | Used by:558 |
| Symbol 558 MovieClip | Uses:557 | Used by:809 |
| Symbol 559 Bitmap | Used by:560 | |
| Symbol 560 Graphic | Uses:559 | Used by:561 |
| Symbol 561 MovieClip | Uses:560 | Used by:809 |
| Symbol 562 Bitmap | Used by:563 | |
| Symbol 563 Graphic | Uses:562 | Used by:564 |
| Symbol 564 MovieClip | Uses:563 | Used by:809 |
| Symbol 565 Bitmap | Used by:566 | |
| Symbol 566 Graphic | Uses:565 | Used by:567 |
| Symbol 567 MovieClip | Uses:566 | Used by:809 |
| Symbol 568 Bitmap | Used by:569 | |
| Symbol 569 Graphic | Uses:568 | Used by:570 |
| Symbol 570 MovieClip | Uses:569 | Used by:809 |
| Symbol 571 Bitmap | Used by:572 | |
| Symbol 572 Graphic | Uses:571 | Used by:573 |
| Symbol 573 MovieClip | Uses:572 | Used by:809 |
| Symbol 574 Bitmap | Used by:575 | |
| Symbol 575 Graphic | Uses:574 | Used by:576 |
| Symbol 576 MovieClip | Uses:575 | Used by:809 |
| Symbol 577 Bitmap | Used by:578 | |
| Symbol 578 Graphic | Uses:577 | Used by:579 |
| Symbol 579 MovieClip | Uses:578 | Used by:809 |
| Symbol 580 Bitmap | Used by:581 | |
| Symbol 581 Graphic | Uses:580 | Used by:582 |
| Symbol 582 MovieClip | Uses:581 | Used by:809 |
| Symbol 583 Bitmap | Used by:584 | |
| Symbol 584 Graphic | Uses:583 | Used by:585 |
| Symbol 585 MovieClip | Uses:584 | Used by:809 |
| Symbol 586 Bitmap | Used by:587 | |
| Symbol 587 Graphic | Uses:586 | Used by:588 |
| Symbol 588 MovieClip | Uses:587 | Used by:809 |
| Symbol 589 Bitmap | Used by:590 | |
| Symbol 590 Graphic | Uses:589 | Used by:591 |
| Symbol 591 MovieClip | Uses:590 | Used by:809 |
| Symbol 592 Bitmap | Used by:593 | |
| Symbol 593 Graphic | Uses:592 | Used by:594 |
| Symbol 594 MovieClip | Uses:593 | Used by:809 |
| Symbol 595 Bitmap | Used by:596 | |
| Symbol 596 Graphic | Uses:595 | Used by:597 |
| Symbol 597 MovieClip | Uses:596 | Used by:809 |
| Symbol 598 Bitmap | Used by:599 | |
| Symbol 599 Graphic | Uses:598 | Used by:600 |
| Symbol 600 MovieClip | Uses:599 | Used by:809 |
| Symbol 601 Bitmap | Used by:602 | |
| Symbol 602 Graphic | Uses:601 | Used by:603 |
| Symbol 603 MovieClip | Uses:602 | Used by:809 |
| Symbol 604 Bitmap | Used by:605 | |
| Symbol 605 Graphic | Uses:604 | Used by:606 |
| Symbol 606 MovieClip | Uses:605 | Used by:809 |
| Symbol 607 Bitmap | Used by:608 | |
| Symbol 608 Graphic | Uses:607 | Used by:609 |
| Symbol 609 MovieClip | Uses:608 | Used by:809 |
| Symbol 610 Bitmap | Used by:611 | |
| Symbol 611 Graphic | Uses:610 | Used by:612 |
| Symbol 612 MovieClip | Uses:611 | Used by:809 |
| Symbol 613 Bitmap | Used by:614 | |
| Symbol 614 Graphic | Uses:613 | Used by:615 |
| Symbol 615 MovieClip | Uses:614 | Used by:809 |
| Symbol 616 Bitmap | Used by:617 | |
| Symbol 617 Graphic | Uses:616 | Used by:618 |
| Symbol 618 MovieClip | Uses:617 | Used by:809 |
| Symbol 619 Bitmap | Used by:620 | |
| Symbol 620 Graphic | Uses:619 | Used by:621 |
| Symbol 621 MovieClip | Uses:620 | Used by:809 |
| Symbol 622 Bitmap | Used by:623 | |
| Symbol 623 Graphic | Uses:622 | Used by:624 |
| Symbol 624 MovieClip | Uses:623 | Used by:809 |
| Symbol 625 Bitmap | Used by:626 | |
| Symbol 626 Graphic | Uses:625 | Used by:627 |
| Symbol 627 MovieClip | Uses:626 | Used by:809 |
| Symbol 628 Bitmap | Used by:629 | |
| Symbol 629 Graphic | Uses:628 | Used by:630 |
| Symbol 630 MovieClip | Uses:629 | Used by:809 |
| Symbol 631 Bitmap | Used by:632 | |
| Symbol 632 Graphic | Uses:631 | Used by:633 |
| Symbol 633 MovieClip | Uses:632 | Used by:809 |
| Symbol 634 Bitmap | Used by:635 | |
| Symbol 635 Graphic | Uses:634 | Used by:636 |
| Symbol 636 MovieClip | Uses:635 | Used by:809 |
| Symbol 637 Bitmap | Used by:638 | |
| Symbol 638 Graphic | Uses:637 | Used by:639 |
| Symbol 639 MovieClip | Uses:638 | Used by:809 |
| Symbol 640 Bitmap | Used by:641 | |
| Symbol 641 Graphic | Uses:640 | Used by:642 |
| Symbol 642 MovieClip | Uses:641 | Used by:809 |
| Symbol 643 Bitmap | Used by:644 | |
| Symbol 644 Graphic | Uses:643 | Used by:645 |
| Symbol 645 MovieClip | Uses:644 | Used by:809 |
| Symbol 646 Bitmap | Used by:647 | |
| Symbol 647 Graphic | Uses:646 | Used by:648 |
| Symbol 648 MovieClip | Uses:647 | Used by:809 |
| Symbol 649 Bitmap | Used by:650 | |
| Symbol 650 Graphic | Uses:649 | Used by:651 |
| Symbol 651 MovieClip | Uses:650 | Used by:809 |
| Symbol 652 Bitmap | Used by:653 | |
| Symbol 653 Graphic | Uses:652 | Used by:654 |
| Symbol 654 MovieClip | Uses:653 | Used by:809 |
| Symbol 655 Bitmap | Used by:656 | |
| Symbol 656 Graphic | Uses:655 | Used by:657 |
| Symbol 657 MovieClip | Uses:656 | Used by:809 |
| Symbol 658 Bitmap | Used by:659 | |
| Symbol 659 Graphic | Uses:658 | Used by:670 |
| Symbol 660 Bitmap | Used by:661 | |
| Symbol 661 Graphic | Uses:660 | Used by:670 |
| Symbol 662 Bitmap | Used by:663 | |
| Symbol 663 Graphic | Uses:662 | Used by:670 |
| Symbol 664 Bitmap | Used by:665 | |
| Symbol 665 Graphic | Uses:664 | Used by:670 |
| Symbol 666 Bitmap | Used by:667 | |
| Symbol 667 Graphic | Uses:666 | Used by:670 |
| Symbol 668 Bitmap | Used by:669 | |
| Symbol 669 Graphic | Uses:668 | Used by:670 |
| Symbol 670 MovieClip | Uses:659 661 663 665 667 669 | Used by:671 |
| Symbol 671 MovieClip | Uses:670 | Used by:809 |
| Symbol 672 Bitmap | Used by:673 | |
| Symbol 673 Graphic | Uses:672 | Used by:674 |
| Symbol 674 MovieClip | Uses:673 | Used by:809 |
| Symbol 675 Bitmap | Used by:676 | |
| Symbol 676 Graphic | Uses:675 | Used by:677 |
| Symbol 677 MovieClip | Uses:676 | Used by:809 |
| Symbol 678 Bitmap | Used by:679 | |
| Symbol 679 Graphic | Uses:678 | Used by:680 |
| Symbol 680 MovieClip | Uses:679 | Used by:809 |
| Symbol 681 Bitmap | Used by:682 | |
| Symbol 682 Graphic | Uses:681 | Used by:683 |
| Symbol 683 MovieClip | Uses:682 | Used by:809 |
| Symbol 684 Bitmap | Used by:685 | |
| Symbol 685 Graphic | Uses:684 | Used by:686 |
| Symbol 686 MovieClip | Uses:685 | Used by:809 |
| Symbol 687 Bitmap | Used by:688 | |
| Symbol 688 Graphic | Uses:687 | Used by:689 |
| Symbol 689 MovieClip | Uses:688 | Used by:809 |
| Symbol 690 Bitmap | Used by:691 | |
| Symbol 691 Graphic | Uses:690 | Used by:692 |
| Symbol 692 MovieClip | Uses:691 | Used by:809 |
| Symbol 693 Bitmap | Used by:694 | |
| Symbol 694 Graphic | Uses:693 | Used by:695 |
| Symbol 695 MovieClip | Uses:694 | Used by:809 |
| Symbol 696 Bitmap | Used by:697 | |
| Symbol 697 Graphic | Uses:696 | Used by:698 |
| Symbol 698 MovieClip | Uses:697 | Used by:809 |
| Symbol 699 Bitmap | Used by:700 | |
| Symbol 700 Graphic | Uses:699 | Used by:701 |
| Symbol 701 MovieClip | Uses:700 | Used by:809 |
| Symbol 702 Bitmap | Used by:703 | |
| Symbol 703 Graphic | Uses:702 | Used by:704 |
| Symbol 704 MovieClip | Uses:703 | Used by:809 |
| Symbol 705 Bitmap | Used by:706 | |
| Symbol 706 Graphic | Uses:705 | Used by:707 |
| Symbol 707 MovieClip | Uses:706 | Used by:809 |
| Symbol 708 Bitmap | Used by:709 | |
| Symbol 709 Graphic | Uses:708 | Used by:710 |
| Symbol 710 MovieClip | Uses:709 | Used by:809 |
| Symbol 711 Bitmap | Used by:712 | |
| Symbol 712 Graphic | Uses:711 | Used by:713 |
| Symbol 713 MovieClip | Uses:712 | Used by:809 |
| Symbol 714 Bitmap | Used by:715 | |
| Symbol 715 Graphic | Uses:714 | Used by:716 747 |
| Symbol 716 MovieClip | Uses:715 | Used by:809 |
| Symbol 717 Bitmap | Used by:718 | |
| Symbol 718 Graphic | Uses:717 | Used by:719 748 |
| Symbol 719 MovieClip | Uses:718 | Used by:809 |
| Symbol 720 Bitmap | Used by:721 | |
| Symbol 721 Graphic | Uses:720 | Used by:722 749 |
| Symbol 722 MovieClip | Uses:721 | Used by:809 |
| Symbol 723 Bitmap | Used by:724 | |
| Symbol 724 Graphic | Uses:723 | Used by:725 750 |
| Symbol 725 MovieClip | Uses:724 | Used by:809 |
| Symbol 726 Bitmap | Used by:727 | |
| Symbol 727 Graphic | Uses:726 | Used by:728 751 |
| Symbol 728 MovieClip | Uses:727 | Used by:809 |
| Symbol 729 Bitmap | Used by:730 | |
| Symbol 730 Graphic | Uses:729 | Used by:731 752 |
| Symbol 731 MovieClip | Uses:730 | Used by:809 |
| Symbol 732 Bitmap | Used by:733 | |
| Symbol 733 Graphic | Uses:732 | Used by:734 753 |
| Symbol 734 MovieClip | Uses:733 | Used by:809 |
| Symbol 735 Bitmap | Used by:736 | |
| Symbol 736 Graphic | Uses:735 | Used by:737 754 |
| Symbol 737 MovieClip | Uses:736 | Used by:809 |
| Symbol 738 Bitmap | Used by:739 | |
| Symbol 739 Graphic | Uses:738 | Used by:740 755 |
| Symbol 740 MovieClip | Uses:739 | Used by:809 |
| Symbol 741 Bitmap | Used by:742 | |
| Symbol 742 Graphic | Uses:741 | Used by:743 756 |
| Symbol 743 MovieClip | Uses:742 | Used by:809 |
| Symbol 744 Bitmap | Used by:745 | |
| Symbol 745 Graphic | Uses:744 | Used by:746 757 |
| Symbol 746 MovieClip | Uses:745 | Used by:809 |
| Symbol 747 MovieClip | Uses:715 | Used by:809 |
| Symbol 748 MovieClip | Uses:718 | Used by:809 |
| Symbol 749 MovieClip | Uses:721 | Used by:809 |
| Symbol 750 MovieClip | Uses:724 | Used by:809 |
| Symbol 751 MovieClip | Uses:727 | Used by:809 |
| Symbol 752 MovieClip | Uses:730 | Used by:809 |
| Symbol 753 MovieClip | Uses:733 | Used by:809 |
| Symbol 754 MovieClip | Uses:736 | Used by:809 |
| Symbol 755 MovieClip | Uses:739 | Used by:809 |
| Symbol 756 MovieClip | Uses:742 | Used by:809 |
| Symbol 757 MovieClip | Uses:745 | Used by:809 |
| Symbol 758 Bitmap | Used by:759 | |
| Symbol 759 Graphic | Uses:758 | Used by:760 |
| Symbol 760 MovieClip | Uses:759 | Used by:809 |
| Symbol 761 Bitmap | Used by:762 | |
| Symbol 762 Graphic | Uses:761 | Used by:763 |
| Symbol 763 MovieClip | Uses:762 | Used by:809 |
| Symbol 764 Bitmap | Used by:765 | |
| Symbol 765 Graphic | Uses:764 | Used by:766 |
| Symbol 766 MovieClip | Uses:765 | Used by:809 |
| Symbol 767 Bitmap | Used by:768 | |
| Symbol 768 Graphic | Uses:767 | Used by:769 |
| Symbol 769 MovieClip | Uses:768 | Used by:809 |
| Symbol 770 Bitmap | Used by:771 | |
| Symbol 771 Graphic | Uses:770 | Used by:772 |
| Symbol 772 MovieClip | Uses:771 | Used by:809 |
| Symbol 773 Bitmap | Used by:774 | |
| Symbol 774 Graphic | Uses:773 | Used by:775 |
| Symbol 775 MovieClip | Uses:774 | Used by:809 |
| Symbol 776 Bitmap | Used by:777 785 | |
| Symbol 777 Graphic | Uses:776 | Used by:778 |
| Symbol 778 MovieClip | Uses:777 | Used by:809 |
| Symbol 779 Bitmap | Used by:780 | |
| Symbol 780 Graphic | Uses:779 | Used by:781 |
| Symbol 781 MovieClip | Uses:780 | Used by:809 |
| Symbol 782 Bitmap | Used by:783 790 | |
| Symbol 783 Graphic | Uses:782 | Used by:784 |
| Symbol 784 MovieClip | Uses:783 | Used by:809 |
| Symbol 785 Graphic | Uses:776 | Used by:786 |
| Symbol 786 MovieClip | Uses:785 | Used by:809 |
| Symbol 787 Bitmap | Used by:788 | |
| Symbol 788 Graphic | Uses:787 | Used by:789 |
| Symbol 789 MovieClip | Uses:788 | Used by:809 |
| Symbol 790 Graphic | Uses:782 | Used by:791 |
| Symbol 791 MovieClip | Uses:790 | Used by:809 |
| Symbol 792 Bitmap | Used by:793 | |
| Symbol 793 Graphic | Uses:792 | Used by:794 |
| Symbol 794 MovieClip | Uses:793 | Used by:809 |
| Symbol 795 Bitmap | Used by:796 | |
| Symbol 796 Graphic | Uses:795 | Used by:797 |
| Symbol 797 MovieClip | Uses:796 | Used by:809 |
| Symbol 798 Bitmap | Used by:799 | |
| Symbol 799 Graphic | Uses:798 | Used by:800 |
| Symbol 800 MovieClip | Uses:799 | Used by:809 |
| Symbol 801 Bitmap | Used by:802 | |
| Symbol 802 Graphic | Uses:801 | Used by:803 |
| Symbol 803 MovieClip | Uses:802 | Used by:809 |
| Symbol 804 Bitmap | Used by:805 | |
| Symbol 805 Graphic | Uses:804 | Used by:806 |
| Symbol 806 MovieClip | Uses:805 | Used by:809 |
| Symbol 807 Graphic | Used by:808 | |
| Symbol 808 MovieClip | Uses:807 | Used by:809 |
| Symbol 809 MovieClip {AllStamps} | Uses:549 552 555 558 561 564 567 570 573 576 579 582 585 588 591 594 597 600 603 606 609 612 615 618 621 624 627 630 633 636 639 642 645 648 651 654 657 671 547 674 677 680 683 686 689 692 695 698 701 704 707 710 713 716 719 722 725 728 731 734 737 740 743 746 747 748 749 750 751 752 753 754 755 756 757 760 763 766 769 772 775 778 781 784 786 789 791 794 797 800 803 806 808 | Used by:1326 |
| Symbol 810 Bitmap | Used by:811 | |
| Symbol 811 Graphic | Uses:810 | Used by:1075 |
| Symbol 812 Bitmap | Used by:813 | |
| Symbol 813 Graphic | Uses:812 | Used by:1075 |
| Symbol 814 Bitmap | Used by:815 | |
| Symbol 815 Graphic | Uses:814 | Used by:1075 |
| Symbol 816 Bitmap | Used by:817 | |
| Symbol 817 Graphic | Uses:816 | Used by:1075 |
| Symbol 818 Bitmap | Used by:819 | |
| Symbol 819 Graphic | Uses:818 | Used by:1075 1411 |
| Symbol 820 Bitmap | Used by:821 | |
| Symbol 821 Graphic | Uses:820 | Used by:1075 |
| Symbol 822 Bitmap | Used by:823 | |
| Symbol 823 Graphic | Uses:822 | Used by:1075 |
| Symbol 824 Bitmap | Used by:825 826 | |
| Symbol 825 Graphic | Uses:824 | Used by:1075 |
| Symbol 826 Graphic | Uses:824 | Used by:1075 |
| Symbol 827 Bitmap | Used by:828 | |
| Symbol 828 Graphic | Uses:827 | Used by:1075 |
| Symbol 829 Bitmap | Used by:830 | |
| Symbol 830 Graphic | Uses:829 | Used by:1075 |
| Symbol 831 Bitmap | Used by:832 | |
| Symbol 832 Graphic | Uses:831 | Used by:1075 |
| Symbol 833 Bitmap | Used by:834 | |
| Symbol 834 Graphic | Uses:833 | Used by:1075 |
| Symbol 835 Bitmap | Used by:836 | |
| Symbol 836 Graphic | Uses:835 | Used by:1075 |
| Symbol 837 Bitmap | Used by:838 | |
| Symbol 838 Graphic | Uses:837 | Used by:1075 |
| Symbol 839 Bitmap | Used by:840 | |
| Symbol 840 Graphic | Uses:839 | Used by:847 |
| Symbol 841 Bitmap | Used by:842 | |
| Symbol 842 Graphic | Uses:841 | Used by:847 |
| Symbol 843 Bitmap | Used by:844 | |
| Symbol 844 Graphic | Uses:843 | Used by:847 |
| Symbol 845 Bitmap | Used by:846 | |
| Symbol 846 Graphic | Uses:845 | Used by:847 |
| Symbol 847 MovieClip | Uses:840 842 844 846 | Used by:863 |
| Symbol 848 Bitmap | Used by:849 | |
| Symbol 849 Graphic | Uses:848 | Used by:863 |
| Symbol 850 Bitmap | Used by:852 | |
| Symbol 851 Bitmap | Used by:852 | |
| Symbol 852 Graphic | Uses:850 851 | Used by:862 |
| Symbol 853 Bitmap | Used by:855 | |
| Symbol 854 Bitmap | Used by:855 | |
| Symbol 855 Graphic | Uses:853 854 | Used by:862 |
| Symbol 856 Bitmap | Used by:858 | |
| Symbol 857 Bitmap | Used by:858 | |
| Symbol 858 Graphic | Uses:856 857 | Used by:862 |
| Symbol 859 Bitmap | Used by:861 | |
| Symbol 860 Bitmap | Used by:861 | |
| Symbol 861 Graphic | Uses:859 860 | Used by:862 |
| Symbol 862 MovieClip | Uses:852 855 858 861 | Used by:863 |
| Symbol 863 MovieClip {PowerUp_fla.moving_block_247} | Uses:847 849 862 | Used by:1075 |
| Symbol 864 Bitmap | Used by:865 | |
| Symbol 865 Graphic | Uses:864 | Used by:866 |
| Symbol 866 MovieClip | Uses:865 | Used by:1075 |
| Symbol 867 Bitmap | Used by:868 | |
| Symbol 868 Graphic | Uses:867 | Used by:1075 |
| Symbol 869 Bitmap | Used by:870 | |
| Symbol 870 Graphic | Uses:869 | Used by:905 |
| Symbol 871 Bitmap | Used by:872 | |
| Symbol 872 Graphic | Uses:871 | Used by:905 |
| Symbol 873 Bitmap | Used by:874 | |
| Symbol 874 Graphic | Uses:873 | Used by:905 |
| Symbol 875 Bitmap | Used by:876 | |
| Symbol 876 Graphic | Uses:875 | Used by:905 |
| Symbol 877 Bitmap | Used by:878 | |
| Symbol 878 Graphic | Uses:877 | Used by:905 |
| Symbol 879 Bitmap | Used by:880 | |
| Symbol 880 Graphic | Uses:879 | Used by:905 |
| Symbol 881 Bitmap | Used by:882 | |
| Symbol 882 Graphic | Uses:881 | Used by:905 |
| Symbol 883 Bitmap | Used by:884 | |
| Symbol 884 Graphic | Uses:883 | Used by:905 |
| Symbol 885 Bitmap | Used by:886 | |
| Symbol 886 Graphic | Uses:885 | Used by:905 |
| Symbol 887 Bitmap | Used by:888 | |
| Symbol 888 Graphic | Uses:887 | Used by:905 |
| Symbol 889 Bitmap | Used by:890 | |
| Symbol 890 Graphic | Uses:889 | Used by:905 |
| Symbol 891 Bitmap | Used by:892 | |
| Symbol 892 Graphic | Uses:891 | Used by:905 |
| Symbol 893 Bitmap | Used by:894 | |
| Symbol 894 Graphic | Uses:893 | Used by:905 |
| Symbol 895 Bitmap | Used by:896 | |
| Symbol 896 Graphic | Uses:895 | Used by:905 |
| Symbol 897 Bitmap | Used by:898 | |
| Symbol 898 Graphic | Uses:897 | Used by:905 |
| Symbol 899 Bitmap | Used by:900 | |
| Symbol 900 Graphic | Uses:899 | Used by:905 |
| Symbol 901 Bitmap | Used by:902 | |
| Symbol 902 Graphic | Uses:901 | Used by:905 |
| Symbol 903 Bitmap | Used by:904 | |
| Symbol 904 Graphic | Uses:903 | Used by:905 |
| Symbol 905 MovieClip | Uses:870 872 874 876 878 880 882 884 886 888 890 892 894 896 898 900 902 904 | Used by:957 |
| Symbol 906 Bitmap | Used by:907 | |
| Symbol 907 Graphic | Uses:906 | Used by:916 |
| Symbol 908 Bitmap | Used by:909 | |
| Symbol 909 Graphic | Uses:908 | Used by:916 |
| Symbol 910 Bitmap | Used by:911 | |
| Symbol 911 Graphic | Uses:910 | Used by:916 |
| Symbol 912 Bitmap | Used by:913 | |
| Symbol 913 Graphic | Uses:912 | Used by:916 |
| Symbol 914 Bitmap | Used by:915 | |
| Symbol 915 Graphic | Uses:914 | Used by:916 |
| Symbol 916 MovieClip | Uses:907 909 911 913 915 | Used by:957 |
| Symbol 917 Bitmap | Used by:919 | |
| Symbol 918 Bitmap | Used by:919 924 | |
| Symbol 919 Graphic | Uses:917 918 | Used by:925 |
| Symbol 920 Bitmap | Used by:922 | |
| Symbol 921 Bitmap | Used by:922 | |
| Symbol 922 Graphic | Uses:920 921 | Used by:925 |
| Symbol 923 Bitmap | Used by:924 | |
| Symbol 924 Graphic | Uses:923 918 | Used by:925 |
| Symbol 925 MovieClip | Uses:919 922 924 | Used by:957 |
| Symbol 926 Bitmap | Used by:927 | |
| Symbol 927 Graphic | Uses:926 | Used by:956 |
| Symbol 928 Bitmap | Used by:929 | |
| Symbol 929 Graphic | Uses:928 | Used by:956 |
| Symbol 930 Bitmap | Used by:931 | |
| Symbol 931 Graphic | Uses:930 | Used by:956 |
| Symbol 932 Bitmap | Used by:933 | |
| Symbol 933 Graphic | Uses:932 | Used by:956 |
| Symbol 934 Bitmap | Used by:935 | |
| Symbol 935 Graphic | Uses:934 | Used by:956 |
| Symbol 936 Bitmap | Used by:937 | |
| Symbol 937 Graphic | Uses:936 | Used by:956 |
| Symbol 938 Bitmap | Used by:939 | |
| Symbol 939 Graphic | Uses:938 | Used by:956 |
| Symbol 940 Bitmap | Used by:941 | |
| Symbol 941 Graphic | Uses:940 | Used by:956 |
| Symbol 942 Bitmap | Used by:943 | |
| Symbol 943 Graphic | Uses:942 | Used by:956 |
| Symbol 944 Bitmap | Used by:945 | |
| Symbol 945 Graphic | Uses:944 | Used by:956 |
| Symbol 946 Bitmap | Used by:947 | |
| Symbol 947 Graphic | Uses:946 | Used by:956 |
| Symbol 948 Bitmap | Used by:949 | |
| Symbol 949 Graphic | Uses:948 | Used by:956 |
| Symbol 950 Bitmap | Used by:951 | |
| Symbol 951 Graphic | Uses:950 | Used by:956 |
| Symbol 952 Bitmap | Used by:953 | |
| Symbol 953 Graphic | Uses:952 | Used by:956 |
| Symbol 954 Bitmap | Used by:955 | |
| Symbol 955 Graphic | Uses:954 | Used by:956 |
| Symbol 956 MovieClip | Uses:927 929 931 933 935 937 939 941 943 945 947 949 951 953 955 | Used by:957 |
| Symbol 957 MovieClip {PowerUp_fla.monsterFrames_251} | Uses:905 916 925 956 | Used by:1075 |
| Symbol 958 Graphic | Used by:1075 | |
| Symbol 959 Graphic | Used by:1075 | |
| Symbol 960 Bitmap | Used by:961 | |
| Symbol 961 Graphic | Uses:960 | Used by:1075 |
| Symbol 962 Bitmap | Used by:963 | |
| Symbol 963 Graphic | Uses:962 | Used by:1075 |
| Symbol 964 Bitmap | Used by:965 | |
| Symbol 965 Graphic | Uses:964 | Used by:966 |
| Symbol 966 MovieClip | Uses:965 | Used by:972 |
| Symbol 967 Bitmap | Used by:968 | |
| Symbol 968 Graphic | Uses:967 | Used by:971 |
| Symbol 969 Bitmap | Used by:970 | |
| Symbol 970 Graphic | Uses:969 | Used by:971 |
| Symbol 971 MovieClip | Uses:968 970 | Used by:972 |
| Symbol 972 MovieClip {PowerUp_fla.tesla_256} | Uses:966 971 | Used by:1075 |
| Symbol 973 Bitmap | Used by:974 | |
| Symbol 974 Graphic | Uses:973 | Used by:1075 |
| Symbol 975 Bitmap | Used by:976 | |
| Symbol 976 Graphic | Uses:975 | Used by:1075 |
| Symbol 977 Bitmap | Used by:978 | |
| Symbol 978 Graphic | Uses:977 | Used by:991 |
| Symbol 979 Bitmap | Used by:980 | |
| Symbol 980 Graphic | Uses:979 | Used by:991 |
| Symbol 981 Bitmap | Used by:982 | |
| Symbol 982 Graphic | Uses:981 | Used by:991 |
| Symbol 983 Bitmap | Used by:984 | |
| Symbol 984 Graphic | Uses:983 | Used by:991 |
| Symbol 985 Bitmap | Used by:986 | |
| Symbol 986 Graphic | Uses:985 | Used by:991 |
| Symbol 987 Bitmap | Used by:988 | |
| Symbol 988 Graphic | Uses:987 | Used by:991 |
| Symbol 989 Bitmap | Used by:990 | |
| Symbol 990 Graphic | Uses:989 | Used by:991 |
| Symbol 991 MovieClip {PowerUp_fla.screw_259} | Uses:978 980 982 984 986 988 990 | Used by:1075 |
| Symbol 992 Bitmap | Used by:993 | |
| Symbol 993 Graphic | Uses:992 | Used by:994 |
| Symbol 994 MovieClip | Uses:993 | Used by:1075 |
| Symbol 995 Bitmap | Used by:996 | |
| Symbol 996 Graphic | Uses:995 | Used by:1075 |
| Symbol 997 Bitmap | Used by:998 | |
| Symbol 998 Graphic | Uses:997 | Used by:1075 |
| Symbol 999 Bitmap | Used by:1000 | |
| Symbol 1000 Graphic | Uses:999 | Used by:1075 |
| Symbol 1001 Bitmap | Used by:1002 | |
| Symbol 1002 Graphic | Uses:1001 | Used by:1075 |
| Symbol 1003 Bitmap | Used by:1004 | |
| Symbol 1004 Graphic | Uses:1003 | Used by:1075 |
| Symbol 1005 Bitmap | Used by:1006 | |
| Symbol 1006 Graphic | Uses:1005 | Used by:1075 |
| Symbol 1007 Bitmap | Used by:1008 | |
| Symbol 1008 Graphic | Uses:1007 | Used by:1075 |
| Symbol 1009 Bitmap | Used by:1010 | |
| Symbol 1010 Graphic | Uses:1009 | Used by:1075 |
| Symbol 1011 Bitmap | Used by:1012 | |
| Symbol 1012 Graphic | Uses:1011 | Used by:1075 |
| Symbol 1013 Bitmap | Used by:1014 | |
| Symbol 1014 Graphic | Uses:1013 | Used by:1075 |
| Symbol 1015 Bitmap | Used by:1016 | |
| Symbol 1016 Graphic | Uses:1015 | Used by:1075 |
| Symbol 1017 Bitmap | Used by:1018 | |
| Symbol 1018 Graphic | Uses:1017 | Used by:1075 |
| Symbol 1019 Bitmap | Used by:1020 | |
| Symbol 1020 Graphic | Uses:1019 | Used by:1075 |
| Symbol 1021 Bitmap | Used by:1022 | |
| Symbol 1022 Graphic | Uses:1021 | Used by:1075 |
| Symbol 1023 Bitmap | Used by:1024 | |
| Symbol 1024 Graphic | Uses:1023 | Used by:1075 |
| Symbol 1025 Bitmap | Used by:1026 | |
| Symbol 1026 Graphic | Uses:1025 | Used by:1075 |
| Symbol 1027 Bitmap | Used by:1028 | |
| Symbol 1028 Graphic | Uses:1027 | Used by:1075 |
| Symbol 1029 Bitmap | Used by:1030 | |
| Symbol 1030 Graphic | Uses:1029 | Used by:1075 |
| Symbol 1031 Bitmap | Used by:1032 | |
| Symbol 1032 Graphic | Uses:1031 | Used by:1075 |
| Symbol 1033 Bitmap | Used by:1034 | |
| Symbol 1034 Graphic | Uses:1033 | Used by:1075 |
| Symbol 1035 Bitmap | Used by:1036 | |
| Symbol 1036 Graphic | Uses:1035 | Used by:1075 |
| Symbol 1037 Bitmap | Used by:1038 | |
| Symbol 1038 Graphic | Uses:1037 | Used by:1075 |
| Symbol 1039 Bitmap | Used by:1040 | |
| Symbol 1040 Graphic | Uses:1039 | Used by:1075 |
| Symbol 1041 Bitmap | Used by:1042 | |
| Symbol 1042 Graphic | Uses:1041 | Used by:1075 |
| Symbol 1043 Bitmap | Used by:1044 | |
| Symbol 1044 Graphic | Uses:1043 | Used by:1075 |
| Symbol 1045 Bitmap | Used by:1046 | |
| Symbol 1046 Graphic | Uses:1045 | Used by:1075 |
| Symbol 1047 Bitmap | Used by:1048 | |
| Symbol 1048 Graphic | Uses:1047 | Used by:1075 |
| Symbol 1049 Bitmap | Used by:1050 | |
| Symbol 1050 Graphic | Uses:1049 | Used by:1075 |
| Symbol 1051 Bitmap | Used by:1052 | |
| Symbol 1052 Graphic | Uses:1051 | Used by:1075 |
| Symbol 1053 Bitmap | Used by:1054 | |
| Symbol 1054 Graphic | Uses:1053 | Used by:1055 |
| Symbol 1055 MovieClip | Uses:1054 | Used by:1075 |
| Symbol 1056 Bitmap | Used by:1057 | |
| Symbol 1057 Graphic | Uses:1056 | Used by:1060 |
| Symbol 1058 Bitmap | Used by:1059 | |
| Symbol 1059 Graphic | Uses:1058 | Used by:1060 |
| Symbol 1060 MovieClip | Uses:1057 1059 | Used by:1061 1062 |
| Symbol 1061 MovieClip | Uses:1060 | Used by:1062 |
| Symbol 1062 MovieClip | Uses:1060 1061 | Used by:1075 |
| Symbol 1063 Bitmap | Used by:1064 | |
| Symbol 1064 Graphic | Uses:1063 | Used by:1075 |
| Symbol 1065 Bitmap | Used by:1066 | |
| Symbol 1066 Graphic | Uses:1065 | Used by:1075 |
| Symbol 1067 Bitmap | Used by:1068 | |
| Symbol 1068 Graphic | Uses:1067 | Used by:1075 |
| Symbol 1069 Bitmap | Used by:1070 | |
| Symbol 1070 Graphic | Uses:1069 | Used by:1075 |
| Symbol 1071 Bitmap | Used by:1072 | |
| Symbol 1072 Graphic | Uses:1071 | Used by:1075 |
| Symbol 1073 Bitmap | Used by:1074 | |
| Symbol 1074 Graphic | Uses:1073 | Used by:1075 |
| Symbol 1075 MovieClip {PreDefinedBlocks} | Uses:811 813 815 817 819 821 823 825 826 828 830 832 834 836 838 863 866 868 957 958 959 961 963 972 974 976 991 994 996 998 1000 1002 1004 1006 1008 1010 1012 1014 1016 1018 1020 1022 1024 1026 1028 1030 1032 1034 1036 1038 1040 1042 1044 1046 1048 1050 1052 1055 1062 1064 1066 1068 1070 1072 1074 | Used by:1326 |
| Symbol 1076 Bitmap | Used by:1077 | |
| Symbol 1077 Graphic | Uses:1076 | Used by:1078 |
| Symbol 1078 MovieClip {HelpSign} | Uses:1077 | Used by:1312 1326 |
| Symbol 1079 Bitmap | Used by:1080 1180 | |
| Symbol 1080 Graphic | Uses:1079 | Used by:1085 1272 |
| Symbol 1081 Bitmap | Used by:1082 | |
| Symbol 1082 Graphic | Uses:1081 | Used by:1085 |
| Symbol 1083 Bitmap | Used by:1084 | |
| Symbol 1084 Graphic | Uses:1083 | Used by:1085 |
| Symbol 1085 MovieClip | Uses:1080 1082 1084 | Used by:1175 1176 1177 1178 |
| Symbol 1086 MovieClip | Uses:483 485 487 | Used by:1175 1176 1177 1178 1272 |
| Symbol 1087 Bitmap | Used by:1088 | |
| Symbol 1088 Graphic | Uses:1087 | Used by:1175 1176 1177 1178 |
| Symbol 1089 Bitmap | Used by:1090 | |
| Symbol 1090 Graphic | Uses:1089 | Used by:1107 |
| Symbol 1091 Bitmap | Used by:1092 | |
| Symbol 1092 Graphic | Uses:1091 | Used by:1107 |
| Symbol 1093 Bitmap | Used by:1094 | |
| Symbol 1094 Graphic | Uses:1093 | Used by:1107 |
| Symbol 1095 Bitmap | Used by:1096 | |
| Symbol 1096 Graphic | Uses:1095 | Used by:1107 |
| Symbol 1097 Bitmap | Used by:1098 | |
| Symbol 1098 Graphic | Uses:1097 | Used by:1107 |
| Symbol 1099 Bitmap | Used by:1100 | |
| Symbol 1100 Graphic | Uses:1099 | Used by:1107 |
| Symbol 1101 Bitmap | Used by:1102 | |
| Symbol 1102 Graphic | Uses:1101 | Used by:1107 |
| Symbol 1103 Bitmap | Used by:1104 | |
| Symbol 1104 Graphic | Uses:1103 | Used by:1107 |
| Symbol 1105 Bitmap | Used by:1106 | |
| Symbol 1106 Graphic | Uses:1105 | Used by:1107 |
| Symbol 1107 MovieClip | Uses:1090 1092 1094 1096 1098 1100 1102 1104 1106 | Used by:1175 1176 1177 1178 |
| Symbol 1108 Bitmap | Used by:1109 1150 | |
| Symbol 1109 Graphic | Uses:1108 | Used by:1140 |
| Symbol 1110 Bitmap | Used by:1111 1151 | |
| Symbol 1111 Graphic | Uses:1110 | Used by:1140 |
| Symbol 1112 Bitmap | Used by:1113 1152 | |
| Symbol 1113 Graphic | Uses:1112 | Used by:1140 |
| Symbol 1114 Bitmap | Used by:1115 1153 | |
| Symbol 1115 Graphic | Uses:1114 | Used by:1140 |
| Symbol 1116 Bitmap | Used by:1117 1154 | |
| Symbol 1117 Graphic | Uses:1116 | Used by:1140 |
| Symbol 1118 Bitmap | Used by:1119 1155 | |
| Symbol 1119 Graphic | Uses:1118 | Used by:1140 |
| Symbol 1120 Bitmap | Used by:1121 1156 | |
| Symbol 1121 Graphic | Uses:1120 | Used by:1140 |
| Symbol 1122 Bitmap | Used by:1123 1141 | |
| Symbol 1123 Graphic | Uses:1122 | Used by:1140 |
| Symbol 1124 Bitmap | Used by:1125 1142 | |
| Symbol 1125 Graphic | Uses:1124 | Used by:1140 |
| Symbol 1126 Bitmap | Used by:1127 1143 | |
| Symbol 1127 Graphic | Uses:1126 | Used by:1140 |
| Symbol 1128 Bitmap | Used by:1129 1144 | |
| Symbol 1129 Graphic | Uses:1128 | Used by:1140 |
| Symbol 1130 Bitmap | Used by:1131 1145 | |
| Symbol 1131 Graphic | Uses:1130 | Used by:1140 |
| Symbol 1132 Bitmap | Used by:1133 1146 | |
| Symbol 1133 Graphic | Uses:1132 | Used by:1140 |
| Symbol 1134 Bitmap | Used by:1135 1147 | |
| Symbol 1135 Graphic | Uses:1134 | Used by:1140 |
| Symbol 1136 Bitmap | Used by:1137 1148 | |
| Symbol 1137 Graphic | Uses:1136 | Used by:1140 |
| Symbol 1138 Bitmap | Used by:1139 1149 | |
| Symbol 1139 Graphic | Uses:1138 | Used by:1140 |
| Symbol 1140 MovieClip | Uses:1109 1111 1113 1115 1117 1119 1121 1123 1125 1127 1129 1131 1133 1135 1137 1139 | Used by:1170 1375 1396 |
| Symbol 1141 Graphic | Uses:1122 | Used by:1157 |
| Symbol 1142 Graphic | Uses:1124 | Used by:1157 |
| Symbol 1143 Graphic | Uses:1126 | Used by:1157 |
| Symbol 1144 Graphic | Uses:1128 | Used by:1157 |
| Symbol 1145 Graphic | Uses:1130 | Used by:1157 |
| Symbol 1146 Graphic | Uses:1132 | Used by:1157 |
| Symbol 1147 Graphic | Uses:1134 | Used by:1157 |
| Symbol 1148 Graphic | Uses:1136 | Used by:1157 |
| Symbol 1149 Graphic | Uses:1138 | Used by:1157 |
| Symbol 1150 Graphic | Uses:1108 | Used by:1157 |
| Symbol 1151 Graphic | Uses:1110 | Used by:1157 |
| Symbol 1152 Graphic | Uses:1112 | Used by:1157 |
| Symbol 1153 Graphic | Uses:1114 | Used by:1157 |
| Symbol 1154 Graphic | Uses:1116 | Used by:1157 |
| Symbol 1155 Graphic | Uses:1118 | Used by:1157 |
| Symbol 1156 Graphic | Uses:1120 | Used by:1157 |
| Symbol 1157 MovieClip | Uses:1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 | Used by:1170 1396 |
| Symbol 1158 Bitmap | Used by:1159 | |
| Symbol 1159 Graphic | Uses:1158 | Used by:1168 1169 |
| Symbol 1160 Bitmap | Used by:1161 | |
| Symbol 1161 Graphic | Uses:1160 | Used by:1168 1169 |
| Symbol 1162 Bitmap | Used by:1163 | |
| Symbol 1163 Graphic | Uses:1162 | Used by:1168 1169 |
| Symbol 1164 Bitmap | Used by:1165 | |
| Symbol 1165 Graphic | Uses:1164 | Used by:1168 1169 |
| Symbol 1166 Bitmap | Used by:1167 | |
| Symbol 1167 Graphic | Uses:1166 | Used by:1168 1169 |
| Symbol 1168 MovieClip | Uses:1159 1161 1163 1165 1167 | Used by:1170 |
| Symbol 1169 MovieClip | Uses:1159 1161 1163 1165 1167 | Used by:1170 |
| Symbol 1170 MovieClip | Uses:1140 1157 1168 1169 | Used by:1175 |
| Symbol 1171 Bitmap | Used by:1172 | |
| Symbol 1172 Graphic | Uses:1171 | Used by:1175 1176 1177 1178 |
| Symbol 1173 Bitmap | Used by:1174 | |
| Symbol 1174 Graphic | Uses:1173 | Used by:1175 1176 1177 1178 |
| Symbol 1175 MovieClip | Uses:1085 1086 1088 1107 1170 1172 1174 | Used by:1273 1274 1291 1420 |
| Symbol 1176 MovieClip | Uses:1085 1086 1088 1107 1172 1174 | Used by:1291 |
| Symbol 1177 MovieClip | Uses:1085 1086 1088 1107 1172 1174 | Used by:1291 |
| Symbol 1178 MovieClip | Uses:1085 1086 1088 1107 1172 1174 | Used by:1291 |
| Symbol 1179 Bitmap | Used by:1180 | |
| Symbol 1180 Graphic | Uses:1079 1179 | Used by:1181 |
| Symbol 1181 MovieClip | Uses:1180 | Used by:1273 1274 1420 |
| Symbol 1182 Bitmap | Used by:1183 | |
| Symbol 1183 Graphic | Uses:1182 | Used by:1184 |
| Symbol 1184 MovieClip | Uses:1183 | Used by:1272 |
| Symbol 1185 Bitmap | Used by:1186 | |
| Symbol 1186 Graphic | Uses:1185 | Used by:1249 |
| Symbol 1187 Bitmap | Used by:1188 | |
| Symbol 1188 Graphic | Uses:1187 | Used by:1249 |
| Symbol 1189 Bitmap | Used by:1190 | |
| Symbol 1190 Graphic | Uses:1189 | Used by:1249 |
| Symbol 1191 Bitmap | Used by:1192 | |
| Symbol 1192 Graphic | Uses:1191 | Used by:1249 |
| Symbol 1193 Bitmap | Used by:1194 | |
| Symbol 1194 Graphic | Uses:1193 | Used by:1249 |
| Symbol 1195 Bitmap | Used by:1196 | |
| Symbol 1196 Graphic | Uses:1195 | Used by:1249 |
| Symbol 1197 Bitmap | Used by:1198 | |
| Symbol 1198 Graphic | Uses:1197 | Used by:1249 |
| Symbol 1199 Bitmap | Used by:1200 | |
| Symbol 1200 Graphic | Uses:1199 | Used by:1249 |
| Symbol 1201 Bitmap | Used by:1202 | |
| Symbol 1202 Graphic | Uses:1201 | Used by:1249 |
| Symbol 1203 Bitmap | Used by:1204 | |
| Symbol 1204 Graphic | Uses:1203 | Used by:1249 |
| Symbol 1205 Bitmap | Used by:1206 | |
| Symbol 1206 Graphic | Uses:1205 | Used by:1249 |
| Symbol 1207 Bitmap | Used by:1208 | |
| Symbol 1208 Graphic | Uses:1207 | Used by:1249 |
| Symbol 1209 Bitmap | Used by:1210 | |
| Symbol 1210 Graphic | Uses:1209 | Used by:1249 |
| Symbol 1211 Bitmap | Used by:1212 | |
| Symbol 1212 Graphic | Uses:1211 | Used by:1249 |
| Symbol 1213 Bitmap | Used by:1214 | |
| Symbol 1214 Graphic | Uses:1213 | Used by:1249 |
| Symbol 1215 Bitmap | Used by:1216 | |
| Symbol 1216 Graphic | Uses:1215 | Used by:1249 |
| Symbol 1217 Bitmap | Used by:1218 | |
| Symbol 1218 Graphic | Uses:1217 | Used by:1249 |
| Symbol 1219 Bitmap | Used by:1220 | |
| Symbol 1220 Graphic | Uses:1219 | Used by:1249 |
| Symbol 1221 Bitmap | Used by:1222 | |
| Symbol 1222 Graphic | Uses:1221 | Used by:1249 |
| Symbol 1223 Bitmap | Used by:1224 | |
| Symbol 1224 Graphic | Uses:1223 | Used by:1249 |
| Symbol 1225 Bitmap | Used by:1226 | |
| Symbol 1226 Graphic | Uses:1225 | Used by:1249 |
| Symbol 1227 Bitmap | Used by:1228 | |
| Symbol 1228 Graphic | Uses:1227 | Used by:1249 |
| Symbol 1229 Bitmap | Used by:1230 | |
| Symbol 1230 Graphic | Uses:1229 | Used by:1249 |
| Symbol 1231 Bitmap | Used by:1232 | |
| Symbol 1232 Graphic | Uses:1231 | Used by:1249 |
| Symbol 1233 Bitmap | Used by:1234 | |
| Symbol 1234 Graphic | Uses:1233 | Used by:1249 |
| Symbol 1235 Bitmap | Used by:1236 | |
| Symbol 1236 Graphic | Uses:1235 | Used by:1249 |
| Symbol 1237 Bitmap | Used by:1238 | |
| Symbol 1238 Graphic | Uses:1237 | Used by:1249 |
| Symbol 1239 Bitmap | Used by:1240 | |
| Symbol 1240 Graphic | Uses:1239 | Used by:1249 |
| Symbol 1241 Bitmap | Used by:1242 | |
| Symbol 1242 Graphic | Uses:1241 | Used by:1249 |
| Symbol 1243 Bitmap | Used by:1244 | |
| Symbol 1244 Graphic | Uses:1243 | Used by:1249 |
| Symbol 1245 Bitmap | Used by:1246 | |
| Symbol 1246 Graphic | Uses:1245 | Used by:1249 |
| Symbol 1247 Bitmap | Used by:1248 | |
| Symbol 1248 Graphic | Uses:1247 | Used by:1249 |
| Symbol 1249 MovieClip {PowerUp_fla.robot_mouth_power_284} | Uses:1186 1188 1190 1192 1194 1196 1198 1200 1202 1204 1206 1208 1210 1212 1214 1216 1218 1220 1222 1224 1226 1228 1230 1232 1234 1236 1238 1240 1242 1244 1246 1248 | Used by:1272 |
| Symbol 1250 Bitmap | Used by:1251 | |
| Symbol 1251 Graphic | Uses:1250 | Used by:1254 |
| Symbol 1252 Bitmap | Used by:1253 | |
| Symbol 1253 Graphic | Uses:1252 | Used by:1254 |
| Symbol 1254 MovieClip | Uses:1251 1253 | Used by:1272 |
| Symbol 1255 Bitmap | Used by:1256 | |
| Symbol 1256 Graphic | Uses:1255 | Used by:1271 |
| Symbol 1257 Bitmap | Used by:1258 | |
| Symbol 1258 Graphic | Uses:1257 | Used by:1271 |
| Symbol 1259 Bitmap | Used by:1260 | |
| Symbol 1260 Graphic | Uses:1259 | Used by:1271 |
| Symbol 1261 Bitmap | Used by:1262 | |
| Symbol 1262 Graphic | Uses:1261 | Used by:1271 |
| Symbol 1263 Bitmap | Used by:1264 | |
| Symbol 1264 Graphic | Uses:1263 | Used by:1271 |
| Symbol 1265 Bitmap | Used by:1266 | |
| Symbol 1266 Graphic | Uses:1265 | Used by:1271 |
| Symbol 1267 Bitmap | Used by:1268 | |
| Symbol 1268 Graphic | Uses:1267 | Used by:1271 |
| Symbol 1269 Bitmap | Used by:1270 | |
| Symbol 1270 Graphic | Uses:1269 | Used by:1271 |
| Symbol 1271 MovieClip {PowerUp_fla.robot_head_end_dial_286} | Uses:1256 1258 1260 1262 1264 1266 1268 1270 | Used by:1272 |
| Symbol 1272 MovieClip {PowerUp_fla.robot_head_end_fill_cjt_282} | Uses:1080 1086 1184 1249 1254 1271 | Used by:1273 1274 1420 |
| Symbol 1273 MovieClip {PowerUp_fla.endHead_frames_280} | Uses:1181 1272 1175 | Used by:1291 |
| Symbol 1274 MovieClip {PowerUp_fla.endHead_frames_2_287} | Uses:1181 1272 1175 | Used by:1291 |
| Symbol 1275 Bitmap | Used by:1276 | |
| Symbol 1276 Graphic | Uses:1275 | Used by:1290 |
| Symbol 1277 Bitmap | Used by:1278 | |
| Symbol 1278 Graphic | Uses:1277 | Used by:1281 |
| Symbol 1279 Bitmap | Used by:1280 | |
| Symbol 1280 Graphic | Uses:1279 | Used by:1281 |
| Symbol 1281 MovieClip | Uses:1278 1280 | Used by:1290 |
| Symbol 1282 Bitmap | Used by:1283 | |
| Symbol 1283 Graphic | Uses:1282 | Used by:1290 |
| Symbol 1284 Bitmap | Used by:1285 | |
| Symbol 1285 Graphic | Uses:1284 | Used by:1290 |
| Symbol 1286 Bitmap | Used by:1287 | |
| Symbol 1287 Graphic | Uses:1286 | Used by:1290 |
| Symbol 1288 Bitmap | Used by:1289 | |
| Symbol 1289 Graphic | Uses:1288 | Used by:1290 |
| Symbol 1290 MovieClip {PowerUp_fla.cannon_jon_288} | Uses:1276 1281 1283 1285 1287 1289 529 | Used by:1291 1311 |
| Symbol 1291 MovieClip {PowerUp_fla.startHead_267} | Uses:1175 1176 1177 1178 1273 1274 1290 | Used by:1312 1420 |
| Symbol 1292 Bitmap | Used by:1293 1294 1295 1296 | |
| Symbol 1293 Graphic | Uses:1292 | Used by:1297 |
| Symbol 1294 Graphic | Uses:1292 | Used by:1297 |
| Symbol 1295 Graphic | Uses:1292 | Used by:1297 |
| Symbol 1296 Graphic | Uses:1292 | Used by:1297 |
| Symbol 1297 MovieClip {PowerUp_fla.endHead_290} | Uses:1293 1294 1295 1296 | Used by:1312 |
| Symbol 1298 Bitmap | Used by:1299 | |
| Symbol 1299 Graphic | Uses:1298 | Used by:1310 |
| Symbol 1300 Bitmap | Used by:1301 | |
| Symbol 1301 Graphic | Uses:1300 | Used by:1310 |
| Symbol 1302 Bitmap | Used by:1303 | |
| Symbol 1303 Graphic | Uses:1302 | Used by:1310 |
| Symbol 1304 Bitmap | Used by:1305 | |
| Symbol 1305 Graphic | Uses:1304 | Used by:1310 |
| Symbol 1306 Bitmap | Used by:1307 | |
| Symbol 1307 Graphic | Uses:1306 | Used by:1310 |
| Symbol 1308 Bitmap | Used by:1309 | |
| Symbol 1309 Graphic | Uses:1308 | Used by:1310 |
| Symbol 1310 MovieClip {PowerUp_fla.chestClip_291} | Uses:531 1299 1301 1303 1305 1307 1309 | Used by:1312 |
| Symbol 1311 MovieClip {PowerUp_fla.cannon_292} | Uses:1290 | Used by:1312 |
| Symbol 1312 MovieClip {GamePieces} | Uses:1291 1297 1310 1078 1311 | Used by:1326 |
| Symbol 1313 Graphic | Used by:1314 | |
| Symbol 1314 MovieClip | Uses:1313 | Used by:1315 |
| Symbol 1315 MovieClip {Shine} | Uses:1314 | Used by:1326 |
| Symbol 1316 Bitmap {DeadZoneTexture} | Used by:1326 | |
| Symbol 1317 Bitmap {DeathTile} | Used by:1326 | |
| Symbol 1318 Bitmap {FloorTile} | Used by:1326 | |
| Symbol 1319 Bitmap {GlassTexture2} | Used by:1326 | |
| Symbol 1320 Bitmap {GlassTexture} | Used by:1326 | |
| Symbol 1321 Bitmap {MetalTexture} | Used by:1326 | |
| Symbol 1322 Bitmap {WaterTexture} | Used by:1326 | |
| Symbol 1323 Bitmap {WoodTexture} | Used by:1326 | |
| Symbol 1324 Sound {MenuMusic} | Used by:1326 | |
| Symbol 1325 Sound {GameMusic} | Used by:1326 | |
| Symbol 1326 MovieClip {PowerUp_fla.instances_2} | Uses:146 149 152 155 158 161 164 167 225 229 232 233 234 235 238 239 240 241 142 242 243 244 249 252 253 254 255 269 276 284 293 300 248 301 302 311 312 313 318 323 330 332 334 336 338 341 342 343 345 347 351 352 354 356 360 362 364 366 368 370 372 374 376 378 380 382 383 385 387 389 391 393 395 397 399 401 402 411 413 415 416 419 425 441 460 463 466 481 491 510 512 102 530 547 809 1075 1078 1312 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 | Used by:Timeline |
| Symbol 1327 Graphic | Used by:Timeline | |
| Symbol 1328 Graphic | Used by:1343 | |
| Symbol 1329 Graphic | Used by:1343 | |
| Symbol 1330 Graphic | Used by:1343 | |
| Symbol 1331 Sound | Used by:1343 | |
| Symbol 1332 Sound | Used by:1343 | |
| Symbol 1333 Graphic | Used by:1343 | |
| Symbol 1334 Graphic | Used by:1335 | |
| Symbol 1335 MovieClip | Uses:1334 | Used by:1343 |
| Symbol 1336 Sound | Used by:1343 | |
| Symbol 1337 Sound | Used by:1343 | |
| Symbol 1338 Sound | Used by:1343 | |
| Symbol 1339 Graphic | Used by:1340 | |
| Symbol 1340 Button | Uses:1339 | Used by:1343 |
| Symbol 1341 Sound | Used by:1343 | |
| Symbol 1342 Sound | Used by:1343 | |
| Symbol 1343 MovieClip {PowerUp_fla.ag_intro_mc_295} | Uses:1328 1329 1330 1331 1332 1333 1335 1336 1337 1338 1340 1341 1342 | Used by:Timeline |
| Symbol 1344 Graphic | Used by:Timeline | |
| Symbol 1345 Bitmap | Used by:1346 | |
| Symbol 1346 Graphic | Uses:1345 | Used by:1375 |
| Symbol 1347 Bitmap | Used by:1348 | |
| Symbol 1348 Graphic | Uses:1347 | Used by:1375 |
| Symbol 1349 Bitmap | Used by:1350 | |
| Symbol 1350 Graphic | Uses:1349 | Used by:1375 |
| Symbol 1351 Bitmap | Used by:1352 | |
| Symbol 1352 Graphic | Uses:1351 | Used by:1375 |
| Symbol 1353 Bitmap | Used by:1354 | |
| Symbol 1354 Graphic | Uses:1353 | Used by:1375 |
| Symbol 1355 Bitmap | Used by:1356 | |
| Symbol 1356 Graphic | Uses:1355 | Used by:1375 |
| Symbol 1357 Bitmap | Used by:1358 | |
| Symbol 1358 Graphic | Uses:1357 | Used by:1375 |
| Symbol 1359 Bitmap | Used by:1360 | |
| Symbol 1360 Graphic | Uses:1359 | Used by:1375 |
| Symbol 1361 Bitmap | Used by:1362 | |
| Symbol 1362 Graphic | Uses:1361 | Used by:1375 |
| Symbol 1363 Bitmap | Used by:1364 | |
| Symbol 1364 Graphic | Uses:1363 | Used by:1371 |
| Symbol 1365 Bitmap | Used by:1366 | |
| Symbol 1366 Graphic | Uses:1365 | Used by:1371 |
| Symbol 1367 Bitmap | Used by:1368 | |
| Symbol 1368 Graphic | Uses:1367 | Used by:1371 |
| Symbol 1369 Bitmap | Used by:1370 | |
| Symbol 1370 Graphic | Uses:1369 | Used by:1371 |
| Symbol 1371 MovieClip | Uses:1364 1366 1368 1370 | Used by:1375 |
| Symbol 1372 Graphic | Used by:1373 | |
| Symbol 1373 MovieClip | Uses:1372 | Used by:1374 |
| Symbol 1374 MovieClip | Uses:1373 | Used by:1375 1396 |
| Symbol 1375 MovieClip {PowerUp_fla.e2_300} | Uses:1346 1348 1350 1352 1354 1356 1358 1360 1362 1371 1374 1140 | Used by:1396 |
| Symbol 1376 Bitmap | Used by:1377 | |
| Symbol 1377 Graphic | Uses:1376 | Used by:1378 |
| Symbol 1378 MovieClip | Uses:1377 | Used by:1396 |
| Symbol 1379 Bitmap | Used by:1380 | |
| Symbol 1380 Graphic | Uses:1379 | Used by:1381 |
| Symbol 1381 MovieClip | Uses:1380 | Used by:1396 |
| Symbol 1382 Bitmap | Used by:1383 | |
| Symbol 1383 Graphic | Uses:1382 | Used by:1384 |
| Symbol 1384 MovieClip | Uses:1383 | Used by:1396 |
| Symbol 1385 Bitmap | Used by:1386 | |
| Symbol 1386 Graphic | Uses:1385 | Used by:1387 |
| Symbol 1387 MovieClip | Uses:1386 | Used by:1396 |
| Symbol 1388 Bitmap | Used by:1389 | |
| Symbol 1389 Graphic | Uses:1388 | Used by:1390 |
| Symbol 1390 MovieClip | Uses:1389 | Used by:1396 |
| Symbol 1391 Bitmap | Used by:1392 | |
| Symbol 1392 Graphic | Uses:1391 | Used by:1393 |
| Symbol 1393 MovieClip | Uses:1392 | Used by:1396 |
| Symbol 1394 MovieClip | Uses:483 485 487 | Used by:1395 |
| Symbol 1395 MovieClip {PowerUp_fla.sparks_310} | Uses:1394 | Used by:1396 |
| Symbol 1396 MovieClip {PowerUp_fla.nitrome_intro_299} | Uses:1375 1378 1381 1384 1374 1157 1140 1387 1390 1393 1395 | Used by:Timeline |
| Symbol 1397 Bitmap | Used by:1398 | |
| Symbol 1398 Graphic | Uses:1397 | Used by:1399 |
| Symbol 1399 MovieClip | Uses:1398 | Used by:Timeline |
| Symbol 1400 Graphic | Used by:1401 | |
| Symbol 1401 MovieClip | Uses:1400 | Used by:Timeline |
| Symbol 1402 Bitmap | Used by:1403 1408 1433 | |
| Symbol 1403 Graphic | Uses:1402 | Used by:Timeline |
| Symbol 1404 Graphic | Uses:461 | Used by:Timeline |
| Symbol 1405 Bitmap | Used by:1406 | |
| Symbol 1406 Graphic | Uses:1405 | Used by:Timeline |
| Symbol 1407 Bitmap | Used by:1408 | |
| Symbol 1408 Graphic | Uses:1402 1407 | Used by:Timeline |
| Symbol 1409 Bitmap | Used by:1410 | |
| Symbol 1410 Graphic | Uses:1409 | Used by:1420 |
| Symbol 1411 MovieClip | Uses:819 | Used by:1420 |
| Symbol 1412 Bitmap | Used by:1413 | |
| Symbol 1413 Graphic | Uses:1412 | Used by:1414 |
| Symbol 1414 MovieClip | Uses:1413 | Used by:1420 |
| Symbol 1415 Bitmap | Used by:1416 | |
| Symbol 1416 Graphic | Uses:1415 | Used by:1420 |
| Symbol 1417 MovieClip {PowerUp_fla.spark_help_318} | Uses:490 | Used by:1418 1419 |
| Symbol 1418 MovieClip | Uses:1417 | Used by:1420 |
| Symbol 1419 MovieClip | Uses:1417 | Used by:1420 |
| Symbol 1420 MovieClip {PowerUp_fla.helpscreen_314} | Uses:1410 1411 1291 1181 1414 1416 1418 1272 1419 1175 | Used by:1508 Timeline |
| Symbol 1421 Bitmap | Used by:1422 1446 | |
| Symbol 1422 Graphic | Uses:1421 | Used by:1508 Timeline |
| Symbol 1423 Bitmap | Used by:1431 | |
| Symbol 1424 Bitmap | Used by:1431 | |
| Symbol 1425 Bitmap | Used by:1431 | |
| Symbol 1426 Bitmap | Used by:1431 | |
| Symbol 1427 Bitmap | Used by:1431 | |
| Symbol 1428 Bitmap | Used by:1431 | |
| Symbol 1429 Bitmap | Used by:1431 | |
| Symbol 1430 Bitmap | Used by:1431 | |
| Symbol 1431 Graphic | Uses:1423 1424 1425 1426 1427 1428 245 1429 1430 | Used by:Timeline |
| Symbol 1432 Bitmap | Used by:1433 | |
| Symbol 1433 Graphic | Uses:1402 1432 | Used by:Timeline |
| Symbol 1434 Graphic | Used by:1435 | |
| Symbol 1435 MovieClip | Uses:1434 | Used by:Timeline |
| Symbol 1436 Graphic | Used by:1452 1500 1504 1507 1510 1520 | |
| Symbol 1437 Bitmap | Used by:1438 | |
| Symbol 1438 Graphic | Uses:1437 | Used by:1451 1452 1500 1504 1520 |
| Symbol 1439 Bitmap | Used by:1440 | |
| Symbol 1440 Graphic | Uses:1439 | Used by:1441 |
| Symbol 1441 MovieClip | Uses:1440 | Used by:1452 1500 1504 1507 1510 1520 |
| Symbol 1442 Bitmap | Used by:1443 | |
| Symbol 1443 Graphic | Uses:1442 | Used by:1444 |
| Symbol 1444 MovieClip | Uses:1443 | Used by:1452 1500 1504 1507 1510 1520 |
| Symbol 1445 Bitmap | Used by:1446 1497 | |
| Symbol 1446 Graphic | Uses:1445 1421 | Used by:1447 |
| Symbol 1447 MovieClip {PowerUp_fla.helpText_324} | Uses:135 1446 | Used by:1452 |
| Symbol 1448 Graphic | Used by:1449 | |
| Symbol 1449 Button | Uses:1448 | Used by:1452 1500 1504 1511 1520 |
| Symbol 1450 Graphic | Used by:1452 1500 1504 1507 1510 1520 | |
| Symbol 1451 MovieClip | Uses:1438 | Used by:1452 1500 1504 1520 |
| Symbol 1452 MovieClip {PowerUp_fla.helpDisplay_321} | Uses:1436 1438 1441 1444 1447 1449 1450 1451 | Used by:Timeline |
| Symbol 1453 Bitmap | Used by:1455 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1484 1494 | |
| Symbol 1454 Bitmap | Used by:1455 1457 1459 1461 1463 1465 1467 1469 1471 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 | |
| Symbol 1455 Graphic | Uses:1453 1454 | Used by:1496 |
| Symbol 1456 Bitmap | Used by:1457 1475 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1495 | |
| Symbol 1457 Graphic | Uses:1456 1454 | Used by:1496 |
| Symbol 1458 Bitmap | Used by:1459 1476 1486 1493 1494 1495 | |
| Symbol 1459 Graphic | Uses:1458 1454 | Used by:1496 |
| Symbol 1460 Bitmap | Used by:1461 1477 1487 | |
| Symbol 1461 Graphic | Uses:1460 1454 | Used by:1496 |
| Symbol 1462 Bitmap | Used by:1463 1478 1488 | |
| Symbol 1463 Graphic | Uses:1462 1454 | Used by:1496 |
| Symbol 1464 Bitmap | Used by:1465 1479 1489 | |
| Symbol 1465 Graphic | Uses:1464 1454 | Used by:1496 |
| Symbol 1466 Bitmap | Used by:1467 1480 1490 | |
| Symbol 1467 Graphic | Uses:1466 1454 | Used by:1496 |
| Symbol 1468 Bitmap | Used by:1469 1481 1491 | |
| Symbol 1469 Graphic | Uses:1468 1454 | Used by:1496 |
| Symbol 1470 Bitmap | Used by:1471 1482 1492 | |
| Symbol 1471 Graphic | Uses:1470 1454 | Used by:1496 |
| Symbol 1472 Bitmap | Used by:1473 1483 1493 | |
| Symbol 1473 Graphic | Uses:1472 1453 1454 | Used by:1496 |
| Symbol 1474 Graphic | Uses:1453 1454 | Used by:1496 |
| Symbol 1475 Graphic | Uses:1456 1453 1454 | Used by:1496 |
| Symbol 1476 Graphic | Uses:1458 1453 1454 | Used by:1496 |
| Symbol 1477 Graphic | Uses:1460 1453 1454 | Used by:1496 |
| Symbol 1478 Graphic | Uses:1462 1453 1454 | Used by:1496 |
| Symbol 1479 Graphic | Uses:1464 1453 1454 | Used by:1496 |
| Symbol 1480 Graphic | Uses:1466 1453 1454 | Used by:1496 |
| Symbol 1481 Graphic | Uses:1468 1453 1454 | Used by:1496 |
| Symbol 1482 Graphic | Uses:1470 1453 1454 | Used by:1496 |
| Symbol 1483 Graphic | Uses:1472 1456 1454 | Used by:1496 |
| Symbol 1484 Graphic | Uses:1453 1456 1454 | Used by:1496 |
| Symbol 1485 Graphic | Uses:1456 1454 | Used by:1496 |
| Symbol 1486 Graphic | Uses:1458 1456 1454 | Used by:1496 |
| Symbol 1487 Graphic | Uses:1460 1456 1454 | Used by:1496 |
| Symbol 1488 Graphic | Uses:1462 1456 1454 | Used by:1496 |
| Symbol 1489 Graphic | Uses:1464 1456 1454 | Used by:1496 |
| Symbol 1490 Graphic | Uses:1466 1456 1454 | Used by:1496 |
| Symbol 1491 Graphic | Uses:1468 1456 1454 | Used by:1496 |
| Symbol 1492 Graphic | Uses:1470 1456 1454 | Used by:1496 |
| Symbol 1493 Graphic | Uses:1472 1458 1454 | Used by:1496 |
| Symbol 1494 Graphic | Uses:1453 1458 1454 | Used by:1496 |
| Symbol 1495 Graphic | Uses:1456 1458 1454 | Used by:1496 |
| Symbol 1496 MovieClip | Uses:1455 1457 1459 1461 1463 1465 1467 1469 1471 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 | Used by:1498 |
| Symbol 1497 Graphic | Uses:1445 | Used by:1498 1503 1508 1519 |
| Symbol 1498 MovieClip {PowerUp_fla.startText_328} | Uses:1496 1497 | Used by:1500 |
| Symbol 1499 MovieClip {com.nitrome.game.StartLevelButton} | Uses:231 135 | Used by:1500 |
| Symbol 1500 MovieClip {PowerUp_fla.startMessage_327} | Uses:1436 1438 1441 1444 1498 1449 1450 1451 1499 | Used by:Timeline |
| Symbol 1501 Bitmap | Used by:1502 | |
| Symbol 1502 Graphic | Uses:1501 | Used by:1503 |
| Symbol 1503 MovieClip {PowerUp_fla.pausedText_332} | Uses:1502 302 301 1497 | Used by:1504 |
| Symbol 1504 MovieClip {PowerUp_fla.pauseMessage_331} | Uses:1436 1438 1441 1444 1449 1503 1450 1451 | Used by:Timeline |
| Symbol 1505 Bitmap | Used by:1506 | |
| Symbol 1506 Graphic | Uses:1505 | Used by:1507 1510 |
| Symbol 1507 MovieClip {PowerUp_fla.help_tab_334} | Uses:1436 1506 1441 1444 1450 | Used by:1511 |
| Symbol 1508 MovieClip {PowerUp_fla.ingame_help_screen_335} | Uses:1420 1422 135 1497 | Used by:1511 |
| Symbol 1509 MovieClip {com.nitrome.game.CloseHelpButton} | Uses:231 135 | Used by:1511 |
| Symbol 1510 MovieClip {PowerUp_fla.help_tab_close_337} | Uses:1450 1506 1441 1444 1436 | Used by:1511 |
| Symbol 1511 MovieClip {PowerUp_fla.inGameHelp_333} | Uses:1507 1449 1508 1509 1510 | Used by:Timeline |
| Symbol 1512 Bitmap | Used by:1514 | |
| Symbol 1513 Bitmap | Used by:1514 | |
| Symbol 1514 Graphic | Uses:1512 1513 | Used by:Timeline |
| Symbol 1515 Bitmap | Used by:1516 | |
| Symbol 1516 Graphic | Uses:1515 | Used by:Timeline |
| Symbol 1517 Bitmap | Used by:1518 | |
| Symbol 1518 Graphic | Uses:1517 | Used by:1519 |
| Symbol 1519 MovieClip {PowerUp_fla.levelCompleteText_339} | Uses:251 1518 135 1497 | Used by:1520 |
| Symbol 1520 MovieClip {PowerUp_fla.levelCompleteMessage_338} | Uses:1436 1438 1441 1444 1519 1449 1450 1451 136 | Used by:Timeline |
| Symbol 1521 MovieClip | Used by:1527 | |
| Symbol 1522 MovieClip | Used by:1527 | |
| Symbol 1523 MovieClip | Used by:1527 | |
| Symbol 1524 Bitmap | Used by:1526 | |
| Symbol 1525 Bitmap | Used by:1526 | |
| Symbol 1526 Graphic | Uses:1524 1525 | Used by:1527 |
| Symbol 1527 MovieClip {PowerUp_fla.congratulationsclip_341} | Uses:1521 1522 1523 233 135 1526 | Used by:Timeline |
Instance Names
| "preloader" | Frame 2 | Symbol 142 MovieClip {com.nitrome.game.Preloader} |
| "blockDrawer" | Frame 16 | Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} |
| "levelBlocks" | Frame 16 | Symbol 512 MovieClip {com.nitrome.balancer.LevelBlocks_game} |
| "game_container" | Frame 26 | Symbol 440 MovieClip |
| "topScroll" | Frame 26 | Symbol 1401 MovieClip |
| "bottomScroll" | Frame 26 | Symbol 1401 MovieClip |
| "leftScroll" | Frame 26 | Symbol 1401 MovieClip |
| "rightScroll" | Frame 26 | Symbol 1401 MovieClip |
| "scoreDisplay" | Frame 26 | Symbol 135 MovieClip {BalancerFont} |
| "totalScoreDisplay" | Frame 26 | Symbol 135 MovieClip {BalancerFont} |
| "levelDisplay" | Frame 26 | Symbol 135 MovieClip {BalancerFont} |
| "button3" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button2" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button1" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button4" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button5" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button11" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button10" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button9" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button12" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button13" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button19" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button18" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button17" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button20" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button21" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button27" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button26" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button25" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button28" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button29" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button6" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button7" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button8" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button14" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button15" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button16" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button22" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button23" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button24" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button30" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button31" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "button32" | Frame 36 | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} |
| "__id29_" | Frame 46 | Symbol 135 MovieClip {BalancerFont} |
| "__id30_" | Frame 66 | Symbol 135 MovieClip {BalancerFont} |
| "game_container" | Frame 80 | Symbol 440 MovieClip |
| "topScroll" | Frame 80 | Symbol 1401 MovieClip |
| "bottomScroll" | Frame 80 | Symbol 1401 MovieClip |
| "leftScroll" | Frame 80 | Symbol 1401 MovieClip |
| "rightScroll" | Frame 80 | Symbol 1401 MovieClip |
| "pauseGame" | Frame 80 | Symbol 276 MovieClip {com.nitrome.game.PauseButton} |
| "inGameHelp" | Frame 80 | Symbol 284 MovieClip {com.nitrome.game.InGameHelpButton} |
| "helpDisplay" | Frame 80 | Symbol 1452 MovieClip {PowerUp_fla.helpDisplay_321} |
| "startMessage" | Frame 80 | Symbol 1500 MovieClip {PowerUp_fla.startMessage_327} |
| "pauseMessage" | Frame 80 | Symbol 1504 MovieClip {PowerUp_fla.pauseMessage_331} |
| "inGameHelpMessage" | Frame 80 | Symbol 1511 MovieClip {PowerUp_fla.inGameHelp_333} |
| "scoreDisplay" | Frame 80 | Symbol 135 MovieClip {BalancerFont} |
| "totalScoreDisplay" | Frame 80 | Symbol 135 MovieClip {BalancerFont} |
| "levelDisplay" | Frame 80 | Symbol 135 MovieClip {BalancerFont} |
| "levelCompleteMessage" | Frame 82 | Symbol 1520 MovieClip {PowerUp_fla.levelCompleteMessage_338} |
| "__id0_" | Symbol 136 MovieClip {com.nitrome.game.NextLevelButton} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "__id1_" | Symbol 142 MovieClip {com.nitrome.game.Preloader} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "progress" | Symbol 142 MovieClip {com.nitrome.game.Preloader} Frame 1 | Symbol 141 EditableText |
| "nitrome" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 169 MovieClip {PowerUp_fla.nitrome_12} |
| "wom" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 171 MovieClip {PowerUp_fla.deepthud_13} |
| "splash" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 173 MovieClip {PowerUp_fla.splash_14} |
| "metal_1" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 175 MovieClip {PowerUp_fla.metal_1_15} |
| "metal_2" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 177 MovieClip {PowerUp_fla.metal_2_16} |
| "slap" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 179 MovieClip {PowerUp_fla.slap_17} |
| "sticky" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 181 MovieClip {PowerUp_fla.sticky_18} |
| "cannon" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 184 MovieClip {PowerUp_fla.cannon_19} |
| "creak" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 186 MovieClip {PowerUp_fla.chest_creak_20} |
| "tesla" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 188 MovieClip {PowerUp_fla.tesla_21} |
| "chargeup1" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 190 MovieClip {PowerUp_fla.chargeup_22} |
| "charged" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 192 MovieClip {PowerUp_fla.charged_23} |
| "balloon" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 194 MovieClip {PowerUp_fla.balloon_24} |
| "metal_3" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 195 MovieClip {PowerUp_fla.metal_3_25} |
| "metal_4" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 197 MovieClip {PowerUp_fla.metal_4_26} |
| "glassTap" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 199 MovieClip {PowerUp_fla.glasstap_27} |
| "deathground" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 201 MovieClip {PowerUp_fla.death_ground_28} |
| "monster_angry" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 203 MovieClip {PowerUp_fla.monster_angry_29} |
| "electric" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 205 MovieClip {PowerUp_fla.electric_30} |
| "chargeup2" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 207 MovieClip {PowerUp_fla.chargeup2_31} |
| "chargeup3" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 209 MovieClip {PowerUp_fla.chargeup3_32} |
| "chargeup4" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 211 MovieClip {PowerUp_fla.chargeup4_33} |
| "chargeup6" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 213 MovieClip {PowerUp_fla.chargeup6_34} |
| "chargeup5" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 215 MovieClip {PowerUp_fla.chargeup5_35} |
| "chargeup7" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 217 MovieClip {PowerUp_fla.chargeup7_36} |
| "chargeup8" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 219 MovieClip {PowerUp_fla.chargeup8_37} |
| "screw" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 221 MovieClip {PowerUp_fla.screw_38} |
| "monster_happy" | Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1 | Symbol 223 MovieClip {PowerUp_fla.monster_happy_39} |
| "__id2_" | Symbol 232 MovieClip {com.nitrome.game.PlayButton} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "__id3_" | Symbol 233 MovieClip {com.nitrome.game.BackToTitleButton} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "__id4_" | Symbol 234 MovieClip {com.nitrome.game.CongratulationsSubmitScoreButton} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "__id5_" | Symbol 235 MovieClip {com.nitrome.game.PauseSubmitScoreButton} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "numberField" | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "__id6_" | Symbol 239 MovieClip {com.nitrome.game.HelpButton} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "__id7_" | Symbol 240 MovieClip {com.nitrome.game.ScoresButton} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "__id8_" | Symbol 241 MovieClip {com.nitrome.game.CreditsButton} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "__id9_" | Symbol 242 MovieClip {SubmitButton} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "__id10_" | Symbol 243 MovieClip {ClearButton} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "_letter" | Symbol 244 MovieClip {LetterButton} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "_submit_button" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 242 MovieClip {SubmitButton} |
| "_clear_button" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 243 MovieClip {ClearButton} |
| "A" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "B" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "C" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "D" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "E" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "F" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "G" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "H" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "I" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "J" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "K" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "L" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "M" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "N" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "O" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "P" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "Q" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "R" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "S" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "T" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "U" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "V" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "W" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "X" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "Y" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "Z" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 244 MovieClip {LetterButton} |
| "_score_text" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "_name_text" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "__id11_" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 10 | Symbol 135 MovieClip {BalancerFont} |
| "__id12_" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 10 | Symbol 135 MovieClip {BalancerFont} |
| "__id13_" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 10 | Symbol 135 MovieClip {BalancerFont} |
| "__id14_" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 10 | Symbol 135 MovieClip {BalancerFont} |
| "_rank_text" | Symbol 252 MovieClip {ScoreLine} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "_name_text" | Symbol 252 MovieClip {ScoreLine} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "_score_text" | Symbol 252 MovieClip {ScoreLine} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "__id15_" | Symbol 253 MovieClip {NextArrow} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "__id16_" | Symbol 254 MovieClip {PrevArrow} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "_score_line_1" | Symbol 255 MovieClip {HighScoreBoard} Frame 1 | Symbol 252 MovieClip {ScoreLine} |
| "_score_line_2" | Symbol 255 MovieClip {HighScoreBoard} Frame 1 | Symbol 252 MovieClip {ScoreLine} |
| "_score_line_3" | Symbol 255 MovieClip {HighScoreBoard} Frame 1 | Symbol 252 MovieClip {ScoreLine} |
| "_score_line_4" | Symbol 255 MovieClip {HighScoreBoard} Frame 1 | Symbol 252 MovieClip {ScoreLine} |
| "_score_line_5" | Symbol 255 MovieClip {HighScoreBoard} Frame 1 | Symbol 252 MovieClip {ScoreLine} |
| "_score_line_6" | Symbol 255 MovieClip {HighScoreBoard} Frame 1 | Symbol 252 MovieClip {ScoreLine} |
| "_score_line_7" | Symbol 255 MovieClip {HighScoreBoard} Frame 1 | Symbol 252 MovieClip {ScoreLine} |
| "_score_line_8" | Symbol 255 MovieClip {HighScoreBoard} Frame 1 | Symbol 252 MovieClip {ScoreLine} |
| "_score_line_9" | Symbol 255 MovieClip {HighScoreBoard} Frame 1 | Symbol 252 MovieClip {ScoreLine} |
| "_score_line_10" | Symbol 255 MovieClip {HighScoreBoard} Frame 1 | Symbol 252 MovieClip {ScoreLine} |
| "_next_arrow" | Symbol 255 MovieClip {HighScoreBoard} Frame 1 | Symbol 253 MovieClip {NextArrow} |
| "_prev_arrow" | Symbol 255 MovieClip {HighScoreBoard} Frame 1 | Symbol 254 MovieClip {PrevArrow} |
| "__id17_" | Symbol 255 MovieClip {HighScoreBoard} Frame 10 | Symbol 135 MovieClip {BalancerFont} |
| "__id18_" | Symbol 255 MovieClip {HighScoreBoard} Frame 10 | Symbol 135 MovieClip {BalancerFont} |
| "__id19_" | Symbol 255 MovieClip {HighScoreBoard} Frame 10 | Symbol 135 MovieClip {BalancerFont} |
| "__id20_" | Symbol 255 MovieClip {HighScoreBoard} Frame 10 | Symbol 135 MovieClip {BalancerFont} |
| "__id21_" | Symbol 301 MovieClip {com.nitrome.game.ContinueGameButton} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "__id22_" | Symbol 302 MovieClip {com.nitrome.game.EndGameButton} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "__id23_" | Symbol 311 MovieClip {PowerUp_fla.nextlevelbutton_76} Frame 1 | Symbol 310 MovieClip {NumbskullFont} |
| "__id24_" | Symbol 312 MovieClip {com.nitrome.game.RestartLevelButton} Frame 1 | Symbol 310 MovieClip {NumbskullFont} |
| "__id25_" | Symbol 313 MovieClip {com.nitrome.game.IngameSubmitScoreButton} Frame 1 | Symbol 310 MovieClip {NumbskullFont} |
| "magCheck" | Symbol 352 MovieClip {com.nitrome.balancer.BlockDrawer_game} Frame 1 | Symbol 351 MovieClip {fl.controls.CheckBox} |
| "metalCheck" | Symbol 352 MovieClip {com.nitrome.balancer.BlockDrawer_game} Frame 1 | Symbol 351 MovieClip {fl.controls.CheckBox} |
| "heavyCheck" | Symbol 352 MovieClip {com.nitrome.balancer.BlockDrawer_game} Frame 1 | Symbol 351 MovieClip {fl.controls.CheckBox} |
| "node" | Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1 | Symbol 354 MovieClip {blockNode} |
| "blockScroller" | Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1 | Symbol 383 MovieClip {fl.controls.UIScrollBar} |
| "shapeClip" | Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1 | Symbol 409 MovieClip |
| "addToLibrary_button" | Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1 | Symbol 402 MovieClip {fl.controls.Button} |
| "viewLibrary_button" | Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1 | Symbol 402 MovieClip {fl.controls.Button} |
| "saveLibrary_button" | Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1 | Symbol 402 MovieClip {fl.controls.Button} |
| "saveEditedBlock_button" | Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1 | Symbol 402 MovieClip {fl.controls.Button} |
| "magCheck" | Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1 | Symbol 351 MovieClip {fl.controls.CheckBox} |
| "editLevel_button" | Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1 | Symbol 402 MovieClip {fl.controls.Button} |
| "metalCheck" | Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1 | Symbol 351 MovieClip {fl.controls.CheckBox} |
| "heavyCheck" | Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1 | Symbol 351 MovieClip {fl.controls.CheckBox} |
| "rememberLevel_button" | Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1 | Symbol 402 MovieClip {fl.controls.Button} |
| "texture" | Symbol 425 MovieClip {CannonBall} Frame 1 | Symbol 424 MovieClip |
| "arrowLeft" | Symbol 441 MovieClip {com.nitrome.balancer.ChestDisplay} Frame 1 | Symbol 433 MovieClip {PowerUp_fla.chestArrow_131} |
| "arrowRight" | Symbol 441 MovieClip {com.nitrome.balancer.ChestDisplay} Frame 1 | Symbol 438 MovieClip {PowerUp_fla.chestArrow_r_132} |
| "pieces" | Symbol 441 MovieClip {com.nitrome.balancer.ChestDisplay} Frame 1 | Symbol 440 MovieClip |
| "deadFish" | Symbol 546 MovieClip {PowerUp_fla.Fish_147} Frame 5 | Symbol 545 MovieClip |
| "fishClip" | Symbol 547 MovieClip {com.nitrome.balancer.Fishy} Frame 1 | Symbol 546 MovieClip {PowerUp_fla.Fish_147} |
| "fish" | Symbol 809 MovieClip {AllStamps} Frame 39 | Symbol 547 MovieClip {com.nitrome.balancer.Fishy} |
| "cogs" | Symbol 863 MovieClip {PowerUp_fla.moving_block_247} Frame 1 | Symbol 847 MovieClip |
| "frontCogs" | Symbol 863 MovieClip {PowerUp_fla.moving_block_247} Frame 1 | Symbol 862 MovieClip |
| "block" | Symbol 1075 MovieClip {PreDefinedBlocks} Frame 16 | Symbol 863 MovieClip {PowerUp_fla.moving_block_247} |
| "monster" | Symbol 1075 MovieClip {PreDefinedBlocks} Frame 19 | Symbol 957 MovieClip {PowerUp_fla.monsterFrames_251} |
| "tesla" | Symbol 1075 MovieClip {PreDefinedBlocks} Frame 23 | Symbol 972 MovieClip {PowerUp_fla.tesla_256} |
| "screw" | Symbol 1075 MovieClip {PreDefinedBlocks} Frame 26 | Symbol 991 MovieClip {PowerUp_fla.screw_259} |
| "bees" | Symbol 1075 MovieClip {PreDefinedBlocks} Frame 57 | Symbol 1062 MovieClip |
| "mouth" | Symbol 1272 MovieClip {PowerUp_fla.robot_head_end_fill_cjt_282} Frame 1 | Symbol 1249 MovieClip {PowerUp_fla.robot_mouth_power_284} |
| "endHead" | Symbol 1273 MovieClip {PowerUp_fla.endHead_frames_280} Frame 1 | Symbol 1181 MovieClip |
| "endHead" | Symbol 1273 MovieClip {PowerUp_fla.endHead_frames_280} Frame 2 | Symbol 1272 MovieClip {PowerUp_fla.robot_head_end_fill_cjt_282} |
| "endHead" | Symbol 1273 MovieClip {PowerUp_fla.endHead_frames_280} Frame 3 | Symbol 1175 MovieClip |
| "endHead" | Symbol 1274 MovieClip {PowerUp_fla.endHead_frames_2_287} Frame 1 | Symbol 1181 MovieClip |
| "endHead" | Symbol 1274 MovieClip {PowerUp_fla.endHead_frames_2_287} Frame 2 | Symbol 1272 MovieClip {PowerUp_fla.robot_head_end_fill_cjt_282} |
| "endHead" | Symbol 1274 MovieClip {PowerUp_fla.endHead_frames_2_287} Frame 3 | Symbol 1175 MovieClip |
| "endHead" | Symbol 1291 MovieClip {PowerUp_fla.startHead_267} Frame 5 | Symbol 1273 MovieClip {PowerUp_fla.endHead_frames_280} |
| "endHead" | Symbol 1291 MovieClip {PowerUp_fla.startHead_267} Frame 6 | Symbol 1274 MovieClip {PowerUp_fla.endHead_frames_2_287} |
| "endHead" | Symbol 1291 MovieClip {PowerUp_fla.startHead_267} Frame 7 | Symbol 1273 MovieClip {PowerUp_fla.endHead_frames_280} |
| "cannon" | Symbol 1291 MovieClip {PowerUp_fla.startHead_267} Frame 9 | Symbol 1290 MovieClip {PowerUp_fla.cannon_jon_288} |
| "cannon" | Symbol 1311 MovieClip {PowerUp_fla.cannon_292} Frame 1 | Symbol 1290 MovieClip {PowerUp_fla.cannon_jon_288} |
| "head" | Symbol 1312 MovieClip {GamePieces} Frame 1 | Symbol 1291 MovieClip {PowerUp_fla.startHead_267} |
| "head" | Symbol 1312 MovieClip {GamePieces} Frame 2 | Symbol 1297 MovieClip {PowerUp_fla.endHead_290} |
| "chest" | Symbol 1312 MovieClip {GamePieces} Frame 3 | Symbol 1310 MovieClip {PowerUp_fla.chestClip_291} |
| "head" | Symbol 1312 MovieClip {GamePieces} Frame 5 | Symbol 1311 MovieClip {PowerUp_fla.cannon_292} |
| "InstanceName_0" | Symbol 1326 MovieClip {PowerUp_fla.instances_2} Frame 2 | Symbol 382 MovieClip {ScrollBar_thumbIcon} |
| "__id27_" | Symbol 1326 MovieClip {PowerUp_fla.instances_2} Frame 2 | Symbol 383 MovieClip {fl.controls.UIScrollBar} |
| "endHead" | Symbol 1420 MovieClip {PowerUp_fla.helpscreen_314} Frame 1 | Symbol 1181 MovieClip |
| "endHead" | Symbol 1420 MovieClip {PowerUp_fla.helpscreen_314} Frame 66 | Symbol 1272 MovieClip {PowerUp_fla.robot_head_end_fill_cjt_282} |
| "endHead" | Symbol 1420 MovieClip {PowerUp_fla.helpscreen_314} Frame 91 | Symbol 1175 MovieClip |
| "helpText" | Symbol 1447 MovieClip {PowerUp_fla.helpText_324} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "helpText" | Symbol 1452 MovieClip {PowerUp_fla.helpDisplay_321} Frame 2 | Symbol 1447 MovieClip {PowerUp_fla.helpText_324} |
| "buttonBlanker" | Symbol 1452 MovieClip {PowerUp_fla.helpDisplay_321} Frame 2 | Symbol 1449 Button |
| "levelTitle" | Symbol 1498 MovieClip {PowerUp_fla.startText_328} Frame 1 | Symbol 1496 MovieClip |
| "__id31_" | Symbol 1499 MovieClip {com.nitrome.game.StartLevelButton} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "startText" | Symbol 1500 MovieClip {PowerUp_fla.startMessage_327} Frame 1 | Symbol 1498 MovieClip {PowerUp_fla.startText_328} |
| "buttonBlanker" | Symbol 1500 MovieClip {PowerUp_fla.startMessage_327} Frame 1 | Symbol 1449 Button |
| "default_resume" | Symbol 1503 MovieClip {PowerUp_fla.pausedText_332} Frame 1 | Symbol 301 MovieClip {com.nitrome.game.ContinueGameButton} |
| "buttonBlanker" | Symbol 1504 MovieClip {PowerUp_fla.pauseMessage_331} Frame 2 | Symbol 1449 Button |
| "__id32_" | Symbol 1508 MovieClip {PowerUp_fla.ingame_help_screen_335} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "__id33_" | Symbol 1509 MovieClip {com.nitrome.game.CloseHelpButton} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "buttonBlanker" | Symbol 1511 MovieClip {PowerUp_fla.inGameHelp_333} Frame 2 | Symbol 1449 Button |
| "__id34_" | Symbol 1519 MovieClip {PowerUp_fla.levelCompleteText_339} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "totalScore" | Symbol 1519 MovieClip {PowerUp_fla.levelCompleteText_339} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "__id35_" | Symbol 1519 MovieClip {PowerUp_fla.levelCompleteText_339} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "levelScore" | Symbol 1519 MovieClip {PowerUp_fla.levelCompleteText_339} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "__id36_" | Symbol 1519 MovieClip {PowerUp_fla.levelCompleteText_339} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "timeBonus" | Symbol 1519 MovieClip {PowerUp_fla.levelCompleteText_339} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "levelCompleteText" | Symbol 1520 MovieClip {PowerUp_fla.levelCompleteMessage_338} Frame 1 | Symbol 1519 MovieClip {PowerUp_fla.levelCompleteText_339} |
| "buttonBlanker" | Symbol 1520 MovieClip {PowerUp_fla.levelCompleteMessage_338} Frame 1 | Symbol 1449 Button |
| "captain" | Symbol 1527 MovieClip {PowerUp_fla.congratulationsclip_341} Frame 1 | Symbol 1521 MovieClip |
| "guy1" | Symbol 1527 MovieClip {PowerUp_fla.congratulationsclip_341} Frame 1 | Symbol 1522 MovieClip |
| "guy2" | Symbol 1527 MovieClip {PowerUp_fla.congratulationsclip_341} Frame 1 | Symbol 1522 MovieClip |
| "guy3" | Symbol 1527 MovieClip {PowerUp_fla.congratulationsclip_341} Frame 1 | Symbol 1522 MovieClip |
| "scoreField" | Symbol 1527 MovieClip {PowerUp_fla.congratulationsclip_341} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
| "__id37_" | Symbol 1527 MovieClip {PowerUp_fla.congratulationsclip_341} Frame 1 | Symbol 135 MovieClip {BalancerFont} |
Special Tags
| FileAttributes (69) | Timeline Frame 1 | Access local files only, Metadata not present, AS3. |
| Protect (24) | Timeline Frame 1 | 0 bytes "" |
| Tag 0x0FF (255) | Timeline Frame 1 | 1 bytes " " |
Labels
| "preloader" | Frame 2 |
| "armor" | Frame 6 |
| "nitrome" | Frame 16 |
| "title_screen" | Frame 26 |
| "show_title" | Frame 27 |
| "level_select" | Frame 36 |
| "help" | Frame 46 |
| "credits" | Frame 56 |
| "game" | Frame 66 |
| "play_game" | Frame 71 |
| "the_game" | Frame 80 |
| "congrats" | Frame 91 |
| "_up" | Symbol 136 MovieClip {com.nitrome.game.NextLevelButton} Frame 1 |
| "_over" | Symbol 136 MovieClip {com.nitrome.game.NextLevelButton} Frame 11 |
| "loop" | Symbol 229 MovieClip {com.nitrome.game.LoadIndicator} Frame 4 |
| "outAnimation" | Symbol 229 MovieClip {com.nitrome.game.LoadIndicator} Frame 8 |
| "_up" | Symbol 232 MovieClip {com.nitrome.game.PlayButton} Frame 1 |
| "_over" | Symbol 232 MovieClip {com.nitrome.game.PlayButton} Frame 11 |
| "_up" | Symbol 233 MovieClip {com.nitrome.game.BackToTitleButton} Frame 1 |
| "_over" | Symbol 233 MovieClip {com.nitrome.game.BackToTitleButton} Frame 11 |
| "_up" | Symbol 234 MovieClip {com.nitrome.game.CongratulationsSubmitScoreButton} Frame 1 |
| "_over" | Symbol 234 MovieClip {com.nitrome.game.CongratulationsSubmitScoreButton} Frame 11 |
| "_up" | Symbol 235 MovieClip {com.nitrome.game.PauseSubmitScoreButton} Frame 1 |
| "_over" | Symbol 235 MovieClip {com.nitrome.game.PauseSubmitScoreButton} Frame 11 |
| "up" | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} Frame 1 |
| "over" | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} Frame 11 |
| "locked" | Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} Frame 21 |
| "_up" | Symbol 239 MovieClip {com.nitrome.game.HelpButton} Frame 1 |
| "_over" | Symbol 239 MovieClip {com.nitrome.game.HelpButton} Frame 11 |
| "_up" | Symbol 240 MovieClip {com.nitrome.game.ScoresButton} Frame 1 |
| "_over" | Symbol 240 MovieClip {com.nitrome.game.ScoresButton} Frame 11 |
| "_up" | Symbol 241 MovieClip {com.nitrome.game.CreditsButton} Frame 1 |
| "_over" | Symbol 241 MovieClip {com.nitrome.game.CreditsButton} Frame 11 |
| "_up" | Symbol 242 MovieClip {SubmitButton} Frame 1 |
| "_over" | Symbol 242 MovieClip {SubmitButton} Frame 11 |
| "_up" | Symbol 243 MovieClip {ClearButton} Frame 1 |
| "_over" | Symbol 243 MovieClip {ClearButton} Frame 11 |
| "_up" | Symbol 244 MovieClip {LetterButton} Frame 1 |
| "_over" | Symbol 244 MovieClip {LetterButton} Frame 10 |
| "scores" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1 |
| "off" | Symbol 249 MovieClip {ScoreSubmitPanel} Frame 10 |
| "_up" | Symbol 253 MovieClip {NextArrow} Frame 1 |
| "_over" | Symbol 253 MovieClip {NextArrow} Frame 11 |
| "_up" | Symbol 254 MovieClip {PrevArrow} Frame 1 |
| "_over" | Symbol 254 MovieClip {PrevArrow} Frame 11 |
| "scores" | Symbol 255 MovieClip {HighScoreBoard} Frame 1 |
| "off" | Symbol 255 MovieClip {HighScoreBoard} Frame 10 |
| "_up" | Symbol 276 MovieClip {com.nitrome.game.PauseButton} Frame 1 |
| "_over" | Symbol 276 MovieClip {com.nitrome.game.PauseButton} Frame 6 |
| "_up" | Symbol 284 MovieClip {com.nitrome.game.InGameHelpButton} Frame 1 |
| "_over" | Symbol 284 MovieClip {com.nitrome.game.InGameHelpButton} Frame 6 |
| "_on_up" | Symbol 293 MovieClip {com.nitrome.game.MusicToggle} Frame 1 |
| "_on_over" | Symbol 293 MovieClip {com.nitrome.game.MusicToggle} Frame 6 |
| "_off_up" | Symbol 293 MovieClip {com.nitrome.game.MusicToggle} Frame 11 |
| "_off_over" | Symbol 293 MovieClip {com.nitrome.game.MusicToggle} Frame 16 |
| "_on_up" | Symbol 300 MovieClip {com.nitrome.game.FxToggle} Frame 1 |
| "_on_over" | Symbol 300 MovieClip {com.nitrome.game.FxToggle} Frame 6 |
| "_off_up" | Symbol 300 MovieClip {com.nitrome.game.FxToggle} Frame 11 |
| "_off_over" | Symbol 300 MovieClip {com.nitrome.game.FxToggle} Frame 16 |
| "_up" | Symbol 301 MovieClip {com.nitrome.game.ContinueGameButton} Frame 1 |
| "_over" | Symbol 301 MovieClip {com.nitrome.game.ContinueGameButton} Frame 11 |
| "_up" | Symbol 302 MovieClip {com.nitrome.game.EndGameButton} Frame 1 |
| "_over" | Symbol 302 MovieClip {com.nitrome.game.EndGameButton} Frame 11 |
| "_up" | Symbol 311 MovieClip {PowerUp_fla.nextlevelbutton_76} Frame 1 |
| "_over" | Symbol 311 MovieClip {PowerUp_fla.nextlevelbutton_76} Frame 11 |
| "_up" | Symbol 312 MovieClip {com.nitrome.game.RestartLevelButton} Frame 1 |
| "_over" | Symbol 312 MovieClip {com.nitrome.game.RestartLevelButton} Frame 11 |
| "_up" | Symbol 313 MovieClip {com.nitrome.game.IngameSubmitScoreButton} Frame 1 |
| "_over" | Symbol 313 MovieClip {com.nitrome.game.IngameSubmitScoreButton} Frame 11 |
| "_up" | Symbol 318 MovieClip {com.nitrome.game.ExitToLevelSelectButton} Frame 1 |
| "_over" | Symbol 318 MovieClip {com.nitrome.game.ExitToLevelSelectButton} Frame 11 |
| "_up" | Symbol 330 MovieClip {com.nitrome.game.ResetButton} Frame 1 |
| "_over" | Symbol 330 MovieClip {com.nitrome.game.ResetButton} Frame 6 |
| "alive" | Symbol 546 MovieClip {PowerUp_fla.Fish_147} Frame 1 |
| "dead" | Symbol 546 MovieClip {PowerUp_fla.Fish_147} Frame 5 |
| "normal" | Symbol 957 MovieClip {PowerUp_fla.monsterFrames_251} Frame 1 |
| "angry" | Symbol 957 MovieClip {PowerUp_fla.monsterFrames_251} Frame 10 |
| "shock" | Symbol 957 MovieClip {PowerUp_fla.monsterFrames_251} Frame 20 |
| "hungry" | Symbol 957 MovieClip {PowerUp_fla.monsterFrames_251} Frame 30 |
| "open" | Symbol 1310 MovieClip {PowerUp_fla.chestClip_291} Frame 2 |
| "close" | Symbol 1310 MovieClip {PowerUp_fla.chestClip_291} Frame 12 |
| "_up" | Symbol 1499 MovieClip {com.nitrome.game.StartLevelButton} Frame 1 |
| "_over" | Symbol 1499 MovieClip {com.nitrome.game.StartLevelButton} Frame 11 |
| "_up" | Symbol 1509 MovieClip {com.nitrome.game.CloseHelpButton} Frame 1 |
| "_over" | Symbol 1509 MovieClip {com.nitrome.game.CloseHelpButton} Frame 11 |
|
|