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

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

Interactive pregnant Sylvia by Doom-the-wolf.swf

This is the info page for
Flash #162735

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


Text
+

This shouldn't show up on your screen.

Interactive pregnant Sylvia. Drawn, programmed and animated by Doom the wolf.
http://doom-the-wolf.deviantart.com

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:MovieClip, _arg2:MovieClip){ 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.*; 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 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; _local7 = _arg3.length; _local8 = (_local7 - 1); if (_arg2 == null){ _arg2 = _arg3[0]; }; if (_arg4 == null){ _arg4 = _arg3[_local8]; }; _local6 = 1; while (_local6 < _local7) { if (_local6 < _local8){ _local9 = getLinePoint(_arg3[(_local6 - 1)], _arg3[_local6], _arg3[(_local6 + 1)]); } else { _local9 = _arg4; }; if (_local6 > 1){ _local10 = getLinePoint(_arg3[(_local6 - 2)], _arg3[(_local6 - 1)], _arg3[_local6]); } else { _local10 = _arg2; }; drawConnection(_arg1, _arg3[(_local6 - 1)], _arg3[_local6], _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 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 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:Object; var _local22:Object; var _local23:Object; var _local24:Object; var _local25:Object; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Object; var _local31:Object; _local10 = (_arg4.x - _arg2.x); _local11 = (_arg4.y - _arg2.y); _local12 = (_arg5.x - _arg3.x); _local13 = (_arg5.y - _arg3.y); _local14 = Math.atan2(_local11, _local10); _local15 = Math.atan2(_local13, _local12); _local16 = Math.cos(_local14); _local17 = Math.sin(_local14); _local18 = Math.cos(_local15); _local19 = Math.sin(_local15); _local7 = (_arg3.x - _arg2.x); _local8 = (_arg3.y - _arg2.y); _local9 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8))); _local20 = (_arg6 * _local9); _local21 = {x:(_arg2.x + (_local16 * _local20)), y:(_arg2.y + (_local17 * _local20))}; _local22 = {x:(_arg2.x - (_local16 * _local20)), y:(_arg2.y - (_local17 * _local20))}; _local23 = {x:(_arg3.x + (_local18 * _local20)), y:(_arg3.y + (_local19 * _local20))}; _local24 = {x:(_arg3.x - (_local18 * _local20)), y:(_arg3.y - (_local19 * _local20))}; _local25 = {x:(0.5 * (_arg2.x + _arg3.x)), y:(0.5 * (_arg2.y + _arg3.y))}; _local7 = (_local21.x - _local25.x); _local8 = (_local21.y - _local25.y); _local26 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8))); _local7 = (_local22.x - _local25.x); _local8 = (_local22.y - _local25.y); _local27 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8))); _local7 = (_local23.x - _local25.x); _local8 = (_local23.y - _local25.y); _local28 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8))); _local7 = (_local24.x - _local25.x); _local8 = (_local24.y - _local25.y); _local29 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8))); _local30 = ((_local26)<_local27) ? _local21 : _local22; _local31 = ((_local28)<_local29) ? _local23 : _local24; _local25.x = ((_local30.x + _local31.x) * 0.5); _local25.y = ((_local30.y + _local31.y) * 0.5); _arg1.curveTo(_local30.x, _local30.y, _local25.x, _local25.y); _arg1.curveTo(_local31.x, _local31.y, _arg3.x, _arg3.y); } 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 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 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 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, _arg5, _arg4, _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); } 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 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 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 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); } } }//package as3
Section 4
//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 5
//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 6
//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=0, _arg7:Number=0){ 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; _arg1[_arg2][ROTATION] = _arg4; _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]))){ _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){ _canBlink = _states[_arg1]["canBlink"]; }; if (!isNaN(_states[_arg1]["frequency"])){ _frequency = _states[_arg1]["frequency"]; }; if (!isNaN(_states[_arg1]["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 7
//Speech (expansion.Speech) package expansion { import flash.display.*; import flash.events.*; import flash.text.*; 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 < 1){ _arg1 = 1; }; _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 8
//_btn1_43 (sylvia_fla._btn1_43) package sylvia_fla { import flash.display.*; import flash.text.*; public dynamic class _btn1_43 extends MovieClip { public var _txt:TextField; } }//package sylvia_fla
Section 9
//arm1_34 (sylvia_fla.arm1_34) package sylvia_fla { import flash.display.*; public dynamic class arm1_34 extends MovieClip { public var m3:MovieClip; public var m1:MovieClip; public var m4:MovieClip; public var m2:MovieClip; public function arm1_34(){ addFrameScript(1, frame2, 35, frame36); } function frame36(){ this.gotoAndStop(this.currentLabel); } function frame2(){ this.gotoAndStop(this.currentLabel); } } }//package sylvia_fla
Section 10
//arm2_12 (sylvia_fla.arm2_12) package sylvia_fla { import flash.display.*; public dynamic class arm2_12 extends MovieClip { public var m3:MovieClip; public var m6:MovieClip; public var m1:MovieClip; public var m4:MovieClip; public var m5:MovieClip; public var m2:MovieClip; } }//package sylvia_fla
Section 11
//belly_31 (sylvia_fla.belly_31) package sylvia_fla { import flash.display.*; public dynamic class belly_31 extends MovieClip { public var kicks1:MovieClip; public var m1:MovieClip; public var m2:MovieClip; public var ellipse:MovieClip; public var kicks2:MovieClip; } }//package sylvia_fla
Section 12
//body_18 (sylvia_fla.body_18) package sylvia_fla { import flash.display.*; public dynamic class body_18 extends MovieClip { public var m3:MovieClip; public var m6:MovieClip; public var m7:MovieClip; public var m8:MovieClip; public var m4:MovieClip; public var m5:MovieClip; public var m9:MovieClip; public var m1:MovieClip; public var m2:MovieClip; } }//package sylvia_fla
Section 13
//breast1_32 (sylvia_fla.breast1_32) package sylvia_fla { import flash.display.*; public dynamic class breast1_32 extends MovieClip { public var m3:MovieClip; public var m6:MovieClip; public var m7:MovieClip; public var m8:MovieClip; public var center:MovieClip; public var m4:MovieClip; public var m5:MovieClip; public var m9:MovieClip; public var m1:MovieClip; public var m2:MovieClip; public var ellipse:MovieClip; } }//package sylvia_fla
Section 14
//breast2_19 (sylvia_fla.breast2_19) package sylvia_fla { import flash.display.*; public dynamic class breast2_19 extends MovieClip { public var m10:MovieClip; public var m3:MovieClip; public var m6:MovieClip; public var m7:MovieClip; public var m8:MovieClip; public var center:MovieClip; public var m4:MovieClip; public var m5:MovieClip; public var m9:MovieClip; public var m1:MovieClip; public var m2:MovieClip; public var ellipse:MovieClip; } }//package sylvia_fla
Section 15
//eye_28 (sylvia_fla.eye_28) package sylvia_fla { import flash.display.*; public dynamic class eye_28 extends MovieClip { public var pupil:MovieClip; public function eye_28(){ addFrameScript(1, frame2, 3, frame4, 5, frame6, 7, frame8, 9, frame10, 13, frame14, 15, frame16, 17, frame18, 19, frame20, 34, frame35); } function frame10(){ this.gotoAndPlay(this.currentLabel); } function frame14(){ this.gotoAndPlay(this.currentLabel); } function frame18(){ this.gotoAndPlay(this.currentLabel); } function frame6(){ this.gotoAndPlay(this.currentLabel); } function frame16(){ this.gotoAndPlay(this.currentLabel); } function frame8(){ this.gotoAndPlay(this.currentLabel); } function frame4(){ this.gotoAndPlay(this.currentLabel); } function frame20(){ this.gotoAndPlay(this.currentLabel); } function frame2(){ this.gotoAndPlay(this.currentLabel); } function frame35(){ this.gotoAndPlay(this.currentLabel); } } }//package sylvia_fla
Section 16
//hand_mc_35 (sylvia_fla.hand_mc_35) package sylvia_fla { import flash.display.*; public dynamic class hand_mc_35 extends MovieClip { public var wrist_mc:MovieClip; public var glove_mc:MovieClip; public var thumb_mc:MovieClip; } }//package sylvia_fla
Section 17
//head_22 (sylvia_fla.head_22) package sylvia_fla { import flash.display.*; public dynamic class head_22 extends MovieClip { public var blush:MovieClip; public var eye:MovieClip; public var ear1:MovieClip; public var ear2:MovieClip; public var mouth:MovieClip; } }//package sylvia_fla
Section 18
//leg1_21 (sylvia_fla.leg1_21) package sylvia_fla { import flash.display.*; public dynamic class leg1_21 extends MovieClip { public var m3:MovieClip; public var m1:MovieClip; public var m4:MovieClip; public var m5:MovieClip; public var m2:MovieClip; } }//package sylvia_fla
Section 19
//MainTimeline (sylvia_fla.MainTimeline) package sylvia_fla { import flash.display.*; import flash.geom.*; import flash.events.*; import expansion.*; import flash.text.*; import as3.*; import flash.filters.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; 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 L_CONTROL:int = 1; public const gloveMinXScale:Number = 0.7; public const SKEWX_PROP:String = "skewX"; public const SCALEX_PROP:String = "scaleX"; public const gloveMinYScale:Number = 0.5; public const STAGE_WIDTH:int = 800; public const BLUSH_START_SPEED:Number = 0.1; public const WAND_REVERT:int = 2; public const SKEWY_PROP:String = "skewY"; public const INV_PI1_4:Number = 1.27323954473516; public const SCALEY_PROP:String = "scaleY"; public const wristMinXScale:Number = 0.8; public const STAGE_HEIGHT:int = 600; public const WAND_EXPAND:int = 1; public const MAX_SKEW_X:Number = 0.785398163397448; public const MAX_WAND_SPARKLES:int = 20; public const MAX_SKEW_Y:Number = 0.392699081698724; public const gloveMaxXScale:Number = 1; public const L_ANCHOR:int = 0; public const WAND_NONE:int = 0; public const wristMinYScale:Number = 1; public const BLUSH_STOP_SPEED:Number = 0.02; public const gloveMaxYScale:Number = 1; public const wristMaxXScale:Number = 1; public const ROTATION_PROP:String = "rotation"; public const wristMaxYScale:Number = 1.5; public var KICK_COLOR:uint; public var origWristY:Number; public var MAGIC_PHRASES:Array; public var TOP_LEFT_POINTS:Array; public var W_MULT:Number; public var BREATHE_WEIGHT:Number; public var KICK_SHADE_ALPHA:Number; public var BREAST2_Y:Array; public var LEG_ROTATION_OFFSET:Number; public var BREAST2_X:Array; public var BELLY_DEF_DIST:Number; public var mouthID:int; public var ELLIPSE_RADIUS:Number; public var wand_mc:Wand; public var wandXDist:Number; public var WAND_EXPLAINED:Boolean; public var TOP_STRAP_COLOR:uint; public var MIN_KICK_DURATION:int; public var HAND_WEIGHT:Number; public var blushValue:Number; public var KICK_SCALE_SPEED:Number; public var TOP_STRAP_MID_POINTS:Array; public var BREAST1_X:Array; public var KICK_SKEW_SPEED:Number; public var BREAST1_Y:Array; public var B1Y_OFFSET:Number; public var S_CLOTHES:int; public var MIN_VINE_SCALE:Number; public var textYDist:Number; public var BREAST2_TIGHT_X:Number; public var BEVEL_ENABLED:Boolean; public var BREAST2_TIGHT_Y:Number; public var KICK_BLUSH_ALPHA:Number; public var MIN_KICK_SIZE:Number; public var PARENT:DisplayObjectContainer; public var handPressed:Boolean; public var BELLY_DEF_X:Array; public var zoomSeparationDist:Number; public var _bF:BlurFilter; public var BELLY_DEF_Y:Array; public var KICK_COLOR_ALPHA:Number; public var CLOTHES_POINTS:Array; public var BEVEL_FRONT_CLIP:MovieClip; public var speech:Speech; public var isDown:Array; public var MIN_BELLY_F:Number; public var SPARKLE_CLIP:MovieClip; public var CENTER_CLIP:MovieClip; public var BODY_Y:Number; public var MIN_BELLY_M:Number; public var KICK_BLUSH_WIDTH:int; public var textXDist:Number; public var BREASTS_TIGHT:Boolean; public var MAX_KICK_SIZE:Number; public var F_CLOTHES:Number; public var zoomScale:Number; public var FINAL_SIZE:int; public var handSpin:Array; public var MAGIC_PHRASE_LEN:int; public var zoomValue:Number; public var BOTTOM_FRONT_POINTS:Array; public var handLimits:Object; public var SIZE_UNLOCKED:Boolean; public var REVERT_PHRASE:int; public var WAND_SPARKLES:Array; public var LEG_X_OFFSET:Number; public var MAX_VINE_SKEWY:Number; public var MAX_VINE_SKEWX:Number; public var BREAST1_TIGHT_X:Number; public var BREAST1_TIGHT_Y:Number; public var MAGIC_PHRASE_POS:int; public var KICK_BLUSH:uint; public var SPARKLE_SIZE:Number; public var zoomYDist:Number; public var ENVIRON_X:Number; public var ENVIRON_Y:Number; public var MAX_BODY_ROTATION:Number; public var INV_MAX_KICK_RADIUS:Number; public var hand_tool_mc:MovieClip; public var handPicked:Boolean; public var GLOW_CLIPS:Array; public var KICK_FILL_CLIP:MovieClip; public var START_SIZE:int; public var W_FRICTION:Number; public var CONSTANT_EXPANSION:Boolean; public var BREAST_RUB_PHRASES:Array; public var B_SPEED:int; public var keyCount:int; public var KICK_RADIUS_CHANGE:Number; public var TOP_BREAK_FRAME:uint; public var TOP_CLIP_BACK:MovieClip; public var endThumbX:Number; public var MAX_BELLY_F:Number; public var BEVEL_BACK_CLIP:MovieClip; public var PUSH_SIZE:int; public var WAND:MovieClip; public var MAX_BELLY_M:Number; public var BELLY_X:Number; public var BELLY_Y:Number; public var speech_mc:MovieClip; public var BEVEL_ARRAY:Array; public var MAX_SIZE:int; public var BREAST2_LOOSE_X:Number; public var BREAST2_LOOSE_Y:Number; public var BELLY_S:int; public var oldMY:int; public var SPARKLES:Array; public var KICK_ANGLE_CHANGE:Number; public var TOP_BROKEN:Boolean; public var MAX_VINE_SCALE:Number; public var zoomXDist:Number; public var SPARKLE_PEAK_TIME:Number; public var oldMX:int; public var _mc:MovieClip; public var MAX_KICK_RADIUS:Number; public var W_SPEED:int; public var WAND_ALPHA:Number; public var MIN_KICK_FRAME:int; public var KICK_LINE_CLIP:MovieClip; public var B_FRICTION:Number; public var ATTACH_LIST:Array; public var plus_mc:MovieClip; public var BELLY_SPEED:Number; public var LEG_Y_OFFSET:Number; public var WEIGHT:Array; public var bFilter:BevelFilter; public var initHandSpin:Array; public var DISABLED:Boolean; public var B2X_OFFSET:Number; public var zero_mc:MovieClip; public var handYDist:Number; public var shapeClip:MovieClip; public var expression:Expression; public var BEVEL_ACTIVE:Boolean; public var copy_mc:MovieClip; public var wandPicked:Boolean; public var STRONG_KICK_SIZE:Number; public var SPARKLE_COLOR:uint; public var SPARKLE_DURATION:uint; public var DEST_BREAST2_X:Number; public var DEST_BREAST2_Y:Number; public var OUTER_KICK_LIMIT:Number; public var blushMode:int; public var time:int; public var TOP_FILL_COLOR:uint; public var KICK_SHADE:uint; public var NUM_SPARKLES:uint; public var ENVIRON_ELEMENTS:Array; public var KICKS:Array; public var origThumbX:Number; public var BOTTOM_CLIP_FRONT:MovieClip; public var TOP_STRAP_BACK_POINTS:Array; public var GLOW_CLIP:MovieClip; public var HEAD_ROTATION:Number; public var DEST_BREAST1_X:Number; public var DEST_BREAST1_Y:Number; public var pupilID:int; public var B_MULT:Number; public var eyeID:int; public var TOP_CLIP_FRONT1:MovieClip; public var TOP_CLIP_FRONT2:MovieClip; public var oldY:Number; public var BREAST1_LOOSE_X:Number; public var handXDist:Number; public var oldX:Number; public var SPEED_ENABLED:Boolean; public var endWristY:Number; public var BOTTOM_BACK_POINTS:Array; public var SPARKLE_MAX_VY:Number; public var BREAST1_LOOSE_Y:Number; public var MOUTH_FRAMES:int; public var ELLIPSE_CLIP:MovieClip; public var TOP_RIGHT_POINTS:Array; public var info_txt:TextField; public var BOTTOM_CLIP_BACK:MovieClip; public var maxZoom:Number; public var B2Y_OFFSET:Number; public var hand_mc:MovieClip; public var bellyID:int; public var SPIN_C:Number; public var SPIN_D:Number; public var B1X_OFFSET:Number; public var SPIN_A:Number; public var sylvia:MovieClip; public var _state:Array; public var SPIN_B:Number; public var KICK_PROBABILITY:Number; public var wandYDist:Number; public var KICK_PEAK_TIME:Number; public var TOP_STRAP_RIGHT_POINTS:Array; public var MAX_KICK_DURATION:int; public var COMPLETING:Boolean; public var SPARKLE_START:uint; public var zoomDir:Number; public var KICK_PHRASES:Array; public var wandMode:int; public var minus_mc:MovieClip; public var __WHY:String; public var BELLY_RUB_PHRASES:Array; public var belly:Expansion; public var TOP_STRAP_LEFT_POINTS:Array; public var MIN_BELLY_SPEED:Number; public var MAX_BELLY_SPEED:Number; public var _c:int; public var SPARKLE_GRAVITY:Number; public var ELASTIC_LIST:Array; public var DESTINATION_WEIGHT:Number; public var shapePoints:Array; public var _l:Array; public var EXPAND_PHRASE:int; public function MainTimeline(){ addFrameScript(0, frame1); } public function dropHand(_arg1:Event){ if (!hand_mc.visible){ return; }; hand_mc.visible = false; handPressed = false; handPicked = false; stage.removeEventListener(MouseEvent.MOUSE_MOVE, moveHand); stage.removeEventListener(MouseEvent.MOUSE_DOWN, handDown); stage.removeEventListener(MouseEvent.MOUSE_UP, handUp); } public function eFrame(_arg1:Event){ var _local2:Number; var _local3:int; var _local4:Number; var _local5:int; var _local6:Number; var _local7:Point; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Graphics; time++; if (CONSTANT_EXPANSION){ belly.growth = 1; if ((((belly.getSize(0) > TOP_BREAK_FRAME)) && (!(TOP_BROKEN)))){ breakTop(); expression.react("teeth", -1); speech.say("Oh!|| It broke."); }; if (belly.getSize(0) == belly.getMaxSize(0)){ belly.growth = 0; CONSTANT_EXPANSION = false; }; }; if (belly.getGrowth(0) < 0){ _local6 = belly.getSize(0); if (_local6 > 100){ if (REVERT_PHRASE == 0){ REVERT_PHRASE++; speech.say("Hey! That's the wrong way. Make me bigger."); }; expression.setState("sad"); } else { if (_local6 > 30){ expression.setState("sad"); } else { expression.setState("normal"); }; }; }; if ((((Math.random() < KICK_PROBABILITY)) && ((belly.getSize(bellyID) > MIN_KICK_FRAME)))){ startKick(); }; _local2 = (0.5 + (0.5 * expression.position)); _local3 = Math.floor((MOUTH_FRAMES * _local2)); _local4 = ((belly.getSize(0) - START_SIZE) / (FINAL_SIZE - START_SIZE)); if ((((_local4 < 0)) || (!(sylvia.body.visible)))){ _local4 = 0; }; DESTINATION_WEIGHT = ((_local4 + (BREATHE_WEIGHT * _local3)) + HAND_WEIGHT); balancePoint(WEIGHT, W_FRICTION, DESTINATION_WEIGHT, W_MULT, W_SPEED); updateWeight(WEIGHT[0]); updateElastic(); sylvia.body.gotoAndStop((1 + _local3)); sylvia.head.rotation = (-(_local2) * HEAD_ROTATION); sylvia.head.mouth.gotoAndStop(sylvia.head.mouth.currentLabel); _local5 = sylvia.head.mouth.currentFrame; sylvia.head.mouth.gotoAndStop((_local5 + _local3)); sylvia.breast1.x = (sylvia.breast1.x + (_local2 * B1X_OFFSET)); sylvia.breast1.y = (sylvia.breast1.y + (_local2 * B1Y_OFFSET)); sylvia.breast2.x = (sylvia.breast2.x + (_local2 * B2X_OFFSET)); sylvia.breast2.y = (sylvia.breast2.y + (_local2 * B2Y_OFFSET)); handFrame(); updateBelly(); updateBreasts(); updateClothes(); updateKicks(); updateBlush(); updateBevel(); updateGlow(); if (speech_mc.visible){ _local7 = sylvia.head.mouth.localToGlobal(new Point()); var _temp1 = speech_mc.globalToLocal(_local7); _local7 = speech_mc.globalToLocal(_local7); _temp1.x = (_local7.x * 0.7); _local7.y = (_local7.y * 0.7); _local8 = Math.atan2(_local7.x, _local7.y); _local9 = (Math.sin((_local8 + (Math.PI * 0.5))) * 20); _local10 = (Math.cos((_local8 + (Math.PI * 0.5))) * 20); _local11 = speech_mc.graphics; _local11.clear(); _local11.lineStyle(1); _local11.moveTo(_local7.x, _local7.y); _local11.lineTo(_local9, _local10); _local11.lineTo(-(_local9), -(_local10)); _local11.lineTo(_local7.x, _local7.y); _local11 = speech_mc._mc.graphics; _local11.clear(); _local11.beginFill(0xFFFFFF); _local11.moveTo(_local7.x, _local7.y); _local11.lineTo(_local9, _local10); _local11.lineTo(-(_local9), -(_local10)); _local11.lineTo(_local7.x, _local7.y); _local11.endFill(); }; } public function generateBevel(){ var _local1:int; var _local2:Array; var _local3:Number; var _local4:Number; var _local5:Point; var _local6:int; var _local7:int; _local1 = (3 + (Math.random() * 5)); _local2 = new Array(_local1); if (Math.random() > 0.5){ _local2.clip = BEVEL_FRONT_CLIP; _local2.owner = sylvia.breast1.center; _local3 = -1; _local4 = 0; } else { _local2.clip = BEVEL_BACK_CLIP; _local2.owner = sylvia.breast2.center; _local3 = 2; _local4 = 0; }; _local2.alpha = 1; _local5 = _local2.owner.localToGlobal(new Point()); _local5 = _local2.clip.globalToLocal(_local5); _local7 = _local2.length; _local6 = 0; while (_local6 < _local7) { _local2[_local6] = {x:((_local5.x + (Math.random() * 10)) - 5), y:((_local5.y + (Math.random() * 10)) - 5), vX:((_local3 + (Math.random() * 2)) - 1), vY:((_local4 + (Math.random() * 2)) - 1)}; _local6++; }; BEVEL_ARRAY[BEVEL_ARRAY.length] = _local2; } public function useWand(_arg1:Event){ var _local2:Number; var _local3:Number; if (DISABLED){ return; }; if (!wandPicked){ wandPicked = true; return; }; if (isDown[Keyboard.SPACE]){ return; }; if (wand_mc.hitTestPoint(stage.mouseX, stage.mouseY, true)){ dropWand(null); return; }; if (hittingButtons(stage.mouseX, stage.mouseY)){ if (hand_tool_mc.hitTestPoint(stage.mouseX, stage.mouseY, true)){ pickHand(null); }; return; }; _local2 = (stage.mouseX / stage.stageWidth); _local3 = (stage.mouseY / stage.stageHeight); if (((((((((TOP_CLIP_BACK.hitTestPoint(stage.mouseX, stage.mouseY, true)) || (TOP_CLIP_FRONT2.hitTestPoint(stage.mouseX, stage.mouseY, true)))) || (TOP_CLIP_FRONT1.hitTestPoint(stage.mouseX, stage.mouseY, true)))) && ((belly.getSize(0) < TOP_BREAK_FRAME)))) && (((TOP_BROKEN) || ((belly.getMaxSize(0) == FINAL_SIZE)))))){ if (!speech.speaking){ if (TOP_BROKEN){ speech.say("Nice fix!"); } else { speech.say("You better fix that when you're done staring at my breasts."); }; }; breakTop(); return; } else { if ((((_local2 < 0.5)) && ((_local3 > 0.5)))){ } else { if ((((_local2 > 0.5)) && ((_local3 < 0.5)))){ } else { if ((((_local2 < 0.5)) && ((_local3 < 0.5)))){ } else { if ((((_local2 > 0.5)) && ((_local3 > 0.5)))){ if (CENTER_CLIP.parent){ enableComplete(); }; if (SPEED_ENABLED){ if (BELLY_SPEED < MAX_BELLY_SPEED){ BELLY_SPEED = MAX_BELLY_SPEED; if (WAND){ WAND.glow.scaleY = (WAND.glow.scaleX = 1.5); }; } else { BELLY_SPEED = MIN_BELLY_SPEED; if (WAND){ WAND.glow.scaleY = (WAND.glow.scaleX = 1); }; }; }; } else { if (belly.getSize(0) == FINAL_SIZE){ complete(); }; }; }; }; }; }; CONSTANT_EXPANSION = false; WAND_ALPHA = 1; wandEffect(null); stage.addEventListener(Event.ENTER_FRAME, wandFrame, false, 0, true); } public function getKickTransform(_arg1:Number, _arg2:Number):Object{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; _local3 = Math.sqrt(((_arg1 * _arg1) + (_arg2 * _arg2))); _local4 = Math.atan((_arg2 / _arg1)); _local5 = Math.atan2(_arg2, _arg1); _local6 = (1 - (Math.abs(_arg1) * 0.8)); _local7 = (1 - (Math.abs(_arg2) * 0.8)); _local9 = 0; _local10 = (-(_arg2) * 0.75); _local11 = (_arg1 * 0.75); if (_local4 > 0){ _local8 = (-(MAX_SKEW_X) * (1 - (Math.abs(((Math.PI * 0.25) - _local4)) * INV_PI1_4))); } else { _local8 = (MAX_SKEW_X * (1 - (Math.abs(((-(Math.PI) * 0.25) - _local4)) * INV_PI1_4))); }; if (_local5 > 0){ _local9 = ((Math.cos(_local5) * Math.sin(_local5)) * MAX_SKEW_Y); } else { _local9 = ((Math.cos(_local5) * -(Math.sin(_local5))) * MAX_SKEW_Y); }; return ({scaleX:_local6, scaleY:_local7, skewAngleX:(_local8 * _local3), skewAngleY:(_local9 * _local3), hTilt:_local11, vTilt:_local10}); } public 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 function pickHand(_arg1:Event){ if (DISABLED){ return; }; if (((hand_mc.visible) && (hand_tool_mc.hitTestPoint(stage.mouseX, stage.mouseY, true)))){ dropHand(null); return; }; dropWand(null); hand_mc.visible = true; hand_mc.x = sylvia.mouseX; hand_mc.y = sylvia.mouseY; stage.addEventListener(MouseEvent.MOUSE_MOVE, moveHand, false, 0, true); stage.addEventListener(MouseEvent.MOUSE_DOWN, handDown, false, 0, true); stage.addEventListener(MouseEvent.MOUSE_UP, handUp, false, 0, true); } public function setElastic(_arg1:MovieClip, _arg2:Array, _arg3:Array, _arg4:Array, _arg5:Array, _arg6:Array, _arg7:Array):Object{ var _local8:Array; var _local9:int; var _local10:int; var _local11:String; var _local12:Point; var _local13:Rectangle; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; if (!_arg1.parent){ return (null); }; _local8 = []; _local10 = _arg2.length; _local9 = 0; while (_local9 < _local10) { _local11 = _arg2[_local9]; _local8[_local9] = [_arg4[_local9], 0, 0]; _local9++; }; _local12 = _arg1.localToGlobal(new Point()); _local12 = PARENT.globalToLocal(_local12); _local13 = _arg1.getBounds(_arg1); _local14 = (_local13.right + _local13.left); _local15 = (_local13.bottom + _local13.top); _local16 = ((_local14)<0) ? _local13.left : _local13.right; _local17 = ((_local15)<0) ? _local13.top : _local13.bottom; ELASTIC_LIST[ELASTIC_LIST.length] = {clip:_arg1, props:_arg2, position:_local12, values:_local8, rect:_local13, hWeight:_local16, vWeight:_local17, frictions:_arg3, dests:_arg4, multipliers:_arg5, speeds:_arg6, scales:_arg7}; return (ELASTIC_LIST[(ELASTIC_LIST.length - 1)]); } public function resetClothesList(_arg1:Array){ var _local2:int; var _local3:int; var _local4:Object; _local3 = _arg1.length; _local2 = 0; while (_local2 < _local3) { _local4 = _arg1[_local2]; setClothesPoint(_local4.point, _local4.closed); _local4.x = [0, 0]; _local4.y = [0, 0]; _local2++; }; } public function blushOff(){ blushMode = 0; } function frame1(){ stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; __WHY = "This took way too much work to do. I don't think I'm going to do another one like this any time soon. Is it not animated well enough? I got tired of animating, so I did it all in code. \n\nWhy are you staring at my code? There's nothing of value to you here. If you want to learn how to make animations, do it on your own. If you don't want to learn, why are you even here? This code has nothing useful to you."; MAX_BODY_ROTATION = 10; LEG_ROTATION_OFFSET = 15; LEG_X_OFFSET = -4; LEG_Y_OFFSET = 4; MAX_VINE_SKEWY = (MAX_BODY_ROTATION * Geometry.DEG_TO_RAD); MAX_VINE_SKEWX = ((0.5 * MAX_BODY_ROTATION) * Geometry.DEG_TO_RAD); MIN_VINE_SCALE = 0.1; MAX_VINE_SCALE = 0.075; BODY_Y = sylvia.body.y; PUSH_SIZE = 200; START_SIZE = 400; MAX_SIZE = 600; FINAL_SIZE = 900; ATTACH_LIST = []; ELASTIC_LIST = []; PARENT = sylvia; time = 0; SPIN_A = 1; SPIN_B = 0; SPIN_C = 0; SPIN_D = 1; BELLY_DEF_X = [0, 0, 0]; BELLY_DEF_Y = [0, 0, 0]; BELLY_X = sylvia.belly.x; BELLY_Y = sylvia.belly.y; BELLY_DEF_DIST = 0.15; MIN_BELLY_F = 0.3; MAX_BELLY_F = 0.6; MIN_BELLY_M = 0.2; MAX_BELLY_M = 0.06; BELLY_S = 2; WEIGHT = [0, 0, 0]; W_FRICTION = 0.5; DESTINATION_WEIGHT = 0; HAND_WEIGHT = 0; W_MULT = 0.2; W_SPEED = 1; BREASTS_TIGHT = true; BREAST1_TIGHT_X = 3; BREAST1_TIGHT_Y = -3; BREAST1_LOOSE_X = -3; BREAST1_LOOSE_Y = 3; BREAST2_TIGHT_X = -3; BREAST2_TIGHT_Y = -1; BREAST2_LOOSE_X = 0; BREAST2_LOOSE_Y = 1; DEST_BREAST1_X = 0; DEST_BREAST1_Y = 0; DEST_BREAST2_X = 0; DEST_BREAST2_Y = 0; BREAST1_X = [0, 0, 0]; BREAST1_Y = [0, 0, 0]; BREAST2_X = [0, 0, 0]; BREAST2_Y = [0, 0, 0]; B_FRICTION = 0.4; B_MULT = 0.2; B_SPEED = 5; TOP_CLIP_FRONT1 = new MovieClip(); TOP_CLIP_FRONT2 = new MovieClip(); TOP_CLIP_BACK = new MovieClip(); BOTTOM_CLIP_FRONT = new MovieClip(); BOTTOM_CLIP_BACK = new MovieClip(); TOP_FILL_COLOR = 10066431; TOP_STRAP_COLOR = 13421823; TOP_BREAK_FRAME = 450; TOP_BROKEN = false; CLOTHES_POINTS = []; F_CLOTHES = 0.3; S_CLOTHES = 5; attach(sylvia.belly, sylvia.body); attach(sylvia.arm1, sylvia.body); attach(sylvia.arm2, sylvia.body); attach(sylvia.head, sylvia.body); attach(sylvia.breast1, sylvia.body); attach(sylvia.breast2, sylvia.body); attach(sylvia.wing1, sylvia.body, ["rotation"]); attach(sylvia.leg1, sylvia.body); attach(sylvia.leg2, sylvia.body); attach(sylvia.tail, sylvia.body); attach(sylvia.hair1, sylvia.head); attach(sylvia.hair2, sylvia.head); setElastic(sylvia.hair1, [SKEWX_PROP, SKEWY_PROP, SCALEY_PROP], [0.5, 0.5, 0.6], [0, 0, 1], [0.25, 0.2, 0.2], [1, 1, 2], [0.25, 0.025, 0.25]); setElastic(sylvia.hair2, [SKEWX_PROP, SKEWY_PROP, SCALEY_PROP], [0.5, 0.5, 0.6], [0, 0, 1], [0.25, 0.2, 0.2], [1, 1, 2], [1, 0.1, 1]); setElastic(sylvia.head.ear1, [SKEWY_PROP], [0.3], [0], [0.7], [4], [0.2]); setElastic(sylvia.head.ear2, [SKEWY_PROP], [0.3], [0], [0.7], [4], [0.2]); setElastic(sylvia.tail, [SKEWX_PROP], [0.5], [0], [0.25], [1], [1]); _c = 0; _l = CLOTHES_POINTS; _mc = sylvia.breast1; var _local1 = _c++; _l[_local1] = {point:new Point(), closed:_mc.m1, open:sylvia.arm1.m4, mul:0.4}; var _local2 = _c++; _l[_local2] = {point:new Point(), closed:_mc.m2, open:sylvia.arm1.m3, mul:0.3}; var _local3 = _c++; _l[_local3] = {point:new Point(), closed:_mc.m3, open:sylvia.arm1.m3, mul:0.2}; var _local4 = _c++; _l[_local4] = {point:new Point(), closed:_mc.m4, open:sylvia.arm1.m3, mul:0.1}; var _local5 = _c++; _l[_local5] = {point:new Point(), closed:_mc.m5, open:sylvia.arm1.m3, mul:0.2}; var _local6 = _c++; _l[_local6] = {point:new Point(), closed:_mc.m6, open:sylvia.arm1.m3, mul:0.3}; var _local7 = _c++; _l[_local7] = {point:new Point(), closed:_mc.m7, open:sylvia.arm1.m4, mul:0.4}; var _local8 = _c++; _l[_local8] = {point:new Point(), closed:_mc.m8, open:sylvia.arm1.m4, mul:0.4}; var _local9 = _c++; _l[_local9] = {point:new Point(), closed:_mc.m9, open:sylvia.arm1.m4, mul:0.4}; _mc = sylvia.breast2; var _local10 = _c++; _l[_local10] = {point:new Point(), closed:_mc.m1, open:sylvia.arm2.m5, mul:0.4}; var _local11 = _c++; _l[_local11] = {point:new Point(), closed:_mc.m2, open:sylvia.arm2.m6, mul:0.3}; var _local12 = _c++; _l[_local12] = {point:new Point(), closed:_mc.m3, open:sylvia.arm2.m6, mul:0.2}; var _local13 = _c++; _l[_local13] = {point:new Point(), closed:_mc.m4, open:sylvia.arm2.m6, mul:0.1}; var _local14 = _c++; _l[_local14] = {point:new Point(), closed:_mc.m5, open:sylvia.arm2.m6, mul:0.1}; var _local15 = _c++; _l[_local15] = {point:new Point(), closed:_mc.m6, open:sylvia.arm2.m6, mul:0.2}; var _local16 = _c++; _l[_local16] = {point:new Point(), closed:_mc.m7, open:sylvia.arm2.m6, mul:0.3}; var _local17 = _c++; _l[_local17] = {point:new Point(), closed:_mc.m8, open:sylvia.arm2.m5, mul:0.4}; var _local18 = _c++; _l[_local18] = {point:new Point(), closed:_mc.m9, open:sylvia.arm2.m5, mul:0.4}; var _local19 = _c++; _l[_local19] = {point:new Point(), closed:_mc.m10, open:sylvia.arm2.m5, mul:0.4}; _mc = sylvia.arm1; var _local20 = _c++; _l[_local20] = {point:new Point(), closed:_mc.m1}; var _local21 = _c++; _l[_local21] = {point:new Point(), closed:_mc.m2}; var _local22 = _c++; _l[_local22] = {point:new Point(), closed:_mc.m3}; var _local23 = _c++; _l[_local23] = {point:new Point(), closed:_mc.m4}; _mc = sylvia.arm2; var _local24 = _c++; _l[_local24] = {point:new Point(), closed:_mc.m1}; var _local25 = _c++; _l[_local25] = {point:new Point(), closed:_mc.m2}; var _local26 = _c++; _l[_local26] = {point:new Point(), closed:_mc.m3}; var _local27 = _c++; _l[_local27] = {point:new Point(), closed:_mc.m4}; _mc = sylvia.body; var _local28 = _c++; _l[_local28] = {point:new Point(), closed:_mc.m1}; var _local29 = _c++; _l[_local29] = {point:new Point(), closed:_mc.m2}; var _local30 = _c++; _l[_local30] = {point:new Point(), closed:_mc.m3}; var _local31 = _c++; _l[_local31] = {point:new Point(), closed:_mc.m4}; var _local32 = _c++; _l[_local32] = {point:new Point(), closed:_mc.m5}; var _local33 = _c++; _l[_local33] = {point:new Point(), closed:_mc.m6}; var _local34 = _c++; _l[_local34] = {point:new Point(), closed:_mc.m7}; var _local35 = _c++; _l[_local35] = {point:new Point(), closed:_mc.m8}; var _local36 = _c++; _l[_local36] = {point:new Point(), closed:_mc.m9}; _mc = sylvia.belly; var _local37 = _c++; _l[_local37] = {point:new Point(), closed:_mc.m1}; var _local38 = _c++; _l[_local38] = {point:new Point(), closed:_mc.m2}; _mc = sylvia.leg1; var _local39 = _c++; _l[_local39] = {point:new Point(), closed:_mc.m1}; var _local40 = _c++; _l[_local40] = {point:new Point(), closed:_mc.m2}; var _local41 = _c++; _l[_local41] = {point:new Point(), closed:_mc.m3}; var _local42 = _c++; _l[_local42] = {point:new Point(), closed:_mc.m4}; var _local43 = _c++; _l[_local43] = {point:new Point(), closed:_mc.m5}; TOP_LEFT_POINTS = [{id:0, type:L_ANCHOR}, {id:1, type:L_CONTROL}, {id:2, type:L_ANCHOR}, {id:3, type:L_ANCHOR}, {id:4, type:L_CONTROL}, {id:5, type:L_ANCHOR}, {id:6, type:L_ANCHOR}, {id:7, type:L_CONTROL}, {id:8, type:L_ANCHOR}]; TOP_RIGHT_POINTS = [{id:9, type:L_ANCHOR}, {id:10, type:L_CONTROL}, {id:11, type:L_ANCHOR}, {id:12, type:L_CONTROL}, {id:13, type:L_ANCHOR}, {id:14, type:L_CONTROL}, {id:15, type:L_ANCHOR}, {id:16, type:L_ANCHOR}, {id:17, type:L_CONTROL}, {id:18, type:L_ANCHOR}]; TOP_STRAP_LEFT_POINTS = [{id:19, type:L_ANCHOR}, {id:20, type:L_ANCHOR}, {id:22, type:L_CONTROL}, {id:5, type:L_ANCHOR}, {id:6, type:L_ANCHOR}, {id:21, type:L_CONTROL}]; TOP_STRAP_RIGHT_POINTS = [{id:23, type:L_ANCHOR}, {id:24, type:L_ANCHOR}, {id:26, type:L_CONTROL}, {id:15, type:L_ANCHOR}, {id:16, type:L_ANCHOR}, {id:25, type:L_CONTROL}]; TOP_STRAP_MID_POINTS = [{id:2, type:L_ANCHOR}, {id:3, type:L_ANCHOR}, {id:18, type:L_ANCHOR}, {id:9, type:L_ANCHOR}]; TOP_STRAP_BACK_POINTS = [{id:0, type:L_ANCHOR}, {id:8, type:L_ANCHOR}, {id:27, type:L_ANCHOR}, {id:28, type:L_ANCHOR}]; BOTTOM_FRONT_POINTS = [{id:38, type:L_ANCHOR}, {id:39, type:L_CONTROL}, {id:40, type:L_ANCHOR}, {id:41, type:L_CONTROL}, {id:42, type:L_ANCHOR}, {id:29, type:L_CONTROL}, {id:36, type:L_ANCHOR}]; BOTTOM_BACK_POINTS = [{id:36, type:L_ANCHOR}, {id:37, type:L_CONTROL}, {id:30, type:L_ANCHOR}, {id:31, type:L_ANCHOR}, {id:32, type:L_CONTROL}, {id:33, type:L_ANCHOR}, {id:34, type:L_CONTROL}, {id:35, type:L_ANCHOR}, {id:38, type:L_ANCHOR}]; sylvia.addChildAt(TOP_CLIP_BACK, sylvia.getChildIndex(sylvia.breast2)); sylvia.addChildAt(TOP_CLIP_FRONT2, (sylvia.getChildIndex(sylvia.breast2) + 1)); sylvia.addChildAt(TOP_CLIP_FRONT1, (sylvia.getChildIndex(sylvia.arm1) + 1)); sylvia.addChildAt(BOTTOM_CLIP_FRONT, (sylvia.getChildIndex(sylvia.leg1) + 1)); sylvia.addChildAt(BOTTOM_CLIP_BACK, (sylvia.getChildIndex(sylvia.body) + 1)); sylvia.rect = new MovieClip(); sylvia.addChildAt(sylvia.rect, 0); sylvia.rect.graphics.beginFill(0, 0); sylvia.rect.graphics.drawRect(sylvia.bg.x, sylvia.bg.y, sylvia.bg.width, sylvia.bg.height); _bF = new BlurFilter(4, 4, 1); _bF.blurX = (_bF.blurY = 16); sylvia.leaf1.filters = [_bF]; _bF.blurX = (_bF.blurY = 16); sylvia.vine4.filters = [_bF]; _bF.blurX = (_bF.blurY = 16); sylvia.leaf2.filters = [_bF]; _bF.blurX = (_bF.blurY = 8); sylvia.leaf3.filters = [_bF]; _bF.blurX = (_bF.blurY = 16); sylvia.leaf4.filters = [_bF]; _bF.blurX = (_bF.blurY = 8); sylvia.plant.filters = [_bF]; _bF.blurX = (_bF.blurY = 64); sylvia.bgLeaves.filters = [_bF]; _bF.blurX = (_bF.blurY = 32); sylvia.tree.filters = [_bF]; _bF.blurX = (_bF.blurY = 32); sylvia.grass.filters = [_bF]; ENVIRON_X = sylvia.x; ENVIRON_Y = sylvia.y; ENVIRON_ELEMENTS = []; ENVIRON_ELEMENTS[ENVIRON_ELEMENTS.length] = {clip:sylvia.bg, propX:-1, propY:-1}; ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].x = ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].clip.x; ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].y = ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].clip.y; ENVIRON_ELEMENTS[ENVIRON_ELEMENTS.length] = {clip:sylvia.leaf1, propX:1.2, propY:1.2}; ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].x = ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].clip.x; ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].y = ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].clip.y; ENVIRON_ELEMENTS[ENVIRON_ELEMENTS.length] = {clip:sylvia.vine4, propX:0.4, propY:0.4}; ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].x = ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].clip.x; ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].y = ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].clip.y; ENVIRON_ELEMENTS[ENVIRON_ELEMENTS.length] = {clip:sylvia.leaf2, propX:-0.2, propY:-0.2}; ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].x = ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].clip.x; ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].y = ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].clip.y; ENVIRON_ELEMENTS[ENVIRON_ELEMENTS.length] = {clip:sylvia.leaf3, propX:-0.2, propY:-0.2}; ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].x = ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].clip.x; ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].y = ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].clip.y; ENVIRON_ELEMENTS[ENVIRON_ELEMENTS.length] = {clip:sylvia.leaf4, propX:-0.3, propY:-0.3}; ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].x = ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].clip.x; ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].y = ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].clip.y; ENVIRON_ELEMENTS[ENVIRON_ELEMENTS.length] = {clip:sylvia.plant, propX:-0.1, propY:-0.1}; ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].x = ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].clip.x; ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].y = ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].clip.y; ENVIRON_ELEMENTS[ENVIRON_ELEMENTS.length] = {clip:sylvia.grass, propX:-0.4, propY:-0.4}; ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].x = ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].clip.x; ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].y = ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].clip.y; ENVIRON_ELEMENTS[ENVIRON_ELEMENTS.length] = {clip:sylvia.tree, propX:-0.6, propY:-0.6}; ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].x = ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].clip.x; ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].y = ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].clip.y; ENVIRON_ELEMENTS[ENVIRON_ELEMENTS.length] = {clip:sylvia.bgLeaves, propX:-0.8, propY:-0.8}; ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].x = ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].clip.x; ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].y = ENVIRON_ELEMENTS[(ENVIRON_ELEMENTS.length - 1)].clip.y; speech = new Speech(speech_mc._txt); speech.mouth = sylvia.head.mouth; speech.pauseCharacter = "|"; speech.pauseTime = 5; speech.interruptible = true; speech.addEventListener("speechFinished", speechFinished); KICK_PHRASES = ["Ooh! I'm feeling kicks!", "Mmhhmmm...", "Ouch!, that's strong.", "My babies really want to get out."]; BELLY_RUB_PHRASES = ["Mmm...| that's good.", "Yes, keep doing that.", "I could get used to this."]; BREAST_RUB_PHRASES = ["You think I'm attracive, right?", "They're nice and soft", "Ooh, keep on rubbing!"]; MAGIC_PHRASE_POS = 0; MAGIC_PHRASES = ["Are you new to the forest?", "I'm a forest fairy. Did you notice?", "We're...| different from you.", "We need to call upon those talented in magic to get pregnant.", "You like chatting, don't you?", "These vines are very bouncy.", "Finding a mage takes time, thank-you for coming by.", "At least we don't have pain or discomfort when pregnant.", "Am I small, or is this forest big?", "This is the first time I've met a mage before.", "Birth?| That's...|| also different.", "We give birth to many young fairies at a time.", "All female. Don't ask me why.", "Maybe it was our strong relation with mages...", "Have you noticed how slowly your camera zooms in?", "It takes a lot of work to resize all these blurry backgrounds.", "Birth is a pleasant experience to us.", "No, they come out in a different way.", "Have you ever seen a fairy before?", "I can change my size.", "I mean...| if you'd like to...| Maybe another day.", "You're a nice person to talk to.", "I'm sorry you can't talk back...| I'm like a japanese RPG girl.", "But I know what you're thinking| ...I think.", "Not today, but if you ever want a one night stand...| I can be whatever size you need me.", "Birth?| It's better you just see for yourself.", "Since we get pregnant by magic, you could leave me pregnant forever.| I wouldn't like that very much.", "My breasts are so soft and round.", "I like you.| Do you like me?", "Thank-you for spending time with me.| It has been a nice conversation.", "Would you like to start over?"]; MAGIC_PHRASE_LEN = MAGIC_PHRASES.length; belly = new Expansion(stage); bellyID = belly.insertExpandable(sylvia.belly, MAX_SIZE); MIN_BELLY_SPEED = 2; MAX_BELLY_SPEED = 30; BELLY_SPEED = MIN_BELLY_SPEED; belly.setCheckPoint(bellyID, 30, 1); belly.setCheckPoint(bellyID, 100, 1); belly.setCheckPoint(bellyID, 220, 1); belly.setCheckPoint(bellyID, 360, 1); belly.setCheckPoint(bellyID, 500, 1); belly.setCheckPoint(bellyID, 600, 1); belly.setCheckPoint(bellyID, 601, 1); belly.setCheckPoint(bellyID, 750, 1); belly.setCheckPoint(bellyID, 900, 1); belly.addEventListener("checkpoint", expanded); expression = new Expression(stage); MOUTH_FRAMES = 15; HEAD_ROTATION = 5; B1X_OFFSET = 1; B1Y_OFFSET = -2; B2X_OFFSET = 2; B2Y_OFFSET = -1; BREATHE_WEIGHT = 0.002; mouthID = expression.addPart(sylvia.head.mouth, Expression.ANIMATED); eyeID = expression.addPart(sylvia.head.eye, Expression.ANIMATED, true); pupilID = expression.addPart(sylvia.head.eye.pupil); _state = []; expression.addStateAttributes(_state, true, 0.1, 0.5); expression.addPartToState(_state, eyeID, "medium", 0); expression.addPartToState(_state, mouthID, "smile", 0); expression.addPartToState(_state, pupilID, null, 0, 1, 0, 0); expression.addState("normal", _state); _state = []; expression.addStateAttributes(_state, true, 0.2, 0.5); expression.addPartToState(_state, eyeID, "big", 0); expression.addPartToState(_state, mouthID, "happy", 0); expression.addPartToState(_state, pupilID, null, 0, 1, 4, 7); expression.addState("notice", _state); _state = []; expression.addStateAttributes(_state, true, 0.2, 0.7); expression.addPartToState(_state, eyeID, "small", 0); expression.addPartToState(_state, mouthID, "smile", 0); expression.addPartToState(_state, pupilID, null, 0, 1, 0, 0); expression.addState("enjoy", _state); _state = []; expression.addStateAttributes(_state, true, 0.1, 0.5); expression.addPartToState(_state, eyeID, "small", 0); expression.addPartToState(_state, mouthID, "closed", 0); expression.addPartToState(_state, pupilID, null, 0, 1, 0, 0); expression.addState("sad", _state); _state = []; expression.addStateAttributes(_state, true, 0.1, 0.5); expression.addPartToState(_state, eyeID, "open", 0); expression.addPartToState(_state, mouthID, "unhappy", 0); expression.addPartToState(_state, pupilID, null, 0, 1, 4, 12); expression.addState("surprised", _state); _state = []; expression.addStateAttributes(_state, false, 0.1, 0.5); expression.addPartToState(_state, eyeID, "shut", 0); expression.addPartToState(_state, mouthID, "teeth", 0); expression.addPartToState(_state, pupilID, null, 0, 1, 0, 0); expression.addState("ecstatic", _state); _state = []; expression.addStateAttributes(_state, false, 0.1, 0.5); expression.addPartToState(_state, eyeID, "mad", 0); expression.addPartToState(_state, mouthID, "teeth", 0); expression.addPartToState(_state, pupilID, null, 0, 1, 2, 5); expression.addState("sly", _state); _state = []; expression.addStateAttributes(_state, false, 0.1, 0.5); expression.addPartToState(_state, eyeID, "shut", 0); expression.addPartToState(_state, mouthID, "teeth2", 0); expression.addPartToState(_state, pupilID, null, 0, 1, 0, 0); expression.addState("teeth", _state); _state = []; expression.addStateAttributes(_state, false, 0.1, 0.5); expression.addPartToState(_state, eyeID, "sad", 0); expression.addPartToState(_state, mouthID, "happy2", 0); expression.addPartToState(_state, pupilID, null, 0, 1, 0, 0); expression.addState("emotional", _state); _state = []; expression.addStateAttributes(_state, false, 0.1, 0.5); expression.addPartToState(_state, eyeID, "open", 0); expression.addPartToState(_state, mouthID, "_o", 0); expression.addPartToState(_state, pupilID, null, 0, 1, 0, 0); expression.addState("oh", _state); _state = []; expression.addStateAttributes(_state, true, 0.2, 0.4); expression.addPartToState(_state, eyeID, "closed", 0); expression.addPartToState(_state, mouthID, "happy2", 0); expression.addPartToState(_state, pupilID, null, 0, 1, 0, 0); expression.addState("feel", _state); _state = []; expression.addStateAttributes(_state, true, 0.2, 0.4); expression.addPartToState(_state, eyeID, "medium", 0); expression.addPartToState(_state, mouthID, "closed", 0); expression.addPartToState(_state, pupilID, null, 0, 1, 0, 0); expression.addState("unhappy", _state); _state = []; expression.addStateAttributes(_state, true, 0.2, 0.4); expression.addPartToState(_state, eyeID, "medium", 0); expression.addPartToState(_state, mouthID, "happy2", 0); expression.addPartToState(_state, pupilID, null, 0, 1, 0, 0); expression.addState("calm", _state); _state = []; expression.addStateAttributes(_state, true, 0.2, 0.4); expression.addPartToState(_state, eyeID, "open", 0); expression.addPartToState(_state, mouthID, "happy3", 0); expression.addPartToState(_state, pupilID, null, 0, 1, 0, 0); expression.addState("happy", _state); _state = []; expression.addStateAttributes(_state, false, 0.1, 0.5); expression.addPartToState(_state, eyeID, "medium", 0); expression.addPartToState(_state, mouthID, "unhappy", 0); expression.addPartToState(_state, pupilID, null, 0, 1, 0, 0); expression.addState("speak", _state); DISABLED = false; WAND_EXPLAINED = false; SIZE_UNLOCKED = false; EXPAND_PHRASE = 0; REVERT_PHRASE = 0; SPEED_ENABLED = false; CONSTANT_EXPANSION = false; expression.setState("normal"); expression.activate(); belly.activate(); resetClothes(); sylvia.head.blush.alpha = 0; speech.say("Oh, hello!||||\nSo you finally arrived|.|.|.||\nYou're here because I wanted you to be here.||\nI think you know what to do."); stage.addEventListener("enterFrame", eFrame); WAND = null; WAND_ALPHA = 1; wandMode = WAND_NONE; wandPicked = false; wand_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickWand); zoomDir = 0; zoomValue = 0; zoomScale = 0.02; maxZoom = 2.4; plus_mc._txt.text = "+"; zero_mc._txt.text = "0"; minus_mc._txt.text = "-"; plus_mc.addEventListener(MouseEvent.MOUSE_DOWN, startZoom); minus_mc.addEventListener(MouseEvent.MOUSE_DOWN, startZoom); zero_mc.addEventListener(MouseEvent.MOUSE_DOWN, startZoom); copy_mc.addEventListener(MouseEvent.MOUSE_DOWN, displayCopy); info_txt.visible = false; stage.addEventListener(MouseEvent.MOUSE_DOWN, mDown); stage.addEventListener(Event.RESIZE, resizeStage); zoomYDist = (minus_mc.y - STAGE_HEIGHT); zoomXDist = minus_mc.x; zoomSeparationDist = (zero_mc.y - minus_mc.y); wandXDist = (wand_mc.x - STAGE_WIDTH); wandYDist = (wand_mc.y - STAGE_HEIGHT); handXDist = (hand_tool_mc.x - STAGE_WIDTH); handYDist = (hand_tool_mc.y - STAGE_HEIGHT); textXDist = (speech_mc.x - STAGE_WIDTH); textYDist = speech_mc.y; hand_mc = sylvia.hand_mc; initHandSpin = [(Math.PI * 0.2), 0, (-(Math.PI) * 0.25)]; handSpin = [0, 0, 0]; origWristY = hand_mc.wrist_mc.y; endWristY = (origWristY - 15); origThumbX = hand_mc.thumb_mc.x; endThumbX = hand_mc.glove_mc.x; handLimits = {glove:{min:new Point(0.7, 0.5), max:new Point(1, 1)}, wrist:{min:new Point(0.8, 1), max:new Point(1, 1.5)}, orig:{thumbX:origThumbX, wristY:origWristY}, end:{thumbX:endThumbX, wristY:endWristY}}; sylvia.hand_mc.visible = false; handPicked = false; handPressed = false; hand_tool_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickHand); blushMode = 0; blushValue = 0; SPARKLES = []; WAND_SPARKLES = []; SPARKLE_CLIP = null; SPARKLE_GRAVITY = 0.25; SPARKLE_MAX_VY = 5; NUM_SPARKLES = 100; SPARKLE_COLOR = 6702284; SPARKLE_START = 15; SPARKLE_DURATION = 40; SPARKLE_SIZE = 15; SPARKLE_PEAK_TIME = 0.25; ELLIPSE_CLIP = sylvia.belly.ellipse; ELLIPSE_RADIUS = ELLIPSE_CLIP.getRect(ELLIPSE_CLIP).right; MIN_KICK_FRAME = 300; KICK_PROBABILITY = (0.1 / 20); KICK_FILL_CLIP = sylvia.belly.kicks1; KICK_LINE_CLIP = sylvia.belly.kicks2; KICK_BLUSH = 16737894; KICK_COLOR = 12294639; KICK_SHADE = 6702284; KICK_BLUSH_ALPHA = 0.5; KICK_COLOR_ALPHA = 0.25; KICK_SHADE_ALPHA = 0.75; KICK_BLUSH_WIDTH = 32; MAX_KICK_SIZE = 0.31; MIN_KICK_SIZE = 0.1; MAX_KICK_RADIUS = 1; INV_MAX_KICK_RADIUS = (1 / MAX_KICK_RADIUS); OUTER_KICK_LIMIT = 0.85; KICK_ANGLE_CHANGE = (Math.PI * 0.25); KICK_RADIUS_CHANGE = 0.2; MIN_KICK_DURATION = 3; MAX_KICK_DURATION = 10; KICK_PEAK_TIME = 0.25; STRONG_KICK_SIZE = 0.5; KICK_SCALE_SPEED = 0.05; KICK_SKEW_SPEED = Math.tan(((Math.PI * 0.25) * 0.1)); KICKS = []; shapeClip = new MovieClip(); isDown = new Array(128); shapePoints = []; keyCount = 0; while (keyCount < 128) { isDown[keyCount] = false; keyCount++; }; stage.addEventListener(KeyboardEvent.KEY_DOWN, kDown); stage.addEventListener(KeyboardEvent.KEY_UP, kUp); BEVEL_ENABLED = false; BEVEL_ACTIVE = false; BEVEL_ARRAY = []; BEVEL_FRONT_CLIP = new MovieClip(); BEVEL_BACK_CLIP = new MovieClip(); bFilter = new BevelFilter(4, 45, 0xFFFFFF, 0.5, 0, 0.6, 4, 4); sylvia.addChildAt(BEVEL_FRONT_CLIP, (sylvia.getChildIndex(sylvia.breast1) + 1)); sylvia.addChildAt(BEVEL_BACK_CLIP, (sylvia.getChildIndex(sylvia.arm2) + 1)); BEVEL_FRONT_CLIP.filters = [bFilter]; BEVEL_BACK_CLIP.filters = [bFilter]; CENTER_CLIP = new MovieClip(); CENTER_CLIP.graphics.lineStyle(1, 0xFFFFFF); CENTER_CLIP.graphics.moveTo(-20, 0); CENTER_CLIP.graphics.lineTo(20, 0); CENTER_CLIP.graphics.moveTo(0, -20); CENTER_CLIP.graphics.lineTo(0, 20); CENTER_CLIP.cacheAsBitmap = true; CENTER_CLIP.x = (stage.stageWidth * 0.5); CENTER_CLIP.y = (stage.stageHeight * 0.5); GLOW_CLIP = new MovieClip(); GLOW_CLIPS = []; COMPLETING = false; resizeStage(null); } public function kUp(_arg1:KeyboardEvent){ isDown[_arg1.keyCode] = false; } public function updateWeight(_arg1:Number){ var _local2:Matrix; var _local3:Number; var _local4:Number; var _local5:Number; sylvia.body.rotation = (-(_arg1) * MAX_BODY_ROTATION); _local2 = sylvia.vine1.transform.matrix; _local2.b = Math.tan((_arg1 * MAX_VINE_SKEWY)); sylvia.vine1.transform.matrix = _local2; sylvia.vine2.scaleY = (1 + (_arg1 * MAX_VINE_SCALE)); sylvia.vine2.scaleX = (1 - (_arg1 * MAX_VINE_SCALE)); _local2 = sylvia.vine3.transform.matrix; _local2.d = (1 - (_arg1 * MIN_VINE_SCALE)); _local2.c = Math.tan((_arg1 * MAX_VINE_SKEWX)); sylvia.vine3.transform.matrix = _local2; sylvia.body.y = (BODY_Y + (_arg1 * 30)); updateAttached(); _local3 = (sylvia.body.rotation * Geometry.DEG_TO_RAD); _local4 = Math.cos(_local3); _local5 = Math.sin(_local3); SPIN_A = (SPIN_D = _local4); SPIN_B = _local5; SPIN_C = -(_local5); sylvia.leg1.x = (sylvia.leg1.x + (_arg1 * LEG_X_OFFSET)); sylvia.leg1.y = (sylvia.leg1.y + (_arg1 * LEG_Y_OFFSET)); sylvia.leg1.rotation = (sylvia.body.rotation + (LEG_ROTATION_OFFSET * _arg1)); sylvia.leg2.rotation = (0.5 * sylvia.leg1.rotation); } public function expanded(_arg1:ExpansionEvent){ var _local2:Number; var _local3:Number; var _local4:MovieClip; _local2 = _arg1.size; _local3 = _arg1.direction; _local4 = _arg1.expandable; if (_local3 > 0){ switch (_local2){ case 30: expression.setState("notice", true); if (EXPAND_PHRASE == 0){ EXPAND_PHRASE++; expression.endReact(); speech.say("Ah, yes.| I'm feeling it now.|.|."); }; break; case 100: expression.setState("normal", true); if (EXPAND_PHRASE == 1){ EXPAND_PHRASE++; expression.react("emotional", 50); speech.say("Being pregnant...| feels...| nice."); }; break; case 220: expression.setState("enjoy", true); if (EXPAND_PHRASE == 2){ EXPAND_PHRASE++; expression.react("oh", 50); speech.say("Ooh...| It's really showing now, isn't it?"); speech.interruptible = false; }; break; case 360: expression.setState("calm", true); if (EXPAND_PHRASE == 3){ EXPAND_PHRASE++; expression.react("feel", 50); speech.say("I'm so big my breasts are being pushed up."); speech.interruptible = false; }; break; case 500: expression.setState("calm", true); if (EXPAND_PHRASE == 4){ EXPAND_PHRASE++; expression.react("speak", 40); speech.say("I think I'm almost there."); speech.interruptible = false; }; break; case 600: if (belly.getMaxSize(0) == MAX_SIZE){ expression.setState("unhappy", true); if (EXPAND_PHRASE == 5){ EXPAND_PHRASE++; expression.react("unhappy", 70); speech.interruptible = true; speech.say("Is that all?| Don't leave me like this."); speech.interruptible = false; }; } else { if (EXPAND_PHRASE < 5){ EXPAND_PHRASE = 6; }; expression.setState("enjoy", true); }; break; case 601: expression.setState("happy", true); if (EXPAND_PHRASE == 6){ EXPAND_PHRASE++; expression.react("ecstatic", 70); speech.interruptible = true; speech.say("Ah, this is getting good!"); speech.interruptible = false; }; break; case 750: expression.setState("surprised", true); if (EXPAND_PHRASE == 7){ EXPAND_PHRASE++; speech.interruptible = true; speech.say("This is...| bigger than I expected."); speech.interruptible = false; }; break; case 900: expression.setState("notice", true); if (EXPAND_PHRASE == 8){ EXPAND_PHRASE++; expression.react("ecstatic", 40); speech.interruptible = true; speech.say("Yes, this is it!| I'm finally ready."); speech.interruptible = false; }; if (!CENTER_CLIP.parent){ enableComplete(); }; break; default: break; }; }; } public function drawInnerLight(_arg1:Graphics, _arg2:Object){ _arg1.moveTo(_arg2.left.x, _arg2.left.y); _arg1.curveTo(_arg2.top.x, _arg2.top.y, _arg2.right.x, _arg2.right.y); _arg1.curveTo(_arg2.midRight.x, _arg2.midRight.y, _arg2.bottom.x, _arg2.bottom.y); _arg1.curveTo(_arg2.midLeft.x, _arg2.midLeft.y, _arg2.left.x, _arg2.left.y); } public function updateBelly(){ var _local1:Matrix; var _local2:Matrix; var _local3:Matrix; var _local4:Number; var _local5:Number; var _local6:Number; _local1 = sylvia.belly.transform.matrix; _local2 = new Matrix(); _local3 = new Matrix(); _local4 = ((belly.getSize(0) - 1) / (FINAL_SIZE - 1)); _local5 = (MIN_BELLY_F + (_local4 * (MAX_BELLY_F - MIN_BELLY_F))); _local6 = (MIN_BELLY_M + (_local4 * (MAX_BELLY_M - MIN_BELLY_M))); balancePoint(BELLY_DEF_X, _local5, 0, _local6, BELLY_S); balancePoint(BELLY_DEF_Y, _local5, 0, _local6, BELLY_S); Algorithms.deformMatrix(_local3, BELLY_DEF_X[0], BELLY_DEF_Y[0], BELLY_DEF_DIST); _local2.a = SPIN_A; _local2.b = SPIN_B; _local2.c = SPIN_C; _local2.d = SPIN_D; _local3.concat(_local2); _local3.tx = _local1.tx; _local3.ty = _local1.ty; sylvia.belly.transform.matrix = _local3; } public function updateBreasts(){ var _local1:Matrix; var _local2:Number; if (((BREASTS_TIGHT) && (sylvia.belly.visible))){ _local2 = ((belly.getSize(0) - PUSH_SIZE) / (TOP_BREAK_FRAME - PUSH_SIZE)); if (_local2 < 0){ _local2 = 0; }; if (_local2 > 1){ _local2 = 1; }; DEST_BREAST1_X = (BREAST1_TIGHT_X - (_local2 * 4)); DEST_BREAST1_Y = (BREAST1_TIGHT_Y - (_local2 * 4)); DEST_BREAST2_X = (BREAST2_TIGHT_X - (_local2 * 5)); DEST_BREAST2_Y = (BREAST2_TIGHT_Y - (_local2 * 7)); _local1 = sylvia.breast1.transform.matrix; _local1.a = SPIN_A; _local1.b = (SPIN_B - (_local2 * 0.15)); _local1.c = (SPIN_C - (_local2 * 0.05)); _local1.d = SPIN_D; sylvia.breast1.transform.matrix = _local1; _local1 = sylvia.breast2.transform.matrix; _local1.a = SPIN_A; _local1.b = SPIN_B; _local1.c = (SPIN_C - (_local2 * 0.1)); _local1.d = (SPIN_D - (_local2 * 0.2)); sylvia.breast2.transform.matrix = _local1; } else { DEST_BREAST1_X = BREAST1_LOOSE_X; DEST_BREAST1_Y = BREAST1_LOOSE_Y; DEST_BREAST2_X = BREAST2_LOOSE_X; DEST_BREAST2_Y = BREAST2_LOOSE_Y; _local1 = sylvia.breast1.transform.matrix; _local1.a = SPIN_A; _local1.b = SPIN_B; _local1.c = SPIN_C; _local1.d = SPIN_D; sylvia.breast1.transform.matrix = _local1; _local1 = sylvia.breast2.transform.matrix; _local1.a = SPIN_A; _local1.b = SPIN_B; _local1.c = SPIN_C; _local1.d = SPIN_D; sylvia.breast2.transform.matrix = _local1; }; balancePoint(BREAST1_X, B_FRICTION, DEST_BREAST1_X, B_MULT, B_SPEED); balancePoint(BREAST1_Y, B_FRICTION, DEST_BREAST1_Y, B_MULT, B_SPEED); balancePoint(BREAST2_X, B_FRICTION, DEST_BREAST2_X, B_MULT, B_SPEED); balancePoint(BREAST2_Y, B_FRICTION, DEST_BREAST2_Y, B_MULT, B_SPEED); sylvia.breast1.x = (sylvia.breast1.x + BREAST1_X[0]); sylvia.breast1.y = (sylvia.breast1.y + BREAST1_Y[0]); sylvia.breast2.x = (sylvia.breast2.x + BREAST2_X[0]); sylvia.breast2.y = (sylvia.breast2.y + BREAST2_Y[0]); } public function createGlow(){ var _local1:MovieClip; var _local2:Matrix; var _local3:Number; var _local4:Graphics; if (!COMPLETING){ return; }; _local1 = new MovieClip(); _local2 = new Matrix(); _local3 = (100 + (Math.random() * 50)); _local2.createGradientBox(_local3, _local3, 0, (-(_local3) * 0.5), (-(_local3) * 0.5)); _local4 = _local1.graphics; _local4.clear(); _local4.beginGradientFill(GradientType.RADIAL, [0xFFFF00, 0xFFFF00], [1, 0], [32, 0xFF], _local2); _local4.drawCircle(0, 0, (_local3 * 0.5)); _local4.endFill(); _local1.x = GLOW_CLIP.x; _local1.y = GLOW_CLIP.y; _local1.vX = ((Math.random() * 20) - 10); _local1.vY = ((Math.random() * 20) - 10); _local1.fX = 0; _local1.fY = 0; GLOW_CLIP.parent.addChild(_local1); GLOW_CLIPS[GLOW_CLIPS.length] = _local1; } public function blush(){ blushMode = 2; } public function stopWand(_arg1:Event){ stage.removeEventListener(Event.ENTER_FRAME, wandFrame); if (belly.getGrowth(0) < 0){ expression.setState("normal"); }; belly.growth = 0; WAND_ALPHA = 0.5; BEVEL_ACTIVE = false; wandEffect(null); } public function updateBevel(){ var _local1:int; var _local2:int; var _local3:int; var _local4:int; var _local5:Array; var _local6:Object; _local3 = BEVEL_ARRAY.length; BEVEL_FRONT_CLIP.graphics.clear(); BEVEL_BACK_CLIP.graphics.clear(); _local1 = 0; while (_local1 < _local3) { _local5 = BEVEL_ARRAY[_local1]; drawBevel(_local5); _local4 = _local5.length; _local2 = 0; while (_local2 < _local4) { _local6 = _local5[_local2]; _local5[_local2].x = (_local6.x + _local6.vX); _local6.y = (_local6.y + _local6.vY); _local6.vX = (_local6.vX + ((Math.random() * 1) - 0.5)); _local6.vY = (_local6.vY + ((1.5 + (Math.random() * 2)) - 1)); _local2++; }; _local5.alpha = (_local5.alpha - 0.05); if (_local5.alpha < 0){ BEVEL_ARRAY.splice(_local1, 1); _local3--; _local1--; }; _local1++; }; } public function complete(){ var _local1:MovieClip; var _local2:Object; var _local3:Point; var _local4:Point; var _local5:Point; var _local6:Object; var _local7:Object; var _local8:Number; var _local9:Matrix; var _local10:Graphics; if (DISABLED){ return; }; DISABLED = true; blushOn(); COMPLETING = true; _local1 = sylvia.belly.ellipse; _local2 = Geometry.getEllipse(_local1); _local3 = new Point(_local2.x, _local2.y); _local4 = new Point(_local2.radius, 0); _local5 = new Point(0, (_local2.radius * _local2.excentricity)); _local6 = Geometry.rotate(_local2.rotation, _local4.x, _local4.y); _local7 = Geometry.rotate(_local2.rotation, _local5.x, _local5.y); _local4 = _local1.parent.localToGlobal(new Point(_local6.x, _local6.y)); _local5 = _local1.parent.localToGlobal(new Point(_local7.x, _local7.y)); _local3 = _local1.parent.localToGlobal(_local3); _local8 = Math.max(Point.distance(_local4, _local3), Point.distance(_local5, _local3)); _local3 = sylvia.globalToLocal(_local3); sylvia.addChild(GLOW_CLIP); GLOW_CLIP.x = _local3.x; GLOW_CLIP.y = _local3.y; _local9 = new Matrix(); _local9.createGradientBox((_local8 * 2), (_local8 * 2), 0, -(_local8), -(_local8)); _local10 = GLOW_CLIP.graphics; _local10.clear(); _local10.beginGradientFill(GradientType.RADIAL, [16777164, 0xFFFF00], [1, 0], [0, 0xFF], _local9); _local10.drawCircle(0, 0, _local8); _local10.endFill(); belly.growth = 0; stage.addEventListener(Event.ENTER_FRAME, completing, false, 0, true); BELLY_SPEED = MAX_BELLY_SPEED; SPEED_ENABLED = true; if (WAND){ WAND.glow.scaleY = (WAND.glow.scaleX = 1.5); }; expression.setState("ecstatic", true); speech.say("It's...| happening.|| Just...| wait."); } public function updateClothesPoints(_arg1:Array){ var _local2:int; var _local3:int; var _local4:Object; var _local5:Point; var _local6:Point; var _local7:Number; var _local8:Number; var _local9:Array; _local3 = _arg1.length; _local9 = []; _local2 = 0; while (_local2 < _local3) { _local4 = _arg1[_local2]; if (!((_local4.open) && (TOP_BROKEN))){ if (((!(TOP_BROKEN)) && ((sylvia.getChildIndex(TOP_CLIP_FRONT2) < sylvia.getChildIndex(sylvia.breast2))))){ sylvia.removeChild(TOP_CLIP_FRONT2); sylvia.addChildAt(TOP_CLIP_FRONT2, (sylvia.getChildIndex(sylvia.breast2) + 1)); }; setClothesPoint(_local4.point, _local4.closed); } else { if (!_local4.open){ } else { _local5 = _local4.closed.localToGlobal(new Point()); _local6 = _local4.open.localToGlobal(new Point()); _local7 = Point.distance(_local5, _local6); _local6.y = (_local6.y + _local7); _local8 = _local4.x[0]; _local6 = sylvia.globalToLocal(_local6); _local9 = Algorithms.balancePoint(_local4.point.x, _local4.x[0], _local4.x[1], F_CLOTHES, _local6.x, _local4.mul, S_CLOTHES); _local4.point.x = _local9[0]; _local4.x[0] = _local9[1]; _local4.x[1] = _local9[2]; if ((((((_local8 >= 15)) && ((_local4.x[0] <= 15)))) && ((sylvia.getChildIndex(TOP_CLIP_FRONT2) > sylvia.getChildIndex(sylvia.breast2))))){ sylvia.removeChild(TOP_CLIP_FRONT2); sylvia.addChildAt(TOP_CLIP_FRONT2, sylvia.getChildIndex(sylvia.body)); }; _local9 = Algorithms.balancePoint(_local4.point.y, _local4.y[0], _local4.y[1], F_CLOTHES, _local6.y, _local4.mul, S_CLOTHES); _local4.point.y = _local9[0]; _local4.y[0] = _local9[1]; _local4.y[1] = _local9[2]; }; }; _local2++; }; } public 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 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 function dropStage(_arg1:Event){ stage.removeEventListener(MouseEvent.MOUSE_MOVE, moveStage); stage.removeEventListener(MouseEvent.MOUSE_UP, dropStage); stage.removeEventListener(Event.MOUSE_LEAVE, dropStage); } public function editElastic(_arg1:MovieClip, _arg2:String, _arg3:Number){ var _local4:int; var _local5:int; _local5 = ELASTIC_LIST.length; _local4 = 0; while (_local4 < _local5) { if (ELASTIC_LIST[_local4].clip == _arg1){ ELASTIC_LIST[_local4].dests[_arg2] = _arg3; return; }; _local4++; }; } public function moveWand(_arg1:Event){ WAND.x = stage.mouseX; WAND.y = stage.mouseY; wandEffect(null); } public function drawPointList(_arg1:Graphics, _arg2:Array, _arg3:Array, _arg4:Boolean=true){ var _local5:int; var _local6:int; var _local7:Object; var _local8:Object; var _local9:Point; var _local10:Point; var _local11:Point; if (_arg3.length < 2){ return; }; _local5 = 1; _local6 = _arg2.length; _local9 = _arg3[_arg2[0].id].point; _arg1.moveTo(_local9.x, _local9.y); while (_local5 < _local6) { var _temp1 = _local5; _local5 = (_local5 + 1); _local7 = _arg2[_temp1]; _local10 = _arg3[_local7.id].point; if (_local7.type == L_ANCHOR){ _arg1.lineTo(_local10.x, _local10.y); } else { var _temp2 = _local5; _local5 = (_local5 + 1); _local8 = _arg2[_temp2]; if (!_local8){ if (_arg4){ _local8 = _arg2[0]; } else { return; }; }; if (_local8.type != L_ANCHOR){ throw ("Can't have two control points in a row!"); }; _local11 = _arg3[_local8.id].point; _arg1.curveTo(_local10.x, _local10.y, _local11.x, _local11.y); }; }; if ((((_arg2[(_local6 - 1)].type == L_ANCHOR)) && (_arg4))){ _arg1.lineTo(_local9.x, _local9.y); }; } public function dropWand(_arg1:Event){ if (WAND == null){ return; }; WAND.parent.removeChild(WAND); WAND = null; wandPicked = false; stage.removeEventListener(MouseEvent.MOUSE_DOWN, useWand); stage.removeEventListener(MouseEvent.MOUSE_MOVE, moveWand); stage.removeEventListener(MouseEvent.MOUSE_UP, stopWand); stage.removeEventListener(Event.ENTER_FRAME, wandFrame); } public function blendColor(_arg1:uint, _arg2:uint, _arg3:Number=0.5):uint{ var _local4:int; var _local5:int; var _local6:int; var _local7:int; _local4 = int((((_arg1 & 0xFF) * (1 - _arg3)) + ((_arg2 & 0xFF) * _arg3))); _local5 = int(((((_arg1 >> 8) & 0xFF) * (1 - _arg3)) + (((_arg2 >> 8) & 0xFF) * _arg3))); _local6 = int(((((_arg1 >> 16) & 0xFF) * (1 - _arg3)) + (((_arg2 >> 16) & 0xFF) * _arg3))); _local7 = int(((((_arg1 >> 24) & 0xFF) * (1 - _arg3)) + (((_arg2 >> 24) & 0xFF) * _arg3))); return (((((_local7 << 24) | (_local6 << 16)) | (_local5 << 8)) | _local4)); } public function updateAttached(){ var _local1:int; var _local2:int; var _local3:Object; var _local4:Point; var _local5:Point; var _local6:int; var _local7:int; var _local8:Array; _local2 = ATTACH_LIST.length; _local1 = 0; while (_local1 < _local2) { _local3 = ATTACH_LIST[_local1]; if (_local3.mc.parent){ _local4 = _local3.par.localToGlobal(_local3.point); _local5 = _local3.mc.parent.globalToLocal(_local4); _local3.mc.x = _local5.x; _local3.mc.y = _local5.y; }; _local8 = _local3.props; _local7 = _local8.length; _local6 = 0; while (_local6 < _local7) { _local3.mc[_local8[_local6]] = _local3.par[_local8[_local6]]; _local6++; }; _local1++; }; } public function moveStage(_arg1:Event){ var _local2:Number; var _local3:Number; var _local4:Number; _local2 = 0.5; _local3 = (stage.mouseX - oldMX); _local4 = (stage.mouseY - oldMY); sylvia.x = (oldX + (_local3 * _local2)); sylvia.y = (oldY + (_local4 * _local2)); Algorithms.adjustScreen(sylvia, sylvia.rect); move3D(); } public function setVisible(_arg1:Boolean){ sylvia.body.visible = (sylvia.belly.visible = (sylvia.leg1.visible = (sylvia.leg2.visible = (sylvia.arm1.visible = (sylvia.arm2.visible = (sylvia.breast1.visible = (sylvia.breast2.visible = (sylvia.wing1.visible = (sylvia.head.visible = (sylvia.hair1.visible = (sylvia.hair2.visible = (sylvia.tail.visible = (TOP_CLIP_BACK.visible = (TOP_CLIP_FRONT1.visible = (TOP_CLIP_FRONT2.visible = (BOTTOM_CLIP_FRONT.visible = (BOTTOM_CLIP_BACK.visible = _arg1))))))))))))))))); generateSparkles(NUM_SPARKLES, SPARKLE_START, SPARKLE_SIZE, SPARKLE_PEAK_TIME); } public function handDown(_arg1:Event){ if (DISABLED){ return; }; if (((((sylvia.belly.hitTestPoint(stage.mouseX, stage.mouseY, true)) || (sylvia.breast1.hitTestPoint(stage.mouseX, stage.mouseY, true)))) || (sylvia.breast2.hitTestPoint(stage.mouseX, stage.mouseY, true)))){ handPressed = true; }; } public function updateBlush(){ if (blushMode){ if (blushValue < 1){ blushValue = (blushValue + BLUSH_START_SPEED); if (blushValue > 1){ blushValue = 1; }; }; } else { if (blushValue > 0){ blushValue = (blushValue - BLUSH_STOP_SPEED); if (blushValue < 0){ blushValue = 0; }; }; }; sylvia.head.blush.alpha = blushValue; } public function pickWand(_arg1:Event){ if (DISABLED){ return; }; if (((!((WAND == null))) || (wandPicked))){ return; }; dropHand(null); if (!WAND_EXPLAINED){ if (belly.getSize(0) == 1){ expression.react("sly", -1); speech.say("Ah,| a magic wand. |Oh, you...!||||\nCome on, then. Make me *|P|R|E|G|N|A|N|T|*."); }; WAND_EXPLAINED = true; }; WAND = new Wand(); WAND_ALPHA = 0.5; wandEffect(null); stage.addChild(WAND); WAND.x = wand_mc.x; WAND.y = wand_mc.y; if (BELLY_SPEED < MAX_BELLY_SPEED){ WAND.glow.scaleY = (WAND.glow.scaleX = 1); } else { WAND.glow.scaleY = (WAND.glow.scaleX = 1.5); }; stage.addEventListener(MouseEvent.MOUSE_DOWN, useWand, false, 0, true); stage.addEventListener(MouseEvent.MOUSE_MOVE, moveWand, false, 0, true); stage.addEventListener(MouseEvent.MOUSE_UP, stopWand, false, 0, true); } public function drawBevel(_arg1:Array){ var _local2:Graphics; var _local3:int; var _local4:int; _local2 = _arg1.clip.graphics; _local3 = _arg1.length; _local2.beginFill(0xFFFFFF, Math.sqrt(_arg1.alpha)); _local2.moveTo(_arg1[0].x, _arg1[0].y); Drawing.drawCurvyLine(_local2, _arg1[(_local3 - 1)], _arg1, _arg1[0]); _local2.endFill(); } public function drawKick(_arg1:Object){ var _local2:Matrix; var _local3:Object; var _local4:Object; var _local5:Number; var _local6:Graphics; var _local7:Object; _local2 = new Matrix(); if (_arg1.distance < OUTER_KICK_LIMIT){ _local3 = getKickTransform((Math.cos(_arg1.angle) * _arg1.distance), (Math.sin(_arg1.angle) * _arg1.distance)); _local4 = getInnerKick(_arg1.point.x, _arg1.point.y, _arg1.size, _local3); _local5 = (_arg1.size * 0.5); _local2.createGradientBox(_arg1.size, _arg1.size, 0, (_arg1.point.x - _local5), (_arg1.point.y - _local5)); _local6 = KICK_FILL_CLIP.graphics; _local6.beginGradientFill("radial", [KICK_BLUSH, KICK_COLOR], [KICK_BLUSH_ALPHA, KICK_COLOR_ALPHA], [KICK_BLUSH_WIDTH, 0xFF], _local2); drawInnerLight(_local6, _local4); _local6.endFill(); _local6.beginFill(KICK_SHADE, KICK_SHADE_ALPHA); drawInnerShade(_local6, _local4); _local6.endFill(); } else { _local7 = getOuterKick(_arg1); _local2.createGradientBox(_arg1.size, _arg1.size, 0, (_arg1.point.x - _local5), (_arg1.point.y - _local5)); _local6 = KICK_FILL_CLIP.graphics; _local6.beginGradientFill("radial", [KICK_BLUSH, KICK_COLOR], [1, 1], [KICK_BLUSH_WIDTH, 0xFF], _local2); drawOuterLight(_local6, _local7); _local6.endFill(); _local6.beginFill(KICK_SHADE, KICK_SHADE_ALPHA); drawOuterShade(_local6, _local7, Math.cos(_arg1.angle), Math.sin(_arg1.angle)); _local6.endFill(); _local6 = KICK_LINE_CLIP.graphics; _local6.lineStyle(0.2, 0); drawOuterLine(_local6, _local7); }; } public function resetAll(){ var _local1:int; var _local2:int; var _local3:MovieClip; DISABLED = false; _local2 = GLOW_CLIPS.length; _local1 = 0; while (_local1 < _local2) { _local3 = GLOW_CLIPS[_local1]; _local3.graphics.clear(); _local3.parent.removeChild(_local3); _local1++; }; GLOW_CLIPS.length = 0; endComplete(true); dropWand(null); dropHand(null); if (TOP_BROKEN){ breakTop(); }; speech.clearSpeech(); belly.growth = 0; belly.size = 1; belly.maxSize = MAX_SIZE; if (CENTER_CLIP.parent){ enableComplete(); }; expression.endReact(); expression.setState("normal"); EXPAND_PHRASE = (REVERT_PHRASE = 0); SPEED_ENABLED = false; BELLY_SPEED = MIN_BELLY_SPEED; sylvia.x = ENVIRON_X; sylvia.y = ENVIRON_Y; sylvia.scaleX = (sylvia.scaleY = 1); Algorithms.adjustScreen(sylvia, sylvia.rect); move3D(); sylvia.head.blush.alpha = 0; speech.say("Oh, hello!||||\nSo you finally arrived|.|.|.|| Again...||\nYou're here because I wanted you to be here.||\nI think you know what to do."); } public function startKick(){ var _local1:Object; var _local2:Number; if (DISABLED){ return; }; _local1 = {}; _local1.startAngle = ((Math.random() * Math.PI) * 2); _local1.startRadius = (Math.random() * MAX_KICK_RADIUS); _local1.endAngle = ((_local1.startAngle + ((Math.random() * KICK_ANGLE_CHANGE) * 2)) - KICK_ANGLE_CHANGE); _local1.endRadius = ((_local1.startRadius + (Math.random() * (KICK_RADIUS_CHANGE * 2))) - KICK_RADIUS_CHANGE); if (_local1.endRadius > MAX_KICK_RADIUS){ _local1.endRadius = MAX_KICK_RADIUS; }; if (_local1.endRadius < -(MAX_KICK_RADIUS)){ _local1.endRadius = -(MAX_KICK_RADIUS); }; _local1.maxSize = (MIN_KICK_SIZE + (Math.random() * (MAX_KICK_SIZE - MIN_KICK_SIZE))); _local1.duration = (MIN_KICK_DURATION + (Math.random() * (MAX_KICK_DURATION - MIN_KICK_DURATION))); _local1.angle = 0; _local1.distance = 0; _local1.point = null; _local1.size = 0; _local1.time = 0; KICKS[KICKS.length] = _local1; expression.react("kick"); if (_local1.maxSize >= (MAX_KICK_SIZE * STRONG_KICK_SIZE)){ if (Math.random() < 0.2){ speech.say(KICK_PHRASES[((Math.random() * KICK_PHRASES.length) | 0)]); }; _local2 = (_local1.startRadius * INV_MAX_KICK_RADIUS); BELLY_DEF_X[1] = (Math.cos(_local1.startAngle) * _local2); BELLY_DEF_Y[1] = (Math.sin(_local1.startAngle) * _local2); }; } public function drawInnerShade(_arg1:Graphics, _arg2:Object){ _arg1.moveTo(_arg2.left.x, _arg2.left.y); _arg1.curveTo(_arg2.center.x, _arg2.center.y, _arg2.right.x, _arg2.right.y); _arg1.curveTo(_arg2.midRight.x, _arg2.midRight.y, _arg2.bottom.x, _arg2.bottom.y); _arg1.curveTo(_arg2.midLeft.x, _arg2.midLeft.y, _arg2.left.x, _arg2.left.y); } public function generateSparkle(_arg1:int, _arg2:int, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:Number, _arg7:Number=0.5, _arg8:Number=0, _arg9:Number=0):Object{ var _local10:Object; _local10 = {}; _local10.x = _arg1; _local10.y = _arg2; _local10.color = _arg3; _local10.startFrame = _arg4; _local10.duration = _arg5; _local10.maxSize = _arg6; _local10.peakTime = _arg7; _local10.startSpin = _arg8; _local10.endSpin = _arg9; _local10.vX = 0; _local10.vY = 0; _local10.time = 0; return (_local10); } public function updateGlow(){ var _local1:int; var _local2:int; var _local3:MovieClip; var _local4:Point; _local1 = GLOW_CLIPS.length; if (!_local1){ return; }; _local2 = 0; while (_local2 < _local1) { _local3 = GLOW_CLIPS[_local2]; if (_local3.alpha < 1){ _local3.alpha--; }; _local3.x = (_local3.x + _local3.vX); _local3.y = (_local3.y + _local3.vY); _local3.vX = (_local3.vX + _local3.fX); _local3.vY = (_local3.vY + _local3.fY); _local3.fX = (_local3.fX + (((Math.random() * 0.2) - 0.1) + (_local3.vX * 0.01))); _local3.fY = (_local3.fY + (((Math.random() * 0.2) - 0.1) + (_local3.vY * 0.01))); _local4 = _local3.localToGlobal(new Point()); if ((((((((_local4.x > stage.stageWidth)) || ((_local4.x < 0)))) || ((_local4.y > stage.stageHeight)))) || ((_local4.y < 0)))){ _local3.alpha = (_local3.alpha - 0.1); }; if (_local3.alpha <= 0){ _local3.graphics.clear(); _local3.parent.removeChild(_local3); GLOW_CLIPS.splice(_local2, 1); _local2--; _local1--; }; _local2++; }; } public function drawOuterLight(_arg1:Graphics, _arg2:Object){ _arg1.moveTo(_arg2.top.x, _arg2.top.y); _arg1.curveTo(_arg2.rightTop.x, _arg2.rightTop.y, _arg2.right.x, _arg2.right.y); _arg1.curveTo(_arg2.rightBottom.x, _arg2.rightBottom.y, _arg2.bottom.x, _arg2.bottom.y); _arg1.curveTo(_arg2.left.x, _arg2.left.y, _arg2.top.x, _arg2.top.y); } public function updateSparkles(){ var _local1:int; var _local2:int; var _local3:Object; var _local4:Graphics; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local2 = SPARKLES.length; _local4 = SPARKLE_CLIP.graphics; _local4.clear(); _local1 = 0; while (_local1 < _local2) { _local3 = SPARKLES[_local1]; _local3.time++; if (_local3.time > (_local3.startFrame + _local3.duration)){ SPARKLES.splice(_local1, 1); _local2--; _local1--; } else { if (_local3.time > _local3.startFrame){ _local3.vY = (_local3.vY + SPARKLE_GRAVITY); _local3.vY = ((_local3.vY)>SPARKLE_MAX_VY) ? SPARKLE_MAX_VY : _local3.vY; _local3.x = (_local3.x + _local3.vX); _local3.y = (_local3.y + _local3.vY); }; drawSparkle(_local4, _local3); }; _local1++; }; _local2 = WAND_SPARKLES.length; _local1 = 0; while (_local1 < _local2) { _local3 = WAND_SPARKLES[_local1]; _local3.time++; _local5 = (sylvia.belly.x - _local3.x); _local6 = (sylvia.belly.y - _local3.y); _local7 = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); _local8 = Math.sqrt(((_local3.vX * _local3.vX) + (_local3.vY * _local3.vY))); if ((((_local7 < _local8)) || ((_local3.time > (_local3.startFrame + _local3.duration))))){ WAND_SPARKLES.splice(_local1, 1); _local2--; _local1--; } else { _local7 = (1 / _local7); if (_local3.time > _local3.startFrame){ _local3.vX = (_local3.vX + ((_local5 * _local7) * 2)); _local3.vY = (_local3.vY + ((_local6 * _local7) * 2)); _local3.x = (_local3.x + _local3.vX); _local3.y = (_local3.y + _local3.vY); }; drawSparkle(_local4, _local3); }; _local1++; }; } public function updateElastic(){ var _local1:int; var _local2:int; _local2 = ELASTIC_LIST.length; _local1 = 0; while (_local1 < _local2) { updateElasticClip(ELASTIC_LIST[_local1]); _local1++; }; } public function move3D(){ var _local1:int; var _local2:int; var _local3:Object; var _local4:Number; var _local5:Number; var _local6:Number; _local2 = ENVIRON_ELEMENTS.length; _local4 = (1 / sylvia.scaleX); _local5 = ((sylvia.x - ENVIRON_X) * _local4); _local6 = ((sylvia.y - ENVIRON_Y) * _local4); _local1 = 0; while (_local1 < _local2) { _local3 = ENVIRON_ELEMENTS[_local1]; _local3.clip.x = (_local3.x + (_local3.propX * _local5)); _local3.clip.y = (_local3.y + (_local3.propY * _local6)); _local1++; }; } public function drawOuterLine(_arg1:Graphics, _arg2:Object){ _arg1.moveTo(_arg2.top.x, _arg2.top.y); _arg1.curveTo(_arg2.rightTop.x, _arg2.rightTop.y, _arg2.right.x, _arg2.right.y); _arg1.curveTo(_arg2.rightBottom.x, _arg2.rightBottom.y, _arg2.bottom.x, _arg2.bottom.y); } public function handFrame(){ var _local1:Array; var _local2:Number; var _local3:Number; var _local4:Number; if (!hand_mc.visible){ return; }; _local1 = getHandSpin(); Algorithms.updateHand(hand_mc, sylvia.mouseX, sylvia.mouseY, handSpin, _local1, handLimits); _local2 = ((_local1[0] / Math.PI) * 0.5); _local3 = ((_local1[1] / Math.PI) * 0.5); _local4 = ((belly.getSize(0) - 1) / (FINAL_SIZE - 1)); if (_local1[5] == 3){ HAND_WEIGHT = ((-0.25 * (_local1[4] - 1)) * _local4); } else { HAND_WEIGHT = 0; }; if (Math.abs(_local2) > 1){ trace(_local2); }; if (Math.abs(_local3) > 1){ trace(_local3); }; BELLY_DEF_X[2] = (_local2 * 0.05); BELLY_DEF_Y[2] = (_local3 * 0.05); if (((!(handPressed)) || ((((_local1[4] == _local1[3])) && ((_local1[4] == 0)))))){ } else { if (((!(expression.reacting)) || (!((expression.state == "feel"))))){ expression.endReact(); expression.react("feel", 5); if (Math.random() < 0.15){ switch (_local1[5]){ case 1: case 2: speech.say(BREAST_RUB_PHRASES[Math.floor((Math.random() * BREAST_RUB_PHRASES.length))]); break; case 3: if (_local4 < 0.1){ speech.say("Aah... You want my belly to grow, right?"); } else { speech.say(BELLY_RUB_PHRASES[Math.floor((Math.random() * BELLY_RUB_PHRASES.length))]); }; break; }; }; } else { expression.interruptible = true; expression.react("feel", 5); if (((((!(speech.speaking)) && ((Math.random() < 0.01)))) && ((_local4 > 0.25)))){ switch (_local1[5]){ case 1: case 2: speech.say(BREAST_RUB_PHRASES[Math.floor((Math.random() * BREAST_RUB_PHRASES.length))]); break; case 3: speech.say(BELLY_RUB_PHRASES[Math.floor((Math.random() * BELLY_RUB_PHRASES.length))]); break; }; }; }; }; } public function attach(_arg1:MovieClip, _arg2:MovieClip, _arg3:Array=null){ var _local4:Point; var _local5:Point; _local4 = _arg1.localToGlobal(new Point()); _local5 = _arg2.globalToLocal(_local4); if (_arg3 == null){ _arg3 = []; }; ATTACH_LIST[ATTACH_LIST.length] = {mc:_arg1, par:_arg2, point:_local5, props:_arg3}; } public function drawingShape(_arg1:Event){ shapeClip.graphics.lineTo(stage.mouseX, stage.mouseY); shapePoints[shapePoints.length] = {x:stage.mouseX, y:stage.mouseY}; } public function stopShapeDrawing(_arg1:Event){ stage.removeEventListener(MouseEvent.MOUSE_MOVE, drawingShape); stage.removeEventListener(MouseEvent.MOUSE_UP, stopShapeDrawing); determineShapeAction(); } public 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(stage); _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 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(stage); _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 function resizeStage(_arg1:Event){ sylvia.scaleX = (sylvia.scaleY = 1); Algorithms.adjustScreen(sylvia, sylvia.rect); move3D(); plus_mc.x = (zero_mc.x = (minus_mc.x = zoomXDist)); minus_mc.y = (stage.stageHeight + zoomYDist); zero_mc.y = (minus_mc.y + zoomSeparationDist); plus_mc.y = (zero_mc.y + zoomSeparationDist); wand_mc.x = (stage.stageWidth + wandXDist); wand_mc.y = (stage.stageHeight + wandYDist); hand_tool_mc.x = (stage.stageWidth + handXDist); hand_tool_mc.y = (stage.stageHeight + handYDist); speech_mc.x = (stage.stageWidth + textXDist); speech_mc.y = textYDist; CENTER_CLIP.x = (stage.stageWidth * 0.5); CENTER_CLIP.y = (stage.stageHeight * 0.5); } public function getOuterKick(_arg1:Object):Object{ var _local2:Point; var _local3:Point; var _local4:Point; var _local5:Point; var _local6:Point; var _local7:Point; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Matrix; _local2 = new Point(0, -1); _local3 = new Point(0, -1); _local4 = new Point(0.5, 0); _local5 = new Point(-0.5, 0); _local6 = new Point(0.5, -0.5); _local7 = new Point(0.5, 0.5); _local8 = _arg1.size; _local9 = _arg1.size; _local2.y = (_local2.y * _local8); _local3.y = -(_local2.y); _local4.x = (_local4.x * _local9); _local5.x = (_local5.x * _local9); _local6.x = (_local6.x * _local9); _local7.x = _local6.x; _local6.y = (_local6.y * _local8); _local7.y = -(_local6.y); _local10 = Math.cos(_arg1.angle); _local11 = Math.sin(_arg1.angle); _local12 = new Matrix(_local10, _local11, -(_local11), _local10, _arg1.point.x, _arg1.point.y); _local2 = _local12.transformPoint(_local2); _local3 = _local12.transformPoint(_local3); _local4 = _local12.transformPoint(_local4); _local5 = _local12.transformPoint(_local5); _local6 = _local12.transformPoint(_local6); _local7 = _local12.transformPoint(_local7); return ({top:_local2, bottom:_local3, left:_local5, right:_local4, rightTop:_local6, rightBottom:_local7}); } public function generateSparkles(_arg1:int=1, _arg2:int=0, _arg3:Number=1, _arg4:Number=0.5){ var _local5:int; var _local6:Point; return; } public function mDown(_arg1:Event){ if (DISABLED){ return; }; if (isDown[Keyboard.SPACE]){ startShapeDrawing(); return; }; if (WAND != null){ return; }; if (hittingSylvia(new Point(stage.mouseX, stage.mouseY))){ if (sylvia.head.hitTestPoint(stage.mouseX, stage.mouseY, true)){ expression.react("speak"); if ((((((MAGIC_PHRASE_POS == (MAGIC_PHRASE_LEN - 1))) && ((belly.getMaxSize(0) < FINAL_SIZE)))) && (1))){ belly.maxSize = FINAL_SIZE; speech.say("So...| What are you waiting for? Keep on going."); MAGIC_PHRASE_POS++; } else { speech.interruptible = true; speech.say(MAGIC_PHRASES[MAGIC_PHRASE_POS++]); }; speech.interruptible = false; MAGIC_PHRASE_POS = (MAGIC_PHRASE_POS % MAGIC_PHRASE_LEN); }; if (!speech.speaking){ if (sylvia.arm1.hitTestPoint(stage.mouseX, stage.mouseY, true)){ speech.say("I'm sorry to say, I'm hardly animated at all.| Look at my arm.| It never moves.| Almost everything you see here is moving through code."); } else { if (sylvia.wing1.hitTestPoint(stage.mouseX, stage.mouseY, true)){ speech.say("My wings look like an insect's wings, right?"); } else { if (((sylvia.hair1.hitTestPoint(stage.mouseX, stage.mouseY, true)) || (sylvia.hair2.hitTestPoint(stage.mouseX, stage.mouseY, true)))){ speech.say("I have beautiful hair. It's colorful."); } else { if (((((((((sylvia.arm2.hitTestPoint(stage.mouseX, stage.mouseY, true)) && (!(sylvia.body.hitTestPoint(stage.mouseX, stage.mouseY, true))))) && (!(sylvia.belly.hitTestPoint(stage.mouseX, stage.mouseY, true))))) && (!(sylvia.breast2.hitTestPoint(stage.mouseX, stage.mouseY, true))))) && ((Math.random() < 0.2)))){ speech.say("The keyboard might be useful here...| but don't press the Enter Key!"); }; }; }; }; }; return; }; if (hittingButtons(stage.mouseX, stage.mouseY)){ return; }; oldMX = stage.mouseX; oldMY = stage.mouseY; oldX = sylvia.x; oldY = sylvia.y; stage.addEventListener(MouseEvent.MOUSE_MOVE, moveStage, false, 0, true); stage.addEventListener(MouseEvent.MOUSE_UP, dropStage, false, 0, true); stage.addEventListener(Event.MOUSE_LEAVE, dropStage, false, 0, true); } public function startShapeDrawing(){ stage.addChild(shapeClip); shapeClip.graphics.clear(); shapeClip.graphics.lineStyle(2, 0xFFFFFF); shapeClip.graphics.moveTo(stage.mouseX, stage.mouseY); shapePoints.length = 0; shapePoints[shapePoints.length] = {x:stage.mouseX, y:stage.mouseY}; stage.addEventListener(MouseEvent.MOUSE_MOVE, drawingShape, false, 0, true); stage.addEventListener(MouseEvent.MOUSE_UP, stopShapeDrawing, false, 0, true); } public function getHandSpin():Array{ var _local1:MovieClip; var _local2:int; var _local3:Number; var _local4:Object; var _local5:Point; var _local6:Point; var _local7:Point; var _local8:Object; var _local9:Object; var _local10:Point; 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:Array; _local1 = null; _local2 = 0; _local3 = 0; if (!handPressed){ return ([0, 0, 0, 0, 0, 0]); }; if (sylvia.breast1.hitTestPoint(stage.mouseX, stage.mouseY, true)){ _local1 = sylvia.breast1.ellipse; _local2 = 1; } else { if (sylvia.breast2.hitTestPoint(stage.mouseX, stage.mouseY, true)){ _local1 = sylvia.breast2.ellipse; _local2 = 2; } else { if (sylvia.belly.hitTestPoint(stage.mouseX, stage.mouseY, true)){ _local1 = sylvia.belly.ellipse; _local2 = 3; }; }; }; if (_local1 == null){ return ([0, 0, 0, 0, 0, 0]); }; if (_local1 == sylvia.belly.ellipse){ _local3 = ((belly.getSize(0) - 1) / (FINAL_SIZE - 1)); } else { _local3 = 1; }; _local4 = Geometry.getEllipse(_local1); _local5 = new Point(_local4.x, _local4.y); _local6 = new Point(_local4.radius, 0); _local7 = new Point(0, (_local4.radius * _local4.excentricity)); _local8 = Geometry.rotate(_local4.rotation, _local6.x, _local6.y); _local9 = Geometry.rotate(_local4.rotation, _local7.x, _local7.y); _local6 = _local1.parent.localToGlobal(new Point(_local8.x, _local8.y)); _local7 = _local1.parent.localToGlobal(new Point(_local9.x, _local9.y)); _local5 = _local1.parent.localToGlobal(_local5); _local10 = sylvia.localToGlobal(new Point(hand_mc.x, hand_mc.y)); _local11 = Math.min(Point.distance(_local6, _local5), Point.distance(_local7, _local5)); _local12 = Point.distance(_local10, _local5); _local13 = Math.atan2((_local10.y - _local5.y), (_local10.x - _local5.x)); _local14 = (_local12 / _local11); _local15 = (Math.cos(_local13) * _local14); _local16 = (Math.sin(_local13) * _local14); _local17 = (((_local16 * _local15))<0) ? -1 : 1; _local18 = Math.atan((_local16 / _local15)); _local19 = ((Math.PI * 0.25) - Math.abs(((Math.PI * 0.25) - Math.abs(_local18)))); _local20 = (((_local17 * _local19) * Math.PI) * 0.25); _local21 = [((_local15 * Math.PI) * 0.5), ((_local16 * Math.PI) * 0.5), _local20, _local15, _local16, _local2]; _local21[0] = Geometry.interpolateAngle(initHandSpin[0], _local21[0], _local3); _local21[1] = Geometry.interpolateAngle(initHandSpin[1], _local21[1], _local3); _local21[2] = Geometry.interpolateAngle(initHandSpin[2], _local21[2], _local3); return (_local21); } public function drawOuterShade(_arg1:Graphics, _arg2:Object, _arg3:Number, _arg4:Number){ if (_arg3 >= Math.SQRT1_2){ _arg1.moveTo(_arg2.top.x, _arg2.top.y); _arg1.curveTo(_arg2.bottom.x, _arg2.bottom.y, _arg2.right.x, _arg2.right.y); _arg1.curveTo(_arg2.rightBottom.x, _arg2.rightBottom.y, _arg2.bottom.x, _arg2.bottom.y); _arg1.curveTo(_arg2.left.x, _arg2.left.y, _arg2.top.x, _arg2.top.y); } else { if (_arg3 <= -(Math.SQRT1_2)){ _arg1.moveTo(_arg2.bottom.x, _arg2.bottom.y); _arg1.curveTo(_arg2.top.x, _arg2.top.y, _arg2.right.x, _arg2.right.y); _arg1.curveTo(_arg2.rightTop.x, _arg2.rightTop.y, _arg2.top.x, _arg2.top.y); _arg1.curveTo(_arg2.left.x, _arg2.left.y, _arg2.bottom.x, _arg2.bottom.y); } else { if (_arg4 > 0){ drawOuterLight(_arg1, _arg2); }; }; }; } public function determineShapeAction(){ var _local1:String; shapePoints = Algorithms.simplifyPointsList(shapePoints); _local1 = Algorithms.pointsToShape(shapePoints).join(""); switch (_local1){ case "urdl": case "rdlu": case "dlur": case "lurd": case "uldr": case "ldru": case "drul": case "ruld": speech.interruptible = true; speech.say("Nice rectangle magic! This is pretty big."); if (EXPAND_PHRASE < 5){ EXPAND_PHRASE = 5; }; belly.size = MAX_SIZE; break; case "lef": case "efl": case "fle": case "hgr": case "rhg": case "grh": if (EXPAND_PHRASE < 8){ EXPAND_PHRASE = 8; }; speech.say("What special magic! I feel huge!"); belly.size = (belly.maxSize = FINAL_SIZE); if (!CENTER_CLIP.parent){ enableComplete(); }; break; case "lfe": case "fel": case "elf": case "ghr": case "rgh": case "hrg": speech.say("Ooh... You put me back to normal."); belly.size = 1; break; case "efgh": case "fghe": case "ghef": case "hefg": case "gfeh": case "fehg": case "ehgf": case "hgfe": if (!BEVEL_ENABLED){ speech.say("Oh, are you preparing your green spell?"); BEVEL_ENABLED = true; }; break; case "rgr": case "lel": if (!SPEED_ENABLED){ speech.say("So you want to use yellow magic to speed it up?"); SPEED_ENABLED = true; }; break; case "ufu": case "dhd": if (belly.getMaxSize(0) < FINAL_SIZE){ speech.say("So you can make my belly grow very big?"); belly.maxSize = FINAL_SIZE; }; break; case "rgrh": case "grhr": case "rhrg": case "hrgr": case "lfle": case "flel": case "lelf": case "elfl": if (((!(CONSTANT_EXPANSION)) || ((belly.getSize(0) == belly.getMaxSize(0))))){ speech.say("Oh, I'm growing on my own. When will it stop?"); CONSTANT_EXPANSION = true; }; break; default: break; }; if ((((belly.getSize(0) > TOP_BREAK_FRAME)) && (!(TOP_BROKEN)))){ breakTop(); }; shapeClip.graphics.clear(); shapeClip.parent.removeChild(shapeClip); } public function blushOn(){ blushMode = 1; } public function getInnerKick(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Object):Object{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Point; var _local9:Point; var _local10:Point; var _local11:Point; var _local12:Point; var _local13:Point; var _local14:Point; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Matrix; _local5 = 0.5; _local6 = (Math.SQRT1_2 - 0.5); _local7 = (_local5 + (2 * _local6)); _local8 = new Point(-1, 0); _local9 = new Point(1, 0); _local10 = new Point(0, 1); _local11 = new Point(0, -1); _local12 = new Point((_arg4.vTilt * 2), (_arg4.hTilt * 2)); _local13 = new Point(_local7, _local7); _local14 = new Point(-(_local7), _local7); _local12.y = Math.abs(_arg4.vTilt); _local12.x = _arg4.hTilt; _local15 = (_arg3 * _arg4.scaleX); _local16 = (_arg3 * _arg4.scaleY); _local9.x = (_local9.x * _local15); _local8.x = -(_local9.x); _local10.y = (_local10.y * _local16); _local11.y = (_local11.y * _local16); _local13.x = (_local13.x * _local15); _local13.y = (_local13.y * _local16); _local14.x = -(_local13.x); _local14.y = _local13.y; _local12.y = (_local12.y * _local16); _local12.x = (_local12.x * _local15); _local17 = Math.tan(_arg4.skewAngleX); _local18 = Math.tan(_arg4.skewAngleY); _local19 = new Matrix(1, _local18, _local17, 1, _arg1, _arg2); _local8 = _local19.transformPoint(_local8); _local9 = _local19.transformPoint(_local9); _local10 = _local19.transformPoint(_local10); _local11 = _local19.transformPoint(_local11); _local12 = _local19.transformPoint(_local12); _local14 = _local19.transformPoint(_local14); _local13 = _local19.transformPoint(_local13); return ({left:_local8, right:_local9, bottom:_local10, top:_local11, center:_local12, midLeft:_local14, midRight:_local13}); } public function drawSparkle(_arg1:Graphics, _arg2:Object){ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:uint; if (_arg2.time < _arg2.startFrame){ return; }; _local3 = ((_arg2.time - _arg2.startFrame) / _arg2.duration); _local5 = (_arg2.time - _arg2.startFrame); _local6 = (_arg2.peakTime * _arg2.duration); if (_local3 <= _arg2.peakTime){ _local7 = _local6; _local4 = (1 - ((_local6 - _local5) / _local7)); } else { _local7 = (_arg2.duration - _local6); _local4 = (1 - ((_local5 - _local6) / _local7)); }; _local8 = (_local4 * _arg2.maxSize); _local9 = (_arg2.startSpin + (_local3 * (_arg2.endSpin - _arg2.startSpin))); _local10 = blendColor(_arg2.color, 0xFFFFFF, _local4); _arg1.beginFill(_local10); Drawing.drawSparkle(_arg1, _local8, 4, 0.15, _local9, _arg2.x, _arg2.y); _arg1.endFill(); } public function zooming(_arg1:Event){ sylvia.scaleY = (sylvia.scaleX = (sylvia.scaleX + zoomDir)); if (sylvia.scaleX > maxZoom){ sylvia.scaleX = maxZoom; sylvia.scaleY = sylvia.scaleX; }; Algorithms.adjustScreen(sylvia, sylvia.rect); move3D(); } public function endComplete(_arg1:Boolean=false){ DISABLED = false; blushOff(); stage.removeEventListener(Event.ENTER_FRAME, completing); if (GLOW_CLIP.parent){ GLOW_CLIP.parent.removeChild(GLOW_CLIP); GLOW_CLIP.graphics.clear(); }; COMPLETING = false; if (!_arg1){ expression.setState("normal", true); speech.say("Ah...| Thank-you for helping me.|| Thanks to you, our forest will continue to have lots of fairies."); }; } public 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 = PARENT.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; } public function hittingButtons(_arg1:Number, _arg2:Number):Boolean{ if (plus_mc.hitTestPoint(_arg1, _arg2, true)){ return (true); }; if (minus_mc.hitTestPoint(_arg1, _arg2, true)){ return (true); }; if (zero_mc.hitTestPoint(_arg1, _arg2, true)){ return (true); }; if (wand_mc.hitTestPoint(_arg1, _arg2, true)){ return (true); }; if (hand_tool_mc.hitTestPoint(_arg1, _arg2, true)){ return (true); }; return (false); } public function wandFrame(_arg1:Event){ var _local2:Number; var _local3:Number; var _local4:Point; var _local5:ColorTransform; var _local6:uint; var _local7:uint; var _local8:uint; _local2 = (stage.mouseX / stage.stageWidth); _local3 = (stage.mouseY / stage.stageHeight); _local4 = sylvia.globalToLocal(new Point(WAND.x, WAND.y)); _local5 = WAND.glow.transform.colorTransform; _local6 = (_local5.redMultiplier * 0xFF); _local7 = (_local5.greenMultiplier * 0xFF); _local8 = (_local5.blueMultiplier * 0xFF); if ((((_local2 < 0.5)) && ((_local3 > 0.5)))){ wandMode = WAND_REVERT; belly.growth = (((_local2 * 2) - 1) * BELLY_SPEED); } else { if ((((_local2 > 0.5)) && ((_local3 < 0.5)))){ wandMode = WAND_EXPAND; if (expression.defaultState == "sad"){ expression.setState("normal", true); }; belly.growth = (((_local2 * 2) - 1) * BELLY_SPEED); if ((((belly.getSize(0) > TOP_BREAK_FRAME)) && (!(TOP_BROKEN)))){ breakTop(); expression.react("teeth", -1); speech.say("Oh!|| It broke."); }; } else { if ((((_local2 < 0.5)) && ((_local3 < 0.5)))){ if (BEVEL_ENABLED){ if (!TOP_BROKEN){ breakTop(); }; generateBevel(); if (!BEVEL_ACTIVE){ BEVEL_ACTIVE = true; expression.react("surprised", 70); speech.say("Ooh! That's..."); }; }; belly.growth = 0; } else { if ((((_local2 > 0.5)) && ((_local3 > 0.5)))){ belly.growth = 0; }; }; }; }; } public function endZoom(_arg1:Event){ stage.removeEventListener(Event.ENTER_FRAME, zooming); stage.removeEventListener(MouseEvent.MOUSE_UP, endZoom); } public function startZoom(_arg1:Event){ var _local2:MovieClip; if (DISABLED){ return; }; _local2 = (_arg1.currentTarget as MovieClip); if (_local2 == plus_mc){ zoomDir = zoomScale; } else { if (_local2 == minus_mc){ zoomDir = -(zoomScale); } else { if (_local2 == zero_mc){ sylvia.x = ENVIRON_X; sylvia.y = ENVIRON_Y; sylvia.scaleX = (sylvia.scaleY = 1); Algorithms.adjustScreen(sylvia, sylvia.rect); move3D(); return; }; }; }; stage.addEventListener(Event.ENTER_FRAME, zooming, false, 0, true); stage.addEventListener(MouseEvent.MOUSE_UP, endZoom, false, 0, true); } public function handUp(_arg1:Event){ handPressed = false; HAND_WEIGHT = 0; } public function displayCopy(_arg1:Event){ info_txt.visible = !(info_txt.visible); } public function updateClothes(){ var _local1:Graphics; updateClothesPoints(CLOTHES_POINTS); TOP_CLIP_BACK.graphics.clear(); TOP_CLIP_FRONT2.graphics.clear(); TOP_CLIP_FRONT1.graphics.clear(); BOTTOM_CLIP_FRONT.graphics.clear(); BOTTOM_CLIP_BACK.graphics.clear(); _local1 = TOP_CLIP_FRONT1.graphics; _local1.lineStyle(0.1); _local1.beginFill(TOP_FILL_COLOR); drawPointList(_local1, TOP_LEFT_POINTS, CLOTHES_POINTS); _local1.endFill(); _local1 = TOP_CLIP_FRONT2.graphics; _local1.lineStyle(0.1); _local1.beginFill(TOP_FILL_COLOR); drawPointList(_local1, TOP_RIGHT_POINTS, CLOTHES_POINTS); _local1.endFill(); _local1 = TOP_CLIP_FRONT1.graphics; _local1.lineStyle(0.1); _local1.beginFill(TOP_STRAP_COLOR); drawPointList(_local1, TOP_STRAP_LEFT_POINTS, CLOTHES_POINTS); _local1.endFill(); _local1 = TOP_CLIP_FRONT2.graphics; _local1.lineStyle(0.1); _local1.beginFill(TOP_STRAP_COLOR); drawPointList(_local1, TOP_STRAP_RIGHT_POINTS, CLOTHES_POINTS); _local1.endFill(); if (!TOP_BROKEN){ _local1 = TOP_CLIP_FRONT1.graphics; _local1.lineStyle(0.1); _local1.beginFill(TOP_STRAP_COLOR); drawPointList(_local1, TOP_STRAP_MID_POINTS, CLOTHES_POINTS); _local1.endFill(); }; _local1 = TOP_CLIP_FRONT2.graphics; _local1.lineStyle(0.1); _local1.beginFill(TOP_STRAP_COLOR); drawPointList(_local1, TOP_STRAP_BACK_POINTS, CLOTHES_POINTS); _local1.endFill(); _local1 = BOTTOM_CLIP_FRONT.graphics; _local1.lineStyle(undefined, undefined, undefined); _local1.beginFill(TOP_FILL_COLOR); drawPointList(_local1, BOTTOM_FRONT_POINTS, CLOTHES_POINTS); _local1.endFill(); _local1.lineStyle(0.1); drawPointList(_local1, BOTTOM_FRONT_POINTS, CLOTHES_POINTS, false); _local1 = BOTTOM_CLIP_BACK.graphics; _local1.lineStyle(undefined, undefined, undefined); _local1.beginFill(TOP_FILL_COLOR); drawPointList(_local1, BOTTOM_BACK_POINTS, CLOTHES_POINTS); _local1.endFill(); _local1.lineStyle(0.1); drawPointList(_local1, BOTTOM_BACK_POINTS, CLOTHES_POINTS, false); } public function speechFinished(_arg1:Event){ sylvia.head.mouth.gotoAndPlay(expression.curState[mouthID][Expression.FRAME]); if (expression.timer < 0){ expression.endReact(); }; speech.interruptible = true; } public function setClothesPoint(_arg1:Point, _arg2:MovieClip){ var _local3:Point; var _local4:Point; _local3 = _arg2.localToGlobal(new Point()); _local4 = sylvia.globalToLocal(_local3); _arg1.x = _local4.x; _arg1.y = _local4.y; } public function updateKicks(){ var _local1:int; var _local2:int; var _local3:Object; var _local4:Number; var _local5:Object; var _local6:Number; var _local7:Number; _local2 = KICKS.length; KICK_FILL_CLIP.graphics.clear(); KICK_LINE_CLIP.graphics.clear(); _local5 = Geometry.getEllipse(ELLIPSE_CLIP); _local1 = 0; while (_local1 < _local2) { _local3 = KICKS[_local1]; _local4 = (_local3.time / _local3.duration); _local3.angle = (_local3.startAngle + (_local4 * (_local3.endAngle - _local3.startAngle))); _local3.distance = (_local3.startRadius + (_local4 * (_local3.endRadius - _local3.startRadius))); _local3.point = Geometry.pointFromEllipse(_local5, _local3); _local6 = (KICK_PEAK_TIME * _local3.duration); if (_local3.time < _local6){ _local7 = (1 - ((_local6 - _local3.time) / _local6)); } else { _local7 = (1 - ((_local3.time - _local6) / (_local3.duration - _local6))); }; _local3.size = ((_local7 * _local3.maxSize) * _local5.radius); _local3.time++; if (_local3.time > _local3.duration){ KICKS.splice(_local1, 1); _local1--; _local2--; } else { drawKick(_local3); }; _local1++; }; if (!KICKS.length){ return; }; } public function kDown(_arg1:KeyboardEvent){ if (((!(isDown[Keyboard.ENTER])) && ((_arg1.keyCode == Keyboard.ENTER)))){ resetAll(); }; isDown[_arg1.keyCode] = true; } public function wandEffect(_arg1:Event){ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:ColorTransform; _local2 = (stage.stageWidth * 0.25); _local3 = (stage.stageWidth * 0.75); _local4 = (stage.stageHeight * 0.25); _local5 = (stage.stageHeight * 0.75); _local6 = (_local3 - _local2); _local7 = (_local5 - _local4); _local8 = ((stage.mouseX - _local2) / _local6); _local9 = ((stage.mouseY - _local4) / _local7); if (_local8 < 0){ _local8 = 0; }; if (_local8 > 1){ _local8 = 1; }; if (_local9 < 0){ _local9 = 0; }; if (_local9 > 1){ _local9 = 1; }; _local10 = _local8; _local11 = (((1 - _local8) * (1 - _local9)) + (_local8 * _local9)); _local12 = ((1 - _local8) * _local9); if ((((_local8 == 0.5)) && ((_local9 == 0.5)))){ _local12 = 1; _local11 = _local12; _local10 = _local11; }; _local13 = new ColorTransform(_local10, _local11, _local12, WAND_ALPHA); WAND.glow.transform.colorTransform = _local13; } public function completing(_arg1:Event){ var _local2:Number; var _local3:MovieClip; var _local4:Object; var _local5:Point; var _local6:int; _local2 = ((belly.getSize(0) - 1) / (FINAL_SIZE - 1)); _local3 = sylvia.belly.ellipse; _local4 = Geometry.getEllipse(_local3); _local5 = new Point(_local4.x, _local4.y); _local5 = _local3.parent.localToGlobal(_local5); _local5 = sylvia.globalToLocal(_local5); GLOW_CLIP.x = _local5.x; GLOW_CLIP.y = _local5.y; GLOW_CLIP.alpha = _local2; GLOW_CLIP.scaleX = (GLOW_CLIP.scaleY = (0.2 + (_local2 * 0.8))); belly.size = (belly.getSize(0) - 2); _local6 = belly.getSize(0); if (_local6 <= 1){ endComplete(); } else { if (!(_local6 % 32)){ createGlow(); }; }; } public function enableComplete(){ if (CENTER_CLIP.parent){ stage.removeChild(CENTER_CLIP); } else { stage.addChild(CENTER_CLIP); }; } public function breakTop(){ var _local1:int; BREASTS_TIGHT = !(BREASTS_TIGHT); TOP_BROKEN = !(BREASTS_TIGHT); if (!BREASTS_TIGHT){ _local1 = 9; while (_local1 <= 18) { CLOTHES_POINTS[_local1].x[0] = 20; _local1++; }; }; } public function moveHand(_arg1:Event){ hand_mc.x = sylvia.mouseX; hand_mc.y = sylvia.mouseY; } public function hittingSylvia(_arg1:Point){ if (sylvia.body.hitTestPoint(_arg1.x, _arg1.y, true)){ return (true); }; if (sylvia.belly.hitTestPoint(_arg1.x, _arg1.y, true)){ return (true); }; if (sylvia.breast1.hitTestPoint(_arg1.x, _arg1.y, true)){ return (true); }; if (sylvia.breast2.hitTestPoint(_arg1.x, _arg1.y, true)){ return (true); }; if (sylvia.wing1.hitTestPoint(_arg1.x, _arg1.y, true)){ return (true); }; if (sylvia.leg1.hitTestPoint(_arg1.x, _arg1.y, true)){ return (true); }; if (sylvia.leg2.hitTestPoint(_arg1.x, _arg1.y, true)){ return (true); }; if (sylvia.arm1.hitTestPoint(_arg1.x, _arg1.y, true)){ return (true); }; if (sylvia.arm2.hitTestPoint(_arg1.x, _arg1.y, true)){ return (true); }; if (sylvia.tail.hitTestPoint(_arg1.x, _arg1.y, true)){ return (true); }; if (sylvia.hair1.hitTestPoint(_arg1.x, _arg1.y, true)){ return (true); }; if (sylvia.hair2.hitTestPoint(_arg1.x, _arg1.y, true)){ return (true); }; return (false); } public function resetClothes(){ resetClothesList(CLOTHES_POINTS); } } }//package sylvia_fla
Section 20
//speech_mc_44 (sylvia_fla.speech_mc_44) package sylvia_fla { import flash.display.*; import flash.text.*; public dynamic class speech_mc_44 extends MovieClip { public var _mc:MovieClip; public var _txt:TextField; } }//package sylvia_fla
Section 21
//sylvia_1 (sylvia_fla.sylvia_1) package sylvia_fla { import flash.display.*; public dynamic class sylvia_1 extends MovieClip { public var leg1:MovieClip; public var leg2:MovieClip; public var vine2:MovieClip; public var bg:MovieClip; public var bgLeaves:MovieClip; public var tail:MovieClip; public var arm2:MovieClip; public var hand_mc:MovieClip; public var plant:MovieClip; public var arm1:MovieClip; public var breast1:MovieClip; public var hair2:MovieClip; public var wing1:MovieClip; public var leaf1:MovieClip; public var leaf4:MovieClip; public var breast2:MovieClip; public var body:MovieClip; public var leaf3:MovieClip; public var grass:MovieClip; public var leaf2:MovieClip; public var vine3:MovieClip; public var vine4:MovieClip; public var vine1:MovieClip; public var hair1:MovieClip; public var belly:MovieClip; public var tree:MovieClip; public var head:MovieClip; } }//package sylvia_fla
Section 22
//Wand (Wand) package { import flash.display.*; public dynamic class Wand extends MovieClip { public var glow:MovieClip; } }//package

