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

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

Interactive Whitefang expansion by Doom-the-wolf.swf

This is the info page for
Flash #162108

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


Text
---
"MAGIC GLOW"
AUTOMATIC BELLY INFLATOR

INFORMATION
Place the subject on the
platform. Controls are on
the camera.

Expand

continuous

+

Options

Autocam

<p align="right"><font face="Arial" size="18" color="#ff0000" letterSpacing="0.000000" kerning="1"><b>INFO BAR</b></font></p>

ActionScript [AS3]

Section 1
//Amber3Geometry (lavalamp.Amber3Geometry) package lavalamp { import flash.geom.*; public class Amber3Geometry { public static const TOLERANCE:Number = 0.01; public static function intersectLines(_arg1:Point, _arg2:Point, _arg3:Point, _arg4:Point, _arg5:Boolean=true):Point{ var _local6:Point; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Boolean; var _local12:Boolean; var _local13:Boolean; var _local14:Boolean; _local6 = new Point(); _local11 = (Math.abs((_arg1.y - _arg2.y)) < TOLERANCE); _local12 = (Math.abs((_arg3.y - _arg4.y)) < TOLERANCE); _local13 = (Math.abs((_arg1.x - _arg2.x)) < TOLERANCE); _local14 = (Math.abs((_arg3.x - _arg4.x)) < TOLERANCE); _local7 = ((_arg2.y - _arg1.y) / (_arg2.x - _arg1.x)); _local9 = (_arg1.y - (_arg1.x * _local7)); _local8 = ((_arg4.y - _arg3.y) / (_arg4.x - _arg3.x)); _local10 = (_arg3.y - (_arg3.x * _local8)); switch (true){ case ((_local11) && (_local12)): if (Math.abs((_arg3.y - _arg1.y)) < TOLERANCE){ _local6 = _arg1.clone(); }; return (null); case ((_local11) && (_local14)): _local6.x = _arg3.x; _local6.y = _arg1.y; break; case ((_local13) && (_local12)): _local6.x = _arg1.x; _local6.y = _arg3.y; break; case ((_local13) && (_local14)): if (Math.abs((_arg3.x - _arg1.x)) < TOLERANCE){ _local6 = _arg1.clone(); }; return (null); case _local13: _local6.x = _arg1.x; _local6.y = ((_local8 * _local6.x) + _local10); break; case _local14: _local6.x = _arg3.x; _local6.y = ((_local7 * _local6.x) + _local9); break; case _local11: _local6.y = _arg1.y; _local6.x = (Number((_local6.y - _local10)) / _local8); break; case _local12: _local6.y = _arg3.y; _local6.x = (Number((_local6.y - _local9)) / _local7); break; default: if ((((Math.abs((_local9 - _local10)) < TOLERANCE)) && ((Math.abs((_local7 - _local8)) < TOLERANCE)))){ return (null); }; _local6.x = (Number((_local10 - _local9)) / Number((_local7 - _local8))); _local6.y = ((_local6.x * _local7) + _local9); }; if (_arg5){ if ((((_local6.x > Math.max(_arg1.x, _arg2.x))) || ((_local6.x < Math.min(_arg1.x, _arg2.x))))){ return (null); }; if ((((_local6.y > Math.max(_arg1.y, _arg2.y))) || ((_local6.y < Math.min(_arg1.y, _arg2.y))))){ return (null); }; if ((((_local6.x > Math.max(_arg3.x, _arg4.x))) || ((_local6.x < Math.min(_arg3.x, _arg4.x))))){ return (null); }; if ((((_local6.y > Math.max(_arg3.y, _arg4.y))) || ((_local6.y < Math.min(_arg3.y, _arg4.y))))){ return (null); }; }; return (_local6.clone()); } private static function getLowestPositiveAngle(_arg1:Number):Number{ var _local2:Number; _local2 = (_arg1 % (Math.PI * 2)); while (_local2 < 0) { _local2 = (_local2 + (Math.PI * 2)); }; while (_local2 >= (Math.PI * 2)) { _local2 = (_local2 - (Math.PI * 2)); }; return (_local2); } public static function pointUnderLine(_arg1:Point, _arg2:Point, _arg3:Point):Boolean{ var _local4:Number; var _local5:Number; _local4 = (Math.atan2((_arg3.y - _arg2.y), (_arg3.x - _arg2.x)) + (Math.PI * 0.5)); _local5 = Math.atan2((_arg1.y - _arg2.y), (_arg1.x - _arg2.x)); return ((angularDistance(_local5, _local4) >= TOLERANCE)); } public static function line2triangle(_arg1:Point, _arg2:Point, _arg3:Point, _arg4:Point, _arg5:Point):Boolean{ if (line2line(_arg1, _arg2, _arg3, _arg4)){ return (true); }; if (line2line(_arg1, _arg2, _arg4, _arg5)){ return (true); }; if (line2line(_arg1, _arg2, _arg5, _arg3)){ return (true); }; if (point2triangle(_arg1, _arg3, _arg4, _arg5)){ return (true); }; return (false); } public static function getOuterPoints(_arg1:Array):Array{ var _local2:Array; var _local3:Point; var _local4:int; var _local5:Array; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Point; var _local11:int; var _local12:Number; var _local13:Point; var _local14:int; var _local15:Number; var _local16:Number; _local2 = _arg1.concat(); _local3 = _local2[0]; _local4 = 1; while (_local4 < _local2.length) { if (_local2[_local4].y < _local3.y){ _local3 = _local2[_local4]; }; _local4++; }; _local5 = [_local3]; _local6 = Infinity; _local8 = 0; _local9 = 0; _local10 = _local5[0]; _local11 = _local2.length; while (1) { _local12 = (Math.PI * 2); _local13 = null; _local4 = 0; while (_local4 < _local2.length) { _local7 = Math.atan2((_local2[_local4].y - _local5[(_local5.length - 1)].y), (_local2[_local4].x - _local5[(_local5.length - 1)].x)); _local16 = getLowestPositiveAngle((_local7 - _local8)); if ((((_local16 <= _local12)) && (!((_local2[_local4] == _local5[(_local5.length - 1)]))))){ _local13 = _local2[_local4]; _local12 = _local16; }; _local4++; }; if ((((_local13 == null)) || ((((_local13 == _local5[0])) && ((_local5.length > 1)))))){ break; }; _local15 = _local8; _local8 = getLowestPositiveAngle(Math.atan2((_local13.y - _local5[(_local5.length - 1)].y), (_local13.x - _local5[(_local5.length - 1)].x))); _local9 = (_local9 + getLowestPositiveAngle((_local8 - _local15))); if (_local9 >= (Math.PI * 2)){ break; }; _local5.push(_local13); --_local11; if (!_local11){ trace(("FAILURE: " + (_local9 - (Math.PI * 2))), "\n"); break; }; }; if ((((_local5.length > 2)) && ((_local5[(_local5.length - 1)] == _local5[1])))){ _local5.pop(); }; return (_local5); } public static function polygon2polygon(_arg1:Array, _arg2:Array):Boolean{ var _local3:Point; var _local4:Point; var _local5:Point; var _local6:Point; var _local7:Point; var _local8:Point; var _local9:int; var _local10:int; if ((((_arg1.length < 3)) || ((_arg2.length < 3)))){ return (false); }; _local3 = _arg1[0]; _local6 = _arg2[0]; _local9 = 1; while (_local9 < (_arg1.length - 1)) { _local4 = _arg1[_local9]; _local5 = _arg1[(_local9 + 1)]; _local10 = 1; while (_local10 < (_arg2.length - 1)) { _local7 = _arg2[_local10]; _local8 = _arg2[(_local10 + 1)]; if (triangle2triangle(_local3, _local4, _local5, _local6, _local7, _local8)){ return (true); }; _local10++; }; _local9++; }; return (false); } public static function point2triangle(_arg1:Point, _arg2:Point, _arg3:Point, _arg4:Point):Boolean{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local5 = (Number((_arg3.y - _arg2.y)) / Number((_arg3.x - _arg2.x))); _local6 = (Number((_arg4.y - _arg3.y)) / Number((_arg4.x - _arg3.x))); _local7 = (Number((_arg2.y - _arg4.y)) / Number((_arg2.x - _arg4.x))); _local8 = (_arg2.y - (_local5 * _arg2.x)); _local9 = (_arg3.y - (_local6 * _arg3.x)); _local10 = (_arg4.y - (_local7 * _arg4.x)); if (Math.abs((_arg3.x - _arg2.x)) < TOLERANCE){ if ((((Math.abs((_arg4.x - _arg2.x)) < TOLERANCE)) || (!((Boolean((_arg3.x < _arg1.x)) == Boolean((_arg3.x < _arg4.x))))))){ return (false); }; }; if ((((((_arg4.y <= ((_local5 * _arg4.x) + _local8))) && ((_arg1.y > ((_local5 * _arg1.x) + _local8))))) || ((((_arg4.y >= ((_local5 * _arg4.x) + _local8))) && ((_arg1.y < ((_local5 * _arg1.x) + _local8))))))){ return (false); }; if (Math.abs((_arg4.x - _arg3.x)) < TOLERANCE){ if ((((Math.abs((_arg2.x - _arg3.x)) < TOLERANCE)) || (!((Boolean((_arg4.x < _arg1.x)) == Boolean((_arg4.x < _arg2.x))))))){ return (false); }; }; if ((((((_arg2.y <= ((_local6 * _arg2.x) + _local9))) && ((_arg1.y > ((_local6 * _arg1.x) + _local9))))) || ((((_arg2.y >= ((_local6 * _arg2.x) + _local9))) && ((_arg1.y < ((_local6 * _arg1.x) + _local9))))))){ return (false); }; if (Math.abs((_arg2.x - _arg4.x)) < TOLERANCE){ if ((((Math.abs((_arg3.x - _arg4.x)) < TOLERANCE)) || (!((Boolean((_arg2.x < _arg1.x)) == Boolean((_arg2.x < _arg3.x))))))){ return (false); }; }; if ((((((_arg3.y <= ((_local7 * _arg3.x) + _local10))) && ((_arg1.y > ((_local7 * _arg1.x) + _local10))))) || ((((_arg3.y >= ((_local7 * _arg3.x) + _local10))) && ((_arg1.y < ((_local7 * _arg1.x) + _local10))))))){ return (false); }; return (true); } public static function closestPointOnLine(_arg1:Point, _arg2:Point, _arg3:Point):Point{ var _local4:Point; var _local5:Point; _local4 = _arg1.add(getNormal(_arg2, _arg3)); _local5 = intersectLines(_arg1, _local4, _arg2, _arg3, false); if (_local5 == null){ throw (((((((("Unexpected error in Geometry::closestPointToLine. Perpendicular lines aren't intersecting!\nA1:" + _arg1) + " A2:") + _local4) + " B1:") + _arg2) + " B2:") + _arg3)); }; return (_local5); } public static function triangle2triangle(_arg1:Point, _arg2:Point, _arg3:Point, _arg4:Point, _arg5:Point, _arg6:Point):Boolean{ if (line2triangle(_arg1, _arg2, _arg4, _arg5, _arg6)){ return (true); }; if (line2triangle(_arg2, _arg3, _arg4, _arg5, _arg6)){ return (true); }; if (line2triangle(_arg3, _arg1, _arg4, _arg5, _arg6)){ return (true); }; if (point2triangle(_arg1, _arg4, _arg5, _arg6)){ return (true); }; if (point2triangle(_arg4, _arg1, _arg2, _arg3)){ return (true); }; return (false); } public static function movePoints(_arg1:Array, _arg2:Point):Array{ var _local3:Array; var _local4:int; _local3 = []; _local4 = 0; while (_local4 < _arg1.length) { _local3[_local4] = _arg1[_local4].add(_arg2); _local4++; }; return (_local3); } public static function point2line(_arg1:Point, _arg2:Point, _arg3:Point):Boolean{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; if ((((_arg1.x < (Math.min(_arg2.x, _arg3.x) - TOLERANCE))) || ((_arg1.x > (Math.max(_arg2.x, _arg3.x) + TOLERANCE))))){ return (false); }; if ((((_arg1.y < (Math.min(_arg2.y, _arg3.y) - TOLERANCE))) || ((_arg1.y > (Math.max(_arg2.y, _arg3.y) + TOLERANCE))))){ return (false); }; _local4 = (_arg1.x - _arg2.x); _local5 = (_arg1.y - _arg2.y); _local6 = (_arg3.x - _arg2.x); _local7 = (_arg3.y - _arg2.y); if (Math.abs(_local6) < TOLERANCE){ if (Math.abs(_local7) < TOLERANCE){ return ((((Math.abs(_local4) < TOLERANCE)) && ((Math.abs(_local5) < TOLERANCE)))); }; if (Math.abs(_local4) < TOLERANCE){ return (true); }; return (false); }; if (Math.abs(((_local5 / _local4) - (_local7 / _local6))) > TOLERANCE){ return (false); }; return (true); } public static function angularDistance(_arg1:Number, _arg2:Number):Number{ return (Math.cos((_arg1 - _arg2))); } public static function point2polygon(_arg1:Point, _arg2:Array):Boolean{ var _local3:Point; var _local4:Point; var _local5:Point; var _local6:int; if (_arg2.length < 3){ return (false); }; _local3 = _arg2[0]; _local6 = 1; while (_local6 < (_arg2.length - 1)) { _local4 = _arg2[_local6]; _local5 = _arg2[(_local6 + 1)]; if (point2triangle(_arg1, _local3, _local4, _local5)){ return (true); }; _local6++; }; return (false); } public static function line2line(_arg1:Point, _arg2:Point, _arg3:Point, _arg4:Point):Boolean{ return (!((intersectLines(_arg1, _arg2, _arg3, _arg4) == null))); } public static function rotate(_arg1:Point, _arg2:Number, _arg3:Point):Point{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; _local4 = (_arg1.x - _arg3.x); _local5 = (_arg1.y - _arg3.y); _local6 = Math.cos(_arg2); _local7 = Math.sin(_arg2); return (new Point(((_arg3.x + (_local4 * _local6)) + (_local5 * _local7)), ((_arg3.y - (_local4 * _local7)) + (_local5 * _local6)))); } public static function line2polygon(_arg1:Point, _arg2:Point, _arg3:Array):Boolean{ var _local4:Point; var _local5:Point; var _local6:Point; var _local7:int; if (_arg3.length < 3){ return (false); }; _local4 = _arg3[0]; _local7 = 1; while (_local7 < (_arg3.length - 1)) { _local5 = _arg3[_local7]; _local6 = _arg3[(_local7 + 1)]; if (line2triangle(_arg1, _arg2, _local4, _local5, _local6)){ return (true); }; _local7++; }; return (false); } public static function getNormal(_arg1:Point, _arg2:Point):Point{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Point; _local3 = (_arg2.x - _arg1.x); _local4 = (_arg2.y - _arg1.y); _local5 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4))); _local6 = new Point((-(_local4) / _local5), (_local3 / _local5)); return (_local6); } public static function collide(_arg1:Array, _arg2:Array){ if ((((((((_arg1 == null)) || (!(_arg1.length)))) || ((_arg2 == null)))) || (!(_arg2.length)))){ return (false); }; if (_arg1.length > 2){ if (_arg2.length > 2){ return (polygon2polygon(_arg1, _arg2)); }; if (_arg2.length > 1){ return (line2polygon(_arg2[0], _arg2[1], _arg1)); }; return (point2polygon(_arg2[0], _arg1)); } else { if (_arg1.length > 1){ if (_arg2.length > 2){ return (line2polygon(_arg1[0], _arg1[1], _arg2)); }; if (_arg2.length > 1){ return (line2line(_arg1[0], _arg1[1], _arg2[0], _arg2[1])); }; } else { if (_arg2.length > 2){ return (point2polygon(_arg1[0], _arg2)); }; }; }; return (false); } public static function cutComponents(_arg1:Point, _arg2:Array):Point{ var _local3:Number; var _local4:Number; var _local5:int; var _local6:Number; if (!_arg2.length){ return (_arg1.clone()); }; _local3 = 0; _local4 = (Math.atan2(_arg1.y, _arg1.x) - Math.PI); _local5 = 0; while (_local5 < _arg2.length) { _local3 = (_local3 + Math.atan2((_arg2[(_local5 + 1)].y - _arg2[_local5].y), (_arg2[(_local5 + 1)].x - _arg2[_local5].x))); _local5 = (_local5 + 2); }; _local3 = (_local3 / (_arg2.length >> 1)); _local3 = (_local3 - (Math.PI * 0.5)); _local6 = (1 - Math.max(Math.cos((_local4 - _local3)), 0)); return (new Point((_arg1.x * _local6), (_arg1.y * _local6))); } } }//package lavalamp
Section 2
//Blob (lavalamp.Blob) package lavalamp { public class Blob { protected var _x:Number; protected var _vY:Number; protected var _vX:Number; protected var _transferred:Boolean; protected var _other:Blob; protected var _state:int; protected var _heat:Number; protected var _radius:Number; protected var _y:Number; public static const FUSING:int = -1; public static const NORMAL:int = 0; public static const SPLITTING:int = 1; public function Blob(_arg1:uint){ _radius = _arg1; _x = (_y = 0); _vX = (_vY = 0); _state = NORMAL; _other = null; _heat = (25 * area); _transferred = false; } public function transfer(_arg1:Number, _arg2:Number){ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; if (((!(_other)) || (_transferred))){ return; }; _local3 = area; _local4 = _other.area; if (_state == FUSING){ if (area < _arg1){ _arg1 = area; }; area = (area - _arg1); _other.area = (_other.area + _arg1); } else { if ((((_state == SPLITTING)) && ((_radius < _other._radius)))){ if (_other.area < _arg1){ _arg1 = _other.area; }; _other.area = (_other.area - _arg1); area = (area + _arg1); }; }; _local5 = (_other.x - x); _local6 = (_other.y - y); _local7 = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); if ((((_local7 > (_radius + _other._radius))) && (((((!((_state == SPLITTING))) || ((((_radius <= _other._radius)) && ((_radius >= _arg2)))))) || ((((_radius > _other._radius)) && ((_other._radius >= _arg2)))))))){ separate(); }; _transferred = true; } public function set vY(_arg1:Number){ _vY = _arg1; } public function set y(_arg1:Number){ _y = _arg1; } public function set vX(_arg1:Number){ _vX = _arg1; } public function set transferred(_arg1:Boolean){ _transferred = _arg1; } public function get area():Number{ return (((_radius * _radius) * Math.PI)); } public function get other():Blob{ return (_other); } public function get state():int{ return (_state); } public function get radius():Number{ return (_radius); } public function set area(_arg1:Number){ _radius = Math.sqrt((_arg1 / Math.PI)); } public function get vX():Number{ return (_vX); } public function set heat(_arg1:Number){ _heat = _arg1; } public function split():Blob{ var _local1:Blob; var _local2:Number; if (_state != NORMAL){ _local2 = (_radius + _other._radius); if (((((_radius / _local2) < 0.25)) || (((_other._radius / _local2) < 0.5)))){ return (null); }; separate(); }; _local1 = new Blob(0); _local1._x = ((_x + (Math.random() * 2)) - 1); _local1._y = ((_y + (Math.random() * 2)) - 1); _local1._vX = ((_vX + (Math.random() * 2)) - 1); _local1._vY = ((_vY + (Math.random() * 2)) - 1); _local1.temperature = temperature; _local1._state = SPLITTING; _local1._other = this; _state = SPLITTING; _other = _local1; _transferred = false; return (_local1); } public function get vY():Number{ return (_vY); } public function set temperature(_arg1:Number){ _heat = (_arg1 * area); } public function separate(){ if (!_other){ return; }; if (_state == SPLITTING){ _other._state = NORMAL; _other._other = null; }; _state = NORMAL; _other = null; } public function set radius(_arg1:Number){ _radius = _arg1; } public function set x(_arg1:Number){ _x = _arg1; } public function get heat():Number{ return (_heat); } public function get x():Number{ return (_x); } public function get y():Number{ return (_y); } public function get temperature():Number{ if (!_radius){ return (0); }; return ((_heat / area)); } public function get transferred():Boolean{ return (_transferred); } public static function fuse(_arg1:Blob, _arg2:Blob){ if (_arg1.radius < _arg2.radius){ if (_arg1._state != NORMAL){ return; }; _arg1._state = FUSING; _arg1._other = _arg2; } else { if (_arg2._state != NORMAL){ return; }; _arg2._other = _arg1; _arg2._state = FUSING; }; } } }//package lavalamp
Section 3
//Geometry (lavalamp.Geometry) package lavalamp { import flash.display.*; import flash.geom.*; public class Geometry { public static const TOLERANCE:Number = 0.01; public static function intersectLines(_arg1:Point, _arg2:Point, _arg3:Point, _arg4:Point, _arg5:Boolean=true):Point{ var _local6:Point; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Boolean; var _local12:Boolean; var _local13:Boolean; var _local14:Boolean; _local6 = new Point(); _local11 = (Math.abs((_arg1.y - _arg2.y)) < TOLERANCE); _local12 = (Math.abs((_arg3.y - _arg4.y)) < TOLERANCE); _local13 = (Math.abs((_arg1.x - _arg2.x)) < TOLERANCE); _local14 = (Math.abs((_arg3.x - _arg4.x)) < TOLERANCE); _local7 = ((_arg2.y - _arg1.y) / (_arg2.x - _arg1.x)); _local9 = (_arg1.y - (_arg1.x * _local7)); _local8 = ((_arg4.y - _arg3.y) / (_arg4.x - _arg3.x)); _local10 = (_arg3.y - (_arg3.x * _local8)); switch (true){ case ((_local11) && (_local12)): if (Math.abs((_arg3.y - _arg1.y)) < TOLERANCE){ _local6 = _arg1.clone(); }; return (null); case ((_local11) && (_local14)): _local6.x = _arg3.x; _local6.y = _arg1.y; break; case ((_local13) && (_local12)): _local6.x = _arg1.x; _local6.y = _arg3.y; break; case ((_local13) && (_local14)): if (Math.abs((_arg3.x - _arg1.x)) < TOLERANCE){ _local6 = _arg1.clone(); }; return (null); case _local13: _local6.x = _arg1.x; _local6.y = ((_local8 * _local6.x) + _local10); break; case _local14: _local6.x = _arg3.x; _local6.y = ((_local7 * _local6.x) + _local9); break; case _local11: _local6.y = _arg1.y; _local6.x = (Number((_local6.y - _local10)) / _local8); break; case _local12: _local6.y = _arg3.y; _local6.x = (Number((_local6.y - _local9)) / _local7); break; default: if ((((Math.abs((_local9 - _local10)) < TOLERANCE)) && ((Math.abs((_local7 - _local8)) < TOLERANCE)))){ return (null); }; _local6.x = (Number((_local10 - _local9)) / Number((_local7 - _local8))); _local6.y = ((_local6.x * _local7) + _local9); }; if (_arg5){ if ((((_local6.x > Math.max(_arg1.x, _arg2.x))) || ((_local6.x < Math.min(_arg1.x, _arg2.x))))){ return (null); }; if ((((_local6.y > Math.max(_arg1.y, _arg2.y))) || ((_local6.y < Math.min(_arg1.y, _arg2.y))))){ return (null); }; if ((((_local6.x > Math.max(_arg3.x, _arg4.x))) || ((_local6.x < Math.min(_arg3.x, _arg4.x))))){ return (null); }; if ((((_local6.y > Math.max(_arg3.y, _arg4.y))) || ((_local6.y < Math.min(_arg3.y, _arg4.y))))){ return (null); }; }; return (_local6.clone()); } public static function closestPointOnLine(_arg1:Point, _arg2:Point, _arg3:Point):Point{ var _local4:Point; var _local5:Point; _local4 = _arg1.add(getNormal(_arg2, _arg3)); _local5 = intersectLines(_arg1, _local4, _arg2, _arg3, false); if (_local5 == null){ throw (((((((("Unexpected error in Geometry::closestPointToLine. Perpendicular lines aren't intersecting!\nA1:" + _arg1) + " A2:") + _local4) + " B1:") + _arg2) + " B2:") + _arg3)); }; return (_local5); } public static function intersectCircles(_arg1:Point, _arg2:Number, _arg3:Point, _arg4:Number):Array{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; _local5 = (_arg3.x - _arg1.x); _local6 = (_arg3.y - _arg1.y); _local7 = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); if ((((_local7 > (_arg2 + _arg4))) || ((((_local7 < _arg2)) && ((_local7 < _arg4)))))){ return ([]); }; _local8 = Math.atan2((_arg3.y - _arg1.y), (_arg3.x - _arg1.x)); _local9 = (_arg2 / (_arg2 + _arg4)); _local10 = ((((_local7 * _local7) + (_arg2 * _arg2)) - (_arg4 * _arg4)) / (2 * _local7)); _local11 = Math.sqrt(((_arg2 * _arg2) - (_local10 * _local10))); _local12 = Math.cos(_local8); _local13 = Math.cos((_local8 - (Math.PI * 0.5))); _local14 = Math.cos((_local8 + (Math.PI * 0.5))); _local15 = Math.sin(_local8); _local16 = Math.sin((_local8 - (Math.PI * 0.5))); _local17 = Math.sin((_local8 + (Math.PI * 0.5))); _local18 = ((_local12 * _local10) + (_local13 * _local11)); _local19 = ((_local15 * _local10) + (_local16 * _local11)); _local20 = ((_local12 * _local10) + (_local14 * _local11)); _local21 = ((_local15 * _local10) + (_local17 * _local11)); return ([new Point((_arg1.x + _local18), (_arg1.y + _local19)), new Point((_arg1.x + _local20), (_arg1.y + _local21))]); } public static function circle2line(_arg1:Point, _arg2:Number, _arg3:Point, _arg4:Point):Array{ var _local5:Point; var _local6:Point; _local5 = closestPointOnLine(_arg1, _arg3, _arg4); if (!_local5){ return ([]); }; _local6 = _local5.add(_local5.subtract(_arg1)); return (intersectCircles(_arg1, _arg2, _local6, _arg2)); } public static function getOuterPoints(_arg1:Array):Array{ var _local2:Array; var _local3:Point; var _local4:int; var _local5:Array; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Point; var _local11:int; var _local12:Number; var _local13:Point; var _local14:int; var _local15:Number; var _local16:Number; _local2 = _arg1.concat(); _local3 = _local2[0]; _local4 = 1; while (_local4 < _local2.length) { if (_local2[_local4].y < _local3.y){ _local3 = _local2[_local4]; }; _local4++; }; _local5 = [_local3]; _local6 = Infinity; _local8 = 0; _local9 = 0; _local10 = _local5[0]; _local11 = _local2.length; while (1) { _local12 = (Math.PI * 2); _local13 = null; _local4 = 0; while (_local4 < _local2.length) { _local7 = Math.atan2((_local2[_local4].y - _local5[(_local5.length - 1)].y), (_local2[_local4].x - _local5[(_local5.length - 1)].x)); _local16 = getLowestPositiveAngle((_local7 - _local8)); if ((((_local16 <= _local12)) && (!((_local2[_local4] == _local5[(_local5.length - 1)]))))){ _local13 = _local2[_local4]; _local12 = _local16; }; _local4++; }; if ((((_local13 == null)) || ((((_local13 == _local5[0])) && ((_local5.length > 1)))))){ break; }; _local15 = _local8; _local8 = getLowestPositiveAngle(Math.atan2((_local13.y - _local5[(_local5.length - 1)].y), (_local13.x - _local5[(_local5.length - 1)].x))); _local9 = (_local9 + getLowestPositiveAngle((_local8 - _local15))); if (_local9 >= (Math.PI * 2)){ break; }; _local5.push(_local13); --_local11; if (!_local11){ trace(("FAILURE: " + (_local9 - (Math.PI * 2))), "\n"); break; }; }; if ((((_local5.length > 2)) && ((_local5[(_local5.length - 1)] == _local5[1])))){ _local5.pop(); }; return (_local5); } private static function getLowestPositiveAngle(_arg1:Number):Number{ var _local2:Number; _local2 = _arg1; while (_local2 < 0) { _local2 = (_local2 + (Math.PI * 2)); }; while (_local2 >= (Math.PI * 2)) { _local2 = (_local2 - (Math.PI * 2)); }; return (_local2); } public static function rotate(_arg1:Point, _arg2:Number, _arg3:Point){ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; _local4 = (_arg1.x - _arg3.x); _local5 = (_arg1.y - _arg3.y); _local6 = Math.cos(_arg2); _local7 = Math.sin(_arg2); return (new Point(((_arg3.x + (_local4 * _local6)) + (_local5 * _local7)), ((_arg3.y + (-(_local4) * _local7)) + (_local5 * _local6)))); } public static function getNormal(_arg1:Point, _arg2:Point):Point{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Point; _local3 = (_arg2.x - _arg1.x); _local4 = (_arg2.y - _arg1.y); _local5 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4))); _local6 = new Point((-(_local4) / _local5), (_local3 / _local5)); return (_local6); } 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:Point; var _local10:Point; var _local11:Point; 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 = Amber3Geometry.intersectLines(_local4, _local3, _local5, _local6, false); if (_local9 == null){ _arg2.lineTo(_local5.x, _local5.y); } else { _local10 = Point.interpolate(_local3, _local5, 0.5); _local11 = Point.interpolate(_local10, _local9, 0.7); _local9 = _local11; _local7.push(_local9); _arg2.curveTo(_local9.x, _local9.y, _local5.x, _local5.y); }; _local8++; }; return (_local7); } } }//package lavalamp
Section 4
//HeatSource (lavalamp.HeatSource) package lavalamp { public class HeatSource { private var _y:int; private var _radius:int; private var _temp:int; private var _x:int; public function HeatSource(_arg1:int, _arg2:int){ _temp = _arg1; _x = (_y = 0); _radius = _arg2; } public function get y():int{ return (_y); } public function set radius(_arg1:int){ _radius = _arg1; } public function set temperature(_arg1:int){ _temp = _arg1; } public function set y(_arg1:int){ _y = _arg1; } public function set x(_arg1:int){ _x = _arg1; } public function get x():int{ return (_x); } public function get temperature():int{ return (_temp); } public function get radius():int{ return (_radius); } } }//package lavalamp
Section 5
//Lava (lavalamp.Lava) package lavalamp { import flash.display.*; public class Lava { public var _height:Number; public var _y:Number; public var _width:Number; private var _waveLengths:Array; public var _intervals:uint; private var _angles:Array; private var _amplitudes:Array; private var _phases:Array; public var _x:Number; private var _frequencies:Array; public function Lava(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:uint){ _waveLengths = []; _amplitudes = []; _phases = []; _frequencies = []; _angles = []; _intervals = 1; _x = _arg1; _y = _arg2; _width = _arg3; _height = _arg4; _intervals = _arg5; } public function draw(_arg1:Graphics){ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:int; var _local6:int; _local2 = _intervals; if (!_local2){ _local2 = 1; }; _local5 = 0; while (_local5 < Math.abs(_width)) { if (_width < 0){ _local3 = (_x - _local5); } else { _local3 = (_x + _local5); }; _local4 = _y; _local6 = 0; while (_local6 < _waveLengths.length) { _local4 = (_local4 + ((Math.sin((_phases[_local6] + (((Math.PI * 2) * _local5) / _waveLengths[_local6]))) * _amplitudes[_local6]) * Math.cos(_angles[_local6]))); _local6++; }; if (!_local5){ _arg1.moveTo(_local3, _local4); } else { _arg1.lineTo(_local3, _local4); }; _local5 = (_local5 + _local2); }; _local3 = (_x + _width); _local4 = _y; _local6 = 0; while (_local6 < _waveLengths.length) { _local4 = (_local4 + ((Math.sin((_phases[_local6] + (((Math.PI * 2) * Math.abs(_width)) / _waveLengths[_local6]))) * _amplitudes[_local6]) * Math.cos(_angles[_local6]))); _local6++; }; if (!_local5){ _arg1.moveTo(_local3, _local4); } else { _arg1.lineTo(_local3, _local4); }; _arg1.lineTo((_x + _width), (_y + _height)); _arg1.lineTo(_x, (_y + _height)); _local3 = _x; _local4 = _y; _local6 = 0; while (_local6 < _waveLengths.length) { _local4 = (_local4 + ((Math.sin((_phases[_local6] + (((Math.PI * 2) * _local3) / _waveLengths[_local6]))) * _amplitudes[_local6]) * Math.cos(_angles[_local6]))); _local6++; }; _arg1.lineTo(_local3, _local4); } public function clearWaves(){ _waveLengths = []; _amplitudes = []; _phases = []; _frequencies = []; } public function update(){ var _local1:int; _local1 = 0; while (_local1 < _waveLengths.length) { _angles[_local1] = (_angles[_local1] + _frequencies[_local1]); _local1++; }; } public function addWave(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){ _waveLengths.push(_arg1); _amplitudes.push(_arg2); _phases.push(_arg3); _frequencies.push(_arg4); _angles.push(0); } } }//package lavalamp
Section 6
//LavaLamp (lavalamp.LavaLamp) package lavalamp { import flash.display.*; import flash.geom.*; public class LavaLamp { public var _surfaceTension:Number; public var _pressurePerDegree:Number; public var _heatLossRate:Number; public var _fuseTemperature:Number; public var _gravity:Number; public var _maxRadius:Number; public var _minConnectionDist:Number; public var _fillColor:int; public var _maxSpeed:Number; private var _clips:Array; public var _splitRadiusTolerance:Number; private var _clip:MovieClip; public var _splitTemperatureTolerance:Number; public var _areaSpeed:Number; public var _tempTransferRate:Number; public var _maxSplitTemperature:Number; public var _minFuseTemperature:Number; public var _joinSpeed:Number; private var _lava:Array; public var _separateRadius:Number; public var _lineColor:int; public var _scale:Number; public var _minRiseTemperature:Number; public var _friction:Number; public var _roomTemperature:Number; public var _heatTransferRate:Number; public var _effectRadius:Number; public var _maxSplitRadius:Number; public var _boundaryForce:Number; private var _heatSources:Array; private var _blobs:Array; public var _lineThickness:int; private var _boundaries:Array; public function LavaLamp(_arg1:MovieClip){ _scale = 1; _heatTransferRate = 0.1; _tempTransferRate = 0.01; _heatLossRate = 0.005; _minRiseTemperature = 50; _effectRadius = 1.5; _maxSpeed = 4; _joinSpeed = 0.001; _surfaceTension = 0.5; _boundaryForce = 0.05; _roomTemperature = 25; _pressurePerDegree = 0.01; _areaSpeed = 500; _fuseTemperature = 100; _minFuseTemperature = 40; _maxRadius = 200; _maxSplitRadius = 130; _splitRadiusTolerance = 30; _maxSplitTemperature = 100; _splitTemperatureTolerance = 60; _minConnectionDist = 10; _friction = 0.99; _gravity = 0.1; _separateRadius = 30; _lava = []; _blobs = []; _heatSources = []; _boundaries = []; _clip = _arg1; _clips = []; _fillColor = 0xFF0000; _lineColor = 0; _lineThickness = 1; } public function removeLava(_arg1:Lava):Boolean{ var _local2:int; _local2 = 0; while (_local2 < _lava.length) { if (_lava[_local2] == _arg1){ _lava.splice(_local2, 1); return (true); }; _local2++; }; return (false); } function drawBlobConnected(_arg1:Graphics, _arg2:Blob, _arg3:Blob, _arg4:Array, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number){ var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Array; _local9 = ((_arg3.radius + _arg2.radius) * (((_effectRadius - 1) * 0.5) + 1)); _local10 = (_arg3.radius - _arg2.radius); _local11 = ((_arg5 - _local9) / (_local10 - _local9)); _local12 = (_arg2.radius / (_arg3.radius + _arg2.radius)); _local13 = Math.sin((_arg6 - _arg8)); _local14 = Math.cos(((Math.PI - _arg6) - _arg8)); _local15 = Math.cos((_arg6 - _arg8)); _local16 = (_arg2.radius * _local14); _local17 = (_arg5 - (_arg3.radius * _local15)); if (_arg5 >= (_arg3.radius + _arg2.radius)){ _local18 = (_local12 * _arg5); _local19 = _arg5; } else { _local18 = ((_local12 * _arg5) + (_local11 * ((_local16 + (_local12 * (_local17 - _local16))) - (_local12 * _arg5)))); _local19 = (_arg5 + ((_local16 + (_local12 * (_local17 - _local16))) - _arg5)); }; _local20 = (_arg3.radius * _local13); _local21 = _minConnectionDist; _local22 = (_local20 + (((1 - _local11) * (1 - _local11)) * (_local21 - _local20))); _local23 = Math.atan2(((_arg3.radius * _local13) - (_arg2.radius * _local13)), (_local17 - _local16)); _local24 = (_local18 + ((1 - _local11) * (((_local16 + _local18) * 0.5) - _local18))); _local25 = (_local18 + ((1 - _local11) * (((_local17 + _local18) * 0.5) - _local18))); _local26 = (_local22 + (Math.sin((_local11 * _local23)) * (_local24 - _local18))); _local27 = (_local22 + (Math.sin((_local11 * _local23)) * (_local25 - _local18))); _local28 = []; _local28[0] = new Point(); _local28[0].x = ((_arg2.x + (Math.cos(_arg7) * _local18)) + (Math.cos((_arg7 - (Math.PI * 0.5))) * _local22)); _local28[0].y = ((_arg2.y + (Math.sin(_arg7) * _local18)) + (Math.sin((_arg7 - (Math.PI * 0.5))) * _local22)); _local28[1] = new Point(); _local28[1].x = ((_arg2.x + (Math.cos(_arg7) * _local18)) + (Math.cos((_arg7 + (Math.PI * 0.5))) * _local22)); _local28[1].y = ((_arg2.y + (Math.sin(_arg7) * _local18)) + (Math.sin((_arg7 + (Math.PI * 0.5))) * _local22)); _local28[2] = new Point(); _local28[2].x = ((_arg2.x + (Math.cos(_arg7) * _local24)) + (Math.cos((_arg7 - (Math.PI * 0.5))) * _local26)); _local28[2].y = ((_arg2.y + (Math.sin(_arg7) * _local24)) + (Math.sin((_arg7 - (Math.PI * 0.5))) * _local26)); _local28[3] = new Point(); _local28[3].x = ((_arg2.x + (Math.cos(_arg7) * _local25)) + (Math.cos((_arg7 - (Math.PI * 0.5))) * _local27)); _local28[3].y = ((_arg2.y + (Math.sin(_arg7) * _local25)) + (Math.sin((_arg7 - (Math.PI * 0.5))) * _local27)); _local28[4] = new Point(); _local28[4].x = ((_arg2.x + (Math.cos(_arg7) * _local24)) + (Math.cos((_arg7 + (Math.PI * 0.5))) * _local26)); _local28[4].y = ((_arg2.y + (Math.sin(_arg7) * _local24)) + (Math.sin((_arg7 + (Math.PI * 0.5))) * _local26)); _local28[5] = new Point(); _local28[5].x = ((_arg2.x + (Math.cos(_arg7) * _local25)) + (Math.cos((_arg7 + (Math.PI * 0.5))) * _local27)); _local28[5].y = ((_arg2.y + (Math.sin(_arg7) * _local25)) + (Math.sin((_arg7 + (Math.PI * 0.5))) * _local27)); _arg1.moveTo(_arg4[0].x, _arg4[0].y); _arg1.lineTo(_arg4[1].x, _arg4[1].y); _arg1.curveTo(_local28[5].x, _local28[5].y, _local28[1].x, _local28[1].y); _arg1.curveTo(_local28[4].x, _local28[4].y, _arg4[2].x, _arg4[2].y); _arg1.lineTo(_arg4[3].x, _arg4[3].y); _arg1.curveTo(_local28[2].x, _local28[2].y, _local28[0].x, _local28[0].y); _arg1.curveTo(_local28[3].x, _local28[3].y, _arg4[0].x, _arg4[0].y); } public function addHeatSource(_arg1:HeatSource):Boolean{ if (!_arg1){ return (false); }; removeHeatSource(_arg1); _heatSources.push(_arg1); return (true); } public function get heatSources():Array{ return (_heatSources); } public function addLava(_arg1:Lava):Boolean{ if (!_arg1){ return (false); }; removeLava(_arg1); _lava.push(_arg1); return (true); } public function getBounds():Rectangle{ var _local1:Rectangle; var _local2:Number; var _local3:Number; var _local4:int; _local1 = new Rectangle(); _local2 = 0; _local3 = 0; if (_boundaries[0]){ _local2 = _boundaries[0].x; _local1.x = _local2; _local3 = _boundaries[0].y; _local1.y = _local3; }; _local4 = 1; while (_local4 < _boundaries.length) { _local1.x = Math.min(_local1.x, _boundaries[_local4].x); _local1.y = Math.min(_local1.y, _boundaries[_local4].y); _local2 = Math.max(_local2, _boundaries[_local4].x); _local3 = Math.max(_local3, _boundaries[_local4].y); _local4++; }; _local1.width = (_local2 - _local1.x); _local1.height = (_local3 - _local1.y); return (_local1); } public function removeBlob(_arg1:Blob):Boolean{ var _local2:int; _local2 = 0; while (_local2 < _blobs.length) { if (_blobs[_local2] == _arg1){ _blobs.splice(_local2, 1); return (true); }; _local2++; }; return (false); } public function get boundaries():Array{ return (_boundaries); } function drawBlobHalf(_arg1:Graphics, _arg2:Blob, _arg3:Point, _arg4:Point, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number){ var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Array; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; _local15 = []; _local16 = (Math.cos((_arg7 - _arg9)) * _arg2.radius); _local17 = (Math.sin((_arg7 - _arg9)) * _arg2.radius); _local18 = _minConnectionDist; _local19 = (_local16 * 0.5); _local20 = (1 - ((_arg5 - (0.5 * _arg6)) / (_arg6 - (0.5 * _arg6)))); _local13 = (_arg2.radius + ((_local20 * _arg5) * 0.5)); _local10 = (_local13 * 1.1); _local14 = (_local19 + (_local20 * (_local18 - _local19))); _local11 = ((_local13 + (_arg2.radius * Math.cos((_arg7 - _arg9)))) * 0.5); _local21 = _local17; _local12 = (_local21 + (_local20 * (_local18 - _local21))); _local15[0] = new Point(); _local15[0].x = ((_arg2.x + (Math.cos(_arg8) * _local13)) + (Math.cos((_arg8 - (Math.PI * 0.5))) * _local14)); _local15[0].y = ((_arg2.y + (Math.sin(_arg8) * _local13)) + (Math.sin((_arg8 - (Math.PI * 0.5))) * _local14)); _local15[1] = new Point(); _local15[1].x = ((_arg2.x + (Math.cos(_arg8) * _local13)) + (Math.cos((_arg8 + (Math.PI * 0.5))) * _local14)); _local15[1].y = ((_arg2.y + (Math.sin(_arg8) * _local13)) + (Math.sin((_arg8 + (Math.PI * 0.5))) * _local14)); _local15[2] = new Point(); _local15[2].x = ((_arg2.x + (Math.cos(_arg8) * _local11)) + (Math.cos((_arg8 - (Math.PI * 0.5))) * _local12)); _local15[2].y = ((_arg2.y + (Math.sin(_arg8) * _local11)) + (Math.sin((_arg8 - (Math.PI * 0.5))) * _local12)); _local15[3] = new Point(); _local15[3].x = ((_arg2.x + (Math.cos(_arg8) * _local11)) + (Math.cos((_arg8 + (Math.PI * 0.5))) * _local12)); _local15[3].y = ((_arg2.y + (Math.sin(_arg8) * _local11)) + (Math.sin((_arg8 + (Math.PI * 0.5))) * _local12)); _local15[5] = new Point(); _local15[5].x = (_arg2.x + (Math.cos(_arg8) * _local10)); _local15[5].y = (_arg2.y + (Math.sin(_arg8) * _local10)); _arg1.moveTo(_arg3.x, _arg3.y); _arg1.lineTo(_arg4.x, _arg4.y); _arg1.curveTo(_local15[2].x, _local15[2].y, _local15[0].x, _local15[0].y); _arg1.curveTo(_local15[5].x, _local15[5].y, _local15[1].x, _local15[1].y); _arg1.curveTo(_local15[3].x, _local15[3].y, _arg3.x, _arg3.y); } public function get clip():MovieClip{ return (_clip); } public function connectTwoCircles(_arg1:Graphics, _arg2:Blob, _arg3:Blob, _arg4:Boolean){ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Array; var _local16:Number; var _local17:Point; _local5 = (_arg2.x - _arg3.x); _local6 = (_arg2.y - _arg3.y); _local7 = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); _local8 = (_arg2.radius - _arg3.radius); if (_local7 <= _local8){ return; }; _local9 = (_arg2.radius + _arg3.radius); _local10 = (_local7 - _local9); _local11 = Math.acos((_local8 / _local7)); _local12 = 0.5; _local13 = (_local11 * _local12); _local14 = Math.atan2((_arg2.y - _arg3.y), (_arg2.x - _arg3.x)); _local15 = [new Point(), new Point(), new Point(), new Point()]; _local15[0].x = (_arg2.x + (_arg2.radius * Math.cos((((-(Math.PI) + _local11) - _local13) + _local14)))); _local15[0].y = (_arg2.y + (_arg2.radius * Math.sin((((-(Math.PI) + _local11) - _local13) + _local14)))); _local15[1].x = (_arg2.x + (_arg2.radius * Math.cos((((Math.PI - _local11) + _local13) + _local14)))); _local15[1].y = (_arg2.y + (_arg2.radius * Math.sin((((Math.PI - _local11) + _local13) + _local14)))); _local15[2].x = (_arg3.x + (_arg3.radius * Math.cos((((Math.PI - _local11) - _local13) + _local14)))); _local15[2].y = (_arg3.y + (_arg3.radius * Math.sin((((Math.PI - _local11) - _local13) + _local14)))); _local15[3].x = (_arg3.x + (_arg3.radius * Math.cos((((-(Math.PI) + _local11) + _local13) + _local14)))); _local15[3].y = (_arg3.y + (_arg3.radius * Math.sin((((-(Math.PI) + _local11) + _local13) + _local14)))); _local16 = (_local9 * (_effectRadius - 1)); _local17 = new Point((_arg3.x + ((Math.cos(_local14) * _local7) * 0.5)), (_arg3.y + ((Math.sin(_local14) * _local7) * 0.5))); if (_local10 < (0.5 * _local16)){ if (_arg4){ _arg1.beginFill(_fillColor); }; drawBlobConnected(_arg1, _arg3, _arg2, _local15, _local7, _local11, _local14, _local13); if (_arg4){ _arg1.endFill(); }; } else { if (_arg4){ _arg1.beginFill(_fillColor); }; drawBlobHalf(_arg1, _arg3, _local15[2], _local15[3], _local10, _local16, _local11, _local14, _local13); if (_arg4){ _arg1.endFill(); _arg1.beginFill(_fillColor); }; drawBlobHalf(_arg1, _arg2, _local15[0], _local15[1], _local10, _local16, _local11, (_local14 + Math.PI), _local13); if (_arg4){ _arg1.endFill(); }; }; } public function addBlob(_arg1:Blob):Boolean{ if (!_arg1){ return (false); }; removeBlob(_arg1); _blobs.push(_arg1); return (true); } public function update(){ var _local1:int; var _local2:int; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Blob; var _local7:Blob; var _local8:Point; var _local9:Array; var _local10:Array; var _local11:Array; var _local12:Array; var _local13:int; var _local14:Shape; var _local15:Number; var _local16:Number; var _local17:Point; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Blob; _local8 = new Point(); _local1 = 0; while (_local1 < _boundaries.length) { _local8.x = (_local8.x + _boundaries[_local1].x); _local8.y = (_local8.y + _boundaries[_local1].y); _local1++; }; if (_boundaries.length){ _local8.x = (_local8.x / _boundaries.length); _local8.y = (_local8.y / _boundaries.length); }; _local9 = []; _local10 = []; _local11 = []; _local12 = []; _local1 = 0; while (_local1 < _blobs.length) { if (!_local9[_local1]){ _local9[_local1] = 0; }; if (!_local11[_local1]){ _local11[_local1] = 0; }; if (!_local12[_local1]){ _local12[_local1] = 0; }; _blobs[_local1].transferred = false; _local15 = ((_blobs[_local1].radius * _blobs[_local1].radius) / (((_maxRadius * _maxRadius) * _scale) * _scale)); _local2 = 0; while (_local2 < _heatSources.length) { _local3 = (_blobs[_local1].x - _heatSources[_local2].x); _local4 = (_blobs[_local1].y - _heatSources[_local2].y); _local5 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4))); if (_local5 > (_blobs[_local1].radius + _heatSources[_local2].radius)){ } else { _local16 = (1 - (_local5 / (_blobs[_local1].radius + _heatSources[_local2].radius))); _local9[_local1] = (_local9[_local1] + ((((_heatSources[_local2].temperature - _blobs[_local1].temperature) * _heatTransferRate) * _local15) * _local16)); }; _local2++; }; _local9[_local1] = (_local9[_local1] + (((_roomTemperature - _blobs[_local1].temperature) * _heatLossRate) * _local15)); _local12[_local1] = (_local12[_local1] + ((Math.min((_minRiseTemperature - _blobs[_local1].temperature), 0) * _pressurePerDegree) * _local15)); _local12[_local1] = (_local12[_local1] + (_gravity * _local15)); _local2 = 0; while (_local2 < _boundaries.length) { _local17 = new Point(_blobs[_local1].x, _blobs[_local1].y); if (Geometry.circle2line(_local17, _blobs[_local1].radius, _boundaries[_local2], _boundaries[((_local2 + 1) % _boundaries.length)]).length){ _local18 = (Math.atan2((_boundaries[((_local2 + 1) % _boundaries.length)].y - _boundaries[_local2].y), (_boundaries[((_local2 + 1) % _boundaries.length)].x - _boundaries[_local2].x)) + (Math.PI * 0.5)); _local11[_local1] = (_local11[_local1] + ((Math.cos(_local18) * _surfaceTension) * _local15)); _local12[_local1] = (_local12[_local1] + ((Math.sin(_local18) * _surfaceTension) * _local15)); }; _local2++; }; if (!Amber3Geometry.collide([new Point(_blobs[_local1].x, _blobs[_local1].y)], _boundaries)){ _local11[_local1] = (_local11[_local1] + ((_local8.x - _blobs[_local1].x) * _boundaryForce)); _local12[_local1] = (_local12[_local1] + ((_local8.y - _blobs[_local1].y) * _boundaryForce)); }; _local2 = (_local1 + 1); while (_local2 < _blobs.length) { _local3 = (_blobs[_local1].x - _blobs[_local2].x); _local4 = (_blobs[_local1].y - _blobs[_local2].y); _local5 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4))); if (_local5 > ((_blobs[_local1].radius + _blobs[_local2].radius) * _effectRadius)){ } else { if (!_local9[_local2]){ _local9[_local2] = 0; }; if (!_local11[_local2]){ _local11[_local2] = 0; }; if (!_local12[_local2]){ _local12[_local2] = 0; }; _local19 = (_blobs[_local2].radius / (_maxRadius * _scale)); _local20 = ((((_blobs[_local1].temperature + _local9[_local1]) + _blobs[_local2].temperature) + _local9[_local2]) * 0.5); if (_local5 < (_blobs[_local1].radius + _blobs[_local2].radius)){ _local21 = (_blobs[_local1].radius / (_blobs[_local1].radius + _blobs[_local2].radius)); _local22 = (_blobs[_local2].radius / (_blobs[_local1].radius + _blobs[_local2].radius)); _local23 = (((_blobs[_local1].temperature + _local9[_local1]) * _local21) + ((_blobs[_local2].temperature + _local9[_local2]) * _local22)); _local9[_local1] = (_local9[_local1] + ((_local23 - (_blobs[_local1].temperature + _local9[_local1])) * 0.01)); _local9[_local2] = (_local9[_local2] + ((_local23 - (_blobs[_local2].temperature + _local9[_local2])) * 0.01)); }; if ((((((_local5 < (_blobs[_local1].radius + _blobs[_local2].radius))) && ((Math.abs((_blobs[_local1].temperature - _blobs[_local2].temperature)) < _fuseTemperature)))) && ((_local20 > _minFuseTemperature)))){ Blob.fuse(_blobs[_local1], _blobs[_local2]); }; if ((((_local20 < _minFuseTemperature)) || ((Math.abs((_blobs[_local1].temperature - _blobs[_local2].temperature)) > _fuseTemperature)))){ if (_local5 < (_blobs[_local1].radius + _blobs[_local2].radius)){ _local11[_local1] = (_local11[_local1] - ((((_blobs[_local2].x - _blobs[_local1].x) * _local15) * _surfaceTension) / (_blobs[_local1].radius + _blobs[_local2].radius))); _local12[_local1] = (_local12[_local1] - ((((_blobs[_local2].y - _blobs[_local1].y) * _local15) * _surfaceTension) / (_blobs[_local1].radius + _blobs[_local2].radius))); _local11[_local2] = (_local11[_local2] - ((((_blobs[_local1].x - _blobs[_local2].x) * _local19) * _surfaceTension) / (_blobs[_local1].radius + _blobs[_local2].radius))); _local12[_local2] = (_local12[_local2] - ((((_blobs[_local1].y - _blobs[_local2].y) * _local19) * _surfaceTension) / (_blobs[_local1].radius + _blobs[_local2].radius))); }; } else { if (_local5 < ((_blobs[_local1].radius + _blobs[_local2].radius) * _effectRadius)){ _local11[_local1] = (_local11[_local1] + ((((_blobs[_local2].x - _blobs[_local1].x) * _local15) * _joinSpeed) / (_blobs[_local1].radius + _blobs[_local2].radius))); _local12[_local1] = (_local12[_local1] + ((((_blobs[_local2].y - _blobs[_local1].y) * _local15) * _joinSpeed) / (_blobs[_local1].radius + _blobs[_local2].radius))); _local11[_local2] = (_local11[_local2] + ((((_blobs[_local1].x - _blobs[_local2].x) * _local19) * _joinSpeed) / (_blobs[_local1].radius + _blobs[_local2].radius))); _local12[_local2] = (_local12[_local2] + ((((_blobs[_local1].y - _blobs[_local2].y) * _local19) * _joinSpeed) / (_blobs[_local1].radius + _blobs[_local2].radius))); }; }; }; _local2++; }; _local1++; }; _local13 = _blobs.length; _local1 = 0; while (_local1 < _local13) { _blobs[_local1].transfer((_areaSpeed * _scale), (_separateRadius * _scale)); if (_blobs[_local1].radius <= 0.1){ _blobs[_local1].separate(); removeBlob(_blobs[_local1]); _local11.splice(_local1, 1); _local12.splice(_local1, 1); _local9.splice(_local1, 1); _local1--; _local13--; } else { _blobs[_local1].x = (_blobs[_local1].x + _blobs[_local1].vX); _blobs[_local1].y = (_blobs[_local1].y + _blobs[_local1].vY); _blobs[_local1].vX = (_blobs[_local1].vX + (_local11[_local1] * _scale)); _blobs[_local1].vY = (_blobs[_local1].vY + (_local12[_local1] * _scale)); _blobs[_local1].vX = (_blobs[_local1].vX * (_friction + ((1 - _friction) * (1 - _scale)))); _blobs[_local1].vY = (_blobs[_local1].vY * (_friction + ((1 - _friction) * (1 - _scale)))); if (_blobs[_local1].vX > (_maxSpeed * _scale)){ _blobs[_local1].vX = (_maxSpeed * _scale); }; if (_blobs[_local1].vX < (-(_maxSpeed) * _scale)){ _blobs[_local1].vX = (-(_maxSpeed) * _scale); }; if (_blobs[_local1].vY > (_maxSpeed * _scale)){ _blobs[_local1].vY = (_maxSpeed * _scale); }; if (_blobs[_local1].vY < (-(_maxSpeed) * _scale)){ _blobs[_local1].vY = (-(_maxSpeed) * _scale); }; _blobs[_local1].temperature = (_blobs[_local1].temperature + _local9[_local1]); _local24 = Math.max((1 - Math.max((((_maxSplitRadius * _scale) - _blobs[_local1].radius) / (_splitRadiusTolerance * _scale)), 0)), 0); _local25 = Math.max((1 - Math.max(((_maxSplitTemperature - _blobs[_local1].radius) / _splitTemperatureTolerance), 0)), 0); _local26 = (Math.min(Math.max((_local24 * _local25), 0), 1) * 0.5); if (Math.random() < _local26){ _local27 = _blobs[_local1].split(); if (_local27){ addBlob(_local27); }; }; }; _local1++; }; _local1 = 0; while (_local1 < _clips.length) { _clips[_local1].graphics.clear(); _clips[_local1].parent.removeChild(_clips[_local1]); _local1++; }; _clips = []; _local1 = 0; while (_local1 < _blobs.length) { _local14 = new Shape(); _clips.push(_local14); _clip.addChild(_local14); _local14.graphics.lineStyle((_lineThickness * 2), _lineColor); _local14.graphics.drawCircle(_blobs[_local1].x, _blobs[_local1].y, _blobs[_local1].radius); _local2 = (_local1 + 1); while (_local2 < _blobs.length) { _local3 = (_blobs[_local1].x - _blobs[_local2].x); _local4 = (_blobs[_local1].y - _blobs[_local2].y); _local5 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4))); if (_local5 > ((_blobs[_local1].radius + _blobs[_local2].radius) * _effectRadius)){ } else { if (Math.abs((_blobs[_local1].temperature - _blobs[_local2].temperature)) > _fuseTemperature){ } else { if (_blobs[_local1].radius > _blobs[_local2].radius){ connectTwoCircles(_local14.graphics, _blobs[_local1], _blobs[_local2], false); } else { connectTwoCircles(_local14.graphics, _blobs[_local2], _blobs[_local1], false); }; }; }; _local2++; }; _local1++; }; _local1 = 0; while (_local1 < _lava.length) { _local14 = new Shape(); _clips.push(_local14); _clip.addChild(_local14); _local14.graphics.lineStyle((_lineThickness * 2), _lineColor); _lava[_local1].draw(_local14.graphics); _local1++; }; _local1 = 0; while (_local1 < _blobs.length) { _local14 = new Shape(); _clips.push(_local14); _clip.addChild(_local14); _local14.graphics.beginFill(_fillColor); _local14.graphics.drawCircle(_blobs[_local1].x, _blobs[_local1].y, _blobs[_local1].radius); _local14.graphics.endFill(); _local2 = (_local1 + 1); while (_local2 < _blobs.length) { _local3 = (_blobs[_local1].x - _blobs[_local2].x); _local4 = (_blobs[_local1].y - _blobs[_local2].y); _local5 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4))); if (_local5 > ((_blobs[_local1].radius + _blobs[_local2].radius) * _effectRadius)){ } else { if (Math.abs((_blobs[_local1].temperature - _blobs[_local2].temperature)) > _fuseTemperature){ } else { if (_blobs[_local1].radius > _blobs[_local2].radius){ connectTwoCircles(_local14.graphics, _blobs[_local1], _blobs[_local2], true); } else { connectTwoCircles(_local14.graphics, _blobs[_local2], _blobs[_local1], true); }; }; }; _local2++; }; _local1++; }; _local1 = 0; while (_local1 < _lava.length) { _local14 = new Shape(); _clips.push(_local14); _clip.addChild(_local14); _local14.graphics.beginFill(_fillColor); _lava[_local1].draw(_local14.graphics); _local14.graphics.endFill(); _lava[_local1].update(); _local1++; }; } public function removeHeatSource(_arg1:HeatSource):Boolean{ var _local2:int; _local2 = 0; while (_local2 < _heatSources.length) { if (_heatSources[_local2] == _arg1){ _heatSources.splice(_local2, 1); return (true); }; _local2++; }; return (false); } public function get blobs():Array{ return (_blobs); } } }//package lavalamp
Section 7
//_btn1_28 (lavaLampBelly_fla._btn1_28) package lavaLampBelly_fla { import flash.display.*; import flash.text.*; public dynamic class _btn1_28 extends MovieClip { public var _txt:TextField; } }//package lavaLampBelly_fla
Section 8
//_btn2_29 (lavaLampBelly_fla._btn2_29) package lavaLampBelly_fla { import flash.display.*; public dynamic class _btn2_29 extends MovieClip { public function _btn2_29(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package lavaLampBelly_fla
Section 9
//_btn3_30 (lavaLampBelly_fla._btn3_30) package lavaLampBelly_fla { import flash.display.*; import flash.text.*; public dynamic class _btn3_30 extends MovieClip { public var _txt:TextField; } }//package lavaLampBelly_fla
Section 10
//belly_21 (lavaLampBelly_fla.belly_21) package lavaLampBelly_fla { import flash.display.*; public dynamic class belly_21 extends MovieClip { public var circle3:MovieClip; public var circle6:MovieClip; public var circle2:MovieClip; public var circle4:MovieClip; public var circle1:MovieClip; public var circle7:MovieClip; public var circle8:MovieClip; public var circle5:MovieClip; public var circle0:MovieClip; public var circle9:MovieClip; public var circle10:MovieClip; public var circle11:MovieClip; } }//package lavaLampBelly_fla
Section 11
//eye1_14 (lavaLampBelly_fla.eye1_14) package lavaLampBelly_fla { import flash.display.*; public dynamic class eye1_14 extends MovieClip { public var pupil:MovieClip; public function eye1_14(){ addFrameScript(1, frame2, 3, frame4, 5, frame6, 7, frame8, 9, frame10, 15, frame16, 17, frame18, 19, frame20); } function frame10(){ this.stop(); } function frame18(){ this.stop(); } function frame6(){ this.stop(); } function frame16(){ this.stop(); } function frame8(){ this.stop(); } function frame4(){ this.stop(); } function frame20(){ this.stop(); } function frame2(){ this.stop(); } } }//package lavaLampBelly_fla
Section 12
//eye2_16 (lavaLampBelly_fla.eye2_16) package lavaLampBelly_fla { import flash.display.*; public dynamic class eye2_16 extends MovieClip { public var pupil:MovieClip; public function eye2_16(){ addFrameScript(1, frame2, 3, frame4, 5, frame6, 7, frame8, 9, frame10, 15, frame16, 17, frame18, 19, frame20); } function frame10(){ this.stop(); } function frame18(){ this.stop(); } function frame6(){ this.stop(); } function frame16(){ this.stop(); } function frame8(){ this.stop(); } function frame4(){ this.stop(); } function frame20(){ this.stop(); } function frame2(){ this.stop(); } } }//package lavaLampBelly_fla
Section 13
//MainTimeline (lavaLampBelly_fla.MainTimeline) package lavaLampBelly_fla { import flash.display.*; import flash.geom.*; import lavalamp.*; import flash.events.*; import flash.text.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.system.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; public dynamic class MainTimeline extends MovieClip { public var size:int; public var oldMX:Number; public var oldMY:Number; public var states:Object; public var SCREEN_INTERVALS:int; public var initScale:Number; public var LAMP_AREA_PROP:Number; public var curState:Object; public var coldSources:Array; public var tF:TextFormat; public var oldBlushMode:int; public var stolen_tF:TextFormat; public var cCount:int; public var state:String; public var screen:Object; public var BOX_COLORS:Array; public var p1X:Number; public var p1Y:Number; public var colors$:Array; public var _info_txt:TextField; public var cTrans$:ColorTransform; public var blushMode:int; public var SCREEN_TEMP_COLOR:int; public var movingBlobs:int; public var p2X:Number; public var p2Y:Number; public var LIGHT_COLORS:Array; public var i$:int; public var endY:Number; public var b2Bounds:Rectangle; public var SCREEN_LINE_COLOR:int; public var BLUSH:int; public var lamp_mask:MovieClip; public var breastTimer:int; public var blush:Number; public var _panel:MovieClip; public var blinking:Boolean; public var totalLavaArea:Number; public var breastPhases:Array; public var condition:String; public var count:int; public var oldX:Number; public var endX:Number; public var NUM_LIGHTS:int; public var oldY:Number; public var undragables:Array; public var breastPhase:int; public var endScale:Number; public var STAGE_WIDTH:int; public var square:Object; public var LAVA_AREA_PROP:Number; public var SCREEN_SIZE_COLOR:int; public var _lampRect:Rectangle; public var timer:int; public var initY:Number; public var initX:Number; public var stolen_txt:TextField; public var whitefang:MovieClip; public var lamp_mc:MovieClip; public var NEW_BLOB_SIZE:int; public var NUM_BREAST_PHASES:int; public var canBlink:Boolean; public var BLUSH_OFF:int; public var MAX_LAMP_AREA:Number; public var maxSize:int; public var hCount:int; public var BLUSH_ON:int; public var b1Bounds:Rectangle; public var STAGE_HEIGHT:int; public var heatSources:Array; public var bottomLava:Lava; public var SCREEN_COLOR:int; public var growth:int; public var SCREEN_BUBBLES_COLOR:int; public var topLava:Lava; public var NUM_SOURCES:int; public var lcd_stolen:String; public var lamp:LavaLamp; public function MainTimeline(){ addFrameScript(0, frame1); } public function hitBelly(_arg1:Event){ stage.addEventListener("enterFrame", hittingBelly); stage.addEventListener("mouseUp", stopHittingBelly); } public function eFrame(_arg1:Event){ var _local2:int; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:ColorTransform; var _local7:*; var _local8:Array; count++; if (movingBlobs > 0){ movingBlobs--; }; if (Math.random() < (0.1 + ((0.1 * size) / maxSize))){ updateBox(square, BOX_COLORS, (size / maxSize), 0.75, 0.05); }; updateScreen(screen, SCREEN_LINE_COLOR, SCREEN_COLOR, SCREEN_SIZE_COLOR, SCREEN_TEMP_COLOR, SCREEN_BUBBLES_COLOR); if (_panel._cam.currentFrame == 2){ _local3 = (initScale + (((endScale - initScale) * size) / maxSize)); _local4 = (initX + (((endX - initX) * size) / maxSize)); _local5 = (initY + (((endY - initY) * size) / maxSize)); whitefang.scaleX = (whitefang.scaleX + ((_local3 - whitefang.scaleX) * 0.5)); whitefang.scaleY = whitefang.scaleX; whitefang.x = (whitefang.x + ((_local4 - whitefang.x) * 0.5)); whitefang.y = (whitefang.y + ((_local5 - whitefang.y) * 0.5)); adjustPosition(); }; if (((canBlink) && ((Math.random() > 0.99)))){ whitefang.eye1.gotoAndPlay("blink"); whitefang.eye2.gotoAndPlay("blink"); whitefang.eye1.pupil.x = (curState.p1X + p1X); whitefang.eye1.pupil.y = (curState.p1Y + p1Y); whitefang.eye2.pupil.x = (curState.p2X + p2X); whitefang.eye2.pupil.y = (curState.p2Y + p2Y); blinking = true; }; if (((blinking) && ((whitefang.eye1.currentLabel == "endblink")))){ whitefang.eye1.gotoAndPlay(curState.eye1); whitefang.eye2.gotoAndPlay(curState.eye2); whitefang.eye1.pupil.x = (curState.p1X + p1X); whitefang.eye1.pupil.y = (curState.p1Y + p1Y); whitefang.eye2.pupil.x = (curState.p2X + p2X); whitefang.eye2.pupil.y = (curState.p2Y + p2Y); blinking = false; }; _local2 = 0; while (_local2 < NUM_LIGHTS) { if (Math.random() < 0.97){ } else { _local6 = new ColorTransform(); _local7 = Math.floor((Math.random() * (LIGHT_COLORS.length * 2))); if (_local7 >= LIGHT_COLORS.length){ _local6.redOffset = -128; _local6.greenOffset = -128; _local6.blueOffset = -128; } else { _local8 = LIGHT_COLORS[_local7]; _local6.redMultiplier = _local8[0]; _local6.greenMultiplier = _local8[1]; _local6.blueMultiplier = _local8[2]; _local6.redOffset = 0; _local6.greenOffset = 0; _local6.blueOffset = 0; }; whitefang[("_light" + _local2)].transform.colorTransform = _local6; }; _local2++; }; if (Math.random() > 0.99){ whitefang.tail.play(); }; if (movingBlobs > 0){ react("bellymotion", movingBlobs); if (blushMode != BLUSH_ON){ oldBlushMode = blushMode; blushMode = BLUSH_ON; }; } else { if (state == "bellymotion"){ condition = ""; blushMode = oldBlushMode; setState(curState.state); }; }; if (growth == 1){ if (size < maxSize){ size++; setSize(size); switch (true){ case (size < 1): break; case (size < 133): setState("expand"); break; case (size < 266): setState("bigger"); break; case (size < 400): blushMode = BLUSH_ON; setState("almost"); break; case (size >= maxSize): growth = 0; blushMode = BLUSH; setState("over"); break; }; }; } else { if (growth == -1){ if (size > 1){ size--; setSize(size); if (size > 1){ setState("revert"); } else { size = 1; setState("normal"); growth = 0; }; }; }; }; } public function zoomIn(_arg1:Event){ stage.addEventListener("enterFrame", zoomingIn); } public function timeout_fn(_arg1:Event=null){ if (timer <= 0){ stage.removeEventListener("enterFrame", timeout_fn); condition = ""; setState(curState.state); }; timer--; } public function worldDragable():Boolean{ var _local1:int; _local1 = 0; while (_local1 < undragables.length) { if ((undragables[_local1] as MovieClip).hitTestPoint(stage.mouseX, stage.mouseY, true)){ return (false); }; _local1++; }; return (true); } public function updateBox(_arg1:Object, _arg2:Array, _arg3:Number, _arg4:Number=0.75, _arg5:Number=0.1){ var _local6:int; var _local7:int; var _local8:int; var _local9:Number; var _local10:int; var _local11:Array; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Graphics; _local11 = []; _local12 = 0; _local13 = 0; _local14 = 0; _local15 = 1; _local16 = (1 / _arg2.length); _local6 = (_arg2.length - 1); while (_local6 >= 0) { if (_local6){ _local14 = (_arg4 * _local15); _local15 = (_local15 * (1 - _arg4)); } else { _local14 = _local15; }; _arg5 = (_local16 + (_arg3 * (_local14 - _local16))); _local11[_local6] = _arg5; _local12 = (_local12 + _local11[_local6]); _local6--; }; _local6 = 0; while (_local6 < _arg2.length) { _local11[_local6] = (_local11[_local6] / _local12); _local6++; }; _local17 = _arg1.clip.graphics; _local17.clear(); _local17.lineStyle(1, 0); _local6 = 0; while (_local6 < _arg1.width) { _local7 = 0; while (_local7 < _arg1.height) { if ((((Math.random() <= _arg5)) || ((_arg1.lights[_local6][_local7] == -1)))){ _local9 = Math.random(); _local13 = 0; _local8 = 0; while (_local8 < _arg2.length) { _local13 = (_local13 + _local11[_local8]); if (_local9 <= _local13){ break; }; _local8++; }; _arg1.lights[_local6][_local7] = _local8; }; _local10 = _arg2[_arg1.lights[_local6][_local7]]; _local17.beginFill(_local10); _local17.drawRect((_arg1.x + (_local6 * _arg1.size)), (_arg1.y + (_local7 * _arg1.size)), _arg1.size, _arg1.size); _local17.endFill(); _local7++; }; _local6++; }; } public function stopHittingBelly(_arg1:Event=null){ stage.removeEventListener("enterFrame", hittingBelly); stage.removeEventListener("mouseUp", stopHittingBelly); } public function zoomOut(_arg1:Event){ stage.addEventListener("enterFrame", zoomingOut); } function frame1(){ lcd_stolen = new LocalConnection().domain; if (lcd_stolen.indexOf("deviantart") == -1){ stolen_txt = new TextField(); stolen_txt.width = 800; stolen_txt.height = 600; stage.addChild(stolen_txt); stolen_txt.background = true; stolen_txt.backgroundColor = 0xFFFFFF; stolen_txt.selectable = false; stolen_tF = new TextFormat(); stolen_tF.size = 32; stolen_tF.color = 0xFF0000; stolen_tF.font = "Arial"; stolen_tF.bold = true; stolen_tF.align = "center"; stolen_txt.text = (("Warning: you are playing this file on\n" + lcd_stolen) + "\n\nBest go to\nhttp://doom-the-wolf.deviantart.com\n to see the original.\n\nClick to close."); stolen_txt.setTextFormat(stolen_tF); stolen_txt.addEventListener("mouseDown", clearStolen); }; size = 1; maxSize = whitefang.belly.totalFrames; growth = 0; count = 0; state = ""; curState = {}; condition = ""; states = []; blinking = false; canBlink = true; p1X = whitefang.eye1.pupil.x; p1Y = whitefang.eye1.pupil.y; p2X = whitefang.eye2.pupil.x; p2Y = whitefang.eye2.pupil.y; movingBlobs = 0; _info_txt.text = ""; _info_txt.selectable = false; tF = _info_txt.defaultTextFormat; tF.bold = true; _info_txt.defaultTextFormat = tF; whitefang.tail.gotoAndStop(1); states["normal"] = {mouth:"closed", eye1:"big", eye2:"big", p1X:0, p1Y:0, p2X:0, p2Y:0, canBlink:true}; states["expand"] = {mouth:"small", eye1:"open", eye2:"open", p1X:0, p1Y:1, p2X:0, p2Y:1, canBlink:true}; states["bigger"] = {mouth:"happy2", eye1:"sad", eye2:"sad", p1X:2, p1Y:4, p2X:-2, p2Y:4, canBlink:true}; states["almost"] = {mouth:"open", eye1:"closed", eye2:"closed", p1X:0, p1Y:0, p2X:0, p2Y:0, canBlink:false}; states["over"] = {mouth:"smile", eye1:"medium", eye2:"medium", p1X:0, p1Y:0, p2X:0, p2Y:0, canBlink:true}; states["revert"] = {mouth:"sad", eye1:"open", eye2:"open", p1X:0, p1Y:2, p2X:0, p2Y:2, canBlink:true}; states["wink"] = {mouth:"happy", eye1:"medium", eye2:"shut", p1X:0, p1Y:0, p2X:0, p2Y:0, canBlink:false}; states["breastmove"] = {mouth:"happy2", eye1:"sad", eye2:"sad", p1X:0, p1Y:-2, p2X:0, p2Y:-2, canBlink:false}; states["bellymotion"] = {mouth:"happy2", eye1:"open", eye2:"open", p1X:0, p1Y:4, p2X:0, p2Y:4, canBlink:true}; setState("normal"); LIGHT_COLORS = [[0, 0, 1], [0, 1, 1], [0, 1, 0], [1, 1, 0], [1, 0, 0], [1, 0, 1]]; NUM_LIGHTS = 12; i$ = 0; while (i$ < NUM_LIGHTS) { cTrans$ = new ColorTransform(); colors$ = LIGHT_COLORS[Math.floor((Math.random() * LIGHT_COLORS.length))]; cTrans$.redOffset = -128; cTrans$.greenOffset = -128; cTrans$.blueOffset = -128; whitefang[("_light" + i$)].transform.colorTransform = cTrans$; i$++; }; stage.addEventListener("enterFrame", eFrame); timer = 0; whitefang.bellyCover.addEventListener("mouseDown", hitBelly); b1Bounds = whitefang.breast1.getBounds(whitefang); b2Bounds = whitefang.breast2.getBounds(whitefang); breastPhases = new Array(); breastTimer = 0; breastPhase = 0; NUM_BREAST_PHASES = 3; breastPhases[0] = {scaleX:1, scaleY:1, skew:0, time:7}; breastPhases[1] = {scaleX:1.05, scaleY:(1 / 1.05), skew:0, time:3}; breastPhases[2] = {scaleX:1, scaleY:1, skew:0.1, time:5}; whitefang.blush.alpha = 0; blushMode = 0; oldBlushMode = blushMode; blush = 0; BLUSH_ON = 1; BLUSH_OFF = 0; BLUSH = 2; whitefang.blush.addEventListener("enterFrame", blushing); _panel.addEventListener("enterFrame", panelMove); _panel._expand._txt.text = "Expand"; _panel._revert._txt.text = "Revert"; _panel._plus._txt.text = "+"; _panel._minus._txt.text = "-"; _panel._zero._txt.text = "0"; _panel._cont_txt.text = "Continuous"; _panel._cam_txt.text = "Autocam"; _panel._info.text = "Interactive Christina expansion\nDrawn, animated and programmed by Doom the wolf.\nhttp://doom-the-wolf.deviantart.com"; _panel._expand.buttonMode = true; _panel._expand.mouseChildren = false; _panel._revert.buttonMode = true; _panel._revert.mouseChildren = false; _panel._plus.buttonMode = true; _panel._plus.mouseChildren = false; _panel._minus.buttonMode = true; _panel._minus.mouseChildren = false; _panel._zero.buttonMode = true; _panel._zero.mouseChildren = false; _panel._cont.buttonMode = true; _panel._cam.buttonMode = true; _panel._cam.gotoAndStop(2); _panel._expand.addEventListener("mouseDown", expand_fn); _panel._revert.addEventListener("mouseDown", revert_fn); _panel._cont.addEventListener("mouseDown", cont_fn); _panel._cam.addEventListener("mouseDown", frameSwitch); stage.addEventListener("mouseUp", stopExpansion); _panel._plus.addEventListener("mouseDown", zoomIn); _panel._minus.addEventListener("mouseDown", zoomOut); _panel._zero.addEventListener("click", zoomReset); stage.addEventListener("mouseUp", stopZoom); STAGE_WIDTH = 800; STAGE_HEIGHT = 600; undragables = []; undragables.push(whitefang.belly); undragables.push(whitefang.front); undragables.push(whitefang.breast1); undragables.push(whitefang.breast2); undragables.push(whitefang.leg1); undragables.push(whitefang.leg2); undragables.push(whitefang.head); undragables.push(_panel); stage.addEventListener("mouseDown", dragCharacter); initX = whitefang.x; initY = whitefang.y; initScale = 1; endX = whitefang.x; endY = (whitefang.y - 150); endScale = 0.7; lamp_mc = new MovieClip(); lamp_mask = new MovieClip(); lamp_mc.x = (lamp_mask.x = whitefang.belly.x); lamp_mc.y = (lamp_mask.y = whitefang.belly.y); whitefang.addChildAt(lamp_mask, whitefang.getChildIndex(whitefang.bellyCover)); whitefang.addChildAt(lamp_mc, whitefang.getChildIndex(whitefang.bellyCover)); lamp_mc.mask = lamp_mask; LAMP_AREA_PROP = (Math.PI * 0.25); LAVA_AREA_PROP = (2 / 4); MAX_LAMP_AREA = 0; NUM_SOURCES = 4; NEW_BLOB_SIZE = 500; lamp = new LavaLamp(lamp_mc); bottomLava = new Lava(0, 0, 0, 0, 5); topLava = new Lava(0, 0, 0, 0, 5); heatSources = new Array(NUM_SOURCES); coldSources = new Array(NUM_SOURCES); totalLavaArea = 0; lamp.addLava(topLava); lamp.addLava(bottomLava); hCount = 0; while (hCount < NUM_SOURCES) { heatSources[hCount] = new HeatSource(110, 0); coldSources[hCount] = new HeatSource(0, 0); lamp.addHeatSource(heatSources[hCount]); lamp.addHeatSource(coldSources[hCount]); hCount++; }; lamp_mask.graphics.beginFill(0); lamp_mask.graphics.moveTo(whitefang.belly[("circle" + 0)].x, whitefang.belly[("circle" + 0)].y); cCount = 0; while (cCount <= 11) { lamp.boundaries[cCount] = new Point(whitefang.belly[("circle" + cCount)].x, whitefang.belly[("circle" + cCount)].y); lamp_mask.graphics.lineTo(lamp.boundaries[cCount].x, lamp.boundaries[cCount].y); whitefang.belly[("circle" + cCount)].visible = false; cCount++; }; lamp_mask.graphics.lineTo(lamp.boundaries[0].x, lamp.boundaries[0].y); lamp_mask.graphics.endFill(); whitefang.belly.gotoAndStop(400); resizeLavaLamp(false); _lampRect = lamp.getBounds(); MAX_LAMP_AREA = ((_lampRect.width * _lampRect.height) * LAMP_AREA_PROP); whitefang.belly.gotoAndStop(1); resizeLavaLamp(false); totalLavaArea = 0; whitefang.belly.gotoAndStop(1); whitefang.bellyCover.gotoAndStop(1); resizeLavaLamp(); stage.addEventListener("enterFrame", updateLavaLamp); BOX_COLORS = [0xFF, 0xFFFF, 0xFF00, 0xFFFF00, 0xFF0000]; square = createBox(135, -450, 6, 10, 32, whitefang, 1); updateBox(square, BOX_COLORS, (size / maxSize)); SCREEN_COLOR = 52479; SCREEN_LINE_COLOR = 0xFFFFFF; SCREEN_SIZE_COLOR = 0xFF00; SCREEN_TEMP_COLOR = 0xFF0000; SCREEN_BUBBLES_COLOR = 0xFF; SCREEN_INTERVALS = 32; screen = createScreen(-295, -420, 190, 120, SCREEN_INTERVALS, whitefang, 1); updateScreen(screen, SCREEN_LINE_COLOR, SCREEN_COLOR, SCREEN_SIZE_COLOR, SCREEN_TEMP_COLOR, SCREEN_BUBBLES_COLOR); setSize(size); } public function createScreen(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:int, _arg6:DisplayObjectContainer, _arg7:int=-1):Object{ var _local8:Object; var _local9:int; _local8 = new Object(); _local8.x = _arg1; _local8.y = _arg2; _local8.width = _arg3; _local8.height = _arg4; _local8.clip = new MovieClip(); if ((((_arg7 > -1)) && ((_arg7 <= _arg6.numChildren)))){ _arg6.addChildAt(_local8.clip, _arg7); } else { _arg6.addChild(_local8.clip); }; _local8.size = []; _local8.temp = []; _local8.bubbles = []; _local9 = 0; while (_local9 < _arg5) { _local8.size[_local9] = 0; _local8.temp[_local9] = 0; _local8.bubbles[_local9] = 0; _local9++; }; return (_local8); } public function expand_fn(_arg1:Event){ growth = 1; } public function updateScreen(_arg1:Object, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int){ var _local7:int; var _local8:Number; var _local9:Number; var _local10:Graphics; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:int; _local8 = (_arg1.y + _arg1.height); _local9 = 0; _arg1.size.shift(); _arg1.size.push((size / maxSize)); _arg1.temp.shift(); _local7 = 0; while (_local7 < lamp.blobs.length) { _local9 = (_local9 + lamp.blobs[_local7].temperature); _local7++; }; if (_local9){ _local9 = (_local9 / lamp.blobs.length); }; _arg1.temp.push(_local9); _arg1.bubbles.shift(); _arg1.bubbles.push(lamp.blobs.length); _local10 = _arg1.clip.graphics; _local10.clear(); _local10.lineStyle(1, _arg2); _local10.beginFill(_arg3); _local10.drawRect(_arg1.x, _arg1.y, _arg1.width, _arg1.height); _local10.endFill(); _local10.moveTo(_arg1.x, (_arg1.y + (_arg1.height * 0.5))); _local10.lineTo((_arg1.x + _arg1.width), (_arg1.y + (_arg1.height * 0.5))); _local11 = (0 / (_arg1.size.length - 1)); _local12 = (-(_arg1.size[0]) * _arg1.height); _local10.lineStyle(1, _arg4); _local10.moveTo((_arg1.x + (_arg1.width * _local11)), (_local8 + _local12)); _local7 = 1; while (_local7 < _arg1.size.length) { _local11 = (_local7 / (_arg1.size.length - 1)); _local12 = (-(_arg1.size[_local7]) * _arg1.height); _local10.lineTo((_arg1.x + (_arg1.width * _local11)), (_local8 + _local12)); _local7++; }; _local13 = 2000; _local11 = (0 / (_arg1.temp.length - 1)); _local12 = (_arg1.temp[0] / _local13); if (_local12 > 1){ _local12 = 1; } else { if (_local12 < 0){ _local12 = 0; }; }; _local12 = (_local12 * -(_arg1.height)); _local10.lineStyle(1, _arg5); _local10.moveTo((_arg1.x + (_arg1.width * _local11)), (_local8 + _local12)); _local7 = 0; while (_local7 < _arg1.temp.length) { _local11 = (_local7 / (_arg1.temp.length - 1)); _local12 = (_arg1.temp[_local7] / _local13); if (_local12 > 1){ _local12 = 1; } else { if (_local12 < 0){ _local12 = 0; }; }; _local12 = (_local12 * -(_arg1.height)); _local10.lineTo((_arg1.x + (_arg1.width * _local11)), (_local8 + _local12)); _local7++; }; _local14 = 24; _local11 = (0 / (_arg1.bubbles.length - 1)); _local12 = ((-(_arg1.height) * _arg1.bubbles[0]) / _local14); _local10.lineStyle(1, _arg6); _local10.moveTo((_arg1.x + (_arg1.width * _local11)), (_local8 + _local12)); _local7 = 0; while (_local7 < _arg1.size.length) { _local11 = (_local7 / (_arg1.bubbles.length - 1)); _local12 = ((-(_arg1.height) * _arg1.bubbles[_local7]) / _local14); _local10.lineTo((_arg1.x + (_arg1.width * _local11)), (_local8 + _local12)); _local7++; }; } public function draggingCharacter(_arg1:Event){ _panel._cam.gotoAndStop(1); whitefang.x = ((oldX + stage.mouseX) - oldMX); whitefang.y = ((oldY + stage.mouseY) - oldMY); adjustPosition(); _info_txt.text = ""; if (((whitefang.breast1.hitTestPoint((STAGE_WIDTH * 0.5), (STAGE_HEIGHT * 0.5), true)) || (whitefang.breast2.hitTestPoint((STAGE_WIDTH * 0.5), (STAGE_HEIGHT * 0.5), true)))){ _info_txt.appendText("BREASTS\n"); }; if (whitefang.belly.hitTestPoint((STAGE_WIDTH * 0.5), (STAGE_HEIGHT * 0.5), true)){ _info_txt.appendText("BELLY\n"); }; if (inSight(whitefang.nose, 10)){ _info_txt.appendText("FACE\n"); }; } public function dragCharacter(_arg1:Event){ if (!worldDragable()){ return; }; oldMX = stage.mouseX; oldMY = stage.mouseY; oldX = whitefang.x; oldY = whitefang.y; stage.addEventListener("mouseMove", draggingCharacter); stage.addEventListener("mouseUp", dropCharacter); } public function moveBreasts(){ if (breastPhase){ return; }; breastPhase = 1; breastTimer = 0; blushMode = BLUSH_ON; stage.addEventListener("enterFrame", movingBreasts); } public function zoomingIn(_arg1:Event){ if (whitefang.scaleX > 2.5){ return; }; whitefang.scaleX = (whitefang.scaleX + 0.01); whitefang.scaleY = whitefang.scaleX; adjustPosition(); } public function updateLavaLamp(_arg1:Event){ lamp.update(); } public function stopExpansion(_arg1:Event){ if ((_panel._cont.currentFrame - 2)){ growth = 0; }; } public function blushing(_arg1:Event){ if (blushMode){ blush = (blush + 0.05); if (blush >= 1){ blush = 1; if (blushMode == BLUSH){ blushMode = BLUSH_OFF; }; }; } else { blush = (blush - 0.05); if (blush <= 0){ blush = 0; }; }; whitefang.blush.alpha = blush; } public function cont_fn(_arg1:Event){ (_arg1.currentTarget as MovieClip).gotoAndStop((3 - (_arg1.currentTarget as MovieClip).currentFrame)); growth = 0; } public function frameSwitch(_arg1:Event){ (_arg1.currentTarget as MovieClip).gotoAndStop((3 - (_arg1.currentTarget as MovieClip).currentFrame)); } public function stopZoom(_arg1:Event){ stage.removeEventListener("enterFrame", zoomingIn); stage.removeEventListener("enterFrame", zoomingOut); } public function dropCharacter(_arg1:Event){ stage.removeEventListener("mouseMove", draggingCharacter); stage.removeEventListener("mouseUp", dropCharacter); if (inSight(whitefang.nose, 10)){ react("wink", 30); }; if (((whitefang.breast1.hitTestPoint((STAGE_WIDTH * 0.5), (STAGE_HEIGHT * 0.5), true)) || (whitefang.breast2.hitTestPoint((STAGE_WIDTH * 0.5), (STAGE_HEIGHT * 0.5), true)))){ react("breastmove", 30); moveBreasts(); }; } public function revert_fn(_arg1:Event){ growth = -1; } public function createBox(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:DisplayObjectContainer, _arg7:int):Object{ var _local8:int; var _local9:int; var _local10:Object; _local10 = {}; _local10.x = _arg1; _local10.y = _arg2; _local10.width = _arg3; _local10.height = _arg4; _local10.size = _arg5; _local10.clip = new MovieClip(); if ((((_arg7 > -1)) && ((_arg7 <= _arg6.numChildren)))){ _arg6.addChildAt(_local10.clip, _arg7); } else { _arg6.addChild(_local10.clip); }; _local10.lights = new Array(); _local8 = 0; while (_local8 < _arg3) { _local10.lights[_local8] = []; _local9 = 0; while (_local9 < _arg4) { _local10.lights[_local8][_local9] = -1; _local9++; }; _local8++; }; return (_local10); } public function zoomReset(_arg1:Event=null){ var _local2:Number; var _local3:Number; var _local4:Number; _local2 = (initScale + (((endScale - initScale) * size) / maxSize)); _local3 = (initX + (((endX - initX) * size) / maxSize)); _local4 = (initY + (((endY - initY) * size) / maxSize)); whitefang.scaleX = _local2; whitefang.scaleY = whitefang.scaleX; whitefang.x = _local3; whitefang.y = _local4; adjustPosition(); } public function setState(_arg1:String){ var _local2:String; if ((((state == _arg1)) || (!((condition == ""))))){ return; }; if (!states[_arg1]){ return; }; for (_local2 in states[_arg1]) { curState[_local2] = states[_arg1][_local2]; }; curState.state = (state = _arg1); whitefang.mouth.gotoAndPlay(curState.mouth); whitefang.eye1.gotoAndPlay(curState.eye1); whitefang.eye2.gotoAndPlay(curState.eye2); whitefang.eye1.pupil.x = (curState.p1X + p1X); whitefang.eye1.pupil.y = (curState.p1Y + p1Y); whitefang.eye2.pupil.x = (curState.p2X + p2X); whitefang.eye2.pupil.y = (curState.p2Y + p2Y); canBlink = whitefang.canBlink; } public function hittingBelly(_arg1:Event){ var _local2:int; var _local3:Number; var _local4:Number; _local2 = 0; while (_local2 < lamp.blobs.length) { _local3 = (whitefang.mouseX - lamp.blobs[_local2].x); _local4 = (whitefang.mouseY - lamp.blobs[_local2].y); if (((_local3 * _local3) + (_local4 * _local4)) <= (lamp.blobs[_local2].radius * lamp.blobs[_local2].radius)){ lamp.blobs[_local2].x = (lamp.blobs[_local2].x + (_local3 * 0.1)); lamp.blobs[_local2].y = (lamp.blobs[_local2].y + (_local4 * 0.1)); lamp.blobs[_local2].temperature = (lamp.blobs[_local2].temperature + ((100 - lamp.blobs[_local2].temperature) * 0.05)); movingBlobs = 10; }; _local2++; }; } public function inSight(_arg1:MovieClip, _arg2:Number):Boolean{ trace((_arg1.x + _arg1.parent.x), (_arg1.y + _arg1.parent.y)); if ((((((((((_arg1.x * _arg1.parent.scaleX) + _arg1.parent.x) > ((STAGE_WIDTH * 0.5) - _arg2))) && ((((_arg1.y * _arg1.parent.scaleY) + _arg1.parent.y) > ((STAGE_HEIGHT * 0.5) - _arg2))))) && ((((_arg1.x * _arg1.parent.scaleX) + _arg1.parent.x) < ((STAGE_WIDTH * 0.5) + _arg2))))) && ((((_arg1.y * _arg1.parent.scaleY) + _arg1.parent.y) < ((STAGE_HEIGHT * 0.5) + _arg2))))){ return (true); }; return (false); } public function react(_arg1:String, _arg2:int=-1){ var _local3:String; if (state == _arg1){ timer = _arg2; if (_arg2 <= 0){ stage.removeEventListener("enterFrame", timeout_fn); condition = ""; setState(curState.state); }; return; }; if (condition != ""){ return; }; _local3 = curState.state; condition = ""; setState(_arg1); curState.state = _local3; condition = "react"; timer = _arg2; stage.addEventListener("enterFrame", timeout_fn); } public function setSize(_arg1:int){ var _local2:Number; var _local3:ColorTransform; var _local4:GlowFilter; _arg1 = ((_arg1)<1) ? 1 : ((_arg1)>maxSize) ? maxSize : _arg1; _local2 = (Number(_arg1) / maxSize); whitefang.belly.gotoAndStop(_arg1); whitefang.bellyCover.gotoAndStop(_arg1); whitefang.breast1.gotoAndStop(_arg1); whitefang.breast2.gotoAndStop(_arg1); _local3 = new ColorTransform(); _local3.blueMultiplier = (1 - _local2); _local3.greenMultiplier = (1 - ((_local2 * (0xFF - 204)) / 0xFF)); _local3.alphaMultiplier = (1 - (_local2 * 0.1)); _local4 = new GlowFilter(0xFFCC00, _local2, Math.floor((_local2 * 32)), Math.floor((_local2 * 32))); whitefang.belly.transform.colorTransform = _local3; whitefang.belly.filters = [_local4]; resizeLavaLamp(); } public function movingBreasts(_arg1:Event){ var _local2:Object; var _local3:Object; var _local4:Object; var _local5:Number; var _local6:Number; var _local7:Matrix; var _local8:Matrix; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Rectangle; var _local13:Rectangle; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local2 = breastPhases[(breastPhase % NUM_BREAST_PHASES)]; _local3 = breastPhases[(((breastPhase + NUM_BREAST_PHASES) - 1) % NUM_BREAST_PHASES)]; _local4 = breastPhases[(Math.min((breastPhase + 1), 3) % NUM_BREAST_PHASES)]; _local5 = (breastTimer / _local2.time); _local6 = (_local5 * 0.25); _local7 = whitefang.breast1.transform.matrix; _local8 = whitefang.breast2.transform.matrix; _local9 = (_local3.scaleX + ((_local2.scaleX - _local3.scaleX) * _local5)); _local10 = (_local3.scaleY + ((_local2.scaleY - _local3.scaleY) * _local5)); _local11 = (_local3.skew + ((_local2.skew - _local3.skew) * _local5)); if (breastPhase == 3){ _local9 = (whitefang.breast1.scaleX + ((_local2.scaleX - whitefang.breast1.scaleX) * 0.2)); _local10 = (whitefang.breast1.scaleY + ((_local2.scaleY - whitefang.breast1.scaleY) * 0.2)); _local11 = (_local8.b + ((_local2.skew - _local8.b) * 0.2)); } else { _local9 = (_local9 + ((_local4.scaleX - _local9) * _local6)); _local10 = (_local10 + ((_local4.scaleY - _local10) * _local6)); _local11 = (_local11 + ((_local4.skew - _local11) * _local6)); }; whitefang.breast1.scaleX = (whitefang.breast2.scaleX = _local9); whitefang.breast1.scaleY = (whitefang.breast2.scaleY = _local10); _local7 = whitefang.breast1.transform.matrix; _local8 = whitefang.breast2.transform.matrix; _local7.b = -(_local11); _local8.b = _local11; whitefang.breast1.transform.matrix = _local7; whitefang.breast2.transform.matrix = _local8; _local12 = whitefang.breast1.getBounds(whitefang); _local13 = whitefang.breast2.getBounds(whitefang); _local14 = ((_local12.x + _local12.width) - (b1Bounds.x + b1Bounds.width)); _local15 = (_local12.y - b1Bounds.y); _local16 = (_local13.x - b2Bounds.x); _local17 = (_local13.y - b2Bounds.y); whitefang.breast1.x = (whitefang.breast1.x - _local14); whitefang.breast1.y = (whitefang.breast1.y - _local15); whitefang.breast2.x = (whitefang.breast2.x - _local16); whitefang.breast2.y = (whitefang.breast2.y - _local17); if (breastTimer >= _local2.time){ breastPhase++; breastTimer = 2; if (breastPhase == 4){ blushMode = BLUSH_OFF; breastPhase = 0; breastTimer = 0; stage.removeEventListener("enterFrame", movingBreasts); }; return; }; breastTimer++; } public function zoomingOut(_arg1:Event){ whitefang.scaleX = (whitefang.scaleX - 0.01); whitefang.scaleY = whitefang.scaleX; if ((((whitefang.width <= STAGE_WIDTH)) || ((whitefang.height <= STAGE_HEIGHT)))){ whitefang.scaleX = (whitefang.scaleX + 0.01); whitefang.scaleY = whitefang.scaleX; }; adjustPosition(); } public function resizeLavaLamp(_arg1:Boolean=true){ var _local2:int; var _local3:Rectangle; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:int; var _local8:Number; var _local9:Blob; var _local10:Number; _local2 = 0; while (_local2 <= 11) { lamp.boundaries[_local2].x = whitefang.belly[("circle" + _local2)].x; lamp.boundaries[_local2].y = whitefang.belly[("circle" + _local2)].y; _local2++; }; lamp_mask.graphics.clear(); lamp_mask.graphics.beginFill(0); Geometry.drawClosedCurve(lamp.boundaries, lamp_mask.graphics); lamp_mask.graphics.endFill(); _local3 = lamp.getBounds(); _local4 = ((_local3.width * _local3.height) * LAMP_AREA_PROP); _local5 = (_local4 * LAVA_AREA_PROP); _local6 = ((_local3.width * 0.5) / NUM_SOURCES); _local7 = 0; while (_local7 < NUM_SOURCES) { heatSources[_local7].radius = _local6; heatSources[_local7].x = (_local6 + ((2 * _local7) * _local6)); heatSources[_local7].y = (_local3.y + _local3.height); coldSources[_local7].radius = _local6; coldSources[_local7].x = (_local6 + ((2 * _local7) * _local6)); coldSources[_local7].y = _local3.y; _local7++; }; if (_arg1){ _local8 = (_local5 - totalLavaArea); if ((((totalLavaArea < (_local5 - NEW_BLOB_SIZE))) || ((MAX_LAMP_AREA == _local4)))){ _local9 = new Blob(1); _local9.area = _local8; _local9.y = _local3.y; _local9.x = (_local3.x + (_local3.width * 0.5)); _local9.temperature = heatSources[0].temperature; lamp.addBlob(_local9); totalLavaArea = _local5; } else { if (totalLavaArea > (_local5 + NEW_BLOB_SIZE)){ _local8 = -(_local8); _local10 = 0; while ((((_local8 > 0)) && ((lamp.blobs.length > 0)))) { _local10 = Math.min(lamp.blobs[0].area, NEW_BLOB_SIZE); lamp.blobs[0].area = (lamp.blobs[0].area - _local10); _local8 = (_local8 - _local10); if (!lamp.blobs[0].area){ lamp.removeBlob(lamp.blobs[0]); }; }; totalLavaArea = _local5; }; }; }; topLava._height = (-(_local3.height) / 6); topLava._width = _local3.width; topLava._x = _local3.x; topLava._y = (_local3.y - topLava._height); topLava.clearWaves(); topLava.addWave((_local3.width * 4), (_local3.height / 20), (Math.PI * 0.25), 0.073); topLava.addWave((_local3.width * 0.75), (_local3.height / 20), (Math.PI * 0.72), 0.062); topLava.addWave((_local3.width * 0.25), (_local3.height / 30), (Math.PI * 0.12), 0.016); bottomLava._height = (_local3.height / 6); bottomLava._width = _local3.width; bottomLava._x = _local3.x; bottomLava._y = ((_local3.y + _local3.height) - bottomLava._height); bottomLava.clearWaves(); bottomLava.addWave((_local3.width * 3), (_local3.height / 20), (Math.PI * 0.18), 0.07); bottomLava.addWave((_local3.width * 0.75), (_local3.height / 20), (Math.PI * 0.42), 0.059); bottomLava.addWave((_local3.width * 0.25), (_local3.height / 30), (Math.PI * 0.66), 0.022); if (_arg1){ lamp._scale = Math.sqrt((_local4 / MAX_LAMP_AREA)); }; } public function clearStolen(_arg1:Event){ stolen_txt.removeEventListener("mouseDown", clearStolen); stolen_txt.parent.removeChild(stolen_txt); } public function adjustPosition(){ var _local1:Rectangle; _local1 = whitefang.getBounds(stage); if (_local1.x > 0){ whitefang.x = (whitefang.x - _local1.x); }; if ((_local1.x + _local1.width) < STAGE_WIDTH){ whitefang.x = (whitefang.x + ((STAGE_WIDTH - _local1.x) - _local1.width)); }; if (_local1.y > 0){ whitefang.y = (whitefang.y - _local1.y); }; if ((_local1.y + _local1.height) < STAGE_HEIGHT){ whitefang.y = (whitefang.y + ((STAGE_HEIGHT - _local1.y) - _local1.height)); }; } public function panelMove(_arg1:Event){ if (_panel.hitTestPoint(stage.mouseX, stage.mouseY, true)){ _panel.y = (_panel.y + ((500 - _panel.y) * 0.5)); } else { _panel.y = (_panel.y + ((600 - _panel.y) * 0.5)); }; } } }//package lavaLampBelly_fla
Section 14
//mouth_18 (lavaLampBelly_fla.mouth_18) package lavaLampBelly_fla { import flash.display.*; public dynamic class mouth_18 extends MovieClip { public function mouth_18(){ addFrameScript(1, frame2, 3, frame4, 5, frame6, 7, frame8, 9, frame10, 11, frame12, 13, frame14, 15, frame16); } function frame10(){ this.stop(); } function frame14(){ this.stop(); } function frame12(){ this.stop(); } function frame6(){ this.stop(); } function frame16(){ this.stop(); } function frame8(){ this.stop(); } function frame4(){ this.stop(); } function frame2(){ this.stop(); } } }//package lavaLampBelly_fla
Section 15
//panel_27 (lavaLampBelly_fla.panel_27) package lavaLampBelly_fla { import flash.display.*; import flash.text.*; public dynamic class panel_27 extends MovieClip { public var _cam:MovieClip; public var _revert:MovieClip; public var _cont:MovieClip; public var _minus:MovieClip; public var _cont_txt:TextField; public var _zero:MovieClip; public var _plus:MovieClip; public var _info:TextField; public var _expand:MovieClip; public var _cam_txt:TextField; } }//package lavaLampBelly_fla
Section 16
//tail_4 (lavaLampBelly_fla.tail_4) package lavaLampBelly_fla { import flash.display.*; public dynamic class tail_4 extends MovieClip { public function tail_4(){ addFrameScript(0, frame1); } function frame1(){ this.stop(); } } }//package lavaLampBelly_fla
Section 17
//whitefang_1 (lavaLampBelly_fla.whitefang_1) package lavaLampBelly_fla { import flash.display.*; public dynamic class whitefang_1 extends MovieClip { public var _light7:MovieClip; public var _light1:MovieClip; public var _light4:MovieClip; public var _light5:MovieClip; public var _light6:MovieClip; public var _light3:MovieClip; public var _light8:MovieClip; public var front:MovieClip; public var eye2:MovieClip; public var _light9:MovieClip; public var tail:MovieClip; public var leg2:MovieClip; public var arm2:MovieClip; public var eye1:MovieClip; public var arm1:MovieClip; public var _light10:MovieClip; public var _light11:MovieClip; public var _light2:MovieClip; public var breast1:MovieClip; public var bellyCover:MovieClip; public var hair3:MovieClip; public var hair2:MovieClip; public var breast2:MovieClip; public var body:MovieClip; public var ear1:MovieClip; public var leg1:MovieClip; public var blush:MovieClip; public var ear2:MovieClip; public var mouth:MovieClip; public var nose:MovieClip; public var hair1:MovieClip; public var belly:MovieClip; public var head:MovieClip; public var _light0:MovieClip; } }//package lavaLampBelly_fla

