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

swfchan turned sixteen years old the day before yesterday! (5may2024)

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

Interactive pregnant Charolette by Doom-the-wolf.swf

This is the info page for
Flash #196924

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


Text
Why are you reading this?

Expand

continuous

+

Options

nonstop

ActionScript [AS3]

Section 1
//Algorithms (as3.Algorithms) package as3 { import flash.display.*; import flash.geom.*; public class Algorithms { public static function insertIntoArray(_arg1, _arg2:Array):Boolean{ var _local3:int; _local3 = 0; while (_local3 < _arg2.length) { if (_arg2[_local3] == _arg1){ return (false); }; _local3++; }; _arg2.push(_arg1); return (true); } public static function orderPointsClockwise(_arg1:Array):Array{ var _local2:int; var _local3:Object; var _local4:Array; var _local5:Array; var _local6:Number; var _local7:int; var _local8:int; _local3 = new Object(); _local3.x = (_local3.y = 0); _local2 = 0; while (_local2 < _arg1.length) { _local3.x = (_local3.x + _arg1[_local2].x); _local3.y = (_local3.y + _arg1[_local2].y); _local2++; }; _local3.x = (_local3.x / _arg1.length); _local3.y = (_local3.y / _arg1.length); _local4 = new Array(_arg1.length); _local2 = 0; while (_local2 < _arg1.length) { _local4[_local2] = Math.atan2((_arg1[_local2].y - _local3.y), (_arg1[_local2].x - _local3.x)); _local2++; }; _local5 = new Array(); _local2 = 0; while (_local2 < _arg1.length) { _local6 = Infinity; _local7 = -1; _local8 = 0; while (_local8 < _arg1.length) { if (((!(isNaN(_local4[_local8]))) && ((_local4[_local8] < _local6)))){ _local7 = _local8; _local6 = _local4[_local8]; }; _local8++; }; _local5.push(_arg1[_local7]); _local4[_local7] = NaN; _local2++; }; return (_local5); } public static function pointsToShape(_arg1:Array):Array{ var _local2:Array; var _local3:Object; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:*; _local2 = new Array(); _local6 = 0; _local7 = 0; while (_local7 < (_arg1.length - 1)) { _local3 = new Object(); _local4 = (_arg1[(_local7 + 1)].x - _arg1[_local7].x); _local5 = (_arg1[(_local7 + 1)].y - _arg1[_local7].y); _local3.length = Math.floor(_pointShapeDistance(_arg1[_local7], _arg1[(_local7 + 1)])); if (Math.abs(_local4) > (Math.abs(_local5) * 3)){ _local3.dir = ((_local4 > 0)) ? "r" : "l"; } else { if (Math.abs(_local5) > (Math.abs(_local4) * 3)){ _local3.dir = ((_local5 > 0)) ? "d" : "u"; } else { _local3.dir = ((_local5 > 0)) ? "d" : "u"; _local3.dir = (_local3.dir + ((_local4 > 0)) ? "r" : "l"); }; }; _local2.push(_local3); _local6 = Math.max(_local6, _local3.length); _local7++; }; _local7 = 0; while (_local7 < _local2.length) { if (_local2[_local7].length < (_local6 / 5)){ _local2.splice(_local7, 1); _local7--; }; if ((((_local7 > 0)) && ((_local2[_local7].dir == _local2[(_local7 - 1)].dir)))){ _local2[(_local7 - 1)].length = (_local2[(_local7 - 1)].length + _local2[_local7].length); _local2.splice(_local7, 1); _local7--; }; _local7++; }; _local7 = 0; while (_local7 < _local2.length) { switch (_local2[_local7].dir){ case "ur": _local2[_local7] = "e"; break; case "dr": _local2[_local7] = "f"; break; case "dl": _local2[_local7] = "g"; break; case "ul": _local2[_local7] = "h"; break; default: _local2[_local7] = _local2[_local7].dir; }; _local7++; }; return (_local2); } public static function deform(_arg1:MovieClip, _arg2:Number, _arg3:Number){ var _local4:Matrix; var _local5:Matrix; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Matrix; var _local10:Number; var _local11:Number; var _local12:Number; _local4 = new Matrix(); _local4.a = 1; _local4.b = 0; _local4.c = 0; _local4.d = 1; _local5 = new Matrix(); _local5.a = ((1 + (Math.abs(_arg2) * _arg1.deformDist)) - (Math.abs(_arg3) * _arg1.deformDist)); _local5.b = 0; _local5.c = 0; _local5.d = ((1 + (Math.abs(_arg3) * _arg1.deformDist)) - (Math.abs(_arg2) * _arg1.deformDist)); _local6 = Math.sqrt(((_arg2 * _arg2) + (_arg3 * _arg3))); _local7 = 0; _local8 = (Boolean(((_arg2 * _arg3) < 0))) ? -1 : 1; if (_local6){ _local10 = Math.atan2(_arg3, _arg2); _local11 = Math.floor(((_local10 * 8) / Number((Math.PI * 2)))); _local12 = (_local10 - (((_local11 * Math.PI) * 2) / 8)); _local7 = (_local12 / Number((Math.PI * 0.25))); if ((_local11 % 2)){ _local7 = (1 - _local7); }; }; _local9 = new Matrix(); _local9.a = 1; _local9.b = ((((_local8 * _local7) * _arg1.maxAngle) * _arg1.deformDist) * _local6); _local9.c = ((((_local8 * _local7) * _arg1.maxAngle) * _arg1.deformDist) * _local6); _local9.d = 1; _local4.concat(_local5); _local4.concat(_local9); _local4.tx = _arg1.transform.matrix.tx; _local4.ty = _arg1.transform.matrix.ty; _arg1.transform.matrix = _local4; } public static function deformMatrix(_arg1:Matrix, _arg2:Number, _arg3:Number, _arg4:Number=1){ var _local5:Matrix; var _local6:Number; var _local7:Matrix; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Matrix; var _local16:Number; var _local17:Number; var _local18:Number; _local5 = new Matrix(); _local5.a = 1; _local5.b = 0; _local5.c = 0; _local5.d = 1; _local6 = ((Math.abs(_arg2) - Math.abs(_arg3)) * _arg4); _local7 = new Matrix(); _local7.a = (1 + _local6); _local7.b = 0; _local7.c = 0; _local7.d = (1 - _local6); _local8 = (Math.PI * 0.25); _local9 = ((Math.PI * 2) / 8); _local10 = (1 / _local9); _local11 = (Math.sqrt(((_arg2 * _arg2) + (_arg3 * _arg3))) * _arg4); _local12 = 0; _local13 = (Boolean(!(((_arg2 <= 0) == (_arg3 <= 0))))) ? -1 : 1; if (_local11){ _local16 = Math.atan2(_arg3, _arg2); _local17 = Math.floor((_local16 * _local10)); _local18 = (_local16 - (_local17 * _local9)); _local12 = (_local18 / Number(_local8)); if ((_local17 % 2)){ _local12 = (1 - _local12); }; }; _local14 = ((_local13)<0) ? ((-(_local12) * _local8) * _local11) : ((_local12 * _local8) * _local11); _local15 = new Matrix(); _local15.a = 1; _local15.b = _local14; _local15.c = _local14; _local15.d = 1; _local5.concat(_local7); _local5.concat(_local15); _arg1.a = _local5.a; _arg1.b = _local5.b; _arg1.c = _local5.c; _arg1.d = _local5.d; } public static function isInArray(_arg1, _arg2:Array):Boolean{ var _local3:int; _local3 = 0; while (_local3 < _arg2.length) { if (_arg2[_local3] == _arg1){ return (true); }; _local3++; }; return (false); } public static function removeFromArray(_arg1, _arg2:Array):Boolean{ var _local3:int; _local3 = 0; while (_local3 < _arg2.length) { if (_arg2[_local3] == _arg1){ _arg2.splice(_local3, 1); return (true); }; _local3++; }; return (false); } private static function _pointShapeDistance(_arg1:Object, _arg2:Object):Number{ return (Math.sqrt((Math.pow((_arg2.x - _arg1.x), 2) + Math.pow((_arg2.y - _arg1.y), 2)))); } public static function simplifyPointsList(_arg1:Array):Array{ var _local2:Array; var _local3:Number; var _local4:*; _local2 = new Array(); _local3 = 0; _local2.push(_arg1[0]); _local4 = 1; while (_local4 < (_arg1.length - 1)) { if ((((Math.abs((_pointShapeAngle(_arg1[(_local4 + 1)], _arg1[_local4]) - _pointShapeAngle(_arg1[_local4], _arg1[(_local4 - 1)]))) >= (Math.PI / 2.5))) || ((Math.abs(_local3) >= (Math.PI / 3))))){ _local2.push(_arg1[_local4]); _local3 = 0; } else { _local3 = (_local3 + (_pointShapeAngle(_arg1[(_local4 + 1)], _arg1[_local4]) - _pointShapeAngle(_arg1[_local4], _arg1[(_local4 - 1)]))); }; _local4++; }; _local2.push(_arg1[(_arg1.length - 1)]); return (_local2); } private static function _pointShapeAngle(_arg1:Object, _arg2:Object):Number{ return (Math.atan2((_arg2.y - _arg1.y), (_arg2.x - _arg1.x))); } public static function balancePoint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:int=1):Array{ var _local8:Array; var _local9:int; _local8 = [_arg1, _arg2, _arg3]; _local9 = 0; while (_local9 < _arg7) { _local8 = [(_local8[0] + (_arg2 * _arg4)), ((_local8[1] * _arg4) + _local8[2]), ((_arg5 - _local8[0]) * _arg6)]; _local9++; }; return (_local8); } public static function myGetShape(_arg1:Array):String{ var _local2:Array; var _local3:Number; var _local4:String; var _local5:String; _local2 = simplifyPointsList(_arg1); _local5 = pointsToShape(_local2).join(""); switch (_local5){ case "d": return ("|v"); case "u": return ("|^"); case "ef": case "hg": return ("^"); case "dr": case "lu": return ("L"); case "ur": case "ld": return ("Γ"); case "ldr": case "lur": return ("["); case "ufu": case "dhd": return ("N"); default: return (""); }; } public static function updateHand(_arg1:MovieClip, _arg2:Number, _arg3:Number, _arg4:Array, _arg5:Array, _arg6:Object){ var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; _local7 = (Math.PI * 0.5); _arg1.x = _arg2; _arg1.y = _arg3; _arg4[0] = Geometry.interpolateAngle(_arg4[0], _arg5[0], 0.2); _arg4[1] = Geometry.interpolateAngle(_arg4[1], _arg5[1], 0.2); if (_arg5.length >= 3){ _arg4[2] = Geometry.interpolateAngle(_arg4[2], _arg5[2], 0.2); } else { _arg4[2] = Geometry.interpolateAngle(_arg4[2], 0, 0.2); }; if (_arg4[0] > _local7){ _arg4[0] = _local7; } else { if (_arg4[0] < -(_local7)){ _arg4[0] = -(_local7); }; }; if (_arg4[1] > _local7){ _arg4[1] = _local7; } else { if (_arg4[1] < -(_local7)){ _arg4[1] = -(_local7); }; }; _local8 = Math.abs((_arg4[2] / _local7)); if (_arg4[0] < 0){ _arg1.addChildAt(_arg1.thumb_mc, 0); } else { _arg1.addChildAt(_arg1.thumb_mc, (_arg1.numChildren - 1)); }; if (_arg4[1] > 0){ _arg1.addChildAt(_arg1.wrist_mc, 0); } else { _arg1.addChildAt(_arg1.wrist_mc, (_arg1.numChildren - 1)); }; _local9 = (_arg4[0] / _local7); _local10 = (_arg4[1] / _local7); _local11 = Math.abs(_local9); _local12 = Math.abs(_local10); _local13 = ((((_local9 * _local10) * _local7) * (1 - _local8)) + (_local8 * _arg4[2])); _arg1.glove_mc.scaleX = (_arg6.glove.max.x - (((_arg6.glove.max.x - _arg6.glove.min.x) * _local11) * (1 - _local12))); _arg1.wrist_mc.scaleX = (_arg6.wrist.max.x - (((_arg6.wrist.max.x - _arg6.wrist.min.x) * _local11) * (1 - _local12))); _arg1.thumb_mc.x = (_arg6.orig.thumbX + (((_arg6.end.thumbX - _arg6.orig.thumbX) * _local11) * (1 - _local12))); _arg1.glove_mc.scaleY = (_arg6.glove.max.y - (((_arg6.glove.max.y - _arg6.glove.min.y) * _local12) * (1 - _local11))); _arg1.thumb_mc.scaleY = _arg1.glove_mc.scaleY; _arg1.wrist_mc.scaleY = (_arg6.wrist.min.y + (((_arg6.wrist.max.y - _arg6.wrist.min.y) * _local12) * (1 - _local11))); _arg1.wrist_mc.y = (_arg6.orig.wristY + (((_arg6.end.wristY - _arg6.orig.wristY) * _local12) * (1 - _local11))); _arg1.rotation = (_arg4[2] * Geometry.RAD_TO_DEG); } public static function liquidInPolygon(_arg1:Number, _arg2:Array, _arg3:Number, _arg4:Number):Array{ var _local5:Number; var _local6:Number; var _local7:Object; var _local8:int; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Array; var _local13:Array; var _local14:Array; var _local15:Point; var _local16:Number; var _local17:Number; var _local18:int; _local5 = -(Infinity); _local6 = Infinity; _local8 = 0; while (_local8 < _arg2.length) { _local7 = Geometry.rotate(_arg1, _arg2[_local8].x, _arg2[_local8].y); _arg2[_local8].x = _local7.x; _arg2[_local8].y = _local7.y; _local5 = Math.max(_arg2[_local8].y, _local5); _local6 = Math.min(_arg2[_local8].y, _local6); _local8++; }; _local9 = (_arg4 * _arg3); _local10 = 0; _local11 = 0; _local13 = []; _local14 = []; _local15 = new Point(); _local16 = Math.abs((_local5 - _local6)); _local17 = ((_local6 + _local5) * 0.5); _local18 = 50; do { _local13 = Geometry.getSidePoints(_arg2, _local17); _local14 = []; _local8 = 0; while (_local8 < _arg2.length) { if (_arg2[_local8].y >= _local17){ _local14.push(_arg2[_local8]); }; _local8++; }; _local12 = _local13.concat(_local14); _local12 = orderPointsClockwise(_local12); trace("Algorithm::liquidInPolygon\nYou'll have to fix this later. Try to connect the 'sides' and 'lower' arrays coherently.\nAvoid having to use the orderPointsClockwise() function."); _local10 = Geometry.polygonArea(_local12); _local17 = (_local17 - ((_local16 * (_local9 - _local10)) / _arg4)); _local18--; } while ((((Math.abs((_local10 - _local9)) > Geometry.TOLERANCE)) && ((_local18 > 0)))); _local8 = 0; while (_local8 < _local12.length) { _local7 = Geometry.rotate(-(_arg1), _local12[_local8].x, _local12[_local8].y); _local12[_local8].x = _local7.x; _local12[_local8].y = _local7.y; _local8++; }; return (_local12); } public static function hasLabel(_arg1:MovieClip, _arg2:String):Boolean{ var _local3:Array; var _local4:FrameLabel; var _local5:int; _local3 = _arg1.currentLabels; _local5 = 0; while (_local5 < _local3.length) { _local4 = _local3[_local5]; if (_local4.name == _arg2){ return (true); }; _local5++; }; return (false); } public static function adjustScreen(_arg1:DisplayObject, _arg2:DisplayObject){ var _local3:Stage; var _local4:Rectangle; if (!_arg1.stage){ return; }; _local3 = _arg1.stage; _local4 = _arg2.getRect(_local3); if (_local4.width < _local3.stageWidth){ _arg1.scaleX = (_arg1.scaleX * (_local3.stageWidth / _local4.width)); _arg1.scaleY = _arg1.scaleX; _local4 = _arg2.getRect(_local3); }; if (_local4.height < _local3.stageHeight){ _arg1.scaleY = (_arg1.scaleY * (_local3.stageHeight / _local4.height)); _arg1.scaleX = _arg1.scaleY; _local4 = _arg2.getRect(_local3); }; if (_local4.x > 0){ _arg1.x = (_arg1.x - _local4.x); _local4 = _arg2.getRect(_local3); }; if (_local4.y > 0){ _arg1.y = (_arg1.y - _local4.y); _local4 = _arg2.getRect(_local3); }; if ((_local4.x + _local4.width) < _local3.stageWidth){ _arg1.x = (_arg1.x + (_local3.stageWidth - (_local4.x + _local4.width))); _local4 = _arg2.getRect(_local3); }; if ((_local4.y + _local4.height) < _local3.stageHeight){ _arg1.y = (_arg1.y + (_local3.stageHeight - (_local4.y + _local4.height))); _local4 = _arg2.getRect(_local3); }; } public static function approximatePoint(_arg1:Number, _arg2:Number, _arg3:Number):Number{ return ((_arg1 + ((_arg2 - _arg1) * _arg3))); } } }//package as3
Section 2
//Drawing (as3.Drawing) package as3 { import flash.display.*; import flash.geom.*; import fl.motion.*; public class Drawing { public static function drawHeart(_arg1:Graphics, _arg2:Number, _arg3:Number){ var _local4:Number; var _local5:Number; var _local6:Object; var _local7:Object; var _local8:Object; var _local9:Object; var _local10:Object; var _local11:Object; var _local12:Object; var _local13:Object; var _local14:Object; var _local15:Object; _local4 = (_arg3 / 1.5); _local5 = (_arg2 / 1.5); _local6 = {x:0, y:1}; _local7 = {x:1, y:0}; _local8 = {x:0, y:-1}; _local9 = {x:1.2, y:-0.5}; _local10 = {x:1, y:-1}; _local11 = {x:0.5, y:-1.2}; _local12 = Geometry.intersectLines(_local7.x, _local7.y, (_local7.x + 1), (_local7.y - 1), _local9.x, _local9.y, _local9.x, (_local9.y + 1)); _local13 = Geometry.intersectLines(_local10.x, _local10.y, (_local10.x + 1), (_local10.y + 1), _local9.x, _local9.y, _local9.x, (_local9.y + 1)); _local14 = Geometry.intersectLines(_local10.x, _local10.y, (_local10.x + 1), (_local10.y + 1), _local11.x, _local11.y, (_local11.x + 1), _local11.y); _local15 = Geometry.intersectLines(_local8.x, _local8.y, (_local8.x + 1), (_local8.y - 1), _local11.x, _local11.y, (_local11.x + 1), _local11.y); _arg1.moveTo((_local5 * _local6.x), (_local4 * _local6.y)); _arg1.lineTo((_local5 * _local7.x), (_local4 * _local7.y)); _arg1.curveTo((_local5 * _local12.x), (_local4 * _local12.y), (_local5 * _local9.x), (_local4 * _local9.y)); _arg1.curveTo((_local5 * _local13.x), (_local4 * _local13.y), (_local5 * _local10.x), (_local4 * _local10.y)); _arg1.curveTo((_local5 * _local14.x), (_local4 * _local14.y), (_local5 * _local11.x), (_local4 * _local11.y)); _arg1.curveTo((_local5 * _local15.x), (_local4 * _local15.y), (_local5 * _local8.x), (_local4 * _local8.y)); _arg1.curveTo((-(_local5) * _local15.x), (_local4 * _local15.y), (-(_local5) * _local11.x), (_local4 * _local11.y)); _arg1.curveTo((-(_local5) * _local14.x), (_local4 * _local14.y), (-(_local5) * _local10.x), (_local4 * _local10.y)); _arg1.curveTo((-(_local5) * _local13.x), (_local4 * _local13.y), (-(_local5) * _local9.x), (_local4 * _local9.y)); _arg1.curveTo((-(_local5) * _local12.x), (_local4 * _local12.y), (-(_local5) * _local7.x), (_local4 * _local7.y)); _arg1.lineTo((-(_local5) * _local6.x), (_local4 * _local6.y)); } public static function drawPolyLine(_arg1:Array, _arg2:Graphics){ var _local3:int; _local3 = 1; while (_local3 < _arg1.length) { _arg2.lineTo(_arg1[_local3].x, _arg1[_local3].y); _local3++; }; } public static function getLinePoint(_arg1:Object, _arg2:Object, _arg3:Object):Object{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local4 = (_arg2.x - _arg1.x); _local5 = (_arg2.y - _arg1.y); _local6 = Math.atan2(_local5, _local4); _local7 = (_arg3.x - _arg2.x); _local8 = (_arg3.y - _arg2.y); _local9 = Math.atan2(_local8, _local7); _local10 = Geometry.interpolateAngle(_local6, _local9, 0.5); return ({x:(_arg2.x + (Math.cos(_local10) * 2)), y:(_arg2.y + (Math.sin(_local10) * 2))}); } public static function drawPoints(_arg1:Array, _arg2:Graphics){ var _local3:int; _local3 = 0; while (_local3 < _arg1.length) { _arg2.moveTo(_arg1[_local3].x, (_arg1[_local3].y - 0.5)); _arg2.lineTo(_arg1[_local3].x, (_arg1[_local3].y + 0.5)); _local3++; }; } public static function drawKick(_arg1:Graphics, _arg2:Graphics, _arg3:Graphics, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number, _arg10:Number, _arg11:Number, _arg12:Number, _arg13:uint=0xFFFFFF, _arg14:uint=0xFFFFFF, _arg15:Number=1, _arg16=1){ var _local17:Number; var _local18:Point; var _local19:Number; var _local20:Point; var _local21:Point; var _local22:Point; var _local23:Point; var _local24:Point; var _local25:Point; var _local26:Point; var _local27:Point; var _local28:Matrix; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Point; var _local37:Number; var _local38:Number; var _local39:Number; var _local40:Number; var _local41:Number; _local17 = 0.85; _local18 = Geometry.rotatePoint(-(_arg8), new Point((_arg9 - _arg4), (_arg10 - _arg5)), null); Geometry.rotatePoint(-(_arg8), new Point((_arg9 - _arg4), (_arg10 - _arg5)), null).x = (_local18.x / _arg6); _local18.y = (_local18.y / _arg7); _local19 = _local18.length; _arg14 = Color.interpolateColor(_arg13, _arg14, _arg12); _local29 = (_arg5 / _arg4); if (_local19 < _local17){ _local30 = 0.5; _local31 = (1 / _local17); _local32 = ((1 - (_local30 * Math.abs(_local18.x))) * _arg11); _local33 = ((1 - (_local30 * Math.abs(_local18.y))) * _arg11); _local34 = (((Math.PI * 0.125) * (_local18.y * _local31)) * (-(_local18.x) * _local31)); _local35 = (((Math.PI * 0.125) * (_local18.x * _local31)) * (-(_local18.y) * _local31)); _local28 = new Matrix((_local32 * Math.cos(_local34)), (_local32 * Math.sin(_local34)), (_local33 * Math.sin(_local35)), (_local33 * Math.cos(_local35))); _local28.tx = _arg9; _local28.ty = _arg10; _local36 = new Point(-1, 0); _local24 = _local28.transformPoint(_local36); _local36.x = 1; _local25 = _local28.transformPoint(_local36); _local36.x = 0; _local36.y = -2; _local22 = _local28.transformPoint(_local36); _local36.y = 1; _local23 = _local28.transformPoint(_local36); _local37 = ((2 * Math.SQRT1_2) - 0.5); _local36.x = -(_local37); _local36.y = _local37; _local26 = _local28.transformPoint(_local36); _local36.x = _local37; _local27 = _local28.transformPoint(_local36); _local36.x = ((_local18.x * _arg12) * 0.75); _local36.y = ((_local18.y * _arg12) * 0.75); _local21 = _local28.transformPoint(_local36); _local36.x = (((_local18.x * 0.75) * 2) * _arg12); _local36.y = ((1 + ((Math.abs((_local18.y * 0.75)) - 1) * _arg12)) * 2); _local20 = _local28.transformPoint(_local36); _local28.createGradientBox(_arg11, _arg11, 0, (_local21.x - (_arg11 * 0.5)), (_local21.y - (_arg11 * 0.5))); _arg1.beginGradientFill(GradientType.RADIAL, [_arg14, _arg13], [_arg16, _arg15], [0, 0xFF], _local28); _arg1.moveTo(_local24.x, _local24.y); _arg1.curveTo(_local22.x, _local22.y, _local25.x, _local25.y); _arg1.curveTo(_local27.x, _local27.y, _local23.x, _local23.y); _arg1.curveTo(_local26.x, _local26.y, _local24.x, _local24.y); _arg1.endFill(); _arg2.moveTo(_local24.x, _local24.y); _arg2.curveTo(_local20.x, _local20.y, _local25.x, _local25.y); _arg2.curveTo(_local27.x, _local27.y, _local23.x, _local23.y); _arg2.curveTo(_local26.x, _local26.y, _local24.x, _local24.y); } else { _local38 = _local18.x; _local39 = _local18.y; _local40 = (_arg8 + Math.atan2(_local39, _local38)); _local41 = ((_local38)<0) ? -1 : 1; _local38 = Math.cos(_local40); _local39 = Math.sin(_local40); _local28 = new Matrix((_arg11 * _local38), (_arg11 * _local39), (_arg11 * -(_local39)), (_arg11 * _local38), _arg9, _arg10); _local36 = new Point(); _local36.x = 0; _local36.y = (-1 * _local41); _local22 = _local28.transformPoint(_local36); _local36.y = (1 * _local41); _local23 = _local28.transformPoint(_local36); _local36.x = 0.5; _local36.y = (0 * _local41); _local25 = _local28.transformPoint(_local36); _local36.x = -0.5; _local24 = _local28.transformPoint(_local36); _local36.x = 0.5; _local36.y = (-0.5 * _local41); _local26 = _local28.transformPoint(_local36); _local36.y = (0.5 * _local41); _local27 = _local28.transformPoint(_local36); _local36.x = 0.5; _local36.y = 0; _local20 = _local28.transformPoint(_local36); _local36.x = (0.5 * ((_local18.y * 0.5) + 0.5)); _local36.y = ((2 + ((-0.5 - 2) * ((_local18.y * 0.5) + 0.5))) * _local41); _local21 = _local28.transformPoint(_local36); _arg3.moveTo(_local22.x, _local22.y); _arg3.curveTo(_local26.x, _local26.y, _local25.x, _local25.y); _arg3.curveTo(_local27.x, _local27.y, _local23.x, _local23.y); _local28.createGradientBox(_arg11, _arg11, 0, (_local20.x - (_arg11 * 0.5)), (_local20.y - (_arg11 * 0.5))); _arg1.beginGradientFill(GradientType.RADIAL, [_arg14, _arg13], [_arg16, _arg15], [0, 0xFF], _local28); _arg1.moveTo(_local22.x, _local22.y); _arg1.curveTo(_local26.x, _local26.y, _local25.x, _local25.y); _arg1.curveTo(_local27.x, _local27.y, _local23.x, _local23.y); _arg1.curveTo(_local24.x, _local24.y, _local22.x, _local22.y); _arg1.endFill(); _arg2.moveTo(_local22.x, _local22.y); _arg2.curveTo(_local21.x, _local21.y, _local25.x, _local25.y); _arg2.curveTo(_local27.x, _local27.y, _local23.x, _local23.y); _arg2.curveTo(_local24.x, _local24.y, _local22.x, _local22.y); }; } public static function getLinePoint2(_arg1:Object, _arg2:Object, _arg3:Object, _arg4:Object):void{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; _local5 = _arg3.x; _local6 = _arg3.y; _local9 = (_local5 - _arg2.x); _local10 = (_local6 - _arg2.y); _local8 = (((_local9) || (_local10))) ? (1 / Math.sqrt(((_local9 * _local9) + (_local10 * _local10)))) : 0; _local9 = (_local9 * _local8); _local10 = (_local10 * _local8); _local11 = (_arg4.x - _local5); _local12 = (_arg4.y - _local6); _local8 = (((_local11) || (_local12))) ? (1 / Math.sqrt(((_local11 * _local11) + (_local12 * _local12)))) : 0; _local11 = (_local11 * _local8); _local12 = (_local12 * _local8); _arg1.x = ((_local5 + _local9) + _local11); _arg1.y = ((_local6 + _local10) + _local12); } public static function drawConnection(_arg1:Graphics, _arg2:Object, _arg3:Object, _arg4:Object, _arg5:Object, _arg6: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; 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; var _local42:Number; var _local43:Number; var _local44:Number; var _local45:Number; var _local46:Object; var _local47:Object; _local7 = _arg2.x; _local8 = _arg3.x; _local9 = _arg2.y; _local10 = _arg3.y; _local14 = (_arg4) ? (_arg4.x - _local7) : 0; _local15 = (_arg4) ? (_arg4.y - _local9) : 0; _local16 = (_arg5) ? (_arg5.x - _local8) : 0; _local17 = (_arg5) ? (_arg5.y - _local10) : 0; _local18 = (((_local14) || (_local15))) ? (1 / Math.sqrt(((_local14 * _local14) + (_local15 * _local15)))) : 0; _local19 = (_local14 * _local18); _local20 = (_local15 * _local18); _local18 = (((_local16) || (_local17))) ? (1 / Math.sqrt(((_local16 * _local16) + (_local17 * _local17)))) : 0; _local21 = (_local16 * _local18); _local22 = (_local17 * _local18); _local11 = (_local8 - _local7); _local12 = (_local10 - _local9); _local13 = Math.sqrt(((_local11 * _local11) + (_local12 * _local12))); _local23 = (_arg6 * _local13); _local24 = (_local19 * _local23); _local25 = (_local21 * _local23); _local26 = (_local20 * _local23); _local27 = (_local22 * _local23); _local28 = (_local7 + _local24); _local29 = (_local9 + _local26); _local30 = (_local7 - _local24); _local31 = (_local9 - _local26); _local32 = (_local8 + _local25); _local33 = (_local10 + _local27); _local34 = (_local8 - _local25); _local35 = (_local10 - _local27); _local36 = (0.5 * (_local7 + _local8)); _local37 = (0.5 * (_local9 + _local10)); _local11 = (_local28 - _local36); _local12 = (_local29 - _local37); _local38 = ((_local11 * _local11) + (_local12 * _local12)); _local11 = (_local30 - _local36); _local12 = (_local31 - _local37); _local39 = ((_local11 * _local11) + (_local12 * _local12)); _local11 = (_local32 - _local36); _local12 = (_local33 - _local37); _local40 = ((_local11 * _local11) + (_local12 * _local12)); _local11 = (_local34 - _local36); _local12 = (_local35 - _local37); _local41 = ((_local11 * _local11) + (_local12 * _local12)); if (_local38 < _local39){ _local42 = _local28; _local43 = _local29; } else { _local42 = _local30; _local43 = _local31; }; if (_local40 < _local41){ _local44 = _local32; _local45 = _local33; } else { _local44 = _local34; _local45 = _local35; }; if (!_arg4){ _arg1.curveTo(_local44, _local45, _local8, _local10); return; }; if (!_arg5){ _arg1.curveTo(_local42, _local43, _local8, _local10); return; }; _arg1.curveTo(_local42, _local43, ((_local42 + _local44) * 0.5), ((_local43 + _local45) * 0.5)); _arg1.curveTo(_local44, _local45, _local8, _local10); } public static function drawSparkle(_arg1:Graphics, _arg2:Number, _arg3:int, _arg4:Number, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0){ 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 (_arg3 < 1){ return; }; _local14 = ((Math.PI * 2) / _arg3); _arg1.moveTo(((Math.cos(_arg5) * _arg2) + _arg6), (_arg7 + (Math.sin(_arg5) * _arg2))); _local15 = 0; while (_local15 < _arg3) { _local8 = (Math.cos(((Number((_local15 + 1)) * _local14) + _arg5)) * _arg2); _local9 = (Math.sin(((Number((_local15 + 1)) * _local14) + _arg5)) * _arg2); _local10 = ((Math.cos(((Number((_local15 + 0.5)) * _local14) + _arg5)) * _arg2) * _arg4); _local11 = ((Math.sin(((Number((_local15 + 0.5)) * _local14) + _arg5)) * _arg2) * _arg4); _local12 = ((Math.cos(((Number((_local15 + 0.25)) * _local14) + _arg5)) * _arg2) * _arg4); _local13 = ((Math.sin(((Number((_local15 + 0.25)) * _local14) + _arg5)) * _arg2) * _arg4); _arg1.curveTo((_arg6 + _local12), (_arg7 + _local13), (_arg6 + _local10), (_arg7 + _local11)); _local12 = ((Math.cos(((Number((_local15 + 0.75)) * _local14) + _arg5)) * _arg2) * _arg4); _local13 = ((Math.sin(((Number((_local15 + 0.75)) * _local14) + _arg5)) * _arg2) * _arg4); _arg1.curveTo((_arg6 + _local12), (_arg7 + _local13), (_arg6 + _local8), (_arg7 + _local9)); _local15++; }; } public static function drawCurvyLine(_arg1:Graphics, _arg2:Object, _arg3:Array, _arg4:Object, _arg5:Number=0.25){ var _local6:int; var _local7:int; var _local8:int; var _local9:Object; var _local10:Object; var _local11:Object; var _local12:Object; var _local13:Object; var _local14:Object; var _local15:Object; var _local16:Number; _local7 = _arg3.length; _local8 = (_local7 - 1); _local11 = new Object(); _local12 = new Object(); _local16 = (_arg5 * 2); _local6 = 1; while (_local6 < _local7) { _local13 = _arg3[(_local6 - 1)]; _local14 = _arg3[_local6]; if (_local6 < _local8){ getLinePoint2(_local11, _local13, _local14, _arg3[(_local6 + 1)]); _local9 = _local11; } else { _local9 = _arg4; }; if (_local6 > 1){ getLinePoint2(_local12, _arg3[(_local6 - 2)], _local13, _local14); _local10 = _local12; } else { _local10 = _arg2; }; if (((!(_local10)) && (!(_local9)))){ _arg1.lineTo(_local14.x, _local14.y); } else { if (((!(_local10)) || (!(_local9)))){ drawConnection(_arg1, _local13, _local14, _local10, _local9, _local16); } else { drawConnection(_arg1, _local13, _local14, _local10, _local9, _arg5); }; }; _local6++; }; } public static function drawPolygon(_arg1:Array, _arg2:Graphics){ var _local3:int; _arg2.moveTo(_arg1[0].x, _arg1[0].y); _local3 = 1; while (_local3 < _arg1.length) { _arg2.lineTo(_arg1[_local3].x, _arg1[_local3].y); _local3++; }; } public static function controlPointIntersect(_arg1:Object, _arg2:Object, _arg3:Object, _arg4:Object):Object{ var _local5:Object; var _local6:Object; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; _local5 = Geometry.intersectLines(_arg1.x, _arg1.y, _arg2.x, _arg2.y, _arg3.x, _arg3.y, _arg4.x, _arg4.y); if (!_local5){ return (null); }; _local6 = {x:((_arg2.x + _arg3.x) * 0.5), y:((_arg2.y + _arg3.y) * 0.5)}; _local7 = (_arg3.x - _arg2.x); _local8 = (_arg3.y - _arg2.y); _local9 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8))); _local10 = (_local5.x - _local6.x); _local11 = (_local5.y - _local6.y); _local12 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); if (_local12 > _local9){ return (null); }; return ({x:(_local6.x + ((_local5.x - _local6.x) * 0.5)), y:(_local6.y + ((_local5.y - _local6.y) * 0.5))}); } public static function drawStar(_arg1:Graphics, _arg2:Number, _arg3:uint, _arg4:Number, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0){ var _local8:int; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; _local8 = 0; if (!_arg3){ return; }; _local9 = (_arg2 * _arg4); _local10 = (Math.PI / _arg3); _local11 = ((-(Math.PI) * 0.5) + _arg5); _arg3 = (_arg3 << 1); _local8 = 0; while (_local8 <= _arg3) { if ((_local8 % 2)){ _local12 = (_arg6 + (Math.cos(_local11) * _local9)); _local13 = (_arg7 + (Math.sin(_local11) * _local9)); } else { _local12 = (_arg6 + (Math.cos(_local11) * _arg2)); _local13 = (_arg7 + (Math.sin(_local11) * _arg2)); }; if (!_local8){ _arg1.moveTo(_local12, _local13); } else { _arg1.lineTo(_local12, _local13); }; _local11 = (_local11 + _local10); _local8++; }; } public static function drawClosedCurve(_arg1:Array, _arg2:Graphics):Array{ var _local3:Point; var _local4:Point; var _local5:Point; var _local6:Point; var _local7:Array; var _local8:int; var _local9:Object; if (_arg1.length < 3){ return ([]); }; _local7 = new Array(); _arg2.moveTo(_arg1[0].x, _arg1[0].y); _local8 = 0; while (_local8 < _arg1.length) { _local3 = _arg1[_local8]; _local4 = _arg1[(int(((_arg1.length + _local8) - 1)) % _arg1.length)]; _local5 = _arg1[(int((_local8 + 1)) % _arg1.length)]; _local6 = _arg1[(int((_local8 + 2)) % _arg1.length)]; _local9 = controlPointIntersect(_local4, _local3, _local5, _local6); if (_local9 == null){ _arg2.lineTo(_local5.x, _local5.y); } else { _local7.push(_local9); _arg2.curveTo(_local9.x, _local9.y, _local5.x, _local5.y); }; _local8++; }; return (_local7); } } }//package as3
Section 3
//Geometry (as3.Geometry) package as3 { import flash.display.*; import flash.geom.*; public class Geometry { public static const DEG_TO_RAD:Number = 0.0174532925199433; public static const RAD_TO_DEG:Number = 57.2957795130823; public static const TOLERANCE:Number = 1E-5; function regularPolygonArea(_arg1:Number, _arg2:int){ var _local3:Number; var _local4:Number; if (_arg2 < 3){ return (0); }; _local3 = ((Math.PI * 2) / _arg2); _local4 = (Math.sin(_local3) * _arg1); return ((((_local4 * _arg1) * 0.5) * _arg2)); } public static function intersectLines(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Boolean=false):Object{ 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:Object; var _local19:Boolean; var _local20:Boolean; _local10 = (_arg1 - _arg3); _local11 = (_arg5 - _arg7); _local12 = (_arg2 - _arg4); _local13 = (_arg6 - _arg8); _local14 = ((_arg1 * _arg4) - (_arg2 * _arg3)); _local15 = ((_arg5 * _arg8) - (_arg6 * _arg7)); _local16 = ((_local10 * _local13) - (_local12 * _local11)); if (!_local16){ return (null); }; _local17 = (1 / _local16); _local18 = {x:(((_local14 * _local11) - (_local10 * _local15)) * _local17), y:(((_local14 * _local13) - (_local12 * _local15)) * _local17)}; if (_arg9){ _local19 = pointInsideRect(_local18.x, _local18.y, _arg1, _arg2, _arg3, _arg4); _local20 = pointInsideRect(_local18.x, _local18.y, _arg5, _arg6, _arg7, _arg8); if (((!(_local19)) || (!(_local20)))){ return (null); }; }; return (_local18); } public static function pointFromEllipse(_arg1:Object, _arg2:Object):Object{ var _local3:Point; var _local4:Object; _local3 = new Point(); _local3.x = (_arg1.x + ((_arg1.radius * Math.cos(_arg2.angle)) * _arg2.distance)); _local3.y = (_arg1.y + (((_arg1.radius * _arg1.excentricity) * Math.sin(_arg2.angle)) * _arg2.distance)); _local4 = rotate(_arg1.rotation, _local3.x, _local3.y, _arg1.x, _arg1.y); return (new Point(_local4.x, _local4.y)); } public static function polygonArea(_arg1:Array):Number{ var _local2:Point; var _local3:Point; var _local4:Number; if (_arg1.length < 3){ return (0); }; _local4 = 0; return (_local4); } public static function getEllipse(_arg1:DisplayObject):Object{ var obj:Object; var rect:Rectangle; var clip = _arg1; obj = {}; rect = clip.getRect(clip); obj.x = clip.x; obj.y = clip.y; obj.radius = (-(rect.x) * clip.scaleX); obj.rotation = ((clip.rotation * Math.PI) / 180); obj.excentricity = (clip.scaleY / clip.scaleX); obj.toString = function (){ return ((((((((((("[ x=" + this.x) + ", y=") + this.y) + ", radius=") + this.radius) + ", rotation=") + this.rotation) + ", excentricity=") + this.excentricity) + " ]")); }; return (obj); } public static function pointToEllipse(_arg1:Object, _arg2:Object):Object{ var obj:Object; var untranslated:Point; var unrotated:Object; var unexcentered:Point; var unscaled:Point; var point = _arg1; var ellipse = _arg2; obj = {}; untranslated = new Point((point.x - ellipse.x), (point.y - ellipse.y)); unrotated = rotate(-(ellipse.rotation), untranslated.x, untranslated.y); unexcentered = new Point(unrotated.x, (unrotated.y / ellipse.excentricity)); unscaled = new Point((unexcentered.x / ellipse.radius), (unexcentered.y / ellipse.radius)); obj.distance = Math.sqrt(((unscaled.x * unscaled.x) + (unscaled.y * unscaled.y))); obj.hDist = unscaled.x; obj.vDist = unscaled.y; obj.normal = (Math.atan2(unscaled.y, unscaled.x) + ellipse.rotation); obj.angle = Math.atan2(unscaled.y, unscaled.x); obj.rotation = ellipse.rotation; obj.toString = function (){ return ((((((((((((("[ distance=" + obj.distance) + ", normal=") + obj.normal) + ", angle=") + obj.angle) + ", hDist=") + obj.hDist) + ", vDist=") + obj.vDist) + ", rotation=") + obj.rotation) + " ]")); }; return (obj); } public static function getOuterPoints(_arg1:Array):Array{ var _local2:Array; var _local3:Point; var _local4:int; var _local5:Array; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Point; var _local11:int; var _local12:Number; var _local13:Point; var _local14:int; var _local15:Number; var _local16:Number; _local2 = _arg1.concat(); _local3 = _local2[0]; _local4 = 1; while (_local4 < _local2.length) { if (_local2[_local4].y < _local3.y){ _local3 = _local2[_local4]; }; _local4++; }; _local5 = [_local3]; _local6 = Infinity; _local8 = 0; _local9 = 0; _local10 = _local5[0]; _local11 = _local2.length; while (1) { _local12 = (Math.PI * 2); _local13 = null; _local4 = 0; while (_local4 < _local2.length) { _local7 = Math.atan2((_local2[_local4].y - _local5[(_local5.length - 1)].y), (_local2[_local4].x - _local5[(_local5.length - 1)].x)); _local16 = getLowestPositiveAngle((_local7 - _local8)); if ((((_local16 <= _local12)) && (!((_local2[_local4] == _local5[(_local5.length - 1)]))))){ _local13 = _local2[_local4]; _local12 = _local16; }; _local4++; }; if ((((_local13 == null)) || ((((_local13 == _local5[0])) && ((_local5.length > 1)))))){ break; }; _local15 = _local8; _local8 = getLowestPositiveAngle(Math.atan2((_local13.y - _local5[(_local5.length - 1)].y), (_local13.x - _local5[(_local5.length - 1)].x))); _local9 = (_local9 + getLowestPositiveAngle((_local8 - _local15))); if (_local9 >= (Math.PI * 2)){ break; }; _local5.push(_local13); --_local11; if (!_local11){ trace(("FAILURE: " + (_local9 - (Math.PI * 2))), "\n"); break; }; }; if ((((_local5.length > 2)) && ((_local5[(_local5.length - 1)] == _local5[1])))){ _local5.pop(); }; return (_local5); } public static function getSidePoints(_arg1:Array, _arg2:Number):Array{ var _local3:int; var _local4:Number; var _local5:Number; var _local6:Array; var _local7:Point; var _local8:Point; var _local9:Number; var _local10:Number; var _local11:Array; var _local12:Number; var _local13:Number; _local4 = Infinity; _local5 = -(Infinity); _local3 = 0; while (_local3 < _arg1.length) { if (_arg1[_local3].y < _local4){ _local4 = _arg1[_local3].y; }; if (_arg1[_local3].y > _local5){ _local5 = _arg1[_local3].y; }; _local3++; }; if (_arg2 < _local4){ _arg2 = _local4; } else { if (_arg2 > _local5){ _arg2 = _local5; }; }; _local6 = []; _local3 = 0; while (_local3 < _arg1.length) { _local7 = _arg1[_local3]; _local8 = _arg1[((_local3 + 1) % _arg1.length)]; if ((((((_arg2 <= _local7.y)) && ((_arg2 >= _local8.y)))) || ((((_arg2 >= _local7.y)) && ((_arg2 <= _local8.y)))))){ if (_local8.y == _local7.y){ _local6.push(new Point(_local7.x, _local7.y)); _local6.push(new Point(_local8.x, _local8.y)); } else { _local12 = ((_arg2 - _local7.y) / (_local8.y - _local7.y)); _local13 = (_local7.x + ((_local8.x - _local7.x) * _local12)); _local6.push(new Point(_local13, _arg2)); }; }; _local3++; }; _local9 = Infinity; _local10 = -(Infinity); _local3 = 0; while (_local3 < _local6.length) { _local7 = _local6[_local3]; if (_local7.x < _local9){ _local9 = _local7.x; }; if (_local7.x > _local10){ _local10 = _local7.x; }; _local3++; }; _local11 = []; _local3 = 0; while (_local3 < _local6.length) { if (_local6[_local3].x <= (_local9 + TOLERANCE)){ _local11[0] = _local6[_local3]; }; if (_local6[_local3].x >= (_local10 - TOLERANCE)){ _local11[1] = _local6[_local3]; }; _local3++; }; return (_local11); } public static function projectPointOnLine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Object{ var _local7:Object; var _local8:Object; _local7 = getNormal(_arg3, _arg4, _arg5, _arg6); _local8 = intersectLines(_arg1, _arg2, (_arg1 + _local7.x), (_arg2 + _local7.y), _arg3, _arg4, _arg5, _arg6, false); if (_local8 == null){ throw ("Unexpected error in Geometry::closestPointToLine. Perpendicular lines aren't intersecting!\n"); }; return (_local8); } private static function getLowestPositiveAngle(_arg1:Number):Number{ var _local2:Number; _local2 = _arg1; while (_local2 < 0) { _local2 = (_local2 + (Math.PI * 2)); }; while (_local2 >= (Math.PI * 2)) { _local2 = (_local2 - (Math.PI * 2)); }; return (_local2); } public static function generateRegularPolygon(_arg1:Number, _arg2:Number):Array{ var _local3:Array; var _local4:Number; var _local5:int; _local3 = new Array(_arg1); _local4 = ((Math.PI * 2) / _arg1); _local5 = 0; while (_local5 < _arg1) { _local3[_local5] = new Point(); _local3[_local5].x = (_arg2 * Math.cos((_local5 * _local4))); _local3[_local5].y = (_arg2 * Math.sin((_local5 * _local4))); _local5++; }; return (_local3); } public static function triangleArea(_arg1:Point, _arg2:Point, _arg3:Point):Number{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; _local4 = (_arg2.x - _arg1.x); _local5 = (_arg3.x - _arg1.x); _local6 = (_arg2.y - _arg1.y); _local7 = (_arg3.y - _arg1.y); return ((0.5 * Math.abs(((_local4 * _local7) - (_local5 * _local6))))); } public static function pointInsideRect(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number){ var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; if (_arg3 < _arg5){ _local7 = _arg3; _local9 = _arg5; } else { _local7 = _arg5; _local9 = _arg3; }; if (_arg4 < _arg6){ _local8 = _arg4; _local10 = _arg6; } else { _local8 = _arg6; _local10 = _arg4; }; _local11 = 0.0001; return (!((((((((_arg1 < (_local7 - _local11))) || ((_arg1 > (_local9 + _local11))))) || ((_arg2 < (_local8 - _local11))))) || ((_arg2 > (_local10 + _local11)))))); } public static function interpolateAngle(_arg1:Number, _arg2:Number, _arg3:Number):Number{ var _local4:Number; var _local5:Number; while (_arg1 < 0) { _arg1 = (_arg1 + (Math.PI * 2)); }; while (_arg2 < 0) { _arg2 = (_arg2 + (Math.PI * 2)); }; while (_arg1 >= (Math.PI * 2)) { _arg1 = (_arg1 - (Math.PI * 2)); }; while (_arg2 >= (Math.PI * 2)) { _arg2 = (_arg2 - (Math.PI * 2)); }; if (_arg1 > _arg2){ if ((_arg1 - _arg2) > Math.PI){ _arg1 = (_arg1 - (Math.PI * 2)); }; } else { if ((_arg2 - _arg1) > Math.PI){ _arg2 = (_arg2 - (Math.PI * 2)); }; }; _local5 = (_arg1 + (_arg3 * (_arg2 - _arg1))); while (_local5 > Math.PI) { _local5 = (_local5 - (Math.PI * 2)); }; while (_local5 < -(Math.PI)) { _local5 = (_local5 + (Math.PI * 2)); }; return (_local5); } public static function rotate(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0, _arg5:Number=0):Object{ var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; _local6 = (_arg2 - _arg4); _local7 = (_arg3 - _arg5); _local8 = Math.cos(_arg1); _local9 = Math.sin(_arg1); return ({x:((_arg4 + (_local6 * _local8)) - (_local7 * _local9)), y:((_arg5 + (_local6 * _local9)) + (_local7 * _local8))}); } public static function rotatePoint(_arg1:Number, _arg2:Point, _arg3:Point=null):Point{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; if (_arg3 == null){ _local5 = 0; _local4 = _local5; } else { _local4 = _arg3.x; _local5 = _arg3.y; }; _local6 = (_arg2.x - _local4); _local7 = (_arg2.y - _local5); _local8 = Math.cos(_arg1); _local9 = Math.sin(_arg1); return (new Point(((_local4 + (_local6 * _local8)) - (_local7 * _local9)), ((_local5 + (_local6 * _local9)) + (_local7 * _local8)))); } public static function getNormal(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Object{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Object; _local5 = (_arg1 - _arg3); _local6 = (_arg2 - _arg4); _local7 = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); if (!_local7){ return ({x:0, y:0}); }; _local8 = {x:(_local6 / _local7), y:(-(_local5) / _local7)}; return (_local8); } public static function intersectPolygons(_arg1:Array, _arg2:Array){ var _local3:int; var _local4:int; var _local5:Array; var _local6:Point; var _local7:Point; var _local8:Point; var _local9:Point; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Object; var _local15:int; var _local16:int; _local3 = (_arg1.length - 1); _local4 = (_arg2.length - 1); _local5 = []; if ((((_local3 < 2)) || ((_local4 < 2)))){ return; }; _local15 = 0; while (_local15 < _local3) { _local6 = _arg1[_local15]; _local7 = _arg1[(_local15 + 1)]; _local10 = _local6.x; _local11 = _local6.y; _local12 = _local7.x; _local13 = _local7.y; _local16 = 0; while (_local16 < _local4) { _local8 = _arg2[_local16]; _local9 = _arg2[(_local16 + 1)]; _local14 = intersectLines(_local10, _local11, _local12, _local13, _local8.x, _local8.y, _local9.x, _local9.y, true); if (_local14){ _local5[_local5.length] = new Point(_local14.x, _local14.y); }; _local16++; }; _local8 = _arg2[_local16]; _local9 = _arg2[0]; _local14 = intersectLines(_local10, _local11, _local12, _local13, _local8.x, _local8.y, _local9.x, _local9.y, true); if (_local14){ _local5[_local5.length] = new Point(_local14.x, _local14.y); }; _local15++; }; _local6 = _arg1[_local15]; _local7 = _arg1[0]; _local10 = _local6.x; _local11 = _local6.y; _local12 = _local7.x; _local13 = _local7.y; _local16 = 0; while (_local16 < _local4) { _local8 = _arg2[_local16]; _local9 = _arg2[(_local16 + 1)]; _local14 = intersectLines(_local10, _local11, _local12, _local13, _local8.x, _local8.y, _local9.x, _local9.y, true); if (_local14){ _local5[_local5.length] = new Point(_local14.x, _local14.y); }; _local16++; }; _local8 = _arg2[_local16]; _local9 = _arg2[0]; _local14 = intersectLines(_local10, _local11, _local12, _local13, _local8.x, _local8.y, _local9.x, _local9.y, true); if (_local14){ _local5[_local5.length] = new Point(_local14.x, _local14.y); }; return (_local5); } } }//package as3
Section 4
//Physics (as3.Physics) package as3 { import flash.display.*; import flash.geom.*; public class Physics { public static const ROTATION_PROP:String = "rotation"; public static const Y_PROP:String = "y"; public static const SKEWY_PROP:String = "skewY"; public static const SCALEX_PROP:String = "scaleX"; public static const X_PROP:String = "x"; public static const SCALEY_PROP:String = "scaleY"; public static const SKEWX_PROP:String = "skewX"; public static function attach(_arg1:Array, _arg2:DisplayObject, _arg3:MovieClip, _arg4:Array=null){ var _local5:Point; var _local6:Point; _local5 = _arg2.localToGlobal(new Point()); _local6 = _arg3.globalToLocal(_local5); if (_arg4 == null){ _arg4 = []; }; _arg1[_arg1.length] = {mc:_arg2, par:_arg3, point:_local6, props:_arg4}; } public static function updateSkewY(_arg1:Object, _arg2:Point, _arg3:Matrix, _arg4:Array, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number){ _arg4[0] = (_arg4[0] + ((-(_arg9) * (_arg2.y - _arg1.position.y)) / _arg1.hWeight)); balancePoint(_arg4, _arg5, _arg6, _arg7, _arg8); _arg3.b = _arg4[0]; } public static function updateElastic(_arg1:Array){ var _local2:int; var _local3:int; _local3 = _arg1.length; _local2 = 0; while (_local2 < _local3) { updateElasticClip(_arg1[_local2]); _local2++; }; } public static function updateAttached(_arg1:Array){ var _local2:int; var _local3:int; var _local4:Object; var _local5:Point; var _local6:Point; var _local7:int; var _local8:int; var _local9:Array; _local3 = _arg1.length; _local2 = 0; while (_local2 < _local3) { _local4 = _arg1[_local2]; if (_local4.mc.parent){ _local5 = _local4.par.localToGlobal(_local4.point); _local6 = _local4.mc.parent.globalToLocal(_local5); _local4.mc.x = _local6.x; _local4.mc.y = _local6.y; }; _local9 = _local4.props; _local8 = _local9.length; _local7 = 0; while (_local7 < _local8) { _local4.mc[_local9[_local7]] = _local4.par[_local9[_local7]]; _local7++; }; _local2++; }; } public static function detach(_arg1:Array, _arg2:DisplayObject, _arg3:MovieClip, _arg4:Array=null){ var _local5:int; var _local6:int; var _local7:Object; _local6 = _arg1.length; _local5 = 0; while (_local5 < _local6) { _local7 = _arg1[_local5]; if ((((_local7.mc == _arg2)) && ((_local7.par == _arg3)))){ _arg1.splice(_local5, 1); return; }; _local5++; }; } public static function verlet(_arg1:Array, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1, _arg6:Number=1){ var _local7:int; var _local8:Number; var _local9:int; var _local10:Number; var _local11:Number; var _local12:Number; _local8 = ((0.5 * _arg5) * _arg5); _local9 = (_arg6 / _arg5); _local10 = _arg1[0]; _local11 = _arg1[1]; _local12 = 0; _local7 = 0; while (_local7 < _local9) { _local12 = (_arg4 * (_arg2 - _local10)); _local10 = (_local10 + ((_local11 * _arg5) + (_local12 * _local8))); _local11 = ((_local11 + (_local12 * _arg5)) * _arg3); _local7++; }; _arg1[0] = _local10; _arg1[1] = _local11; } public static function updateSkewX(_arg1:Object, _arg2:Point, _arg3:Matrix, _arg4:Array, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number){ _arg4[0] = (_arg4[0] + ((-(_arg9) * (_arg2.x - _arg1.position.x)) / _arg1.vWeight)); balancePoint(_arg4, _arg5, _arg6, _arg7, _arg8); _arg3.c = _arg4[0]; } public static function balancePoint(_arg1:Array, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:int=1){ var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; _local6 = _arg1[0]; _local7 = _arg1[1]; _local8 = _arg1[2]; _local9 = 0; while (_local9 < _arg5) { _arg1[1] = ((_arg1[1] * _arg2) + _arg1[2]); _arg1[2] = ((_arg3 - _arg1[0]) * _arg4); _arg1[0] = (_arg1[0] + (_local7 * _arg2)); _local9++; }; } public static function setElastic(_arg1:Array, _arg2:DisplayObjectContainer, _arg3:MovieClip, _arg4:Array, _arg5:Array, _arg6:Array, _arg7:Array, _arg8:Array, _arg9:Array):Object{ var _local10:Array; var _local11:int; var _local12:int; var _local13:String; var _local14:Point; var _local15:Rectangle; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; if (!_arg3.parent){ return (null); }; _local10 = [ROTATION_PROP]; _local12 = _arg4.length; _local11 = 0; while (_local11 < _local12) { _local13 = _arg4[_local11]; _local10[_local11] = [_arg6[_local11], 0, 0]; _local11++; }; _local14 = _arg3.localToGlobal(new Point()); _local14 = _arg2.globalToLocal(_local14); _local15 = _arg3.getBounds(_arg3); _local16 = (_local15.right + _local15.left); _local17 = (_local15.bottom + _local15.top); _local18 = ((_local16)<0) ? _local15.left : _local15.right; _local19 = ((_local17)<0) ? _local15.top : _local15.bottom; _arg1[_arg1.length] = {clip:_arg3, props:_arg4, position:_local14, values:_local10, topLevel:_arg2, rect:_local15, hWeight:_local18, vWeight:_local19, frictions:_arg5, dests:_arg6, multipliers:_arg7, speeds:_arg8, scales:_arg9}; return (_arg1[(_arg1.length - 1)]); } public static function editElastic(_arg1:Array, _arg2:MovieClip, _arg3:String, _arg4:Number){ var _local5:int; var _local6:int; _local6 = _arg1.length; _local5 = 0; while (_local5 < _local6) { if (_arg1[_local5].clip == _arg2){ _arg1[_local5].dests[_arg3] = _arg4; return; }; _local5++; }; } public static function updateScaleX(_arg1:Object, _arg2:Point, _arg3:Matrix, _arg4:Array, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number){ var _local10:Rectangle; var _local11:Number; _local10 = _arg1.clip.getBounds(_arg1.topLevel); _local11 = (_local10.right - _local10.left); _arg4[0] = (_arg4[0] + ((-(_arg9) * (_arg2.x - _arg1.position.x)) / _local11)); balancePoint(_arg4, _arg5, _arg6, _arg7, _arg8); _arg3.a = _arg4[0]; } public static function updateScaleY(_arg1:Object, _arg2:Point, _arg3:Matrix, _arg4:Array, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number){ var _local10:Rectangle; var _local11:Number; _local10 = _arg1.clip.getBounds(_arg1.topLevel); _local11 = (_local10.bottom - _local10.top); _arg4[0] = (_arg4[0] + ((-(_arg9) * (_arg2.y - _arg1.position.y)) / _local11)); balancePoint(_arg4, _arg5, _arg6, _arg7, _arg8); _arg3.d = _arg4[0]; } public static function updateElasticClip(_arg1:Object){ var _local2:int; var _local3:Array; var _local4:int; var _local5:Point; var _local6:String; var _local7:Matrix; _local3 = _arg1.props; _local4 = _local3.length; _local5 = _arg1.clip.localToGlobal(new Point()); _local5 = _arg1.topLevel.globalToLocal(_local5); _local7 = _arg1.clip.transform.matrix; _local2 = 0; while (_local2 < _local4) { _local6 = _local3[_local2]; switch (_local6){ case SKEWX_PROP: updateSkewX(_arg1, _local5, _local7, _arg1.values[_local2], _arg1.frictions[_local2], _arg1.dests[_local2], _arg1.multipliers[_local2], _arg1.speeds[_local2], _arg1.scales[_local2]); break; case SKEWY_PROP: updateSkewY(_arg1, _local5, _local7, _arg1.values[_local2], _arg1.frictions[_local2], _arg1.dests[_local2], _arg1.multipliers[_local2], _arg1.speeds[_local2], _arg1.scales[_local2]); break; case SCALEX_PROP: updateScaleX(_arg1, _local5, _local7, _arg1.values[_local2], _arg1.frictions[_local2], _arg1.dests[_local2], _arg1.multipliers[_local2], _arg1.speeds[_local2], _arg1.scales[_local2]); break; case SCALEY_PROP: updateScaleY(_arg1, _local5, _local7, _arg1.values[_local2], _arg1.frictions[_local2], _arg1.dests[_local2], _arg1.multipliers[_local2], _arg1.speeds[_local2], _arg1.scales[_local2]); break; }; _local2++; }; _arg1.clip.transform.matrix = _local7; _arg1.position = _local5; } } }//package as3
Section 5
//_btn1_45 (charolette_fla._btn1_45) package charolette_fla { import flash.display.*; import flash.text.*; public dynamic class _btn1_45 extends MovieClip { public var _txt:TextField; } }//package charolette_fla
Section 6
//_btn2_46 (charolette_fla._btn2_46) package charolette_fla { import flash.display.*; public dynamic class _btn2_46 extends MovieClip { public function _btn2_46(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package charolette_fla
Section 7
//_btn3_47 (charolette_fla._btn3_47) package charolette_fla { import flash.display.*; import flash.text.*; public dynamic class _btn3_47 extends MovieClip { public var _txt:TextField; } }//package charolette_fla
Section 8
//belly_17 (charolette_fla.belly_17) package charolette_fla { import flash.display.*; public dynamic class belly_17 extends MovieClip { public var ellipse:MovieClip; public var kicks:MovieClip; } }//package charolette_fla
Section 9
//charolette_1 (charolette_fla.charolette_1) package charolette_fla { import flash.display.*; public dynamic class charolette_1 extends MovieClip { public var sleeve1:MovieClip; public var sleeve2:MovieClip; public var eye1:MovieClip; public var eye2:MovieClip; public var front:MovieClip; public var couch2:MovieClip; public var bg:MovieClip; public var medicine:MovieClip; public var tail:MovieClip; public var clothes_back:MovieClip; public var hair2:MovieClip; public var hair3:MovieClip; public var hair1:MovieClip; public var mouth:MovieClip; public var sleep:MovieClip; public var pillow:MovieClip; public var speech:MovieClip; public var clothes1:MovieClip; public var clothes2:MovieClip; public var blush:MovieClip; public var b1cover:MovieClip; public var belt:MovieClip; public var light:MovieClip; public var arm1:MovieClip; public var arm2:MovieClip; public var breast1:MovieClip; public var breast2:MovieClip; public var ear1:MovieClip; public var body:MovieClip; public var leg1cover:MovieClip; public var couch:MovieClip; public var ear2:MovieClip; public var coffee:MovieClip; public var table:MovieClip; public var belly:MovieClip; public var head:MovieClip; public var chair_arm:MovieClip; public var leg1:MovieClip; public var leg2:MovieClip; } }//package charolette_fla
Section 10
//eye1_30 (charolette_fla.eye1_30) package charolette_fla { import flash.display.*; public dynamic class eye1_30 extends MovieClip { public var pupil:MovieClip; public function eye1_30(){ addFrameScript(1, frame2, 3, frame4, 5, frame6, 7, frame8, 9, frame10, 11, frame12, 17, frame18, 34, frame35); } function frame10(){ this.gotoAndPlay(this.currentLabel); } function frame18(){ this.gotoAndPlay(this.currentLabel); } function frame12(){ this.gotoAndPlay(this.currentLabel); } function frame6(){ this.gotoAndPlay(this.currentLabel); } function frame8(){ this.gotoAndPlay(this.currentLabel); } function frame4(){ this.gotoAndPlay(this.currentLabel); } function frame2(){ this.gotoAndPlay(this.currentLabel); } function frame35(){ this.gotoAndPlay(this.currentLabel); } } }//package charolette_fla
Section 11
//eye2_25 (charolette_fla.eye2_25) package charolette_fla { import flash.display.*; public dynamic class eye2_25 extends MovieClip { public var pupil:MovieClip; public function eye2_25(){ addFrameScript(1, frame2, 3, frame4, 5, frame6, 7, frame8, 9, frame10, 11, frame12, 17, frame18, 34, frame35); } function frame10(){ this.gotoAndPlay(this.currentLabel); } function frame18(){ this.gotoAndPlay(this.currentLabel); } function frame12(){ this.gotoAndPlay(this.currentLabel); } function frame6(){ this.gotoAndPlay(this.currentLabel); } function frame8(){ this.gotoAndPlay(this.currentLabel); } function frame4(){ this.gotoAndPlay(this.currentLabel); } function frame2(){ this.gotoAndPlay(this.currentLabel); } function frame35(){ this.gotoAndPlay(this.currentLabel); } } }//package charolette_fla
Section 12
//MainTimeline (charolette_fla.MainTimeline) package charolette_fla { import flash.display.*; import flash.geom.*; import flash.text.*; import flash.events.*; import expansion.*; import as3.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.system.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; public dynamic class MainTimeline extends MovieClip { public const MAX_SIZE:int = 600; public const ELLIPSE_RADIUS:Number = 50; public const INV_ELLIPSE_MAX_RADIUS:Number = 0.0222222222222222; public const BELLY_KICK_FRAME:int = 200; public const SMALL_SIZE:int = 200; public const INV_ELLIPSE_RADIUS:Number = 0.02; public const KICK_DEFORM_SCALE:Number = 0.02; public const DEG_TO_RAD:Number = 0.0174532925199433; public const INV_MAX_SIZE:Number = 0.00166666666666667; public const KICK_RATIO:Number = 0.25; public const ELLIPSE_MAX_RADIUS:Number = 45; public const BELT_FRAME:int = 110; public const B1COVER_FRAME:int = 347; public const MOUTH_FRAMES:int = 23; public const GROWTH_SPEED:Number = 0.75; public const MID_SIZE:int = 400; public const CLOTHES2_FRAME:int = 80; public var size:Number; public var oldMX:Number; public var oldMY:Number; public var exp:Expression; public var origX:Number; public var PUPIL1_ID:int; public var origY:Number; public var blushValue:Number; public var kickLines:Sprite; public var CLOTHES_ALPHA:Number; public var lcd_stolen_bg:MovieClip; public var K_ITEM:MovieClip; public var kDark:Graphics; public var PUPIL2_ID:int; public var ell:MovieClip; public var C_STR_VALUE:int; public var K_STR_VALUE:int; public var bounds:Rectangle; public var bellyKicks:Sprite; public var blushMode:int; public var KICKS:Array; public var speech:Speech; public var _panel:MovieClip; public var STEAM_CLIP:Sprite; public var oldY:Number; public var oldX:Number; public var STEAM:Array; public var reset:Boolean; public var kLines:Graphics; public var kLight:Graphics; public var EYE1_ID:int; public var kickShade:Sprite; public var currentPhrase:int; public var charolette:MovieClip; public var ATTACHED:Array; public var MOUTH_ID:int; public var KICKS_ENABLED:Boolean; public var lcd_stolen_item:MovieClip; public var growth:Number; public var zoom:Number; public var belly:MovieClip; public var lcd_stolen:String; public var EYE2_ID:int; public function MainTimeline(){ addFrameScript(0, frame1); } public function updateSteam(_arg1:Event){ var _local2:int; var _local3:Number; var _local4:Number; var _local5:int; var _local6:MovieClip; createSteam(); _local5 = STEAM.length; _local2 = 0; while (_local2 < _local5) { _local6 = STEAM[_local2]; STEAM[_local2].x = (_local6.x + _local6.vX); _local6.y = (_local6.y + _local6.vY); _local6.vX = (Math.sin(_local6.phase) * 1); _local6.phase = (_local6.phase + _local6.frequency); _local6.alpha = (_local6.life / 50); _local3 = _local6.mouseX; _local4 = _local6.mouseY; if ((((Math.abs(_local4) < 20)) && ((Math.abs(_local3) < 20)))){ _local6.x = (_local6.x - (_local3 * 0.2)); }; _local6.life--; if (_local6.life < 0){ STEAM.splice(_local2, 1); _local2--; _local5--; _local6.parent.removeChild(_local6); }; _local2++; }; } public function eFrame(_arg1:Event){ var _local2:Boolean; var _local3:Number; var _local4:Number; var _local5:String; var _local6:int; var _local7:Array; var _local8:Object; var _local9:int; var _local10:int; var _local11:int; _local2 = Boolean((_panel._nonstop.currentFrame - 1)); _local3 = size; size = setSize((size + growth)); if (size > _local3){ switch (true){ case (size < 20): break; case (size < 60): exp.setState("awaken"); if (currentPhrase == 0){ currentPhrase++; speech.say("Oh... I... fell asleep in my chair."); }; break; case (size < SMALL_SIZE): exp.setState("disappointed"); if (currentPhrase == 1){ currentPhrase++; speech.say("Oh, no! I forgot to take my medicine!"); }; break; case (((_local3 < SMALL_SIZE)) && ((size >= SMALL_SIZE))): if (!_local2){ growth = 0; size = SMALL_SIZE; }; exp.setState("annoyed"); if (currentPhrase == 2){ currentPhrase++; speech.say("I wish this pregnancy didn't happen to me every day I forgot to take my medicine."); }; break; case (size < 300): exp.setState("nervous"); blushOn(); if (currentPhrase == 3){ currentPhrase++; speech.say("Uh-oh... the feeling in my belly..."); }; break; case (size < MID_SIZE): exp.setState("pleasure"); if (currentPhrase == 4){ currentPhrase++; speech.say("It's... getting very big this time."); }; break; case (((_local3 < MID_SIZE)) && ((size >= MID_SIZE))): if (blushMode == 1){ blushOff(); }; if (!_local2){ growth = 0; size = MID_SIZE; }; exp.setState("defeated"); if (currentPhrase == 5){ currentPhrase++; speech.say("I should have grabbed the medicine while I could still move..."); }; break; case (size < MAX_SIZE): if (blushMode == 0){ blushOn(); }; exp.setState("enjoy"); if (currentPhrase == 6){ currentPhrase++; speech.say("Even... bigger? Mmmmm... So... good..."); }; break; case (size >= MAX_SIZE): if (blushMode == 1){ blushOff(); }; growth = 0; size = MAX_SIZE; exp.setState("over"); if (currentPhrase == 7){ currentPhrase++; speech.say("I-I think... I'll take the day off... Until my belly gets back to normal."); }; break; }; } else { if (size < _local3){ blushOff(); switch (true){ case (size <= 1): growth = 0; size = 1; exp.setState("sleep"); if (currentPhrase == 9){ currentPhrase++; speech.say("Finally over... I'm... tired..."); }; break; case (size < 300): exp.setState("smaller"); break; case (size < MAX_SIZE): exp.setState("revert"); if (currentPhrase == 8){ currentPhrase++; speech.say("Ah... It's finally getting back to normal."); }; break; }; } else { growth = 0; _panel._expand.gotoAndStop(1); _panel._revert.gotoAndStop(1); }; }; charolette.sleep.visible = (exp.state == "sleep"); _local4 = (exp.offset * ((exp.position * 0.5) + 0.5)); _local5 = charolette.mouth.currentLabel; _local6 = 0; _local7 = charolette.mouth.currentLabels; _local9 = _local7.length; _local10 = 0; while (_local10 < _local9) { _local8 = _local7[_local10]; if (_local8.name == _local5){ _local6 = _local8.frame; }; _local10++; }; _local11 = Math.round((MOUTH_FRAMES * _local4)); charolette.mouth.gotoAndStop((_local6 + _local11)); charolette.head.rotation = (-3 * _local4); Physics.updateAttached(ATTACHED); updateBlush(); panelFrame(); updateClothesAlpha(); if (((K_ITEM) && ((K_ITEM.alpha < 1)))){ K_ITEM.alpha = (K_ITEM.alpha + 0.1); if (K_ITEM.alpha >= 1){ K_ITEM.alpha = 1; }; }; } public function setupExpressions(){ var _local1:Array; MOUTH_ID = exp.addPart(charolette.mouth); EYE1_ID = exp.addPart(charolette.eye1, Expression.ANIMATED, true); EYE2_ID = exp.addPart(charolette.eye2, Expression.ANIMATED, true); PUPIL1_ID = exp.addPart(charolette.eye1.pupil); PUPIL2_ID = exp.addPart(charolette.eye2.pupil); _local1 = []; exp.addStateAttributes(_local1, false, 0.08, 0.6); exp.addPartToState(_local1, MOUTH_ID, "breathe"); exp.addPartToState(_local1, EYE1_ID, "closed"); exp.addPartToState(_local1, EYE2_ID, "closed"); exp.addPartToState(_local1, PUPIL1_ID, null, NaN, NaN, 0, 0); exp.addPartToState(_local1, PUPIL2_ID, null, NaN, NaN, 0, 0); exp.addState("sleep", _local1); _local1 = []; exp.addStateAttributes(_local1, true, 0.1, 0.4); exp.addPartToState(_local1, MOUTH_ID, "small"); exp.addPartToState(_local1, EYE1_ID, "small"); exp.addPartToState(_local1, EYE2_ID, "small"); exp.addPartToState(_local1, PUPIL1_ID, null, NaN, NaN, 0, 0); exp.addPartToState(_local1, PUPIL2_ID, null, NaN, NaN, 0, 0); exp.addState("awaken", _local1); _local1 = []; exp.addStateAttributes(_local1, true, 0.15, 0.6); exp.addPartToState(_local1, MOUTH_ID, "teeth"); exp.addPartToState(_local1, EYE1_ID, "big"); exp.addPartToState(_local1, EYE2_ID, "big"); exp.addPartToState(_local1, PUPIL1_ID, null, NaN, NaN, 0, 30); exp.addPartToState(_local1, PUPIL2_ID, null, NaN, NaN, 0, 30); exp.addState("disappointed", _local1); _local1 = []; exp.addStateAttributes(_local1, true, 0.15, 0); exp.addPartToState(_local1, MOUTH_ID, "sad"); exp.addPartToState(_local1, EYE1_ID, "medium"); exp.addPartToState(_local1, EYE2_ID, "medium"); exp.addPartToState(_local1, PUPIL1_ID, null, NaN, NaN, 0, 30); exp.addPartToState(_local1, PUPIL2_ID, null, NaN, NaN, 0, 30); exp.addState("annoyed", _local1); _local1 = []; exp.addStateAttributes(_local1, true, 0.2, 0.3); exp.addPartToState(_local1, MOUTH_ID, "confused"); exp.addPartToState(_local1, EYE1_ID, "open"); exp.addPartToState(_local1, EYE2_ID, "open"); exp.addPartToState(_local1, PUPIL1_ID, null, NaN, NaN, 0, 12); exp.addPartToState(_local1, PUPIL2_ID, null, NaN, NaN, 0, 12); exp.addState("nervous", _local1); _local1 = []; exp.addStateAttributes(_local1, true, 0.1, 0.6); exp.addPartToState(_local1, MOUTH_ID, "smile"); exp.addPartToState(_local1, EYE1_ID, "small"); exp.addPartToState(_local1, EYE2_ID, "small"); exp.addPartToState(_local1, PUPIL1_ID, null, NaN, NaN, 0, 12); exp.addPartToState(_local1, PUPIL2_ID, null, NaN, NaN, 0, 12); exp.addState("pleasure", _local1); _local1 = []; exp.addStateAttributes(_local1, true, 0.3, 0.25); exp.addPartToState(_local1, MOUTH_ID, "happy"); exp.addPartToState(_local1, EYE1_ID, "sad"); exp.addPartToState(_local1, EYE2_ID, "sad"); exp.addPartToState(_local1, PUPIL1_ID, null, NaN, NaN, 0, 12); exp.addPartToState(_local1, PUPIL2_ID, null, NaN, NaN, 0, 12); exp.addState("defeated", _local1); _local1 = []; exp.addStateAttributes(_local1, false, 0.2, 0.4); exp.addPartToState(_local1, MOUTH_ID, "small"); exp.addPartToState(_local1, EYE1_ID, "closed"); exp.addPartToState(_local1, EYE2_ID, "closed"); exp.addPartToState(_local1, PUPIL1_ID, null, NaN, NaN, 0, 12); exp.addPartToState(_local1, PUPIL2_ID, null, NaN, NaN, 0, 12); exp.addState("enjoy", _local1); _local1 = []; exp.addStateAttributes(_local1, true, 0.08, 0.7); exp.addPartToState(_local1, MOUTH_ID, "happy"); exp.addPartToState(_local1, EYE1_ID, "medium"); exp.addPartToState(_local1, EYE2_ID, "medium"); exp.addPartToState(_local1, PUPIL1_ID, null, NaN, NaN, 0, 20); exp.addPartToState(_local1, PUPIL2_ID, null, NaN, NaN, 0, 20); exp.addState("over", _local1); _local1 = []; exp.addStateAttributes(_local1, true, 0.2, 0.25); exp.addPartToState(_local1, MOUTH_ID, "breathe"); exp.addPartToState(_local1, EYE1_ID, "sad"); exp.addPartToState(_local1, EYE2_ID, "sad"); exp.addPartToState(_local1, PUPIL1_ID, null, NaN, NaN, 0, 20); exp.addPartToState(_local1, PUPIL2_ID, null, NaN, NaN, 0, 20); exp.addState("revert", _local1); _local1 = []; exp.addStateAttributes(_local1, true, 0.1, 0.25); exp.addPartToState(_local1, MOUTH_ID, "small"); exp.addPartToState(_local1, EYE1_ID, "medium"); exp.addPartToState(_local1, EYE2_ID, "medium"); exp.addPartToState(_local1, PUPIL1_ID, null, NaN, NaN, 0, 20); exp.addPartToState(_local1, PUPIL2_ID, null, NaN, NaN, 0, 20); exp.addState("smaller", _local1); _local1 = []; exp.addStateAttributes(_local1, false, 0.3, 0); exp.addPartToState(_local1, MOUTH_ID, "small"); exp.addPartToState(_local1, EYE1_ID, "open"); exp.addPartToState(_local1, EYE2_ID, "open"); exp.addState("kick", _local1); _local1 = []; exp.addStateAttributes(_local1, false, 0.3, 0); exp.addPartToState(_local1, MOUTH_ID, "smile"); exp.addPartToState(_local1, EYE1_ID, "shut"); exp.addPartToState(_local1, EYE2_ID, "small"); exp.addState("kick2", _local1); exp.setState("sleep"); exp.activate(); } public function _panK(){ showClothes(Boolean((CLOTHES_ALPHA < 0.5))); } public function dragStage(_arg1:MouseEvent){ charolette.x = (oldX + (stage.mouseX - oldMX)); charolette.y = (oldY + (stage.mouseY - oldMY)); Algorithms.adjustScreen(charolette, charolette.bg); } public function zoomIn(_arg1:MouseEvent){ zoom = 0.02; } public function blushOff(){ blushMode = 0; } function frame1(){ lcd_stolen = new LocalConnection().domain; if (lcd_stolen.toLowerCase().indexOf("swfchan") != -1){ stop(); lcd_stolen_bg = new MovieClip(); while (numChildren) { removeChildAt(0); }; lcd_stolen_bg.graphics.beginFill(0xFFFFFF); lcd_stolen_bg.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight); lcd_stolen_bg.graphics.endFill(); lcd_stolen_item = new MovieClip(); lcd_stolen_item.tF = new TextFormat(); lcd_stolen_item.tF.bold = true; lcd_stolen_item.tF.size = 64; lcd_stolen_item.tF.color = 0xFF2200; lcd_stolen_item.tF.font = "Trebuchet MS"; lcd_stolen_item.txt = new TextField(); lcd_stolen_item.txt.defaultTextFormat = lcd_stolen_item.tF; lcd_stolen_item.txt.text = "swfchan.com"; lcd_stolen_item.txt.width = (lcd_stolen_item.txt.textWidth + 5); lcd_stolen_item.txt.height = (lcd_stolen_item.txt.textHeight + 5); lcd_stolen_item.bmp = new Bitmap(new BitmapData((lcd_stolen_item.txt.textWidth + 5), (lcd_stolen_item.txt.textHeight + 5), true, 0)); lcd_stolen_item.bmp.bitmapData.draw(lcd_stolen_item.txt); lcd_stolen_item.bmp.x = (lcd_stolen_item.bmp.x - (lcd_stolen_item.bmp.width * 0.5)); lcd_stolen_item.bmp.y = (lcd_stolen_item.bmp.y - (lcd_stolen_item.bmp.height * 0.5)); lcd_stolen_item.addChild(lcd_stolen_item.bmp); delete lcd_stolen_item.txt; delete lcd_stolen_item.tF; lcd_stolen_item.x = (Math.random() * stage.stageWidth); lcd_stolen_item.y = (Math.random() * stage.stageWidth); lcd_stolen_item.vX = (5 + (Math.random() * 10)); lcd_stolen_item.vY = (5 + (Math.random() * 10)); lcd_stolen_item.vR = (1 + ((Math.random() * 5) * ((Math.random())<0.5) ? -1 : 1)); stage.addChild(lcd_stolen_bg); stage.addChild(lcd_stolen_item); stage.addEventListener(Event.RESIZE, function (_arg1:Event){ lcd_stolen_bg.graphics.clear(); lcd_stolen_bg.graphics.beginFill(0xFFFFFF); lcd_stolen_bg.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight); lcd_stolen_bg.graphics.endFill(); }); stage.addEventListener(Event.ENTER_FRAME, function (_arg1:Event){ lcd_stolen_item.x = (lcd_stolen_item.x + lcd_stolen_item.vX); lcd_stolen_item.y = (lcd_stolen_item.y + lcd_stolen_item.vY); lcd_stolen_item.rotation = (lcd_stolen_item.rotation + lcd_stolen_item.vR); bounds = lcd_stolen_item.getBounds(stage); if ((((((bounds.left < 0)) && ((lcd_stolen_item.vX < 0)))) || ((((bounds.right > stage.stageWidth)) && ((lcd_stolen_item.vX > 0)))))){ lcd_stolen_item.vX = -(lcd_stolen_item.vX); }; if ((((((bounds.top < 0)) && ((lcd_stolen_item.vY < 0)))) || ((((bounds.bottom > stage.stageHeight)) && ((lcd_stolen_item.vY > 0)))))){ lcd_stolen_item.vY = -(lcd_stolen_item.vY); }; }); return; }; stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; origX = charolette.x; origY = charolette.y; size = 1; growth = 0; reset = false; zoom = 0; exp = new Expression(stage); ATTACHED = []; currentPhrase = 0; speech = new Speech(charolette.speech._txt); blushValue = 0; blushMode = 0; CLOTHES_ALPHA = 1; Physics.attach(ATTACHED, charolette.mouth, charolette.head, ["rotation"]); Physics.attach(ATTACHED, charolette.eye1, charolette.head, ["rotation"]); Physics.attach(ATTACHED, charolette.eye2, charolette.head, ["rotation"]); Physics.attach(ATTACHED, charolette.ear1, charolette.head, ["rotation"]); Physics.attach(ATTACHED, charolette.ear2, charolette.head, ["rotation"]); Physics.attach(ATTACHED, charolette.blush, charolette.head, ["rotation"]); Physics.attach(ATTACHED, charolette.hair1, charolette.head); Physics.attach(ATTACHED, charolette.hair2, charolette.head); Physics.attach(ATTACHED, charolette.hair3, charolette.hair2); speech.interruptible = true; setupExpressions(); resetAll(); stage.addEventListener(Event.ENTER_FRAME, eFrame); belly = charolette.belly; ell = belly.ellipse; kickLines = new Sprite(); bellyKicks = new Sprite(); kickShade = new Sprite(); charolette.belly.addChildAt(kickLines, 0); charolette.belly.kicks.addChild(bellyKicks); charolette.belly.kicks.addChild(kickShade); kLines = kickLines.graphics; kLight = bellyKicks.graphics; kDark = kickShade.graphics; stage.addEventListener(MouseEvent.MOUSE_UP, bellyUp); belly.addEventListener(MouseEvent.MOUSE_DOWN, bellyDown); stage.addEventListener(Event.ENTER_FRAME, bellyFrame); KICKS = []; KICKS_ENABLED = false; _panel._info.text = "Interactive pregnant Charolette.\nDrawn, animated and programmed by Doom the wolf.\nhttp://doom-the-wolf.deviantart.com"; _panel._expand.gotoAndStop(1); _panel._expand._txt.text = "Expand"; _panel._revert.gotoAndStop(1); _panel._revert._txt.text = "Revert"; _panel._cont.gotoAndStop(1); _panel._cont_txt.text = "Automatic"; _panel._nonstop.gotoAndStop(1); _panel._nonstop_txt.text = "Non-stop"; _panel._plus._txt.text = "+"; _panel._minus._txt.text = "-"; _panel._zero._txt.text = "0"; _panel._expand.addEventListener(MouseEvent.MOUSE_DOWN, expand); _panel._revert.addEventListener(MouseEvent.MOUSE_DOWN, revert); _panel._cont.addEventListener(MouseEvent.MOUSE_DOWN, invertFrame); _panel._nonstop.addEventListener(MouseEvent.MOUSE_DOWN, invertFrame); _panel._plus.addEventListener(MouseEvent.MOUSE_DOWN, zoomIn); _panel._zero.addEventListener(MouseEvent.MOUSE_DOWN, zoomReset); _panel._minus.addEventListener(MouseEvent.MOUSE_DOWN, zoomOut); stage.addEventListener(MouseEvent.MOUSE_UP, panelUp); stage.addEventListener(MouseEvent.MOUSE_DOWN, pickStage); STEAM = []; STEAM_CLIP = new Sprite(); stage.addEventListener(Event.ENTER_FRAME, updateSteam); charolette.addChildAt(STEAM_CLIP, (charolette.getChildIndex(charolette.coffee) + 1)); stage.addEventListener(KeyboardEvent.KEY_DOWN, kSCroll); K_ITEM = null; K_STR_VALUE = "K".charCodeAt(0); C_STR_VALUE = "C".charCodeAt(0); } public function zoomOut(_arg1:MouseEvent){ zoom = -0.02; } public function expand(_arg1:MouseEvent){ if (growth > 0){ growth = 0; } else { if (size < MAX_SIZE){ growth = GROWTH_SPEED; _panel._expand.gotoAndStop(2); _panel._revert.gotoAndStop(1); } else { reset = true; }; }; } public function showClothes(_arg1:Boolean=true){ CLOTHES_ALPHA = Number(_arg1); } public function blushOn(){ blushMode = 1; } public function blush(){ blushMode = 2; } public function kSCroll(_arg1:KeyboardEvent){ if (_arg1.keyCode == K_STR_VALUE){ _scrollK(); } else { if (_arg1.keyCode == C_STR_VALUE){ _panK(); }; }; } public function bellyUp(_arg1:MouseEvent){ var _local2:int; var _local3:int; _local3 = KICKS.length; _local2 = 0; while (_local2 < _local3) { KICKS[_local2][1] = 0; _local2++; }; } public function zoomReset(_arg1:MouseEvent){ zoom = 0; charolette.scaleX = (charolette.scaleY = 1); charolette.x = origX; charolette.y = origY; } public function dropStage(_arg1:MouseEvent){ stage.removeEventListener(MouseEvent.MOUSE_MOVE, dragStage); stage.removeEventListener(MouseEvent.MOUSE_UP, dropStage); } public function pickStage(_arg1:MouseEvent){ if (draggable()){ oldX = charolette.x; oldY = charolette.y; oldMX = stage.mouseX; oldMY = stage.mouseY; stage.addEventListener(MouseEvent.MOUSE_MOVE, dragStage); stage.addEventListener(MouseEvent.MOUSE_UP, dropStage); }; } public function updateClothesAlpha(){ var _local1:Number; _local1 = charolette.clothes1.alpha; if (_local1 < CLOTHES_ALPHA){ _local1 = (_local1 + 0.1); if (_local1 > CLOTHES_ALPHA){ _local1 = CLOTHES_ALPHA; }; } else { if (_local1 > CLOTHES_ALPHA){ _local1 = (_local1 - 0.1); if (_local1 < CLOTHES_ALPHA){ _local1 = CLOTHES_ALPHA; }; }; }; charolette.clothes1.alpha = (charolette.b1cover.alpha = (charolette.leg1cover.alpha = (charolette.clothes2.alpha = (charolette.clothes_back.alpha = (charolette.sleeve1.alpha = (charolette.sleeve2.alpha = (charolette.belt.alpha = _local1))))))); } public function bellyFrame(_arg1:Event){ var _local2:Number; var _local3:int; var _local4:Number; var _local5:Number; var _local6:Array; var _local7:int; var _local8:int; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Matrix; var _local16:Matrix; kLines.clear(); kLight.clear(); kDark.clear(); if (!KICKS.length){ return; }; _local2 = 0; _local3 = 0; _local4 = 0; _local5 = 0; _local8 = KICKS.length; _local7 = 0; for (;_local7 < _local8;_local7++) { _local6 = KICKS[_local7]; _local2 = _local6[0]; _local3 = _local6[1]; _local4 = _local6[2]; _local5 = _local6[3]; if (_local3){ if (_local2 < 1){ _local2 = (_local2 + 0.2); }; _local3--; } else { if (_local2 > 0){ _local2 = (_local2 - 0.1); } else { KICKS.splice(_local7, 1); _local7--; _local8--; _local6 = null; continue; }; }; if ((((_local7 < (_local8 - 1))) && ((_local2 > 0)))){ drawKick(_local6[2], _local6[3], _local2); }; _local6[1] = _local3; _local6[0] = _local2; }; if (((!(_local8)) || (!(charolette.belly.hitTestPoint(stage.mouseX, stage.mouseY))))){ Mouse.show(); } else { Mouse.hide(); }; if (((_local8) && ((_local2 > 0)))){ _local6 = KICKS[(KICKS.length - 1)]; _local9 = belly.mouseX; _local10 = belly.mouseY; _local11 = ell.mouseX; _local12 = ell.mouseY; _local13 = Math.sqrt(((_local11 * _local11) + (_local12 * _local12))); _local14 = Math.atan2(_local12, _local11); _local15 = ell.transform.matrix; if (_local13 < ELLIPSE_MAX_RADIUS){ _local4 = _local9; _local6[2] = _local4; _local5 = _local10; _local6[3] = _local5; } else { _local11 = (Math.cos(_local14) * ELLIPSE_MAX_RADIUS); _local12 = (Math.sin(_local14) * ELLIPSE_MAX_RADIUS); _local4 = (((_local15.a * _local11) + (_local15.b * -(_local12))) + _local15.tx); _local6[2] = _local4; _local5 = (((_local15.c * -(_local11)) + (_local15.d * _local12)) + _local15.ty); _local6[3] = _local5; }; _local16 = belly.transform.matrix; Algorithms.deformMatrix(_local16, ((_local4 - ell.x) * INV_ELLIPSE_MAX_RADIUS), ((_local5 - ell.y) * INV_ELLIPSE_MAX_RADIUS), ((_local2 * KICK_DEFORM_SCALE) * (1 - (0.5 * (size * INV_MAX_SIZE))))); belly.transform.matrix = _local16; drawKick(_local4, _local5, _local2); }; } public function setSize(_arg1:Number, _arg2:Boolean=false):Number{ var _local3:Number; var _local4:int; var _local5:int; var _local6:int; var _local7:int; _local3 = 1; _arg1 = ((_arg1)>MAX_SIZE) ? MAX_SIZE : _arg1; if (_arg2){ _local3 = _arg1; } else { if ((((charolette.belt.currentFrame <= BELT_FRAME)) && ((charolette.belt.alpha > 0)))){ _arg1 = ((_arg1 < charolette.belt.currentFrame)) ? charolette.belt.currentFrame : _arg1; _local3 = _arg1; } else { if (charolette.belt.alpha > 0){ _local3 = (BELT_FRAME + 1); }; }; }; _local4 = _arg1; _local5 = _local3; charolette.belly.gotoAndStop(_local4); charolette.breast1.gotoAndStop(_local4); charolette.breast2.gotoAndStop(_local4); charolette.clothes1.gotoAndStop(_local4); charolette.b1cover.gotoAndStop(_local4); charolette.leg1cover.gotoAndStop(_local4); charolette.clothes2.gotoAndStop(_local4); charolette.clothes_back.gotoAndStop(_local4); charolette.belt.gotoAndStop(_local5); _local6 = charolette.getChildIndex(charolette.clothes2); _local7 = charolette.getChildIndex(charolette.breast2); if ((((charolette.belly.currentFrame <= CLOTHES2_FRAME)) && ((_local6 < _local7)))){ charolette.addChildAt(charolette.clothes2, (_local7 + 2)); } else { if ((((charolette.belly.currentFrame > CLOTHES2_FRAME)) && ((_local6 > _local7)))){ charolette.addChildAt(charolette.clothes2, (_local7 - 1)); }; }; _local7 = charolette.getChildIndex(charolette.breast1); _local6 = charolette.getChildIndex(charolette.b1cover); if ((((charolette.belly.currentFrame <= B1COVER_FRAME)) && ((_local6 < _local7)))){ charolette.addChildAt(charolette.b1cover, (_local7 + 1)); } else { if ((((charolette.belly.currentFrame > B1COVER_FRAME)) && ((_local6 > _local7)))){ charolette.addChildAt(charolette.b1cover, _local7); }; }; return (_arg1); } public function invertFrame(_arg1:MouseEvent){ var _local2:MovieClip; _local2 = (_arg1.currentTarget as MovieClip); if (_local2){ _local2.gotoAndStop((3 - _local2.currentFrame)); }; } public function bellyDown(_arg1:MouseEvent){ if ((((size >= BELLY_KICK_FRAME)) && (KICKS_ENABLED))){ if (Math.random() < 0.33){ if (Math.random() < 0.33){ exp.react("kick", 16); speech.say("Ooh!"); blush(); } else { exp.react("kick2", 16); }; }; KICKS[KICKS.length] = [0, 10, 0, 0]; }; } public function draggable():Boolean{ var _local1:Number; var _local2:Number; _local1 = stage.mouseX; _local2 = stage.mouseY; if (((((((((((((((((((((((((((((((charolette.leg1.hitTestPoint(_local1, _local2)) || (charolette.leg2.hitTestPoint(_local1, _local2)))) || (charolette.body.hitTestPoint(_local1, _local2)))) || (charolette.belly.hitTestPoint(_local1, _local2)))) || (charolette.breast1.hitTestPoint(_local1, _local2)))) || (charolette.breast2.hitTestPoint(_local1, _local2)))) || (charolette.arm1.hitTestPoint(_local1, _local2)))) || (charolette.arm2.hitTestPoint(_local1, _local2)))) || (charolette.head.hitTestPoint(_local1, _local2)))) || (charolette.hair1.hitTestPoint(_local1, _local2)))) || (charolette.hair2.hitTestPoint(_local1, _local2)))) || (charolette.tail.hitTestPoint(_local1, _local2)))) || (charolette.ear1.hitTestPoint(_local1, _local2)))) || (charolette.ear2.hitTestPoint(_local1, _local2)))) || (((charolette.clothes1.visible) && (charolette.belt.hitTestPoint(_local1, _local2)))))) || ((_panel.y < (stage.stageHeight - 50))))){ return (false); }; return (true); } public function drawKick(_arg1:Number, _arg2:Number, _arg3:Number){ var _local4:Number; var _local5:Number; var _local6:Number; _local4 = (ell.getRect(ell).right * ell.scaleX); _local5 = (ell.getRect(ell).bottom * ell.scaleY); _local6 = (Math.max(_local4, _local5) * KICK_RATIO); kLines.lineStyle(1); kDark.beginFill(0, 0.15); Drawing.drawKick(kLight, kDark, kLines, ell.x, ell.y, _local4, _local5, (ell.rotation * DEG_TO_RAD), _arg1, _arg2, (_local6 * _arg3), _arg3, 0xFFFFFF, 16764108, 1, 1); kDark.endFill(); } public function createSteam(){ var _local1:MovieClip; var _local2:Graphics; var _local3:Matrix; _local1 = new MovieClip(); _local1.vY = -2; _local1.vX = 0; _local1.phase = ((Math.random() * Math.PI) * 2); _local1.frequency = 0.2; _local1.life = 50; _local1.x = (((charolette.coffee.x - 10) + (Math.random() * 4)) - 2); _local1.y = (charolette.coffee.y - (charolette.coffee.height * 0.5)); _local2 = _local1.graphics; _local3 = new Matrix(); _local3.createGradientBox(30, 30, 0, -15, -15); _local2.beginGradientFill(GradientType.RADIAL, [0xFFFFFF, 0xFFFFFF], [0.25, 0], [0, 0xFF], _local3); _local2.drawCircle(0, 0, 15); _local2.endFill(); STEAM[STEAM.length] = _local1; STEAM_CLIP.addChild(_local1); } public function updateBlush(){ if (blushMode){ if (blushValue < 1){ blushValue = (blushValue + 0.1); if (blushValue >= 1){ blushValue = 1; if (blushMode == 2){ blushMode = 0; }; }; charolette.blush.alpha = blushValue; }; } else { if (blushValue > 0){ blushValue = (blushValue - 0.05); if (blushValue <= 0){ blushValue = 0; }; charolette.blush.alpha = blushValue; }; }; } public function panelFrame(){ var _local1:TextField; var _local2:TextField; if (_panel.hitTestPoint(stage.mouseX, stage.mouseY)){ _panel.y = (_panel.y + (((stage.stageHeight - 100) - _panel.y) * 0.5)); } else { _panel.y = (_panel.y + ((stage.stageHeight - _panel.y) * 0.5)); }; _local1 = _panel._expand._txt; if (growth > 0){ _local1.text = "Expanding"; } else { if (growth < 0){ _local1.text = "Expand"; } else { if (size < SMALL_SIZE){ _local1.text = "Expand"; } else { if (size < MID_SIZE){ _local1.text = "Bigger"; } else { if (size < MAX_SIZE){ _local1.text = "More!"; } else { _local1.text = "Reset"; }; }; }; }; }; _local2 = _panel._revert._txt; if (growth < 0){ _local2.text = "Reverting"; } else { if (canRevert()){ _local2.text = "Revert"; } else { _local2.text = "---"; }; }; if (zoom){ charolette.scaleX = (charolette.scaleX + zoom); if (charolette.scaleX > 3){ charolette.scaleX = 3; }; charolette.scaleY = charolette.scaleX; Algorithms.adjustScreen(charolette, charolette.bg); }; } public function resetAll(){ currentPhrase = 0; reset = false; charolette.blush.alpha = 0; size = setSize(1, true); exp.endReact(); exp.setState("sleep"); showClothes(); KICKS_ENABLED = false; if (K_ITEM){ K_ITEM.parent.removeChild(K_ITEM); }; currentPhrase = 0; } public function canRevert(){ return (!((((charolette.belt.currentFrame <= BELT_FRAME)) && ((charolette.belt.alpha > 0))))); } public function panelUp(_arg1:MouseEvent){ if (((!((growth == 0))) && ((_panel._cont.currentFrame == 1)))){ growth = 0; _panel._expand.gotoAndStop(1); _panel._revert.gotoAndStop(1); }; if (reset){ resetAll(); }; zoom = 0; } public function revert(_arg1:MouseEvent){ if (growth < 0){ growth = 0; } else { if ((((size > 1)) && (canRevert()))){ growth = -(GROWTH_SPEED); _panel._revert.gotoAndStop(2); _panel._expand.gotoAndStop(1); }; }; } public function _scrollK(){ if (!KICKS_ENABLED){ KICKS_ENABLED = true; if (K_ITEM){ K_ITEM.parent.removeChild(K_ITEM); }; K_ITEM = new KItem(); charolette.addChildAt(K_ITEM, (charolette.getChildIndex(charolette.coffee) + 1)); K_ITEM.x = (charolette.coffee.x + 10); K_ITEM.y = (charolette.coffee.y + 100); K_ITEM.alpha = 0; }; } } }//package charolette_fla
Section 13
//mouth_28 (charolette_fla.mouth_28) package charolette_fla { import flash.display.*; public dynamic class mouth_28 extends MovieClip { public function mouth_28(){ addFrameScript(23, frame24, 48, frame49, 73, frame74, 98, frame99, 123, frame124, 148, frame149); } function frame74(){ this.gotoAndPlay(this.currentLabel); } function frame24(){ this.gotoAndPlay(this.currentLabel); } function frame99(){ this.gotoAndPlay(this.currentLabel); } function frame124(){ this.gotoAndPlay(this.currentLabel); } function frame49(){ this.gotoAndPlay(this.currentLabel); } function frame149(){ this.gotoAndPlay(this.currentLabel); } } }//package charolette_fla
Section 14
//panel_44 (charolette_fla.panel_44) package charolette_fla { import flash.display.*; import flash.text.*; public dynamic class panel_44 extends MovieClip { public var _nonstop:MovieClip; public var _revert:MovieClip; public var _cont:MovieClip; public var _minus:MovieClip; public var _cont_txt:TextField; public var _zero:MovieClip; public var _plus:MovieClip; public var _info:TextField; public var _expand:MovieClip; public var _nonstop_txt:TextField; } }//package charolette_fla
Section 15
//speech_42 (charolette_fla.speech_42) package charolette_fla { import flash.display.*; import flash.text.*; public dynamic class speech_42 extends MovieClip { public var _txt:TextField; } }//package charolette_fla
Section 16
//Expansion (expansion.Expansion) package expansion { import flash.display.*; import flash.events.*; public class Expansion extends EventDispatcher { private var _expanding:Array; private var _sizes:Array; private var _active:Boolean; private var _numExpandables:uint; private var _expandables:Array; private var _checkPoints:Array; private var _maxSizes:Array; private var _stage:Stage; public function Expansion(_arg1:Stage){ _stage = _arg1; _active = false; _numExpandables = 0; _expandables = []; _sizes = []; _maxSizes = []; _expanding = []; _checkPoints = []; if (_arg1 == null){ throw ("ERROR: Stage must not be null."); }; } public function set size(_arg1:Number){ var _local2:int; _local2 = 0; while (_local2 < _expandables.length) { if (!_expandables[_local2]){ return; }; setSize(_local2, _arg1); _local2++; }; } public function setSize(_arg1:uint, _arg2:Number){ if (isNaN(_arg2)){ return; }; _sizes[_arg1] = Math.max(1, Math.min(_arg2, _maxSizes[_arg1])); _expandables[_arg1].gotoAndStop(Math.floor(_sizes[_arg1])); } public function getExpandableID(_arg1:MovieClip):int{ var _local2:int; while (_local2 < _expandables.length) { if (_expandables[_local2] == _arg1){ return (_local2); }; _local2++; }; return (-1); } private function eFrame(_arg1:Event){ var _local2:int; var _local3:Number; var _local4:Boolean; var _local5:Array; var _local6:int; _local4 = false; _local5 = []; _local2 = 0; while (_local2 < _expandables.length) { if (!_expandables[_local2]){ } else { _local3 = _sizes[_local2]; _sizes[_local2] = Math.max(1, Math.min(_maxSizes[_local2], (_sizes[_local2] + _expanding[_local2]))); if (_local3 != _sizes[_local2]){ _local4 = true; _expandables[_local2].gotoAndStop(Math.floor(_sizes[_local2])); while (_local6 < _checkPoints.length) { if (_checkPoints[_local6].expandable == _local2){ if ((((((_checkPoints[_local6].direction > 0)) && ((_checkPoints[_local6].size > _local3)))) && ((_checkPoints[_local6].size <= _sizes[_local2])))){ _local5.push(new ExpansionEvent("checkpoint", _expandables[_local2], _checkPoints[_local6].size, _checkPoints[_local6].direction, _checkPoints[_local6].reaction, _checkPoints[_local6].timer)); break; } else { if ((((((_checkPoints[_local6].direction < 0)) && ((_checkPoints[_local6].size >= _sizes[_local2])))) && ((_checkPoints[_local6].size < _local3)))){ _local5.push(new ExpansionEvent("checkpoint", _expandables[_local2], _checkPoints[_local6].size, _checkPoints[_local6].direction, _checkPoints[_local6].reaction, _checkPoints[_local6].timer)); break; }; }; }; _local6++; }; }; }; _local2++; }; if (_local4){ dispatchEvent(new Event("sizeChanged")); _local2 = 0; while (_local2 < _local5.length) { dispatchEvent(_local5[_local2]); _local2++; }; }; } public function set maxSize(_arg1:uint){ var _local2:int; _local2 = 0; while (_local2 < _expandables.length) { if (!_expandables[_local2]){ return; }; setMaxSize(_local2, _arg1); _local2++; }; } public function set growth(_arg1:Number){ var _local2:int; _local2 = 0; while (_local2 < _expandables.length) { if (!_expandables[_local2]){ return; }; setGrowth(_local2, _arg1); _local2++; }; } public function insertExpandable(_arg1:MovieClip, _arg2:int=-1):int{ var _local3:int; if (_arg1 == null){ return (-1); }; _local3 = 0; while (_local3 < _expandables.length) { if (_expandables[_local3] == _arg1){ if (_arg2 > 0){ _maxSizes[_local3] = _arg2; } else { if (!_arg2){ _maxSizes[_local3] = _arg1.totalFrames; }; }; return (_local3); }; _local3++; }; _local3 = 0; while (_local3 < _expandables.length) { if (_expandables[_local3] == null){ break; }; _local3++; }; _arg1.gotoAndStop(1); _numExpandables++; _sizes[_local3] = 1; _expandables[_local3] = _arg1; _expanding[_local3] = 0; if (_arg2 > 0){ _maxSizes[_local3] = _arg2; } else { _maxSizes[_local3] = _arg1.totalFrames; }; return (_local3); } public function clearCheckPoint(_arg1:uint, _arg2:int, _arg3:int=1){ var _local4:MovieClip; var _local5:int; _local4 = _expandables[_arg1]; if (!_local4){ return; }; _local5 = 0; while (_local5 < _checkPoints.length) { if ((((((_checkPoints[_local5].size == _arg2)) && ((_checkPoints.expandable == _local4)))) && ((_checkPoints[_local5].direction == _arg3)))){ delete _checkPoints[_local5]; _checkPoints.splice(_local5, 1); return; }; _local5++; }; } public function get numExpandables():uint{ return (_numExpandables); } public function removeExpandable(_arg1:MovieClip){ var _local2:int; while (_local2 < _expandables.length) { if (_expandables[_local2] == _arg1){ clearCheckPointByID(_local2); delete _expandables[_local2]; _expandables[_local2] = null; _sizes[_local2] = 0; _maxSizes[_local2] = 0; _expanding[_local2] = 0; _numExpandables--; if (_local2 == (_expandables.length - 1)){ _expandables.splice(_local2, 1); _sizes.splice(_local2, 1); _maxSizes.splice(_local2, 1); _expanding.splice(_local2, 1); }; return; }; _local2++; }; } public function getGrowth(_arg1:uint):Number{ if (_arg1 > _expandables.length){ return (0); }; return (_expanding[_arg1]); } public function setMaxSize(_arg1:uint, _arg2:uint){ if (isNaN(_arg2)){ return; }; _maxSizes[_arg1] = Math.max(1, Math.min(_expandables[_arg1].totalFrames, _arg2)); if (_sizes[_arg1] > _arg2){ setSize(_arg1, _arg2); }; } public function setGrowth(_arg1:uint, _arg2:Number){ if (isNaN(_arg2)){ return; }; _expanding[_arg1] = _arg2; } public function getMaxSize(_arg1:uint):uint{ if (_arg1 > _expandables.length){ return (0); }; return (_maxSizes[_arg1]); } public function getCheckPoint(_arg1:int, _arg2:int, _arg3:int=1):String{ var _local4:MovieClip; var _local5:int; _local4 = _expandables[_arg1]; if (!_local4){ return (""); }; _local5 = 0; while (_local5 < _checkPoints.length) { if ((((((_checkPoints[_local5].size == _arg2)) && ((_checkPoints.expandable == _local4)))) && ((_checkPoints[_local5].direction == _arg3)))){ return (_checkPoints[_local5].reaction); }; _local5++; }; return (""); } private function clearCheckPointByID(_arg1:uint){ var _local2:MovieClip; var _local3:int; _local2 = _expandables[_arg1]; if (!_local2){ return; }; _local3 = 0; while (_local3 < _checkPoints.length) { if (_checkPoints.expandable == _local2){ delete _checkPoints[_local3]; _checkPoints.splice(_local3, 1); _local3--; }; _local3++; }; } public function getExpandable(_arg1:uint):MovieClip{ if (_arg1 > _expandables.length){ return (null); }; return (_expandables[_arg1]); } public function removeExpandableAt(_arg1:uint){ if ((((_arg1 < _expandables.length)) && (!((_expandables[_arg1] == null))))){ clearCheckPointByID(_arg1); _expandables[_arg1] = null; _sizes[_arg1] = 0; _maxSizes[_arg1] = 0; _expanding[_arg1] = 0; _numExpandables--; if (_arg1 == (_expandables.length - 1)){ _expandables.splice(_arg1, 1); _sizes.splice(_arg1, 1); _maxSizes.splice(_arg1, 1); _expanding.splice(_arg1, 1); }; }; } public function setCheckPoint(_arg1:uint, _arg2:int, _arg3:int=1, _arg4:String="", _arg5:int=30){ var _local6:MovieClip; var _local7:int; _local6 = _expandables[_arg1]; if (!_local6){ return; }; _local7 = 0; while (_local7 < _checkPoints.length) { if ((((((_checkPoints[_local7].size == _arg2)) && ((_checkPoints[_local7].expandable == _arg1)))) && ((_checkPoints[_local7].direction == _arg3)))){ _checkPoints[_local7].reaction = _arg4; return; }; _local7++; }; if (_arg3 < 0){ _arg3 = -1; } else { if (_arg3 > 0){ _arg3 = 1; }; }; _checkPoints.push({size:_arg2, reaction:_arg4, expandable:_arg1, direction:_arg3, timer:_arg5}); } public function activate(_arg1:Boolean=true){ if (_active == _arg1){ return; }; _active = _arg1; if (_active){ _stage.addEventListener("enterFrame", eFrame); } else { _stage.removeEventListener("enterFrame", eFrame); }; } public function getSize(_arg1:uint):Number{ if (_arg1 > _expandables.length){ return (0); }; return (_sizes[_arg1]); } } }//package expansion
Section 17
//ExpansionEvent (expansion.ExpansionEvent) package expansion { import flash.display.*; import flash.events.*; public class ExpansionEvent extends Event { public var timer:int; public var size:int; public var reaction:String; public var expandable:MovieClip; public var direction:int; public function ExpansionEvent(_arg1:String, _arg2:MovieClip, _arg3:int, _arg4:int=1, _arg5:String="", _arg6:int=30){ super(_arg1); expandable = _arg2; size = _arg3; direction = _arg4; reaction = _arg5; timer = _arg6; } } }//package expansion
Section 18
//Expression (expansion.Expression) package expansion { import flash.display.*; import flash.events.*; public class Expression extends EventDispatcher { private var _position:Number; private var _state:String; private var _curState:Array; private var _states:Array; private var _active:Boolean; private var _permanent:Boolean; private var _offset:Number; private var _interruptible:Boolean; private var _eyes:Array; private var _partBaseValues:Array; private var _timer:int; private var _canBlink:Boolean; private var _partTypes:Array; private var _expansion:Expansion; private var _angle:Number; private var _frequency:Number; private var _parts:Array; private var _blinking:Boolean; private var _savedState:Array; private var _reactions:Array; private var _stage:Stage; public static const ANIMATED:int = 0; public static const ROTATION_SPEED:int = 2; public static const X_POS:int = 3; public static const Y_POS:int = 4; public static const FRAME:int = 0; public static const MOVABLE:int = 1; public static const ROTATION:int = 1; public function Expression(_arg1:Stage){ _active = false; _stage = _arg1; _state = ""; _canBlink = true; _blinking = false; _offset = 0; _frequency = 0; _angle = 0; _position = 0; _curState = []; _states = []; _eyes = []; _parts = []; _partTypes = []; _partBaseValues = []; _savedState = null; _reactions = []; _interruptible = true; _timer = -1; _permanent = false; _expansion = null; if (_arg1 == null){ throw ("ERROR: Stage must not be null."); }; } public function get reacting():Boolean{ return (!((_savedState == null))); } public function get canBlink():Boolean{ return (_canBlink); } public function addPartToState(_arg1:Array, _arg2:int, _arg3:String, _arg4:Number=0, _arg5:Number=1, _arg6:Number=NaN, _arg7:Number=NaN){ var _local8:MovieClip; if (!_arg1){ return; }; _local8 = getPartAt(_arg2); if (!_local8){ throw ("This part is not in the list. Try using addPart() first."); }; if (_arg1[_arg2]){ delete _arg1[_arg2]; }; _arg1[_arg2] = []; _arg1[_arg2][FRAME] = _arg3; if (isNaN(_arg4)){ _arg1[_arg2][ROTATION] = undefined; } else { _arg1[_arg2][ROTATION] = _arg4; }; if (isNaN(_arg5)){ _arg1[_arg2][ROTATION_SPEED] = undefined; } else { _arg1[_arg2][ROTATION_SPEED] = _arg5; }; if (isNaN(_arg6)){ _arg1[_arg2][X_POS] = undefined; } else { _arg1[_arg2][X_POS] = _arg6; }; if (isNaN(_arg7)){ _arg1[_arg2][Y_POS] = undefined; } else { _arg1[_arg2][Y_POS] = _arg7; }; } public function get state():String{ return (_state); } public function get offset():Number{ return (_offset); } public function get blinking():Boolean{ return (_blinking); } private function _reacting(_arg1:Event){ var _local2:Object; _local2 = getReaction((_arg1.target as EventDispatcher), _arg1.type); if (_local2 == null){ throw ("Reaction not found on the list."); }; react(_local2.state, _local2.timer); } public function destroy(){ var _local1:int; if (_expansion != null){ _expansion.removeEventListener("checkpoint", expansionReaction); _expansion = null; }; _local1 = 0; while (_local1 < _reactions.length) { _reactions[_local1].hit.removeEventListener(_reactions[_local1].type, _reacting); delete _reactions[_local1]; _local1++; }; _reactions = []; _curState = []; _states = []; _parts = []; _partTypes = []; _partBaseValues = []; _savedState = null; _state = ""; _canBlink = true; _blinking = false; _offset = 0; _frequency = 0; _angle = 0; _position = 0; _timer = -1; } public function endReact(){ if (!_savedState){ return; }; _curState.state = _savedState.state; _savedState = null; setState(_curState.state); _timer = -1; dispatchEvent(new Event("endreact")); } public function removePart(_arg1:MovieClip){ var _local2:int; var _local3:int; _local2 = 0; while (_local2 < _parts.length) { if (_parts[_local2] == _arg1){ delete _parts[_local2]; delete _partTypes[_local2]; _parts[_local2] = null; _partTypes[_local2] = 0; _local3 = 0; while (_local3 < _eyes.length) { if (_eyes[_local3] == _local2){ _eyes.splice(_local3, 1); break; }; _local3++; }; if (_local2 == (_parts.length - 1)){ _parts.splice(_local2, 1); _partTypes.splice(_local2, 1); }; return; }; _local2++; }; } public function getReaction(_arg1:EventDispatcher, _arg2:String):Object{ var _local3:int; _local3 = 0; while (_local3 < _reactions.length) { if ((((_reactions[_local3].hit == _arg1)) && ((_reactions[_local3].type == _arg2)))){ return (_reactions[_local3]); }; _local3++; }; return (null); } public function set offset(_arg1:Number){ if (!isNaN(_arg1)){ _offset = _arg1; }; } public function get position():Number{ return (_position); } private function eFrame(_arg1:Event){ var _local2:int; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; if ((((((((Math.random() > 0.99)) && (_canBlink))) && ((_savedState == null)))) && (_eyes.length))){ _local2 = 0; while (_local2 < _eyes.length) { _parts[_eyes[_local2]].gotoAndPlay("blink"); _local2++; }; _blinking = true; dispatchEvent(new Event("blink")); }; if (((_blinking) && ((_parts[_eyes[0]].currentLabel == "endblink")))){ _local2 = 0; while (_local2 < _eyes.length) { if (((_curState[_eyes[_local2]]) && (_curState[_eyes[_local2]][FRAME]))){ _parts[_eyes[_local2]].gotoAndPlay(_curState[_eyes[_local2]][FRAME]); }; _local2++; }; _blinking = false; dispatchEvent(new Event("endblink")); }; _local2 = 0; while (_local2 < _curState.length) { if (((_curState[_local2]) && (_parts[_local2]))){ if (!isNaN((_curState[_local2][ROTATION] + _curState[_local2][ROTATION_SPEED]))){ _local3 = (_curState[_local2][ROTATION] + _partBaseValues[_local2].rotation); _local4 = (_local3 - 360); _local5 = (_local3 + 360); _local6 = _local3; _local7 = Math.abs((_local4 - _parts[_local2].rotation)); _local8 = Math.abs((_local5 - _parts[_local2].rotation)); _local9 = Math.abs((_local3 - _parts[_local2].rotation)); if (_local7 <= _local9){ _local6 = _local4; }; if ((((_local8 <= _local7)) && ((_local8 <= _local9)))){ _local6 = _local5; }; if (_parts[_local2].rotation < (_local6 - _curState[_local2][ROTATION_SPEED])){ _parts[_local2].rotation = (_parts[_local2].rotation + _curState[_local2][ROTATION_SPEED]); } else { if (_parts[_local2].rotation > (_local6 + _curState[_local2][ROTATION_SPEED])){ _parts[_local2].rotation = (_parts[_local2].rotation - _curState[_local2][ROTATION_SPEED]); } else { _parts[_local2].rotation = _local3; }; }; }; if (!isNaN(_curState[_local2][X_POS])){ _local3 = (_curState[_local2][X_POS] + _partBaseValues[_local2].x); _parts[_local2].x = (_parts[_local2].x + ((_local3 - _parts[_local2].x) * 0.5)); }; if (!isNaN(_curState[_local2][Y_POS])){ _local3 = (_curState[_local2][Y_POS] + _partBaseValues[_local2].y); _parts[_local2].y = (_parts[_local2].y + ((_local3 - _parts[_local2].y) * 0.5)); }; }; _local2++; }; _position = Math.sin(_angle); _angle = (_angle + _frequency); if (_angle > 500){ _angle = (_angle - ((Math.PI * 2) * (500 / (Math.PI * 2)))); }; if (_savedState){ if (_timer > 0){ _timer--; } else { if (_timer == 0){ endReact(); }; }; }; dispatchEvent(new Event("enterFrame")); } public function react(_arg1:String, _arg2:int=30){ var _local3:Array; if (((_savedState) && (!(_interruptible)))){ return; }; if (((!(_arg1)) || (!(_arg1.length)))){ return; }; _local3 = null; if (!_savedState){ _local3 = _curState; } else { _local3 = _savedState; }; _savedState = null; _timer = _arg2; setState(_arg1); if (_local3 != null){ _savedState = _local3; }; dispatchEvent(new Event("react")); } public function removePartAt(_arg1:uint){ var _local2:int; if ((((_arg1 >= _parts.length)) || ((_parts[_arg1] == null)))){ return; }; delete _parts[_arg1]; delete _partTypes[_arg1]; _parts[_arg1] = null; _partTypes[_arg1] = 0; _local2 = 0; while (_local2 < _eyes.length) { if (_eyes[_local2] == _arg1){ _eyes.splice(_local2, 1); break; }; _local2++; }; if (_arg1 == (_parts.length - 1)){ _parts.splice(_arg1, 1); _partTypes.splice(_arg1, 1); }; } public function addPart(_arg1:MovieClip, _arg2:int=0, _arg3:Boolean=false):int{ var _local4:int; if (!_arg1){ return (-1); }; _local4 = 0; while (_local4 < _parts.length) { if (_parts[_local4] == _arg1){ _partTypes[_local4] = _arg2; return (_local4); }; _local4++; }; _local4 = 0; while (_local4 < _parts.length) { if (_parts[_local4] == null){ break; }; _local4++; }; _arg1.stop(); if (_arg3){ _eyes.push(_local4); }; _parts[_local4] = _arg1; _partTypes[_local4] = _arg2; _partBaseValues[_local4] = {x:_arg1.x, y:_arg1.y, scaleX:_arg1.scaleX, scaleY:_arg1.scaleY, rotation:_arg1.rotation}; return (_local4); } public function get interruptible():Boolean{ return (_interruptible); } public function get curState():Array{ return (_curState); } public function getStateByName(_arg1:String):Object{ if (!_states[_arg1]){ return (null); }; return (_states[_arg1]); } public function set frequency(_arg1:Number){ if (!isNaN(_arg1)){ _frequency = _arg1; }; } public function getPartID(_arg1:MovieClip):int{ var _local2:int; _local2 = 0; while (_local2 < _parts.length) { if (_parts[_local2] == _arg1){ return (_local2); }; _local2++; }; return (-1); } public function get timer():int{ return (_timer); } public function get defaultState():String{ if (!_savedState){ return (_state); }; return (_savedState.state); } public function get angle():Number{ return (_angle); } public function set canBlink(_arg1:Boolean){ _canBlink = _arg1; } public function reactTo(_arg1:Expansion, _arg2:Boolean=false){ if (_expansion != null){ _expansion.removeEventListener("checkpoint", expansionReaction); _expansion = null; }; _permanent = _arg2; if (!_arg1){ return; }; _expansion = _arg1; _arg1.addEventListener("checkpoint", expansionReaction, false, 1, true); } public function get frequency():Number{ return (_frequency); } private function expansionReaction(_arg1:ExpansionEvent){ if (((!(_arg1.reaction)) || (!(_arg1.reaction.length)))){ return; }; if (_permanent){ if (reacting){ _savedState.state = _arg1.reaction; } else { setState(_arg1.reaction); }; } else { react(_arg1.reaction, _arg1.timer); }; } public function setState(_arg1:String, _arg2:Boolean=false){ var _local3:Array; var _local4:int; var _local5:String; if (_arg1 == _state){ return; }; if (_savedState){ if (_arg2){ _savedState.state = _arg1; }; return; }; if (!_states[_arg1]){ return; }; _local3 = _curState; _curState = []; _curState.state = (_state = _arg1); if (_states[_arg1]["canBlink"] != undefined){ _curState.canBlink = (_canBlink = _states[_arg1]["canBlink"]); }; if (!isNaN(_states[_arg1]["frequency"])){ _curState.frequency = (_frequency = _states[_arg1]["frequency"]); }; if (!isNaN(_states[_arg1]["offset"])){ _curState.offset = (_offset = _states[_arg1]["offset"]); }; _blinking = false; _local4 = 0; while (_local4 < _states[_arg1].length) { _curState[_local4] = _states[_arg1][_local4]; _local4++; }; _local4 = 0; while (_local4 < _parts.length) { if (((((!(_states[_arg1][_local4])) || (!(_states[_arg1][_local4][FRAME])))) || (!(_states[_arg1][_local4][FRAME].length)))){ } else { if ((((_partTypes[_local4] == MOVABLE)) && (_local3[_local4]))){ _local5 = ((_local3[_local4][FRAME] + "2") + _states[_arg1][_local4][FRAME]); if (((!((_parts[_local4].currentLabel == _states[_arg1][_local4][FRAME]))) && (hasLabel(_parts[_local4], _local5)))){ _parts[_local4].gotoAndPlay(_local5); } else { if (_states[_arg1][_local4][FRAME] != _local3[_local4][FRAME]){ _parts[_local4].gotoAndPlay(_states[_arg1][_local4][FRAME]); throw ((((((("Label " + _local5) + " is missing! in Movieclip #") + _local4) + "(") + _parts[_local4].name) + ").")); }; }; } else { if (((_states[_arg1][_local4][FRAME]) && (_states[_arg1][_local4][FRAME].length))){ _parts[_local4].gotoAndPlay(_states[_arg1][_local4][FRAME]); }; }; }; _local4++; }; } public function set interruptible(_arg1:Boolean){ _interruptible = _arg1; } public function removeState(_arg1:String){ delete _states[_arg1]; } public function addStateAttributes(_arg1:Array, _arg2:Boolean, _arg3:Number=NaN, _arg4:Number=NaN){ if (!_arg1){ return; }; _arg1.canBlink = _arg2; if (!isNaN(_arg3)){ _arg1.frequency = _arg3; }; if (!isNaN(_arg4)){ _arg1.offset = _arg4; }; } public function removeReaction(_arg1:EventDispatcher, _arg2:String){ var _local3:int; _local3 = 0; while (_local3 < _reactions.length) { if ((((_reactions[_local3].hit == _arg1)) && ((_reactions[_local3].type == _arg2)))){ _reactions[_local3].hit.removeEventListener(_arg2, _reacting); delete _reactions[_local3]; _reactions.splice(_local3, 1); return; }; _local3++; }; } public function addState(_arg1:String, _arg2:Array){ var _local3:int; if (_states[_arg1]){ delete _states[_arg1]; }; _states[_arg1] = new Array(); _local3 = 0; while (_local3 < _arg2.length) { if (_arg2[_local3]){ _states[_arg1][_local3] = _arg2[_local3].concat(); } else { _states[_arg1][_local3] = null; }; _local3++; }; _states[_arg1].canBlink = _arg2.canBlink; _states[_arg1].frequency = _arg2.frequency; _states[_arg1].offset = _arg2.offset; } public function addReaction(_arg1:EventDispatcher, _arg2:String, _arg3:String, _arg4:int=30){ var _local5:Object; _local5 = getReaction(_arg1, _arg2); if (_local5 != null){ _local5.state = _arg3; return; }; _arg1.addEventListener(_arg2, _reacting, false, 2, true); _reactions.push({hit:_arg1, type:_arg2, state:_arg3, timer:_arg4}); } public function getBaseValues(_arg1:uint):Object{ var _local2:MovieClip; _local2 = getPartAt(_arg1); if (!_local2){ return (null); }; return (_partBaseValues[_arg1]); } public function activate(_arg1:Boolean=true){ if (_active == _arg1){ return; }; _active = _arg1; if (_active){ _stage.addEventListener("enterFrame", eFrame); } else { _stage.removeEventListener("enterFrame", eFrame); }; } public function getPartAt(_arg1:int):MovieClip{ if (_parts[_arg1]){ return (_parts[_arg1]); }; return (null); } public static function hasLabel(_arg1:MovieClip, _arg2:String):Boolean{ var _local3:Array; var _local4:FrameLabel; var _local5:int; _local3 = _arg1.currentLabels; _local5 = 0; while (_local5 < _local3.length) { _local4 = _local3[_local5]; if (_local4.name == _arg2){ return (true); }; _local5++; }; return (false); } } }//package expansion
Section 19
//Speech (expansion.Speech) package expansion { import flash.display.*; import flash.text.*; import flash.events.*; public class Speech extends EventDispatcher { private var _contained:Boolean; private var _textSpeed:int; private var _checkpoints:Array; private var _txt:TextField; private var _events:Array; private var _interruptible:Boolean; private var _letter:int; private var _timer:int; private var _mouth:MovieClip; private var _phrase:String; private var _paused:int; private var _pauseTime:int; private var _expansion:Expansion; private var _interruptionText:String; private var _pauseCharacter:String; public function Speech(_arg1:TextField, _arg2:Boolean=true){ _txt = _arg1; _mouth = null; _contained = _arg2; _textSpeed = 1; _timer = 0; _letter = 0; _phrase = ""; _expansion = null; _events = []; _checkpoints = []; if (!_txt){ throw ("ERROR: No TextField object found!"); }; _interruptionText = "--"; _interruptible = false; _pauseCharacter = ""; _paused = -1; _pauseTime = 10; _txt.visible = false; _txt.text = ""; if (((_contained) && (_txt.parent))){ _txt.parent.visible = _txt.visible; }; } public function destroy(){ var _local1:int; _local1 = 0; while (_local1 < _events.length) { _events[_local1].object.removeEventListener(_events[_local1].type, _event); _local1++; }; _events = []; _local1 = 0; while (_local1 < _checkpoints.length) { delete _checkpoints[_local1]; _local1++; }; _checkpoints = []; listenTo(null); clearSpeech(); if (((_contained) && (_txt.parent))){ _txt.parent.visible = true; }; _txt.visible = true; _txt = null; } public function set mouth(_arg1:MovieClip){ _mouth = _arg1; } public function get interruptionText():String{ return (_interruptionText); } public function clearCheckPoint(_arg1:MovieClip, _arg2:int, _arg3:int=1){ var _local4:int; _local4 = 0; while (_local4 < _checkpoints.length) { if ((((((_checkpoints[_local4].part == _arg1)) && ((_checkpoints[_local4].size == _arg2)))) && ((_checkpoints[_local4].direction == _arg3)))){ _checkpoints.splice(_local4, 1); return; }; _local4++; }; } public function clearSpeech(){ _letter = 0; _phrase = ""; _txt.removeEventListener("enterFrame", _speaking); _txt.text = ""; if (((_contained) && (_txt.parent))){ _txt.parent.visible = false; }; _txt.visible = false; } public function get textSpeed():int{ return (_textSpeed); } private function _event(_arg1:Event){ var _local2:Object; _local2 = getEvent((_arg1.target as EventDispatcher), _arg1.type); if (!_local2){ return; }; say(_local2.phrase, _local2.time); } public function set interruptionText(_arg1:String){ _interruptionText = _arg1; } public function set pauseCharacter(_arg1:String){ _pauseCharacter = _arg1; } private function _checkpoint(_arg1:ExpansionEvent){ var _local2:Object; _local2 = getCheckPoint(_arg1.expandable, _arg1.size, _arg1.direction); if (!_local2){ return; }; say(_local2.phrase, _local2.time); } public function get position():int{ return (_letter); } private function _speaking(_arg1:Event){ var _local2:String; var _local3:int; if (_paused > 0){ _paused--; } else { if (_letter < _phrase.length){ _local3 = 0; while ((((_local3 < _textSpeed)) && ((_letter < _phrase.length)))) { _local2 = _phrase.charAt(_letter++); if (_local2 == _pauseCharacter){ _paused = _pauseTime; if (_mouth != null){ _mouth.gotoAndStop("_m"); }; return; }; _txt.appendText(_local2); _txt.scrollV = _txt.maxScrollV; _local3++; }; if (_mouth != null){ _local2 = _local2.toLowerCase(); if ((((((((((((((((((_local2 == "k")) || ((_local2 == "t")))) || ((_local2 == "y")))) || ((_local2 == "s")))) || ((_local2 == "q")))) || ((_local2 == "d")))) || ((_local2 == "g")))) || ((_local2 == "j")))) || ((_local2 == "z")))){ _local2 = "i"; }; if ((((_local2 == "w")) || ((_local2 == "r")))){ _local2 = "u"; }; if (_local2 == "h"){ _local2 = "a"; }; if ((((_local2 == "l")) || ((_local2 == "d")))){ _local2 = "o"; }; switch (_local2){ case "a": case "e": case "i": case "o": case "u": _mouth.gotoAndStop(("_" + _local2)); break; default: _mouth.gotoAndStop("_m"); }; }; if (_letter >= _phrase.length){ if (_mouth != null){ _mouth.gotoAndStop("_m"); }; dispatchEvent(new Event("speechFinished")); }; } else { if (_timer > 0){ _timer--; } else { clearSpeech(); dispatchEvent(new Event("speechCleared")); }; }; }; } public function set textSpeed(_arg1:int){ if (_arg1 < 0){ _arg1 = 0; }; _textSpeed = _arg1; } public function get interruptible():Boolean{ return (_interruptible); } public function get phrase():String{ return (_phrase); } public function listenTo(_arg1:Expansion){ if (_expansion){ _expansion.removeEventListener("checkpoint", _checkpoint); _expansion = null; }; if (!_arg1){ return; }; _expansion = _arg1; _expansion.addEventListener("checkpoint", _checkpoint, false, 0, true); } public function get timer():int{ return (_timer); } public function get mouth():MovieClip{ return (_mouth); } public function get speaking():Boolean{ return (((_txt.visible) && ((_letter < _phrase.length)))); } public function get pauseCharacter():String{ return (_pauseCharacter); } public function set pauseTime(_arg1:int){ _pauseTime = _arg1; } public function getCheckPoint(_arg1:MovieClip, _arg2:int, _arg3:int=1):Object{ var _local4:int; _local4 = 0; while (_local4 < _checkpoints.length) { if ((((((_checkpoints[_local4].part == _arg1)) && ((_checkpoints[_local4].size == _arg2)))) && ((_checkpoints[_local4].direction == _arg3)))){ return (_checkpoints[_local4]); }; _local4++; }; return (null); } public function get pauseTime():int{ return (_pauseTime); } public function get textField():TextField{ return (_txt); } public function set contained(_arg1:Boolean){ if (((_contained) && (_txt.parent))){ if (!_arg1){ _txt.parent.visible = true; } else { _txt.parent.visible = _txt.visible; }; }; _contained = _arg1; } public function setEvent(_arg1:EventDispatcher, _arg2:String, _arg3:String, _arg4:int=-1){ var _local5:Object; if (((((!(_arg1)) || (!(_arg2)))) || (!(_arg2.length)))){ return; }; _local5 = getEvent(_arg1, _arg2); if (_local5 != null){ _local5.phrase = phrase; _local5.time = _arg4; return; }; _events.push({object:_arg1, type:_arg2, phrase:_arg3, time:_arg4}); _arg1.addEventListener(_arg2, _event, false, 5, true); } public function set interruptible(_arg1:Boolean){ _interruptible = _arg1; } public function clearEvent(_arg1:EventDispatcher, _arg2:String){ var _local3:int; _local3 = 0; while (_local3 < _events.length) { if ((((_events[_local3].object == _arg1)) && ((_events[_local3].type == _arg2)))){ _arg1.removeEventListener(_arg2, _event); _events.splice(_local3, 1); return; }; _local3++; }; } public function get contained():Boolean{ return (_contained); } public function setCheckPoint(_arg1:MovieClip, _arg2:int, _arg3:int=1, _arg4:String="", _arg5:int=-1){ var _local6:Object; if (!_arg1){ return; }; _local6 = getCheckPoint(_arg1, _arg2, _arg3); if (_local6 != null){ _local6.phrase = _arg4; _local6.time = _arg5; return; }; _checkpoints.push({part:_arg1, size:_arg2, direction:_arg3, phrase:_arg4, time:_arg5}); } public function say(_arg1:String, _arg2:int=-1){ var _local3:String; var _local4:String; if (((speaking) && (!(_interruptible)))){ return; }; _paused = -1; if (!_txt){ throw ("ERROR: No TextField object found!"); }; if (_txt.length > 0){ _local3 = _phrase.charAt((_letter - 1)); _local4 = _phrase.charAt(_letter); if ((((((((_letter > 0)) && ((_letter < _phrase.length)))) && (isLetter(_local3)))) && (isLetter(_local4)))){ _txt.appendText(_interruptionText); }; _txt.appendText("\n\n"); _txt.scrollV = _txt.maxScrollV; }; if (((_contained) && (_txt.parent))){ _txt.parent.visible = true; }; if (_arg2 < 0){ _arg2 = (_arg1.length + 20); }; _phrase = _arg1; _letter = 0; _timer = _arg2; _txt.visible = true; _txt.addEventListener("enterFrame", _speaking); } public function getEvent(_arg1:EventDispatcher, _arg2:String):Object{ var _local3:int; _local3 = 0; while (_local3 < _events.length) { if ((((_events[_local3].object == _arg1)) && ((_events[_local3].type == _arg2)))){ return (_events[_local3]); }; _local3++; }; return (null); } public static function isLetter(_arg1:String){ var _local2:int; var _local3:Array; var _local4:int; _local2 = _arg1.charCodeAt(0); if ((((_local2 >= "a".charCodeAt(0))) && ((_local2 <= "z".charCodeAt(0))))){ return (true); }; if ((((_local2 >= "A".charCodeAt(0))) && ((_local2 <= "Z".charCodeAt(0))))){ return (true); }; if ((((_local2 >= "0".charCodeAt(0))) && ((_local2 <= "9".charCodeAt(0))))){ return (true); }; _local3 = ["á", "é", "í", "ó", "ú", "Á", "É", "Í", "Ó", "Ú", "à", "è", "ì", "ò", "ù", "À", "È", "Ì", "Ò", "Ù", "ä", "ë", "ï", "ö", "ü", "Ä", "Ë", "Ï", "Ö", "Ü", "â", "ê", "î", "ô", "û", "Â", "Ê", "Î", "Ô", "Û", "ñ", "Ñ"]; _local4 = 0; while (_local4 < _local3.length) { if (_local3[_local4] == _arg1){ return (true); }; _local4++; }; return (false); } } }//package expansion
Section 20
//Color (fl.motion.Color) package fl.motion { import flash.display.*; import flash.geom.*; public class Color extends ColorTransform { private var _tintMultiplier:Number;// = 0 private var _tintColor:Number;// = 0 public function Color(_arg1:Number=1, _arg2:Number=1, _arg3:Number=1, _arg4:Number=1, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0){ _tintColor = 0; _tintMultiplier = 0; super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); } public function setTint(_arg1:uint, _arg2:Number):void{ var _local3:uint; var _local4:uint; var _local5:uint; this._tintColor = _arg1; this._tintMultiplier = _arg2; this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = (1 - _arg2))); _local3 = ((_arg1 >> 16) & 0xFF); _local4 = ((_arg1 >> 8) & 0xFF); _local5 = (_arg1 & 0xFF); this.redOffset = Math.round((_local3 * _arg2)); this.greenOffset = Math.round((_local4 * _arg2)); this.blueOffset = Math.round((_local5 * _arg2)); } public function set tintColor(_arg1:uint):void{ this.setTint(_arg1, this.tintMultiplier); } public function get brightness():Number{ return ((this.redOffset) ? (1 - this.redMultiplier) : (this.redMultiplier - 1)); } private function deriveTintColor():uint{ var _local1:Number; var _local2:uint; var _local3:uint; var _local4:uint; var _local5:uint; _local1 = (1 / this.tintMultiplier); _local2 = Math.round((this.redOffset * _local1)); _local3 = Math.round((this.greenOffset * _local1)); _local4 = Math.round((this.blueOffset * _local1)); _local5 = (((_local2 << 16) | (_local3 << 8)) | _local4); return (_local5); } public function get tintMultiplier():Number{ return (this._tintMultiplier); } public function get tintColor():uint{ return (this._tintColor); } public function set brightness(_arg1:Number):void{ var _local2:Number; var _local3:Number; if (_arg1 > 1){ _arg1 = 1; } else { if (_arg1 < -1){ _arg1 = -1; }; }; _local2 = (1 - Math.abs(_arg1)); _local3 = 0; if (_arg1 > 0){ _local3 = (_arg1 * 0xFF); }; this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = _local2)); this.redOffset = (this.greenOffset = (this.blueOffset = _local3)); } public function set tintMultiplier(_arg1:Number):void{ this.setTint(this.tintColor, _arg1); } private function parseXML(_arg1:XML=null):Color{ var _local2:XML; var _local3:XML; var _local4:String; var _local5:uint; if (!_arg1){ return (this); }; _local2 = _arg1.elements()[0]; if (!_local2){ return (this); }; for each (_local3 in _local2.attributes()) { _local4 = _local3.localName(); if (_local4 == "tintColor"){ _local5 = (Number(_local3.toString()) as uint); this.tintColor = _local5; } else { this[_local4] = Number(_local3.toString()); }; }; return (this); } public static function interpolateColor(_arg1:uint, _arg2:uint, _arg3:Number):uint{ var _local4:Number; var _local5:uint; var _local6:uint; var _local7:uint; var _local8:uint; var _local9:uint; var _local10:uint; var _local11:uint; var _local12:uint; var _local13:uint; var _local14:uint; var _local15:uint; var _local16:uint; var _local17:uint; _local4 = (1 - _arg3); _local5 = ((_arg1 >> 24) & 0xFF); _local6 = ((_arg1 >> 16) & 0xFF); _local7 = ((_arg1 >> 8) & 0xFF); _local8 = (_arg1 & 0xFF); _local9 = ((_arg2 >> 24) & 0xFF); _local10 = ((_arg2 >> 16) & 0xFF); _local11 = ((_arg2 >> 8) & 0xFF); _local12 = (_arg2 & 0xFF); _local13 = ((_local5 * _local4) + (_local9 * _arg3)); _local14 = ((_local6 * _local4) + (_local10 * _arg3)); _local15 = ((_local7 * _local4) + (_local11 * _arg3)); _local16 = ((_local8 * _local4) + (_local12 * _arg3)); _local17 = ((((_local13 << 24) | (_local14 << 16)) | (_local15 << 8)) | _local16); return (_local17); } public static function interpolateTransform(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{ var _local4:Number; var _local5:ColorTransform; _local4 = (1 - _arg3); _local5 = new ColorTransform(((_arg1.redMultiplier * _local4) + (_arg2.redMultiplier * _arg3)), ((_arg1.greenMultiplier * _local4) + (_arg2.greenMultiplier * _arg3)), ((_arg1.blueMultiplier * _local4) + (_arg2.blueMultiplier * _arg3)), ((_arg1.alphaMultiplier * _local4) + (_arg2.alphaMultiplier * _arg3)), ((_arg1.redOffset * _local4) + (_arg2.redOffset * _arg3)), ((_arg1.greenOffset * _local4) + (_arg2.greenOffset * _arg3)), ((_arg1.blueOffset * _local4) + (_arg2.blueOffset * _arg3)), ((_arg1.alphaOffset * _local4) + (_arg2.alphaOffset * _arg3))); return (_local5); } public static function fromXML(_arg1:XML):Color{ return (Color(new (Color).parseXML(_arg1))); } } }//package fl.motion
Section 21
//KItem (KItem) package { import flash.display.*; public dynamic class KItem extends MovieClip { } }//package