Library Items

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

Instance Names

"sylvia"Frame 1Symbol 238 MovieClip {sylvia_fla.sylvia_1}
"wand_mc"Frame 1Symbol 4 MovieClip {Wand}
"zero_mc"Frame 1Symbol 242 MovieClip {sylvia_fla._btn1_43}
"minus_mc"Frame 1Symbol 242 MovieClip {sylvia_fla._btn1_43}
"plus_mc"Frame 1Symbol 242 MovieClip {sylvia_fla._btn1_43}
"speech_mc"Frame 1Symbol 246 MovieClip {sylvia_fla.speech_mc_44}
"hand_tool_mc"Frame 1Symbol 233 MovieClip {sylvia_fla.hand_mc_35}
"copy_mc"Frame 1Symbol 248 MovieClip
"info_txt"Frame 1Symbol 249 EditableText
"glow"Symbol 4 MovieClip {Wand} Frame 1Symbol 3 MovieClip
"m1"Symbol 28 MovieClip {sylvia_fla.arm2_12} Frame 1Symbol 27 MovieClip
"m2"Symbol 28 MovieClip {sylvia_fla.arm2_12} Frame 1Symbol 27 MovieClip
"m3"Symbol 28 MovieClip {sylvia_fla.arm2_12} Frame 1Symbol 27 MovieClip
"m4"Symbol 28 MovieClip {sylvia_fla.arm2_12} Frame 1Symbol 27 MovieClip
"m6"Symbol 28 MovieClip {sylvia_fla.arm2_12} Frame 1Symbol 27 MovieClip
"m5"Symbol 28 MovieClip {sylvia_fla.arm2_12} Frame 1Symbol 27 MovieClip
"m3"Symbol 41 MovieClip {sylvia_fla.body_18} Frame 1Symbol 27 MovieClip
"m4"Symbol 41 MovieClip {sylvia_fla.body_18} Frame 1Symbol 27 MovieClip
"m5"Symbol 41 MovieClip {sylvia_fla.body_18} Frame 1Symbol 27 MovieClip
"m6"Symbol 41 MovieClip {sylvia_fla.body_18} Frame 1Symbol 27 MovieClip
"m7"Symbol 41 MovieClip {sylvia_fla.body_18} Frame 1Symbol 27 MovieClip
"m8"Symbol 41 MovieClip {sylvia_fla.body_18} Frame 1Symbol 27 MovieClip
"m9"Symbol 41 MovieClip {sylvia_fla.body_18} Frame 1Symbol 27 MovieClip
"m2"Symbol 41 MovieClip {sylvia_fla.body_18} Frame 1Symbol 27 MovieClip
"m1"Symbol 41 MovieClip {sylvia_fla.body_18} Frame 1Symbol 27 MovieClip
"m1"Symbol 45 MovieClip {sylvia_fla.breast2_19} Frame 1Symbol 27 MovieClip
"m9"Symbol 45 MovieClip {sylvia_fla.breast2_19} Frame 1Symbol 27 MovieClip
"m10"Symbol 45 MovieClip {sylvia_fla.breast2_19} Frame 1Symbol 27 MovieClip
"m2"Symbol 45 MovieClip {sylvia_fla.breast2_19} Frame 1Symbol 27 MovieClip
"m3"Symbol 45 MovieClip {sylvia_fla.breast2_19} Frame 1Symbol 27 MovieClip
"m4"Symbol 45 MovieClip {sylvia_fla.breast2_19} Frame 1Symbol 27 MovieClip
"m5"Symbol 45 MovieClip {sylvia_fla.breast2_19} Frame 1Symbol 27 MovieClip
"m6"Symbol 45 MovieClip {sylvia_fla.breast2_19} Frame 1Symbol 27 MovieClip
"m7"Symbol 45 MovieClip {sylvia_fla.breast2_19} Frame 1Symbol 27 MovieClip
"m8"Symbol 45 MovieClip {sylvia_fla.breast2_19} Frame 1Symbol 27 MovieClip
"center"Symbol 45 MovieClip {sylvia_fla.breast2_19} Frame 1Symbol 27 MovieClip
"ellipse"Symbol 45 MovieClip {sylvia_fla.breast2_19} Frame 1Symbol 44 MovieClip
"m1"Symbol 47 MovieClip {sylvia_fla.leg1_21} Frame 1Symbol 27 MovieClip
"m2"Symbol 47 MovieClip {sylvia_fla.leg1_21} Frame 1Symbol 27 MovieClip
"m3"Symbol 47 MovieClip {sylvia_fla.leg1_21} Frame 1Symbol 27 MovieClip
"m4"Symbol 47 MovieClip {sylvia_fla.leg1_21} Frame 1Symbol 27 MovieClip
"m5"Symbol 47 MovieClip {sylvia_fla.leg1_21} Frame 1Symbol 27 MovieClip
"pupil"Symbol 121 MovieClip {sylvia_fla.eye_28} Frame 1Symbol 111 MovieClip
"mouth"Symbol 122 MovieClip {sylvia_fla.head_22} Frame 1Symbol 99 MovieClip
"blush"Symbol 122 MovieClip {sylvia_fla.head_22} Frame 1Symbol 101 MovieClip
"ear2"Symbol 122 MovieClip {sylvia_fla.head_22} Frame 1Symbol 105 MovieClip
"ear1"Symbol 122 MovieClip {sylvia_fla.head_22} Frame 1Symbol 107 MovieClip
"eye"Symbol 122 MovieClip {sylvia_fla.head_22} Frame 1Symbol 121 MovieClip {sylvia_fla.eye_28}
"kicks2"Symbol 194 MovieClip {sylvia_fla.belly_31} Frame 1Symbol 27 MovieClip
"ellipse"Symbol 194 MovieClip {sylvia_fla.belly_31} Frame 1Symbol 44 MovieClip
"kicks1"Symbol 194 MovieClip {sylvia_fla.belly_31} Frame 1Symbol 27 MovieClip
"m1"Symbol 194 MovieClip {sylvia_fla.belly_31} Frame 1Symbol 27 MovieClip
"m2"Symbol 194 MovieClip {sylvia_fla.belly_31} Frame 1Symbol 27 MovieClip
"m1"Symbol 196 MovieClip {sylvia_fla.breast1_32} Frame 1Symbol 27 MovieClip
"m9"Symbol 196 MovieClip {sylvia_fla.breast1_32} Frame 1Symbol 27 MovieClip
"m3"Symbol 196 MovieClip {sylvia_fla.breast1_32} Frame 1Symbol 27 MovieClip
"m4"Symbol 196 MovieClip {sylvia_fla.breast1_32} Frame 1Symbol 27 MovieClip
"m6"Symbol 196 MovieClip {sylvia_fla.breast1_32} Frame 1Symbol 27 MovieClip
"m7"Symbol 196 MovieClip {sylvia_fla.breast1_32} Frame 1Symbol 27 MovieClip
"m8"Symbol 196 MovieClip {sylvia_fla.breast1_32} Frame 1Symbol 27 MovieClip
"m2"Symbol 196 MovieClip {sylvia_fla.breast1_32} Frame 1Symbol 27 MovieClip
"m5"Symbol 196 MovieClip {sylvia_fla.breast1_32} Frame 1Symbol 27 MovieClip
"center"Symbol 196 MovieClip {sylvia_fla.breast1_32} Frame 1Symbol 27 MovieClip
"ellipse"Symbol 196 MovieClip {sylvia_fla.breast1_32} Frame 1Symbol 44 MovieClip
"m1"Symbol 226 MovieClip {sylvia_fla.arm1_34} Frame 1Symbol 27 MovieClip
"m2"Symbol 226 MovieClip {sylvia_fla.arm1_34} Frame 1Symbol 27 MovieClip
"m3"Symbol 226 MovieClip {sylvia_fla.arm1_34} Frame 1Symbol 27 MovieClip
"m4"Symbol 226 MovieClip {sylvia_fla.arm1_34} Frame 1Symbol 27 MovieClip
"glove_mc"Symbol 233 MovieClip {sylvia_fla.hand_mc_35} Frame 1Symbol 228 MovieClip
"thumb_mc"Symbol 233 MovieClip {sylvia_fla.hand_mc_35} Frame 1Symbol 230 MovieClip
"wrist_mc"Symbol 233 MovieClip {sylvia_fla.hand_mc_35} Frame 1Symbol 232 MovieClip
"bg"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 6 MovieClip
"bgLeaves"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 8 MovieClip
"tree"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 10 MovieClip
"grass"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 12 MovieClip
"leaf2"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 14 MovieClip
"leaf3"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 16 MovieClip
"leaf4"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 18 MovieClip
"plant"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 20 MovieClip
"vine1"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 22 MovieClip
"vine2"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 24 MovieClip
"arm2"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 28 MovieClip {sylvia_fla.arm2_12}
"tail"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 30 MovieClip
"hair2"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 32 MovieClip
"wing1"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 34 MovieClip
"leg2"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 36 MovieClip
"body"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 41 MovieClip {sylvia_fla.body_18}
"breast2"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 45 MovieClip {sylvia_fla.breast2_19}
"leg1"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 47 MovieClip {sylvia_fla.leg1_21}
"head"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 122 MovieClip {sylvia_fla.head_22}
"hair1"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 124 MovieClip
"belly"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 194 MovieClip {sylvia_fla.belly_31}
"breast1"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 196 MovieClip {sylvia_fla.breast1_32}
"vine3"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 198 MovieClip
"arm1"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 226 MovieClip {sylvia_fla.arm1_34}
"hand_mc"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 233 MovieClip {sylvia_fla.hand_mc_35}
"vine4"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 235 MovieClip
"leaf1"Symbol 238 MovieClip {sylvia_fla.sylvia_1} Frame 1Symbol 237 MovieClip
"_txt"Symbol 242 MovieClip {sylvia_fla._btn1_43} Frame 1Symbol 241 EditableText
"_mc"Symbol 246 MovieClip {sylvia_fla.speech_mc_44} Frame 1Symbol 27 MovieClip
"_txt"Symbol 246 MovieClip {sylvia_fla.speech_mc_44} Frame 1Symbol 245 EditableText

