STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228091
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5121

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/56683944?noj=FRM56683944-4DC" width="1" height="1"></div>

Tipping Point.swf

This is the info page for
Flash #29660

(Click the ID number above for more basic data on this flash file.)


ActionScript [AS3]
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 _local3:String; if (ExternalInterface.available){ _local3 = getBrowserNameBundle(); if (_local3 == "Firefox"){ ExternalInterface.call("window.open", _arg1, _arg2, ""); } else { if (_local3 == "IE"){ ExternalInterface.call((("function setWMWindow() {window.open('" + _arg1) + "');}")); } else { navigateToURL(new URLRequest(_arg1), _arg2); }; }; } else { navigateToURL(new URLRequest(_arg1), _arg2); }; } 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 + "&nbsp;&nbsp;&nbsp;&nbsp;glasschimes from ross63moose<br>"); _local1 = (_local1 + "&nbsp;&nbsp;&nbsp;&nbsp;glass break 2 from FreqMan<br>"); _local1 = (_local1 + "&nbsp;&nbsp;&nbsp;&nbsp;whistle1 from james11111<br>"); _local1 = (_local1 + "&nbsp;&nbsp;&nbsp;&nbsp;footstep-concrete from swuing<br>"); _local1 = (_local1 + "&nbsp;&nbsp;&nbsp;&nbsp;cassette from sagetyrtle<br>"); _local1 = (_local1 + "&nbsp;&nbsp;&nbsp;&nbsp;full soda can slides 4x from FreqMan<br>"); _local1 = (_local1 + "&nbsp;&nbsp;&nbsp;&nbsp;flopple12 from Corsica_S<br>"); _local1 = (_local1 + "&nbsp;&nbsp;&nbsp;&nbsp;modular love 06 from Corsica_S<br>"); _local1 = (_local1 + "&nbsp;&nbsp;&nbsp;&nbsp;1 beep a from jobro<br>"); _local1 = (_local1 + "&nbsp;&nbsp;&nbsp;&nbsp;gamepiece from Feegle<br>"); _local1 = (_local1 + "&nbsp;&nbsp;&nbsp;&nbsp;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 = 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> &nbsp;&nbsp;-&nbsp;&nbsp; <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

Library Items

Symbol 1 Sound {SoundButtonClick}
Symbol 2 BitmapUsed by:3
Symbol 3 GraphicUses:2Used by:4
Symbol 4 MovieClipUses:3Used by:Timeline
Symbol 5 BitmapUsed by:6
Symbol 6 GraphicUses:5Used by:7
Symbol 7 MovieClip {symCredits}Uses:6Used by:Timeline
Symbol 8 BitmapUsed by:9
Symbol 9 GraphicUses:8Used by:10
Symbol 10 MovieClip {symTitleScreenBackground}Uses:9Used by:Timeline
Symbol 11 BitmapUsed by:12
Symbol 12 GraphicUses:11Used by:13
Symbol 13 MovieClip {symPlayGame}Uses:12Used by:Timeline
Symbol 14 BitmapUsed by:15
Symbol 15 GraphicUses:14Used by:16
Symbol 16 MovieClip {symTippingPoint}Uses:15Used by:Timeline
Symbol 17 BitmapUsed by:18
Symbol 18 GraphicUses:17Used by:19
Symbol 19 MovieClip {symChapterBox}Uses:18Used by:Timeline
Symbol 20 BitmapUsed by:21
Symbol 21 GraphicUses:20Used by:22
Symbol 22 MovieClip {symChapterHeader}Uses:21Used by:Timeline
Symbol 23 BitmapUsed by:24
Symbol 24 GraphicUses:23Used by:25
Symbol 25 MovieClip {symLoadChapter}Uses:24Used by:Timeline
Symbol 26 BitmapUsed by:27
Symbol 27 GraphicUses:26Used by:28
Symbol 28 MovieClip {symTimedGame}Uses:27Used by:Timeline
Symbol 29 GraphicUsed by:49
Symbol 30 GraphicUsed by:43
Symbol 31 GraphicUsed by:43
Symbol 32 GraphicUsed by:43
Symbol 33 GraphicUsed by:43
Symbol 34 GraphicUsed by:43
Symbol 35 GraphicUsed by:43
Symbol 36 GraphicUsed by:43
Symbol 37 GraphicUsed by:43
Symbol 38 GraphicUsed by:43
Symbol 39 GraphicUsed by:43
Symbol 40 GraphicUsed by:43
Symbol 41 GraphicUsed by:43
Symbol 42 GraphicUsed by:43
Symbol 43 MovieClipUses:30 31 32 33 34 35 36 37 38 39 40 41 42Used by:44
Symbol 44 MovieClip {TippingPointBundle_fla.bubblxbox_play_latest_text_10}Uses:43Used by:49 71
Symbol 45 BitmapUsed by:46 47 68 69
Symbol 46 GraphicUses:45Used by:48
Symbol 47 GraphicUses:45Used by:48
Symbol 48 MovieClip {TippingPointBundle_fla.bubblebox_logo_ro_12}Uses:46 47Used by:49
Symbol 49 MovieClip {bubblebox_intro}Uses:29 44 48Used by:Timeline
Symbol 50 BitmapUsed by:51
Symbol 51 GraphicUses:50Used by:52
Symbol 52 MovieClip {symInventoryEdgeRight}Uses:51Used by:Timeline
Symbol 53 BitmapUsed by:54
Symbol 54 GraphicUses:53Used by:55
Symbol 55 MovieClip {symInventoryTray}Uses:54Used by:Timeline
Symbol 56 BitmapUsed by:57
Symbol 57 GraphicUses:56Used by:58
Symbol 58 MovieClip {symArrow}Uses:57Used by:Timeline
Symbol 59 GraphicUsed by:60
Symbol 60 Button {symButtomMask}Uses:59Used by:Timeline
Symbol 61 BitmapUsed by:62
Symbol 62 GraphicUses:61Used by:63
Symbol 63 MovieClip {symXButton}Uses:62Used by:Timeline
Symbol 64 BitmapUsed by:65
Symbol 65 GraphicUses:64Used by:66
Symbol 66 MovieClip {symSubmitButton}Uses:65Used by:Timeline
Symbol 67 GraphicUsed by:71
Symbol 68 GraphicUses:45Used by:70
Symbol 69 GraphicUses:45Used by:70
Symbol 70 MovieClip {TippingPointBundle_fla.bubblebox_logo_roNDC_21}Uses:68 69Used by:71
Symbol 71 MovieClip {BubbleBoxLinkNDC}Uses:67 44 70Used by:Timeline
Symbol 72 BitmapUsed by:73
Symbol 73 GraphicUses:72Used by:74
Symbol 74 MovieClip {symFGNLogo}Uses:73Used by:Timeline
Symbol 75 BitmapUsed by:76
Symbol 76 GraphicUses:75Used by:77
Symbol 77 MovieClip {symToolbarBackground}Uses:76Used by:Timeline
Symbol 78 BitmapUsed by:79
Symbol 79 GraphicUses:78Used by:80
Symbol 80 MovieClip {symToolbarEdge}Uses:79Used by:Timeline
Symbol 81 BitmapUsed by:82 87
Symbol 82 GraphicUses:81Used by:88
Symbol 83 BitmapUsed by:84
Symbol 84 GraphicUses:83Used by:85
Symbol 85 MovieClip {symToolbarMuteSound}Uses:84Used by:88
Symbol 86 BitmapUsed by:87
Symbol 87 GraphicUses:86 81Used by:88
Symbol 88 MovieClip {symToolbarMute}Uses:82 85 87Used by:Timeline
Symbol 89 BitmapUsed by:90
Symbol 90 GraphicUses:89Used by:91
Symbol 91 MovieClip {symToolbarTray}Uses:90Used by:Timeline
Symbol 92 BitmapUsed by:93
Symbol 93 GraphicUses:92Used by:94
Symbol 94 MovieClip {symChapters123}Uses:93Used by:Timeline
Symbol 95 MovieClip {com.freecloud.Bundle}Used by:Timeline

Instance Names

"play_latest_text"Symbol 49 MovieClip {bubblebox_intro} Frame 1Symbol 44 MovieClip {TippingPointBundle_fla.bubblxbox_play_latest_text_10}
"logo_ro"Symbol 49 MovieClip {bubblebox_intro} Frame 1Symbol 48 MovieClip {TippingPointBundle_fla.bubblebox_logo_ro_12}
"play_latest_text"Symbol 71 MovieClip {BubbleBoxLinkNDC} Frame 1Symbol 44 MovieClip {TippingPointBundle_fla.bubblxbox_play_latest_text_10}
"logo_ro"Symbol 71 MovieClip {BubbleBoxLinkNDC} Frame 1Symbol 70 MovieClip {TippingPointBundle_fla.bubblebox_logo_roNDC_21}

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.
Protect (24)Timeline Frame 10 bytes ""




http://swfchan.com/6/29660/info.shtml
Created: 19/5 -2019 19:48:35 Last modified: 19/5 -2019 19:48:35 Server time: 04/05 -2024 13:58:59