Library Items

Symbol 1 GraphicUsed by:2
Symbol 2 MovieClip {KItem}Uses:1
Symbol 3 GraphicUsed by:4
Symbol 4 MovieClipUses:3Used by:224
Symbol 5 GraphicUsed by:6
Symbol 6 MovieClipUses:5Used by:224
Symbol 7 GraphicUsed by:8
Symbol 8 MovieClipUses:7Used by:224
Symbol 9 GraphicUsed by:10
Symbol 10 MovieClipUses:9Used by:224
Symbol 11 GraphicUsed by:12
Symbol 12 MovieClipUses:11Used by:224
Symbol 13 ShapeTweeningUsed by:16
Symbol 14 ShapeTweeningUsed by:16
Symbol 15 GraphicUsed by:16
Symbol 16 MovieClipUses:13 14 15Used by:224
Symbol 17 GraphicUsed by:18
Symbol 18 MovieClipUses:17Used by:224
Symbol 19 GraphicUsed by:20
Symbol 20 MovieClipUses:19Used by:224
Symbol 21 GraphicUsed by:22
Symbol 22 MovieClipUses:21Used by:224
Symbol 23 GraphicUsed by:24
Symbol 24 MovieClipUses:23Used by:224
Symbol 25 GraphicUsed by:26
Symbol 26 MovieClipUses:25Used by:224
Symbol 27 GraphicUsed by:28
Symbol 28 MovieClipUses:27Used by:224
Symbol 29 GraphicUsed by:30
Symbol 30 MovieClipUses:29Used by:224
Symbol 31 ShapeTweeningUsed by:33
Symbol 32 GraphicUsed by:33
Symbol 33 MovieClipUses:31 32Used by:224
Symbol 34 ShapeTweeningUsed by:45
Symbol 35 ShapeTweeningUsed by:45
Symbol 36 ShapeTweeningUsed by:45
Symbol 37 ShapeTweeningUsed by:45
Symbol 38 ShapeTweeningUsed by:45
Symbol 39 ShapeTweeningUsed by:45
Symbol 40 ShapeTweeningUsed by:45
Symbol 41 ShapeTweeningUsed by:45
Symbol 42 ShapeTweeningUsed by:45
Symbol 43 ShapeTweeningUsed by:45
Symbol 44 GraphicUsed by:45
Symbol 45 MovieClipUses:34 35 36 37 38 39 40 41 42 43 44Used by:224
Symbol 46 ShapeTweeningUsed by:75
Symbol 47 ShapeTweeningUsed by:75
Symbol 48 ShapeTweeningUsed by:75
Symbol 49 ShapeTweeningUsed by:75
Symbol 50 GraphicUsed by:51
Symbol 51 MovieClipUses:50Used by:75
Symbol 52 ShapeTweeningUsed by:75
Symbol 53 ShapeTweeningUsed by:75
Symbol 54 ShapeTweeningUsed by:75
Symbol 55 ShapeTweeningUsed by:75
Symbol 56 ShapeTweeningUsed by:75
Symbol 57 ShapeTweeningUsed by:75
Symbol 58 ShapeTweeningUsed by:75
Symbol 59 ShapeTweeningUsed by:75
Symbol 60 ShapeTweeningUsed by:75
Symbol 61 ShapeTweeningUsed by:75
Symbol 62 ShapeTweeningUsed by:75
Symbol 63 ShapeTweeningUsed by:75
Symbol 64 ShapeTweeningUsed by:75
Symbol 65 ShapeTweeningUsed by:75
Symbol 66 ShapeTweeningUsed by:75
Symbol 67 ShapeTweeningUsed by:75
Symbol 68 GraphicUsed by:75
Symbol 69 ShapeTweeningUsed by:75
Symbol 70 ShapeTweeningUsed by:75
Symbol 71 ShapeTweeningUsed by:75
Symbol 72 ShapeTweeningUsed by:75
Symbol 73 GraphicUsed by:75
Symbol 74 GraphicUsed by:75
Symbol 75 MovieClip {charolette_fla.belly_17}Uses:46 47 48 49 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74Used by:224
Symbol 76 ShapeTweeningUsed by:89
Symbol 77 ShapeTweeningUsed by:89
Symbol 78 ShapeTweeningUsed by:89
Symbol 79 ShapeTweeningUsed by:89
Symbol 80 ShapeTweeningUsed by:89
Symbol 81 ShapeTweeningUsed by:89
Symbol 82 ShapeTweeningUsed by:89
Symbol 83 ShapeTweeningUsed by:89
Symbol 84 ShapeTweeningUsed by:89
Symbol 85 ShapeTweeningUsed by:89
Symbol 86 ShapeTweeningUsed by:89
Symbol 87 ShapeTweeningUsed by:89
Symbol 88 GraphicUsed by:89
Symbol 89 MovieClipUses:76 77 78 79 80 81 82 83 84 85 86 87 88Used by:224
Symbol 90 GraphicUsed by:91
Symbol 91 MovieClipUses:90Used by:224
Symbol 92 GraphicUsed by:93
Symbol 93 MovieClipUses:92Used by:224
Symbol 94 GraphicUsed by:95
Symbol 95 MovieClipUses:94Used by:224
Symbol 96 GraphicUsed by:97
Symbol 97 MovieClipUses:96Used by:224
Symbol 98 GraphicUsed by:99
Symbol 99 MovieClipUses:98Used by:224
Symbol 100 GraphicUsed by:111
Symbol 101 GraphicUsed by:111
Symbol 102 GraphicUsed by:103
Symbol 103 MovieClipUses:102Used by:111
Symbol 104 GraphicUsed by:111
Symbol 105 GraphicUsed by:111
Symbol 106 GraphicUsed by:111
Symbol 107 GraphicUsed by:111
Symbol 108 GraphicUsed by:111
Symbol 109 GraphicUsed by:111
Symbol 110 GraphicUsed by:111
Symbol 111 MovieClip {charolette_fla.eye2_25}Uses:100 101 103 104 105 106 107 108 109 110Used by:224
Symbol 112 GraphicUsed by:113
Symbol 113 MovieClipUses:112Used by:224
Symbol 114 GraphicUsed by:134
Symbol 115 GraphicUsed by:134
Symbol 116 ShapeTweeningUsed by:134
Symbol 117 ShapeTweeningUsed by:134
Symbol 118 ShapeTweeningUsed by:134
Symbol 119 GraphicUsed by:134
Symbol 120 ShapeTweeningUsed by:134
Symbol 121 ShapeTweeningUsed by:134
Symbol 122 ShapeTweeningUsed by:134
Symbol 123 GraphicUsed by:134
Symbol 124 GraphicUsed by:134
Symbol 125 ShapeTweeningUsed by:134
Symbol 126 GraphicUsed by:134
Symbol 127 GraphicUsed by:134
Symbol 128 GraphicUsed by:134
Symbol 129 GraphicUsed by:134
Symbol 130 ShapeTweeningUsed by:134
Symbol 131 ShapeTweeningUsed by:134
Symbol 132 ShapeTweeningUsed by:134
Symbol 133 GraphicUsed by:134
Symbol 134 MovieClip {charolette_fla.mouth_28}Uses:114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133Used by:224
Symbol 135 GraphicUsed by:136
Symbol 136 MovieClipUses:135Used by:224
Symbol 137 GraphicUsed by:148
Symbol 138 GraphicUsed by:148
Symbol 139 GraphicUsed by:140
Symbol 140 MovieClipUses:139Used by:148
Symbol 141 GraphicUsed by:148
Symbol 142 GraphicUsed by:148
Symbol 143 GraphicUsed by:148
Symbol 144 GraphicUsed by:148
Symbol 145 GraphicUsed by:148
Symbol 146 GraphicUsed by:148
Symbol 147 GraphicUsed by:148
Symbol 148 MovieClip {charolette_fla.eye1_30}Uses:137 138 140 141 142 143 144 145 146 147Used by:224
Symbol 149 ShapeTweeningUsed by:158
Symbol 150 ShapeTweeningUsed by:158
Symbol 151 ShapeTweeningUsed by:158
Symbol 152 GraphicUsed by:158
Symbol 153 ShapeTweeningUsed by:158
Symbol 154 ShapeTweeningUsed by:158
Symbol 155 ShapeTweeningUsed by:158
Symbol 156 ShapeTweeningUsed by:158
Symbol 157 GraphicUsed by:158
Symbol 158 MovieClipUses:149 150 151 152 153 154 155 156 157Used by:224
Symbol 159 ShapeTweeningUsed by:175
Symbol 160 ShapeTweeningUsed by:175
Symbol 161 ShapeTweeningUsed by:175
Symbol 162 ShapeTweeningUsed by:175
Symbol 163 ShapeTweeningUsed by:175
Symbol 164 GraphicUsed by:175
Symbol 165 ShapeTweeningUsed by:175
Symbol 166 ShapeTweeningUsed by:175
Symbol 167 ShapeTweeningUsed by:175
Symbol 168 ShapeTweeningUsed by:175
Symbol 169 GraphicUsed by:175
Symbol 170 ShapeTweeningUsed by:175
Symbol 171 ShapeTweeningUsed by:175
Symbol 172 ShapeTweeningUsed by:175
Symbol 173 ShapeTweeningUsed by:175
Symbol 174 GraphicUsed by:175
Symbol 175 MovieClipUses:159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174Used by:224
Symbol 176 GraphicUsed by:177
Symbol 177 MovieClipUses:176Used by:224
Symbol 178 GraphicUsed by:179
Symbol 179 MovieClipUses:178Used by:224
Symbol 180 GraphicUsed by:181
Symbol 181 MovieClipUses:180Used by:224
Symbol 182 GraphicUsed by:183
Symbol 183 MovieClipUses:182Used by:224
Symbol 184 ShapeTweeningUsed by:197
Symbol 185 ShapeTweeningUsed by:197
Symbol 186 ShapeTweeningUsed by:197
Symbol 187 ShapeTweeningUsed by:197
Symbol 188 ShapeTweeningUsed by:197
Symbol 189 ShapeTweeningUsed by:197
Symbol 190 ShapeTweeningUsed by:197
Symbol 191 ShapeTweeningUsed by:197
Symbol 192 ShapeTweeningUsed by:197
Symbol 193 ShapeTweeningUsed by:197
Symbol 194 ShapeTweeningUsed by:197
Symbol 195 ShapeTweeningUsed by:197
Symbol 196 GraphicUsed by:197
Symbol 197 MovieClipUses:184 185 186 187 188 189 190 191 192 193 194 195 196Used by:224
Symbol 198 ShapeTweeningUsed by:211
Symbol 199 ShapeTweeningUsed by:211
Symbol 200 ShapeTweeningUsed by:211
Symbol 201 ShapeTweeningUsed by:211
Symbol 202 ShapeTweeningUsed by:211
Symbol 203 ShapeTweeningUsed by:211
Symbol 204 ShapeTweeningUsed by:211
Symbol 205 ShapeTweeningUsed by:211
Symbol 206 ShapeTweeningUsed by:211
Symbol 207 ShapeTweeningUsed by:211
Symbol 208 GraphicUsed by:211
Symbol 209 GraphicUsed by:211
Symbol 210 GraphicUsed by:211
Symbol 211 MovieClipUses:198 199 200 201 202 203 204 205 206 207 208 209 210Used by:224
Symbol 212 GraphicUsed by:213
Symbol 213 MovieClipUses:212Used by:224
Symbol 214 GraphicUsed by:215
Symbol 215 MovieClipUses:214Used by:224
Symbol 216 GraphicUsed by:219
Symbol 217 FontUsed by:218 227 233 234 235 237 238
Symbol 218 EditableTextUses:217Used by:219
Symbol 219 MovieClip {charolette_fla.speech_42}Uses:216 218Used by:224
Symbol 220 GraphicUsed by:223
Symbol 221 GraphicUsed by:223
Symbol 222 GraphicUsed by:223
Symbol 223 MovieClipUses:220 221 222Used by:224
Symbol 224 MovieClip {charolette_fla.charolette_1}Uses:4 6 8 10 12 16 18 20 22 24 26 28 30 33 45 75 89 91 93 95 97 99 111 113 134 136 148 158 175 177 179 181 183 197 211 213 215 219 223Used by:Timeline
Symbol 225 GraphicUsed by:239
Symbol 226 GraphicUsed by:229
Symbol 227 EditableTextUses:217Used by:229
Symbol 228 GraphicUsed by:229
Symbol 229 MovieClip {charolette_fla._btn1_45}Uses:226 227 228Used by:239
Symbol 230 GraphicUsed by:232 236
Symbol 231 GraphicUsed by:232
Symbol 232 MovieClip {charolette_fla._btn2_46}Uses:230 231Used by:239
Symbol 233 EditableTextUses:217Used by:239
Symbol 234 EditableTextUses:217Used by:239
Symbol 235 EditableTextUses:217Used by:236
Symbol 236 MovieClip {charolette_fla._btn3_47}Uses:230 235Used by:239
Symbol 237 TextUses:217Used by:239
Symbol 238 EditableTextUses:217Used by:239
Symbol 239 MovieClip {charolette_fla.panel_44}Uses:225 229 232 233 234 236 237 238Used by:Timeline