Special Tags

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

Labels

"smile"Symbol 99 MovieClip Frame 1
"teeth"Symbol 99 MovieClip Frame 20
"happy"Symbol 99 MovieClip Frame 40
"sad"Symbol 99 MovieClip Frame 60
"unhappy"Symbol 99 MovieClip Frame 80
"teeth2"Symbol 99 MovieClip Frame 100
"happy2"Symbol 99 MovieClip Frame 120
"happy3"Symbol 99 MovieClip Frame 140
"closed"Symbol 99 MovieClip Frame 160
"_m"Symbol 99 MovieClip Frame 180
"_e"Symbol 99 MovieClip Frame 200
"_i"Symbol 99 MovieClip Frame 200
"_o"Symbol 99 MovieClip Frame 220
"_a"Symbol 99 MovieClip Frame 240
"_u"Symbol 99 MovieClip Frame 260
"open"Symbol 121 MovieClip {sylvia_fla.eye_28} Frame 1
"closed"Symbol 121 MovieClip {sylvia_fla.eye_28} Frame 3
"small"Symbol 121 MovieClip {sylvia_fla.eye_28} Frame 5
"medium"Symbol 121 MovieClip {sylvia_fla.eye_28} Frame 7
"big"Symbol 121 MovieClip {sylvia_fla.eye_28} Frame 9
"mad"Symbol 121 MovieClip {sylvia_fla.eye_28} Frame 13
"sad"Symbol 121 MovieClip {sylvia_fla.eye_28} Frame 15
"sad2"Symbol 121 MovieClip {sylvia_fla.eye_28} Frame 17
"shut"Symbol 121 MovieClip {sylvia_fla.eye_28} Frame 19
"blink"Symbol 121 MovieClip {sylvia_fla.eye_28} Frame 30
"endblink"Symbol 121 MovieClip {sylvia_fla.eye_28} Frame 34
"down"Symbol 226 MovieClip {sylvia_fla.arm1_34} Frame 1
"down2up"Symbol 226 MovieClip {sylvia_fla.arm1_34} Frame 15
"up"Symbol 226 MovieClip {sylvia_fla.arm1_34} Frame 35




http://swfchan.com/33/162735/info.shtml
Created: 9/8 -2019 08:00:57 Last modified: 9/8 -2019 08:00:57 Server time: 02/05 -2024 20:41:12