Section 1
//Drawing (as3.Drawing)
package as3 {
import flash.display.*;
import flash.geom.*;
public class Drawing {
public static function drawHeart(_arg1:Graphics, _arg2:Number, _arg3:Number){
var _local4:Number;
var _local5:Number;
var _local6:Object;
var _local7:Object;
var _local8:Object;
var _local9:Object;
var _local10:Object;
var _local11:Object;
var _local12:Object;
var _local13:Object;
var _local14:Object;
var _local15:Object;
_local4 = (_arg3 / 1.5);
_local5 = (_arg2 / 1.5);
_local6 = {x:0, y:1};
_local7 = {x:1, y:0};
_local8 = {x:0, y:-1};
_local9 = {x:1.2, y:-0.5};
_local10 = {x:1, y:-1};
_local11 = {x:0.5, y:-1.2};
_local12 = Geometry.intersectLines(_local7.x, _local7.y, (_local7.x + 1), (_local7.y - 1), _local9.x, _local9.y, _local9.x, (_local9.y + 1));
_local13 = Geometry.intersectLines(_local10.x, _local10.y, (_local10.x + 1), (_local10.y + 1), _local9.x, _local9.y, _local9.x, (_local9.y + 1));
_local14 = Geometry.intersectLines(_local10.x, _local10.y, (_local10.x + 1), (_local10.y + 1), _local11.x, _local11.y, (_local11.x + 1), _local11.y);
_local15 = Geometry.intersectLines(_local8.x, _local8.y, (_local8.x + 1), (_local8.y - 1), _local11.x, _local11.y, (_local11.x + 1), _local11.y);
_arg1.moveTo((_local5 * _local6.x), (_local4 * _local6.y));
_arg1.lineTo((_local5 * _local7.x), (_local4 * _local7.y));
_arg1.curveTo((_local5 * _local12.x), (_local4 * _local12.y), (_local5 * _local9.x), (_local4 * _local9.y));
_arg1.curveTo((_local5 * _local13.x), (_local4 * _local13.y), (_local5 * _local10.x), (_local4 * _local10.y));
_arg1.curveTo((_local5 * _local14.x), (_local4 * _local14.y), (_local5 * _local11.x), (_local4 * _local11.y));
_arg1.curveTo((_local5 * _local15.x), (_local4 * _local15.y), (_local5 * _local8.x), (_local4 * _local8.y));
_arg1.curveTo((-(_local5) * _local15.x), (_local4 * _local15.y), (-(_local5) * _local11.x), (_local4 * _local11.y));
_arg1.curveTo((-(_local5) * _local14.x), (_local4 * _local14.y), (-(_local5) * _local10.x), (_local4 * _local10.y));
_arg1.curveTo((-(_local5) * _local13.x), (_local4 * _local13.y), (-(_local5) * _local9.x), (_local4 * _local9.y));
_arg1.curveTo((-(_local5) * _local12.x), (_local4 * _local12.y), (-(_local5) * _local7.x), (_local4 * _local7.y));
_arg1.lineTo((-(_local5) * _local6.x), (_local4 * _local6.y));
}
public static function drawSparkle(_arg1:Graphics, _arg2:Number, _arg3:int, _arg4:Number, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0){
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
if (_arg3 < 1){
return;
};
_local14 = ((Math.PI * 2) / _arg3);
_arg1.moveTo(((Math.cos(_arg5) * _arg2) + _arg6), (_arg7 + (Math.sin(_arg5) * _arg2)));
_local15 = 0;
while (_local15 < _arg3) {
_local8 = (Math.cos(((Number((_local15 + 1)) * _local14) + _arg5)) * _arg2);
_local9 = (Math.sin(((Number((_local15 + 1)) * _local14) + _arg5)) * _arg2);
_local10 = ((Math.cos(((Number((_local15 + 0.5)) * _local14) + _arg5)) * _arg2) * _arg4);
_local11 = ((Math.sin(((Number((_local15 + 0.5)) * _local14) + _arg5)) * _arg2) * _arg4);
_local12 = ((Math.cos(((Number((_local15 + 0.25)) * _local14) + _arg5)) * _arg2) * _arg4);
_local13 = ((Math.sin(((Number((_local15 + 0.25)) * _local14) + _arg5)) * _arg2) * _arg4);
_arg1.curveTo((_arg6 + _local12), (_arg7 + _local13), (_arg6 + _local10), (_arg7 + _local11));
_local12 = ((Math.cos(((Number((_local15 + 0.75)) * _local14) + _arg5)) * _arg2) * _arg4);
_local13 = ((Math.sin(((Number((_local15 + 0.75)) * _local14) + _arg5)) * _arg2) * _arg4);
_arg1.curveTo((_arg6 + _local12), (_arg7 + _local13), (_arg6 + _local8), (_arg7 + _local9));
_local15++;
};
}
public static function drawCurvyLine(_arg1:Graphics, _arg2:Object, _arg3:Array, _arg4:Object, _arg5:Number=0.25){
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:Object;
var _local10:Object;
_local7 = _arg3.length;
_local8 = (_local7 - 1);
if (_arg2 == null){
_arg2 = _arg3[0];
};
if (_arg4 == null){
_arg4 = _arg3[_local8];
};
_local6 = 1;
while (_local6 < _local7) {
if (_local6 < _local8){
_local9 = getLinePoint(_arg3[(_local6 - 1)], _arg3[_local6], _arg3[(_local6 + 1)]);
} else {
_local9 = _arg4;
};
if (_local6 > 1){
_local10 = getLinePoint(_arg3[(_local6 - 2)], _arg3[(_local6 - 1)], _arg3[_local6]);
} else {
_local10 = _arg2;
};
drawConnection(_arg1, _arg3[(_local6 - 1)], _arg3[_local6], _local10, _local9, _arg5);
_local6++;
};
}
public static function drawPolygon(_arg1:Array, _arg2:Graphics){
var _local3:int;
_arg2.moveTo(_arg1[0].x, _arg1[0].y);
_local3 = 1;
while (_local3 < _arg1.length) {
_arg2.lineTo(_arg1[_local3].x, _arg1[_local3].y);
_local3++;
};
}
public static function drawPoints(_arg1:Array, _arg2:Graphics){
var _local3:int;
_local3 = 0;
while (_local3 < _arg1.length) {
_arg2.moveTo(_arg1[_local3].x, (_arg1[_local3].y - 0.5));
_arg2.lineTo(_arg1[_local3].x, (_arg1[_local3].y + 0.5));
_local3++;
};
}
public static function drawConnection(_arg1:Graphics, _arg2:Object, _arg3:Object, _arg4:Object, _arg5:Object, _arg6:Number){
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Object;
var _local22:Object;
var _local23:Object;
var _local24:Object;
var _local25:Object;
var _local26:Number;
var _local27:Number;
var _local28:Number;
var _local29:Number;
var _local30:Object;
var _local31:Object;
_local10 = (_arg4.x - _arg2.x);
_local11 = (_arg4.y - _arg2.y);
_local12 = (_arg5.x - _arg3.x);
_local13 = (_arg5.y - _arg3.y);
_local14 = Math.atan2(_local11, _local10);
_local15 = Math.atan2(_local13, _local12);
_local16 = Math.cos(_local14);
_local17 = Math.sin(_local14);
_local18 = Math.cos(_local15);
_local19 = Math.sin(_local15);
_local7 = (_arg3.x - _arg2.x);
_local8 = (_arg3.y - _arg2.y);
_local9 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8)));
_local20 = (_arg6 * _local9);
_local21 = {x:(_arg2.x + (_local16 * _local20)), y:(_arg2.y + (_local17 * _local20))};
_local22 = {x:(_arg2.x - (_local16 * _local20)), y:(_arg2.y - (_local17 * _local20))};
_local23 = {x:(_arg3.x + (_local18 * _local20)), y:(_arg3.y + (_local19 * _local20))};
_local24 = {x:(_arg3.x - (_local18 * _local20)), y:(_arg3.y - (_local19 * _local20))};
_local25 = {x:(0.5 * (_arg2.x + _arg3.x)), y:(0.5 * (_arg2.y + _arg3.y))};
_local7 = (_local21.x - _local25.x);
_local8 = (_local21.y - _local25.y);
_local26 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8)));
_local7 = (_local22.x - _local25.x);
_local8 = (_local22.y - _local25.y);
_local27 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8)));
_local7 = (_local23.x - _local25.x);
_local8 = (_local23.y - _local25.y);
_local28 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8)));
_local7 = (_local24.x - _local25.x);
_local8 = (_local24.y - _local25.y);
_local29 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8)));
_local30 = ((_local26)<_local27) ? _local21 : _local22;
_local31 = ((_local28)<_local29) ? _local23 : _local24;
_local25.x = ((_local30.x + _local31.x) * 0.5);
_local25.y = ((_local30.y + _local31.y) * 0.5);
_arg1.curveTo(_local30.x, _local30.y, _local25.x, _local25.y);
_arg1.curveTo(_local31.x, _local31.y, _arg3.x, _arg3.y);
}
public static function controlPointIntersect(_arg1:Object, _arg2:Object, _arg3:Object, _arg4:Object):Object{
var _local5:Object;
var _local6:Object;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
_local5 = Geometry.intersectLines(_arg1.x, _arg1.y, _arg2.x, _arg2.y, _arg3.x, _arg3.y, _arg4.x, _arg4.y);
if (!_local5){
return (null);
};
_local6 = {x:((_arg2.x + _arg3.x) * 0.5), y:((_arg2.y + _arg3.y) * 0.5)};
_local7 = (_arg3.x - _arg2.x);
_local8 = (_arg3.y - _arg2.y);
_local9 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8)));
_local10 = (_local5.x - _local6.x);
_local11 = (_local5.y - _local6.y);
_local12 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11)));
if (_local12 > _local9){
return (null);
};
return ({x:(_local6.x + ((_local5.x - _local6.x) * 0.5)), y:(_local6.y + ((_local5.y - _local6.y) * 0.5))});
}
public static function getLinePoint(_arg1:Object, _arg2:Object, _arg3:Object):Object{
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
_local4 = (_arg2.x - _arg1.x);
_local5 = (_arg2.y - _arg1.y);
_local6 = Math.atan2(_local5, _local4);
_local7 = (_arg3.x - _arg2.x);
_local8 = (_arg3.y - _arg2.y);
_local9 = Math.atan2(_local8, _local7);
_local10 = Geometry.interpolateAngle(_local6, _local9, 0.5);
return ({x:(_arg2.x + (Math.cos(_local10) * 2)), y:(_arg2.y + (Math.sin(_local10) * 2))});
}
public static function drawClosedCurve(_arg1:Array, _arg2:Graphics):Array{
var _local3:Point;
var _local4:Point;
var _local5:Point;
var _local6:Point;
var _local7:Array;
var _local8:int;
var _local9:Object;
if (_arg1.length < 3){
return ([]);
};
_local7 = new Array();
_arg2.moveTo(_arg1[0].x, _arg1[0].y);
_local8 = 0;
while (_local8 < _arg1.length) {
_local3 = _arg1[_local8];
_local4 = _arg1[(int(((_arg1.length + _local8) - 1)) % _arg1.length)];
_local5 = _arg1[(int((_local8 + 1)) % _arg1.length)];
_local6 = _arg1[(int((_local8 + 2)) % _arg1.length)];
_local9 = controlPointIntersect(_local4, _local3, _local5, _local6);
if (_local9 == null){
_arg2.lineTo(_local5.x, _local5.y);
} else {
_local7.push(_local9);
_arg2.curveTo(_local9.x, _local9.y, _local5.x, _local5.y);
};
_local8++;
};
return (_local7);
}
}
}//package as3
Section 2
//Geometry (as3.Geometry)
package as3 {
import flash.display.*;
import flash.geom.*;
public class Geometry {
public static const DEG_TO_RAD:Number = 0.0174532925199433;
public static const RAD_TO_DEG:Number = 57.2957795130823;
public static const TOLERANCE:Number = 1E-5;
function regularPolygonArea(_arg1:Number, _arg2:int){
var _local3:Number;
var _local4:Number;
if (_arg2 < 3){
return (0);
};
_local3 = ((Math.PI * 2) / _arg2);
_local4 = (Math.sin(_local3) * _arg1);
return ((((_local4 * _arg1) * 0.5) * _arg2));
}
public static function intersectLines(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Boolean=false):Object{
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Object;
var _local19:Boolean;
var _local20:Boolean;
_local10 = (_arg1 - _arg3);
_local11 = (_arg5 - _arg7);
_local12 = (_arg2 - _arg4);
_local13 = (_arg6 - _arg8);
_local14 = ((_arg1 * _arg4) - (_arg2 * _arg3));
_local15 = ((_arg5 * _arg8) - (_arg6 * _arg7));
_local16 = ((_local10 * _local13) - (_local12 * _local11));
if (!_local16){
return (null);
};
_local17 = (1 / _local16);
_local18 = {x:(((_local14 * _local11) - (_local10 * _local15)) * _local17), y:(((_local14 * _local13) - (_local12 * _local15)) * _local17)};
if (_arg9){
_local19 = pointInsideRect(_local18.x, _local18.y, _arg1, _arg2, _arg3, _arg4);
_local20 = pointInsideRect(_local18.x, _local18.y, _arg5, _arg6, _arg7, _arg8);
if (((!(_local19)) || (!(_local20)))){
return (null);
};
};
return (_local18);
}
public static function pointFromEllipse(_arg1:Object, _arg2:Object):Object{
var _local3:Point;
var _local4:Object;
_local3 = new Point();
_local3.x = (_arg1.x + ((_arg1.radius * Math.cos(_arg2.angle)) * _arg2.distance));
_local3.y = (_arg1.y + (((_arg1.radius * _arg1.excentricity) * Math.sin(_arg2.angle)) * _arg2.distance));
_local4 = rotate(_arg1.rotation, _local3.x, _local3.y, _arg1.x, _arg1.y);
return (new Point(_local4.x, _local4.y));
}
public static function polygonArea(_arg1:Array):Number{
var _local2:Point;
var _local3:Point;
var _local4:Number;
if (_arg1.length < 3){
return (0);
};
_local4 = 0;
return (_local4);
}
public static function getEllipse(_arg1:DisplayObject):Object{
var obj:Object;
var rect:Rectangle;
var clip = _arg1;
obj = {};
rect = clip.getRect(clip);
obj.x = clip.x;
obj.y = clip.y;
obj.radius = (-(rect.x) * clip.scaleX);
obj.rotation = ((clip.rotation * Math.PI) / 180);
obj.excentricity = (clip.scaleY / clip.scaleX);
obj.toString = function (){
return ((((((((((("[ x=" + this.x) + ", y=") + this.y) + ", radius=") + this.radius) + ", rotation=") + this.rotation) + ", excentricity=") + this.excentricity) + " ]"));
};
return (obj);
}
public static function pointToEllipse(_arg1:Object, _arg2:Object):Object{
var obj:Object;
var untranslated:Point;
var unrotated:Object;
var unexcentered:Point;
var unscaled:Point;
var point = _arg1;
var ellipse = _arg2;
obj = {};
untranslated = new Point((point.x - ellipse.x), (point.y - ellipse.y));
unrotated = rotate(-(ellipse.rotation), untranslated.x, untranslated.y);
unexcentered = new Point(unrotated.x, (unrotated.y / ellipse.excentricity));
unscaled = new Point((unexcentered.x / ellipse.radius), (unexcentered.y / ellipse.radius));
obj.distance = Math.sqrt(((unscaled.x * unscaled.x) + (unscaled.y * unscaled.y)));
obj.hDist = unscaled.x;
obj.vDist = unscaled.y;
obj.normal = (Math.atan2(unscaled.y, unscaled.x) + ellipse.rotation);
obj.angle = Math.atan2(unscaled.y, unscaled.x);
obj.rotation = ellipse.rotation;
obj.toString = function (){
return ((((((((((((("[ distance=" + obj.distance) + ", normal=") + obj.normal) + ", angle=") + obj.angle) + ", hDist=") + obj.hDist) + ", vDist=") + obj.vDist) + ", rotation=") + obj.rotation) + " ]"));
};
return (obj);
}
public static function getSidePoints(_arg1:Array, _arg2:Number):Array{
var _local3:int;
var _local4:Number;
var _local5:Number;
var _local6:Array;
var _local7:Point;
var _local8:Point;
var _local9:Number;
var _local10:Number;
var _local11:Array;
var _local12:Number;
var _local13:Number;
_local4 = Infinity;
_local5 = -(Infinity);
_local3 = 0;
while (_local3 < _arg1.length) {
if (_arg1[_local3].y < _local4){
_local4 = _arg1[_local3].y;
};
if (_arg1[_local3].y > _local5){
_local5 = _arg1[_local3].y;
};
_local3++;
};
if (_arg2 < _local4){
_arg2 = _local4;
} else {
if (_arg2 > _local5){
_arg2 = _local5;
};
};
_local6 = [];
_local3 = 0;
while (_local3 < _arg1.length) {
_local7 = _arg1[_local3];
_local8 = _arg1[((_local3 + 1) % _arg1.length)];
if ((((((_arg2 <= _local7.y)) && ((_arg2 >= _local8.y)))) || ((((_arg2 >= _local7.y)) && ((_arg2 <= _local8.y)))))){
if (_local8.y == _local7.y){
_local6.push(new Point(_local7.x, _local7.y));
_local6.push(new Point(_local8.x, _local8.y));
} else {
_local12 = ((_arg2 - _local7.y) / (_local8.y - _local7.y));
_local13 = (_local7.x + ((_local8.x - _local7.x) * _local12));
_local6.push(new Point(_local13, _arg2));
};
};
_local3++;
};
_local9 = Infinity;
_local10 = -(Infinity);
_local3 = 0;
while (_local3 < _local6.length) {
_local7 = _local6[_local3];
if (_local7.x < _local9){
_local9 = _local7.x;
};
if (_local7.x > _local10){
_local10 = _local7.x;
};
_local3++;
};
_local11 = [];
_local3 = 0;
while (_local3 < _local6.length) {
if (_local6[_local3].x <= (_local9 + TOLERANCE)){
_local11[0] = _local6[_local3];
};
if (_local6[_local3].x >= (_local10 - TOLERANCE)){
_local11[1] = _local6[_local3];
};
_local3++;
};
return (_local11);
}
public static function projectPointOnLine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Object{
var _local7:Object;
var _local8:Object;
_local7 = getNormal(_arg3, _arg5, _arg4, _arg6);
_local8 = intersectLines(_arg1, _arg2, (_arg1 + _local7.x), (_arg2 + _local7.y), _arg3, _arg4, _arg5, _arg6, false);
if (_local8 == null){
throw ("Unexpected error in Geometry::closestPointToLine. Perpendicular lines aren't intersecting!\n");
};
return (_local8);
}
public static function interpolateAngle(_arg1:Number, _arg2:Number, _arg3:Number):Number{
var _local4:Number;
var _local5:Number;
while (_arg1 < 0) {
_arg1 = (_arg1 + (Math.PI * 2));
};
while (_arg2 < 0) {
_arg2 = (_arg2 + (Math.PI * 2));
};
while (_arg1 >= (Math.PI * 2)) {
_arg1 = (_arg1 - (Math.PI * 2));
};
while (_arg2 >= (Math.PI * 2)) {
_arg2 = (_arg2 - (Math.PI * 2));
};
if (_arg1 > _arg2){
if ((_arg1 - _arg2) > Math.PI){
_arg1 = (_arg1 - (Math.PI * 2));
};
} else {
if ((_arg2 - _arg1) > Math.PI){
_arg2 = (_arg2 - (Math.PI * 2));
};
};
_local5 = (_arg1 + (_arg3 * (_arg2 - _arg1)));
while (_local5 > Math.PI) {
_local5 = (_local5 - (Math.PI * 2));
};
while (_local5 < -(Math.PI)) {
_local5 = (_local5 + (Math.PI * 2));
};
return (_local5);
}
public static function generateRegularPolygon(_arg1:Number, _arg2:Number):Array{
var _local3:Array;
var _local4:Number;
var _local5:int;
_local3 = new Array(_arg1);
_local4 = ((Math.PI * 2) / _arg1);
_local5 = 0;
while (_local5 < _arg1) {
_local3[_local5] = new Point();
_local3[_local5].x = (_arg2 * Math.cos((_local5 * _local4)));
_local3[_local5].y = (_arg2 * Math.sin((_local5 * _local4)));
_local5++;
};
return (_local3);
}
public static function triangleArea(_arg1:Point, _arg2:Point, _arg3:Point):Number{
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local4 = (_arg2.x - _arg1.x);
_local5 = (_arg3.x - _arg1.x);
_local6 = (_arg2.y - _arg1.y);
_local7 = (_arg3.y - _arg1.y);
return ((0.5 * Math.abs(((_local4 * _local7) - (_local5 * _local6)))));
}
public static function pointInsideRect(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number){
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
if (_arg3 < _arg5){
_local7 = _arg3;
_local9 = _arg5;
} else {
_local7 = _arg5;
_local9 = _arg3;
};
if (_arg4 < _arg6){
_local8 = _arg4;
_local10 = _arg6;
} else {
_local8 = _arg6;
_local10 = _arg4;
};
_local11 = 0.0001;
return (!((((((((_arg1 < (_local7 - _local11))) || ((_arg1 > (_local9 + _local11))))) || ((_arg2 < (_local8 - _local11))))) || ((_arg2 > (_local10 + _local11))))));
}
public static function rotate(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0, _arg5:Number=0):Object{
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
_local6 = (_arg2 - _arg4);
_local7 = (_arg3 - _arg5);
_local8 = Math.cos(_arg1);
_local9 = Math.sin(_arg1);
return ({x:((_arg4 + (_local6 * _local8)) - (_local7 * _local9)), y:((_arg5 + (_local6 * _local9)) + (_local7 * _local8))});
}
public static function getNormal(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Object{
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Object;
_local5 = (_arg1 - _arg3);
_local6 = (_arg2 - _arg4);
_local7 = Math.sqrt(((_local5 * _local5) + (_local6 * _local6)));
if (!_local7){
return ({x:0, y:0});
};
_local8 = {x:(_local6 / _local7), y:(-(_local5) / _local7)};
return (_local8);
}
}
}//package as3
Section 3
//body_19 (sapphireDillia_fla.body_19)
package sapphireDillia_fla {
import flash.display.*;
public dynamic class body_19 extends MovieClip {
public var top:MovieClip;
}
}//package sapphireDillia_fla
Section 4
//breast1_30 (sapphireDillia_fla.breast1_30)
package sapphireDillia_fla {
import flash.display.*;
public dynamic class breast1_30 extends MovieClip {
public var m3:MovieClip;
public var m6:MovieClip;
public var m7:MovieClip;
public var m8:MovieClip;
public var m4:MovieClip;
public var m5:MovieClip;
public var m1:MovieClip;
public var m2:MovieClip;
}
}//package sapphireDillia_fla
Section 5
//breast2_32 (sapphireDillia_fla.breast2_32)
package sapphireDillia_fla {
import flash.display.*;
public dynamic class breast2_32 extends MovieClip {
public var m10:MovieClip;
public var m3:MovieClip;
public var m6:MovieClip;
public var m7:MovieClip;
public var m8:MovieClip;
public var m4:MovieClip;
public var m5:MovieClip;
public var m9:MovieClip;
public var m1:MovieClip;
public var m2:MovieClip;
public var m11:MovieClip;
}
}//package sapphireDillia_fla
Section 6
//eye_37 (sapphireDillia_fla.eye_37)
package sapphireDillia_fla {
import flash.display.*;
public dynamic class eye_37 extends MovieClip {
public function eye_37(){
addFrameScript(0, frame1);
}
function frame1(){
this.stop();
}
}
}//package sapphireDillia_fla
Section 7
//head_35 (sapphireDillia_fla.head_35)
package sapphireDillia_fla {
import flash.display.*;
public dynamic class head_35 extends MovieClip {
public var blush:MovieClip;
public var eye:MovieClip;
public var glasses:MovieClip;
public var mouth:MovieClip;
public var nose:MovieClip;
}
}//package sapphireDillia_fla
Section 8
//jar_13 (sapphireDillia_fla.jar_13)
package sapphireDillia_fla {
import flash.display.*;
public dynamic class jar_13 extends MovieClip {
public var liquid:MovieClip;
}
}//package sapphireDillia_fla
Section 9
//MainTimeline (sapphireDillia_fla.MainTimeline)
package sapphireDillia_fla {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
import as3.*;
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.*;
import expansion.*;
public dynamic class MainTimeline extends MovieClip {
public var LEG1:MovieClip;
public var LEG2:MovieClip;
public var B1X:Number;
public var OLD_X:Number;
public var OLD_Y:Number;
public var B1Y:Number;
public var B2X:Number;
public var B2Y:Number;
public var RIGHT_RIP:Array;
public var ATTACH_LIST:Array;
public var RIGHT_BARRIER:Array;
public var GLOBAL_RIGHT:Array;
public var body_timer:Number;
public var mLen:int;
public var GLOBAL_CENTER:Array;
public var globalBrightness:Number;
public var CLOTHES_LIST:Array;
public var OFFSET:Number;
public var breath_timer:Number;
public var copy_mc:MovieClip;
public var LEFT_RIP_CURVES:Array;
public var PARENT:DisplayObjectContainer;
public var SQUARE_FACTOR:Number;
public var LEFT_RIP:Array;
public var sapphire:MovieClip;
public var BREAST2_BARRIER:Array;
public var BODY_FREQUENCY:Number;
public var BODY_X:Number;
public var STAGE_WIDTH:int;
public var blinking:Boolean;
public var INV_PI_2:Number;
public var count:int;
public var GLOBAL_LEFT:Array;
public var FREQUENCY:Number;
public var PANTS_LIST:Array;
public var HEAD_LIMITS:Number;
public var STRETCH_FACTOR_1:Number;
public var info_txt:TextField;
public var STRETCH_FACTOR_2:Number;
public var LEFT_BORDER:Array;
public var B2_LEN:int;
public var HAND_FREQUENCY:Number;
public var LEFT_BARRIER:Array;
public var TOP_LIST:Array;
public var INV_20:Number;
public var BREAST2:MovieClip;
public var BREAST1:MovieClip;
public var PI_2:Number;
public var COVER:MovieClip;
public var TOP1:MovieClip;
public var BODY:MovieClip;
public var STAGE_HEIGHT:int;
public var CENTER_BARRIER:Array;
public var RIGHT_RIP_CURVES:Array;
public var tmp_mc:MovieClip;
public var RIGHT_BORDER:Array;
public var BODY_OFFSET:Number;
public var __NOTE:String;
public var topBack:MovieClip;
public var B1_LEN:int;
public var ELASTIC_LIST:Array;
public var BREAST1_BARRIER:Array;
public function MainTimeline(){
addFrameScript(0, frame1);
}
public function eFrame(_arg1:Event){
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Matrix;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
body_timer++;
_local2 = Math.sin((((body_timer * BODY_FREQUENCY) * PI_2) * INV_20));
_local3 = ((_local2 * 0.5) + 0.5);
_local4 = (_local3 * 1.5);
breath_timer = (breath_timer + (1 + _local4));
_local5 = Math.sin((((breath_timer * FREQUENCY) * PI_2) * INV_20));
sapphire.head.rotation = (-(_local5) * HEAD_LIMITS);
sapphire.breast1.scaleX = (1 + (((_local5 * 0.5) + 0.5) * 0.02));
sapphire.breast1.y = (B1Y + (_local5 * 3));
sapphire.breast1.x = (B1X - (_local5 * 3));
sapphire.breast2.scaleX = (1 + (((_local5 * 0.5) + 0.5) * 0.02));
sapphire.breast2.y = (B2Y + (_local5 * 3));
sapphire.breast2.x = (B2X + (_local5 * 3));
_local6 = TOP1.transform.matrix;
_local6.c = (_local5 * 0.02);
TOP1.transform.matrix = _local6;
sapphire.head.mouth.gotoAndStop((25 - Math.floor(((((-(_local5) * 0.5) + 0.5) * 20) * (1 - (_local3 * 0.8))))));
_local5 = _local2;
_local7 = Math.sin(((((body_timer * BODY_FREQUENCY) * PI_2) * INV_20) - (Math.PI * 0.333)));
_local8 = Math.sin(((((body_timer * BODY_FREQUENCY) * PI_2) * INV_20) - (Math.PI * 1)));
_local9 = Math.sin((((body_timer * HAND_FREQUENCY) * PI_2) * INV_20));
_local10 = Math.sin(((((body_timer * HAND_FREQUENCY) * PI_2) * INV_20) - (Math.PI * 0.5)));
_local11 = (-(((_local5 * 0.5) + 0.5)) * 0.05);
_local6 = LEG1.transform.matrix;
_local6.c = _local11;
LEG1.transform.matrix = _local6;
_local6 = LEG2.transform.matrix;
_local6.c = _local11;
LEG2.transform.matrix = _local6;
_local6 = sapphire.pants1.transform.matrix;
_local6.c = _local11;
sapphire.pants1.transform.matrix = _local6;
_local6 = sapphire.clothes.transform.matrix;
_local6.c = _local11;
sapphire.clothes.transform.matrix = _local6;
_local6 = sapphire.pants2.transform.matrix;
_local6.c = _local11;
sapphire.pants2.transform.matrix = _local6;
_local12 = ((-(((_local7 * 0.5) + 0.5)) * 0.04) + (((_local9 * 0.5) + 0.5) * 0.08));
_local13 = ((((_local8 * 0.5) + 0.5) * 0.04) - (((_local10 * 0.5) + 0.5) * 0.08));
_local6 = sapphire.arm1.transform.matrix;
_local6.b = _local12;
_local6.c = _local13;
sapphire.arm1.transform.matrix = _local6;
_local6 = sapphire.top2.transform.matrix;
_local6.b = _local12;
_local6.c = _local13;
sapphire.top2.transform.matrix = _local6;
_local6 = sapphire.top3.transform.matrix;
_local6.b = _local12;
_local6.c = _local13;
sapphire.top3.transform.matrix = _local6;
_local6 = sapphire.belly.transform.matrix;
_local6.b = (((_local7 * 0.5) + 0.5) * 0.04);
_local6.c = (-(((_local8 * 0.5) + 0.5)) * 0.04);
_local6.a = (_local6.d = (1 + (_local7 * 0.04)));
sapphire.belly.transform.matrix = _local6;
sapphire.glow.alpha = (0.25 + (0.75 * ((_local7 * 0.5) + 0.5)));
sapphire.head.blush.alpha = (0.75 * ((_local7 * 0.5) + 0.5));
sapphire.wallGlow.alpha = (sapphire.glow.alpha * (0.2 + (0.8 * ((_local7 * 0.5) + 0.5))));
sapphire.body.x = (BODY_X + (((_local5 * 0.5) + 0.5) * 10));
sapphire.body.rotation = (-(((_local5 * 0.5) + 0.5)) * 3);
sapphire.tail.rotation = (-(((_local7 * 0.5) + 0.5)) * 5);
sapphire.jar.rotation = (_local5 * 5);
sapphire.jar.liquid.rotation = (-(sapphire.jar.rotation) * 2);
if (!blinking){
sapphire.head.eye.gotoAndStop((10 + Math.floor((((_local5 * 0.5) + 0.5) * 15))));
if (Math.random() > 0.99){
blinking = true;
sapphire.head.eye.gotoAndStop("blink");
};
} else {
sapphire.head.eye.nextFrame();
if (sapphire.head.eye.currentLabel == "endblink"){
blinking = false;
};
};
_local14 = Math.max(globalBrightness, sapphire.glow.alpha);
setBodyBrightness(_local14);
if (globalBrightness < 0.2){
if (!blinking){
sapphire.head.eye.gotoAndStop(1);
};
};
updateAttached();
drawTop();
}
public function getGlobalLine(_arg1:Array):Array{
var _local2:Array;
var _local3:int;
var _local4:int;
_local2 = [];
_local3 = _arg1.length;
_local4 = 0;
while (_local4 < _local3) {
_local2[_local4] = PARENT.globalToLocal(_arg1[_local4].localToGlobal(new Point()));
_local4++;
};
return (_local2);
}
public function attach(_arg1:MovieClip, _arg2:MovieClip, _arg3:Array=null){
var _local4:Point;
var _local5:Point;
_local4 = _arg1.localToGlobal(new Point());
_local5 = _arg2.globalToLocal(_local4);
if (_arg3 == null){
_arg3 = [];
};
ATTACH_LIST[ATTACH_LIST.length] = {mc:_arg1, par:_arg2, point:_local5, props:_arg3};
}
public function updateLine(_arg1:Array, _arg2:Array, _arg3:int=1){
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:Object;
var _local9:Number;
var _local10:Number;
_local4 = _arg1.length;
_local7 = _arg2.length;
_local5 = 0;
while (_local5 < _local4) {
_local8 = _arg1[_local5];
_local9 = NaN;
_local6 = 0;
while (_local6 < _local7) {
_local10 = getBarrier(_local8.y, _arg2[_local6], !(_local6));
if (((!(isNaN(_local10))) && (((isNaN(_local9)) || ((((_local10 - _local9) * _arg3) > 0)))))){
_local9 = _local10;
};
_local6++;
};
if (!isNaN(_local9)){
_local8.x = _local9;
};
_local5++;
};
}
public function toggleClothes(_arg1:Event){
var _local2:MovieClip;
_local2 = (_arg1.currentTarget as MovieClip);
switch (_local2){
case sapphire.window_bg.mars:
setVisibleList(CLOTHES_LIST, !(sapphire.clothes.visible));
break;
case sapphire.window_bg.sirius:
setVisibleList(TOP_LIST, !(sapphire.top1.visible));
break;
case sapphire.window_bg.morning_star:
setVisibleList(PANTS_LIST, !(sapphire.pants1.visible));
break;
};
}
public function spinMoon(_arg1:Event){
var _local2:Number;
_local2 = (Math.atan2((sapphire.window_bg.moon.y - sapphire.window_bg.mouseY), (sapphire.window_bg.moon.x - sapphire.window_bg.mouseX)) * Geometry.RAD_TO_DEG);
if ((((_local2 < -90)) || ((_local2 > 0)))){
return;
};
sapphire.window_bg.moon.rotation = _local2;
setRoomBrightness((1 + (_local2 / 90)));
}
function frame1(){
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
__NOTE = "The shape detection algorithm in Sylvia's animation was exactly the same one I had used in the previous animation. Any perceived change in difficulty was purely psychological.";
STAGE_WIDTH = 900;
STAGE_HEIGHT = 650;
ATTACH_LIST = [];
ELASTIC_LIST = [];
PARENT = sapphire;
B1X = sapphire.breast1.x;
B2X = sapphire.breast2.x;
B1Y = sapphire.breast1.y;
B2Y = sapphire.breast2.y;
BODY_X = sapphire.body.x;
OLD_X = sapphire.x;
OLD_Y = sapphire.y;
COVER = new MovieClip();
STRETCH_FACTOR_1 = 0.444;
STRETCH_FACTOR_2 = 0.75;
SQUARE_FACTOR = 0.5;
OFFSET = 0;
blinking = false;
stage.addChild(COVER);
attach(sapphire.arm2, sapphire.body);
attach(sapphire.jar, sapphire.arm2);
attach(sapphire.hand2, sapphire.arm2);
attach(sapphire.top1, sapphire.body);
attach(sapphire.arm1, sapphire.top1);
attach(sapphire.top2, sapphire.top1);
attach(sapphire.top3, sapphire.arm1);
attach(sapphire.hand_glow, sapphire.arm1);
attach(sapphire.top4, sapphire.body);
attach(sapphire.tail, sapphire.body);
attach(sapphire.breast1, sapphire.body);
attach(sapphire.breast2, sapphire.body);
attach(sapphire.belly, sapphire.body);
attach(sapphire.glow, sapphire.belly);
attach(sapphire.pants1, sapphire.body);
attach(sapphire.pants2, sapphire.body);
attach(sapphire.clothes, sapphire.pants1);
attach(sapphire.leg1, sapphire.body);
attach(sapphire.leg2, sapphire.body);
attach(sapphire.head, sapphire.body);
attach(sapphire.hair1, sapphire.head, ["rotation"]);
attach(sapphire.ear1, sapphire.head, ["rotation"]);
attach(sapphire.ear2, sapphire.head, ["rotation"]);
attach(sapphire.hair2, sapphire.hair1);
stage.addEventListener(Event.ENTER_FRAME, eFrame);
body_timer = 0;
breath_timer = 0;
INV_20 = (1 / 20);
PI_2 = (Math.PI * 2);
INV_PI_2 = (1 / PI_2);
FREQUENCY = (1 / 3);
BODY_FREQUENCY = 0.1;
HAND_FREQUENCY = (1 / 5);
BODY_OFFSET = (Math.PI * 0.39);
HEAD_LIMITS = 2;
stage.addEventListener(Event.RESIZE, rSize);
topBack = new MovieClip();
TOP1 = sapphire.top1;
LEG1 = sapphire.leg1;
LEG2 = sapphire.leg2;
BODY = sapphire.body;
BREAST1 = sapphire.breast1;
BREAST2 = sapphire.breast2;
B1_LEN = (sapphire.breast1.numChildren - 1);
B2_LEN = (sapphire.breast1.numChildren - 1);
LEFT_BARRIER = [];
CENTER_BARRIER = [];
RIGHT_BARRIER = [];
BREAST1_BARRIER = [];
BREAST2_BARRIER = [];
LEFT_BORDER = [];
LEFT_RIP = [];
LEFT_RIP_CURVES = [];
RIGHT_BORDER = [];
RIGHT_RIP = [];
RIGHT_RIP_CURVES = [];
mLen = 1;
while (1) {
tmp_mc = TOP1[("left" + mLen)];
if (!tmp_mc){
break;
};
LEFT_BARRIER[LEFT_BARRIER.length] = tmp_mc;
mLen++;
};
mLen = 1;
while (1) {
tmp_mc = TOP1[("center" + mLen)];
if (!tmp_mc){
break;
};
CENTER_BARRIER[CENTER_BARRIER.length] = tmp_mc;
mLen++;
};
mLen = 1;
while (1) {
tmp_mc = TOP1[("right" + mLen)];
if (!tmp_mc){
break;
};
RIGHT_BARRIER[RIGHT_BARRIER.length] = tmp_mc;
mLen++;
};
GLOBAL_LEFT = getGlobalLine(LEFT_BARRIER);
GLOBAL_CENTER = getGlobalLine(CENTER_BARRIER);
GLOBAL_RIGHT = getGlobalLine(RIGHT_BARRIER);
mLen = LEFT_BARRIER.length;
count = 0;
while (count < mLen) {
LEFT_BORDER[count] = PARENT.globalToLocal(LEFT_BARRIER[count].localToGlobal(new Point()));
LEFT_RIP[count] = PARENT.globalToLocal(CENTER_BARRIER[count].localToGlobal(new Point()));
if (count){
LEFT_RIP_CURVES[(count - 1)] = new Point(0, ((LEFT_RIP[count].y * 0.25) + (LEFT_RIP[(count - 1)].y * 0.75)));
};
RIGHT_BORDER[count] = PARENT.globalToLocal(RIGHT_BARRIER[count].localToGlobal(new Point()));
RIGHT_RIP[count] = PARENT.globalToLocal(CENTER_BARRIER[count].localToGlobal(new Point()));
if (count){
RIGHT_RIP_CURVES[(count - 1)] = new Point(0, ((RIGHT_RIP[count].y + RIGHT_RIP[(count - 1)].y) * 0.5));
};
count++;
};
mLen = (BREAST1.numChildren - 1);
count = 1;
while (count <= mLen) {
BREAST1_BARRIER[(count - 1)] = BREAST1[("m" + count)];
count++;
};
mLen = (BREAST2.numChildren - 1);
count = 1;
while (count <= mLen) {
BREAST2_BARRIER[(count - 1)] = BREAST2[("m" + count)];
count++;
};
sapphire.addChildAt(topBack, sapphire.getChildIndex(sapphire.head));
sapphire.shine.mouseEnabled = false;
sapphire.window_bg.tabEnabled = false;
sapphire.window_bg.tabChildren = false;
sapphire.window_bg.morning_star.addEventListener(MouseEvent.MOUSE_DOWN, toggleClothes);
sapphire.window_bg.sirius.addEventListener(MouseEvent.MOUSE_DOWN, toggleClothes);
sapphire.window_bg.mars.addEventListener(MouseEvent.MOUSE_DOWN, toggleClothes);
sapphire.window_bg.moon.addEventListener(MouseEvent.MOUSE_DOWN, dragMoon);
globalBrightness = 1;
TOP_LIST = [sapphire.top1, sapphire.top2, sapphire.top3, sapphire.top4, sapphire.body.top, topBack];
PANTS_LIST = [sapphire.pants1, sapphire.pants2];
CLOTHES_LIST = [sapphire.clothes];
info_txt.text = "Sapphire Dillia's magic spell. Drawn, animated and programmed by Doom the wolf.\nhttp://doom-the-wolf.deviantart.com";
copy_mc.addEventListener(MouseEvent.MOUSE_DOWN, displayCopy);
eFrame(null);
}
public function dragMoon(_arg1:Event){
stage.addEventListener(MouseEvent.MOUSE_MOVE, spinMoon, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_UP, dropMoon, false, 0, true);
}
public function setVisibleList(_arg1:Array, _arg2:Boolean=true){
var _local3:int;
var _local4:int;
_local4 = _arg1.length;
_local3 = 0;
while (_local3 < _local4) {
_arg1[_local3].visible = _arg2;
_local3++;
};
}
public function dropMoon(_arg1:Event){
stage.removeEventListener(MouseEvent.MOUSE_MOVE, spinMoon);
stage.removeEventListener(MouseEvent.MOUSE_UP, dropMoon);
}
public function setRoomBrightness(_arg1:Number){
var _local2:ColorTransform;
_local2 = new ColorTransform(_arg1, _arg1, _arg1);
sapphire.bg.transform.colorTransform = _local2;
sapphire.window.transform.colorTransform = _local2;
sapphire.shine.alpha = _arg1;
globalBrightness = _arg1;
}
public function setBodyBrightness(_arg1:Number){
var _local2:ColorTransform;
var _local3:Number;
var _local4:ColorTransform;
_local2 = new ColorTransform(_arg1, _arg1, _arg1);
_local3 = (_arg1 - ((1 - _arg1) * 0.25));
if (_local3 < 0){
_local3 = 0;
};
_local4 = new ColorTransform(_local3, _local3, _local3);
sapphire.head.transform.colorTransform = _local2;
sapphire.body.transform.colorTransform = _local2;
sapphire.leg1.transform.colorTransform = _local2;
sapphire.leg2.transform.colorTransform = _local2;
sapphire.arm1.transform.colorTransform = _local2;
sapphire.arm2.transform.colorTransform = _local2;
sapphire.hand2.transform.colorTransform = _local2;
sapphire.jar.transform.colorTransform = _local2;
sapphire.pants1.transform.colorTransform = _local2;
sapphire.pants2.transform.colorTransform = _local2;
sapphire.clothes.transform.colorTransform = _local2;
sapphire.top1.transform.colorTransform = _local2;
sapphire.top2.transform.colorTransform = _local2;
sapphire.top3.transform.colorTransform = _local2;
sapphire.top4.transform.colorTransform = _local2;
sapphire.hair1.transform.colorTransform = _local4;
sapphire.hair2.transform.colorTransform = _local4;
sapphire.ear1.transform.colorTransform = _local4;
sapphire.ear2.transform.colorTransform = _local4;
sapphire.breast1.transform.colorTransform = _local2;
sapphire.breast2.transform.colorTransform = _local2;
sapphire.belly.transform.colorTransform = _local2;
sapphire.tail.transform.colorTransform = _local4;
}
public function getLocalLine(_arg1:Array, _arg2:Object):Array{
var _local3:Array;
var _local4:int;
var _local5:int;
_local3 = [];
_local4 = _arg1.length;
_local5 = 0;
while (_local5 < _local4) {
_local3[_local5] = _arg2.globalToLocal(PARENT.localToGlobal(_arg1[_local5]));
_local5++;
};
return (_local3);
}
public function drawTop(){
var _local1:Array;
var _local2:Graphics;
var _local3:Array;
var _local4:Array;
var _local5:Array;
var _local6:Array;
var _local7:Array;
var _local8:Array;
var _local9:Array;
var _local10:Array;
var _local11:int;
var _local12:int;
var _local13:Point;
_local1 = [];
_local2 = TOP1.graphics;
updateTop();
_local3 = getLocalLine(GLOBAL_LEFT, TOP1).reverse();
_local4 = getLocalLine(LEFT_BORDER, TOP1).reverse();
_local5 = getLocalLine(LEFT_RIP, TOP1);
_local6 = getLocalLine(LEFT_RIP_CURVES, TOP1);
_local7 = getLocalLine(RIGHT_RIP, TOP1).reverse();
_local8 = getLocalLine(RIGHT_RIP_CURVES, TOP1).reverse();
_local9 = getLocalLine(RIGHT_BORDER, TOP1);
_local10 = getLocalLine(GLOBAL_RIGHT, TOP1);
_local2.clear();
_local2.beginFill(4508876);
_local2.moveTo(_local4[0].x, _local4[0].y);
Drawing.drawCurvyLine(_local2, _local4[1], _local4, _local4[(_local4.length - 2)]);
_local2.curveTo(((_local3[(_local3.length - 1)].x + _local5[0].x) * 0.5), (((_local3[(_local3.length - 1)].y + _local5[0].y) * 0.5) + 6), _local5[0].x, _local5[0].y);
_local11 = _local6.length;
_local12 = 1;
while (_local12 <= _local11) {
_local2.curveTo(_local6[(_local12 - 1)].x, _local6[(_local12 - 1)].y, _local5[_local12].x, _local5[_local12].y);
_local12++;
};
_local13 = TOP1.globalToLocal(PARENT.localToGlobal(GLOBAL_CENTER[(GLOBAL_CENTER.length - 1)]));
_local2.curveTo(_local13.x, (_local13.y - 5), _local7[0].x, _local7[0].y);
_local12 = 0;
while (_local12 < _local11) {
_local2.curveTo(_local8[_local12].x, _local8[_local12].y, _local7[(_local12 + 1)].x, _local7[(_local12 + 1)].y);
_local12++;
};
_local2.curveTo(((_local10[0].x + _local7[(_local7.length - 1)].x) * 0.5), (((_local10[0].y + _local7[(_local7.length - 1)].y) * 0.5) - 5), _local9[0].x, _local9[0].y);
Drawing.drawCurvyLine(_local2, _local9[1], _local9, _local9[(_local9.length - 2)]);
_local3 = getLocalLine(GLOBAL_LEFT, topBack).reverse();
_local4 = getLocalLine(LEFT_BORDER, topBack).reverse();
_local5 = getLocalLine(LEFT_RIP, topBack);
_local6 = getLocalLine(LEFT_RIP_CURVES, topBack);
_local7 = getLocalLine(RIGHT_RIP, topBack).reverse();
_local8 = getLocalLine(RIGHT_RIP_CURVES, topBack).reverse();
_local9 = getLocalLine(RIGHT_BORDER, topBack);
_local10 = getLocalLine(GLOBAL_RIGHT, topBack);
_local2 = topBack.graphics;
_local2.clear();
_local2.lineStyle(0.1);
_local2.moveTo(_local4[0].x, _local4[0].y);
Drawing.drawCurvyLine(_local2, _local4[1], _local4, _local4[(_local4.length - 2)]);
_local2.curveTo(((_local3[(_local3.length - 1)].x + _local5[0].x) * 0.5), (((_local3[(_local3.length - 1)].y + _local5[0].y) * 0.5) + 6), _local5[0].x, _local5[0].y);
_local11 = _local6.length;
_local12 = 1;
while (_local12 <= _local11) {
_local2.curveTo(_local6[(_local12 - 1)].x, _local6[(_local12 - 1)].y, _local5[_local12].x, _local5[_local12].y);
_local12++;
};
_local13 = topBack.globalToLocal(PARENT.localToGlobal(GLOBAL_CENTER[(GLOBAL_CENTER.length - 1)]));
_local2.curveTo(_local13.x, (_local13.y - 5), _local7[0].x, _local7[0].y);
_local12 = 0;
while (_local12 < _local11) {
_local2.curveTo(_local8[_local12].x, _local8[_local12].y, _local7[(_local12 + 1)].x, _local7[(_local12 + 1)].y);
_local12++;
};
_local2.curveTo(((_local10[0].x + _local7[(_local7.length - 1)].x) * 0.5), (((_local10[0].y + _local7[(_local7.length - 1)].y) * 0.5) - 5), _local9[0].x, _local9[0].y);
Drawing.drawCurvyLine(_local2, _local9[1], _local9, _local9[(_local9.length - 2)]);
}
public function displayCopy(_arg1:Event){
info_txt.visible = !(info_txt.visible);
}
public function getBarrier(_arg1:int, _arg2:Array, _arg3:Boolean=false):Number{
var _local4:int;
var _local5:int;
var _local6:Point;
var _local7:Point;
var _local8:Number;
_arg3 = false;
if (!_arg2.length){
return (NaN);
};
_local5 = _arg2.length;
_local7 = _arg2[0];
_local6 = _local7;
if (_arg1 > _local7.y){
return ((_arg3) ? _local7.x : NaN);
};
_local4 = 1;
while (_local4 < _local5) {
_local6 = _local7;
_local7 = _arg2[_local4];
_local8 = ((_arg1 - _local6.y) / (_local7.y - _local6.y));
if ((((_local8 >= 0)) && ((_local8 <= 1)))){
return ((_local6.x + (_local8 * (_local7.x - _local6.x))));
};
_local4++;
};
return ((_arg3) ? _local7.x : NaN);
}
public function rSize(_arg1:Event){
var _local2:int;
var _local3:int;
var _local4:Number;
var _local5:Number;
var _local6:Graphics;
_local2 = Math.max((stage.stageWidth - STAGE_WIDTH), 0);
_local3 = Math.max((stage.stageHeight - STAGE_HEIGHT), 0);
_local4 = (_local3 * 0.5);
_local5 = (_local2 * 0.5);
_local6 = COVER.graphics;
sapphire.x = (OLD_X + _local5);
sapphire.y = (OLD_Y + _local4);
_local6.clear();
_local6.beginFill(0);
_local6.drawRect(0, 0, stage.stageWidth, _local4);
_local6.endFill();
_local6.beginFill(0);
_local6.drawRect(0, (stage.stageHeight - _local4), stage.stageWidth, (_local3 * 0.5));
_local6.endFill();
_local6.beginFill(0);
_local6.drawRect(0, _local4, _local5, (stage.stageHeight - _local3));
_local6.endFill();
_local6.beginFill(0);
_local6.drawRect((stage.stageWidth - _local5), _local4, _local5, (stage.stageHeight - _local3));
_local6.endFill();
GLOBAL_LEFT = getGlobalLine(LEFT_BARRIER);
GLOBAL_CENTER = getGlobalLine(CENTER_BARRIER);
GLOBAL_RIGHT = getGlobalLine(RIGHT_BARRIER);
}
public function updateTop(){
var _local1:Array;
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local1 = getGlobalLine(BREAST1_BARRIER);
_local2 = getGlobalLine(BREAST2_BARRIER);
updateLine(LEFT_BORDER, [GLOBAL_LEFT, _local1], -1);
updateLine(RIGHT_BORDER, [GLOBAL_RIGHT, _local2]);
_local4 = LEFT_RIP.length;
_local8 = (1 / _local4);
_local3 = 0;
while (_local3 < _local4) {
_local5 = Math.min((Math.pow((1 - (_local8 * _local3)), SQUARE_FACTOR) + OFFSET), 1);
_local7 = 1;
_local6 = ((LEFT_BORDER[_local3].x - GLOBAL_LEFT[_local3].x) * 0.5);
if (_local3 > 0){
_local6 = (_local6 + ((LEFT_BORDER[(_local3 - 1)].x - GLOBAL_LEFT[(_local3 - 1)].x) * 0.5));
_local7++;
};
if (_local3 < (_local4 - 1)){
_local6 = (_local6 + ((LEFT_BORDER[(_local3 + 1)].x - GLOBAL_LEFT[(_local3 + 1)].x) * 0.5));
_local7++;
};
_local6 = (_local6 / _local7);
LEFT_RIP[_local3].x = ((GLOBAL_CENTER[_local3].x + _local6) + (((GLOBAL_LEFT[_local3].x - GLOBAL_CENTER[_local3].x) * STRETCH_FACTOR_1) * _local5));
if (_local3){
LEFT_RIP_CURVES[(_local3 - 1)].x = (((LEFT_RIP[_local3].x + LEFT_RIP[(_local3 - 1)].x) * 0.5) + (((LEFT_BORDER[_local3].x - LEFT_RIP[_local3].x) * (LEFT_RIP[_local3].x - GLOBAL_CENTER[_local3].x)) / (LEFT_BORDER[_local3].x - GLOBAL_CENTER[_local3].x)));
};
_local7 = 1;
_local6 = ((RIGHT_BORDER[_local3].x - GLOBAL_RIGHT[_local3].x) * 0.5);
if (_local3 > 0){
_local6 = (_local6 + ((RIGHT_BORDER[(_local3 - 1)].x - GLOBAL_RIGHT[(_local3 - 1)].x) * 0.5));
_local7++;
};
if (_local3 < (_local4 - 1)){
_local6 = (_local6 + ((RIGHT_BORDER[(_local3 + 1)].x - GLOBAL_RIGHT[(_local3 + 1)].x) * 0.5));
_local7++;
};
_local6 = (_local6 / _local7);
RIGHT_RIP[_local3].x = ((GLOBAL_CENTER[_local3].x + _local6) + (((GLOBAL_RIGHT[_local3].x - GLOBAL_CENTER[_local3].x) * STRETCH_FACTOR_2) * _local5));
if (_local3){
RIGHT_RIP_CURVES[(_local3 - 1)].x = (((RIGHT_RIP[_local3].x + RIGHT_RIP[(_local3 - 1)].x) * 0.5) + (((RIGHT_BORDER[_local3].x - RIGHT_RIP[_local3].x) * (RIGHT_RIP[_local3].x - GLOBAL_CENTER[_local3].x)) / (RIGHT_BORDER[_local3].x - GLOBAL_CENTER[_local3].x)));
};
_local3++;
};
}
public function updateAttached(){
var _local1:int;
var _local2:int;
var _local3:Object;
var _local4:Point;
var _local5:Point;
var _local6:int;
var _local7:int;
var _local8:Array;
_local2 = ATTACH_LIST.length;
_local1 = 0;
while (_local1 < _local2) {
_local3 = ATTACH_LIST[_local1];
if (_local3.mc.parent){
_local4 = _local3.par.localToGlobal(_local3.point);
_local5 = _local3.mc.parent.globalToLocal(_local4);
_local3.mc.x = _local5.x;
_local3.mc.y = _local5.y;
};
_local8 = _local3.props;
_local7 = _local8.length;
_local6 = 0;
while (_local6 < _local7) {
_local3.mc[_local8[_local6]] = _local3.par[_local8[_local6]];
_local6++;
};
_local1++;
};
}
}
}//package sapphireDillia_fla
Section 10
//mouth_40 (sapphireDillia_fla.mouth_40)
package sapphireDillia_fla {
import flash.display.*;
public dynamic class mouth_40 extends MovieClip {
public function mouth_40(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sapphireDillia_fla
Section 11
//sapphire_1 (sapphireDillia_fla.sapphire_1)
package sapphireDillia_fla {
import flash.display.*;
public dynamic class sapphire_1 extends MovieClip {
public var leg1:MovieClip;
public var leg2:MovieClip;
public var window:MovieClip;
public var jar:MovieClip;
public var hair1:MovieClip;
public var window_bg:MovieClip;
public var clothes:MovieClip;
public var bg:MovieClip;
public var tail:MovieClip;
public var hand_glow:MovieClip;
public var shine:MovieClip;
public var arm1:MovieClip;
public var wallGlow:MovieClip;
public var top1:MovieClip;
public var arm2:MovieClip;
public var breast1:MovieClip;
public var top2:MovieClip;
public var top4:MovieClip;
public var breast2:MovieClip;
public var hair2:MovieClip;
public var body:MovieClip;
public var glow:MovieClip;
public var top3:MovieClip;
public var hand2:MovieClip;
public var ear1:MovieClip;
public var ear2:MovieClip;
public var pants1:MovieClip;
public var belly:MovieClip;
public var pants2:MovieClip;
public var head:MovieClip;
}
}//package sapphireDillia_fla
Section 12
//top1_33 (sapphireDillia_fla.top1_33)
package sapphireDillia_fla {
import flash.display.*;
public dynamic class top1_33 extends MovieClip {
public var left4:MovieClip;
public var left5:MovieClip;
public var left7:MovieClip;
public var left2:MovieClip;
public var left6:MovieClip;
public var left1:MovieClip;
public var left3:MovieClip;
public var center1:MovieClip;
public var center4:MovieClip;
public var center2:MovieClip;
public var center5:MovieClip;
public var center6:MovieClip;
public var center7:MovieClip;
public var right1:MovieClip;
public var right3:MovieClip;
public var right4:MovieClip;
public var right5:MovieClip;
public var right6:MovieClip;
public var right2:MovieClip;
public var right7:MovieClip;
public var center3:MovieClip;
}
}//package sapphireDillia_fla
Section 13
//window_bg_3 (sapphireDillia_fla.window_bg_3)
package sapphireDillia_fla {
import flash.display.*;
public dynamic class window_bg_3 extends MovieClip {
public var moon:MovieClip;
public var sirius:MovieClip;
public var mars:MovieClip;
public var morning_star:MovieClip;
}
}//package sapphireDillia_fla