Instance Names

"charolette"Frame 1Symbol 224 MovieClip {charolette_fla.charolette_1}
"_panel"Frame 1Symbol 239 MovieClip {charolette_fla.panel_44}
"ellipse"Symbol 75 MovieClip {charolette_fla.belly_17} Frame 1Symbol 51 MovieClip
"kicks"Symbol 75 MovieClip {charolette_fla.belly_17} Frame 1Symbol 51 MovieClip
"pupil"Symbol 111 MovieClip {charolette_fla.eye2_25} Frame 1Symbol 103 MovieClip
"pupil"Symbol 148 MovieClip {charolette_fla.eye1_30} Frame 1Symbol 140 MovieClip
"_txt"Symbol 219 MovieClip {charolette_fla.speech_42} Frame 1Symbol 218 EditableText
"bg"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 4 MovieClip
"couch2"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 6 MovieClip
"light"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 8 MovieClip
"couch"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 10 MovieClip
"pillow"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 12 MovieClip
"clothes_back"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 16 MovieClip
"hair3"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 18 MovieClip
"leg2"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 20 MovieClip
"arm2"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 22 MovieClip
"sleeve2"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 24 MovieClip
"body"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 26 MovieClip
"front"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 28 MovieClip
"leg1"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 30 MovieClip
"leg1cover"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 33 MovieClip
"breast2"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 45 MovieClip
"belly"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 75 MovieClip {charolette_fla.belly_17}
"clothes2"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 89 MovieClip
"table"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 91 MovieClip
"medicine"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 93 MovieClip
"coffee"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 95 MovieClip
"ear2"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 97 MovieClip
"head"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 99 MovieClip
"eye2"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 111 MovieClip {charolette_fla.eye2_25}
"hair2"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 113 MovieClip
"mouth"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 134 MovieClip {charolette_fla.mouth_28}
"blush"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 136 MovieClip
"eye1"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 148 MovieClip {charolette_fla.eye1_30}
"clothes1"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 158 MovieClip
"belt"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 175 MovieClip
"chair_arm"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 177 MovieClip
"tail"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 179 MovieClip
"arm1"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 181 MovieClip
"sleeve1"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 183 MovieClip
"breast1"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 197 MovieClip
"b1cover"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 211 MovieClip
"hair1"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 213 MovieClip
"ear1"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 215 MovieClip
"speech"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 219 MovieClip {charolette_fla.speech_42}
"sleep"Symbol 224 MovieClip {charolette_fla.charolette_1} Frame 1Symbol 223 MovieClip
"_txt"Symbol 229 MovieClip {charolette_fla._btn1_45} Frame 1Symbol 227 EditableText
"_txt"Symbol 236 MovieClip {charolette_fla._btn3_47} Frame 1Symbol 235 EditableText
"_revert"Symbol 239 MovieClip {charolette_fla.panel_44} Frame 1Symbol 229 MovieClip {charolette_fla._btn1_45}
"_expand"Symbol 239 MovieClip {charolette_fla.panel_44} Frame 1Symbol 229 MovieClip {charolette_fla._btn1_45}
"_cont"Symbol 239 MovieClip {charolette_fla.panel_44} Frame 1Symbol 232 MovieClip {charolette_fla._btn2_46}
"_cont_txt"Symbol 239 MovieClip {charolette_fla.panel_44} Frame 1Symbol 233 EditableText
"_info"Symbol 239 MovieClip {charolette_fla.panel_44} Frame 1Symbol 234 EditableText
"_zero"Symbol 239 MovieClip {charolette_fla.panel_44} Frame 1Symbol 236 MovieClip {charolette_fla._btn3_47}
"_minus"Symbol 239 MovieClip {charolette_fla.panel_44} Frame 1Symbol 236 MovieClip {charolette_fla._btn3_47}
"_plus"Symbol 239 MovieClip {charolette_fla.panel_44} Frame 1Symbol 236 MovieClip {charolette_fla._btn3_47}
"_nonstop"Symbol 239 MovieClip {charolette_fla.panel_44} Frame 1Symbol 232 MovieClip {charolette_fla._btn2_46}
"_nonstop_txt"Symbol 239 MovieClip {charolette_fla.panel_44} Frame 1Symbol 238 EditableText

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.