Library Items

Symbol 1 BitmapUsed by:2
Symbol 2 GraphicUses:1Used by:177
Symbol 3 GraphicUsed by:4
Symbol 4 MovieClipUses:3Used by:177
Symbol 5 FontUsed by:7 8 195
Symbol 6 TextUsed by:177
Symbol 7 TextUses:5Used by:177
Symbol 8 TextUses:5Used by:177
Symbol 9 GraphicUsed by:10
Symbol 10 MovieClipUses:9Used by:177
Symbol 11 ShapeTweeningUsed by:19
Symbol 12 ShapeTweeningUsed by:19
Symbol 13 ShapeTweeningUsed by:19
Symbol 14 ShapeTweeningUsed by:19
Symbol 15 ShapeTweeningUsed by:19
Symbol 16 ShapeTweeningUsed by:19
Symbol 17 ShapeTweeningUsed by:19
Symbol 18 GraphicUsed by:19
Symbol 19 MovieClip {lavaLampBelly_fla.tail_4}Uses:11 12 13 14 15 16 17 18Used by:177
Symbol 20 GraphicUsed by:21
Symbol 21 MovieClipUses:20Used by:177
Symbol 22 GraphicUsed by:23
Symbol 23 MovieClipUses:22Used by:177
Symbol 24 GraphicUsed by:25
Symbol 25 MovieClipUses:24Used by:177
Symbol 26 GraphicUsed by:27
Symbol 27 MovieClipUses:26Used by:177
Symbol 28 GraphicUsed by:29
Symbol 29 MovieClipUses:28Used by:177
Symbol 30 GraphicUsed by:31
Symbol 31 MovieClipUses:30Used by:177
Symbol 32 GraphicUsed by:33
Symbol 33 MovieClipUses:32Used by:177
Symbol 34 GraphicUsed by:35
Symbol 35 MovieClipUses:34Used by:177
Symbol 36 GraphicUsed by:37
Symbol 37 MovieClipUses:36Used by:177
Symbol 38 GraphicUsed by:50
Symbol 39 GraphicUsed by:50
Symbol 40 GraphicUsed by:41
Symbol 41 MovieClipUses:40Used by:50 61
Symbol 42 GraphicUsed by:50
Symbol 43 GraphicUsed by:50
Symbol 44 GraphicUsed by:50
Symbol 45 GraphicUsed by:50
Symbol 46 GraphicUsed by:50
Symbol 47 GraphicUsed by:50
Symbol 48 GraphicUsed by:50
Symbol 49 GraphicUsed by:50
Symbol 50 MovieClip {lavaLampBelly_fla.eye1_14}Uses:38 39 41 42 43 44 45 46 47 48 49Used by:177
Symbol 51 GraphicUsed by:61
Symbol 52 GraphicUsed by:61
Symbol 53 GraphicUsed by:61
Symbol 54 GraphicUsed by:61
Symbol 55 GraphicUsed by:61
Symbol 56 GraphicUsed by:61
Symbol 57 GraphicUsed by:61
Symbol 58 GraphicUsed by:61
Symbol 59 GraphicUsed by:61
Symbol 60 GraphicUsed by:61
Symbol 61 MovieClip {lavaLampBelly_fla.eye2_16}Uses:51 52 41 53 54 55 56 57 58 59 60Used by:177
Symbol 62 GraphicUsed by:63
Symbol 63 MovieClipUses:62Used by:177
Symbol 64 GraphicUsed by:72
Symbol 65 GraphicUsed by:72
Symbol 66 GraphicUsed by:72
Symbol 67 GraphicUsed by:72
Symbol 68 GraphicUsed by:72
Symbol 69 GraphicUsed by:72
Symbol 70 GraphicUsed by:72
Symbol 71 GraphicUsed by:72
Symbol 72 MovieClip {lavaLampBelly_fla.mouth_18}Uses:64 65 66 67 68 69 70 71Used by:177
Symbol 73 GraphicUsed by:74
Symbol 74 MovieClipUses:73Used by:177
Symbol 75 GraphicUsed by:76
Symbol 76 MovieClipUses:75Used by:177
Symbol 77 ShapeTweeningUsed by:95
Symbol 78 ShapeTweeningUsed by:95
Symbol 79 ShapeTweeningUsed by:95
Symbol 80 GraphicUsed by:81
Symbol 81 MovieClipUses:80Used by:95
Symbol 82 ShapeTweeningUsed by:95
Symbol 83 ShapeTweeningUsed by:95
Symbol 84 ShapeTweeningUsed by:95
Symbol 85 ShapeTweeningUsed by:95
Symbol 86 ShapeTweeningUsed by:95
Symbol 87 ShapeTweeningUsed by:95
Symbol 88 ShapeTweeningUsed by:95
Symbol 89 ShapeTweeningUsed by:95
Symbol 90 ShapeTweeningUsed by:95
Symbol 91 ShapeTweeningUsed by:95
Symbol 92 ShapeTweeningUsed by:95
Symbol 93 ShapeTweeningUsed by:95
Symbol 94 GraphicUsed by:95
Symbol 95 MovieClip {lavaLampBelly_fla.belly_21}Uses:77 78 79 81 82 83 84 85 86 87 88 89 90 91 92 93 94Used by:177
Symbol 96 ShapeTweeningUsed by:112
Symbol 97 ShapeTweeningUsed by:112
Symbol 98 ShapeTweeningUsed by:112
Symbol 99 ShapeTweeningUsed by:112
Symbol 100 ShapeTweeningUsed by:112
Symbol 101 ShapeTweeningUsed by:112
Symbol 102 ShapeTweeningUsed by:112
Symbol 103 ShapeTweeningUsed by:112
Symbol 104 ShapeTweeningUsed by:112
Symbol 105 ShapeTweeningUsed by:112
Symbol 106 ShapeTweeningUsed by:112
Symbol 107 ShapeTweeningUsed by:112
Symbol 108 ShapeTweeningUsed by:112
Symbol 109 ShapeTweeningUsed by:112
Symbol 110 ShapeTweeningUsed by:112
Symbol 111 GraphicUsed by:112
Symbol 112 MovieClipUses:96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111Used by:177
Symbol 113 GraphicUsed by:177
Symbol 114 ShapeTweeningUsed by:143
Symbol 115 ShapeTweeningUsed by:143
Symbol 116 ShapeTweeningUsed by:143
Symbol 117 ShapeTweeningUsed by:143
Symbol 118 ShapeTweeningUsed by:143
Symbol 119 ShapeTweeningUsed by:143
Symbol 120 ShapeTweeningUsed by:143
Symbol 121 ShapeTweeningUsed by:143
Symbol 122 ShapeTweeningUsed by:143
Symbol 123 ShapeTweeningUsed by:143
Symbol 124 ShapeTweeningUsed by:143
Symbol 125 ShapeTweeningUsed by:143
Symbol 126 ShapeTweeningUsed by:143
Symbol 127 ShapeTweeningUsed by:143
Symbol 128 GraphicUsed by:143
Symbol 129 ShapeTweeningUsed by:143
Symbol 130 ShapeTweeningUsed by:143
Symbol 131 ShapeTweeningUsed by:143
Symbol 132 ShapeTweeningUsed by:143
Symbol 133 ShapeTweeningUsed by:143
Symbol 134 ShapeTweeningUsed by:143
Symbol 135 ShapeTweeningUsed by:143
Symbol 136 ShapeTweeningUsed by:143
Symbol 137 ShapeTweeningUsed by:143
Symbol 138 ShapeTweeningUsed by:143
Symbol 139 ShapeTweeningUsed by:143
Symbol 140 ShapeTweeningUsed by:143
Symbol 141 ShapeTweeningUsed by:143
Symbol 142 GraphicUsed by:143
Symbol 143 MovieClipUses:114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142Used by:177
Symbol 144 ShapeTweeningUsed by:173
Symbol 145 ShapeTweeningUsed by:173
Symbol 146 ShapeTweeningUsed by:173
Symbol 147 ShapeTweeningUsed by:173
Symbol 148 ShapeTweeningUsed by:173
Symbol 149 ShapeTweeningUsed by:173
Symbol 150 ShapeTweeningUsed by:173
Symbol 151 ShapeTweeningUsed by:173
Symbol 152 ShapeTweeningUsed by:173
Symbol 153 ShapeTweeningUsed by:173
Symbol 154 ShapeTweeningUsed by:173
Symbol 155 ShapeTweeningUsed by:173
Symbol 156 ShapeTweeningUsed by:173
Symbol 157 ShapeTweeningUsed by:173
Symbol 158 GraphicUsed by:173
Symbol 159 ShapeTweeningUsed by:173
Symbol 160 ShapeTweeningUsed by:173
Symbol 161 ShapeTweeningUsed by:173
Symbol 162 ShapeTweeningUsed by:173
Symbol 163 ShapeTweeningUsed by:173
Symbol 164 ShapeTweeningUsed by:173
Symbol 165 ShapeTweeningUsed by:173
Symbol 166 ShapeTweeningUsed by:173
Symbol 167 ShapeTweeningUsed by:173
Symbol 168 ShapeTweeningUsed by:173
Symbol 169 ShapeTweeningUsed by:173
Symbol 170 ShapeTweeningUsed by:173
Symbol 171 ShapeTweeningUsed by:173
Symbol 172 GraphicUsed by:173
Symbol 173 MovieClipUses: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 172Used by:177
Symbol 174 GraphicUsed by:175
Symbol 175 MovieClipUses:174Used by:177
Symbol 176 GraphicUsed by:177
Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1}Uses:2 4 6 7 8 10 19 21 23 25 27 29 31 33 35 37 50 61 63 72 74 76 95 112 113 143 173 175 176Used by:Timeline
Symbol 178 GraphicUsed by:Timeline
Symbol 179 GraphicUsed by:193
Symbol 180 GraphicUsed by:183
Symbol 181 FontUsed by:182 187 188 189 191 192
Symbol 182 EditableTextUses:181Used by:183
Symbol 183 MovieClip {lavaLampBelly_fla._btn1_28}Uses:180 182Used by:193
Symbol 184 GraphicUsed by:186 190
Symbol 185 GraphicUsed by:186
Symbol 186 MovieClip {lavaLampBelly_fla._btn2_29}Uses:184 185Used by:193
Symbol 187 EditableTextUses:181Used by:193
Symbol 188 EditableTextUses:181Used by:193
Symbol 189 EditableTextUses:181Used by:190
Symbol 190 MovieClip {lavaLampBelly_fla._btn3_30}Uses:184 189Used by:193
Symbol 191 TextUses:181Used by:193
Symbol 192 EditableTextUses:181Used by:193
Symbol 193 MovieClip {lavaLampBelly_fla.panel_27}Uses:179 183 186 187 188 190 191 192Used by:Timeline
Symbol 194 GraphicUsed by:Timeline
Symbol 195 EditableTextUses:5Used by:Timeline

