Section 1
//Quadratic (fl.motion.easing.Quadratic)
package fl.motion.easing {
public class Quadratic {
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 easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((_arg3 * _arg1) * _arg1) + _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.motion.easing
Section 2
//Car2_23 (perspective3_fla.Car2_23)
package perspective3_fla {
import flash.display.*;
public dynamic class Car2_23 extends MovieClip {
public var smile:MovieClip;
}
}//package perspective3_fla
Section 3
//Credits_33 (perspective3_fla.Credits_33)
package perspective3_fla {
import flash.display.*;
public dynamic class Credits_33 extends MovieClip {
public var playAgainButton:MovieClip;
}
}//package perspective3_fla
Section 4
//Creditsfade_32 (perspective3_fla.Creditsfade_32)
package perspective3_fla {
import flash.display.*;
public dynamic class Creditsfade_32 extends MovieClip {
public var creditsText:MovieClip;
public function Creditsfade_32(){
addFrameScript(128, frame129);
}
function frame129(){
stop();
}
}
}//package perspective3_fla
Section 5
//Fadefromblack_30 (perspective3_fla.Fadefromblack_30)
package perspective3_fla {
import flash.display.*;
public dynamic class Fadefromblack_30 extends MovieClip {
public function Fadefromblack_30(){
addFrameScript(39, frame40);
}
function frame40(){
stop();
parent.removeChild(this);
}
}
}//package perspective3_fla
Section 6
//MainTimeline (perspective3_fla.MainTimeline)
package perspective3_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import fl.motion.easing.*;
import flash.geom.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class MainTimeline extends MovieClip {
public const centerPoint:Point;
public const boundaries:Rectangle;
public const textDisableTime:int = 40;
public const triggerTime:int = 15;
public const endingCountdownTime:int = 400;
public const moveSpeed:int = 20;
public const textTime:int = 20;
public const endingWaitBeforeText:int = 50;
public const textTimeWord:int = 4;
public const textTimeInt:int = 5;
public var mouseCoordinates:Point;
public var music:Sound;
public var creditsFade:MovieClip;
public var triggerCount:Dictionary;
public var volumeEnvelopeVolumes:Dictionary;
public var narrationWait:int;
public var positionChange:Point;
public var i:int;
public var tunnelVision:MovieClip;
public var engineSoundChannel:SoundChannel;
public var scene:MovieClip;
public var narrationQueue:Array;
public var loadingText:TextField;
public var endingPictureInside:MovieClip;
public var positionStart:Point;
public var volumeEnvelopeSpeeds:Dictionary;
public var fadeIn:MovieClip;
public var endingCountdown:int;
public var volumeEnvelopeSounds:Array;
public var musicChannel:SoundChannel;
public var easing:Point;
public var ending:String;
public var fadeOut:MovieClip;
public var textBox:TextField;
public var enableInteractionsWait:int;
public var triggerSequence:Array;
public var disableInteractions:Boolean;
public var triggers:Array;
public var endingPicture:MovieClip;
public var engineSound:Sound;
public function MainTimeline(){
centerPoint = new Point(Math.round((stage.stageWidth / 2)), Math.round(((stage.stageHeight - 100) / 2)));
boundaries = new Rectangle(-430, -517, 1510, 1003);
super();
addFrameScript(0, frame1, 2, frame3, 3, frame4);
}
public function startEndingCountdown(_arg1:int=400):void{
if (((!(endingCountdown)) || ((endingCountdown > _arg1)))){
endingCountdown = _arg1;
trace((("STARTED COUNTDOWN TO ENDING (" + _arg1) + ")"));
};
}
public function slideTo(_arg1:int, _arg2:int):void{
_arg1 = (_arg1 - centerPoint.x);
_arg2 = (_arg2 - centerPoint.y);
if ((scene.x - _arg1) < boundaries.x){
_arg1 = (scene.x - boundaries.x);
} else {
if ((scene.x - _arg1) > (boundaries.x + boundaries.width)){
_arg1 = (scene.x - (boundaries.x + boundaries.width));
};
};
if ((scene.y - _arg2) < boundaries.y){
_arg2 = (scene.y - boundaries.y);
} else {
if ((scene.y - _arg2) > (boundaries.y + boundaries.height)){
_arg2 = (scene.y - (boundaries.y + boundaries.height));
};
};
easing.x = 1;
easing.y = 1;
positionStart.x = scene.x;
positionStart.y = scene.y;
positionChange.x = -(_arg1);
positionChange.y = -(_arg2);
}
public function startEnding():void{
if (!fadeOut){
disableInteractions = true;
fadeOut = new FadeToBlack();
addChild(fadeOut);
endingCountdown = endingWaitBeforeText;
volumeEnvelope(musicChannel, 1.7, 0.01);
volumeEnvelope(engineSoundChannel, 0, 0.01);
trace("ENDING TRIGGERED", disableInteractions);
} else {
if (ending == "brother"){
queueText("At some point, my brother broke his silence. He said he was not going to endure the same again, that he was done with my teasing.");
queueText("He said he knew what truly lay in my heart. As he was telling me this, he pressed on the accelerator.");
queueText("When he was done talking, his features relaxed. It was not fate what brought us off that perfectly straight highway, and directly into a tree.");
} else {
if (ending == "prostitute"){
queueText("He stopped the car at a motel by the road. As usual, I didn't let him use any form of contraception.");
queueText("After we were done, I stayed awake, a hand on my empty belly, speaking in my thoughts.");
queueText("\"One of these nights, it will work. I will find a father for you soon, I promise.\"");
} else {
if (ending == "marry me"){
queueText("I'd had it. I yelled at him to stop the car. The sun had gone all the way down. He begged me to get back in the car, but I didn't care.");
queueText("His chance to be with me was long gone by then. I walked.");
} else {
if (ending == "eloping"){
queueText("The ride was amazing, so full of freedom and hope. Just being there with him was a pleasure I had not been able to enjoy in all those years.");
queueText("That's why I wasn't too bummed about getting arrested and taken back and away from him again that night.");
} else {
if (ending == "hitchhiker"){
queueText("\"This is my fault,\" I kept telling myself, biting my lip to keep me from sobbing out loud. The man pulled the car over. I didn't resist.");
queueText("\"I'm being punished now, mom. I'm being punished for running away from home.\"");
} else {
queueText("ENDING ERROR");
};
};
};
};
};
};
}
public function loadComplete(_arg1:Event):void{
loadingText.text = "Click to start";
loadingText.textColor = 0xFFFFFF;
addEventListener(MouseEvent.MOUSE_UP, startGameFirst, false, 0, true);
}
function frame4(){
if (ending == "brother"){
endingPictureInside = new EndingBrother();
} else {
if (ending == "hitchhiker"){
endingPictureInside = new EndingHitchhiker();
} else {
if (ending == "eloping"){
endingPictureInside = new EndingEloping();
} else {
if (ending == "marry me"){
endingPictureInside = new EndingMarryMe();
} else {
if (ending == "prostitute"){
endingPictureInside = new EndingProstitute();
};
};
};
};
};
endingPicture.addChild(endingPictureInside);
var _local2 = creditsFade.creditsText.playAgainButton;
with (_local2) {
buttonMode = true;
useHandCursor = true;
};
creditsFade.creditsText.playAgainButton.addEventListener(MouseEvent.MOUSE_UP, function (_arg1:MouseEvent){
gotoAndPlay(1, "Game");
});
}
function frame3(){
triggers = new Array(scene.trSmile, scene.trSonic, scene.trRadio, scene.trFoot, scene.trWatch, scene.trSunset, scene.trRoad, scene.plane.planeGraphic.trPlane, scene.trBirds);
easing = new Point((moveSpeed + 1), (moveSpeed + 1));
positionStart = new Point();
positionChange = new Point();
triggerCount = new Dictionary();
triggerSequence = new Array();
narrationQueue = new Array();
disableInteractions = true;
enableInteractionsWait = 0;
volumeEnvelopeSounds = new Array();
volumeEnvelopeVolumes = new Dictionary();
volumeEnvelopeSpeeds = new Dictionary();
addEventListener(MouseEvent.MOUSE_DOWN, followMouse);
addEventListener(MouseEvent.MOUSE_UP, followMouse);
addEventListener(MouseEvent.MOUSE_MOVE, followMouse);
addEventListener(Event.ENTER_FRAME, frameLoop);
MochiBot.track(this, "c9be1e4b");
i = (triggers.length - 1);
while (i >= 0) {
triggers[i].visible = false;
i--;
};
tunnelVision.visible = false;
tunnelVision.stop();
scene.palm2.gotoAndPlay(14);
scene.palm3.gotoAndPlay(7);
scene.palm4.gotoAndPlay(21);
scene.sign1.gotoAndPlay(10);
stop();
if (!music){
engineSound = new EngineSound();
engineSoundChannel = engineSound.play(0, 999, new SoundTransform(0));
music = new Music();
musicChannel = music.play(0, 99);
};
volumeEnvelope(musicChannel, 1, 0.01);
volumeEnvelope(engineSoundChannel, 0.4, 0.01);
fadeIn.addEventListener(Event.REMOVED_FROM_STAGE, startGame, false, 0, true);
}
function frame1(){
stop();
loaderInfo.addEventListener(Event.COMPLETE, loadComplete, false, 0, true);
}
public function triggerNarration(_arg1:MovieClip):void{
var lastTrigger:String;
var seqLength:int;
var randomText:int;
var trigger = _arg1;
lastTrigger = trigger.name;
if (lastTrigger != "trRadio"){
seqLength = triggerSequence.push(lastTrigger);
};
triggers.splice(triggers.indexOf(trigger), 1);
trigger.parent.removeChild(trigger);
if (lastTrigger == "trRadio"){
randomText = Math.floor((Math.random() * 4));
if (randomText == 0){
queueText("What kind of music was that, anyway?");
} else {
if (randomText == 1){
queueText("I couldn't recognize what was playing from the radio.");
} else {
if (randomText == 2){
queueText("That was some pretty awful music.");
} else {
if (randomText == 3){
queueText("He was listening to a very creepy song.");
} else {
if (randomText == 4){
queueText("That music, it was very strange.");
};
};
};
};
};
} else {
if (seqLength == 1){
scene.plane.play();
if (triggerSequence[0] == "trSmile"){
queueText("He wasn't smiling at me. He was smiling at himself.");
} else {
if (triggerSequence[0] == "trSonic"){
queueText("What guy would choose that thing as decoration for his car, anyway?");
} else {
if (triggerSequence[0] == "trSunset"){
queueText("My youth was escaping, just like the sun.");
} else {
if (triggerSequence[0] == "trWatch"){
queueText("It was getting late, and we were still on the road.");
} else {
if (triggerSequence[0] == "trFoot"){
queueText("He was going much too fast.");
} else {
if (triggerSequence[0] == "trRoad"){
queueText("I didn't really know what place we were going to.");
} else {
if (triggerSequence[0] == "trBirds"){
queueText("For birds, going away is an ordinary event.");
} else {
queueText("ERROR");
};
};
};
};
};
};
};
} else {
if (seqLength == 2){
if (triggerSequence[0] == "trSmile"){
if (triggerSequence[1] == "trSonic"){
queueText("Was that thing, that he had hanging there, a toy?");
ending = "prostitute";
} else {
if (triggerSequence[1] == "trSunset"){
queueText("The sun warmed me more than his smile.");
ending = "marry me";
} else {
if (triggerSequence[1] == "trPlane"){
queueText("Well, had us been on our way to Paris and on our honeymoon, I might have just been smiling too.");
ending = "marry me";
} else {
if (triggerSequence[1] == "trWatch"){
queueText("I found it hard to smile, given that I'd be spending the whole night with him at that rate.");
ending = "prostitute";
} else {
if (triggerSequence[1] == "trFoot"){
queueText("It was as if he forgot I was there, and was speeding so he could get to his other girl ASAP.");
ending = "marry me";
} else {
if (triggerSequence[1] == "trRoad"){
queueText("Maybe he smiling at the prospect of hot chicks on the beach, right up this road.");
ending = "marry me";
} else {
if (triggerSequence[1] == "trBirds"){
queueText("I could almost smile, looking at a family of birds, too.");
ending = "prostitute";
} else {
queueText("ERROR");
};
};
};
};
};
};
};
} else {
if (triggerSequence[0] == "trSonic"){
if (triggerSequence[1] == "trSmile"){
queueText("I guess he would. Was he trying to hit on me?");
ending = "hitchhiker";
} else {
if (triggerSequence[1] == "trSunset"){
queueText("Not the kind of guy I wanted to be with after dark, my gut was telling me.");
ending = "hitchhiker";
} else {
if (triggerSequence[1] == "trPlane"){
queueText("We should've just taken a plane instead of stealing that car. No fun in that, though, I suppose.");
ending = "eloping";
} else {
if (triggerSequence[1] == "trWatch"){
queueText("It was so late, and yet we seemed to be nowhere at all.");
ending = "hitchhiker";
} else {
if (triggerSequence[1] == "trFoot"){
queueText("Well, it didn't really matter, considering that the actual car could go that fast.");
ending = "eloping";
} else {
if (triggerSequence[1] == "trRoad"){
queueText("Well, whoever the guy was, he was never going to find us where we were going!");
ending = "eloping";
} else {
if (triggerSequence[1] == "trBirds"){
queueText("Whoever he was, he must have been pretty mad. Did we steal his wings?");
ending = "eloping";
} else {
queueText("ERROR");
};
};
};
};
};
};
};
} else {
if (triggerSequence[0] == "trSunset"){
if (triggerSequence[1] == "trSmile"){
queueText("Yet some men believe they can just live a bachelor's life until they die.");
ending = "prostitute";
} else {
if (triggerSequence[1] == "trSonic"){
queueText("And all the while I was just swaying to his motions, much like that thing there.");
ending = "marry me";
} else {
if (triggerSequence[1] == "trPlane"){
queueText("Some day I, too, would leave that place and start a new life.");
ending = "prostitute";
} else {
if (triggerSequence[1] == "trWatch"){
queueText("And what was I doing? Just waiting?");
ending = "marry me";
} else {
if (triggerSequence[1] == "trFoot"){
queueText("Yet he was only taking me full-speed to spinsterville.");
ending = "marry me";
} else {
if (triggerSequence[1] == "trRoad"){
queueText("Yet all I saw in the horizon was more of that passive company.");
ending = "marry me";
} else {
if (triggerSequence[1] == "trBirds"){
queueText("Birds don't concern themselves with such dilemmas.");
ending = "prostitute";
} else {
queueText("ERROR");
};
};
};
};
};
};
};
} else {
if (triggerSequence[0] == "trWatch"){
if (triggerSequence[1] == "trSmile"){
queueText("His smile barely veiled his uneasiness. I wondered with excitement what his plan for that night would be.");
ending = "brother";
} else {
if (triggerSequence[1] == "trSonic"){
queueText("And he brought that thing I gave him to go along. I wondered if he kept it there all those years.");
ending = "brother";
} else {
if (triggerSequence[1] == "trSunset"){
queueText("It was about to get dark, too.");
ending = "hitchhiker";
} else {
if (triggerSequence[1] == "trPlane"){
queueText("I went away so many years ago, knowing what his feelings were. And yet, he waited all that time.");
ending = "brother";
} else {
if (triggerSequence[1] == "trFoot"){
queueText("He seemed to be going very fast, though. Were we on the right road?");
ending = "hitchhiker";
} else {
if (triggerSequence[1] == "trRoad"){
queueText("It truly was a long way to wherever he was taking me, that distant place he spoke of.");
ending = "brother";
} else {
if (triggerSequence[1] == "trBirds"){
queueText("At least the birds seemed to know where they were going.");
ending = "hitchhiker";
} else {
queueText("ERROR");
};
};
};
};
};
};
};
} else {
if (triggerSequence[0] == "trFoot"){
if (triggerSequence[1] == "trSmile"){
queueText("I guess it was to be expected for him to be anxious, given my return. He could not hide it with that smile.");
ending = "brother";
} else {
if (triggerSequence[1] == "trSonic"){
queueText("He may have brought that thing I gave him so many years ago just to seem welcoming of my return.");
ending = "brother";
} else {
if (triggerSequence[1] == "trSunset"){
queueText("Was it alright to be going that fast in the dark?");
ending = "hitchhiker";
} else {
if (triggerSequence[1] == "trPlane"){
queueText("I went away so many years ago, knowing what his feelings were. And yet, he waited all that time. I knew my brother even then.");
ending = "brother";
} else {
if (triggerSequence[1] == "trWatch"){
queueText("He did seem to have a reason to hurry. It depended on what his plans were.");
ending = "brother";
} else {
if (triggerSequence[1] == "trRoad"){
queueText("Luckily, there were no other cars in the road. Although I didn't really like to be alone with him.");
ending = "hitchhiker";
} else {
if (triggerSequence[1] == "trBirds"){
queueText("The birds, were they also running away?");
ending = "hitchhiker";
} else {
queueText("ERROR");
};
};
};
};
};
};
};
} else {
if (triggerSequence[0] == "trRoad"){
if (triggerSequence[1] == "trSmile"){
queueText("He seemed happy, though, so I didn't care. I was just happy to be with him, again.");
ending = "eloping";
} else {
if (triggerSequence[1] == "trSonic"){
queueText("Was that thing, that he had hanging there, a toy?");
ending = "prostitute";
} else {
if (triggerSequence[1] == "trSunset"){
queueText("It didn't matter when we had such a beautiful sunset on the horizon!");
ending = "eloping";
} else {
if (triggerSequence[1] == "trPlane"){
queueText("You can only take a plane if you know where you're going. Since we didn't, we stole a car.");
ending = "eloping";
} else {
if (triggerSequence[1] == "trWatch"){
queueText("But it was taking him very long to get us there.");
ending = "prostitute";
} else {
if (triggerSequence[1] == "trFoot"){
queueText("But we sure were going fast toward it!");
ending = "eloping";
} else {
if (triggerSequence[1] == "trBirds"){
queueText("In the sky, a beautiful family of birds seemed to be moving away.");
ending = "prostitute";
} else {
queueText("ERROR");
};
};
};
};
};
};
};
} else {
if (triggerSequence[0] == "trBirds"){
if (triggerSequence[1] == "trSmile"){
queueText("For us two, on the other hand, just being able to leave was a reason to be happy.");
ending = "eloping";
} else {
if (triggerSequence[1] == "trSonic"){
queueText("He still kept that thing I gave him, hanging there. So cute of him. And so predictable, really.");
ending = "brother";
} else {
if (triggerSequence[1] == "trSunset"){
queueText("But one can never go too far before one has to return. As brother well knew, after dusk, one can only wait till sunrise.");
ending = "brother";
} else {
if (triggerSequence[1] == "trPlane"){
queueText("For us humans, leaving the country causes ripples within the family.");
ending = "brother";
} else {
if (triggerSequence[1] == "trWatch"){
queueText("I wondered, how long is one supposed to wait before one just has to leave?");
ending = "marry me";
} else {
if (triggerSequence[1] == "trFoot"){
queueText("For us, it was exciting. Full speed to a bright new future.");
ending = "eloping";
} else {
if (triggerSequence[1] == "trRoad"){
queueText("At times it seemed as if we were moving forward, but, in reality, we weren't going anywhere.");
ending = "marry me";
} else {
queueText("ERROR");
};
};
};
};
};
};
};
};
};
};
};
};
};
};
} else {
if (seqLength >= 3){
if (ending == "brother"){
if (lastTrigger == "trSmile"){
queueText("My little brother's smile revealed anxiousness. I had expected no other reaction to my return.");
startEndingCountdown();
} else {
if (lastTrigger == "trSonic"){
queueText("He still kept that thing I gave him, hanging there. So cute of him. And so predictable, really.");
} else {
if (lastTrigger == "trSunset"){
queueText("The light of day was going away.");
} else {
if (lastTrigger == "trPlane"){
queueText("I went away so many years ago, knowing what his feelings were. And yet, he waited all that time.");
startEndingCountdown();
} else {
if (lastTrigger == "trWatch"){
queueText("It was getting late, though he did say he'd take me far away, not to return.");
} else {
if (lastTrigger == "trFoot"){
queueText("He was going fast. Were his thoughts of me racing at the same speed?");
} else {
if (lastTrigger == "trRoad"){
queueText("A distant place, where no one would know about us. That's where he said he was taking me. He said he wouldn't let me leave again.");
startEndingCountdown();
} else {
if (lastTrigger == "trBirds"){
queueText("Isn't a bird, with a beautiful and colorful plumage to show, naturally compelled to seduction?");
} else {
queueText("ERROR");
};
};
};
};
};
};
};
};
} else {
if (ending == "prostitute"){
if (lastTrigger == "trSmile"){
queueText("He was giving me a lustful look. I tried to hide my apathy.");
startEndingCountdown();
} else {
if (lastTrigger == "trSonic"){
queueText("Was that thing, that he had hanging there, a toy?");
} else {
if (lastTrigger == "trSunset"){
queueText("My young days were going away, much like that sun. I felt like I was racing against time.");
startEndingCountdown();
} else {
if (lastTrigger == "trPlane"){
queueText("Some day I, too, will leave this place and start a new life.");
} else {
if (lastTrigger == "trWatch"){
queueText("We had been on the road for over an hour. It seemed as though he was going to be the only man I'd be with that night.");
startEndingCountdown();
} else {
if (lastTrigger == "trFoot"){
queueText("He thought I was in it for the thrills and the sex.");
startEndingCountdown();
} else {
if (lastTrigger == "trRoad"){
queueText("He was taking me to a place far removed from town. Married men tend to be cautious.");
startEndingCountdown();
} else {
if (lastTrigger == "trBirds"){
queueText("In the sky, a beautiful family of birds seemed to be moving away.");
} else {
queueText("ERROR");
};
};
};
};
};
};
};
};
} else {
if (ending == "marry me"){
if (lastTrigger == "trSmile"){
queueText("There was no love behind that smile. Not a love like mine.");
} else {
if (lastTrigger == "trSonic"){
queueText("What was that thing hanging from the rearview mirror, anyway? Was it a gift by some other girl?");
} else {
if (lastTrigger == "trSunset"){
queueText("I looked into that sunset, longing. Much like daylight, the spring of my life was not going to last very long.");
} else {
if (lastTrigger == "trPlane"){
queueText("He was so stupid. I didn't wanna go to the beach, I wanted to go on a honeymoon trip overseas. But get married first.");
startEndingCountdown();
} else {
if (lastTrigger == "trWatch"){
queueText("It was pretty late. I couldn't count the time I had been waiting for him in just hours, though.");
startEndingCountdown();
} else {
if (lastTrigger == "trFoot"){
queueText("He was in a hurry to get where, again? 'Cause I thought he was the kind to \"take it slow\".");
startEndingCountdown();
} else {
if (lastTrigger == "trRoad"){
queueText("We were definitely not on the way to a life full of happy togetherness. What was I doing there?");
startEndingCountdown();
} else {
if (lastTrigger == "trBirds"){
queueText("My lovebird, he's never in my hand. He's more often among a flock of birds, feeling their asses.");
startEndingCountdown();
} else {
queueText("ERROR");
};
};
};
};
};
};
};
};
} else {
if (ending == "eloping"){
if (lastTrigger == "trSmile"){
queueText("He had such a bright smile. I was so happy to finally be with him, too.");
startEndingCountdown();
} else {
if (lastTrigger == "trSonic"){
queueText("The thing hanging from the rearview mirror was pretty cute, but I had to wonder what sort of guy would decorate a sports car with it.");
} else {
if (lastTrigger == "trSunset"){
queueText("Such a beautiful sunset graced such a beautiful escape!");
} else {
if (lastTrigger == "trPlane"){
queueText("We should've just taken a plane instead of stealing that car. No fun in that, though, I suppose.");
startEndingCountdown();
} else {
if (lastTrigger == "trWatch"){
queueText("It was a bit beaten up, but my watch was the only thing I had that used to remind me of him when I couldn't see him.");
} else {
if (lastTrigger == "trFoot"){
queueText("He was going almost as fast as that thing would go. And that car we snagged could go pretty fast.");
startEndingCountdown();
} else {
if (lastTrigger == "trRoad"){
queueText("Looking ahead, it was as if I could touch the happiness that we had only dreamt of!");
} else {
if (lastTrigger == "trBirds"){
queueText("To fly high like a bird! Free to be together. It was such a beautiful dream.");
} else {
queueText("ERROR");
};
};
};
};
};
};
};
};
} else {
if (ending == "hitchhiker"){
if (lastTrigger == "trSmile"){
queueText("What was that look about? Was he trying to hit on me?");
} else {
if (lastTrigger == "trSonic"){
queueText("What guy would choose that thing as decoration for his car, anyway?");
} else {
if (lastTrigger == "trSunset"){
queueText("The sun was about to set. My stomach turned. I didn't want to be in the dark with that guy.");
startEndingCountdown();
} else {
if (lastTrigger == "trPlane"){
queueText("I wished I had the money to have taken a plane.");
startEndingCountdown();
} else {
if (lastTrigger == "trWatch"){
queueText("It was so late, and yet we seemed to be nowhere at all.");
} else {
if (lastTrigger == "trFoot"){
queueText("He was going really fast. Was he trying to impress me?");
} else {
if (lastTrigger == "trRoad"){
queueText("There was no one in the road, but us. The guy did give me a ride, but I was still uncomfortable being alone with him.");
startEndingCountdown();
} else {
if (lastTrigger == "trBirds"){
queueText("Why is it that they can soar so high like that, together as a family? Why just them?");
startEndingCountdown();
} else {
queueText("ERROR");
};
};
};
};
};
};
};
};
} else {
queueText("ERROR: NO ENDING");
};
};
};
};
};
} else {
queueText("No text here yet!");
};
};
};
};
if (!triggers.some(function (_arg1, _arg2:int, _arg3:Array):Boolean{
if ((((_arg1.name == "trRadio")) || ((_arg1.name == "trPlane")))){
return (false);
};
return (true);
})){
startEndingCountdown(60);
};
}
public function volumeEnvelope(_arg1:SoundChannel, _arg2:Number, _arg3:Number):void{
volumeEnvelopeSounds.push(_arg1);
volumeEnvelopeVolumes[_arg1] = _arg2;
volumeEnvelopeSpeeds[_arg1] = _arg3;
}
public function startGame(_arg1:Event):void{
if (currentScene.name == "Game"){
disableInteractions = false;
queueText("The wind was hitting my face. My hair whipped behind me.");
disableInteractionsTill(textDisableTime);
};
}
public function followMouse(_arg1:MouseEvent):void{
if (_arg1.buttonDown){
mouseCoordinates = new Point(_arg1.stageX, _arg1.stageY);
if (!disableInteractions){
slideTo(_arg1.stageX, _arg1.stageY);
};
} else {
mouseCoordinates = null;
};
}
public function startGameFirst(_arg1:MouseEvent){
gotoAndPlay(1, "Game");
removeEventListener(MouseEvent.MOUSE_UP, startGameFirst);
}
public function writeText(_arg1:String):void{
textBox.text = _arg1;
}
public function frameLoop(_arg1:Event):void{
var _local2:Point;
var _local3:int;
var _local4:Point;
var _local5:SoundChannel;
var _local6:Number;
var _local7:SoundTransform;
if (mouseCoordinates){
if (!disableInteractions){
slideTo(mouseCoordinates.x, mouseCoordinates.y);
};
};
if (easing.x <= moveSpeed){
scene.x = Quadratic.easeOut(easing.x, positionStart.x, positionChange.x, moveSpeed);
easing.x++;
};
if (easing.y <= moveSpeed){
scene.y = Quadratic.easeOut(easing.y, positionStart.y, positionChange.y, moveSpeed);
easing.y++;
};
if (!disableInteractions){
_local3 = (triggers.length - 1);
while (_local3 >= 0) {
if (triggers[_local3].hitTestPoint(centerPoint.x, centerPoint.y)){
if (!triggerCount[triggers[_local3]]){
triggerCount[triggers[_local3]] = 0;
};
triggerCount[triggers[_local3]] = (triggerCount[triggers[_local3]] + 1);
if (triggerCount[triggers[_local3]] == triggerTime){
_local4 = triggers[_local3].parent.localToGlobal(new Point(triggers[_local3].x, triggers[_local3].y));
slideTo(_local4.x, _local4.y);
disableInteractionsTill(textDisableTime);
triggerNarration(triggers[_local3]);
tunnelVision.visible = true;
tunnelVision.gotoAndPlay(1);
triggerCount = new Dictionary();
};
} else {
if (triggerCount[triggers[_local3]]){
delete triggerCount[triggers[_local3]];
};
};
_local3--;
};
};
if (narrationQueue.length > 0){
if (narrationWait < 1){
writeText(narrationQueue[0]);
narrationWait = ((textTime + (textTimeWord * narrationQueue[0].split(/[ ]/).length)) + textTimeInt);
narrationQueue.shift();
};
};
if (narrationWait == textTimeInt){
writeText("");
};
if (narrationWait > 0){
narrationWait--;
};
if (enableInteractionsWait > 0){
enableInteractionsWait--;
if (enableInteractionsWait == 0){
disableInteractions = false;
};
};
if (volumeEnvelopeSounds.length){
_local3 = (volumeEnvelopeSounds.length - 1);
while (_local3 >= 0) {
_local5 = volumeEnvelopeSounds[_local3];
_local6 = _local5.soundTransform.volume;
if (_local6 < volumeEnvelopeVolumes[_local5]){
_local6 = (_local6 + volumeEnvelopeSpeeds[_local5]);
if (_local6 >= volumeEnvelopeVolumes[_local5]){
_local6 = volumeEnvelopeVolumes[_local5];
delete volumeEnvelopeVolumes[_local5];
delete volumeEnvelopeSpeeds[_local5];
volumeEnvelopeSounds.splice(volumeEnvelopeSounds.indexOf(_local5), 1);
};
} else {
_local6 = (_local6 - volumeEnvelopeSpeeds[_local5]);
if (_local6 <= volumeEnvelopeVolumes[_local5]){
_local6 = volumeEnvelopeVolumes[_local5];
delete volumeEnvelopeVolumes[_local5];
delete volumeEnvelopeSpeeds[_local5];
volumeEnvelopeSounds.splice(volumeEnvelopeSounds.indexOf(_local5), 1);
};
};
_local6 = ((Math.round((_local6 * 100)) / 100) + 0.001);
_local7 = new SoundTransform(_local6);
_local5.soundTransform = _local7;
_local3--;
};
};
if (endingCountdown > 0){
endingCountdown--;
if (endingCountdown <= 0){
startEnding();
};
};
if (((((((fadeOut) && ((narrationQueue.length <= 0)))) && ((narrationWait <= 0)))) && ((endingCountdown <= 0)))){
removeChild(fadeOut);
fadeOut = undefined;
removeEventListener(MouseEvent.MOUSE_DOWN, followMouse);
removeEventListener(MouseEvent.MOUSE_UP, followMouse);
removeEventListener(MouseEvent.MOUSE_MOVE, followMouse);
removeEventListener(Event.ENTER_FRAME, frameLoop);
gotoAndStop(1, "Ending");
};
}
public function queueText(_arg1:String):void{
narrationQueue.push(_arg1);
}
public function disableInteractionsTill(_arg1:int):void{
disableInteractions = true;
enableInteractionsWait = (enableInteractionsWait + _arg1);
}
}
}//package perspective3_fla
Section 7
//Plane_19 (perspective3_fla.Plane_19)
package perspective3_fla {
import flash.display.*;
public dynamic class Plane_19 extends MovieClip {
public var planeGraphic:MovieClip;
public function Plane_19(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package perspective3_fla
Section 8
//Plane1_20 (perspective3_fla.Plane1_20)
package perspective3_fla {
import flash.display.*;
public dynamic class Plane1_20 extends MovieClip {
public var trPlane:MovieClip;
}
}//package perspective3_fla
Section 9
//Scene_11 (perspective3_fla.Scene_11)
package perspective3_fla {
import flash.display.*;
public dynamic class Scene_11 extends MovieClip {
public var trBirds:MovieClip;
public var sign1:MovieClip;
public var trRadio:MovieClip;
public var trFoot:MovieClip;
public var trSmile:MovieClip;
public var palm1:MovieClip;
public var palm3:MovieClip;
public var trSonic:MovieClip;
public var plane:MovieClip;
public var palm2:MovieClip;
public var palm4:MovieClip;
public var trSunset:MovieClip;
public var trRoad:MovieClip;
public var trWatch:MovieClip;
}
}//package perspective3_fla
Section 10
//Sunset_12 (perspective3_fla.Sunset_12)
package perspective3_fla {
import flash.display.*;
public dynamic class Sunset_12 extends MovieClip {
public function Sunset_12(){
addFrameScript(2399, frame2400);
}
function frame2400(){
stop();
}
}
}//package perspective3_fla
Section 11
//TunnelVision_28 (perspective3_fla.TunnelVision_28)
package perspective3_fla {
import flash.display.*;
public dynamic class TunnelVision_28 extends MovieClip {
public function TunnelVision_28(){
addFrameScript(48, frame49);
}
function frame49(){
stop();
visible = false;
}
}
}//package perspective3_fla
Section 12
//EndingBrother (EndingBrother)
package {
import flash.display.*;
public dynamic class EndingBrother extends MovieClip {
}
}//package
Section 13
//EndingEloping (EndingEloping)
package {
import flash.display.*;
public dynamic class EndingEloping extends MovieClip {
}
}//package
Section 14
//EndingHitchhiker (EndingHitchhiker)
package {
import flash.display.*;
public dynamic class EndingHitchhiker extends MovieClip {
}
}//package
Section 15
//EndingMarryMe (EndingMarryMe)
package {
import flash.display.*;
public dynamic class EndingMarryMe extends MovieClip {
}
}//package
Section 16
//EndingProstitute (EndingProstitute)
package {
import flash.display.*;
public dynamic class EndingProstitute extends MovieClip {
}
}//package
Section 17
//EngineSound (EngineSound)
package {
import flash.media.*;
public dynamic class EngineSound extends Sound {
}
}//package
Section 18
//FadeToBlack (FadeToBlack)
package {
import flash.display.*;
public dynamic class FadeToBlack extends MovieClip {
public function FadeToBlack(){
addFrameScript(39, frame40);
}
function frame40(){
stop();
}
}
}//package
Section 19
//MochiBot (MochiBot)
package {
import flash.display.*;
import flash.net.*;
import flash.system.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
var _local3:MochiBot;
var _local4:String;
var _local5:URLVariables;
var _local6:String;
var _local7:URLRequest;
var _local8:Loader;
if (Security.sandboxType == "localWithFile"){
return (null);
};
_local3 = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
_local4 = "http://core.mochibot.com/my/core.swf";
_local5 = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
_local6 = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
_local7 = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
_local8 = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package
Section 20
//Music (Music)
package {
import flash.media.*;
public dynamic class Music extends Sound {
}
}//package