Labels

"open"Symbol 111 MovieClip {charolette_fla.eye2_25} Frame 1
"closed"Symbol 111 MovieClip {charolette_fla.eye2_25} Frame 3
"small"Symbol 111 MovieClip {charolette_fla.eye2_25} Frame 5
"medium"Symbol 111 MovieClip {charolette_fla.eye2_25} Frame 7
"big"Symbol 111 MovieClip {charolette_fla.eye2_25} Frame 9
"shut"Symbol 111 MovieClip {charolette_fla.eye2_25} Frame 11
"sad"Symbol 111 MovieClip {charolette_fla.eye2_25} Frame 17
"blink"Symbol 111 MovieClip {charolette_fla.eye2_25} Frame 30
"endblink"Symbol 111 MovieClip {charolette_fla.eye2_25} Frame 34
"smile"Symbol 134 MovieClip {charolette_fla.mouth_28} Frame 1
"breathe"Symbol 134 MovieClip {charolette_fla.mouth_28} Frame 25
"small"Symbol 134 MovieClip {charolette_fla.mouth_28} Frame 50
"teeth"Symbol 134 MovieClip {charolette_fla.mouth_28} Frame 75
"sad"Symbol 134 MovieClip {charolette_fla.mouth_28} Frame 100
"confused"Symbol 134 MovieClip {charolette_fla.mouth_28} Frame 125
"happy"Symbol 134 MovieClip {charolette_fla.mouth_28} Frame 150
"open"Symbol 148 MovieClip {charolette_fla.eye1_30} Frame 1
"closed"Symbol 148 MovieClip {charolette_fla.eye1_30} Frame 3
"small"Symbol 148 MovieClip {charolette_fla.eye1_30} Frame 5
"medium"Symbol 148 MovieClip {charolette_fla.eye1_30} Frame 7
"big"Symbol 148 MovieClip {charolette_fla.eye1_30} Frame 9
"shut"Symbol 148 MovieClip {charolette_fla.eye1_30} Frame 11
"sad"Symbol 148 MovieClip {charolette_fla.eye1_30} Frame 17
"blink"Symbol 148 MovieClip {charolette_fla.eye1_30} Frame 30
"endblink"Symbol 148 MovieClip {charolette_fla.eye1_30} Frame 34
"off"Symbol 232 MovieClip {charolette_fla._btn2_46} Frame 1
"on"Symbol 232 MovieClip {charolette_fla._btn2_46} Frame 2




http://swfchan.com/40/196924/info.shtml
Created: 13/10 -2018 09:50:11 Last modified: 13/10 -2018 09:50:11 Server time: 07/05 -2024 17:41:14