Section 1
//None (fl.transitions.easing.None)
package fl.transitions.easing {
public class None {
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
}
}//package fl.transitions.easing
Section 2
//Regular (fl.transitions.easing.Regular)
package fl.transitions.easing {
public class Regular {
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((_arg3 * _arg1) * _arg1) + _arg2));
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2));
};
--_arg1;
return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2));
}
}
}//package fl.transitions.easing
Section 3
//Tween (fl.transitions.Tween)
package fl.transitions {
import flash.events.*;
import flash.utils.*;
import flash.display.*;
public class Tween extends EventDispatcher {
public var isPlaying:Boolean;// = false
public var obj:Object;// = null
public var prop:String;// = ""
public var func:Function;
public var begin:Number;// = NAN
public var change:Number;// = NAN
public var useSeconds:Boolean;// = false
public var prevTime:Number;// = NAN
public var prevPos:Number;// = NAN
public var looping:Boolean;// = false
private var _duration:Number;// = NAN
private var _time:Number;// = NAN
private var _fps:Number;// = NAN
private var _position:Number;// = NAN
private var _startTime:Number;// = NAN
private var _intervalID:uint;// = 0
private var _finish:Number;// = NAN
private var _timer:Timer;// = null
protected static var _mc:MovieClip = new MovieClip();
public function Tween(_arg1:Object, _arg2:String, _arg3:Function, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Boolean=false){
this.func = function (_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
};
super();
if (!arguments.length){
return;
};
this.obj = _arg1;
this.prop = _arg2;
this.begin = _arg4;
this.position = _arg4;
this.duration = _arg6;
this.useSeconds = _arg7;
if ((_arg3 is Function)){
this.func = _arg3;
};
this.finish = _arg5;
this._timer = new Timer(100);
this.start();
}
public function get time():Number{
return (this._time);
}
public function set time(_arg1:Number):void{
this.prevTime = this._time;
if (_arg1 > this.duration){
if (this.looping){
this.rewind((_arg1 - this._duration));
this.update();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_LOOP, this._time, this._position));
} else {
if (this.useSeconds){
this._time = this._duration;
this.update();
};
this.stop();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_FINISH, this._time, this._position));
};
} else {
if (_arg1 < 0){
this.rewind();
this.update();
} else {
this._time = _arg1;
this.update();
};
};
}
public function get duration():Number{
return (this._duration);
}
public function set duration(_arg1:Number):void{
this._duration = ((_arg1)<=0) ? Infinity : _arg1;
}
public function get FPS():Number{
return (this._fps);
}
public function set FPS(_arg1:Number):void{
var _local2:Boolean = this.isPlaying;
this.stopEnterFrame();
this._fps = _arg1;
if (_local2){
this.startEnterFrame();
};
}
public function get position():Number{
return (this.getPosition(this._time));
}
public function set position(_arg1:Number):void{
this.setPosition(_arg1);
}
public function getPosition(_arg1:Number=NaN):Number{
if (isNaN(_arg1)){
_arg1 = this._time;
};
return (this.func(_arg1, this.begin, this.change, this._duration));
}
public function setPosition(_arg1:Number):void{
this.prevPos = this._position;
if (this.prop.length){
this.obj[this.prop] = (this._position = _arg1);
};
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_CHANGE, this._time, this._position));
}
public function get finish():Number{
return ((this.begin + this.change));
}
public function set finish(_arg1:Number):void{
this.change = (_arg1 - this.begin);
}
public function continueTo(_arg1:Number, _arg2:Number):void{
this.begin = this.position;
this.finish = _arg1;
if (!isNaN(_arg2)){
this.duration = _arg2;
};
this.start();
}
public function yoyo():void{
this.continueTo(this.begin, this.time);
}
protected function startEnterFrame():void{
var _local1:Number;
if (isNaN(this._fps)){
_mc.addEventListener(Event.ENTER_FRAME, this.onEnterFrame, false, 0, true);
} else {
_local1 = (1000 / this._fps);
this._timer.delay = _local1;
this._timer.addEventListener(TimerEvent.TIMER, this.timerHandler, false, 0, true);
this._timer.start();
};
this.isPlaying = true;
}
protected function stopEnterFrame():void{
if (isNaN(this._fps)){
_mc.removeEventListener(Event.ENTER_FRAME, this.onEnterFrame);
} else {
this._timer.stop();
};
this.isPlaying = false;
}
public function start():void{
this.rewind();
this.startEnterFrame();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_START, this._time, this._position));
}
public function stop():void{
this.stopEnterFrame();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_STOP, this._time, this._position));
}
public function resume():void{
this.fixTime();
this.startEnterFrame();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_RESUME, this._time, this._position));
}
public function rewind(_arg1:Number=0):void{
this._time = _arg1;
this.fixTime();
this.update();
}
public function fforward():void{
this.time = this._duration;
this.fixTime();
}
public function nextFrame():void{
if (this.useSeconds){
this.time = ((getTimer() - this._startTime) / 1000);
} else {
this.time = (this._time + 1);
};
}
protected function onEnterFrame(_arg1:Event):void{
this.nextFrame();
}
protected function timerHandler(_arg1:TimerEvent):void{
this.nextFrame();
_arg1.updateAfterEvent();
}
public function prevFrame():void{
if (!this.useSeconds){
this.time = (this._time - 1);
};
}
private function fixTime():void{
if (this.useSeconds){
this._startTime = (getTimer() - (this._time * 1000));
};
}
private function update():void{
this.setPosition(this.getPosition(this._time));
}
}
}//package fl.transitions
Section 4
//TweenEvent (fl.transitions.TweenEvent)
package fl.transitions {
import flash.events.*;
public class TweenEvent extends Event {
public var time:Number;// = NAN
public var position:Number;// = NAN
public static const MOTION_START:String = "motionStart";
public static const MOTION_STOP:String = "motionStop";
public static const MOTION_FINISH:String = "motionFinish";
public static const MOTION_CHANGE:String = "motionChange";
public static const MOTION_RESUME:String = "motionResume";
public static const MOTION_LOOP:String = "motionLoop";
public function TweenEvent(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Boolean=false){
super(_arg1, _arg4, _arg5);
this.time = _arg2;
this.position = _arg3;
}
override public function clone():Event{
return (new TweenEvent(this.type, this.time, this.position, this.bubbles, this.cancelable));
}
}
}//package fl.transitions
Section 5
//arm_11 (sofieAnimation_fla.arm_11)
package sofieAnimation_fla {
import flash.display.*;
public dynamic class arm_11 extends MovieClip {
public function arm_11(){
addFrameScript(0, frame1, 2, frame3);
}
function frame1(){
stop();
}
function frame3(){
stop();
}
}
}//package sofieAnimation_fla
Section 6
//candy_18 (sofieAnimation_fla.candy_18)
package sofieAnimation_fla {
import flash.display.*;
public dynamic class candy_18 extends MovieClip {
public function candy_18(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sofieAnimation_fla
Section 7
//expression_12 (sofieAnimation_fla.expression_12)
package sofieAnimation_fla {
import flash.display.*;
public dynamic class expression_12 extends MovieClip {
public function expression_12(){
addFrameScript(0, frame1, 4, frame5, 7, frame8);
}
function frame1(){
stop();
}
function frame5(){
stop();
}
function frame8(){
stop();
}
}
}//package sofieAnimation_fla
Section 8
//legs_14 (sofieAnimation_fla.legs_14)
package sofieAnimation_fla {
import flash.display.*;
public dynamic class legs_14 extends MovieClip {
public function legs_14(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sofieAnimation_fla
Section 9
//MainTimeline (sofieAnimation_fla.MainTimeline)
package sofieAnimation_fla {
import flash.events.*;
import fl.transitions.*;
import fl.transitions.easing.*;
import flash.utils.*;
import flash.display.*;
import flash.text.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class MainTimeline extends MovieClip {
public var textCloud:MovieClip;
public var candy:MovieClip;
public var txtCount:TextField;
public var smellL:MovieClip;
public var legL:MovieClip;
public var arm:MovieClip;
public var glasses:MovieClip;
public var expression:MovieClip;
public var sofieBase:MovieClip;
public var smellR:MovieClip;
public var shirt:MovieClip;
public var couch:MovieClip;
public var panties:MovieClip;
public var legR:MovieClip;
public var loadCounter;
public var loadInterval;
public var candyCounter;
public var eatCounter;
public var candyType;
public var tweenX:Tween;
public var tweenY:Tween;
public var tweenH:Tween;
public var tweenFade:Tween;
public var textCountDown;
public var bFootLeftClicked;
public var bFootRightClicked;
public var steepness;
public var bPantiesEnabled;
public var bBraEnabled;
public var bCandyEnabled;
public var ftFrameTotal;
public var myInterval;
public function MainTimeline(){
addFrameScript(0, frame1, 1, frame2);
}
public function loadTimer():void{
loadCounter--;
if (loadCounter > 0){
txtCount.text = loadCounter;
};
if (loadCounter == 0){
clearInterval(loadInterval);
txtCount.text = "0";
gotoAndStop(2);
};
}
public function mouseClicked(_arg1:MouseEvent):void{
var _local2:* = "";
if (_arg1.target.name == null){
_local2 = "";
} else {
_local2 = _arg1.target.name;
};
if ((((((bPantiesEnabled == true)) && ((panties.alpha == 1)))) && ((_local2 == "panties")))){
tweenFade = new Tween(panties, "alpha", None.easeNone, 1, 0, 1, true);
tweenFade.FPS = 40;
};
if ((((((bBraEnabled == true)) && ((shirt.alpha == 1)))) && ((_local2 == "shirt")))){
tweenFade = new Tween(shirt, "alpha", None.easeNone, 1, 0, 1, true);
tweenFade.FPS = 40;
};
if (_local2 == "legL"){
bFootLeftClicked = true;
};
if (_local2 == "legR"){
bFootRightClicked = true;
};
if ((((((candyCounter == 0)) && ((panties.alpha == 0)))) && ((bCandyEnabled == true)))){
if (_local2 == "candyRed"){
candyType = 0;
setupShootingCandy();
} else {
if (_local2 == "candyWhite"){
candyType = 1;
setupShootingCandy();
} else {
if (_local2 == "candyBlue"){
candyType = 2;
setupShootingCandy();
} else {
if (_local2 == "candyYellow"){
candyType = 3;
setupShootingCandy();
} else {
if (_local2 == "candyGreen"){
candyType = 4;
setupShootingCandy();
};
};
};
};
};
};
}
public function setupShootingCandy():void{
steepness = (Math.floor((Math.random() * 150)) + 50);
candy.gotoAndStop(1);
candy.scaleX = 1;
candy.scaleY = 1;
candy.x = 277.25;
candy.y = 289.6;
candyCounter = 14;
}
public function myTimer():void{
var _local1:*;
if ((((bFootLeftClicked == true)) && ((legL.currentFrame > 1)))){
legL.gotoAndStop(Math.ceil((Math.random() * ftFrameTotal)));
} else {
if ((((bFootRightClicked == true)) && ((legR.currentFrame > 1)))){
legR.gotoAndStop(Math.ceil((Math.random() * ftFrameTotal)));
};
};
bFootLeftClicked = false;
bFootRightClicked = false;
if (textCloud.alpha == 1){
expression.gotoAndStop((Math.floor((Math.random() * 4)) + 5));
} else {
if (Math.floor((Math.random() * 5)) == 0){
expression.gotoAndStop(2);
} else {
expression.gotoAndStop(1);
};
};
if (eatCounter > 0){
eatCounter--;
legL.gotoAndStop(1);
if (eatCounter == 0){
arm.gotoAndStop(3);
setChildIndex(arm, 0);
setChildIndex(couch, 0);
} else {
if (eatCounter == 2){
arm.gotoAndStop(2);
} else {
if (eatCounter == 4){
setChildIndex(arm, (numChildren - 1));
arm.gotoAndStop(1);
};
};
};
};
if (candyCounter > 0){
candyCounter--;
if (candyCounter == 0){
candy.gotoAndStop((4 + (candyType * 5)));
tweenX = new Tween(candy, "scaleX", Regular.easeIn, 1, 20, 1, true);
tweenX.FPS = 40;
tweenY = new Tween(candy, "scaleY", Regular.easeIn, 1, 20, 1, true);
tweenY.FPS = 40;
tweenH = new Tween(candy, "y", Regular.easeOut, candy.y, (candy.y - steepness), 1, true);
tweenH.FPS = 40;
tweenH.addEventListener(TweenEvent.MOTION_FINISH, returnCandy);
} else {
if (candyCounter == 1){
candy.gotoAndStop((3 + (candyType * 5)));
} else {
if (candyCounter == 2){
candy.gotoAndStop((2 + (candyType * 5)));
} else {
if (candyCounter == 13){
legR.gotoAndStop(1);
legL.gotoAndStop(1);
arm.gotoAndStop(3);
} else {
if (candyCounter == 11){
arm.gotoAndStop(1);
} else {
if (candyCounter == 9){
legR.gotoAndStop(1);
legL.gotoAndStop(1);
arm.gotoAndStop((4 + candyType));
setChildIndex(arm, (numChildren - 1));
} else {
if (candyCounter == 7){
arm.gotoAndStop(3);
setChildIndex(arm, 0);
setChildIndex(couch, 0);
textCountDown = 16;
showText("\nOpen your mouth wide!");
};
};
};
};
};
};
};
} else {
if (eatCounter == 0){
if (Math.floor((Math.random() * 3)) == 0){
legL.gotoAndStop(Math.ceil((Math.random() * ftFrameTotal)));
};
if (Math.floor((Math.random() * 3)) == 0){
legR.gotoAndStop(Math.ceil((Math.random() * ftFrameTotal)));
};
};
};
if (textCountDown > 0){
textCountDown--;
if (textCountDown == 0){
if (textCloud.alpha == 1){
showText("");
bPantiesEnabled = false;
bBraEnabled = false;
bCandyEnabled = false;
} else {
_local1 = Math.floor((Math.random() * 8));
if (_local1 == 0){
showText("If you want something, take it.");
} else {
if (_local1 == 1){
showText("What are ya doin down there? That's not worship-ing my foot. Get on it!");
} else {
if (_local1 == 2){
showText("Now sniff my foot stench as hard as you can slave!");
} else {
if (_local1 == 3){
showText("Tell me how nice my feet taste to you.");
} else {
if (_local1 == 4){
showText("Alright open your mouth, I've got a treat for you! No, not the candy, idiot!");
bCandyEnabled = true;
} else {
if (_local1 == 5){
showText("I eat sweet candy, you eat smelly foot! That's your place, dirty slave!");
bCandyEnabled = true;
} else {
if (_local1 == 6){
if (panties.alpha == 0){
showText("Eyes off my crotch, slave! Concentrate only on my stinky feet!");
} else {
showText("What are you looking at my panties? Eyes to my feet!");
bPantiesEnabled = true;
};
} else {
if (_local1 == 7){
if (shirt.alpha == 0){
showText("Eyes off my breasts, slave! For you these are only to look at!");
} else {
showText("Eyes off my breasts, slave! Your place is at my feet!");
bBraEnabled = true;
};
};
};
};
};
};
};
};
};
};
};
};
if (legL.currentFrame > 1){
smellL.alpha = 0.45;
} else {
smellL.alpha = 0;
};
if (legR.currentFrame > 1){
smellR.alpha = 0.45;
} else {
smellR.alpha = 0;
};
}
public function returnCandy(_arg1:TweenEvent):void{
tweenX = new Tween(candy, "scaleX", Regular.easeOut, 20, 40, 1, true);
tweenX.FPS = 40;
tweenY = new Tween(candy, "scaleY", Regular.easeOut, 20, 40, 1, true);
tweenY.FPS = 40;
tweenH = new Tween(candy, "y", Regular.easeIn, candy.y, (candy.y + steepness), 1, true);
tweenH.FPS = 40;
tweenH.addEventListener(TweenEvent.MOTION_FINISH, hideCandy);
}
public function hideCandy(_arg1:TweenEvent):void{
candy.gotoAndStop(1);
candy.y = -2000;
candy.scaleX = 1;
candy.scaleY = 1;
}
public function showText(_arg1):void{
if (_arg1 == ""){
textCloud.alpha = 0;
textCountDown = (Math.floor((Math.random() * 14)) + 6);
} else {
textCloud.txt.text = _arg1;
textCloud.alpha = 1;
textCountDown = (Math.floor((Math.random() * 28)) + 2);
if (Math.floor((Math.random() * 2)) == 0){
eatCounter = 6;
};
};
}
function frame1(){
stop();
loadCounter = 10;
loadInterval = setInterval(loadTimer, 1000);
}
function frame2(){
stop();
candyCounter = 0;
eatCounter = 20;
candyType = 0;
textCountDown = 18;
bFootLeftClicked = false;
bFootRightClicked = false;
steepness = 200;
bPantiesEnabled = false;
bBraEnabled = false;
bCandyEnabled = false;
ftFrameTotal = 9;
textCloud.alpha = 0;
myInterval = setInterval(myTimer, 300);
stage.addEventListener(MouseEvent.CLICK, mouseClicked);
arm.gotoAndStop(3);
smellL.mouseEnabled = false;
smellR.mouseEnabled = false;
smellL.alpha = 0;
smellR.alpha = 0;
}
}
}//package sofieAnimation_fla