Instance Names

"whitefang"Frame 1Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1}
"_panel"Frame 1Symbol 193 MovieClip {lavaLampBelly_fla.panel_27}
"_info_txt"Frame 1Symbol 195 EditableText
"pupil"Symbol 50 MovieClip {lavaLampBelly_fla.eye1_14} Frame 1Symbol 41 MovieClip
"pupil"Symbol 61 MovieClip {lavaLampBelly_fla.eye2_16} Frame 1Symbol 41 MovieClip
"circle0"Symbol 95 MovieClip {lavaLampBelly_fla.belly_21} Frame 1Symbol 81 MovieClip
"circle11"Symbol 95 MovieClip {lavaLampBelly_fla.belly_21} Frame 1Symbol 81 MovieClip
"circle1"Symbol 95 MovieClip {lavaLampBelly_fla.belly_21} Frame 1Symbol 81 MovieClip
"circle2"Symbol 95 MovieClip {lavaLampBelly_fla.belly_21} Frame 1Symbol 81 MovieClip
"circle3"Symbol 95 MovieClip {lavaLampBelly_fla.belly_21} Frame 1Symbol 81 MovieClip
"circle5"Symbol 95 MovieClip {lavaLampBelly_fla.belly_21} Frame 1Symbol 81 MovieClip
"circle6"Symbol 95 MovieClip {lavaLampBelly_fla.belly_21} Frame 1Symbol 81 MovieClip
"circle4"Symbol 95 MovieClip {lavaLampBelly_fla.belly_21} Frame 1Symbol 81 MovieClip
"circle7"Symbol 95 MovieClip {lavaLampBelly_fla.belly_21} Frame 1Symbol 81 MovieClip
"circle8"Symbol 95 MovieClip {lavaLampBelly_fla.belly_21} Frame 1Symbol 81 MovieClip
"circle9"Symbol 95 MovieClip {lavaLampBelly_fla.belly_21} Frame 1Symbol 81 MovieClip
"circle10"Symbol 95 MovieClip {lavaLampBelly_fla.belly_21} Frame 1Symbol 81 MovieClip
"_light0"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 4 MovieClip
"_light1"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 4 MovieClip
"_light2"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 4 MovieClip
"_light3"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 4 MovieClip
"_light4"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 4 MovieClip
"_light5"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 4 MovieClip
"_light6"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 4 MovieClip
"_light7"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 4 MovieClip
"_light8"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 4 MovieClip
"_light9"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 4 MovieClip
"_light10"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 4 MovieClip
"_light11"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 4 MovieClip
"hair3"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 10 MovieClip
"tail"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 19 MovieClip {lavaLampBelly_fla.tail_4}
"leg2"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 21 MovieClip
"leg1"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 23 MovieClip
"arm2"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 25 MovieClip
"arm1"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 27 MovieClip
"body"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 29 MovieClip
"front"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 31 MovieClip
"head"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 33 MovieClip
"ear1"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 35 MovieClip
"ear2"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 37 MovieClip
"eye1"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 50 MovieClip {lavaLampBelly_fla.eye1_14}
"eye2"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 61 MovieClip {lavaLampBelly_fla.eye2_16}
"nose"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 63 MovieClip
"mouth"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 72 MovieClip {lavaLampBelly_fla.mouth_18}
"blush"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 74 MovieClip
"hair2"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 76 MovieClip
"belly"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 95 MovieClip {lavaLampBelly_fla.belly_21}
"bellyCover"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 112 MovieClip
"breast2"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 143 MovieClip
"breast1"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 173 MovieClip
"hair1"Symbol 177 MovieClip {lavaLampBelly_fla.whitefang_1} Frame 1Symbol 175 MovieClip
"_txt"Symbol 183 MovieClip {lavaLampBelly_fla._btn1_28} Frame 1Symbol 182 EditableText
"_txt"Symbol 190 MovieClip {lavaLampBelly_fla._btn3_30} Frame 1Symbol 189 EditableText
"_revert"Symbol 193 MovieClip {lavaLampBelly_fla.panel_27} Frame 1Symbol 183 MovieClip {lavaLampBelly_fla._btn1_28}
"_expand"Symbol 193 MovieClip {lavaLampBelly_fla.panel_27} Frame 1Symbol 183 MovieClip {lavaLampBelly_fla._btn1_28}
"_cont"Symbol 193 MovieClip {lavaLampBelly_fla.panel_27} Frame 1Symbol 186 MovieClip {lavaLampBelly_fla._btn2_29}
"_cont_txt"Symbol 193 MovieClip {lavaLampBelly_fla.panel_27} Frame 1Symbol 187 EditableText
"_info"Symbol 193 MovieClip {lavaLampBelly_fla.panel_27} Frame 1Symbol 188 EditableText
"_minus"Symbol 193 MovieClip {lavaLampBelly_fla.panel_27} Frame 1Symbol 190 MovieClip {lavaLampBelly_fla._btn3_30}
"_plus"Symbol 193 MovieClip {lavaLampBelly_fla.panel_27} Frame 1Symbol 190 MovieClip {lavaLampBelly_fla._btn3_30}
"_cam_txt"Symbol 193 MovieClip {lavaLampBelly_fla.panel_27} Frame 1Symbol 192 EditableText
"_cam"Symbol 193 MovieClip {lavaLampBelly_fla.panel_27} Frame 1Symbol 186 MovieClip {lavaLampBelly_fla._btn2_29}
"_zero"Symbol 193 MovieClip {lavaLampBelly_fla.panel_27} Frame 1Symbol 190 MovieClip {lavaLampBelly_fla._btn3_30}

