Section 1
//Build (com.freecloud.Build)
package com.freecloud {
import flash.display.*;
import flash.events.*;
import mochi.*;
import CPMStar.*;
import flash.text.*;
import flash.utils.*;
public class Build extends MovieClip {
const NumberOfChapters:int = 3;
var GameStarted:Boolean;// = false
public var Debug:Boolean;// = false
var sDomainTest:String;// = ""
var iStatusBarWidth:int;// = 300
public var JoinMailingList:Boolean;// = false
public var LoadChapterMenu:Boolean;// = false
public var LeaderBoardMochi:Boolean;// = false
public var aryGameURL:Array;
public var SiteLockDomains:String;// = ""
public var Bundle:Boolean;// = false
var spStatusBox:Sprite;
var txtLoading:TextField;
private var CurrentChapter:int;
public var AutoJumpToNextChapter:Boolean;// = false
public var CPMStarSubPoolID:int;// = 0
public var LogFile:Boolean;// = false
public var CPMStarPoolID:int;// = 0
public var SponsorLogoDelay:int;// = 500
var spStatusBar:Sprite;
var MajorVersion:int;// = 8
public var SponsorLogoX:int;// = 400
public var SponsorLogoY:int;// = 300
public var RemoteServer:Boolean;// = true
public var CPMStarAds:Boolean;// = false
var PlayButtonDelay:int;// = 5
private var mcCPMStar:MovieClip;
var iStatusBarHeight:int;// = 16
public var TimedGame:Boolean;// = true
public var MochiAds:Boolean;// = false
var Caller:DanObject;
private var CPMStarAd:DisplayObject;
public var aryExternalSWFURL:Array;
public var LeaveComment:Boolean;// = false
public var AutoStartGameAfterPreloader:Boolean;// = true
var Main:MovieClip;
var timPlayButtonDelay:Timer;
var Client:String;
private var mcPlay:symPlay;
public function Build(_arg1:DisplayObject){
var pMain = _arg1;
MajorVersion = 8;
MochiAds = false;
CPMStarAds = false;
CPMStarPoolID = 0;
CPMStarSubPoolID = 0;
SiteLockDomains = "";
AutoJumpToNextChapter = false;
aryGameURL = new Array();
aryExternalSWFURL = new Array();
LoadChapterMenu = false;
LogFile = false;
LeaderBoardMochi = false;
RemoteServer = true;
JoinMailingList = false;
LeaveComment = false;
SponsorLogoDelay = 500;
SponsorLogoX = 400;
SponsorLogoY = 300;
Debug = false;
Bundle = false;
TimedGame = true;
AutoStartGameAfterPreloader = true;
iStatusBarWidth = 300;
iStatusBarHeight = 16;
sDomainTest = "";
GameStarted = false;
PlayButtonDelay = 5;
timPlayButtonDelay = new Timer(1000, 0);
mcPlay = new symPlay();
super();
trace(("Build pMain=" + pMain));
Main = MovieClip(pMain);
timPlayButtonDelay.addEventListener(TimerEvent.TIMER, AdjustPlayButtonDelay);
timPlayButtonDelay.start();
Client = "BND";
aryGameURL.push("");
aryExternalSWFURL.push("");
switch (Client){
case "TPG":
Debug = true;
MochiAds = true;
SiteLockDomains = "tippingpointgame.com";
AutoJumpToNextChapter = true;
aryGameURL.push("TippingPoint1.asp");
aryGameURL.push("TippingPoint2.asp");
aryGameURL.push("TippingPoint3.asp");
aryGameURL.push("TippingPoint4.asp");
LoadChapterMenu = true;
LogFile = true;
LeaderBoardMochi = true;
RemoteServer = false;
JoinMailingList = true;
LeaveComment = true;
break;
case "BND":
Bundle = true;
CPMStarAds = true;
CPMStarPoolID = 1239;
CPMStarSubPoolID = 10;
AutoStartGameAfterPreloader = false;
SponsorLogoDelay = 4800;
aryGameURL.push("TippingPoint1.asp");
aryGameURL.push("TippingPoint2.asp");
aryGameURL.push("TippingPoint3.asp");
aryGameURL.push("TippingPoint4.asp");
aryExternalSWFURL.push("http://static.bubblebox.com/swf/tippingpoint/tipping-point.swf");
aryExternalSWFURL.push("http://static.bubblebox.com/swf/tippingpoint/tipping-point-2.swf");
aryExternalSWFURL.push("http://static.bubblebox.com/swf/tippingpoint/tipping-point-3.swf");
AutoJumpToNextChapter = true;
LoadChapterMenu = true;
LeaderBoardMochi = true;
break;
case "TST":
SponsorLogoDelay = 4800;
SiteLockDomains = "tippingpointgame.com";
AutoJumpToNextChapter = true;
aryGameURL.push("1060.htm");
aryGameURL.push("1061.htm");
aryGameURL.push("1062.htm");
LoadChapterMenu = true;
LeaderBoardMochi = true;
break;
case "FGL":
SiteLockDomains = "flashgamelicense.com";
LeaderBoardMochi = true;
break;
case "BBX":
SponsorLogoDelay = 4800;
SiteLockDomains = "bubblebox.com";
AutoJumpToNextChapter = true;
aryGameURL.push("1060.htm");
aryGameURL.push("1061.htm");
aryGameURL.push("1062.htm");
LoadChapterMenu = true;
LeaderBoardMochi = true;
break;
case "RN":
LeaderBoardMochi = true;
break;
};
try {
sDomainTest = Main.root.loaderInfo.url;
sDomainTest = sDomainTest.toLowerCase();
} catch(error:Error) {
trace(("sDomainTest CATCH error=" + error));
};
trace(("sDomainTest=" + sDomainTest));
if (sDomainTest.indexOf("file:///c|/") >= 0){
MochiAds = false;
};
}
public function LeaderBoardSubmitTime(_arg1:DanObject, _arg2:DanObject, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
var _local7:String;
var _local8:Number;
_local7 = "";
Caller = _arg1;
if (LeaderBoardMochi){
_local8 = ((((_arg4 * 3600) + (_arg5 * 60)) + _arg6) * 1000);
_local7 = MochiIDByChapter(_arg3);
if (_local7 != ""){
MochiScores.showLeaderboard({boardID:_local7, clip:_arg2, score:_local8, res:"400x350", onClose:CloseLeaderBoard});
};
};
}
function MochiIDByChapter(_arg1:int):String{
var _local2:String;
switch (_arg1){
case 1:
_local2 = "369f369e5cb164c4";
break;
case 2:
_local2 = "296d5ef17e3792e3";
break;
case 3:
_local2 = "9dcb79cea607d37d";
break;
case 4:
_local2 = "4888ca6e202138db";
break;
};
return (_local2);
}
function checkLoadProgress(_arg1:Event=null):void{
var _local2:int;
var _local3:int;
var _local4:int;
_local2 = Math.floor((Main.root.loaderInfo.bytesTotal / 1000));
_local3 = Math.floor((Main.root.loaderInfo.bytesLoaded / 1000));
_local4 = ((_local3 / _local2) * 100);
spStatusBar.graphics.clear();
spStatusBar.graphics.beginFill(0xFF0000);
spStatusBar.graphics.drawRect(0, 0, (iStatusBarWidth * (_local4 / 100)), iStatusBarHeight);
txtLoading.htmlText = (("<P ALIGN='center'><FONT FACE='ARIAL' COLOR='#FFFFFF' SIZE='12'>" + _local4) + "% Loaded...</FONT>");
if (_local2 == _local3){
PreloaderEnd();
};
}
public function Preloader(_arg1:int):void{
var _local2:Boolean;
trace(("Preloader pChapter=" + _arg1));
_local2 = true;
CurrentChapter = _arg1;
if (MochiAds){
_local2 = false;
switch (_arg1){
case 1:
MochiAd.showPreGameAd({clip:Main.root, id:"1272468cc1a6a202", res:"800x600", ad_finished:StartGame});
break;
case 2:
MochiAd.showPreGameAd({clip:Main.root, id:"cbf2243a1c7380c9", res:"800x600", ad_finished:StartGame});
break;
case 3:
MochiAd.showPreGameAd({clip:Main.root, id:"fe6696183c357afc", res:"800x600", ad_finished:StartGame});
break;
case 4:
MochiAd.showPreGameAd({clip:Main.root, id:"430bd231460191c9", res:"800x600", ad_finished:StartGame});
break;
};
};
if (((CPMStarAds) && (!((_arg1 == 0))))){
mcCPMStar = new MovieClip();
mcCPMStar.x = (400 - 150);
mcCPMStar.y = (300 - 125);
Main.addChild(mcCPMStar);
CPMStarAd = AdLoader.LoadAd(CPMStarPoolID, CPMStarSubPoolID);
mcCPMStar.addChild(CPMStarAd);
};
if (_local2){
PreloaderStart();
};
}
function CloseLeaderBoard():void{
trace("CloseLeaderBoard");
Caller.Command("LeaderBoardClosed");
}
function PreloaderEnd():void{
trace("PreloaderEnd");
removeEventListener(Event.ENTER_FRAME, checkLoadProgress);
Main.removeChild(spStatusBox);
spStatusBox = null;
Main.removeChild(spStatusBar);
spStatusBar = null;
Main.removeChild(txtLoading);
txtLoading = null;
if (((AutoStartGameAfterPreloader) || ((CurrentChapter == 0)))){
StartGame();
} else {
mcPlay.x = 400;
mcPlay.y = 465;
mcPlay.buttonMode = true;
mcPlay.addEventListener(MouseEvent.CLICK, ClickPlay);
if (PlayButtonDelay != 0){
mcPlay.alpha = 0;
mcPlay.AddTarget(("FadeUpPlayDelay," + String(PlayButtonDelay)), true);
};
mcPlay.AddTarget("FadeUpPlay,1,linear,,,,,,,1");
Main.addChild(mcPlay);
trace("Show play button");
};
}
function ClickPlay(_arg1:MouseEvent):void{
trace("ClickPlay");
mcPlay.buttonMode = false;
mcPlay.removeEventListener(MouseEvent.CLICK, ClickPlay);
Main.removeChild(mcPlay);
mcPlay = null;
if (CPMStarAds){
mcCPMStar.removeChild(CPMStarAd);
CPMStarAd = null;
Main.removeChild(mcCPMStar);
mcCPMStar = null;
};
StartGame();
}
public function LeaderBoardConnect(_arg1:int):void{
var _local2:String;
_local2 = "";
if (LeaderBoardMochi){
switch (_arg1){
case 1:
_local2 = "1272468cc1a6a202";
break;
case 2:
_local2 = "cbf2243a1c7380c9";
break;
case 3:
_local2 = "fe6696183c357afc";
break;
case 4:
_local2 = "430bd231460191c9";
break;
};
if (_local2 != ""){
MochiServices.connect(_local2, Main.root);
};
};
}
public function ValidSite():Boolean{
var bReturn:Boolean;
var sCurrentURL:String;
var aryDomains:Array;
var sDomain:String;
var idx:int;
bReturn = false;
sCurrentURL = "";
if (SiteLockDomains == ""){
bReturn = true;
} else {
try {
sCurrentURL = Main.root.loaderInfo.url;
} catch(error:Error) {
trace(("ValidSite CATCH error=" + error));
bReturn = true;
};
aryDomains = SiteLockDomains.split("|");
idx = 0;
while (idx < aryDomains.length) {
sDomain = aryDomains[idx];
if (CompareSite(sDomain, sCurrentURL)){
bReturn = true;
};
idx = (idx + 1);
};
};
return (bReturn);
}
function StartGame():void{
trace("StartGame");
Main.gotoAndStop(3);
}
public function LeaderBoardView(_arg1:DanObject, _arg2:DanObject, _arg3:int):void{
var _local4:String;
_local4 = "";
Caller = _arg1;
if (LeaderBoardMochi){
_local4 = MochiIDByChapter(_arg3);
if (_local4 != ""){
MochiScores.showLeaderboard({boardID:_local4, clip:_arg2, res:"400x350", onClose:CloseLeaderBoard});
};
};
}
function PreloaderStart():void{
trace("PreloaderStart");
spStatusBox = new Sprite();
spStatusBar = new Sprite();
txtLoading = new TextField();
spStatusBox.x = (400 - int((iStatusBarWidth / 2)));
spStatusBox.y = (300 - int((iStatusBarHeight / 2)));
if (CPMStarAds){
spStatusBox.y = (spStatusBox.y + 160);
};
spStatusBox.graphics.lineStyle(1, 0xFFFFFF);
spStatusBox.graphics.moveTo(-1, -1);
spStatusBox.graphics.lineTo((iStatusBarWidth + 1), -1);
spStatusBox.graphics.lineTo((iStatusBarWidth + 1), (iStatusBarHeight + 1));
spStatusBox.graphics.lineTo(-1, (iStatusBarHeight + 1));
spStatusBox.graphics.lineTo(-1, -1);
Main.addChild(spStatusBox);
spStatusBar.x = spStatusBox.x;
spStatusBar.y = spStatusBox.y;
Main.addChild(spStatusBar);
txtLoading.width = iStatusBarWidth;
txtLoading.height = iStatusBarHeight;
txtLoading.x = spStatusBox.x;
txtLoading.y = (spStatusBox.y - 2);
txtLoading.htmlText = "";
txtLoading.selectable = false;
Main.addChild(txtLoading);
addEventListener(Event.ENTER_FRAME, checkLoadProgress);
}
function CompareSite(_arg1:String, _arg2:String):Boolean{
var _local3:Boolean;
var _local4:String;
var _local5:Array;
var _local6:Array;
_local3 = false;
if (_arg2.toLocaleLowerCase().indexOf("data/creatives/games/tippingpoint/deploy") >= 0){
_local3 = true;
} else {
_local5 = _arg2.split("://");
_local6 = _local5[1].split("/");
_local4 = _local6[0];
_local4 = _local4.toLocaleLowerCase();
if (_local4.indexOf(_arg1.toLocaleLowerCase()) >= 0){
_local3 = true;
};
if (_local4.indexOf((_arg1.toLocaleLowerCase() + ".")) >= 0){
_local3 = false;
};
};
return (_local3);
}
function AdjustPlayButtonDelay(_arg1:TimerEvent):void{
trace("AdjustPlayButtonDelay");
PlayButtonDelay--;
if (PlayButtonDelay == 0){
timPlayButtonDelay.stop();
timPlayButtonDelay.removeEventListener(TimerEvent.TIMER, AdjustPlayButtonDelay);
};
}
}
}//package com.freecloud
Section 2
//Bundle (com.freecloud.Bundle)
package com.freecloud {
public dynamic class Bundle extends Chapter {
public function Bundle(){
trace("Bundle");
CurrentChapter = 0;
ChapterVersion = 0;
ToBeContinuedScreen = 1;
TimedGameScreen = 0;
TitleScreen = 0;
Command("ShowFirstScreen");
LogFile(("Chapter " + CurrentChapter));
}
override function CreateScreen(_arg1:int):DanScreen{
var _local2:DanScreen;
trace(((this + ": CreateScreen ") + _arg1));
_local2 = null;
switch (_arg1){
case 0:
_local2 = new clsTitleScreen(this, 1, 0.6);
aryFadeSpeed[_arg1] = 0.1;
break;
case 1:
_local2 = new clsToBeContinued(this, mcInventory, new symTitleScreenBackground());
aryFadeSpeed[_arg1] = 0.032;
break;
};
return (_local2);
}
override public function Command(_arg1:String, _arg2:String="", _arg3:String="", _arg4:String="", _arg5:String=""):String{
var _local6:String;
_local6 = "true";
_local6 = CommandGlobal(_arg1, _arg2, _arg3, _arg4, _arg5);
return (_local6);
}
}
}//package com.freecloud
Section 3
//BundleClass (com.freecloud.BundleClass)
package com.freecloud {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
import flash.utils.*;
import flash.system.*;
import flash.external.*;
import flash.filters.*;
public class BundleClass extends MovieClip {
public var SWFLoader:Loader;// = null
private var txtTest:TextField;
var HTTPPostLoader:URLLoader;// = null
public function BundleClass(){
var _local1:Build;
var _local2:int;
SWFLoader = null;
txtTest = new TextField();
HTTPPostLoader = null;
super();
addFrameScript(0, frame1, 2, frame3);
Security.allowDomain("*");
trace(("Inside BundleClass this=" + this));
stop();
_local1 = new Build(this);
_local1.Preloader(0);
trace(("this.numChildren=" + this.numChildren));
_local2 = 1;
while (_local2 <= this.numChildren) {
trace(this.getChildAt((_local2 - 1)));
_local2++;
};
}
function onCompleteHandler(_arg1:Event){
trace("SWF LOAD COMPLETE =================================================================");
this.removeChild(SWFLoader);
this.addChild(_arg1.currentTarget.content);
}
public function BadDomain():void{
var _local1:TextField;
_local1 = new TextField();
_local1.width = 800;
_local1.height = 300;
_local1.x = 0;
_local1.y = 220;
_local1.multiline = true;
_local1.filters = [new DropShadowFilter(2, 25)];
_local1.htmlText = "<P ALIGN='center'><FONT FACE='ARIAL' COLOR='#FFFFFF' SIZE='20'>";
_local1.htmlText = (_local1.htmlText + "<a href='http://www.tippingpointgame.com' target='_blank'>Tipping Point cannot be played on this web site<br><br>Click here to play it at TippingPointGame.com now</a>");
_local1.htmlText = (_local1.htmlText + "</FONT>");
_local1.selectable = false;
addChild(_local1);
}
public function openWindowBundle(_arg1:String, _arg2:String="_blank"):void{
var bUseExternalInterface:Boolean;
var sCurrentURL:String;
var browserName:String;
var url = _arg1;
var window = _arg2;
bUseExternalInterface = true;
sCurrentURL = "";
try {
sCurrentURL = root.loaderInfo.url;
trace(("sCurrentURL=" + sCurrentURL));
} catch(error:Error) {
trace(("openWindowBundle: get current URL CATCH error=" + error));
};
if (sCurrentURL != ""){
if (sCurrentURL.toLocaleLowerCase().indexOf("newgrounds.com") >= 0){
bUseExternalInterface = false;
};
if (sCurrentURL.toLocaleLowerCase().indexOf("ungrounded.net") >= 0){
bUseExternalInterface = false;
};
};
if (((ExternalInterface.available) && (bUseExternalInterface))){
browserName = getBrowserNameBundle();
if (browserName == "Firefox"){
ExternalInterface.call("window.open", url, window, "");
} else {
if (browserName == "IE"){
ExternalInterface.call((("function setWMWindow() {window.open('" + url) + "');}"));
} else {
navigateToURL(new URLRequest(url), window);
};
};
} else {
navigateToURL(new URLRequest(url), window);
};
}
public function RandomNumber(_arg1:Number=0, _arg2:Number=1, _arg3:Boolean=false):Number{
var _local4:Number;
var _local5:Number;
_local4 = ((Math.random() * (_arg2 - _arg1)) + _arg1);
if (_arg3){
_local5 = (_local4 - int(_local4));
_local4 = int(_local4);
if (_local5 >= 0.5){
_local4++;
};
};
return (_local4);
}
public function RemoveFromList(_arg1:String, _arg2:String, _arg3:String):String{
var _local4:Array;
var _local5:int;
var _local6:String;
_local4 = _arg1.split(_arg3);
_local6 = "";
_local5 = 0;
while (_local5 < _local4.length) {
if (_local4[_local5] != _arg2){
_local6 = AddToList(_local6, _local4[_local5], _arg3, true);
};
_local5++;
};
return (_local6);
}
public function RandomInt(_arg1:int, _arg2:int):int{
return ((int((Math.random() * ((_arg2 - _arg1) + 1))) + _arg1));
}
public function ValidEmail(_arg1:String):Boolean{
var _local2:Array;
var _local3:Array;
var _local4:Boolean;
var _local5:String;
var _local6:String;
var _local7:String;
var _local8:String;
_local4 = true;
_local2 = _arg1.split("@");
if (_local2.length == 2){
_local5 = _local2[0];
_local6 = _local2[1];
if (_local5.length == 0){
_local4 = false;
};
_local3 = _local6.split(".");
if (_local3.length >= 2){
_local7 = _local3[0];
_local8 = _local3[1];
if (_local7.length == 0){
_local4 = false;
};
if (_local8.length == 0){
_local4 = false;
};
} else {
_local4 = false;
};
} else {
_local4 = false;
};
return (_local4);
}
public function LoadSWFBundle(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=true):void{
var _local4:String;
var _local5:URLRequest;
var _local6:LoaderContext;
trace(("LoadSWF: " + _local4));
_local4 = _arg1;
if (_arg2){
if (_local4.indexOf("?") < 0){
_local4 = (_local4 + "?");
} else {
_local4 = (_local4 + "&");
};
_local4 = (_local4 + "skiptitle=true");
};
trace(("Loading external SWF: URL=" + _local4));
while (this.numChildren > 0) {
this.removeChildAt((this.numChildren - 1));
};
_local5 = new URLRequest(_local4);
_local6 = new LoaderContext(false, ApplicationDomain.currentDomain, SecurityDomain.currentDomain);
SWFLoader = new Loader();
SWFLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
SWFLoader.load(_local5, _local6);
this.addChild(SWFLoader);
}
public function HTTPPost(_arg1:String, _arg2:URLVariables):void{
var myData:URLRequest;
var pURL = _arg1;
var pVariables = _arg2;
trace(((("HTTPPost: pURL=" + pURL) + " pVariables=") + pVariables));
myData = new URLRequest(pURL);
if (HTTPPostLoader == null){
HTTPPostLoader = new URLLoader();
};
myData.method = URLRequestMethod.POST;
myData.data = pVariables;
HTTPPostLoader.dataFormat = URLLoaderDataFormat.TEXT;
HTTPPostLoader.addEventListener(IOErrorEvent.IO_ERROR, HTTPPostError);
HTTPPostLoader.addEventListener(Event.COMPLETE, HTTPPostCompleteHandler);
try {
HTTPPostLoader.load(myData);
} catch(error:Error) {
trace(("HTTPPost CATCH error=" + error));
};
}
public function CurrentURL():String{
var sCurrentURL:String;
sCurrentURL = "";
try {
sCurrentURL = root.loaderInfo.url;
} catch(error:Error) {
trace(("error=" + error));
};
return (sCurrentURL);
}
function frame3(){
trace("FRAME 3 BUNDLE ===============================");
stop();
}
private function HTTPPostCompleteHandler(_arg1:Event):void{
trace(("HTTPPostCompleteHandler: HTTPPostLoader.data=" + HTTPPostLoader.data));
}
public function CodeForChapter(_arg1:int):String{
var _local2:String;
var _local3:String;
_local2 = "";
_local3 = GetFromList(ChapterCodes(), _arg1, "|");
if (_local3 != ""){
_local2 = GetFromList(_local3, 2, ",");
};
return (_local2);
}
function frame1(){
trace("FRAME 1 BUNDLE ===============================");
}
public function ChapterForCode(_arg1:String):int{
var _local2:int;
var _local3:String;
var _local4:Array;
var _local5:int;
_local2 = -1;
_local4 = ChapterCodes().split("|");
_local5 = 0;
while (_local5 < _local4.length) {
_local3 = _local4[_local5];
if (_arg1 == GetFromList(_local3, 2, ",")){
_local2 = int(GetFromList(_local3, 1, ","));
_local5 = 999;
};
_local5++;
};
return (_local2);
}
public function AddToList(_arg1:String, _arg2:String, _arg3:String, _arg4:Boolean):String{
var _local5:Boolean;
var _local6:String;
_local6 = _arg1;
_local5 = false;
if (!_arg4){
if (String(((_arg3 + _local6) + _arg3)).indexOf(((_arg3 + _arg2) + _arg3)) > -1){
_local5 = true;
};
};
if (!_local5){
if (_local6 != ""){
_local6 = (_local6 + _arg3);
};
_local6 = (_local6 + _arg2);
};
return (_local6);
}
private function HTTPPostError(_arg1:IOErrorEvent){
trace(("HTTPPostError error: " + _arg1));
}
public function Display(_arg1:String):void{
var _local2:TextField;
_local2 = new TextField();
_local2.x = 0;
_local2.y = 0;
_local2.width = 800;
_local2.height = 600;
_local2.multiline = true;
_local2.htmlText = (("<font face='arial' size='14' color='#FFFFFF'>" + _arg1) + "</font>");
addChild(_local2);
}
public function Hello():String{
return (((("Hello you have contacted bundle this.numChildren=" + String(this.numChildren)) + " child0=") + this.getChildAt(0)));
}
public function GetFromList(_arg1:String, _arg2:int, _arg3:String):String{
var _local4:Array;
var _local5:String;
_local4 = _arg1.split(_arg3);
_local5 = "";
if (_arg2 <= _local4.length){
_local5 = _local4[(_arg2 - 1)];
};
return (_local5);
}
public function ListSize(_arg1:String, _arg2:String):int{
var _local3:Array;
_local3 = _arg1.split(_arg2);
return (_local3.length);
}
public function ChapterCodes():String{
return ("1,JAPSYL|2,QLOKIT|3,FREEKL|4,LEEPIT");
}
public static function openWindow(_arg1:String, _arg2:String="_blank", _arg3:String=""):void{
var _local4:String;
if (ExternalInterface.available){
_local4 = getBrowserName();
if (_local4 == "Firefox"){
ExternalInterface.call("window.open", _arg1, _arg2, _arg3);
} else {
if (_local4 == "IE"){
ExternalInterface.call((("function setWMWindow() {window.open('" + _arg1) + "');}"));
} else {
navigateToURL(new URLRequest(_arg1), _arg2);
};
};
} else {
navigateToURL(new URLRequest(_arg1), _arg2);
};
}
private static function getBrowserName():String{
var _local1:String;
var _local2:String;
_local1 = "Undefined";
_local2 = ExternalInterface.call("function getBrowser(){return navigator.userAgent;}");
if (((!((_local2 == null))) && ((_local2.indexOf("Firefox") >= 0)))){
_local1 = "Firefox";
} else {
if (((!((_local2 == null))) && ((_local2.indexOf("Safari") >= 0)))){
_local1 = "Safari";
} else {
if (((!((_local2 == null))) && ((_local2.indexOf("MSIE") >= 0)))){
_local1 = "IE";
} else {
if (((!((_local2 == null))) && ((_local2.indexOf("Opera") >= 0)))){
_local1 = "Opera";
};
};
};
};
trace(("Browser name: " + _local1));
return (_local1);
}
private static function getBrowserNameBundle():String{
var _local1:String;
var _local2:String;
_local1 = "Undefined";
_local2 = ExternalInterface.call("function getBrowser(){return navigator.userAgent;}");
if (((!((_local2 == null))) && ((_local2.indexOf("Firefox") >= 0)))){
_local1 = "Firefox";
} else {
if (((!((_local2 == null))) && ((_local2.indexOf("Safari") >= 0)))){
_local1 = "Safari";
} else {
if (((!((_local2 == null))) && ((_local2.indexOf("MSIE") >= 0)))){
_local1 = "IE";
} else {
if (((!((_local2 == null))) && ((_local2.indexOf("Opera") >= 0)))){
_local1 = "Opera";
};
};
};
};
trace(("Browser name: " + _local1));
return (_local1);
}
}
}//package com.freecloud
Section 4
//Chapter (com.freecloud.Chapter)
package com.freecloud {
import flash.media.*;
import flash.events.*;
import flash.net.*;
import flash.utils.*;
import flash.display.*;
import flash.text.*;
import flash.filters.*;
import flash.external.*;
import flash.system.*;
public dynamic class Chapter extends DanObject {
private var iNewChapter:int;// = -1
public var FadeTimer:Timer;
private var mcToolbarBackground:symToolbarBackground;
private var timNextChapter:Timer;
private var EdgeRevealed:Boolean;// = false
private var txtDuration:TextField;
public var DurationSeconds:int;// = 0
public var ChapterNumberSAVE:String;
private var nTransition:Number;
public var mcInventory:clsInventory;
public var i:int;
private var txtToolbarPlayMoreGames:TextField;
private var mcSponsorLogo:MovieClip;// = null
public var timGameDuration:Timer;
private var mcToolbarEdge:symToolbarEdge;
private var hsPlayMoreGames:clsHotSpot;
public var TimedGameScreenShown:Boolean;// = false
public var DurationMinutes:int;// = 0
private var sChapterURL:String;
private var mcToolbarMute:symToolbarMute;
public var CurrentChapter:int;
public var TitleScreen:int;
private var hsWalkthrough:clsHotSpot;
private var txtToolbarWalkthrough:TextField;
private var mcToolbar:DanObject;
private var bFadeInProgress:Boolean;// = false
public var SWFLoader:Loader;// = null
public var BuildObject:Build;
private var timLogoPause:Timer;
public var ToBeContinuedScreen:int;
public var iCurrentScreen:int;// = -1
private var spBackground:Sprite;
public var TimedGameScreen:int;
var HTTPPostLoader:URLLoader;// = null
private var mcToolbarMask:DanObject;
private var sBBXSubID:String;// = "initialBBX"
public var TimedGame:Boolean;// = false
public var aryFadeSpeed:Array;
private var SoundMuted:Boolean;// = false
public var DurationHours:int;// = 0
private var TransitionSpeed:Number;// = 0.02
private var mcToolbarTray:symToolbarTray;
private var hsMute:clsHotSpot;
public var ChapterVersion:int;
private var iLastScreen:int;
public var aryScreens:Array;
public function Chapter(){
spBackground = new Sprite();
mcSponsorLogo = null;
aryScreens = new Array(20);
FadeTimer = new Timer(10, 0);
iCurrentScreen = -1;
iNewChapter = -1;
bFadeInProgress = false;
BuildObject = new Build(MovieClip(this));
mcInventory = new clsInventory();
TransitionSpeed = 0.02;
TimedGame = false;
aryFadeSpeed = new Array(12);
TimedGameScreenShown = false;
mcToolbar = new DanObject();
mcToolbarMask = new DanObject();
mcToolbarBackground = new symToolbarBackground();
mcToolbarTray = new symToolbarTray();
mcToolbarMute = new symToolbarMute();
hsMute = new clsHotSpot("0,0|26,0|26,18|0,18");
mcToolbarEdge = new symToolbarEdge();
txtToolbarWalkthrough = new TextField();
txtToolbarPlayMoreGames = new TextField();
hsWalkthrough = new clsHotSpot("0,0|84,0|84,18|0,18");
hsPlayMoreGames = new clsHotSpot("0,0|114,0|114,18|0,18");
txtDuration = new TextField();
SoundMuted = false;
EdgeRevealed = false;
timGameDuration = new Timer(1000, 0);
DurationHours = 0;
DurationMinutes = 0;
DurationSeconds = 0;
SWFLoader = null;
timNextChapter = new Timer(3000, 0);
timLogoPause = new Timer(250, 0);
sBBXSubID = "initialBBX";
HTTPPostLoader = null;
super();
trace("Chapter");
spBackground.graphics.beginFill(0);
spBackground.graphics.moveTo(0, 0);
spBackground.graphics.lineTo(800, 0);
spBackground.graphics.lineTo(800, 600);
spBackground.graphics.lineTo(0, 600);
spBackground.graphics.lineTo(0, 0);
spBackground.graphics.endFill();
spBackground.x = 0;
spBackground.y = 0;
addChild(spBackground);
timLogoPause.stop();
addEventListener(Event.ADDED_TO_STAGE, AddedToStage);
addEventListener(Event.REMOVED_FROM_STAGE, RemovedFromStage);
addEventListener(Event.ENTER_FRAME, UpdateLoop);
FadeTimer.delay = 33;
FadeTimer.start();
i = 1;
while (i <= 20) {
aryScreens.push(null);
i++;
};
txtDuration.x = 4;
txtDuration.y = 2;
txtDuration.width = 100;
txtDuration.height = 30;
txtDuration.filters = [new DropShadowFilter(3, 25)];
txtDuration.htmlText = "<P ALIGN='left'><FONT FACE='ARIAL' COLOR='#FFFFFF' SIZE='16'>0:00:00</FONT>";
txtDuration.selectable = false;
txtDuration.visible = false;
txtDuration.mouseEnabled = false;
addChild(txtDuration);
}
function ShowFirstScreen(_arg1:TimerEvent):void{
trace("ShowFirstScreen");
if (mcSponsorLogo != null){
removeChild(mcSponsorLogo);
mcSponsorLogo = null;
};
timLogoPause.stop();
timLogoPause.removeEventListener(TimerEvent.TIMER, ShowFirstScreen);
if (CurrentURL().toLowerCase().indexOf("skiptitle=true") >= 0){
Command("StartNormalGame");
} else {
NewScreen(TitleScreen);
};
}
public function RandomNumber(_arg1:Number=0, _arg2:Number=1, _arg3:Boolean=false):Number{
var _local4:Number;
var _local5:Number;
_local4 = ((Math.random() * (_arg2 - _arg1)) + _arg1);
if (_arg3){
_local5 = (_local4 - int(_local4));
_local4 = int(_local4);
if (_local5 >= 0.5){
_local4++;
};
};
return (_local4);
}
public function openWindowChapter(_arg1:String, _arg2:String="_blank"):void{
var _local3:BundleClass;
_local3 = null;
_local3 = GetBundleClass();
if (_local3 != null){
_local3.openWindowBundle(_arg1, _arg2);
} else {
openWindow(_arg1, _arg2);
};
}
public function RandomInt(_arg1:int, _arg2:int):int{
return ((int((Math.random() * ((_arg2 - _arg1) + 1))) + _arg1));
}
public function RemoveFromList(_arg1:String, _arg2:String, _arg3:String):String{
var _local4:Array;
var _local5:int;
var _local6:String;
_local4 = _arg1.split(_arg3);
_local6 = "";
_local5 = 0;
while (_local5 < _local4.length) {
if (_local4[_local5] != _arg2){
_local6 = AddToList(_local6, _local4[_local5], _arg3, true);
};
_local5++;
};
return (_local6);
}
function NewScreen(_arg1:int):void{
trace((("NewScreen = " + _arg1) + " ###################################################################"));
if (BuildObject.ValidSite()){
if (aryScreens[iLastScreen] != null){
aryScreens[iLastScreen].alpha = 0;
};
iLastScreen = iCurrentScreen;
iCurrentScreen = _arg1;
if (aryScreens[iLastScreen] != null){
aryScreens[iLastScreen].LeavingScreen();
aryScreens[iLastScreen].Pause();
};
if (iCurrentScreen != -1){
if (aryScreens[iCurrentScreen] == null){
aryScreens.splice(iCurrentScreen, 1, CreateScreen(iCurrentScreen));
} else {
aryScreens[iCurrentScreen].Resume();
};
if (aryScreens[iCurrentScreen] != null){
if (aryScreens[iCurrentScreen].Inventory != null){
aryScreens[iCurrentScreen].Inventory.Parent = aryScreens[iCurrentScreen];
aryScreens[iCurrentScreen].Inventory.Resume();
};
};
if (aryScreens[iCurrentScreen] != null){
trace(((("addChild iCurrentScreen=" + iCurrentScreen) + " aryScreens[iCurrentScreen]=") + aryScreens[iCurrentScreen]));
addChild(aryScreens[iCurrentScreen]);
if (TimedGame){
addChild(mcToolbar);
addChild(mcToolbarEdge);
if (EdgeRevealed){
addChild(txtDuration);
};
};
TransitionSpeed = aryFadeSpeed[iCurrentScreen];
aryScreens[iCurrentScreen].alpha = 0;
};
};
nTransition = 0;
if (iLastScreen != -1){
aryScreens[iLastScreen].alpha = 1;
};
bFadeInProgress = true;
FadeTimer.addEventListener(TimerEvent.TIMER, Fade);
Command("NewScreen", String(_arg1));
} else {
BadDomain();
};
this.Command("trace", ("NewScreen: TimedGameScreen=" + String(TimedGameScreen)));
this.Command("trace", ("NewScreen: CurrentChapter=" + String(CurrentChapter)));
this.Command("trace", ("NewScreen: ChapterVersion=" + String(ChapterVersion)));
this.Command("trace", ("NewScreen: ToBeContinuedScreen=" + String(ToBeContinuedScreen)));
this.Command("trace", ("NewScreen: TitleScreen=" + String(TitleScreen)));
}
function NextChapterCommand(_arg1:String, _arg2:String):String{
var _local3:String;
trace(((((((("NextChapterCommand pChapterNumber=" + _arg1) + " pOverride=") + _arg2) + " TimedGame=") + TimedGame) + " TimedGameScreenShown=") + TimedGameScreenShown));
this.Command("trace", ((("NextChapterCommand: pChapterNumber=" + _arg1) + " pOverride=") + _arg2));
if (TimedGame){
this.Command("trace", "NextChapterCommand: TimedGame=true");
};
if (TimedGameScreenShown){
this.Command("trace", "NextChapterCommand: TimedGameScreenShown=true");
};
_local3 = "true";
if (((TimedGame) && (!(TimedGameScreenShown)))){
this.Command("trace", ("NextChapterCommand: show timed game screen TimedGameScreen=" + String(TimedGameScreen)));
this.Command("trace", ("NextChapterCommand: TimedGameScreen=" + String(TimedGameScreen)));
this.Command("trace", ("NextChapterCommand: CurrentChapter=" + String(CurrentChapter)));
this.Command("trace", ("NextChapterCommand: ChapterVersion=" + String(ChapterVersion)));
this.Command("trace", ("NextChapterCommand: ToBeContinuedScreen=" + String(ToBeContinuedScreen)));
this.Command("trace", ("NextChapterCommand: TitleScreen=" + String(TitleScreen)));
ChapterNumberSAVE = _arg1;
NewScreen(TimedGameScreen);
} else {
this.Command("trace", ((("NextChapterCommand: call LoadChapter pChapterNumber=" + String(_arg1)) + " TimedGame=") + String(TimedGame)));
if (LoadChapter(_arg1, TimedGame)){
this.Command("trace", "NextChapterCommand: call NextScreenCommand -1");
_local3 = NextScreenCommand("-1", _arg2);
} else {
this.Command("trace", ("NextChapterCommand: show TBC screen ToBeContinuedScreen=" + String(ToBeContinuedScreen)));
NewScreen(ToBeContinuedScreen);
};
};
return (_local3);
}
function AddedToStage(_arg1:Event):void{
trace((this + "added to stage"));
stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDown);
}
function onCompleteHandler(_arg1:Event){
trace("SWF LOAD COMPLETE =================================================================");
BuildObject.Main.removeChild(SWFLoader);
BuildObject.Main.addChild(_arg1.currentTarget.content);
}
public function TargetCompletedHandler(_arg1:TargetCompletedEvent):void{
trace(("TargetCompleted: " + _arg1.TargetName));
if (_arg1.TargetName == "RevealTrayEdge"){
EdgeRevealed = true;
addChild(txtDuration);
};
if (_arg1.TargetName == "BBXfadedown"){
mcSponsorLogo.removeEventListener(TargetCompletedEvent.TARGET_NAME, TargetCompletedHandler);
removeChild(mcSponsorLogo);
mcSponsorLogo = null;
mcSponsorLogo = new symFGNLogo();
mcSponsorLogo.x = 400;
mcSponsorLogo.y = 300;
mcSponsorLogo.alpha = 0;
mcSponsorLogo.AddTarget("FGNfadeup,1.4,linear,,,,,,,1");
mcSponsorLogo.AddTarget("FGNfadedown,1,linear,,,,,,,0");
mcSponsorLogo.buttonMode = true;
mcSponsorLogo.addEventListener(MouseEvent.CLICK, ClickFGN);
addChild(mcSponsorLogo);
};
}
private function ToolbarFadeUpEvent(_arg1:MouseEvent):void{
ToolbarFadeUp(true);
}
public function LoadChapter(_arg1:String, _arg2:Boolean=false):Boolean{
var _local3:Boolean;
var _local4:String;
_local3 = false;
this.Command("trace", "LoadChapter: top");
if (((BuildObject.AutoJumpToNextChapter) && ((int(_arg1) <= BuildObject.NumberOfChapters)))){
this.Command("trace", "LoadChapter: autojump and chap <= 3");
if (BuildObject.Bundle){
this.Command("trace", "LoadChapter: LoadSWFChapter");
LoadSWFChapter(_arg1, true);
} else {
_local4 = BuildObject.aryGameURL[_arg1];
if (_local4.indexOf("?") < 0){
_local4 = (_local4 + "?");
} else {
_local4 = (_local4 + "&");
};
_local4 = (_local4 + "skiptitle=true");
sChapterURL = _local4;
NextChapterDelay();
trace(("redirecting to sURL=" + _local4));
};
_local3 = true;
};
return (_local3);
}
private function ToolbarFadeDownEvent(_arg1:MouseEvent):void{
ToolbarFadeDown(true);
}
function GotoNextChapter(_arg1:TimerEvent):void{
navigateToURL(new URLRequest(sChapterURL), "_top");
}
function CreateScreen(_arg1:int):DanScreen{
trace("CreateScreen needs to be overridden!!!! #######################################");
return (new DanScreen());
}
function Fade(_arg1:TimerEvent):void{
nTransition = (nTransition + TransitionSpeed);
if (iLastScreen != -1){
aryScreens[iLastScreen].alpha = (1 - nTransition);
};
if (iCurrentScreen != -1){
if (aryScreens[iCurrentScreen] != null){
aryScreens[iCurrentScreen].alpha = nTransition;
};
};
if (nTransition >= 1){
Command("FadeCompleted");
if (iCurrentScreen != -1){
if (aryScreens[iCurrentScreen] != null){
aryScreens[iCurrentScreen].alpha = 1;
};
};
bFadeInProgress = false;
FadeTimer.removeEventListener(TimerEvent.TIMER, Fade);
if (iLastScreen != -1){
trace(((("iLastScreen=" + iLastScreen) + " aryScreens[iLastScreen]=") + aryScreens[iLastScreen]));
removeChild(aryScreens[iLastScreen]);
trace("after removeChild");
if (aryScreens[iLastScreen].DestroyOnExit){
aryScreens[iLastScreen].Destroy();
aryScreens.splice(iLastScreen, 1, null);
};
};
};
}
public function CommandGlobal(_arg1:String, _arg2:String="", _arg3:String="", _arg4:String="", _arg5:String=""):String{
var _local6:String;
var _local7:int;
var _local8:String;
var _local9:int;
var _local10:int;
_local6 = "true";
if (_arg1 == "trace"){
};
if (_arg1 == "ShowFirstScreen"){
_local7 = BuildObject.SponsorLogoDelay;
this.Command("trace", ("ShowFirstScreen: TimedGameScreen=" + String(TimedGameScreen)));
this.Command("trace", ("ShowFirstScreen: CurrentChapter=" + String(CurrentChapter)));
this.Command("trace", ("ShowFirstScreen: ChapterVersion=" + String(ChapterVersion)));
this.Command("trace", ("ShowFirstScreen: ToBeContinuedScreen=" + String(ToBeContinuedScreen)));
this.Command("trace", ("ShowFirstScreen: TitleScreen=" + String(TitleScreen)));
if (BuildObject.Client == "BBX"){
mcSponsorLogo = new bubblebox_intro();
mcSponsorLogo.addEventListener(MouseEvent.CLICK, ClickBBXHomepage);
};
if (BuildObject.Client == "BND"){
_local8 = "";
if (CurrentChapter == 0){
sBBXSubID = "initialBBX";
mcSponsorLogo = new BubbleBoxLinkNDC();
mcSponsorLogo.alpha = 0;
_local7 = 6800;
mcSponsorLogo.addEventListener(TargetCompletedEvent.TARGET_NAME, TargetCompletedHandler);
mcSponsorLogo.AddTarget("BBXfadeup,1.4,linear,,,,,,,1");
mcSponsorLogo.AddTarget("BBXfadedown,1,linear,,,,,,,0");
mcSponsorLogo.URL = _local8;
mcSponsorLogo.addEventListener(MouseEvent.CLICK, ClickBBXSubID);
} else {
sBBXSubID = ("chapter" + CurrentChapter);
mcSponsorLogo = new bubblebox_intro();
mcSponsorLogo.URL = _local8;
mcSponsorLogo.addEventListener(MouseEvent.CLICK, ClickBBXSubID);
};
};
if (mcSponsorLogo != null){
timLogoPause.delay = _local7;
mcSponsorLogo.x = BuildObject.SponsorLogoX;
mcSponsorLogo.y = BuildObject.SponsorLogoY;
mcSponsorLogo.buttonMode = true;
addChild(mcSponsorLogo);
};
timLogoPause.addEventListener(TimerEvent.TIMER, ShowFirstScreen);
timLogoPause.start();
};
if (_arg1 == "Debug"){
if (!BuildObject.Debug){
_local6 = "false";
};
};
if ((((_arg1 == "StartNormalGame")) || ((_arg1 == "StartTimedGame")))){
TimedGame = true;
StartDurationTimer();
_local9 = 108;
_local10 = 2.5;
if (BuildObject.Bundle){
_local9 = 325;
_local10 = 5;
};
mcToolbarMask.graphics.beginFill(0xFFCC00);
mcToolbarMask.graphics.moveTo(0, 0);
mcToolbarMask.graphics.lineTo(400, 0);
mcToolbarMask.graphics.lineTo(400, 22);
mcToolbarMask.graphics.lineTo(0, 22);
mcToolbarMask.graphics.lineTo(0, 0);
mcToolbarMask.graphics.endFill();
mcToolbarMask.x = -413;
mcToolbarMask.y = 0;
addChild(mcToolbarMask);
mcToolbar.x = 0;
mcToolbar.y = 0;
mcToolbar.mask = mcToolbarMask;
addChild(mcToolbar);
mcToolbar.addEventListener(MouseEvent.MOUSE_OVER, ToolbarFadeUpEvent);
mcToolbar.addEventListener(MouseEvent.MOUSE_OUT, ToolbarFadeDownEvent);
mcToolbarBackground.x = 0;
mcToolbarBackground.y = 0;
mcToolbarBackground.alpha = 0.5;
mcToolbar.addChild(mcToolbarBackground);
mcToolbarTray.x = 0;
mcToolbarTray.y = 0;
mcToolbar.addChild(mcToolbarTray);
txtDuration.x = 4;
txtDuration.y = 0;
mcToolbar.addChild(txtDuration);
txtDuration.visible = true;
if (BuildObject.Bundle){
txtToolbarWalkthrough.width = 120;
txtToolbarWalkthrough.height = 30;
txtToolbarWalkthrough.x = (69 + 31);
txtToolbarWalkthrough.y = 0;
txtToolbarWalkthrough.multiline = false;
txtToolbarWalkthrough.filters = [new DropShadowFilter(3, 25)];
txtToolbarWalkthrough.htmlText = "<FONT FACE='ARIAL' COLOR='#FFFFFF' SIZE='14'>Walkthrough</FONT>";
txtToolbarWalkthrough.selectable = false;
mcToolbar.addChild(txtToolbarWalkthrough);
hsWalkthrough.x = 142;
hsWalkthrough.y = 12;
hsWalkthrough.addEventListener(MouseEvent.CLICK, ClickWalkthrough);
mcToolbar.addChild(hsWalkthrough);
txtToolbarPlayMoreGames.width = 120;
txtToolbarPlayMoreGames.height = 30;
txtToolbarPlayMoreGames.x = ((220 - 59) + 31);
txtToolbarPlayMoreGames.y = 0;
txtToolbarPlayMoreGames.multiline = false;
txtToolbarPlayMoreGames.filters = [new DropShadowFilter(3, 25)];
txtToolbarPlayMoreGames.htmlText = "<FONT FACE='ARIAL' COLOR='#FFFFFF' SIZE='14'>Play More Games</FONT>";
txtToolbarPlayMoreGames.selectable = false;
mcToolbar.addChild(txtToolbarPlayMoreGames);
hsPlayMoreGames.x = 251;
hsPlayMoreGames.y = 12;
hsPlayMoreGames.addEventListener(MouseEvent.CLICK, ClickPlayMoreGames);
mcToolbar.addChild(hsPlayMoreGames);
};
mcToolbarMute.gotoAndStop(1);
SoundMuted = false;
if (SoundMixer.soundTransform.volume == 0){
mcToolbarMute.gotoAndStop(2);
SoundMuted = true;
};
mcToolbarMute.x = 77;
mcToolbarMute.y = 12;
mcToolbar.addChild(mcToolbarMute);
hsMute.x = 79;
hsMute.y = 11;
hsMute.addEventListener(MouseEvent.CLICK, ClickMute);
mcToolbar.addChild(hsMute);
mcToolbarEdge.x = -6;
mcToolbarEdge.y = 11;
mcToolbarEdge.alpha = 0.7;
addChild(mcToolbarEdge);
mcToolbarMask.AddTarget(((("RevealTray," + String(_local10)) + ",linear,,") + String((mcToolbarMask.x + _local9))));
mcToolbarEdge.addEventListener(TargetCompletedEvent.TARGET_NAME, TargetCompletedHandler);
mcToolbarEdge.AddTarget(((("RevealTrayEdge," + String(_local10)) + ",linear,,") + String((mcToolbarEdge.x + _local9))));
mcToolbar.AddTarget(("pause," + String(_local10)));
mcToolbarEdge.AddTarget(("pause," + String(_local10)));
ToolbarFadeDown(false);
this.Command("NextScreen", "0");
};
if (_arg1 == "NextScreen"){
_local6 = NextScreenCommand(_arg2, _arg3);
};
if (_arg1 == "NextChapter"){
_local6 = NextChapterCommand(_arg2, _arg3);
};
if (_arg1 == "ValidSite"){
if (!BuildObject.ValidSite()){
_local6 = "false";
};
};
if (_arg1 == "LoadChapterMenu"){
if (!BuildObject.LoadChapterMenu){
_local6 = "false";
};
};
if (_arg1 == "NumberOfChapters"){
_local6 = String(BuildObject.NumberOfChapters);
};
if (_arg1 == "LogFile"){
LogFile(_arg2);
};
if (_arg1 == "CurrentChapter"){
_local6 = String(CurrentChapter);
};
if (_arg1 == "FullVersion"){
_local6 = ((((((BuildObject.Client + ":") + String(BuildObject.MajorVersion)) + ".") + String(CurrentChapter)) + ".") + String(ChapterVersion));
};
return (_local6);
}
public function Display(_arg1:String):void{
var _local2:TextField;
_local2 = new TextField();
_local2.x = 0;
_local2.y = 0;
_local2.width = 800;
_local2.height = 600;
_local2.multiline = true;
_local2.htmlText = (("<font face='arial' size='14' color='#FFFFFF'>" + _arg1) + "</font>");
addChild(_local2);
}
private function ClickWalkthrough(_arg1:MouseEvent):void{
trace("ClickWalkthrough");
openWindowChapter("http://www.bubblebox.com/clickreg.php?type=gamestats&id=1060&subid=freegamesnewswalkthrough&action=tpwalkthrough");
}
public function GetFromList(_arg1:String, _arg2:int, _arg3:String):String{
var _local4:Array;
var _local5:String;
_local4 = _arg1.split(_arg3);
_local5 = "";
if (_arg2 <= _local4.length){
_local5 = _local4[(_arg2 - 1)];
};
return (_local5);
}
public function LogFile(_arg1:String):void{
var _local2:URLVariables;
trace((("LogFile: " + _arg1) + " #######################################################################"));
if (BuildObject.LogFile){
_local2 = new URLVariables();
_local2.Line = ((Command("FullVersion") + " - ") + _arg1);
HTTPPost("LogFile.asp", _local2);
};
}
function StartDurationTimer():void{
DurationSeconds = 0;
timGameDuration.addEventListener(TimerEvent.TIMER, TimerDuration);
timGameDuration.start();
}
function NextScreenCommand(_arg1:String, _arg2:String):String{
var _local3:int;
var _local4:String;
var _local5:Boolean;
trace(((("NextScreenCommand pScreenNumber=" + _arg1) + " pOverride=") + _arg2));
_local3 = int(_arg1);
_local4 = "true";
_local5 = true;
this.Command("trace", ("NextScreenCommand: TimedGameScreen=" + String(TimedGameScreen)));
this.Command("trace", ("NextScreenCommand: CurrentChapter=" + String(CurrentChapter)));
this.Command("trace", ("NextScreenCommand: ChapterVersion=" + String(ChapterVersion)));
this.Command("trace", ("NextScreenCommand: ToBeContinuedScreen=" + String(ToBeContinuedScreen)));
this.Command("trace", ("NextScreenCommand: TitleScreen=" + String(TitleScreen)));
trace(((("processing=" + this.GetValue("Processing")) + " bFadeInProgress=") + bFadeInProgress));
if ((((_arg2 == "true")) || (((!((this.GetValue("Processing") == "true"))) && (!(bFadeInProgress)))))){
if (mcInventory != null){
_local5 = mcInventory.NewScreen(_local3);
};
trace(("bInventoryNewScreen=" + _local5));
if (_local5){
NewScreen(_local3);
} else {
_local4 = "false";
};
} else {
_local4 = "false";
};
trace(("return=" + _local4));
return (_local4);
}
private function ClickSkip(_arg1:MouseEvent):void{
var _local2:String;
trace("ClickSkip");
if (CurrentChapter == 1){
_local2 = "1";
};
if (CurrentChapter == 2){
_local2 = "11";
};
if (CurrentChapter == 3){
_local2 = "8";
};
this.Command("NextScreen", _local2);
}
function RemovedFromStage(_arg1:Event):void{
trace((this + "removed from stage"));
stage.removeEventListener(KeyboardEvent.KEY_DOWN, KeyDown);
}
private function ClickPlayMoreGames(_arg1:MouseEvent):void{
var _local2:String;
trace("ClickPlayMoreGames");
_local2 = "";
openWindowChapter("http://www.bubblebox.com/clickreg.php?type=gamestats&id=1060&subid=ingame");
}
public function ValidEmail(_arg1:String):Boolean{
var _local2:Array;
var _local3:Array;
var _local4:Boolean;
var _local5:String;
var _local6:String;
var _local7:String;
var _local8:String;
_local4 = true;
_local2 = _arg1.split("@");
if (_local2.length == 2){
_local5 = _local2[0];
_local6 = _local2[1];
if (_local5.length == 0){
_local4 = false;
};
_local3 = _local6.split(".");
if (_local3.length >= 2){
_local7 = _local3[0];
_local8 = _local3[1];
if (_local7.length == 0){
_local4 = false;
};
if (_local8.length == 0){
_local4 = false;
};
} else {
_local4 = false;
};
} else {
_local4 = false;
};
return (_local4);
}
public function LoadSWFChapter(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=true):void{
var _local4:String;
var _local5:BundleClass;
var _local6:URLRequest;
var _local7:LoaderContext;
trace(("LoadSWF: " + _local4));
_local5 = null;
this.Command("trace", ("LoadSWFChapter: pChapterNumber=" + _arg1));
_local4 = BuildObject.aryExternalSWFURL[int(_arg1)];
_local5 = GetBundleClass();
this.Command("trace", ("LoadSWFChapter sURL=" + _local4));
this.Command("trace", ("LoadSWFChapter oBundleClass=" + _local5));
if (_local5 != null){
this.Command("trace", "LoadSWFChapter: Before call to LoadSWFBundle");
_local5.LoadSWFBundle(_local4, _arg2, _arg3);
} else {
if (_arg2){
if (_local4.indexOf("?") < 0){
_local4 = (_local4 + "?");
} else {
_local4 = (_local4 + "&");
};
_local4 = (_local4 + "skiptitle=true");
};
trace(("Loading external SWF: URL=" + _local4));
while (BuildObject.Main.numChildren > 0) {
BuildObject.Main.removeChildAt((BuildObject.Main.numChildren - 1));
};
_local6 = new URLRequest(_local4);
_local7 = new LoaderContext(false, ApplicationDomain.currentDomain, SecurityDomain.currentDomain);
if (SWFLoader != null){
SWFLoader.unload();
SWFLoader = null;
};
SWFLoader = new Loader();
SWFLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
SWFLoader.load(_local6, _local7);
BuildObject.Main.addChild(SWFLoader);
};
}
public function CodeForChapter(_arg1:int):String{
var _local2:String;
var _local3:String;
_local2 = "";
_local3 = GetFromList(ChapterCodes(), _arg1, "|");
if (_local3 != ""){
_local2 = GetFromList(_local3, 2, ",");
};
return (_local2);
}
public function BadDomain():void{
var _local1:TextField;
_local1 = new TextField();
_local1.width = 800;
_local1.height = 300;
_local1.x = 0;
_local1.y = 220;
_local1.multiline = true;
_local1.filters = [new DropShadowFilter(2, 25)];
_local1.htmlText = "<P ALIGN='center'><FONT FACE='ARIAL' COLOR='#FFFFFF' SIZE='20'>";
_local1.htmlText = (_local1.htmlText + "<a href='http://www.tippingpointgame.com' target='_blank'>Tipping Point cannot be played on this web site<br><br>Click here to play it at TippingPointGame.com now</a>");
_local1.htmlText = (_local1.htmlText + "</FONT>");
_local1.selectable = false;
addChild(_local1);
}
private function GetBundleClass():BundleClass{
var oBundleClass:BundleClass;
oBundleClass = null;
try {
if ((parent is BundleClass)){
oBundleClass = BundleClass(parent);
};
} catch(error:Error) {
trace(("openWindowChapter error=" + error));
};
if (oBundleClass == null){
try {
if ((parent.parent is BundleClass)){
oBundleClass = BundleClass(parent.parent);
};
} catch(error:Error) {
trace(("openWindowChapter error=" + error));
};
};
if (oBundleClass == null){
try {
if ((parent.parent.parent is BundleClass)){
oBundleClass = BundleClass(parent.parent.parent);
};
} catch(error:Error) {
trace(("openWindowChapter error=" + error));
};
};
return (oBundleClass);
}
private function LogError(_arg1:IOErrorEvent){
}
private function ClickFGN(_arg1:MouseEvent):void{
openWindowChapter("http://www.bubblebox.com/clickreg.php?type=gamestats&id=1060&subid=initialFGN&action=freegamesnewslink");
}
public function HTTPPost(_arg1:String, _arg2:URLVariables):void{
var myData:URLRequest;
var pURL = _arg1;
var pVariables = _arg2;
trace(((("HTTPPost: pURL=" + pURL) + " pVariables=") + pVariables));
myData = new URLRequest(pURL);
if (HTTPPostLoader == null){
HTTPPostLoader = new URLLoader();
};
myData.method = URLRequestMethod.POST;
myData.data = pVariables;
HTTPPostLoader.dataFormat = URLLoaderDataFormat.TEXT;
HTTPPostLoader.addEventListener(IOErrorEvent.IO_ERROR, HTTPPostError);
HTTPPostLoader.addEventListener(Event.COMPLETE, HTTPPostCompleteHandler);
try {
HTTPPostLoader.load(myData);
} catch(error:Error) {
trace(("HTTPPost CATCH error=" + error));
};
}
function StopDurationTimer():void{
timGameDuration.stop();
timGameDuration.removeEventListener(TimerEvent.TIMER, TimerDuration);
}
public function CurrentURL():String{
var sCurrentURL:String;
sCurrentURL = "";
try {
sCurrentURL = root.loaderInfo.url;
} catch(error:Error) {
trace(("error=" + error));
};
return (sCurrentURL);
}
function UpdateLoop(_arg1:Event):void{
if (aryScreens[iCurrentScreen] != null){
aryScreens[iCurrentScreen].Update();
};
}
private function HTTPPostCompleteHandler(_arg1:Event):void{
trace(("HTTPPostCompleteHandler: HTTPPostLoader.data=" + HTTPPostLoader.data));
}
public function ChapterForCode(_arg1:String):int{
var _local2:int;
var _local3:String;
var _local4:Array;
var _local5:int;
_local2 = -1;
_local4 = ChapterCodes().split("|");
_local5 = 0;
while (_local5 < _local4.length) {
_local3 = _local4[_local5];
if (_arg1 == GetFromList(_local3, 2, ",")){
_local2 = int(GetFromList(_local3, 1, ","));
_local5 = 999;
};
_local5++;
};
return (_local2);
}
private function ToolbarFadeUp(_arg1:Boolean):void{
mcToolbar.AddTarget("pause,.5,linear,,,,,,,1", _arg1);
if (EdgeRevealed){
mcToolbarEdge.AddTarget("pause,.5,linear,,,,,,,1", _arg1);
};
}
function KeyDown(_arg1:KeyboardEvent):void{
if (BuildObject.Debug){
aryScreens[iCurrentScreen].KeyDown(_arg1);
};
}
private function ClickBBXSubID(_arg1:MouseEvent):void{
openWindowChapter(("http://www.bubblebox.com/clickreg.php?type=gamestats&id=1060&subid=" + sBBXSubID));
}
public function AddToList(_arg1:String, _arg2:String, _arg3:String, _arg4:Boolean):String{
var _local5:Boolean;
var _local6:String;
_local6 = _arg1;
_local5 = false;
if (!_arg4){
if (String(((_arg3 + _local6) + _arg3)).indexOf(((_arg3 + _arg2) + _arg3)) > -1){
_local5 = true;
};
};
if (!_local5){
if (_local6 != ""){
_local6 = (_local6 + _arg3);
};
_local6 = (_local6 + _arg2);
};
return (_local6);
}
private function HTTPPostError(_arg1:IOErrorEvent){
trace(("HTTPPostError error: " + _arg1));
}
private function ClickMute(_arg1:MouseEvent):void{
trace("ClickMute");
SoundMuted = !(SoundMuted);
if (SoundMuted){
mcToolbarMute.gotoAndStop(2);
SoundMixer.soundTransform = new SoundTransform(0);
} else {
mcToolbarMute.gotoAndStop(1);
SoundMixer.soundTransform = new SoundTransform(1);
};
}
private function ToolbarFadeDown(_arg1:Boolean):void{
mcToolbar.AddTarget("pause,1,linear,,,,,,,.5", _arg1);
if (EdgeRevealed){
mcToolbarEdge.AddTarget("pause,1,linear,,,,,,,.5", _arg1);
};
}
private function ClickBBXHomepage(_arg1:MouseEvent):void{
openWindowChapter("http://www.bubblebox.com/");
}
function TimerDuration(_arg1:TimerEvent):void{
var _local2:String;
var _local3:String;
trace(("TimerDuration DurationSeconds=" + DurationSeconds));
DurationSeconds++;
if (DurationSeconds > 59){
DurationSeconds = 0;
DurationMinutes++;
if (DurationMinutes > 59){
DurationMinutes = 0;
DurationHours++;
};
};
_local2 = String(DurationMinutes);
_local3 = String(DurationSeconds);
if (DurationMinutes < 10){
_local2 = ("0" + _local2);
};
if (DurationSeconds < 10){
_local3 = ("0" + _local3);
};
txtDuration.htmlText = (((((("<P ALIGN='left'><FONT FACE='ARIAL' COLOR='#FFFFFF' SIZE='16'>" + DurationHours) + ":") + _local2) + ":") + _local3) + "</FONT>");
if ((((((DurationHours == 9)) && ((DurationMinutes == 59)))) && ((DurationSeconds == 59)))){
StopDurationTimer();
};
}
override public function Destroy():void{
removeEventListener(Event.ADDED_TO_STAGE, AddedToStage);
removeEventListener(Event.REMOVED_FROM_STAGE, RemovedFromStage);
removeEventListener(Event.ENTER_FRAME, UpdateLoop);
FadeTimer.removeEventListener(TimerEvent.TIMER, Fade);
FadeTimer.stop();
FadeTimer = null;
i = 1;
while (i <= aryScreens.length) {
if (aryScreens[i] != null){
aryScreens[i].Destroy();
aryScreens[i] = null;
};
i++;
};
}
function NextChapterDelay():void{
timNextChapter.addEventListener(TimerEvent.TIMER, GotoNextChapter);
timNextChapter.start();
}
public function ListSize(_arg1:String, _arg2:String):int{
var _local3:Array;
_local3 = _arg1.split(_arg2);
return (_local3.length);
}
public function ChapterCodes():String{
return ("1,JAPSYL|2,QLOKIT|3,FREEKL|4,LEEPIT");
}
public static function openWindow(_arg1:String, _arg2:String="_blank", _arg3:String=""):void{
var _local4:String;
if (ExternalInterface.available){
_local4 = getBrowserName();
if (_local4 == "Firefox"){
ExternalInterface.call("window.open", _arg1, _arg2, _arg3);
} else {
if (_local4 == "IE"){
ExternalInterface.call((("function setWMWindow() {window.open('" + _arg1) + "');}"));
} else {
navigateToURL(new URLRequest(_arg1), _arg2);
};
};
} else {
navigateToURL(new URLRequest(_arg1), _arg2);
};
}
private static function getBrowserName():String{
var _local1:String;
var _local2:String;
_local1 = "Undefined";
_local2 = ExternalInterface.call("function getBrowser(){return navigator.userAgent;}");
if (((!((_local2 == null))) && ((_local2.indexOf("Firefox") >= 0)))){
_local1 = "Firefox";
} else {
if (((!((_local2 == null))) && ((_local2.indexOf("Safari") >= 0)))){
_local1 = "Safari";
} else {
if (((!((_local2 == null))) && ((_local2.indexOf("MSIE") >= 0)))){
_local1 = "IE";
} else {
if (((!((_local2 == null))) && ((_local2.indexOf("Opera") >= 0)))){
_local1 = "Opera";
};
};
};
};
trace(("Browser name: " + _local1));
return (_local1);
}
}
}//package com.freecloud
Section 5
//clsCloseButton (com.freecloud.clsCloseButton)
package com.freecloud {
import flash.events.*;
import flash.text.*;
import flash.filters.*;
public class clsCloseButton extends DanObject {
private var btnClose:symButtomMask;
private var mcXButton:symXButton;
private var txtClose:TextField;
private var format:TextFormat;
public function clsCloseButton(_arg1:String, _arg2:String, _arg3:int){
btnClose = new symButtomMask();
txtClose = new TextField();
mcXButton = new symXButton();
format = new TextFormat();
super();
format.color = 0xD7D7D7;
format.font = "arial";
format.align = "right";
txtClose.width = _arg3;
txtClose.height = 18;
txtClose.x = -3;
txtClose.y = 0;
txtClose.text = _arg2;
txtClose.setTextFormat(format);
txtClose.selectable = false;
txtClose.filters = [new DropShadowFilter(1, 45, 0, 1, 2, 2, 1, 1)];
addChild(txtClose);
btnClose.width = txtClose.width;
btnClose.x = Math.abs((txtClose.width / 2));
btnClose.y = 10;
btnClose.height = 15;
btnClose.name = _arg1;
btnClose.alpha = 0;
addChild(btnClose);
mcXButton.x = (txtClose.width + (mcXButton.width / 2));
mcXButton.y = (btnClose.y = 10);
mcXButton.buttonMode = true;
mcXButton.name = _arg1;
mcXButton.alpha = 0.75;
addChild(mcXButton);
mcXButton.addEventListener(MouseEvent.MOUSE_OVER, HighlightX);
mcXButton.addEventListener(MouseEvent.MOUSE_OUT, RestoreX);
btnClose.addEventListener(MouseEvent.MOUSE_OVER, HighlightX);
btnClose.addEventListener(MouseEvent.MOUSE_OUT, RestoreX);
}
private function HighlightX(_arg1:MouseEvent):void{
mcXButton.alpha = 1;
format.color = 0xFFFFFF;
txtClose.setTextFormat(format);
}
private function RestoreX(_arg1:MouseEvent):void{
mcXButton.alpha = 0.75;
format.color = 0xD7D7D7;
txtClose.setTextFormat(format);
}
override public function Destroy():void{
trace("CloseButton: Destroy");
DestroyGlobal();
mcXButton.removeEventListener(MouseEvent.MOUSE_OVER, HighlightX);
mcXButton.removeEventListener(MouseEvent.MOUSE_OUT, RestoreX);
btnClose.removeEventListener(MouseEvent.MOUSE_OVER, HighlightX);
btnClose.removeEventListener(MouseEvent.MOUSE_OUT, RestoreX);
btnClose = null;
txtClose = null;
mcXButton = null;
}
}
}//package com.freecloud
Section 6
//clsCodeEnter (com.freecloud.clsCodeEnter)
package com.freecloud {
import flash.events.*;
import flash.net.*;
import flash.text.*;
import flash.filters.*;
import flash.external.*;
public class clsCodeEnter extends DanObject {
private var sURL:String;
private var aryChapters:Array;
public var Open:Boolean;// = false
private var txtLeft:TextField;
private var idx:int;
private var iWidth:int;// = 40
private var iHeight:int;// = 60
private var fltGlow:GlowFilter;
private var iNumChapters:int;
private var txtChapterNumber:TextField;
var HTTPPostLoader:URLLoader;// = null
private var txtRight:TextField;
public function clsCodeEnter(_arg1:DanObject=null, _arg2:Build=null){
txtLeft = new TextField();
txtRight = new TextField();
fltGlow = new GlowFilter(0xFFFFFF, 1, 8, 8, 3, 2, false, true);
aryChapters = new Array();
iWidth = 40;
iHeight = 60;
Open = false;
HTTPPostLoader = null;
super();
trace(((((this + " Initialized pParent=") + _arg1) + " pBuildObject=") + _arg2));
Parent = _arg1;
iNumChapters = _arg2.NumberOfChapters;
aryChapters.push(null);
idx = 1;
while (idx <= iNumChapters) {
txtChapterNumber = null;
txtChapterNumber = new TextField();
txtChapterNumber.width = (iWidth + 10);
txtChapterNumber.height = iHeight;
txtChapterNumber.x = int((((idx - 1) * iWidth) - ((iWidth * iNumChapters) / 2)));
txtChapterNumber.y = 0;
txtChapterNumber.filters = [new DropShadowFilter(2, 25, 0, 0.5)];
txtChapterNumber.selectable = false;
txtChapterNumber.multiline = false;
txtChapterNumber.htmlText = (("<p align='center'><font face='Comic Sans MS' size='30' color='#C5CFFA'>" + idx) + "</font>");
addChild(txtChapterNumber);
aryChapters.push(new clsHotSpot("0,0|20,0|20,25|0,24"));
aryChapters[idx].x = (txtChapterNumber.x + 25);
aryChapters[idx].y = (txtChapterNumber.y + 24);
aryChapters[idx].addEventListener(MouseEvent.CLICK, ClickChapter);
aryChapters[idx].name = String(idx);
addChild(aryChapters[idx]);
idx++;
};
txtLeft.width = (iWidth + 10);
txtLeft.height = iHeight;
txtLeft.x = (int((((0 - 1) * iWidth) - ((iWidth * iNumChapters) / 2))) + 12);
txtLeft.y = -4;
txtLeft.filters = [new DropShadowFilter(2, 25, 0, 0.5)];
txtLeft.selectable = false;
txtLeft.multiline = false;
txtLeft.htmlText = "<p align='center'><font face='Comic Sans MS' size='30' color='#C5CFFA'>[</font>";
addChild(txtLeft);
txtRight.width = (iWidth + 10);
txtRight.height = iHeight;
txtRight.x = (int(((iNumChapters * iWidth) - ((iWidth * iNumChapters) / 2))) - 12);
txtRight.y = -4;
txtRight.filters = [new DropShadowFilter(2, 25, 0, 0.5)];
txtRight.selectable = false;
txtRight.multiline = false;
txtRight.htmlText = "<p align='center'><font face='Comic Sans MS' size='30' color='#C5CFFA'>]</font>";
addChild(txtRight);
this.x = 800;
this.y = (600 + iHeight);
Resume();
}
public function RandomNumber(_arg1:Number=0, _arg2:Number=1, _arg3:Boolean=false):Number{
var _local4:Number;
var _local5:Number;
_local4 = ((Math.random() * (_arg2 - _arg1)) + _arg1);
if (_arg3){
_local5 = (_local4 - int(_local4));
_local4 = int(_local4);
if (_local5 >= 0.5){
_local4++;
};
};
return (_local4);
}
public function RandomInt(_arg1:int, _arg2:int):int{
return ((int((Math.random() * ((_arg2 - _arg1) + 1))) + _arg1));
}
public function RemoveFromList(_arg1:String, _arg2:String, _arg3:String):String{
var _local4:Array;
var _local5:int;
var _local6:String;
_local4 = _arg1.split(_arg3);
_local6 = "";
_local5 = 0;
while (_local5 < _local4.length) {
if (_local4[_local5] != _arg2){
_local6 = AddToList(_local6, _local4[_local5], _arg3, true);
};
_local5++;
};
return (_local6);
}
override public function Resume():void{
}
public function Display(_arg1:String):void{
var _local2:TextField;
_local2 = new TextField();
_local2.x = 0;
_local2.y = 0;
_local2.width = 800;
_local2.height = 600;
_local2.multiline = true;
_local2.htmlText = (("<font face='arial' size='14' color='#FFFFFF'>" + _arg1) + "</font>");
addChild(_local2);
}
public function GetFromList(_arg1:String, _arg2:int, _arg3:String):String{
var _local4:Array;
var _local5:String;
_local4 = _arg1.split(_arg3);
_local5 = "";
if (_arg2 <= _local4.length){
_local5 = _local4[(_arg2 - 1)];
};
return (_local5);
}
override public function Update():void{
}
public function BadDomain():void{
var _local1:TextField;
_local1 = new TextField();
_local1.width = 800;
_local1.height = 300;
_local1.x = 0;
_local1.y = 220;
_local1.multiline = true;
_local1.filters = [new DropShadowFilter(2, 25)];
_local1.htmlText = "<P ALIGN='center'><FONT FACE='ARIAL' COLOR='#FFFFFF' SIZE='20'>";
_local1.htmlText = (_local1.htmlText + "<a href='http://www.tippingpointgame.com' target='_blank'>Tipping Point cannot be played on this web site<br><br>Click here to play it at TippingPointGame.com now</a>");
_local1.htmlText = (_local1.htmlText + "</FONT>");
_local1.selectable = false;
addChild(_local1);
}
public function ValidEmail(_arg1:String):Boolean{
var _local2:Array;
var _local3:Array;
var _local4:Boolean;
var _local5:String;
var _local6:String;
var _local7:String;
var _local8:String;
_local4 = true;
_local2 = _arg1.split("@");
if (_local2.length == 2){
_local5 = _local2[0];
_local6 = _local2[1];
if (_local5.length == 0){
_local4 = false;
};
_local3 = _local6.split(".");
if (_local3.length >= 2){
_local7 = _local3[0];
_local8 = _local3[1];
if (_local7.length == 0){
_local4 = false;
};
if (_local8.length == 0){
_local4 = false;
};
} else {
_local4 = false;
};
} else {
_local4 = false;
};
return (_local4);
}
public function CodeForChapter(_arg1:int):String{
var _local2:String;
var _local3:String;
_local2 = "";
_local3 = GetFromList(ChapterCodes(), _arg1, "|");
if (_local3 != ""){
_local2 = GetFromList(_local3, 2, ",");
};
return (_local2);
}
public function HTTPPost(_arg1:String, _arg2:URLVariables):void{
var myData:URLRequest;
var pURL = _arg1;
var pVariables = _arg2;
trace(((("HTTPPost: pURL=" + pURL) + " pVariables=") + pVariables));
myData = new URLRequest(pURL);
if (HTTPPostLoader == null){
HTTPPostLoader = new URLLoader();
};
myData.method = URLRequestMethod.POST;
myData.data = pVariables;
HTTPPostLoader.dataFormat = URLLoaderDataFormat.TEXT;
HTTPPostLoader.addEventListener(IOErrorEvent.IO_ERROR, HTTPPostError);
HTTPPostLoader.addEventListener(Event.COMPLETE, HTTPPostCompleteHandler);
try {
HTTPPostLoader.load(myData);
} catch(error:Error) {
trace(("HTTPPost CATCH error=" + error));
};
}
public function CurrentURL():String{
var sCurrentURL:String;
sCurrentURL = "";
try {
sCurrentURL = root.loaderInfo.url;
} catch(error:Error) {
trace(("error=" + error));
};
return (sCurrentURL);
}
private function HTTPPostCompleteHandler(_arg1:Event):void{
trace(("HTTPPostCompleteHandler: HTTPPostLoader.data=" + HTTPPostLoader.data));
}
public function ChapterForCode(_arg1:String):int{
var _local2:int;
var _local3:String;
var _local4:Array;
var _local5:int;
_local2 = -1;
_local4 = ChapterCodes().split("|");
_local5 = 0;
while (_local5 < _local4.length) {
_local3 = _local4[_local5];
if (_arg1 == GetFromList(_local3, 2, ",")){
_local2 = int(GetFromList(_local3, 1, ","));
_local5 = 999;
};
_local5++;
};
return (_local2);
}
function OpenCode(_arg1:int, _arg2:int):void{
this.y = _arg2;
AddTarget(((("Open,1.5,easein,," + _arg1) + ",") + _arg2), true);
Open = true;
}
override public function TargetCompleted(_arg1:String){
}
private function HTTPPostError(_arg1:IOErrorEvent){
trace(("HTTPPostError error: " + _arg1));
}
public function AddToList(_arg1:String, _arg2:String, _arg3:String, _arg4:Boolean):String{
var _local5:Boolean;
var _local6:String;
_local6 = _arg1;
_local5 = false;
if (!_arg4){
if (String(((_arg3 + _local6) + _arg3)).indexOf(((_arg3 + _arg2) + _arg3)) > -1){
_local5 = true;
};
};
if (!_local5){
if (_local6 != ""){
_local6 = (_local6 + _arg3);
};
_local6 = (_local6 + _arg2);
};
return (_local6);
}
function ClickChapter(_arg1:MouseEvent):void{
var _local2:int;
var _local3:String;
trace(("ClickChapter event.currentTarget.name=" + _arg1.currentTarget.name));
_local3 = "";
_local2 = int(_arg1.currentTarget.name);
trace(("iChapterNumber=" + _local2));
if (Chapter(Parent.Parent).BuildObject.Bundle){
Chapter(Parent.Parent).LoadSWFChapter(String(_local2), true);
} else {
_local3 = Chapter(Parent.Parent).BuildObject.aryGameURL[_local2];
if (_local3.indexOf("?") < 0){
_local3 = (_local3 + "?");
} else {
_local3 = (_local3 + "&");
};
_local3 = (_local3 + "skiptitle=true");
trace(("navigate to " + _local3));
navigateToURL(new URLRequest(_local3), "_top");
};
}
override public function Pause():void{
}
override public function Destroy():void{
trace((this + ": Destroy"));
DestroyGlobal();
this.visible = false;
fltGlow = null;
}
function CloseCode():void{
AddTarget(("Close,1.5,easeout,," + String((880 + (iWidth * iNumChapters)))), true);
Open = false;
}
public function ListSize(_arg1:String, _arg2:String):int{
var _local3:Array;
_local3 = _arg1.split(_arg2);
return (_local3.length);
}
private function ClickX(_arg1:MouseEvent):void{
CloseCode();
}
public function ChapterCodes():String{
return ("1,JAPSYL|2,QLOKIT|3,FREEKL|4,LEEPIT");
}
public static function openWindow(_arg1:String, _arg2:String="_blank", _arg3:String=""):void{
var _local4:String;
if (ExternalInterface.available){
_local4 = getBrowserName();
if (_local4 == "Firefox"){
ExternalInterface.call("window.open", _arg1, _arg2, _arg3);
} else {
if (_local4 == "IE"){
ExternalInterface.call((("function setWMWindow() {window.open('" + _arg1) + "');}"));
} else {
navigateToURL(new URLRequest(_arg1), _arg2);
};
};
} else {
navigateToURL(new URLRequest(_arg1), _arg2);
};
}
private static function getBrowserName():String{
var _local1:String;
var _local2:String;
_local1 = "Undefined";
_local2 = ExternalInterface.call("function getBrowser(){return navigator.userAgent;}");
if (((!((_local2 == null))) && ((_local2.indexOf("Firefox") >= 0)))){
_local1 = "Firefox";
} else {
if (((!((_local2 == null))) && ((_local2.indexOf("Safari") >= 0)))){
_local1 = "Safari";
} else {
if (((!((_local2 == null))) && ((_local2.indexOf("MSIE") >= 0)))){
_local1 = "IE";
} else {
if (((!((_local2 == null))) && ((_local2.indexOf("Opera") >= 0)))){
_local1 = "Opera";
};
};
};
};
trace(("Browser name: " + _local1));
return (_local1);
}
}
}//package com.freecloud
Section 7
//clsCredits (com.freecloud.clsCredits)
package com.freecloud {
import flash.events.*;
import flash.net.*;
import flash.display.*;
import flash.text.*;
import flash.filters.*;
import flash.external.*;
public class clsCredits extends DanObject {
private const cLinkColor = "#6DCFF6";
private const iWidth = 600;
private const iHeight = 450;
private var txtCredits:TextField;
private var sCredits2:String;// = ""
private var mcBox:Sprite;
private var sCredits:String;// = ""
private var mcXButton:clsCloseButton;
private var txtCredits2:TextField;
var HTTPPostLoader:URLLoader;// = null
public function clsCredits(_arg1:int=-1){
mcBox = new Sprite();
txtCredits = new TextField();
txtCredits2 = new TextField();
mcXButton = new clsCloseButton("X", "Close Window", 150);
sCredits = "";
sCredits2 = "";
HTTPPostLoader = null;
super();
trace((this + " Initialized"));
mcBox.x = 100;
mcBox.y = 75;
mcBox.graphics.beginFill(0);
mcBox.graphics.drawRect(0, 0, iWidth, iHeight);
mcBox.graphics.endFill();
mcBox.graphics.lineStyle(1, 0xFFFFFF);
mcBox.graphics.moveTo(0, 0);
mcBox.graphics.lineTo(iWidth, 0);
mcBox.graphics.lineTo(iWidth, iHeight);
mcBox.graphics.lineTo(0, iHeight);
mcBox.graphics.lineTo(0, 0);
mcBox.alpha = 0.75;
addChild(mcBox);
txtCredits.width = (iWidth - 20);
txtCredits.height = (iHeight - 20);
txtCredits.x = 110;
txtCredits.y = 80;
txtCredits.filters = [new DropShadowFilter(1, 25)];
txtCredits.selectable = false;
txtCredits.multiline = true;
addChild(txtCredits);
txtCredits2.width = (iWidth - 20);
txtCredits2.height = (iHeight - 20);
txtCredits2.x = 470;
txtCredits2.y = 110;
txtCredits2.filters = [new DropShadowFilter(1, 25)];
txtCredits2.selectable = false;
txtCredits2.multiline = true;
addChild(txtCredits2);
mcXButton.x = (700 - 176);
mcXButton.y = (75 + 9);
mcXButton.buttonMode = true;
mcXButton.name = "XButton";
mcXButton.alpha = 0.75;
addChild(mcXButton);
sCredits = (sCredits + "<FONT FACE='ARIAL' SIZE='12'>");
sCredits = (sCredits + "<FONT COLOR='#FFFFFF'>");
sCredits = (sCredits + "<b>Credits:</b><br><br>");
sCredits = (sCredits + "<b>Game Design / Programming / Artwork / Sound / Music:</b><br>");
sCredits = (sCredits + "</font>");
sCredits = (((sCredits + "<font color='") + cLinkColor) + "'><a href='http://dan-russell-pinson.com' target='_blank'>Dan Russell-Pinson</a></font><br><br>");
sCredits = (sCredits + "<FONT FACE='ARIAL' SIZE='12'>");
sCredits = (sCredits + "<FONT COLOR='#FFFFFF'>");
sCredits = (sCredits + "<b>Beta Testers:</b><br>");
sCredits = (((sCredits + "<font color='") + cLinkColor) + "'>");
sCredits = (sCredits + "Lisa Russell-Pinson, Lily Russell-Pinson, Heather Russell,<br>Tony Culbertson, Jon Koerber<br>");
sCredits = (sCredits + "<br></font>");
sCredits = (sCredits + "<FONT COLOR='#FFFFFF'>");
sCredits = (sCredits + "<b>Videos:</b><br>");
sCredits = (sCredits + "</font>");
sCredits = (sCredits + ShowVideos());
sCredits = (sCredits + "<br>");
sCredits = (sCredits + "<FONT COLOR='#FFFFFF'>");
sCredits = (sCredits + "<b>Songs:</b><br>");
sCredits = (sCredits + "</font>");
sCredits = (sCredits + ShowSongs());
sCredits = (sCredits + "<br>");
sCredits = (sCredits + "<FONT COLOR='#FFFFFF'>");
sCredits = (sCredits + "<b>Photos:</b><br>");
sCredits = (sCredits + "</font>");
sCredits = (sCredits + ShowPhotos());
sCredits = (sCredits + "<br>");
sCredits = (sCredits + "</FONT>");
sCredits = (sCredits + "</FONT>");
sCredits2 = (sCredits2 + "<FONT FACE='ARIAL' SIZE='12'>");
sCredits2 = (sCredits2 + "<FONT COLOR='#FFFFFF'>");
sCredits2 = (sCredits2 + "<b>Sounds:</b><br>");
sCredits2 = (sCredits2 + "</font>");
sCredits2 = (sCredits2 + ShowSounds());
sCredits2 = (sCredits2 + "<br>");
sCredits2 = (sCredits2 + "<FONT COLOR='#FFFFFF'>");
sCredits2 = (((sCredits2 + "Some code was modified from Jochen<br>Diehl's</font> <font color='") + cLinkColor) + "'><a href='http://www.gotoandplay.it/_articles/2007/04/skeletal_animation.php' target='_blank'>Skeletal Animation tutorial</a></font>");
sCredits2 = (sCredits2 + "<br><br><br>");
sCredits2 = (((sCredits2 + "<FONT COLOR='#FFFFFF'>For more information, visit:<br></font><font color='") + cLinkColor) + "'><a href='http://TippingPointGame.com' target='_blank'>TippingPointGame.com</a><br><a href='http://Dan-Russell-Pinson.com' target='_blank'>Dan-Russell-Pinson.com</a><br></font>");
sCredits2 = (sCredits2 + "<br><br>");
sCredits2 = (((sCredits2 + "<FONT COLOR='#FFFFFF'>Find out when new chapters are added:<br></font><font color='") + cLinkColor) + "'><a href='http://www.tippingpointgame.com/tp/mailinglist.asp' target='_blank'>Join our mailing list!</a></font>");
txtCredits.htmlText = sCredits;
txtCredits2.htmlText = sCredits2;
Resume();
}
public function RandomNumber(_arg1:Number=0, _arg2:Number=1, _arg3:Boolean=false):Number{
var _local4:Number;
var _local5:Number;
_local4 = ((Math.random() * (_arg2 - _arg1)) + _arg1);
if (_arg3){
_local5 = (_local4 - int(_local4));
_local4 = int(_local4);
if (_local5 >= 0.5){
_local4++;
};
};
return (_local4);
}
public function RandomInt(_arg1:int, _arg2:int):int{
return ((int((Math.random() * ((_arg2 - _arg1) + 1))) + _arg1));
}
public function RemoveFromList(_arg1:String, _arg2:String, _arg3:String):String{
var _local4:Array;
var _local5:int;
var _local6:String;
_local4 = _arg1.split(_arg3);
_local6 = "";
_local5 = 0;
while (_local5 < _local4.length) {
if (_local4[_local5] != _arg2){
_local6 = AddToList(_local6, _local4[_local5], _arg3, true);
};
_local5++;
};
return (_local6);
}
override public function Resume():void{
mcXButton.addEventListener(MouseEvent.CLICK, ClickX);
}
public function GetFromList(_arg1:String, _arg2:int, _arg3:String):String{
var _local4:Array;
var _local5:String;
_local4 = _arg1.split(_arg3);
_local5 = "";
if (_arg2 <= _local4.length){
_local5 = _local4[(_arg2 - 1)];
};
return (_local5);
}
private function ShowSounds():String{
var _local1:String;
var _local2:Array;
var _local3:int;
_local1 = "";
_local2 = [["Answering Machine", "ilovewavs", "http://www.ilovewavs.com/comedy/AnsMach/AnsMach.htm"]];
_local3 = 0;
while (_local3 < _local2.length) {
_local1 = (((((_local1 + "<font color='") + cLinkColor) + "'><a href='") + _local2[_local3][2]) + "' target='_blank'>");
_local1 = (_local1 + _local2[_local3][0]);
_local1 = (_local1 + " - ");
_local1 = (_local1 + _local2[_local3][1]);
_local1 = (_local1 + "</a></font>");
_local1 = (_local1 + "<br>");
_local3++;
};
_local1 = (((_local1 + "<font size='12' color='") + cLinkColor) + "'>Sounds from <a href='http://freesound.iua.upf.edu' target='_blank'>The Freesound Project</a>:<br></font>");
_local1 = (((_local1 + "<font size='10' color='") + cLinkColor) + "'>");
_local1 = (_local1 + " glasschimes from ross63moose<br>");
_local1 = (_local1 + " glass break 2 from FreqMan<br>");
_local1 = (_local1 + " whistle1 from james11111<br>");
_local1 = (_local1 + " footstep-concrete from swuing<br>");
_local1 = (_local1 + " cassette from sagetyrtle<br>");
_local1 = (_local1 + " full soda can slides 4x from FreqMan<br>");
_local1 = (_local1 + " flopple12 from Corsica_S<br>");
_local1 = (_local1 + " modular love 06 from Corsica_S<br>");
_local1 = (_local1 + " 1 beep a from jobro<br>");
_local1 = (_local1 + " gamepiece from Feegle<br>");
_local1 = (_local1 + " Boiling from jobro<br>");
_local1 = (_local1 + "</font>");
return (_local1);
}
public function Display(_arg1:String):void{
var _local2:TextField;
_local2 = new TextField();
_local2.x = 0;
_local2.y = 0;
_local2.width = 800;
_local2.height = 600;
_local2.multiline = true;
_local2.htmlText = (("<font face='arial' size='14' color='#FFFFFF'>" + _arg1) + "</font>");
addChild(_local2);
}
private function ShowVideos():String{
var _local1:String;
var _local2:Array;
var _local3:int;
_local1 = "";
_local2 = [["Teenagers from Outer Space", "Tom Graeff Productions", "http://www.archive.org/details/teenagers_from_outerspace"], ["Your Name Here", "Calvin Communications", "http://www.archive.org/details/YourName1960"], ["When I Wake Up", "Wintergreen", "http://www.myspace.com/wintergreen"], ["Dance Monkeys Dance", "Ernest Cline", "http://www.ernestcline.com/"], ["The Big Bounce", "Fairbanks (Jerry) Productions", "http://www.archive.org/details/BigBounc1960"]];
_local3 = 0;
while (_local3 < _local2.length) {
_local1 = (((((_local1 + "<font color='") + cLinkColor) + "'><a href='") + _local2[_local3][2]) + "' target='_blank'>");
_local1 = (_local1 + _local2[_local3][0]);
_local1 = (_local1 + " - ");
_local1 = (_local1 + _local2[_local3][1]);
_local1 = (_local1 + "</a></font>");
_local1 = (_local1 + "<br>");
_local3++;
};
return (_local1);
}
private function ShowSongs():String{
var _local1:String;
var _local2:Array;
var _local3:int;
_local1 = "";
_local2 = [["Message Hidden In A Dream", "Dan R-P", "http://dan-russell-pinson.com/blog/music.asp"], ["Asleep at the Wheel", "Dan R-P", "http://dan-russell-pinson.com/blog/sounds.asp?sid=13&sids=&tags=music%2Cfort+pickens&DateCreatedFrom=&DateCreatedTo=&DateSoundRecordedFrom=&DateSoundRecordedTo=&CreatedBy=&Sort="], ["Experiences", "Dan R-P", "http://dan-russell-pinson.com/blog/music.asp"], ["Monotony", "Dan R-P", "http://dan-russell-pinson.com/blog/sounds.asp?sid=48&sids=&tags=music%2Cdan+russell%2Dpinson%2Ccharlotte1991%2D1995&DateCreatedFrom=&DateCreatedTo=&DateSoundRecordedFrom=&DateSoundRecordedTo=&CreatedBy=&Sort=priority"], ["Off Again", "Dan R-P", "http://dan-russell-pinson.com/blog/sounds.asp?sid=12&sids=&tags=music%2Cfort+pickens&DateCreatedFrom=&DateCreatedTo=&DateSoundRecordedFrom=&DateSoundRecordedTo=&CreatedBy=&Sort="], ["A Night Like Tonight", "Dan R-P, Arek Greniuk", "http://dan-russell-pinson.com/blog/sounds.asp?sid=26&sids=&tags=music%2Carek+greniuk&DateCreatedFrom=&DateCreatedTo=&DateSoundRecordedFrom=&DateSoundRecordedTo=&CreatedBy=&Sort=priority"], ["On Hold Music", "Dan R-P", ""], ["Meerkat Music", "Dan R-P", ""]];
_local3 = 0;
while (_local3 < _local2.length) {
_local1 = (((((_local1 + "<font color='") + cLinkColor) + "'><a href='") + _local2[_local3][2]) + "' target='_blank'>");
_local1 = (_local1 + _local2[_local3][0]);
_local1 = (_local1 + " - ");
_local1 = (_local1 + _local2[_local3][1]);
_local1 = (_local1 + "</a></font>");
_local1 = (_local1 + "<br>");
_local3++;
};
return (_local1);
}
override public function Update():void{
}
public function BadDomain():void{
var _local1:TextField;
_local1 = new TextField();
_local1.width = 800;
_local1.height = 300;
_local1.x = 0;
_local1.y = 220;
_local1.multiline = true;
_local1.filters = [new DropShadowFilter(2, 25)];
_local1.htmlText = "<P ALIGN='center'><FONT FACE='ARIAL' COLOR='#FFFFFF' SIZE='20'>";
_local1.htmlText = (_local1.htmlText + "<a href='http://www.tippingpointgame.com' target='_blank'>Tipping Point cannot be played on this web site<br><br>Click here to play it at TippingPointGame.com now</a>");
_local1.htmlText = (_local1.htmlText + "</FONT>");
_local1.selectable = false;
addChild(_local1);
}
public function ValidEmail(_arg1:String):Boolean{
var _local2:Array;
var _local3:Array;
var _local4:Boolean;
var _local5:String;
var _local6:String;
var _local7:String;
var _local8:String;
_local4 = true;
_local2 = _arg1.split("@");
if (_local2.length == 2){
_local5 = _local2[0];
_local6 = _local2[1];
if (_local5.length == 0){
_local4 = false;
};
_local3 = _local6.split(".");
if (_local3.length >= 2){
_local7 = _local3[0];
_local8 = _local3[1];
if (_local7.length == 0){
_local4 = false;
};
if (_local8.length == 0){
_local4 = false;
};
} else {
_local4 = false;
};
} else {
_local4 = false;
};
return (_local4);
}
public function CodeForChapter(_arg1:int):String{
var _local2:String;
var _local3:String;
_local2 = "";
_local3 = GetFromList(ChapterCodes(), _arg1, "|");
if (_local3 != ""){
_local2 = GetFromList(_local3, 2, ",");
};
return (_local2);
}
public function HTTPPost(_arg1:String, _arg2:URLVariables):void{
var myData:URLRequest;
var pURL = _arg1;
var pVariables = _arg2;
trace(((("HTTPPost: pURL=" + pURL) + " pVariables=") + pVariables));
myData = new URLRequest(pURL);
if (HTTPPostLoader == null){
HTTPPostLoader = new URLLoader();
};
myData.method = URLRequestMethod.POST;
myData.data = pVariables;
HTTPPostLoader.dataFormat = URLLoaderDataFormat.TEXT;
HTTPPostLoader.addEventListener(IOErrorEvent.IO_ERROR, HTTPPostError);
HTTPPostLoader.addEventListener(Event.COMPLETE, HTTPPostCompleteHandler);
try {
HTTPPostLoader.load(myData);
} catch(error:Error) {
trace(("HTTPPost CATCH error=" + error));
};
}
public function CurrentURL():String{
var sCurrentURL:String;
sCurrentURL = "";
try {
sCurrentURL = root.loaderInfo.url;
} catch(error:Error) {
trace(("error=" + error));
};
return (sCurrentURL);
}
private function HTTPPostCompleteHandler(_arg1:Event):void{
trace(("HTTPPostCompleteHandler: HTTPPostLoader.data=" + HTTPPostLoader.data));
}
public function ChapterForCode(_arg1:String):int{
var _local2:int;
var _local3:String;
var _local4:Array;
var _local5:int;
_local2 = -1;
_local4 = ChapterCodes().split("|");
_local5 = 0;
while (_local5 < _local4.length) {
_local3 = _local4[_local5];
if (_arg1 == GetFromList(_local3, 2, ",")){
_local2 = int(GetFromList(_local3, 1, ","));
_local5 = 999;
};
_local5++;
};
return (_local2);
}
private function HTTPPostError(_arg1:IOErrorEvent){
trace(("HTTPPostError error: " + _arg1));
}
public function AddToList(_arg1:String, _arg2:String, _arg3:String, _arg4:Boolean):String{
var _local5:Boolean;
var _local6:String;
_local6 = _arg1;
_local5 = false;
if (!_arg4){
if (String(((_arg3 + _local6) + _arg3)).indexOf(((_arg3 + _arg2) + _arg3)) > -1){
_local5 = true;
};
};
if (!_local5){
if (_local6 != ""){
_local6 = (_local6 + _arg3);
};
_local6 = (_local6 + _arg2);
};
return (_local6);
}
override public function Pause():void{
mcXButton.removeEventListener(MouseEvent.CLICK, ClickX);
}
override public function Destroy():void{
trace((this + ": Destroy"));
DestroyGlobal();
}
public function ListSize(_arg1:String, _arg2:String):int{
var _local3:Array;
_local3 = _arg1.split(_arg2);
return (_local3.length);
}
private function ClickX(_arg1:MouseEvent):void{
this.visible = false;
}
public function ChapterCodes():String{
return ("1,JAPSYL|2,QLOKIT|3,FREEKL|4,LEEPIT");
}
private function ShowPhotos():String{
var _local1:String;
var _local2:Array;
var _local3:int;
_local1 = "";
_local2 = [["Bigfoto.com", "http://www.bigfoto.com/"], ["iStockPhoto.com", "http://istockphoto.com"], ["R.W. Smith", "http://www.rwsmithwatches.com/"]];
_local3 = 0;
while (_local3 < _local2.length) {
_local1 = (((((_local1 + "<font color='") + cLinkColor) + "'><a href='") + _local2[_local3][1]) + "' target='_blank'>");
_local1 = (_local1 + _local2[_local3][0]);
_local1 = (_local1 + "</a>");
if (_local3 != (_local2.length - 1)){
_local1 = (_local1 + ", ");
};
_local1 = (_local1 + "</font>");
_local3++;
};
return (_local1);
}
public static function openWindow(_arg1:String, _arg2:String="_blank", _arg3:String=""):void{
var _local4:String;
if (ExternalInterface.available){
_local4 = getBrowserName();
if (_local4 == "Firefox"){
ExternalInterface.call("window.open", _arg1, _arg2, _arg3);
} else {
if (_local4 == "IE"){
ExternalInterface.call((("function setWMWindow() {window.open('" + _arg1) + "');}"));
} else {
navigateToURL(new URLRequest(_arg1), _arg2);
};
};
} else {
navigateToURL(new URLRequest(_arg1), _arg2);
};
}
private static function getBrowserName():String{
var _local1:String;
var _local2:String;
_local1 = "Undefined";
_local2 = ExternalInterface.call("function getBrowser(){return navigator.userAgent;}");
if (((!((_local2 == null))) && ((_local2.indexOf("Firefox") >= 0)))){
_local1 = "Firefox";
} else {
if (((!((_local2 == null))) && ((_local2.indexOf("Safari") >= 0)))){
_local1 = "Safari";
} else {
if (((!((_local2 == null))) && ((_local2.indexOf("MSIE") >= 0)))){
_local1 = "IE";
} else {
if (((!((_local2 == null))) && ((_local2.indexOf("Opera") >= 0)))){
_local1 = "Opera";
};
};
};
};
trace(("Browser name: " + _local1));
return (_local1);
}
}
}//package com.freecloud
Section 8
//clsHotSpot (com.freecloud.clsHotSpot)
package com.freecloud {
import flash.events.*;
import flash.utils.*;
import flash.display.*;
import flash.text.*;
import flash.filters.*;
import flash.ui.*;
public class clsHotSpot extends DanObject {
const cAlpha:Number = 0;
private var mcArrow:symArrow;
private var iCursorAnimateLength:int;// = 4
private var CustomCursor:Boolean;// = false
private var iCursorAnimateDir:int;// = 1
private var iCursorAnimate:int;// = 0
private var mcCustomCursor:DanObject;
private var txtMsg:TextField;
private var bGotText:Boolean;// = false
private var iCursorX:int;
private var iCursorY:int;
private var timerCursorAnimate:Timer;
public var spHotSpot:Sprite;
private var format:TextFormat;
public function clsHotSpot(_arg1:String="", _arg2:String="", _arg3:int=0, _arg4:String=""){
var _local5:Array;
var _local6:int;
var _local7:String;
var _local8:int;
var _local9:int;
var _local10:Boolean;
var _local11:int;
spHotSpot = new Sprite();
mcArrow = new symArrow();
txtMsg = new TextField();
format = new TextFormat();
CustomCursor = false;
iCursorAnimate = 0;
iCursorAnimateDir = 1;
iCursorAnimateLength = 4;
bGotText = false;
timerCursorAnimate = new Timer(50, 0);
super();
if (_arg2 != ""){
CustomCursor = true;
};
_local5 = _arg1.split("|");
_local10 = true;
if (_local5.length >= 0){
spHotSpot.graphics.beginFill(0xFFCC00);
_local11 = 0;
while (_local11 <= (_local5.length - 1)) {
_local7 = _local5[_local11];
_local6 = _local7.indexOf(",");
if (_local6 >= 0){
_local8 = int(_local7.slice(0, _local6));
_local9 = int(_local7.slice((_local6 + 1), _local7.length));
if (_local10){
spHotSpot.graphics.moveTo(_local8, _local9);
_local10 = false;
} else {
spHotSpot.graphics.lineTo(_local8, _local9);
};
};
_local11++;
};
spHotSpot.graphics.endFill();
if (!CustomCursor){
spHotSpot.buttonMode = true;
};
spHotSpot.alpha = cAlpha;
spHotSpot.x = (-1 * int((spHotSpot.width / 2)));
spHotSpot.y = (-1 * int((spHotSpot.height / 2)));
addChild(spHotSpot);
};
if (_arg2 == "Arrow"){
mcArrow.visible = false;
mcArrow.filters = [new DropShadowFilter(2, 25, 0, 0.5)];
mcArrow.mouseEnabled = false;
mcArrow.rotation = _arg3;
mcCustomCursor = mcArrow;
addChild(mcCustomCursor);
};
if (_arg4 != ""){
bGotText = true;
format.color = 0xFFFFFF;
format.font = "arial";
format.align = "center";
txtMsg.visible = false;
txtMsg.width = 300;
txtMsg.height = 18;
txtMsg.x = 0;
txtMsg.y = 0;
txtMsg.text = _arg4;
txtMsg.setTextFormat(format);
txtMsg.selectable = false;
addChild(txtMsg);
};
Resume();
}
override public function Resume():void{
if (CustomCursor){
addEventListener(MouseEvent.MOUSE_OVER, MouseOver);
addEventListener(MouseEvent.MOUSE_OUT, MouseOut);
};
}
function MouseOut(_arg1:MouseEvent):void{
Mouse.show();
mcCustomCursor.visible = false;
if (bGotText != ""){
txtMsg.visible = false;
};
removeEventListener(MouseEvent.MOUSE_MOVE, DrawCursor);
timerCursorAnimate.removeEventListener(TimerEvent.TIMER, AnimateCursor);
timerCursorAnimate.stop();
}
override public function Update():void{
}
function MouseOver(_arg1:MouseEvent):void{
addEventListener(MouseEvent.MOUSE_MOVE, DrawCursor);
timerCursorAnimate.addEventListener(TimerEvent.TIMER, AnimateCursor);
timerCursorAnimate.start();
}
public function Show():void{
spHotSpot.alpha = 0.5;
}
function AnimateCursor(_arg1:TimerEvent):void{
var _local2:*;
iCursorAnimate = (iCursorAnimate + iCursorAnimateDir);
if (iCursorAnimate >= iCursorAnimateLength){
iCursorAnimateDir = -1;
};
if (iCursorAnimate <= -(iCursorAnimateLength)){
iCursorAnimateDir = 1;
};
_local2 = (((mcCustomCursor.rotation - 180) * Math.PI) / 180);
mcCustomCursor.x = (iCursorX + (-(Math.sin(_local2)) * iCursorAnimate));
mcCustomCursor.y = (iCursorY + (Math.cos(_local2) * iCursorAnimate));
}
override public function Pause():void{
if (CustomCursor){
removeEventListener(MouseEvent.MOUSE_OVER, MouseOver);
removeEventListener(MouseEvent.MOUSE_OUT, MouseOut);
};
}
override public function Destroy():void{
trace("LEDDisplay: Destroy");
DestroyGlobal();
}
function DrawCursor(_arg1:MouseEvent):void{
iCursorX = ((_arg1.localX - (spHotSpot.width / 2)) + (mcCustomCursor.width / 3));
iCursorY = ((_arg1.localY - (spHotSpot.height / 2)) + (mcCustomCursor.height / 3));
iCursorAnimate = 0;
iCursorAnimateDir = 1;
mcCustomCursor.visible = true;
Mouse.hide();
if (bGotText != ""){
txtMsg.visible = true;
txtMsg.x = (iCursorX - (txtMsg.width / 2));
txtMsg.y = (iCursorY + 16);
};
mcCustomCursor.x = iCursorX;
mcCustomCursor.y = iCursorY;
}
}
}//package com.freecloud
Section 9
//clsInventory (com.freecloud.clsInventory)
package com.freecloud {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.filters.*;
public class clsInventory extends DanObject {
private const cTrayNudgeY = -8;
private const cTrayNudge = 12;
private const cTrayEdgeWidth = 33;
private var aryItems:Array;
private var cWidth:int;// = 640
private var cNumItems:int;// = 16
private var mcEdgeRight:symInventoryEdgeRight;
private var cHeight:int;// = 60
public var ObjectInHand:clsInventoryItem;
private var txtDescription:TextField;
public var ItemCount:int;// = 0
private var mcBack:DanObject;
public var HoldingObject:Boolean;// = false
private var mcTray:symInventoryTray;
private var format:TextFormat;
public function clsInventory(){
var _local1:int;
mcBack = new DanObject();
mcTray = new symInventoryTray();
mcEdgeRight = new symInventoryEdgeRight();
txtDescription = new TextField();
format = new TextFormat();
HoldingObject = false;
ItemCount = 0;
aryItems = new Array();
cWidth = 640;
cHeight = 60;
cNumItems = 16;
super();
ObjectInHand = null;
_local1 = 0;
while (_local1 <= cNumItems) {
aryItems.push(null);
_local1++;
};
mcBack.x = 820;
mcBack.y = ((600 - cHeight) + cTrayNudgeY);
addChild(mcBack);
mcTray.x = 225;
mcTray.y = 30;
mcBack.addChild(mcTray);
mcEdgeRight.x = (800 + (mcEdgeRight.width / 2));
mcEdgeRight.y = ((600 - (mcEdgeRight.height / 2)) + cTrayNudgeY);
addChild(mcEdgeRight);
format.color = 0xFFFFFF;
format.font = "arial";
format.align = "left";
txtDescription.visible = true;
txtDescription.width = 300;
txtDescription.height = 18;
txtDescription.x = 0;
txtDescription.y = -20;
txtDescription.text = "";
txtDescription.setTextFormat(format);
txtDescription.selectable = false;
txtDescription.filters = [new DropShadowFilter(1, 45, 0, 1, 2, 2, 1, 1)];
mcBack.addChild(txtDescription);
Resume();
}
public function NewScreen(_arg1:int):Boolean{
var _local2:Boolean;
var _local3:int;
trace("Inventory NewScreen");
_local2 = true;
if (HoldingObject){
trace("Inventory NewScreen HoldingObject=true");
if (ObjectInHand != null){
trace(("Inventory NewScreen ObjectInHand = " + ObjectInHand));
trace("Inventory NewScreen and putting down held object");
_local2 = false;
PutDownItem(true);
};
};
if (_local2){
_local3 = 0;
while (_local3 < aryItems.length) {
if (aryItems[_local3] != null){
if (aryItems[_local3].GetValue("InTray") == "false"){
trace((("Inventory NewScreen putting " + aryItems[_local3]) + " into tray"));
MoveItemToTray(aryItems[_local3], true, false);
};
};
_local3++;
};
};
return (_local2);
}
private function NextAvailableSlot():int{
var _local1:int;
var _local2:int;
trace("INVENTORY: NextAvailableSlot");
_local1 = 0;
_local2 = -1;
_local1 = 1;
while (_local1 <= aryItems.length) {
if (aryItems[_local1] == null){
_local2 = _local1;
break;
};
_local1++;
};
return (_local2);
}
public function MoveItemToTray(_arg1:clsInventoryItem, _arg2:Boolean=false, _arg3:Boolean=true, _arg4:Boolean=true):void{
var _local5:Number;
var _local6:Number;
var _local7:Number;
trace("INVENTORY: MoveItemToTray");
this.Parent.Parent.SetValue("Processing", "true");
_local5 = 0.01;
ObjectInHand = null;
HoldingObject = false;
_arg1.MouseEnabled(true);
_local6 = _arg1.InventoryScale;
_local7 = _arg1.InventoryRotation;
_arg1.addEventListener(TargetCompletedEvent.TARGET_NAME, ItemInInventory);
if (_arg2){
_local5 = 0.75;
if (_arg3){
if (_arg1.InventoryAddPickup){
_arg1.AddTarget("pickup,.75,linear,,400,300,1,1,0,1");
};
if (_arg1.InventoryAddPause){
_arg1.AddTarget("pause,1");
};
};
};
_arg1.AddTarget((((((((((((("AddToInventory," + _local5) + ",linear,,") + int((XFromSlot(_arg1.InventorySlot, _arg4) + _arg1.InventoryXOffset))) + ",") + int((YFromSlot(_arg1.InventorySlot, _arg4) + _arg1.InventoryYOffset))) + ",") + _local6) + ",") + _local6) + ",") + _local7) + ",1"));
}
private function YFromSlot(_arg1:int, _arg2:Boolean):int{
var _local3:int;
if (_arg2){
_local3 = (int((600 - (cHeight / 2))) + cTrayNudgeY);
} else {
_local3 = int((cHeight / 2));
};
return (_local3);
}
override public function Resume():void{
var _local1:int;
if (Parent != null){
Parent.addChild(this);
};
_local1 = 0;
while (_local1 < aryItems.length) {
if (aryItems[_local1] != null){
aryItems[_local1].Parent = this.Parent;
mcBack.addChild(aryItems[_local1]);
};
_local1++;
};
}
public function ScreenClick(_arg1:MouseEvent):Boolean{
var _local2:Boolean;
trace("Inventory ScreenClick");
_local2 = true;
if (HoldingObject){
trace("Inventory ScreenClick HoldingObject=true");
if (ObjectInHand != null){
trace(("Inventory ScreenClick ObjectInHand=" + ObjectInHand));
if (!ObjectInHand.ScreenClick(_arg1)){
trace("Inventory ScreenClick ObjectInHand.ScreenClick=true");
_local2 = false;
PutDownItem(true);
};
};
};
return (_local2);
}
public function RemoveItemByName(_arg1:String, _arg2:Boolean=false):void{
var _local3:int;
trace(((("RemoveItemByName pName=" + _arg1) + " pDestroy=") + _arg2));
_local3 = 1;
while (_local3 < aryItems.length) {
if (aryItems[_local3] != null){
if (aryItems[_local3].name == _arg1){
trace(((("Found item named " + _arg1) + " at slot ") + _local3));
RemoveItemBySlot(_local3, _arg2);
};
};
_local3++;
};
}
private function SlideTray():void{
var _local1:int;
var _local2:int;
trace("SlideTray");
_local2 = int((cWidth / cNumItems));
if (ItemCount == 0){
_local1 = 820;
mcEdgeRight.AddTarget(("right,.5,linear,," + int((800 + (mcEdgeRight.width / 2)))));
} else {
_local1 = (((800 - (ItemCount * _local2)) - cTrayEdgeWidth) - cTrayNudge);
mcEdgeRight.AddTarget(("left,.5,linear,," + int((800 - (mcEdgeRight.width / 2)))));
};
mcBack.AddTarget(("slide,.8,linear,," + _local1));
}
public function NameOfObjectInHand():String{
var _local1:String;
_local1 = "";
if (ObjectInHand != null){
_local1 = ObjectInHand.name;
};
return (_local1);
}
private function SlotFromX(_arg1:int):int{
var _local2:int;
var _local3:int;
var _local4:int;
_local2 = 0;
_local3 = 1;
while (_local3 <= cNumItems) {
_local4 = XFromSlot(_local3, true);
if ((((_arg1 >= (_local4 - ((cWidth / cNumItems) / 2)))) && ((_arg1 <= (_local4 + ((cWidth / cNumItems) / 2)))))){
_local2 = _local3;
break;
};
_local3++;
};
return (_local2);
}
public function ItemInInventory(_arg1:TargetCompletedEvent):void{
var _local2:clsInventoryItem;
if (_arg1.TargetName == "AddToInventory"){
_local2 = clsInventoryItem(_arg1.target);
_local2.PutInInventory();
_local2.SetValue("InTray", "true");
_local2.x = int((XFromSlot(_local2.InventorySlot, false) + _local2.InventoryXOffset));
_local2.y = int((YFromSlot(_local2.InventorySlot, false) + _local2.InventoryYOffset));
_local2.buttonMode = true;
_local2.addEventListener(MouseEvent.CLICK, ClickItem);
_local2.AddTargetGlow(("initial,0,linear,,0,0,1,3,.5," + _local2.GlowColor));
_local2.AddTargetGlow("glowup,.5,easein,,25,25,2,,.9");
_local2.AddTargetGlow("glowdown,1,easeout,,0,0,1,,.5");
mcBack.addChild(_local2);
_local2.addEventListener(MouseEvent.MOUSE_OVER, MouseOver);
_local2.addEventListener(MouseEvent.MOUSE_OUT, MouseOut);
this.Parent.Parent.SetValue("Processing", "false");
};
}
function MouseOut(_arg1:MouseEvent):void{
txtDescription.text = "";
}
public function ItemByName(_arg1:String):clsInventoryItem{
var _local2:int;
var _local3:clsInventoryItem;
_local3 = null;
_local2 = 1;
while (_local2 < aryItems.length) {
if (aryItems[_local2] != null){
if (aryItems[_local2].name == _arg1){
_local3 = aryItems[_local2];
};
};
_local2++;
};
return (_local3);
}
function ClickItem(_arg1:MouseEvent):void{
var _local2:clsInventoryItem;
var _local3:int;
var _local4:Number;
var _local5:Number;
_local3 = SlotFromX(_arg1.stageX);
_local2 = ItemFromSlot(_local3);
if (_local2 != null){
_local2.TakeFromInventory();
_local2.SetValue("InTray", "false");
_local2.removeEventListener(MouseEvent.MOUSE_OVER, MouseOver);
_local2.removeEventListener(MouseEvent.MOUSE_OUT, MouseOut);
txtDescription.text = "";
trace((("INVENTORY: ClickItem: " + _local2.name) + " was clicked"));
_local2.buttonMode = false;
_local2.removeEventListener(MouseEvent.CLICK, ClickItem);
_local2.x = int((XFromSlot(_local2.InventorySlot, true) + _local2.InventoryXOffset));
_local2.y = int((YFromSlot(_local2.InventorySlot, true) + _local2.InventoryYOffset));
trace(((((((("adding " + _local2.name) + " to ") + _local2.Parent) + " Item.x=") + _local2.x) + " Item.y=") + _local2.y));
DanScreen(_local2.Parent).addChild(_local2);
if (_local2.InventoryPickup){
DanScreen(_local2.Parent).ReplaceCursor(_local2);
};
_local2.MouseEnabled(false);
if (_local2.InventoryPickup){
_local4 = _local2.InventoryScaleActivate;
if (_local2.InventoryScaleXActivate != 0){
_local4 = _local2.InventoryScaleXActivate;
};
_local5 = _local2.InventoryScaleActivate;
if (_local2.InventoryScaleYActivate != 0){
_local5 = _local2.InventoryScaleYActivate;
};
_local2.addEventListener(TargetCompletedEvent.TARGET_NAME, ItemActivate);
_local2.AddTarget(((((("Activate,.25,linear,,,," + _local4) + ",") + _local5) + ",") + _local2.InventoryRotationActivate));
};
_local2.TakeFromInventoryEnd();
};
}
override public function Update():void{
}
public function PutDownItem(_arg1:Boolean=false):void{
if (HoldingObject){
trace("INVENTORY: PutDownItem");
DanScreen(ObjectInHand.Parent).RestoreCursor();
MoveItemToTray(ObjectInHand, _arg1, false);
};
}
function MouseOver(_arg1:MouseEvent):void{
var _local2:int;
var _local3:int;
var _local4:String;
var _local5:clsInventoryItem;
var _local6:int;
_local6 = SlotFromX(_arg1.stageX);
_local5 = ItemFromSlot(_local6);
if (_local5 == null){
trace("INVENTORY MouseOver: ITEM IS NULL!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ############");
} else {
_local4 = _local5.description;
if (_local4 == ""){
_local4 = "NO DESCRIPTION!!!!!";
};
txtDescription.text = _local4;
txtDescription.setTextFormat(format);
_local3 = ((800 - mcBack.x) - _local5.x);
if ((txtDescription.textWidth / 2) <= _local3){
_local2 = ((_local5.x - (txtDescription.textWidth / 2)) - 2);
} else {
_local2 = (((800 - txtDescription.textWidth) - mcBack.x) - 8);
};
txtDescription.x = _local2;
};
}
private function ItemFromSlot(_arg1:int):clsInventoryItem{
return (aryItems[_arg1]);
}
public function AddItem(_arg1:clsInventoryItem, _arg2:Boolean=false, _arg3:Boolean=true):int{
var _local4:int;
trace(("INVENTORY: AddItem pItem=" + _arg1));
_arg1.PickupItem();
_arg1.InInventory = true;
_local4 = NextAvailableSlot();
aryItems[_local4] = _arg1;
_arg1.visible = true;
_arg1.InventorySlot = _local4;
ItemCount++;
SlideTray();
DanScreen(_arg1.Parent).addChild(_arg1);
MoveItemToTray(_arg1, _arg2, _arg3);
return (_local4);
}
private function XFromSlot(_arg1:int, _arg2:Boolean):int{
var _local3:int;
var _local4:int;
var _local5:int;
_local3 = int((cWidth / cNumItems));
_local4 = cTrayEdgeWidth;
if (_arg2){
_local4 = ((800 - (ItemCount * _local3)) - cTrayNudge);
};
_local5 = ((_local4 + ((_arg1 - 1) * _local3)) + int((_local3 / 2)));
return (_local5);
}
public function ItemActivate(_arg1:TargetCompletedEvent):void{
if (_arg1.TargetName == "Activate"){
ObjectInHand = clsInventoryItem(_arg1.target);
HoldingObject = true;
};
}
private function RemoveGap(_arg1:int):void{
var _local2:int;
trace(((("RemoveGap pSlot=" + _arg1) + " aryItems.length=") + aryItems.length));
_local2 = _arg1;
while (_local2 < aryItems.length) {
trace(((aryItems[_local2] + " = ") + aryItems[(_local2 + 1)]));
aryItems[_local2] = aryItems[(_local2 + 1)];
if (aryItems[_local2] != null){
trace(((("aryItems[idx]=" + aryItems[_local2]) + " InTray=") + aryItems[_local2].GetValue("InTray")));
if (aryItems[_local2].GetValue("InTray") == "true"){
aryItems[_local2].x = int((XFromSlot(_local2, false) + aryItems[_local2].InventoryXOffset));
};
aryItems[_local2].InventorySlot = _local2;
};
_local2++;
};
aryItems[aryItems.length] = null;
}
public function RemoveItemBySlot(_arg1:int, _arg2:Boolean=false):void{
var _local3:clsInventoryItem;
trace(((("RemoveItemBySlot pSlot=" + _arg1) + " pDestroy=") + _arg2));
_local3 = aryItems[_arg1];
if (_local3 != null){
_local3.InInventory = false;
if (ObjectInHand != null){
if (ObjectInHand.InventorySlot == _arg1){
DanScreen(ObjectInHand.Parent).RestoreCursor();
ObjectInHand = null;
HoldingObject = false;
};
};
if (mcBack.contains(_local3)){
mcBack.removeChild(_local3);
};
aryItems[_arg1] = null;
ItemCount--;
if (_arg2){
if (DanScreen(ObjectInHand.Parent).contains(_local3)){
DanScreen(ObjectInHand.Parent).removeChild(_local3);
};
_local3.Destroy();
};
RemoveGap(_arg1);
SlideTray();
};
}
override public function Pause():void{
}
override public function Destroy():void{
trace((this + ": Destroy"));
DestroyGlobal();
ObjectInHand = null;
}
}
}//package com.freecloud
Section 10
//clsInventoryItem (com.freecloud.clsInventoryItem)
package com.freecloud {
import flash.events.*;
import flash.filters.*;
public class clsInventoryItem extends DanObject {
public var InventoryXOffset:int;// = 0
public var InventoryScaleActivate:Number;// = 0.3
public var InventoryAddPickup:Boolean;// = true
public var InventoryScaleYActivate:Number;// = 0
public var InventoryRotation:int;// = 0
public var InventoryPickup:Boolean;// = true
public var InventoryAddPause:Boolean;// = true
public var InventorySlot:int;// = -1
public var InventoryScale:Number;// = 0.16
public var InventoryYOffset:int;// = 0
public var InInventory:Boolean;// = false
public var InventoryScaleXActivate:Number;// = 0
public var InventoryRotationActivate:int;// = 0
public function clsInventoryItem(){
InventoryScale = 0.16;
InventoryRotation = 0;
InventoryXOffset = 0;
InventoryYOffset = 0;
InventoryScaleActivate = 0.3;
InventoryScaleXActivate = 0;
InventoryScaleYActivate = 0;
InventoryRotationActivate = 0;
InventorySlot = -1;
InventoryPickup = true;
InInventory = false;
InventoryAddPickup = true;
InventoryAddPause = true;
super();
this.filters = [new GlowFilter(0xFFFFFF, 1, 0, 0, 0)];
GlowColor = 16775065;
Resume();
}
override public function Resume():void{
}
public function ScreenClick(_arg1:MouseEvent):Boolean{
trace((this + ": ScreenClick"));
return (false);
}
override public function Update():void{
}
public function PutInInventory():void{
trace((this + " PutInInventory"));
}
public function GlowUp():void{
if (this.GetValue("glow") != "true"){
this.AddTargetGlow(("glowup,0,linear,,0,0,1,3,1," + GlowColor), true);
this.AddTargetGlow("glowup,.25,easein,,20,20,2");
this.SetValue("glow", "true");
};
}
public function TakeFromInventory():void{
trace((this + " TakeFromInventory"));
}
public function TakeFromInventoryEnd():void{
trace((this + " TakeFromInventoryEnd"));
}
public function PickupItem():void{
trace((this + " PickupItem"));
}
override public function Pause():void{
}
override public function Destroy():void{
trace((this + ": Destroy"));
DestroyGlobal();
}
public function GlowDown():void{
this.AddTargetGlow("glowdown,.25,easeout,,0,0,1", true);
this.SetValue("glow", "false");
}
}
}//package com.freecloud
Section 11
//clsTitleScreen (com.freecloud.clsTitleScreen)
package com.freecloud {
import flash.events.*;
import flash.net.*;
import flash.utils.*;
import flash.display.*;
import flash.text.*;
import flash.filters.*;
import flash.external.*;
public class clsTitleScreen extends DanScreen {
private var mcCodeEnter:clsCodeEnter;
private var fltDropShadow:DropShadowFilter;
private var mcCredits:symCredits;
private var mcSponsorLogo:MovieClip;
private var mcChapterBox:symChapterBox;
private var timerGlow:Timer;
private var txtInstructionsPlayGame:TextField;
private var cGlowColor:uint;// = 0xFFFFFF
private var mcInstructionsPlayGame:DanObject;
private var mcTimedGame:symTimedGame;
private var CreditsAlpha:Number;// = 0.4
private var txtInstructionsLoadChapter:TextField;
private var mcPlayGame:symPlayGame;
private var txtInstructionsTimedGame:TextField;
private var TimedGameAlphaTarget:Number;// = 0.4
private var mcLoadChapter:symLoadChapter;
private var mcInstructionsLoadChapter:DanObject;
private var TimedGameAlpha:Number;// = 0.4
private var mcChapters123:symChapters123;
private var mcTitleScreenBackground:symTitleScreenBackground;
private var mcChapterHeader:symChapterHeader;
private var PlayGameAlphaTarget:Number;// = 0.4
private var txtCopyright:TextField;
private var txtChapterNumber:TextField;
private var LoadChapterAlpha:Number;// = 0.4
var HTTPPostLoader:URLLoader;// = null
private var hsShowTime:clsHotSpot;
private var mcTippingPoint2:symTippingPoint;
private var PlayGameAlpha:Number;// = 0.4
private var LoadChapterAlphaTarget:Number;// = 0.4
private var mcInstructionsTimedGame:DanObject;
private var mcTippingPoint:symTippingPoint;
private var mcSponsorLogo2:MovieClip;
private var mcCreditsContent:clsCredits;
private var CreditsAlphaTarget:Number;// = 0.4
private var mcLeaderBoard:DanObject;
private var MenuYOffset:int;// = 0
private var txtShowTime:TextField;
public function clsTitleScreen(_arg1:DanObject=null, _arg2:int=0, _arg3:Number=0.6, _arg4:Number=0.9){
var _local5:String;
var _local6:Number;
var _local7:int;
var _local8:int;
mcTippingPoint = new symTippingPoint();
mcTippingPoint2 = new symTippingPoint();
mcChapters123 = new symChapters123();
txtChapterNumber = new TextField();
mcTitleScreenBackground = new symTitleScreenBackground();
mcChapterBox = new symChapterBox();
mcChapterHeader = new symChapterHeader();
mcPlayGame = new symPlayGame();
mcTimedGame = new symTimedGame();
txtShowTime = new TextField();
hsShowTime = new clsHotSpot("0,0|150,0|150,15|0,15");
mcLeaderBoard = new DanObject();
mcLoadChapter = new symLoadChapter();
mcInstructionsPlayGame = new DanObject();
mcInstructionsTimedGame = new DanObject();
mcInstructionsLoadChapter = new DanObject();
txtInstructionsPlayGame = new TextField();
txtInstructionsTimedGame = new TextField();
txtInstructionsLoadChapter = new TextField();
mcCredits = new symCredits();
mcCreditsContent = new clsCredits();
txtCopyright = new TextField();
timerGlow = new Timer(10, 0);
fltDropShadow = new DropShadowFilter(2);
MenuYOffset = 0;
PlayGameAlpha = 0.4;
PlayGameAlphaTarget = 0.4;
TimedGameAlpha = 0.4;
TimedGameAlphaTarget = 0.4;
LoadChapterAlpha = 0.4;
LoadChapterAlphaTarget = 0.4;
CreditsAlpha = 0.4;
CreditsAlphaTarget = 0.4;
cGlowColor = 0xFFFFFF;
HTTPPostLoader = null;
super();
trace((this + " Initialized"));
if (_arg1.Command("ValidSite") == "true"){
this.Parent = _arg1;
mcTitleScreenBackground.x = 400;
mcTitleScreenBackground.y = 298;
mcTitleScreenBackground.alpha = _arg3;
addChild(mcTitleScreenBackground);
mcTippingPoint.x = 406;
mcTippingPoint.y = 182;
mcTippingPoint.filters = [new GlowFilter(0xFFFFFF, 1, 40, 40, 1, 2, false, true)];
mcTippingPoint.alpha = 0.7;
addChild(mcTippingPoint);
mcTippingPoint2.x = 404;
mcTippingPoint2.y = 180;
mcTippingPoint2.alpha = 0;
addChild(mcTippingPoint2);
if (Chapter(_arg1).BuildObject.Bundle){
mcChapters123.x = 400;
mcChapters123.y = 200;
addChild(mcChapters123);
};
if (Chapter(_arg1).BuildObject.Bundle){
MenuYOffset = -10;
};
if (!Chapter(_arg1).BuildObject.Bundle){
mcChapterBox.x = 400;
mcChapterBox.y = 230;
mcChapterBox.alpha = 0.4;
mcChapterBox.filters = [new DropShadowFilter(4, 25)];
addChild(mcChapterBox);
mcChapterHeader.x = 400;
mcChapterHeader.y = 208;
mcChapterHeader.alpha = _arg4;
mcChapterHeader.filters = [new DropShadowFilter(1, 25)];
addChild(mcChapterHeader);
txtChapterNumber.x = 200;
txtChapterNumber.y = 209;
txtChapterNumber.width = 400;
txtChapterNumber.height = 70;
txtChapterNumber.filters = [new DropShadowFilter(3, 25)];
txtChapterNumber.selectable = false;
txtChapterNumber.multiline = false;
txtChapterNumber.htmlText = (("<p align='center'><font face='Comic Sans MS' size='46' color='#C5CFFA'>" + _arg2) + "</font>");
addChild(txtChapterNumber);
};
mcPlayGame.x = 400;
mcPlayGame.y = (310 + MenuYOffset);
mcPlayGame.buttonMode = true;
mcPlayGame.filters = [new GlowFilter(cGlowColor, PlayGameAlpha, 48, 48, 4, 2, false, false), fltDropShadow];
mcPlayGame.alpha = _arg4;
addChild(mcPlayGame);
mcInstructionsPlayGame.x = (mcPlayGame.x + 150);
mcInstructionsPlayGame.y = (mcPlayGame.y - 22);
mcInstructionsPlayGame.alpha = 0;
addChild(mcInstructionsPlayGame);
txtInstructionsPlayGame.x = 0;
txtInstructionsPlayGame.y = 0;
txtInstructionsPlayGame.width = 250;
txtInstructionsPlayGame.height = 100;
txtInstructionsPlayGame.filters = [new DropShadowFilter(3, 25)];
txtInstructionsPlayGame.selectable = false;
txtInstructionsPlayGame.multiline = true;
txtInstructionsPlayGame.wordWrap = true;
_local5 = "Play ";
if (!Chapter(_arg1).BuildObject.Bundle){
_local5 = (((_local5 + "chapter ") + String(_arg2)) + " of ");
};
_local5 = (_local5 + "Tipping Point");
txtInstructionsPlayGame.htmlText = (("<p align='left'><font face='arial' size='16' color='#C5CFFA'>" + _local5) + "</font>");
mcInstructionsPlayGame.addChild(txtInstructionsPlayGame);
if (!Chapter(_arg1).BuildObject.Bundle){
txtShowTime.width = 800;
txtShowTime.height = 50;
txtShowTime.x = 0;
txtShowTime.y = (334 + MenuYOffset);
txtShowTime.filters = [new DropShadowFilter(3, 25)];
txtShowTime.htmlText = "<P ALIGN='center'><FONT FACE='ARIAL' COLOR='#C5CFFA' SIZE='13'>See the fastest times</FONT>";
txtShowTime.selectable = false;
addChild(txtShowTime);
hsShowTime.x = 400;
hsShowTime.y = (txtShowTime.y + 10);
addChild(hsShowTime);
hsShowTime.addEventListener(MouseEvent.CLICK, ClickShowTime);
};
if (((false) && (!(Chapter(_arg1).BuildObject.Bundle)))){
mcTimedGame.x = 400;
mcTimedGame.y = (380 + MenuYOffset);
mcTimedGame.buttonMode = true;
mcTimedGame.filters = [new GlowFilter(cGlowColor, TimedGameAlpha, 48, 48, 4, 2, false, false), fltDropShadow];
mcTimedGame.alpha = _arg4;
addChild(mcTimedGame);
mcInstructionsTimedGame.x = (mcTimedGame.x + 150);
mcInstructionsTimedGame.y = (mcTimedGame.y - 18);
mcInstructionsTimedGame.alpha = 0;
addChild(mcInstructionsTimedGame);
txtInstructionsTimedGame.x = 0;
txtInstructionsTimedGame.y = 0;
txtInstructionsTimedGame.width = 250;
txtInstructionsTimedGame.height = 100;
txtInstructionsTimedGame.filters = [new DropShadowFilter(3, 25)];
txtInstructionsTimedGame.selectable = false;
txtInstructionsTimedGame.multiline = true;
txtInstructionsTimedGame.wordWrap = true;
txtInstructionsTimedGame.htmlText = "<p align='left'><font face='arial' size='16' color='#C5CFFA'>Play with a timer and compete to finish with the fastest time.</font>";
mcInstructionsTimedGame.addChild(txtInstructionsTimedGame);
txtShowTime.width = 800;
txtShowTime.height = 50;
txtShowTime.x = 0;
txtShowTime.y = (400 + MenuYOffset);
txtShowTime.filters = [new DropShadowFilter(3, 25)];
txtShowTime.htmlText = "<P ALIGN='center'><FONT FACE='ARIAL' COLOR='#C5CFFA' SIZE='13'>See the fastest times</FONT>";
txtShowTime.selectable = false;
addChild(txtShowTime);
hsShowTime.x = 400;
hsShowTime.y = (txtShowTime.y + 10);
addChild(hsShowTime);
hsShowTime.addEventListener(MouseEvent.CLICK, ClickShowTime);
};
if (_arg1.Command("LoadChapterMenu") == "true"){
mcLoadChapter.x = 400;
mcLoadChapter.y = (390 + MenuYOffset);
if (Chapter(_arg1).BuildObject.Bundle){
mcLoadChapter.y = (380 + MenuYOffset);
};
mcLoadChapter.buttonMode = true;
mcLoadChapter.filters = [new GlowFilter(cGlowColor, LoadChapterAlpha, 48, 48, 4, 2, false, false), fltDropShadow];
mcLoadChapter.alpha = _arg4;
addChild(mcLoadChapter);
mcCodeEnter = new clsCodeEnter(this, Chapter(_arg1).BuildObject);
addChild(mcCodeEnter);
mcInstructionsLoadChapter.x = (mcLoadChapter.x + 150);
mcInstructionsLoadChapter.y = (mcLoadChapter.y - 20);
mcInstructionsLoadChapter.alpha = 0;
addChild(mcInstructionsLoadChapter);
txtInstructionsLoadChapter.x = 0;
txtInstructionsLoadChapter.y = 0;
txtInstructionsLoadChapter.width = 250;
txtInstructionsLoadChapter.height = 100;
txtInstructionsLoadChapter.filters = [new DropShadowFilter(3, 25)];
txtInstructionsLoadChapter.selectable = false;
txtInstructionsLoadChapter.multiline = true;
txtInstructionsLoadChapter.wordWrap = true;
txtInstructionsLoadChapter.htmlText = (("<p align='left'><font face='arial' size='16' color='#C5CFFA'>Play a different chapter besides chapter " + _arg2) + ".</font>");
mcInstructionsLoadChapter.addChild(txtInstructionsLoadChapter);
};
mcCredits.x = 400;
mcCredits.y = (530 + MenuYOffset);
mcCredits.buttonMode = true;
mcCredits.filters = [new GlowFilter(cGlowColor, CreditsAlpha, 48, 48, 4, 2, false, false), fltDropShadow];
mcCredits.alpha = _arg4;
addChild(mcCredits);
mcCreditsContent.x = 0;
mcCreditsContent.y = (0 + MenuYOffset);
mcCreditsContent.visible = false;
addChild(mcCreditsContent);
txtCopyright.width = 400;
txtCopyright.height = 20;
txtCopyright.x = 200;
txtCopyright.y = 570;
txtCopyright.filters = [new DropShadowFilter(1, 25)];
txtCopyright.selectable = false;
txtCopyright.multiline = false;
txtCopyright.htmlText = (("<p align='center'><font face='arial' size='12' color='#FFFFFF'><a href='http://dan-russell-pinson.com' target='_blank'>Copyright © 2007-2008 Dan Russell-Pinson</a> (" + Parent.Command("FullVersion")) + ")</font>");
addChild(txtCopyright);
mcTippingPoint.AddTarget("tilt,2,linear,,,,,,8");
_local7 = 8;
while (_local7 >= 1) {
_local6 = (3 * ((_local7 + 4) / 10));
mcTippingPoint.AddTarget(((("tilt," + _local6) + ",linear,.3,,,,,") + -(_local7)));
mcTippingPoint.AddTarget(((("tilt," + _local6) + ",linear,.3,,,,,") + _local7));
_local7 = (_local7 - 2);
};
mcTippingPoint.AddTarget((("tilt," + _local6) + ",linear,,,,,,0"));
mcTippingPoint2.AddTarget("fadeup,5,linear,,,,,,,.6");
mcTippingPoint2.AddTarget("fadedown,5,linear,,,,,,,.3");
mcTippingPoint2.AddTarget("fadeup,5,linear,,,,,,,.8");
mcTippingPoint2.AddTarget("fadedown,5,linear,,,,,,,.1");
mcTippingPoint2.AddTarget("fadeup,5,linear,,,,,,,.6");
mcTippingPoint2.AddTarget("fadedown,5,linear,,,,,,,.3");
mcTippingPoint2.AddTarget("fadeup,5,linear,,,,,,,.6");
mcTippingPoint2.AddTarget("fadedown,10,linear,,,,,,,.3");
mcTippingPoint2.AddTarget("fadeup,10,linear,,,,,,,.6");
mcTippingPoint2.AddTarget("fadedown,10,linear,,,,,,,.3");
mcTippingPoint2.AddTarget("fadeup,10,linear,,,,,,,.6");
_local8 = 1;
while (_local8 < 10) {
mcChapters123.AddTarget("fadeup,5,linear,,,,,,,.4");
mcChapters123.AddTarget("fadeup,5,linear,,,,,,,.8");
_local8++;
};
mcLeaderBoard.x = 200;
mcLeaderBoard.y = 150;
addChild(mcLeaderBoard);
if (Chapter(_arg1).BuildObject.Bundle){
mcSponsorLogo = new BubbleBoxLinkNDC();
mcSponsorLogo.x = 80;
mcSponsorLogo.y = 575;
mcSponsorLogo.scaleX = (mcSponsorLogo.scaleY = 0.4);
mcSponsorLogo.buttonMode = true;
mcSponsorLogo.addEventListener(MouseEvent.CLICK, ClickBBX);
addChild(mcSponsorLogo);
mcSponsorLogo2 = new symFGNLogo();
mcSponsorLogo2.x = 724;
mcSponsorLogo2.y = 563;
mcSponsorLogo2.scaleX = (mcSponsorLogo2.scaleY = 0.4);
mcSponsorLogo2.buttonMode = true;
mcSponsorLogo2.addEventListener(MouseEvent.CLICK, ClickFGN);
addChild(mcSponsorLogo2);
};
Resume();
} else {
BadDomain();
};
Chapter(_arg1).Command("trace", ("TimedGameScreen=" + String(Chapter(_arg1).TimedGameScreen)));
Chapter(_arg1).Command("trace", ("CurrentChapter=" + String(Chapter(_arg1).CurrentChapter)));
Chapter(_arg1).Command("trace", ("ChapterVersion=" + String(Chapter(_arg1).ChapterVersion)));
Chapter(_arg1).Command("trace", ("ToBeContinuedScreen=" + String(Chapter(_arg1).ToBeContinuedScreen)));
Chapter(_arg1).Command("trace", ("TitleScreen=" + String(Chapter(_arg1).TitleScreen)));
}
private function PlayGameHighlight(_arg1:MouseEvent):void{
var _local2:GlowFilter;
PlayGameAlphaTarget = 1;
_local2 = mcPlayGame.filters[0];
_local2.knockout = true;
mcPlayGame.filters = [_local2, fltDropShadow];
mcInstructionsPlayGame.AddTarget("FadeUp,.6,linear,,,,,,,1", true);
}
private function LoadChapterHighlight(_arg1:MouseEvent):void{
var _local2:GlowFilter;
LoadChapterAlphaTarget = 1;
_local2 = mcLoadChapter.filters[0];
_local2.knockout = true;
mcLoadChapter.filters = [_local2, fltDropShadow];
mcInstructionsLoadChapter.AddTarget("FadeUp,.6,linear,,,,,,,1", true);
}
private function ClickLoadChapter(_arg1:MouseEvent):void{
Chapter(Parent).LoadSWFChapter(String(2), true, false);
}
public function RandomNumber(_arg1:Number=0, _arg2:Number=1, _arg3:Boolean=false):Number{
var _local4:Number;
var _local5:Number;
_local4 = ((Math.random() * (_arg2 - _arg1)) + _arg1);
if (_arg3){
_local5 = (_local4 - int(_local4));
_local4 = int(_local4);
if (_local5 >= 0.5){
_local4++;
};
};
return (_local4);
}
public function RandomInt(_arg1:int, _arg2:int):int{
return ((int((Math.random() * ((_arg2 - _arg1) + 1))) + _arg1));
}
private function StartButton(_arg1:MouseEvent):void{
Chapter(Parent).Command("trace", "StartButton");
if (Chapter(Parent).BuildObject.Bundle){
Chapter(Parent).LoadSWFChapter(String(1), true);
} else {
Parent.Command("StartNormalGame");
};
}
private function LoadChapterRestore(_arg1:MouseEvent):void{
var _local2:GlowFilter;
LoadChapterAlphaTarget = 0.4;
_local2 = mcLoadChapter.filters[0];
_local2.knockout = false;
mcLoadChapter.filters = [_local2, fltDropShadow];
mcInstructionsLoadChapter.AddTarget("FadeDown,.6,linear,,,,,,,0", true);
}
public function RemoveFromList(_arg1:String, _arg2:String, _arg3:String):String{
var _local4:Array;
var _local5:int;
var _local6:String;
_local4 = _arg1.split(_arg3);
_local6 = "";
_local5 = 0;
while (_local5 < _local4.length) {
if (_local4[_local5] != _arg2){
_local6 = AddToList(_local6, _local4[_local5], _arg3, true);
};
_local5++;
};
return (_local6);
}
function TimerGlow(_arg1:TimerEvent):void{
var _local2:GlowFilter;
var _local3:Number;
_local3 = 0.05;
if (Math.abs((PlayGameAlpha - PlayGameAlphaTarget)) >= _local3){
if (PlayGameAlpha < PlayGameAlphaTarget){
PlayGameAlpha = (PlayGameAlpha + _local3);
};
if (PlayGameAlpha > PlayGameAlphaTarget){
PlayGameAlpha = (PlayGameAlpha - _local3);
};
_local2 = mcPlayGame.filters[0];
_local2.alpha = PlayGameAlpha;
mcPlayGame.filters = [_local2, fltDropShadow];
};
if (Math.abs((TimedGameAlpha - TimedGameAlphaTarget)) >= _local3){
if (TimedGameAlpha < TimedGameAlphaTarget){
TimedGameAlpha = (TimedGameAlpha + _local3);
};
if (TimedGameAlpha > TimedGameAlphaTarget){
TimedGameAlpha = (TimedGameAlpha - _local3);
};
_local2 = mcTimedGame.filters[0];
_local2.alpha = TimedGameAlpha;
mcTimedGame.filters = [_local2, fltDropShadow];
};
if (Math.abs((LoadChapterAlpha - LoadChapterAlphaTarget)) >= _local3){
if (LoadChapterAlpha < LoadChapterAlphaTarget){
LoadChapterAlpha = (LoadChapterAlpha + _local3);
};
if (LoadChapterAlpha > LoadChapterAlphaTarget){
LoadChapterAlpha = (LoadChapterAlpha - _local3);
};
_local2 = mcLoadChapter.filters[0];
_local2.alpha = LoadChapterAlpha;
mcLoadChapter.filters = [_local2, fltDropShadow];
};
if (Math.abs((CreditsAlpha - CreditsAlphaTarget)) >= _local3){
if (CreditsAlpha < CreditsAlphaTarget){
CreditsAlpha = (CreditsAlpha + _local3);
};
if (CreditsAlpha > CreditsAlphaTarget){
CreditsAlpha = (CreditsAlpha - _local3);
};
_local2 = mcCredits.filters[0];
_local2.alpha = CreditsAlpha;
mcCredits.filters = [_local2, fltDropShadow];
};
}
override public function Resume():void{
mcPlayGame.addEventListener(MouseEvent.CLICK, StartButton);
mcTimedGame.addEventListener(MouseEvent.CLICK, TimedButton);
mcCredits.addEventListener(MouseEvent.CLICK, CreditsButton);
mcPlayGame.addEventListener(MouseEvent.MOUSE_OVER, PlayGameHighlight);
mcPlayGame.addEventListener(MouseEvent.MOUSE_OUT, PlayGameRestore);
mcTimedGame.addEventListener(MouseEvent.MOUSE_OVER, TimedGameHighlight);
mcTimedGame.addEventListener(MouseEvent.MOUSE_OUT, TimedGameRestore);
if (Parent.Command("LoadChapterMenu") == "true"){
mcLoadChapter.addEventListener(MouseEvent.CLICK, ChapterButton);
mcLoadChapter.addEventListener(MouseEvent.MOUSE_OVER, LoadChapterHighlight);
mcLoadChapter.addEventListener(MouseEvent.MOUSE_OUT, LoadChapterRestore);
};
mcCredits.addEventListener(MouseEvent.MOUSE_OVER, CreditsHighlight);
mcCredits.addEventListener(MouseEvent.MOUSE_OUT, CreditsRestore);
timerGlow.addEventListener(TimerEvent.TIMER, TimerGlow);
timerGlow.start();
}
private function TimedGameRestore(_arg1:MouseEvent):void{
var _local2:GlowFilter;
TimedGameAlphaTarget = 0.4;
_local2 = mcTimedGame.filters[0];
_local2.knockout = false;
mcTimedGame.filters = [_local2, fltDropShadow];
mcInstructionsTimedGame.AddTarget("FadeDown,.6,linear,,,,,,,0", true);
}
private function PlayGameRestore(_arg1:MouseEvent):void{
var _local2:GlowFilter;
PlayGameAlphaTarget = 0.4;
_local2 = mcPlayGame.filters[0];
_local2.knockout = false;
mcPlayGame.filters = [_local2, fltDropShadow];
mcInstructionsPlayGame.AddTarget("FadeDown,.6,linear,,,,,,,0", true);
}
private function CreditsButton(_arg1:MouseEvent):void{
mcCreditsContent.visible = true;
}
public function Display(_arg1:String):void{
var _local2:TextField;
_local2 = new TextField();
_local2.x = 0;
_local2.y = 0;
_local2.width = 800;
_local2.height = 600;
_local2.multiline = true;
_local2.htmlText = (("<font face='arial' size='14' color='#FFFFFF'>" + _arg1) + "</font>");
addChild(_local2);
}
private function CreditsRestore(_arg1:MouseEvent):void{
var _local2:GlowFilter;
CreditsAlphaTarget = 0.4;
_local2 = mcCredits.filters[0];
_local2.knockout = false;
mcCredits.filters = [_local2, fltDropShadow];
}
public function GetFromList(_arg1:String, _arg2:int, _arg3:String):String{
var _local4:Array;
var _local5:String;
_local4 = _arg1.split(_arg3);
_local5 = "";
if (_arg2 <= _local4.length){
_local5 = _local4[(_arg2 - 1)];
};
return (_local5);
}
override public function Update():void{
}
private function ClickShowTime(_arg1:MouseEvent):void{
Chapter(Parent).BuildObject.LeaderBoardView(this, mcLeaderBoard, Chapter(Parent).CurrentChapter);
}
public function BadDomain():void{
var _local1:TextField;
_local1 = new TextField();
_local1.width = 800;
_local1.height = 300;
_local1.x = 0;
_local1.y = 220;
_local1.multiline = true;
_local1.filters = [new DropShadowFilter(2, 25)];
_local1.htmlText = "<P ALIGN='center'><FONT FACE='ARIAL' COLOR='#FFFFFF' SIZE='20'>";
_local1.htmlText = (_local1.htmlText + "<a href='http://www.tippingpointgame.com' target='_blank'>Tipping Point cannot be played on this web site<br><br>Click here to play it at TippingPointGame.com now</a>");
_local1.htmlText = (_local1.htmlText + "</FONT>");
_local1.selectable = false;
addChild(_local1);
}
private function TimedGameHighlight(_arg1:MouseEvent):void{
var _local2:GlowFilter;
TimedGameAlphaTarget = 1;
_local2 = mcTimedGame.filters[0];
_local2.knockout = true;
mcTimedGame.filters = [_local2, fltDropShadow];
mcInstructionsTimedGame.AddTarget("FadeUp,.6,linear,,,,,,,1", true);
}
override public function Command(_arg1:String, _arg2:String="", _arg3:String="", _arg4:String="", _arg5:String=""):String{
var _local6:String;
if (_arg1.substr(0, 11) == "LoadChapter"){
_local6 = GetFromList(_arg1, 2, "|");
trace(("LoadChapter: " + _local6));
SetValue("ChapterLoaded", _local6, 1);
};
return ("");
}
public function CodeForChapter(_arg1:int):String{
var _local2:String;
var _local3:String;
_local2 = "";
_local3 = GetFromList(ChapterCodes(), _arg1, "|");
if (_local3 != ""){
_local2 = GetFromList(_local3, 2, ",");
};
return (_local2);
}
public function ValidEmail(_arg1:String):Boolean{
var _local2:Array;
var _local3:Array;
var _local4:Boolean;
var _local5:String;
var _local6:String;
var _local7:String;
var _local8:String;
_local4 = true;
_local2 = _arg1.split("@");
if (_local2.length == 2){
_local5 = _local2[0];
_local6 = _local2[1];
if (_local5.length == 0){
_local4 = false;
};
_local3 = _local6.split(".");
if (_local3.length >= 2){
_local7 = _local3[0];
_local8 = _local3[1];
if (_local7.length == 0){
_local4 = false;
};
if (_local8.length == 0){
_local4 = false;
};
} else {
_local4 = false;
};
} else {
_local4 = false;
};
return (_local4);
}
private function ClickFGN(_arg1:MouseEvent):void{
Chapter(Parent).openWindowChapter("http://www.bubblebox.com/clickreg.php?type=gamestats&id=1060&subid=menuFGN&action=freegamesnewslink");
}
public function CurrentURL():String{
var sCurrentURL:String;
sCurrentURL = "";
try {
sCurrentURL = root.loaderInfo.url;
} catch(error:Error) {
trace(("error=" + error));
};
return (sCurrentURL);
}
private function CreditsHighlight(_arg1:MouseEvent):void{
var _local2:GlowFilter;
CreditsAlphaTarget = 1;
_local2 = mcCredits.filters[0];
_local2.knockout = true;
mcCredits.filters = [_local2, fltDropShadow];
}
private function HTTPPostCompleteHandler(_arg1:Event):void{
trace(("HTTPPostCompleteHandler: HTTPPostLoader.data=" + HTTPPostLoader.data));
}
private function ClickGameOver(_arg1:MouseEvent):void{
Chapter(Parent).NewScreen(1);
}
public function HTTPPost(_arg1:String, _arg2:URLVariables):void{
var myData:URLRequest;
var pURL = _arg1;
var pVariables = _arg2;
trace(((("HTTPPost: pURL=" + pURL) + " pVariables=") + pVariables));
myData = new URLRequest(pURL);
if (HTTPPostLoader == null){
HTTPPostLoader = new URLLoader();
};
myData.method = URLRequestMethod.POST;
myData.data = pVariables;
HTTPPostLoader.dataFormat = URLLoaderDataFormat.TEXT;
HTTPPostLoader.addEventListener(IOErrorEvent.IO_ERROR, HTTPPostError);
HTTPPostLoader.addEventListener(Event.COMPLETE, HTTPPostCompleteHandler);
try {
HTTPPostLoader.load(myData);
} catch(error:Error) {
trace(("HTTPPost CATCH error=" + error));
};
}
public function ChapterForCode(_arg1:String):int{
var _local2:int;
var _local3:String;
var _local4:Array;
var _local5:int;
_local2 = -1;
_local4 = ChapterCodes().split("|");
_local5 = 0;
while (_local5 < _local4.length) {
_local3 = _local4[_local5];
if (_arg1 == GetFromList(_local3, 2, ",")){
_local2 = int(GetFromList(_local3, 1, ","));
_local5 = 999;
};
_local5++;
};
return (_local2);
}
private function TimedButton(_arg1:MouseEvent):void{
if (Chapter(Parent).BuildObject.Bundle){
Chapter(Parent).LoadSWFChapter(String(1), true, true);
} else {
Parent.Command("StartTimedGame");
};
}
private function HTTPPostError(_arg1:IOErrorEvent){
trace(("HTTPPostError error: " + _arg1));
}
public function AddToList(_arg1:String, _arg2:String, _arg3:String, _arg4:Boolean):String{
var _local5:Boolean;
var _local6:String;
_local6 = _arg1;
_local5 = false;
if (!_arg4){
if (String(((_arg3 + _local6) + _arg3)).indexOf(((_arg3 + _arg2) + _arg3)) > -1){
_local5 = true;
};
};
if (!_local5){
if (_local6 != ""){
_local6 = (_local6 + _arg3);
};
_local6 = (_local6 + _arg2);
};
return (_local6);
}
private function ClickBBX(_arg1:MouseEvent):void{
Chapter(Parent).openWindowChapter("http://www.bubblebox.com/clickreg.php?type=gamestats&id=1060&subid=menuBBX");
}
override public function Pause():void{
mcPlayGame.removeEventListener(MouseEvent.CLICK, StartButton);
mcTimedGame.removeEventListener(MouseEvent.CLICK, TimedButton);
mcCredits.removeEventListener(MouseEvent.CLICK, CreditsButton);
mcPlayGame.removeEventListener(MouseEvent.MOUSE_OVER, PlayGameHighlight);
mcPlayGame.removeEventListener(MouseEvent.MOUSE_OUT, PlayGameRestore);
mcTimedGame.removeEventListener(MouseEvent.MOUSE_OVER, TimedGameHighlight);
mcTimedGame.removeEventListener(MouseEvent.MOUSE_OUT, TimedGameRestore);
if (Parent.Command("LoadChapterMenu") == "true"){
mcLoadChapter.removeEventListener(MouseEvent.CLICK, ChapterButton);
mcLoadChapter.removeEventListener(MouseEvent.MOUSE_OVER, LoadChapterHighlight);
mcLoadChapter.removeEventListener(MouseEvent.MOUSE_OUT, LoadChapterRestore);
};
mcCredits.removeEventListener(MouseEvent.MOUSE_OVER, CreditsHighlight);
mcCredits.removeEventListener(MouseEvent.MOUSE_OUT, CreditsRestore);
timerGlow.addEventListener(TimerEvent.TIMER, TimerGlow);
timerGlow.stop();
}
private function ChapterButton(_arg1:MouseEvent):void{
trace("ChapterButton");
if (mcCodeEnter.Open){
mcCodeEnter.CloseCode();
} else {
mcCodeEnter.OpenCode(400, (mcLoadChapter.y + 10));
};
}
override public function Destroy():void{
trace((this + ": Destroy"));
DestroyGlobal();
mcTippingPoint.Destroy();
mcTippingPoint = null;
mcTippingPoint2.Destroy();
mcTippingPoint2 = null;
mcTitleScreenBackground.Destroy();
mcTitleScreenBackground = null;
mcPlayGame.Destroy();
mcPlayGame = null;
mcTimedGame.Destroy();
mcTimedGame = null;
if (Parent.Command("LoadChapterMenu") == "true"){
mcLoadChapter.Destroy();
mcLoadChapter = null;
mcCodeEnter.Destroy();
mcCodeEnter = null;
};
mcCredits.Destroy();
mcCredits = null;
mcCreditsContent.Destroy();
mcCreditsContent = null;
txtCopyright = null;
timerGlow.stop();
timerGlow = null;
fltDropShadow = null;
}
public function ListSize(_arg1:String, _arg2:String):int{
var _local3:Array;
_local3 = _arg1.split(_arg2);
return (_local3.length);
}
public function ChapterCodes():String{
return ("1,JAPSYL|2,QLOKIT|3,FREEKL|4,LEEPIT");
}
public static function openWindow(_arg1:String, _arg2:String="_blank", _arg3:String=""):void{
var _local4:String;
if (ExternalInterface.available){
_local4 = getBrowserName();
if (_local4 == "Firefox"){
ExternalInterface.call("window.open", _arg1, _arg2, _arg3);
} else {
if (_local4 == "IE"){
ExternalInterface.call((("function setWMWindow() {window.open('" + _arg1) + "');}"));
} else {
navigateToURL(new URLRequest(_arg1), _arg2);
};
};
} else {
navigateToURL(new URLRequest(_arg1), _arg2);
};
}
private static function getBrowserName():String{
var _local1:String;
var _local2:String;
_local1 = "Undefined";
_local2 = ExternalInterface.call("function getBrowser(){return navigator.userAgent;}");
if (((!((_local2 == null))) && ((_local2.indexOf("Firefox") >= 0)))){
_local1 = "Firefox";
} else {
if (((!((_local2 == null))) && ((_local2.indexOf("Safari") >= 0)))){
_local1 = "Safari";
} else {
if (((!((_local2 == null))) && ((_local2.indexOf("MSIE") >= 0)))){
_local1 = "IE";
} else {
if (((!((_local2 == null))) && ((_local2.indexOf("Opera") >= 0)))){
_local1 = "Opera";
};
};
};
};
trace(("Browser name: " + _local1));
return (_local1);
}
}
}//package com.freecloud
Section 12
//clsToBeContinued (com.freecloud.clsToBeContinued)
package com.freecloud {
import flash.events.*;
import flash.net.*;
import flash.display.*;
import flash.text.*;
import flash.filters.*;
import flash.external.*;
public class clsToBeContinued extends DanScreen {
private var txtMain:TextField;
private var txtVersion:TextField;
private var txtHeadline:TextField;
private var mcSponsorLogo:MovieClip;
private var txtSmall:TextField;
private var sndButtonClick:SoundButtonClick;
private var txtMsg:TextField;
private var txtPlayMoreGames:TextField;
private var txtEmail:TextField;
private var mcSubmitComment:symSubmitButton;
private var mcBackground:DanObject;
private var txtCommentThanks:TextField;
private var txtMailingList:TextField;
var HTTPPostLoader:URLLoader;// = null
private var hsShowTime:clsHotSpot;
private var txtComment:TextField;
private var txtLeaveMsg:TextField;
private var mcLeaderBoard:DanObject;
private var mcSubmitMailingList:symSubmitButton;
private var txtShowTime:TextField;
public function clsToBeContinued(_arg1:DanObject=null, _arg2:DanObject=null, _arg3:DanObject=null){
txtHeadline = new TextField();
txtMain = new TextField();
txtPlayMoreGames = new TextField();
txtSmall = new TextField();
txtShowTime = new TextField();
hsShowTime = new clsHotSpot("0,0|150,0|150,15|0,15");
txtVersion = new TextField();
mcLeaderBoard = new DanObject();
txtMailingList = new TextField();
txtEmail = new TextField();
txtMsg = new TextField();
mcSubmitMailingList = new symSubmitButton();
txtLeaveMsg = new TextField();
txtComment = new TextField();
txtCommentThanks = new TextField();
mcSubmitComment = new symSubmitButton();
sndButtonClick = new SoundButtonClick();
HTTPPostLoader = null;
super();
trace("clsToBeContinued Initialized");
Parent = _arg1;
_arg2.visible = false;
Chapter(Parent).StopDurationTimer();
mcBackground = _arg3;
mcBackground.x = 400;
mcBackground.y = 300;
mcBackground.alpha = 1;
addChild(mcBackground);
txtHeadline.width = 800;
txtHeadline.height = 50;
txtHeadline.x = 0;
txtHeadline.y = 155;
txtHeadline.filters = [new DropShadowFilter(5, 25)];
txtHeadline.htmlText = (("<P ALIGN='center'><FONT FACE='ARIAL' COLOR='#FFFFFF' SIZE='40'>Chapter " + Parent.Command("CurrentChapter")) + " Completed!</FONT>");
txtHeadline.selectable = false;
addChild(txtHeadline);
txtShowTime.width = 800;
txtShowTime.height = 50;
txtShowTime.x = 0;
txtShowTime.y = (txtHeadline.y + 55);
txtShowTime.filters = [new DropShadowFilter(3, 25)];
txtShowTime.htmlText = "<P ALIGN='center'><FONT FACE='ARIAL' COLOR='#FFFFFF' SIZE='14'>See the fastest times</FONT>";
txtShowTime.selectable = false;
addChild(txtShowTime);
hsShowTime.x = 400;
hsShowTime.y = (txtShowTime.y + 10);
addChild(hsShowTime);
hsShowTime.addEventListener(MouseEvent.CLICK, ClickShowTime);
if (Chapter(_arg1).BuildObject.Bundle){
trace("TBC BUNDLE");
txtPlayMoreGames.width = 800;
txtPlayMoreGames.height = 180;
txtPlayMoreGames.x = 0;
txtPlayMoreGames.y = (txtShowTime.y + 60);
txtPlayMoreGames.multiline = true;
txtPlayMoreGames.filters = [new DropShadowFilter(3, 25)];
txtPlayMoreGames.htmlText = "<P ALIGN='center'><FONT FACE='ARIAL' COLOR='#FFFFFF' SIZE='20'>Play more games at:</FONT>";
txtPlayMoreGames.selectable = false;
addChild(txtPlayMoreGames);
mcSponsorLogo = new bubblebox_intro();
mcSponsorLogo.FadeOut = "no";
mcSponsorLogo.x = 400;
mcSponsorLogo.y = (txtPlayMoreGames.y + 60);
mcSponsorLogo.buttonMode = true;
mcSponsorLogo.addEventListener(MouseEvent.CLICK, ClickBBX);
addChild(mcSponsorLogo);
};
txtMain.width = 800;
txtMain.height = 180;
txtMain.x = 0;
txtMain.y = (txtShowTime.y + 60);
if (Chapter(_arg1).BuildObject.Bundle){
txtMain.y = 500;
};
txtMain.multiline = true;
txtMain.filters = [new DropShadowFilter(3, 25)];
txtMain.htmlText = "<P ALIGN='center'><FONT FACE='ARIAL' COLOR='#FFFFFF' SIZE='20'><a href='http://www.TippingPointGame.com/' target='_blank'>Visit www.TippingPointGame.com for the latest Tipping Point news.</a></FONT>";
txtMain.selectable = false;
addChild(txtMain);
if (Build(Chapter(this.Parent).BuildObject).JoinMailingList){
txtMailingList.width = 800;
txtMailingList.height = 40;
txtMailingList.x = 0;
txtMailingList.y = 352;
txtMailingList.multiline = true;
txtMailingList.filters = [new DropShadowFilter(2, 25)];
txtMailingList.htmlText = "<P ALIGN='center'><FONT FACE='ARIAL' COLOR='#FFFFFF' SIZE='16'>";
txtMailingList.htmlText = (txtMailingList.htmlText + "Enter your email address to join our mailing list:");
txtMailingList.htmlText = (txtMailingList.htmlText + "</FONT>");
txtMailingList.selectable = false;
addChild(txtMailingList);
txtEmail.width = 240;
txtEmail.height = 20;
txtEmail.x = ((400 - int((txtEmail.width / 2))) - 50);
txtEmail.y = (txtMailingList.y + 25);
txtEmail.border = true;
txtEmail.borderColor = 0x808080;
txtEmail.maxChars = 50;
txtEmail.multiline = false;
txtEmail.selectable = true;
txtEmail.backgroundColor = 0xFFFFFF;
txtEmail.background = true;
txtEmail.type = TextFieldType.INPUT;
txtEmail.restrict = "a-z@_.A-Z0-9\\-";
txtEmail.defaultTextFormat = new TextFormat("arial", "14");
addChild(txtEmail);
txtEmail.addEventListener(KeyboardEvent.KEY_UP, KeyPressEmail);
mcSubmitMailingList.x = ((txtEmail.x + txtEmail.width) + 50);
mcSubmitMailingList.y = (txtEmail.y + 11);
mcSubmitMailingList.buttonMode = true;
addChild(mcSubmitMailingList);
mcSubmitMailingList.addEventListener(MouseEvent.CLICK, ClickEmail);
txtMsg.width = 800;
txtMsg.height = 150;
txtMsg.x = txtEmail.x;
txtMsg.y = 418;
txtMsg.multiline = true;
txtMsg.filters = [new DropShadowFilter(2, 25)];
txtMsg.htmlText = "<FONT FACE='ARIAL' COLOR='#FF0000' SIZE='16'><i>Invalid email address...</i></FONT>";
txtMsg.selectable = false;
txtMsg.visible = false;
addChild(txtMsg);
};
if (Build(Chapter(this.Parent).BuildObject).LeaveComment){
txtLeaveMsg.width = 800;
txtLeaveMsg.height = 150;
txtLeaveMsg.x = 0;
txtLeaveMsg.y = 430;
txtLeaveMsg.multiline = true;
txtLeaveMsg.filters = [new DropShadowFilter(2, 25)];
txtLeaveMsg.htmlText = "<P ALIGN='center'><FONT FACE='ARIAL' COLOR='#FFFFFF' SIZE='16'>";
txtLeaveMsg.htmlText = (txtLeaveMsg.htmlText + "Let us know what you think. Leave a comment below:");
txtLeaveMsg.htmlText = (txtLeaveMsg.htmlText + "</FONT>");
txtLeaveMsg.selectable = false;
addChild(txtLeaveMsg);
txtComment.width = 500;
txtComment.height = 60;
txtComment.x = (400 - int((txtComment.width / 2)));
txtComment.y = 455;
txtComment.border = true;
txtComment.borderColor = 0x808080;
txtComment.maxChars = 5000;
txtComment.multiline = true;
txtComment.selectable = true;
txtComment.backgroundColor = 0xFFFFFF;
txtComment.background = true;
txtComment.type = TextFieldType.INPUT;
txtComment.defaultTextFormat = new TextFormat("arial", "14");
txtComment.wordWrap = true;
addChild(txtComment);
mcSubmitComment.x = 400;
mcSubmitComment.y = (txtComment.y + 80);
mcSubmitComment.buttonMode = true;
addChild(mcSubmitComment);
mcSubmitComment.addEventListener(MouseEvent.CLICK, ClickComment);
txtCommentThanks.width = 800;
txtCommentThanks.height = 150;
txtCommentThanks.x = 0;
txtCommentThanks.y = 455;
txtCommentThanks.multiline = true;
txtCommentThanks.filters = [new DropShadowFilter(2, 25)];
txtCommentThanks.htmlText = "<P ALIGN='center'><FONT FACE='ARIAL' COLOR='#66FF00' SIZE='16'><i>Thank you for leaving a comment...</i></FONT>";
txtCommentThanks.selectable = false;
txtCommentThanks.visible = false;
addChild(txtCommentThanks);
};
txtSmall.width = 800;
txtSmall.height = 150;
txtSmall.x = 0;
txtSmall.y = 560;
txtSmall.multiline = true;
txtSmall.filters = [new DropShadowFilter(2, 25)];
txtSmall.htmlText = "<P ALIGN='center'><FONT FACE='ARIAL' COLOR='#FFFFFF' SIZE='16'>";
txtSmall.htmlText = (txtSmall.htmlText + "<a href='http://TippingPointGame.com' target='_blank'>www.TippingPointGame.com</a> - <a href='http://dan-russell-pinson.com' target='_blank'>www.Dan-Russell-Pinson.com</a>");
txtSmall.htmlText = (txtSmall.htmlText + "</FONT>");
txtSmall.selectable = false;
addChild(txtSmall);
txtVersion.width = 300;
txtVersion.height = 50;
txtVersion.x = 495;
txtVersion.y = 580;
txtVersion.multiline = false;
txtVersion.filters = [new DropShadowFilter(2, 25)];
txtVersion.htmlText = "<P ALIGN='right'><FONT FACE='ARIAL' COLOR='#FFFFFF' SIZE='12'>";
txtVersion.htmlText = (txtVersion.htmlText + Parent.Command("FullVersion"));
txtVersion.htmlText = (txtVersion.htmlText + "</FONT>");
txtVersion.selectable = false;
addChild(txtVersion);
mcLeaderBoard.x = 200;
mcLeaderBoard.y = 150;
addChild(mcLeaderBoard);
Parent.Command("LogFile", "To Be Continued 3");
Resume();
}
public function RandomNumber(_arg1:Number=0, _arg2:Number=1, _arg3:Boolean=false):Number{
var _local4:Number;
var _local5:Number;
_local4 = ((Math.random() * (_arg2 - _arg1)) + _arg1);
if (_arg3){
_local5 = (_local4 - int(_local4));
_local4 = int(_local4);
if (_local5 >= 0.5){
_local4++;
};
};
return (_local4);
}
public function RandomInt(_arg1:int, _arg2:int):int{
return ((int((Math.random() * ((_arg2 - _arg1) + 1))) + _arg1));
}
public function RemoveFromList(_arg1:String, _arg2:String, _arg3:String):String{
var _local4:Array;
var _local5:int;
var _local6:String;
_local4 = _arg1.split(_arg3);
_local6 = "";
_local5 = 0;
while (_local5 < _local4.length) {
if (_local4[_local5] != _arg2){
_local6 = AddToList(_local6, _local4[_local5], _arg3, true);
};
_local5++;
};
return (_local6);
}
override public function Resume():void{
trace("fading background...");
mcBackground.AddTarget("FadeBackground,6,linear,,,,,,,.5");
}
function EmailEntered():void{
var _local1:String;
sndButtonClick.Play(0.7);
_local1 = txtEmail.text;
trace(("EmailEntered: " + _local1));
if (ValidEmail(_local1)){
trace("email address is valid...");
PostEmail(_local1);
txtEmail.visible = false;
mcSubmitMailingList.visible = false;
txtMailingList.visible = false;
txtMsg.visible = true;
txtMsg.x = 0;
txtMsg.y = (txtMailingList.y + 25);
txtMsg.htmlText = "<p align='center'><FONT FACE='ARIAL' COLOR='#66FF00' SIZE='16'>Thank you for joining the Tipping Point mailing list!</FONT>";
} else {
trace("email address is invalid...");
txtMsg.visible = true;
txtMsg.x = txtEmail.x;
txtMsg.y = (txtEmail.y + 20);
txtMsg.htmlText = "<FONT FACE='ARIAL' COLOR='#FF3300' SIZE='16'><i>Invalid email address...</i></FONT>";
};
}
public function Display(_arg1:String):void{
var _local2:TextField;
_local2 = new TextField();
_local2.x = 0;
_local2.y = 0;
_local2.width = 800;
_local2.height = 600;
_local2.multiline = true;
_local2.htmlText = (("<font face='arial' size='14' color='#FFFFFF'>" + _arg1) + "</font>");
addChild(_local2);
}
private function KeyPressEmail(_arg1:KeyboardEvent):void{
trace(("KeyPressEmail: " + _arg1.keyCode));
if (_arg1.keyCode == 13){
EmailEntered();
};
}
function PostEmail(_arg1:String):void{
var _local2:URLVariables;
var _local3:String;
_local2 = new URLVariables();
_local2.txtEmail = _arg1;
_local3 = "";
if (Build(Chapter(this.Parent).BuildObject).RemoteServer){
_local3 = (_local3 + "http://TippingPointGame.com/tp/");
};
_local3 = (_local3 + "ProcessMailingList.asp");
trace(("post email to " + _local3));
HTTPPost(_local3, _local2);
}
public function GetFromList(_arg1:String, _arg2:int, _arg3:String):String{
var _local4:Array;
var _local5:String;
_local4 = _arg1.split(_arg3);
_local5 = "";
if (_arg2 <= _local4.length){
_local5 = _local4[(_arg2 - 1)];
};
return (_local5);
}
override public function Update():void{
}
private function ClickShowTime(_arg1:MouseEvent):void{
Chapter(Parent).BuildObject.LeaderBoardView(this, mcLeaderBoard, Chapter(Parent).CurrentChapter);
}
public function BadDomain():void{
var _local1:TextField;
_local1 = new TextField();
_local1.width = 800;
_local1.height = 300;
_local1.x = 0;
_local1.y = 220;
_local1.multiline = true;
_local1.filters = [new DropShadowFilter(2, 25)];
_local1.htmlText = "<P ALIGN='center'><FONT FACE='ARIAL' COLOR='#FFFFFF' SIZE='20'>";
_local1.htmlText = (_local1.htmlText + "<a href='http://www.tippingpointgame.com' target='_blank'>Tipping Point cannot be played on this web site<br><br>Click here to play it at TippingPointGame.com now</a>");
_local1.htmlText = (_local1.htmlText + "</FONT>");
_local1.selectable = false;
addChild(_local1);
}
private function ClickEmail(_arg1:MouseEvent):void{
EmailEntered();
}
public function ValidEmail(_arg1:String):Boolean{
var _local2:Array;
var _local3:Array;
var _local4:Boolean;
var _local5:String;
var _local6:String;
var _local7:String;
var _local8:String;
_local4 = true;
_local2 = _arg1.split("@");
if (_local2.length == 2){
_local5 = _local2[0];
_local6 = _local2[1];
if (_local5.length == 0){
_local4 = false;
};
_local3 = _local6.split(".");
if (_local3.length >= 2){
_local7 = _local3[0];
_local8 = _local3[1];
if (_local7.length == 0){
_local4 = false;
};
if (_local8.length == 0){
_local4 = false;
};
} else {
_local4 = false;
};
} else {
_local4 = false;
};
return (_local4);
}
public function CodeForChapter(_arg1:int):String{
var _local2:String;
var _local3:String;
_local2 = "";
_local3 = GetFromList(ChapterCodes(), _arg1, "|");
if (_local3 != ""){
_local2 = GetFromList(_local3, 2, ",");
};
return (_local2);
}
public function HTTPPost(_arg1:String, _arg2:URLVariables):void{
var myData:URLRequest;
var pURL = _arg1;
var pVariables = _arg2;
trace(((("HTTPPost: pURL=" + pURL) + " pVariables=") + pVariables));
myData = new URLRequest(pURL);
if (HTTPPostLoader == null){
HTTPPostLoader = new URLLoader();
};
myData.method = URLRequestMethod.POST;
myData.data = pVariables;
HTTPPostLoader.dataFormat = URLLoaderDataFormat.TEXT;
HTTPPostLoader.addEventListener(IOErrorEvent.IO_ERROR, HTTPPostError);
HTTPPostLoader.addEventListener(Event.COMPLETE, HTTPPostCompleteHandler);
try {
HTTPPostLoader.load(myData);
} catch(error:Error) {
trace(("HTTPPost CATCH error=" + error));
};
}
public function CurrentURL():String{
var sCurrentURL:String;
sCurrentURL = "";
try {
sCurrentURL = root.loaderInfo.url;
} catch(error:Error) {
trace(("error=" + error));
};
return (sCurrentURL);
}
private function HTTPPostCompleteHandler(_arg1:Event):void{
trace(("HTTPPostCompleteHandler: HTTPPostLoader.data=" + HTTPPostLoader.data));
}
public function ChapterForCode(_arg1:String):int{
var _local2:int;
var _local3:String;
var _local4:Array;
var _local5:int;
_local2 = -1;
_local4 = ChapterCodes().split("|");
_local5 = 0;
while (_local5 < _local4.length) {
_local3 = _local4[_local5];
if (_arg1 == GetFromList(_local3, 2, ",")){
_local2 = int(GetFromList(_local3, 1, ","));
_local5 = 999;
};
_local5++;
};
return (_local2);
}
private function HTTPPostError(_arg1:IOErrorEvent){
trace(("HTTPPostError error: " + _arg1));
}
public function AddToList(_arg1:String, _arg2:String, _arg3:String, _arg4:Boolean):String{
var _local5:Boolean;
var _local6:String;
_local6 = _arg1;
_local5 = false;
if (!_arg4){
if (String(((_arg3 + _local6) + _arg3)).indexOf(((_arg3 + _arg2) + _arg3)) > -1){
_local5 = true;
};
};
if (!_local5){
if (_local6 != ""){
_local6 = (_local6 + _arg3);
};
_local6 = (_local6 + _arg2);
};
return (_local6);
}
private function ClickBBX(_arg1:MouseEvent):void{
Chapter(Parent).openWindowChapter("http://www.bubblebox.com/clickreg.php?type=gamestats&id=1060&subid=gameover");
}
override public function Pause():void{
}
private function ClickComment(_arg1:MouseEvent):void{
var _local2:String;
var _local3:String;
var _local4:URLVariables;
trace("ClickComment");
sndButtonClick.Play(0.7);
_local3 = txtComment.text;
if (_local3 != ""){
_local3 = ((_local3 + "\r\n\r\nVersion: ") + Parent.Command("FullVersion"));
_local4 = new URLVariables();
txtCommentThanks.visible = true;
txtLeaveMsg.visible = false;
txtComment.visible = false;
mcSubmitComment.visible = false;
_local2 = "";
if (Build(Chapter(this.Parent).BuildObject).RemoteServer){
_local2 = (_local2 + "http://TippingPointGame.com/tp/");
};
_local2 = (_local2 + "ProcessComment.asp");
trace(("post comment to " + _local2));
_local4.txtComment = _local3;
HTTPPost(_local2, _local4);
};
}
override public function Destroy():void{
trace((this + ": Destroy"));
DestroyGlobal();
mcBackground.Destroy();
mcBackground = null;
txtHeadline = null;
txtMain = null;
txtSmall = null;
txtVersion = null;
}
public function ListSize(_arg1:String, _arg2:String):int{
var _local3:Array;
_local3 = _arg1.split(_arg2);
return (_local3.length);
}
public function ChapterCodes():String{
return ("1,JAPSYL|2,QLOKIT|3,FREEKL|4,LEEPIT");
}
public static function openWindow(_arg1:String, _arg2:String="_blank", _arg3:String=""):void{
var _local4:String;
if (ExternalInterface.available){
_local4 = getBrowserName();
if (_local4 == "Firefox"){
ExternalInterface.call("window.open", _arg1, _arg2, _arg3);
} else {
if (_local4 == "IE"){
ExternalInterface.call((("function setWMWindow() {window.open('" + _arg1) + "');}"));
} else {
navigateToURL(new URLRequest(_arg1), _arg2);
};
};
} else {
navigateToURL(new URLRequest(_arg1), _arg2);
};
}
private static function getBrowserName():String{
var _local1:String;
var _local2:String;
_local1 = "Undefined";
_local2 = ExternalInterface.call("function getBrowser(){return navigator.userAgent;}");
if (((!((_local2 == null))) && ((_local2.indexOf("Firefox") >= 0)))){
_local1 = "Firefox";
} else {
if (((!((_local2 == null))) && ((_local2.indexOf("Safari") >= 0)))){
_local1 = "Safari";
} else {
if (((!((_local2 == null))) && ((_local2.indexOf("MSIE") >= 0)))){
_local1 = "IE";
} else {
if (((!((_local2 == null))) && ((_local2.indexOf("Opera") >= 0)))){
_local1 = "Opera";
};
};
};
};
trace(("Browser name: " + _local1));
return (_local1);
}
}
}//package com.freecloud
Section 13
//DanObject (com.freecloud.DanObject)
package com.freecloud {
import flash.display.*;
import flash.events.*;
import flash.filters.*;
public class DanObject extends MovieClip {
private var aryNameValue:Array;
public var LastTargetCompleted:String;// = ""
public var aryTargetQueueGlow:Array;
public var CurrentTarget:String;// = ""
public var aryStartPositionsGlow:Array;
public var play_latest_text:MovieClip;
public var State:String;// = ""
public var aryTargetQueue:Array;
public var ProcessTargetWhenNotOnScreen:Boolean;// = false
public var aryStartPositions:Array;
private var iGlowFilterIndex:int;// = -1
public var Parent:DanObject;
public var aryCurrentTarget:Array;
public var CurrentTargetGlow:String;// = ""
private var iAdjustIncrement:int;// = 1
public var Enabled:Boolean;// = true
public var Inventory:DanObject;
private var iAdjustProperty:int;// = 0
public var CurrentFrameGlow:int;// = 0
public var logo_ro:MovieClip;
public var MotionSmoothness:int;// = 1
public var aryCurrentTargetGlow:Array;
public var MovingTarget:Boolean;// = false
public var CurrentFrame:int;// = 0
public var GlowColor:uint;// = 0xFFFFFF
private var aryProperties:Array;
public var MovingTargetGlow:Boolean;// = false
private var FrameRate:Number;// = -1
public var LastTargetCompletedGlow:String;// = ""
public var description:String;// = ""
public function DanObject(){
description = "";
ProcessTargetWhenNotOnScreen = false;
aryTargetQueue = new Array();
MovingTarget = false;
CurrentTarget = "";
CurrentFrame = 0;
aryStartPositions = new Array();
LastTargetCompleted = "";
aryTargetQueueGlow = new Array();
MovingTargetGlow = false;
CurrentTargetGlow = "";
CurrentFrameGlow = 0;
aryStartPositionsGlow = new Array();
LastTargetCompletedGlow = "";
iGlowFilterIndex = -1;
aryNameValue = new Array();
MotionSmoothness = 1;
Enabled = true;
State = "";
GlowColor = 0xFFFFFF;
FrameRate = -1;
iAdjustIncrement = 1;
iAdjustProperty = 0;
aryProperties = new Array("X,Y", "Scale", "Rotation", "Alpha", "Frame");
super();
}
public function DestroyGlobal():void{
Pause();
Parent = null;
Inventory = null;
}
public function AddTargetGlow(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=true):void{
if (_arg2){
ClearTargetGlow();
};
aryTargetQueueGlow.push(_arg1);
if (_arg3){
GotoTargetGlow();
};
}
public function ClearTarget():void{
var _local1:int;
var _local2:int;
_local1 = aryTargetQueue.length;
_local2 = 1;
while (_local2 <= _local1) {
aryTargetQueue.pop();
_local2++;
};
CurrentTarget = "";
}
private function ShowProperties():void{
trace(((((((((((((((((aryProperties[iAdjustProperty] + ": Inc: ") + iAdjustIncrement) + " X: ") + this.x) + " Y: ") + this.y) + " ScaleX: ") + this.scaleX) + " SacleY: ") + this.scaleY) + " Rotation: ") + this.rotation) + " Alpha: ") + this.alpha) + " Frame: ") + this.currentFrame));
}
public function Resume():void{
}
private function GetNextTarget():String{
var _local1:String;
if (this.stage == null){
if (((!(ProcessTargetWhenNotOnScreen)) || ((this.FrameRate == -1)))){
ClearTarget();
};
} else {
this.FrameRate = this.stage.frameRate;
};
if (aryTargetQueue.length > 0){
_local1 = aryTargetQueue.shift();
aryCurrentTarget = _local1.split(",");
aryCurrentTarget[1] = Math.round((aryCurrentTarget[1] * this.FrameRate));
CurrentFrame = 0;
aryStartPositions[0] = "";
aryStartPositions[1] = "";
aryStartPositions[2] = "";
aryStartPositions[3] = "";
aryStartPositions[4] = this.x;
aryStartPositions[5] = this.y;
aryStartPositions[6] = this.scaleX;
aryStartPositions[7] = this.scaleY;
aryStartPositions[8] = this.rotation;
aryStartPositions[9] = this.alpha;
aryStartPositions[10] = this.currentFrame;
return (_local1);
};
MovingTarget = false;
removeEventListener(Event.ENTER_FRAME, UpdateTarget);
return ("");
}
public function SetValue(_arg1:String="", _arg2:String="", _arg3:int=0):Boolean{
var _local4:Boolean;
_local4 = true;
if (_arg3 == 0){
aryNameValue[_arg1] = _arg2;
};
if (_arg3 == 1){
if (Parent != null){
Parent.SetValue(_arg1, _arg2);
} else {
_local4 = false;
};
};
return (_local4);
}
private function UpdateTargetGlow(_arg1:Event):void{
var _local2:GlowFilter;
var _local3:String;
var _local4:int;
var _local5:String;
var _local6:String;
var _local7:Number;
var _local8:String;
var _local9:Number;
var _local10:String;
var _local11:Number;
var _local12:String;
var _local13:Number;
var _local14:String;
var _local15:Number;
var _local16:String;
var _local17:Number;
var _local18:String;
var _local19:Array;
if (CurrentTargetGlow == ""){
CurrentTargetGlow = GetNextTargetGlow();
};
if (CurrentTargetGlow != ""){
_local3 = aryCurrentTargetGlow[0];
_local4 = Number(aryCurrentTargetGlow[1]);
_local5 = aryCurrentTargetGlow[2];
if (_local5 == ""){
_local5 = "linear";
};
_local6 = aryCurrentTargetGlow[3];
_local7 = aryStartPositionsGlow[4];
_local8 = aryCurrentTargetGlow[4];
_local9 = aryStartPositionsGlow[5];
_local10 = aryCurrentTargetGlow[5];
_local11 = aryStartPositionsGlow[6];
_local12 = aryCurrentTargetGlow[6];
_local13 = aryStartPositionsGlow[7];
_local14 = aryCurrentTargetGlow[7];
_local15 = aryStartPositionsGlow[8];
_local16 = aryCurrentTargetGlow[8];
_local17 = aryStartPositionsGlow[9];
_local18 = aryCurrentTargetGlow[9];
CurrentFrameGlow++;
if (((((CurrentFrameGlow % MotionSmoothness) == 0)) || ((CurrentFrameGlow == _local4)))){
_local19 = this.filters;
if (iGlowFilterIndex == -1){
iGlowFilterIndex = GetIndexOfFilter("glow");
};
_local2 = _local19[iGlowFilterIndex];
if (((!((_local8 == ""))) && (!((_local8 == null))))){
_local2.blurX = ComputeTween(_local7, Number(_local8), CurrentFrameGlow, _local4, _local5, _local6);
};
if (((!((_local10 == ""))) && (!((_local10 == null))))){
_local2.blurY = ComputeTween(_local9, Number(_local10), CurrentFrameGlow, _local4, _local5, _local6);
};
if (((!((_local12 == ""))) && (!((_local12 == null))))){
_local2.strength = ComputeTween(_local11, Number(_local12), CurrentFrameGlow, _local4, _local5, _local6);
};
if (((!((_local14 == ""))) && (!((_local14 == null))))){
_local2.quality = ComputeTween(_local13, Number(_local14), CurrentFrameGlow, _local4, _local5, _local6);
};
if (((!((_local16 == ""))) && (!((_local16 == null))))){
_local2.alpha = ComputeTween(_local15, Number(_local16), CurrentFrameGlow, _local4, _local5, _local6);
};
if (((!((_local18 == ""))) && (!((_local18 == null))))){
_local2.color = ComputeTween(_local17, Number(_local18), CurrentFrameGlow, _local4, _local5, _local6);
};
_local19[iGlowFilterIndex] = _local2;
this.filters = _local19;
};
if (CurrentFrameGlow >= _local4){
CurrentTargetGlow = "";
LastTargetCompletedGlow = _local3;
TargetCompleted(_local3);
};
};
}
private function ComputeTween(_arg1:Number, _arg2:Number, _arg3:int, _arg4:int, _arg5:String, _arg6:String):Number{
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:int;
var _local11:Number;
var _local12:Number;
var _local13:Number;
_local7 = (_arg2 - _arg1);
_local13 = 0;
if (_arg6 != ""){
if ((((((_arg5 == "easein")) || ((_arg5 == "easeout")))) || ((_arg5 == "easeinout")))){
_local13 = Number(_arg6);
};
};
_local8 = (_arg3 / _arg4);
_local10 = int((89 * _local8));
if (_arg3 < _arg4){
switch (_arg5){
case "linear":
_local9 = _local8;
break;
case "easein":
_local9 = _local8;
_local11 = (((_local10 + 271) * Math.PI) / 180);
_local9 = ((Math.cos(_local11) * (1 - _local13)) + (_local8 * _local13));
break;
case "easeout":
_local9 = _local8;
_local11 = ((_local10 * Math.PI) / 180);
_local9 = (1 - Math.cos(_local11));
break;
case "easeinout":
if ((_arg3 / _arg4) < 0.5){
_local9 = _local8;
_local11 = (((_local10 * 2) * Math.PI) / 180);
_local9 = ((1 - Math.cos(_local11)) / 2);
} else {
_local9 = _local8;
_local11 = (((((_local10 - 45) * 2) + 271) * Math.PI) / 180);
_local9 = ((Math.cos(_local11) / 2) + 0.5);
};
break;
};
} else {
_local9 = 1;
};
_local12 = (_local7 * _local9);
return ((_arg1 + _local12));
}
public function GotoTargetGlow(){
if (!MovingTargetGlow){
MovingTargetGlow = true;
addEventListener(Event.ENTER_FRAME, UpdateTargetGlow);
};
}
private function AdjustProperty(_arg1:int):void{
var _local2:Boolean;
var _local3:Boolean;
var _local4:Boolean;
var _local5:Boolean;
var _local6:Number;
_local2 = (_arg1 == 38);
_local3 = (_arg1 == 40);
_local4 = (_arg1 == 37);
_local5 = (_arg1 == 39);
_local6 = iAdjustIncrement;
if (((_local2) || (_local4))){
_local6 = (_local6 * -1);
};
switch (iAdjustProperty){
case 0:
if (((_local4) || (_local5))){
this.x = (this.x + _local6);
};
if (((_local2) || (_local3))){
this.y = (this.y + _local6);
};
break;
case 1:
if (((_local4) || (_local5))){
this.scaleX = (this.scaleX + (_local6 / 100));
};
if (((_local2) || (_local3))){
this.scaleY = (this.scaleY - (_local6 / 100));
};
break;
case 2:
if (((_local4) || (_local5))){
this.rotation = (this.rotation + _local6);
};
break;
case 3:
if (((_local2) || (_local3))){
this.alpha = (this.alpha - (_local6 / 100));
};
if (this.alpha < 0){
this.alpha = 0;
};
if (this.alpha > 1){
this.alpha = 1;
};
break;
case 4:
if (_local4){
this.gotoAndStop((this.currentFrame - 1));
};
if (_local5){
this.gotoAndStop((this.currentFrame + 1));
};
break;
};
ShowProperties();
}
public function ClearTargetGlow():void{
var _local1:int;
var _local2:int;
_local1 = aryTargetQueueGlow.length;
_local2 = 1;
while (_local2 <= _local1) {
aryTargetQueueGlow.pop();
_local2++;
};
CurrentTargetGlow = "";
}
public function Disable():void{
Enabled = false;
}
private function GetNextTargetGlow():String{
var _local1:GlowFilter;
var _local2:String;
if (this.stage == null){
ClearTargetGlow();
return ("");
};
if (aryTargetQueueGlow.length > 0){
_local2 = aryTargetQueueGlow.shift();
aryCurrentTargetGlow = _local2.split(",");
aryCurrentTargetGlow[1] = Math.round((aryCurrentTargetGlow[1] * this.stage.frameRate));
CurrentFrameGlow = 0;
if (iGlowFilterIndex == -1){
iGlowFilterIndex = GetIndexOfFilter("glow");
};
_local1 = this.filters[iGlowFilterIndex];
aryStartPositionsGlow[0] = "";
aryStartPositionsGlow[1] = "";
aryStartPositionsGlow[2] = "";
aryStartPositionsGlow[3] = "";
aryStartPositionsGlow[4] = _local1.blurX;
aryStartPositionsGlow[5] = _local1.blurY;
aryStartPositionsGlow[6] = _local1.strength;
aryStartPositionsGlow[7] = _local1.quality;
aryStartPositionsGlow[8] = _local1.alpha;
aryStartPositionsGlow[9] = _local1.color;
return (_local2);
//unresolved jump
};
MovingTargetGlow = false;
removeEventListener(Event.ENTER_FRAME, UpdateTargetGlow);
return ("");
}
public function Update():void{
trace("clsGameObject UPDATE called in base class!");
}
public function MouseEnabled(_arg1:Boolean):void{
this.mouseEnabled = _arg1;
}
public function Command(_arg1:String, _arg2:String="", _arg3:String="", _arg4:String="", _arg5:String=""):String{
return ("");
}
public function GotoTarget(){
if (!MovingTarget){
MovingTarget = true;
addEventListener(Event.ENTER_FRAME, UpdateTarget);
};
}
private function SetAdjustProperty(_arg1:int):void{
iAdjustProperty = _arg1;
trace(aryProperties[iAdjustProperty]);
}
public function AddTarget(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=true):void{
if (_arg2){
ClearTarget();
};
aryTargetQueue.push(_arg1);
if (_arg3){
GotoTarget();
};
}
private function GetIndexOfFilter(_arg1:String, _arg2:Boolean=true):int{
var _local3:int;
var _local4:int;
_local4 = -1;
_local3 = 0;
while (_local3 < this.filters.length) {
if ((((_arg1 == "glow")) && ((this.filters[_local3] == "[object GlowFilter]")))){
_local4 = _local3;
break;
};
_local3++;
};
if ((((_local4 == -1)) && (_arg2))){
if (_arg1 == "glow"){
this.filters.push(new GlowFilter(0xFFFFFF, 1, 0, 0, 0, 0, false, false));
};
};
return (_local4);
}
public function TargetCompleted(_arg1:String){
dispatchEvent(new TargetCompletedEvent(_arg1));
}
public function Enable():void{
Enabled = true;
}
public function Adjust(_arg1:KeyboardEvent):void{
switch (String.fromCharCode(_arg1.keyCode)){
case "0":
SetAdjustIncrement(10);
break;
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
SetAdjustIncrement((_arg1.keyCode - 48));
break;
case "X":
case "Y":
SetAdjustProperty(0);
break;
case "S":
SetAdjustProperty(1);
break;
case "R":
SetAdjustProperty(2);
break;
case "A":
SetAdjustProperty(3);
break;
case "F":
SetAdjustProperty(4);
break;
case "V":
this.visible = !(this.visible);
break;
};
switch (_arg1.keyCode){
case 38:
case 40:
case 37:
case 39:
AdjustProperty(_arg1.keyCode);
break;
case 189:
SetAdjustIncrement(25);
break;
case 187:
SetAdjustIncrement(50);
break;
};
}
public function Pause():void{
}
public function Destroy():void{
DestroyGlobal();
}
public function GetValue(_arg1:String="", _arg2:int=0):String{
var _local3:String;
_local3 = "";
if (_arg2 == 0){
_local3 = aryNameValue[_arg1];
if (_local3 == null){
_local3 = "";
};
};
if (_arg2 == 1){
if (Parent != null){
_local3 = Parent.GetValue(_arg1);
};
};
if (_arg2 == 2){
if (Parent != null){
if (Parent.Parent != null){
_local3 = Parent.Parent.GetValue(_arg1);
};
};
};
return (_local3);
}
private function UpdateTarget(_arg1:Event):void{
var _local2:String;
var _local3:int;
var _local4:String;
var _local5:String;
var _local6:Number;
var _local7:String;
var _local8:Number;
var _local9:String;
var _local10:Number;
var _local11:String;
var _local12:Number;
var _local13:String;
var _local14:Number;
var _local15:String;
var _local16:Number;
var _local17:String;
var _local18:Number;
var _local19:String;
var _local20:int;
if (CurrentTarget == ""){
CurrentTarget = GetNextTarget();
};
if (CurrentTarget != ""){
_local2 = aryCurrentTarget[0];
_local3 = Number(aryCurrentTarget[1]);
_local4 = aryCurrentTarget[2];
if (_local4 == ""){
_local4 = "linear";
};
_local5 = aryCurrentTarget[3];
_local6 = aryStartPositions[4];
_local7 = aryCurrentTarget[4];
_local8 = aryStartPositions[5];
_local9 = aryCurrentTarget[5];
_local10 = aryStartPositions[6];
_local11 = aryCurrentTarget[6];
_local12 = aryStartPositions[7];
_local13 = aryCurrentTarget[7];
_local14 = aryStartPositions[8];
_local15 = aryCurrentTarget[8];
_local16 = aryStartPositions[9];
_local17 = aryCurrentTarget[9];
_local18 = aryStartPositions[10];
_local19 = aryCurrentTarget[10];
CurrentFrame++;
if (((((CurrentFrame % MotionSmoothness) == 0)) || ((CurrentFrame == _local3)))){
if (((!((_local7 == ""))) && (!((_local7 == null))))){
this.x = ComputeTween(_local6, Number(_local7), CurrentFrame, _local3, _local4, _local5);
};
if (((!((_local9 == ""))) && (!((_local9 == null))))){
this.y = ComputeTween(_local8, Number(_local9), CurrentFrame, _local3, _local4, _local5);
};
if (((!((_local11 == ""))) && (!((_local11 == null))))){
this.scaleX = ComputeTween(_local10, Number(_local11), CurrentFrame, _local3, _local4, _local5);
};
if (((!((_local13 == ""))) && (!((_local13 == null))))){
this.scaleY = ComputeTween(_local12, Number(_local13), CurrentFrame, _local3, _local4, _local5);
};
if (((!((_local15 == ""))) && (!((_local15 == null))))){
this.rotation = ComputeTween(_local14, Number(_local15), CurrentFrame, _local3, _local4, _local5);
};
if (((!((_local17 == ""))) && (!((_local17 == null))))){
this.alpha = ComputeTween(_local16, Number(_local17), CurrentFrame, _local3, _local4, _local5);
};
if (((!((_local19 == ""))) && (!((_local19 == null))))){
_local20 = Math.round(ComputeTween(_local18, Number(_local19), CurrentFrame, _local3, _local4, _local5));
this.gotoAndStop(_local20);
};
};
if (CurrentFrame >= _local3){
CurrentTarget = "";
LastTargetCompleted = _local2;
TargetCompleted(_local2);
};
};
}
private function SetAdjustIncrement(_arg1:int):void{
iAdjustIncrement = _arg1;
trace(("Increment: " + iAdjustIncrement));
}
}
}//package com.freecloud
Section 14
//DanScreen (com.freecloud.DanScreen)
package com.freecloud {
import flash.events.*;
import flash.ui.*;
public class DanScreen extends DanObject {
public var DestroyOnExit:Boolean;// = false
private var mcCustomCursor:DanObject;
public var NextScreen:int;// = -1
public var NextChapter:int;// = -1
public function DanScreen(){
NextScreen = -1;
NextChapter = -1;
DestroyOnExit = false;
super();
}
public function clsScreen(){
}
override public function Resume():void{
}
override public function Update():void{
}
public function ReplaceCursor(_arg1:DanObject){
mcCustomCursor = _arg1;
this.addEventListener(MouseEvent.MOUSE_MOVE, MouseMove);
}
public function LeavingScreen():void{
}
public function RestoreCursor(){
Mouse.show();
mcCustomCursor = null;
this.removeEventListener(MouseEvent.MOUSE_MOVE, MouseMove);
}
public function KeyDown(_arg1:KeyboardEvent):void{
}
override public function Pause():void{
}
override public function Destroy():void{
}
function MouseMove(_arg1:MouseEvent):void{
var _local2:int;
var _local3:int;
_local2 = _arg1.stageX;
_local3 = _arg1.stageY;
Mouse.hide();
mcCustomCursor.x = _local2;
mcCustomCursor.y = _local3;
}
}
}//package com.freecloud
Section 15
//DanSound (com.freecloud.DanSound)
package com.freecloud {
import flash.media.*;
import flash.events.*;
import flash.utils.*;
public class DanSound extends Sound {
private var timerSound:Timer;
public var IsPlaying:Boolean;// = false
public var name:String;// = ""
private var oChannel:SoundChannel;// = null
public var MovingTarget:Boolean;// = false
public var CurrentFrame:int;// = 0
public var LastTargetCompleted:String;// = ""
private var LastPan:Number;// = 0
private var LastTime:Number;// = 0
public var aryStartPositions:Array;
private var LastLoops:int;// = 0
public var StopWhenVolumeIsZero:Boolean;// = false
public var CurrentTarget:String;// = ""
public var aryCurrentTarget:Array;
private var LastVolume:Number;// = 1
public var aryTargetQueue:Array;
public function DanSound(){
oChannel = null;
name = "";
IsPlaying = false;
StopWhenVolumeIsZero = false;
aryTargetQueue = new Array();
MovingTarget = false;
CurrentTarget = "";
CurrentFrame = 0;
aryStartPositions = new Array();
LastTargetCompleted = "";
LastVolume = 1;
LastPan = 0;
LastLoops = 0;
LastTime = 0;
timerSound = new Timer(250, 0);
super();
}
public function GotoTarget(){
if (!MovingTarget){
MovingTarget = true;
timerSound.addEventListener(TimerEvent.TIMER, UpdateTarget);
timerSound.start();
};
}
private function SetSoundTransform(_arg1, _arg2):SoundTransform{
var _local3:SoundTransform;
if (oChannel == null){
_local3 = new SoundTransform(_arg1, _arg2);
} else {
_local3 = oChannel.soundTransform;
_local3.volume = _arg1;
_local3.pan = _arg2;
oChannel.soundTransform = _local3;
};
if ((((_arg1 == 0)) && (StopWhenVolumeIsZero))){
Stop();
};
return (_local3);
}
private function ComputeFrames(_arg1:Number, _arg2:Number):int{
var _local3:Number;
var _local4:Number;
var _local5:int;
var _local6:Number;
var _local7:Number;
_local3 = 0.01;
_local4 = 0.25;
if (_arg2 == 0){
return (1);
};
_local5 = int(Math.round((_arg2 / _local3)));
_local6 = (_arg1 / _local5);
if (_local6 < _local4){
_local7 = (_local4 / _local6);
_local5 = int(Math.round((_local5 / _local7)));
};
if (_local5 == 0){
_local5 = 1;
};
return (_local5);
}
public function ClearTarget():void{
var _local1:int;
var _local2:int;
_local1 = aryTargetQueue.length;
_local2 = 1;
while (_local2 <= _local1) {
aryTargetQueue.pop();
_local2++;
};
CurrentTarget = "";
}
public function TargetCompleted(_arg1:String){
dispatchEvent(new TargetCompletedEvent(_arg1));
}
public function Stop():void{
if (oChannel != null){
oChannel.stop();
};
ClearTarget();
IsPlaying = false;
}
private function SoundFinished(_arg1:Event):void{
IsPlaying = false;
TargetCompleted("play");
}
private function ComputeTween(_arg1:Number, _arg2:Number, _arg3:int, _arg4:int, _arg5:String, _arg6:String):Number{
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:int;
var _local11:Number;
var _local12:Number;
var _local13:Number;
_local7 = (_arg2 - _arg1);
_local13 = 0;
if (_arg6 != ""){
if ((((((_arg5 == "easein")) || ((_arg5 == "easeout")))) || ((_arg5 == "easeinout")))){
_local13 = Number(_arg6);
};
};
_local8 = (_arg3 / _arg4);
_local10 = int((89 * _local8));
if (_arg3 < _arg4){
switch (_arg5){
case "linear":
_local9 = _local8;
break;
case "easein":
_local9 = _local8;
_local11 = (((_local10 + 271) * Math.PI) / 180);
_local9 = ((Math.cos(_local11) * (1 - _local13)) + (_local8 * _local13));
break;
case "easeout":
_local9 = _local8;
_local11 = ((_local10 * Math.PI) / 180);
_local9 = (1 - Math.cos(_local11));
break;
case "easeinout":
if ((_arg3 / _arg4) < 0.5){
_local9 = _local8;
_local11 = (((_local10 * 2) * Math.PI) / 180);
_local9 = ((1 - Math.cos(_local11)) / 2);
} else {
_local9 = _local8;
_local11 = (((((_local10 - 45) * 2) + 271) * Math.PI) / 180);
_local9 = ((Math.cos(_local11) / 2) + 0.5);
};
break;
};
} else {
_local9 = 1;
};
_local12 = (_local7 * _local9);
return ((_arg1 + _local12));
}
private function GetNextTarget():String{
var _local1:String;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
if (oChannel != null){
if (aryTargetQueue.length > 0){
_local1 = aryTargetQueue.shift();
aryCurrentTarget = _local1.split(",");
if (aryCurrentTarget[4] == undefined){
aryCurrentTarget[4] = "";
};
if (aryCurrentTarget[5] == undefined){
aryCurrentTarget[5] = "";
};
_local2 = Number(aryCurrentTarget[1]);
_local3 = 1;
if (aryCurrentTarget[4] != ""){
_local3 = ComputeFrames(_local2, Math.abs((oChannel.soundTransform.volume - Number(aryCurrentTarget[4]))));
};
_local4 = 0;
if (aryCurrentTarget[5] != ""){
_local4 = ComputeFrames(_local2, Math.abs((oChannel.soundTransform.pan - Number(aryCurrentTarget[5]))));
};
if (_local4 > _local3){
_local3 = _local4;
};
_local5 = Math.round(((_local2 / _local3) * 1000));
timerSound.delay = _local5;
aryCurrentTarget[1] = Math.round(_local3);
CurrentFrame = 0;
aryStartPositions[0] = "";
aryStartPositions[1] = "";
aryStartPositions[2] = "";
aryStartPositions[3] = "";
aryStartPositions[4] = oChannel.soundTransform.volume;
aryStartPositions[5] = oChannel.soundTransform.pan;
return (_local1);
} else {
MovingTarget = false;
timerSound.removeEventListener(TimerEvent.TIMER, UpdateTarget);
timerSound.stop();
return ("");
};
//unresolved jump
};
return ("");
}
public function Position():Number{
var _local1:Number;
_local1 = oChannel.position;
while (_local1 > this.length) {
trace(("reducing nPosition=" + _local1));
_local1 = (_local1 - this.length);
trace(("reduced nPosition=" + _local1));
};
return (_local1);
}
public function Pause():void{
if (oChannel != null){
LastTime = Position();
oChannel.stop();
};
ClearTarget();
IsPlaying = false;
}
public function Destroy():void{
if (oChannel != null){
oChannel.removeEventListener(Event.SOUND_COMPLETE, SoundFinished);
oChannel.stop();
oChannel = null;
};
timerSound.stop();
timerSound = null;
}
public function Play(_arg1:Number=1, _arg2:Number=0, _arg3:Number=0, _arg4:int=1):SoundChannel{
LastVolume = _arg1;
LastPan = _arg2;
LastLoops = _arg4;
LastTime = _arg3;
if (oChannel != null){
oChannel.removeEventListener(Event.SOUND_COMPLETE, SoundFinished);
oChannel.stop();
oChannel = null;
};
oChannel = play(_arg3, _arg4, SetSoundTransform(_arg1, _arg2));
oChannel.addEventListener(Event.SOUND_COMPLETE, SoundFinished);
IsPlaying = true;
return (oChannel);
}
public function Resume():void{
Play(LastVolume, LastPan, LastTime, LastLoops);
}
private function UpdateTarget(_arg1:Event):void{
var _local2:String;
var _local3:int;
var _local4:String;
var _local5:String;
var _local6:Number;
var _local7:String;
var _local8:Number;
var _local9:String;
var _local10:Number;
var _local11:Number;
if (CurrentTarget == ""){
CurrentTarget = GetNextTarget();
};
if (CurrentTarget != ""){
_local2 = aryCurrentTarget[0];
_local3 = Number(aryCurrentTarget[1]);
_local4 = aryCurrentTarget[2];
if (_local4 == ""){
_local4 = "linear";
};
_local5 = aryCurrentTarget[3];
_local6 = aryStartPositions[4];
_local7 = aryCurrentTarget[4];
_local8 = aryStartPositions[5];
_local9 = aryCurrentTarget[5];
CurrentFrame++;
_local10 = oChannel.soundTransform.volume;
_local11 = oChannel.soundTransform.pan;
if (_local7 != ""){
_local10 = ComputeTween(_local6, Number(_local7), CurrentFrame, _local3, _local4, _local5);
};
if (_local9 != ""){
_local11 = ComputeTween(_local8, Number(_local9), CurrentFrame, _local3, _local4, _local5);
};
SetSoundTransform(_local10, _local11);
if (CurrentFrame >= _local3){
CurrentTarget = "";
LastTargetCompleted = _local2;
TargetCompleted(_local2);
};
};
}
public function AddTarget(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=true):void{
if (_arg2){
ClearTarget();
};
aryTargetQueue.push(_arg1);
if (_arg3){
GotoTarget();
};
}
}
}//package com.freecloud
Section 16
//TargetCompletedEvent (com.freecloud.TargetCompletedEvent)
package com.freecloud {
import flash.events.*;
public class TargetCompletedEvent extends Event {
public var TargetName:String;
public static const TARGET_NAME:String = "TargetName";
public function TargetCompletedEvent(_arg1:String){
super(TARGET_NAME);
this.TargetName = _arg1;
}
}
}//package com.freecloud
Section 17
//AdLoader (CPMStar.AdLoader)
package CPMStar {
import flash.display.*;
import flash.net.*;
import flash.system.*;
public class AdLoader {
private static var cpmstarLoader:Loader;
public static function LoadAd(_arg1:int, _arg2:int):DisplayObject{
var _local3:String;
Security.allowDomain("server.cpmstar.com");
_local3 = "http://server.cpmstar.com/adviewas3.swf";
cpmstarLoader = new Loader();
cpmstarLoader.load(new URLRequest(((((_local3 + "?poolid=") + _arg1) + "&subpoolid=") + _arg2)));
return (cpmstarLoader);
}
}
}//package CPMStar
Section 18
//MochiScores (mochi.MochiScores)
package mochi {
import flash.display.*;
import flash.text.*;
public class MochiScores {
private static var boardID:String;
public static var onErrorHandler:Object;
public static var onCloseHandler:Object;
public static function showLeaderboard(_arg1:Object=null):void{
var options = _arg1;
if (options != null){
if (options.clip != null){
if ((options.clip is Sprite)){
MochiServices.setContainer(options.clip);
};
delete options.clip;
} else {
MochiServices.setContainer();
};
MochiServices.stayOnTop();
if (options.name != null){
if ((options.name is TextField)){
if (options.name.text.length > 0){
options.name = options.name.text;
};
};
};
if (options.score != null){
if ((options.score is TextField)){
if (options.score.text.length > 0){
options.score = options.score.text;
};
};
};
if (options.onDisplay != null){
options.onDisplay();
} else {
if (MochiServices.clip != null){
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
};
} else {
options = {};
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
if (options.onClose != null){
onCloseHandler = options.onClose;
} else {
onCloseHandler = function ():void{
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.play();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onClose.");
};
};
};
if (options.onError != null){
onErrorHandler = options.onError;
} else {
onErrorHandler = null;
};
if (options.boardID == null){
if (MochiScores.boardID != null){
options.boardID = MochiScores.boardID;
};
};
MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose);
}
public static function closeLeaderboard():void{
MochiServices.send("scores_closeLeaderboard");
}
public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2);
}
public static function requestList(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_requestList", null, _arg1, _arg2);
}
public static function scoresArrayToObjects(_arg1:Object):Object{
var _local2:Object;
var _local3:Number;
var _local4:Number;
var _local5:Object;
var _local6:Object;
var _local7:String;
var _local8:String;
_local2 = {};
for (_local7 in _arg1) {
if (typeof(_arg1[_local7]) == "object"){
if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){
_local2[_local7] = [];
_local5 = _arg1[_local7];
_local4 = 0;
while (_local4 < _local5.rows.length) {
_local6 = {};
_local3 = 0;
while (_local3 < _local5.cols.length) {
_local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3];
_local3++;
};
_local2[_local7].push(_local6);
_local4++;
};
} else {
_local2[_local7] = {};
for (_local8 in _arg1[_local7]) {
_local2[_local7][_local8] = _arg1[_local7][_local8];
};
};
} else {
_local2[_local7] = _arg1[_local7];
};
};
return (_local2);
}
public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{
MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4);
}
public static function onClose(_arg1:Object=null):void{
if (_arg1 != null){
if (_arg1.error != null){
if (_arg1.error == true){
if (onErrorHandler != null){
if (_arg1.errorCode == null){
_arg1.errorCode = "IOError";
};
onErrorHandler(_arg1.errorCode);
MochiServices.doClose();
return;
};
};
};
};
onCloseHandler();
MochiServices.doClose();
}
public static function setBoardID(_arg1:String):void{
MochiScores.boardID = _arg1;
MochiServices.send("scores_setBoardID", {boardID:_arg1});
}
}
}//package mochi
Section 19
//MochiServices (mochi.MochiServices)
package mochi {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.utils.*;
import flash.system.*;
public class MochiServices {
private static var _container:Object;
private static var _connected:Boolean = false;
private static var _swfVersion:String;
private static var _sendChannel:LocalConnection;
private static var _rcvChannelName:String;
private static var _gatewayURL:String = "http://www.mochiads.com/static/lib/services/services.swf";
private static var _clip:MovieClip;
private static var _loader:Loader;
private static var _id:String;
private static var _listenChannel:LocalConnection;
private static var _timer:Timer;
private static var _sendChannelName:String;
private static var _startTime:Number;
private static var _connecting:Boolean = false;
public static var onError:Object;
private static var _listenChannelName:String = "__mochiservices";
private static var _rcvChannel:LocalConnection;
public static function isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{
if (_connected){
_sendChannel.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
} else {
if ((((_clip == null)) || (!(_connecting)))){
onError("NotConnected");
handleError(_arg2, _arg3, _arg4);
flush(true);
return;
};
_clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
};
if (_clip != null){
if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){
_clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4};
_clip._nextcallbackID++;
};
};
}
public static function get connected():Boolean{
return (_connected);
}
private static function flush(_arg1:Boolean):void{
var _local2:Object;
var _local3:Object;
if (_clip != null){
if (_clip._queue != null){
while (_clip._queue.length > 0) {
_local2 = _clip._queue.shift();
_local3 = null;
if (_local2 != null){
if (_local2.callbackID != null){
_local3 = _clip._callbacks[_local2.callbackID];
};
delete _clip._callbacks[_local2.callbackID];
if (((_arg1) && (!((_local3 == null))))){
handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod);
};
};
};
};
};
}
private static function init(_arg1:String, _arg2:Object):void{
_id = _arg1;
if (_arg2 != null){
_container = _arg2;
loadCommunicator(_arg1, _container);
};
}
public static function get childClip():Object{
return (_clip);
}
public static function get id():String{
return (_id);
}
public static function stayOnTop():void{
_container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true);
if (_clip != null){
_clip.visible = true;
};
}
public static function getVersion():String{
return ("1.31");
}
public static function disconnect():void{
if (((_connected) || (_connecting))){
if (_clip != null){
if (_clip.parent != null){
if ((_clip.parent is Sprite)){
Sprite(_clip.parent).removeChild(_clip);
_clip = null;
};
};
};
_connecting = (_connected = false);
flush(true);
try {
_listenChannel.close();
_rcvChannel.close();
} catch(error:Error) {
};
};
if (_timer != null){
try {
_timer.stop();
} catch(error:Error) {
};
};
}
public static function allowDomains(_arg1:String):String{
var _local2:String;
Security.allowDomain("*");
Security.allowInsecureDomain("*");
if (_arg1.indexOf("http://") != -1){
_local2 = _arg1.split("/")[2].split(":")[0];
Security.allowDomain(_local2);
Security.allowInsecureDomain(_local2);
};
return (_local2);
}
public static function doClose():void{
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
if (_clip.parent != null){
Sprite(_clip.parent).removeChild(_clip);
};
}
public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{
if (_arg1 != null){
if ((_arg1 is Sprite)){
_container = _arg1;
};
};
if (_arg2){
if ((_container is Sprite)){
Sprite(_container).addChild(_clip);
};
};
}
private static function onStatus(_arg1:StatusEvent):void{
switch (_arg1.level){
case "error":
_connected = false;
_listenChannel.connect(_listenChannelName);
break;
};
}
private static function initComChannels():void{
if (!_connected){
_sendChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus);
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_container, version:getVersion()});
_rcvChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus);
_clip.onReceive = function (_arg1:Object):void{
var cb:String;
var cblst:Object;
var method:*;
var methodName:String;
var obj:Object;
var pkg = _arg1;
cb = pkg.callbackID;
cblst = this.client._callbacks[cb];
if (!cblst){
return;
};
method = cblst.callbackMethod;
methodName = "";
obj = cblst.callbackObject;
if (((obj) && ((typeof(method) == "string")))){
methodName = method;
if (obj[method] != null){
method = obj[method];
} else {
trace((("Error: Method " + method) + " does not exist."));
};
};
if (method != undefined){
try {
method.apply(obj, pkg.args);
} catch(error:Error) {
trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString()));
};
} else {
if (obj != null){
try {
obj(pkg.args);
} catch(error:Error) {
trace(("Error invoking method on object: " + error.toString()));
};
};
};
delete this.client._callbacks[cb];
};
_clip.onError = function ():void{
MochiServices.onError("IOError");
};
_rcvChannel.connect(_rcvChannelName);
trace("connected!");
_connecting = false;
_connected = true;
_listenChannel.close();
while (_clip._queue.length > 0) {
_sendChannel.send(_sendChannelName, "onReceive", _clip._queue.shift());
};
};
}
private static function listen():void{
_listenChannel = new LocalConnection();
_listenChannel.client = _clip;
_clip.handshake = function (_arg1:Object):void{
MochiServices.comChannelName = _arg1.newChannel;
};
_listenChannel.allowDomain("*", "localhost");
_listenChannel.allowInsecureDomain("*", "localhost");
_listenChannel.connect(_listenChannelName);
trace("Waiting for MochiAds services to connect...");
}
private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{
var args = _arg1;
var callbackObject = _arg2;
var callbackMethod = _arg3;
if (args != null){
if (args.onError != null){
args.onError.apply(null, ["NotConnected"]);
};
};
if (callbackMethod != null){
args = {};
args.error = true;
args.errorCode = "NotConnected";
if (((!((callbackObject == null))) && ((callbackMethod is String)))){
try {
var _local5 = callbackObject;
_local5[callbackMethod](args);
} catch(error:Error) {
};
} else {
if (callbackMethod != null){
try {
callbackMethod.apply(args);
} catch(error:Error) {
};
};
};
};
}
public static function get clip():Object{
return (_container);
}
public static function set comChannelName(_arg1:String):void{
if (_arg1 != null){
if (_arg1.length > 3){
_sendChannelName = (_arg1 + "_fromgame");
_rcvChannelName = _arg1;
initComChannels();
};
};
}
private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{
var clipname:String;
var f:Function;
var req:URLRequest;
var id = _arg1;
var clip = _arg2;
clipname = ("_mochiservices_com_" + id);
if (_clip != null){
return (_clip);
};
if (!MochiServices.isNetworkAvailable()){
return (null);
};
MochiServices.allowDomains(_gatewayURL);
_clip = createEmptyMovieClip(clip, clipname, 10336, false);
_loader = new Loader();
_timer = new Timer(1000, 0);
_startTime = getTimer();
_timer.addEventListener(TimerEvent.TIMER, connectWait);
_timer.start();
f = function (_arg1:Object):void{
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
};
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f);
req = new URLRequest(_gatewayURL);
_loader.load(req);
_clip.addChild(_loader);
_clip._mochiservices_com = _loader;
_sendChannel = new LocalConnection();
_clip._queue = [];
_rcvChannel = new LocalConnection();
_rcvChannel.allowDomain("*", "localhost");
_rcvChannel.allowInsecureDomain("*", "localhost");
_rcvChannel.client = _clip;
_clip._nextcallbackID = 0;
_clip._callbacks = {};
listen();
return (_clip);
}
public static function bringToTop(_arg1:Event):void{
var e = _arg1;
if (MochiServices.clip != null){
if (MochiServices.childClip != null){
try {
if (MochiServices.clip.numChildren > 1){
MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1));
};
} catch(errorObject:Error) {
trace("Warning: Depth sort error.");
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
};
};
};
}
public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{
var id = _arg1;
var clip = _arg2;
var onError = _arg3;
if ((clip is DisplayObject)){
if (((!(_connected)) && ((_clip == null)))){
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
};
} else {
trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage.");
};
if (onError != null){
MochiServices.onError = onError;
} else {
if (MochiServices.onError == null){
MochiServices.onError = function (_arg1:String):void{
trace(_arg1);
};
};
};
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{
var mc:MovieClip;
var parent = _arg1;
var name = _arg2;
var depth = _arg3;
var doAdd = _arg4;
mc = new MovieClip();
if (doAdd){
if (((false) && (depth))){
parent.addChildAt(mc, depth);
} else {
parent.addChild(mc);
};
};
try {
parent[name] = mc;
} catch(e:Error) {
throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
mc["_name"] = name;
return (mc);
}
public static function connectWait(_arg1:TimerEvent):void{
if ((getTimer() - _startTime) > 10000){
if (!_connected){
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
};
_timer.stop();
};
}
}
}//package mochi
Section 20
//bubblebox_logo_ro_12 (TippingPointBundle_fla.bubblebox_logo_ro_12)
package TippingPointBundle_fla {
import flash.display.*;
public dynamic class bubblebox_logo_ro_12 extends MovieClip {
public function bubblebox_logo_ro_12(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package TippingPointBundle_fla
Section 21
//bubblebox_logo_roNDC_21 (TippingPointBundle_fla.bubblebox_logo_roNDC_21)
package TippingPointBundle_fla {
import flash.display.*;
public dynamic class bubblebox_logo_roNDC_21 extends MovieClip {
public function bubblebox_logo_roNDC_21(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package TippingPointBundle_fla
Section 22
//bubblxbox_play_latest_text_10 (TippingPointBundle_fla.bubblxbox_play_latest_text_10)
package TippingPointBundle_fla {
import flash.display.*;
public dynamic class bubblxbox_play_latest_text_10 extends MovieClip {
public function bubblxbox_play_latest_text_10(){
addFrameScript(0, frame1, 9, frame10);
}
function frame10(){
stop();
}
function frame1(){
stop();
}
}
}//package TippingPointBundle_fla
Section 23
//bubblebox_intro (bubblebox_intro)
package {
import flash.media.*;
import flash.events.*;
import flash.net.*;
import flash.utils.*;
import flash.display.*;
import flash.text.*;
import flash.filters.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.geom.*;
import flash.printing.*;
import flash.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class bubblebox_intro extends MovieClip {
public var logo_ro:MovieClip;
public var play_latest_text:MovieClip;
public function bubblebox_intro(){
addFrameScript(0, frame1);
}
public function mouseOver(_arg1:MouseEvent){
this.logo_ro.gotoAndStop(2);
}
function frame1(){
this.alpha = 0;
this.tel = 0;
this.play_latest_text.visible = false;
this.addEventListener(Event.ENTER_FRAME, enterFrame);
this.addEventListener(MouseEvent.ROLL_OVER, mouseOver);
this.addEventListener(MouseEvent.ROLL_OUT, mouseOut);
stop();
}
public function mouseOut(_arg1:MouseEvent){
this.logo_ro.gotoAndStop(1);
}
public function enterFrame(_arg1:Event):void{
if (this.alpha < 1){
this.alpha = (this.alpha + 0.1);
} else {
this.tel++;
if (this.play_latest_text.visible == false){
this.play_latest_text.visible = true;
this.play_latest_text.play();
};
};
if (this.tel > 85){
if ((((this.FadeOut == "no")) || ((this.alpha <= 0)))){
this.removeEventListener(Event.ENTER_FRAME, enterFrame);
};
this.alpha = (this.alpha - 0.15);
};
}
}
}//package
Section 24
//BubbleBoxLinkNDC (BubbleBoxLinkNDC)
package {
import flash.events.*;
import com.freecloud.*;
public dynamic class BubbleBoxLinkNDC extends DanObject {
public function BubbleBoxLinkNDC(){
addFrameScript(0, frame1);
}
public function mouseOver(_arg1:MouseEvent){
this.logo_ro.gotoAndStop(2);
}
function frame1(){
this.addEventListener(MouseEvent.ROLL_OVER, mouseOver);
this.addEventListener(MouseEvent.ROLL_OUT, mouseOut);
stop();
}
public function mouseOut(_arg1:MouseEvent){
this.logo_ro.gotoAndStop(1);
}
}
}//package
Section 25
//MochiAd (MochiAd)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.utils.*;
import flash.system.*;
public class MochiAd {
public static function getVersion():String{
return ("2.2");
}
public static function showTimedAd(_arg1:Object):void{
MochiAd.showInterLevelAd(_arg1);
}
public static function _allowDomains(_arg1:String):String{
var _local2:String;
_local2 = _arg1.split("/")[2].split(":")[0];
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function load(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var depth:Number;
var mc:MovieClip;
var wh:Array;
var lv:URLVariables;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var f:Function;
var g:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
DEFAULTS = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!MochiAd._isNetworkAvailable()){
return (null);
};
try {
if (clip._mochiad_loaded){
return (null);
};
} catch(e:Error) {
throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, "_mochiad", depth);
wh = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
};
lv = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
f = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
mc._mochiad_ctr_failed = true;
};
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f);
g = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest((server + ".swf"));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function sendHighScore(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{
var _local4:MovieClip;
_local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id});
if (!_local4){
return (false);
};
_local4.doSend(["sendHighScore", _arg1], _arg2, _arg3);
return (true);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local3:Object;
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
_local3 = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
if (_local3.clip == undefined){
throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite."));
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
if (_local3.id == "test"){
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
};
return (_local3);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function _cleanup(_arg1:Object):void{
var idx:Number;
var k:String;
var lc:LocalConnection;
var f:Function;
var mc = _arg1;
if (("lc" in mc)){
lc = mc.lc;
f = function ():void{
try {
lc.client = null;
lc.close();
} catch(e:Error) {
};
};
setTimeout(f, 0);
};
idx = DisplayObjectContainer(mc).numChildren;
while (idx > 0) {
idx = (idx - 1);
DisplayObjectContainer(mc).removeChildAt(idx);
};
for (k in mc) {
delete mc[k];
};
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function showInterLevelAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
if (!chk.showing){
_local4 = _local1.loaderInfo.bytesTotal;
if ((((_local4 > 0)) || (("number" == "undefined")))){
chk.showing = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
_local3 = true;
};
};
};
if ((((_local2 > chk.ad_msec)) || (this.parent._mochiad_ctr_failed))){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local3:Object;
var _local4:Number;
var _local5:Number;
var _local6:Array;
_local3 = _arg2.getBounds(_arg2.root);
_local4 = 0;
_local5 = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip;
_local4 = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _loadCommunicator(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var clipname:String;
var server:String;
var depth:Number;
var mc:MovieClip;
var lv:URLVariables;
var k:String;
var lc:LocalConnection;
var name:String;
var req:URLRequest;
var loader:Loader;
var options = _arg1;
DEFAULTS = {com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
clipname = ("_mochiad_com_" + options.id);
if (!MochiAd._isNetworkAvailable()){
return (null);
};
if (clip[clipname]){
return (clip[clipname]);
};
server = (options.com_server + options.id);
MochiAd._allowDomains(server);
delete options.id;
delete options.com_server;
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, clipname, depth);
lv = new URLVariables();
for (k in options) {
lv[k] = options[k];
};
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.name = name;
mc.lc = lc;
lv.lc = name;
mc._id = 0;
mc._queue = [];
mc.rpcResult = function (_arg1:Object):void{
var _local3:Array;
var _local4:Array;
var _local5:Number;
var _local6:Object;
var _local7:Object;
_arg1 = parseInt(_arg1.toString());
_local3 = mc._callbacks[_arg1];
if (typeof(_local3) == "undefined"){
return;
};
delete mc._callbacks[_arg1];
_local4 = [];
_local5 = 2;
while (_local5 < _local3.length) {
_local4.push(_local3[_local5]);
_local5++;
};
_local5 = 1;
while (_local5 < arguments.length) {
_local4.push(arguments[_local5]);
_local5++;
};
_local6 = _local3[1];
_local7 = _local3[0];
if (((_local7) && ((typeof(_local6) == "string")))){
_local6 = _local7[_local6];
};
if (typeof(_local6) == "function"){
_local6.apply(_local7, _local4);
};
};
mc._didConnect = function (_arg1:String):void{
var _local2:Array;
var _local3:Function;
var _local4:Number;
var _local5:Array;
mc._endpoint = _arg1;
_local2 = mc._queue;
delete mc._queue;
_local3 = mc.doSend;
_local4 = 0;
while (_local4 < _local2.length) {
_local5 = _local2[_local4];
_local3.apply(this, _local5);
_local4++;
};
};
mc.doSend = function (_arg1:Array, _arg2:Object, _arg3:Object):void{
var _local5:Number;
var _local6:LocalConnection;
var _local7:Array;
var _local8:Number;
if (mc._endpoint == null){
_local7 = [];
_local8 = 0;
while (_local8 < arguments.length) {
_local7.push(arguments[_local8]);
_local8++;
};
mc._queue.push(_local7);
return;
};
mc._id = (mc._id + 1);
_local5 = mc._id;
mc._callbacks[_local5] = [_arg2, ((_arg3) || (_arg2))];
_local6 = new LocalConnection();
_local6.send(mc._endpoint, "rpc", _local5, _arg1);
};
mc._callbacks = {};
mc._callbacks[0] = [mc, "_didConnect"];
lv.st = getTimer();
req = new URLRequest((server + ".swf"));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader = new Loader();
loader.load(req);
mc.addChild(loader);
mc._mochiad_com = loader;
return (mc);
}
public static function showPreGameAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var bar:MovieClip;
var bar_color:Number;
var bar_background:Number;
var bar_outline:Number;
var backing_mc:MovieClip;
var backing:Object;
var inside_mc:MovieClip;
var inside:Object;
var outline_mc:MovieClip;
var outline:Object;
var complete:Boolean;
var unloaded:Boolean;
var f:Function;
var r:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
var fn:Function;
MochiAd._cleanup(mc);
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
bar = createEmptyMovieClip(chk, "_mochiad_bar", 4);
bar.x = 10;
bar.y = (h - 20);
bar_color = options.color;
delete options.color;
bar_background = options.background;
delete options.background;
bar_outline = options.outline;
delete options.outline;
backing_mc = createEmptyMovieClip(bar, "_outline", 1);
backing = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo((w - 20), 0);
backing.lineTo((w - 20), 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
inside_mc = createEmptyMovieClip(bar, "_inside", 2);
inside = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo((w - 20), 0);
inside.lineTo((w - 20), 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
outline_mc = createEmptyMovieClip(bar, "_outline", 3);
outline = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo((w - 20), 0);
outline.lineTo((w - 20), 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
f = function (_arg1:Event):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Object;
var _local3:Number;
var _local4:Boolean;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Object;
var _local10:Number;
var _local11:Number;
if (!this.parent.parent){
delete this["onEnterFrame"];
return;
};
_local1 = this.parent.parent.root;
_local2 = this.parent._mochiad_ctr;
_local3 = (getTimer() - this.started);
_local4 = false;
_local5 = _local1.loaderInfo.bytesTotal;
_local6 = _local1.loaderInfo.bytesLoaded;
if (complete){
_local6 = Math.max(1, _local6);
_local5 = _local6;
};
_local7 = ((100 * _local6) / _local5);
_local8 = ((100 * _local3) / chk.ad_msec);
_local9 = this._mochiad_bar._inside;
_local10 = Math.min(100, Math.min(((_local7) || (0)), _local8));
_local10 = Math.max(this.last_pcnt, _local10);
this.last_pcnt = _local10;
_local9.scaleX = (_local10 * 0.01);
if (!chk.showing){
_local11 = _local2.loaderInfo.bytesTotal;
if ((((_local11 > 0)) || (("number" == "undefined")))){
chk.showing = true;
chk.started = getTimer();
} else {
if (_local3 > chk.ad_timeout){
_local4 = true;
};
};
};
if ((((_local3 > chk.ad_msec)) || (this.parent._mochiad_ctr_failed))){
_local4 = true;
};
if (((complete) && (_local4))){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
MochiAd.showPreGameAd(_arg1);
}
public static function fetchHighScores(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{
var _local4:MovieClip;
_local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id});
if (!_local4){
return (false);
};
_local4.doSend(["fetchHighScores", _arg1], _arg2, _arg3);
return (true);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var f:Function;
var mc = _arg1;
f = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package
Section 26
//SoundButtonClick (SoundButtonClick)
package {
import com.freecloud.*;
public dynamic class SoundButtonClick extends DanSound {
}
}//package
Section 27
//symArrow (symArrow)
package {
import com.freecloud.*;
public dynamic class symArrow extends DanObject {
}
}//package
Section 28
//symButtomMask (symButtomMask)
package {
import flash.display.*;
public dynamic class symButtomMask extends SimpleButton {
}
}//package
Section 29
//symChapterBox (symChapterBox)
package {
import com.freecloud.*;
public dynamic class symChapterBox extends DanObject {
}
}//package
Section 30
//symChapterHeader (symChapterHeader)
package {
import com.freecloud.*;
public dynamic class symChapterHeader extends DanObject {
}
}//package
Section 31
//symChapters123 (symChapters123)
package {
import com.freecloud.*;
public dynamic class symChapters123 extends DanObject {
}
}//package
Section 32
//symCredits (symCredits)
package {
import com.freecloud.*;
public dynamic class symCredits extends DanObject {
}
}//package
Section 33
//symFGNLogo (symFGNLogo)
package {
import com.freecloud.*;
public dynamic class symFGNLogo extends DanObject {
}
}//package
Section 34
//symInventoryEdgeRight (symInventoryEdgeRight)
package {
import com.freecloud.*;
public dynamic class symInventoryEdgeRight extends DanObject {
}
}//package
Section 35
//symInventoryTray (symInventoryTray)
package {
import com.freecloud.*;
public dynamic class symInventoryTray extends DanObject {
}
}//package
Section 36
//symLoadChapter (symLoadChapter)
package {
import com.freecloud.*;
public dynamic class symLoadChapter extends DanObject {
}
}//package
Section 37
//symPlay (symPlay)
package {
import com.freecloud.*;
public dynamic class symPlay extends DanObject {
}
}//package
Section 38
//symPlayGame (symPlayGame)
package {
import com.freecloud.*;
public dynamic class symPlayGame extends DanObject {
}
}//package
Section 39
//symSubmitButton (symSubmitButton)
package {
import com.freecloud.*;
public dynamic class symSubmitButton extends DanObject {
}
}//package
Section 40
//symTimedGame (symTimedGame)
package {
import com.freecloud.*;
public dynamic class symTimedGame extends DanObject {
}
}//package
Section 41
//symTippingPoint (symTippingPoint)
package {
import com.freecloud.*;
public dynamic class symTippingPoint extends DanObject {
}
}//package
Section 42
//symTitleScreenBackground (symTitleScreenBackground)
package {
import com.freecloud.*;
public dynamic class symTitleScreenBackground extends DanObject {
}
}//package
Section 43
//symToolbarBackground (symToolbarBackground)
package {
import com.freecloud.*;
public dynamic class symToolbarBackground extends DanObject {
}
}//package
Section 44
//symToolbarEdge (symToolbarEdge)
package {
import com.freecloud.*;
public dynamic class symToolbarEdge extends DanObject {
}
}//package
Section 45
//symToolbarMute (symToolbarMute)
package {
import com.freecloud.*;
public dynamic class symToolbarMute extends DanObject {
}
}//package
Section 46
//symToolbarMuteSound (symToolbarMuteSound)
package {
import com.freecloud.*;
public dynamic class symToolbarMuteSound extends DanObject {
}
}//package
Section 47
//symToolbarTray (symToolbarTray)
package {
import com.freecloud.*;
public dynamic class symToolbarTray extends DanObject {
}
}//package
Section 48
//symXButton (symXButton)
package {
import com.freecloud.*;
public dynamic class symXButton extends DanObject {
}
}//package