Section 1
//cellDoorSprite_23 (FarTooFarce_fla.cellDoorSprite_23)
package FarTooFarce_fla {
import flash.display.*;
public dynamic class cellDoorSprite_23 extends MovieClip {
public function cellDoorSprite_23(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package FarTooFarce_fla
Section 2
//MainTimeline (FarTooFarce_fla.MainTimeline)
package FarTooFarce_fla {
import flash.events.*;
import fl.transitions.easing.*;
import fl.transitions.*;
import flash.utils.*;
import flash.media.*;
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.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 const STAGE_WIDTH = 1000;
public const STAGE_HEIGHT = 750;
public const gravity:int = 1;
public const max_speed:int = 8;
public const walkSpeed:int = 4;
public const thrustSpeed:int = 4;
public const jumpSpeed:int = 9;
public const friction:Number = 0.98;
public var cell11_1:MovieClip;
public var floor7_4:MovieClip;
public var cell7_2:MovieClip;
public var floor6_7:MovieClip;
public var cell6_1:MovieClip;
public var floor5_10:MovieClip;
public var floor5_2:MovieClip;
public var floor4_5:MovieClip;
public var roof4_2:MovieClip;
public var wall8_1:MovieClip;
public var floor7_5:MovieClip;
public var floor6_4:MovieClip;
public var cell6_2:MovieClip;
public var floor5_11:MovieClip;
public var floor5_3:MovieClip;
public var floor4_2:MovieClip;
public var roof4_3:MovieClip;
public var pic2:MovieClip;
public var floor11_1:MovieClip;
public var wall8_2:MovieClip;
public var door7_1:MovieClip;
public var floor7_2:MovieClip;
public var floor6_5:MovieClip;
public var floor4_3:MovieClip;
public var pic3:MovieClip;
public var floor11_2:MovieClip;
public var floor7_3:MovieClip;
public var floor6_2:MovieClip;
public var floor5_1:MovieClip;
public var pic4:MovieClip;
public var wall11_4:MovieClip;
public var floor11_3:MovieClip;
public var floor6_3:MovieClip;
public var onion1:MovieClip;
public var floor4_1:MovieClip;
public var pic5:MovieClip;
public var btnIntroStart:ContinueButtonSprite;
public var floor11_4:MovieClip;
public var wall11_3:MovieClip;
public var floor7_1:MovieClip;
public var wall5_1:MovieClip;
public var wall11_2:MovieClip;
public var floor11_5:MovieClip;
public var floor6_1:MovieClip;
public var wall5_2:MovieClip;
public var wall4_1:MovieClip;
public var floor11_6:MovieClip;
public var wall11_1:MovieClip;
public var wall7_1:MovieClip;
public var wall5_3:MovieClip;
public var wall4_2:MovieClip;
public var loader_mc:movie_mc;
public var loaded_txt:TextField;
public var wall7_2:MovieClip;
public var wall6_1:MovieClip;
public var wall5_4:MovieClip;
public var wall4_3:MovieClip;
public var floor8_6:MovieClip;
public var wall7_3:MovieClip;
public var wall6_2:MovieClip;
public var wall4_4:MovieClip;
public var introLogo:MovieClip;
public var floor8_7:MovieClip;
public var wall7_4:MovieClip;
public var onion7:MovieClip;
public var wall6_3:MovieClip;
public var floor5_8:MovieClip;
public var floor8_4:MovieClip;
public var onion8:MovieClip;
public var wall7_5:MovieClip;
public var wall6_4:MovieClip;
public var floor5_9:MovieClip;
public var floor8_5:MovieClip;
public var wall7_6:MovieClip;
public var floor7_8:MovieClip;
public var wall6_5:MovieClip;
public var floor8_2:MovieClip;
public var floor7_9:MovieClip;
public var wall7_7:MovieClip;
public var wall6_6:MovieClip;
public var floor6_8:MovieClip;
public var floor5_6:MovieClip;
public var key11:MovieClip;
public var breakaway11_1:MovieClip;
public var cell11_2:MovieClip;
public var floor8_3:MovieClip;
public var floor6_10:MovieClip;
public var floor6_9:MovieClip;
public var floor5_7:MovieClip;
public var cell5_1:MovieClip;
public var cell4_0:MovieClip;
public var floor7_6:MovieClip;
public var floor6_11:MovieClip;
public var floor5_4:MovieClip;
public var cell5_2:MovieClip;
public var cell4_1:MovieClip;
public var floor8_1:MovieClip;
public var floor7_7:MovieClip;
public var cell7_1:MovieClip;
public var floor6_6:MovieClip;
public var floor5_5:MovieClip;
public var cell4_2:MovieClip;
public var floor4_4:MovieClip;
public var roof4_1:MovieClip;
public var myChannel:SoundChannel;
public var soundEnabled:Boolean;
public var leftKeyPressed:Boolean;
public var rightKeyPressed:Boolean;
public var upKeyPressed:Boolean;
public var downKeyPressed:Boolean;
public var spaceKeyPressed:Boolean;
public var xThrust:Number;
public var upPressAllowed:Boolean;
public var jumpCharges:int;
public var rechargeCounter:int;
public var stepDelayCounter:int;
public var cloudCounter:int;
public var specialActivated:Boolean;
public var onionTurboActive:Boolean;
public var specialReuseTimer:int;
public var airFrameCounter:int;
public var airRecord:Number;
public var xEntryCoord:int;
public var yEntryCoord:int;
public var breakaway11_1_avail:Boolean;
public var arrObjects:Array;
public var arrItems:Array;
public var arrPrisoners:Array;
public var gameLocked:Boolean;
public var fallSpeed:int;
public var airborn:Boolean;
public var lift_direction;
public var soundOption;
public var bowelPressure;
public var continueButton;
public var ui_info;
public var hero;
public var keyset;
public var cloud1;
public var cloud2;
public var cloud3;
public var cloud4;
public var cloud5;
public var cloud6;
public var cloud7;
public var cloud8;
public var cloud9;
public var comicprogress:int;
public var myTween;
public function MainTimeline(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 10, frame11);
}
public function onProgress(_arg1:ProgressEvent):void{
var _local2:Number = _arg1.target.bytesLoaded;
var _local3:Number = _arg1.target.bytesTotal;
var _local4:Number = (_local2 / _local3);
loader_mc.scaleX = _local4;
loaded_txt.text = (("Loading... " + Math.round((_local4 * 100))) + "%");
}
public function onComplete(_arg1:Event):void{
loaded_txt.text = "Finished loading.";
btnIntroStart.alpha = 1;
btnIntroStart.addEventListener(MouseEvent.CLICK, startGame);
}
public function startGame(_arg1:MouseEvent):void{
gotoAndStop(2);
}
public function proceed1(_arg1:MouseEvent):void{
if (comicprogress < 5){
comicprogress++;
if (comicprogress == 2){
myTween = new Tween(pic2, "alpha", None.easeNone, 0, 1, 6);
} else {
if (comicprogress == 3){
myTween = new Tween(pic3, "alpha", None.easeNone, 0, 1, 6);
} else {
if (comicprogress == 4){
myTween = new Tween(pic4, "alpha", None.easeNone, 0, 1, 6);
} else {
if (comicprogress == 5){
myTween = new Tween(pic5, "alpha", None.easeNone, 0, 1, 6);
};
};
};
};
} else {
continueButton.removeEventListener(MouseEvent.CLICK, proceed1);
gotoAndStop(3);
};
}
public function toggleSound(_arg1:MouseEvent):void{
if (soundEnabled == true){
soundEnabled = false;
soundOption.gotoAndStop(2);
} else {
soundEnabled = true;
soundOption.gotoAndStop(1);
};
}
public function key_down(_arg1:KeyboardEvent){
if (_arg1.keyCode == 13){
spaceKeyPressed = true;
};
if (_arg1.keyCode == 37){
leftKeyPressed = true;
};
if (_arg1.keyCode == 38){
upKeyPressed = true;
};
if (_arg1.keyCode == 39){
rightKeyPressed = true;
};
if (_arg1.keyCode == 40){
downKeyPressed = true;
};
if (_arg1.keyCode == 32){
spaceKeyPressed = true;
};
}
public function key_up(_arg1:KeyboardEvent){
if (_arg1.keyCode == 13){
spaceKeyPressed = false;
};
if (_arg1.keyCode == 37){
leftKeyPressed = false;
};
if (_arg1.keyCode == 38){
upKeyPressed = false;
upPressAllowed = true;
};
if (_arg1.keyCode == 39){
rightKeyPressed = false;
};
if (_arg1.keyCode == 32){
spaceKeyPressed = false;
};
if (_arg1.keyCode == 40){
downKeyPressed = false;
};
}
public function main(_arg1:Event){
if (gameLocked == false){
rechargeCounter++;
if (specialReuseTimer > 0){
specialReuseTimer--;
};
if (rechargeCounter > 25){
rechargeCounter = 0;
if (jumpCharges < 5){
jumpCharges++;
bowelPressure.gotoAndStop((jumpCharges + 1));
onionTurboActive = false;
};
};
update_hero();
update_clouds();
if (airborn == true){
airFrameCounter++;
};
};
}
public function update_hero():void{
if ((((((leftKeyPressed == true)) && (!((hero.currentFrame == 4))))) && ((gameLocked == false)))){
hero.scaleX = 1;
if (airborn == true){
hero.gotoAndStop(3);
} else {
hero.x = (hero.x - walkSpeed);
stepDelayCounter++;
if (stepDelayCounter > 3){
stepDelayCounter = 0;
if (hero.currentFrame == 1){
hero.gotoAndStop(2);
} else {
hero.gotoAndStop(1);
};
};
};
};
if ((((((rightKeyPressed == true)) && (!((hero.currentFrame == 4))))) && ((gameLocked == false)))){
hero.scaleX = -1;
if (airborn == true){
hero.gotoAndStop(3);
} else {
hero.x = (hero.x + walkSpeed);
stepDelayCounter++;
if (stepDelayCounter > 3){
stepDelayCounter = 0;
if (hero.currentFrame == 1){
hero.gotoAndStop(2);
} else {
hero.gotoAndStop(1);
};
};
};
};
if ((((upKeyPressed == true)) && (!((hero.currentFrame == 4))))){
if ((((((upPressAllowed == true)) && ((jumpCharges > 0)))) && ((gameLocked == false)))){
upPressAllowed = false;
specialActivated = false;
jumpCharges--;
if (jumpCharges == 0){
rechargeCounter = -20;
};
bowelPressure.gotoAndStop((jumpCharges + 1));
hero.gotoAndStop(3);
if (onionTurboActive == true){
jumpCharges = 0;
rechargeCounter = -40;
bowelPressure.gotoAndStop(1);
fallSpeed = (-(jumpSpeed) * 5);
airborn = true;
playSound("bigone");
} else {
fallSpeed = -(jumpSpeed);
airborn = true;
playSound("regular");
};
if (hero.scaleX < 0){
xThrust = (xThrust + thrustSpeed);
} else {
xThrust = (xThrust - thrustSpeed);
};
cloudCounter = 1;
};
};
if ((((((((downKeyPressed == true)) && (!((hero.currentFrame == 4))))) && ((airborn == false)))) && ((gameLocked == false)))){
checkCells();
};
xThrust = (xThrust * friction);
hero.x = (hero.x + xThrust);
if ((((((spaceKeyPressed == true)) && ((airborn == false)))) && ((gameLocked == false)))){
if (jumpCharges == 5){
specialActivated = true;
cloudCounter = 1;
rechargeCounter = -80;
jumpCharges = 0;
bowelPressure.gotoAndStop(1);
playSound("bigone");
hero.gotoAndStop(4);
};
};
fallSpeed = (fallSpeed + gravity);
hero.y = (hero.y + fallSpeed);
var _local1:* = 0;
while (_local1 < arrObjects.length) {
CheckCollision(hero, arrObjects[_local1]);
_local1++;
};
CheckScreenBorder(hero);
}
public function update_clouds():void{
var _local2:*;
var _local3:*;
var _local1:* = 1;
while (_local1 < 10) {
if (_local1 == 1){
_local2 = cloud1;
};
if (_local1 == 2){
_local2 = cloud2;
};
if (_local1 == 3){
_local2 = cloud3;
};
if (_local1 == 4){
_local2 = cloud4;
};
if (_local1 == 5){
_local2 = cloud5;
};
if (_local1 == 6){
_local2 = cloud6;
};
if (_local1 == 7){
_local2 = cloud7;
};
if (_local1 == 8){
_local2 = cloud8;
};
if (_local1 == 9){
_local2 = cloud9;
};
if (_local2.alpha > 0){
if (_local2.alpha < 0.1){
_local2.alpha = 0;
};
if (specialActivated == true){
if (hero.scaleX < 0){
_local2.x = (_local2.x - 2);
} else {
_local2.x = (_local2.x + 2);
};
_local2.scaleX = (_local2.scaleX + 0.03);
_local2.scaleY = (_local2.scaleY + 0.02);
_local2.alpha = (_local2.alpha - 0.01);
if (currentFrame == 11){
if (breakaway11_1.currentFrame == 1){
if (cloud1.hitTestObject(breakaway11_1)){
breakaway11_1.gotoAndPlay(1);
breakaway11_1_avail = false;
};
};
};
} else {
_local2.alpha = (_local2.alpha - 0.1);
_local2.scaleX = (_local2.scaleX + 0.1);
_local2.scaleY = (_local2.scaleY + 0.1);
};
};
_local1++;
};
if (cloudCounter < 10){
if (cloudCounter == 1){
_local3 = cloud1;
};
if (cloudCounter == 2){
_local3 = cloud2;
};
if (cloudCounter == 3){
_local3 = cloud3;
};
if (cloudCounter == 4){
_local3 = cloud4;
};
if (cloudCounter == 5){
_local3 = cloud5;
};
if (cloudCounter == 6){
_local3 = cloud6;
};
if (cloudCounter == 7){
_local3 = cloud7;
};
if (cloudCounter == 8){
_local3 = cloud8;
};
if (cloudCounter == 9){
_local3 = cloud9;
};
if (specialActivated == false){
_local3.y = hero.y;
if (hero.scaleX < 0){
_local3.x = (hero.x - 10);
} else {
_local3.x = (hero.x + 10);
};
} else {
_local3.y = (hero.y + 20);
if (hero.scaleX < 0){
_local3.x = (hero.x - 22);
} else {
_local3.x = (hero.x + 22);
};
};
_local3.scaleX = 0.1;
_local3.scaleY = 0.1;
_local3.alpha = 0.9;
if (specialActivated == true){
if (onionTurboActive == true){
specialReuseTimer = 200;
_local3.gotoAndStop(8);
stepDelayCounter++;
if (stepDelayCounter > 6){
stepDelayCounter = 0;
cloudCounter++;
};
} else {
_local3.gotoAndStop(7);
stepDelayCounter++;
if (stepDelayCounter > 6){
stepDelayCounter = 0;
cloudCounter++;
};
};
} else {
_local3.gotoAndStop(Math.ceil((Math.random() * 6)));
cloudCounter++;
};
};
}
public function playSound(_arg1:String):void{
var _local2:*;
var _local3:Number;
if (soundEnabled == true){
if (_arg1 == "regular"){
_local3 = Math.ceil((Math.random() * 7));
if (_local3 == 1){
_local2 = new snd1();
myChannel = _local2.play(230);
} else {
if (_local3 == 2){
_local2 = new snd2();
myChannel = _local2.play(240);
} else {
if (_local3 == 3){
_local2 = new snd3();
myChannel = _local2.play(420);
} else {
if (_local3 == 4){
_local2 = new snd4();
myChannel = _local2.play(240);
} else {
if (_local3 == 5){
_local2 = new snd5();
myChannel = _local2.play(240);
} else {
if (_local3 == 6){
_local2 = new snd6();
myChannel = _local2.play(280);
} else {
if (_local3 == 7){
_local2 = new snd7();
myChannel = _local2.play(230);
};
};
};
};
};
};
};
} else {
_local2 = new snd_big();
myChannel = _local2.play(230);
};
};
}
public function CheckCollision(_arg1, _arg2):void{
var _local3:*;
var _local4:*;
var _local5:Number;
var _local6:Number;
if (((_arg1) && (_arg2))){
_local3 = (_arg1.x - _arg2.x);
_local4 = (_arg1.y - _arg2.y);
if (Math.abs(_local3) < ((_arg1.width * 0.5) + (_arg2.width * 0.5))){
if (Math.abs(_local4) < ((_arg1.height * 0.5) + (_arg2.height * 0.5))){
_local5 = (((_arg1.width * 0.5) + (_arg2.width * 0.5)) - Math.abs(_local3));
_local6 = (((_arg1.height * 0.5) + (_arg2.height * 0.5)) - Math.abs(_local4));
if (_local6 < _local5){
if (_local4 < 0){
_arg1.y = (_arg1.y - _local6);
groundHit(_arg2);
} else {
_arg1.y = (_arg1.y + _local6);
roofHit(_arg2);
};
} else {
if (_local3 < 0){
_arg1.x = (_arg1.x - _local5);
wallHit(_arg2, true);
} else {
_arg1.x = (_arg1.x + _local5);
wallHit(_arg2, false);
};
};
};
};
};
}
public function CheckItemHit(_arg1):void{
var _local2:String;
if (hero.hitTestObject(_arg1)){
_local2 = _arg1.name;
if (specialReuseTimer == 0){
if ((((_local2.substring(0, 5) == "onion")) && ((onionTurboActive == false)))){
jumpCharges = 5;
bowelPressure.gotoAndPlay(7);
onionTurboActive = true;
} else {
if (_local2.substring(0, 3) == "key"){
keyset.keyR.alpha = 1;
};
};
};
};
}
public function CheckScreenBorder(_arg1):void{
if ((_arg1.x - (_arg1.width * 0.5)) < 0){
_arg1.x = (_arg1.width * 0.5);
wallHit(stage, false);
zone(4);
} else {
if ((_arg1.x + (_arg1.width * 0.5)) > STAGE_WIDTH){
_arg1.x = (STAGE_WIDTH - (_arg1.width * 0.5));
wallHit(stage, true);
zone(2);
};
};
if ((_arg1.y - (_arg1.height * 0.5)) < 0){
_arg1.y = (_arg1.height * 0.5);
roofHit(stage);
zone(1);
} else {
if ((_arg1.y + (_arg1.height * 0.5)) > STAGE_HEIGHT){
_arg1.y = (STAGE_HEIGHT - (_arg1.height * 0.5));
groundHit(stage);
zone(3);
};
};
}
public function groundHit(_arg1):void{
var _local2:Number;
fallSpeed = 0;
xThrust = 0;
airborn = false;
if (airFrameCounter > 0){
_local2 = (Math.round(((airFrameCounter / 24) * 10)) / 10);
if (_local2 > airRecord){
airRecord = _local2;
ui_info.text2.text = (("Record air\ntime: " + String(_local2)) + " s.");
};
airFrameCounter = 0;
};
if (hero.currentFrame > 2){
if ((((hero.currentFrame == 4)) && ((jumpCharges == 0)))){
} else {
hero.gotoAndStop(2);
};
};
}
public function roofHit(_arg1):void{
if (fallSpeed < 0){
fallSpeed = 0;
};
}
public function wallHit(_arg1, _arg2:Boolean):void{
}
public function zone(_arg1:int):void{
removeEventListener(Event.ENTER_FRAME, main);
gameLocked = true;
if (currentFrame == 4){
cleanUp_4();
hero.y = 100;
gotoAndStop(5);
} else {
if (currentFrame == 5){
if (_arg1 == 1){
cleanUp_5();
hero.y = 651.75;
gotoAndStop(4);
} else {
cleanUp_5();
hero.y = 100;
gotoAndStop(6);
};
} else {
if (currentFrame == 6){
if (_arg1 == 1){
cleanUp_6();
hero.y = 651.75;
gotoAndStop(5);
} else {
cleanUp_6();
hero.y = 100;
gotoAndStop(7);
};
} else {
if (currentFrame == 7){
if (_arg1 == 1){
cleanUp_7();
hero.y = 651.75;
gotoAndStop(6);
} else {
if (_arg1 == 4){
cleanUp_7();
hero.x = 900;
gotoAndStop(11);
} else {
cleanUp_7();
hero.y = 100;
gotoAndStop(8);
};
};
} else {
if (currentFrame == 8){
if (_arg1 == 1){
cleanUp_8();
hero.y = 651.75;
gotoAndStop(7);
};
} else {
if (currentFrame == 11){
if (_arg1 == 2){
cleanUp_11();
hero.x = 100;
gotoAndStop(7);
};
};
};
};
};
};
};
}
public function checkCells():void{
if (currentFrame == 4){
if (hero.hitTestObject(cell4_1)){
cell4_1.gotoAndStop(2);
arrPrisoners[1] = 1;
};
if (hero.hitTestObject(cell4_2)){
cell4_2.gotoAndStop(2);
arrPrisoners[2] = 1;
};
} else {
if (currentFrame == 5){
if (hero.hitTestObject(cell5_1)){
cell5_1.gotoAndStop(2);
arrPrisoners[3] = 1;
};
if (hero.hitTestObject(cell5_2)){
cell5_2.gotoAndStop(2);
arrPrisoners[4] = 1;
};
} else {
if (currentFrame == 6){
if (hero.hitTestObject(cell6_1)){
cell6_1.gotoAndStop(2);
arrPrisoners[5] = 1;
};
if (hero.hitTestObject(cell6_2)){
cell6_2.gotoAndStop(2);
arrPrisoners[6] = 1;
};
CheckItemHit(onion1);
} else {
if (currentFrame == 7){
if (hero.hitTestObject(cell7_1)){
cell7_1.gotoAndStop(2);
arrPrisoners[7] = 1;
};
if (hero.hitTestObject(cell7_2)){
cell7_2.gotoAndStop(2);
arrPrisoners[8] = 1;
};
CheckItemHit(onion7);
if (((hero.hitTestObject(door7_1)) && ((keyset.keyR.alpha == 1)))){
keyset.keyR.alpha = 0;
door7_1.alpha = 0;
door7_1.x = -50;
};
} else {
if (currentFrame == 8){
CheckItemHit(onion8);
} else {
if (currentFrame == 11){
if (hero.hitTestObject(cell11_1)){
cell11_1.gotoAndStop(2);
arrPrisoners[9] = 1;
};
if (hero.hitTestObject(cell11_2)){
cell11_2.gotoAndStop(2);
arrPrisoners[10] = 1;
};
CheckItemHit(key11);
};
};
};
};
};
};
var _local1:int;
var _local2:* = 0;
while (_local2 < arrPrisoners.length) {
if (arrPrisoners[_local2] == 1){
_local1++;
};
_local2++;
};
ui_info.text1.text = (("Prisoners\nfreed: " + _local1) + "/60");
}
public function proceed2(_arg1:MouseEvent):void{
continueButton.removeEventListener(MouseEvent.CLICK, proceed2);
gotoAndStop(4);
removeChild(continueButton);
hero.alpha = 1;
hero.x = 900;
hero.y = 477.75;
soundOption.alpha = 1;
bowelPressure.alpha = 1;
ui_info.alpha = 1;
keyset.alpha = 1;
}
public function cleanUp_4():void{
arrObjects = [];
}
public function cleanUp_5():void{
arrObjects = [];
}
public function cleanUp_6():void{
arrObjects = [];
arrItems = [];
}
public function cleanUp_7():void{
arrObjects = [];
arrItems = [];
}
public function cleanUp_8():void{
arrObjects = [];
arrItems = [];
}
public function cleanUp_11():void{
arrObjects = [];
arrItems = [];
}
function frame1(){
stop();
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
this.loaderInfo.addEventListener(Event.COMPLETE, onComplete);
}
function frame2(){
soundEnabled = true;
stop();
leftKeyPressed = false;
rightKeyPressed = false;
upKeyPressed = false;
downKeyPressed = false;
spaceKeyPressed = false;
xThrust = 0;
upPressAllowed = true;
jumpCharges = 5;
rechargeCounter = 0;
stepDelayCounter = 0;
cloudCounter = 1;
specialActivated = false;
onionTurboActive = false;
specialReuseTimer = 0;
airFrameCounter = 0;
airRecord = 0;
xEntryCoord = 100;
yEntryCoord = 100;
breakaway11_1_avail = true;
arrObjects = [];
arrItems = [];
arrPrisoners = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
gameLocked = true;
fallSpeed = 0;
airborn = true;
lift_direction = -3;
soundOption = new speakerSprite();
bowelPressure = new bowelPressureSprite();
continueButton = new ContinueButtonSprite();
ui_info = new UiIndicators();
hero = new HeroSprite();
keyset = new keyset1();
hero.x = 0;
hero.y = 0;
hero.alpha = 0;
addChild(hero);
keyset.x = 220;
keyset.y = 15.75;
keyset.alpha = 0;
ui_info.x = 620;
ui_info.y = 15.75;
ui_info.alpha = 0;
soundOption.x = 15.5;
soundOption.y = 15.75;
soundOption.alpha = 0;
bowelPressure.x = 350;
bowelPressure.y = 16.65;
bowelPressure.alpha = 0;
continueButton.x = 923;
continueButton.y = 717;
addChild(soundOption);
addChild(bowelPressure);
addChild(continueButton);
addChild(ui_info);
addChild(keyset);
keyset.keyR.alpha = 0;
keyset.keyY.alpha = 0;
keyset.keyB.alpha = 0;
keyset.keyG.alpha = 0;
keyset.keyM.alpha = 0;
keyset.keyP.alpha = 0;
keyset.keyW.alpha = 0;
keyset.keyC.alpha = 0;
cloud1 = new cloudSprite();
cloud1.alpha = 0;
addChild(cloud1);
cloud2 = new cloudSprite();
cloud2.alpha = 0;
addChild(cloud2);
cloud3 = new cloudSprite();
cloud3.alpha = 0;
addChild(cloud3);
cloud4 = new cloudSprite();
cloud4.alpha = 0;
addChild(cloud4);
cloud5 = new cloudSprite();
cloud5.alpha = 0;
addChild(cloud5);
cloud6 = new cloudSprite();
cloud6.alpha = 0;
addChild(cloud6);
cloud7 = new cloudSprite();
cloud7.alpha = 0;
addChild(cloud7);
cloud8 = new cloudSprite();
cloud8.alpha = 0;
addChild(cloud8);
cloud9 = new cloudSprite();
cloud9.alpha = 0;
addChild(cloud9);
comicprogress = 1;
continueButton.addEventListener(MouseEvent.CLICK, proceed1);
soundOption.addEventListener(MouseEvent.CLICK, toggleSound);
stage.addEventListener(KeyboardEvent.KEY_DOWN, key_down);
stage.addEventListener(KeyboardEvent.KEY_UP, key_up);
}
function frame3(){
continueButton.addEventListener(MouseEvent.CLICK, proceed2);
}
function frame4(){
arrObjects.push(floor4_1);
arrObjects.push(floor4_2);
arrObjects.push(floor4_3);
arrObjects.push(floor4_4);
arrObjects.push(floor4_5);
arrObjects.push(roof4_1);
arrObjects.push(roof4_2);
arrObjects.push(roof4_3);
arrObjects.push(wall4_1);
arrObjects.push(wall4_2);
arrObjects.push(wall4_3);
arrObjects.push(wall4_4);
cell4_0.gotoAndStop(3);
if (arrPrisoners[1] == 1){
cell4_1.gotoAndStop(3);
};
if (arrPrisoners[2] == 1){
cell4_2.gotoAndStop(3);
};
setChildIndex(hero, (numChildren - 1));
setChildIndex(cloud1, (numChildren - 1));
setChildIndex(cloud2, (numChildren - 1));
setChildIndex(cloud3, (numChildren - 1));
setChildIndex(cloud4, (numChildren - 1));
setChildIndex(cloud5, (numChildren - 1));
setChildIndex(cloud6, (numChildren - 1));
setChildIndex(cloud7, (numChildren - 1));
setChildIndex(cloud8, (numChildren - 1));
setChildIndex(cloud9, (numChildren - 1));
setChildIndex(soundOption, (numChildren - 1));
setChildIndex(bowelPressure, (numChildren - 1));
setChildIndex(ui_info, (numChildren - 1));
setChildIndex(keyset, (numChildren - 1));
gameLocked = false;
addEventListener(Event.ENTER_FRAME, main);
}
function frame5(){
arrObjects.push(floor5_1);
arrObjects.push(floor5_2);
arrObjects.push(floor5_3);
arrObjects.push(floor5_4);
arrObjects.push(floor5_5);
arrObjects.push(floor5_6);
arrObjects.push(floor5_7);
arrObjects.push(floor5_8);
arrObjects.push(floor5_9);
arrObjects.push(floor5_10);
arrObjects.push(floor5_11);
arrObjects.push(wall5_1);
arrObjects.push(wall5_2);
arrObjects.push(wall5_3);
arrObjects.push(wall5_4);
if (arrPrisoners[3] == 1){
cell5_1.gotoAndStop(3);
};
if (arrPrisoners[4] == 1){
cell5_2.gotoAndStop(3);
};
setChildIndex(hero, (numChildren - 1));
setChildIndex(cloud1, (numChildren - 1));
setChildIndex(cloud2, (numChildren - 1));
setChildIndex(cloud3, (numChildren - 1));
setChildIndex(cloud4, (numChildren - 1));
setChildIndex(cloud5, (numChildren - 1));
setChildIndex(cloud6, (numChildren - 1));
setChildIndex(cloud7, (numChildren - 1));
setChildIndex(cloud8, (numChildren - 1));
setChildIndex(cloud9, (numChildren - 1));
setChildIndex(soundOption, (numChildren - 1));
setChildIndex(bowelPressure, (numChildren - 1));
setChildIndex(ui_info, (numChildren - 1));
setChildIndex(keyset, (numChildren - 1));
xEntryCoord = hero.x;
yEntryCoord = hero.y;
gameLocked = false;
addEventListener(Event.ENTER_FRAME, main);
}
function frame6(){
arrObjects.push(floor6_1);
arrObjects.push(floor6_2);
arrObjects.push(floor6_3);
arrObjects.push(floor6_4);
arrObjects.push(floor6_5);
arrObjects.push(floor6_6);
arrObjects.push(floor6_7);
arrObjects.push(floor6_8);
arrObjects.push(floor6_9);
arrObjects.push(floor6_10);
arrObjects.push(floor6_11);
arrObjects.push(wall6_1);
arrObjects.push(wall6_2);
arrObjects.push(wall6_3);
arrObjects.push(wall6_4);
arrObjects.push(wall6_5);
arrObjects.push(wall6_6);
arrItems.push(onion1);
if (arrPrisoners[5] == 1){
cell6_1.gotoAndStop(3);
};
if (arrPrisoners[6] == 1){
cell6_2.gotoAndStop(3);
};
setChildIndex(hero, (numChildren - 1));
setChildIndex(cloud1, (numChildren - 1));
setChildIndex(cloud2, (numChildren - 1));
setChildIndex(cloud3, (numChildren - 1));
setChildIndex(cloud4, (numChildren - 1));
setChildIndex(cloud5, (numChildren - 1));
setChildIndex(cloud6, (numChildren - 1));
setChildIndex(cloud7, (numChildren - 1));
setChildIndex(cloud8, (numChildren - 1));
setChildIndex(cloud9, (numChildren - 1));
setChildIndex(soundOption, (numChildren - 1));
setChildIndex(bowelPressure, (numChildren - 1));
setChildIndex(ui_info, (numChildren - 1));
setChildIndex(keyset, (numChildren - 1));
xEntryCoord = hero.x;
yEntryCoord = hero.y;
gameLocked = false;
addEventListener(Event.ENTER_FRAME, main);
}
function frame7(){
arrObjects.push(floor7_1);
arrObjects.push(floor7_2);
arrObjects.push(floor7_3);
arrObjects.push(floor7_4);
arrObjects.push(floor7_5);
arrObjects.push(floor7_6);
arrObjects.push(floor7_7);
arrObjects.push(floor7_8);
arrObjects.push(floor7_9);
arrObjects.push(wall7_1);
arrObjects.push(wall7_2);
arrObjects.push(wall7_3);
arrObjects.push(wall7_4);
arrObjects.push(wall7_5);
arrObjects.push(wall7_6);
arrObjects.push(wall7_7);
arrObjects.push(door7_1);
arrItems.push(onion7);
arrItems.push(door7_1);
if (arrPrisoners[7] == 1){
cell7_1.gotoAndStop(3);
};
if (arrPrisoners[8] == 1){
cell7_2.gotoAndStop(3);
};
setChildIndex(hero, (numChildren - 1));
setChildIndex(cloud1, (numChildren - 1));
setChildIndex(cloud2, (numChildren - 1));
setChildIndex(cloud3, (numChildren - 1));
setChildIndex(cloud4, (numChildren - 1));
setChildIndex(cloud5, (numChildren - 1));
setChildIndex(cloud6, (numChildren - 1));
setChildIndex(cloud7, (numChildren - 1));
setChildIndex(cloud8, (numChildren - 1));
setChildIndex(cloud9, (numChildren - 1));
setChildIndex(soundOption, (numChildren - 1));
setChildIndex(bowelPressure, (numChildren - 1));
setChildIndex(ui_info, (numChildren - 1));
setChildIndex(keyset, (numChildren - 1));
xEntryCoord = hero.x;
yEntryCoord = hero.y;
gameLocked = false;
addEventListener(Event.ENTER_FRAME, main);
}
function frame8(){
arrObjects.push(floor8_1);
arrObjects.push(floor8_2);
arrObjects.push(floor8_3);
arrObjects.push(floor8_4);
arrObjects.push(floor8_5);
arrObjects.push(floor8_6);
arrObjects.push(floor8_7);
arrObjects.push(wall8_1);
arrObjects.push(wall8_2);
arrItems.push(onion8);
setChildIndex(hero, (numChildren - 1));
setChildIndex(cloud1, (numChildren - 1));
setChildIndex(cloud2, (numChildren - 1));
setChildIndex(cloud3, (numChildren - 1));
setChildIndex(cloud4, (numChildren - 1));
setChildIndex(cloud5, (numChildren - 1));
setChildIndex(cloud6, (numChildren - 1));
setChildIndex(cloud7, (numChildren - 1));
setChildIndex(cloud8, (numChildren - 1));
setChildIndex(cloud9, (numChildren - 1));
setChildIndex(soundOption, (numChildren - 1));
setChildIndex(bowelPressure, (numChildren - 1));
setChildIndex(ui_info, (numChildren - 1));
setChildIndex(keyset, (numChildren - 1));
xEntryCoord = hero.x;
yEntryCoord = hero.y;
gameLocked = false;
addEventListener(Event.ENTER_FRAME, main);
}
function frame11(){
arrObjects.push(floor11_1);
arrObjects.push(floor11_2);
arrObjects.push(floor11_3);
arrObjects.push(floor11_4);
arrObjects.push(floor11_5);
arrObjects.push(floor11_6);
arrObjects.push(wall11_1);
arrObjects.push(wall11_2);
arrObjects.push(wall11_3);
arrObjects.push(wall11_4);
if (breakaway11_1_avail == true){
arrObjects.push(breakaway11_1);
arrItems.push(breakaway11_1);
} else {
removeChild(breakaway11_1);
};
arrItems.push(key11);
if (arrPrisoners[9] == 1){
cell11_1.gotoAndStop(3);
};
if (arrPrisoners[10] == 1){
cell11_2.gotoAndStop(3);
};
setChildIndex(hero, (numChildren - 1));
setChildIndex(cloud1, (numChildren - 1));
setChildIndex(cloud2, (numChildren - 1));
setChildIndex(cloud3, (numChildren - 1));
setChildIndex(cloud4, (numChildren - 1));
setChildIndex(cloud5, (numChildren - 1));
setChildIndex(cloud6, (numChildren - 1));
setChildIndex(cloud7, (numChildren - 1));
setChildIndex(cloud8, (numChildren - 1));
setChildIndex(cloud9, (numChildren - 1));
setChildIndex(soundOption, (numChildren - 1));
setChildIndex(bowelPressure, (numChildren - 1));
setChildIndex(ui_info, (numChildren - 1));
setChildIndex(keyset, (numChildren - 1));
xEntryCoord = hero.x;
yEntryCoord = hero.y;
gameLocked = false;
addEventListener(Event.ENTER_FRAME, main);
}
}
}//package FarTooFarce_fla
Section 3
//wall_breakaway_32 (FarTooFarce_fla.wall_breakaway_32)
package FarTooFarce_fla {
import flash.display.*;
public dynamic class wall_breakaway_32 extends MovieClip {
public function wall_breakaway_32(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
stop();
this.alpha = 0;
this.x = -50;
}
}
}//package FarTooFarce_fla
Section 4
//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 5
//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 6
//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 7
//bowelPressureSprite (bowelPressureSprite)
package {
import flash.display.*;
public dynamic class bowelPressureSprite extends MovieClip {
public function bowelPressureSprite(){
addFrameScript(5, frame6, 9, frame10);
}
function frame6(){
stop();
}
function frame10(){
gotoAndPlay(7);
}
}
}//package
Section 8
//cloudSprite (cloudSprite)
package {
import flash.display.*;
public dynamic class cloudSprite extends MovieClip {
public function cloudSprite(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 9
//ContinueButtonSprite (ContinueButtonSprite)
package {
import flash.display.*;
public dynamic class ContinueButtonSprite extends MovieClip {
}
}//package
Section 10
//guardSprite (guardSprite)
package {
import flash.display.*;
public dynamic class guardSprite extends MovieClip {
public function guardSprite(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 11
//HeroSprite (HeroSprite)
package {
import flash.display.*;
public dynamic class HeroSprite extends MovieClip {
public function HeroSprite(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 12
//introLogo (introLogo)
package {
import flash.display.*;
public dynamic class introLogo extends MovieClip {
}
}//package
Section 13
//keyset1 (keyset1)
package {
import flash.display.*;
public dynamic class keyset1 extends MovieClip {
public var keyP:MovieClip;
public var keyB:MovieClip;
public var keyC:MovieClip;
public var keyR:MovieClip;
public var keyG:MovieClip;
public var keyW:MovieClip;
public var keyY:MovieClip;
public var keyM:MovieClip;
}
}//package
Section 14
//movie_mc (movie_mc)
package {
import flash.display.*;
public dynamic class movie_mc extends MovieClip {
}
}//package
Section 15
//snd_big (snd_big)
package {
import flash.media.*;
public dynamic class snd_big extends Sound {
}
}//package
Section 16
//snd1 (snd1)
package {
import flash.media.*;
public dynamic class snd1 extends Sound {
}
}//package
Section 17
//snd2 (snd2)
package {
import flash.media.*;
public dynamic class snd2 extends Sound {
}
}//package
Section 18
//snd3 (snd3)
package {
import flash.media.*;
public dynamic class snd3 extends Sound {
}
}//package
Section 19
//snd4 (snd4)
package {
import flash.media.*;
public dynamic class snd4 extends Sound {
}
}//package
Section 20
//snd5 (snd5)
package {
import flash.media.*;
public dynamic class snd5 extends Sound {
}
}//package
Section 21
//snd6 (snd6)
package {
import flash.media.*;
public dynamic class snd6 extends Sound {
}
}//package
Section 22
//snd7 (snd7)
package {
import flash.media.*;
public dynamic class snd7 extends Sound {
}
}//package
Section 23
//speakerSprite (speakerSprite)
package {
import flash.display.*;
public dynamic class speakerSprite extends MovieClip {
public function speakerSprite(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 24
//UiIndicators (UiIndicators)
package {
import flash.display.*;
import flash.text.*;
public dynamic class UiIndicators extends MovieClip {
public var text1:TextField;
public var text2:TextField;
public var text3:TextField;
}
}//package