Special Tags

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

Labels

"open"Symbol 50 MovieClip {lavaLampBelly_fla.eye1_14} Frame 1
"closed"Symbol 50 MovieClip {lavaLampBelly_fla.eye1_14} Frame 3
"small"Symbol 50 MovieClip {lavaLampBelly_fla.eye1_14} Frame 5
"medium"Symbol 50 MovieClip {lavaLampBelly_fla.eye1_14} Frame 7
"big"Symbol 50 MovieClip {lavaLampBelly_fla.eye1_14} Frame 9
"blink"Symbol 50 MovieClip {lavaLampBelly_fla.eye1_14} Frame 11
"endblink"Symbol 50 MovieClip {lavaLampBelly_fla.eye1_14} Frame 15
"sad"Symbol 50 MovieClip {lavaLampBelly_fla.eye1_14} Frame 17
"shut"Symbol 50 MovieClip {lavaLampBelly_fla.eye1_14} Frame 19
"open"Symbol 61 MovieClip {lavaLampBelly_fla.eye2_16} Frame 1
"closed"Symbol 61 MovieClip {lavaLampBelly_fla.eye2_16} Frame 3
"small"Symbol 61 MovieClip {lavaLampBelly_fla.eye2_16} Frame 5
"medium"Symbol 61 MovieClip {lavaLampBelly_fla.eye2_16} Frame 7
"big"Symbol 61 MovieClip {lavaLampBelly_fla.eye2_16} Frame 9
"blink"Symbol 61 MovieClip {lavaLampBelly_fla.eye2_16} Frame 11
"endblink"Symbol 61 MovieClip {lavaLampBelly_fla.eye2_16} Frame 15
"sad"Symbol 61 MovieClip {lavaLampBelly_fla.eye2_16} Frame 17
"shut"Symbol 61 MovieClip {lavaLampBelly_fla.eye2_16} Frame 19
"closed"Symbol 72 MovieClip {lavaLampBelly_fla.mouth_18} Frame 1
"smile"Symbol 72 MovieClip {lavaLampBelly_fla.mouth_18} Frame 3
"happy"Symbol 72 MovieClip {lavaLampBelly_fla.mouth_18} Frame 5
"open"Symbol 72 MovieClip {lavaLampBelly_fla.mouth_18} Frame 7
"teeth"Symbol 72 MovieClip {lavaLampBelly_fla.mouth_18} Frame 9
"sad"Symbol 72 MovieClip {lavaLampBelly_fla.mouth_18} Frame 11
"small"Symbol 72 MovieClip {lavaLampBelly_fla.mouth_18} Frame 13
"happy2"Symbol 72 MovieClip {lavaLampBelly_fla.mouth_18} Frame 15
"off"Symbol 186 MovieClip {lavaLampBelly_fla._btn2_29} Frame 1
"on"Symbol 186 MovieClip {lavaLampBelly_fla._btn2_29} Frame 2




http://swfchan.com/33/162108/info.shtml
Created: 20/10 -2018 17:16:37 Last modified: 20/10 -2018 17:16:37 Server time: 04/05 -2024 01:15:27